From 3f619478f796eddbba6e39502fe941b285dd97b1 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sat, 4 May 2024 20:00:34 +0200 Subject: Adding upstream version 1:10.11.6. Signed-off-by: Daniel Baumann --- mysql-test/suite/innodb_gis/disabled.def | 15 + mysql-test/suite/innodb_gis/r/0.result | 619 ++++++++ mysql-test/suite/innodb_gis/r/1.result | 1496 ++++++++++++++++++ .../suite/innodb_gis/r/alter_spatial_index.result | 808 ++++++++++ mysql-test/suite/innodb_gis/r/bug16236208.result | 43 + mysql-test/suite/innodb_gis/r/bug16266012.result | 14 + mysql-test/suite/innodb_gis/r/bug17057168.result | 22 + mysql-test/suite/innodb_gis/r/check_rtree.result | 15 + .../suite/innodb_gis/r/create_spatial_index.result | 1298 ++++++++++++++++ mysql-test/suite/innodb_gis/r/geometry.result | 1118 ++++++++++++++ mysql-test/suite/innodb_gis/r/gis.result | 1501 ++++++++++++++++++ mysql-test/suite/innodb_gis/r/gis_split_inf.result | 21 + mysql-test/suite/innodb_gis/r/gis_split_nan.result | 211 +++ .../suite/innodb_gis/r/innodb_gis_rtree.result | 1631 ++++++++++++++++++++ mysql-test/suite/innodb_gis/r/kill_server.result | 40 + mysql-test/suite/innodb_gis/r/multi_pk.result | 57 + mysql-test/suite/innodb_gis/r/point_basic.result | 1608 +++++++++++++++++++ mysql-test/suite/innodb_gis/r/point_big.result | 559 +++++++ mysql-test/suite/innodb_gis/r/precise.result | 514 ++++++ .../suite/innodb_gis/r/repeatable_spatial.result | 174 +++ mysql-test/suite/innodb_gis/r/rollback.result | 416 +++++ mysql-test/suite/innodb_gis/r/rt_precise.result | 63 + mysql-test/suite/innodb_gis/r/rtree.result | 868 +++++++++++ .../suite/innodb_gis/r/rtree_add_index.result | 10 + .../suite/innodb_gis/r/rtree_compress.result | 51 + .../suite/innodb_gis/r/rtree_compress2.result | 22 + .../innodb_gis/r/rtree_concurrent_srch.result | 359 +++++ .../suite/innodb_gis/r/rtree_create_inplace.result | 37 + mysql-test/suite/innodb_gis/r/rtree_debug.result | 66 + .../suite/innodb_gis/r/rtree_drop_index.result | 23 + .../suite/innodb_gis/r/rtree_estimate.result | 130 ++ .../suite/innodb_gis/r/rtree_multi_pk.result | 142 ++ mysql-test/suite/innodb_gis/r/rtree_purge.result | 5 + .../suite/innodb_gis/r/rtree_recovery.result | 60 + .../suite/innodb_gis/r/rtree_rollback1.result | 43 + .../suite/innodb_gis/r/rtree_rollback2.result | 17 + mysql-test/suite/innodb_gis/r/rtree_search.result | 252 +++ mysql-test/suite/innodb_gis/r/rtree_split.result | 75 + .../suite/innodb_gis/r/rtree_temporary.result | 24 + mysql-test/suite/innodb_gis/r/rtree_undo.result | 136 ++ mysql-test/suite/innodb_gis/r/types.result | 78 + mysql-test/suite/innodb_gis/r/update_root.result | 23 + mysql-test/suite/innodb_gis/t/0.test | 44 + mysql-test/suite/innodb_gis/t/1.test | 1441 +++++++++++++++++ .../suite/innodb_gis/t/alter_spatial_index.test | 806 ++++++++++ mysql-test/suite/innodb_gis/t/bug16236208.test | 64 + mysql-test/suite/innodb_gis/t/bug16266012.test | 18 + mysql-test/suite/innodb_gis/t/bug17057168.test | 33 + mysql-test/suite/innodb_gis/t/check_rtree.test | 27 + .../suite/innodb_gis/t/create_spatial_index.test | 1183 ++++++++++++++ mysql-test/suite/innodb_gis/t/geometry.test | 686 ++++++++ mysql-test/suite/innodb_gis/t/gis.test | 1445 +++++++++++++++++ mysql-test/suite/innodb_gis/t/gis_split_inf.test | 27 + mysql-test/suite/innodb_gis/t/gis_split_nan.test | 269 ++++ .../suite/innodb_gis/t/innodb_gis_rtree.test | 3 + mysql-test/suite/innodb_gis/t/kill_server.test | 67 + mysql-test/suite/innodb_gis/t/multi_pk.test | 82 + mysql-test/suite/innodb_gis/t/point_basic.test | 859 +++++++++++ mysql-test/suite/innodb_gis/t/point_big.test | 322 ++++ mysql-test/suite/innodb_gis/t/precise.test | 146 ++ .../suite/innodb_gis/t/repeatable_spatial.test | 241 +++ mysql-test/suite/innodb_gis/t/rollback.test | 477 ++++++ mysql-test/suite/innodb_gis/t/rt_precise.test | 74 + mysql-test/suite/innodb_gis/t/rtree.test | 853 ++++++++++ mysql-test/suite/innodb_gis/t/rtree_add_index.test | 16 + mysql-test/suite/innodb_gis/t/rtree_compress.test | 60 + mysql-test/suite/innodb_gis/t/rtree_compress2.test | 44 + .../suite/innodb_gis/t/rtree_concurrent_srch.test | 430 ++++++ .../suite/innodb_gis/t/rtree_create_inplace.test | 49 + mysql-test/suite/innodb_gis/t/rtree_debug.test | 74 + .../suite/innodb_gis/t/rtree_drop_index.test | 33 + mysql-test/suite/innodb_gis/t/rtree_estimate.test | 80 + mysql-test/suite/innodb_gis/t/rtree_multi_pk.test | 112 ++ mysql-test/suite/innodb_gis/t/rtree_purge.test | 28 + mysql-test/suite/innodb_gis/t/rtree_recovery.test | 78 + mysql-test/suite/innodb_gis/t/rtree_rollback1.test | 51 + mysql-test/suite/innodb_gis/t/rtree_rollback2.test | 31 + mysql-test/suite/innodb_gis/t/rtree_search.test | 141 ++ mysql-test/suite/innodb_gis/t/rtree_split.test | 90 ++ mysql-test/suite/innodb_gis/t/rtree_temporary.test | 31 + mysql-test/suite/innodb_gis/t/rtree_undo.test | 99 ++ mysql-test/suite/innodb_gis/t/types.test | 86 ++ mysql-test/suite/innodb_gis/t/update_root.test | 45 + 83 files changed, 25409 insertions(+) create mode 100644 mysql-test/suite/innodb_gis/disabled.def create mode 100644 mysql-test/suite/innodb_gis/r/0.result create mode 100644 mysql-test/suite/innodb_gis/r/1.result create mode 100644 mysql-test/suite/innodb_gis/r/alter_spatial_index.result create mode 100644 mysql-test/suite/innodb_gis/r/bug16236208.result create mode 100644 mysql-test/suite/innodb_gis/r/bug16266012.result create mode 100644 mysql-test/suite/innodb_gis/r/bug17057168.result create mode 100644 mysql-test/suite/innodb_gis/r/check_rtree.result create mode 100644 mysql-test/suite/innodb_gis/r/create_spatial_index.result create mode 100644 mysql-test/suite/innodb_gis/r/geometry.result create mode 100644 mysql-test/suite/innodb_gis/r/gis.result create mode 100644 mysql-test/suite/innodb_gis/r/gis_split_inf.result create mode 100644 mysql-test/suite/innodb_gis/r/gis_split_nan.result create mode 100644 mysql-test/suite/innodb_gis/r/innodb_gis_rtree.result create mode 100644 mysql-test/suite/innodb_gis/r/kill_server.result create mode 100644 mysql-test/suite/innodb_gis/r/multi_pk.result create mode 100644 mysql-test/suite/innodb_gis/r/point_basic.result create mode 100644 mysql-test/suite/innodb_gis/r/point_big.result create mode 100644 mysql-test/suite/innodb_gis/r/precise.result create mode 100644 mysql-test/suite/innodb_gis/r/repeatable_spatial.result create mode 100644 mysql-test/suite/innodb_gis/r/rollback.result create mode 100644 mysql-test/suite/innodb_gis/r/rt_precise.result create mode 100644 mysql-test/suite/innodb_gis/r/rtree.result create mode 100644 mysql-test/suite/innodb_gis/r/rtree_add_index.result create mode 100644 mysql-test/suite/innodb_gis/r/rtree_compress.result create mode 100644 mysql-test/suite/innodb_gis/r/rtree_compress2.result create mode 100644 mysql-test/suite/innodb_gis/r/rtree_concurrent_srch.result create mode 100644 mysql-test/suite/innodb_gis/r/rtree_create_inplace.result create mode 100644 mysql-test/suite/innodb_gis/r/rtree_debug.result create mode 100644 mysql-test/suite/innodb_gis/r/rtree_drop_index.result create mode 100644 mysql-test/suite/innodb_gis/r/rtree_estimate.result create mode 100644 mysql-test/suite/innodb_gis/r/rtree_multi_pk.result create mode 100644 mysql-test/suite/innodb_gis/r/rtree_purge.result create mode 100644 mysql-test/suite/innodb_gis/r/rtree_recovery.result create mode 100644 mysql-test/suite/innodb_gis/r/rtree_rollback1.result create mode 100644 mysql-test/suite/innodb_gis/r/rtree_rollback2.result create mode 100644 mysql-test/suite/innodb_gis/r/rtree_search.result create mode 100644 mysql-test/suite/innodb_gis/r/rtree_split.result create mode 100644 mysql-test/suite/innodb_gis/r/rtree_temporary.result create mode 100644 mysql-test/suite/innodb_gis/r/rtree_undo.result create mode 100644 mysql-test/suite/innodb_gis/r/types.result create mode 100644 mysql-test/suite/innodb_gis/r/update_root.result create mode 100644 mysql-test/suite/innodb_gis/t/0.test create mode 100644 mysql-test/suite/innodb_gis/t/1.test create mode 100644 mysql-test/suite/innodb_gis/t/alter_spatial_index.test create mode 100644 mysql-test/suite/innodb_gis/t/bug16236208.test create mode 100644 mysql-test/suite/innodb_gis/t/bug16266012.test create mode 100644 mysql-test/suite/innodb_gis/t/bug17057168.test create mode 100644 mysql-test/suite/innodb_gis/t/check_rtree.test create mode 100644 mysql-test/suite/innodb_gis/t/create_spatial_index.test create mode 100644 mysql-test/suite/innodb_gis/t/geometry.test create mode 100644 mysql-test/suite/innodb_gis/t/gis.test create mode 100644 mysql-test/suite/innodb_gis/t/gis_split_inf.test create mode 100644 mysql-test/suite/innodb_gis/t/gis_split_nan.test create mode 100644 mysql-test/suite/innodb_gis/t/innodb_gis_rtree.test create mode 100644 mysql-test/suite/innodb_gis/t/kill_server.test create mode 100644 mysql-test/suite/innodb_gis/t/multi_pk.test create mode 100644 mysql-test/suite/innodb_gis/t/point_basic.test create mode 100644 mysql-test/suite/innodb_gis/t/point_big.test create mode 100644 mysql-test/suite/innodb_gis/t/precise.test create mode 100644 mysql-test/suite/innodb_gis/t/repeatable_spatial.test create mode 100644 mysql-test/suite/innodb_gis/t/rollback.test create mode 100644 mysql-test/suite/innodb_gis/t/rt_precise.test create mode 100644 mysql-test/suite/innodb_gis/t/rtree.test create mode 100644 mysql-test/suite/innodb_gis/t/rtree_add_index.test create mode 100644 mysql-test/suite/innodb_gis/t/rtree_compress.test create mode 100644 mysql-test/suite/innodb_gis/t/rtree_compress2.test create mode 100644 mysql-test/suite/innodb_gis/t/rtree_concurrent_srch.test create mode 100644 mysql-test/suite/innodb_gis/t/rtree_create_inplace.test create mode 100644 mysql-test/suite/innodb_gis/t/rtree_debug.test create mode 100644 mysql-test/suite/innodb_gis/t/rtree_drop_index.test create mode 100644 mysql-test/suite/innodb_gis/t/rtree_estimate.test create mode 100644 mysql-test/suite/innodb_gis/t/rtree_multi_pk.test create mode 100644 mysql-test/suite/innodb_gis/t/rtree_purge.test create mode 100644 mysql-test/suite/innodb_gis/t/rtree_recovery.test create mode 100644 mysql-test/suite/innodb_gis/t/rtree_rollback1.test create mode 100644 mysql-test/suite/innodb_gis/t/rtree_rollback2.test create mode 100644 mysql-test/suite/innodb_gis/t/rtree_search.test create mode 100644 mysql-test/suite/innodb_gis/t/rtree_split.test create mode 100644 mysql-test/suite/innodb_gis/t/rtree_temporary.test create mode 100644 mysql-test/suite/innodb_gis/t/rtree_undo.test create mode 100644 mysql-test/suite/innodb_gis/t/types.test create mode 100644 mysql-test/suite/innodb_gis/t/update_root.test (limited to 'mysql-test/suite/innodb_gis') diff --git a/mysql-test/suite/innodb_gis/disabled.def b/mysql-test/suite/innodb_gis/disabled.def new file mode 100644 index 00000000..2d4d3686 --- /dev/null +++ b/mysql-test/suite/innodb_gis/disabled.def @@ -0,0 +1,15 @@ +############################################################################## +# +# List the test cases that are to be disabled temporarily. +# +# Separate the test case name and the comment with ':'. +# +# : BUG# +# +# Do not use any TAB characters for whitespace. +# +############################################################################## + +rtree_concurrent_srch : MDEV-15284 COUNT(*) mismatch +rtree_recovery : MDEV-15284 COUNT(*) mismatch +rtree_compress2 : MDEV-16269 CHECK TABLE reports wrong count diff --git a/mysql-test/suite/innodb_gis/r/0.result b/mysql-test/suite/innodb_gis/r/0.result new file mode 100644 index 00000000..f05c7db2 --- /dev/null +++ b/mysql-test/suite/innodb_gis/r/0.result @@ -0,0 +1,619 @@ +SET default_storage_engine=innodb; +DROP TABLE IF EXISTS t1, gis_point, gis_line, gis_polygon, gis_multi_point, gis_multi_line, gis_multi_polygon, gis_geometrycollection, gis_geometry; +CREATE TABLE gis_point (fid INTEGER PRIMARY KEY AUTO_INCREMENT, g POINT); +CREATE TABLE gis_line (fid INTEGER PRIMARY KEY AUTO_INCREMENT, g LINESTRING); +CREATE TABLE gis_polygon (fid INTEGER PRIMARY KEY AUTO_INCREMENT, g POLYGON); +CREATE TABLE gis_multi_point (fid INTEGER PRIMARY KEY AUTO_INCREMENT, g MULTIPOINT); +CREATE TABLE gis_multi_line (fid INTEGER PRIMARY KEY AUTO_INCREMENT, g MULTILINESTRING); +CREATE TABLE gis_multi_polygon (fid INTEGER PRIMARY KEY AUTO_INCREMENT, g MULTIPOLYGON); +CREATE TABLE gis_geometrycollection (fid INTEGER PRIMARY KEY AUTO_INCREMENT, g GEOMETRYCOLLECTION); +CREATE TABLE gis_geometry (fid INTEGER PRIMARY KEY AUTO_INCREMENT, g GEOMETRY); +SHOW CREATE TABLE gis_point; +Table Create Table +gis_point CREATE TABLE `gis_point` ( + `fid` int(11) NOT NULL AUTO_INCREMENT, + `g` point DEFAULT NULL, + PRIMARY KEY (`fid`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci +SHOW FIELDS FROM gis_point; +Field Type Null Key Default Extra +fid int(11) NO PRI NULL auto_increment +g point YES NULL +SHOW FIELDS FROM gis_line; +Field Type Null Key Default Extra +fid int(11) NO PRI NULL auto_increment +g linestring YES NULL +SHOW FIELDS FROM gis_polygon; +Field Type Null Key Default Extra +fid int(11) NO PRI NULL auto_increment +g polygon YES NULL +SHOW FIELDS FROM gis_multi_point; +Field Type Null Key Default Extra +fid int(11) NO PRI NULL auto_increment +g multipoint YES NULL +SHOW FIELDS FROM gis_multi_line; +Field Type Null Key Default Extra +fid int(11) NO PRI NULL auto_increment +g multilinestring YES NULL +SHOW FIELDS FROM gis_multi_polygon; +Field Type Null Key Default Extra +fid int(11) NO PRI NULL auto_increment +g multipolygon YES NULL +SHOW FIELDS FROM gis_geometrycollection; +Field Type Null Key Default Extra +fid int(11) NO PRI NULL auto_increment +g geometrycollection YES NULL +SHOW FIELDS FROM gis_geometry; +Field Type Null Key Default Extra +fid int(11) NO PRI NULL auto_increment +g geometry YES NULL +INSERT INTO gis_point VALUES +(101, PointFromText('POINT(10 10)')), +(102, PointFromText('POINT(20 10)')), +(103, PointFromText('POINT(20 20)')), +(104, PointFromWKB(AsWKB(PointFromText('POINT(10 20)')))); +INSERT INTO gis_line VALUES +(105, LineFromText('LINESTRING(0 0,0 10,10 0)')), +(106, LineStringFromText('LINESTRING(10 10,20 10,20 20,10 20,10 10)')), +(107, LineStringFromWKB(LineString(Point(10, 10), Point(40, 10)))); +INSERT INTO gis_polygon VALUES +(108, PolygonFromText('POLYGON((10 10,20 10,20 20,10 20,10 10))')), +(109, PolyFromText('POLYGON((0 0,50 0,50 50,0 50,0 0), (10 10,20 10,20 20,10 20,10 10))')), +(110, PolyFromWKB(Polygon(LineString(Point(0, 0), Point(30, 0), Point(30, 30), Point(0, 0))))); +INSERT INTO gis_multi_point VALUES +(111, MultiPointFromText('MULTIPOINT(0 0,10 10,10 20,20 20)')), +(112, MPointFromText('MULTIPOINT(1 1,11 11,11 21,21 21)')), +(113, MPointFromWKB(MultiPoint(Point(3, 6), Point(4, 10)))); +INSERT INTO gis_multi_line VALUES +(114, MultiLineStringFromText('MULTILINESTRING((10 48,10 21,10 0),(16 0,16 23,16 48))')), +(115, MLineFromText('MULTILINESTRING((10 48,10 21,10 0))')), +(116, MLineFromWKB(MultiLineString(LineString(Point(1, 2), Point(3, 5)), LineString(Point(2, 5), Point(5, 8), Point(21, 7))))); +INSERT INTO gis_multi_polygon VALUES +(117, MultiPolygonFromText('MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))')), +(118, MPolyFromText('MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))')), +(119, MPolyFromWKB(MultiPolygon(Polygon(LineString(Point(0, 3), Point(3, 3), Point(3, 0), Point(0, 3)))))); +INSERT INTO gis_geometrycollection VALUES +(120, GeomCollFromText('GEOMETRYCOLLECTION(POINT(0 0), LINESTRING(0 0,10 10))')), +(121, GeometryFromWKB(GeometryCollection(Point(44, 6), LineString(Point(3, 6), Point(7, 9))))); +INSERT into gis_geometry SELECT * FROM gis_point; +INSERT into gis_geometry SELECT * FROM gis_line; +INSERT into gis_geometry SELECT * FROM gis_polygon; +INSERT into gis_geometry SELECT * FROM gis_multi_point; +INSERT into gis_geometry SELECT * FROM gis_multi_line; +INSERT into gis_geometry SELECT * FROM gis_multi_polygon; +INSERT into gis_geometry SELECT * FROM gis_geometrycollection; +SELECT fid, AsText(g) FROM gis_point ORDER by fid; +fid AsText(g) +101 POINT(10 10) +102 POINT(20 10) +103 POINT(20 20) +104 POINT(10 20) +SELECT fid, AsText(g) FROM gis_line ORDER by fid; +fid AsText(g) +105 LINESTRING(0 0,0 10,10 0) +106 LINESTRING(10 10,20 10,20 20,10 20,10 10) +107 LINESTRING(10 10,40 10) +SELECT fid, AsText(g) FROM gis_polygon ORDER by fid; +fid AsText(g) +108 POLYGON((10 10,20 10,20 20,10 20,10 10)) +109 POLYGON((0 0,50 0,50 50,0 50,0 0),(10 10,20 10,20 20,10 20,10 10)) +110 POLYGON((0 0,30 0,30 30,0 0)) +SELECT fid, AsText(g) FROM gis_multi_point ORDER by fid; +fid AsText(g) +111 MULTIPOINT(0 0,10 10,10 20,20 20) +112 MULTIPOINT(1 1,11 11,11 21,21 21) +113 MULTIPOINT(3 6,4 10) +SELECT fid, AsText(g) FROM gis_multi_line ORDER by fid; +fid AsText(g) +114 MULTILINESTRING((10 48,10 21,10 0),(16 0,16 23,16 48)) +115 MULTILINESTRING((10 48,10 21,10 0)) +116 MULTILINESTRING((1 2,3 5),(2 5,5 8,21 7)) +SELECT fid, AsText(g) FROM gis_multi_polygon ORDER by fid; +fid AsText(g) +117 MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18))) +118 MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18))) +119 MULTIPOLYGON(((0 3,3 3,3 0,0 3))) +SELECT fid, AsText(g) FROM gis_geometrycollection ORDER by fid; +fid AsText(g) +120 GEOMETRYCOLLECTION(POINT(0 0),LINESTRING(0 0,10 10)) +121 GEOMETRYCOLLECTION(POINT(44 6),LINESTRING(3 6,7 9)) +SELECT fid, AsText(g) FROM gis_geometry ORDER by fid; +fid AsText(g) +101 POINT(10 10) +102 POINT(20 10) +103 POINT(20 20) +104 POINT(10 20) +105 LINESTRING(0 0,0 10,10 0) +106 LINESTRING(10 10,20 10,20 20,10 20,10 10) +107 LINESTRING(10 10,40 10) +108 POLYGON((10 10,20 10,20 20,10 20,10 10)) +109 POLYGON((0 0,50 0,50 50,0 50,0 0),(10 10,20 10,20 20,10 20,10 10)) +110 POLYGON((0 0,30 0,30 30,0 0)) +111 MULTIPOINT(0 0,10 10,10 20,20 20) +112 MULTIPOINT(1 1,11 11,11 21,21 21) +113 MULTIPOINT(3 6,4 10) +114 MULTILINESTRING((10 48,10 21,10 0),(16 0,16 23,16 48)) +115 MULTILINESTRING((10 48,10 21,10 0)) +116 MULTILINESTRING((1 2,3 5),(2 5,5 8,21 7)) +117 MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18))) +118 MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18))) +119 MULTIPOLYGON(((0 3,3 3,3 0,0 3))) +120 GEOMETRYCOLLECTION(POINT(0 0),LINESTRING(0 0,10 10)) +121 GEOMETRYCOLLECTION(POINT(44 6),LINESTRING(3 6,7 9)) +SELECT fid, Dimension(g) FROM gis_geometry ORDER by fid; +fid Dimension(g) +101 0 +102 0 +103 0 +104 0 +105 1 +106 1 +107 1 +108 2 +109 2 +110 2 +111 0 +112 0 +113 0 +114 1 +115 1 +116 1 +117 2 +118 2 +119 2 +120 1 +121 1 +SELECT fid, GeometryType(g) FROM gis_geometry ORDER by fid; +fid GeometryType(g) +101 POINT +102 POINT +103 POINT +104 POINT +105 LINESTRING +106 LINESTRING +107 LINESTRING +108 POLYGON +109 POLYGON +110 POLYGON +111 MULTIPOINT +112 MULTIPOINT +113 MULTIPOINT +114 MULTILINESTRING +115 MULTILINESTRING +116 MULTILINESTRING +117 MULTIPOLYGON +118 MULTIPOLYGON +119 MULTIPOLYGON +120 GEOMETRYCOLLECTION +121 GEOMETRYCOLLECTION +SELECT fid, IsEmpty(g) FROM gis_geometry ORDER by fid; +fid IsEmpty(g) +101 0 +102 0 +103 0 +104 0 +105 0 +106 0 +107 0 +108 0 +109 0 +110 0 +111 0 +112 0 +113 0 +114 0 +115 0 +116 0 +117 0 +118 0 +119 0 +120 0 +121 0 +SELECT fid, AsText(Envelope(g)) FROM gis_geometry ORDER by fid; +fid AsText(Envelope(g)) +101 POLYGON((10 10,10 10,10 10,10 10,10 10)) +102 POLYGON((20 10,20 10,20 10,20 10,20 10)) +103 POLYGON((20 20,20 20,20 20,20 20,20 20)) +104 POLYGON((10 20,10 20,10 20,10 20,10 20)) +105 POLYGON((0 0,10 0,10 10,0 10,0 0)) +106 POLYGON((10 10,20 10,20 20,10 20,10 10)) +107 POLYGON((10 10,40 10,40 10,10 10,10 10)) +108 POLYGON((10 10,20 10,20 20,10 20,10 10)) +109 POLYGON((0 0,50 0,50 50,0 50,0 0)) +110 POLYGON((0 0,30 0,30 30,0 30,0 0)) +111 POLYGON((0 0,20 0,20 20,0 20,0 0)) +112 POLYGON((1 1,21 1,21 21,1 21,1 1)) +113 POLYGON((3 6,4 6,4 10,3 10,3 6)) +114 POLYGON((10 0,16 0,16 48,10 48,10 0)) +115 POLYGON((10 0,10 0,10 48,10 48,10 0)) +116 POLYGON((1 2,21 2,21 8,1 8,1 2)) +117 POLYGON((28 0,84 0,84 42,28 42,28 0)) +118 POLYGON((28 0,84 0,84 42,28 42,28 0)) +119 POLYGON((0 0,3 0,3 3,0 3,0 0)) +120 POLYGON((0 0,10 0,10 10,0 10,0 0)) +121 POLYGON((3 6,44 6,44 9,3 9,3 6)) +explain extended select Dimension(g), GeometryType(g), IsEmpty(g), AsText(Envelope(g)) from gis_geometry; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE gis_geometry ALL NULL NULL NULL NULL 21 100.00 +Warnings: +Note 1003 select st_dimension(`test`.`gis_geometry`.`g`) AS `Dimension(g)`,st_geometrytype(`test`.`gis_geometry`.`g`) AS `GeometryType(g)`,st_isempty(`test`.`gis_geometry`.`g`) AS `IsEmpty(g)`,st_astext(st_envelope(`test`.`gis_geometry`.`g`)) AS `AsText(Envelope(g))` from `test`.`gis_geometry` +SELECT fid, X(g) FROM gis_point ORDER by fid; +fid X(g) +101 10 +102 20 +103 20 +104 10 +SELECT fid, Y(g) FROM gis_point ORDER by fid; +fid Y(g) +101 10 +102 10 +103 20 +104 20 +explain extended select X(g),Y(g) FROM gis_point; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE gis_point ALL NULL NULL NULL NULL 4 100.00 +Warnings: +Note 1003 select st_x(`test`.`gis_point`.`g`) AS `X(g)`,st_y(`test`.`gis_point`.`g`) AS `Y(g)` from `test`.`gis_point` +SELECT fid, AsText(StartPoint(g)) FROM gis_line ORDER by fid; +fid AsText(StartPoint(g)) +105 POINT(0 0) +106 POINT(10 10) +107 POINT(10 10) +SELECT fid, AsText(EndPoint(g)) FROM gis_line ORDER by fid; +fid AsText(EndPoint(g)) +105 POINT(10 0) +106 POINT(10 10) +107 POINT(40 10) +SELECT fid, GLength(g) FROM gis_line ORDER by fid; +fid GLength(g) +105 24.14213562373095 +106 40 +107 30 +SELECT fid, NumPoints(g) FROM gis_line ORDER by fid; +fid NumPoints(g) +105 3 +106 5 +107 2 +SELECT fid, AsText(PointN(g, 2)) FROM gis_line ORDER by fid; +fid AsText(PointN(g, 2)) +105 POINT(0 10) +106 POINT(20 10) +107 POINT(40 10) +SELECT fid, IsClosed(g) FROM gis_line ORDER by fid; +fid IsClosed(g) +105 0 +106 1 +107 0 +explain extended select AsText(StartPoint(g)),AsText(EndPoint(g)),GLength(g),NumPoints(g),AsText(PointN(g, 2)),IsClosed(g) FROM gis_line; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE gis_line ALL NULL NULL NULL NULL 3 100.00 +Warnings: +Note 1003 select st_astext(st_startpoint(`test`.`gis_line`.`g`)) AS `AsText(StartPoint(g))`,st_astext(st_endpoint(`test`.`gis_line`.`g`)) AS `AsText(EndPoint(g))`,st_length(`test`.`gis_line`.`g`) AS `GLength(g)`,st_numpoints(`test`.`gis_line`.`g`) AS `NumPoints(g)`,st_astext(st_pointn(`test`.`gis_line`.`g`,2)) AS `AsText(PointN(g, 2))`,st_isclosed(`test`.`gis_line`.`g`) AS `IsClosed(g)` from `test`.`gis_line` +SELECT fid, AsText(Centroid(g)) FROM gis_polygon ORDER by fid; +fid AsText(Centroid(g)) +108 POINT(15 15) +109 POINT(25.416666666666668 25.416666666666668) +110 POINT(20 10) +SELECT fid, Area(g) FROM gis_polygon ORDER by fid; +fid Area(g) +108 100 +109 2400 +110 450 +SELECT fid, AsText(ExteriorRing(g)) FROM gis_polygon ORDER by fid; +fid AsText(ExteriorRing(g)) +108 LINESTRING(10 10,20 10,20 20,10 20,10 10) +109 LINESTRING(0 0,50 0,50 50,0 50,0 0) +110 LINESTRING(0 0,30 0,30 30,0 0) +SELECT fid, NumInteriorRings(g) FROM gis_polygon ORDER by fid; +fid NumInteriorRings(g) +108 0 +109 1 +110 0 +SELECT fid, AsText(InteriorRingN(g, 1)) FROM gis_polygon ORDER by fid; +fid AsText(InteriorRingN(g, 1)) +108 NULL +109 LINESTRING(10 10,20 10,20 20,10 20,10 10) +110 NULL +explain extended select AsText(Centroid(g)),Area(g),AsText(ExteriorRing(g)),NumInteriorRings(g),AsText(InteriorRingN(g, 1)) FROM gis_polygon; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE gis_polygon ALL NULL NULL NULL NULL 3 100.00 +Warnings: +Note 1003 select st_astext(st_centroid(`test`.`gis_polygon`.`g`)) AS `AsText(Centroid(g))`,st_area(`test`.`gis_polygon`.`g`) AS `Area(g)`,st_astext(st_exteriorring(`test`.`gis_polygon`.`g`)) AS `AsText(ExteriorRing(g))`,st_numinteriorrings(`test`.`gis_polygon`.`g`) AS `NumInteriorRings(g)`,st_astext(st_interiorringn(`test`.`gis_polygon`.`g`,1)) AS `AsText(InteriorRingN(g, 1))` from `test`.`gis_polygon` +SELECT fid, IsClosed(g) FROM gis_multi_line ORDER by fid; +fid IsClosed(g) +114 0 +115 0 +116 0 +SELECT fid, AsText(Centroid(g)) FROM gis_multi_polygon ORDER by fid; +fid AsText(Centroid(g)) +117 POINT(57.98031067576927 17.854754130800433) +118 POINT(57.98031067576927 17.854754130800433) +119 POINT(2 2) +SELECT fid, Area(g) FROM gis_multi_polygon ORDER by fid; +fid Area(g) +117 1684.5 +118 1684.5 +119 4.5 +SELECT fid, NumGeometries(g) from gis_multi_point ORDER by fid; +fid NumGeometries(g) +111 4 +112 4 +113 2 +SELECT fid, NumGeometries(g) from gis_multi_line ORDER by fid; +fid NumGeometries(g) +114 2 +115 1 +116 2 +SELECT fid, NumGeometries(g) from gis_multi_polygon ORDER by fid; +fid NumGeometries(g) +117 2 +118 2 +119 1 +SELECT fid, NumGeometries(g) from gis_geometrycollection ORDER by fid; +fid NumGeometries(g) +120 2 +121 2 +explain extended SELECT fid, NumGeometries(g) from gis_multi_point; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE gis_multi_point ALL NULL NULL NULL NULL 3 100.00 +Warnings: +Note 1003 select `test`.`gis_multi_point`.`fid` AS `fid`,st_numgeometries(`test`.`gis_multi_point`.`g`) AS `NumGeometries(g)` from `test`.`gis_multi_point` +SELECT fid, AsText(GeometryN(g, 2)) from gis_multi_point ORDER by fid; +fid AsText(GeometryN(g, 2)) +111 POINT(10 10) +112 POINT(11 11) +113 POINT(4 10) +SELECT fid, AsText(GeometryN(g, 2)) from gis_multi_line ORDER by fid; +fid AsText(GeometryN(g, 2)) +114 LINESTRING(16 0,16 23,16 48) +115 NULL +116 LINESTRING(2 5,5 8,21 7) +SELECT fid, AsText(GeometryN(g, 2)) from gis_multi_polygon ORDER by fid; +fid AsText(GeometryN(g, 2)) +117 POLYGON((59 18,67 18,67 13,59 13,59 18)) +118 POLYGON((59 18,67 18,67 13,59 13,59 18)) +119 NULL +SELECT fid, AsText(GeometryN(g, 2)) from gis_geometrycollection ORDER by fid; +fid AsText(GeometryN(g, 2)) +120 LINESTRING(0 0,10 10) +121 LINESTRING(3 6,7 9) +SELECT fid, AsText(GeometryN(g, 1)) from gis_geometrycollection ORDER by fid; +fid AsText(GeometryN(g, 1)) +120 POINT(0 0) +121 POINT(44 6) +explain extended SELECT fid, AsText(GeometryN(g, 2)) from gis_multi_point; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE gis_multi_point ALL NULL NULL NULL NULL 3 100.00 +Warnings: +Note 1003 select `test`.`gis_multi_point`.`fid` AS `fid`,st_astext(st_geometryn(`test`.`gis_multi_point`.`g`,2)) AS `AsText(GeometryN(g, 2))` from `test`.`gis_multi_point` +SELECT g1.fid as first, g2.fid as second, +Within(g1.g, g2.g) as w, Contains(g1.g, g2.g) as c, Overlaps(g1.g, g2.g) as o, +Equals(g1.g, g2.g) as e, Disjoint(g1.g, g2.g) as d, Touches(g1.g, g2.g) as t, +Intersects(g1.g, g2.g) as i, Crosses(g1.g, g2.g) as r +FROM gis_geometrycollection g1, gis_geometrycollection g2 ORDER BY first, second; +first second w c o e d t i r +120 120 1 1 0 1 0 0 1 0 +120 121 0 0 1 0 0 0 1 0 +121 120 0 0 1 0 0 0 1 0 +121 121 1 1 0 1 0 0 1 0 +explain extended SELECT g1.fid as first, g2.fid as second, +Within(g1.g, g2.g) as w, Contains(g1.g, g2.g) as c, Overlaps(g1.g, g2.g) as o, +Equals(g1.g, g2.g) as e, Disjoint(g1.g, g2.g) as d, Touches(g1.g, g2.g) as t, +Intersects(g1.g, g2.g) as i, Crosses(g1.g, g2.g) as r +FROM gis_geometrycollection g1, gis_geometrycollection g2 ORDER BY first, second; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE g1 ALL NULL NULL NULL NULL 2 100.00 Using temporary; Using filesort +1 SIMPLE g2 ALL NULL NULL NULL NULL 2 100.00 Using join buffer (flat, BNL join) +Warnings: +Note 1003 select `test`.`g1`.`fid` AS `first`,`test`.`g2`.`fid` AS `second`,st_within(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `w`,st_contains(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `c`,mbroverlaps(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `o`,st_equals(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `e`,mbrdisjoint(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `d`,st_touches(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `t`,mbrintersects(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `i`,st_crosses(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `r` from `test`.`gis_geometrycollection` `g1` join `test`.`gis_geometrycollection` `g2` order by `test`.`g1`.`fid`,`test`.`g2`.`fid` +DROP TABLE gis_point, gis_line, gis_polygon, gis_multi_point, gis_multi_line, gis_multi_polygon, gis_geometrycollection, gis_geometry; +CREATE TABLE t1 ( +a INTEGER PRIMARY KEY AUTO_INCREMENT, +gp point, +ln linestring, +pg polygon, +mp multipoint, +mln multilinestring, +mpg multipolygon, +gc geometrycollection, +gm geometry +); +SHOW FIELDS FROM t1; +Field Type Null Key Default Extra +a int(11) NO PRI NULL auto_increment +gp point YES NULL +ln linestring YES NULL +pg polygon YES NULL +mp multipoint YES NULL +mln multilinestring YES NULL +mpg multipolygon YES NULL +gc geometrycollection YES NULL +gm geometry YES NULL +ALTER TABLE t1 ADD fid INT; +SHOW FIELDS FROM t1; +Field Type Null Key Default Extra +a int(11) NO PRI NULL auto_increment +gp point YES NULL +ln linestring YES NULL +pg polygon YES NULL +mp multipoint YES NULL +mln multilinestring YES NULL +mpg multipolygon YES NULL +gc geometrycollection YES NULL +gm geometry YES NULL +fid int(11) YES NULL +DROP TABLE t1; +create table t1 (pk integer primary key auto_increment, a geometry not null); +insert into t1 (a) values (GeomFromText('Point(1 2)')); +insert into t1 (a) values ('Garbage'); +ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field +insert IGNORE into t1 (a) values ('Garbage'); +ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field +drop table t1; +create table t1 (pk integer primary key auto_increment, fl geometry not null); +insert into t1 (fl) values (1); +ERROR HY000: Cannot cast 'int' as 'geometry' in assignment of `test`.`t1`.`fl` +insert into t1 (fl) values (1.11); +ERROR HY000: Cannot cast 'decimal' as 'geometry' in assignment of `test`.`t1`.`fl` +insert into t1 (fl) values ("qwerty"); +ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field +insert into t1 (fl) values (pointfromtext('point(1,1)')); +ERROR 23000: Column 'fl' cannot be null +drop table t1; +End of 4.1 tests +CREATE TABLE t1 (name VARCHAR(100), square GEOMETRY); +INSERT INTO t1 VALUES("center", GeomFromText('POLYGON (( 0 0, 0 2, 2 2, 2 0, 0 0))')); +INSERT INTO t1 VALUES("small", GeomFromText('POLYGON (( 0 0, 0 1, 1 1, 1 0, 0 0))')); +INSERT INTO t1 VALUES("big", GeomFromText('POLYGON (( 0 0, 0 3, 3 3, 3 0, 0 0))')); +INSERT INTO t1 VALUES("up", GeomFromText('POLYGON (( 0 1, 0 3, 2 3, 2 1, 0 1))')); +INSERT INTO t1 VALUES("up2", GeomFromText('POLYGON (( 0 2, 0 4, 2 4, 2 2, 0 2))')); +INSERT INTO t1 VALUES("up3", GeomFromText('POLYGON (( 0 3, 0 5, 2 5, 2 3, 0 3))')); +INSERT INTO t1 VALUES("down", GeomFromText('POLYGON (( 0 -1, 0 1, 2 1, 2 -1, 0 -1))')); +INSERT INTO t1 VALUES("down2", GeomFromText('POLYGON (( 0 -2, 0 0, 2 0, 2 -2, 0 -2))')); +INSERT INTO t1 VALUES("down3", GeomFromText('POLYGON (( 0 -3, 0 -1, 2 -1, 2 -3, 0 -3))')); +INSERT INTO t1 VALUES("right", GeomFromText('POLYGON (( 1 0, 1 2, 3 2, 3 0, 1 0))')); +INSERT INTO t1 VALUES("right2", GeomFromText('POLYGON (( 2 0, 2 2, 4 2, 4 0, 2 0))')); +INSERT INTO t1 VALUES("right3", GeomFromText('POLYGON (( 3 0, 3 2, 5 2, 5 0, 3 0))')); +INSERT INTO t1 VALUES("left", GeomFromText('POLYGON (( -1 0, -1 2, 1 2, 1 0, -1 0))')); +INSERT INTO t1 VALUES("left2", GeomFromText('POLYGON (( -2 0, -2 2, 0 2, 0 0, -2 0))')); +INSERT INTO t1 VALUES("left3", GeomFromText('POLYGON (( -3 0, -3 2, -1 2, -1 0, -3 0))')); +SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrcontains FROM t1 a1 JOIN t1 a2 ON MBRContains( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name; +mbrcontains +center,small +SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrdisjoint FROM t1 a1 JOIN t1 a2 ON MBRDisjoint( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name; +mbrdisjoint +down3,left3,right3,up3 +SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrequal FROM t1 a1 JOIN t1 a2 ON MBREqual( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name; +mbrequal +center +SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrintersect FROM t1 a1 JOIN t1 a2 ON MBRIntersects( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name; +mbrintersect +big,center,down,down2,left,left2,right,right2,small,up,up2 +SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbroverlaps FROM t1 a1 JOIN t1 a2 ON MBROverlaps( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name; +mbroverlaps +down,left,right,up +SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrtouches FROM t1 a1 JOIN t1 a2 ON MBRTouches( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name; +mbrtouches +down2,left2,right2,up2 +SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrwithin FROM t1 a1 JOIN t1 a2 ON MBRWithin( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name; +mbrwithin +big,center +SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS contains FROM t1 a1 JOIN t1 a2 ON Contains( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name; +contains +center,small +SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS disjoint FROM t1 a1 JOIN t1 a2 ON Disjoint( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name; +disjoint +down3,left3,right3,up3 +SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS equals FROM t1 a1 JOIN t1 a2 ON Equals( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name; +equals +center +SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS intersects FROM t1 a1 JOIN t1 a2 ON Intersects( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name; +intersects +big,center,down,down2,left,left2,right,right2,small,up,up2 +SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS overlaps FROM t1 a1 JOIN t1 a2 ON Overlaps( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name; +overlaps +down,left,right,up +SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS touches FROM t1 a1 JOIN t1 a2 ON Touches( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name; +touches +down2,left2,right2,up2 +SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS within FROM t1 a1 JOIN t1 a2 ON Within( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name; +within +big,center +SET @vert1 = GeomFromText('POLYGON ((0 -2, 0 2, 0 -2))'); +SET @horiz1 = GeomFromText('POLYGON ((-2 0, 2 0, -2 0))'); +SET @horiz2 = GeomFromText('POLYGON ((-1 0, 3 0, -1 0))'); +SET @horiz3 = GeomFromText('POLYGON ((2 0, 3 0, 2 0))'); +SET @point1 = GeomFromText('POLYGON ((0 0))'); +SET @point2 = GeomFromText('POLYGON ((-2 0))'); +SELECT GROUP_CONCAT(a1.name ORDER BY a1.name) AS overlaps FROM t1 a1 WHERE Overlaps(a1.square, @vert1) GROUP BY a1.name; +overlaps +SELECT GROUP_CONCAT(a1.name ORDER BY a1.name) AS overlaps FROM t1 a1 WHERE Overlaps(a1.square, @horiz1) GROUP BY a1.name; +overlaps +SELECT Overlaps(@horiz1, @vert1) FROM DUAL; +Overlaps(@horiz1, @vert1) +0 +SELECT Overlaps(@horiz1, @horiz2) FROM DUAL; +Overlaps(@horiz1, @horiz2) +1 +SELECT Overlaps(@horiz1, @horiz3) FROM DUAL; +Overlaps(@horiz1, @horiz3) +0 +SELECT Overlaps(@horiz1, @point1) FROM DUAL; +Overlaps(@horiz1, @point1) +0 +SELECT Overlaps(@horiz1, @point2) FROM DUAL; +Overlaps(@horiz1, @point2) +0 +DROP TABLE t1; +End of 5.0 tests +CREATE TABLE t1 (p POINT); +CREATE TABLE t2 (p POINT, INDEX(p)); +INSERT INTO t1 VALUES (POINTFROMTEXT('POINT(1 2)')); +INSERT INTO t2 VALUES (POINTFROMTEXT('POINT(1 2)')); +SELECT COUNT(*) FROM t1 WHERE p=POINTFROMTEXT('POINT(1 2)'); +COUNT(*) +1 +EXPLAIN +SELECT COUNT(*) FROM t2 WHERE p=POINTFROMTEXT('POINT(1 2)'); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t2 ref p p 28 const 1 Using where +SELECT COUNT(*) FROM t2 WHERE p=POINTFROMTEXT('POINT(1 2)'); +COUNT(*) +1 +INSERT INTO t1 VALUES (POINTFROMTEXT('POINT(3 4)')); +INSERT INTO t2 VALUES (POINTFROMTEXT('POINT(3 4)')); +EXPLAIN +SELECT COUNT(*) FROM t1 WHERE p=POINTFROMTEXT('POINT(1 2)'); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 ALL NULL NULL NULL NULL 2 Using where +SELECT COUNT(*) FROM t1 WHERE p=POINTFROMTEXT('POINT(1 2)'); +COUNT(*) +1 +EXPLAIN +SELECT COUNT(*) FROM t2 WHERE p=POINTFROMTEXT('POINT(1 2)'); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t2 ref p p 28 const # Using where +SELECT COUNT(*) FROM t2 WHERE p=POINTFROMTEXT('POINT(1 2)'); +COUNT(*) +1 +EXPLAIN +SELECT COUNT(*) FROM t2 IGNORE INDEX(p) WHERE p=POINTFROMTEXT('POINT(1 2)'); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t2 ALL NULL NULL NULL NULL 2 Using where +SELECT COUNT(*) FROM t2 IGNORE INDEX(p) WHERE p=POINTFROMTEXT('POINT(1 2)'); +COUNT(*) +1 +DROP TABLE t1, t2; +End of 5.0 tests +# +# Test for bug #58650 "Failing assertion: primary_key_no == -1 || +# primary_key_no == 0". +# +drop table if exists t1; +# The minimal test case. +create table t1 (a int not null, b linestring not null, unique key b (b(12)), unique key a (a)); +drop table t1; +# The original test case. +create table t1 (a int not null, b linestring not null, unique key b (b(12))); +create unique index a on t1(a); +drop table t1; +create table t1 (g geometry not null, spatial gk(g)) engine=innodb; +DROP TABLE t1; +create table t1 (c1 int, c2 geometry not null, spatial index (c2))engine=innodb; +connect a,localhost,root,,; +connection a; +start transaction; +insert into t1 values(1, Point(1,1)); +connect con1,localhost,root,,; +connection con1; +set @g1 = ST_GeomFromText('Polygon((0 0,0 100,100 100,100 0,0 0))'); +set transaction isolation level read uncommitted; +select count(*) from t1 where ST_Within(t1.c2, @g1); +count(*) +1 +disconnect con1; +connection a; +commit; +disconnect a; +connection default; +drop table t1; diff --git a/mysql-test/suite/innodb_gis/r/1.result b/mysql-test/suite/innodb_gis/r/1.result new file mode 100644 index 00000000..35711a63 --- /dev/null +++ b/mysql-test/suite/innodb_gis/r/1.result @@ -0,0 +1,1496 @@ +SET default_storage_engine=InnoDB; +SET innodb_strict_mode=OFF; +CREATE TABLE gis_point (fid INTEGER NOT NULL PRIMARY KEY, g POINT); +CREATE TABLE gis_line (fid INTEGER NOT NULL PRIMARY KEY, g LINESTRING); +CREATE TABLE gis_polygon (fid INTEGER NOT NULL PRIMARY KEY, g POLYGON); +CREATE TABLE gis_multi_point (fid INTEGER NOT NULL PRIMARY KEY, g MULTIPOINT); +CREATE TABLE gis_multi_line (fid INTEGER NOT NULL PRIMARY KEY, g MULTILINESTRING); +CREATE TABLE gis_multi_polygon (fid INTEGER NOT NULL PRIMARY KEY, g MULTIPOLYGON); +CREATE TABLE gis_geometrycollection (fid INTEGER NOT NULL PRIMARY KEY, g GEOMETRYCOLLECTION); +CREATE TABLE gis_geometry (fid INTEGER NOT NULL PRIMARY KEY, g GEOMETRY); +SHOW FIELDS FROM gis_point; +Field Type Null Key Default Extra +fid int(11) NO PRI NULL +g point YES NULL +SHOW FIELDS FROM gis_line; +Field Type Null Key Default Extra +fid int(11) NO PRI NULL +g linestring YES NULL +SHOW FIELDS FROM gis_polygon; +Field Type Null Key Default Extra +fid int(11) NO PRI NULL +g polygon YES NULL +SHOW FIELDS FROM gis_multi_point; +Field Type Null Key Default Extra +fid int(11) NO PRI NULL +g multipoint YES NULL +SHOW FIELDS FROM gis_multi_line; +Field Type Null Key Default Extra +fid int(11) NO PRI NULL +g multilinestring YES NULL +SHOW FIELDS FROM gis_multi_polygon; +Field Type Null Key Default Extra +fid int(11) NO PRI NULL +g multipolygon YES NULL +SHOW FIELDS FROM gis_geometrycollection; +Field Type Null Key Default Extra +fid int(11) NO PRI NULL +g geometrycollection YES NULL +SHOW FIELDS FROM gis_geometry; +Field Type Null Key Default Extra +fid int(11) NO PRI NULL +g geometry YES NULL +INSERT INTO gis_point VALUES +(101, ST_PointFromText('POINT(10 10)')), +(102, ST_PointFromText('POINT(20 10)')), +(103, ST_PointFromText('POINT(20 20)')), +(104, ST_PointFromWKB(ST_AsWKB(ST_PointFromText('POINT(10 20)')))); +INSERT INTO gis_line VALUES +(105, ST_LineFromText('LINESTRING(0 0,0 10,10 0)')), +(106, ST_LineStringFromText('LINESTRING(10 10,20 10,20 20,10 20,10 10)')), +(107, ST_LineStringFromWKB(ST_AsWKB(LineString(Point(10, 10), Point(40, 10))))); +INSERT INTO gis_polygon VALUES +(108, ST_PolygonFromText('POLYGON((10 10,20 10,20 20,10 20,10 10))')), +(109, ST_PolyFromText('POLYGON((0 0,50 0,50 50,0 50,0 0), (10 10,20 10,20 20,10 20,10 10))')), +(110, ST_PolyFromWKB(ST_AsWKB(Polygon(LineString(Point(0, 0), Point(30, 0), Point(30, 30), Point(0, 0)))))); +INSERT INTO gis_multi_point VALUES +(111, ST_MultiPointFromText('MULTIPOINT(0 0,10 10,10 20,20 20)')), +(112, ST_MPointFromText('MULTIPOINT(1 1,11 11,11 21,21 21)')), +(113, ST_MPointFromWKB(ST_AsWKB(MultiPoint(Point(3, 6), Point(4, 10))))); +INSERT INTO gis_multi_line VALUES +(114, ST_MultiLineStringFromText('MULTILINESTRING((10 48,10 21,10 0),(16 0,16 23,16 48))')), +(115, ST_MLineFromText('MULTILINESTRING((10 48,10 21,10 0))')), +(116, ST_MLineFromWKB(ST_AsWKB(MultiLineString(LineString(Point(1, 2), Point(3, 5)), LineString(Point(2, 5), Point(5, 8), Point(21, 7)))))); +INSERT INTO gis_multi_polygon VALUES +(117, ST_MultiPolygonFromText('MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))')), +(118, ST_MPolyFromText('MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))')), +(119, ST_MPolyFromWKB(ST_AsWKB(MultiPolygon(Polygon(LineString(Point(0, 3), Point(3, 3), Point(3, 0), Point(0, 3))))))); +INSERT INTO gis_geometrycollection VALUES +(120, ST_GeomCollFromText('GEOMETRYCOLLECTION(POINT(0 0), LINESTRING(0 0,10 10))')), +(121, ST_GeometryFromWKB(ST_AsWKB(GeometryCollection(Point(44, 6), LineString(Point(3, 6), Point(7, 9)))))); +INSERT into gis_geometry SELECT * FROM gis_point; +INSERT into gis_geometry SELECT * FROM gis_line; +INSERT into gis_geometry SELECT * FROM gis_polygon; +INSERT into gis_geometry SELECT * FROM gis_multi_point; +INSERT into gis_geometry SELECT * FROM gis_multi_line; +INSERT into gis_geometry SELECT * FROM gis_multi_polygon; +INSERT into gis_geometry SELECT * FROM gis_geometrycollection; +SELECT fid, ST_AsText(g) FROM gis_point; +fid ST_AsText(g) +101 POINT(10 10) +102 POINT(20 10) +103 POINT(20 20) +104 POINT(10 20) +SELECT fid, ST_AsText(g) FROM gis_line; +fid ST_AsText(g) +105 LINESTRING(0 0,0 10,10 0) +106 LINESTRING(10 10,20 10,20 20,10 20,10 10) +107 LINESTRING(10 10,40 10) +SELECT fid, ST_AsText(g) FROM gis_polygon; +fid ST_AsText(g) +108 POLYGON((10 10,20 10,20 20,10 20,10 10)) +109 POLYGON((0 0,50 0,50 50,0 50,0 0),(10 10,20 10,20 20,10 20,10 10)) +110 POLYGON((0 0,30 0,30 30,0 0)) +SELECT fid, ST_AsText(g) FROM gis_multi_point; +fid ST_AsText(g) +111 MULTIPOINT(0 0,10 10,10 20,20 20) +112 MULTIPOINT(1 1,11 11,11 21,21 21) +113 MULTIPOINT(3 6,4 10) +SELECT fid, ST_AsText(g) FROM gis_multi_line; +fid ST_AsText(g) +114 MULTILINESTRING((10 48,10 21,10 0),(16 0,16 23,16 48)) +115 MULTILINESTRING((10 48,10 21,10 0)) +116 MULTILINESTRING((1 2,3 5),(2 5,5 8,21 7)) +SELECT fid, ST_AsText(g) FROM gis_multi_polygon; +fid ST_AsText(g) +117 MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18))) +118 MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18))) +119 MULTIPOLYGON(((0 3,3 3,3 0,0 3))) +SELECT fid, ST_AsText(g) FROM gis_geometrycollection; +fid ST_AsText(g) +120 GEOMETRYCOLLECTION(POINT(0 0),LINESTRING(0 0,10 10)) +121 GEOMETRYCOLLECTION(POINT(44 6),LINESTRING(3 6,7 9)) +SELECT fid, ST_AsText(g) FROM gis_geometry; +fid ST_AsText(g) +101 POINT(10 10) +102 POINT(20 10) +103 POINT(20 20) +104 POINT(10 20) +105 LINESTRING(0 0,0 10,10 0) +106 LINESTRING(10 10,20 10,20 20,10 20,10 10) +107 LINESTRING(10 10,40 10) +108 POLYGON((10 10,20 10,20 20,10 20,10 10)) +109 POLYGON((0 0,50 0,50 50,0 50,0 0),(10 10,20 10,20 20,10 20,10 10)) +110 POLYGON((0 0,30 0,30 30,0 0)) +111 MULTIPOINT(0 0,10 10,10 20,20 20) +112 MULTIPOINT(1 1,11 11,11 21,21 21) +113 MULTIPOINT(3 6,4 10) +114 MULTILINESTRING((10 48,10 21,10 0),(16 0,16 23,16 48)) +115 MULTILINESTRING((10 48,10 21,10 0)) +116 MULTILINESTRING((1 2,3 5),(2 5,5 8,21 7)) +117 MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18))) +118 MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18))) +119 MULTIPOLYGON(((0 3,3 3,3 0,0 3))) +120 GEOMETRYCOLLECTION(POINT(0 0),LINESTRING(0 0,10 10)) +121 GEOMETRYCOLLECTION(POINT(44 6),LINESTRING(3 6,7 9)) +SELECT fid, ST_Dimension(g) FROM gis_geometry; +fid ST_Dimension(g) +101 0 +102 0 +103 0 +104 0 +105 1 +106 1 +107 1 +108 2 +109 2 +110 2 +111 0 +112 0 +113 0 +114 1 +115 1 +116 1 +117 2 +118 2 +119 2 +120 1 +121 1 +SELECT fid, ST_GeometryType(g) FROM gis_geometry; +fid ST_GeometryType(g) +101 POINT +102 POINT +103 POINT +104 POINT +105 LINESTRING +106 LINESTRING +107 LINESTRING +108 POLYGON +109 POLYGON +110 POLYGON +111 MULTIPOINT +112 MULTIPOINT +113 MULTIPOINT +114 MULTILINESTRING +115 MULTILINESTRING +116 MULTILINESTRING +117 MULTIPOLYGON +118 MULTIPOLYGON +119 MULTIPOLYGON +120 GEOMETRYCOLLECTION +121 GEOMETRYCOLLECTION +SELECT fid, ST_IsEmpty(g) FROM gis_geometry; +fid ST_IsEmpty(g) +101 0 +102 0 +103 0 +104 0 +105 0 +106 0 +107 0 +108 0 +109 0 +110 0 +111 0 +112 0 +113 0 +114 0 +115 0 +116 0 +117 0 +118 0 +119 0 +120 0 +121 0 +SELECT fid, ST_AsText(ST_Envelope(g)) FROM gis_geometry; +fid ST_AsText(ST_Envelope(g)) +101 POLYGON((10 10,10 10,10 10,10 10,10 10)) +102 POLYGON((20 10,20 10,20 10,20 10,20 10)) +103 POLYGON((20 20,20 20,20 20,20 20,20 20)) +104 POLYGON((10 20,10 20,10 20,10 20,10 20)) +105 POLYGON((0 0,10 0,10 10,0 10,0 0)) +106 POLYGON((10 10,20 10,20 20,10 20,10 10)) +107 POLYGON((10 10,40 10,40 10,10 10,10 10)) +108 POLYGON((10 10,20 10,20 20,10 20,10 10)) +109 POLYGON((0 0,50 0,50 50,0 50,0 0)) +110 POLYGON((0 0,30 0,30 30,0 30,0 0)) +111 POLYGON((0 0,20 0,20 20,0 20,0 0)) +112 POLYGON((1 1,21 1,21 21,1 21,1 1)) +113 POLYGON((3 6,4 6,4 10,3 10,3 6)) +114 POLYGON((10 0,16 0,16 48,10 48,10 0)) +115 POLYGON((10 0,10 0,10 48,10 48,10 0)) +116 POLYGON((1 2,21 2,21 8,1 8,1 2)) +117 POLYGON((28 0,84 0,84 42,28 42,28 0)) +118 POLYGON((28 0,84 0,84 42,28 42,28 0)) +119 POLYGON((0 0,3 0,3 3,0 3,0 0)) +120 POLYGON((0 0,10 0,10 10,0 10,0 0)) +121 POLYGON((3 6,44 6,44 9,3 9,3 6)) +explain extended select ST_Dimension(g), ST_GeometryType(g), ST_IsEmpty(g), ST_AsText(ST_Envelope(g)) from gis_geometry; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE gis_geometry ALL NULL NULL NULL NULL # # +Warnings: +Note 1003 select st_dimension(`test`.`gis_geometry`.`g`) AS `ST_Dimension(g)`,st_geometrytype(`test`.`gis_geometry`.`g`) AS `ST_GeometryType(g)`,st_isempty(`test`.`gis_geometry`.`g`) AS `ST_IsEmpty(g)`,st_astext(st_envelope(`test`.`gis_geometry`.`g`)) AS `ST_AsText(ST_Envelope(g))` from `test`.`gis_geometry` +SELECT fid, ST_X(g) FROM gis_point; +fid ST_X(g) +101 10 +102 20 +103 20 +104 10 +SELECT fid, ST_Y(g) FROM gis_point; +fid ST_Y(g) +101 10 +102 10 +103 20 +104 20 +explain extended select ST_X(g),ST_Y(g) FROM gis_point; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE gis_point ALL NULL NULL NULL NULL # # +Warnings: +Note 1003 select st_x(`test`.`gis_point`.`g`) AS `ST_X(g)`,st_y(`test`.`gis_point`.`g`) AS `ST_Y(g)` from `test`.`gis_point` +SELECT fid, ST_AsText(ST_StartPoint(g)) FROM gis_line; +fid ST_AsText(ST_StartPoint(g)) +105 POINT(0 0) +106 POINT(10 10) +107 POINT(10 10) +SELECT fid, ST_AsText(ST_EndPoint(g)) FROM gis_line; +fid ST_AsText(ST_EndPoint(g)) +105 POINT(10 0) +106 POINT(10 10) +107 POINT(40 10) +SELECT fid, ST_Length(g) FROM gis_line; +fid ST_Length(g) +105 24.14213562373095 +106 40 +107 30 +SELECT fid, ST_NumPoints(g) FROM gis_line; +fid ST_NumPoints(g) +105 3 +106 5 +107 2 +SELECT fid, ST_AsText(ST_PointN(g, 2)) FROM gis_line; +fid ST_AsText(ST_PointN(g, 2)) +105 POINT(0 10) +106 POINT(20 10) +107 POINT(40 10) +SELECT fid, ST_IsClosed(g) FROM gis_line; +fid ST_IsClosed(g) +105 0 +106 1 +107 0 +explain extended select ST_AsText(ST_StartPoint(g)),ST_AsText(ST_EndPoint(g)),ST_Length(g),ST_NumPoints(g),ST_AsText(ST_PointN(g, 2)),ST_IsClosed(g) FROM gis_line; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE gis_line ALL NULL NULL NULL NULL # # +Warnings: +Note 1003 select st_astext(st_startpoint(`test`.`gis_line`.`g`)) AS `ST_AsText(ST_StartPoint(g))`,st_astext(st_endpoint(`test`.`gis_line`.`g`)) AS `ST_AsText(ST_EndPoint(g))`,st_length(`test`.`gis_line`.`g`) AS `ST_Length(g)`,st_numpoints(`test`.`gis_line`.`g`) AS `ST_NumPoints(g)`,st_astext(st_pointn(`test`.`gis_line`.`g`,2)) AS `ST_AsText(ST_PointN(g, 2))`,st_isclosed(`test`.`gis_line`.`g`) AS `ST_IsClosed(g)` from `test`.`gis_line` +SELECT fid, ST_AsText(ST_Centroid(g)) FROM gis_polygon; +fid ST_AsText(ST_Centroid(g)) +108 POINT(15 15) +109 POINT(25.416666666666668 25.416666666666668) +110 POINT(20 10) +SELECT fid, ST_Area(g) FROM gis_polygon; +fid ST_Area(g) +108 100 +109 2400 +110 450 +SELECT fid, ST_AsText(ST_ExteriorRing(g)) FROM gis_polygon; +fid ST_AsText(ST_ExteriorRing(g)) +108 LINESTRING(10 10,20 10,20 20,10 20,10 10) +109 LINESTRING(0 0,50 0,50 50,0 50,0 0) +110 LINESTRING(0 0,30 0,30 30,0 0) +SELECT fid, ST_NumInteriorRings(g) FROM gis_polygon; +fid ST_NumInteriorRings(g) +108 0 +109 1 +110 0 +SELECT fid, ST_AsText(ST_InteriorRingN(g, 1)) FROM gis_polygon; +fid ST_AsText(ST_InteriorRingN(g, 1)) +108 NULL +109 LINESTRING(10 10,20 10,20 20,10 20,10 10) +110 NULL +explain extended select ST_AsText(ST_Centroid(g)),ST_Area(g),ST_AsText(ST_ExteriorRing(g)),ST_NumInteriorRings(g),ST_AsText(ST_InteriorRingN(g, 1)) FROM gis_polygon; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE gis_polygon ALL NULL NULL NULL NULL # # +Warnings: +Note 1003 select st_astext(st_centroid(`test`.`gis_polygon`.`g`)) AS `ST_AsText(ST_Centroid(g))`,st_area(`test`.`gis_polygon`.`g`) AS `ST_Area(g)`,st_astext(st_exteriorring(`test`.`gis_polygon`.`g`)) AS `ST_AsText(ST_ExteriorRing(g))`,st_numinteriorrings(`test`.`gis_polygon`.`g`) AS `ST_NumInteriorRings(g)`,st_astext(st_interiorringn(`test`.`gis_polygon`.`g`,1)) AS `ST_AsText(ST_InteriorRingN(g, 1))` from `test`.`gis_polygon` +SELECT fid, ST_IsClosed(g) FROM gis_multi_line; +fid ST_IsClosed(g) +114 0 +115 0 +116 0 +SELECT fid, ST_AsText(ST_Centroid(g)) FROM gis_multi_polygon; +fid ST_AsText(ST_Centroid(g)) +117 POINT(57.98031067576927 17.854754130800433) +118 POINT(57.98031067576927 17.854754130800433) +119 POINT(2 2) +SELECT fid, ST_Area(g) FROM gis_multi_polygon; +fid ST_Area(g) +117 1684.5 +118 1684.5 +119 4.5 +SELECT fid, ST_NumGeometries(g) from gis_multi_point; +fid ST_NumGeometries(g) +111 4 +112 4 +113 2 +SELECT fid, ST_NumGeometries(g) from gis_multi_line; +fid ST_NumGeometries(g) +114 2 +115 1 +116 2 +SELECT fid, ST_NumGeometries(g) from gis_multi_polygon; +fid ST_NumGeometries(g) +117 2 +118 2 +119 1 +SELECT fid, ST_NumGeometries(g) from gis_geometrycollection; +fid ST_NumGeometries(g) +120 2 +121 2 +explain extended SELECT fid, ST_NumGeometries(g) from gis_multi_point; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE gis_multi_point ALL NULL NULL NULL NULL # # +Warnings: +Note 1003 select `test`.`gis_multi_point`.`fid` AS `fid`,st_numgeometries(`test`.`gis_multi_point`.`g`) AS `ST_NumGeometries(g)` from `test`.`gis_multi_point` +SELECT fid, ST_AsText(ST_GeometryN(g, 2)) from gis_multi_point; +fid ST_AsText(ST_GeometryN(g, 2)) +111 POINT(10 10) +112 POINT(11 11) +113 POINT(4 10) +SELECT fid, ST_AsText(ST_GeometryN(g, 2)) from gis_multi_line; +fid ST_AsText(ST_GeometryN(g, 2)) +114 LINESTRING(16 0,16 23,16 48) +115 NULL +116 LINESTRING(2 5,5 8,21 7) +SELECT fid, ST_AsText(ST_GeometryN(g, 2)) from gis_multi_polygon; +fid ST_AsText(ST_GeometryN(g, 2)) +117 POLYGON((59 18,67 18,67 13,59 13,59 18)) +118 POLYGON((59 18,67 18,67 13,59 13,59 18)) +119 NULL +SELECT fid, ST_AsText(ST_GeometryN(g, 2)) from gis_geometrycollection; +fid ST_AsText(ST_GeometryN(g, 2)) +120 LINESTRING(0 0,10 10) +121 LINESTRING(3 6,7 9) +SELECT fid, ST_AsText(ST_GeometryN(g, 1)) from gis_geometrycollection; +fid ST_AsText(ST_GeometryN(g, 1)) +120 POINT(0 0) +121 POINT(44 6) +explain extended SELECT fid, ST_AsText(ST_GeometryN(g, 2)) from gis_multi_point; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE gis_multi_point ALL NULL NULL NULL NULL # # +Warnings: +Note 1003 select `test`.`gis_multi_point`.`fid` AS `fid`,st_astext(st_geometryn(`test`.`gis_multi_point`.`g`,2)) AS `ST_AsText(ST_GeometryN(g, 2))` from `test`.`gis_multi_point` +SELECT g1.fid as first, g2.fid as second, +MBRWithin(g1.g, g2.g) as w, MBRContains(g1.g, g2.g) as c, MBROverlaps(g1.g, g2.g) as o, +MBREquals(g1.g, g2.g) as e, MBRDisjoint(g1.g, g2.g) as d, ST_Touches(g1.g, g2.g) as t, +MBRIntersects(g1.g, g2.g) as i, ST_Crosses(g1.g, g2.g) as r +FROM gis_geometrycollection g1, gis_geometrycollection g2 ORDER BY first, second; +first second w c o e d t i r +120 120 1 1 0 1 0 0 1 0 +120 121 0 0 1 0 0 0 1 0 +121 120 0 0 1 0 0 0 1 0 +121 121 1 1 0 1 0 0 1 0 +explain extended SELECT g1.fid as first, g2.fid as second, +MBRWithin(g1.g, g2.g) as w, MBRContains(g1.g, g2.g) as c, MBROverlaps(g1.g, g2.g) as o, +MBREquals(g1.g, g2.g) as e, MBRDisjoint(g1.g, g2.g) as d, ST_Touches(g1.g, g2.g) as t, +MBRIntersects(g1.g, g2.g) as i, ST_Crosses(g1.g, g2.g) as r +FROM gis_geometrycollection g1, gis_geometrycollection g2 ORDER BY first, second; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE g1 ALL NULL NULL NULL NULL # # Using temporary; Using filesort +1 SIMPLE g2 ALL NULL NULL NULL NULL # # Using join buffer (flat, BNL join) +Warnings: +Note 1003 select `test`.`g1`.`fid` AS `first`,`test`.`g2`.`fid` AS `second`,mbrwithin(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `w`,mbrcontains(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `c`,mbroverlaps(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `o`,mbrequals(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `e`,mbrdisjoint(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `d`,st_touches(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `t`,mbrintersects(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `i`,st_crosses(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `r` from `test`.`gis_geometrycollection` `g1` join `test`.`gis_geometrycollection` `g2` order by `test`.`g1`.`fid`,`test`.`g2`.`fid` +DROP TABLE gis_point, gis_line, gis_polygon, gis_multi_point, gis_multi_line, gis_multi_polygon, gis_geometrycollection, gis_geometry; +CREATE TABLE t1 ( +gp point, +ln linestring, +pg polygon, +mp multipoint, +mln multilinestring, +mpg multipolygon, +gc geometrycollection, +gm geometry +); +SHOW FIELDS FROM t1; +Field Type Null Key Default Extra +gp point YES NULL +ln linestring YES NULL +pg polygon YES NULL +mp multipoint YES NULL +mln multilinestring YES NULL +mpg multipolygon YES NULL +gc geometrycollection YES NULL +gm geometry YES NULL +ALTER TABLE t1 ADD fid INT NOT NULL; +SHOW FIELDS FROM t1; +Field Type Null Key Default Extra +gp point YES NULL +ln linestring YES NULL +pg polygon YES NULL +mp multipoint YES NULL +mln multilinestring YES NULL +mpg multipolygon YES NULL +gc geometrycollection YES NULL +gm geometry YES NULL +fid int(11) NO NULL +DROP TABLE t1; +SELECT ST_AsText(ST_GeometryFromWKB(ST_AsWKB(ST_GeometryFromText('POINT(1 4)')))); +ST_AsText(ST_GeometryFromWKB(ST_AsWKB(ST_GeometryFromText('POINT(1 4)')))) +POINT(1 4) +explain extended SELECT ST_AsText(ST_GeometryFromWKB(ST_AsWKB(ST_GeometryFromText('POINT(1 4)')))); +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL No tables used +Warnings: +Note 1003 select st_astext(st_geometryfromwkb(st_aswkb(st_geometryfromtext('POINT(1 4)')))) AS `ST_AsText(ST_GeometryFromWKB(ST_AsWKB(ST_GeometryFromText('POINT(1 4)'))))` +explain extended SELECT ST_AsText(ST_GeometryFromWKB(ST_AsWKB(ST_PointFromText('POINT(1 4)')))); +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL No tables used +Warnings: +Note 1003 select st_astext(st_geometryfromwkb(st_aswkb(st_geometryfromtext('POINT(1 4)')))) AS `ST_AsText(ST_GeometryFromWKB(ST_AsWKB(ST_PointFromText('POINT(1 4)'))))` +SELECT ST_SRID(ST_GeomFromText('LineString(1 1,2 2)',101)); +ST_SRID(ST_GeomFromText('LineString(1 1,2 2)',101)) +101 +explain extended SELECT ST_SRID(ST_GeomFromText('LineString(1 1,2 2)',101)); +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL No tables used +Warnings: +Note 1003 select srid(st_geometryfromtext('LineString(1 1,2 2)',101)) AS `ST_SRID(ST_GeomFromText('LineString(1 1,2 2)',101))` +explain extended select ST_issimple(MultiPoint(Point(3, 6), Point(4, 10))), ST_issimple(Point(3, 6)); +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL No tables used +Warnings: +Note 1003 select st_issimple(multipoint(point(3,6),point(4,10))) AS `ST_issimple(MultiPoint(Point(3, 6), Point(4, 10)))`,st_issimple(point(3,6)) AS `ST_issimple(Point(3, 6))` +create table t1 (a geometry not null); +insert into t1 values (ST_GeomFromText('Point(1 2)')); +insert into t1 values ('Garbage'); +ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field +insert IGNORE into t1 values ('Garbage'); +ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field +alter table t1 add spatial index(a); +drop table t1; +create table t1(a geometry not null, index(a(5))); +insert into t1 values +(ST_GeomFromText('POINT(1 1)')), (ST_GeomFromText('POINT(3 3)')), +(ST_GeomFromText('POINT(4 4)')), (ST_GeomFromText('POINT(6 6)')); +select ST_AsText(a) from t1 where +MBRContains(ST_GeomFromText('Polygon((0 0, 0 2, 2 2, 2 0, 0 0))'), a) +or +MBRContains(ST_GeomFromText('Polygon((2 2, 2 5, 5 5, 5 2, 2 2))'), a); +ST_AsText(a) +POINT(1 1) +POINT(3 3) +POINT(4 4) +select ST_AsText(a) from t1 where +MBRContains(ST_GeomFromText('Polygon((0 0, 0 2, 2 2, 2 0, 0 0))'), a) +and +MBRContains(ST_GeomFromText('Polygon((0 0, 0 7, 7 7, 7 0, 0 0))'), a); +ST_AsText(a) +POINT(1 1) +drop table t1; +CREATE TABLE t1 (Coordinates POINT NOT NULL, INDEX(Coordinates(10))); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(383293632 1754448)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(564952612 157516260)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(903994614 180726515)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(98128178 141127631)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(862547902 799334546)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(341989013 850270906)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(803302376 93039099)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(857439153 817431356)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(319757546 343162742)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(826341972 717484432)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(305066789 201736238)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(626068992 616241497)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(55789424 755830108)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(802874458 312435220)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(153795660 551723671)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(242207428 537089292)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(553478119 807160039)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(694605552 457472733)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(987886554 792733729)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(598600363 850434457)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(592068275 940589376)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(700705362 395370650)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(33628474 558144514)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(212802006 353386020)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(901307256 39143977)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(70870451 206374045)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(240880214 696939443)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(822615542 296669638)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(452769551 625489999)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(609104858 606565210)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(177213669 851312285)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(143654501 730691787)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(658472325 838260052)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(188164520 646358878)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(630993781 786764883)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(496793334 223062055)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(727354258 197498696)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(618432704 760982731)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(755643210 831234710)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(114368751 656950466)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(870378686 185239202)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(863324511 111258900)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(882178645 685940052)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(407928538 334948195)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(311430051 17033395)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(941513405 488643719)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(868345680 85167906)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(219335507 526818004)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(923427958 407500026)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(173176882 554421738)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(194264908 669970217)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(777483793 921619165)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(867468912 395916497)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(682601897 623112122)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(227151206 796970647)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(280062588 97529892)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(982209849 143387099)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(208788792 864388493)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(829327151 616717329)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(199336688 140757201)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(633750724 140850093)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(629400920 502096404)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(226017998 848736426)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(28914408 149445955)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(256236452 202091290)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(703867693 450501360)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(872061506 481351486)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(372120524 739530418)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(877267982 54722420)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(362642540 104419188)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(851693067 642705127)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(201949080 833902916)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(786092225 410737872)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(698291409 615419376)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(27455201 897628096)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(756176576 661205925)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(38478189 385577496)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(163302328 264496186)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(234313922 192216735)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(413942141 490550373)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(394308025 117809834)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(941051732 266369530)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(599161319 313172256)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(5899948 476429301)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(367894677 368542487)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(580848489 219587743)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(11247614 782797569)')); +drop table t1; +create table t1 select ST_GeomFromWKB(POINT(1,3)); +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `ST_GeomFromWKB(POINT(1,3))` geometry DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci +drop table t1; +SET sql_mode = 'NO_ENGINE_SUBSTITUTION'; +CREATE TABLE `t1` (`object_id` bigint(20) unsigned NOT NULL default '0', `geo` +geometry NOT NULL default '') ENGINE=InnoDB ; +SET sql_mode = default; +insert into t1 values ('85984',ST_GeomFromText('MULTIPOLYGON(((-115.006363 +36.305435,-114.992394 36.305202,-114.991219 36.305975,-114.991163 +36.306845,-114.989432 36.309452,-114.978275 36.312642,-114.977363 +36.311978,-114.975327 36.312344,-114.96502 36.31597,-114.963364 +36.313629,-114.961723 36.313721,-114.956398 36.316057,-114.951882 +36.320979,-114.947073 36.323475,-114.945207 36.326451,-114.945207 +36.326451,-114.944132 36.326061,-114.94003 36.326588,-114.924017 +36.334484,-114.923281 36.334146,-114.92564 36.331504,-114.94072 +36.319282,-114.945348 36.314812,-114.948091 36.314762,-114.951755 +36.316211,-114.952446 36.313883,-114.952644 36.309488,-114.944725 +36.313083,-114.93706 36.32043,-114.932478 36.323497,-114.924556 +36.327708,-114.922608 36.329715,-114.92009 36.328695,-114.912105 +36.323566,-114.901647 36.317952,-114.897436 36.313968,-114.895344 +36.309573,-114.891699 36.304398,-114.890569 36.303551,-114.886356 +36.302702,-114.885141 36.301351,-114.885709 36.297391,-114.892499 +36.290893,-114.902142 36.288974,-114.904941 36.288838,-114.905308 +36.289845,-114.906325 36.290395,-114.909916 36.289549,-114.914527 +36.287535,-114.918797 36.284423,-114.922982 36.279731,-114.924113 +36.277282,-114.924057 36.275817,-114.927733 36.27053,-114.929354 +36.269029,-114.929354 36.269029,-114.950856 36.268715,-114.950768 +36.264324,-114.960206 36.264293,-114.960301 36.268943,-115.006662 +36.268929,-115.008583 36.265619,-115.00665 36.264247,-115.006659 +36.246873,-115.006659 36.246873,-115.006838 36.247697,-115.010764 +36.247774,-115.015609 36.25113,-115.015765 36.254505,-115.029517 +36.254619,-115.038573 36.249317,-115.038573 36.249317,-115.023403 +36.25841,-115.023873 36.258994,-115.031845 36.259829,-115.03183 +36.261053,-115.025561 36.261095,-115.036417 36.274632,-115.033729 +36.276041,-115.032217 36.274851,-115.029845 36.273959,-115.029934 +36.274966,-115.025763 36.274896,-115.025406 36.281044,-115.028731 +36.284471,-115.036497 36.290377,-115.042071 36.291039,-115.026759 +36.298478,-115.008995 36.301966,-115.006363 36.305435),(-115.079835 +36.244369,-115.079735 36.260186,-115.076435 36.262369,-115.069758 +36.265,-115.070235 36.268757,-115.064542 36.268655,-115.061843 +36.269857,-115.062676 36.270693,-115.06305 36.272344,-115.059051 +36.281023,-115.05918 36.283008,-115.060591 36.285246,-115.061913 +36.290022,-115.062499 36.306353,-115.062499 36.306353,-115.060918 +36.30642,-115.06112 36.289779,-115.05713 36.2825,-115.057314 +36.279446,-115.060779 36.274659,-115.061366 36.27209,-115.057858 +36.26557,-115.055805 36.262883,-115.054688 36.262874,-115.047335 +36.25037,-115.044234 36.24637,-115.052434 36.24047,-115.061734 +36.23507,-115.061934 36.22677,-115.061934 36.22677,-115.061491 +36.225267,-115.062024 36.218194,-115.060134 36.218278,-115.060133 +36.210771,-115.057833 36.210771,-115.057433 36.196271,-115.062233 +36.196271,-115.062233 36.190371,-115.062233 36.190371,-115.065533 +36.190371,-115.071333 36.188571,-115.098331 36.188275,-115.098331 +36.188275,-115.098435 36.237569,-115.097535 36.240369,-115.097535 +36.240369,-115.093235 36.240369,-115.089135 36.240469,-115.083135 +36.240569,-115.083135 36.240569,-115.079835 +36.244369)))')),('85998',ST_GeomFromText('MULTIPOLYGON(((-115.333107 +36.264587,-115.333168 36.280638,-115.333168 36.280638,-115.32226 +36.280643,-115.322538 36.274311,-115.327222 36.274258,-115.32733 +36.263026,-115.330675 36.262984,-115.332132 36.264673,-115.333107 +36.264587),(-115.247239 36.247066,-115.247438 36.218267,-115.247438 +36.218267,-115.278525 36.219263,-115.278525 36.219263,-115.301545 +36.219559,-115.332748 36.219197,-115.332757 36.220041,-115.332757 +36.220041,-115.332895 36.233514,-115.349023 36.233479,-115.351489 +36.234475,-115.353681 36.237021,-115.357106 36.239789,-115.36519 +36.243331,-115.368156 36.243487,-115.367389 36.244902,-115.364553 +36.246014,-115.359219 36.24616,-115.356186 36.248025,-115.353347 +36.248004,-115.350813 36.249507,-115.339673 36.25387,-115.333069 +36.255018,-115.333069 36.255018,-115.333042 36.247767,-115.279039 +36.248666,-115.263639 36.247466,-115.263839 36.252766,-115.261439 +36.252666,-115.261439 36.247366,-115.247239 36.247066)))')); +select object_id, ST_geometrytype(geo), ST_ISSIMPLE(GEO), ST_ASTEXT(ST_centroid(geo)) from +t1 where object_id=85998; +object_id ST_geometrytype(geo) ST_ISSIMPLE(GEO) ST_ASTEXT(ST_centroid(geo)) +85998 MULTIPOLYGON 1 POINT(115.2970604672862 -36.23335610879993) +select object_id, ST_geometrytype(geo), ST_ISSIMPLE(GEO), ST_ASTEXT(ST_centroid(geo)) from +t1 where object_id=85984; +object_id ST_geometrytype(geo) ST_ISSIMPLE(GEO) ST_ASTEXT(ST_centroid(geo)) +85984 MULTIPOLYGON 1 POINT(-114.86854472054372 36.34725218253213) +drop table t1; +create table t1 (fl geometry not null); +insert into t1 values (1); +ERROR HY000: Cannot cast 'int' as 'geometry' in assignment of `test`.`t1`.`fl` +insert into t1 values (1.11); +ERROR HY000: Cannot cast 'decimal' as 'geometry' in assignment of `test`.`t1`.`fl` +insert into t1 values ("qwerty"); +ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field +insert into t1 values (ST_pointfromtext('point(1,1)')); +ERROR 23000: Column 'fl' cannot be null +drop table t1; +select (ST_asWKT(ST_geomfromwkb((0x000000000140240000000000004024000000000000)))); +(ST_asWKT(ST_geomfromwkb((0x000000000140240000000000004024000000000000)))) +POINT(10 10) +select (ST_asWKT(ST_geomfromwkb((0x010100000000000000000024400000000000002440)))); +(ST_asWKT(ST_geomfromwkb((0x010100000000000000000024400000000000002440)))) +POINT(10 10) +create table t1 (g GEOMETRY); +select * from t1; +Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr +def test t1 t1 g g 255 4294967295 0 Y 144 0 63 +g +select ST_asbinary(g) from t1; +Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr +def ST_asbinary(g) 251 4294967295 0 Y 128 0 63 +ST_asbinary(g) +drop table t1; +create table t1 (a TEXT, b GEOMETRY NOT NULL, INDEX(b(5))); +alter table t1 disable keys; +Warnings: +Note 1031 Storage engine InnoDB of the table `test`.`t1` doesn't have this option +load data infile '../../std_data/bad_gis_data.dat' into table t1; +ERROR 22004: Column set to default value; NULL supplied to NOT NULL column 'b' at row 1 +alter table t1 enable keys; +Warnings: +Note 1031 Storage engine InnoDB of the table `test`.`t1` doesn't have this option +drop table t1; +create table t1 (a int, b blob); +insert into t1 values (1, ''), (2, NULL), (3, '1'); +select * from t1; +a b +1 +2 NULL +3 1 +select +ST_geometryfromtext(b) IS NULL, ST_geometryfromwkb(b) IS NULL, ST_astext(b) IS NULL, +ST_aswkb(b) IS NULL, ST_geometrytype(b) IS NULL, ST_centroid(b) IS NULL, +ST_envelope(b) IS NULL, ST_startpoint(b) IS NULL, ST_endpoint(b) IS NULL, +ST_exteriorring(b) IS NULL, ST_pointn(b, 1) IS NULL, ST_geometryn(b, 1) IS NULL, +ST_interiorringn(b, 1) IS NULL, multipoint(b) IS NULL, ST_isempty(b) IS NULL, +ST_issimple(b) IS NULL, ST_isclosed(b) IS NULL, ST_dimension(b) IS NULL, +ST_numgeometries(b) IS NULL, ST_numinteriorrings(b) IS NULL, ST_numpoints(b) IS NULL, +ST_area(b) IS NULL, ST_length(b) IS NULL, ST_srid(b) IS NULL, ST_x(b) IS NULL, +ST_y(b) IS NULL +from t1; +ERROR 22007: Illegal non geometric '`test`.`t1`.`b`' value found during parsing +select +MBRwithin(b, b) IS NULL, MBRcontains(b, b) IS NULL, MBRoverlaps(b, b) IS NULL, +MBRequals(b, b) IS NULL, MBRdisjoint(b, b) IS NULL, ST_touches(b, b) IS NULL, +MBRintersects(b, b) IS NULL, ST_crosses(b, b) IS NULL +from t1; +MBRwithin(b, b) IS NULL MBRcontains(b, b) IS NULL MBRoverlaps(b, b) IS NULL MBRequals(b, b) IS NULL MBRdisjoint(b, b) IS NULL ST_touches(b, b) IS NULL MBRintersects(b, b) IS NULL ST_crosses(b, b) IS NULL +1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 +select +point(b, b) IS NULL, linestring(b) IS NULL, polygon(b) IS NULL, multipoint(b) IS NULL, +multilinestring(b) IS NULL, multipolygon(b) IS NULL, +geometrycollection(b) IS NULL +from t1; +ERROR 22007: Illegal non geometric '`test`.`t1`.`b`' value found during parsing +drop table t1; +CREATE TABLE t1(a POINT) ENGINE=InnoDB; +INSERT INTO t1 VALUES (NULL); +SELECT * FROM t1; +a +NULL +DROP TABLE t1; +CREATE TABLE `t1` ( `col9` set('a'), `col89` date); +INSERT IGNORE INTO `t1` VALUES ('','0000-00-00'); +select ST_geomfromtext(col9,col89) as a from t1; +a +NULL +DROP TABLE t1; +CREATE TABLE t1 ( +geomdata polygon NOT NULL, +KEY index_geom (geomdata(10)) +) ENGINE=InnoDB DEFAULT CHARSET=latin2 DELAY_KEY_WRITE=1 ROW_FORMAT=FIXED; +Warnings: +Warning 1478 InnoDB: assuming ROW_FORMAT=DYNAMIC. +CREATE TABLE t2 ( +geomdata polygon NOT NULL, +KEY index_geom (geomdata(10)) +) ENGINE=InnoDB DEFAULT CHARSET=latin2 DELAY_KEY_WRITE=1 ROW_FORMAT=FIXED; +Warnings: +Warning 1478 InnoDB: assuming ROW_FORMAT=DYNAMIC. +CREATE TABLE t3 +select +ST_aswkb(ws.geomdata) AS geomdatawkb +from +t1 ws +union +select +ST_aswkb(ws.geomdata) AS geomdatawkb +from +t2 ws; +describe t3; +Field Type Null Key Default Extra +geomdatawkb longblob YES NULL +drop table t1; +drop table t2; +drop table t3; +create table t1(col1 geometry default null,col15 geometrycollection not +null, index(col15(5)),index(col1(15)))engine=InnoDB; +insert into t1 set col15 = ST_GeomFromText('POINT(6 5)'); +insert into t1 set col15 = ST_GeomFromText('POINT(6 5)'); +check table t1 extended; +Table Op Msg_type Msg_text +test.t1 check status OK +drop table t1; +End of 4.1 tests +create table t1 (s1 geometry not null,s2 char(100)); +create trigger t1_bu before update on t1 for each row set new.s1 = null; +insert into t1 values (null,null); +ERROR 23000: Column 's1' cannot be null +drop table t1; +drop procedure if exists fn3; +create function fn3 () returns point deterministic return ST_GeomFromText("point(1 1)"); +show create function fn3; +Function sql_mode Create Function character_set_client collation_connection Database Collation +fn3 STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` FUNCTION `fn3`() RETURNS point + DETERMINISTIC +return ST_GeomFromText("point(1 1)") latin1 latin1_swedish_ci latin1_swedish_ci +select ST_astext(fn3()); +ST_astext(fn3()) +POINT(1 1) +drop function fn3; +create table t1(pt POINT); +alter table t1 add primary key pti(pt); +Warnings: +Warning 1280 Name 'pti' ignored for PRIMARY key. +drop table t1; +create table t1(pt GEOMETRY); +alter table t1 add primary key pti(pt); +ERROR 42000: BLOB/TEXT column 'pt' used in key specification without a key length +alter table t1 add primary key pti(pt(20)); +Warnings: +Warning 1280 Name 'pti' ignored for PRIMARY key. +drop table t1; +create table t1 select ST_GeomFromText('point(1 1)'); +desc t1; +Field Type Null Key Default Extra +ST_GeomFromText('point(1 1)') geometry YES NULL +drop table t1; +create table t1 (g geometry not null); +insert into t1 values(default); +ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field +drop table t1; +CREATE TABLE t1 (a GEOMETRY); +CREATE VIEW v1 AS SELECT ST_GeomFromwkb(ST_ASBINARY(a)) FROM t1; +CREATE VIEW v2 AS SELECT a FROM t1; +DESCRIBE v1; +Field Type Null Key Default Extra +ST_GeomFromwkb(ST_ASBINARY(a)) geometry YES NULL +DESCRIBE v2; +Field Type Null Key Default Extra +a geometry YES NULL +DROP VIEW v1,v2; +DROP TABLE t1; +create table t1 (name VARCHAR(100), square GEOMETRY); +INSERT INTO t1 VALUES("center", ST_GeomFromText('POLYGON (( 0 0, 0 2, 2 2, 2 0, 0 0))')); +INSERT INTO t1 VALUES("small", ST_GeomFromText('POLYGON (( 0 0, 0 1, 1 1, 1 0, 0 0))')); +INSERT INTO t1 VALUES("big", ST_GeomFromText('POLYGON (( 0 0, 0 3, 3 3, 3 0, 0 0))')); +INSERT INTO t1 VALUES("up", ST_GeomFromText('POLYGON (( 0 1, 0 3, 2 3, 2 1, 0 1))')); +INSERT INTO t1 VALUES("up2", ST_GeomFromText('POLYGON (( 0 2, 0 4, 2 4, 2 2, 0 2))')); +INSERT INTO t1 VALUES("up3", ST_GeomFromText('POLYGON (( 0 3, 0 5, 2 5, 2 3, 0 3))')); +INSERT INTO t1 VALUES("down", ST_GeomFromText('POLYGON (( 0 -1, 0 1, 2 1, 2 -1, 0 -1))')); +INSERT INTO t1 VALUES("down2", ST_GeomFromText('POLYGON (( 0 -2, 0 0, 2 0, 2 -2, 0 -2))')); +INSERT INTO t1 VALUES("down3", ST_GeomFromText('POLYGON (( 0 -3, 0 -1, 2 -1, 2 -3, 0 -3))')); +INSERT INTO t1 VALUES("right", ST_GeomFromText('POLYGON (( 1 0, 1 2, 3 2, 3 0, 1 0))')); +INSERT INTO t1 VALUES("right2", ST_GeomFromText('POLYGON (( 2 0, 2 2, 4 2, 4 0, 2 0))')); +INSERT INTO t1 VALUES("right3", ST_GeomFromText('POLYGON (( 3 0, 3 2, 5 2, 5 0, 3 0))')); +INSERT INTO t1 VALUES("left", ST_GeomFromText('POLYGON (( -1 0, -1 2, 1 2, 1 0, -1 0))')); +INSERT INTO t1 VALUES("left2", ST_GeomFromText('POLYGON (( -2 0, -2 2, 0 2, 0 0, -2 0))')); +INSERT INTO t1 VALUES("left3", ST_GeomFromText('POLYGON (( -3 0, -3 2, -1 2, -1 0, -3 0))')); +SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrcontains FROM t1 a1 JOIN t1 a2 ON MBRContains( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name; +mbrcontains +center,small +SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrdisjoint FROM t1 a1 JOIN t1 a2 ON MBRDisjoint( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name; +mbrdisjoint +down3,left3,right3,up3 +SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrequals FROM t1 a1 JOIN t1 a2 ON MBREquals( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name; +mbrequals +center +SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrintersect FROM t1 a1 JOIN t1 a2 ON MBRIntersects( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name; +mbrintersect +big,center,down,down2,left,left2,right,right2,small,up,up2 +SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbroverlaps FROM t1 a1 JOIN t1 a2 ON MBROverlaps( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name; +mbroverlaps +down,left,right,up +SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrtouches FROM t1 a1 JOIN t1 a2 ON MBRTouches( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name; +mbrtouches +down2,left2,right2,up2 +SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrwithin FROM t1 a1 JOIN t1 a2 ON MBRWithin( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name; +mbrwithin +big,center +SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS MBRcontains FROM t1 a1 JOIN t1 a2 ON MBRContains( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name; +MBRcontains +center,small +SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS MBRdisjoint FROM t1 a1 JOIN t1 a2 ON MBRDisjoint( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name; +MBRdisjoint +down3,left3,right3,up3 +SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS MBRequals FROM t1 a1 JOIN t1 a2 ON MBREquals( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name; +MBRequals +center +SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS intersects FROM t1 a1 JOIN t1 a2 ON MBRIntersects( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name; +intersects +big,center,down,down2,left,left2,right,right2,small,up,up2 +SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS MBRoverlaps FROM t1 a1 JOIN t1 a2 ON MBROverlaps( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name; +MBRoverlaps +down,left,right,up +SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS ST_touches FROM t1 a1 JOIN t1 a2 ON ST_Touches( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name; +ST_touches +down2,left2,right2,up2 +SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS MBRwithin FROM t1 a1 JOIN t1 a2 ON MBRWithin( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name; +MBRwithin +big,center +SET @vert1 = ST_GeomFromText('POLYGON ((0 -2, 0 2, 0 -2))'); +SET @horiz1 = ST_GeomFromText('POLYGON ((-2 0, 2 0, -2 0))'); +SET @horiz2 = ST_GeomFromText('POLYGON ((-1 0, 3 0, -1 0))'); +SET @horiz3 = ST_GeomFromText('POLYGON ((2 0, 3 0, 2 0))'); +SET @point1 = ST_GeomFromText('POLYGON ((0 0))'); +SET @point2 = ST_GeomFromText('POLYGON ((-2 0))'); +SELECT GROUP_CONCAT(a1.name ORDER BY a1.name) AS MBRoverlaps FROM t1 a1 WHERE MBROverlaps(a1.square, @vert1) GROUP BY a1.name; +MBRoverlaps +SELECT GROUP_CONCAT(a1.name ORDER BY a1.name) AS MBRoverlaps FROM t1 a1 WHERE MBROverlaps(a1.square, @horiz1) GROUP BY a1.name; +MBRoverlaps +SELECT MBROverlaps(@horiz1, @vert1) FROM DUAL; +MBROverlaps(@horiz1, @vert1) +0 +SELECT MBROverlaps(@horiz1, @horiz2) FROM DUAL; +MBROverlaps(@horiz1, @horiz2) +1 +SELECT MBROverlaps(@horiz1, @horiz3) FROM DUAL; +MBROverlaps(@horiz1, @horiz3) +0 +SELECT MBROverlaps(@horiz1, @point1) FROM DUAL; +MBROverlaps(@horiz1, @point1) +0 +SELECT MBROverlaps(@horiz1, @point2) FROM DUAL; +MBROverlaps(@horiz1, @point2) +0 +DROP TABLE t1; +create table t1(f1 geometry, f2 polygon, f3 linestring); +select f1 from t1 union select f1 from t1; +f1 +insert into t1 (f2,f3) values (ST_GeomFromText('POLYGON((10 10,20 10,20 20,10 20,10 10))'), ST_GeomFromText('LINESTRING(0 0,1 1,2 2)')); +select ST_AsText(f2),ST_AsText(f3) from t1; +ST_AsText(f2) ST_AsText(f3) +POLYGON((10 10,20 10,20 20,10 20,10 10)) LINESTRING(0 0,1 1,2 2) +select ST_AsText(a) from (select f2 as a from t1 union select f3 from t1) t; +ST_AsText(a) +POLYGON((10 10,20 10,20 20,10 20,10 10)) +LINESTRING(0 0,1 1,2 2) +create table t2 as select f2 as a from t1 union select f3 from t1; +desc t2; +Field Type Null Key Default Extra +a geometry YES NULL +select ST_AsText(a) from t2; +ST_AsText(a) +POLYGON((10 10,20 10,20 20,10 20,10 10)) +LINESTRING(0 0,1 1,2 2) +drop table t1, t2; +SELECT 1; +1 +1 +CREATE TABLE t1 (p POINT); +CREATE TABLE t2 (p POINT, INDEX(p)); +INSERT INTO t1 VALUES (POINTFROMTEXT('POINT(1 2)')); +INSERT INTO t2 VALUES (POINTFROMTEXT('POINT(1 2)')); +SELECT COUNT(*) FROM t1 WHERE p=POINTFROMTEXT('POINT(1 2)'); +COUNT(*) +1 +EXPLAIN +SELECT COUNT(*) FROM t2 WHERE p=POINTFROMTEXT('POINT(1 2)'); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t2 ref p p 28 const 1 Using where +SELECT COUNT(*) FROM t2 WHERE p=POINTFROMTEXT('POINT(1 2)'); +COUNT(*) +1 +INSERT INTO t1 VALUES (POINTFROMTEXT('POINT(3 4)')); +INSERT INTO t2 VALUES (POINTFROMTEXT('POINT(3 4)')); +EXPLAIN +SELECT COUNT(*) FROM t1 WHERE p=POINTFROMTEXT('POINT(1 2)'); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 ALL NULL NULL NULL NULL 2 Using where +SELECT COUNT(*) FROM t1 WHERE p=POINTFROMTEXT('POINT(1 2)'); +COUNT(*) +1 +EXPLAIN +SELECT COUNT(*) FROM t2 WHERE p=POINTFROMTEXT('POINT(1 2)'); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t2 ref p p 28 const # Using where +SELECT COUNT(*) FROM t2 WHERE p=POINTFROMTEXT('POINT(1 2)'); +COUNT(*) +1 +EXPLAIN +SELECT COUNT(*) FROM t2 IGNORE INDEX(p) WHERE p=POINTFROMTEXT('POINT(1 2)'); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t2 ALL NULL NULL NULL NULL 2 Using where +SELECT COUNT(*) FROM t2 IGNORE INDEX(p) WHERE p=POINTFROMTEXT('POINT(1 2)'); +COUNT(*) +1 +DROP TABLE t1, t2; +End of 5.0 tests +# +# Test for bug #58650 "Failing assertion: primary_key_no == -1 || +# primary_key_no == 0". +# +drop table if exists t1; +# The minimal test case. +create table t1 (a int not null, b linestring not null, unique key b (b(12)), unique key a (a)); +drop table t1; +# The original test case. +create table t1 (a int not null, b linestring not null, unique key b (b(12))); +create unique index a on t1(a); +drop table t1; +create table `t1` (`col002` point)engine=InnoDB; +insert into t1 values (),(),(); +select min(`col002`) from t1 union select `col002` from t1; +min(`col002`) +NULL +drop table t1; +# +# Bug #47780: crash when comparing GIS items from subquery +# +CREATE TABLE t1(a INT, b MULTIPOLYGON); +INSERT INTO t1 VALUES +(0, +ST_GEOMFROMTEXT( +'multipolygon(((1 2,3 4,5 6,7 8,9 8,1 2,1 2),(7 6,5 4,3 2,1 2,3 4,7 6)))')); +# must not crash +SELECT 1 FROM t1 WHERE a <> (SELECT ST_GEOMETRYCOLLECTIONFROMWKB(b) FROM t1); +ERROR HY000: Illegal parameter data types int and geometry for operation '<>' +DROP TABLE t1; +# +# Bug #49250 : spatial btree index corruption and crash +# Part one : spatial syntax check +# +CREATE TABLE t1(col1 MULTIPOLYGON NOT NULL, +SPATIAL INDEX USING BTREE (col1)); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'USING BTREE (col1))' at line 2 +CREATE TABLE t2(col1 MULTIPOLYGON NOT NULL); +CREATE SPATIAL INDEX USING BTREE ON t2(col); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'USING BTREE ON t2(col)' at line 1 +ALTER TABLE t2 ADD SPATIAL INDEX USING BTREE (col1); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'USING BTREE (col1)' at line 1 +DROP TABLE t2; +End of 5.0 tests +create table t1 (f1 tinyint(1), f2 char(1), f3 varchar(1), f4 geometry, f5 datetime); +create view v1 as select * from t1; +desc v1; +Field Type Null Key Default Extra +f1 tinyint(1) YES NULL +f2 char(1) YES NULL +f3 varchar(1) YES NULL +f4 geometry YES NULL +f5 datetime YES NULL +drop view v1; +drop table t1; +SELECT MultiPoint(12345,''); +ERROR HY000: Illegal parameter data type int for operation 'multipoint' +SELECT 1 FROM (SELECT GREATEST(1,GEOMETRYCOLLECTION('00000','00000')) b FROM DUAL) AS d WHERE (LINESTRING(d.b)); +ERROR HY000: Illegal parameter data type varchar for operation 'geometrycollection' +# +# BUG#51875: crash when loading data into geometry function ST_polyfromwkb +# +SET @a=0x00000000030000000100000000000000000000000000144000000000000014400000000000001840000000000000184000000000000014400000000000001440; +SET @a=ST_POLYFROMWKB(@a); +SET @a=0x00000000030000000000000000000000000000000000144000000000000014400000000000001840000000000000184000000000000014400000000000001440; +SET @a=ST_POLYFROMWKB(@a); +create table t1(a polygon NOT NULL)engine=InnoDB; +insert into t1 values (ST_geomfromtext("point(0 1)")); +ERROR 22007: Incorrect POLYGON value: 'POINT(0 1)' for column `test`.`t1`.`a` at row 1 +insert into t1 values (ST_geomfromtext("point(1 0)")); +ERROR 22007: Incorrect POLYGON value: 'POINT(1 0)' for column `test`.`t1`.`a` at row 1 +select * from (select polygon(t1.a) as p from t1 order by t1.a) d; +p +drop table t1; +# +# Test for bug #59888 "debug assertion when attempt to create spatial index +# on char > 31 bytes". +# +create table t1(a char(32) not null) engine=InnoDB; +create index i on t1 (a(5)); +drop table t1; +End of 5.1 tests +CREATE TABLE t0 (a BINARY(32) NOT NULL); +CREATE UNIQUE INDEX i on t0 (a(10)); +INSERT INTO t0 VALUES (1); +CREATE TABLE t1( +col0 BINARY NOT NULL, +col2 TIMESTAMP, +INDEX i1 (col0) +) ENGINE=InnoDB; +CREATE TABLE t2 ( +col0 BINARY NOT NULL, +col2 TIMESTAMP +) ENGINE=InnoDB; +CREATE INDEX idx0 ON t1(col0); +Warnings: +Note 1831 Duplicate index `idx0`. This is deprecated and will be disallowed in a future release +CREATE TABLE t3 ( +col0 INTEGER NOT NULL, +col1 POINT, +col2 POINT +); +CREATE SPATIAL INDEX idx0 ON t2 (col1, col2); +ERROR HY000: Incorrect arguments to SPATIAL INDEX +CREATE TABLE t4 ( +col0 INTEGER NOT NULL, +col1 POINT, +col2 LINESTRING, +INDEX i1 (col1(5), col2(5)) +); +DROP TABLE IF EXISTS t0, t1, t2, t3,t4; +# +# BUG#12414917 - ST_ISCLOSED() CRASHES ON 64-BIT BUILDS +# +SELECT ST_ISCLOSED(CONVERT(CONCAT(' ', 0x2), BINARY(20))); +ST_ISCLOSED(CONVERT(CONCAT(' ', 0x2), BINARY(20))) +-1 +# +# BUG#12537203 - CRASH WHEN SUBSELECTING GLOBAL VARIABLES IN +# GEOMETRY FUNCTION ARGUMENTS +# +SELECT GEOMETRYCOLLECTION((SELECT @@OLD)); +ERROR HY000: Illegal parameter data type bigint for operation 'geometrycollection' +End of 5.1 tests +# +# Bug#11908153: CRASH AND/OR VALGRIND ERRORS IN FIELD_BLOB::GET_KEY_IMAGE +# +CREATE TABLE g1 +(a geometry NOT NULL, UNIQUE KEY i (a(151))) engine=InnoDB; +INSERT INTO g1 VALUES (ST_geomfromtext('point(1 1)')); +INSERT INTO g1 VALUES (ST_geomfromtext('point(1 2)')); +FLUSH TABLES; +SELECT 1 FROM g1 +FORCE INDEX(i) WHERE a = date_sub(now(), interval 2808.4 year_month) +; +ERROR HY000: Illegal parameter data types geometry and datetime for operation '=' +DROP TABLE g1; +# +# Bug#13013970 MORE CRASHES IN FIELD_BLOB::GET_KEY_IMAGE +# +CREATE TABLE g1(a TEXT NOT NULL, KEY(a(255))); +INSERT INTO g1 VALUES ('a'),('a'); +SELECT 1 FROM g1 WHERE a >= ANY +(SELECT 1 FROM g1 WHERE a = ST_geomfromtext('') OR a) ; +1 +Warnings: +Warning 1292 Truncated incorrect DECIMAL value: 'a' +Warning 1292 Truncated incorrect DECIMAL value: 'a' +DROP TABLE g1; +End of 5.5 tests +DROP DATABASE IF EXISTS gis_ogs; +CREATE DATABASE gis_ogs; +USE gis_ogs; +# +# C.3.3.1 Geometry types and functions schema construction +# +CREATE TABLE lakes ( +fid INTEGER NOT NULL PRIMARY KEY, +name CHARACTER VARYING(64), +shore POLYGON); +CREATE TABLE road_segments ( +fid INTEGER NOT NULL PRIMARY KEY, +name CHARACTER VARYING(64), +aliases CHARACTER VARYING(64), +num_lanes INTEGER, +centerline LINESTRING); +CREATE TABLE divided_routes ( +fid INTEGER NOT NULL PRIMARY KEY, +name CHARACTER VARYING(64), +num_lanes INTEGER, +centerlines MULTILINESTRING); +CREATE TABLE forests ( +fid INTEGER NOT NULL PRIMARY KEY, +name CHARACTER VARYING(64), +boundary MULTIPOLYGON); +CREATE TABLE bridges ( +fid INTEGER NOT NULL PRIMARY KEY, +name CHARACTER VARYING(64), +position POINT); +CREATE TABLE streams ( +fid INTEGER NOT NULL PRIMARY KEY, +name CHARACTER VARYING(64), +centerline LINESTRING); +CREATE TABLE buildings ( +fid INTEGER NOT NULL PRIMARY KEY, +address CHARACTER VARYING(64), +position POINT, +footprint POLYGON); +CREATE TABLE ponds ( +fid INTEGER NOT NULL PRIMARY KEY, +name CHARACTER VARYING(64), +type CHARACTER VARYING(64), +shores MULTIPOLYGON); +CREATE TABLE named_places ( +fid INTEGER NOT NULL PRIMARY KEY, +name CHARACTER VARYING(64), +boundary POLYGON); +CREATE TABLE map_neatlines ( +fid INTEGER NOT NULL PRIMARY KEY, +neatline POLYGON); +# +# C.3.3.2 Geometry types and functions schema data loading +# +# Lakes +INSERT INTO lakes VALUES ( +101, 'BLUE LAKE', +ST_PolyFromText( +'POLYGON( +(52 18,66 23,73 9,48 6,52 18), +(59 18,67 18,67 13,59 13,59 18) +)', +101)); +# Road Segments +INSERT INTO road_segments VALUES(102, 'Route 5', NULL, 2, +ST_LineFromText( +'LINESTRING( 0 18, 10 21, 16 23, 28 26, 44 31 )' ,101)); +INSERT INTO road_segments VALUES(103, 'Route 5', 'Main Street', 4, +ST_LineFromText( +'LINESTRING( 44 31, 56 34, 70 38 )' ,101)); +INSERT INTO road_segments VALUES(104, 'Route 5', NULL, 2, +ST_LineFromText( +'LINESTRING( 70 38, 72 48 )' ,101)); +INSERT INTO road_segments VALUES(105, 'Main Street', NULL, 4, +ST_LineFromText( +'LINESTRING( 70 38, 84 42 )' ,101)); +INSERT INTO road_segments VALUES(106, 'Dirt Road by Green Forest', NULL, +1, +ST_LineFromText( +'LINESTRING( 28 26, 28 0 )',101)); +# DividedRoutes +INSERT INTO divided_routes VALUES(119, 'Route 75', 4, +ST_MLineFromText( +'MULTILINESTRING((10 48,10 21,10 0), +(16 0,16 23,16 48))', 101)); +# Forests +INSERT INTO forests VALUES(109, 'Green Forest', +ST_MPolyFromText( +'MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26), +(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))', +101)); +# Bridges +INSERT INTO bridges VALUES(110, 'Cam Bridge', ST_PointFromText( +'POINT( 44 31 )', 101)); +# Streams +INSERT INTO streams VALUES(111, 'Cam Stream', +ST_LineFromText( +'LINESTRING( 38 48, 44 41, 41 36, 44 31, 52 18 )', 101)); +INSERT INTO streams VALUES(112, NULL, +ST_LineFromText( +'LINESTRING( 76 0, 78 4, 73 9 )', 101)); +# Buildings +INSERT INTO buildings VALUES(113, '123 Main Street', +ST_PointFromText( +'POINT( 52 30 )', 101), +ST_PolyFromText( +'POLYGON( ( 50 31, 54 31, 54 29, 50 29, 50 31) )', 101)); +INSERT INTO buildings VALUES(114, '215 Main Street', +ST_PointFromText( +'POINT( 64 33 )', 101), +ST_PolyFromText( +'POLYGON( ( 66 34, 62 34, 62 32, 66 32, 66 34) )', 101)); +# Ponds +INSERT INTO ponds VALUES(120, NULL, 'Stock Pond', +ST_MPolyFromText( +'MULTIPOLYGON( ( ( 24 44, 22 42, 24 40, 24 44) ), +( ( 26 44, 26 40, 28 42, 26 44) ) )', 101)); +# Named Places +INSERT INTO named_places VALUES(117, 'Ashton', +ST_PolyFromText( +'POLYGON( ( 62 48, 84 48, 84 30, 56 30, 56 34, 62 48) )', 101)); +INSERT INTO named_places VALUES(118, 'Goose Island', +ST_PolyFromText( +'POLYGON( ( 67 13, 67 18, 59 18, 59 13, 67 13) )', 101)); +# Map Neatlines +INSERT INTO map_neatlines VALUES(115, +ST_PolyFromText( +'POLYGON( ( 0 0, 0 48, 84 48, 84 0, 0 0 ) )', 101)); +# +# C.3.3.3 Geometry types and functions schema test queries + +# Conformance Item T6 +SELECT ST_Dimension(shore) +FROM lakes +WHERE name = 'Blue Lake'; +ST_Dimension(shore) +2 +# Conformance Item T7 +SELECT ST_GeometryType(centerlines) +FROM divided_routes +WHERE name = 'Route 75'; +ST_GeometryType(centerlines) +MULTILINESTRING +# Conformance Item T8 +SELECT ST_AsText(boundary) +FROM named_places +WHERE name = 'Goose Island'; +ST_AsText(boundary) +POLYGON((67 13,67 18,59 18,59 13,67 13)) +# Conformance Item T9 +SELECT ST_AsText(ST_PolyFromWKB(ST_AsBinary(boundary),101)) +FROM named_places +WHERE name = 'Goose Island'; +ST_AsText(ST_PolyFromWKB(ST_AsBinary(boundary),101)) +POLYGON((67 13,67 18,59 18,59 13,67 13)) +# Conformance Item T10 +SELECT ST_SRID(boundary) +FROM named_places +WHERE name = 'Goose Island'; +ST_SRID(boundary) +101 +# Conformance Item T11 +SELECT ST_IsEmpty(centerline) +FROM road_segments +WHERE name = 'Route 5' +AND aliases = 'Main Street'; +ST_IsEmpty(centerline) +0 +# Conformance Item T14 +SELECT ST_AsText(ST_Envelope(boundary)) +FROM named_places +WHERE name = 'Goose Island'; +ST_AsText(ST_Envelope(boundary)) +POLYGON((59 13,67 13,67 18,59 18,59 13)) +# Conformance Item T15 +SELECT ST_X(position) +FROM bridges +WHERE name = 'Cam Bridge'; +ST_X(position) +44 +# Conformance Item T16 +SELECT ST_Y(position) +FROM bridges +WHERE name = 'Cam Bridge'; +ST_Y(position) +31 +# Conformance Item T17 +SELECT ST_AsText(ST_StartPoint(centerline)) +FROM road_segments +WHERE fid = 102; +ST_AsText(ST_StartPoint(centerline)) +POINT(0 18) +# Conformance Item T18 +SELECT ST_AsText(ST_EndPoint(centerline)) +FROM road_segments +WHERE fid = 102; +ST_AsText(ST_EndPoint(centerline)) +POINT(44 31) +# Conformance Item T21 +SELECT ST_Length(centerline) +FROM road_segments +WHERE fid = 106; +ST_Length(centerline) +26 +# Conformance Item T22 +SELECT ST_NumPoints(centerline) +FROM road_segments +WHERE fid = 102; +ST_NumPoints(centerline) +5 +# Conformance Item T23 +SELECT ST_AsText(ST_PointN(centerline, 1)) +FROM road_segments +WHERE fid = 102; +ST_AsText(ST_PointN(centerline, 1)) +POINT(0 18) +# Conformance Item T24 +SELECT ST_AsText(ST_Centroid(boundary)) +FROM named_places +WHERE name = 'Goose Island'; +ST_AsText(ST_Centroid(boundary)) +POINT(63 15.5) +# Conformance Item T26 +SELECT ST_Area(boundary) +FROM named_places +WHERE name = 'Goose Island'; +ST_Area(boundary) +40 +# Conformance Item T27 +SELECT ST_AsText(ST_ExteriorRing(shore)) +FROM lakes +WHERE name = 'Blue Lake'; +ST_AsText(ST_ExteriorRing(shore)) +LINESTRING(52 18,66 23,73 9,48 6,52 18) +# Conformance Item T28 +SELECT ST_NumInteriorRings(shore) +FROM lakes +WHERE name = 'Blue Lake'; +ST_NumInteriorRings(shore) +1 +# Conformance Item T29 +SELECT ST_AsText(ST_InteriorRingN(shore, 1)) +FROM lakes +WHERE name = 'Blue Lake'; +ST_AsText(ST_InteriorRingN(shore, 1)) +LINESTRING(59 18,67 18,67 13,59 13,59 18) +# Conformance Item T30 +SELECT ST_NumGeometries(centerlines) +FROM divided_routes +WHERE name = 'Route 75'; +ST_NumGeometries(centerlines) +2 +# Conformance Item T31 +SELECT ST_AsText(ST_GeometryN(centerlines, 2)) +FROM divided_routes +WHERE name = 'Route 75'; +ST_AsText(ST_GeometryN(centerlines, 2)) +LINESTRING(16 0,16 23,16 48) +# Conformance Item T32 +SELECT ST_IsClosed(centerlines) +FROM divided_routes +WHERE name = 'Route 75'; +ST_IsClosed(centerlines) +0 +# Conformance Item T33 +SELECT ST_Length(centerlines) +FROM divided_routes +WHERE name = 'Route 75'; +ST_Length(centerlines) +96 +# Conformance Item T34 +SELECT ST_AsText(ST_Centroid(shores)) +FROM ponds +WHERE fid = 120; +ST_AsText(ST_Centroid(shores)) +POINT(25 42) +# Conformance Item T36 +SELECT ST_Area(shores) +FROM ponds +WHERE fid = 120; +ST_Area(shores) +8 +# Conformance Item T37 +SELECT ST_Equals(boundary, +ST_PolyFromText('POLYGON( ( 67 13, 67 18, 59 18, 59 13, 67 13) )',1)) +FROM named_places +WHERE name = 'Goose Island'; +ST_Equals(boundary, +ST_PolyFromText('POLYGON( ( 67 13, 67 18, 59 18, 59 13, 67 13) )',1)) +1 +# Conformance Item T37 +# Geometry arguments' SRIDs must be identical. +SELECT ST_Equals(boundary, +ST_PolyFromText('POLYGON( ( 67 13, 67 18, 59 18, 59 13, 67 13) )',101)) +FROM named_places +WHERE name = 'Goose Island'; +ST_Equals(boundary, +ST_PolyFromText('POLYGON( ( 67 13, 67 18, 59 18, 59 13, 67 13) )',101)) +1 +# Conformance Item T38 +SELECT ST_Disjoint(centerlines, boundary) +FROM divided_routes, named_places +WHERE divided_routes.name = 'Route 75' +AND named_places.name = 'Ashton'; +ST_Disjoint(centerlines, boundary) +1 +# Conformance Item T39 +SELECT ST_Touches(centerline, shore) +FROM streams, lakes +WHERE streams.name = 'Cam Stream' +AND lakes.name = 'Blue Lake'; +ST_Touches(centerline, shore) +1 +# Conformance Item T42 +SELECT ST_Crosses(road_segments.centerline, divided_routes.centerlines) +FROM road_segments, divided_routes +WHERE road_segments.fid = 102 +AND divided_routes.name = 'Route 75'; +ST_Crosses(road_segments.centerline, divided_routes.centerlines) +1 +# Conformance Item T43 +SELECT ST_Intersects(road_segments.centerline, divided_routes.centerlines) +FROM road_segments, divided_routes +WHERE road_segments.fid = 102 +AND divided_routes.name = 'Route 75'; +ST_Intersects(road_segments.centerline, divided_routes.centerlines) +1 +# Conformance Item T44 +SELECT ST_Contains(forests.boundary, named_places.boundary) +FROM forests, named_places +WHERE forests.name = 'Green Forest' +AND named_places.name = 'Ashton'; +ST_Contains(forests.boundary, named_places.boundary) +0 +# Conformance Item T46 +SELECT ST_Distance(position, boundary) +FROM bridges, named_places +WHERE bridges.name = 'Cam Bridge' +AND named_places.name = 'Ashton'; +ST_Distance(position, boundary) +12 +# Conformance Item T48 +SELECT ST_AsText(ST_Difference(named_places.boundary, forests.boundary)) +FROM named_places, forests +WHERE named_places.name = 'Ashton' +AND forests.name = 'Green Forest'; +ST_AsText(ST_Difference(named_places.boundary, forests.boundary)) +POLYGON((56 34,62 48,84 48,84 42,56 34)) +SELECT ST_AsText(ST_Union(shore, boundary)) +FROM lakes, named_places +WHERE lakes.name = 'Blue Lake' +AND named_places.name = 'Goose Island'; +ST_AsText(ST_Union(shore, boundary)) +POLYGON((48 6,52 18,66 23,73 9,48 6)) +# Conformance Item T50 +SELECT ST_AsText(ST_SymDifference(shore, boundary)) +FROM lakes, named_places +WHERE lakes.name = 'Blue Lake' +AND named_places.name = 'Ashton'; +ST_AsText(ST_SymDifference(shore, boundary)) +MULTIPOLYGON(((48 6,52 18,66 23,73 9,48 6),(59 13,59 18,67 18,67 13,59 13)),((56 30,56 34,62 48,84 48,84 30,56 30))) +# Conformance Item T51 +SELECT count(*) +FROM buildings, bridges +WHERE ST_Contains(ST_Buffer(bridges.position, 15.0), buildings.footprint) = 1; +count(*) +1 +DROP DATABASE gis_ogs; +# +# Bug#13362660 ASSERTION `FIELD_POS < FIELD_COUNT' FAILED. IN PROTOCOL_TEXT::STORE +# +SELECT ST_Union('', ''), md5(1); +ERROR HY000: Illegal parameter data type varchar for operation 'st_union' diff --git a/mysql-test/suite/innodb_gis/r/alter_spatial_index.result b/mysql-test/suite/innodb_gis/r/alter_spatial_index.result new file mode 100644 index 00000000..5365e7d0 --- /dev/null +++ b/mysql-test/suite/innodb_gis/r/alter_spatial_index.result @@ -0,0 +1,808 @@ +CALL mtr.add_suppression("but MariaDB is asking statistics for 2 columns. Have you mixed"); +CREATE TABLE tab(c1 int NOT NULL PRIMARY KEY,c2 POINT NOT NULL, +c3 LINESTRING NOT NULL,c4 POLYGON NOT NULL,c5 GEOMETRY NOT NULL) +ENGINE=InnoDB; +CREATE TABLE tab1(c1 int NOT NULL PRIMARY KEY,c2 MULTIPOINT NOT NULL, +c3 MULTILINESTRING NOT NULL,c4 MULTIPOLYGON NOT NULL,c5 GEOMETRY NOT NULL) +ENGINE=InnoDB; +INSERT INTO tab1 SELECT * FROM tab; +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(1,ST_GeomFromText('POINT(10 10)'),ST_GeomFromText('LINESTRING(5 5,20 20,30 30)'), +ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))'), +ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))')); +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(2,ST_GeomFromText('POINT(20 20)'),ST_GeomFromText('LINESTRING(20 20,30 30,40 40)'), +ST_GeomFromText('POLYGON((40 50,40 70,50 100,70 100,80 80,70 50,40 50))'), +ST_GeomFromText('POLYGON((40 50,40 70,50 100,70 100,80 80,70 50,40 50))')); +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(3,ST_GeomFromText('POINT(4 4)'),ST_GeomFromText('LINESTRING(130 130,140 140,150 150)'), +ST_GeomFromText('POLYGON((7 1,6 2,6 3,10 3,10 1,7 1))'), +ST_GeomFromText('POLYGON((4 -2,5 -4,6 -5,7 -4,7 2,4 -2))')); +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(4,ST_GeomFromText('POINT(50 50)'),ST_GeomFromText('LINESTRING(200 200,300 300,400 400)'), +ST_GeomFromText('POLYGON((300 300,400 400,500 500,300 500,300 400,300 300))'), +ST_GeomFromText('POLYGON((300 300,400 400,500 500,300 500,300 400,300 300))')); +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(5,ST_GeomFromText('POINT(3 3)'),ST_GeomFromText('LINESTRING(400 400,500 500,600 700)'), +ST_GeomFromText('POLYGON((1010 1010,1020 1020,1030 1030,1040 1030,1020 1010,1010 1010))'), +ST_GeomFromText('POLYGON((1010 1010,1020 1020,1030 1030,1040 1030,1020 1010,1010 1010))')); +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(6,ST_GeomFromText('POINT(3 3)'),ST_GeomFromText('LINESTRING(40 40,50 50,60 70)'), +ST_GeomFromText('POLYGON((2010 2010,2020 2020,2030 2030,2040 2030,2020 2010,2010 2010))'), +ST_GeomFromText('POLYGON((2010 2010,2020 2020,2030 2030,2040 2030,2020 2010,2010 2010))')); +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(7,ST_GeomFromText('POINT(60 70)'),ST_GeomFromText('LINESTRING(40 40,50 50,60 70)'), +ST_GeomFromText('POLYGON((3010 3010,3020 3020,3030 3030,3040 3030,3020 3010,3010 3010))'), +ST_GeomFromText('POLYGON((3010 3010,3020 3020,3030 3030,3040 3030,3020 3010,3010 3010))')); +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(8,ST_GeomFromText('POINT(0 0)'),ST_GeomFromText('LINESTRING(40 40,50 50,60 70)'), +ST_GeomFromText('POLYGON((3010 3010,3020 3020,3030 3030,3040 3030,3020 3010,3010 3010))'), +ST_GeomFromText('POLYGON((3010 3010,3020 3020,3030 3030,3040 3030,3020 3010,3010 3010))')); +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(9,ST_GeomFromText('POINT(120 120)'),ST_GeomFromText('LINESTRING(100 100,110 110,120 120)'), +ST_GeomFromText('POLYGON((4010 4010,4020 4020,4030 4030,4040 4030,4020 4010,4010 4010))'), +ST_GeomFromText('POLYGON((4010 4010,4020 4020,4030 4030,4040 4030,4020 4010,4010 4010))')); +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(10,ST_GeomFromText('POINT(160 160)'),ST_GeomFromText('LINESTRING(140 140,150 150,160 160)'), +ST_GeomFromText('POLYGON((5010 5010,5020 5020,5030 5030,5040 5030,5020 5010,5010 5010))'), +ST_GeomFromText('POLYGON((5010 5010,5020 5020,5030 5030,5040 5030,5020 5010,5010 5010))')); +ALTER TABLE tab ADD SPATIAL INDEX idx2(c2 ASC); +affected rows: 0 +info: Records: 0 Duplicates: 0 Warnings: 0 +ALTER TABLE tab ADD SPATIAL KEY idx3(c3 DESC); +affected rows: 0 +info: Records: 0 Duplicates: 0 Warnings: 0 +ALTER TABLE tab ADD SPATIAL INDEX idx4(c4 ASC) COMMENT 'testing spatial index on Polygon'; +affected rows: 0 +info: Records: 0 Duplicates: 0 Warnings: 0 +ALTER TABLE tab ADD SPATIAL KEY idx5(c5 ASC) COMMENT 'testing spatial index on Geometry'; +affected rows: 0 +info: Records: 0 Duplicates: 0 Warnings: 0 +ALTER TABLE tab ADD INDEX idx6(c4(10)) USING BTREE; +affected rows: 0 +info: Records: 0 Duplicates: 0 Warnings: 0 +SET @g1 = ST_GeomFromText( 'POLYGON((7 1,6 2,6 3,10 3,10 1,7 1))'); +SELECT c1,ST_Astext(c2),ST_Astext(c4) FROM tab WHERE MBRContains(tab.c4, @g1); +c1 ST_Astext(c2) ST_Astext(c4) +3 POINT(4 4) POLYGON((7 1,6 2,6 3,10 3,10 1,7 1)) +UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRContains(tab.c4, @g1); +SELECT c1,ST_Astext(c2),ST_Astext(c4) FROM tab WHERE MBRContains(tab.c4, @g1); +c1 ST_Astext(c2) ST_Astext(c4) +3 POINT(0 0) POLYGON((7 1,6 2,6 3,10 3,10 1,7 1)) +DELETE FROM tab WHERE MBRContains(tab.c4, @g1); +SELECT c1,ST_Astext(c2),ST_Astext(c4) FROM tab WHERE MBRContains(tab.c4, @g1); +c1 ST_Astext(c2) ST_Astext(c4) +SET @g1 = ST_GeomFromText('LINESTRING( 300 300,400 400)'); +SELECT c1,ST_Astext(c2),ST_Astext(c4) FROM tab WHERE MBRContains(tab.c4, @g1); +c1 ST_Astext(c2) ST_Astext(c4) +4 POINT(50 50) POLYGON((300 300,400 400,500 500,300 500,300 400,300 300)) +UPDATE tab SET C2 = ST_GeomFromText('POINT(100 100)') +WHERE MBRContains(tab.c4, @g1); +DELETE FROM tab WHERE MBRContains(tab.c4, @g1); +SET @g1 = ST_GeomFromText( 'POLYGON((1010 1010,1020 1020,1030 1030,1040 1030,1020 1010,1010 1010))'); +SELECT c1,ST_AsText(c2),ST_Astext(c4) FROM tab WHERE MBRWithin(tab.c4, @g1); +c1 ST_AsText(c2) ST_Astext(c4) +5 POINT(3 3) POLYGON((1010 1010,1020 1020,1030 1030,1040 1030,1020 1010,1010 1010)) +UPDATE tab SET C2 = ST_GeomFromText('POINT(200 200)') +WHERE MBRWithin(tab.c4, @g1); +SELECT c1,ST_AsText(c2),ST_AsText(c4) FROM tab WHERE MBRWithin(tab.c4, @g1); +c1 ST_AsText(c2) ST_AsText(c4) +5 POINT(200 200) POLYGON((1010 1010,1020 1020,1030 1030,1040 1030,1020 1010,1010 1010)) +DELETE FROM tab WHERE MBRWithin(tab.c4, @g1); +ALTER TABLE tab MODIFY COLUMN c2 MULTIPOINT; +ERROR 42000: All parts of a SPATIAL index must be NOT NULL +ALTER TABLE tab MODIFY COLUMN c3 MULTILINESTRING; +ERROR 42000: All parts of a SPATIAL index must be NOT NULL +ALTER TABLE tab MODIFY COLUMN c4 MULTIPOLYGON; +ERROR 42000: All parts of a SPATIAL index must be NOT NULL +ALTER TABLE tab MODIFY COLUMN c3 MULTILINESTRING NULL; +ERROR 42000: All parts of a SPATIAL index must be NOT NULL +ALTER TABLE tab MODIFY COLUMN c4 MULTIPOLYGON NULL; +ERROR 42000: All parts of a SPATIAL index must be NOT NULL +ALTER TABLE tab MODIFY COLUMN c4 Geometry NULL; +ERROR 42000: All parts of a SPATIAL index must be NOT NULL +ALTER TABLE tab CHANGE COLUMN c2 c22 POINT; +ERROR 42000: All parts of a SPATIAL index must be NOT NULL +ALTER TABLE tab CHANGE COLUMN c3 c33 LINESTRING; +ERROR 42000: All parts of a SPATIAL index must be NOT NULL +ALTER TABLE tab CHANGE COLUMN c4 c44 POLYGON; +ERROR 42000: All parts of a SPATIAL index must be NOT NULL +ALTER TABLE tab add SPATIAL INDEX idx1(c1); +ERROR HY000: Incorrect arguments to SPATIAL INDEX +ALTER TABLE tab ADD SPATIAL INDEX idx6(c2 ASC) USING BTREE; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'USING BTREE' at line 1 +ALTER TABLE tab ADD SPATIAL INDEX idx6(c2 ASC) USING HASH; +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'USING HASH' at line 1 +SHOW CREATE TABLE tab; +Table Create Table +tab CREATE TABLE `tab` ( + `c1` int(11) NOT NULL, + `c2` point NOT NULL, + `c3` linestring NOT NULL, + `c4` polygon NOT NULL, + `c5` geometry NOT NULL, + PRIMARY KEY (`c1`), + SPATIAL KEY `idx2` (`c2`), + SPATIAL KEY `idx3` (`c3`), + SPATIAL KEY `idx4` (`c4`) COMMENT 'testing spatial index on Polygon', + SPATIAL KEY `idx5` (`c5`) COMMENT 'testing spatial index on Geometry', + KEY `idx6` (`c4`(10)) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci +SHOW INDEX FROM tab; +Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored +tab 0 PRIMARY 1 c1 A # NULL NULL BTREE NO +tab 1 idx2 1 c2 A # 32 NULL SPATIAL NO +tab 1 idx3 1 c3 A # 32 NULL SPATIAL NO +tab 1 idx4 1 c4 A # 32 NULL SPATIAL testing spatial index on Polygon NO +tab 1 idx5 1 c5 A # 32 NULL SPATIAL testing spatial index on Geometry NO +tab 1 idx6 1 c4 A # 10 NULL BTREE NO +SET @g1 = ST_GeomFromText('POLYGON((20 20,30 30,40 40,50 50,40 50,30 40,30 30,20 20))'); +SELECT c1,ST_Astext(c2),ST_Astext(c4) FROM tab WHERE ST_Crosses(tab.c4, @g1); +c1 ST_Astext(c2) ST_Astext(c4) +2 POINT(20 20) POLYGON((40 50,40 70,50 100,70 100,80 80,70 50,40 50)) +1 POINT(10 10) POLYGON((30 30,40 40,50 50,30 50,30 40,30 30)) +UPDATE tab SET C2 = ST_GeomFromText('POINT(1000 1000)') +WHERE ST_Crosses(tab.c4, @g1); +SELECT c1,ST_Astext(c2),ST_Astext(c4) FROM tab WHERE ST_Crosses(tab.c4, @g1); +c1 ST_Astext(c2) ST_Astext(c4) +2 POINT(1000 1000) POLYGON((40 50,40 70,50 100,70 100,80 80,70 50,40 50)) +1 POINT(1000 1000) POLYGON((30 30,40 40,50 50,30 50,30 40,30 30)) +DELETE FROM tab WHERE ST_Crosses(tab.c4, @g1); +ALTER TABLE tab CHANGE COLUMN c2 c22 POINT NOT NULL; +affected rows: 0 +info: Records: 0 Duplicates: 0 Warnings: 0 +ALTER TABLE tab CHANGE COLUMN c3 c33 LINESTRING NOT NULL; +affected rows: 0 +info: Records: 0 Duplicates: 0 Warnings: 0 +ALTER TABLE tab CHANGE COLUMN c4 c44 POLYGON NOT NULL; +affected rows: 0 +info: Records: 0 Duplicates: 0 Warnings: 0 +SHOW CREATE TABLE tab; +Table Create Table +tab CREATE TABLE `tab` ( + `c1` int(11) NOT NULL, + `c22` point NOT NULL, + `c33` linestring NOT NULL, + `c44` polygon NOT NULL, + `c5` geometry NOT NULL, + PRIMARY KEY (`c1`), + SPATIAL KEY `idx2` (`c22`), + SPATIAL KEY `idx3` (`c33`), + SPATIAL KEY `idx4` (`c44`) COMMENT 'testing spatial index on Polygon', + SPATIAL KEY `idx5` (`c5`) COMMENT 'testing spatial index on Geometry', + KEY `idx6` (`c44`(10)) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci +SHOW INDEX FROM tab; +Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored +tab 0 PRIMARY 1 c1 A # NULL NULL BTREE NO +tab 1 idx2 1 c22 A # 32 NULL SPATIAL NO +tab 1 idx3 1 c33 A # 32 NULL SPATIAL NO +tab 1 idx4 1 c44 A # 32 NULL SPATIAL testing spatial index on Polygon NO +tab 1 idx5 1 c5 A # 32 NULL SPATIAL testing spatial index on Geometry NO +tab 1 idx6 1 c44 A # 10 NULL BTREE NO +ALTER TABLE tab CHANGE COLUMN c22 c2 POINT NOT NULL; +affected rows: 0 +info: Records: 0 Duplicates: 0 Warnings: 0 +ALTER TABLE tab CHANGE COLUMN c33 c3 LINESTRING NOT NULL; +affected rows: 0 +info: Records: 0 Duplicates: 0 Warnings: 0 +ALTER TABLE tab CHANGE COLUMN c44 c4 POLYGON NOT NULL; +affected rows: 0 +info: Records: 0 Duplicates: 0 Warnings: 0 +SHOW CREATE TABLE tab; +Table Create Table +tab CREATE TABLE `tab` ( + `c1` int(11) NOT NULL, + `c2` point NOT NULL, + `c3` linestring NOT NULL, + `c4` polygon NOT NULL, + `c5` geometry NOT NULL, + PRIMARY KEY (`c1`), + SPATIAL KEY `idx2` (`c2`), + SPATIAL KEY `idx3` (`c3`), + SPATIAL KEY `idx4` (`c4`) COMMENT 'testing spatial index on Polygon', + SPATIAL KEY `idx5` (`c5`) COMMENT 'testing spatial index on Geometry', + KEY `idx6` (`c4`(10)) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci +SHOW INDEX FROM tab; +Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored +tab 0 PRIMARY 1 c1 A # NULL NULL BTREE NO +tab 1 idx2 1 c2 A # 32 NULL SPATIAL NO +tab 1 idx3 1 c3 A # 32 NULL SPATIAL NO +tab 1 idx4 1 c4 A # 32 NULL SPATIAL testing spatial index on Polygon NO +tab 1 idx5 1 c5 A # 32 NULL SPATIAL testing spatial index on Geometry NO +tab 1 idx6 1 c4 A # 10 NULL BTREE NO +ALTER TABLE tab DISABLE KEYS; +Warnings: +Note 1031 Storage engine InnoDB of the table `test`.`tab` doesn't have this option +SHOW WARNINGS; +Level Code Message +Note 1031 Storage engine InnoDB of the table `test`.`tab` doesn't have this option +SET @g1 = ST_GeomFromText('POLYGON((5010 5010,5020 5020,5030 5030,5040 5030,5020 5010,5010 5010))'); +SELECT c1,ST_Astext(c2),ST_Astext(c4) FROM tab WHERE MBREquals(tab.c4, @g1); +c1 ST_Astext(c2) ST_Astext(c4) +10 POINT(160 160) POLYGON((5010 5010,5020 5020,5030 5030,5040 5030,5020 5010,5010 5010)) +UPDATE tab SET C2 = ST_GeomFromText('POINT(2000 2000)') +WHERE MBREquals(tab.c4, @g1); +SELECT c1,ST_Astext(c2),ST_Astext(c4) FROM tab WHERE MBREquals(tab.c4, @g1); +c1 ST_Astext(c2) ST_Astext(c4) +10 POINT(2000 2000) POLYGON((5010 5010,5020 5020,5030 5030,5040 5030,5020 5010,5010 5010)) +DELETE FROM tab WHERE MBREquals(tab.c4, @g1); +SELECT c1,ST_Astext(c2),ST_Astext(c4) FROM tab WHERE MBREquals(tab.c4, @g1); +c1 ST_Astext(c2) ST_Astext(c4) +ALTER TABLE tab DROP PRIMARY KEY; +affected rows: 4 +info: Records: 4 Duplicates: 0 Warnings: 0 +ALTER TABLE tab ADD PRIMARY KEY(c2) ; +affected rows: 0 +info: Records: 0 Duplicates: 0 Warnings: 0 +SET @g1 = ST_GeomFromText( 'POLYGON((0 0,0 30,30 40,40 50,50 30,0 0))'); +SELECT c1,ST_Astext(c2),ST_Astext(c4) FROM tab WHERE ST_Touches(tab.c4, @g1); +c1 ST_Astext(c2) ST_Astext(c4) +UPDATE tab SET C2 = ST_GeomFromText('POINT(3000 3000)') +WHERE ST_Touches(tab.c4, @g1); +SELECT c1,ST_Astext(c2),ST_Astext(c4) FROM tab WHERE ST_Touches(tab.c4, @g1); +c1 ST_Astext(c2) ST_Astext(c4) +DELETE FROM tab WHERE ST_Touches(tab.c4, @g1); +SELECT c1,ST_Astext(c2),ST_Astext(c4) FROM tab WHERE ST_Touches(tab.c4, @g1); +c1 ST_Astext(c2) ST_Astext(c4) +FLUSH TABLE tab FOR EXPORT; +UNLOCK TABLES; +ALTER TABLE tab DISCARD TABLESPACE; +SELECT c1,ST_Astext(c2),ST_Astext(c4) FROM tab; +ERROR HY000: Tablespace has been discarded for table `tab` +ERROR HY000: Internal error: Drop all secondary indexes before importing table test/tab when .cfg file is missing. +Table Create Table +tab CREATE TABLE `tab` ( + `c1` int(11) NOT NULL, + `c2` point NOT NULL, + `c3` linestring NOT NULL, + `c4` polygon NOT NULL, + `c5` geometry NOT NULL, + PRIMARY KEY (`c2`(25)) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci +CHECK TABLE tab; +Table Op Msg_type Msg_text +test.tab check status OK +SELECT c1,ST_Astext(c2),ST_Astext(c4) FROM tab ORDER BY c1; +c1 ST_Astext(c2) ST_Astext(c4) +6 POINT(3 3) POLYGON((2010 2010,2020 2020,2030 2030,2040 2030,2020 2010,2010 2010)) +7 POINT(60 70) POLYGON((3010 3010,3020 3020,3030 3030,3040 3030,3020 3010,3010 3010)) +8 POINT(0 0) POLYGON((3010 3010,3020 3020,3030 3030,3040 3030,3020 3010,3010 3010)) +9 POINT(120 120) POLYGON((4010 4010,4020 4020,4030 4030,4040 4030,4020 4010,4010 4010)) +SET @g1 = ST_GeomFromText('LINESTRING( 3010 3010,4010 4010,5010 5010)'); +SELECT c1,ST_Astext(c2),ST_Astext(c4) FROM tab WHERE MBRIntersects(tab.c4, @g1) order by c1; +c1 ST_Astext(c2) ST_Astext(c4) +7 POINT(60 70) POLYGON((3010 3010,3020 3020,3030 3030,3040 3030,3020 3010,3010 3010)) +8 POINT(0 0) POLYGON((3010 3010,3020 3020,3030 3030,3040 3030,3020 3010,3010 3010)) +9 POINT(120 120) POLYGON((4010 4010,4020 4020,4030 4030,4040 4030,4020 4010,4010 4010)) +UPDATE tab SET c2 = ST_GeomFromText('POINT(4000 4000)') +WHERE MBRIntersects(tab.c4, @g1); +ERROR 23000: Duplicate entry '\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00@\xAF...' for key 'PRIMARY' +SELECT c1,ST_Astext(c2),ST_Astext(c4) FROM tab WHERE MBRIntersects(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c2) ST_Astext(c4) +7 POINT(60 70) POLYGON((3010 3010,3020 3020,3030 3030,3040 3030,3020 3010,3010 3010)) +8 POINT(0 0) POLYGON((3010 3010,3020 3020,3030 3030,3040 3030,3020 3010,3010 3010)) +9 POINT(120 120) POLYGON((4010 4010,4020 4020,4030 4030,4040 4030,4020 4010,4010 4010)) +DELETE FROM tab WHERE MBRIntersects(tab.c4, @g1); +SELECT c1,ST_Astext(c2),ST_Astext(c4) FROM tab WHERE MBROverlaps(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c2) ST_Astext(c4) +INSERT INTO tab SELECT * FROM tab1; +ALTER TABLE tab DROP PRIMARY KEY; +affected rows: 1 +info: Records: 1 Duplicates: 0 Warnings: 0 +SET STATEMENT sql_mode = 'NO_ENGINE_SUBSTITUTION' FOR +CREATE TEMPORARY TABLE temp_tab AS SELECT * FROM tab where c1 = c2; +ERROR HY000: Illegal parameter data types int and point for operation '=' +SET STATEMENT sql_mode = 'NO_ENGINE_SUBSTITUTION' FOR +CREATE TEMPORARY TABLE temp_tab AS SELECT * FROM tab; +INSERT INTO temp_tab SELECT * FROM tab; +CREATE SPATIAL INDEX idx2 ON temp_tab(c2); +CREATE SPATIAL INDEX idx3 ON temp_tab(c3); +CREATE SPATIAL INDEX idx4 ON temp_tab(c4); +CREATE SPATIAL INDEX idx5 ON temp_tab(c5); +SHOW CREATE TABLE temp_tab; +Table Create Table +temp_tab CREATE TEMPORARY TABLE `temp_tab` ( + `c1` int(11) NOT NULL, + `c2` point NOT NULL, + `c3` linestring NOT NULL, + `c4` polygon NOT NULL, + `c5` geometry NOT NULL, + SPATIAL KEY `idx2` (`c2`), + SPATIAL KEY `idx3` (`c3`), + SPATIAL KEY `idx4` (`c4`), + SPATIAL KEY `idx5` (`c5`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci +SET @g1 = ST_GeomFromText( 'POLYGON((7 1,6 2,6 3,10 3,10 1,7 1))'); +SELECT c1,ST_Astext(c2),ST_Astext(c4) FROM temp_tab WHERE MBRContains(temp_tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c2) ST_Astext(c4) +UPDATE temp_tab SET C2 = ST_GeomFromText('POINT(1000 1000)') +WHERE MBRContains(temp_tab.c4, @g1); +SELECT c1,ST_Astext(c2),ST_Astext(c4) FROM temp_tab WHERE MBRContains(temp_tab.c4, @g1); +c1 ST_Astext(c2) ST_Astext(c4) +DELETE FROM temp_tab WHERE MBRContains(temp_tab.c4, @g1); +SELECT c1,ST_Astext(c2),ST_Astext(c4) FROM temp_tab WHERE MBRContains(temp_tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c2) ST_Astext(c4) +SHOW CREATE TABLE tab; +Table Create Table +tab CREATE TABLE `tab` ( + `c1` int(11) NOT NULL, + `c2` point NOT NULL, + `c3` linestring NOT NULL, + `c4` polygon NOT NULL, + `c5` geometry NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci +SHOW INDEX FROM tab; +Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored +DELETE FROM tab; +ALTER TABLE tab ADD PRIMARY KEY(c2); +affected rows: 0 +info: Records: 0 Duplicates: 0 Warnings: 0 +CREATE SPATIAL INDEX idx2 ON tab(c2 ASC); +affected rows: 0 +info: Records: 0 Duplicates: 0 Warnings: 0 +ALTER TABLE tab ADD CONSTRAINT const_1 UNIQUE(c2); +affected rows: 0 +info: Records: 0 Duplicates: 0 Warnings: 0 +SHOW CREATE TABLE tab; +Table Create Table +tab CREATE TABLE `tab` ( + `c1` int(11) NOT NULL, + `c2` point NOT NULL, + `c3` linestring NOT NULL, + `c4` polygon NOT NULL, + `c5` geometry NOT NULL, + PRIMARY KEY (`c2`(25)), + UNIQUE KEY `const_1` (`c2`(25)), + SPATIAL KEY `idx2` (`c2`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci +SHOW INDEX FROM tab; +Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored +tab 0 PRIMARY 1 c2 A # 25 NULL BTREE NO +tab 0 const_1 1 c2 A # 25 NULL BTREE NO +tab 1 idx2 1 c2 A # 32 NULL SPATIAL NO +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(1,ST_GeomFromText('POINT(10 10)'),ST_GeomFromText('LINESTRING(5 5,20 20,30 30)'), +ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))'), +ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))')); +DELETE FROM tab; +ALTER TABLE tab DROP PRIMARY KEY ; +affected rows: 0 +info: Records: 0 Duplicates: 0 Warnings: 0 +ALTER TABLE tab DROP KEY const_1; +affected rows: 0 +info: Records: 0 Duplicates: 0 Warnings: 0 +ALTER TABLE tab ADD PRIMARY KEY(c5(10)); +affected rows: 0 +info: Records: 0 Duplicates: 0 Warnings: 0 +ALTER TABLE tab ADD CONSTRAINT const_1 UNIQUE(c5(10)); +affected rows: 0 +info: Records: 0 Duplicates: 0 Warnings: 0 +SHOW CREATE TABLE tab; +Table Create Table +tab CREATE TABLE `tab` ( + `c1` int(11) NOT NULL, + `c2` point NOT NULL, + `c3` linestring NOT NULL, + `c4` polygon NOT NULL, + `c5` geometry NOT NULL, + PRIMARY KEY (`c5`(10)), + UNIQUE KEY `const_1` (`c5`(10)), + SPATIAL KEY `idx2` (`c2`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci +SHOW INDEX FROM tab; +Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored +tab 0 PRIMARY 1 c5 A # 10 NULL BTREE NO +tab 0 const_1 1 c5 A # 10 NULL BTREE NO +tab 1 idx2 1 c2 A # 32 NULL SPATIAL NO +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(1,ST_GeomFromText('POINT(10 10)'),ST_GeomFromText('LINESTRING(5 5,20 20,30 30)'), +ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))'), +ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))')); +DROP TABLE tab,tab1,temp_tab; +CREATE TABLE tab(c1 int NOT NULL PRIMARY KEY,c2 POINT NOT NULL, +c3 LINESTRING NOT NULL,c4 POLYGON NOT NULL,c5 GEOMETRY NOT NULL) +ENGINE=InnoDB; +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(1,ST_GeomFromText('POINT(10 10)'),ST_GeomFromText('LINESTRING(5 5,20 20,30 30)'), +ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))'), +ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))')); +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(2,ST_GeomFromText('POINT(20 20)'),ST_GeomFromText('LINESTRING(20 20,30 30,40 40)'), +ST_GeomFromText('POLYGON((40 50,40 70,50 100,70 100,80 80,70 50,40 50))'), +ST_GeomFromText('POLYGON((40 50,40 70,50 100,70 100,80 80,70 50,40 50))')); +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(3,ST_GeomFromText('POINT(4 4)'),ST_GeomFromText('LINESTRING(130 130,140 140,150 150)'), +ST_GeomFromText('POLYGON((7 1,6 2,6 3,10 3,10 1,7 1))'), +ST_GeomFromText('POLYGON((4 -2,5 -4,6 -5,7 -4,7 2,4 -2))')); +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(4,ST_GeomFromText('POINT(50 50)'),ST_GeomFromText('LINESTRING(200 200,300 300,400 400)'), +ST_GeomFromText('POLYGON((300 300,400 400,500 500,300 500,300 400,300 300))'), +ST_GeomFromText('POLYGON((300 300,400 400,500 500,300 500,300 400,300 300))')); +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(5,ST_GeomFromText('POINT(3 3)'),ST_GeomFromText('LINESTRING(400 400,500 500,600 700)'), +ST_GeomFromText('POLYGON((1010 1010,1020 1020,1030 1030,1040 1030,1020 1010,1010 1010))'), +ST_GeomFromText('POLYGON((1010 1010,1020 1020,1030 1030,1040 1030,1020 1010,1010 1010))')); +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(6,ST_GeomFromText('POINT(3 3)'),ST_GeomFromText('LINESTRING(40 40,50 50,60 70)'), +ST_GeomFromText('POLYGON((2010 2010,2020 2020,2030 2030,2040 2030,2020 2010,2010 2010))'), +ST_GeomFromText('POLYGON((2010 2010,2020 2020,2030 2030,2040 2030,2020 2010,2010 2010))')); +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(7,ST_GeomFromText('POINT(60 70)'),ST_GeomFromText('LINESTRING(40 40,50 50,60 70)'), +ST_GeomFromText('POLYGON((3010 3010,3020 3020,3030 3030,3040 3030,3020 3010,3010 3010))'), +ST_GeomFromText('POLYGON((3010 3010,3020 3020,3030 3030,3040 3030,3020 3010,3010 3010))')); +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(8,ST_GeomFromText('POINT(0 0)'),ST_GeomFromText('LINESTRING(40 40,50 50,60 70)'), +ST_GeomFromText('POLYGON((3010 3010,3020 3020,3030 3030,3040 3030,3020 3010,3010 3010))'), +ST_GeomFromText('POLYGON((3010 3010,3020 3020,3030 3030,3040 3030,3020 3010,3010 3010))')); +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(9,ST_GeomFromText('POINT(120 120)'),ST_GeomFromText('LINESTRING(100 100,110 110,120 120)'), +ST_GeomFromText('POLYGON((4010 4010,4020 4020,4030 4030,4040 4030,4020 4010,4010 4010))'), +ST_GeomFromText('POLYGON((4010 4010,4020 4020,4030 4030,4040 4030,4020 4010,4010 4010))')); +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(10,ST_GeomFromText('POINT(160 160)'),ST_GeomFromText('LINESTRING(140 140,150 150,160 160)'), +ST_GeomFromText('POLYGON((5010 5010,5020 5020,5030 5030,5040 5030,5020 5010,5010 5010))'), +ST_GeomFromText('POLYGON((5010 5010,5020 5020,5030 5030,5040 5030,5020 5010,5010 5010))')); +ANALYZE TABLE tab; +Table Op Msg_type Msg_text +test.tab analyze status Engine-independent statistics collected +test.tab analyze status OK +ALTER TABLE tab ADD SPATIAL INDEX idx2(c2 ASC); +affected rows: 0 +info: Records: 0 Duplicates: 0 Warnings: 0 +ALTER TABLE tab ADD SPATIAL KEY idx3(c3 DESC); +affected rows: 0 +info: Records: 0 Duplicates: 0 Warnings: 0 +ALTER TABLE tab ADD SPATIAL INDEX idx4(c4 ASC) COMMENT 'testing spatial index on Polygon'; +affected rows: 0 +info: Records: 0 Duplicates: 0 Warnings: 0 +ALTER TABLE tab ADD SPATIAL KEY idx5(c5 ASC) COMMENT 'testing spatial index on Geometry'; +affected rows: 0 +info: Records: 0 Duplicates: 0 Warnings: 0 +ALTER TABLE tab ADD INDEX idx6(c4(10)) USING BTREE; +affected rows: 0 +info: Records: 0 Duplicates: 0 Warnings: 0 +ALTER TABLE tab MODIFY COLUMN c2 GEOMETRY NOT NULL; +affected rows: 0 +info: Records: 0 Duplicates: 0 Warnings: 0 +ALTER TABLE tab MODIFY COLUMN c3 POLYGON NOT NULL; +ERROR 22007: Incorrect POLYGON value: 'LINESTRING(5 5,20 20,30 30)' for column `test`.`tab`.`c3` at row 1 +ALTER TABLE tab add COLUMN c7 POINT NOT NULL; +affected rows: 0 +info: Records: 0 Duplicates: 0 Warnings: 0 +ALTER TABLE tab add COLUMN c8 POINT NOT NULL, ALGORITHM = INPLACE, LOCK=NONE; +SELECT HEX(c8) FROM tab; +HEX(c8) + + + + + + + + + + +BEGIN; +INSERT INTO tab SELECT 0,c2,c3,c4,c5, +ST_GeomFromText('POINT(67 89)'),ST_GeomFromText('POINT(67 89)') +FROM tab LIMIT 1; +SELECT HEX(c8) FROM tab; +HEX(c8) +0000000001010000000000000000C050400000000000405640 + + + + + + + + + + +ROLLBACK; +ALTER TABLE tab add COLUMN c9 POINT NOT NULL AFTER c5, ALGORITHM = INPLACE, LOCK=NONE; +ALTER TABLE tab DROP COLUMN c9, ALGORITHM=INSTANT; +SHOW CREATE TABLE tab; +Table Create Table +tab CREATE TABLE `tab` ( + `c1` int(11) NOT NULL, + `c2` geometry NOT NULL, + `c3` linestring NOT NULL, + `c4` polygon NOT NULL, + `c5` geometry NOT NULL, + `c7` point NOT NULL, + `c8` point NOT NULL, + PRIMARY KEY (`c1`), + SPATIAL KEY `idx2` (`c2`), + SPATIAL KEY `idx3` (`c3`), + SPATIAL KEY `idx4` (`c4`) COMMENT 'testing spatial index on Polygon', + SPATIAL KEY `idx5` (`c5`) COMMENT 'testing spatial index on Geometry', + KEY `idx6` (`c4`(10)) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci +SHOW INDEX FROM tab; +Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored +tab 0 PRIMARY 1 c1 A # NULL NULL BTREE NO +tab 1 idx2 1 c2 A # 32 NULL SPATIAL NO +tab 1 idx3 1 c3 A # 32 NULL SPATIAL NO +tab 1 idx4 1 c4 A # 32 NULL SPATIAL testing spatial index on Polygon NO +tab 1 idx5 1 c5 A # 32 NULL SPATIAL testing spatial index on Geometry NO +tab 1 idx6 1 c4 A # 10 NULL BTREE NO +SET @g1 = ST_GeomFromText( 'POLYGON((7 1,6 2,6 3,10 3,10 1,7 1))'); +UPDATE tab SET C2 = ST_GeomFromText('POINT(1000 1000)') +WHERE MBRContains(tab.c4, @g1); +SELECT c1,ST_Astext(c2),ST_Astext(c4) FROM tab WHERE MBRContains(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c2) ST_Astext(c4) +3 POINT(1000 1000) POLYGON((7 1,6 2,6 3,10 3,10 1,7 1)) +DELETE FROM tab WHERE MBRContains(tab.c4, @g1); +SELECT c1,ST_Astext(c2),ST_Astext(c4) FROM tab WHERE MBRContains(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c2) ST_Astext(c4) +ALTER TABLE tab MODIFY COLUMN c4 GEOMETRY NOT NULL; +affected rows: 0 +info: Records: 0 Duplicates: 0 Warnings: 0 +SHOW CREATE TABLE tab; +Table Create Table +tab CREATE TABLE `tab` ( + `c1` int(11) NOT NULL, + `c2` geometry NOT NULL, + `c3` linestring NOT NULL, + `c4` geometry NOT NULL, + `c5` geometry NOT NULL, + `c7` point NOT NULL, + `c8` point NOT NULL, + PRIMARY KEY (`c1`), + SPATIAL KEY `idx2` (`c2`), + SPATIAL KEY `idx3` (`c3`), + SPATIAL KEY `idx4` (`c4`) COMMENT 'testing spatial index on Polygon', + SPATIAL KEY `idx5` (`c5`) COMMENT 'testing spatial index on Geometry', + KEY `idx6` (`c4`(10)) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci +SHOW INDEX FROM tab; +Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored +tab 0 PRIMARY 1 c1 A # NULL NULL BTREE NO +tab 1 idx2 1 c2 A # 32 NULL SPATIAL NO +tab 1 idx3 1 c3 A # 32 NULL SPATIAL NO +tab 1 idx4 1 c4 A # 32 NULL SPATIAL testing spatial index on Polygon NO +tab 1 idx5 1 c5 A # 32 NULL SPATIAL testing spatial index on Geometry NO +tab 1 idx6 1 c4 A # 10 NULL BTREE NO +ANALYZE TABLE tab; +Table Op Msg_type Msg_text +test.tab analyze status Engine-independent statistics collected +test.tab analyze status OK +SET @g1 = ST_GeomFromText('POLYGON((5010 5010,5020 5020,5030 5030,5040 5030,5020 5010,5010 5010))'); +SET @g2 = ST_GeomFromText('LINESTRING(140 140,150 150,160 160)'); +SELECT c1,ST_Astext(c2),ST_AsText(c3),ST_Astext(c4) FROM tab WHERE MBREquals(tab.c4, @g1) +AND MBREquals(tab.c3,@g2) ORDER BY c1; +c1 ST_Astext(c2) ST_AsText(c3) ST_Astext(c4) +10 POINT(160 160) LINESTRING(140 140,150 150,160 160) POLYGON((5010 5010,5020 5020,5030 5030,5040 5030,5020 5010,5010 5010)) +UPDATE tab SET C2 = ST_GeomFromText('POINT(2000 2000)') +WHERE MBREquals(tab.c4, @g1) AND MBREquals(tab.c3,@g2); +SELECT c1,ST_Astext(c2),ST_AsText(c3),ST_Astext(c4) FROM tab WHERE MBREquals(tab.c4, @g1) +AND MBREquals(tab.c3,@g2) ORDER BY c1; +c1 ST_Astext(c2) ST_AsText(c3) ST_Astext(c4) +10 POINT(2000 2000) LINESTRING(140 140,150 150,160 160) POLYGON((5010 5010,5020 5020,5030 5030,5040 5030,5020 5010,5010 5010)) +DELETE FROM tab WHERE MBREquals(tab.c4, @g1) AND MBREquals(tab.c3,@g2); +SELECT c1,ST_Astext(c2),ST_AsText(c3),ST_Astext(c4) FROM tab WHERE MBREquals(tab.c4, @g1) +AND MBREquals(tab.c3,@g2) ORDER BY c1; +c1 ST_Astext(c2) ST_AsText(c3) ST_Astext(c4) +ANALYZE TABLE tab; +Table Op Msg_type Msg_text +test.tab analyze status Engine-independent statistics collected +test.tab analyze status OK +SET @g1 = ST_GeomFromText('POLYGON((4010 4010,4020 4020,4030 4030,4040 4030,4020 4010,4010 4010))'); +SET @g2 = ST_GeomFromText('LINESTRING(1 1,2 2,3 3)'); +ALTER TABLE tab MODIFY COLUMN c2 POINT NOT NULL; +affected rows: 8 +info: Records: 8 Duplicates: 0 Warnings: 0 +ALTER TABLE tab MODIFY COLUMN c4 POLYGON NOT NULL; +affected rows: 8 +info: Records: 8 Duplicates: 0 Warnings: 0 +SHOW CREATE TABLE tab; +Table Create Table +tab CREATE TABLE `tab` ( + `c1` int(11) NOT NULL, + `c2` point NOT NULL, + `c3` linestring NOT NULL, + `c4` polygon NOT NULL, + `c5` geometry NOT NULL, + `c7` point NOT NULL, + `c8` point NOT NULL, + PRIMARY KEY (`c1`), + SPATIAL KEY `idx2` (`c2`), + SPATIAL KEY `idx3` (`c3`), + SPATIAL KEY `idx4` (`c4`) COMMENT 'testing spatial index on Polygon', + SPATIAL KEY `idx5` (`c5`) COMMENT 'testing spatial index on Geometry', + KEY `idx6` (`c4`(10)) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci +SHOW INDEX FROM tab; +Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored +tab 0 PRIMARY 1 c1 A # NULL NULL BTREE NO +tab 1 idx2 1 c2 A # 32 NULL SPATIAL NO +tab 1 idx3 1 c3 A # 32 NULL SPATIAL NO +tab 1 idx4 1 c4 A # 32 NULL SPATIAL testing spatial index on Polygon NO +tab 1 idx5 1 c5 A # 32 NULL SPATIAL testing spatial index on Geometry NO +tab 1 idx6 1 c4 A # 10 NULL BTREE NO +ANALYZE TABLE tab; +Table Op Msg_type Msg_text +test.tab analyze status Engine-independent statistics collected +test.tab analyze status OK +SET @g1 = ST_GeomFromText( 'POLYGON((0 0,0 30,30 40,40 50,50 30,0 0))'); +SET @g2 = ST_GeomFromText('LINESTRING(1 1,2 2,3 3)'); +SELECT c1,ST_Astext(c2),ST_AsText(c3),ST_Astext(c4) FROM tab WHERE ST_Touches(tab.c4, @g1) +AND ST_Touches(tab.c3,@g2); +c1 ST_Astext(c2) ST_AsText(c3) ST_Astext(c4) +UPDATE tab SET C2 = ST_GeomFromText('POINT(2000 2000)') +WHERE ST_Touches(tab.c4, @g1) AND ST_Touches(tab.c3,@g2); +DELETE FROM tab WHERE ST_Touches(tab.c4, @g1) AND ST_Touches(tab.c3,@g2); +SELECT c1,ST_Astext(c2),ST_AsText(c3),ST_Astext(c4) FROM tab WHERE ST_Touches(tab.c4, @g1) +AND ST_Touches(tab.c3,@g2); +c1 ST_Astext(c2) ST_AsText(c3) ST_Astext(c4) +SELECT c1,ST_Astext(c2),ST_AsText(c3),ST_Astext(c4) FROM tab WHERE ST_Touches(tab.c4, @g1) +OR ST_Touches(tab.c3,@g2); +c1 ST_Astext(c2) ST_AsText(c3) ST_Astext(c4) +2 POINT(20 20) LINESTRING(20 20,30 30,40 40) POLYGON((40 50,40 70,50 100,70 100,80 80,70 50,40 50)) +UPDATE tab SET C2 = ST_GeomFromText('POINT(2000 2000)') +WHERE ST_Touches(tab.c4, @g1) OR ST_Touches(tab.c3,@g2); +SELECT c1,ST_Astext(c2),ST_AsText(c3),ST_Astext(c4) FROM tab WHERE ST_Touches(tab.c4, @g1) +OR ST_Touches(tab.c3,@g2); +c1 ST_Astext(c2) ST_AsText(c3) ST_Astext(c4) +2 POINT(2000 2000) LINESTRING(20 20,30 30,40 40) POLYGON((40 50,40 70,50 100,70 100,80 80,70 50,40 50)) +DELETE FROM tab WHERE ST_Touches(tab.c4, @g1) OR ST_Touches(tab.c3,@g2); +SELECT c1,ST_Astext(c2),ST_AsText(c3),ST_Astext(c4) FROM tab WHERE ST_Touches(tab.c4, @g1) +OR ST_Touches(tab.c3,@g2); +c1 ST_Astext(c2) ST_AsText(c3) ST_Astext(c4) +ALTER TABLE tab MODIFY COLUMN c4 INT NOT NULL; +ERROR HY000: Incorrect arguments to SPATIAL INDEX +ALTER TABLE tab MODIFY COLUMN c4 BLOB NOT NULL; +ERROR HY000: Incorrect arguments to SPATIAL INDEX +ALTER TABLE tab ENGINE Myisam; +ALTER TABLE tab ENGINE InnoDB; +ANALYZE TABLE tab; +Table Op Msg_type Msg_text +test.tab analyze status Engine-independent statistics collected +test.tab analyze status OK +SET @g1 = ST_GeomFromText('POLYGON((1010 1010,1020 1020,1030 1030,1040 1030,1020 1010,1010 1010))'); +SET @g2 = ST_GeomFromText('LINESTRING(400 400,500 500,600 700)'); +SELECT c1,ST_AsText(c2),ST_AsText(c3),ST_Astext(c4) FROM tab WHERE MBRWithin(tab.c4, @g1) AND MBRWithin(tab.c3, @g2); +c1 ST_AsText(c2) ST_AsText(c3) ST_Astext(c4) +5 POINT(3 3) LINESTRING(400 400,500 500,600 700) POLYGON((1010 1010,1020 1020,1030 1030,1040 1030,1020 1010,1010 1010)) +SET @g1 = ST_GeomFromText('POINT(2000 2000)'); +SET @g2 = ST_GeomFromText('POINT(2000 2000)'); +SELECT c1,ST_AsText(c2),ST_AsText(c3),ST_Astext(c4) FROM tab WHERE MBRWithin(tab.c2, @g1) AND MBRWithin(tab.c3, @g2); +c1 ST_AsText(c2) ST_AsText(c3) ST_Astext(c4) +DELETE FROM tab WHERE MBRWithin(tab.c2, @g1) AND MBRWithin(tab.c3, @g2); +SELECT c1,ST_AsText(c2),ST_AsText(c3),ST_Astext(c4) FROM tab WHERE MBRWithin(tab.c2, @g1) AND MBRWithin(tab.c3, @g2); +c1 ST_AsText(c2) ST_AsText(c3) ST_Astext(c4) +DROP TABLE tab; +CREATE TABLE parent (id POINT, PRIMARY KEY(id)) ENGINE=InnoDB; +CREATE TABLE child (id GEOMETRY NOT NULL, parent_id POINT NOT NULL) ENGINE=InnoDB; +ALTER TABLE parent ADD SPATIAL INDEX idx1(id ASC); +affected rows: 0 +info: Records: 0 Duplicates: 0 Warnings: 0 +ALTER TABLE child ADD SPATIAL INDEX idx2(parent_id ASC); +affected rows: 0 +info: Records: 0 Duplicates: 0 Warnings: 0 +SHOW CREATE TABLE parent; +Table Create Table +parent CREATE TABLE `parent` ( + `id` point NOT NULL, + PRIMARY KEY (`id`(25)), + SPATIAL KEY `idx1` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci +SHOW CREATE TABLE child; +Table Create Table +child CREATE TABLE `child` ( + `id` geometry NOT NULL, + `parent_id` point NOT NULL, + SPATIAL KEY `idx2` (`parent_id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci +SHOW INDEX FROM parent; +Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored +parent 0 PRIMARY 1 id A 0 25 NULL BTREE NO +parent 1 idx1 1 id A NULL 32 NULL SPATIAL NO +SHOW INDEX FROM child; +Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored +child 1 idx2 1 parent_id A # 32 NULL SPATIAL NO +ALTER TABLE child ADD FOREIGN KEY(parent_id) REFERENCES parent(id) ; +ALTER TABLE child ADD FOREIGN KEY(parent_id) REFERENCES parent(id) ON DELETE CASCADE ; +DROP table child,parent; +CREATE TABLE parent (id GEOMETRY, PRIMARY KEY(id(10))) ENGINE=InnoDB; +CREATE TABLE child (id GEOMETRY NOT NULL, parent_id GEOMETRY NOT NULL) ENGINE=InnoDB; +ALTER TABLE parent ADD SPATIAL INDEX idx1(id ASC) ; +affected rows: 0 +info: Records: 0 Duplicates: 0 Warnings: 0 +ALTER TABLE child ADD SPATIAL INDEX idx2(parent_id ASC); +affected rows: 0 +info: Records: 0 Duplicates: 0 Warnings: 0 +SHOW CREATE TABLE parent; +Table Create Table +parent CREATE TABLE `parent` ( + `id` geometry NOT NULL, + PRIMARY KEY (`id`(10)), + SPATIAL KEY `idx1` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci +SHOW CREATE TABLE child; +Table Create Table +child CREATE TABLE `child` ( + `id` geometry NOT NULL, + `parent_id` geometry NOT NULL, + SPATIAL KEY `idx2` (`parent_id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci +SHOW INDEX FROM parent; +Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored +parent 0 PRIMARY 1 id A 0 10 NULL BTREE NO +parent 1 idx1 1 id A NULL 32 NULL SPATIAL NO +SHOW INDEX FROM child; +Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored +child 1 idx2 1 parent_id A NULL 32 NULL SPATIAL NO +ALTER TABLE child ADD FOREIGN KEY(parent_id) REFERENCES parent(id) ; +DROP table child,parent; +create table t1 (c1 int) engine=innodb; +insert into t1 values(NULL); +alter table t1 add b geometry, add spatial index(b), algorithm=inplace; +ERROR 42000: All parts of a SPATIAL index must be NOT NULL +alter table t1 add b geometry not null, add spatial index(b), algorithm=inplace; +ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field +alter table t1 add b geometry not null default st_geomfromtext('POINT(0 0)'), +add spatial index(b), algorithm=inplace; +affected rows: 0 +info: Records: 0 Duplicates: 0 Warnings: 0 +DROP table t1; +create table t1 (c1 int) engine=innodb; +insert into t1 values(NULL); +alter table t1 add b geometry, add spatial index(b), algorithm=copy; +ERROR 42000: All parts of a SPATIAL index must be NOT NULL +alter table t1 add b geometry not null, add spatial index(b), algorithm=copy; +ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field +alter table t1 add b geometry not null default st_geomfromtext('POINT(0 0)'), +add spatial index(b), algorithm=copy; +DROP table t1; +# +# BUG#20111575 ALTER TABLE...ADD SPATIAL INDEX...LOCK NONE IS REFUSED +# WITHOUT STATING A REASON +# +CREATE TABLE t1(p point NOT NULL) ENGINE=innodb; +ALTER TABLE t1 ADD SPATIAL INDEX(p), LOCK=NONE; +ERROR 0A000: LOCK=NONE is not supported. Reason: Do not support online operation on table with GIS index. Try LOCK=SHARED +ALTER TABLE t1 ADD SPATIAL INDEX(p); +ALTER TABLE t1 FORCE, LOCK=NONE; +ERROR 0A000: LOCK=NONE is not supported. Reason: Do not support online operation on table with GIS index. Try LOCK=SHARED +DROP TABLE t1; +create table t1 (p point not null default if(unix_timestamp()>10,POINT(1,1),LineString(Point(0,0),Point(1,1)))) ENGINE=innodb; +set timestamp=10; +insert into t1 values(default); +ERROR 22007: Incorrect POINT value: 'LINESTRING(0 0,1 1)' for column `test`.`t1`.`p` at row 1 +drop table t1; +SET timestamp=default; +create table t1 (p point not null default if(unix_timestamp()>10,POINT(1,1),LineString(Point(0,0),Point(1,1)))) ENGINE=innodb; +set timestamp=10; +alter table t1 add column i int; +ERROR 22007: Incorrect POINT value: 'LINESTRING(0 0,1 1)' for column `test`.`t1`.`p` at row 0 +drop table t1; +SET timestamp=default; +CREATE OR REPLACE TABLE t1 (a INT) ENGINE=InnoDB; +ALTER TABLE t1 ADD COLUMN b POINT DEFAULT '0'; +ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field +DROP TABLE t1; +# +# MDEV-29520 heap-use-after-poison in row_merge_spatial_rows() +# +CREATE TABLE t +(a VARCHAR(8192), b POINT NOT NULL, PRIMARY KEY(a(8)), SPATIAL(b)) +ENGINE=InnoDB; +INSERT INTO t VALUES (REPEAT('MariaDB Corporation Ab ',351),POINT(0,0)); +ALTER TABLE t FORCE; +DROP TABLE t; +# +# MDEV-29856 heap-use-after-poison in row_merge_spatial_rows() +# with PRIMARY KEY on column prefix +# +CREATE TABLE t (id INT, f TEXT, s POINT NOT NULL, +PRIMARY KEY(id,f(1)), SPATIAL(s)) ENGINE=InnoDB; +INSERT INTO t VALUES +(1,REPEAT('x',8192),@p:=ST_GeomFromText('POINT(0 0)')),(2,'',@p); +ALTER TABLE t FORCE; +DROP TABLE t; +# End of 10.3 tests diff --git a/mysql-test/suite/innodb_gis/r/bug16236208.result b/mysql-test/suite/innodb_gis/r/bug16236208.result new file mode 100644 index 00000000..c7d4f328 --- /dev/null +++ b/mysql-test/suite/innodb_gis/r/bug16236208.result @@ -0,0 +1,43 @@ +DROP TABLE IF EXISTS linestring; +CREATE TABLE linestring (pk INTEGER NOT NULL PRIMARY KEY, linestring_key +GEOMETRY NOT NULL, linestring_nokey GEOMETRY NOT NULL) ENGINE=InnoDB ; +INSERT INTO linestring (pk, linestring_key, linestring_nokey) VALUES (1, +ST_GeomFromText('POINT(10 10) '), ST_GeomFromText('POINT(10 10) ')); +INSERT INTO linestring (pk, linestring_key, linestring_nokey) VALUES (2, +ST_GeomFromText('LINESTRING(10 10,20 20,30 30)'), ST_GeomFromText('LINESTRING(10 +10,20 20,30 30)')); +INSERT INTO linestring (pk, linestring_key, linestring_nokey) VALUES (3, +ST_GeomFromText('POLYGON((0 0,5 5,10 10,15 15,0 0),(10 10,20 20,30 30,40 40,10 +10))'), ST_GeomFromText('POLYGON((0 0,5 5,10 10,15 15,0 0),(10 10,20 20,30 30,40 +40,10 10))')); +INSERT INTO linestring (pk, linestring_key, linestring_nokey) VALUES (4, +ST_GeomFromText('MULTIPOINT(0 0,5 5,10 10,20 20) '), ST_GeomFromText('MULTIPOINT(0 +0,5 5,10 10,20 20) ')); +INSERT INTO linestring (pk, linestring_key, linestring_nokey) VALUES (5, +ST_GeomFromText('MULTILINESTRING((1 1,2 2,3 3),(10 10,20 20,30 30))'), +ST_GeomFromText('MULTILINESTRING((1 1,2 2,3 3),(10 10,20 20,30 30))')); +INSERT INTO linestring (pk, linestring_key, linestring_nokey) VALUES (6, +ST_GeomFromText('MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 +9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))'), +ST_GeomFromText('MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 +9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))')); +INSERT INTO linestring (pk, linestring_key, linestring_nokey) VALUES (7, +ST_GeomFromText('GEOMETRYCOLLECTION(POINT(0 0), LINESTRING(0 0,10 10))'), +ST_GeomFromText('GEOMETRYCOLLECTION(POINT(0 0), LINESTRING(0 0,10 10))')); +CREATE INDEX linestring_index ON linestring(linestring_nokey(5)); +ALTER TABLE linestring ADD KEY (linestring_key(5)); +SELECT ST_AsText(linestring_nokey) FROM linestring FORCE KEY ( +linestring_key ) WHERE ST_CONTAINS( ST_GeomFromText('POLYGON( ( 3923 2815 , 4246 +2122 , 4028 2971 , 4017 3019 , 3923 2815 ) )') , linestring_key ) AND +ST_WITHIN( ST_GeomFromText('POLYGON( ( 4135 3009 , 4914 3087 , 4236 3194 , 4091 +3036 , 4022 3004 , 4087 3004 , 3853 2825 , 3490 3118 , 3784 3141 , 4052 3072 +, 4205 2787 , 4024 2951 , 4076 3036 , 4041 3053 , 3789 3401 , 4080 3100 , +4169 2867 , 4056 3029 , 4715 3943 , 4052 3098 , 4035 3080 , 4013 3077 , 4218 +2915 , 3789 2980 , 4058 3046 , 4042 3043 , 4135 3009 ) )') , linestring_nokey +) AND ST_CONTAINS( ST_GeomFromText('POLYGON( ( 4082 2842 , 3678 3647 , 3420 3068 +, 4018 3030 , 4082 2842 ) )') , linestring_key ) OR ST_INTERSECTS( +ST_GeomFromText('MULTILINESTRING( ( 4147 2871 , 4072 3042 , 4081 3099 , 3796 +3021 , 4007 3463 ) , ( 4042 2808 , 4109 2816 , 3730 3673 ) )') , +linestring_key ) AND ST_Length( linestring_nokey ) > 1; +ST_AsText(linestring_nokey) +DROP TABLE linestring; diff --git a/mysql-test/suite/innodb_gis/r/bug16266012.result b/mysql-test/suite/innodb_gis/r/bug16266012.result new file mode 100644 index 00000000..99de5db5 --- /dev/null +++ b/mysql-test/suite/innodb_gis/r/bug16266012.result @@ -0,0 +1,14 @@ +SELECT ST_WITHIN( LINESTRINGFROMTEXT(' LINESTRING( 5 9 , 3 4 , 4 1 , 4 +4 , 4 9 ) ') , ST_SYMDIFFERENCE( ST_UNION( ST_ENVELOPE( POLYGONFROMTEXT(' +POLYGON( ( 3 2 , 0 6 , 2 3 , 8 0 , 4 6 , 7 2 , 3 2 ) ) ') ) , +MULTIPOLYGONFROMTEXT(' +MULTIPOLYGON( ( ( 0 0 , 7 1 , 6 8 , 0 0 ) ) , ( ( 9 9 , 4 0 , 4 7 , 9 9) ) ) +') ) , ST_SYMDIFFERENCE( POLYGONFROMTEXT(' POLYGON( ( 9 9 , 6 5 , 2 3 , 9 9 +) ) ') , MULTIPOLYGONFROMTEXT(' MULTIPOLYGON( ( ( 2 2 , 5 2 , 5 2 , 2 6 , 2 +2 ) ) , ( ( 7 7 , 3 7 , 2 9 , 7 1 , 7 7 ) ) ) ') ) ) ); +ST_WITHIN( LINESTRINGFROMTEXT(' LINESTRING( 5 9 , 3 4 , 4 1 , 4 +4 , 4 9 ) ') , ST_SYMDIFFERENCE( ST_UNION( ST_ENVELOPE( POLYGONFROMTEXT(' +POLYGON( ( 3 2 , 0 6 , 2 3 , 8 0 , 4 6 , 7 2 , 3 2 ) ) ') ) , +MULTIPOLYGONFROMTEXT(' +MULTIPOLYGON( ( ( 0 0 , 7 1 , 6 +0 diff --git a/mysql-test/suite/innodb_gis/r/bug17057168.result b/mysql-test/suite/innodb_gis/r/bug17057168.result new file mode 100644 index 00000000..0002acaf --- /dev/null +++ b/mysql-test/suite/innodb_gis/r/bug17057168.result @@ -0,0 +1,22 @@ +CREATE DATABASE geotest; +use geotest; +CREATE TABLE tmp (id int unsigned NOT NULL PRIMARY KEY); +INSERT INTO tmp VALUES (0), (1), (2), (3), (4), (5), (6), (7), (8), (9); +INSERT INTO tmp SELECT 10+id FROM tmp; +INSERT INTO tmp SELECT 20+id FROM tmp; +INSERT INTO tmp SELECT 40+id FROM tmp; +INSERT INTO tmp SELECT 80+id FROM tmp; +CREATE TABLE t1 (id int unsigned NOT NULL auto_increment PRIMARY KEY, +location point, INDEX (location)) ENGINE=InnoDB; +INSERT INTO t1 (location) SELECT POINT(tmp1.id, tmp2.id) FROM tmp tmp1, +tmp tmp2 ORDER BY tmp1.id, tmp2.id; +EXPLAIN SELECT id, ST_AsText(location) FROM t1 WHERE location = POINT(1, +2); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 ref location location 28 const 1 Using where +SELECT id, ST_AsText(location) FROM t1 WHERE location = POINT(1, 2); +id ST_AsText(location) +163 POINT(1 2) +DROP TABLE t1; +DROP TABLE tmp; +DROP DATABASE geotest; diff --git a/mysql-test/suite/innodb_gis/r/check_rtree.result b/mysql-test/suite/innodb_gis/r/check_rtree.result new file mode 100644 index 00000000..fe60a628 --- /dev/null +++ b/mysql-test/suite/innodb_gis/r/check_rtree.result @@ -0,0 +1,15 @@ +create table t1 (i int, g geometry not null, spatial index (g))engine=innodb; +SET SESSION debug="+d,rtree_test_check_count"; +Warnings: +Warning 1287 '@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead +insert into t1 values (1, POINT(1,1)); +insert into t1 values (1, POINT(1.5,1.5)); +insert into t1 values (1, POINT(3,3)); +insert into t1 values (1, POINT(3.1,3.1)); +insert into t1 values (1, POINT(5,5)); +CALL mtr.add_suppression("InnoDB: Flagged corruption of `g` in table `test`.`t1` in CHECK TABLE; Wrong count"); +check table t1; +Table Op Msg_type Msg_text +test.t1 check Warning InnoDB: Index 'g' contains 0 entries, should be 5. +test.t1 check error Corrupt +drop table t1; diff --git a/mysql-test/suite/innodb_gis/r/create_spatial_index.result b/mysql-test/suite/innodb_gis/r/create_spatial_index.result new file mode 100644 index 00000000..d3c69294 --- /dev/null +++ b/mysql-test/suite/innodb_gis/r/create_spatial_index.result @@ -0,0 +1,1298 @@ +CREATE TABLE tab(c1 int NOT NULL PRIMARY KEY,c2 POINT NOT NULL, +c3 LINESTRING NOT NULL,c4 POLYGON NOT NULL,c5 GEOMETRY NOT NULL) +ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8; +CREATE SPATIAL INDEX idx1 on tab(c2 ASC); +CREATE SPATIAL INDEX idx2 on tab(c3 DESC) COMMENT 'wl6968'; +CREATE SPATIAL INDEX idx3 on tab(c4 ASC) KEY_BLOCK_SIZE=8 ; +CREATE SPATIAL INDEX idx4 on tab(c5 DESC) KEY_BLOCK_SIZE=4 +COMMENT 'Spatial index on Geometry type column'; +SHOW INDEXES FROM tab; +Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored +tab 0 PRIMARY 1 c1 A 0 NULL NULL BTREE NO +tab 1 idx1 1 c2 A NULL 32 NULL SPATIAL NO +tab 1 idx2 1 c3 A NULL 32 NULL SPATIAL wl6968 NO +tab 1 idx3 1 c4 A NULL 32 NULL SPATIAL NO +tab 1 idx4 1 c5 A NULL 32 NULL SPATIAL Spatial index on Geometry type column NO +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(1,ST_GeomFromText('POINT(10 10)'),ST_GeomFromText('LINESTRING(5 5,20 20,30 30)'), +ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))'), +ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))')); +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(2,ST_GeomFromText('POINT(20 20)'),ST_GeomFromText('LINESTRING(20 20,30 30,40 40)'), +ST_GeomFromText('POLYGON((40 50,40 70,50 100,70 100,80 80,70 50,40 50))'), +ST_GeomFromText('POLYGON((40 50,40 70,50 100,70 100,80 80,70 50,40 50))')); +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(3,ST_GeomFromText('POINT(4 4)'),ST_GeomFromText('LINESTRING(130 130,140 140,150 150)'), +ST_GeomFromText('POLYGON((7 1,6 2,6 3,10 3,10 1,7 1))'), +ST_GeomFromText('POLYGON((4 -2,5 -4,6 -5,7 -4,7 2,4 -2))')); +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(4,ST_GeomFromText('POINT(50 50)'),ST_GeomFromText('LINESTRING(200 200,300 300,400 400)'), +ST_GeomFromText('POLYGON((300 300,400 400,500 500,300 500,300 400,300 300))'), +ST_GeomFromText('POLYGON((300 300,400 400,500 500,300 500,300 400,300 300))')); +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(5,ST_GeomFromText('POINT(3 3)'),ST_GeomFromText('LINESTRING(400 400,500 500,600 700)'), +ST_GeomFromText('POLYGON((1010 1010,1020 1020,1030 1030,1040 1030,1020 1010,1010 1010))'), +ST_GeomFromText('POLYGON((1010 1010,1020 1020,1030 1030,1040 1030,1020 1010,1010 1010))')); +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(6,ST_GeomFromText('POINT(3 3)'),ST_GeomFromText('LINESTRING(40 40,50 50,60 70)'), +ST_GeomFromText('POLYGON((2010 2010,2020 2020,2030 2030,2040 2030,2020 2010,2010 2010))'), +ST_GeomFromText('POLYGON((2010 2010,2020 2020,2030 2030,2040 2030,2020 2010,2010 2010))')); +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(7,ST_GeomFromText('POINT(60 70)'),ST_GeomFromText('LINESTRING(40 40,50 50,60 70)'), +ST_GeomFromText('POLYGON((3010 3010,3020 3020,3030 3030,3040 3030,3020 3010,3010 3010))'), +ST_GeomFromText('POLYGON((3010 3010,3020 3020,3030 3030,3040 3030,3020 3010,3010 3010))')); +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(8,ST_GeomFromText('POINT(0 0)'),ST_GeomFromText('LINESTRING(40 40,50 50,60 70)'), +ST_GeomFromText('POLYGON((3010 3010,3020 3020,3030 3030,3040 3030,3020 3010,3010 3010))'), +ST_GeomFromText('POLYGON((3010 3010,3020 3020,3030 3030,3040 3030,3020 3010,3010 3010))')); +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(9,ST_GeomFromText('POINT(120 120)'),ST_GeomFromText('LINESTRING(100 100,110 110,120 120)'), +ST_GeomFromText('POLYGON((4010 4010,4020 4020,4030 4030,4040 4030,4020 4010,4010 4010))'), +ST_GeomFromText('POLYGON((4010 4010,4020 4020,4030 4030,4040 4030,4020 4010,4010 4010))')); +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(10,ST_GeomFromText('POINT(160 160)'),ST_GeomFromText('LINESTRING(140 140,150 150,160 160)'), +ST_GeomFromText('POLYGON((5010 5010,5020 5020,5030 5030,5040 5030,5020 5010,5010 5010))'), +ST_GeomFromText('POLYGON((5010 5010,5020 5020,5030 5030,5040 5030,5020 5010,5010 5010))')); +ANALYZE TABLE tab; +Table Op Msg_type Msg_text +test.tab analyze status Engine-independent statistics collected +test.tab analyze status OK +SET @g1 = ST_GeomFromText( 'POLYGON((7 1,6 2,6 3,10 3,10 1,7 1))'); +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRContains(tab.c4, @g1) ORDER BY c1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where; Using filesort +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRContains(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +3 POLYGON((7 1,6 2,6 3,10 3,10 1,7 1)) +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRContains(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +EXPLAIN DELETE FROM tab WHERE MBRContains(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +SET @g1 = ST_GeomFromText('LINESTRING( 300 300,400 400)'); +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRContains(tab.c4, @g1) ORDER BY c1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where; Using filesort +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRContains(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +4 POLYGON((300 300,400 400,500 500,300 500,300 400,300 300)) +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRContains(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +EXPLAIN DELETE FROM tab WHERE MBRContains(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +SET @g1 = ST_GeomFromText( 'POLYGON((30 30,40 40,50 50,30 50,30 40,30 30)) '); +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRWithin(tab.c4, @g1) ORDER BY c1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where; Using filesort +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRWithin(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +1 POLYGON((30 30,40 40,50 50,30 50,30 40,30 30)) +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRWithin(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +EXPLAIN DELETE FROM tab WHERE MBRWithin(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +SET @g1 = ST_GeomFromText('POLYGON((100 200,200 300,400 500,500 300,300 200,100 300,100 200))'); +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE ST_Crosses(tab.c4, @g1) ORDER BY c1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where; Using filesort +SELECT c1,ST_Astext(c4) FROM tab WHERE ST_Crosses(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +4 POLYGON((300 300,400 400,500 500,300 500,300 400,300 300)) +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE ST_Crosses(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +EXPLAIN DELETE FROM tab WHERE ST_Crosses(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +SET @g1 = ST_GeomFromText('LINESTRING( 10 10,30 30,40 40)'); +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE ST_CRosses(tab.c4, @g1) ORDER BY c1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where; Using filesort +SELECT c1,ST_Astext(c4) FROM tab WHERE ST_Crosses(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +1 POLYGON((30 30,40 40,50 50,30 50,30 40,30 30)) +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE ST_Crosses(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +EXPLAIN DELETE FROM tab WHERE ST_Crosses(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +SET @g1 = ST_GeomFromText('POLYGON((4 -2,5 -4,6 -5,7 -4,7 2,4 -2))'); +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRDisjoint(tab.c4, @g1) ORDER BY c1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab index idx3 PRIMARY 4 NULL 10 Using where +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRDisjoint(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +1 POLYGON((30 30,40 40,50 50,30 50,30 40,30 30)) +2 POLYGON((40 50,40 70,50 100,70 100,80 80,70 50,40 50)) +4 POLYGON((300 300,400 400,500 500,300 500,300 400,300 300)) +5 POLYGON((1010 1010,1020 1020,1030 1030,1040 1030,1020 1010,1010 1010)) +6 POLYGON((2010 2010,2020 2020,2030 2030,2040 2030,2020 2010,2010 2010)) +7 POLYGON((3010 3010,3020 3020,3030 3030,3040 3030,3020 3010,3010 3010)) +8 POLYGON((3010 3010,3020 3020,3030 3030,3040 3030,3020 3010,3010 3010)) +9 POLYGON((4010 4010,4020 4020,4030 4030,4040 4030,4020 4010,4010 4010)) +10 POLYGON((5010 5010,5020 5020,5030 5030,5040 5030,5020 5010,5010 5010)) +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRDisjoint(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab index idx3 PRIMARY 4 NULL 10 Using where +EXPLAIN DELETE FROM tab WHERE MBRDisjoint(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab ALL idx3 NULL NULL NULL 10 Using where +SET @g1 = ST_GeomFromText('POLYGON((5010 5010,5020 5020,5030 5030,5040 5030,5020 5010,5010 5010))'); +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBREquals(tab.c4, @g1) ORDER BY c1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where; Using filesort +SELECT c1,ST_Astext(c4) FROM tab WHERE MBREquals(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +10 POLYGON((5010 5010,5020 5020,5030 5030,5040 5030,5020 5010,5010 5010)) +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBREquals(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +EXPLAIN DELETE FROM tab WHERE MBREquals(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +SET @g1 = ST_GeomFromText( 'POLYGON((0 0,0 30,30 40,40 50,50 30,0 0))'); +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRIntersects(tab.c4, @g1) ORDER BY c1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 2 Using where; Using filesort +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRIntersects(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +1 POLYGON((30 30,40 40,50 50,30 50,30 40,30 30)) +2 POLYGON((40 50,40 70,50 100,70 100,80 80,70 50,40 50)) +3 POLYGON((7 1,6 2,6 3,10 3,10 1,7 1)) +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRintersects(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 2 Using where +EXPLAIN DELETE FROM tab WHERE MBRintersects(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 2 Using where +SET @g1 = ST_GeomFromText('LINESTRING( 30 30,40 40,50 50)'); +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRIntersects(tab.c4, @g1) ORDER BY c1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where; Using filesort +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRIntersects(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +1 POLYGON((30 30,40 40,50 50,30 50,30 40,30 30)) +2 POLYGON((40 50,40 70,50 100,70 100,80 80,70 50,40 50)) +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRintersects(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +EXPLAIN DELETE FROM tab WHERE MBRintersects(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +SET @g1 = ST_GeomFromText( 'POLYGON((0 0,0 2,4 5,5 5,7 1,0 0 ))'); +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBROverlaps(tab.c4, @g1) ORDER BY c1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where; Using filesort +SELECT c1,ST_Astext(c4) FROM tab WHERE MBROverlaps(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +3 POLYGON((7 1,6 2,6 3,10 3,10 1,7 1)) +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBROverlaps(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +EXPLAIN DELETE FROM tab WHERE MBROverlaps(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +SET @g1 = ST_GeomFromText('LINESTRING(7 1,30 30,1010 3010,1010 2010,3010 3010,4010 4010,5010 5010 )'); +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBROverlaps(tab.c4, @g1) ORDER BY c1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab index idx3 PRIMARY 4 NULL 10 Using where +SELECT c1,ST_Astext(c4) FROM tab WHERE MBROverlaps(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +3 POLYGON((7 1,6 2,6 3,10 3,10 1,7 1)) +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBROverlaps(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab index idx3 PRIMARY 4 NULL 10 Using where +EXPLAIN DELETE FROM tab WHERE MBROverlaps(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab ALL idx3 NULL NULL NULL 10 Using where +SET @g1 = ST_GeomFromText( 'POLYGON((0 0,0 30,30 40,40 50,50 30,0 0))'); +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE ST_Touches(tab.c4, @g1) ORDER BY c1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 2 Using where; Using filesort +SELECT c1,ST_Astext(c4) FROM tab WHERE ST_Touches(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +2 POLYGON((40 50,40 70,50 100,70 100,80 80,70 50,40 50)) +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE ST_Touches(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 2 Using where +EXPLAIN DELETE FROM tab WHERE ST_Touches(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 2 Using where +SET @g1 = ST_GeomFromText('LINESTRING( 100 100,200 200,300 300)'); +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE ST_Touches(tab.c4, @g1) ORDER BY c1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where; Using filesort +SELECT c1,ST_Astext(c4) FROM tab WHERE ST_Touches(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +4 POLYGON((300 300,400 400,500 500,300 500,300 400,300 300)) +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE ST_Touches(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +EXPLAIN DELETE FROM tab WHERE ST_Touches(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +SET @g1 = ST_GeomFromText( 'POLYGON((7 1,6 2,6 3,10 3,10 1,7 1))'); +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRContains(tab.c4, @g1) ORDER BY c1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where; Using filesort +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRContains(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +3 POLYGON((7 1,6 2,6 3,10 3,10 1,7 1)) +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRContains(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +EXPLAIN DELETE FROM tab WHERE MBRContains(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +SET @g1 = ST_GeomFromText( 'POLYGON((30 30,40 40,50 50,30 50,30 40,30 30)) '); +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRWithin(tab.c4, @g1) ORDER BY c1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where; Using filesort +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRWithin(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +1 POLYGON((30 30,40 40,50 50,30 50,30 40,30 30)) +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRWithin(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +EXPLAIN DELETE FROM tab WHERE MBRWithin(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +SET @g1 = ST_GeomFromText('POLYGON((4 -2,5 -4,6 -5,7 -4,7 2,4 -2))'); +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRDisjoint(tab.c4, @g1) ORDER BY c1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab index idx3 PRIMARY 4 NULL 10 Using where +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRDisjoint(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +1 POLYGON((30 30,40 40,50 50,30 50,30 40,30 30)) +2 POLYGON((40 50,40 70,50 100,70 100,80 80,70 50,40 50)) +4 POLYGON((300 300,400 400,500 500,300 500,300 400,300 300)) +5 POLYGON((1010 1010,1020 1020,1030 1030,1040 1030,1020 1010,1010 1010)) +6 POLYGON((2010 2010,2020 2020,2030 2030,2040 2030,2020 2010,2010 2010)) +7 POLYGON((3010 3010,3020 3020,3030 3030,3040 3030,3020 3010,3010 3010)) +8 POLYGON((3010 3010,3020 3020,3030 3030,3040 3030,3020 3010,3010 3010)) +9 POLYGON((4010 4010,4020 4020,4030 4030,4040 4030,4020 4010,4010 4010)) +10 POLYGON((5010 5010,5020 5020,5030 5030,5040 5030,5020 5010,5010 5010)) +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRDisjoint(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab index idx3 PRIMARY 4 NULL 10 Using where +EXPLAIN DELETE FROM tab WHERE MBRDisjoint(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab ALL idx3 NULL NULL NULL 10 Using where +SET @g1 = ST_GeomFromText('POLYGON((5010 5010,5020 5020,5030 5030,5040 5030,5020 5010,5010 5010))'); +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBREquals(tab.c4, @g1) ORDER BY c1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where; Using filesort +SELECT c1,ST_Astext(c4) FROM tab WHERE MBREquals(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +10 POLYGON((5010 5010,5020 5020,5030 5030,5040 5030,5020 5010,5010 5010)) +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBREquals(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +EXPLAIN DELETE FROM tab WHERE MBREquals(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +SET @g1 = ST_GeomFromText( 'POLYGON((0 0,0 30,30 40,40 50,50 30,0 0))'); +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRIntersects(tab.c4, @g1) ORDER BY c1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 2 Using where; Using filesort +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRIntersects(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +1 POLYGON((30 30,40 40,50 50,30 50,30 40,30 30)) +2 POLYGON((40 50,40 70,50 100,70 100,80 80,70 50,40 50)) +3 POLYGON((7 1,6 2,6 3,10 3,10 1,7 1)) +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRintersects(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 2 Using where +EXPLAIN DELETE FROM tab WHERE MBRintersects(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 2 Using where +SET @g1 = ST_GeomFromText('LINESTRING( 30 30,40 40,50 50)'); +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRIntersects(tab.c4, @g1) ORDER BY c1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where; Using filesort +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRIntersects(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +1 POLYGON((30 30,40 40,50 50,30 50,30 40,30 30)) +2 POLYGON((40 50,40 70,50 100,70 100,80 80,70 50,40 50)) +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRintersects(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +EXPLAIN DELETE FROM tab WHERE MBRintersects(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +SET @g1 = ST_GeomFromText( 'POLYGON((0 0,0 2,4 5,5 5,7 1,0 0 ))'); +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBROverlaps(tab.c4, @g1) ORDER BY c1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where; Using filesort +SELECT c1,ST_Astext(c4) FROM tab WHERE MBROverlaps(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +3 POLYGON((7 1,6 2,6 3,10 3,10 1,7 1)) +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBROverlaps(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +EXPLAIN DELETE FROM tab WHERE MBROverlaps(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +SET @g1 = ST_GeomFromText( 'POLYGON((0 0,0 30,30 40,40 50,50 30,0 0))'); +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRTouches(tab.c4, @g1) ORDER BY c1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 2 Using where; Using filesort +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRTouches(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +2 POLYGON((40 50,40 70,50 100,70 100,80 80,70 50,40 50)) +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRTouches(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 2 Using where +EXPLAIN DELETE FROM tab WHERE MBRTouches(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 2 Using where +CREATE PROCEDURE proc_wl6968() +BEGIN +SET @g1 = ST_GeomFromText( 'POLYGON((7 1,6 2,6 3,10 3,10 1,7 1))'); +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRContains(tab.c4, @g1) ORDER BY c1; +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRContains(tab.c4, @g1); +EXPLAIN DELETE FROM tab WHERE MBRContains(tab.c4, @g1); +END | +CALL proc_wl6968(); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where; Using filesort +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +SET @g1 = ST_GeomFromText( 'POLYGON((7 1,6 2,6 3,10 3,10 1,7 1))'); +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRContains(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +3 POLYGON((7 1,6 2,6 3,10 3,10 1,7 1)) +DELETE FROM tab WHERE MBRContains(tab.c4, @g1); +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRContains(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +CHECK TABLE tab; +Table Op Msg_type Msg_text +test.tab check status OK +SET @g1 = ST_GeomFromText('LINESTRING( 300 300,400 400)'); +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRContains(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +4 POLYGON((300 300,400 400,500 500,300 500,300 400,300 300)) +DELETE FROM tab WHERE MBRContains(tab.c4, @g1); +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRContains(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +CHECK TABLE tab; +Table Op Msg_type Msg_text +test.tab check status OK +SET @g1 = ST_GeomFromText('POLYGON((100 200,1010 1010,1020 1020,500 300,300 200,100 300,100 200))'); +SELECT c1,ST_Astext(c4) FROM tab WHERE ST_Crosses(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +5 POLYGON((1010 1010,1020 1020,1030 1030,1040 1030,1020 1010,1010 1010)) +DELETE FROM tab WHERE ST_Crosses(tab.c4, @g1); +SELECT c1,ST_Astext(c4) FROM tab WHERE ST_Crosses(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +CHECK TABLE tab; +Table Op Msg_type Msg_text +test.tab check status OK +SET @g1 = ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))'); +SET @g2 = ST_GeomFromText( 'POLYGON((7 1,6 2,6 3,10 3,10 1,7 1))'); +UPDATE tab SET C4 = @g2 WHERE ST_Crosses(tab.c4, @g1); +SELECT c1,ST_Astext(c4) FROM tab WHERE ST_Crosses(tab.c4, @g2) ORDER BY c1; +c1 ST_Astext(c4) +CHECK TABLE tab; +Table Op Msg_type Msg_text +test.tab check status OK +DROP TABLE tab; +DROP PROCEDURE proc_wl6968; +CREATE TABLE tab(c1 int ,c2 POINT NOT NULL, +c3 LINESTRING NOT NULL,c4 POLYGON NOT NULL,c5 GEOMETRY NOT NULL) +ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=16; +CREATE SPATIAL INDEX idx1 on tab(c2 ASC); +CREATE SPATIAL INDEX idx2 on tab(c3 DESC) COMMENT 'wl6968'; +CREATE SPATIAL INDEX idx3 on tab(c4 ASC) KEY_BLOCK_SIZE=2 ; +CREATE SPATIAL INDEX idx4 on tab(c5 DESC) KEY_BLOCK_SIZE=8 +COMMENT 'Spatial index on Geometry type column'; +SHOW INDEXES FROM tab; +Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored +tab 1 idx1 1 c2 A NULL 32 NULL SPATIAL NO +tab 1 idx2 1 c3 A NULL 32 NULL SPATIAL wl6968 NO +tab 1 idx3 1 c4 A NULL 32 NULL SPATIAL NO +tab 1 idx4 1 c5 A NULL 32 NULL SPATIAL Spatial index on Geometry type column NO +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(1,ST_GeomFromText('POINT(10 10)'),ST_GeomFromText('LINESTRING(5 5,20 20,30 30)'), +ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))'), +ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))')); +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(2,ST_GeomFromText('POINT(20 20)'),ST_GeomFromText('LINESTRING(20 20,30 30,40 40)'), +ST_GeomFromText('POLYGON((40 50,40 70,50 100,70 100,80 80,70 50,40 50))'), +ST_GeomFromText('POLYGON((40 50,40 70,50 100,70 100,80 80,70 50,40 50))')); +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(3,ST_GeomFromText('POINT(4 4)'),ST_GeomFromText('LINESTRING(130 130,140 140,150 150)'), +ST_GeomFromText('POLYGON((7 1,6 2,6 3,10 3,10 1,7 1))'), +ST_GeomFromText('POLYGON((4 -2,5 -4,6 -5,7 -4,7 2,4 -2))')); +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(4,ST_GeomFromText('POINT(50 50)'),ST_GeomFromText('LINESTRING(200 200,300 300,400 400)'), +ST_GeomFromText('POLYGON((300 300,400 400,500 500,300 500,300 400,300 300))'), +ST_GeomFromText('POLYGON((300 300,400 400,500 500,300 500,300 400,300 300))')); +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(5,ST_GeomFromText('POINT(3 3)'),ST_GeomFromText('LINESTRING(400 400,500 500,600 700)'), +ST_GeomFromText('POLYGON((1010 1010,1020 1020,1030 1030,1040 1030,1020 1010,1010 1010))'), +ST_GeomFromText('POLYGON((1010 1010,1020 1020,1030 1030,1040 1030,1020 1010,1010 1010))')); +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(6,ST_GeomFromText('POINT(3 3)'),ST_GeomFromText('LINESTRING(40 40,50 50,60 70)'), +ST_GeomFromText('POLYGON((2010 2010,2020 2020,2030 2030,2040 2030,2020 2010,2010 2010))'), +ST_GeomFromText('POLYGON((2010 2010,2020 2020,2030 2030,2040 2030,2020 2010,2010 2010))')); +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(7,ST_GeomFromText('POINT(60 70)'),ST_GeomFromText('LINESTRING(40 40,50 50,60 70)'), +ST_GeomFromText('POLYGON((3010 3010,3020 3020,3030 3030,3040 3030,3020 3010,3010 3010))'), +ST_GeomFromText('POLYGON((3010 3010,3020 3020,3030 3030,3040 3030,3020 3010,3010 3010))')); +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(8,ST_GeomFromText('POINT(0 0)'),ST_GeomFromText('LINESTRING(40 40,50 50,60 70)'), +ST_GeomFromText('POLYGON((3010 3010,3020 3020,3030 3030,3040 3030,3020 3010,3010 3010))'), +ST_GeomFromText('POLYGON((3010 3010,3020 3020,3030 3030,3040 3030,3020 3010,3010 3010))')); +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(9,ST_GeomFromText('POINT(120 120)'),ST_GeomFromText('LINESTRING(100 100,110 110,120 120)'), +ST_GeomFromText('POLYGON((4010 4010,4020 4020,4030 4030,4040 4030,4020 4010,4010 4010))'), +ST_GeomFromText('POLYGON((4010 4010,4020 4020,4030 4030,4040 4030,4020 4010,4010 4010))')); +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(10,ST_GeomFromText('POINT(160 160)'),ST_GeomFromText('LINESTRING(140 140,150 150,160 160)'), +ST_GeomFromText('POLYGON((5010 5010,5020 5020,5030 5030,5040 5030,5020 5010,5010 5010))'), +ST_GeomFromText('POLYGON((5010 5010,5020 5020,5030 5030,5040 5030,5020 5010,5010 5010))')); +ANALYZE TABLE tab; +Table Op Msg_type Msg_text +test.tab analyze status Engine-independent statistics collected +test.tab analyze status OK +SET @g1 = ST_GeomFromText( 'POLYGON((7 1,6 2,6 3,10 3,10 1,7 1))'); +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRContains(tab.c4, @g1) ORDER BY c1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where; Using filesort +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRContains(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +3 POLYGON((7 1,6 2,6 3,10 3,10 1,7 1)) +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRContains(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +EXPLAIN DELETE FROM tab WHERE MBRContains(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +SET @g1 = ST_GeomFromText('LINESTRING( 300 300,400 400)'); +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRContains(tab.c4, @g1) ORDER BY c1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where; Using filesort +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRContains(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +4 POLYGON((300 300,400 400,500 500,300 500,300 400,300 300)) +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRContains(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +EXPLAIN DELETE FROM tab WHERE MBRContains(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +SET @g1 = ST_GeomFromText( 'POLYGON((30 30,40 40,50 50,30 50,30 40,30 30)) '); +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRWithin(tab.c4, @g1) ORDER BY c1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where; Using filesort +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRWithin(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +1 POLYGON((30 30,40 40,50 50,30 50,30 40,30 30)) +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRWithin(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +EXPLAIN DELETE FROM tab WHERE MBRWithin(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +SET @g1 = ST_GeomFromText('POLYGON((100 200,200 300,400 500,500 300,300 200,100 300,100 200))'); +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE ST_Crosses(tab.c4, @g1) ORDER BY c1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where; Using filesort +SELECT c1,ST_Astext(c4) FROM tab WHERE ST_Crosses(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +4 POLYGON((300 300,400 400,500 500,300 500,300 400,300 300)) +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE ST_Crosses(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +EXPLAIN DELETE FROM tab WHERE ST_Crosses(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +SET @g1 = ST_GeomFromText('LINESTRING( 10 10,30 30,40 40)'); +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE ST_CRosses(tab.c4, @g1) ORDER BY c1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where; Using filesort +SELECT c1,ST_Astext(c4) FROM tab WHERE ST_Crosses(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +1 POLYGON((30 30,40 40,50 50,30 50,30 40,30 30)) +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE ST_Crosses(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +EXPLAIN DELETE FROM tab WHERE ST_Crosses(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +SET @g1 = ST_GeomFromText('POLYGON((4 -2,5 -4,6 -5,7 -4,7 2,4 -2))'); +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRDisjoint(tab.c4, @g1) ORDER BY c1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab ALL idx3 NULL NULL NULL 10 Using where; Using filesort +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRDisjoint(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +1 POLYGON((30 30,40 40,50 50,30 50,30 40,30 30)) +2 POLYGON((40 50,40 70,50 100,70 100,80 80,70 50,40 50)) +4 POLYGON((300 300,400 400,500 500,300 500,300 400,300 300)) +5 POLYGON((1010 1010,1020 1020,1030 1030,1040 1030,1020 1010,1010 1010)) +6 POLYGON((2010 2010,2020 2020,2030 2030,2040 2030,2020 2010,2010 2010)) +7 POLYGON((3010 3010,3020 3020,3030 3030,3040 3030,3020 3010,3010 3010)) +8 POLYGON((3010 3010,3020 3020,3030 3030,3040 3030,3020 3010,3010 3010)) +9 POLYGON((4010 4010,4020 4020,4030 4030,4040 4030,4020 4010,4010 4010)) +10 POLYGON((5010 5010,5020 5020,5030 5030,5040 5030,5020 5010,5010 5010)) +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRDisjoint(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab ALL idx3 NULL NULL NULL 10 Using where +EXPLAIN DELETE FROM tab WHERE MBRDisjoint(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab ALL idx3 NULL NULL NULL 10 Using where +SET @g1 = ST_GeomFromText('POLYGON((5010 5010,5020 5020,5030 5030,5040 5030,5020 5010,5010 5010))'); +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBREquals(tab.c4, @g1) ORDER BY c1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where; Using filesort +SELECT c1,ST_Astext(c4) FROM tab WHERE MBREquals(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +10 POLYGON((5010 5010,5020 5020,5030 5030,5040 5030,5020 5010,5010 5010)) +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBREquals(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +EXPLAIN DELETE FROM tab WHERE MBREquals(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +SET @g1 = ST_GeomFromText( 'POLYGON((0 0,0 30,30 40,40 50,50 30,0 0))'); +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRIntersects(tab.c4, @g1) ORDER BY c1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 2 Using where; Using filesort +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRIntersects(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +1 POLYGON((30 30,40 40,50 50,30 50,30 40,30 30)) +2 POLYGON((40 50,40 70,50 100,70 100,80 80,70 50,40 50)) +3 POLYGON((7 1,6 2,6 3,10 3,10 1,7 1)) +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRintersects(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 2 Using where +EXPLAIN DELETE FROM tab WHERE MBRintersects(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 2 Using where +SET @g1 = ST_GeomFromText('LINESTRING( 30 30,40 40,50 50)'); +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRIntersects(tab.c4, @g1) ORDER BY c1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where; Using filesort +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRIntersects(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +1 POLYGON((30 30,40 40,50 50,30 50,30 40,30 30)) +2 POLYGON((40 50,40 70,50 100,70 100,80 80,70 50,40 50)) +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRintersects(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +EXPLAIN DELETE FROM tab WHERE MBRintersects(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +SET @g1 = ST_GeomFromText( 'POLYGON((0 0,0 2,4 5,5 5,7 1,0 0 ))'); +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBROverlaps(tab.c4, @g1) ORDER BY c1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where; Using filesort +SELECT c1,ST_Astext(c4) FROM tab WHERE MBROverlaps(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +3 POLYGON((7 1,6 2,6 3,10 3,10 1,7 1)) +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBROverlaps(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +EXPLAIN DELETE FROM tab WHERE MBROverlaps(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +SET @g1 = ST_GeomFromText('LINESTRING(7 1,30 30,1010 3010,1010 2010,3010 3010,4010 4010,5010 5010 )'); +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBROverlaps(tab.c4, @g1) ORDER BY c1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab ALL idx3 NULL NULL NULL 10 Using where; Using filesort +SELECT c1,ST_Astext(c4) FROM tab WHERE MBROverlaps(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +3 POLYGON((7 1,6 2,6 3,10 3,10 1,7 1)) +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBROverlaps(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab ALL idx3 NULL NULL NULL 10 Using where +EXPLAIN DELETE FROM tab WHERE MBROverlaps(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab ALL idx3 NULL NULL NULL 10 Using where +SET @g1 = ST_GeomFromText( 'POLYGON((0 0,0 30,30 40,40 50,50 30,0 0))'); +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE ST_Touches(tab.c4, @g1) ORDER BY c1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 2 Using where; Using filesort +SELECT c1,ST_Astext(c4) FROM tab WHERE ST_Touches(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +2 POLYGON((40 50,40 70,50 100,70 100,80 80,70 50,40 50)) +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE ST_Touches(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 2 Using where +EXPLAIN DELETE FROM tab WHERE ST_Touches(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 2 Using where +SET @g1 = ST_GeomFromText('LINESTRING( 100 100,200 200,300 300)'); +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE ST_Touches(tab.c4, @g1) ORDER BY c1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where; Using filesort +SELECT c1,ST_Astext(c4) FROM tab WHERE ST_Touches(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +4 POLYGON((300 300,400 400,500 500,300 500,300 400,300 300)) +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE ST_Touches(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +EXPLAIN DELETE FROM tab WHERE ST_Touches(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +SET @g1 = ST_GeomFromText( 'POLYGON((7 1,6 2,6 3,10 3,10 1,7 1))'); +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRContains(tab.c4, @g1) ORDER BY c1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where; Using filesort +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRContains(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +3 POLYGON((7 1,6 2,6 3,10 3,10 1,7 1)) +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRContains(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +EXPLAIN DELETE FROM tab WHERE MBRContains(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +SET @g1 = ST_GeomFromText( 'POLYGON((30 30,40 40,50 50,30 50,30 40,30 30)) '); +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRWithin(tab.c4, @g1) ORDER BY c1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where; Using filesort +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRWithin(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +1 POLYGON((30 30,40 40,50 50,30 50,30 40,30 30)) +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRWithin(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +EXPLAIN DELETE FROM tab WHERE MBRWithin(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +SET @g1 = ST_GeomFromText('POLYGON((4 -2,5 -4,6 -5,7 -4,7 2,4 -2))'); +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRDisjoint(tab.c4, @g1) ORDER BY c1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab ALL idx3 NULL NULL NULL 10 Using where; Using filesort +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRDisjoint(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +1 POLYGON((30 30,40 40,50 50,30 50,30 40,30 30)) +2 POLYGON((40 50,40 70,50 100,70 100,80 80,70 50,40 50)) +4 POLYGON((300 300,400 400,500 500,300 500,300 400,300 300)) +5 POLYGON((1010 1010,1020 1020,1030 1030,1040 1030,1020 1010,1010 1010)) +6 POLYGON((2010 2010,2020 2020,2030 2030,2040 2030,2020 2010,2010 2010)) +7 POLYGON((3010 3010,3020 3020,3030 3030,3040 3030,3020 3010,3010 3010)) +8 POLYGON((3010 3010,3020 3020,3030 3030,3040 3030,3020 3010,3010 3010)) +9 POLYGON((4010 4010,4020 4020,4030 4030,4040 4030,4020 4010,4010 4010)) +10 POLYGON((5010 5010,5020 5020,5030 5030,5040 5030,5020 5010,5010 5010)) +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRDisjoint(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab ALL idx3 NULL NULL NULL 10 Using where +EXPLAIN DELETE FROM tab WHERE MBRDisjoint(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab ALL idx3 NULL NULL NULL 10 Using where +SET @g1 = ST_GeomFromText('POLYGON((5010 5010,5020 5020,5030 5030,5040 5030,5020 5010,5010 5010))'); +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBREquals(tab.c4, @g1) ORDER BY c1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where; Using filesort +SELECT c1,ST_Astext(c4) FROM tab WHERE MBREquals(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +10 POLYGON((5010 5010,5020 5020,5030 5030,5040 5030,5020 5010,5010 5010)) +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBREquals(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +EXPLAIN DELETE FROM tab WHERE MBREquals(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +SET @g1 = ST_GeomFromText( 'POLYGON((0 0,0 30,30 40,40 50,50 30,0 0))'); +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRIntersects(tab.c4, @g1) ORDER BY c1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 2 Using where; Using filesort +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRIntersects(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +1 POLYGON((30 30,40 40,50 50,30 50,30 40,30 30)) +2 POLYGON((40 50,40 70,50 100,70 100,80 80,70 50,40 50)) +3 POLYGON((7 1,6 2,6 3,10 3,10 1,7 1)) +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRintersects(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 2 Using where +EXPLAIN DELETE FROM tab WHERE MBRintersects(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 2 Using where +SET @g1 = ST_GeomFromText('LINESTRING( 30 30,40 40,50 50)'); +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRIntersects(tab.c4, @g1) ORDER BY c1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where; Using filesort +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRIntersects(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +1 POLYGON((30 30,40 40,50 50,30 50,30 40,30 30)) +2 POLYGON((40 50,40 70,50 100,70 100,80 80,70 50,40 50)) +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRintersects(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +EXPLAIN DELETE FROM tab WHERE MBRintersects(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +SET @g1 = ST_GeomFromText( 'POLYGON((0 0,0 2,4 5,5 5,7 1,0 0 ))'); +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBROverlaps(tab.c4, @g1) ORDER BY c1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where; Using filesort +SELECT c1,ST_Astext(c4) FROM tab WHERE MBROverlaps(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +3 POLYGON((7 1,6 2,6 3,10 3,10 1,7 1)) +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBROverlaps(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +EXPLAIN DELETE FROM tab WHERE MBROverlaps(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +SET @g1 = ST_GeomFromText( 'POLYGON((0 0,0 30,30 40,40 50,50 30,0 0))'); +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRTouches(tab.c4, @g1) ORDER BY c1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 2 Using where; Using filesort +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRTouches(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +2 POLYGON((40 50,40 70,50 100,70 100,80 80,70 50,40 50)) +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRTouches(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 2 Using where +EXPLAIN DELETE FROM tab WHERE MBRTouches(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 2 Using where +CREATE PROCEDURE proc_wl6968() +BEGIN +SET @g1 = ST_GeomFromText('POLYGON((5010 5010,5020 5020,5030 5030,5040 5030,5020 5010,5010 5010))'); +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBREquals(tab.c4, @g1) ORDER BY c1; +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBREquals(tab.c4, @g1); +EXPLAIN DELETE FROM tab WHERE MBREquals(tab.c4, @g1); +END | +CALL proc_wl6968(); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where; Using filesort +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +SET @g1 = ST_GeomFromText( 'POLYGON((30 30,40 40,50 50,30 50,30 40,30 30)) '); +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRWithin(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +1 POLYGON((30 30,40 40,50 50,30 50,30 40,30 30)) +DELETE FROM tab WHERE MBRWithin(tab.c4, @g1); +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRWithin(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +CHECK TABLE tab; +Table Op Msg_type Msg_text +test.tab check status OK +SET @g1 = ST_GeomFromText('POLYGON((100 200,200 300,400 500,500 300,300 200,100 300,100 200))'); +SELECT c1,ST_Astext(c4) FROM tab WHERE ST_Crosses(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +4 POLYGON((300 300,400 400,500 500,300 500,300 400,300 300)) +DELETE FROM tab WHERE ST_Crosses(tab.c4, @g1); +SELECT c1,ST_Astext(c4) FROM tab WHERE ST_Crosses(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +SET @g1 = ST_GeomFromText( 'POLYGON((0 0,0 2,4 5,5 5,7 1,0 0 ))'); +SET @g2 = ST_GeomFromText( 'POLYGON((1 1,2 2,3 3,10 3,5 1,1 1))'); +UPDATE tab SET C4 = @g2 WHERE MBROverlaps(tab.c4, @g1); +SELECT c1,ST_Astext(c4) FROM tab WHERE MBROverlaps(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +3 POLYGON((1 1,2 2,3 3,10 3,5 1,1 1)) +CHECK TABLE tab; +Table Op Msg_type Msg_text +test.tab check status OK +DROP TABLE tab; +DROP PROCEDURE proc_wl6968; +CREATE TABLE tab(c1 int AUTO_INCREMENT PRIMARY KEY,c2 POINT NOT NULL, +c3 LINESTRING NOT NULL,c4 POLYGON NOT NULL,c5 GEOMETRY NOT NULL) +ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=16; +CREATE SPATIAL INDEX idx1 on tab(c2 ASC); +CREATE SPATIAL INDEX idx2 on tab(c3 DESC) COMMENT 'wl6968'; +CREATE SPATIAL INDEX idx3 on tab(c4 ASC) KEY_BLOCK_SIZE=16 ; +CREATE SPATIAL INDEX idx4 on tab(c5 DESC) KEY_BLOCK_SIZE=16 +COMMENT 'Spatial index on Geometry type column'; +SHOW INDEXES FROM tab; +Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored +tab 0 PRIMARY 1 c1 A 0 NULL NULL BTREE NO +tab 1 idx1 1 c2 A NULL 32 NULL SPATIAL NO +tab 1 idx2 1 c3 A NULL 32 NULL SPATIAL wl6968 NO +tab 1 idx3 1 c4 A NULL 32 NULL SPATIAL NO +tab 1 idx4 1 c5 A NULL 32 NULL SPATIAL Spatial index on Geometry type column NO +INSERT INTO tab(c2,c3,c4,c5) +VALUES(ST_GeomFromText('POINT(10 10)'),ST_GeomFromText('LINESTRING(5 5,20 20,30 30)'), +ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))'), +ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))')); +INSERT INTO tab(c2,c3,c4,c5) +VALUES(ST_GeomFromText('POINT(20 20)'),ST_GeomFromText('LINESTRING(20 20,30 30,40 40)'), +ST_GeomFromText('POLYGON((40 50,40 70,50 100,70 100,80 80,70 50,40 50))'), +ST_GeomFromText('POLYGON((40 50,40 70,50 100,70 100,80 80,70 50,40 50))')); +INSERT INTO tab(c2,c3,c4,c5) +VALUES(ST_GeomFromText('POINT(4 4)'),ST_GeomFromText('LINESTRING(130 130,140 140,150 150)'), +ST_GeomFromText('POLYGON((7 1,6 2,6 3,10 3,10 1,7 1))'), +ST_GeomFromText('POLYGON((4 -2,5 -4,6 -5,7 -4,7 2,4 -2))')); +INSERT INTO tab(c2,c3,c4,c5) +VALUES(ST_GeomFromText('POINT(50 50)'),ST_GeomFromText('LINESTRING(200 200,300 300,400 400)'), +ST_GeomFromText('POLYGON((300 300,400 400,500 500,300 500,300 400,300 300))'), +ST_GeomFromText('POLYGON((300 300,400 400,500 500,300 500,300 400,300 300))')); +INSERT INTO tab(c2,c3,c4,c5) +VALUES(ST_GeomFromText('POINT(3 3)'),ST_GeomFromText('LINESTRING(400 400,500 500,600 700)'), +ST_GeomFromText('POLYGON((1010 1010,1020 1020,1030 1030,1040 1030,1020 1010,1010 1010))'), +ST_GeomFromText('POLYGON((1010 1010,1020 1020,1030 1030,1040 1030,1020 1010,1010 1010))')); +INSERT INTO tab(c2,c3,c4,c5) +VALUES(ST_GeomFromText('POINT(3 3)'),ST_GeomFromText('LINESTRING(40 40,50 50,60 70)'), +ST_GeomFromText('POLYGON((2010 2010,2020 2020,2030 2030,2040 2030,2020 2010,2010 2010))'), +ST_GeomFromText('POLYGON((2010 2010,2020 2020,2030 2030,2040 2030,2020 2010,2010 2010))')); +INSERT INTO tab(c2,c3,c4,c5) +VALUES(ST_GeomFromText('POINT(60 70)'),ST_GeomFromText('LINESTRING(40 40,50 50,60 70)'), +ST_GeomFromText('POLYGON((3010 3010,3020 3020,3030 3030,3040 3030,3020 3010,3010 3010))'), +ST_GeomFromText('POLYGON((3010 3010,3020 3020,3030 3030,3040 3030,3020 3010,3010 3010))')); +INSERT INTO tab(c2,c3,c4,c5) +VALUES(ST_GeomFromText('POINT(0 0)'),ST_GeomFromText('LINESTRING(40 40,50 50,60 70)'), +ST_GeomFromText('POLYGON((3010 3010,3020 3020,3030 3030,3040 3030,3020 3010,3010 3010))'), +ST_GeomFromText('POLYGON((3010 3010,3020 3020,3030 3030,3040 3030,3020 3010,3010 3010))')); +INSERT INTO tab(c2,c3,c4,c5) +VALUES(ST_GeomFromText('POINT(120 120)'),ST_GeomFromText('LINESTRING(100 100,110 110,120 120)'), +ST_GeomFromText('POLYGON((4010 4010,4020 4020,4030 4030,4040 4030,4020 4010,4010 4010))'), +ST_GeomFromText('POLYGON((4010 4010,4020 4020,4030 4030,4040 4030,4020 4010,4010 4010))')); +INSERT INTO tab(c2,c3,c4,c5) +VALUES(ST_GeomFromText('POINT(160 160)'),ST_GeomFromText('LINESTRING(140 140,150 150,160 160)'), +ST_GeomFromText('POLYGON((5010 5010,5020 5020,5030 5030,5040 5030,5020 5010,5010 5010))'), +ST_GeomFromText('POLYGON((5010 5010,5020 5020,5030 5030,5040 5030,5020 5010,5010 5010))')); +ANALYZE TABLE tab; +Table Op Msg_type Msg_text +test.tab analyze status Engine-independent statistics collected +test.tab analyze status OK +SET @g1 = ST_GeomFromText( 'POLYGON((7 1,6 2,6 3,10 3,10 1,7 1))'); +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRContains(tab.c4, @g1) ORDER BY c1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where; Using filesort +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRContains(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +3 POLYGON((7 1,6 2,6 3,10 3,10 1,7 1)) +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRContains(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +EXPLAIN DELETE FROM tab WHERE MBRContains(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +SET @g1 = ST_GeomFromText('LINESTRING( 300 300,400 400)'); +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRContains(tab.c4, @g1) ORDER BY c1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where; Using filesort +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRContains(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +4 POLYGON((300 300,400 400,500 500,300 500,300 400,300 300)) +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRContains(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +EXPLAIN DELETE FROM tab WHERE MBRContains(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +SET @g1 = ST_GeomFromText( 'POLYGON((30 30,40 40,50 50,30 50,30 40,30 30)) '); +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRWithin(tab.c4, @g1) ORDER BY c1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where; Using filesort +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRWithin(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +1 POLYGON((30 30,40 40,50 50,30 50,30 40,30 30)) +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRWithin(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +EXPLAIN DELETE FROM tab WHERE MBRWithin(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +SET @g1 = ST_GeomFromText('POLYGON((100 200,200 300,400 500,500 300,300 200,100 300,100 200))'); +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE ST_Crosses(tab.c4, @g1) ORDER BY c1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where; Using filesort +SELECT c1,ST_Astext(c4) FROM tab WHERE ST_Crosses(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +4 POLYGON((300 300,400 400,500 500,300 500,300 400,300 300)) +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE ST_Crosses(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +EXPLAIN DELETE FROM tab WHERE ST_Crosses(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +SET @g1 = ST_GeomFromText('LINESTRING( 10 10,30 30,40 40)'); +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE ST_CRosses(tab.c4, @g1) ORDER BY c1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where; Using filesort +SELECT c1,ST_Astext(c4) FROM tab WHERE ST_Crosses(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +1 POLYGON((30 30,40 40,50 50,30 50,30 40,30 30)) +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE ST_Crosses(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +EXPLAIN DELETE FROM tab WHERE ST_Crosses(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +SET @g1 = ST_GeomFromText('POLYGON((4 -2,5 -4,6 -5,7 -4,7 2,4 -2))'); +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRDisjoint(tab.c4, @g1) ORDER BY c1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab index idx3 PRIMARY 4 NULL 10 Using where +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRDisjoint(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +1 POLYGON((30 30,40 40,50 50,30 50,30 40,30 30)) +2 POLYGON((40 50,40 70,50 100,70 100,80 80,70 50,40 50)) +4 POLYGON((300 300,400 400,500 500,300 500,300 400,300 300)) +5 POLYGON((1010 1010,1020 1020,1030 1030,1040 1030,1020 1010,1010 1010)) +6 POLYGON((2010 2010,2020 2020,2030 2030,2040 2030,2020 2010,2010 2010)) +7 POLYGON((3010 3010,3020 3020,3030 3030,3040 3030,3020 3010,3010 3010)) +8 POLYGON((3010 3010,3020 3020,3030 3030,3040 3030,3020 3010,3010 3010)) +9 POLYGON((4010 4010,4020 4020,4030 4030,4040 4030,4020 4010,4010 4010)) +10 POLYGON((5010 5010,5020 5020,5030 5030,5040 5030,5020 5010,5010 5010)) +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRDisjoint(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab index idx3 PRIMARY 4 NULL 10 Using where +EXPLAIN DELETE FROM tab WHERE MBRDisjoint(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab ALL idx3 NULL NULL NULL 10 Using where +SET @g1 = ST_GeomFromText('POLYGON((5010 5010,5020 5020,5030 5030,5040 5030,5020 5010,5010 5010))'); +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBREquals(tab.c4, @g1) ORDER BY c1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where; Using filesort +SELECT c1,ST_Astext(c4) FROM tab WHERE MBREquals(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +10 POLYGON((5010 5010,5020 5020,5030 5030,5040 5030,5020 5010,5010 5010)) +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBREquals(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +EXPLAIN DELETE FROM tab WHERE MBREquals(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +SET @g1 = ST_GeomFromText( 'POLYGON((0 0,0 30,30 40,40 50,50 30,0 0))'); +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRIntersects(tab.c4, @g1) ORDER BY c1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 2 Using where; Using filesort +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRIntersects(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +1 POLYGON((30 30,40 40,50 50,30 50,30 40,30 30)) +2 POLYGON((40 50,40 70,50 100,70 100,80 80,70 50,40 50)) +3 POLYGON((7 1,6 2,6 3,10 3,10 1,7 1)) +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRintersects(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 2 Using where +EXPLAIN DELETE FROM tab WHERE MBRintersects(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 2 Using where +SET @g1 = ST_GeomFromText('LINESTRING( 30 30,40 40,50 50)'); +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRIntersects(tab.c4, @g1) ORDER BY c1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where; Using filesort +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRIntersects(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +1 POLYGON((30 30,40 40,50 50,30 50,30 40,30 30)) +2 POLYGON((40 50,40 70,50 100,70 100,80 80,70 50,40 50)) +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRintersects(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +EXPLAIN DELETE FROM tab WHERE MBRintersects(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +SET @g1 = ST_GeomFromText( 'POLYGON((0 0,0 2,4 5,5 5,7 1,0 0 ))'); +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBROverlaps(tab.c4, @g1) ORDER BY c1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where; Using filesort +SELECT c1,ST_Astext(c4) FROM tab WHERE MBROverlaps(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +3 POLYGON((7 1,6 2,6 3,10 3,10 1,7 1)) +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBROverlaps(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +EXPLAIN DELETE FROM tab WHERE MBROverlaps(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +SET @g1 = ST_GeomFromText('LINESTRING(7 1,30 30,1010 3010,1010 2010,3010 3010,4010 4010,5010 5010 )'); +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBROverlaps(tab.c4, @g1) ORDER BY c1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab index idx3 PRIMARY 4 NULL 10 Using where +SELECT c1,ST_Astext(c4) FROM tab WHERE MBROverlaps(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +3 POLYGON((7 1,6 2,6 3,10 3,10 1,7 1)) +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBROverlaps(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab index idx3 PRIMARY 4 NULL 10 Using where +EXPLAIN DELETE FROM tab WHERE MBROverlaps(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab ALL idx3 NULL NULL NULL 10 Using where +SET @g1 = ST_GeomFromText( 'POLYGON((0 0,0 30,30 40,40 50,50 30,0 0))'); +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE ST_Touches(tab.c4, @g1) ORDER BY c1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 2 Using where; Using filesort +SELECT c1,ST_Astext(c4) FROM tab WHERE ST_Touches(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +2 POLYGON((40 50,40 70,50 100,70 100,80 80,70 50,40 50)) +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE ST_Touches(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 2 Using where +EXPLAIN DELETE FROM tab WHERE ST_Touches(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 2 Using where +SET @g1 = ST_GeomFromText('LINESTRING( 100 100,200 200,300 300)'); +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE ST_Touches(tab.c4, @g1) ORDER BY c1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where; Using filesort +SELECT c1,ST_Astext(c4) FROM tab WHERE ST_Touches(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +4 POLYGON((300 300,400 400,500 500,300 500,300 400,300 300)) +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE ST_Touches(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +EXPLAIN DELETE FROM tab WHERE ST_Touches(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +SET @g1 = ST_GeomFromText( 'POLYGON((7 1,6 2,6 3,10 3,10 1,7 1))'); +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRContains(tab.c4, @g1) ORDER BY c1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where; Using filesort +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRContains(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +3 POLYGON((7 1,6 2,6 3,10 3,10 1,7 1)) +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRContains(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +EXPLAIN DELETE FROM tab WHERE MBRContains(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +SET @g1 = ST_GeomFromText( 'POLYGON((30 30,40 40,50 50,30 50,30 40,30 30)) '); +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRWithin(tab.c4, @g1) ORDER BY c1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where; Using filesort +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRWithin(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +1 POLYGON((30 30,40 40,50 50,30 50,30 40,30 30)) +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRWithin(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +EXPLAIN DELETE FROM tab WHERE MBRWithin(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +SET @g1 = ST_GeomFromText('POLYGON((4 -2,5 -4,6 -5,7 -4,7 2,4 -2))'); +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRDisjoint(tab.c4, @g1) ORDER BY c1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab index idx3 PRIMARY 4 NULL 10 Using where +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRDisjoint(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +1 POLYGON((30 30,40 40,50 50,30 50,30 40,30 30)) +2 POLYGON((40 50,40 70,50 100,70 100,80 80,70 50,40 50)) +4 POLYGON((300 300,400 400,500 500,300 500,300 400,300 300)) +5 POLYGON((1010 1010,1020 1020,1030 1030,1040 1030,1020 1010,1010 1010)) +6 POLYGON((2010 2010,2020 2020,2030 2030,2040 2030,2020 2010,2010 2010)) +7 POLYGON((3010 3010,3020 3020,3030 3030,3040 3030,3020 3010,3010 3010)) +8 POLYGON((3010 3010,3020 3020,3030 3030,3040 3030,3020 3010,3010 3010)) +9 POLYGON((4010 4010,4020 4020,4030 4030,4040 4030,4020 4010,4010 4010)) +10 POLYGON((5010 5010,5020 5020,5030 5030,5040 5030,5020 5010,5010 5010)) +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRDisjoint(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab index idx3 PRIMARY 4 NULL 10 Using where +EXPLAIN DELETE FROM tab WHERE MBRDisjoint(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab ALL idx3 NULL NULL NULL 10 Using where +SET @g1 = ST_GeomFromText('POLYGON((5010 5010,5020 5020,5030 5030,5040 5030,5020 5010,5010 5010))'); +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBREquals(tab.c4, @g1) ORDER BY c1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where; Using filesort +SELECT c1,ST_Astext(c4) FROM tab WHERE MBREquals(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +10 POLYGON((5010 5010,5020 5020,5030 5030,5040 5030,5020 5010,5010 5010)) +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBREquals(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +EXPLAIN DELETE FROM tab WHERE MBREquals(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +SET @g1 = ST_GeomFromText( 'POLYGON((0 0,0 30,30 40,40 50,50 30,0 0))'); +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRIntersects(tab.c4, @g1) ORDER BY c1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 2 Using where; Using filesort +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRIntersects(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +1 POLYGON((30 30,40 40,50 50,30 50,30 40,30 30)) +2 POLYGON((40 50,40 70,50 100,70 100,80 80,70 50,40 50)) +3 POLYGON((7 1,6 2,6 3,10 3,10 1,7 1)) +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRintersects(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 2 Using where +EXPLAIN DELETE FROM tab WHERE MBRintersects(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 2 Using where +SET @g1 = ST_GeomFromText('LINESTRING( 30 30,40 40,50 50)'); +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRIntersects(tab.c4, @g1) ORDER BY c1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where; Using filesort +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRIntersects(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +1 POLYGON((30 30,40 40,50 50,30 50,30 40,30 30)) +2 POLYGON((40 50,40 70,50 100,70 100,80 80,70 50,40 50)) +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRintersects(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +EXPLAIN DELETE FROM tab WHERE MBRintersects(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +SET @g1 = ST_GeomFromText( 'POLYGON((0 0,0 2,4 5,5 5,7 1,0 0 ))'); +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBROverlaps(tab.c4, @g1) ORDER BY c1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where; Using filesort +SELECT c1,ST_Astext(c4) FROM tab WHERE MBROverlaps(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +3 POLYGON((7 1,6 2,6 3,10 3,10 1,7 1)) +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBROverlaps(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +EXPLAIN DELETE FROM tab WHERE MBROverlaps(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 1 Using where +SET @g1 = ST_GeomFromText( 'POLYGON((0 0,0 30,30 40,40 50,50 30,0 0))'); +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRTouches(tab.c4, @g1) ORDER BY c1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 2 Using where; Using filesort +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRTouches(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +2 POLYGON((40 50,40 70,50 100,70 100,80 80,70 50,40 50)) +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRTouches(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 2 Using where +EXPLAIN DELETE FROM tab WHERE MBRTouches(tab.c4, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx3 idx3 34 NULL 2 Using where +SET @g1 = ST_GeomFromText('POLYGON((5010 5010,5020 5020,5030 5030,5040 5030,5020 5010,5010 5010))'); +SELECT c1,ST_Astext(c4) FROM tab WHERE MBREquals(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +10 POLYGON((5010 5010,5020 5020,5030 5030,5040 5030,5020 5010,5010 5010)) +DELETE FROM tab WHERE MBREquals(tab.c4, @g1); +SELECT c1,ST_Astext(c4) FROM tab WHERE MBREquals(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +CHECK TABLE tab; +Table Op Msg_type Msg_text +test.tab check status OK +SET @g1 = ST_GeomFromText( 'POLYGON((0 0,0 30,30 40,40 50,50 30,0 0))'); +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRIntersects(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +1 POLYGON((30 30,40 40,50 50,30 50,30 40,30 30)) +2 POLYGON((40 50,40 70,50 100,70 100,80 80,70 50,40 50)) +3 POLYGON((7 1,6 2,6 3,10 3,10 1,7 1)) +DELETE FROM tab WHERE MBRIntersects(tab.c4, @g1); +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRIntersects(tab.c4, @g1) ORDER BY c1; +c1 ST_Astext(c4) +CHECK TABLE tab; +Table Op Msg_type Msg_text +test.tab check status OK +DROP TABLE tab; +CREATE TABLE tab(c1 POINT NOT NULL,CONSTRAINT tab_const check(c1 > 0) ) ENGINE=InnoDB; +ERROR HY000: Illegal parameter data types point and int for operation '>' +CREATE TABLE tab(c1 POINT NOT NULL,CONSTRAINT tab_const check(CAST(c1 AS BINARY) > 0) ) ENGINE=InnoDB; +CREATE SPATIAL INDEX idx1 ON tab(c1) ; +SHOW CREATE TABLE tab; +Table Create Table +tab CREATE TABLE `tab` ( + `c1` point NOT NULL, + SPATIAL KEY `idx1` (`c1`), + CONSTRAINT `tab_const` CHECK (cast(`c1` as char charset binary) > 0) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci +SHOW INDEX FROM tab; +Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored +tab 1 idx1 1 c1 A NULL 32 NULL SPATIAL NO +set @g1 = ST_GeomFromText('POINT(-1 -2)'); +SELECT ST_AsText(c1) FROM tab; +ST_AsText(c1) +DROP table tab; +create table `t1`(`a` geometry not null,`b` linestring not null, +primary key (`b`(192),`a`(141)),spatial key (`b`)) engine=innodb; +insert into `t1` values( +point(1,1), +linestring(point(1,1),point(1,1)) +); +insert into `t1` values +( +polygon( +linestring(point(1,1),point(1,1)), +linestring(point(1,1),point(11,1)) +), +linestring(point(1,1),point(1,1)) +); +ERROR 23000: Column 'a' cannot be null +select 1 from t1 where st_intersects( +geometrycollection(point(1,-1)),b +); +1 +drop table t1; +CREATE TABLE t1(c1 POINT NOT NULL); +DROP TABLE mysql.innodb_table_stats; +CALL mtr.add_suppression("InnoDB: Table `mysql`.`innodb_table_stats` not found."); +CALL mtr.add_suppression("InnoDB: Fetch of persistent statistics requested for table `test`.`t1` but the required system tables mysql.innodb_table_stats and mysql.innodb_index_stats are not present or have unexpected structure. Using transient stats instead."); +CREATE SPATIAL INDEX idx2 ON t1(c1); +DROP TABLE t1; +CREATE TABLE mysql.innodb_table_stats ( +database_name varchar(64) COLLATE utf8_bin NOT NULL, +table_name varchar(199) COLLATE utf8_bin NOT NULL, +last_update timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, +n_rows bigint(20) unsigned NOT NULL, +clustered_index_size bigint(20) unsigned NOT NULL, +sum_of_other_index_sizes bigint(20) unsigned NOT NULL, +PRIMARY KEY (`database_name`,`table_name`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin STATS_PERSISTENT=0; diff --git a/mysql-test/suite/innodb_gis/r/geometry.result b/mysql-test/suite/innodb_gis/r/geometry.result new file mode 100644 index 00000000..c38e9e28 --- /dev/null +++ b/mysql-test/suite/innodb_gis/r/geometry.result @@ -0,0 +1,1118 @@ +SET default_storage_engine=InnoDB; +SET innodb_strict_mode=OFF; +SET @save_innodb_stats_persistent=@@GLOBAL.innodb_stats_persistent; +SET GLOBAL innodb_stats_persistent=0; +CREATE TABLE gis_point (fid INTEGER NOT NULL PRIMARY KEY, g POINT) ENGINE=InnoDB; +CREATE TABLE gis_line (fid INTEGER NOT NULL PRIMARY KEY, g LINESTRING) ENGINE=InnoDB; +CREATE TABLE gis_polygon (fid INTEGER NOT NULL PRIMARY KEY, g POLYGON) ENGINE=InnoDB; +CREATE TABLE gis_multi_point (fid INTEGER NOT NULL PRIMARY KEY, g MULTIPOINT) ENGINE=InnoDB; +CREATE TABLE gis_multi_line (fid INTEGER NOT NULL PRIMARY KEY, g MULTILINESTRING) ENGINE=InnoDB; +CREATE TABLE gis_multi_polygon (fid INTEGER NOT NULL PRIMARY KEY, g MULTIPOLYGON) ENGINE=InnoDB; +CREATE TABLE gis_geometrycollection (fid INTEGER NOT NULL PRIMARY KEY, g GEOMETRYCOLLECTION) ENGINE=InnoDB; +CREATE TABLE gis_geometry (fid INTEGER NOT NULL PRIMARY KEY, g GEOMETRY) ENGINE=InnoDB; +SHOW FIELDS FROM gis_point; +Field Type Null Key Default Extra +fid int(11) NO PRI NULL +g point YES NULL +SHOW FIELDS FROM gis_line; +Field Type Null Key Default Extra +fid int(11) NO PRI NULL +g linestring YES NULL +SHOW FIELDS FROM gis_polygon; +Field Type Null Key Default Extra +fid int(11) NO PRI NULL +g polygon YES NULL +SHOW FIELDS FROM gis_multi_point; +Field Type Null Key Default Extra +fid int(11) NO PRI NULL +g multipoint YES NULL +SHOW FIELDS FROM gis_multi_line; +Field Type Null Key Default Extra +fid int(11) NO PRI NULL +g multilinestring YES NULL +SHOW FIELDS FROM gis_multi_polygon; +Field Type Null Key Default Extra +fid int(11) NO PRI NULL +g multipolygon YES NULL +SHOW FIELDS FROM gis_geometrycollection; +Field Type Null Key Default Extra +fid int(11) NO PRI NULL +g geometrycollection YES NULL +SHOW FIELDS FROM gis_geometry; +Field Type Null Key Default Extra +fid int(11) NO PRI NULL +g geometry YES NULL +#INSERT using all WKT & WKB functions +INSERT INTO gis_point VALUES +(101, ST_PointFromText('POINT(10 10)')), +(102, ST_PointFromText('POINT(20 10)')), +(103, ST_PointFromText('POINT(20 20)')), +(104, ST_PointFromWKB(ST_AsWKB(ST_PointFromText('POINT(10 20)')))); +INSERT INTO gis_line VALUES +(105, ST_LineFromText('LINESTRING(0 0,0 10,10 0)')), +(106, ST_LineStringFromText('LINESTRING(10 10,20 10,20 20,10 20,10 10)')), +(107, ST_LineStringFromWKB(ST_AsWKB(LineString(Point(10, 10), Point(40, 10))))); +INSERT INTO gis_polygon VALUES +(108, ST_PolygonFromText('POLYGON((10 10,20 10,20 20,10 20,10 10))')), +(109, ST_PolyFromText('POLYGON((0 0,50 0,50 50,0 50,0 0), (10 10,20 10,20 20,10 20,10 10))')), +(110, ST_PolyFromWKB(ST_AsWKB(Polygon(LineString(Point(0, 0), Point(30, 0), Point(30, 30), Point(0, 0)))))); +INSERT INTO gis_multi_point VALUES +(111, ST_MultiPointFromText('MULTIPOINT(0 0,10 10,10 20,20 20)')), +(112, ST_MPointFromText('MULTIPOINT(1 1,11 11,11 21,21 21)')), +(113, ST_MPointFromWKB(ST_AsWKB(MultiPoint(Point(3, 6), Point(4, 10))))); +INSERT INTO gis_multi_line VALUES +(114, ST_MultiLineStringFromText('MULTILINESTRING((10 48,10 21,10 0),(16 0,16 23,16 48))')), +(115, ST_MLineFromText('MULTILINESTRING((10 48,10 21,10 0))')), +(116, ST_MLineFromWKB(ST_AsWKB(MultiLineString(LineString(Point(1, 2), Point(3, 5)), LineString(Point(2, 5), Point(5, 8), Point(21, 7)))))); +INSERT INTO gis_multi_polygon VALUES +(117, ST_MultiPolygonFromText('MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)), +((59 18,67 18,67 13,59 13,59 18)))')), +(118, ST_MPolyFromText('MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26), +(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))')), +(119, ST_MPolyFromWKB(ST_AsWKB(MultiPolygon(Polygon(LineString(Point(0, 3), Point(3, 3), Point(3, 0), Point(0, 3))))))); +INSERT INTO gis_geometrycollection VALUES +(120, ST_GeomCollFromText('GEOMETRYCOLLECTION(POINT(0 0), LINESTRING(0 0,10 10))')), +(121, ST_GeometryCollectionFromText('GEOMETRYCOLLECTION(POINT(10 10), LINESTRING(10 10,20 20))')), +(122, ST_GeometryFromWKB(ST_AsWKB(GeometryCollection(Point(44, 6), LineString(Point(3, 6), Point(7, 9)))))); +#check INSERT using SELECT query +INSERT into gis_geometry SELECT * FROM gis_point; +INSERT into gis_geometry SELECT * FROM gis_line; +INSERT into gis_geometry SELECT * FROM gis_polygon; +INSERT into gis_geometry SELECT * FROM gis_multi_point; +INSERT into gis_geometry SELECT * FROM gis_multi_line; +INSERT into gis_geometry SELECT * FROM gis_multi_polygon; +INSERT into gis_geometry SELECT * FROM gis_geometrycollection; +#check format coversion functions & spatial values +SELECT fid, ST_AsText(g) FROM gis_point; +fid ST_AsText(g) +101 POINT(10 10) +102 POINT(20 10) +103 POINT(20 20) +104 POINT(10 20) +SELECT fid, ST_AsText(g) FROM gis_line; +fid ST_AsText(g) +105 LINESTRING(0 0,0 10,10 0) +106 LINESTRING(10 10,20 10,20 20,10 20,10 10) +107 LINESTRING(10 10,40 10) +SELECT fid, ST_AsText(g) FROM gis_polygon; +fid ST_AsText(g) +108 POLYGON((10 10,20 10,20 20,10 20,10 10)) +109 POLYGON((0 0,50 0,50 50,0 50,0 0),(10 10,20 10,20 20,10 20,10 10)) +110 POLYGON((0 0,30 0,30 30,0 0)) +SELECT fid, ST_AsText(g) FROM gis_multi_point; +fid ST_AsText(g) +111 MULTIPOINT(0 0,10 10,10 20,20 20) +112 MULTIPOINT(1 1,11 11,11 21,21 21) +113 MULTIPOINT(3 6,4 10) +SELECT fid, ST_AsText(g) FROM gis_multi_line; +fid ST_AsText(g) +114 MULTILINESTRING((10 48,10 21,10 0),(16 0,16 23,16 48)) +115 MULTILINESTRING((10 48,10 21,10 0)) +116 MULTILINESTRING((1 2,3 5),(2 5,5 8,21 7)) +SELECT fid, ST_AsText(g) FROM gis_multi_polygon; +fid ST_AsText(g) +117 MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18))) +118 MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18))) +119 MULTIPOLYGON(((0 3,3 3,3 0,0 3))) +SELECT fid, ST_AsText(g) FROM gis_geometrycollection; +fid ST_AsText(g) +120 GEOMETRYCOLLECTION(POINT(0 0),LINESTRING(0 0,10 10)) +121 GEOMETRYCOLLECTION(POINT(10 10),LINESTRING(10 10,20 20)) +122 GEOMETRYCOLLECTION(POINT(44 6),LINESTRING(3 6,7 9)) +SELECT fid, ST_AsText(g) FROM gis_geometry; +fid ST_AsText(g) +101 POINT(10 10) +102 POINT(20 10) +103 POINT(20 20) +104 POINT(10 20) +105 LINESTRING(0 0,0 10,10 0) +106 LINESTRING(10 10,20 10,20 20,10 20,10 10) +107 LINESTRING(10 10,40 10) +108 POLYGON((10 10,20 10,20 20,10 20,10 10)) +109 POLYGON((0 0,50 0,50 50,0 50,0 0),(10 10,20 10,20 20,10 20,10 10)) +110 POLYGON((0 0,30 0,30 30,0 0)) +111 MULTIPOINT(0 0,10 10,10 20,20 20) +112 MULTIPOINT(1 1,11 11,11 21,21 21) +113 MULTIPOINT(3 6,4 10) +114 MULTILINESTRING((10 48,10 21,10 0),(16 0,16 23,16 48)) +115 MULTILINESTRING((10 48,10 21,10 0)) +116 MULTILINESTRING((1 2,3 5),(2 5,5 8,21 7)) +117 MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18))) +118 MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18))) +119 MULTIPOLYGON(((0 3,3 3,3 0,0 3))) +120 GEOMETRYCOLLECTION(POINT(0 0),LINESTRING(0 0,10 10)) +121 GEOMETRYCOLLECTION(POINT(10 10),LINESTRING(10 10,20 20)) +122 GEOMETRYCOLLECTION(POINT(44 6),LINESTRING(3 6,7 9)) +#2.1 check DDL functionality on GIS datatypes +CREATE TABLE tab(c1 POINT,c2 LINESTRING,c3 POLYGON,C4 MULTIPOINT,c5 MULTILINESTRING , +c6 MULTIPOLYGON,c7 GEOMETRYCOLLECTION ,c8 GEOMETRY) ENGINE=InnoDB; +#check information schema for all the columns refer to 14, except POINT which is 15 +SELECT sc.name, sc.pos, sc.mtype +FROM information_schema.innodb_sys_columns sc +INNER JOIN information_schema.innodb_sys_tables st +ON sc.TABLE_ID=st.TABLE_ID +WHERE st.NAME='test/tab' +ORDER BY sc.name; +name pos mtype +c1 0 14 +c2 1 14 +c3 2 14 +C4 3 14 +c5 4 14 +c6 5 14 +c7 6 14 +c8 7 14 +#check Perform convesrion before INSERT using WKT functions +SET @c1=ST_PointFromText('POINT(10 10)'); +SET @c2=ST_LineFromText('LINESTRING(10 10,20 20,30 30)'); +SET @c3=ST_PolyFromText('POLYGON((0 0,5 5,10 10,15 15,0 0),(10 10,20 20,30 30,40 40,10 10))'); +SET @c4=ST_MPointFromText('MULTIPOINT(0 0,5 5,10 10,20 20)'); +SET @c5=ST_MLineFromText('MULTILINESTRING((1 1,2 2,3 3),(10 10,20 20,30 30))'); +SET @c6=ST_MPolyFromText('MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))'); +SET @c7=ST_GeomCollFromText('GEOMETRYCOLLECTION(POINT(0 0), LINESTRING(0 0,10 10))'); +SET @c8=ST_GeomCollFromText('GeometryCollection(Point(1 1),LineString(2 2, 3 3))'); +#Insert the spatial values +INSERT INTO tab VALUES(@c1,@c2,@c3,@c4,@c5,@c6,@c7,@c8); +#check index on GIS datatypes +CREATE INDEX idx1 on tab(c2(5) DESC) USING BTREE; +CREATE INDEX idx3 on tab(c3(5) ASC) USING BTREE; +CREATE UNIQUE INDEX idx2 on tab(c8(5) ASC) ; +#check equality predicate on the index columns +EXPLAIN SELECT ST_ASText(c1),ST_AsText(c2),ST_AsText(c8) FROM tab +WHERE c2=ST_LineFromText('LINESTRING(10 10,20 20,30 30)'); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab ref idx1 idx1 8 const # Using where +#check index with WKB function +EXPLAIN SELECT ST_ASText(c1),ST_AsText(c2),ST_AsText(c8) +FROM tab WHERE c2=ST_LineStringFromWKB(ST_AsWKB(ST_LineFromText('LINESTRING(10 10,20 20,30 30)'))); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab ref idx1 idx1 8 const # Using where +#check index with WKT function +EXPLAIN SELECT ST_ASText(c1),ST_AsText(c2),ST_AsText(c8) FROM tab +WHERE c3=ST_PolyFromText('POLYGON((0 0,5 5,10 10,15 15,0 0),(10 10,20 20,30 30,40 40,10 10))'); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab ref idx3 idx3 8 const # Using where +#check index with WKB function +EXPLAIN SELECT ST_ASText(c1),ST_AsText(c2),ST_AsText(c8) +FROM tab +WHERE c3=ST_PolyFromWKB(ST_AsWkB(ST_PolyFromText('POLYGON((0 0,5 5,10 10,15 15,0 0),(10 10,20 20,30 30,40 40,10 10))'))); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab ref idx3 idx3 8 const # Using where +#check index with WKT function +EXPLAIN SELECT ST_ASText(c1),ST_AsText(c2),ST_AsText(c8) FROM tab +WHERE c8=ST_GeomCollFromText('GeometryCollection(Point(1 1),LineString(2 2, 3 3))'); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab const idx2 idx2 8 const # +#check index with WKB function +EXPLAIN SELECT ST_ASText(c1),ST_AsText(c2),ST_AsText(c8) +FROM tab +WHERE c8=ST_GeometryFromWKB(ST_AsWKB(ST_GeomCollFromText('GeometryCollection(Point(1 1),LineString(2 2, 3 3))'))); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab const idx2 idx2 8 const # +#check index with DELETE operation +EXPLAIN DELETE FROM tab +WHERE c8=ST_GeometryFromWKB(ST_AsWKB(ST_GeomCollFromText('GeometryCollection(Point(1 1),LineString(2 2, 3 3))'))); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab range idx2 idx2 8 NULL # Using where +#check the spatial values +SELECT ST_AsText(c1) FROM tab; +ST_AsText(c1) +POINT(10 10) +SELECT ST_AsText(c2) FROM tab; +ST_AsText(c2) +LINESTRING(10 10,20 20,30 30) +SELECT ST_AsText(c3) FROM tab; +ST_AsText(c3) +POLYGON((0 0,5 5,10 10,15 15,0 0),(10 10,20 20,30 30,40 40,10 10)) +SELECT ST_AsText(c4) FROM tab; +ST_AsText(c4) +MULTIPOINT(0 0,5 5,10 10,20 20) +SELECT ST_AsText(c5) FROM tab; +ST_AsText(c5) +MULTILINESTRING((1 1,2 2,3 3),(10 10,20 20,30 30)) +SELECT ST_AsText(c6) FROM tab; +ST_AsText(c6) +MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18))) +SELECT ST_AsText(c7) FROM tab; +ST_AsText(c7) +GEOMETRYCOLLECTION(POINT(0 0),LINESTRING(0 0,10 10)) +SELECT ST_AsText(c8) From tab; +ST_AsText(c8) +GEOMETRYCOLLECTION(POINT(1 1),LINESTRING(2 2,3 3)) +#check by modify the column type +ALTER TABLE tab MODIFY COLUMN c1 Geometry; +ALTER TABLE tab MODIFY COLUMN c2 Geometry; +ALTER TABLE tab MODIFY COLUMN c3 Geometry; +ALTER TABLE tab MODIFY COLUMN c4 Geometry; +ALTER TABLE tab MODIFY COLUMN c5 Geometry; +ALTER TABLE tab MODIFY COLUMN c6 Geometry; +ALTER TABLE tab MODIFY COLUMN c7 Geometry; +#check column datatypes +SHOW FIELDS FROM tab; +Field Type Null Key Default Extra +c1 geometry YES NULL +c2 geometry YES MUL NULL +c3 geometry YES MUL NULL +c4 geometry YES NULL +c5 geometry YES NULL +c6 geometry YES NULL +c7 geometry YES NULL +c8 geometry YES UNI NULL +#check the data after modify +SELECT ST_AsText(c1) FROM tab; +ST_AsText(c1) +POINT(10 10) +SELECT ST_AsText(c2) FROM tab; +ST_AsText(c2) +LINESTRING(10 10,20 20,30 30) +SELECT ST_AsText(c3) FROM tab; +ST_AsText(c3) +POLYGON((0 0,5 5,10 10,15 15,0 0),(10 10,20 20,30 30,40 40,10 10)) +SELECT ST_AsText(c4) FROM tab; +ST_AsText(c4) +MULTIPOINT(0 0,5 5,10 10,20 20) +SELECT ST_AsText(c5) FROM tab; +ST_AsText(c5) +MULTILINESTRING((1 1,2 2,3 3),(10 10,20 20,30 30)) +SELECT ST_AsText(c6) FROM tab; +ST_AsText(c6) +MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18))) +SELECT ST_AsText(c7) FROM tab; +ST_AsText(c7) +GEOMETRYCOLLECTION(POINT(0 0),LINESTRING(0 0,10 10)) +SELECT ST_AsText(c8) From tab; +ST_AsText(c8) +GEOMETRYCOLLECTION(POINT(1 1),LINESTRING(2 2,3 3)) +#check by modify the column type +ALTER TABLE tab MODIFY COLUMN c1 POINT; +ALTER TABLE tab MODIFY COLUMN c2 LINESTRING; +ALTER TABLE tab MODIFY COLUMN c3 POLYGON; +ALTER TABLE tab MODIFY COLUMN c4 MULTIPOINT; +ALTER TABLE tab MODIFY COLUMN c5 MULTILINESTRING; +ALTER TABLE tab MODIFY COLUMN c6 MULTIPOLYGON; +ALTER TABLE tab MODIFY COLUMN c7 GEOMETRYCOLLECTION; +#check column datatypes +SHOW FIELDS FROM tab; +Field Type Null Key Default Extra +c1 point YES NULL +c2 linestring YES MUL NULL +c3 polygon YES MUL NULL +c4 multipoint YES NULL +c5 multilinestring YES NULL +c6 multipolygon YES NULL +c7 geometrycollection YES NULL +c8 geometry YES UNI NULL +#check the data after modify +SELECT ST_AsText(c1) FROM tab; +ST_AsText(c1) +POINT(10 10) +SELECT ST_AsText(c2) FROM tab; +ST_AsText(c2) +LINESTRING(10 10,20 20,30 30) +SELECT ST_AsText(c3) FROM tab; +ST_AsText(c3) +POLYGON((0 0,5 5,10 10,15 15,0 0),(10 10,20 20,30 30,40 40,10 10)) +SELECT ST_AsText(c4) FROM tab; +ST_AsText(c4) +MULTIPOINT(0 0,5 5,10 10,20 20) +SELECT ST_AsText(c5) FROM tab; +ST_AsText(c5) +MULTILINESTRING((1 1,2 2,3 3),(10 10,20 20,30 30)) +SELECT ST_AsText(c6) FROM tab; +ST_AsText(c6) +MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18))) +SELECT ST_AsText(c7) FROM tab; +ST_AsText(c7) +GEOMETRYCOLLECTION(POINT(0 0),LINESTRING(0 0,10 10)) +SELECT ST_AsText(c8) From tab; +ST_AsText(c8) +GEOMETRYCOLLECTION(POINT(1 1),LINESTRING(2 2,3 3)) +#check change the column type +ALTER TABLE tab MODIFY COLUMN c1 BLOB; +#check column datatypes +SHOW CREATE TABLE tab; +Table Create Table +tab CREATE TABLE `tab` ( + `c1` blob DEFAULT NULL, + `c2` linestring DEFAULT NULL, + `c3` polygon DEFAULT NULL, + `c4` multipoint DEFAULT NULL, + `c5` multilinestring DEFAULT NULL, + `c6` multipolygon DEFAULT NULL, + `c7` geometrycollection DEFAULT NULL, + `c8` geometry DEFAULT NULL, + UNIQUE KEY `idx2` (`c8`(5)), + KEY `idx1` (`c2`(5) DESC) USING BTREE, + KEY `idx3` (`c3`(5)) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci +#check the data after modify +SELECT ST_AsText(c1) FROM tab; +ST_AsText(c1) +POINT(10 10) +#change the column name +ALTER TABLE tab CHANGE COLUMN c1 c0 GEOMETRY ; +#check column datatypes +SHOW FIELDS FROM tab; +Field Type Null Key Default Extra +c0 geometry YES NULL +c2 linestring YES MUL NULL +c3 polygon YES MUL NULL +c4 multipoint YES NULL +c5 multilinestring YES NULL +c6 multipolygon YES NULL +c7 geometrycollection YES NULL +c8 geometry YES UNI NULL +#add primary key +ALTER TABLE tab ADD PRIMARY KEY pk2(c8(5)); +Warnings: +Warning 1280 Name 'pk2' ignored for PRIMARY key. +#check columns +SHOW FIELDS FROM tab; +Field Type Null Key Default Extra +c0 geometry YES NULL +c2 linestring YES MUL NULL +c3 polygon YES MUL NULL +c4 multipoint YES NULL +c5 multilinestring YES NULL +c6 multipolygon YES NULL +c7 geometrycollection YES NULL +c8 geometry NO PRI NULL +#drop key +ALTER TABLE tab DROP PRIMARY KEY; +#check columns +SHOW FIELDS FROM tab; +Field Type Null Key Default Extra +c0 geometry YES NULL +c2 linestring YES MUL NULL +c3 polygon YES MUL NULL +c4 multipoint YES NULL +c5 multilinestring YES NULL +c6 multipolygon YES NULL +c7 geometrycollection YES NULL +c8 geometry NO UNI NULL +#cleanup the table +TRUNCATE TABLE tab; +#check with procedures +#crate proc with INOUT params +CREATE PROCEDURE geom_insert(IN c1 POINT,IN c2 LINESTRING,IN c3 POLYGON, +IN c4 MULTIPOINT,IN c5 MULTILINESTRING, IN c6 MULTIPOLYGON,IN c7 GEOMETRYCOLLECTION, +IN c8 GEOMETRY) +BEGIN +INSERT INTO tab VALUES(@c1,@c2,@c3,@c4,@c5,@c6,@c7,@c8); +END | +#set the spatial values +SET @c1=ST_PointFromText('POINT(10 10)'); +SET @c2=ST_LineFromText('LINESTRING(10 10,20 20,30 30)'); +SET @c3=ST_PolyFromText('POLYGON((0 0,5 5,10 10,15 15,0 0),(10 10,20 20,30 30,40 40,10 10))'); +SET @c4=ST_MPointFromText('MULTIPOINT(0 0,5 5,10 10,20 20)'); +SET @c5=ST_MLineFromText('MULTILINESTRING((1 1,2 2,3 3),(10 10,20 20,30 30))'); +SET @c6=ST_MPolyFromText('MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))'); +SET @c7=ST_GeomCollFromText('GEOMETRYCOLLECTION(POINT(0 0), LINESTRING(0 0,10 10))'); +SET @c8=ST_GeomCollFromText('GeometryCollection(Point(1 1),LineString(2 2, 3 3))'); +#call the proc +CALL geom_insert(@c1,@c2,@c3,@c4,@c5,@c6,@c7,@c8); +#check the values ofter proc call +SELECT ST_AsText(c0) FROM tab; +ST_AsText(c0) +POINT(10 10) +SELECT ST_AsText(c2) FROM tab; +ST_AsText(c2) +LINESTRING(10 10,20 20,30 30) +SELECT ST_AsText(c3) FROM tab; +ST_AsText(c3) +POLYGON((0 0,5 5,10 10,15 15,0 0),(10 10,20 20,30 30,40 40,10 10)) +SELECT ST_AsText(c4) FROM tab; +ST_AsText(c4) +MULTIPOINT(0 0,5 5,10 10,20 20) +SELECT ST_AsText(c5) FROM tab; +ST_AsText(c5) +MULTILINESTRING((1 1,2 2,3 3),(10 10,20 20,30 30)) +SELECT ST_AsText(c6) FROM tab; +ST_AsText(c6) +MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18))) +SELECT ST_AsText(c7) FROM tab; +ST_AsText(c7) +GEOMETRYCOLLECTION(POINT(0 0),LINESTRING(0 0,10 10)) +SELECT ST_AsText(c8) From tab; +ST_AsText(c8) +GEOMETRYCOLLECTION(POINT(1 1),LINESTRING(2 2,3 3)) +#set the input spatial value +SET @c9=ST_GeomCollFromText('GeometryCollection(Point(1 1),LineString(2 2, 3 3))'); +#crate a proc with INOUT params and pass a value. +CREATE PROCEDURE geominout(INOUT c9 GEOMETRY) +BEGIN +SELECT ST_AsText(@c9); +SET c9=ST_GeomCollFromText('GeometryCollection(Point(10 10),LineString(20 20, 30 30))'); +END| +#call the proc and then change the spatial value of c8 +CALL geominout(@c9); +ST_AsText(@c9) +GEOMETRYCOLLECTION(POINT(1 1),LINESTRING(2 2,3 3)) +#now check the out spatial values should be changed to new values +SELECT ST_AsText(@c9); +ST_AsText(@c9) +GEOMETRYCOLLECTION(POINT(10 10),LINESTRING(20 20,30 30)) +#delete the records +TRUNCATE TABLE tab; +#create another table same as tab +CREATE TABLE tab2 AS SELECT * FROM tab; +#check the table definition +SHOW CREATE TABLE tab2; +Table Create Table +tab2 CREATE TABLE `tab2` ( + `c0` geometry DEFAULT NULL, + `c2` linestring DEFAULT NULL, + `c3` polygon DEFAULT NULL, + `c4` multipoint DEFAULT NULL, + `c5` multilinestring DEFAULT NULL, + `c6` multipolygon DEFAULT NULL, + `c7` geometrycollection DEFAULT NULL, + `c8` geometry NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci +#create a tigger and populate the values into tab2 +CREATE TRIGGER geom_trigger AFTER INSERT ON tab +FOR EACH ROW +BEGIN +INSERT INTO tab2 VALUES (@c1,@c2,@c3,@c4,@c5,@c6,@c7,@c8); +END| +#set the spatial values +SET @c1=ST_PointFromText('POINT(10 10)'); +SET @c2=ST_LineFromText('LINESTRING(10 10,20 20,30 30)'); +SET @c3=ST_PolyFromText('POLYGON((0 0,5 5,10 10,15 15,0 0),(10 10,20 20,30 30,40 40,10 10))'); +SET @c4=ST_MPointFromText('MULTIPOINT(0 0,5 5,10 10,20 20)'); +SET @c5=ST_MLineFromText('MULTILINESTRING((1 1,2 2,3 3),(10 10,20 20,30 30))'); +SET @c6=ST_MPolyFromText('MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))'); +SET @c7=ST_GeomCollFromText('GEOMETRYCOLLECTION(POINT(0 0), LINESTRING(0 0,10 10))'); +SET @c8=ST_GeomCollFromText('GeometryCollection(Point(1 1),LineString(2 2, 3 3))'); +#Insert the spatial values +INSERT INTO tab VALUES(@c1,@c2,@c3,@c4,@c5,@c6,@c7,@c8); +#check the values whether populated +SELECT ST_AsText(c0) FROM tab2; +ST_AsText(c0) +POINT(10 10) +SELECT ST_AsText(c2) FROM tab2; +ST_AsText(c2) +LINESTRING(10 10,20 20,30 30) +SELECT ST_AsText(c3) FROM tab2; +ST_AsText(c3) +POLYGON((0 0,5 5,10 10,15 15,0 0),(10 10,20 20,30 30,40 40,10 10)) +SELECT ST_AsText(c4) FROM tab2; +ST_AsText(c4) +MULTIPOINT(0 0,5 5,10 10,20 20) +SELECT ST_AsText(c5) FROM tab2; +ST_AsText(c5) +MULTILINESTRING((1 1,2 2,3 3),(10 10,20 20,30 30)) +SELECT ST_AsText(c6) FROM tab2; +ST_AsText(c6) +MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18))) +SELECT ST_AsText(c7) FROM tab2; +ST_AsText(c7) +GEOMETRYCOLLECTION(POINT(0 0),LINESTRING(0 0,10 10)) +SELECT ST_AsText(c8) From tab2; +ST_AsText(c8) +GEOMETRYCOLLECTION(POINT(1 1),LINESTRING(2 2,3 3)) +#check Cursor with Geometry +CREATE PROCEDURE geom_cursor() +BEGIN +DECLARE v GEOMETRY; +DECLARE c CURSOR FOR SELECT c8 FROM tab2; +OPEN c; +FETCH c INTO v; +CLOSE c; +SELECT ST_AsText(v); +END| +# the following line was commented due the Bug#16282246 +# Once it is fixed, the comment will be removed. +# right now bug fixing date is unknown. +check self join +SELECT ST_AsText(a.c0),ST_AsText(a.c2),ST_AsText(a.c3) +FROM tab a,tab2 b WHERE a.c0=b.c0 AND a.c2=b.c2 +AND a.c3=b.c3 AND a.c4=b.c4 AND a.c5=b.c5 AND a.c6=b.c6 +AND a.c7=b.c7 AND a.c8=b.c8; +ST_AsText(a.c0) ST_AsText(a.c2) ST_AsText(a.c3) +POINT(10 10) LINESTRING(10 10,20 20,30 30) POLYGON((0 0,5 5,10 10,15 15,0 0),(10 10,20 20,30 30,40 40,10 10)) +#check equi join +SELECT ST_AsText(a.c2),ST_AsText(b.c2) FROM tab a,tab2 b WHERE a.c2=b.c2; +ST_AsText(a.c2) ST_AsText(b.c2) +LINESTRING(10 10,20 20,30 30) LINESTRING(10 10,20 20,30 30) +#check DELETE stmt with Where clause and a constant predicate +DELETE FROM tab +WHERE c8=ST_GeometryFromWKB(ST_AsWKB(ST_GeomCollFromText('GeometryCollection(Point(1 1),LineString(2 2, 3 3))'))); +SELECT * FROM tab; +c0 c2 c3 c4 c5 c6 c7 c8 +#check UPDATE stmt with Where clause and a constant predicate +SET @c8=ST_GeomCollFromText('GeometryCollection(Point(10 10),LineString(20 20, 30 30))'); +UPDATE tab2 SET c8=@c8 +WHERE c2=ST_LineStringFromWKB(ST_AsWKB(ST_LineFromText('LINESTRING(10 10,20 20,30 30)'))); +#check the column should be modified to LINESTRING(10 10,20 20,30 30) +SELECT ST_AsText(c8) From tab2; +ST_AsText(c8) +GEOMETRYCOLLECTION(POINT(10 10),LINESTRING(20 20,30 30)) +#check GIS datatypes with aggregate functions +SELECT COUNT(ST_AsText(g)) FROM gis_point; +COUNT(ST_AsText(g)) +4 +SELECT COUNT(ST_AsText(g)) FROM gis_line; +COUNT(ST_AsText(g)) +3 +SELECT COUNT(ST_AsText(g)) FROM gis_polygon; +COUNT(ST_AsText(g)) +3 +SELECT COUNT(ST_AsText(g)) FROM gis_multi_point; +COUNT(ST_AsText(g)) +3 +SELECT COUNT(ST_AsText(g)) FROM gis_multi_line; +COUNT(ST_AsText(g)) +3 +SELECT COUNT(ST_AsText(g)) FROM gis_multi_polygon; +COUNT(ST_AsText(g)) +3 +SELECT COUNT(ST_AsText(g)) FROM gis_geometrycollection; +COUNT(ST_AsText(g)) +3 +SELECT COUNT(ST_AsText(g)) FROM gis_geometry; +COUNT(ST_AsText(g)) +22 +SELECT SUM(ST_AsText(g)) FROM gis_point; +SUM(ST_AsText(g)) +0 +Warnings: +Warning 1292 Truncated incorrect DOUBLE value: 'POINT(10 10)' +Warning 1292 Truncated incorrect DOUBLE value: 'POINT(20 10)' +Warning 1292 Truncated incorrect DOUBLE value: 'POINT(20 20)' +Warning 1292 Truncated incorrect DOUBLE value: 'POINT(10 20)' +SELECT SUM(ST_AsText(g)) FROM gis_line; +SUM(ST_AsText(g)) +0 +Warnings: +Warning 1292 Truncated incorrect DOUBLE value: 'LINESTRING(0 0,0 10,10 0)' +Warning 1292 Truncated incorrect DOUBLE value: 'LINESTRING(10 10,20 10,20 20,10 20,10 10)' +Warning 1292 Truncated incorrect DOUBLE value: 'LINESTRING(10 10,40 10)' +SELECT AVG(ST_AsText(g)) FROM gis_polygon; +AVG(ST_AsText(g)) +0 +Warnings: +Warning 1292 Truncated incorrect DOUBLE value: 'POLYGON((10 10,20 10,20 20,10 20,10 10))' +Warning 1292 Truncated incorrect DOUBLE value: 'POLYGON((0 0,50 0,50 50,0 50,0 0),(10 10,20 10,20 20,10 20,10 10))' +Warning 1292 Truncated incorrect DOUBLE value: 'POLYGON((0 0,30 0,30 30,0 0))' +#here it show some string value no meaning +SELECT MAX(ST_AsText(g)) FROM gis_multi_point; +MAX(ST_AsText(g)) +MULTIPOINT(3 6,4 10) +#here it show some string value no meaning +SELECT MIN(ST_AsText(g)) FROM gis_multi_line; +MIN(ST_AsText(g)) +MULTILINESTRING((1 2,3 5),(2 5,5 8,21 7)) +SELECT STD(ST_AsText(g)) FROM gis_multi_polygon; +STD(ST_AsText(g)) +0 +Warnings: +Warning 1292 Truncated incorrect DOUBLE value: 'MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))' +Warning 1292 Truncated incorrect DOUBLE value: 'MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))' +Warning 1292 Truncated incorrect DOUBLE value: 'MULTIPOLYGON(((0 3,3 3,3 0,0 3)))' +SELECT COUNT(ST_AsText(g)) FROM gis_geometrycollection; +COUNT(ST_AsText(g)) +3 +SELECT AVG(ST_AsText(g)) FROM gis_geometry; +AVG(ST_AsText(g)) +0 +Warnings: +Warning 1292 Truncated incorrect DOUBLE value: 'POINT(10 10)' +Warning 1292 Truncated incorrect DOUBLE value: 'POINT(20 10)' +Warning 1292 Truncated incorrect DOUBLE value: 'POINT(20 20)' +Warning 1292 Truncated incorrect DOUBLE value: 'POINT(10 20)' +Warning 1292 Truncated incorrect DOUBLE value: 'LINESTRING(0 0,0 10,10 0)' +Warning 1292 Truncated incorrect DOUBLE value: 'LINESTRING(10 10,20 10,20 20,10 20,10 10)' +Warning 1292 Truncated incorrect DOUBLE value: 'LINESTRING(10 10,40 10)' +Warning 1292 Truncated incorrect DOUBLE value: 'POLYGON((10 10,20 10,20 20,10 20,10 10))' +Warning 1292 Truncated incorrect DOUBLE value: 'POLYGON((0 0,50 0,50 50,0 50,0 0),(10 10,20 10,20 20,10 20,10 10))' +Warning 1292 Truncated incorrect DOUBLE value: 'POLYGON((0 0,30 0,30 30,0 0))' +Warning 1292 Truncated incorrect DOUBLE value: 'MULTIPOINT(0 0,10 10,10 20,20 20)' +Warning 1292 Truncated incorrect DOUBLE value: 'MULTIPOINT(1 1,11 11,11 21,21 21)' +Warning 1292 Truncated incorrect DOUBLE value: 'MULTIPOINT(3 6,4 10)' +Warning 1292 Truncated incorrect DOUBLE value: 'MULTILINESTRING((10 48,10 21,10 0),(16 0,16 23,16 48))' +Warning 1292 Truncated incorrect DOUBLE value: 'MULTILINESTRING((10 48,10 21,10 0))' +Warning 1292 Truncated incorrect DOUBLE value: 'MULTILINESTRING((1 2,3 5),(2 5,5 8,21 7))' +Warning 1292 Truncated incorrect DOUBLE value: 'MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))' +Warning 1292 Truncated incorrect DOUBLE value: 'MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))' +Warning 1292 Truncated incorrect DOUBLE value: 'MULTIPOLYGON(((0 3,3 3,3 0,0 3)))' +Warning 1292 Truncated incorrect DOUBLE value: 'GEOMETRYCOLLECTION(POINT(0 0),LINESTRING(0 0,10 10))' +Warning 1292 Truncated incorrect DOUBLE value: 'GEOMETRYCOLLECTION(POINT(10 10),LINESTRING(10 10,20 20))' +Warning 1292 Truncated incorrect DOUBLE value: 'GEOMETRYCOLLECTION(POINT(44 6),LINESTRING(3 6,7 9))' +#check Datatypes with compression tables +CREATE TABLE tab3(c1 POINT,c2 LINESTRING,c3 POLYGON,C4 MULTIPOINT,c5 MULTILINESTRING , +c6 MULTIPOLYGON,c7 GEOMETRYCOLLECTION ,c8 GEOMETRY) ENGINE=InnoDB +KEY_BLOCK_SIZE=8 ROW_FORMAT=COMPRESSED; +#check file format +SHOW CREATE TABLE tab3; +Table Create Table +tab3 CREATE TABLE `tab3` ( + `c1` point DEFAULT NULL, + `c2` linestring DEFAULT NULL, + `c3` polygon DEFAULT NULL, + `C4` multipoint DEFAULT NULL, + `c5` multilinestring DEFAULT NULL, + `c6` multipolygon DEFAULT NULL, + `c7` geometrycollection DEFAULT NULL, + `c8` geometry DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8 +ALTER TABLE tab3 KEY_BLOCK_SIZE=16 ROW_FORMAT=Dynamic; +#check file format +SHOW CREATE TABLE tab3; +Table Create Table +tab3 CREATE TABLE `tab3` ( + `c1` point DEFAULT NULL, + `c2` linestring DEFAULT NULL, + `c3` polygon DEFAULT NULL, + `C4` multipoint DEFAULT NULL, + `c5` multilinestring DEFAULT NULL, + `c6` multipolygon DEFAULT NULL, + `c7` geometrycollection DEFAULT NULL, + `c8` geometry DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci ROW_FORMAT=DYNAMIC KEY_BLOCK_SIZE=16 +#check information schema for all the columns refer to 14, except POINT which is 15 +SELECT sc.name, sc.pos, sc.mtype +FROM information_schema.innodb_sys_columns sc +INNER JOIN information_schema.innodb_sys_tables st +ON sc.TABLE_ID=st.TABLE_ID +WHERE st.NAME='test/tab3' +ORDER BY sc.name; +name pos mtype +c1 0 14 +c2 1 14 +c3 2 14 +C4 3 14 +c5 4 14 +c6 5 14 +c7 6 14 +c8 7 14 +#check Perform convesrion before INSERT using WKT functions +SET @c1=ST_PointFromText('POINT(10 10)'); +SET @c2=ST_LineFromText('LINESTRING(10 10,20 20,30 30)'); +SET @c3=ST_PolyFromText('POLYGON((0 0,5 5,10 10,15 15,0 0),(10 10,20 20,30 30,40 40,10 10))'); +SET @c4=ST_MPointFromText('MULTIPOINT(0 0,5 5,10 10,20 20)'); +SET @c5=ST_MLineFromText('MULTILINESTRING((1 1,2 2,3 3),(10 10,20 20,30 30))'); +SET @c6=ST_MPolyFromText('MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))'); +SET @c7=ST_GeomCollFromText('GEOMETRYCOLLECTION(POINT(0 0), LINESTRING(0 0,10 10))'); +SET @c8=ST_GeomCollFromText('GeometryCollection(Point(1 1),LineString(2 2, 3 3))'); +#Insert the spatial values +INSERT INTO tab3 VALUES(@c1,@c2,@c3,@c4,@c5,@c6,@c7,@c8); +#check index on GIS datatypes +CREATE INDEX idx1 on tab3(c2(5) DESC) USING BTREE; +CREATE INDEX idx3 on tab3(c3(5) ASC) USING BTREE; +CREATE UNIQUE INDEX idx2 on tab3(c8(5) ASC) ; +#check equality predicate on the index columns +EXPLAIN SELECT ST_ASText(c1),ST_AsText(c2),ST_AsText(c8) FROM tab3 +WHERE c2=ST_LineFromText('LINESTRING(10 10,20 20,30 30)'); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab3 ref idx1 idx1 8 const # Using where +#check index with WKB function +EXPLAIN SELECT ST_ASText(c1),ST_AsText(c2),ST_AsText(c8) +FROM tab3 WHERE c2=ST_LineStringFromWKB(ST_AsWKB(ST_LineFromText('LINESTRING(10 10,20 20,30 30)'))); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab3 ref idx1 idx1 8 const # Using where +#check index with WKT function +EXPLAIN SELECT ST_ASText(c1),ST_AsText(c2),ST_AsText(c8) FROM tab3 +WHERE c3=ST_PolyFromText('POLYGON((0 0,5 5,10 10,15 15,0 0),(10 10,20 20,30 30,40 40,10 10))'); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab3 ref idx3 idx3 8 const # Using where +#check index with WKB function +EXPLAIN SELECT ST_ASText(c1),ST_AsText(c2),ST_AsText(c8) +FROM tab3 +WHERE c3=ST_PolyFromWKB(ST_AsWkB(ST_PolyFromText('POLYGON((0 0,5 5,10 10,15 15,0 0),(10 10,20 20,30 30,40 40,10 10))'))); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab3 ref idx3 idx3 8 const # Using where +#check index with WKT function +EXPLAIN SELECT ST_ASText(c1),ST_AsText(c2),ST_AsText(c8) FROM tab3 +WHERE c8=ST_GeomCollFromText('GeometryCollection(Point(1 1),LineString(2 2, 3 3))'); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab3 const idx2 idx2 8 const # +#check index with WKB function +EXPLAIN SELECT ST_ASText(c1),ST_AsText(c2),ST_AsText(c8) +FROM tab3 +WHERE c8=ST_GeometryFromWKB(ST_AsWKB(ST_GeomCollFromText('GeometryCollection(Point(1 1),LineString(2 2, 3 3))'))); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab3 const idx2 idx2 8 const # +#check index with DELETE operation +EXPLAIN DELETE FROM tab3 +WHERE c8=ST_GeometryFromWKB(ST_AsWKB(ST_GeomCollFromText('GeometryCollection(Point(1 1),LineString(2 2, 3 3))'))); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab3 range idx2 idx2 8 NULL # Using where +#check the spatial values +SELECT ST_AsText(c1) FROM tab3; +ST_AsText(c1) +POINT(10 10) +SELECT ST_AsText(c2) FROM tab3; +ST_AsText(c2) +LINESTRING(10 10,20 20,30 30) +SELECT ST_AsText(c3) FROM tab3; +ST_AsText(c3) +POLYGON((0 0,5 5,10 10,15 15,0 0),(10 10,20 20,30 30,40 40,10 10)) +SELECT ST_AsText(c4) FROM tab3; +ST_AsText(c4) +MULTIPOINT(0 0,5 5,10 10,20 20) +SELECT ST_AsText(c5) FROM tab3; +ST_AsText(c5) +MULTILINESTRING((1 1,2 2,3 3),(10 10,20 20,30 30)) +SELECT ST_AsText(c6) FROM tab3; +ST_AsText(c6) +MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18))) +SELECT ST_AsText(c7) FROM tab3; +ST_AsText(c7) +GEOMETRYCOLLECTION(POINT(0 0),LINESTRING(0 0,10 10)) +SELECT ST_AsText(c8) From tab3; +ST_AsText(c8) +GEOMETRYCOLLECTION(POINT(1 1),LINESTRING(2 2,3 3)) +#check with Row_format = Dynamic +ALTER TABLE tab3 ROW_FORMAT=Dynamic; +#check file format +SHOW CREATE TABLE tab3; +Table Create Table +tab3 CREATE TABLE `tab3` ( + `c1` point DEFAULT NULL, + `c2` linestring DEFAULT NULL, + `c3` polygon DEFAULT NULL, + `C4` multipoint DEFAULT NULL, + `c5` multilinestring DEFAULT NULL, + `c6` multipolygon DEFAULT NULL, + `c7` geometrycollection DEFAULT NULL, + `c8` geometry DEFAULT NULL, + UNIQUE KEY `idx2` (`c8`(5)), + KEY `idx1` (`c2`(5) DESC) USING BTREE, + KEY `idx3` (`c3`(5)) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci ROW_FORMAT=DYNAMIC KEY_BLOCK_SIZE=16 +#check index with WKB function +EXPLAIN SELECT ST_ASText(c1),ST_AsText(c2),ST_AsText(c8) +FROM tab3 WHERE c2=ST_LineStringFromWKB(ST_AsWKB(ST_LineFromText('LINESTRING(10 10,20 20,30 30)'))); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab3 ref idx1 idx1 8 const # Using where +#check index with WKT function +EXPLAIN SELECT ST_ASText(c1),ST_AsText(c2),ST_AsText(c8) FROM tab3 +WHERE c3=ST_PolyFromText('POLYGON((0 0,5 5,10 10,15 15,0 0),(10 10,20 20,30 30,40 40,10 10))'); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE tab3 ref idx3 idx3 8 const # Using where +#check the Geometry property functions +SELECT fid, ST_Dimension(g) FROM gis_geometry; +fid ST_Dimension(g) +101 0 +102 0 +103 0 +104 0 +105 1 +106 1 +107 1 +108 2 +109 2 +110 2 +111 0 +112 0 +113 0 +114 1 +115 1 +116 1 +117 2 +118 2 +119 2 +120 1 +121 1 +122 1 +SELECT fid, ST_GeometryType(g) FROM gis_geometry; +fid ST_GeometryType(g) +101 POINT +102 POINT +103 POINT +104 POINT +105 LINESTRING +106 LINESTRING +107 LINESTRING +108 POLYGON +109 POLYGON +110 POLYGON +111 MULTIPOINT +112 MULTIPOINT +113 MULTIPOINT +114 MULTILINESTRING +115 MULTILINESTRING +116 MULTILINESTRING +117 MULTIPOLYGON +118 MULTIPOLYGON +119 MULTIPOLYGON +120 GEOMETRYCOLLECTION +121 GEOMETRYCOLLECTION +122 GEOMETRYCOLLECTION +SELECT fid, ST_IsEmpty(g) FROM gis_geometry; +fid ST_IsEmpty(g) +101 0 +102 0 +103 0 +104 0 +105 0 +106 0 +107 0 +108 0 +109 0 +110 0 +111 0 +112 0 +113 0 +114 0 +115 0 +116 0 +117 0 +118 0 +119 0 +120 0 +121 0 +122 0 +SELECT fid, ST_AsText(ST_Envelope(g)) FROM gis_geometry; +fid ST_AsText(ST_Envelope(g)) +101 POLYGON((10 10,10 10,10 10,10 10,10 10)) +102 POLYGON((20 10,20 10,20 10,20 10,20 10)) +103 POLYGON((20 20,20 20,20 20,20 20,20 20)) +104 POLYGON((10 20,10 20,10 20,10 20,10 20)) +105 POLYGON((0 0,10 0,10 10,0 10,0 0)) +106 POLYGON((10 10,20 10,20 20,10 20,10 10)) +107 POLYGON((10 10,40 10,40 10,10 10,10 10)) +108 POLYGON((10 10,20 10,20 20,10 20,10 10)) +109 POLYGON((0 0,50 0,50 50,0 50,0 0)) +110 POLYGON((0 0,30 0,30 30,0 30,0 0)) +111 POLYGON((0 0,20 0,20 20,0 20,0 0)) +112 POLYGON((1 1,21 1,21 21,1 21,1 1)) +113 POLYGON((3 6,4 6,4 10,3 10,3 6)) +114 POLYGON((10 0,16 0,16 48,10 48,10 0)) +115 POLYGON((10 0,10 0,10 48,10 48,10 0)) +116 POLYGON((1 2,21 2,21 8,1 8,1 2)) +117 POLYGON((28 0,84 0,84 42,28 42,28 0)) +118 POLYGON((28 0,84 0,84 42,28 42,28 0)) +119 POLYGON((0 0,3 0,3 3,0 3,0 0)) +120 POLYGON((0 0,10 0,10 10,0 10,0 0)) +121 POLYGON((10 10,20 10,20 20,10 20,10 10)) +122 POLYGON((3 6,44 6,44 9,3 9,3 6)) +explain extended select ST_Dimension(g), ST_GeometryType(g), ST_IsEmpty(g), ST_AsText(ST_Envelope(g)) from gis_geometry; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE gis_geometry ALL NULL NULL NULL NULL # 100.00 +Warnings: +Note 1003 select st_dimension(`test`.`gis_geometry`.`g`) AS `ST_Dimension(g)`,st_geometrytype(`test`.`gis_geometry`.`g`) AS `ST_GeometryType(g)`,st_isempty(`test`.`gis_geometry`.`g`) AS `ST_IsEmpty(g)`,st_astext(st_envelope(`test`.`gis_geometry`.`g`)) AS `ST_AsText(ST_Envelope(g))` from `test`.`gis_geometry` +#check Geometry point functions +SELECT fid, ST_X(g) FROM gis_point; +fid ST_X(g) +101 10 +102 20 +103 20 +104 10 +SELECT fid, ST_Y(g) FROM gis_point; +fid ST_Y(g) +101 10 +102 10 +103 20 +104 20 +explain extended select ST_X(g),ST_Y(g) FROM gis_point; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE gis_point ALL NULL NULL NULL NULL # 100.00 +Warnings: +Note 1003 select st_x(`test`.`gis_point`.`g`) AS `ST_X(g)`,st_y(`test`.`gis_point`.`g`) AS `ST_Y(g)` from `test`.`gis_point` +SELECT fid, ST_AsText(ST_StartPoint(g)) FROM gis_line; +fid ST_AsText(ST_StartPoint(g)) +105 POINT(0 0) +106 POINT(10 10) +107 POINT(10 10) +SELECT fid, ST_AsText(ST_EndPoint(g)) FROM gis_line; +fid ST_AsText(ST_EndPoint(g)) +105 POINT(10 0) +106 POINT(10 10) +107 POINT(40 10) +SELECT fid, ST_Length(g) FROM gis_line; +fid ST_Length(g) +105 24.14213562373095 +106 40 +107 30 +SELECT fid, ST_NumPoints(g) FROM gis_line; +fid ST_NumPoints(g) +105 3 +106 5 +107 2 +SELECT fid, ST_AsText(ST_PointN(g, 2)) FROM gis_line; +fid ST_AsText(ST_PointN(g, 2)) +105 POINT(0 10) +106 POINT(20 10) +107 POINT(40 10) +SELECT fid, ST_IsClosed(g) FROM gis_line; +fid ST_IsClosed(g) +105 0 +106 1 +107 0 +explain extended select ST_AsText(ST_StartPoint(g)),ST_AsText(ST_EndPoint(g)), +ST_Length(g),ST_NumPoints(g),ST_AsText(ST_PointN(g, 2)),ST_IsClosed(g) FROM gis_line; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE gis_line ALL NULL NULL NULL NULL # 100.00 +Warnings: +Note 1003 select st_astext(st_startpoint(`test`.`gis_line`.`g`)) AS `ST_AsText(ST_StartPoint(g))`,st_astext(st_endpoint(`test`.`gis_line`.`g`)) AS `ST_AsText(ST_EndPoint(g))`,st_length(`test`.`gis_line`.`g`) AS `ST_Length(g)`,st_numpoints(`test`.`gis_line`.`g`) AS `ST_NumPoints(g)`,st_astext(st_pointn(`test`.`gis_line`.`g`,2)) AS `ST_AsText(ST_PointN(g, 2))`,st_isclosed(`test`.`gis_line`.`g`) AS `ST_IsClosed(g)` from `test`.`gis_line` +SELECT fid, ST_AsText(ST_Centroid(g)) FROM gis_polygon; +fid ST_AsText(ST_Centroid(g)) +108 POINT(15 15) +109 POINT(25.416666666666668 25.416666666666668) +110 POINT(20 10) +SELECT fid, ST_Area(g) FROM gis_polygon; +fid ST_Area(g) +108 100 +109 2400 +110 450 +SELECT fid, ST_AsText(ST_ExteriorRing(g)) FROM gis_polygon; +fid ST_AsText(ST_ExteriorRing(g)) +108 LINESTRING(10 10,20 10,20 20,10 20,10 10) +109 LINESTRING(0 0,50 0,50 50,0 50,0 0) +110 LINESTRING(0 0,30 0,30 30,0 0) +SELECT fid, ST_NumInteriorRings(g) FROM gis_polygon; +fid ST_NumInteriorRings(g) +108 0 +109 1 +110 0 +SELECT fid, ST_AsText(ST_InteriorRingN(g, 1)) FROM gis_polygon; +fid ST_AsText(ST_InteriorRingN(g, 1)) +108 NULL +109 LINESTRING(10 10,20 10,20 20,10 20,10 10) +110 NULL +explain extended select ST_AsText(ST_Centroid(g)),ST_Area(g),ST_AsText(ST_ExteriorRing(g)), +ST_NumInteriorRings(g),ST_AsText(ST_InteriorRingN(g, 1)) FROM gis_polygon; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE gis_polygon ALL NULL NULL NULL NULL # 100.00 +Warnings: +Note 1003 select st_astext(st_centroid(`test`.`gis_polygon`.`g`)) AS `ST_AsText(ST_Centroid(g))`,st_area(`test`.`gis_polygon`.`g`) AS `ST_Area(g)`,st_astext(st_exteriorring(`test`.`gis_polygon`.`g`)) AS `ST_AsText(ST_ExteriorRing(g))`,st_numinteriorrings(`test`.`gis_polygon`.`g`) AS `ST_NumInteriorRings(g)`,st_astext(st_interiorringn(`test`.`gis_polygon`.`g`,1)) AS `ST_AsText(ST_InteriorRingN(g, 1))` from `test`.`gis_polygon` +SELECT fid, ST_IsClosed(g) FROM gis_multi_line; +fid ST_IsClosed(g) +114 0 +115 0 +116 0 +SELECT fid, ST_AsText(ST_Centroid(g)) FROM gis_multi_polygon; +fid ST_AsText(ST_Centroid(g)) +117 POINT(57.98031067576927 17.854754130800433) +118 POINT(57.98031067576927 17.854754130800433) +119 POINT(2 2) +SELECT fid, ST_Area(g) FROM gis_multi_polygon; +fid ST_Area(g) +117 1684.5 +118 1684.5 +119 4.5 +SELECT fid, ST_NumGeometries(g) from gis_multi_point; +fid ST_NumGeometries(g) +111 4 +112 4 +113 2 +SELECT fid, ST_NumGeometries(g) from gis_multi_line; +fid ST_NumGeometries(g) +114 2 +115 1 +116 2 +SELECT fid, ST_NumGeometries(g) from gis_multi_polygon; +fid ST_NumGeometries(g) +117 2 +118 2 +119 1 +SELECT fid, ST_NumGeometries(g) from gis_geometrycollection; +fid ST_NumGeometries(g) +120 2 +121 2 +122 2 +explain extended SELECT fid, ST_NumGeometries(g) from gis_multi_point; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE gis_multi_point ALL NULL NULL NULL NULL # 100.00 +Warnings: +Note 1003 select `test`.`gis_multi_point`.`fid` AS `fid`,st_numgeometries(`test`.`gis_multi_point`.`g`) AS `ST_NumGeometries(g)` from `test`.`gis_multi_point` +SELECT fid, ST_AsText(ST_GeometryN(g, 2)) from gis_multi_point; +fid ST_AsText(ST_GeometryN(g, 2)) +111 POINT(10 10) +112 POINT(11 11) +113 POINT(4 10) +SELECT fid, ST_AsText(ST_GeometryN(g, 2)) from gis_multi_line; +fid ST_AsText(ST_GeometryN(g, 2)) +114 LINESTRING(16 0,16 23,16 48) +115 NULL +116 LINESTRING(2 5,5 8,21 7) +SELECT fid, ST_AsText(ST_GeometryN(g, 2)) from gis_multi_polygon; +fid ST_AsText(ST_GeometryN(g, 2)) +117 POLYGON((59 18,67 18,67 13,59 13,59 18)) +118 POLYGON((59 18,67 18,67 13,59 13,59 18)) +119 NULL +SELECT fid, ST_AsText(ST_GeometryN(g, 2)) from gis_geometrycollection; +fid ST_AsText(ST_GeometryN(g, 2)) +120 LINESTRING(0 0,10 10) +121 LINESTRING(10 10,20 20) +122 LINESTRING(3 6,7 9) +SELECT fid, ST_AsText(ST_GeometryN(g, 1)) from gis_geometrycollection; +fid ST_AsText(ST_GeometryN(g, 1)) +120 POINT(0 0) +121 POINT(10 10) +122 POINT(44 6) +explain extended SELECT fid, ST_AsText(ST_GeometryN(g, 2)) from gis_multi_point; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE gis_multi_point ALL NULL NULL NULL NULL # 100.00 +Warnings: +Note 1003 select `test`.`gis_multi_point`.`fid` AS `fid`,st_astext(st_geometryn(`test`.`gis_multi_point`.`g`,2)) AS `ST_AsText(ST_GeometryN(g, 2))` from `test`.`gis_multi_point` +SELECT g1.fid as first, g2.fid as second, +MBRWithin(g1.g, g2.g) as w, MBRContains(g1.g, g2.g) as c, MBROverlaps(g1.g, g2.g) as o, +MBREquals(g1.g, g2.g) as e, MBRDisjoint(g1.g, g2.g) as d, ST_Touches(g1.g, g2.g) as t, +MBRIntersects(g1.g, g2.g) as i, ST_Crosses(g1.g, g2.g) as r +FROM gis_geometrycollection g1, gis_geometrycollection g2 ORDER BY first, second; +first second w c o e d t i r +120 120 1 1 0 1 0 0 1 0 +120 121 0 0 0 0 0 1 1 1 +120 122 0 0 1 0 0 0 1 0 +121 120 0 0 0 0 0 1 1 1 +121 121 1 1 0 1 0 0 1 0 +121 122 0 0 0 0 1 0 0 0 +122 120 0 0 1 0 0 0 1 0 +122 121 0 0 0 0 1 0 0 0 +122 122 1 1 0 1 0 0 1 0 +explain extended SELECT g1.fid as first, g2.fid as second, +MBRWithin(g1.g, g2.g) as w, MBRContains(g1.g, g2.g) as c, MBROverlaps(g1.g, g2.g) as o, +MBREquals(g1.g, g2.g) as e, MBRDisjoint(g1.g, g2.g) as d, ST_Touches(g1.g, g2.g) as t, +MBRIntersects(g1.g, g2.g) as i, ST_Crosses(g1.g, g2.g) as r +FROM gis_geometrycollection g1, gis_geometrycollection g2 ORDER BY first, second; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE g1 ALL NULL NULL NULL NULL # 100.00 Using temporary; Using filesort +1 SIMPLE g2 ALL NULL NULL NULL NULL # 100.00 Using join buffer (flat, BNL join) +Warnings: +Note 1003 select `test`.`g1`.`fid` AS `first`,`test`.`g2`.`fid` AS `second`,mbrwithin(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `w`,mbrcontains(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `c`,mbroverlaps(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `o`,mbrequals(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `e`,mbrdisjoint(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `d`,st_touches(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `t`,mbrintersects(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `i`,st_crosses(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `r` from `test`.`gis_geometrycollection` `g1` join `test`.`gis_geometrycollection` `g2` order by `test`.`g1`.`fid`,`test`.`g2`.`fid` +# check support of Foreign Key constraint +CREATE TABLE parent (id GEOMETRY NOT NULL,PRIMARY KEY (id(10))) ENGINE=INNODB; +CREATE TABLE child (id GEOMETRY, parent_id GEOMETRY, +INDEX par_ind (parent_id(10)), +FOREIGN KEY (parent_id(10)) REFERENCES parent(id) +ON DELETE CASCADE +) ENGINE=INNODB; +ERROR HY000: Can't create table `test`.`child` (errno: 150 "Foreign key constraint is incorrectly formed") +#check partition table support +CREATE TABLE emp2( +id GEOMETRY NOT NULL, +store_name VARCHAR(30), +parts VARCHAR(30), +store_id GEOMETRY +) +PARTITION BY LIST(store_id) ( +PARTITION pNorth VALUES IN (10,20,30) , +PARTITION pEast VALUES IN (40,50,60) , +PARTITION pWest VALUES IN (70,80,100) +); +ERROR 42000: The storage engine for the table doesn't support GEOMETRY +#check start transaction commit & Rollback +START TRANSACTION; +DELETE FROM tab3; +SELECT * FROM tab3; +c1 c2 c3 C4 c5 c6 c7 c8 +ROLLBACK; +SELECT COUNT(*) FROM tab3; +COUNT(*) +1 +START TRANSACTION; +DELETE FROM tab3; +COMMIT; +SELECT * FROM tab3; +c1 c2 c3 C4 c5 c6 c7 c8 +DROP TABLE gis_point, gis_line, gis_polygon, gis_multi_point; +DROP TABLE gis_multi_line, gis_multi_polygon; +DROP TABLE gis_geometrycollection, gis_geometry; +DROP TABLE tab,tab2,tab3,parent; +DROP PROCEDURE geominout; +DROP PROCEDURE geom_insert; +DROP PROCEDURE geom_cursor; +SET GLOBAL innodb_stats_persistent=@save_innodb_stats_persistent; diff --git a/mysql-test/suite/innodb_gis/r/gis.result b/mysql-test/suite/innodb_gis/r/gis.result new file mode 100644 index 00000000..ca37674b --- /dev/null +++ b/mysql-test/suite/innodb_gis/r/gis.result @@ -0,0 +1,1501 @@ +SET default_storage_engine=InnoDB; +SET @save_innodb_stats_persistent=@@GLOBAL.innodb_stats_persistent; +SET GLOBAL innodb_stats_persistent=0; +CREATE TABLE gis_point (fid INTEGER NOT NULL PRIMARY KEY, g POINT); +CREATE TABLE gis_line (fid INTEGER NOT NULL PRIMARY KEY, g LINESTRING); +CREATE TABLE gis_polygon (fid INTEGER NOT NULL PRIMARY KEY, g POLYGON); +CREATE TABLE gis_multi_point (fid INTEGER NOT NULL PRIMARY KEY, g MULTIPOINT); +CREATE TABLE gis_multi_line (fid INTEGER NOT NULL PRIMARY KEY, g MULTILINESTRING); +CREATE TABLE gis_multi_polygon (fid INTEGER NOT NULL PRIMARY KEY, g MULTIPOLYGON); +CREATE TABLE gis_geometrycollection (fid INTEGER NOT NULL PRIMARY KEY, g GEOMETRYCOLLECTION); +CREATE TABLE gis_geometry (fid INTEGER NOT NULL PRIMARY KEY, g GEOMETRY); +SHOW FIELDS FROM gis_point; +Field Type Null Key Default Extra +fid int(11) NO PRI NULL +g point YES NULL +SHOW FIELDS FROM gis_line; +Field Type Null Key Default Extra +fid int(11) NO PRI NULL +g linestring YES NULL +SHOW FIELDS FROM gis_polygon; +Field Type Null Key Default Extra +fid int(11) NO PRI NULL +g polygon YES NULL +SHOW FIELDS FROM gis_multi_point; +Field Type Null Key Default Extra +fid int(11) NO PRI NULL +g multipoint YES NULL +SHOW FIELDS FROM gis_multi_line; +Field Type Null Key Default Extra +fid int(11) NO PRI NULL +g multilinestring YES NULL +SHOW FIELDS FROM gis_multi_polygon; +Field Type Null Key Default Extra +fid int(11) NO PRI NULL +g multipolygon YES NULL +SHOW FIELDS FROM gis_geometrycollection; +Field Type Null Key Default Extra +fid int(11) NO PRI NULL +g geometrycollection YES NULL +SHOW FIELDS FROM gis_geometry; +Field Type Null Key Default Extra +fid int(11) NO PRI NULL +g geometry YES NULL +INSERT INTO gis_point VALUES +(101, ST_PointFromText('POINT(10 10)')), +(102, ST_PointFromText('POINT(20 10)')), +(103, ST_PointFromText('POINT(20 20)')), +(104, ST_PointFromWKB(ST_AsWKB(ST_PointFromText('POINT(10 20)')))); +INSERT INTO gis_line VALUES +(105, ST_LineFromText('LINESTRING(0 0,0 10,10 0)')), +(106, ST_LineStringFromText('LINESTRING(10 10,20 10,20 20,10 20,10 10)')), +(107, ST_LineStringFromWKB(ST_AsWKB(LineString(Point(10, 10), Point(40, 10))))); +INSERT INTO gis_polygon VALUES +(108, ST_PolygonFromText('POLYGON((10 10,20 10,20 20,10 20,10 10))')), +(109, ST_PolyFromText('POLYGON((0 0,50 0,50 50,0 50,0 0), (10 10,20 10,20 20,10 20,10 10))')), +(110, ST_PolyFromWKB(ST_AsWKB(Polygon(LineString(Point(0, 0), Point(30, 0), Point(30, 30), Point(0, 0)))))); +INSERT INTO gis_multi_point VALUES +(111, ST_MultiPointFromText('MULTIPOINT(0 0,10 10,10 20,20 20)')), +(112, ST_MPointFromText('MULTIPOINT(1 1,11 11,11 21,21 21)')), +(113, ST_MPointFromWKB(ST_AsWKB(MultiPoint(Point(3, 6), Point(4, 10))))); +INSERT INTO gis_multi_line VALUES +(114, ST_MultiLineStringFromText('MULTILINESTRING((10 48,10 21,10 0),(16 0,16 23,16 48))')), +(115, ST_MLineFromText('MULTILINESTRING((10 48,10 21,10 0))')), +(116, ST_MLineFromWKB(ST_AsWKB(MultiLineString(LineString(Point(1, 2), Point(3, 5)), LineString(Point(2, 5), Point(5, 8), Point(21, 7)))))); +INSERT INTO gis_multi_polygon VALUES +(117, ST_MultiPolygonFromText('MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))')), +(118, ST_MPolyFromText('MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))')), +(119, ST_MPolyFromWKB(ST_AsWKB(MultiPolygon(Polygon(LineString(Point(0, 3), Point(3, 3), Point(3, 0), Point(0, 3))))))); +INSERT INTO gis_geometrycollection VALUES +(120, ST_GeomCollFromText('GEOMETRYCOLLECTION(POINT(0 0), LINESTRING(0 0,10 10))')), +(121, ST_GeometryFromWKB(ST_AsWKB(GeometryCollection(Point(44, 6), LineString(Point(3, 6), Point(7, 9)))))); +INSERT into gis_geometry SELECT * FROM gis_point; +INSERT into gis_geometry SELECT * FROM gis_line; +INSERT into gis_geometry SELECT * FROM gis_polygon; +INSERT into gis_geometry SELECT * FROM gis_multi_point; +INSERT into gis_geometry SELECT * FROM gis_multi_line; +INSERT into gis_geometry SELECT * FROM gis_multi_polygon; +INSERT into gis_geometry SELECT * FROM gis_geometrycollection; +SELECT fid, ST_AsText(g) FROM gis_point; +fid ST_AsText(g) +101 POINT(10 10) +102 POINT(20 10) +103 POINT(20 20) +104 POINT(10 20) +SELECT fid, ST_AsText(g) FROM gis_line; +fid ST_AsText(g) +105 LINESTRING(0 0,0 10,10 0) +106 LINESTRING(10 10,20 10,20 20,10 20,10 10) +107 LINESTRING(10 10,40 10) +SELECT fid, ST_AsText(g) FROM gis_polygon; +fid ST_AsText(g) +108 POLYGON((10 10,20 10,20 20,10 20,10 10)) +109 POLYGON((0 0,50 0,50 50,0 50,0 0),(10 10,20 10,20 20,10 20,10 10)) +110 POLYGON((0 0,30 0,30 30,0 0)) +SELECT fid, ST_AsText(g) FROM gis_multi_point; +fid ST_AsText(g) +111 MULTIPOINT(0 0,10 10,10 20,20 20) +112 MULTIPOINT(1 1,11 11,11 21,21 21) +113 MULTIPOINT(3 6,4 10) +SELECT fid, ST_AsText(g) FROM gis_multi_line; +fid ST_AsText(g) +114 MULTILINESTRING((10 48,10 21,10 0),(16 0,16 23,16 48)) +115 MULTILINESTRING((10 48,10 21,10 0)) +116 MULTILINESTRING((1 2,3 5),(2 5,5 8,21 7)) +SELECT fid, ST_AsText(g) FROM gis_multi_polygon; +fid ST_AsText(g) +117 MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18))) +118 MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18))) +119 MULTIPOLYGON(((0 3,3 3,3 0,0 3))) +SELECT fid, ST_AsText(g) FROM gis_geometrycollection; +fid ST_AsText(g) +120 GEOMETRYCOLLECTION(POINT(0 0),LINESTRING(0 0,10 10)) +121 GEOMETRYCOLLECTION(POINT(44 6),LINESTRING(3 6,7 9)) +SELECT fid, ST_AsText(g) FROM gis_geometry; +fid ST_AsText(g) +101 POINT(10 10) +102 POINT(20 10) +103 POINT(20 20) +104 POINT(10 20) +105 LINESTRING(0 0,0 10,10 0) +106 LINESTRING(10 10,20 10,20 20,10 20,10 10) +107 LINESTRING(10 10,40 10) +108 POLYGON((10 10,20 10,20 20,10 20,10 10)) +109 POLYGON((0 0,50 0,50 50,0 50,0 0),(10 10,20 10,20 20,10 20,10 10)) +110 POLYGON((0 0,30 0,30 30,0 0)) +111 MULTIPOINT(0 0,10 10,10 20,20 20) +112 MULTIPOINT(1 1,11 11,11 21,21 21) +113 MULTIPOINT(3 6,4 10) +114 MULTILINESTRING((10 48,10 21,10 0),(16 0,16 23,16 48)) +115 MULTILINESTRING((10 48,10 21,10 0)) +116 MULTILINESTRING((1 2,3 5),(2 5,5 8,21 7)) +117 MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18))) +118 MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18))) +119 MULTIPOLYGON(((0 3,3 3,3 0,0 3))) +120 GEOMETRYCOLLECTION(POINT(0 0),LINESTRING(0 0,10 10)) +121 GEOMETRYCOLLECTION(POINT(44 6),LINESTRING(3 6,7 9)) +SELECT fid, ST_Dimension(g) FROM gis_geometry; +fid ST_Dimension(g) +101 0 +102 0 +103 0 +104 0 +105 1 +106 1 +107 1 +108 2 +109 2 +110 2 +111 0 +112 0 +113 0 +114 1 +115 1 +116 1 +117 2 +118 2 +119 2 +120 1 +121 1 +SELECT fid, ST_GeometryType(g) FROM gis_geometry; +fid ST_GeometryType(g) +101 POINT +102 POINT +103 POINT +104 POINT +105 LINESTRING +106 LINESTRING +107 LINESTRING +108 POLYGON +109 POLYGON +110 POLYGON +111 MULTIPOINT +112 MULTIPOINT +113 MULTIPOINT +114 MULTILINESTRING +115 MULTILINESTRING +116 MULTILINESTRING +117 MULTIPOLYGON +118 MULTIPOLYGON +119 MULTIPOLYGON +120 GEOMETRYCOLLECTION +121 GEOMETRYCOLLECTION +SELECT fid, ST_IsEmpty(g) FROM gis_geometry; +fid ST_IsEmpty(g) +101 0 +102 0 +103 0 +104 0 +105 0 +106 0 +107 0 +108 0 +109 0 +110 0 +111 0 +112 0 +113 0 +114 0 +115 0 +116 0 +117 0 +118 0 +119 0 +120 0 +121 0 +SELECT fid, ST_AsText(ST_Envelope(g)) FROM gis_geometry; +fid ST_AsText(ST_Envelope(g)) +101 POLYGON((10 10,10 10,10 10,10 10,10 10)) +102 POLYGON((20 10,20 10,20 10,20 10,20 10)) +103 POLYGON((20 20,20 20,20 20,20 20,20 20)) +104 POLYGON((10 20,10 20,10 20,10 20,10 20)) +105 POLYGON((0 0,10 0,10 10,0 10,0 0)) +106 POLYGON((10 10,20 10,20 20,10 20,10 10)) +107 POLYGON((10 10,40 10,40 10,10 10,10 10)) +108 POLYGON((10 10,20 10,20 20,10 20,10 10)) +109 POLYGON((0 0,50 0,50 50,0 50,0 0)) +110 POLYGON((0 0,30 0,30 30,0 30,0 0)) +111 POLYGON((0 0,20 0,20 20,0 20,0 0)) +112 POLYGON((1 1,21 1,21 21,1 21,1 1)) +113 POLYGON((3 6,4 6,4 10,3 10,3 6)) +114 POLYGON((10 0,16 0,16 48,10 48,10 0)) +115 POLYGON((10 0,10 0,10 48,10 48,10 0)) +116 POLYGON((1 2,21 2,21 8,1 8,1 2)) +117 POLYGON((28 0,84 0,84 42,28 42,28 0)) +118 POLYGON((28 0,84 0,84 42,28 42,28 0)) +119 POLYGON((0 0,3 0,3 3,0 3,0 0)) +120 POLYGON((0 0,10 0,10 10,0 10,0 0)) +121 POLYGON((3 6,44 6,44 9,3 9,3 6)) +explain extended select ST_Dimension(g), ST_GeometryType(g), ST_IsEmpty(g), ST_AsText(ST_Envelope(g)) from gis_geometry; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE gis_geometry ALL NULL NULL NULL NULL # 100.00 +Warnings: +Note 1003 select st_dimension(`test`.`gis_geometry`.`g`) AS `ST_Dimension(g)`,st_geometrytype(`test`.`gis_geometry`.`g`) AS `ST_GeometryType(g)`,st_isempty(`test`.`gis_geometry`.`g`) AS `ST_IsEmpty(g)`,st_astext(st_envelope(`test`.`gis_geometry`.`g`)) AS `ST_AsText(ST_Envelope(g))` from `test`.`gis_geometry` +SELECT fid, ST_X(g) FROM gis_point; +fid ST_X(g) +101 10 +102 20 +103 20 +104 10 +SELECT fid, ST_Y(g) FROM gis_point; +fid ST_Y(g) +101 10 +102 10 +103 20 +104 20 +explain extended select ST_X(g),ST_Y(g) FROM gis_point; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE gis_point ALL NULL NULL NULL NULL # 100.00 +Warnings: +Note 1003 select st_x(`test`.`gis_point`.`g`) AS `ST_X(g)`,st_y(`test`.`gis_point`.`g`) AS `ST_Y(g)` from `test`.`gis_point` +SELECT fid, ST_AsText(ST_StartPoint(g)) FROM gis_line; +fid ST_AsText(ST_StartPoint(g)) +105 POINT(0 0) +106 POINT(10 10) +107 POINT(10 10) +SELECT fid, ST_AsText(ST_EndPoint(g)) FROM gis_line; +fid ST_AsText(ST_EndPoint(g)) +105 POINT(10 0) +106 POINT(10 10) +107 POINT(40 10) +SELECT fid, ST_Length(g) FROM gis_line; +fid ST_Length(g) +105 24.14213562373095 +106 40 +107 30 +SELECT fid, ST_NumPoints(g) FROM gis_line; +fid ST_NumPoints(g) +105 3 +106 5 +107 2 +SELECT fid, ST_AsText(ST_PointN(g, 2)) FROM gis_line; +fid ST_AsText(ST_PointN(g, 2)) +105 POINT(0 10) +106 POINT(20 10) +107 POINT(40 10) +SELECT fid, ST_IsClosed(g) FROM gis_line; +fid ST_IsClosed(g) +105 0 +106 1 +107 0 +explain extended select ST_AsText(ST_StartPoint(g)),ST_AsText(ST_EndPoint(g)),ST_Length(g),ST_NumPoints(g),ST_AsText(ST_PointN(g, 2)),ST_IsClosed(g) FROM gis_line; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE gis_line ALL NULL NULL NULL NULL # 100.00 +Warnings: +Note 1003 select st_astext(st_startpoint(`test`.`gis_line`.`g`)) AS `ST_AsText(ST_StartPoint(g))`,st_astext(st_endpoint(`test`.`gis_line`.`g`)) AS `ST_AsText(ST_EndPoint(g))`,st_length(`test`.`gis_line`.`g`) AS `ST_Length(g)`,st_numpoints(`test`.`gis_line`.`g`) AS `ST_NumPoints(g)`,st_astext(st_pointn(`test`.`gis_line`.`g`,2)) AS `ST_AsText(ST_PointN(g, 2))`,st_isclosed(`test`.`gis_line`.`g`) AS `ST_IsClosed(g)` from `test`.`gis_line` +SELECT fid, ST_AsText(ST_Centroid(g)) FROM gis_polygon; +fid ST_AsText(ST_Centroid(g)) +108 POINT(15 15) +109 POINT(25.416666666666668 25.416666666666668) +110 POINT(20 10) +SELECT fid, ST_Area(g) FROM gis_polygon; +fid ST_Area(g) +108 100 +109 2400 +110 450 +SELECT fid, ST_AsText(ST_ExteriorRing(g)) FROM gis_polygon; +fid ST_AsText(ST_ExteriorRing(g)) +108 LINESTRING(10 10,20 10,20 20,10 20,10 10) +109 LINESTRING(0 0,50 0,50 50,0 50,0 0) +110 LINESTRING(0 0,30 0,30 30,0 0) +SELECT fid, ST_NumInteriorRings(g) FROM gis_polygon; +fid ST_NumInteriorRings(g) +108 0 +109 1 +110 0 +SELECT fid, ST_AsText(ST_InteriorRingN(g, 1)) FROM gis_polygon; +fid ST_AsText(ST_InteriorRingN(g, 1)) +108 NULL +109 LINESTRING(10 10,20 10,20 20,10 20,10 10) +110 NULL +explain extended select ST_AsText(ST_Centroid(g)),ST_Area(g),ST_AsText(ST_ExteriorRing(g)),ST_NumInteriorRings(g),ST_AsText(ST_InteriorRingN(g, 1)) FROM gis_polygon; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE gis_polygon ALL NULL NULL NULL NULL # 100.00 +Warnings: +Note 1003 select st_astext(st_centroid(`test`.`gis_polygon`.`g`)) AS `ST_AsText(ST_Centroid(g))`,st_area(`test`.`gis_polygon`.`g`) AS `ST_Area(g)`,st_astext(st_exteriorring(`test`.`gis_polygon`.`g`)) AS `ST_AsText(ST_ExteriorRing(g))`,st_numinteriorrings(`test`.`gis_polygon`.`g`) AS `ST_NumInteriorRings(g)`,st_astext(st_interiorringn(`test`.`gis_polygon`.`g`,1)) AS `ST_AsText(ST_InteriorRingN(g, 1))` from `test`.`gis_polygon` +SELECT fid, ST_IsClosed(g) FROM gis_multi_line; +fid ST_IsClosed(g) +114 0 +115 0 +116 0 +SELECT fid, ST_AsText(ST_Centroid(g)) FROM gis_multi_polygon; +fid ST_AsText(ST_Centroid(g)) +117 POINT(57.98031067576927 17.854754130800433) +118 POINT(57.98031067576927 17.854754130800433) +119 POINT(2 2) +SELECT fid, ST_Area(g) FROM gis_multi_polygon; +fid ST_Area(g) +117 1684.5 +118 1684.5 +119 4.5 +SELECT fid, ST_NumGeometries(g) from gis_multi_point; +fid ST_NumGeometries(g) +111 4 +112 4 +113 2 +SELECT fid, ST_NumGeometries(g) from gis_multi_line; +fid ST_NumGeometries(g) +114 2 +115 1 +116 2 +SELECT fid, ST_NumGeometries(g) from gis_multi_polygon; +fid ST_NumGeometries(g) +117 2 +118 2 +119 1 +SELECT fid, ST_NumGeometries(g) from gis_geometrycollection; +fid ST_NumGeometries(g) +120 2 +121 2 +explain extended SELECT fid, ST_NumGeometries(g) from gis_multi_point; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE gis_multi_point ALL NULL NULL NULL NULL # 100.00 +Warnings: +Note 1003 select `test`.`gis_multi_point`.`fid` AS `fid`,st_numgeometries(`test`.`gis_multi_point`.`g`) AS `ST_NumGeometries(g)` from `test`.`gis_multi_point` +SELECT fid, ST_AsText(ST_GeometryN(g, 2)) from gis_multi_point; +fid ST_AsText(ST_GeometryN(g, 2)) +111 POINT(10 10) +112 POINT(11 11) +113 POINT(4 10) +SELECT fid, ST_AsText(ST_GeometryN(g, 2)) from gis_multi_line; +fid ST_AsText(ST_GeometryN(g, 2)) +114 LINESTRING(16 0,16 23,16 48) +115 NULL +116 LINESTRING(2 5,5 8,21 7) +SELECT fid, ST_AsText(ST_GeometryN(g, 2)) from gis_multi_polygon; +fid ST_AsText(ST_GeometryN(g, 2)) +117 POLYGON((59 18,67 18,67 13,59 13,59 18)) +118 POLYGON((59 18,67 18,67 13,59 13,59 18)) +119 NULL +SELECT fid, ST_AsText(ST_GeometryN(g, 2)) from gis_geometrycollection; +fid ST_AsText(ST_GeometryN(g, 2)) +120 LINESTRING(0 0,10 10) +121 LINESTRING(3 6,7 9) +SELECT fid, ST_AsText(ST_GeometryN(g, 1)) from gis_geometrycollection; +fid ST_AsText(ST_GeometryN(g, 1)) +120 POINT(0 0) +121 POINT(44 6) +explain extended SELECT fid, ST_AsText(ST_GeometryN(g, 2)) from gis_multi_point; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE gis_multi_point ALL NULL NULL NULL NULL # 100.00 +Warnings: +Note 1003 select `test`.`gis_multi_point`.`fid` AS `fid`,st_astext(st_geometryn(`test`.`gis_multi_point`.`g`,2)) AS `ST_AsText(ST_GeometryN(g, 2))` from `test`.`gis_multi_point` +SELECT g1.fid as first, g2.fid as second, +MBRWithin(g1.g, g2.g) as w, MBRContains(g1.g, g2.g) as c, MBROverlaps(g1.g, g2.g) as o, +MBREquals(g1.g, g2.g) as e, MBRDisjoint(g1.g, g2.g) as d, ST_Touches(g1.g, g2.g) as t, +MBRIntersects(g1.g, g2.g) as i, ST_Crosses(g1.g, g2.g) as r +FROM gis_geometrycollection g1, gis_geometrycollection g2 ORDER BY first, second; +first second w c o e d t i r +120 120 1 1 0 1 0 0 1 0 +120 121 0 0 1 0 0 0 1 0 +121 120 0 0 1 0 0 0 1 0 +121 121 1 1 0 1 0 0 1 0 +explain extended SELECT g1.fid as first, g2.fid as second, +MBRWithin(g1.g, g2.g) as w, MBRContains(g1.g, g2.g) as c, MBROverlaps(g1.g, g2.g) as o, +MBREquals(g1.g, g2.g) as e, MBRDisjoint(g1.g, g2.g) as d, ST_Touches(g1.g, g2.g) as t, +MBRIntersects(g1.g, g2.g) as i, ST_Crosses(g1.g, g2.g) as r +FROM gis_geometrycollection g1, gis_geometrycollection g2 ORDER BY first, second; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE g1 ALL NULL NULL NULL NULL # 100.00 Using temporary; Using filesort +1 SIMPLE g2 ALL NULL NULL NULL NULL # 100.00 Using join buffer (flat, BNL join) +Warnings: +Note 1003 select `test`.`g1`.`fid` AS `first`,`test`.`g2`.`fid` AS `second`,mbrwithin(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `w`,mbrcontains(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `c`,mbroverlaps(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `o`,mbrequals(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `e`,mbrdisjoint(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `d`,st_touches(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `t`,mbrintersects(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `i`,st_crosses(`test`.`g1`.`g`,`test`.`g2`.`g`) AS `r` from `test`.`gis_geometrycollection` `g1` join `test`.`gis_geometrycollection` `g2` order by `test`.`g1`.`fid`,`test`.`g2`.`fid` +DROP TABLE gis_point, gis_line, gis_polygon, gis_multi_point, gis_multi_line, gis_multi_polygon, gis_geometrycollection, gis_geometry; +CREATE TABLE t1 ( +gp point, +ln linestring, +pg polygon, +mp multipoint, +mln multilinestring, +mpg multipolygon, +gc geometrycollection, +gm geometry +); +SHOW FIELDS FROM t1; +Field Type Null Key Default Extra +gp point YES NULL +ln linestring YES NULL +pg polygon YES NULL +mp multipoint YES NULL +mln multilinestring YES NULL +mpg multipolygon YES NULL +gc geometrycollection YES NULL +gm geometry YES NULL +ALTER TABLE t1 ADD fid INT NOT NULL; +SHOW FIELDS FROM t1; +Field Type Null Key Default Extra +gp point YES NULL +ln linestring YES NULL +pg polygon YES NULL +mp multipoint YES NULL +mln multilinestring YES NULL +mpg multipolygon YES NULL +gc geometrycollection YES NULL +gm geometry YES NULL +fid int(11) NO NULL +DROP TABLE t1; +SELECT ST_AsText(ST_GeometryFromWKB(ST_AsWKB(ST_GeometryFromText('POINT(1 4)')))); +ST_AsText(ST_GeometryFromWKB(ST_AsWKB(ST_GeometryFromText('POINT(1 4)')))) +POINT(1 4) +explain extended SELECT ST_AsText(ST_GeometryFromWKB(ST_AsWKB(ST_GeometryFromText('POINT(1 4)')))); +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL No tables used +Warnings: +Note 1003 select st_astext(st_geometryfromwkb(st_aswkb(st_geometryfromtext('POINT(1 4)')))) AS `ST_AsText(ST_GeometryFromWKB(ST_AsWKB(ST_GeometryFromText('POINT(1 4)'))))` +explain extended SELECT ST_AsText(ST_GeometryFromWKB(ST_AsWKB(ST_PointFromText('POINT(1 4)')))); +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL No tables used +Warnings: +Note 1003 select st_astext(st_geometryfromwkb(st_aswkb(st_geometryfromtext('POINT(1 4)')))) AS `ST_AsText(ST_GeometryFromWKB(ST_AsWKB(ST_PointFromText('POINT(1 4)'))))` +SELECT ST_SRID(ST_GeomFromText('LineString(1 1,2 2)',101)); +ST_SRID(ST_GeomFromText('LineString(1 1,2 2)',101)) +101 +explain extended SELECT ST_SRID(ST_GeomFromText('LineString(1 1,2 2)',101)); +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL No tables used +Warnings: +Note 1003 select srid(st_geometryfromtext('LineString(1 1,2 2)',101)) AS `ST_SRID(ST_GeomFromText('LineString(1 1,2 2)',101))` +explain extended select ST_issimple(MultiPoint(Point(3, 6), Point(4, 10))), ST_issimple(Point(3, 6)); +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL No tables used +Warnings: +Note 1003 select st_issimple(multipoint(point(3,6),point(4,10))) AS `ST_issimple(MultiPoint(Point(3, 6), Point(4, 10)))`,st_issimple(point(3,6)) AS `ST_issimple(Point(3, 6))` +create table t1 (a geometry not null); +insert into t1 values (ST_GeomFromText('Point(1 2)')); +insert into t1 values ('Garbage'); +ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field +insert IGNORE into t1 values ('Garbage'); +ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field +alter table t1 add spatial index(a); +drop table t1; +create table t1(a geometry not null, spatial index(a)); +insert into t1 values +(ST_GeomFromText('POINT(1 1)')), (ST_GeomFromText('POINT(3 3)')), +(ST_GeomFromText('POINT(4 4)')), (ST_GeomFromText('POINT(6 6)')); +select ST_AsText(a) from t1 where +MBRContains(ST_GeomFromText('Polygon((0 0, 0 2, 2 2, 2 0, 0 0))'), a) +or +MBRContains(ST_GeomFromText('Polygon((2 2, 2 5, 5 5, 5 2, 2 2))'), a); +ST_AsText(a) +POINT(1 1) +POINT(3 3) +POINT(4 4) +select ST_AsText(a) from t1 where +MBRContains(ST_GeomFromText('Polygon((0 0, 0 2, 2 2, 2 0, 0 0))'), a) +and +MBRContains(ST_GeomFromText('Polygon((0 0, 0 7, 7 7, 7 0, 0 0))'), a); +ST_AsText(a) +POINT(1 1) +drop table t1; +CREATE TABLE t1 (Coordinates POINT NOT NULL, SPATIAL INDEX(Coordinates)); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(383293632 1754448)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(564952612 157516260)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(903994614 180726515)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(98128178 141127631)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(862547902 799334546)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(341989013 850270906)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(803302376 93039099)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(857439153 817431356)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(319757546 343162742)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(826341972 717484432)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(305066789 201736238)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(626068992 616241497)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(55789424 755830108)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(802874458 312435220)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(153795660 551723671)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(242207428 537089292)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(553478119 807160039)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(694605552 457472733)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(987886554 792733729)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(598600363 850434457)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(592068275 940589376)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(700705362 395370650)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(33628474 558144514)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(212802006 353386020)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(901307256 39143977)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(70870451 206374045)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(240880214 696939443)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(822615542 296669638)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(452769551 625489999)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(609104858 606565210)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(177213669 851312285)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(143654501 730691787)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(658472325 838260052)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(188164520 646358878)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(630993781 786764883)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(496793334 223062055)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(727354258 197498696)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(618432704 760982731)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(755643210 831234710)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(114368751 656950466)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(870378686 185239202)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(863324511 111258900)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(882178645 685940052)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(407928538 334948195)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(311430051 17033395)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(941513405 488643719)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(868345680 85167906)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(219335507 526818004)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(923427958 407500026)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(173176882 554421738)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(194264908 669970217)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(777483793 921619165)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(867468912 395916497)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(682601897 623112122)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(227151206 796970647)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(280062588 97529892)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(982209849 143387099)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(208788792 864388493)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(829327151 616717329)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(199336688 140757201)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(633750724 140850093)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(629400920 502096404)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(226017998 848736426)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(28914408 149445955)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(256236452 202091290)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(703867693 450501360)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(872061506 481351486)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(372120524 739530418)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(877267982 54722420)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(362642540 104419188)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(851693067 642705127)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(201949080 833902916)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(786092225 410737872)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(698291409 615419376)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(27455201 897628096)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(756176576 661205925)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(38478189 385577496)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(163302328 264496186)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(234313922 192216735)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(413942141 490550373)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(394308025 117809834)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(941051732 266369530)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(599161319 313172256)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(5899948 476429301)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(367894677 368542487)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(580848489 219587743)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(11247614 782797569)')); +drop table t1; +create table t1 select ST_GeomFromWKB(POINT(1,3)); +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `ST_GeomFromWKB(POINT(1,3))` geometry DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci +drop table t1; +SET sql_mode = 'NO_ENGINE_SUBSTITUTION'; +CREATE TABLE `t1` (`object_id` bigint(20) unsigned NOT NULL default '0', `geo` +geometry NOT NULL default ''); +SET sql_mode = default; +insert into t1 values ('85984',ST_GeomFromText('MULTIPOLYGON(((-115.006363 +36.305435,-114.992394 36.305202,-114.991219 36.305975,-114.991163 +36.306845,-114.989432 36.309452,-114.978275 36.312642,-114.977363 +36.311978,-114.975327 36.312344,-114.96502 36.31597,-114.963364 +36.313629,-114.961723 36.313721,-114.956398 36.316057,-114.951882 +36.320979,-114.947073 36.323475,-114.945207 36.326451,-114.945207 +36.326451,-114.944132 36.326061,-114.94003 36.326588,-114.924017 +36.334484,-114.923281 36.334146,-114.92564 36.331504,-114.94072 +36.319282,-114.945348 36.314812,-114.948091 36.314762,-114.951755 +36.316211,-114.952446 36.313883,-114.952644 36.309488,-114.944725 +36.313083,-114.93706 36.32043,-114.932478 36.323497,-114.924556 +36.327708,-114.922608 36.329715,-114.92009 36.328695,-114.912105 +36.323566,-114.901647 36.317952,-114.897436 36.313968,-114.895344 +36.309573,-114.891699 36.304398,-114.890569 36.303551,-114.886356 +36.302702,-114.885141 36.301351,-114.885709 36.297391,-114.892499 +36.290893,-114.902142 36.288974,-114.904941 36.288838,-114.905308 +36.289845,-114.906325 36.290395,-114.909916 36.289549,-114.914527 +36.287535,-114.918797 36.284423,-114.922982 36.279731,-114.924113 +36.277282,-114.924057 36.275817,-114.927733 36.27053,-114.929354 +36.269029,-114.929354 36.269029,-114.950856 36.268715,-114.950768 +36.264324,-114.960206 36.264293,-114.960301 36.268943,-115.006662 +36.268929,-115.008583 36.265619,-115.00665 36.264247,-115.006659 +36.246873,-115.006659 36.246873,-115.006838 36.247697,-115.010764 +36.247774,-115.015609 36.25113,-115.015765 36.254505,-115.029517 +36.254619,-115.038573 36.249317,-115.038573 36.249317,-115.023403 +36.25841,-115.023873 36.258994,-115.031845 36.259829,-115.03183 +36.261053,-115.025561 36.261095,-115.036417 36.274632,-115.033729 +36.276041,-115.032217 36.274851,-115.029845 36.273959,-115.029934 +36.274966,-115.025763 36.274896,-115.025406 36.281044,-115.028731 +36.284471,-115.036497 36.290377,-115.042071 36.291039,-115.026759 +36.298478,-115.008995 36.301966,-115.006363 36.305435),(-115.079835 +36.244369,-115.079735 36.260186,-115.076435 36.262369,-115.069758 +36.265,-115.070235 36.268757,-115.064542 36.268655,-115.061843 +36.269857,-115.062676 36.270693,-115.06305 36.272344,-115.059051 +36.281023,-115.05918 36.283008,-115.060591 36.285246,-115.061913 +36.290022,-115.062499 36.306353,-115.062499 36.306353,-115.060918 +36.30642,-115.06112 36.289779,-115.05713 36.2825,-115.057314 +36.279446,-115.060779 36.274659,-115.061366 36.27209,-115.057858 +36.26557,-115.055805 36.262883,-115.054688 36.262874,-115.047335 +36.25037,-115.044234 36.24637,-115.052434 36.24047,-115.061734 +36.23507,-115.061934 36.22677,-115.061934 36.22677,-115.061491 +36.225267,-115.062024 36.218194,-115.060134 36.218278,-115.060133 +36.210771,-115.057833 36.210771,-115.057433 36.196271,-115.062233 +36.196271,-115.062233 36.190371,-115.062233 36.190371,-115.065533 +36.190371,-115.071333 36.188571,-115.098331 36.188275,-115.098331 +36.188275,-115.098435 36.237569,-115.097535 36.240369,-115.097535 +36.240369,-115.093235 36.240369,-115.089135 36.240469,-115.083135 +36.240569,-115.083135 36.240569,-115.079835 +36.244369)))')),('85998',ST_GeomFromText('MULTIPOLYGON(((-115.333107 +36.264587,-115.333168 36.280638,-115.333168 36.280638,-115.32226 +36.280643,-115.322538 36.274311,-115.327222 36.274258,-115.32733 +36.263026,-115.330675 36.262984,-115.332132 36.264673,-115.333107 +36.264587),(-115.247239 36.247066,-115.247438 36.218267,-115.247438 +36.218267,-115.278525 36.219263,-115.278525 36.219263,-115.301545 +36.219559,-115.332748 36.219197,-115.332757 36.220041,-115.332757 +36.220041,-115.332895 36.233514,-115.349023 36.233479,-115.351489 +36.234475,-115.353681 36.237021,-115.357106 36.239789,-115.36519 +36.243331,-115.368156 36.243487,-115.367389 36.244902,-115.364553 +36.246014,-115.359219 36.24616,-115.356186 36.248025,-115.353347 +36.248004,-115.350813 36.249507,-115.339673 36.25387,-115.333069 +36.255018,-115.333069 36.255018,-115.333042 36.247767,-115.279039 +36.248666,-115.263639 36.247466,-115.263839 36.252766,-115.261439 +36.252666,-115.261439 36.247366,-115.247239 36.247066)))')); +select object_id, ST_geometrytype(geo), ST_ISSIMPLE(GEO), ST_ASTEXT(ST_centroid(geo)) from +t1 where object_id=85998; +object_id ST_geometrytype(geo) ST_ISSIMPLE(GEO) ST_ASTEXT(ST_centroid(geo)) +85998 MULTIPOLYGON 1 POINT(115.2970604672862 -36.23335610879993) +select object_id, ST_geometrytype(geo), ST_ISSIMPLE(GEO), ST_ASTEXT(ST_centroid(geo)) from +t1 where object_id=85984; +object_id ST_geometrytype(geo) ST_ISSIMPLE(GEO) ST_ASTEXT(ST_centroid(geo)) +85984 MULTIPOLYGON 1 POINT(-114.86854472054372 36.34725218253213) +drop table t1; +create table t1 (fl geometry not null); +insert into t1 values (1); +ERROR HY000: Cannot cast 'int' as 'geometry' in assignment of `test`.`t1`.`fl` +insert into t1 values (1.11); +ERROR HY000: Cannot cast 'decimal' as 'geometry' in assignment of `test`.`t1`.`fl` +insert into t1 values ("qwerty"); +ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field +insert into t1 values (ST_pointfromtext('point(1,1)')); +ERROR 23000: Column 'fl' cannot be null +drop table t1; +select (ST_asWKT(ST_geomfromwkb((0x000000000140240000000000004024000000000000)))); +(ST_asWKT(ST_geomfromwkb((0x000000000140240000000000004024000000000000)))) +POINT(10 10) +select (ST_asWKT(ST_geomfromwkb((0x010100000000000000000024400000000000002440)))); +(ST_asWKT(ST_geomfromwkb((0x010100000000000000000024400000000000002440)))) +POINT(10 10) +create table t1 (g GEOMETRY); +select * from t1; +Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr +def test t1 t1 g g 255 4294967295 0 Y 144 0 63 +g +select ST_asbinary(g) from t1; +Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr +def ST_asbinary(g) 251 4294967295 0 Y 128 0 63 +ST_asbinary(g) +drop table t1; +create table t1 (a TEXT, b GEOMETRY NOT NULL, SPATIAL KEY(b)); +alter table t1 disable keys; +Warnings: +Note 1031 Storage engine InnoDB of the table `test`.`t1` doesn't have this option +load data infile '../../std_data/bad_gis_data.dat' into table t1; +ERROR 22004: Column set to default value; NULL supplied to NOT NULL column 'b' at row 1 +alter table t1 enable keys; +Warnings: +Note 1031 Storage engine InnoDB of the table `test`.`t1` doesn't have this option +drop table t1; +create table t1 (a int, b blob); +insert into t1 values (1, ''), (2, NULL), (3, '1'); +select * from t1; +a b +1 +2 NULL +3 1 +select +ST_geometryfromtext(b) IS NULL, ST_geometryfromwkb(b) IS NULL, ST_astext(b) IS NULL, +ST_aswkb(b) IS NULL, ST_geometrytype(b) IS NULL, ST_centroid(b) IS NULL, +ST_envelope(b) IS NULL, ST_startpoint(b) IS NULL, ST_endpoint(b) IS NULL, +ST_exteriorring(b) IS NULL, ST_pointn(b, 1) IS NULL, ST_geometryn(b, 1) IS NULL, +ST_interiorringn(b, 1) IS NULL, multipoint(b) IS NULL, ST_isempty(b) IS NULL, +ST_issimple(b) IS NULL, ST_isclosed(b) IS NULL, ST_dimension(b) IS NULL, +ST_numgeometries(b) IS NULL, ST_numinteriorrings(b) IS NULL, ST_numpoints(b) IS NULL, +ST_area(b) IS NULL, ST_length(b) IS NULL, ST_srid(b) IS NULL, ST_x(b) IS NULL, +ST_y(b) IS NULL +from t1; +ERROR 22007: Illegal non geometric '`test`.`t1`.`b`' value found during parsing +select +MBRwithin(b, b) IS NULL, MBRcontains(b, b) IS NULL, MBRoverlaps(b, b) IS NULL, +MBRequals(b, b) IS NULL, MBRdisjoint(b, b) IS NULL, ST_touches(b, b) IS NULL, +MBRintersects(b, b) IS NULL, ST_crosses(b, b) IS NULL +from t1; +MBRwithin(b, b) IS NULL MBRcontains(b, b) IS NULL MBRoverlaps(b, b) IS NULL MBRequals(b, b) IS NULL MBRdisjoint(b, b) IS NULL ST_touches(b, b) IS NULL MBRintersects(b, b) IS NULL ST_crosses(b, b) IS NULL +1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 +1 1 1 1 1 1 1 1 +select +point(b, b) IS NULL, linestring(b) IS NULL, polygon(b) IS NULL, multipoint(b) IS NULL, +multilinestring(b) IS NULL, multipolygon(b) IS NULL, +geometrycollection(b) IS NULL +from t1; +ERROR 22007: Illegal non geometric '`test`.`t1`.`b`' value found during parsing +drop table t1; +CREATE TABLE t1(a POINT) ENGINE=MyISAM; +INSERT INTO t1 VALUES (NULL); +SELECT * FROM t1; +a +NULL +DROP TABLE t1; +CREATE TABLE `t1` ( `col9` set('a'), `col89` date); +INSERT IGNORE INTO `t1` VALUES ('','0000-00-00'); +select ST_geomfromtext(col9,col89) as a from t1; +a +NULL +DROP TABLE t1; +CREATE TABLE t1 ( +geomdata polygon NOT NULL, +SPATIAL KEY index_geom (geomdata) +) ENGINE=MyISAM DEFAULT CHARSET=latin2 DELAY_KEY_WRITE=1 ROW_FORMAT=FIXED; +CREATE TABLE t2 ( +geomdata polygon NOT NULL, +SPATIAL KEY index_geom (geomdata) +) ENGINE=MyISAM DEFAULT CHARSET=latin2 DELAY_KEY_WRITE=1 ROW_FORMAT=FIXED; +CREATE TABLE t3 +select +ST_aswkb(ws.geomdata) AS geomdatawkb +from +t1 ws +union +select +ST_aswkb(ws.geomdata) AS geomdatawkb +from +t2 ws; +describe t3; +Field Type Null Key Default Extra +geomdatawkb longblob YES NULL +drop table t1; +drop table t2; +drop table t3; +create table t1(col1 geometry default null,col15 geometrycollection not +null,spatial index(col15),index(col1(15)))engine=innodb; +insert into t1 set col15 = ST_GeomFromText('POINT(6 5)'); +insert into t1 set col15 = ST_GeomFromText('POINT(6 5)'); +check table t1 extended; +Table Op Msg_type Msg_text +test.t1 check status OK +drop table t1; +End of 4.1 tests +create table t1 (s1 geometry not null,s2 char(100)); +create trigger t1_bu before update on t1 for each row set new.s1 = null; +insert into t1 values (null,null); +ERROR 23000: Column 's1' cannot be null +drop table t1; +drop procedure if exists fn3; +create function fn3 () returns point deterministic return ST_GeomFromText("point(1 1)"); +show create function fn3; +Function sql_mode Create Function character_set_client collation_connection Database Collation +fn3 STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` FUNCTION `fn3`() RETURNS point + DETERMINISTIC +return ST_GeomFromText("point(1 1)") latin1 latin1_swedish_ci latin1_swedish_ci +select ST_astext(fn3()); +ST_astext(fn3()) +POINT(1 1) +drop function fn3; +create table t1(pt POINT); +alter table t1 add primary key pti(pt); +Warnings: +Warning 1280 Name 'pti' ignored for PRIMARY key. +drop table t1; +create table t1(pt GEOMETRY); +alter table t1 add primary key pti(pt); +ERROR 42000: BLOB/TEXT column 'pt' used in key specification without a key length +alter table t1 add primary key pti(pt(20)); +Warnings: +Warning 1280 Name 'pti' ignored for PRIMARY key. +drop table t1; +create table t1 select ST_GeomFromText('point(1 1)'); +desc t1; +Field Type Null Key Default Extra +ST_GeomFromText('point(1 1)') geometry YES NULL +drop table t1; +create table t1 (g geometry not null); +insert into t1 values(default); +ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field +drop table t1; +CREATE TABLE t1 (a GEOMETRY); +CREATE VIEW v1 AS SELECT ST_GeomFromwkb(ST_ASBINARY(a)) FROM t1; +CREATE VIEW v2 AS SELECT a FROM t1; +DESCRIBE v1; +Field Type Null Key Default Extra +ST_GeomFromwkb(ST_ASBINARY(a)) geometry YES NULL +DESCRIBE v2; +Field Type Null Key Default Extra +a geometry YES NULL +DROP VIEW v1,v2; +DROP TABLE t1; +create table t1 (name VARCHAR(100), square GEOMETRY); +INSERT INTO t1 VALUES("center", ST_GeomFromText('POLYGON (( 0 0, 0 2, 2 2, 2 0, 0 0))')); +INSERT INTO t1 VALUES("small", ST_GeomFromText('POLYGON (( 0 0, 0 1, 1 1, 1 0, 0 0))')); +INSERT INTO t1 VALUES("big", ST_GeomFromText('POLYGON (( 0 0, 0 3, 3 3, 3 0, 0 0))')); +INSERT INTO t1 VALUES("up", ST_GeomFromText('POLYGON (( 0 1, 0 3, 2 3, 2 1, 0 1))')); +INSERT INTO t1 VALUES("up2", ST_GeomFromText('POLYGON (( 0 2, 0 4, 2 4, 2 2, 0 2))')); +INSERT INTO t1 VALUES("up3", ST_GeomFromText('POLYGON (( 0 3, 0 5, 2 5, 2 3, 0 3))')); +INSERT INTO t1 VALUES("down", ST_GeomFromText('POLYGON (( 0 -1, 0 1, 2 1, 2 -1, 0 -1))')); +INSERT INTO t1 VALUES("down2", ST_GeomFromText('POLYGON (( 0 -2, 0 0, 2 0, 2 -2, 0 -2))')); +INSERT INTO t1 VALUES("down3", ST_GeomFromText('POLYGON (( 0 -3, 0 -1, 2 -1, 2 -3, 0 -3))')); +INSERT INTO t1 VALUES("right", ST_GeomFromText('POLYGON (( 1 0, 1 2, 3 2, 3 0, 1 0))')); +INSERT INTO t1 VALUES("right2", ST_GeomFromText('POLYGON (( 2 0, 2 2, 4 2, 4 0, 2 0))')); +INSERT INTO t1 VALUES("right3", ST_GeomFromText('POLYGON (( 3 0, 3 2, 5 2, 5 0, 3 0))')); +INSERT INTO t1 VALUES("left", ST_GeomFromText('POLYGON (( -1 0, -1 2, 1 2, 1 0, -1 0))')); +INSERT INTO t1 VALUES("left2", ST_GeomFromText('POLYGON (( -2 0, -2 2, 0 2, 0 0, -2 0))')); +INSERT INTO t1 VALUES("left3", ST_GeomFromText('POLYGON (( -3 0, -3 2, -1 2, -1 0, -3 0))')); +SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrcontains FROM t1 a1 JOIN t1 a2 ON MBRContains( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name; +mbrcontains +center,small +SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrdisjoint FROM t1 a1 JOIN t1 a2 ON MBRDisjoint( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name; +mbrdisjoint +down3,left3,right3,up3 +SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrequals FROM t1 a1 JOIN t1 a2 ON MBREquals( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name; +mbrequals +center +SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrintersect FROM t1 a1 JOIN t1 a2 ON MBRIntersects( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name; +mbrintersect +big,center,down,down2,left,left2,right,right2,small,up,up2 +SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbroverlaps FROM t1 a1 JOIN t1 a2 ON MBROverlaps( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name; +mbroverlaps +down,left,right,up +SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrtouches FROM t1 a1 JOIN t1 a2 ON MBRTouches( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name; +mbrtouches +down2,left2,right2,up2 +SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrwithin FROM t1 a1 JOIN t1 a2 ON MBRWithin( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name; +mbrwithin +big,center +SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS MBRcontains FROM t1 a1 JOIN t1 a2 ON MBRContains( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name; +MBRcontains +center,small +SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS MBRdisjoint FROM t1 a1 JOIN t1 a2 ON MBRDisjoint( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name; +MBRdisjoint +down3,left3,right3,up3 +SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS MBRequals FROM t1 a1 JOIN t1 a2 ON MBREquals( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name; +MBRequals +center +SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS intersects FROM t1 a1 JOIN t1 a2 ON MBRIntersects( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name; +intersects +big,center,down,down2,left,left2,right,right2,small,up,up2 +SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS MBRoverlaps FROM t1 a1 JOIN t1 a2 ON MBROverlaps( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name; +MBRoverlaps +down,left,right,up +SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS ST_touches FROM t1 a1 JOIN t1 a2 ON ST_Touches( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name; +ST_touches +down2,left2,right2,up2 +SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS MBRwithin FROM t1 a1 JOIN t1 a2 ON MBRWithin( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name; +MBRwithin +big,center +SET @vert1 = ST_GeomFromText('POLYGON ((0 -2, 0 2, 0 -2))'); +SET @horiz1 = ST_GeomFromText('POLYGON ((-2 0, 2 0, -2 0))'); +SET @horiz2 = ST_GeomFromText('POLYGON ((-1 0, 3 0, -1 0))'); +SET @horiz3 = ST_GeomFromText('POLYGON ((2 0, 3 0, 2 0))'); +SET @point1 = ST_GeomFromText('POLYGON ((0 0))'); +SET @point2 = ST_GeomFromText('POLYGON ((-2 0))'); +SELECT GROUP_CONCAT(a1.name ORDER BY a1.name) AS MBRoverlaps FROM t1 a1 WHERE MBROverlaps(a1.square, @vert1) GROUP BY a1.name; +MBRoverlaps +SELECT GROUP_CONCAT(a1.name ORDER BY a1.name) AS MBRoverlaps FROM t1 a1 WHERE MBROverlaps(a1.square, @horiz1) GROUP BY a1.name; +MBRoverlaps +SELECT MBROverlaps(@horiz1, @vert1) FROM DUAL; +MBROverlaps(@horiz1, @vert1) +0 +SELECT MBROverlaps(@horiz1, @horiz2) FROM DUAL; +MBROverlaps(@horiz1, @horiz2) +1 +SELECT MBROverlaps(@horiz1, @horiz3) FROM DUAL; +MBROverlaps(@horiz1, @horiz3) +0 +SELECT MBROverlaps(@horiz1, @point1) FROM DUAL; +MBROverlaps(@horiz1, @point1) +0 +SELECT MBROverlaps(@horiz1, @point2) FROM DUAL; +MBROverlaps(@horiz1, @point2) +0 +DROP TABLE t1; +create table t1(f1 geometry, f2 polygon, f3 linestring); +select f1 from t1 union select f1 from t1; +f1 +insert into t1 (f2,f3) values (ST_GeomFromText('POLYGON((10 10,20 10,20 20,10 20,10 10))'), ST_GeomFromText('LINESTRING(0 0,1 1,2 2)')); +select ST_AsText(f2),ST_AsText(f3) from t1; +ST_AsText(f2) ST_AsText(f3) +POLYGON((10 10,20 10,20 20,10 20,10 10)) LINESTRING(0 0,1 1,2 2) +select ST_AsText(a) from (select f2 as a from t1 union select f3 from t1) t; +ST_AsText(a) +POLYGON((10 10,20 10,20 20,10 20,10 10)) +LINESTRING(0 0,1 1,2 2) +create table t2 as select f2 as a from t1 union select f3 from t1; +desc t2; +Field Type Null Key Default Extra +a geometry YES NULL +select ST_AsText(a) from t2; +ST_AsText(a) +POLYGON((10 10,20 10,20 20,10 20,10 10)) +LINESTRING(0 0,1 1,2 2) +drop table t1, t2; +SELECT 1; +1 +1 +CREATE TABLE t1 (p POINT); +CREATE TABLE t2 (p POINT, INDEX(p)); +INSERT INTO t1 VALUES (POINTFROMTEXT('POINT(1 2)')); +INSERT INTO t2 VALUES (POINTFROMTEXT('POINT(1 2)')); +SELECT COUNT(*) FROM t1 WHERE p=POINTFROMTEXT('POINT(1 2)'); +COUNT(*) +1 +EXPLAIN +SELECT COUNT(*) FROM t2 WHERE p=POINTFROMTEXT('POINT(1 2)'); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t2 ref p p 28 const 1 Using where +SELECT COUNT(*) FROM t2 WHERE p=POINTFROMTEXT('POINT(1 2)'); +COUNT(*) +1 +INSERT INTO t1 VALUES (POINTFROMTEXT('POINT(3 4)')); +INSERT INTO t2 VALUES (POINTFROMTEXT('POINT(3 4)')); +EXPLAIN +SELECT COUNT(*) FROM t1 WHERE p=POINTFROMTEXT('POINT(1 2)'); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 ALL NULL NULL NULL NULL 2 Using where +SELECT COUNT(*) FROM t1 WHERE p=POINTFROMTEXT('POINT(1 2)'); +COUNT(*) +1 +EXPLAIN +SELECT COUNT(*) FROM t2 WHERE p=POINTFROMTEXT('POINT(1 2)'); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t2 ref p p 28 const # Using where +SELECT COUNT(*) FROM t2 WHERE p=POINTFROMTEXT('POINT(1 2)'); +COUNT(*) +1 +EXPLAIN +SELECT COUNT(*) FROM t2 IGNORE INDEX(p) WHERE p=POINTFROMTEXT('POINT(1 2)'); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t2 ALL NULL NULL NULL NULL 2 Using where +SELECT COUNT(*) FROM t2 IGNORE INDEX(p) WHERE p=POINTFROMTEXT('POINT(1 2)'); +COUNT(*) +1 +DROP TABLE t1, t2; +End of 5.0 tests +# +# Test for bug #58650 "Failing assertion: primary_key_no == -1 || +# primary_key_no == 0". +# +drop table if exists t1; +# The minimal test case. +create table t1 (a int not null, b linestring not null, unique key b (b(12)), unique key a (a)); +drop table t1; +# The original test case. +create table t1 (a int not null, b linestring not null, unique key b (b(12))); +create unique index a on t1(a); +drop table t1; +create table `t1` (`col002` point)engine=innodb; +insert into t1 values (),(),(); +select min(`col002`) from t1 union select `col002` from t1; +min(`col002`) +NULL +drop table t1; +# +# Bug #47780: crash when comparing GIS items from subquery +# +CREATE TABLE t1(a INT, b MULTIPOLYGON); +INSERT INTO t1 VALUES +(0, +ST_GEOMFROMTEXT( +'multipolygon(((1 2,3 4,5 6,7 8,9 8,1 2,1 2),(7 6,5 4,3 2,1 2,3 4,7 6)))')); +# must not crash +SELECT 1 FROM t1 WHERE a <> (SELECT ST_GEOMETRYCOLLECTIONFROMWKB(b) FROM t1); +ERROR HY000: Illegal parameter data types int and geometry for operation '<>' +DROP TABLE t1; +# +# Bug #49250 : spatial btree index corruption and crash +# Part one : spatial syntax check +# +CREATE TABLE t1(col1 MULTIPOLYGON NOT NULL, +SPATIAL INDEX USING BTREE (col1)); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'USING BTREE (col1))' at line 2 +CREATE TABLE t2(col1 MULTIPOLYGON NOT NULL); +CREATE SPATIAL INDEX USING BTREE ON t2(col); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'USING BTREE ON t2(col)' at line 1 +ALTER TABLE t2 ADD SPATIAL INDEX USING BTREE (col1); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'USING BTREE (col1)' at line 1 +DROP TABLE t2; +End of 5.0 tests +create table t1 (f1 tinyint(1), f2 char(1), f3 varchar(1), f4 geometry, f5 datetime); +create view v1 as select * from t1; +desc v1; +Field Type Null Key Default Extra +f1 tinyint(1) YES NULL +f2 char(1) YES NULL +f3 varchar(1) YES NULL +f4 geometry YES NULL +f5 datetime YES NULL +drop view v1; +drop table t1; +SELECT MultiPoint(12345,''); +ERROR HY000: Illegal parameter data type int for operation 'multipoint' +SELECT 1 FROM (SELECT GREATEST(1,GEOMETRYCOLLECTION('00000','00000')) b FROM DUAL) AS d WHERE (LINESTRING(d.b)); +ERROR HY000: Illegal parameter data type varchar for operation 'geometrycollection' +# +# BUG#51875: crash when loading data into geometry function ST_polyfromwkb +# +SET @a=0x00000000030000000100000000000000000000000000144000000000000014400000000000001840000000000000184000000000000014400000000000001440; +SET @a=ST_POLYFROMWKB(@a); +SET @a=0x00000000030000000000000000000000000000000000144000000000000014400000000000001840000000000000184000000000000014400000000000001440; +SET @a=ST_POLYFROMWKB(@a); +create table t1(a polygon NOT NULL)engine=innodb; +insert into t1 values (ST_geomfromtext("point(0 1)")); +ERROR 22007: Incorrect POLYGON value: 'POINT(0 1)' for column `test`.`t1`.`a` at row 1 +insert into t1 values (ST_geomfromtext("point(1 0)")); +ERROR 22007: Incorrect POLYGON value: 'POINT(1 0)' for column `test`.`t1`.`a` at row 1 +select * from (select polygon(t1.a) as p from t1 order by t1.a) d; +p +drop table t1; +# +# Test for bug #59888 "debug assertion when attempt to create spatial index +# on char > 31 bytes". +# +create table t1(a char(32) not null) engine=innodb; +create spatial index i on t1 (a); +ERROR HY000: Incorrect arguments to SPATIAL INDEX +drop table t1; +End of 5.1 tests +CREATE TABLE t0 (a BINARY(32) NOT NULL); +CREATE SPATIAL INDEX i on t0 (a); +ERROR HY000: Incorrect arguments to SPATIAL INDEX +INSERT INTO t0 VALUES (1); +CREATE TABLE t1( +col0 BINARY NOT NULL, +col2 TIMESTAMP, +SPATIAL INDEX i1 (col0) +) ENGINE=MyISAM; +ERROR HY000: Incorrect arguments to SPATIAL INDEX +CREATE TABLE t1 ( +col0 BINARY NOT NULL, +col2 TIMESTAMP +) ENGINE=MyISAM; +CREATE SPATIAL INDEX idx0 ON t1(col0); +ERROR HY000: Incorrect arguments to SPATIAL INDEX +ALTER TABLE t1 ADD SPATIAL INDEX i1 (col0); +ERROR HY000: Incorrect arguments to SPATIAL INDEX +CREATE TABLE t2 ( +col0 INTEGER NOT NULL, +col1 POINT, +col2 POINT +); +CREATE SPATIAL INDEX idx0 ON t2 (col1, col2); +ERROR HY000: Incorrect arguments to SPATIAL INDEX +CREATE TABLE t3 ( +col0 INTEGER NOT NULL, +col1 POINT, +col2 LINESTRING, +SPATIAL INDEX i1 (col1, col2) +); +ERROR HY000: Incorrect arguments to SPATIAL INDEX +DROP TABLE t0, t1, t2; +# +# BUG#12414917 - ST_ISCLOSED() CRASHES ON 64-BIT BUILDS +# +SELECT ST_ISCLOSED(CONVERT(CONCAT(' ', 0x2), BINARY(20))); +ST_ISCLOSED(CONVERT(CONCAT(' ', 0x2), BINARY(20))) +-1 +# +# BUG#12537203 - CRASH WHEN SUBSELECTING GLOBAL VARIABLES IN +# GEOMETRY FUNCTION ARGUMENTS +# +SELECT GEOMETRYCOLLECTION((SELECT @@OLD)); +ERROR HY000: Illegal parameter data type bigint for operation 'geometrycollection' +End of 5.1 tests +# +# Bug#11908153: CRASH AND/OR VALGRIND ERRORS IN FIELD_BLOB::GET_KEY_IMAGE +# +CREATE TABLE g1 +(a geometry NOT NULL, UNIQUE KEY i (a(151))) engine=innodb; +INSERT INTO g1 VALUES (ST_geomfromtext('point(1 1)')); +INSERT INTO g1 VALUES (ST_geomfromtext('point(1 2)')); +FLUSH TABLES; +SELECT 1 FROM g1 +FORCE INDEX(i) WHERE a = date_sub(now(), interval 2808.4 year_month) +; +ERROR HY000: Illegal parameter data types geometry and datetime for operation '=' +DROP TABLE g1; +# +# Bug#13013970 MORE CRASHES IN FIELD_BLOB::GET_KEY_IMAGE +# +CREATE TABLE g1(a TEXT NOT NULL, KEY(a(255))); +INSERT INTO g1 VALUES ('a'),('a'); +SELECT 1 FROM g1 WHERE a >= ANY +(SELECT 1 FROM g1 WHERE a = ST_geomfromtext('') OR a) ; +1 +Warnings: +Warning 1292 Truncated incorrect DECIMAL value: 'a' +Warning 1292 Truncated incorrect DECIMAL value: 'a' +DROP TABLE g1; +End of 5.5 tests +DROP DATABASE IF EXISTS gis_ogs; +CREATE DATABASE gis_ogs; +USE gis_ogs; +# +# C.3.3.1 Geometry types and functions schema construction +# +CREATE TABLE lakes ( +fid INTEGER NOT NULL PRIMARY KEY, +name CHARACTER VARYING(64), +shore POLYGON); +CREATE TABLE road_segments ( +fid INTEGER NOT NULL PRIMARY KEY, +name CHARACTER VARYING(64), +aliases CHARACTER VARYING(64), +num_lanes INTEGER, +centerline LINESTRING); +CREATE TABLE divided_routes ( +fid INTEGER NOT NULL PRIMARY KEY, +name CHARACTER VARYING(64), +num_lanes INTEGER, +centerlines MULTILINESTRING); +CREATE TABLE forests ( +fid INTEGER NOT NULL PRIMARY KEY, +name CHARACTER VARYING(64), +boundary MULTIPOLYGON); +CREATE TABLE bridges ( +fid INTEGER NOT NULL PRIMARY KEY, +name CHARACTER VARYING(64), +position POINT); +CREATE TABLE streams ( +fid INTEGER NOT NULL PRIMARY KEY, +name CHARACTER VARYING(64), +centerline LINESTRING); +CREATE TABLE buildings ( +fid INTEGER NOT NULL PRIMARY KEY, +address CHARACTER VARYING(64), +position POINT, +footprint POLYGON); +CREATE TABLE ponds ( +fid INTEGER NOT NULL PRIMARY KEY, +name CHARACTER VARYING(64), +type CHARACTER VARYING(64), +shores MULTIPOLYGON); +CREATE TABLE named_places ( +fid INTEGER NOT NULL PRIMARY KEY, +name CHARACTER VARYING(64), +boundary POLYGON); +CREATE TABLE map_neatlines ( +fid INTEGER NOT NULL PRIMARY KEY, +neatline POLYGON); +# +# C.3.3.2 Geometry types and functions schema data loading +# +# Lakes +INSERT INTO lakes VALUES ( +101, 'BLUE LAKE', +ST_PolyFromText( +'POLYGON( +(52 18,66 23,73 9,48 6,52 18), +(59 18,67 18,67 13,59 13,59 18) +)', +101)); +# Road Segments +INSERT INTO road_segments VALUES(102, 'Route 5', NULL, 2, +ST_LineFromText( +'LINESTRING( 0 18, 10 21, 16 23, 28 26, 44 31 )' ,101)); +INSERT INTO road_segments VALUES(103, 'Route 5', 'Main Street', 4, +ST_LineFromText( +'LINESTRING( 44 31, 56 34, 70 38 )' ,101)); +INSERT INTO road_segments VALUES(104, 'Route 5', NULL, 2, +ST_LineFromText( +'LINESTRING( 70 38, 72 48 )' ,101)); +INSERT INTO road_segments VALUES(105, 'Main Street', NULL, 4, +ST_LineFromText( +'LINESTRING( 70 38, 84 42 )' ,101)); +INSERT INTO road_segments VALUES(106, 'Dirt Road by Green Forest', NULL, +1, +ST_LineFromText( +'LINESTRING( 28 26, 28 0 )',101)); +# DividedRoutes +INSERT INTO divided_routes VALUES(119, 'Route 75', 4, +ST_MLineFromText( +'MULTILINESTRING((10 48,10 21,10 0), +(16 0,16 23,16 48))', 101)); +# Forests +INSERT INTO forests VALUES(109, 'Green Forest', +ST_MPolyFromText( +'MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26), +(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))', +101)); +# Bridges +INSERT INTO bridges VALUES(110, 'Cam Bridge', ST_PointFromText( +'POINT( 44 31 )', 101)); +# Streams +INSERT INTO streams VALUES(111, 'Cam Stream', +ST_LineFromText( +'LINESTRING( 38 48, 44 41, 41 36, 44 31, 52 18 )', 101)); +INSERT INTO streams VALUES(112, NULL, +ST_LineFromText( +'LINESTRING( 76 0, 78 4, 73 9 )', 101)); +# Buildings +INSERT INTO buildings VALUES(113, '123 Main Street', +ST_PointFromText( +'POINT( 52 30 )', 101), +ST_PolyFromText( +'POLYGON( ( 50 31, 54 31, 54 29, 50 29, 50 31) )', 101)); +INSERT INTO buildings VALUES(114, '215 Main Street', +ST_PointFromText( +'POINT( 64 33 )', 101), +ST_PolyFromText( +'POLYGON( ( 66 34, 62 34, 62 32, 66 32, 66 34) )', 101)); +# Ponds +INSERT INTO ponds VALUES(120, NULL, 'Stock Pond', +ST_MPolyFromText( +'MULTIPOLYGON( ( ( 24 44, 22 42, 24 40, 24 44) ), +( ( 26 44, 26 40, 28 42, 26 44) ) )', 101)); +# Named Places +INSERT INTO named_places VALUES(117, 'Ashton', +ST_PolyFromText( +'POLYGON( ( 62 48, 84 48, 84 30, 56 30, 56 34, 62 48) )', 101)); +INSERT INTO named_places VALUES(118, 'Goose Island', +ST_PolyFromText( +'POLYGON( ( 67 13, 67 18, 59 18, 59 13, 67 13) )', 101)); +# Map Neatlines +INSERT INTO map_neatlines VALUES(115, +ST_PolyFromText( +'POLYGON( ( 0 0, 0 48, 84 48, 84 0, 0 0 ) )', 101)); +# +# C.3.3.3 Geometry types and functions schema test queries + +# Conformance Item T6 +SELECT ST_Dimension(shore) +FROM lakes +WHERE name = 'Blue Lake'; +ST_Dimension(shore) +2 +# Conformance Item T7 +SELECT ST_GeometryType(centerlines) +FROM divided_routes +WHERE name = 'Route 75'; +ST_GeometryType(centerlines) +MULTILINESTRING +# Conformance Item T8 +SELECT ST_AsText(boundary) +FROM named_places +WHERE name = 'Goose Island'; +ST_AsText(boundary) +POLYGON((67 13,67 18,59 18,59 13,67 13)) +# Conformance Item T9 +SELECT ST_AsText(ST_PolyFromWKB(ST_AsBinary(boundary),101)) +FROM named_places +WHERE name = 'Goose Island'; +ST_AsText(ST_PolyFromWKB(ST_AsBinary(boundary),101)) +POLYGON((67 13,67 18,59 18,59 13,67 13)) +# Conformance Item T10 +SELECT ST_SRID(boundary) +FROM named_places +WHERE name = 'Goose Island'; +ST_SRID(boundary) +101 +# Conformance Item T11 +SELECT ST_IsEmpty(centerline) +FROM road_segments +WHERE name = 'Route 5' +AND aliases = 'Main Street'; +ST_IsEmpty(centerline) +0 +# Conformance Item T14 +SELECT ST_AsText(ST_Envelope(boundary)) +FROM named_places +WHERE name = 'Goose Island'; +ST_AsText(ST_Envelope(boundary)) +POLYGON((59 13,67 13,67 18,59 18,59 13)) +# Conformance Item T15 +SELECT ST_X(position) +FROM bridges +WHERE name = 'Cam Bridge'; +ST_X(position) +44 +# Conformance Item T16 +SELECT ST_Y(position) +FROM bridges +WHERE name = 'Cam Bridge'; +ST_Y(position) +31 +# Conformance Item T17 +SELECT ST_AsText(ST_StartPoint(centerline)) +FROM road_segments +WHERE fid = 102; +ST_AsText(ST_StartPoint(centerline)) +POINT(0 18) +# Conformance Item T18 +SELECT ST_AsText(ST_EndPoint(centerline)) +FROM road_segments +WHERE fid = 102; +ST_AsText(ST_EndPoint(centerline)) +POINT(44 31) +# Conformance Item T21 +SELECT ST_Length(centerline) +FROM road_segments +WHERE fid = 106; +ST_Length(centerline) +26 +# Conformance Item T22 +SELECT ST_NumPoints(centerline) +FROM road_segments +WHERE fid = 102; +ST_NumPoints(centerline) +5 +# Conformance Item T23 +SELECT ST_AsText(ST_PointN(centerline, 1)) +FROM road_segments +WHERE fid = 102; +ST_AsText(ST_PointN(centerline, 1)) +POINT(0 18) +# Conformance Item T24 +SELECT ST_AsText(ST_Centroid(boundary)) +FROM named_places +WHERE name = 'Goose Island'; +ST_AsText(ST_Centroid(boundary)) +POINT(63 15.5) +# Conformance Item T26 +SELECT ST_Area(boundary) +FROM named_places +WHERE name = 'Goose Island'; +ST_Area(boundary) +40 +# Conformance Item T27 +SELECT ST_AsText(ST_ExteriorRing(shore)) +FROM lakes +WHERE name = 'Blue Lake'; +ST_AsText(ST_ExteriorRing(shore)) +LINESTRING(52 18,66 23,73 9,48 6,52 18) +# Conformance Item T28 +SELECT ST_NumInteriorRings(shore) +FROM lakes +WHERE name = 'Blue Lake'; +ST_NumInteriorRings(shore) +1 +# Conformance Item T29 +SELECT ST_AsText(ST_InteriorRingN(shore, 1)) +FROM lakes +WHERE name = 'Blue Lake'; +ST_AsText(ST_InteriorRingN(shore, 1)) +LINESTRING(59 18,67 18,67 13,59 13,59 18) +# Conformance Item T30 +SELECT ST_NumGeometries(centerlines) +FROM divided_routes +WHERE name = 'Route 75'; +ST_NumGeometries(centerlines) +2 +# Conformance Item T31 +SELECT ST_AsText(ST_GeometryN(centerlines, 2)) +FROM divided_routes +WHERE name = 'Route 75'; +ST_AsText(ST_GeometryN(centerlines, 2)) +LINESTRING(16 0,16 23,16 48) +# Conformance Item T32 +SELECT ST_IsClosed(centerlines) +FROM divided_routes +WHERE name = 'Route 75'; +ST_IsClosed(centerlines) +0 +# Conformance Item T33 +SELECT ST_Length(centerlines) +FROM divided_routes +WHERE name = 'Route 75'; +ST_Length(centerlines) +96 +# Conformance Item T34 +SELECT ST_AsText(ST_Centroid(shores)) +FROM ponds +WHERE fid = 120; +ST_AsText(ST_Centroid(shores)) +POINT(25 42) +# Conformance Item T36 +SELECT ST_Area(shores) +FROM ponds +WHERE fid = 120; +ST_Area(shores) +8 +# Conformance Item T37 +SELECT ST_Equals(boundary, +ST_PolyFromText('POLYGON( ( 67 13, 67 18, 59 18, 59 13, 67 13) )',101)) +FROM named_places +WHERE name = 'Goose Island'; +ST_Equals(boundary, +ST_PolyFromText('POLYGON( ( 67 13, 67 18, 59 18, 59 13, 67 13) )',101)) +1 +# Conformance Item T38 +SELECT ST_Disjoint(centerlines, boundary) +FROM divided_routes, named_places +WHERE divided_routes.name = 'Route 75' +AND named_places.name = 'Ashton'; +ST_Disjoint(centerlines, boundary) +1 +# Conformance Item T39 +SELECT ST_Touches(centerline, shore) +FROM streams, lakes +WHERE streams.name = 'Cam Stream' +AND lakes.name = 'Blue Lake'; +ST_Touches(centerline, shore) +1 +# Conformance Item T42 +SELECT ST_Crosses(road_segments.centerline, divided_routes.centerlines) +FROM road_segments, divided_routes +WHERE road_segments.fid = 102 +AND divided_routes.name = 'Route 75'; +ST_Crosses(road_segments.centerline, divided_routes.centerlines) +1 +# Conformance Item T43 +SELECT ST_Intersects(road_segments.centerline, divided_routes.centerlines) +FROM road_segments, divided_routes +WHERE road_segments.fid = 102 +AND divided_routes.name = 'Route 75'; +ST_Intersects(road_segments.centerline, divided_routes.centerlines) +1 +# Conformance Item T44 +SELECT ST_Contains(forests.boundary, named_places.boundary) +FROM forests, named_places +WHERE forests.name = 'Green Forest' +AND named_places.name = 'Ashton'; +ST_Contains(forests.boundary, named_places.boundary) +0 +# Conformance Item T46 +SELECT ST_Distance(position, boundary) +FROM bridges, named_places +WHERE bridges.name = 'Cam Bridge' +AND named_places.name = 'Ashton'; +ST_Distance(position, boundary) +12 +# Conformance Item T48 +SELECT ST_AsText(ST_Difference(named_places.boundary, forests.boundary)) +FROM named_places, forests +WHERE named_places.name = 'Ashton' +AND forests.name = 'Green Forest'; +ST_AsText(ST_Difference(named_places.boundary, forests.boundary)) +POLYGON((56 34,62 48,84 48,84 42,56 34)) +SELECT ST_AsText(ST_Union(shore, boundary)) +FROM lakes, named_places +WHERE lakes.name = 'Blue Lake' +AND named_places.name = 'Goose Island'; +ST_AsText(ST_Union(shore, boundary)) +POLYGON((48 6,52 18,66 23,73 9,48 6)) +# Conformance Item T50 +SELECT ST_AsText(ST_SymDifference(shore, boundary)) +FROM lakes, named_places +WHERE lakes.name = 'Blue Lake' +AND named_places.name = 'Ashton'; +ST_AsText(ST_SymDifference(shore, boundary)) +MULTIPOLYGON(((48 6,52 18,66 23,73 9,48 6),(59 13,59 18,67 18,67 13,59 13)),((56 30,56 34,62 48,84 48,84 30,56 30))) +# Conformance Item T51 +SELECT count(*) +FROM buildings, bridges +WHERE ST_Contains(ST_Buffer(bridges.position, 15.0), buildings.footprint) = 1; +count(*) +1 +# +# Bug#13362660 ASSERTION `FIELD_POS < FIELD_COUNT' FAILED. IN PROTOCOL_TEXT::STORE +# +SELECT ST_Union('', ''), md5(1); +ERROR HY000: Illegal parameter data type varchar for operation 'st_union' +# +# MDEV-25758 InnoDB spatial indexes miss large geometry +# fields after MDEV-25459 +# +CREATE TABLE t1(l LINESTRING NOT NULL, SPATIAL INDEX(l))ENGINE=InnoDB; +SELECT GROUP_CONCAT(CONCAT(seq, ' ', seq) SEPARATOR ',') INTO @g FROM seq_0_to_504; +INSERT INTO t1 SET l=ST_GeomFromText(CONCAT('LINESTRING(',@g,',0 0)')); +SELECT COUNT(*) FROM t1 WHERE MBRIntersects(GeomFromText('Polygon((0 0,0 10,10 10,10 0,0 0))'), l); +COUNT(*) +1 +DROP TABLE t1; +DROP DATABASE gis_ogs; +SET GLOBAL innodb_stats_persistent=@save_innodb_stats_persistent; diff --git a/mysql-test/suite/innodb_gis/r/gis_split_inf.result b/mysql-test/suite/innodb_gis/r/gis_split_inf.result new file mode 100644 index 00000000..9e7bf69c --- /dev/null +++ b/mysql-test/suite/innodb_gis/r/gis_split_inf.result @@ -0,0 +1,21 @@ +create table t1(a geometrycollection not null,spatial key(a))engine=innodb; +insert into t1(a) values( geometrycollection(multipolygon(polygon(linestring(point(-14,98), point(-14,98)), linestring(point(-97,64), point(-70,99), point(-97,64)), linestring(point(143851215403059150000000000000000000000.000000,13040009882500140000000000000000000000.000000), point(-73,85), point(-88,-29)))), multipolygon(polygon(linestring(point(41,95), point(4294967298,2050)), linestring(point(-61,85), point(-75,93), point(14,-2), point(1,84), point(-61,85)), linestring(point(-62,52), point(39,5), point(-18,12), point(-62,52))), polygon(linestring(point(-77,1), point(66,61), point(-77,1)), linestring(point(18446744073709551615,1125899906842622), point(-72,49), point(24,-66), point(82,73), point(68,22))), polygon(linestring(point(1048576,17179869181), point(-18,95), point(-90,-3), point(-33,82), point(20,-85)), linestring(point(-43,-97), point(-7,-3), point(39,-82), point(-65,-58), point(-43,-97)), linestring(point(44,-34), point(-69,58), point(44,-34)), linestring(point(57,-13), point(-17,74), point(57,-13)), linestring(point(3,71), point(-58,81), point(3,71)), linestring(point(9,25), point(77,-71), point(8388607,67108864), point(46,46), point(9,25)), linestring(point(98,-82), point(98,-82))))) ) ; +Got one of the listed errors +insert into t1(a) values( geometrycollection(multilinestring(linestring(point(39,-60), point(-62,-11), point(-24,35), point(54,1)), linestring(point(-4,69), point(-22,-64), point(1.694824e+308,5.688896e+307), point(-33,-58), point(-64,-80), point(-15,-44), point(40,54)), linestring(point(-86,-54), point(11,41), point(-46,-38), point(-21,-8), point(10,70), point(-81,22), point(-46,-100)), linestring(point(-30,-48), point(50,58), point(-53,92), point(10,41), point(-46,-8)), linestring(point(-65,34), point(-92,93), point(-33,-74), point(75,-28)), linestring(point(25,-55), point(22,-10), point(-42,0), point(-86,-59), point(2,-37), point(63,-44), point(-55,-22)), linestring(point(28,0), point(-94,99), point(-32,-86)), linestring(point(9,-12), point(16,9), point(80,-73)), linestring(point(6,-55), point(83,-4)), linestring(point(-15,21), point(144115188075855876,16777212), point(-85,-31), point(-90,-50)), linestring(point(-33,33), point(21,90), point(-89,32)), linestring(point(16,24), point(73,-13), point(25,-48), point(71,52), point(-54,-78), point(-84,59), point(53,29)), linestring(point(-15,-81), point(83,43), point(-71,33), point(-8,0), point(84,-54), point(-35,38), point(-10,-50)), linestring(point(38,-50), point(20,-2), point(-57,-92)), linestring(point(5,-93), point(231601833467477080000000000000000000000.000000,51914987457169239000000000000000000000.000000), point(-94,62))), point(2,0)) ) ; +insert into t1(a) values( geometrycollection(multilinestring(linestring(point(80,-15), point(65,-57), point(-59,16), point(22,-67)), linestring(point(20,-55), point(-38,-64), point(19,-53), point(-63,-36), point(56,-37)), linestring(point(27,-8), point(-85,-75), point(4398046511106,2251799813685245)), linestring(point(45,32), point(-79,46))), multilinestring(linestring(point(8,-4), point(40,-38), point(100,95), point(5,-80), point(82,88)), linestring(point(-14,30), point(-94,51), point(-16,-29), point(37,-97), point(-26,92)), linestring(point(32,34), point(83,-23), point(-55,57), point(-15,90), point(32,-50), point(-20,-73), point(77,28)), linestring(point(4,88), point(87,74), point(-67,-58)), linestring(point(5.660747e+307,6.385657e+307), point(-58,-15), point(1.172095e+308,1.448533e+308)), linestring(point(-21,-37), point(-52,79), point(-16,-76), point(-65,-94), point(36,7), point(37,74), point(100,-57)), linestring(point(-23,-82), point(-73,23), point(18,-34)), linestring(point(20,-51), point(93,62), point(-65,84)), linestring(point(-48,31), point(-69,-96)), linestring(point(-5,78), point(10,-99), point(36,-33)), linestring(point(-84,55), point(96,1), point(-98,-29), point(-15,81), point(-27,-6), point(58,-32), point(54,-16)), linestring(point(2,5), point(2199023255553,8192)), linestring(point(12,-78), point(-97,-83)), linestring(point(-74,79), point(35,-56), point(50,95)), linestring(point(28,16), point(-39,-40), point(48,-3)), linestring(point(2199023255550,-65539), point(62,-25), point(94,-62)), linestring(point(-74,83), point(-18,75), point(91,17), point(-11,-48), point(30,100)), linestring(point(57,-13), point(88,-45)), linestring(point(20,-64), point(-37,13), point(20,35))), point(-3,-4)) ) ; +insert into t1(a) values( geometrycollection(multipolygon(polygon(linestring(point(-34,19), point(-25,92), point(61921390294166805000000000000000000000.000000,319674749161701840000000000000000000000.000000), point(56,50), point(-34,19)), linestring(point(-26,-58), point(99,-50), point(34,-20), point(-26,-58)), linestring(point(-42,45), point(-63,-7), point(5,-89), point(-97,36), point(-42,45)), linestring(point(94,11), point(-71,4), point(94,11)), linestring(point(16,25), point(4,-33), point(-45,-33), point(-64,-77), point(16,25)), linestring(point(19,45), point(36,45), point(-83,-96), point(19,45)), linestring(point(85,-31), point(-87,52), point(85,-31))), polygon(linestring(point(55,-88), point(63,-12), point(55,-88)), linestring(point(-49,10), point(-49,10)), linestring(point(-51,-32), point(-51,-32)))), multipolygon(polygon(linestring(point(-21,-8), point(66,-58), point(100,-27), point(-21,-8)), linestring(point(-29,-13), point(-29,-13))), polygon(linestring(point(91307574660224730000000000000000000000.000000,101214152547755520000000000000000000000.000000), point(89,64), point(77,87), point(66,29), point(-71,-53)), linestring(point(38,-78), point(-43,-90), point(37,20), point(81,65), point(38,-78))), polygon(linestring(point(51,0), point(-62,8), point(-11,22), point(51,0)), linestring(point(-4,-44), point(6,82), point(-19,-90), point(131,32)))), point(-4,-7)) ) ; +Got one of the listed errors +insert into t1(a) values( geometrycollection(point(10,9), linestring(point(2305843009213693955,-1125899906842621), point(78,15)), multipoint(point(-1,3), point(4,-6))) ) ; +insert into t1(a) values( geometrycollection(polygon(linestring(point(0,13), point(-12,5), point(0,13)), linestring(point(11,-2), point(6,6), point(20,-14), point(-3,-10), point(1.330588e+308,2.666476e+307)), linestring(point(16382,67), point(7,4)), linestring(point(2,7), point(-14,15), point(2,7)), linestring(point(-14,12), point(-8,-8), point(-17,-2), point(-14,12)), linestring(point(-20,-10), point(-8,-13), point(-19,-17), point(13,-3), point(-20,-10)), linestring(point(-5,13), point(7,-9), point(6,8), point(-5,13))), linestring(point(-87,19), point(-64,51), point(-16,12)), multipoint(point(-1,-10), point(2,-10), point(3.670354e+307,2.501459e+307))) ) ; +Got one of the listed errors +insert into t1(a) values( geometrycollection(linestring(point(85,-29), point(15,84), point(39,-92), point(-99,19)), multilinestring(linestring(point(63,10), point(-47,95), point(10,-49), point(16,-65), point(-98,40), point(25,44), point(-55,-92)), linestring(point(5.266810e+307,6.648813e+307), point(47,33), point(-15,-13), point(-92,-58), point(36,73)), linestring(point(77,-56), point(-53,-10), point(-28,76), point(-51,6), point(51,-31), point(-95,81), point(92,26)), linestring(point(-91,7), point(58,53)), linestring(point(18,5), point(18,40), point(71,89), point(7.898707e+307,1.202585e+308), point(53,100)), linestring(point(-60,-18), point(-10,-31), point(-6,-25), point(-57,-95), point(16,77)))) ) ; +insert into t1(a) values( geometrycollection(polygon(linestring(point(-9,0), point(-17,-15), point(-9,0)), linestring(point(-11,1), point(18,12), point(15,3), point(7,0), point(-11,1)), linestring(point(19,5), point(19,5)), linestring(point(17,-11), point(8,4), point(17,-11)), linestring(point(14914539334033432000000000000000000000.000000,127247994336690690000000000000000000000.000000), point(-14,-7), point(13,-2))), point(-4,-7), polygon(linestring(point(-18,9), point(11,-1), point(-18,9)), linestring(point(9,-3), point(9,-3)), linestring(point(-7,-9), point(9,-11), point(11,14), point(1.663324e+308,1.572127e+308)), linestring(point(-15,4), point(18,12), point(7,2), point(-15,4)), linestring(point(-15,-18), point(-20,-15), point(1152921504606846972,34359738370))), polygon(linestring(point(-5,-19), point(-11,11), point(10,5), point(-7,13), point(-5,-19)), linestring(point(-8,-6), point(-4,16), point(-8,-6)), linestring(point(-6,-10), point(3,-12), point(-6,-10)), linestring(point(-16,1), point(20,-12), point(-16,1)), linestring(point(-8,5), point(-20,-4), point(4,1), point(-6,-6), point(-8,5)), linestring(point(-8,-11), point(-5,-14), point(-8,-11)), linestring(point(3,-16), point(-15,-13), point(1.166708e+308,1.901147e+307), point(-8,6), point(3,-16))), point(0,-5)) ) ; +Got one of the listed errors +insert into t1(a) values( geometrycollection(linestring(point(-33,99), point(99,-87), point(38,-79), point(33,-39), point(-91,-8), point(46,-87))) ) ; +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +drop table t1; diff --git a/mysql-test/suite/innodb_gis/r/gis_split_nan.result b/mysql-test/suite/innodb_gis/r/gis_split_nan.result new file mode 100644 index 00000000..ce019203 --- /dev/null +++ b/mysql-test/suite/innodb_gis/r/gis_split_nan.result @@ -0,0 +1,211 @@ +# Creating the spatial objects +USE test; +CREATE TABLE gis_point (fid INTEGER NOT NULL PRIMARY KEY, g POINT); +CREATE TABLE gis_linestring (fid INTEGER NOT NULL PRIMARY KEY, g LINESTRING); +CREATE TABLE gis_polygon (fid INTEGER NOT NULL PRIMARY KEY, g POLYGON); +CREATE TABLE gis_multi_point (fid INTEGER NOT NULL PRIMARY KEY, g MULTIPOINT); +CREATE TABLE gis_multi_linestring (fid INTEGER NOT NULL PRIMARY KEY, g MULTILINESTRING); +CREATE TABLE gis_multi_polygon (fid INTEGER NOT NULL PRIMARY KEY, g MULTIPOLYGON); +CREATE TABLE gis_geometrycollection (fid INTEGER NOT NULL PRIMARY KEY, g GEOMETRYCOLLECTION); +# Inserting POINT Geometry Values +INSERT INTO gis_point VALUES +(101, ST_POINTFROMTEXT('POINT(0 0)')), +(102, ST_POINTFROMTEXT('POINT(1 0)')), +(103, ST_POINTFROMTEXT('POINT(0 1)')), +(104, ST_POINTFROMTEXT('POINT(1 1)')), +(105, ST_POINTFROMTEXT('POINT(-1 1)')); +INSERT INTO gis_point VALUES +(106, ST_POINTFROMWKB(POINT(0,0))), +(107, ST_POINTFROMWKB(POINT(10,0))), +(108, ST_POINTFROMWKB(POINT(0,10))), +(109, ST_POINTFROMWKB(POINT(-10,0))), +(110, ST_POINTFROMWKB(POINT(0,-10))); +INSERT INTO gis_point VALUES +(111, ST_POINTFROMWKB(ST_ASWKB(ST_POINTFROMTEXT('POINT(1 1)')))), +(112, ST_POINTFROMWKB(ST_ASWKB(ST_POINTFROMTEXT('POINT(1e308 1e308)')))), +(113, ST_POINTFROMWKB(ST_ASWKB(ST_POINTFROMTEXT('POINT(1e308 -1e308)')))), +(114, ST_POINTFROMWKB(ST_ASWKB(ST_POINTFROMTEXT('POINT(-1e308 1e308)')))), +(115, ST_POINTFROMWKB(ST_ASWKB(ST_POINTFROMTEXT('POINT(-1e308 -1e308)')))); +# Inserting LINESTRING Geometry Values +INSERT INTO gis_linestring VALUES +(201, ST_LINEFROMTEXT('LINESTRING(0 0,5 5)')), +(202, ST_LINEFROMTEXT('LINESTRING(0 0,2 2,4 4)')), +(203, ST_LINEFROMTEXT('LINESTRING(0 0,5 5,10 10)')); +INSERT INTO gis_linestring VALUES +(204, ST_LINESTRINGFROMTEXT('LINESTRING(10 10,5 5)')), +(205, ST_LINESTRINGFROMTEXT('LINESTRING(0 0,12 12,24 24)')), +(206, ST_LINESTRINGFROMTEXT('LINESTRING(0 0,50 50,100 100)')); +INSERT INTO gis_linestring VALUES +(207, ST_LINEFROMWKB(LINESTRING(POINT(0,0), POINT(5,5)))), +(208, ST_LINEFROMWKB(LINESTRING(POINT(0,0), POINT(-5,-5), POINT(-10,10)))), +(209, ST_LINEFROMWKB(LINESTRING(POINT(0,0), POINT(2,2), POINT(4,4), POINT(6,6), POINT(8,8)))); +INSERT INTO gis_linestring VALUES +(210, ST_LINESTRINGFROMWKB(LINESTRING(POINT(0,0), POINT(5,5)))), +(211, ST_LINESTRINGFROMWKB(LINESTRING(POINT(0,0), POINT(-50,-50), POINT(10,-10)))), +(212, ST_LINESTRINGFROMWKB(LINESTRING(POINT(0,0), POINT(1e308,1e308), POINT(1e308,-1e308)))); +INSERT INTO gis_linestring VALUES +(213, ST_LINEFROMWKB(ST_ASWKB(ST_LINEFROMTEXT('LINESTRING(1e308 1e308,1e308 -1e308)')))), +(214, ST_LINEFROMWKB(ST_ASWKB(ST_LINEFROMTEXT('LINESTRING(1 1,2 2,3 3,4 4,5 5,6 6,7 7,8 8,9 9)')))), +(215, ST_LINESTRINGFROMWKB(ST_ASWKB(ST_LINESTRINGFROMTEXT('LINESTRING(10 10,10 -10,-10 -10,-10 10,10 10)')))); +# Inserting POLYGON Geometry Values +INSERT INTO gis_polygon VALUES +(301, ST_POLYFROMTEXT('POLYGON((0 0,0 5,5 5,0 0))')), +(302, ST_POLYFROMTEXT('POLYGON((0 0,0 5,5 5,5 0,0 0))')), +(303, ST_POLYFROMTEXT('POLYGON((0 0,0 10,10 10,10 0,0 0))')); +INSERT INTO gis_polygon VALUES +(304, ST_POLYGONFROMTEXT('POLYGON((0 0,0 50,50 50,50 0,0 0))')), +(305, ST_POLYGONFROMTEXT('POLYGON((0 0,0 10,10 10,10 0,0 0,0 0,0 0),(4 4,4 6,6 6,6 4,4 4))')), +(306, ST_POLYGONFROMTEXT('POLYGON((0 0,0 10,10 10,10 0,0 0,0 0,0 0),(2 2,2 4,4 4,4 2,2 2),(6 6,6 8,8 8,8 6,6 6))')); +INSERT INTO gis_polygon VALUES +(307, ST_POLYFROMWKB(POLYGON(LINESTRING(POINT(0,0), POINT(0,5), POINT(5,5), POINT(0,0))))), +(308, ST_POLYFROMWKB(POLYGON(LINESTRING(POINT(0,0), POINT(0,15), POINT(15,15), POINT(15,0), POINT(0,0))))), +(309, ST_POLYFROMWKB(POLYGON(LINESTRING(POINT(0,0), POINT(0,10), POINT(10,10), POINT(10,0), POINT(0,0)), +LINESTRING(POINT(4,4), POINT(4,6), POINT(6,6), POINT(6,4), POINT(4,4))))); +INSERT INTO gis_polygon VALUES +(310, ST_POLYGONFROMWKB(POLYGON(LINESTRING(POINT(0,0), POINT(0,5), POINT(5,5), POINT(0,0))))), +(311, ST_POLYGONFROMWKB(POLYGON(LINESTRING(POINT(10,10), POINT(10,15), POINT(15,15), POINT(15,10), POINT(10,10))))), +(312, ST_POLYGONFROMWKB(POLYGON(LINESTRING(POINT(10,10), POINT(10,20), POINT(20,20), POINT(20,10), POINT(10,10)), +LINESTRING(POINT(14,14), POINT(14,16), POINT(16,16), POINT(16,14), POINT(14,14))))); +INSERT INTO gis_polygon VALUES +(313, ST_POLYFROMWKB(ST_ASWKB(ST_POLYFROMTEXT('POLYGON((0 0,0 10,10 10,10 0,0 0,0 0,5 5,0 0))')))), +(314, ST_POLYFROMWKB(ST_ASWKB(ST_POLYGONFROMTEXT('POLYGON((10 0,10 10,0 10,-10 10,-10 0,-10 -10,0 10,10 -10,10 0))')))), +(315, ST_POLYGONFROMWKB(ST_ASWKB(ST_POLYGONFROMTEXT('POLYGON((0 0,0 10,10 10,10 0,0 0,0 0,0 0),(2 2,2 4,4 4,4 2,2 2),(6 6,6 8,8 8,8 6,6 6))')))); +# Inserting MULTIPOINT Geometry Values +INSERT INTO gis_multi_point VALUES +(401, ST_GEOMFROMTEXT('MULTIPOINT(0 0)')), +(402, ST_GEOMFROMTEXT('MULTIPOINT(0 0,2 2,4 4)')), +(403, ST_GEOMFROMTEXT('MULTIPOINT(0 0,5 5,10 10)')); +INSERT INTO gis_multi_point VALUES +(404, ST_GEOMFROMTEXT('MULTIPOINT(0 0,100 100)')), +(405, ST_GEOMFROMTEXT('MULTIPOINT(0 0,1e308 1e308)')), +(406, ST_GEOMFROMTEXT('MULTIPOINT(1e308 1e308,1e308 -1e308,-1e308 1e308,-1e308 -1e308)')); +INSERT INTO gis_multi_point VALUES +(407, ST_GEOMFROMWKB(MULTIPOINT(POINT(0,0)))), +(408, ST_GEOMFROMWKB(MULTIPOINT(POINT(0,0), POINT(10,10)))), +(409, ST_GEOMFROMWKB(MULTIPOINT(POINT(0,0), POINT(2,2), POINT(4,4), POINT(6,6)))); +INSERT INTO gis_multi_point VALUES +(410, ST_GEOMFROMWKB(MULTIPOINT(POINT(0,0)))), +(411, ST_GEOMFROMWKB(MULTIPOINT(POINT(0,0), POINT(1e308,1e308)))), +(412, ST_GEOMFROMWKB(MULTIPOINT(POINT(1e308,1e308), POINT(-1e308,1e308), POINT(1e308,-1e308), POINT(-1e308,-1e308)))); +INSERT INTO gis_multi_point VALUES +(413, ST_GEOMFROMWKB(ST_ASWKB(ST_GEOMFROMTEXT('MULTIPOINT(0 0)')))), +(414, ST_GEOMFROMWKB(ST_ASWKB(ST_GEOMFROMTEXT('MULTIPOINT(0 0,1e308 1e308,-1e308 -1e308)')))), +(415, ST_GEOMFROMWKB(ST_ASWKB(ST_GEOMFROMTEXT('MULTIPOINT(1e308 1e308,1e308 -1e308,-1e308 1e308,-1e308 -1e308,1e308 1e308)')))); +# Inserting MULTILINESTRING Geometry Values +INSERT INTO gis_multi_linestring VALUES +(501, ST_GEOMFROMTEXT('MULTILINESTRING((0 0,2 2))')), +(502, ST_GEOMFROMTEXT('MULTILINESTRING((0 0,2 2,4 4))')), +(503, ST_GEOMFROMTEXT('MULTILINESTRING((0 0,2 2,4 4),(6 6,8 8,10 10))')); +INSERT INTO gis_multi_linestring VALUES +(504, ST_GEOMFROMTEXT('MULTILINESTRING((0 0,100 100,-100 -100))')), +(505, ST_GEOMFROMTEXT('MULTILINESTRING((1e308 1e308,-1e308 -1e308))')), +(506, ST_GEOMFROMTEXT('MULTILINESTRING((1e308 1e308,-1e308 -1e308),(1e308 -1e308,-1e308 1e308))')); +INSERT INTO gis_multi_linestring VALUES +(507, ST_GEOMFROMWKB(MULTILINESTRING(LINESTRING(POINT(0,0), POINT(2,2))))), +(508, ST_GEOMFROMWKB(MULTILINESTRING(LINESTRING(POINT(0,0), POINT(12,12), POINT(24,24))))), +(509, ST_GEOMFROMWKB(MULTILINESTRING(LINESTRING(POINT(0,0), POINT(2,2), POINT(4,4)), +LINESTRING(POINT(6,6), POINT(8,8), POINT(10,10))))); +INSERT INTO gis_multi_linestring VALUES +(510, ST_GEOMFROMWKB(MULTILINESTRING(LINESTRING(POINT(0,0), POINT(2,2), POINT(4,4))))), +(511, ST_GEOMFROMWKB(MULTILINESTRING(LINESTRING(POINT(0,0), POINT(1,1), POINT(2,2))))), +(512, ST_GEOMFROMWKB(MULTILINESTRING(LINESTRING(POINT(0,0), POINT(12,12), POINT(24,24)), +LINESTRING(POINT(36,36), POINT(48,48), POINT(50,50))))); +INSERT INTO gis_multi_linestring VALUES +(513, ST_GEOMFROMWKB(ST_ASWKB(ST_GEOMFROMTEXT('MULTILINESTRING((0 0,10 10),(0 10,10 0))')))), +(514, ST_GEOMFROMWKB(ST_ASWKB(ST_GEOMFROMTEXT('MULTILINESTRING((0 0,10 10,-10 10,0 0),(0 0,-10 -10,10 -10,0 0))')))), +(515, ST_GEOMFROMWKB(ST_ASWKB(ST_GEOMFROMTEXT('MULTILINESTRING((0 0,0 100),(0 0,100 0),(0 0,0 -100),(0 0,-100 0))')))); +# Inserting MULTIPOLGYON Geometry Values +INSERT INTO gis_multi_polygon VALUES +(601, ST_GEOMFROMTEXT('MULTIPOLYGON(((0 0,0 5,5 5,0 0)))')), +(602, ST_GEOMFROMTEXT('MULTIPOLYGON(((0 0,0 5,5 5,0 0)),((5 5,5 10,10 10,5 5)))')), +(603, ST_GEOMFROMTEXT('MULTIPOLYGON(((0 0,0 10,10 10,10 0,0 0,0 0,0 0),(4 4,4 6,6 6,6 4,4 4)))')); +INSERT INTO gis_multi_polygon VALUES +(604, ST_GEOMFROMTEXT('MULTIPOLYGON(((0 0,0 5,5 5,0 0)))')), +(605, ST_GEOMFROMTEXT('MULTIPOLYGON(((0 0,0 10,10 10,10 0,0 0,0 0,0 0),(4 4,4 6,6 6,6 4,4 4)),((0 0,0 -2,-2 -2,0 0)))')), +(606, ST_GEOMFROMTEXT('MULTIPOLYGON(((0 0,5 5,-5 5,0 0)),((0 0,-5 -5,5 -5,0 0)))')); +INSERT INTO gis_multi_polygon VALUES +(607, ST_GEOMFROMWKB(MULTIPOLYGON(POLYGON(LINESTRING(POINT(0,0), POINT(5,0), POINT(5,5), POINT(0,5), POINT(0,0)))))), +(608, ST_GEOMFROMWKB(MULTIPOLYGON(POLYGON(LINESTRING(POINT(0,0), POINT(10,0), POINT(10,10), POINT(0,10), POINT(0,0)), +LINESTRING(POINT(4,4), POINT(4,6), POINT(6,6), POINT(6,4), POINT(4,4)))))), +(609, ST_GEOMFROMWKB(MULTIPOLYGON(POLYGON(LINESTRING(POINT(0,0), POINT(5,0), POINT(5,5), POINT(0,5), POINT(0,0))), +POLYGON(LINESTRING(POINT(0,0), POINT(-5,0), POINT(-5,-5), POINT(0,-5), POINT(0,0)))))); +INSERT INTO gis_multi_polygon VALUES +(610, ST_GEOMFROMWKB(MULTIPOLYGON(POLYGON(LINESTRING(POINT(0,0), POINT(-5,0), POINT(-5,-5), POINT(0,-5), POINT(0,0)))))), +(611, ST_GEOMFROMWKB(MULTIPOLYGON(POLYGON(LINESTRING(POINT(10,10), POINT(20,10), POINT(20,20), POINT(10,20), POINT(10,10)), +LINESTRING(POINT(14,14), POINT(14,16), POINT(16,16), POINT(16,14), POINT(14,14)))))), +(612, ST_GEOMFROMWKB(MULTIPOLYGON(POLYGON(LINESTRING(POINT(0,0), POINT(0,10), POINT(10,10), POINT(10,0), POINT(0,0)), +LINESTRING(POINT(4,4), POINT(4,6), POINT(6,6), POINT(6,4), POINT(4,4))), +POLYGON(LINESTRING(POINT(0,0), POINT(-5,0), POINT(-5,-5), POINT(0,-5), POINT(0,0)))))); +INSERT INTO gis_multi_polygon VALUES +(613, ST_GEOMFROMWKB(ST_ASWKB(ST_GEOMFROMTEXT('MULTIPOLYGON(((0 0,5 5,5 -5,0 0)),((0 0,-5 5,-5 -5,0 0)))')))), +(614, ST_GEOMFROMWKB(ST_ASWKB(ST_GEOMFROMTEXT('MULTIPOLYGON(((0 0,10 10,-10 10,0 0)),((0 0,-10 -10,10 -10,0 0)))')))), +(615, ST_GEOMFROMWKB(ST_ASWKB(ST_GEOMFROMTEXT('MULTIPOLYGON(((0 0,5 5,10 0,5 -5,0 0)))')))); +# Inserting GEOMETRYCOLLECTION Geometry Values +INSERT INTO gis_geometrycollection VALUES +(701, ST_GEOMCOLLFROMTEXT('GEOMETRYCOLLECTION(POINT(0 0))')), +(702, ST_GEOMCOLLFROMTEXT('GEOMETRYCOLLECTION(POINT(0 0), LINESTRING(0 0,10 10))')), +(703, ST_GEOMCOLLFROMTEXT('GEOMETRYCOLLECTION(POINT(5 5), POLYGON((0 0,0 10,10 10,10 0,0 0)))')); +INSERT INTO gis_geometrycollection VALUES +(704, ST_GEOMETRYCOLLECTIONFROMTEXT('GEOMETRYCOLLECTION(POINT(0 0), LINESTRING(0 0,10 10))')), +(705, ST_GEOMETRYCOLLECTIONFROMTEXT('GEOMETRYCOLLECTION(POINT(0 0),' + 'LINESTRING(0 0,10 10),' + 'POLYGON((0 0,0 10,10 10,10 0,0 0,0 0, 0 0)))')), +(706, ST_GEOMETRYCOLLECTIONFROMTEXT('GEOMETRYCOLLECTION(MULTIPOINT(0 0,5 5,10 10),' + 'MULTILINESTRING((0 0,10 10),(0 10,10 0)),' + 'MULTIPOLYGON(((0 0,0 10,10 10,10 0,0 0)),' + '((0 0,-10 0,-10 -10,0 -10,0 0))))')); +INSERT INTO gis_geometrycollection VALUES +(707, ST_GEOMCOLLFROMWKB(GEOMETRYCOLLECTION(POINT(0,0)))), +(708, ST_GEOMCOLLFROMWKB(GEOMETRYCOLLECTION(POINT(0,0), +LINESTRING(POINT(0,0), POINT(2,2), POINT(4,4), POINT(6,6), POINT(8,8)), +POLYGON(LINESTRING(POINT(0,0), POINT(0,10), POINT(10,10), POINT(10,0), POINT(0,0)), +LINESTRING(POINT(4,4), POINT(4,6), POINT(6,6), POINT(6,4), POINT(4,4)))))), +(709, ST_GEOMCOLLFROMWKB(GEOMETRYCOLLECTION(MULTIPOINT(POINT(0,0), POINT(5,5), POINT(10,10)), +MULTILINESTRING(LINESTRING(POINT(0,0), POINT(2,2), POINT(4,4), POINT(6,6), POINT(8,8)), +LINESTRING(POINT(10,10), POINT(5,5), POINT(0,10))), +MULTIPOLYGON(POLYGON(LINESTRING(POINT(0,0), POINT(0,10), POINT(10,10), POINT(10,0), POINT(0,0)), +LINESTRING(POINT(4,4), POINT(4,6), POINT(6,6), POINT(6,4), POINT(4,4))), +POLYGON(LINESTRING(POINT(0,0), POINT(-10,0), POINT(-10,-10), POINT(0,0))))))); +INSERT INTO gis_geometrycollection VALUES +(710, ST_GEOMETRYCOLLECTIONFROMWKB(GEOMETRYCOLLECTION(POINT(0,0), +LINESTRING(POINT(0,0), POINT(100,100))))), +(711, ST_GEOMETRYCOLLECTIONFROMWKB(GEOMETRYCOLLECTION(POINT(10,10), +LINESTRING(POINT(10,10), POINT(12,12), POINT(14,14), POINT(16,16), POINT(18,18)), +POLYGON(LINESTRING(POINT(0,0), POINT(0,10), POINT(10,10), POINT(10,0), POINT(0,0)), +LINESTRING(POINT(4,4), POINT(4,6), POINT(6,6), POINT(6,4), POINT(4,4)))))), +(712, ST_GEOMETRYCOLLECTIONFROMWKB(GEOMETRYCOLLECTION(MULTIPOINT(POINT(10,10), POINT(15,15), POINT(20,20)), +MULTILINESTRING(LINESTRING(POINT(0,0), POINT(2,2), POINT(4,4), POINT(6,6), POINT(8,8)), +LINESTRING(POINT(10,10), POINT(5,5), POINT(0,10))), +MULTIPOLYGON(POLYGON(LINESTRING(POINT(0,0), POINT(0,10), POINT(10,10), POINT(10,0), POINT(0,0)), +LINESTRING(POINT(4,4), POINT(4,6), POINT(6,6), POINT(6,4), POINT(4,4))), +POLYGON(LINESTRING(POINT(0,0), POINT(-10,0), POINT(-10,-10), POINT(0,0))))))); +INSERT INTO gis_geometrycollection VALUES +(713, ST_GEOMCOLLFROMWKB(ST_ASWKB(ST_GEOMCOLLFROMTEXT('GEOMETRYCOLLECTION(' + 'POINT(0 0),' + 'LINESTRING(0 0,10 10),' + 'POLYGON((0 0,0 10,10 10,10 0,0 0)),' + 'MULTIPOINT(0 0,2 2,4 4,6 6,8 8,10 10),' + 'MULTILINESTRING((0 0,10 10),(0 10,10 0)),' + 'MULTIPOLYGON(((0 0,0 5,5 5,5 0,0 0)),((5 5,5 10,10 10,10 5,5 5))))')))); +# Creating a table with spatial index column +CREATE TABLE geom_index (fid INTEGER NOT NULL PRIMARY KEY, g GEOMETRY NOT NULL, SPATIAL INDEX(g)); +# Inserting geometry values +INSERT INTO geom_index SELECT * FROM gis_point; +INSERT INTO geom_index SELECT * FROM gis_linestring; +INSERT INTO geom_index SELECT * FROM gis_polygon; +INSERT INTO geom_index SELECT * FROM gis_multi_point; +INSERT INTO geom_index SELECT * FROM gis_multi_linestring; +INSERT INTO geom_index SELECT * FROM gis_multi_polygon; +INSERT INTO geom_index SELECT * FROM gis_geometrycollection; +check table geom_index; +Table Op Msg_type Msg_text +test.geom_index check status OK +# Final cleanup +DROP TABLE gis_point; +DROP TABLE gis_linestring; +DROP TABLE gis_polygon; +DROP TABLE gis_multi_point; +DROP TABLE gis_multi_linestring; +DROP TABLE gis_multi_polygon; +DROP TABLE gis_geometrycollection; +DROP TABLE geom_index; diff --git a/mysql-test/suite/innodb_gis/r/innodb_gis_rtree.result b/mysql-test/suite/innodb_gis/r/innodb_gis_rtree.result new file mode 100644 index 00000000..4ca50fcf --- /dev/null +++ b/mysql-test/suite/innodb_gis/r/innodb_gis_rtree.result @@ -0,0 +1,1631 @@ +CREATE TABLE t1 ( +fid INT NOT NULL AUTO_INCREMENT PRIMARY KEY, +g GEOMETRY NOT NULL, +SPATIAL KEY(g) +); +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `fid` int(11) NOT NULL AUTO_INCREMENT, + `g` geometry NOT NULL, + PRIMARY KEY (`fid`), + SPATIAL KEY `g` (`g`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(150 150, 150 150)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(149 149, 151 151)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(148 148, 152 152)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(147 147, 153 153)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(146 146, 154 154)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(145 145, 155 155)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(144 144, 156 156)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(143 143, 157 157)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(142 142, 158 158)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(141 141, 159 159)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(140 140, 160 160)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(139 139, 161 161)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(138 138, 162 162)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(137 137, 163 163)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(136 136, 164 164)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(135 135, 165 165)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(134 134, 166 166)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(133 133, 167 167)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(132 132, 168 168)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(131 131, 169 169)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(130 130, 170 170)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(129 129, 171 171)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(128 128, 172 172)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(127 127, 173 173)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(126 126, 174 174)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(125 125, 175 175)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(124 124, 176 176)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(123 123, 177 177)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(122 122, 178 178)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(121 121, 179 179)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(120 120, 180 180)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(119 119, 181 181)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(118 118, 182 182)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(117 117, 183 183)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(116 116, 184 184)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(115 115, 185 185)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(114 114, 186 186)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(113 113, 187 187)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(112 112, 188 188)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(111 111, 189 189)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(110 110, 190 190)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(109 109, 191 191)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(108 108, 192 192)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(107 107, 193 193)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(106 106, 194 194)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(105 105, 195 195)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(104 104, 196 196)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(103 103, 197 197)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(102 102, 198 198)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(101 101, 199 199)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(100 100, 200 200)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(99 99, 201 201)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(98 98, 202 202)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(97 97, 203 203)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(96 96, 204 204)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(95 95, 205 205)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(94 94, 206 206)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(93 93, 207 207)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(92 92, 208 208)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(91 91, 209 209)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(90 90, 210 210)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(89 89, 211 211)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(88 88, 212 212)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(87 87, 213 213)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(86 86, 214 214)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(85 85, 215 215)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(84 84, 216 216)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(83 83, 217 217)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(82 82, 218 218)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(81 81, 219 219)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(80 80, 220 220)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(79 79, 221 221)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(78 78, 222 222)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(77 77, 223 223)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(76 76, 224 224)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(75 75, 225 225)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(74 74, 226 226)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(73 73, 227 227)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(72 72, 228 228)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(71 71, 229 229)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(70 70, 230 230)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(69 69, 231 231)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(68 68, 232 232)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(67 67, 233 233)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(66 66, 234 234)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(65 65, 235 235)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(64 64, 236 236)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(63 63, 237 237)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(62 62, 238 238)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(61 61, 239 239)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(60 60, 240 240)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(59 59, 241 241)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(58 58, 242 242)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(57 57, 243 243)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(56 56, 244 244)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(55 55, 245 245)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(54 54, 246 246)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(53 53, 247 247)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(52 52, 248 248)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(51 51, 249 249)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(50 50, 250 250)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(49 49, 251 251)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(48 48, 252 252)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(47 47, 253 253)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(46 46, 254 254)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(45 45, 255 255)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(44 44, 256 256)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(43 43, 257 257)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(42 42, 258 258)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(41 41, 259 259)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(40 40, 260 260)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(39 39, 261 261)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(38 38, 262 262)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(37 37, 263 263)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(36 36, 264 264)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(35 35, 265 265)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(34 34, 266 266)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(33 33, 267 267)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(32 32, 268 268)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(31 31, 269 269)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(30 30, 270 270)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(29 29, 271 271)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(28 28, 272 272)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(27 27, 273 273)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(26 26, 274 274)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(25 25, 275 275)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(24 24, 276 276)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(23 23, 277 277)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(22 22, 278 278)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(21 21, 279 279)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(20 20, 280 280)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(19 19, 281 281)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(18 18, 282 282)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(17 17, 283 283)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(16 16, 284 284)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(15 15, 285 285)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(14 14, 286 286)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(13 13, 287 287)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(12 12, 288 288)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(11 11, 289 289)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(10 10, 290 290)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(9 9, 291 291)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(8 8, 292 292)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(7 7, 293 293)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(6 6, 294 294)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(5 5, 295 295)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(4 4, 296 296)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(3 3, 297 297)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(2 2, 298 298)')); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(1 1, 299 299)')); +SELECT count(*) FROM t1; +count(*) +150 +EXPLAIN SELECT fid, AsText(g) FROM t1 WHERE Within(g, GeomFromText('Polygon((140 140,160 140,160 160,140 160,140 140))')); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 range g g 34 NULL 8 Using where +SELECT fid, AsText(g) FROM t1 WHERE Within(g, GeomFromText('Polygon((140 140,160 140,160 160,140 160,140 140))')); +fid AsText(g) +1 LINESTRING(150 150,150 150) +3 LINESTRING(148 148,152 152) +4 LINESTRING(147 147,153 153) +5 LINESTRING(146 146,154 154) +6 LINESTRING(145 145,155 155) +7 LINESTRING(144 144,156 156) +8 LINESTRING(143 143,157 157) +9 LINESTRING(142 142,158 158) +10 LINESTRING(141 141,159 159) +11 LINESTRING(140 140,160 160) +2 LINESTRING(149 149,151 151) +DROP TABLE t1; +CREATE TABLE t2 ( +fid INT NOT NULL AUTO_INCREMENT PRIMARY KEY, +g GEOMETRY NOT NULL +); +INSERT INTO t2 (g) VALUES (LineString(Point(10 * 10 - 9, 10 * 10 - 9), Point(10 * 10, 10 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(10 * 10 - 9, 9 * 10 - 9), Point(10 * 10, 9 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(10 * 10 - 9, 8 * 10 - 9), Point(10 * 10, 8 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(10 * 10 - 9, 7 * 10 - 9), Point(10 * 10, 7 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(10 * 10 - 9, 6 * 10 - 9), Point(10 * 10, 6 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(10 * 10 - 9, 5 * 10 - 9), Point(10 * 10, 5 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(10 * 10 - 9, 4 * 10 - 9), Point(10 * 10, 4 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(10 * 10 - 9, 3 * 10 - 9), Point(10 * 10, 3 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(10 * 10 - 9, 2 * 10 - 9), Point(10 * 10, 2 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(10 * 10 - 9, 1 * 10 - 9), Point(10 * 10, 1 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(9 * 10 - 9, 10 * 10 - 9), Point(9 * 10, 10 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(9 * 10 - 9, 9 * 10 - 9), Point(9 * 10, 9 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(9 * 10 - 9, 8 * 10 - 9), Point(9 * 10, 8 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(9 * 10 - 9, 7 * 10 - 9), Point(9 * 10, 7 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(9 * 10 - 9, 6 * 10 - 9), Point(9 * 10, 6 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(9 * 10 - 9, 5 * 10 - 9), Point(9 * 10, 5 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(9 * 10 - 9, 4 * 10 - 9), Point(9 * 10, 4 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(9 * 10 - 9, 3 * 10 - 9), Point(9 * 10, 3 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(9 * 10 - 9, 2 * 10 - 9), Point(9 * 10, 2 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(9 * 10 - 9, 1 * 10 - 9), Point(9 * 10, 1 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(8 * 10 - 9, 10 * 10 - 9), Point(8 * 10, 10 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(8 * 10 - 9, 9 * 10 - 9), Point(8 * 10, 9 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(8 * 10 - 9, 8 * 10 - 9), Point(8 * 10, 8 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(8 * 10 - 9, 7 * 10 - 9), Point(8 * 10, 7 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(8 * 10 - 9, 6 * 10 - 9), Point(8 * 10, 6 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(8 * 10 - 9, 5 * 10 - 9), Point(8 * 10, 5 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(8 * 10 - 9, 4 * 10 - 9), Point(8 * 10, 4 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(8 * 10 - 9, 3 * 10 - 9), Point(8 * 10, 3 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(8 * 10 - 9, 2 * 10 - 9), Point(8 * 10, 2 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(8 * 10 - 9, 1 * 10 - 9), Point(8 * 10, 1 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(7 * 10 - 9, 10 * 10 - 9), Point(7 * 10, 10 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(7 * 10 - 9, 9 * 10 - 9), Point(7 * 10, 9 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(7 * 10 - 9, 8 * 10 - 9), Point(7 * 10, 8 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(7 * 10 - 9, 7 * 10 - 9), Point(7 * 10, 7 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(7 * 10 - 9, 6 * 10 - 9), Point(7 * 10, 6 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(7 * 10 - 9, 5 * 10 - 9), Point(7 * 10, 5 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(7 * 10 - 9, 4 * 10 - 9), Point(7 * 10, 4 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(7 * 10 - 9, 3 * 10 - 9), Point(7 * 10, 3 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(7 * 10 - 9, 2 * 10 - 9), Point(7 * 10, 2 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(7 * 10 - 9, 1 * 10 - 9), Point(7 * 10, 1 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(6 * 10 - 9, 10 * 10 - 9), Point(6 * 10, 10 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(6 * 10 - 9, 9 * 10 - 9), Point(6 * 10, 9 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(6 * 10 - 9, 8 * 10 - 9), Point(6 * 10, 8 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(6 * 10 - 9, 7 * 10 - 9), Point(6 * 10, 7 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(6 * 10 - 9, 6 * 10 - 9), Point(6 * 10, 6 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(6 * 10 - 9, 5 * 10 - 9), Point(6 * 10, 5 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(6 * 10 - 9, 4 * 10 - 9), Point(6 * 10, 4 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(6 * 10 - 9, 3 * 10 - 9), Point(6 * 10, 3 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(6 * 10 - 9, 2 * 10 - 9), Point(6 * 10, 2 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(6 * 10 - 9, 1 * 10 - 9), Point(6 * 10, 1 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(5 * 10 - 9, 10 * 10 - 9), Point(5 * 10, 10 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(5 * 10 - 9, 9 * 10 - 9), Point(5 * 10, 9 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(5 * 10 - 9, 8 * 10 - 9), Point(5 * 10, 8 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(5 * 10 - 9, 7 * 10 - 9), Point(5 * 10, 7 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(5 * 10 - 9, 6 * 10 - 9), Point(5 * 10, 6 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(5 * 10 - 9, 5 * 10 - 9), Point(5 * 10, 5 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(5 * 10 - 9, 4 * 10 - 9), Point(5 * 10, 4 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(5 * 10 - 9, 3 * 10 - 9), Point(5 * 10, 3 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(5 * 10 - 9, 2 * 10 - 9), Point(5 * 10, 2 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(5 * 10 - 9, 1 * 10 - 9), Point(5 * 10, 1 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(4 * 10 - 9, 10 * 10 - 9), Point(4 * 10, 10 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(4 * 10 - 9, 9 * 10 - 9), Point(4 * 10, 9 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(4 * 10 - 9, 8 * 10 - 9), Point(4 * 10, 8 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(4 * 10 - 9, 7 * 10 - 9), Point(4 * 10, 7 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(4 * 10 - 9, 6 * 10 - 9), Point(4 * 10, 6 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(4 * 10 - 9, 5 * 10 - 9), Point(4 * 10, 5 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(4 * 10 - 9, 4 * 10 - 9), Point(4 * 10, 4 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(4 * 10 - 9, 3 * 10 - 9), Point(4 * 10, 3 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(4 * 10 - 9, 2 * 10 - 9), Point(4 * 10, 2 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(4 * 10 - 9, 1 * 10 - 9), Point(4 * 10, 1 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(3 * 10 - 9, 10 * 10 - 9), Point(3 * 10, 10 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(3 * 10 - 9, 9 * 10 - 9), Point(3 * 10, 9 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(3 * 10 - 9, 8 * 10 - 9), Point(3 * 10, 8 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(3 * 10 - 9, 7 * 10 - 9), Point(3 * 10, 7 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(3 * 10 - 9, 6 * 10 - 9), Point(3 * 10, 6 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(3 * 10 - 9, 5 * 10 - 9), Point(3 * 10, 5 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(3 * 10 - 9, 4 * 10 - 9), Point(3 * 10, 4 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(3 * 10 - 9, 3 * 10 - 9), Point(3 * 10, 3 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(3 * 10 - 9, 2 * 10 - 9), Point(3 * 10, 2 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(3 * 10 - 9, 1 * 10 - 9), Point(3 * 10, 1 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(2 * 10 - 9, 10 * 10 - 9), Point(2 * 10, 10 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(2 * 10 - 9, 9 * 10 - 9), Point(2 * 10, 9 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(2 * 10 - 9, 8 * 10 - 9), Point(2 * 10, 8 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(2 * 10 - 9, 7 * 10 - 9), Point(2 * 10, 7 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(2 * 10 - 9, 6 * 10 - 9), Point(2 * 10, 6 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(2 * 10 - 9, 5 * 10 - 9), Point(2 * 10, 5 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(2 * 10 - 9, 4 * 10 - 9), Point(2 * 10, 4 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(2 * 10 - 9, 3 * 10 - 9), Point(2 * 10, 3 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(2 * 10 - 9, 2 * 10 - 9), Point(2 * 10, 2 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(2 * 10 - 9, 1 * 10 - 9), Point(2 * 10, 1 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(1 * 10 - 9, 10 * 10 - 9), Point(1 * 10, 10 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(1 * 10 - 9, 9 * 10 - 9), Point(1 * 10, 9 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(1 * 10 - 9, 8 * 10 - 9), Point(1 * 10, 8 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(1 * 10 - 9, 7 * 10 - 9), Point(1 * 10, 7 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(1 * 10 - 9, 6 * 10 - 9), Point(1 * 10, 6 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(1 * 10 - 9, 5 * 10 - 9), Point(1 * 10, 5 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(1 * 10 - 9, 4 * 10 - 9), Point(1 * 10, 4 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(1 * 10 - 9, 3 * 10 - 9), Point(1 * 10, 3 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(1 * 10 - 9, 2 * 10 - 9), Point(1 * 10, 2 * 10))); +INSERT INTO t2 (g) VALUES (LineString(Point(1 * 10 - 9, 1 * 10 - 9), Point(1 * 10, 1 * 10))); +ALTER TABLE t2 ADD SPATIAL KEY(g); +SHOW CREATE TABLE t2; +Table Create Table +t2 CREATE TABLE `t2` ( + `fid` int(11) NOT NULL AUTO_INCREMENT, + `g` geometry NOT NULL, + PRIMARY KEY (`fid`), + SPATIAL KEY `g` (`g`) +) ENGINE=MyISAM AUTO_INCREMENT=101 DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci +SELECT count(*) FROM t2; +count(*) +100 +EXPLAIN SELECT fid, AsText(g) FROM t2 WHERE Within(g, +GeomFromText('Polygon((40 40,60 40,60 60,40 60,40 40))')); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t2 range g g 34 NULL 4 Using where +SELECT fid, AsText(g) FROM t2 WHERE Within(g, +GeomFromText('Polygon((40 40,60 40,60 60,40 60,40 40))')); +fid AsText(g) +46 LINESTRING(51 41,60 50) +56 LINESTRING(41 41,50 50) +45 LINESTRING(51 51,60 60) +55 LINESTRING(41 51,50 60) +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(10 * 10 - 9, 10 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(10 * 10 - 9, 9 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(10 * 10 - 9, 8 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(10 * 10 - 9, 7 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(10 * 10 - 9, 6 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(10 * 10 - 9, 5 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(10 * 10 - 9, 4 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(10 * 10 - 9, 3 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(10 * 10 - 9, 2 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(10 * 10 - 9, 1 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(9 * 10 - 9, 10 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(9 * 10 - 9, 9 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(9 * 10 - 9, 8 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(9 * 10 - 9, 7 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(9 * 10 - 9, 6 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(9 * 10 - 9, 5 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(9 * 10 - 9, 4 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(9 * 10 - 9, 3 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(9 * 10 - 9, 2 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(9 * 10 - 9, 1 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(8 * 10 - 9, 10 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(8 * 10 - 9, 9 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(8 * 10 - 9, 8 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(8 * 10 - 9, 7 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(8 * 10 - 9, 6 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(8 * 10 - 9, 5 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(8 * 10 - 9, 4 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(8 * 10 - 9, 3 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(8 * 10 - 9, 2 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(8 * 10 - 9, 1 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(7 * 10 - 9, 10 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(7 * 10 - 9, 9 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(7 * 10 - 9, 8 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(7 * 10 - 9, 7 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(7 * 10 - 9, 6 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(7 * 10 - 9, 5 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(7 * 10 - 9, 4 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(7 * 10 - 9, 3 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(7 * 10 - 9, 2 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(7 * 10 - 9, 1 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(6 * 10 - 9, 10 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(6 * 10 - 9, 9 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(6 * 10 - 9, 8 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(6 * 10 - 9, 7 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(6 * 10 - 9, 6 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(6 * 10 - 9, 5 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(6 * 10 - 9, 4 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(6 * 10 - 9, 3 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(6 * 10 - 9, 2 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(6 * 10 - 9, 1 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(5 * 10 - 9, 10 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(5 * 10 - 9, 9 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(5 * 10 - 9, 8 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(5 * 10 - 9, 7 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(5 * 10 - 9, 6 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(5 * 10 - 9, 5 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(5 * 10 - 9, 4 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(5 * 10 - 9, 3 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(5 * 10 - 9, 2 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(5 * 10 - 9, 1 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(4 * 10 - 9, 10 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(4 * 10 - 9, 9 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(4 * 10 - 9, 8 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(4 * 10 - 9, 7 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(4 * 10 - 9, 6 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(4 * 10 - 9, 5 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(4 * 10 - 9, 4 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(4 * 10 - 9, 3 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(4 * 10 - 9, 2 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(4 * 10 - 9, 1 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(3 * 10 - 9, 10 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(3 * 10 - 9, 9 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(3 * 10 - 9, 8 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(3 * 10 - 9, 7 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(3 * 10 - 9, 6 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(3 * 10 - 9, 5 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(3 * 10 - 9, 4 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(3 * 10 - 9, 3 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(3 * 10 - 9, 2 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(3 * 10 - 9, 1 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(2 * 10 - 9, 10 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(2 * 10 - 9, 9 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(2 * 10 - 9, 8 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(2 * 10 - 9, 7 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(2 * 10 - 9, 6 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(2 * 10 - 9, 5 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(2 * 10 - 9, 4 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(2 * 10 - 9, 3 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(2 * 10 - 9, 2 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(2 * 10 - 9, 1 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(1 * 10 - 9, 10 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(1 * 10 - 9, 9 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(1 * 10 - 9, 8 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(1 * 10 - 9, 7 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(1 * 10 - 9, 6 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(1 * 10 - 9, 5 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(1 * 10 - 9, 4 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(1 * 10 - 9, 3 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(1 * 10 - 9, 2 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DELETE FROM t2 WHERE Within(g, Envelope(GeometryFromWKB(Point(1 * 10 - 9, 1 * 10 - 9), 0))); +SELECT count(*) FROM t2; +count(*) +100 +DROP TABLE t2; +CREATE TABLE t1 (a geometry NOT NULL, SPATIAL (a)); +INSERT INTO t1 VALUES (GeomFromText("LINESTRING(100 100, 200 200, 300 300)")); +INSERT INTO t1 VALUES (GeomFromText("LINESTRING(100 100, 200 200, 300 300)")); +INSERT INTO t1 VALUES (GeomFromText("LINESTRING(100 100, 200 200, 300 300)")); +INSERT INTO t1 VALUES (GeomFromText("LINESTRING(100 100, 200 200, 300 300)")); +INSERT INTO t1 VALUES (GeomFromText("LINESTRING(100 100, 200 200, 300 300)")); +INSERT INTO t1 VALUES (GeomFromText("LINESTRING(100 100, 200 200, 300 300)")); +INSERT INTO t1 VALUES (GeomFromText("LINESTRING(100 100, 200 200, 300 300)")); +INSERT INTO t1 VALUES (GeomFromText("LINESTRING(100 100, 200 200, 300 300)")); +INSERT INTO t1 VALUES (GeomFromText("LINESTRING(100 100, 200 200, 300 300)")); +INSERT INTO t1 VALUES (GeomFromText("LINESTRING(100 100, 200 200, 300 300)")); +INSERT INTO t1 VALUES (GeomFromText("LINESTRING(100 100, 200 200, 300 300)")); +INSERT INTO t1 VALUES (GeomFromText("LINESTRING(100 100, 200 200, 300 300)")); +INSERT INTO t1 VALUES (GeomFromText("LINESTRING(100 100, 200 200, 300 300)")); +INSERT INTO t1 VALUES (GeomFromText("LINESTRING(100 100, 200 200, 300 300)")); +INSERT INTO t1 VALUES (GeomFromText("LINESTRING(100 100, 200 200, 300 300)")); +INSERT INTO t1 VALUES (GeomFromText("LINESTRING(100 100, 200 200, 300 300)")); +INSERT INTO t1 VALUES (GeomFromText("LINESTRING(100 100, 200 200, 300 300)")); +INSERT INTO t1 VALUES (GeomFromText("LINESTRING(100 100, 200 200, 300 300)")); +INSERT INTO t1 VALUES (GeomFromText("LINESTRING(100 100, 200 200, 300 300)")); +INSERT INTO t1 VALUES (GeomFromText("LINESTRING(100 100, 200 200, 300 300)")); +INSERT INTO t1 VALUES (GeomFromText("LINESTRING(100 100, 200 200, 300 300)")); +INSERT INTO t1 VALUES (GeomFromText("LINESTRING(100 100, 200 200, 300 300)")); +INSERT INTO t1 VALUES (GeomFromText("LINESTRING(100 100, 200 200, 300 300)")); +INSERT INTO t1 VALUES (GeomFromText("LINESTRING(100 100, 200 200, 300 300)")); +INSERT INTO t1 VALUES (GeomFromText("LINESTRING(100 100, 200 200, 300 300)")); +INSERT INTO t1 VALUES (GeomFromText("LINESTRING(100 100, 200 200, 300 300)")); +INSERT INTO t1 VALUES (GeomFromText("LINESTRING(100 100, 200 200, 300 300)")); +INSERT INTO t1 VALUES (GeomFromText("LINESTRING(100 100, 200 200, 300 300)")); +INSERT INTO t1 VALUES (GeomFromText("LINESTRING(100 100, 200 200, 300 300)")); +check table t1; +Table Op Msg_type Msg_text +test.t1 check status OK +analyze table t1; +Table Op Msg_type Msg_text +test.t1 analyze status Engine-independent statistics collected +test.t1 analyze status OK +drop table t1; +CREATE TABLE t1 ( +fid INT NOT NULL AUTO_INCREMENT PRIMARY KEY, +g GEOMETRY NOT NULL, +SPATIAL KEY(g) +); +INSERT INTO t1 (g) VALUES (GeomFromText('LineString(1 2, 2 3)')),(GeomFromText('LineString(1 2, 2 4)')); +drop table t1; +CREATE TABLE t1 ( +line GEOMETRY NOT NULL, +kind ENUM('po', 'pp', 'rr', 'dr', 'rd', 'ts', 'cl') NOT NULL DEFAULT 'po', +name VARCHAR(32), +SPATIAL KEY (line) +); +ALTER TABLE t1 DISABLE KEYS; +INSERT INTO t1 (name, kind, line) VALUES +("Aadaouane", "pp", GeomFromText("POINT(32.816667 35.983333)")), +("Aadassiye", "pp", GeomFromText("POINT(35.816667 36.216667)")), +("Aadbel", "pp", GeomFromText("POINT(34.533333 36.100000)")), +("Aadchit", "pp", GeomFromText("POINT(33.347222 35.423611)")), +("Aadchite", "pp", GeomFromText("POINT(33.347222 35.423611)")), +("Aadchit el Qoussair", "pp", GeomFromText("POINT(33.283333 35.483333)")), +("Aaddaye", "pp", GeomFromText("POINT(36.716667 40.833333)")), +("'Aadeissa", "pp", GeomFromText("POINT(32.823889 35.698889)")), +("Aaderup", "pp", GeomFromText("POINT(55.216667 11.766667)")), +("Qalaat Aades", "pp", GeomFromText("POINT(33.503333 35.377500)")), +("A ad'ino", "pp", GeomFromText("POINT(54.812222 38.209167)")), +("Aadi Noia", "pp", GeomFromText("POINT(13.800000 39.833333)")), +("Aad La Macta", "pp", GeomFromText("POINT(35.779444 -0.129167)")), +("Aadland", "pp", GeomFromText("POINT(60.366667 5.483333)")), +("Aadliye", "pp", GeomFromText("POINT(33.366667 36.333333)")), +("Aadloun", "pp", GeomFromText("POINT(33.403889 35.273889)")), +("Aadma", "pp", GeomFromText("POINT(58.798333 22.663889)")), +("Aadma Asundus", "pp", GeomFromText("POINT(58.798333 22.663889)")), +("Aadmoun", "pp", GeomFromText("POINT(34.150000 35.650000)")), +("Aadneram", "pp", GeomFromText("POINT(59.016667 6.933333)")), +("Aadneskaar", "pp", GeomFromText("POINT(58.083333 6.983333)")), +("Aadorf", "pp", GeomFromText("POINT(47.483333 8.900000)")), +("Aadorp", "pp", GeomFromText("POINT(52.366667 6.633333)")), +("Aadouane", "pp", GeomFromText("POINT(32.816667 35.983333)")), +("Aadoui", "pp", GeomFromText("POINT(34.450000 35.983333)")), +("Aadouiye", "pp", GeomFromText("POINT(34.583333 36.183333)")), +("Aadouss", "pp", GeomFromText("POINT(33.512500 35.601389)")), +("Aadra", "pp", GeomFromText("POINT(33.616667 36.500000)")), +("Aadzi", "pp", GeomFromText("POINT(38.100000 64.850000)")); +ALTER TABLE t1 ENABLE KEYS; +INSERT INTO t1 (name, kind, line) VALUES ("austria", "pp", GeomFromText('LINESTRING(14.9906 48.9887,14.9946 48.9904,14.9947 48.9916)')); +drop table t1; +CREATE TABLE t1 (st varchar(100)); +INSERT INTO t1 VALUES ("Fake string"); +CREATE TABLE t2 (geom GEOMETRY NOT NULL, SPATIAL KEY gk(geom)); +INSERT IGNORE INTO t2 SELECT GeomFromText(st) FROM t1; +ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field +drop table t1, t2; +CREATE TABLE t1 (`geometry` geometry NOT NULL default '',SPATIAL KEY `gndx` (`geometry`)) DEFAULT CHARSET=latin1; +INSERT INTO t1 (geometry) VALUES +(PolygonFromText('POLYGON((-18.6086111000 -66.9327777000, -18.6055555000 +-66.8158332999, -18.7186111000 -66.8102777000, -18.7211111000 -66.9269443999, +-18.6086111000 -66.9327777000))')); +INSERT INTO t1 (geometry) VALUES +(PolygonFromText('POLYGON((-65.7402776999 -96.6686111000, -65.7372222000 +-96.5516666000, -65.8502777000 -96.5461111000, -65.8527777000 -96.6627777000, +-65.7402776999 -96.6686111000))')); +check table t1 extended; +Table Op Msg_type Msg_text +test.t1 check status OK +drop table t1; +CREATE TABLE t1 ( +c1 geometry NOT NULL default '', +SPATIAL KEY i1 (c1) +) DEFAULT CHARSET=latin1; +INSERT INTO t1 (c1) VALUES ( +PolygonFromText('POLYGON((-18.6086111000 -66.9327777000, + -18.6055555000 -66.8158332999, + -18.7186111000 -66.8102777000, + -18.7211111000 -66.9269443999, + -18.6086111000 -66.9327777000))')); +CHECK TABLE t1 EXTENDED; +Table Op Msg_type Msg_text +test.t1 check status OK +DROP TABLE t1; +CREATE TABLE t1 ( +c1 geometry NOT NULL default '', +SPATIAL KEY i1 (c1) +) DEFAULT CHARSET=latin1; +INSERT INTO t1 (c1) VALUES ( +PolygonFromText('POLYGON((-18.6086111000 -66.9327777000, + -18.6055555000 -66.8158332999, + -18.7186111000 -66.8102777000, + -18.7211111000 -66.9269443999, + -18.6086111000 -66.9327777000))')); +INSERT INTO t1 (c1) VALUES ( +PolygonFromText('POLYGON((-65.7402776999 -96.6686111000, + -65.7372222000 -96.5516666000, + -65.8502777000 -96.5461111000, + -65.8527777000 -96.6627777000, + -65.7402776999 -96.6686111000))')); +INSERT INTO t1 (c1) VALUES ( +PolygonFromText('POLYGON((-18.6086111000 -66.9327777000, + -18.6055555000 -66.8158332999, + -18.7186111000 -66.8102777000, + -18.7211111000 -66.9269443999, + -18.6086111000 -66.9327777000))')); +CHECK TABLE t1 EXTENDED; +Table Op Msg_type Msg_text +test.t1 check status OK +DROP TABLE t1; +CREATE TABLE t1 (foo GEOMETRY NOT NULL, SPATIAL INDEX(foo) ); +INSERT INTO t1 (foo) VALUES (POINT(1,1)); +INSERT INTO t1 (foo) VALUES (POINT(1,0)); +INSERT INTO t1 (foo) VALUES (POINT(0,1)); +INSERT INTO t1 (foo) VALUES (POINT(0,0)); +SELECT 1 FROM t1 WHERE foo != POINT(0,0); +1 +1 +1 +1 +DROP TABLE t1; +CREATE TABLE t1 (id bigint(12) unsigned NOT NULL auto_increment, +c2 varchar(15) collate utf8_bin default NULL, +c1 varchar(15) collate utf8_bin default NULL, +c3 varchar(10) collate utf8_bin default NULL, +spatial_point point NOT NULL, +PRIMARY KEY(id), +SPATIAL KEY (spatial_point) +) DEFAULT CHARSET=utf8 COLLATE=utf8_bin; +INSERT INTO t1 (c2, c1, c3, spatial_point) VALUES +('y', 's', 'j', GeomFromText('POINT(167 74)')), +('r', 'n', 'd', GeomFromText('POINT(215 118)')), +('g', 'n', 'e', GeomFromText('POINT(203 98)')), +('h', 'd', 'd', GeomFromText('POINT(54 193)')), +('r', 'x', 'y', GeomFromText('POINT(47 69)')), +('t', 'q', 'r', GeomFromText('POINT(109 42)')), +('a', 'z', 'd', GeomFromText('POINT(0 154)')), +('x', 'v', 'o', GeomFromText('POINT(174 131)')), +('b', 'r', 'a', GeomFromText('POINT(114 253)')), +('x', 'z', 'i', GeomFromText('POINT(163 21)')), +('w', 'p', 'i', GeomFromText('POINT(42 102)')), +('g', 'j', 'j', GeomFromText('POINT(170 133)')), +('m', 'g', 'n', GeomFromText('POINT(28 22)')), +('b', 'z', 'h', GeomFromText('POINT(174 28)')), +('q', 'k', 'f', GeomFromText('POINT(233 73)')), +('w', 'w', 'a', GeomFromText('POINT(124 200)')), +('t', 'j', 'w', GeomFromText('POINT(252 101)')), +('d', 'r', 'd', GeomFromText('POINT(98 18)')), +('w', 'o', 'y', GeomFromText('POINT(165 31)')), +('y', 'h', 't', GeomFromText('POINT(14 220)')), +('d', 'p', 'u', GeomFromText('POINT(223 196)')), +('g', 'y', 'g', GeomFromText('POINT(207 96)')), +('x', 'm', 'n', GeomFromText('POINT(214 3)')), +('g', 'v', 'e', GeomFromText('POINT(140 205)')), +('g', 'm', 'm', GeomFromText('POINT(10 236)')), +('i', 'r', 'j', GeomFromText('POINT(137 228)')), +('w', 's', 'p', GeomFromText('POINT(115 6)')), +('o', 'n', 'k', GeomFromText('POINT(158 129)')), +('j', 'h', 'l', GeomFromText('POINT(129 72)')), +('f', 'x', 'l', GeomFromText('POINT(139 207)')), +('u', 'd', 'n', GeomFromText('POINT(125 109)')), +('b', 'a', 'z', GeomFromText('POINT(30 32)')), +('m', 'h', 'o', GeomFromText('POINT(251 251)')), +('f', 'r', 'd', GeomFromText('POINT(243 211)')), +('b', 'd', 'r', GeomFromText('POINT(232 80)')), +('g', 'k', 'v', GeomFromText('POINT(15 100)')), +('i', 'f', 'c', GeomFromText('POINT(109 66)')), +('r', 't', 'j', GeomFromText('POINT(178 6)')), +('y', 'n', 'f', GeomFromText('POINT(233 211)')), +('f', 'y', 'm', GeomFromText('POINT(99 16)')), +('z', 'q', 'l', GeomFromText('POINT(39 49)')), +('j', 'c', 'r', GeomFromText('POINT(75 187)')), +('c', 'y', 'y', GeomFromText('POINT(246 253)')), +('w', 'u', 'd', GeomFromText('POINT(56 190)')), +('n', 'q', 'm', GeomFromText('POINT(73 149)')), +('d', 'y', 'a', GeomFromText('POINT(134 6)')), +('z', 's', 'w', GeomFromText('POINT(216 225)')), +('d', 'u', 'k', GeomFromText('POINT(132 70)')), +('f', 'v', 't', GeomFromText('POINT(187 141)')), +('r', 'r', 'a', GeomFromText('POINT(152 39)')), +('y', 'p', 'o', GeomFromText('POINT(45 27)')), +('p', 'n', 'm', GeomFromText('POINT(228 148)')), +('e', 'g', 'e', GeomFromText('POINT(88 81)')), +('m', 'a', 'h', GeomFromText('POINT(35 29)')), +('m', 'h', 'f', GeomFromText('POINT(30 71)')), +('h', 'k', 'i', GeomFromText('POINT(244 78)')), +('z', 'v', 'd', GeomFromText('POINT(241 38)')), +('q', 'l', 'j', GeomFromText('POINT(13 71)')), +('s', 'p', 'g', GeomFromText('POINT(108 38)')), +('q', 's', 'j', GeomFromText('POINT(92 101)')), +('l', 'h', 'g', GeomFromText('POINT(120 78)')), +('w', 't', 'b', GeomFromText('POINT(193 109)')), +('b', 's', 's', GeomFromText('POINT(223 211)')), +('w', 'w', 'y', GeomFromText('POINT(122 42)')), +('q', 'c', 'c', GeomFromText('POINT(104 102)')), +('w', 'g', 'n', GeomFromText('POINT(213 120)')), +('p', 'q', 'a', GeomFromText('POINT(247 148)')), +('c', 'z', 'e', GeomFromText('POINT(18 106)')), +('z', 'u', 'n', GeomFromText('POINT(70 133)')), +('j', 'n', 'x', GeomFromText('POINT(232 13)')), +('e', 'h', 'f', GeomFromText('POINT(22 135)')), +('w', 'l', 'f', GeomFromText('POINT(9 180)')), +('a', 'v', 'q', GeomFromText('POINT(163 228)')), +('i', 'z', 'o', GeomFromText('POINT(180 100)')), +('e', 'c', 'l', GeomFromText('POINT(182 231)')), +('c', 'k', 'o', GeomFromText('POINT(19 60)')), +('q', 'f', 'p', GeomFromText('POINT(79 95)')), +('m', 'd', 'r', GeomFromText('POINT(3 127)')), +('m', 'e', 't', GeomFromText('POINT(136 154)')), +('w', 'w', 'w', GeomFromText('POINT(102 15)')), +('l', 'n', 'q', GeomFromText('POINT(71 196)')), +('p', 'k', 'c', GeomFromText('POINT(47 139)')), +('j', 'o', 'r', GeomFromText('POINT(177 128)')), +('j', 'q', 'a', GeomFromText('POINT(170 6)')), +('b', 'a', 'o', GeomFromText('POINT(63 211)')), +('g', 's', 'o', GeomFromText('POINT(144 251)')), +('w', 'u', 'w', GeomFromText('POINT(221 214)')), +('g', 'a', 'm', GeomFromText('POINT(14 102)')), +('u', 'q', 'z', GeomFromText('POINT(86 200)')), +('k', 'a', 'm', GeomFromText('POINT(144 222)')), +('j', 'u', 'r', GeomFromText('POINT(216 142)')), +('q', 'k', 'v', GeomFromText('POINT(121 236)')), +('p', 'o', 'r', GeomFromText('POINT(108 102)')), +('b', 'd', 'x', GeomFromText('POINT(127 198)')), +('k', 's', 'a', GeomFromText('POINT(2 150)')), +('f', 'm', 'f', GeomFromText('POINT(160 191)')), +('q', 'y', 'x', GeomFromText('POINT(98 111)')), +('o', 'f', 'm', GeomFromText('POINT(232 218)')), +('c', 'w', 'j', GeomFromText('POINT(156 165)')), +('s', 'q', 'v', GeomFromText('POINT(98 161)')); +SET @@RAND_SEED1=692635050, @@RAND_SEED2=297339954; +DELETE FROM t1 ORDER BY RAND() LIMIT 10; +SET @@RAND_SEED1=159925977, @@RAND_SEED2=942570618; +DELETE FROM t1 ORDER BY RAND() LIMIT 10; +SET @@RAND_SEED1=328169745, @@RAND_SEED2=410451954; +DELETE FROM t1 ORDER BY RAND() LIMIT 10; +SET @@RAND_SEED1=178507359, @@RAND_SEED2=332493072; +DELETE FROM t1 ORDER BY RAND() LIMIT 10; +SET @@RAND_SEED1=1034033013, @@RAND_SEED2=558966507; +DELETE FROM t1 ORDER BY RAND() LIMIT 10; +UPDATE t1 set spatial_point=GeomFromText('POINT(230 9)') where c1 like 'y%'; +UPDATE t1 set spatial_point=GeomFromText('POINT(95 35)') where c1 like 'j%'; +UPDATE t1 set spatial_point=GeomFromText('POINT(93 99)') where c1 like 'a%'; +UPDATE t1 set spatial_point=GeomFromText('POINT(19 81)') where c1 like 'r%'; +UPDATE t1 set spatial_point=GeomFromText('POINT(20 177)') where c1 like 'h%'; +UPDATE t1 set spatial_point=GeomFromText('POINT(221 193)') where c1 like 'u%'; +UPDATE t1 set spatial_point=GeomFromText('POINT(195 205)') where c1 like 'd%'; +UPDATE t1 set spatial_point=GeomFromText('POINT(15 213)') where c1 like 'u%'; +UPDATE t1 set spatial_point=GeomFromText('POINT(214 63)') where c1 like 'n%'; +UPDATE t1 set spatial_point=GeomFromText('POINT(243 171)') where c1 like 'c%'; +UPDATE t1 set spatial_point=GeomFromText('POINT(198 82)') where c1 like 'y%'; +INSERT INTO t1 (c2, c1, c3, spatial_point) VALUES +('f', 'y', 'p', GeomFromText('POINT(109 235)')), +('b', 'e', 'v', GeomFromText('POINT(20 48)')), +('i', 'u', 'f', GeomFromText('POINT(15 55)')), +('o', 'r', 'z', GeomFromText('POINT(105 64)')), +('a', 'p', 'a', GeomFromText('POINT(142 236)')), +('g', 'i', 'k', GeomFromText('POINT(10 49)')), +('x', 'z', 'x', GeomFromText('POINT(192 200)')), +('c', 'v', 'r', GeomFromText('POINT(94 168)')), +('y', 'z', 'e', GeomFromText('POINT(141 51)')), +('h', 'm', 'd', GeomFromText('POINT(35 251)')), +('v', 'm', 'q', GeomFromText('POINT(44 90)')), +('j', 'l', 'z', GeomFromText('POINT(67 237)')), +('i', 'v', 'a', GeomFromText('POINT(75 14)')), +('b', 'q', 't', GeomFromText('POINT(153 33)')), +('e', 'm', 'a', GeomFromText('POINT(247 49)')), +('l', 'y', 'g', GeomFromText('POINT(56 203)')), +('v', 'o', 'r', GeomFromText('POINT(90 54)')), +('r', 'n', 'd', GeomFromText('POINT(135 83)')), +('j', 't', 'u', GeomFromText('POINT(174 239)')), +('u', 'n', 'g', GeomFromText('POINT(104 191)')), +('p', 'q', 'y', GeomFromText('POINT(63 171)')), +('o', 'q', 'p', GeomFromText('POINT(192 103)')), +('f', 'x', 'e', GeomFromText('POINT(244 30)')), +('n', 'x', 'c', GeomFromText('POINT(92 103)')), +('r', 'q', 'z', GeomFromText('POINT(166 20)')), +('s', 'a', 'j', GeomFromText('POINT(137 205)')), +('z', 't', 't', GeomFromText('POINT(99 134)')), +('o', 'm', 'j', GeomFromText('POINT(217 3)')), +('n', 'h', 'j', GeomFromText('POINT(211 17)')), +('v', 'v', 'a', GeomFromText('POINT(41 137)')), +('q', 'o', 'j', GeomFromText('POINT(5 92)')), +('z', 'y', 'e', GeomFromText('POINT(175 212)')), +('j', 'z', 'h', GeomFromText('POINT(224 194)')), +('a', 'g', 'm', GeomFromText('POINT(31 119)')), +('p', 'c', 'f', GeomFromText('POINT(17 221)')), +('t', 'h', 'k', GeomFromText('POINT(26 203)')), +('u', 'w', 'p', GeomFromText('POINT(47 185)')), +('z', 'a', 'c', GeomFromText('POINT(61 133)')), +('u', 'k', 'a', GeomFromText('POINT(210 115)')), +('k', 'f', 'h', GeomFromText('POINT(125 113)')), +('t', 'v', 'y', GeomFromText('POINT(12 239)')), +('u', 'v', 'd', GeomFromText('POINT(90 24)')), +('m', 'y', 'w', GeomFromText('POINT(25 243)')), +('d', 'n', 'g', GeomFromText('POINT(122 92)')), +('z', 'm', 'f', GeomFromText('POINT(235 110)')), +('q', 'd', 'f', GeomFromText('POINT(233 217)')), +('a', 'v', 'u', GeomFromText('POINT(69 59)')), +('x', 'k', 'p', GeomFromText('POINT(240 14)')), +('i', 'v', 'r', GeomFromText('POINT(154 42)')), +('w', 'h', 'l', GeomFromText('POINT(178 156)')), +('d', 'h', 'n', GeomFromText('POINT(65 157)')), +('c', 'k', 'z', GeomFromText('POINT(62 33)')), +('e', 'l', 'w', GeomFromText('POINT(162 1)')), +('r', 'f', 'i', GeomFromText('POINT(127 71)')), +('q', 'm', 'c', GeomFromText('POINT(63 118)')), +('c', 'h', 'u', GeomFromText('POINT(205 203)')), +('d', 't', 'p', GeomFromText('POINT(234 87)')), +('s', 'g', 'h', GeomFromText('POINT(149 34)')), +('o', 'b', 'q', GeomFromText('POINT(159 179)')), +('k', 'u', 'f', GeomFromText('POINT(202 254)')), +('u', 'f', 'g', GeomFromText('POINT(70 15)')), +('x', 's', 'b', GeomFromText('POINT(25 181)')), +('s', 'c', 'g', GeomFromText('POINT(252 17)')), +('a', 'c', 'f', GeomFromText('POINT(89 67)')), +('r', 'e', 'q', GeomFromText('POINT(55 54)')), +('f', 'i', 'k', GeomFromText('POINT(178 230)')), +('p', 'e', 'l', GeomFromText('POINT(198 28)')), +('w', 'o', 'd', GeomFromText('POINT(204 189)')), +('c', 'a', 'g', GeomFromText('POINT(230 178)')), +('r', 'o', 'e', GeomFromText('POINT(61 116)')), +('w', 'a', 'a', GeomFromText('POINT(178 237)')), +('v', 'd', 'e', GeomFromText('POINT(70 85)')), +('k', 'c', 'e', GeomFromText('POINT(147 118)')), +('d', 'q', 't', GeomFromText('POINT(218 77)')), +('k', 'g', 'f', GeomFromText('POINT(192 113)')), +('w', 'n', 'e', GeomFromText('POINT(92 124)')), +('r', 'm', 'q', GeomFromText('POINT(130 65)')), +('o', 'r', 'r', GeomFromText('POINT(174 233)')), +('k', 'n', 't', GeomFromText('POINT(175 147)')), +('q', 'm', 'r', GeomFromText('POINT(18 208)')), +('l', 'd', 'i', GeomFromText('POINT(13 104)')), +('w', 'o', 'y', GeomFromText('POINT(207 39)')), +('p', 'u', 'o', GeomFromText('POINT(114 31)')), +('y', 'a', 'p', GeomFromText('POINT(106 59)')), +('a', 'x', 'z', GeomFromText('POINT(17 57)')), +('v', 'h', 'x', GeomFromText('POINT(170 13)')), +('t', 's', 'u', GeomFromText('POINT(84 18)')), +('z', 'z', 'f', GeomFromText('POINT(250 197)')), +('l', 'z', 't', GeomFromText('POINT(59 80)')), +('j', 'g', 's', GeomFromText('POINT(54 26)')), +('g', 'v', 'm', GeomFromText('POINT(89 98)')), +('q', 'v', 'b', GeomFromText('POINT(39 240)')), +('x', 'k', 'v', GeomFromText('POINT(246 207)')), +('k', 'u', 'i', GeomFromText('POINT(105 111)')), +('w', 'z', 's', GeomFromText('POINT(235 8)')), +('d', 'd', 'd', GeomFromText('POINT(105 4)')), +('c', 'z', 'q', GeomFromText('POINT(13 140)')), +('m', 'k', 'i', GeomFromText('POINT(208 120)')), +('g', 'a', 'g', GeomFromText('POINT(9 182)')), +('z', 'j', 'r', GeomFromText('POINT(149 153)')), +('h', 'f', 'g', GeomFromText('POINT(81 236)')), +('m', 'e', 'q', GeomFromText('POINT(209 215)')), +('c', 'h', 'y', GeomFromText('POINT(235 70)')), +('i', 'e', 'g', GeomFromText('POINT(138 26)')), +('m', 't', 'u', GeomFromText('POINT(119 237)')), +('o', 'w', 's', GeomFromText('POINT(193 166)')), +('f', 'm', 'q', GeomFromText('POINT(85 96)')), +('x', 'l', 'x', GeomFromText('POINT(58 115)')), +('x', 'q', 'u', GeomFromText('POINT(108 210)')), +('b', 'h', 'i', GeomFromText('POINT(250 139)')), +('y', 'd', 'x', GeomFromText('POINT(199 135)')), +('w', 'h', 'p', GeomFromText('POINT(247 233)')), +('p', 'z', 't', GeomFromText('POINT(148 249)')), +('q', 'a', 'u', GeomFromText('POINT(174 78)')), +('v', 't', 'm', GeomFromText('POINT(70 228)')), +('t', 'n', 'f', GeomFromText('POINT(123 2)')), +('x', 't', 'b', GeomFromText('POINT(35 50)')), +('r', 'j', 'f', GeomFromText('POINT(200 51)')), +('s', 'q', 'o', GeomFromText('POINT(23 184)')), +('u', 'v', 'z', GeomFromText('POINT(7 113)')), +('v', 'u', 'l', GeomFromText('POINT(145 190)')), +('o', 'k', 'i', GeomFromText('POINT(161 122)')), +('l', 'y', 'e', GeomFromText('POINT(17 232)')), +('t', 'b', 'e', GeomFromText('POINT(120 50)')), +('e', 's', 'u', GeomFromText('POINT(254 1)')), +('d', 'd', 'u', GeomFromText('POINT(167 140)')), +('o', 'b', 'x', GeomFromText('POINT(186 237)')), +('m', 's', 's', GeomFromText('POINT(172 149)')), +('t', 'y', 'a', GeomFromText('POINT(149 85)')), +('x', 't', 'r', GeomFromText('POINT(10 165)')), +('g', 'c', 'e', GeomFromText('POINT(95 165)')), +('e', 'e', 'z', GeomFromText('POINT(98 65)')), +('f', 'v', 'i', GeomFromText('POINT(149 144)')), +('o', 'p', 'm', GeomFromText('POINT(233 67)')), +('t', 'u', 'b', GeomFromText('POINT(109 215)')), +('o', 'o', 'b', GeomFromText('POINT(130 48)')), +('e', 'm', 'h', GeomFromText('POINT(88 189)')), +('e', 'v', 'y', GeomFromText('POINT(55 29)')), +('e', 't', 'm', GeomFromText('POINT(129 55)')), +('p', 'p', 'i', GeomFromText('POINT(126 222)')), +('c', 'i', 'c', GeomFromText('POINT(19 158)')), +('c', 'b', 's', GeomFromText('POINT(13 19)')), +('u', 'y', 'a', GeomFromText('POINT(114 5)')), +('a', 'o', 'f', GeomFromText('POINT(227 232)')), +('t', 'c', 'z', GeomFromText('POINT(63 62)')), +('d', 'o', 'k', GeomFromText('POINT(48 228)')), +('x', 'c', 'e', GeomFromText('POINT(204 2)')), +('e', 'e', 'g', GeomFromText('POINT(125 43)')), +('o', 'r', 'f', GeomFromText('POINT(171 140)')); +UPDATE t1 set spatial_point=GeomFromText('POINT(163 157)') where c1 like 'w%'; +UPDATE t1 set spatial_point=GeomFromText('POINT(53 151)') where c1 like 'd%'; +UPDATE t1 set spatial_point=GeomFromText('POINT(96 183)') where c1 like 'r%'; +UPDATE t1 set spatial_point=GeomFromText('POINT(57 91)') where c1 like 'q%'; +UPDATE t1 set spatial_point=GeomFromText('POINT(202 110)') where c1 like 'c%'; +UPDATE t1 set spatial_point=GeomFromText('POINT(120 137)') where c1 like 'w%'; +UPDATE t1 set spatial_point=GeomFromText('POINT(207 147)') where c1 like 'c%'; +UPDATE t1 set spatial_point=GeomFromText('POINT(31 125)') where c1 like 'e%'; +UPDATE t1 set spatial_point=GeomFromText('POINT(27 36)') where c1 like 'r%'; +INSERT INTO t1 (c2, c1, c3, spatial_point) VALUES +('b', 'c', 'e', GeomFromText('POINT(41 137)')), +('p', 'y', 'k', GeomFromText('POINT(50 22)')), +('s', 'c', 'h', GeomFromText('POINT(208 173)')), +('x', 'u', 'l', GeomFromText('POINT(199 175)')), +('s', 'r', 'h', GeomFromText('POINT(85 192)')), +('j', 'k', 'u', GeomFromText('POINT(18 25)')), +('p', 'w', 'h', GeomFromText('POINT(152 197)')), +('e', 'd', 'c', GeomFromText('POINT(229 3)')), +('o', 'x', 'k', GeomFromText('POINT(187 155)')), +('o', 'b', 'k', GeomFromText('POINT(208 150)')), +('d', 'a', 'j', GeomFromText('POINT(70 87)')), +('f', 'e', 'k', GeomFromText('POINT(156 96)')), +('u', 'y', 'p', GeomFromText('POINT(239 193)')), +('n', 'v', 'p', GeomFromText('POINT(223 98)')), +('z', 'j', 'r', GeomFromText('POINT(87 89)')), +('h', 'x', 'x', GeomFromText('POINT(92 0)')), +('r', 'v', 'r', GeomFromText('POINT(159 139)')), +('v', 'g', 'g', GeomFromText('POINT(16 229)')), +('z', 'k', 'u', GeomFromText('POINT(99 52)')), +('p', 'p', 'o', GeomFromText('POINT(105 125)')), +('w', 'h', 'y', GeomFromText('POINT(105 154)')), +('v', 'y', 'z', GeomFromText('POINT(134 238)')), +('x', 'o', 'o', GeomFromText('POINT(178 88)')), +('z', 'w', 'd', GeomFromText('POINT(123 60)')), +('q', 'f', 'u', GeomFromText('POINT(64 90)')), +('s', 'n', 't', GeomFromText('POINT(50 138)')), +('v', 'p', 't', GeomFromText('POINT(114 91)')), +('a', 'o', 'n', GeomFromText('POINT(78 43)')), +('k', 'u', 'd', GeomFromText('POINT(185 161)')), +('w', 'd', 'n', GeomFromText('POINT(25 92)')), +('k', 'w', 'a', GeomFromText('POINT(59 238)')), +('t', 'c', 'f', GeomFromText('POINT(65 87)')), +('g', 's', 'p', GeomFromText('POINT(238 126)')), +('d', 'n', 'y', GeomFromText('POINT(107 173)')), +('l', 'a', 'w', GeomFromText('POINT(125 152)')), +('m', 'd', 'j', GeomFromText('POINT(146 53)')), +('q', 'm', 'c', GeomFromText('POINT(217 187)')), +('i', 'r', 'r', GeomFromText('POINT(6 113)')), +('e', 'j', 'b', GeomFromText('POINT(37 83)')), +('w', 'w', 'h', GeomFromText('POINT(83 199)')), +('k', 'b', 's', GeomFromText('POINT(170 64)')), +('s', 'b', 'c', GeomFromText('POINT(163 130)')), +('c', 'h', 'a', GeomFromText('POINT(141 3)')), +('k', 'j', 'u', GeomFromText('POINT(143 76)')), +('r', 'h', 'o', GeomFromText('POINT(243 92)')), +('i', 'd', 'b', GeomFromText('POINT(205 13)')), +('r', 'y', 'q', GeomFromText('POINT(138 8)')), +('m', 'o', 'i', GeomFromText('POINT(36 45)')), +('v', 'g', 'm', GeomFromText('POINT(0 40)')), +('f', 'e', 'i', GeomFromText('POINT(76 6)')), +('c', 'q', 'q', GeomFromText('POINT(115 248)')), +('x', 'c', 'i', GeomFromText('POINT(29 74)')), +('l', 's', 't', GeomFromText('POINT(83 18)')), +('t', 't', 'a', GeomFromText('POINT(26 168)')), +('u', 'n', 'x', GeomFromText('POINT(200 110)')), +('j', 'b', 'd', GeomFromText('POINT(216 136)')), +('s', 'p', 'w', GeomFromText('POINT(38 156)')), +('f', 'b', 'v', GeomFromText('POINT(29 186)')), +('v', 'e', 'r', GeomFromText('POINT(149 40)')), +('v', 't', 'm', GeomFromText('POINT(184 24)')), +('y', 'g', 'a', GeomFromText('POINT(219 105)')), +('s', 'f', 'i', GeomFromText('POINT(114 130)')), +('e', 'q', 'h', GeomFromText('POINT(203 135)')), +('h', 'g', 'b', GeomFromText('POINT(9 208)')), +('o', 'l', 'r', GeomFromText('POINT(245 79)')), +('s', 's', 'v', GeomFromText('POINT(238 198)')), +('w', 'w', 'z', GeomFromText('POINT(209 232)')), +('v', 'd', 'n', GeomFromText('POINT(30 193)')), +('q', 'w', 'k', GeomFromText('POINT(133 18)')), +('o', 'h', 'o', GeomFromText('POINT(42 140)')), +('f', 'f', 'h', GeomFromText('POINT(145 1)')), +('u', 's', 'r', GeomFromText('POINT(70 62)')), +('x', 'n', 'q', GeomFromText('POINT(33 86)')), +('u', 'p', 'v', GeomFromText('POINT(232 220)')), +('z', 'e', 'a', GeomFromText('POINT(130 69)')), +('r', 'u', 'z', GeomFromText('POINT(243 241)')), +('b', 'n', 't', GeomFromText('POINT(120 12)')), +('u', 'f', 's', GeomFromText('POINT(190 212)')), +('a', 'd', 'q', GeomFromText('POINT(235 191)')), +('f', 'q', 'm', GeomFromText('POINT(176 2)')), +('n', 'c', 's', GeomFromText('POINT(218 163)')), +('e', 'm', 'h', GeomFromText('POINT(163 108)')), +('c', 'f', 'l', GeomFromText('POINT(220 115)')), +('c', 'v', 'q', GeomFromText('POINT(66 45)')), +('w', 'v', 'x', GeomFromText('POINT(251 220)')), +('f', 'w', 'z', GeomFromText('POINT(146 149)')), +('h', 'n', 'h', GeomFromText('POINT(148 128)')), +('y', 'k', 'v', GeomFromText('POINT(28 110)')), +('c', 'x', 'q', GeomFromText('POINT(13 13)')), +('e', 'd', 's', GeomFromText('POINT(91 190)')), +('c', 'w', 'c', GeomFromText('POINT(10 231)')), +('u', 'j', 'n', GeomFromText('POINT(250 21)')), +('w', 'n', 'x', GeomFromText('POINT(141 69)')), +('f', 'p', 'y', GeomFromText('POINT(228 246)')), +('d', 'q', 'f', GeomFromText('POINT(194 22)')), +('d', 'z', 'l', GeomFromText('POINT(233 181)')), +('c', 'a', 'q', GeomFromText('POINT(183 96)')), +('m', 'i', 'd', GeomFromText('POINT(117 226)')), +('z', 'y', 'y', GeomFromText('POINT(62 81)')), +('g', 'v', 'm', GeomFromText('POINT(66 158)')); +SET @@RAND_SEED1=481064922, @@RAND_SEED2=438133497; +DELETE FROM t1 ORDER BY RAND() LIMIT 10; +SET @@RAND_SEED1=280535103, @@RAND_SEED2=444518646; +DELETE FROM t1 ORDER BY RAND() LIMIT 10; +SET @@RAND_SEED1=1072017234, @@RAND_SEED2=484203885; +DELETE FROM t1 ORDER BY RAND() LIMIT 10; +SET @@RAND_SEED1=358851897, @@RAND_SEED2=358495224; +DELETE FROM t1 ORDER BY RAND() LIMIT 10; +SET @@RAND_SEED1=509031459, @@RAND_SEED2=675962925; +DELETE FROM t1 ORDER BY RAND() LIMIT 10; +UPDATE t1 set spatial_point=GeomFromText('POINT(61 203)') where c1 like 'y%'; +UPDATE t1 set spatial_point=GeomFromText('POINT(202 194)') where c1 like 'f%'; +UPDATE t1 set spatial_point=GeomFromText('POINT(228 18)') where c1 like 'h%'; +UPDATE t1 set spatial_point=GeomFromText('POINT(88 18)') where c1 like 'l%'; +UPDATE t1 set spatial_point=GeomFromText('POINT(176 94)') where c1 like 'e%'; +UPDATE t1 set spatial_point=GeomFromText('POINT(44 47)') where c1 like 'g%'; +UPDATE t1 set spatial_point=GeomFromText('POINT(95 191)') where c1 like 'b%'; +UPDATE t1 set spatial_point=GeomFromText('POINT(179 218)') where c1 like 'y%'; +UPDATE t1 set spatial_point=GeomFromText('POINT(239 40)') where c1 like 'g%'; +UPDATE t1 set spatial_point=GeomFromText('POINT(248 41)') where c1 like 'q%'; +UPDATE t1 set spatial_point=GeomFromText('POINT(167 82)') where c1 like 't%'; +UPDATE t1 set spatial_point=GeomFromText('POINT(13 104)') where c1 like 'u%'; +UPDATE t1 set spatial_point=GeomFromText('POINT(139 84)') where c1 like 'a%'; +UPDATE t1 set spatial_point=GeomFromText('POINT(145 108)') where c1 like 'p%'; +UPDATE t1 set spatial_point=GeomFromText('POINT(147 57)') where c1 like 't%'; +UPDATE t1 set spatial_point=GeomFromText('POINT(217 144)') where c1 like 'n%'; +UPDATE t1 set spatial_point=GeomFromText('POINT(160 224)') where c1 like 'w%'; +UPDATE t1 set spatial_point=GeomFromText('POINT(38 28)') where c1 like 'j%'; +UPDATE t1 set spatial_point=GeomFromText('POINT(104 114)') where c1 like 'q%'; +UPDATE t1 set spatial_point=GeomFromText('POINT(88 19)') where c1 like 'c%'; +INSERT INTO t1 (c2, c1, c3, spatial_point) VALUES +('f', 'x', 'p', GeomFromText('POINT(92 181)')), +('s', 'i', 'c', GeomFromText('POINT(49 60)')), +('c', 'c', 'i', GeomFromText('POINT(7 57)')), +('n', 'g', 'k', GeomFromText('POINT(252 105)')), +('g', 'b', 'm', GeomFromText('POINT(180 11)')), +('u', 'l', 'r', GeomFromText('POINT(32 90)')), +('c', 'x', 'e', GeomFromText('POINT(143 24)')), +('x', 'u', 'a', GeomFromText('POINT(123 92)')), +('s', 'b', 'h', GeomFromText('POINT(190 108)')), +('c', 'x', 'b', GeomFromText('POINT(104 100)')), +('i', 'd', 't', GeomFromText('POINT(214 104)')), +('r', 'w', 'g', GeomFromText('POINT(29 67)')), +('b', 'f', 'g', GeomFromText('POINT(149 46)')), +('r', 'r', 'd', GeomFromText('POINT(242 196)')), +('j', 'l', 'a', GeomFromText('POINT(90 196)')), +('e', 't', 'b', GeomFromText('POINT(190 64)')), +('l', 'x', 'w', GeomFromText('POINT(250 73)')), +('q', 'y', 'r', GeomFromText('POINT(120 182)')), +('s', 'j', 'a', GeomFromText('POINT(180 175)')), +('n', 'i', 'y', GeomFromText('POINT(124 136)')), +('s', 'x', 's', GeomFromText('POINT(176 209)')), +('u', 'f', 's', GeomFromText('POINT(215 173)')), +('m', 'j', 'x', GeomFromText('POINT(44 140)')), +('v', 'g', 'x', GeomFromText('POINT(177 233)')), +('u', 't', 'b', GeomFromText('POINT(136 197)')), +('f', 'g', 'b', GeomFromText('POINT(10 8)')), +('v', 'c', 'j', GeomFromText('POINT(13 81)')), +('d', 's', 'q', GeomFromText('POINT(200 100)')), +('a', 'p', 'j', GeomFromText('POINT(33 40)')), +('i', 'c', 'g', GeomFromText('POINT(168 204)')), +('k', 'h', 'i', GeomFromText('POINT(93 243)')), +('s', 'b', 's', GeomFromText('POINT(157 13)')), +('v', 'l', 'l', GeomFromText('POINT(103 6)')), +('r', 'b', 'k', GeomFromText('POINT(244 137)')), +('l', 'd', 'r', GeomFromText('POINT(162 254)')), +('q', 'b', 'z', GeomFromText('POINT(136 246)')), +('x', 'x', 'p', GeomFromText('POINT(120 37)')), +('m', 'e', 'z', GeomFromText('POINT(203 167)')), +('q', 'n', 'p', GeomFromText('POINT(94 119)')), +('b', 'g', 'u', GeomFromText('POINT(93 248)')), +('r', 'v', 'v', GeomFromText('POINT(53 88)')), +('y', 'a', 'i', GeomFromText('POINT(98 219)')), +('a', 's', 'g', GeomFromText('POINT(173 138)')), +('c', 'a', 't', GeomFromText('POINT(235 135)')), +('q', 'm', 'd', GeomFromText('POINT(224 208)')), +('e', 'p', 'k', GeomFromText('POINT(161 238)')), +('n', 'g', 'q', GeomFromText('POINT(35 204)')), +('t', 't', 'x', GeomFromText('POINT(230 178)')), +('w', 'f', 'a', GeomFromText('POINT(150 221)')), +('z', 'm', 'z', GeomFromText('POINT(119 42)')), +('l', 'j', 's', GeomFromText('POINT(97 96)')), +('f', 'z', 'x', GeomFromText('POINT(208 65)')), +('i', 'v', 'c', GeomFromText('POINT(145 79)')), +('l', 'f', 'k', GeomFromText('POINT(83 234)')), +('u', 'a', 's', GeomFromText('POINT(250 49)')), +('o', 'k', 'p', GeomFromText('POINT(46 50)')), +('d', 'e', 'z', GeomFromText('POINT(30 198)')), +('r', 'r', 'l', GeomFromText('POINT(78 189)')), +('y', 'l', 'f', GeomFromText('POINT(188 132)')), +('d', 'q', 'm', GeomFromText('POINT(247 107)')), +('p', 'j', 'n', GeomFromText('POINT(148 227)')), +('b', 'o', 'i', GeomFromText('POINT(172 25)')), +('e', 'v', 'd', GeomFromText('POINT(94 248)')), +('q', 'd', 'f', GeomFromText('POINT(15 29)')), +('w', 'b', 'b', GeomFromText('POINT(74 111)')), +('g', 'q', 'f', GeomFromText('POINT(107 215)')), +('o', 'h', 'r', GeomFromText('POINT(25 168)')), +('u', 't', 'w', GeomFromText('POINT(251 188)')), +('h', 's', 'w', GeomFromText('POINT(254 247)')), +('f', 'f', 'b', GeomFromText('POINT(166 103)')); +SET @@RAND_SEED1=866613816, @@RAND_SEED2=92289615; +INSERT INTO t1 (c2, c1, c3, spatial_point) VALUES +('l', 'c', 'l', GeomFromText('POINT(202 98)')), +('k', 'c', 'b', GeomFromText('POINT(46 206)')), +('r', 'y', 'm', GeomFromText('POINT(74 140)')), +('y', 'z', 'd', GeomFromText('POINT(200 160)')), +('s', 'y', 's', GeomFromText('POINT(156 205)')), +('u', 'v', 'p', GeomFromText('POINT(86 82)')), +('j', 's', 's', GeomFromText('POINT(91 233)')), +('x', 'j', 'f', GeomFromText('POINT(3 14)')), +('l', 'z', 'v', GeomFromText('POINT(123 156)')), +('h', 'i', 'o', GeomFromText('POINT(145 229)')), +('o', 'r', 'd', GeomFromText('POINT(15 22)')), +('f', 'x', 't', GeomFromText('POINT(21 60)')), +('t', 'g', 'h', GeomFromText('POINT(50 153)')), +('g', 'u', 'b', GeomFromText('POINT(82 85)')), +('v', 'a', 'p', GeomFromText('POINT(231 178)')), +('n', 'v', 'o', GeomFromText('POINT(183 25)')), +('j', 'n', 'm', GeomFromText('POINT(50 144)')), +('e', 'f', 'i', GeomFromText('POINT(46 16)')), +('d', 'w', 'a', GeomFromText('POINT(66 6)')), +('f', 'x', 'a', GeomFromText('POINT(107 197)')), +('m', 'o', 'a', GeomFromText('POINT(142 80)')), +('q', 'l', 'g', GeomFromText('POINT(251 23)')), +('c', 's', 's', GeomFromText('POINT(158 43)')), +('y', 'd', 'o', GeomFromText('POINT(196 228)')), +('d', 'p', 'l', GeomFromText('POINT(107 5)')), +('h', 'a', 'b', GeomFromText('POINT(183 166)')), +('m', 'w', 'p', GeomFromText('POINT(19 59)')), +('b', 'y', 'o', GeomFromText('POINT(178 30)')), +('x', 'w', 'i', GeomFromText('POINT(168 94)')), +('t', 'k', 'z', GeomFromText('POINT(171 5)')), +('r', 'm', 'a', GeomFromText('POINT(222 19)')), +('u', 'v', 'e', GeomFromText('POINT(224 80)')), +('q', 'r', 'k', GeomFromText('POINT(212 218)')), +('d', 'p', 'j', GeomFromText('POINT(169 7)')), +('d', 'r', 'v', GeomFromText('POINT(193 23)')), +('n', 'y', 'y', GeomFromText('POINT(130 178)')), +('m', 'z', 'r', GeomFromText('POINT(81 200)')), +('j', 'e', 'w', GeomFromText('POINT(145 239)')), +('v', 'h', 'x', GeomFromText('POINT(24 105)')), +('z', 'm', 'a', GeomFromText('POINT(175 129)')), +('b', 'c', 'v', GeomFromText('POINT(213 10)')), +('t', 't', 'u', GeomFromText('POINT(2 129)')), +('r', 's', 'v', GeomFromText('POINT(209 192)')), +('x', 'p', 'g', GeomFromText('POINT(43 63)')), +('t', 'e', 'u', GeomFromText('POINT(139 210)')), +('l', 'e', 't', GeomFromText('POINT(245 148)')), +('a', 'i', 'k', GeomFromText('POINT(167 195)')), +('m', 'o', 'h', GeomFromText('POINT(206 120)')), +('g', 'z', 's', GeomFromText('POINT(169 240)')), +('z', 'u', 's', GeomFromText('POINT(202 120)')), +('i', 'b', 'a', GeomFromText('POINT(216 18)')), +('w', 'y', 'g', GeomFromText('POINT(119 236)')), +('h', 'y', 'p', GeomFromText('POINT(161 24)')); +UPDATE t1 set spatial_point=GeomFromText('POINT(33 100)') where c1 like 't%'; +UPDATE t1 set spatial_point=GeomFromText('POINT(41 46)') where c1 like 'f%'; +CHECK TABLE t1 EXTENDED; +Table Op Msg_type Msg_text +test.t1 check status OK +DROP TABLE t1; +create table t1 (a geometry not null, spatial index(a)); +insert into t1 values (POINT(1.1517219314031e+164, 131072)); +insert into t1 values (POINT(9.1248812352444e+192, 2.9740338169556e+284)); +insert into t1 values (POINT(4.7783097267365e-299, -0)); +insert into t1 values (POINT(1.49166814624e-154, 2.0880974297595e-53)); +insert into t1 values (POINT(4.0917382598702e+149, 1.2024538023802e+111)); +insert into t1 values (POINT(2.0349165139404e+236, 2.9993936277913e-241)); +insert into t1 values (POINT(2.5243548967072e-29, 1.2024538023802e+111)); +insert into t1 values (POINT(0, 6.9835074892995e-251)); +insert into t1 values (POINT(2.0880974297595e-53, 3.1050361846014e+231)); +insert into t1 values (POINT(2.8728483499323e-188, 2.4600631144627e+260)); +insert into t1 values (POINT(3.0517578125e-05, 2.0349165139404e+236)); +insert into t1 values (POINT(1.1517219314031e+164, 1.1818212630766e-125)); +insert into t1 values (POINT(2.481040258324e-265, 5.7766220027675e-275)); +insert into t1 values (POINT(2.0880974297595e-53, 2.5243548967072e-29)); +insert into t1 values (POINT(5.7766220027675e-275, 9.9464647281957e+86)); +insert into t1 values (POINT(2.2181357552967e+130, 3.7857669957337e-270)); +insert into t1 values (POINT(4.5767114681874e-246, 3.6893488147419e+19)); +insert into t1 values (POINT(4.5767114681874e-246, 3.7537584144024e+255)); +insert into t1 values (POINT(3.7857669957337e-270, 1.8033161362863e-130)); +insert into t1 values (POINT(0, 5.8774717541114e-39)); +insert into t1 values (POINT(1.1517219314031e+164, 2.2761049594727e-159)); +insert into t1 values (POINT(6.243497100632e+144, 3.7857669957337e-270)); +insert into t1 values (POINT(3.7857669957337e-270, 2.6355494858076e-82)); +insert into t1 values (POINT(2.0349165139404e+236, 3.8518598887745e-34)); +insert into t1 values (POINT(4.6566128730774e-10, 2.0880974297595e-53)); +insert into t1 values (POINT(2.0880974297595e-53, 1.8827498946116e-183)); +insert into t1 values (POINT(1.8033161362863e-130, 9.1248812352444e+192)); +insert into t1 values (POINT(4.7783097267365e-299, 2.2761049594727e-159)); +insert into t1 values (POINT(1.94906280228e+289, 1.2338789709327e-178)); +drop table t1; +CREATE TABLE t1(foo GEOMETRY NOT NULL, SPATIAL INDEX(foo) ); +INSERT INTO t1(foo) VALUES (NULL); +ERROR 23000: Column 'foo' cannot be null +INSERT IGNORE INTO t1() VALUES (); +ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field +INSERT INTO t1(foo) VALUES (''); +ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field +DROP TABLE t1; +CREATE TABLE t1 (a INT AUTO_INCREMENT, b POINT NOT NULL, KEY (a), SPATIAL KEY (b)); +INSERT INTO t1 (b) VALUES (GeomFromText('POINT(1 2)')); +INSERT INTO t1 (b) SELECT b FROM t1; +INSERT INTO t1 (b) SELECT b FROM t1; +INSERT INTO t1 (b) SELECT b FROM t1; +INSERT INTO t1 (b) SELECT b FROM t1; +INSERT INTO t1 (b) SELECT b FROM t1; +OPTIMIZE TABLE t1; +Table Op Msg_type Msg_text +test.t1 optimize status OK +DROP TABLE t1; +CREATE TABLE t1 (a INT, b GEOMETRY NOT NULL, SPATIAL KEY b(b)); +INSERT INTO t1 VALUES (1, GEOMFROMTEXT('LINESTRING(1102218.456 1,2000000 2)')); +INSERT INTO t1 VALUES (2, GEOMFROMTEXT('LINESTRING(1102218.456 1,2000000 2)')); +SELECT COUNT(*) FROM t1 WHERE +MBRINTERSECTS(b, GEOMFROMTEXT('LINESTRING(1 1,1102219 2)') ); +COUNT(*) +2 +SELECT COUNT(*) FROM t1 IGNORE INDEX (b) WHERE +MBRINTERSECTS(b, GEOMFROMTEXT('LINESTRING(1 1,1102219 2)') ); +COUNT(*) +2 +DROP TABLE t1; +# +# Bug #48258: Assertion failed when using a spatial index +# +CREATE TABLE t1(a LINESTRING NOT NULL, SPATIAL KEY(a)); +INSERT INTO t1 VALUES +(GEOMFROMTEXT('LINESTRING(-1 -1, 1 -1, -1 -1, -1 1, 1 1)')), +(GEOMFROMTEXT('LINESTRING(-1 -1, 1 -1, -1 -1, -1 1, 1 1)')); +EXPLAIN SELECT 1 FROM t1 WHERE a = GEOMFROMTEXT('LINESTRING(-1 -1, 1 -1, -1 -1, -1 1, 1 1)'); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 ALL a NULL NULL NULL 2 Using where +SELECT 1 FROM t1 WHERE a = GEOMFROMTEXT('LINESTRING(-1 -1, 1 -1, -1 -1, -1 1, 1 1)'); +1 +1 +1 +EXPLAIN SELECT 1 FROM t1 WHERE a < GEOMFROMTEXT('LINESTRING(-1 -1, 1 -1, -1 -1, -1 1, 1 1)'); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 ALL a NULL NULL NULL 2 Using where +SELECT 1 FROM t1 WHERE a < GEOMFROMTEXT('LINESTRING(-1 -1, 1 -1, -1 -1, -1 1, 1 1)'); +1 +EXPLAIN SELECT 1 FROM t1 WHERE a <= GEOMFROMTEXT('LINESTRING(-1 -1, 1 -1, -1 -1, -1 1, 1 1)'); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 ALL a NULL NULL NULL 2 Using where +SELECT 1 FROM t1 WHERE a <= GEOMFROMTEXT('LINESTRING(-1 -1, 1 -1, -1 -1, -1 1, 1 1)'); +1 +1 +1 +EXPLAIN SELECT 1 FROM t1 WHERE a > GEOMFROMTEXT('LINESTRING(-1 -1, 1 -1, -1 -1, -1 1, 1 1)'); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 ALL a NULL NULL NULL 2 Using where +SELECT 1 FROM t1 WHERE a > GEOMFROMTEXT('LINESTRING(-1 -1, 1 -1, -1 -1, -1 1, 1 1)'); +1 +EXPLAIN SELECT 1 FROM t1 WHERE a >= GEOMFROMTEXT('LINESTRING(-1 -1, 1 -1, -1 -1, -1 1, 1 1)'); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 ALL a NULL NULL NULL 2 Using where +SELECT 1 FROM t1 WHERE a >= GEOMFROMTEXT('LINESTRING(-1 -1, 1 -1, -1 -1, -1 1, 1 1)'); +1 +1 +1 +DROP TABLE t1; +# +# Bug #51357: crash when using handler commands on spatial indexes +# +CREATE TABLE t1(a GEOMETRY NOT NULL,SPATIAL INDEX a(a)); +HANDLER t1 OPEN; +HANDLER t1 READ a FIRST; +a +HANDLER t1 READ a NEXT; +a +HANDLER t1 READ a PREV; +a +HANDLER t1 READ a LAST; +a +HANDLER t1 CLOSE; +HANDLER t1 OPEN; +HANDLER t1 READ a FIRST; +a +INSERT INTO t1 VALUES (GeomFromText('Polygon((40 40,60 40,60 60,40 60,40 40))')); +# should not crash +HANDLER t1 READ a NEXT; +HANDLER t1 CLOSE; +DROP TABLE t1; +End of 5.0 tests. +# +# Bug #57323/11764487: myisam corruption with insert ignore +# and invalid spatial data +# +CREATE TABLE t1(a POINT NOT NULL, b GEOMETRY NOT NULL, +SPATIAL KEY(a), SPATIAL KEY(b)); +INSERT INTO t1 VALUES(GEOMFROMTEXT("point (0 0)"), GEOMFROMTEXT("point (1 1)")); +INSERT IGNORE INTO t1 SET a=GEOMFROMTEXT("point (-6 0)"), b=GEOMFROMTEXT("error"); +ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field +INSERT IGNORE INTO t1 SET a=GEOMFROMTEXT("point (-6 0)"), b=NULL; +ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field +SELECT ASTEXT(a), ASTEXT(b) FROM t1; +ASTEXT(a) ASTEXT(b) +POINT(0 0) POINT(1 1) +DROP TABLE t1; +CREATE TABLE t1(a INT NOT NULL, b GEOMETRY NOT NULL, +KEY(a), SPATIAL KEY(b)); +INSERT INTO t1 VALUES(0, GEOMFROMTEXT("point (1 1)")); +INSERT IGNORE INTO t1 SET a=0, b=GEOMFROMTEXT("error"); +ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field +INSERT IGNORE INTO t1 SET a=1, b=NULL; +ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field +SELECT a, ASTEXT(b) FROM t1; +a ASTEXT(b) +0 POINT(1 1) +DROP TABLE t1; +End of 5.1 tests +CREATE TABLE t1 ( +l LINESTRING NOT NULL, +SPATIAL KEY(l) +); +INSERT INTO t1 VALUES(GeomFromText('LINESTRING(0 0, 1 1)')); +INSERT INTO t1 VALUES(GeomFromText('LINESTRING(1 1, 2 2)')); +INSERT INTO t1 VALUES(GeomFromText('LINESTRING(2 2, 3 3)')); +SELECT COUNT(*) FROM t1 IGNORE INDEX(l) WHERE MBRContains(l, GEOMFROMTEXT('POINT(0 0)')); +COUNT(*) +1 +SELECT COUNT(*) FROM t1 IGNORE INDEX(l) WHERE MBRWithin(GEOMFROMTEXT('POINT(0.5 0.5)'), l); +COUNT(*) +1 +SELECT COUNT(*) FROM t1 FORCE INDEX(l) WHERE MBRContains(l, GEOMFROMTEXT('POINT(0 0)')); +COUNT(*) +1 +SELECT COUNT(*) FROM t1 FORCE INDEX(l) WHERE MBRWithin(GEOMFROMTEXT('POINT(0.5 0.5)'), l); +COUNT(*) +1 +DROP TABLE t1; +# +# Start of 10.1 tests +# +# +# MDEV-8239 Reverse spatial operations OP(const, field) do not get optimized +# +CREATE TABLE t1 (a GEOMETRY NOT NULL, SPATIAL KEY(a)); +INSERT INTO t1 VALUES (Point(1,2)),(Point(1,3)); +EXPLAIN SELECT * FROM t1 WHERE MBRINTERSECTS(a,Point(1,2)); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 range a a 34 NULL 1 Using where +EXPLAIN SELECT * FROM t1 WHERE ST_INTERSECTS(a,Point(1,2)); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 range a a 34 NULL 1 Using where +EXPLAIN SELECT * FROM t1 WHERE MBRINTERSECTS(Point(1,2),a); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 range a a 34 NULL 1 Using where +EXPLAIN SELECT * FROM t1 WHERE ST_INTERSECTS(Point(1,2),a); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 range a a 34 NULL 1 Using where +DROP TABLE t1; +# +# MDEV-8610 "WHERE CONTAINS(indexed_geometry_column,1)" causes full table scan +# +CREATE TABLE t1 (a GEOMETRY NOT NULL, SPATIAL KEY(a)); +INSERT INTO t1 VALUES (Point(1,1)),(Point(2,2)),(Point(3,3)); +EXPLAIN SELECT * FROM t1 WHERE CONTAINS(a,1); +ERROR HY000: Illegal parameter data type int for operation 'st_contains' +EXPLAIN SELECT * FROM t1 WHERE CONTAINS(a,1.0); +ERROR HY000: Illegal parameter data type decimal for operation 'st_contains' +EXPLAIN SELECT * FROM t1 WHERE CONTAINS(a,1e0); +ERROR HY000: Illegal parameter data type double for operation 'st_contains' +EXPLAIN SELECT * FROM t1 WHERE CONTAINS(a,TIME'00:00:00'); +ERROR HY000: Illegal parameter data type time for operation 'st_contains' +EXPLAIN SELECT * FROM t1 WHERE CONTAINS(a,DATE'2001-01-01'); +ERROR HY000: Illegal parameter data type date for operation 'st_contains' +EXPLAIN SELECT * FROM t1 WHERE CONTAINS(a,TIMESTAMP'2001-01-01 00:00:00'); +ERROR HY000: Illegal parameter data type datetime for operation 'st_contains' +DROP TABLE t1; +# +# End of 10.1 tests +# diff --git a/mysql-test/suite/innodb_gis/r/kill_server.result b/mysql-test/suite/innodb_gis/r/kill_server.result new file mode 100644 index 00000000..97f6ff41 --- /dev/null +++ b/mysql-test/suite/innodb_gis/r/kill_server.result @@ -0,0 +1,40 @@ +create table t1 (c1 int, c2 geometry not null, spatial index (c2))engine=innodb; +create procedure insert_t1(IN total int) +begin +declare i int default 1; +while (i <= total) DO +insert into t1 values (i, Point(i, i)); +set i = i + 1; +end while; +end| +CALL insert_t1(5000); +select count(*) from t1; +count(*) +5000 +check table t1; +Table Op Msg_type Msg_text +test.t1 check status OK +truncate table t1; +CALL insert_t1(10000); +select count(*) from t1; +count(*) +10000 +drop index c2 on t1; +create spatial index idx on t1(c2); +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `c1` int(11) DEFAULT NULL, + `c2` geometry NOT NULL, + SPATIAL KEY `idx` (`c2`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci +check table t1; +Table Op Msg_type Msg_text +test.t1 check status OK +truncate table t1; +call mtr.add_suppression("InnoDB: A copy of page \[page id: space=[0-9]+, page number=[0-9]+\] in the doublewrite buffer slot [0-9]+ is not within space bounds"); +START TRANSACTION; +CALL insert_t1(5000); +COMMIT; +drop procedure insert_t1; +drop table t1; diff --git a/mysql-test/suite/innodb_gis/r/multi_pk.result b/mysql-test/suite/innodb_gis/r/multi_pk.result new file mode 100644 index 00000000..9e0cfa06 --- /dev/null +++ b/mysql-test/suite/innodb_gis/r/multi_pk.result @@ -0,0 +1,57 @@ +create table t1 (c1 int, c2 varchar(255), c3 geometry not null, primary key(c1, c2), spatial index (c3))engine=innodb; +create function rand_string(str_length tinyint unsigned, str_type tinyint unsigned) returns varchar(255) +begin +declare counter int unsigned default 0; +declare const_chars varchar(64) default '0123456789'; +declare result varchar(255) default ''; +if str_type = 1 then +set const_chars = '0123456789'; +elseif str_type = 2 then +set const_chars = 'abcdefghijklmnopqrstuvwxyz'; +elseif str_type = 3 then +set const_chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; +elseif str_type = 4 then +set const_chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; +elseif str_type = 5 then +set const_chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; +else +set const_chars = '0123456789'; +end if; +while counter < str_length do +set result = concat(result,substr(const_chars,ceil(rand()*(length(const_chars)-1)),1)); +set counter = counter + 1; +end while; +return result; +end| +create procedure insert_t1(IN total int) +begin +declare i int default 1; +declare i2 int default 1; +declare str varchar(100) default ''; +declare dup_key int default 1; +while i <= total DO +set i2 = floor(0+(rand()*100)); +set str = rand_string(i2, 5); +select count(*) into dup_key from t1 where c2 = str and c1 = i; +while dup_key <> 0 do +set i2 = floor(0+(rand()*100)); +set str = rand_string(i2, 5); +select count(*) into dup_key from t1 where c2 = str and c1 = i; +end while; +insert into t1 values (i, str, Point(i, i)); +set i = i + 1; +end while; +end| +CALL insert_t1(10000); +check table t1; +Table Op Msg_type Msg_text +test.t1 check status OK +start transaction; +CALL insert_t1(30000); +rollback; +check table t1; +Table Op Msg_type Msg_text +test.t1 check status OK +drop procedure insert_t1; +drop function rand_string; +drop table t1; diff --git a/mysql-test/suite/innodb_gis/r/point_basic.result b/mysql-test/suite/innodb_gis/r/point_basic.result new file mode 100644 index 00000000..f5819839 --- /dev/null +++ b/mysql-test/suite/innodb_gis/r/point_basic.result @@ -0,0 +1,1608 @@ +# +# Test for basic POINT operation +# +CREATE TABLE gis_point(p1 POINT, p2 POINT) ENGINE=InnoDB; +INSERT INTO gis_point VALUES +(ST_PointFromText('POINT(0 0)'), ST_PointFromText('POINT(0 0)')), +(ST_PointFromText('POINT(10 -20)'), ST_PointFromText('POINT(10 -20)')), +(ST_PointFromText('POINT(3.1415926 3.535897)'), ST_PointFromText('POINT(-3.932626 -3.488272)')), +(ST_PointFromText('POINT(-111.9876 234.1357)'), ST_PointFromText('POINT(-957.1914 958.1919)')); +SELECT ST_X(p1), ST_Y(p2) FROM gis_point; +ST_X(p1) ST_Y(p2) +0 0 +10 -20 +3.1415926 -3.488272 +-111.9876 958.1919 +DROP TABLE gis_point; +# +# Test when POINT is not on any indexes +# +CREATE TABLE gis_point(p1 POINT, p2 POINT) ENGINE=InnoDB; +INSERT INTO gis_point VALUES +(ST_PointFromText('POINT(100.32374832 101.23741821)'), ST_PointFromText('POINT(100.32374832 101.23741821)')), +(ST_PointFromText('POINT(105.34523342 103.18492302)'), ST_PointFromText('POINT(100.32374832 101.23741821)')), +(ST_PointFromText('POINT(100.32374832 101.23741821)'), ST_PointFromText('POINT(200.32247328 101.86728201)')), +(ST_PointFromText('POINT(100.32374832 101.23741821)'), ST_PointFromText('POINT(100.32374832 101.98527111)')); +EXPLAIN SELECT ST_AsText(p1), ST_AsText(p2) FROM gis_point GROUP BY p1, p2; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE gis_point ALL NULL NULL NULL NULL # Using temporary; Using filesort +SELECT ST_AsText(p1), ST_AsText(p2) FROM gis_point GROUP BY p1, p2; +ST_AsText(p1) ST_AsText(p2) +POINT(100.32374832 101.23741821) POINT(100.32374832 101.98527111) +POINT(100.32374832 101.23741821) POINT(100.32374832 101.23741821) +POINT(100.32374832 101.23741821) POINT(200.32247328 101.86728201) +POINT(105.34523342 103.18492302) POINT(100.32374832 101.23741821) +SELECT ST_AsText(p1) FROM gis_point WHERE p1 = p2; +ST_AsText(p1) +POINT(100.32374832 101.23741821) +SELECT ST_AsText(p1), ST_AsText(p2) FROM gis_point WHERE p1 = ST_PointFromText('POINT(100.32374832 101.23741821)'); +ST_AsText(p1) ST_AsText(p2) +POINT(100.32374832 101.23741821) POINT(100.32374832 101.23741821) +POINT(100.32374832 101.23741821) POINT(200.32247328 101.86728201) +POINT(100.32374832 101.23741821) POINT(100.32374832 101.98527111) +SELECT ST_AsText(p1), ST_AsText(p2) FROM gis_point WHERE p2 = ST_PointFromText('POINT(200.32247328 101.86728201)'); +ST_AsText(p1) ST_AsText(p2) +POINT(100.32374832 101.23741821) POINT(200.32247328 101.86728201) +DROP TABLE gis_point; +# +# Test some ALTER TABLE operations on POINT tables +# +CREATE TABLE t1 ( +p POINT NOT NULL, +g GEOMETRY NOT NULL +) ENGINE=InnoDB; +INSERT INTO t1 VALUES(ST_PointFromText('POINT(0 1)'), ST_PointFromText('POINT(10 11)')); +INSERT INTO t1 VALUES(ST_PointFromText('POINT(1 1)'), ST_PointFromText('POINT(10 12)')); +INSERT INTO t1 VALUES(ST_PointFromText('POINT(1 0)'), ST_PointFromText('POINT(10 13)')); +INSERT INTO t1 VALUES(ST_PointFromText('POINT(0 0)'), ST_PointFromText('POINT(10 14)')); +SELECT ST_AsText(p), ST_AsText(g) FROM t1; +ST_AsText(p) ST_AsText(g) +POINT(0 1) POINT(10 11) +POINT(1 1) POINT(10 12) +POINT(1 0) POINT(10 13) +POINT(0 0) POINT(10 14) +SELECT c.name, c.mtype, c.prtype, c.len +FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS c +JOIN INFORMATION_SCHEMA.INNODB_SYS_TABLES t +ON c.table_id = t.table_id +WHERE t.name='test/t1' AND c.name IN ('p','g'); +name mtype prtype len +p 14 1535 12 +g 14 1535 12 +ALTER TABLE t1 ADD COLUMN p1 POINT, ADD COLUMN p2 POINT, ADD KEY(p); +SELECT c.name, c.mtype, c.prtype, c.len +FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS c +JOIN INFORMATION_SCHEMA.INNODB_SYS_TABLES t +ON c.table_id = t.table_id +WHERE t.name='test/t1' AND c.name IN ('p','g','p1','p2'); +name mtype prtype len +p 14 1535 12 +g 14 1535 12 +p1 14 1279 12 +p2 14 1279 12 +# NOT NULL POINT will use '' +SELECT count(*) AS `Expect 4` FROM t1 WHERE p1 = ''; +Expect 4 +0 +SELECT count(*) AS `Expect 4` FROM t1 WHERE p2 = ''; +Expect 4 +0 +SELECT ST_AsText(p), ST_AsText(p1) FROM t1 WHERE p = p1; +ST_AsText(p) ST_AsText(p1) +SELECT ST_AsText(p), ST_AsText(p1) FROM t1 WHERE p = p2; +ST_AsText(p) ST_AsText(p1) +ALTER TABLE t1 DROP COLUMN p2; +# NULLABLE POINT will use NULL +ALTER TABLE t1 ADD COLUMN p2 POINT, ADD KEY(p2); +SELECT c.name, c.mtype, c.prtype, c.len +FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS c +JOIN INFORMATION_SCHEMA.INNODB_SYS_TABLES t +ON c.table_id = t.table_id +WHERE t.name='test/t1' AND c.name IN ('p','g','p1','p2'); +name mtype prtype len +p 14 1535 12 +g 14 1535 12 +p1 14 1279 12 +p2 14 1279 12 +SELECT count(*) AS `Expect 4` FROM t1 WHERE p2 IS NULL; +Expect 4 +4 +UPDATE t1 SET p2 = ST_PointFromText('POINT(10 20)'); +UPDATE t1 SET p1 = ST_PointFromText('POINT(10 20)'); +ALTER TABLE t1 DROP COLUMN p2; +SELECT c.name, c.mtype, c.prtype, c.len +FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS c +JOIN INFORMATION_SCHEMA.INNODB_SYS_TABLES t +ON c.table_id = t.table_id +WHERE t.name='test/t1' AND c.name IN ('p','g','p1','p2'); +name mtype prtype len +p 14 1535 12 +g 14 1535 12 +p1 14 1279 12 +SELECT ST_AsText(p), ST_AsText(p1) FROM t1 WHERE p = p1; +ST_AsText(p) ST_AsText(p1) +INSERT INTO t1 VALUES (ST_PointFromText('POINT(0.5 0.5)'), ST_PointFromText('POINT(0 1)'), ST_PointFromText('POINT(10 19)')); +SELECT ST_AsText(p1) FROM t1; +ST_AsText(p1) +POINT(10 20) +POINT(10 20) +POINT(10 20) +POINT(10 20) +POINT(10 19) +DELETE FROM t1 WHERE p1 = ST_PointFromText('POINT(10 19)'); +SELECT ST_AsText(p1) FROM t1; +ST_AsText(p1) +POINT(10 20) +POINT(10 20) +POINT(10 20) +POINT(10 20) +# Add spatial keys on the table +ALTER TABLE t1 ADD SPATIAL(p), ADD SPATIAL(p1); +ERROR 42000: All parts of a SPATIAL index must be NOT NULL +SELECT c.name, c.mtype, c.prtype, c.len +FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS c +JOIN INFORMATION_SCHEMA.INNODB_SYS_TABLES t +ON c.table_id = t.table_id +WHERE t.name='test/t1' AND c.name IN ('p','g','p1'); +name mtype prtype len +p 14 1535 12 +g 14 1535 12 +p1 14 1279 12 +SELECT ST_AsText(p), ST_AsText(p1) FROM t1 WHERE p1 = ST_PointFromText('POINT(10 30)'); +ST_AsText(p) ST_AsText(p1) +SELECT ST_AsText(p), ST_AsText(p1) FROM t1 WHERE p1 = ST_PointFromText('POINT(10 20)'); +ST_AsText(p) ST_AsText(p1) +POINT(0 1) POINT(10 20) +POINT(1 1) POINT(10 20) +POINT(1 0) POINT(10 20) +POINT(0 0) POINT(10 20) +SELECT ST_AsText(p), ST_AsText(p1) FROM t1 WHERE MBRWithin(p1, ST_GeomFromText('POLYGON((5 5, 20 5, 20 21, 5 21, 5 5))')); +ST_AsText(p) ST_AsText(p1) +POINT(0 1) POINT(10 20) +POINT(1 1) POINT(10 20) +POINT(1 0) POINT(10 20) +POINT(0 0) POINT(10 20) +SELECT ST_AsText(p), ST_AsText(p1) FROM t1 WHERE MBRWithin(p, ST_GeomFromText('POLYGON((-1 0.5, -1 -0.5, 1 -0.5, 1 0.5, -1 0.5))')); +ST_AsText(p) ST_AsText(p1) +POINT(0 0) POINT(10 20) +# Drop spatial keys on the table +ALTER TABLE t1 DROP KEY p, DROP KEY p1; +ERROR 42000: Can't DROP INDEX `p1`; check that it exists +SELECT c.name, c.mtype, c.prtype, c.len +FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS c +JOIN INFORMATION_SCHEMA.INNODB_SYS_TABLES t +ON c.table_id = t.table_id +WHERE t.name='test/t1' AND c.name IN ('p','g','p1'); +name mtype prtype len +p 14 1535 12 +g 14 1535 12 +p1 14 1279 12 +SELECT ST_AsText(p), ST_AsText(p1) FROM t1 WHERE p1 = ST_PointFromText('POINT(10 30)'); +ST_AsText(p) ST_AsText(p1) +SELECT ST_AsText(p), ST_AsText(p1) FROM t1 WHERE p1 = ST_PointFromText('POINT(10 20)'); +ST_AsText(p) ST_AsText(p1) +POINT(0 1) POINT(10 20) +POINT(1 1) POINT(10 20) +POINT(1 0) POINT(10 20) +POINT(0 0) POINT(10 20) +SELECT ST_AsText(p), ST_AsText(p1) FROM t1 WHERE MBRWithin(p1, ST_GeomFromText('POLYGON((5 5, 20 5, 20 21, 5 21, 5 5))')); +ST_AsText(p) ST_AsText(p1) +POINT(0 1) POINT(10 20) +POINT(1 1) POINT(10 20) +POINT(1 0) POINT(10 20) +POINT(0 0) POINT(10 20) +SELECT ST_AsText(p), ST_AsText(p1) FROM t1 WHERE MBRWithin(p, ST_GeomFromText('POLYGON((-1 0.5, -1 -0.5, 1 -0.5, 1 0.5, -1 0.5))')); +ST_AsText(p) ST_AsText(p1) +POINT(0 0) POINT(10 20) +TRUNCATE t1; +ALTER TABLE t1 DROP COLUMN p, DROP COLUMN p1; +SELECT c.name, c.mtype, c.prtype, c.len +FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS c +JOIN INFORMATION_SCHEMA.INNODB_SYS_TABLES t +ON c.table_id = t.table_id +WHERE t.name='test/t1' AND c.name IN ('p','g','p1'); +name mtype prtype len +g 14 1535 12 +ALTER TABLE t1 ADD COLUMN p POINT, ADD COLUMN p1 POINT; +SELECT c.name, c.mtype, c.prtype, c.len +FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS c +JOIN INFORMATION_SCHEMA.INNODB_SYS_TABLES t +ON c.table_id = t.table_id +WHERE t.name='test/t1' AND c.name IN ('p','g','p1'); +name mtype prtype len +g 14 1535 12 +p 14 1279 12 +p1 14 1279 12 +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `g` geometry NOT NULL, + `p` point DEFAULT NULL, + `p1` point DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci +INSERT INTO t1 VALUES(ST_PointFromText('POINT(0.5 0.5)'), ST_PointFromText('POINT(0 1)'), ST_PointFromText('POINT(10 19)')); +INSERT INTO t1 VALUES(ST_PointFromText('POINT(0.6 0.6)'), ST_PointFromText('POINT(1 1)'), ST_PointFromText('POINT(10 20)')); +INSERT INTO t1 VALUES(ST_PointFromText('POINT(0.7 0.7)'), ST_PointFromText('POINT(1 0)'), ST_PointFromText('POINT(10 21)')); +INSERT INTO t1 VALUES(ST_PointFromText('POINT(0.8 0.8)'), ST_PointFromText('POINT(0 0)'), ST_PointFromText('POINT(10 22)')); +SELECT ST_AsText(p), ST_AsText(p1) FROM t1 WHERE p1 = ST_PointFromText('POINT(10 30)'); +ST_AsText(p) ST_AsText(p1) +SELECT ST_AsText(p), ST_AsText(p1) FROM t1 WHERE p1 = ST_PointFromText('POINT(10 20)'); +ST_AsText(p) ST_AsText(p1) +POINT(1 1) POINT(10 20) +SELECT ST_AsText(p), ST_AsText(p1) FROM t1 WHERE MBRWithin(p1, ST_GeomFromText('POLYGON((5 5, 20 5, 20 21, 5 21, 5 5))')); +ST_AsText(p) ST_AsText(p1) +POINT(0 1) POINT(10 19) +POINT(1 1) POINT(10 20) +SELECT ST_AsText(p), ST_AsText(p1) FROM t1 WHERE MBRWithin(p, ST_GeomFromText('POLYGON((-1 0.5, -1 -0.5, 1 -0.5, 1 0.5, -1 0.5))')); +ST_AsText(p) ST_AsText(p1) +POINT(0 0) POINT(10 22) +ALTER TABLE t1 DROP COLUMN p1, ADD COLUMN p1 POINT, CHANGE COLUMN p pp POINT AFTER p1; +SELECT c.name, c.mtype, c.prtype, c.len +FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS c +JOIN INFORMATION_SCHEMA.INNODB_SYS_TABLES t +ON c.table_id = t.table_id +WHERE t.name='test/t1' AND c.name IN ('pp','g','p1'); +name mtype prtype len +g 14 1535 12 +p1 14 1279 12 +pp 14 1279 12 +UPDATE t1 SET p1 = ST_PointFromText('POINT(5 5)'); +SELECT ST_AsText(pp), ST_AsText(p1) FROM t1; +ST_AsText(pp) ST_AsText(p1) +POINT(0 1) POINT(5 5) +POINT(1 1) POINT(5 5) +POINT(1 0) POINT(5 5) +POINT(0 0) POINT(5 5) +ALTER TABLE t1 ADD SPATIAL(p1), ADD SPATIAL(pp), ALGORITHM = COPY; +ERROR 42000: All parts of a SPATIAL index must be NOT NULL +SELECT c.name, c.mtype, c.prtype, c.len +FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS c +JOIN INFORMATION_SCHEMA.INNODB_SYS_TABLES t +ON c.table_id = t.table_id +WHERE t.name='test/t1' AND c.name IN ('pp','g','p1'); +name mtype prtype len +g 14 1535 12 +p1 14 1279 12 +pp 14 1279 12 +SELECT ST_AsText(pp), ST_AsText(p1) FROM t1 WHERE p1 = ST_PointFromText('POINT(10 30)'); +ST_AsText(pp) ST_AsText(p1) +SELECT ST_AsText(pp), ST_AsText(p1) FROM t1 WHERE p1 = ST_PointFromText('POINT(10 20)'); +ST_AsText(pp) ST_AsText(p1) +SELECT ST_AsText(pp), ST_AsText(p1) FROM t1 WHERE MBRWithin(p1, ST_GeomFromText('POLYGON((5 5, 20 5, 20 21, 5 21, 5 5))')) ORDER BY pp; +ST_AsText(pp) ST_AsText(p1) +SELECT ST_AsText(pp), ST_AsText(p1) FROM t1 WHERE MBRWithin(pp, ST_GeomFromText('POLYGON((-1 0.5, -1 -0.5, 1 -0.5, 1 0.5, -1 0.5))')) ORDER BY pp; +ST_AsText(pp) ST_AsText(p1) +POINT(0 0) POINT(5 5) +DROP TABLE t1; +# +# Test when the POINT is on B-TREE +# +CREATE TABLE gis_point(fid INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT, p POINT, KEY(p)) ENGINE=InnoDB STATS_PERSISTENT=0; +INSERT INTO gis_point VALUES +(101, ST_PointFromText('POINT(10 10)')), +(102, ST_PointFromText('POINT(20 10)')), +(103, ST_PointFromText('POINT(20 20)')), +(104, ST_PointFromWKB(ST_AsWKB(ST_PointFromText('POINT(10 20)')))); +SELECT ST_AsText(p) FROM gis_point; +ST_AsText(p) +POINT(10 10) +POINT(20 10) +POINT(20 20) +POINT(10 20) +SELECT ST_AsText(p) FROM gis_point WHERE p = ST_PointFromText('POINT(20 20)'); +ST_AsText(p) +POINT(20 20) +INSERT INTO gis_point VALUES +(201, ST_PointFromText('POINT(100.32374832 101.23741821)')), +(202, ST_PointFromText('POINT(102.43287328 100.23489233)')), +(203, ST_PointFromText('POINT(101.43284962 100.45892392)')), +(204, ST_PointFromWKB(ST_AsWKB(ST_PointFromText('POINT(103.43718640 105.248206478)')))), +(205, ST_PointFromText('POINT(101.43284962 100.45892392)')), +(206, ST_PointFromWKB(ST_AsWKB(ST_PointFromText('POINT(103.43718640 105.248206478)')))); +'The ORDER BY will use filesort' +EXPLAIN SELECT ST_AsText(p) FROM gis_point ORDER BY p; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE gis_point ALL NULL NULL NULL NULL # Using filesort +SELECT ST_AsText(p) FROM gis_point ORDER BY p; +ST_AsText(p) +POINT(10 10) +POINT(10 20) +POINT(20 10) +POINT(20 20) +POINT(101.43284962 100.45892392) +POINT(101.43284962 100.45892392) +POINT(100.32374832 101.23741821) +POINT(102.43287328 100.23489233) +POINT(103.4371864 105.248206478) +POINT(103.4371864 105.248206478) +SELECT ST_AsText(p), COUNT(*) FROM gis_point GROUP BY p; +ST_AsText(p) COUNT(*) +POINT(10 10) 1 +POINT(10 20) 1 +POINT(20 10) 1 +POINT(20 20) 1 +POINT(101.43284962 100.45892392) 2 +POINT(100.32374832 101.23741821) 1 +POINT(102.43287328 100.23489233) 1 +POINT(103.4371864 105.248206478) 2 +TRUNCATE gis_point; +INSERT INTO gis_point VALUES +(101, ST_PointFromText('POINT(10 10)')), +(102, ST_PointFromText('POINT(20 10)')), +(103, ST_PointFromText('POINT(20 20)')), +(104, ST_PointFromWKB(ST_AsWKB(ST_PointFromText('POINT(10 20)')))); +# Check if we can create prefix index on POINT +ALTER TABLE gis_point ADD COLUMN g POINT, ADD KEY(g(8)); +INSERT INTO gis_point VALUES +(105, ST_PointFromText('POINT(25 15)'), ST_PointFromText('POINT(100 100)')), +(106, ST_PointFromText('POINT(25 25)'), ST_PointFromText('POINT(110 110)')); +SELECT ST_AsText(p) FROM gis_point; +ST_AsText(p) +POINT(10 10) +POINT(20 10) +POINT(20 20) +POINT(10 20) +POINT(25 15) +POINT(25 25) +SELECT ST_AsText(p), ST_AsText(g) FROM gis_point WHERE g IS NULL; +ST_AsText(p) ST_AsText(g) +POINT(10 10) NULL +POINT(20 10) NULL +POINT(20 20) NULL +POINT(10 20) NULL +UPDATE gis_point SET g = ST_PointFromText('POINT(200 200)') WHERE g IS NULL OR g = ST_PointFromText('POINT(110 110)'); +SELECT ST_AsText(g) FROM gis_point WHERE g IS NULL OR g = ST_PointFromText('POINT(200 200)'); +ST_AsText(g) +POINT(200 200) +POINT(200 200) +POINT(200 200) +POINT(200 200) +POINT(200 200) +# Check the information schema tables +SELECT table_name, column_name, data_type, column_type FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name='gis_point' AND (column_name = 'p' OR column_name = 'g'); +table_name column_name data_type column_type +gis_point p point point +gis_point g point point +SELECT c.name, c.mtype, c.prtype, c.len +FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS c +JOIN INFORMATION_SCHEMA.INNODB_SYS_TABLES t +ON c.table_id = t.table_id +WHERE t.name LIKE 'test/g%' AND c.name IN ('p','g'); +name mtype prtype len +p 14 1279 12 +g 14 1279 12 +SELECT length(p) FROM gis_point; +length(p) +25 +25 +25 +25 +25 +25 +ALTER TABLE gis_point DROP COLUMN g, ALGORITHM = COPY; +TRUNCATE gis_point; +INSERT INTO gis_point VALUES +(101, ST_PointFromText('POINT(10 10)')), +(102, ST_PointFromText('POINT(20 10)')), +(103, ST_PointFromText('POINT(20 20)')), +(104, ST_PointFromWKB(ST_AsWKB(ST_PointFromText('POINT(10 20)')))); +# Check if we can create prefix index on POINT +ALTER TABLE gis_point ADD COLUMN g POINT, ADD KEY(g(8)); +INSERT INTO gis_point VALUES +(105, ST_PointFromText('POINT(25 15)'), ST_PointFromText('POINT(100 100)')), +(106, ST_PointFromText('POINT(25 25)'), ST_PointFromText('POINT(110 110)')); +SELECT ST_AsText(p) FROM gis_point; +ST_AsText(p) +POINT(10 10) +POINT(20 10) +POINT(20 20) +POINT(10 20) +POINT(25 15) +POINT(25 25) +SELECT ST_AsText(p), ST_AsText(g) FROM gis_point WHERE g IS NULL; +ST_AsText(p) ST_AsText(g) +POINT(10 10) NULL +POINT(20 10) NULL +POINT(20 20) NULL +POINT(10 20) NULL +UPDATE gis_point SET g = ST_PointFromText('POINT(200 200)') WHERE g IS NULL OR g = ST_PointFromText('POINT(110 110)'); +SELECT ST_AsText(g) FROM gis_point WHERE g IS NULL OR g = ST_PointFromText('POINT(200 200)'); +ST_AsText(g) +POINT(200 200) +POINT(200 200) +POINT(200 200) +POINT(200 200) +POINT(200 200) +CHECK TABLE gis_point; +Table Op Msg_type Msg_text +test.gis_point check status OK +SELECT c.name, c.mtype, c.prtype, c.len +FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS c +JOIN INFORMATION_SCHEMA.INNODB_SYS_TABLES t +ON c.table_id = t.table_id +WHERE t.name='test/gis_point' AND c.name IN ('p','g'); +name mtype prtype len +p 14 1279 12 +g 14 1279 12 +DROP TABLE gis_point; +# +# Check the mtype of other geometry data types should be 15 +# +CREATE TABLE g ( +geom GEOMETRY NOT NULL, +l LINESTRING NOT NULL, +poly POLYGON NOT NULL, +mp MULTIPOINT NOT NULL, +ml MULTILINESTRING NOT NULL, +mpoly MULTIPOLYGON NOT NULL, +gc GEOMETRYCOLLECTION NOT NULL +) ENGINE=InnoDB; +SELECT c.name, c.mtype, c.prtype, c.len +FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS c +JOIN INFORMATION_SCHEMA.INNODB_SYS_TABLES t +ON c.table_id = t.table_id +WHERE t.name='test/g'; +name mtype prtype len +geom 14 1535 12 +l 14 1535 12 +poly 14 1535 12 +mp 14 1535 12 +ml 14 1535 12 +mpoly 14 1535 12 +gc 14 1535 12 +DROP TABLE g; +# +# check the mtype and len with CREATE TABLE AS +# +CREATE TABLE t1 ( +p POINT NOT NULL, +g GEOMETRY NOT NULL +) ENGINE=InnoDB; +INSERT INTO t1 VALUES(ST_PointFromText('POINT(10 10)'),ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))')); +CREATE TABLE t2 ENGINE=InnoDB AS SELECT * FROM t1; +SELECT t.name, c.name, c.mtype, c.prtype, c.len +FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS c +JOIN INFORMATION_SCHEMA.INNODB_SYS_TABLES t +ON c.table_id = t.table_id +WHERE t.name LIKE 'test/t%' AND c.name IN ('p','g'); +name name mtype prtype len +test/t1 p 14 1535 12 +test/t1 g 14 1535 12 +test/t2 p 14 1535 12 +test/t2 g 14 1535 12 +DROP TABLE t1,t2; +# +# Test when POINT is used in spatial index +# +SET @ls1 = ST_GeomFromText('LINESTRING(0 20, 10 0)'); +SET @ls2 = ST_GeomFromText('LINESTRING(0 0, 10 20)'); +SET @ls3 = ST_GeomFromText('LINESTRING(20 -40, 21 -42)'); +SET @ls4 = ST_GeomFromText('LINESTRING(20 -42, 21 -40)'); +SET @poly1 = ST_GeomFromText('POLYGON((2 2, 2 10, 10 10, 10 2, 2 2))'); +SET @poly2 = ST_GeomFromText('POLYGON((0 0, -5 0, -4 -1, -6 -15, -3 -15, 0 0))'); +SET @poly3 = ST_GeomFromText('POLYGON((10.0 10.0, 20.5 20, 20.5 50, 32.0 64.0, 32.3 64.6, 5 60, 10 10))'); +SET @poly4 = ST_GeomFromText('POLYGON((0 10, -10 10, -10 -10, 0 -10, 0 10))'); +SET @p1 = ST_PointFromText('POINT(0 0)'); +SET @mpoly = ST_GeomFromText('MULTIPOLYGON(((3 3, 3 16, 16 16, 16 3, 3 3)), ((10 10, 10 50, 50 50, 50 10, 10 10)))'); +CREATE TABLE gis_point (p1 POINT NOT NULL, p2 POINT NOT NULL, SPATIAL KEY k1 (p1), SPATIAL KEY k2 (p2)) ENGINE=InnoDB; +INSERT INTO gis_point VALUES +(ST_PointFromText('POINT(1 2)'), ST_PointFromText('POINT(-1 -3)')), +(ST_PointFromText('POINT(2 4)'), ST_PointFromText('POINT(-2 -6)')), +(ST_PointFromText('POINT(3 6)'), ST_PointFromText('POINT(-3 -9)')), +(ST_PointFromText('POINT(4 8)'), ST_PointFromText('POINT(-4 -12)')), +(ST_PointFromText('POINT(5 10)'), ST_PointFromText('POINT(-5 -15)')), +(ST_PointFromText('POINT(6 12)'), ST_PointFromText('POINT(-6 -18)')), +(ST_PointFromText('POINT(7 14)'), ST_PointFromText('POINT(-7 -21)')), +(ST_PointFromText('POINT(8 16)'), ST_PointFromText('POINT(0 0)')), +(ST_PointFromText('POINT(9 18)'), ST_PointFromText('POINT(-4 2)')), +(ST_PointFromText('POINT(10 21)'), ST_PointFromText('POINT(-6 3)')), +(ST_PointFromText('POINT(20.5 41)'), ST_PointFromText('POINT(-8 4)')), +(ST_PointFromText('POINT(26.25 57)'), ST_PointFromText('POINT(1 2)')), +(ST_PointFromText('POINT(32.1234 64.2468)'), ST_PointFromText('POINT(-1 -1)')); +CREATE TABLE gis_point1 SELECT * FROM gis_point; +SELECT c.name, c.mtype, c.prtype, c.len +FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS c +JOIN INFORMATION_SCHEMA.INNODB_SYS_TABLES t +ON c.table_id = t.table_id +WHERE t.name='test/gis_point' AND c.name IN ('p1','p2'); +name mtype prtype len +p1 14 1535 12 +p2 14 1535 12 +SELECT ST_AsText(p1), ST_AsText(p2) FROM gis_point1; +ST_AsText(p1) ST_AsText(p2) +POINT(1 2) POINT(-1 -3) +POINT(2 4) POINT(-2 -6) +POINT(3 6) POINT(-3 -9) +POINT(4 8) POINT(-4 -12) +POINT(5 10) POINT(-5 -15) +POINT(6 12) POINT(-6 -18) +POINT(7 14) POINT(-7 -21) +POINT(8 16) POINT(0 0) +POINT(9 18) POINT(-4 2) +POINT(10 21) POINT(-6 3) +POINT(20.5 41) POINT(-8 4) +POINT(26.25 57) POINT(1 2) +POINT(32.1234 64.2468) POINT(-1 -1) +SELECT ST_AsText(p1) FROM gis_point1 WHERE ST_Intersection(@ls1, @ls2) = p1; +ST_AsText(p1) +POINT(5 10) +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBRWithin(p1, @poly1); +ST_AsText(p1) +POINT(3 6) +POINT(4 8) +SELECT ST_AsText(p2) FROM gis_point1 WHERE ST_Contains(@poly2, p2); +ST_AsText(p2) +POINT(-1 -3) +POINT(-2 -6) +POINT(-3 -9) +POINT(-4 -12) +POINT(-5 -15) +POINT(0 0) +POINT(-1 -1) +SELECT ST_AsText(p2) FROM gis_point1 WHERE ST_Equals(p2, @p1); +ST_AsText(p2) +POINT(0 0) +SELECT ST_AsText(p1) FROM gis_point1 WHERE ST_Touches(@poly3, p1) AND MBRWithin(p2, @poly4); +ST_AsText(p1) +POINT(20.5 41) +POINT(32.1234 64.2468) +SELECT ST_AsText(p1) FROM gis_point1 WHERE ST_Contains(@mpoly, p1); +ST_AsText(p1) +POINT(3 6) +POINT(4 8) +POINT(5 10) +POINT(6 12) +POINT(7 14) +POINT(8 16) +POINT(10 21) +POINT(20.5 41) +SELECT ST_AsText(p1) FROM gis_point1 WHERE ST_Contains(@mpoly, p1) AND NOT MBRWithin(p1, @mpoly); +ST_AsText(p1) +POINT(3 6) +# Check functions that use MBR, with line type data +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBRIntersects(p1, @ls1); +ST_AsText(p1) +POINT(1 2) +POINT(2 4) +POINT(3 6) +POINT(4 8) +POINT(5 10) +POINT(6 12) +POINT(7 14) +POINT(8 16) +POINT(9 18) +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBRWithin(p1, @ls1); +ST_AsText(p1) +POINT(1 2) +POINT(2 4) +POINT(3 6) +POINT(4 8) +POINT(5 10) +POINT(6 12) +POINT(7 14) +POINT(8 16) +POINT(9 18) +SELECT ST_AsText(p1) FROM gis_point1 WHERE ST_Touches(p1, @ls1); +ST_AsText(p1) +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBRDisjoint(p1, @ls1); +ST_AsText(p1) +POINT(10 21) +POINT(20.5 41) +POINT(26.25 57) +POINT(32.1234 64.2468) +# No matching records +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBREquals(p1, @ls1); +ST_AsText(p1) +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBRContains(p1, @ls1); +ST_AsText(p1) +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBROverlaps(p1, @ls3); +ST_AsText(p1) +SELECT ST_AsText(p1) FROM gis_point1 WHERE ST_Crosses(p1, @ls1); +ST_AsText(p1) +# Check functions that use MBR, with polygon type data +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBRIntersects(p1, @poly1); +ST_AsText(p1) +POINT(2 4) +POINT(3 6) +POINT(4 8) +POINT(5 10) +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBRWithin(p1, @poly1); +ST_AsText(p1) +POINT(3 6) +POINT(4 8) +SELECT ST_AsText(p1) FROM gis_point1 WHERE ST_Touches(p1, @poly1); +ST_AsText(p1) +POINT(2 4) +POINT(5 10) +SELECT ST_AsText(p1) FROM gis_point1 WHERE ST_Crosses(p1, @poly1); +ST_AsText(p1) +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBRDisjoint(p1, @poly1); +ST_AsText(p1) +POINT(1 2) +POINT(6 12) +POINT(7 14) +POINT(8 16) +POINT(9 18) +POINT(10 21) +POINT(20.5 41) +POINT(26.25 57) +POINT(32.1234 64.2468) +# No matching records +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBREquals(p1, @poly1); +ST_AsText(p1) +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBRContains(p1, @poly1); +ST_AsText(p1) +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBROverlaps(p1, @poly1); +ST_AsText(p1) +# Check functions that use MBR, with point type data +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBRIntersects(p1, @p1); +ST_AsText(p1) +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBRWithin(p1, @p1); +ST_AsText(p1) +SELECT ST_AsText(p1) FROM gis_point1 WHERE ST_Touches(p1, @p1); +ST_AsText(p1) +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBREquals(p1, @p1); +ST_AsText(p1) +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBRContains(p1, @p1); +ST_AsText(p1) +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBRDisjoint(p1, @p1); +ST_AsText(p1) +POINT(1 2) +POINT(2 4) +POINT(3 6) +POINT(4 8) +POINT(5 10) +POINT(6 12) +POINT(7 14) +POINT(8 16) +POINT(9 18) +POINT(10 21) +POINT(20.5 41) +POINT(26.25 57) +POINT(32.1234 64.2468) +# No matching records +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBROverlaps(p1, @p1); +ST_AsText(p1) +SELECT ST_AsText(p1) FROM gis_point1 WHERE ST_Crosses(p1, @p1); +ST_AsText(p1) +# Check with MBR functions point type data +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBRIntersects(p1, @p1); +ST_AsText(p1) +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBRWithin(p1, @p1); +ST_AsText(p1) +SELECT ST_AsText(p1) FROM gis_point1 WHERE ST_Touches(p1, @p1); +ST_AsText(p1) +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBRContains(p1, @p1); +ST_AsText(p1) +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBRDisjoint(p1, @p1); +ST_AsText(p1) +POINT(1 2) +POINT(2 4) +POINT(3 6) +POINT(4 8) +POINT(5 10) +POINT(6 12) +POINT(7 14) +POINT(8 16) +POINT(9 18) +POINT(10 21) +POINT(20.5 41) +POINT(26.25 57) +POINT(32.1234 64.2468) +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBRequals(p1, @p1); +ST_AsText(p1) +# No matching records +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBROverlaps(p1, @p1); +ST_AsText(p1) +# Check with MBR functions point polygon data +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBRIntersects(p1, @p1); +ST_AsText(p1) +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBRWithin(p1, @p1); +ST_AsText(p1) +SELECT ST_AsText(p1) FROM gis_point1 WHERE ST_Touches(p1, @p1); +ST_AsText(p1) +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBRContains(p1, @p1); +ST_AsText(p1) +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBRDisjoint(p1, @p1); +ST_AsText(p1) +POINT(1 2) +POINT(2 4) +POINT(3 6) +POINT(4 8) +POINT(5 10) +POINT(6 12) +POINT(7 14) +POINT(8 16) +POINT(9 18) +POINT(10 21) +POINT(20.5 41) +POINT(26.25 57) +POINT(32.1234 64.2468) +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBRequals(p1, @p1); +ST_AsText(p1) +# No matching records +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBROverlaps(p1, @p1); +ST_AsText(p1) +# Check with MBR functions polygon type data +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBRIntersects(p1, @poly1); +ST_AsText(p1) +POINT(2 4) +POINT(3 6) +POINT(4 8) +POINT(5 10) +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBRWithin(p1, @poly1); +ST_AsText(p1) +POINT(3 6) +POINT(4 8) +SELECT ST_AsText(p1) FROM gis_point1 WHERE ST_Touches(p1, @poly1); +ST_AsText(p1) +POINT(2 4) +POINT(5 10) +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBRDisjoint(p1, @poly1); +ST_AsText(p1) +POINT(1 2) +POINT(6 12) +POINT(7 14) +POINT(8 16) +POINT(9 18) +POINT(10 21) +POINT(20.5 41) +POINT(26.25 57) +POINT(32.1234 64.2468) +# No matching records +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBROverlaps(p1, @poly1); +ST_AsText(p1) +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBRContains(p1, @poly1); +ST_AsText(p1) +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBRequals(p1, @poly1); +ST_AsText(p1) +# Check with MBR functions line type data +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBRIntersects(p1, @ls1); +ST_AsText(p1) +POINT(1 2) +POINT(2 4) +POINT(3 6) +POINT(4 8) +POINT(5 10) +POINT(6 12) +POINT(7 14) +POINT(8 16) +POINT(9 18) +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBRWithin(p1, @ls1); +ST_AsText(p1) +POINT(1 2) +POINT(2 4) +POINT(3 6) +POINT(4 8) +POINT(5 10) +POINT(6 12) +POINT(7 14) +POINT(8 16) +POINT(9 18) +SELECT ST_AsText(p1) FROM gis_point1 WHERE ST_Touches(p1, @ls1); +ST_AsText(p1) +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBRDisjoint(p1, @ls1); +ST_AsText(p1) +POINT(10 21) +POINT(20.5 41) +POINT(26.25 57) +POINT(32.1234 64.2468) +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBRequals(p1, @ls1); +ST_AsText(p1) +# No matching records +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBROverlaps(p1, @ls1); +ST_AsText(p1) +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBRContains(p1, @ls1); +ST_AsText(p1) +DROP TABLE gis_point1; +SELECT ST_AsText(p1), ST_AsText(p2) FROM gis_point; +ST_AsText(p1) ST_AsText(p2) +POINT(1 2) POINT(-1 -3) +POINT(2 4) POINT(-2 -6) +POINT(3 6) POINT(-3 -9) +POINT(4 8) POINT(-4 -12) +POINT(5 10) POINT(-5 -15) +POINT(6 12) POINT(-6 -18) +POINT(7 14) POINT(-7 -21) +POINT(8 16) POINT(0 0) +POINT(9 18) POINT(-4 2) +POINT(10 21) POINT(-6 3) +POINT(20.5 41) POINT(-8 4) +POINT(26.25 57) POINT(1 2) +POINT(32.1234 64.2468) POINT(-1 -1) +SELECT ST_AsText(p1) FROM gis_point WHERE ST_Intersection(@ls1, @ls2) = p1; +ST_AsText(p1) +POINT(5 10) +SELECT ST_AsText(p1) FROM gis_point WHERE MBRWithin(p1, @poly1); +ST_AsText(p1) +POINT(3 6) +POINT(4 8) +SELECT ST_AsText(p2) FROM gis_point WHERE ST_Contains(@poly2, p2); +ST_AsText(p2) +POINT(-1 -3) +POINT(-2 -6) +POINT(-3 -9) +POINT(-4 -12) +POINT(-5 -15) +POINT(0 0) +POINT(-1 -1) +SELECT ST_AsText(p2) FROM gis_point WHERE ST_Equals(p2, @p1); +ST_AsText(p2) +POINT(0 0) +SELECT ST_AsText(p1) FROM gis_point WHERE ST_Touches(@poly3, p1) AND MBRWithin(p2, @poly4); +ST_AsText(p1) +POINT(20.5 41) +POINT(32.1234 64.2468) +SELECT ST_AsText(p1) FROM gis_point WHERE ST_Contains(@mpoly, p1); +ST_AsText(p1) +POINT(3 6) +POINT(4 8) +POINT(5 10) +POINT(6 12) +POINT(7 14) +POINT(8 16) +POINT(10 21) +POINT(20.5 41) +SELECT ST_AsText(p1) FROM gis_point WHERE ST_Contains(@mpoly, p1) AND NOT MBRWithin(p1, @mpoly); +ST_AsText(p1) +POINT(3 6) +# Check functions that use MBR, with line type data +SELECT ST_AsText(p1) FROM gis_point WHERE MBRIntersects(p1, @ls1); +ST_AsText(p1) +POINT(1 2) +POINT(2 4) +POINT(3 6) +POINT(4 8) +POINT(5 10) +POINT(6 12) +POINT(7 14) +POINT(8 16) +POINT(9 18) +SELECT ST_AsText(p1) FROM gis_point WHERE MBRWithin(p1, @ls1); +ST_AsText(p1) +POINT(1 2) +POINT(2 4) +POINT(3 6) +POINT(4 8) +POINT(5 10) +POINT(6 12) +POINT(7 14) +POINT(8 16) +POINT(9 18) +SELECT ST_AsText(p1) FROM gis_point WHERE ST_Touches(p1, @ls1); +ST_AsText(p1) +SELECT ST_AsText(p1) FROM gis_point WHERE MBRDisjoint(p1, @ls1); +ST_AsText(p1) +POINT(32.1234 64.2468) +POINT(26.25 57) +POINT(20.5 41) +POINT(10 21) +# No matching records +SELECT ST_AsText(p1) FROM gis_point WHERE MBREquals(p1, @ls1); +ST_AsText(p1) +SELECT ST_AsText(p1) FROM gis_point WHERE MBRContains(p1, @ls1); +ST_AsText(p1) +SELECT ST_AsText(p1) FROM gis_point WHERE MBROverlaps(p1, @ls3); +ST_AsText(p1) +SELECT ST_AsText(p1) FROM gis_point WHERE ST_Crosses(p1, @ls1); +ST_AsText(p1) +# Check functions that use MBR, with polygon type data +SELECT ST_AsText(p1) FROM gis_point WHERE MBRIntersects(p1, @poly1); +ST_AsText(p1) +POINT(2 4) +POINT(3 6) +POINT(4 8) +POINT(5 10) +SELECT ST_AsText(p1) FROM gis_point WHERE MBRWithin(p1, @poly1); +ST_AsText(p1) +POINT(3 6) +POINT(4 8) +SELECT ST_AsText(p1) FROM gis_point WHERE ST_Touches(p1, @poly1); +ST_AsText(p1) +POINT(2 4) +POINT(5 10) +SELECT ST_AsText(p1) FROM gis_point WHERE ST_Crosses(p1, @poly1); +ST_AsText(p1) +SELECT ST_AsText(p1) FROM gis_point WHERE MBRDisjoint(p1, @poly1); +ST_AsText(p1) +POINT(32.1234 64.2468) +POINT(26.25 57) +POINT(20.5 41) +POINT(10 21) +POINT(9 18) +POINT(8 16) +POINT(7 14) +POINT(6 12) +POINT(1 2) +# No matching records +SELECT ST_AsText(p1) FROM gis_point WHERE MBREquals(p1, @poly1); +ST_AsText(p1) +SELECT ST_AsText(p1) FROM gis_point WHERE MBRContains(p1, @poly1); +ST_AsText(p1) +SELECT ST_AsText(p1) FROM gis_point WHERE MBROverlaps(p1, @poly1); +ST_AsText(p1) +# Check functions that use MBR, with point type data +SELECT ST_AsText(p1) FROM gis_point WHERE MBRIntersects(p1, @p1); +ST_AsText(p1) +SELECT ST_AsText(p1) FROM gis_point WHERE MBRWithin(p1, @p1); +ST_AsText(p1) +SELECT ST_AsText(p1) FROM gis_point WHERE ST_Touches(p1, @p1); +ST_AsText(p1) +SELECT ST_AsText(p1) FROM gis_point WHERE MBREquals(p1, @p1); +ST_AsText(p1) +SELECT ST_AsText(p1) FROM gis_point WHERE MBRContains(p1, @p1); +ST_AsText(p1) +SELECT ST_AsText(p1) FROM gis_point WHERE MBRDisjoint(p1, @p1); +ST_AsText(p1) +POINT(32.1234 64.2468) +POINT(26.25 57) +POINT(20.5 41) +POINT(10 21) +POINT(9 18) +POINT(8 16) +POINT(7 14) +POINT(6 12) +POINT(5 10) +POINT(4 8) +POINT(3 6) +POINT(2 4) +POINT(1 2) +# No matching records +SELECT ST_AsText(p1) FROM gis_point WHERE MBROverlaps(p1, @p1); +ST_AsText(p1) +SELECT ST_AsText(p1) FROM gis_point WHERE ST_Crosses(p1, @p1); +ST_AsText(p1) +# Check with MBR functions point type data +SELECT ST_AsText(p1) FROM gis_point WHERE MBRIntersects(p1, @p1); +ST_AsText(p1) +SELECT ST_AsText(p1) FROM gis_point WHERE MBRWithin(p1, @p1); +ST_AsText(p1) +SELECT ST_AsText(p1) FROM gis_point WHERE ST_Touches(p1, @p1); +ST_AsText(p1) +SELECT ST_AsText(p1) FROM gis_point WHERE MBRContains(p1, @p1); +ST_AsText(p1) +SELECT ST_AsText(p1) FROM gis_point WHERE MBRDisjoint(p1, @p1); +ST_AsText(p1) +POINT(32.1234 64.2468) +POINT(26.25 57) +POINT(20.5 41) +POINT(10 21) +POINT(9 18) +POINT(8 16) +POINT(7 14) +POINT(6 12) +POINT(5 10) +POINT(4 8) +POINT(3 6) +POINT(2 4) +POINT(1 2) +SELECT ST_AsText(p1) FROM gis_point WHERE MBRequals(p1, @p1); +ST_AsText(p1) +# No matching records +SELECT ST_AsText(p1) FROM gis_point WHERE MBROverlaps(p1, @p1); +ST_AsText(p1) +# Check with MBR functions point polygon data +SELECT ST_AsText(p1) FROM gis_point WHERE MBRIntersects(p1, @p1); +ST_AsText(p1) +SELECT ST_AsText(p1) FROM gis_point WHERE MBRWithin(p1, @p1); +ST_AsText(p1) +SELECT ST_AsText(p1) FROM gis_point WHERE ST_Touches(p1, @p1); +ST_AsText(p1) +SELECT ST_AsText(p1) FROM gis_point WHERE MBRContains(p1, @p1); +ST_AsText(p1) +SELECT ST_AsText(p1) FROM gis_point WHERE MBRDisjoint(p1, @p1); +ST_AsText(p1) +POINT(32.1234 64.2468) +POINT(26.25 57) +POINT(20.5 41) +POINT(10 21) +POINT(9 18) +POINT(8 16) +POINT(7 14) +POINT(6 12) +POINT(5 10) +POINT(4 8) +POINT(3 6) +POINT(2 4) +POINT(1 2) +SELECT ST_AsText(p1) FROM gis_point WHERE MBRequals(p1, @p1); +ST_AsText(p1) +# No matching records +SELECT ST_AsText(p1) FROM gis_point WHERE MBROverlaps(p1, @p1); +ST_AsText(p1) +# Check with MBR functions polygon type data +SELECT ST_AsText(p1) FROM gis_point WHERE MBRIntersects(p1, @poly1); +ST_AsText(p1) +POINT(2 4) +POINT(3 6) +POINT(4 8) +POINT(5 10) +SELECT ST_AsText(p1) FROM gis_point WHERE MBRWithin(p1, @poly1); +ST_AsText(p1) +POINT(3 6) +POINT(4 8) +SELECT ST_AsText(p1) FROM gis_point WHERE ST_Touches(p1, @poly1); +ST_AsText(p1) +POINT(2 4) +POINT(5 10) +SELECT ST_AsText(p1) FROM gis_point WHERE MBRDisjoint(p1, @poly1); +ST_AsText(p1) +POINT(32.1234 64.2468) +POINT(26.25 57) +POINT(20.5 41) +POINT(10 21) +POINT(9 18) +POINT(8 16) +POINT(7 14) +POINT(6 12) +POINT(1 2) +# No matching records +SELECT ST_AsText(p1) FROM gis_point WHERE MBROverlaps(p1, @poly1); +ST_AsText(p1) +SELECT ST_AsText(p1) FROM gis_point WHERE MBRContains(p1, @poly1); +ST_AsText(p1) +SELECT ST_AsText(p1) FROM gis_point WHERE MBRequals(p1, @poly1); +ST_AsText(p1) +# Check with MBR functions line type data +SELECT ST_AsText(p1) FROM gis_point WHERE MBRIntersects(p1, @ls1); +ST_AsText(p1) +POINT(1 2) +POINT(2 4) +POINT(3 6) +POINT(4 8) +POINT(5 10) +POINT(6 12) +POINT(7 14) +POINT(8 16) +POINT(9 18) +SELECT ST_AsText(p1) FROM gis_point WHERE MBRWithin(p1, @ls1); +ST_AsText(p1) +POINT(1 2) +POINT(2 4) +POINT(3 6) +POINT(4 8) +POINT(5 10) +POINT(6 12) +POINT(7 14) +POINT(8 16) +POINT(9 18) +SELECT ST_AsText(p1) FROM gis_point WHERE ST_Touches(p1, @ls1); +ST_AsText(p1) +SELECT ST_AsText(p1) FROM gis_point WHERE MBRDisjoint(p1, @ls1); +ST_AsText(p1) +POINT(32.1234 64.2468) +POINT(26.25 57) +POINT(20.5 41) +POINT(10 21) +SELECT ST_AsText(p1) FROM gis_point WHERE MBRequals(p1, @ls1); +ST_AsText(p1) +# No matching records +SELECT ST_AsText(p1) FROM gis_point WHERE MBROverlaps(p1, @ls1); +ST_AsText(p1) +SELECT ST_AsText(p1) FROM gis_point WHERE MBRContains(p1, @ls1); +ST_AsText(p1) +# Modify the storage engine to Myisam, Check the spatial functions +ALTER TABLE gis_point ENGINE Myisam; +# Check functions that use MBR, with line type data +SELECT ST_AsText(p1) FROM gis_point WHERE MBRIntersects(p1, @ls1); +ST_AsText(p1) +POINT(1 2) +POINT(2 4) +POINT(3 6) +POINT(4 8) +POINT(5 10) +POINT(6 12) +POINT(7 14) +POINT(8 16) +POINT(9 18) +SELECT ST_AsText(p1) FROM gis_point WHERE MBRWithin(p1, @ls1); +ST_AsText(p1) +POINT(1 2) +POINT(2 4) +POINT(3 6) +POINT(4 8) +POINT(5 10) +POINT(6 12) +POINT(7 14) +POINT(8 16) +POINT(9 18) +SELECT ST_AsText(p1) FROM gis_point WHERE ST_Touches(p1, @ls1); +ST_AsText(p1) +SELECT ST_AsText(p1) FROM gis_point WHERE MBRDisjoint(p1, @ls1); +ST_AsText(p1) +POINT(10 21) +POINT(20.5 41) +POINT(26.25 57) +POINT(32.1234 64.2468) +# No matching records +SELECT ST_AsText(p1) FROM gis_point WHERE MBREquals(p1, @ls1); +ST_AsText(p1) +SELECT ST_AsText(p1) FROM gis_point WHERE MBRContains(p1, @ls1); +ST_AsText(p1) +SELECT ST_AsText(p1) FROM gis_point WHERE MBROverlaps(p1, @ls3); +ST_AsText(p1) +SELECT ST_AsText(p1) FROM gis_point WHERE ST_Crosses(p1, @ls1); +ST_AsText(p1) +# Check functions that use MBR, with polygon type data +SELECT ST_AsText(p1) FROM gis_point WHERE MBRIntersects(p1, @poly1); +ST_AsText(p1) +POINT(2 4) +POINT(3 6) +POINT(4 8) +POINT(5 10) +SELECT ST_AsText(p1) FROM gis_point WHERE MBRWithin(p1, @poly1); +ST_AsText(p1) +POINT(3 6) +POINT(4 8) +SELECT ST_AsText(p1) FROM gis_point WHERE ST_Touches(p1, @poly1); +ST_AsText(p1) +POINT(2 4) +POINT(5 10) +SELECT ST_AsText(p1) FROM gis_point WHERE ST_Crosses(p1, @poly1); +ST_AsText(p1) +SELECT ST_AsText(p1) FROM gis_point WHERE MBRDisjoint(p1, @poly1); +ST_AsText(p1) +POINT(1 2) +POINT(6 12) +POINT(7 14) +POINT(8 16) +POINT(9 18) +POINT(10 21) +POINT(20.5 41) +POINT(26.25 57) +POINT(32.1234 64.2468) +# No matching records +SELECT ST_AsText(p1) FROM gis_point WHERE MBREquals(p1, @poly1); +ST_AsText(p1) +SELECT ST_AsText(p1) FROM gis_point WHERE MBRContains(p1, @poly1); +ST_AsText(p1) +SELECT ST_AsText(p1) FROM gis_point WHERE MBROverlaps(p1, @poly1); +ST_AsText(p1) +# Check functions that use MBR, with point type data +SELECT ST_AsText(p1) FROM gis_point WHERE MBRIntersects(p1, @p1); +ST_AsText(p1) +SELECT ST_AsText(p1) FROM gis_point WHERE MBRWithin(p1, @p1); +ST_AsText(p1) +SELECT ST_AsText(p1) FROM gis_point WHERE ST_Touches(p1, @p1); +ST_AsText(p1) +SELECT ST_AsText(p1) FROM gis_point WHERE MBREquals(p1, @p1); +ST_AsText(p1) +SELECT ST_AsText(p1) FROM gis_point WHERE MBRContains(p1, @p1); +ST_AsText(p1) +SELECT ST_AsText(p1) FROM gis_point WHERE MBRDisjoint(p1, @p1); +ST_AsText(p1) +POINT(1 2) +POINT(2 4) +POINT(3 6) +POINT(4 8) +POINT(5 10) +POINT(6 12) +POINT(7 14) +POINT(8 16) +POINT(9 18) +POINT(10 21) +POINT(20.5 41) +POINT(26.25 57) +POINT(32.1234 64.2468) +# No matching records +SELECT ST_AsText(p1) FROM gis_point WHERE MBROverlaps(p1, @p1); +ST_AsText(p1) +SELECT ST_AsText(p1) FROM gis_point WHERE ST_Crosses(p1, @p1); +ST_AsText(p1) +# Check with MBR functions point type data +SELECT ST_AsText(p1) FROM gis_point WHERE MBRIntersects(p1, @p1); +ST_AsText(p1) +SELECT ST_AsText(p1) FROM gis_point WHERE MBRWithin(p1, @p1); +ST_AsText(p1) +SELECT ST_AsText(p1) FROM gis_point WHERE ST_Touches(p1, @p1); +ST_AsText(p1) +SELECT ST_AsText(p1) FROM gis_point WHERE MBRContains(p1, @p1); +ST_AsText(p1) +SELECT ST_AsText(p1) FROM gis_point WHERE MBRDisjoint(p1, @p1); +ST_AsText(p1) +POINT(1 2) +POINT(2 4) +POINT(3 6) +POINT(4 8) +POINT(5 10) +POINT(6 12) +POINT(7 14) +POINT(8 16) +POINT(9 18) +POINT(10 21) +POINT(20.5 41) +POINT(26.25 57) +POINT(32.1234 64.2468) +SELECT ST_AsText(p1) FROM gis_point WHERE MBRequals(p1, @p1); +ST_AsText(p1) +# No matching records +SELECT ST_AsText(p1) FROM gis_point WHERE MBROverlaps(p1, @p1); +ST_AsText(p1) +# Check with MBR functions point polygon data +SELECT ST_AsText(p1) FROM gis_point WHERE MBRIntersects(p1, @p1); +ST_AsText(p1) +SELECT ST_AsText(p1) FROM gis_point WHERE MBRWithin(p1, @p1); +ST_AsText(p1) +SELECT ST_AsText(p1) FROM gis_point WHERE ST_Touches(p1, @p1); +ST_AsText(p1) +SELECT ST_AsText(p1) FROM gis_point WHERE MBRContains(p1, @p1); +ST_AsText(p1) +SELECT ST_AsText(p1) FROM gis_point WHERE MBRDisjoint(p1, @p1); +ST_AsText(p1) +POINT(1 2) +POINT(2 4) +POINT(3 6) +POINT(4 8) +POINT(5 10) +POINT(6 12) +POINT(7 14) +POINT(8 16) +POINT(9 18) +POINT(10 21) +POINT(20.5 41) +POINT(26.25 57) +POINT(32.1234 64.2468) +SELECT ST_AsText(p1) FROM gis_point WHERE MBRequals(p1, @p1); +ST_AsText(p1) +# No matching records +SELECT ST_AsText(p1) FROM gis_point WHERE MBROverlaps(p1, @p1); +ST_AsText(p1) +# Check with MBR functions polygon type data +SELECT ST_AsText(p1) FROM gis_point WHERE MBRIntersects(p1, @poly1); +ST_AsText(p1) +POINT(2 4) +POINT(3 6) +POINT(4 8) +POINT(5 10) +SELECT ST_AsText(p1) FROM gis_point WHERE MBRWithin(p1, @poly1); +ST_AsText(p1) +POINT(3 6) +POINT(4 8) +SELECT ST_AsText(p1) FROM gis_point WHERE ST_Touches(p1, @poly1); +ST_AsText(p1) +POINT(2 4) +POINT(5 10) +SELECT ST_AsText(p1) FROM gis_point WHERE MBRDisjoint(p1, @poly1); +ST_AsText(p1) +POINT(1 2) +POINT(6 12) +POINT(7 14) +POINT(8 16) +POINT(9 18) +POINT(10 21) +POINT(20.5 41) +POINT(26.25 57) +POINT(32.1234 64.2468) +# No matching records +SELECT ST_AsText(p1) FROM gis_point WHERE MBROverlaps(p1, @poly1); +ST_AsText(p1) +SELECT ST_AsText(p1) FROM gis_point WHERE MBRContains(p1, @poly1); +ST_AsText(p1) +SELECT ST_AsText(p1) FROM gis_point WHERE MBRequals(p1, @poly1); +ST_AsText(p1) +# Check with MBR functions line type data +SELECT ST_AsText(p1) FROM gis_point WHERE MBRIntersects(p1, @ls1); +ST_AsText(p1) +POINT(1 2) +POINT(2 4) +POINT(3 6) +POINT(4 8) +POINT(5 10) +POINT(6 12) +POINT(7 14) +POINT(8 16) +POINT(9 18) +SELECT ST_AsText(p1) FROM gis_point WHERE MBRWithin(p1, @ls1); +ST_AsText(p1) +POINT(1 2) +POINT(2 4) +POINT(3 6) +POINT(4 8) +POINT(5 10) +POINT(6 12) +POINT(7 14) +POINT(8 16) +POINT(9 18) +SELECT ST_AsText(p1) FROM gis_point WHERE ST_Touches(p1, @ls1); +ST_AsText(p1) +SELECT ST_AsText(p1) FROM gis_point WHERE MBRDisjoint(p1, @ls1); +ST_AsText(p1) +POINT(10 21) +POINT(20.5 41) +POINT(26.25 57) +POINT(32.1234 64.2468) +SELECT ST_AsText(p1) FROM gis_point WHERE MBRequals(p1, @ls1); +ST_AsText(p1) +# No matching records +SELECT ST_AsText(p1) FROM gis_point WHERE MBROverlaps(p1, @ls1); +ST_AsText(p1) +SELECT ST_AsText(p1) FROM gis_point WHERE MBRContains(p1, @ls1); +ST_AsText(p1) +# Modify the storage engine to InnoDB again, do following testing +ALTER TABLE gis_point ENGINE InnoDB; +CHECK TABLE gis_point; +Table Op Msg_type Msg_text +test.gis_point check status OK +The ORDER BY for spatial index will use filesort +EXPLAIN SELECT ST_AsText(p1), ST_AsText(p2) FROM gis_point ORDER BY p1, p2; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE gis_point ALL NULL NULL NULL NULL # Using filesort +SELECT ST_AsText(p1), ST_AsText(p2) FROM gis_point ORDER BY p1, p2; +ST_AsText(p1) ST_AsText(p2) +POINT(2 4) POINT(-2 -6) +POINT(3 6) POINT(-3 -9) +POINT(4 8) POINT(-4 -12) +POINT(5 10) POINT(-5 -15) +POINT(6 12) POINT(-6 -18) +POINT(7 14) POINT(-7 -21) +POINT(8 16) POINT(0 0) +POINT(9 18) POINT(-4 2) +POINT(10 21) POINT(-6 3) +POINT(1 2) POINT(-1 -3) +POINT(26.25 57) POINT(1 2) +POINT(20.5 41) POINT(-8 4) +POINT(32.1234 64.2468) POINT(-1 -1) +Try to do IDU on the table and verify the result +DELETE FROM gis_point WHERE ST_Equals(p2, ST_PointFromText('POINT(-8 4)')); +INSERT INTO gis_point VALUES(ST_PointFromText('POINT(20.5 -41)'), ST_PointFromText('POINT(8 -4)')); +SELECT ST_AsText(p1) AS 'Expect (32.1234 64.2468)' FROM gis_point WHERE ST_Touches(@poly3, p1) AND MBRWithin(p2, @poly4); +Expect (32.1234 64.2468) +POINT(32.1234 64.2468) +UPDATE gis_point SET p1 = ST_PointFromText('POINT(20.5 41)'), p2 = ST_PointFromText('POINT(-8 4)') WHERE ST_Intersection(@ls3, @ls4) = p1; +SELECT ST_AsText(p1) AS 'Expect (32.1234 64.2468) AND (20.5 41)' FROM gis_point WHERE ST_Touches(@poly3, p1) AND MBRWithin(p2, @poly4); +Expect (32.1234 64.2468) AND (20.5 41) +POINT(32.1234 64.2468) +POINT(20.5 41) +CHECK TABLE gis_point; +Table Op Msg_type Msg_text +test.gis_point check status OK +Use a trx to test the IDU on the table and verify the result +START TRANSACTION; +DELETE FROM gis_point WHERE ST_Equals(p2, ST_PointFromText('POINT(-8 4)')); +INSERT INTO gis_point VALUES(ST_PointFromText('POINT(20.5 -41)'), ST_PointFromText('POINT(8 -4)')); +SELECT ST_AsText(p1) AS 'Expect (32.1234 64.2468)' FROM gis_point WHERE ST_Touches(@poly3, p1) AND MBRWithin(p2, @poly4); +Expect (32.1234 64.2468) +POINT(32.1234 64.2468) +UPDATE gis_point SET p1 = ST_PointFromText('POINT(20.5 49)'), p2 = ST_PointFromText('POINT(-8 4)') WHERE ST_Intersection(@ls3, @ls4) = p1; +SELECT ST_AsText(p1) AS 'Expect (32.1234 64.2468) AND (20.5 49)' FROM gis_point WHERE ST_Touches(@poly3, p1) AND MBRWithin(p2, @poly4); +Expect (32.1234 64.2468) AND (20.5 49) +POINT(32.1234 64.2468) +POINT(20.5 49) +ROLLBACK; +SELECT ST_AsText(p1) AS 'Expect (32.1234 64.2468) AND (20.5 41)' FROM gis_point WHERE ST_Touches(@poly3, p1) AND MBRWithin(p2, @poly4); +Expect (32.1234 64.2468) AND (20.5 41) +POINT(32.1234 64.2468) +POINT(20.5 41) +CHECK TABLE gis_point; +Table Op Msg_type Msg_text +test.gis_point check status OK +DROP TABLE gis_point; +# +# Test inserting/updating different type data into POINT field +# +CREATE TABLE gis_point (i INT, p POINT) ENGINE=InnoDB; +CREATE TABLE geom (i INT, g GEOMETRY NOT NULL, SPATIAL KEY(g)) ENGINE=InnoDB; +INSERT INTO gis_point VALUES(0, ST_PointFromText('POINT(1 1)')); +INSERT INTO gis_point VALUES(1, ST_PointFromText('POINT(2 2)')); +INSERT INTO gis_point VALUES(2, NULL); +ALTER TABLE gis_point ADD COLUMN j INT, ALGORITHM = COPY; +SELECT t.name, c.name, c.mtype, c.prtype, c.len +FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS c +JOIN INFORMATION_SCHEMA.INNODB_SYS_TABLES t +ON c.table_id = t.table_id +WHERE t.name='test/gis_point' AND c.name='p'; +name name mtype prtype len +test/gis_point p 14 1279 12 +SELECT i, ST_AsText(p) FROM gis_point; +i ST_AsText(p) +0 POINT(1 1) +1 POINT(2 2) +2 NULL +UPDATE gis_point SET p = NULL WHERE p = ST_PointFromText('POINT(1 1)'); +UPDATE gis_point SET p = ST_PointFromText('POINT(1 2)') WHERE p = ST_PointFromText('POINT(2 2)'); +UPDATE gis_point SET p = ST_PointFromText('POINT(1 1)') WHERE p IS NULL; +SELECT i, ST_AsText(p) FROM gis_point; +i ST_AsText(p) +0 POINT(1 1) +1 POINT(1 2) +2 POINT(1 1) +INSERT INTO geom VALUES(0, ST_PointFromText('POINT(0 0)')); +INSERT INTO geom VALUES(1, ST_PointFromText('POINT(10 10)')); +INSERT INTO geom VALUES(2, ST_GeomFromText('POLYGON((7 1,6 2,6 3,10 3,10 1,7 1))')); +SELECT ST_AsText(g) FROM geom; +ST_AsText(g) +POINT(0 0) +POINT(10 10) +POLYGON((7 1,6 2,6 3,10 3,10 1,7 1)) +SELECT ST_AsText(p) FROM gis_point; +ST_AsText(p) +POINT(1 1) +POINT(1 2) +POINT(1 1) +DELETE FROM geom WHERE g = ST_GeomFromText('POLYGON((7 1,6 2,6 3,10 3,10 1,7 1))'); +From GEOMETRY to POINT, now ALL the data are POINT +ALTER TABLE geom MODIFY g POINT NOT NULL; +SHOW CREATE TABLE geom; +Table Create Table +geom CREATE TABLE `geom` ( + `i` int(11) DEFAULT NULL, + `g` point NOT NULL, + SPATIAL KEY `g` (`g`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci +SELECT ST_AsText(g) FROM geom; +ST_AsText(g) +POINT(0 0) +POINT(10 10) +From POINT to GEOMETRY, all data are POINT +ALTER TABLE geom MODIFY g GEOMETRY NOT NULL; +SHOW CREATE TABLE geom; +Table Create Table +geom CREATE TABLE `geom` ( + `i` int(11) DEFAULT NULL, + `g` geometry NOT NULL, + SPATIAL KEY `g` (`g`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci +TRUNCATE TABLE geom; +From GEOMETRY to POINT, the table is empty +ALTER TABLE geom MODIFY g POINT NOT NULL; +SHOW CREATE TABLE geom; +Table Create Table +geom CREATE TABLE `geom` ( + `i` int(11) DEFAULT NULL, + `g` point NOT NULL, + SPATIAL KEY `g` (`g`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci +SELECT ST_AsText(g) FROM geom; +ST_AsText(g) +CHECK TABLE gis_point; +Table Op Msg_type Msg_text +test.gis_point check status OK +CHECK TABLE geom; +Table Op Msg_type Msg_text +test.geom check status OK +DROP TABLE gis_point, geom; +# +# Test when a geom field, such as POINT, is also a primary key +# +CREATE TABLE t1 ( +a INT NOT NULL, +p POINT NOT NULL, +l LINESTRING NOT NULL, +g GEOMETRY NOT NULL, +PRIMARY KEY(p), +SPATIAL KEY `idx2` (p), +SPATIAL KEY `idx3` (l), +SPATIAL KEY `idx4` (g) +) ENGINE=InnoDB; +INSERT INTO t1 VALUES( +1, ST_GeomFromText('POINT(10 10)'), +ST_GeomFromText('LINESTRING(1 1, 5 5, 10 10)'), +ST_GeomFromText('POLYGON((30 30, 40 40, 50 50, 30 50, 30 40, 30 30))')); +INSERT INTO t1 VALUES( +2, ST_GeomFromText('POINT(20 20)'), +ST_GeomFromText('LINESTRING(2 3, 7 8, 9 10, 15 16)'), +ST_GeomFromText('POLYGON((10 30, 30 40, 40 50, 40 30, 30 20, 10 30))')); +SELECT a, ST_AsText(p), ST_AsText(l), ST_AsText(g) FROM t1; +a ST_AsText(p) ST_AsText(l) ST_AsText(g) +1 POINT(10 10) LINESTRING(1 1,5 5,10 10) POLYGON((30 30,40 40,50 50,30 50,30 40,30 30)) +2 POINT(20 20) LINESTRING(2 3,7 8,9 10,15 16) POLYGON((10 30,30 40,40 50,40 30,30 20,10 30)) +EXPLAIN UPDATE t1 SET p = ST_GeomFromText('POINT(30 30)') WHERE p = ST_GeomFromText('POINT(20 20)'); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 range PRIMARY PRIMARY 27 NULL # Using where +UPDATE t1 SET p = ST_GeomFromText('POINT(30 30)') WHERE p = ST_GeomFromText('POINT(20 20)'); +SELECT a, ST_AsText(p), ST_AsText(l), ST_AsText(g) FROM t1; +a ST_AsText(p) ST_AsText(l) ST_AsText(g) +1 POINT(10 10) LINESTRING(1 1,5 5,10 10) POLYGON((30 30,40 40,50 50,30 50,30 40,30 30)) +2 POINT(30 30) LINESTRING(2 3,7 8,9 10,15 16) POLYGON((10 30,30 40,40 50,40 30,30 20,10 30)) +ALTER TABLE t1 DROP PRIMARY KEY; +ALTER TABLE t1 ADD PRIMARY KEY(a); +SELECT a, ST_AsText(p), ST_AsText(l), ST_AsText(g) FROM t1; +a ST_AsText(p) ST_AsText(l) ST_AsText(g) +1 POINT(10 10) LINESTRING(1 1,5 5,10 10) POLYGON((30 30,40 40,50 50,30 50,30 40,30 30)) +2 POINT(30 30) LINESTRING(2 3,7 8,9 10,15 16) POLYGON((10 30,30 40,40 50,40 30,30 20,10 30)) +ALTER TABLE t1 DROP PRIMARY KEY; +ALTER TABLE t1 ADD PRIMARY KEY(p); +SELECT a, ST_AsText(p), ST_AsText(l), ST_AsText(g) FROM t1; +a ST_AsText(p) ST_AsText(l) ST_AsText(g) +1 POINT(10 10) LINESTRING(1 1,5 5,10 10) POLYGON((30 30,40 40,50 50,30 50,30 40,30 30)) +2 POINT(30 30) LINESTRING(2 3,7 8,9 10,15 16) POLYGON((10 30,30 40,40 50,40 30,30 20,10 30)) +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) NOT NULL, + `p` point NOT NULL, + `l` linestring NOT NULL, + `g` geometry NOT NULL, + PRIMARY KEY (`p`(25)), + SPATIAL KEY `idx2` (`p`), + SPATIAL KEY `idx3` (`l`), + SPATIAL KEY `idx4` (`g`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci +SELECT a, ST_AsText(p), ST_AsText(l), ST_AsText(g) FROM t1; +a ST_AsText(p) ST_AsText(l) ST_AsText(g) +1 POINT(10 10) LINESTRING(1 1,5 5,10 10) POLYGON((30 30,40 40,50 50,30 50,30 40,30 30)) +2 POINT(30 30) LINESTRING(2 3,7 8,9 10,15 16) POLYGON((10 30,30 40,40 50,40 30,30 20,10 30)) +ALTER TABLE t1 DROP PRIMARY KEY; +ALTER TABLE t1 ADD PRIMARY KEY(p); +EXPLAIN SELECT a, ST_AsText(p) FROM t1 WHERE a = 2 AND p = ST_GeomFromText('POINT(30 30)'); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 const PRIMARY,idx2 PRIMARY 27 const # +SELECT a, ST_AsText(p) FROM t1 WHERE a = 2 AND p = ST_GeomFromText('POINT(30 30)'); +a ST_AsText(p) +2 POINT(30 30) +SELECT a, ST_AsText(p), ST_AsText(l), ST_AsText(g) FROM t1; +a ST_AsText(p) ST_AsText(l) ST_AsText(g) +1 POINT(10 10) LINESTRING(1 1,5 5,10 10) POLYGON((30 30,40 40,50 50,30 50,30 40,30 30)) +2 POINT(30 30) LINESTRING(2 3,7 8,9 10,15 16) POLYGON((10 30,30 40,40 50,40 30,30 20,10 30)) +CHECK TABLE t1; +Table Op Msg_type Msg_text +test.t1 check status OK +DROP TABLE t1; +# +# Test for foreign keys. +# +CREATE TABLE parent(p POINT, PRIMARY KEY(p)) ENGINE=InnoDB; +CREATE TABLE child(p POINT NOT NULL) ENGINE=InnoDB; +ALTER TABLE parent ADD SPATIAL INDEX idx1(p ASC); +ALTER TABLE child ADD SPATIAL INDEX idx2(p ASC); +SHOW CREATE TABLE parent; +Table Create Table +parent CREATE TABLE `parent` ( + `p` point NOT NULL, + PRIMARY KEY (`p`(25)), + SPATIAL KEY `idx1` (`p`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci +SHOW CREATE TABLE child; +Table Create Table +child CREATE TABLE `child` ( + `p` point NOT NULL, + SPATIAL KEY `idx2` (`p`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci +ALTER TABLE child ADD FOREIGN KEY(p) REFERENCES parent(p); +ERROR HY000: Can't create table `test`.`child` (errno: 150 "Foreign key constraint is incorrectly formed") +show warnings; +Level Code Message +Warning 150 Alter table `test`.`child` with foreign key (p) constraint failed. There is no index in the referenced table where the referenced columns appear as the first columns. +Error 1005 Can't create table `test`.`child` (errno: 150 "Foreign key constraint is incorrectly formed") +Warning 1215 Cannot add foreign key constraint for `child` +ALTER TABLE parent DROP INDEX idx1; +ALTER TABLE child ADD FOREIGN KEY(p) REFERENCES parent(p); +Got one of the listed errors +show warnings; +Level Code Message +Warning 150 Alter table `test`.`child` with foreign key (p) constraint failed. There is no index in the referenced table where the referenced columns appear as the first columns. +Error 1005 Can't create table `test`.`child` (errno: 150 "Foreign key constraint is incorrectly formed") +Warning 1215 Cannot add foreign key constraint for `child` +ALTER TABLE child DROP INDEX idx2; +ALTER TABLE child ADD FOREIGN KEY(p) REFERENCES parent(p); +Got one of the listed errors +show warnings; +Level Code Message +Warning 150 Alter table `test`.`child` with foreign key (p) constraint failed. There is only prefix index in the referenced table where the referenced columns appear as the first columns. +Error 1005 Can't create table `test`.`child` (errno: 150 "Foreign key constraint is incorrectly formed") +Warning 1215 Cannot add foreign key constraint for `child` +DROP TABLE child, parent; +# +# Bug#28763: Selecting geometry fields in UNION caused server crash. +# +CREATE TABLE t1(f1 GEOMETRY, f2 POINT, f3 GEOMETRY) ENGINE=InnoDB; +SELECT f1 FROM t1 UNION SELECT f1 FROM t1; +f1 +INSERT INTO t1 (f2,f3) VALUES (ST_GeomFromText('POINT(1 1)'), +ST_GeomFromText('POINT(2 2)')); +SELECT ST_AsText(f2),ST_AsText(f3) FROM t1; +ST_AsText(f2) ST_AsText(f3) +POINT(1 1) POINT(2 2) +SELECT ST_AsText(a) FROM (SELECT f2 AS a FROM t1 UNION SELECT f3 FROM t1) t; +ST_AsText(a) +POINT(1 1) +POINT(2 2) +CREATE TABLE t2 AS SELECT f2 AS a FROM t1 UNION SELECT f3 FROM t1; +DESC t2; +Field Type Null Key Default Extra +a geometry YES NULL +SELECT ST_AsText(a) FROM t2; +ST_AsText(a) +POINT(1 1) +POINT(2 2) +DROP TABLE t1, t2; diff --git a/mysql-test/suite/innodb_gis/r/point_big.result b/mysql-test/suite/innodb_gis/r/point_big.result new file mode 100644 index 00000000..7248c55b --- /dev/null +++ b/mysql-test/suite/innodb_gis/r/point_big.result @@ -0,0 +1,559 @@ +# +# Test when the POINT is on B-TREE +# +CREATE TABLE t1(fid INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT, p POINT, KEY(p)) ENGINE=InnoDB; +INSERT INTO t1 VALUES +(101, ST_PointFromText('POINT(10 10)')), +(102, ST_PointFromText('POINT(20 10)')), +(103, ST_PointFromText('POINT(20 20)')), +(104, ST_PointFromWKB(ST_AsWKB(ST_PointFromText('POINT(10 20)')))); +SELECT ST_AsText(p) FROM t1; +ST_AsText(p) +POINT(10 10) +POINT(20 10) +POINT(20 20) +POINT(10 20) +SELECT ST_AsText(p) FROM t1 WHERE p = ST_PointFromText('POINT(20 20)'); +ST_AsText(p) +POINT(20 20) +INSERT INTO t1 VALUES +(201, ST_PointFromText('POINT(100.32374832 101.23741821)')), +(202, ST_PointFromText('POINT(102.43287328 100.23489233)')), +(203, ST_PointFromText('POINT(101.43284962 100.45892392)')), +(204, ST_PointFromWKB(ST_AsWKB(ST_PointFromText('POINT(103.43718640 105.248206478)')))), +(205, ST_PointFromText('POINT(101.43284962 100.45892392)')), +(206, ST_PointFromWKB(ST_AsWKB(ST_PointFromText('POINT(103.43718640 105.248206478)')))); +SELECT ST_AsText(p), COUNT(*) FROM t1 GROUP BY p; +ST_AsText(p) COUNT(*) +POINT(10 10) 1 +POINT(10 20) 1 +POINT(20 10) 1 +POINT(20 20) 1 +POINT(101.43284962 100.45892392) 2 +POINT(100.32374832 101.23741821) 1 +POINT(102.43287328 100.23489233) 1 +POINT(103.4371864 105.248206478) 2 +TRUNCATE t1; +SELECT * FROM t1; +fid p +INSERT INTO t1(p) VALUES(ST_PointFromText('POINT(10 10)')), +(ST_PointFromText('POINT(10 20)')), +(ST_PointFromText('POINT(10 40)')), +(ST_PointFromText('POINT(10 60)')), +(ST_PointFromText('POINT(20 15)')), +(ST_PointFromText('POINT(30 10)')), +(ST_PointFromText('POINT(40 10)')), +(ST_PointFromText('POINT(50 10)')), +(ST_PointFromText('POINT(60 5)')), +(ST_PointFromText('POINT(60 10)')), +(ST_PointFromText('POINT(60 20)')), +(ST_PointFromText('POINT(60 100)')), +(ST_PointFromText('POINT(100 100)')), +(ST_PointFromText('POINT(80 60)')), +(ST_PointFromText('POINT(81 50)')), +(ST_PointFromText('POINT(82 70)')), +(ST_PointFromText('POINT(83 30)')), +(ST_PointFromText('POINT(20 100)')), +(ST_PointFromText('POINT(150 2000)')), +(ST_PointFromText('POINT(109 230)')), +(ST_PointFromText('POINT(280 250)')), +(ST_PointFromText('POINT(176 175)')), +(ST_PointFromText('POINT(200 10)')), +(NULL), +(NULL); +SELECT ST_AsText(p) FROM t1; +ST_AsText(p) +POINT(10 10) +POINT(10 20) +POINT(10 40) +POINT(10 60) +POINT(20 15) +POINT(30 10) +POINT(40 10) +POINT(50 10) +POINT(60 5) +POINT(60 10) +POINT(60 20) +POINT(60 100) +POINT(100 100) +POINT(80 60) +POINT(81 50) +POINT(82 70) +POINT(83 30) +POINT(20 100) +POINT(150 2000) +POINT(109 230) +POINT(280 250) +POINT(176 175) +POINT(200 10) +NULL +NULL +SELECT COUNT(*) FROM t1; +COUNT(*) +25 +SELECT ST_AsText(p) FROM t1; +ST_AsText(p) +POINT(10 10) +POINT(10 20) +POINT(10 40) +POINT(10 60) +POINT(20 15) +POINT(30 10) +POINT(40 10) +POINT(50 10) +POINT(60 5) +POINT(60 10) +POINT(60 20) +POINT(60 100) +POINT(100 100) +POINT(80 60) +POINT(81 50) +POINT(82 70) +POINT(83 30) +POINT(20 100) +POINT(150 2000) +POINT(109 230) +POINT(280 250) +POINT(176 175) +POINT(200 10) +NULL +NULL +SELECT COUNT(*) FROM t1; +COUNT(*) +25 +INSERT INTO t1(p) SELECT p FROM t1; +INSERT INTO t1(p) SELECT p FROM t1; +INSERT INTO t1(p) SELECT p FROM t1; +INSERT INTO t1(p) SELECT p FROM t1; +INSERT INTO t1(p) SELECT p FROM t1; +INSERT INTO t1(p) SELECT p FROM t1; +INSERT INTO t1(p) SELECT p FROM t1; +INSERT INTO t1(p) SELECT p FROM t1; +INSERT INTO t1(p) SELECT p FROM t1; +INSERT INTO t1(p) SELECT p FROM t1; +INSERT INTO t1(p) SELECT p FROM t1; +INSERT INTO t1(p) SELECT p FROM t1; +CHECK TABLE t1; +Table Op Msg_type Msg_text +test.t1 check status OK +SELECT COUNT(*) FROM t1; +COUNT(*) +102400 +SELECT ST_AsText(p), COUNT(*) FROM t1 GROUP BY p; +ST_AsText(p) COUNT(*) +NULL 8192 +POINT(10 10) 4096 +POINT(10 20) 4096 +POINT(10 40) 4096 +POINT(10 60) 4096 +POINT(20 15) 4096 +POINT(20 100) 4096 +POINT(30 10) 4096 +POINT(40 10) 4096 +POINT(50 10) 4096 +POINT(60 5) 4096 +POINT(60 10) 4096 +POINT(60 20) 4096 +POINT(60 100) 4096 +POINT(80 60) 4096 +POINT(100 100) 4096 +POINT(176 175) 4096 +POINT(200 10) 4096 +POINT(81 50) 4096 +POINT(109 230) 4096 +POINT(82 70) 4096 +POINT(280 250) 4096 +POINT(83 30) 4096 +POINT(150 2000) 4096 +SELECT COUNT(*) FROM t1 WHERE p = ST_PointFromText('POINT(280 250)'); +COUNT(*) +4096 +DELETE FROM t1 WHERE p = ST_PointFromText('POINT(280 250)'); +SELECT COUNT(*) FROM t1 WHERE p = ST_PointFromText('POINT(280 250)'); +COUNT(*) +0 +SELECT COUNT(*) FROM t1 WHERE p = ST_PointFromText('POINT(60 5)'); +COUNT(*) +4096 +DELETE FROM t1 WHERE P = ST_PointFromText('POINT(60 5)'); +SELECT COUNT(*) FROM t1 WHERE p = ST_PointFromText('POINT(60 5)'); +COUNT(*) +0 +SELECT ST_AsText(p), COUNT(*) FROM t1 WHERE p = ST_PointFromText('POINT(60 10)') OR p = ST_PointFromText('POINT(60 20)') OR p = ST_PointFromText('POINT(60 30)') GROUP BY p; +ST_AsText(p) COUNT(*) +POINT(60 10) 4096 +POINT(60 20) 4096 +UPDATE t1 SET p = ST_PointFromText('POINT(101 102)') WHERE p = ST_PointFromText('POINT(60 10)') OR p = ST_PointFromText('POINT(60 20)') OR p = ST_PointFromText('POINT(60 30)'); +SELECT ST_AsText(p), COUNT(*) FROM t1 WHERE p = ST_PointFromText('POINT(60 10)') OR p = ST_PointFromText('POINT(60 20)') OR p = ST_PointFromText('POINT(60 30)') GROUP BY p; +ST_AsText(p) COUNT(*) +SELECT COUNT(*) FROM t1 WHERE p = ST_PointFromText('POINT(101 102)'); +COUNT(*) +8192 +SELECT COUNT(*) FROM t1 WHERE p IS NULL; +COUNT(*) +8192 +UPDATE t1 SET p = ST_PointFromText('POINT(160 160)') WHERE p IS NULL; +SELECT COUNT(*) FROM t1 WHERE p IS NULL; +COUNT(*) +0 +SELECT COUNT(*) FROM t1 WHERE p = ST_PointFromText('POINT(160 160)'); +COUNT(*) +8192 +SELECT ST_AsText(p), COUNT(*) FROM t1 GROUP BY p; +ST_AsText(p) COUNT(*) +POINT(10 10) 4096 +POINT(10 20) 4096 +POINT(10 40) 4096 +POINT(10 60) 4096 +POINT(20 15) 4096 +POINT(20 100) 4096 +POINT(30 10) 4096 +POINT(40 10) 4096 +POINT(50 10) 4096 +POINT(60 100) 4096 +POINT(80 60) 4096 +POINT(100 100) 4096 +POINT(160 160) 8192 +POINT(176 175) 4096 +POINT(200 10) 4096 +POINT(81 50) 4096 +POINT(101 102) 8192 +POINT(109 230) 4096 +POINT(82 70) 4096 +POINT(83 30) 4096 +POINT(150 2000) 4096 +SELECT COUNT(*) FROM t1; +COUNT(*) +94208 +CHECK TABLE t1; +Table Op Msg_type Msg_text +test.t1 check status OK +DROP TABLE t1; +# +# Test when POINT is used in spatial index +# +SET @ls1 = ST_GeomFromText('LINESTRING(0 20, 10 0)'); +SET @ls2 = ST_GeomFromText('LINESTRING(0 0, 10 20)'); +SET @ls3 = ST_GeomFromText('LINESTRING(20 -40, 21 -42)'); +SET @ls4 = ST_GeomFromText('LINESTRING(20 -42, 21 -40)'); +SET @poly1 = ST_GeomFromText('POLYGON((2 2, 2 10, 10 10, 10 2, 2 2))'); +SET @poly2 = ST_GeomFromText('POLYGON((0 0, -5 0, -4 -1, -6 -15, -3 -15, 0 0))'); +SET @poly3 = ST_GeomFromText('POLYGON((10.0 10.0, 20.5 20, 20.5 50, 32.0 64.0, 32.3 64.6, 5 60, 10 10))'); +SET @poly4 = ST_GeomFromText('POLYGON((0 10, -10 10, -10 -10, 0 -10, 0 10))'); +SET @p1 = ST_PointFromText('POINT(0 0)'); +SET @mpoly = ST_GeomFromText('MULTIPOLYGON(((3 3, 3 16, 16 16, 16 3, 3 3)), ((10 10, 10 50, 50 50, 50 10, 10 10)))'); +CREATE TABLE gis_point (p1 POINT NOT NULL, p2 POINT NOT NULL, SPATIAL KEY k1 (p1), SPATIAL KEY k2 (p2)) ENGINE=InnoDB; +INSERT INTO gis_point VALUES +(ST_PointFromText('POINT(1 2)'), ST_PointFromText('POINT(-1 -3)')), +(ST_PointFromText('POINT(2 4)'), ST_PointFromText('POINT(-2 -6)')), +(ST_PointFromText('POINT(3 6)'), ST_PointFromText('POINT(-3 -9)')), +(ST_PointFromText('POINT(4 8)'), ST_PointFromText('POINT(-4 -12)')), +(ST_PointFromText('POINT(5 10)'), ST_PointFromText('POINT(-5 -15)')), +(ST_PointFromText('POINT(6 12)'), ST_PointFromText('POINT(-6 -18)')), +(ST_PointFromText('POINT(7 14)'), ST_PointFromText('POINT(-7 -21)')), +(ST_PointFromText('POINT(8 16)'), ST_PointFromText('POINT(0 0)')), +(ST_PointFromText('POINT(9 18)'), ST_PointFromText('POINT(-4 2)')), +(ST_PointFromText('POINT(10 21)'), ST_PointFromText('POINT(-6 3)')), +(ST_PointFromText('POINT(20.5 41)'), ST_PointFromText('POINT(-8 4)')), +(ST_PointFromText('POINT(26.25 57)'), ST_PointFromText('POINT(1 2)')), +(ST_PointFromText('POINT(32.1234 64.2468)'), ST_PointFromText('POINT(-1 -1)')); +'The ORDER BY for spatial index will use filesort' +EXPLAIN SELECT ST_AsText(p1), ST_AsText(p2) FROM gis_point ORDER BY p1, p2; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE gis_point ALL NULL NULL NULL NULL # Using filesort +SELECT ST_AsText(p1), ST_AsText(p2) FROM gis_point ORDER BY p1, p2; +ST_AsText(p1) ST_AsText(p2) +POINT(2 4) POINT(-2 -6) +POINT(3 6) POINT(-3 -9) +POINT(4 8) POINT(-4 -12) +POINT(5 10) POINT(-5 -15) +POINT(6 12) POINT(-6 -18) +POINT(7 14) POINT(-7 -21) +POINT(8 16) POINT(0 0) +POINT(9 18) POINT(-4 2) +POINT(10 21) POINT(-6 3) +POINT(1 2) POINT(-1 -3) +POINT(26.25 57) POINT(1 2) +POINT(20.5 41) POINT(-8 4) +POINT(32.1234 64.2468) POINT(-1 -1) +'Try to do IDU on the table and verify the result' +DELETE FROM gis_point WHERE ST_Equals(p2, ST_PointFromText('POINT(-8 4)')); +INSERT INTO gis_point VALUES(ST_PointFromText('POINT(20.5 -41)'), ST_PointFromText('POINT(8 -4)')); +SELECT ST_AsText(p1) AS 'Expect (32.1234 64.2468)' FROM gis_point WHERE ST_TOUCHES(@poly3, p1) AND MBRWithin(p2, @poly4); +Expect (32.1234 64.2468) +POINT(32.1234 64.2468) +UPDATE gis_point SET p1 = ST_PointFromText('POINT(20.5 41)'), p2 = ST_PointFromText('POINT(-8 4)') WHERE ST_Intersection(@ls3, @ls4) = p1; +SELECT ST_AsText(p1) AS 'Expect (32.1234 64.2468) AND (20.5 41)' FROM gis_point WHERE ST_TOUCHES(@poly3, p1) AND MBRWithin(p2, @poly4); +Expect (32.1234 64.2468) AND (20.5 41) +POINT(32.1234 64.2468) +POINT(20.5 41) +CHECK TABLE gis_point; +Table Op Msg_type Msg_text +test.gis_point check status OK +============================================================ +Use a trx to test the IDU on the table and verify the result +============================================================ +START TRANSACTION; +DELETE FROM gis_point WHERE ST_Equals(p2, ST_PointFromText('POINT(-8 4)')); +INSERT INTO gis_point VALUES(ST_PointFromText('POINT(20.5 -41)'), ST_PointFromText('POINT(8 -4)')); +SELECT ST_AsText(p1) AS 'Expect (32.1234 64.2468)' FROM gis_point WHERE ST_TOUCHES(@poly3, p1) AND MBRWithin(p2, @poly4); +Expect (32.1234 64.2468) +POINT(32.1234 64.2468) +UPDATE gis_point SET p1 = ST_PointFromText('POINT(20.5 49)'), p2 = ST_PointFromText('POINT(-8 4)') WHERE ST_Intersection(@ls3, @ls4) = p1; +SELECT ST_AsText(p1) AS 'Expect (32.1234 64.2468) AND (20.5 49)' FROM gis_point WHERE ST_TOUCHES(@poly3, p1) AND MBRWithin(p2, @poly4); +Expect (32.1234 64.2468) AND (20.5 49) +POINT(32.1234 64.2468) +POINT(20.5 49) +ROLLBACK; +SELECT ST_AsText(p1) AS 'Expect (32.1234 64.2468) AND (20.5 41)' FROM gis_point WHERE ST_TOUCHES(@poly3, p1) AND MBRWithin(p2, @poly4); +Expect (32.1234 64.2468) AND (20.5 41) +POINT(32.1234 64.2468) +POINT(20.5 41) +CHECK TABLE gis_point; +Table Op Msg_type Msg_text +test.gis_point check status OK +======================================================= +Enlarge the table by inserting the same data and verify +======================================================= +INSERT INTO gis_point SELECT * FROM gis_point; +INSERT INTO gis_point SELECT * FROM gis_point; +INSERT INTO gis_point SELECT * FROM gis_point; +INSERT INTO gis_point SELECT * FROM gis_point; +INSERT INTO gis_point SELECT * FROM gis_point; +INSERT INTO gis_point SELECT * FROM gis_point; +INSERT INTO gis_point SELECT * FROM gis_point; +INSERT INTO gis_point SELECT * FROM gis_point; +INSERT INTO gis_point SELECT * FROM gis_point; +INSERT INTO gis_point SELECT * FROM gis_point; +CHECK TABLE gis_point; +Table Op Msg_type Msg_text +test.gis_point check status OK +SELECT COUNT(*), ST_AsText(p1), ST_AsText(p2) FROM gis_point GROUP BY p1, p2; +COUNT(*) ST_AsText(p1) ST_AsText(p2) +1024 POINT(2 4) POINT(-2 -6) +1024 POINT(3 6) POINT(-3 -9) +1024 POINT(4 8) POINT(-4 -12) +1024 POINT(5 10) POINT(-5 -15) +1024 POINT(6 12) POINT(-6 -18) +1024 POINT(7 14) POINT(-7 -21) +1024 POINT(8 16) POINT(0 0) +1024 POINT(9 18) POINT(-4 2) +1024 POINT(10 21) POINT(-6 3) +1024 POINT(1 2) POINT(-1 -3) +1024 POINT(26.25 57) POINT(1 2) +1024 POINT(20.5 41) POINT(-8 4) +1024 POINT(32.1234 64.2468) POINT(-1 -1) +SELECT COUNT(*), ST_AsText(p1) FROM gis_point WHERE ST_Intersection(@ls1, @ls2) = p1 GROUP BY p1; +COUNT(*) ST_AsText(p1) +1024 POINT(5 10) +SELECT COUNT(*), ST_AsText(p1) FROM gis_point WHERE MBRWithin(p1, @poly1) GROUP BY p1; +COUNT(*) ST_AsText(p1) +1024 POINT(3 6) +1024 POINT(4 8) +SELECT COUNT(*), ST_AsText(p2) FROM gis_point WHERE ST_Contains(@poly2, p2) GROUP BY p2; +COUNT(*) ST_AsText(p2) +1024 POINT(0 0) +1024 POINT(-2 -6) +1024 POINT(-3 -9) +1024 POINT(-4 -12) +1024 POINT(-5 -15) +1024 POINT(-1 -3) +1024 POINT(-1 -1) +SELECT COUNT(*), ST_AsText(p2) FROM gis_point WHERE ST_Equals(p2, @p1) GROUP BY p2; +COUNT(*) ST_AsText(p2) +1024 POINT(0 0) +SELECT COUNT(*), ST_AsText(p1) FROM gis_point WHERE ST_TOUCHES(@poly3, p1) AND MBRWithin(p2, @poly4) GROUP BY p1; +COUNT(*) ST_AsText(p1) +1024 POINT(20.5 41) +1024 POINT(32.1234 64.2468) +SELECT COUNT(*), ST_AsText(p1), ST_AsText(p2) FROM gis_point WHERE ST_Contains(@mpoly, p1) GROUP BY p1, p2; +COUNT(*) ST_AsText(p1) ST_AsText(p2) +1024 POINT(3 6) POINT(-3 -9) +1024 POINT(4 8) POINT(-4 -12) +1024 POINT(5 10) POINT(-5 -15) +1024 POINT(6 12) POINT(-6 -18) +1024 POINT(7 14) POINT(-7 -21) +1024 POINT(8 16) POINT(0 0) +1024 POINT(10 21) POINT(-6 3) +1024 POINT(20.5 41) POINT(-8 4) +SELECT COUNT(*), ST_AsText(p1), ST_AsText(p2) FROM gis_point WHERE ST_Contains(@mpoly, p1) AND NOT MBRWithin(p1, @mpoly) GROUP BY p1, p2; +COUNT(*) ST_AsText(p1) ST_AsText(p2) +1024 POINT(3 6) POINT(-3 -9) +====================================================================== +Build another new table with the same schema, will insert data from this table to the orignal one +====================================================================== +CREATE TABLE p(p1 POINT NOT NULL, p2 POINT NOT NULL, SPATIAL INDEX k1(p2)) ENGINE=InnoDB; +INSERT INTO p VALUES(ST_PointFromText('POINT(1000 -1000)'), ST_PointFromText('POINT(-201 203.56)')); +INSERT INTO p VALUES(ST_PointFromText('POINT(20.5 43.9832)'), ST_PointFromText('POINT(-0 0)')); +INSERT INTO p VALUES(ST_PointFromText('POINT(-4.2 -6.98)'), ST_PointFromText('POINT(-120.5 343.9832)')); +INSERT INTO p SELECT * FROM p WHERE MBRWithin(p1, ST_GeomFromText('POLYGON((0 0, 0 2000, 2000 2000, 2000 -2000, 0 -2000, 0 0))')); +INSERT INTO p SELECT * FROM p WHERE MBRWithin(p1, ST_GeomFromText('POLYGON((0 0, -10 0, -100 -100, 0 -50, 0 0))')); +SELECT COUNT(*), ST_AsText(p1), ST_AsText(p2) FROM p GROUP BY p1, p2; +COUNT(*) ST_AsText(p1) ST_AsText(p2) +2 POINT(1000 -1000) POINT(-201 203.56) +2 POINT(20.5 43.9832) POINT(-0 0) +2 POINT(-4.2 -6.98) POINT(-120.5 343.9832) +INSERT INTO gis_point SELECT * FROM p; +INSERT INTO gis_point SELECT * FROM p; +INSERT INTO gis_point SELECT * FROM p; +INSERT INTO gis_point SELECT * FROM p; +INSERT INTO gis_point SELECT * FROM p; +INSERT INTO gis_point SELECT * FROM p; +INSERT INTO gis_point SELECT * FROM p; +CHECK TABLE gis_point; +Table Op Msg_type Msg_text +test.gis_point check status OK +SELECT COUNT(*), ST_AsText(p1), ST_AsText(p2) FROM gis_point GROUP BY p1, p2; +COUNT(*) ST_AsText(p1) ST_AsText(p2) +1024 POINT(2 4) POINT(-2 -6) +1024 POINT(3 6) POINT(-3 -9) +1024 POINT(4 8) POINT(-4 -12) +1024 POINT(5 10) POINT(-5 -15) +1024 POINT(6 12) POINT(-6 -18) +1024 POINT(7 14) POINT(-7 -21) +1024 POINT(8 16) POINT(0 0) +1024 POINT(9 18) POINT(-4 2) +1024 POINT(10 21) POINT(-6 3) +1024 POINT(1 2) POINT(-1 -3) +1024 POINT(26.25 57) POINT(1 2) +14 POINT(1000 -1000) POINT(-201 203.56) +1024 POINT(20.5 41) POINT(-8 4) +14 POINT(20.5 43.9832) POINT(-0 0) +1024 POINT(32.1234 64.2468) POINT(-1 -1) +14 POINT(-4.2 -6.98) POINT(-120.5 343.9832) +SELECT COUNT(*), ST_AsText(p1) FROM gis_point WHERE ST_TOUCHES(@poly3, p1) AND MBRWithin(p2, @poly4) GROUP BY p1; +COUNT(*) ST_AsText(p1) +1024 POINT(20.5 41) +1024 POINT(32.1234 64.2468) +SELECT COUNT(*), ST_AsText(p2) FROM gis_point WHERE MBRWithin(p2, @poly2) GROUP BY p2; +COUNT(*) ST_AsText(p2) +1024 POINT(-2 -6) +1024 POINT(-3 -9) +1024 POINT(-4 -12) +1024 POINT(-1 -3) +1024 POINT(-1 -1) +DROP TABLE p; +================================ +Use a trx to test IUD and verify +================================ +============================================= +Delete those rows selected from another table +============================================= +SELECT COUNT(*), ST_AsText(p1), ST_AsText(p2) FROM gis_point GROUP BY p1, p2; +COUNT(*) ST_AsText(p1) ST_AsText(p2) +1024 POINT(2 4) POINT(-2 -6) +1024 POINT(3 6) POINT(-3 -9) +1024 POINT(4 8) POINT(-4 -12) +1024 POINT(5 10) POINT(-5 -15) +1024 POINT(6 12) POINT(-6 -18) +1024 POINT(7 14) POINT(-7 -21) +1024 POINT(8 16) POINT(0 0) +1024 POINT(9 18) POINT(-4 2) +1024 POINT(10 21) POINT(-6 3) +1024 POINT(1 2) POINT(-1 -3) +1024 POINT(26.25 57) POINT(1 2) +14 POINT(1000 -1000) POINT(-201 203.56) +1024 POINT(20.5 41) POINT(-8 4) +14 POINT(20.5 43.9832) POINT(-0 0) +1024 POINT(32.1234 64.2468) POINT(-1 -1) +14 POINT(-4.2 -6.98) POINT(-120.5 343.9832) +UPDATE gis_point SET p2 = ST_PointFromText('POINT(2000 2000)') WHERE ST_Contains(ST_GeomFromText('POLYGON((-100 100, -400 100, -400 400, -100 400, -100 100))'), p2) OR ST_Contains(ST_GeomFromText('POLYGON((-0.0001 -0.0002, -0.0001 0.00002, 0.00000005 0.000001, 0.0000025 -0.001, -0.0001 -0.0002))'), p2); +CHECK TABLE gis_point; +Table Op Msg_type Msg_text +test.gis_point check status OK +'To remove all the just updated rows' +DELETE FROM gis_point WHERE ST_Intersection(ST_GeomFromText('LINESTRING(1800 1900, 2200 2100)'), ST_GeomFromText('LINESTRING(0 0, 2001 2001)')) = p2; +INSERT INTO gis_point VALUES +(ST_PointFromText('POINT(8 16)'), ST_PointFromText('POINT(0 0)')), +(ST_PointFromText('POINT(8 16)'), ST_PointFromText('POINT(0 0)')); +====================================================================== +Following results should be almost the same with those at the beginning +====================================================================== +SELECT COUNT(*), ST_AsText(p1), ST_AsText(p2) FROM gis_point GROUP BY p1, p2; +COUNT(*) ST_AsText(p1) ST_AsText(p2) +1024 POINT(2 4) POINT(-2 -6) +1024 POINT(3 6) POINT(-3 -9) +1024 POINT(4 8) POINT(-4 -12) +1024 POINT(5 10) POINT(-5 -15) +1024 POINT(6 12) POINT(-6 -18) +1024 POINT(7 14) POINT(-7 -21) +2 POINT(8 16) POINT(0 0) +1024 POINT(9 18) POINT(-4 2) +1024 POINT(10 21) POINT(-6 3) +1024 POINT(1 2) POINT(-1 -3) +1024 POINT(26.25 57) POINT(1 2) +1024 POINT(20.5 41) POINT(-8 4) +1024 POINT(32.1234 64.2468) POINT(-1 -1) +SELECT COUNT(*), ST_AsText(p1), ST_AsText(p2) +FROM gis_point +WHERE ST_Contains(ST_GeomFromText('POLYGON((-1000 -1000, -1000 1000, 1000 1000, 1001 -1001, -1000 -1000))'), p1) +GROUP BY p1, p2; +COUNT(*) ST_AsText(p1) ST_AsText(p2) +1024 POINT(2 4) POINT(-2 -6) +1024 POINT(3 6) POINT(-3 -9) +1024 POINT(4 8) POINT(-4 -12) +1024 POINT(5 10) POINT(-5 -15) +1024 POINT(6 12) POINT(-6 -18) +1024 POINT(7 14) POINT(-7 -21) +2 POINT(8 16) POINT(0 0) +1024 POINT(9 18) POINT(-4 2) +1024 POINT(10 21) POINT(-6 3) +1024 POINT(1 2) POINT(-1 -3) +1024 POINT(26.25 57) POINT(1 2) +1024 POINT(20.5 41) POINT(-8 4) +1024 POINT(32.1234 64.2468) POINT(-1 -1) +SELECT ST_AsText(p1), ST_AsText(p2) FROM gis_point GROUP BY p1, p2; +ST_AsText(p1) ST_AsText(p2) +POINT(2 4) POINT(-2 -6) +POINT(3 6) POINT(-3 -9) +POINT(4 8) POINT(-4 -12) +POINT(5 10) POINT(-5 -15) +POINT(6 12) POINT(-6 -18) +POINT(7 14) POINT(-7 -21) +POINT(8 16) POINT(0 0) +POINT(9 18) POINT(-4 2) +POINT(10 21) POINT(-6 3) +POINT(1 2) POINT(-1 -3) +POINT(26.25 57) POINT(1 2) +POINT(20.5 41) POINT(-8 4) +POINT(32.1234 64.2468) POINT(-1 -1) +SELECT COUNT(*), ST_AsText(p1) FROM gis_point WHERE ST_Intersection(@ls1, @ls2) = p1 GROUP BY p1; +COUNT(*) ST_AsText(p1) +1024 POINT(5 10) +SELECT COUNT(*), ST_AsText(p1) FROM gis_point WHERE MBRWithin(p1, @poly1) GROUP BY p1; +COUNT(*) ST_AsText(p1) +1024 POINT(3 6) +1024 POINT(4 8) +SELECT COUNT(*), ST_AsText(p2) FROM gis_point WHERE ST_Contains(@poly2, p2) GROUP BY p2; +COUNT(*) ST_AsText(p2) +2 POINT(0 0) +1024 POINT(-2 -6) +1024 POINT(-3 -9) +1024 POINT(-4 -12) +1024 POINT(-5 -15) +1024 POINT(-1 -3) +1024 POINT(-1 -1) +SELECT COUNT(*), ST_AsText(p2) FROM gis_point WHERE ST_Equals(p2, @p1) GROUP BY p2; +COUNT(*) ST_AsText(p2) +2 POINT(0 0) +SELECT COUNT(*), ST_AsText(p1) FROM gis_point WHERE ST_TOUCHES(@poly3, p1) AND MBRWithin(p2, @poly4) GROUP BY p1; +COUNT(*) ST_AsText(p1) +1024 POINT(20.5 41) +1024 POINT(32.1234 64.2468) +SELECT COUNT(*), ST_AsText(p1), ST_AsText(p2) FROM gis_point WHERE ST_Contains(@mpoly, p1) GROUP BY p1, p2; +COUNT(*) ST_AsText(p1) ST_AsText(p2) +1024 POINT(3 6) POINT(-3 -9) +1024 POINT(4 8) POINT(-4 -12) +1024 POINT(5 10) POINT(-5 -15) +1024 POINT(6 12) POINT(-6 -18) +1024 POINT(7 14) POINT(-7 -21) +2 POINT(8 16) POINT(0 0) +1024 POINT(10 21) POINT(-6 3) +1024 POINT(20.5 41) POINT(-8 4) +SELECT COUNT(*), ST_AsText(p1), ST_AsText(p2) FROM gis_point WHERE ST_Contains(@mpoly, p1) AND NOT MBRWithin(p1, @mpoly) GROUP BY p1, p2; +COUNT(*) ST_AsText(p1) ST_AsText(p2) +1024 POINT(3 6) POINT(-3 -9) +CHECK TABLE gis_point; +Table Op Msg_type Msg_text +test.gis_point check status OK +DROP TABLE gis_point; diff --git a/mysql-test/suite/innodb_gis/r/precise.result b/mysql-test/suite/innodb_gis/r/precise.result new file mode 100644 index 00000000..6cc0368f --- /dev/null +++ b/mysql-test/suite/innodb_gis/r/precise.result @@ -0,0 +1,514 @@ +DROP TABLE IF EXISTS t1; +select 1, ST_Intersects(ST_GeomFromText('POLYGON((0 0,20 0,20 20,0 20,0 0))'), ST_GeomFromText('POLYGON((10 10,30 10,30 30,10 30,10 10))')); +1 ST_Intersects(ST_GeomFromText('POLYGON((0 0,20 0,20 20,0 20,0 0))'), ST_GeomFromText('POLYGON((10 10,30 10,30 30,10 30,10 10))')) +1 1 +select 0, ST_Intersects(ST_GeomFromText('POLYGON((0 0,20 10,10 30, 0 0))'), ST_GeomFromText('POLYGON((10 40, 40 50, 20 70, 10 40))')); +0 ST_Intersects(ST_GeomFromText('POLYGON((0 0,20 10,10 30, 0 0))'), ST_GeomFromText('POLYGON((10 40, 40 50, 20 70, 10 40))')) +0 0 +select 1, ST_Intersects(ST_GeomFromText('POLYGON((0 0,20 10,10 30, 0 0))'), ST_GeomFromText('POINT(10 10)')); +1 ST_Intersects(ST_GeomFromText('POLYGON((0 0,20 10,10 30, 0 0))'), ST_GeomFromText('POINT(10 10)')) +1 1 +select 1, ST_Intersects(ST_GeomFromText('POLYGON((0 0,20 10,10 30, 0 0))'), ST_GeomFromText('POLYGON((10 10,30 20,20 40, 10 10))')); +1 ST_Intersects(ST_GeomFromText('POLYGON((0 0,20 10,10 30, 0 0))'), ST_GeomFromText('POLYGON((10 10,30 20,20 40, 10 10))')) +1 1 +select 0, ST_Within(ST_GeomFromText('POLYGON((0 0,20 10,10 30, 0 0))'), ST_GeomFromText('POLYGON((10 10,30 20,20 40, 10 10))')); +0 ST_Within(ST_GeomFromText('POLYGON((0 0,20 10,10 30, 0 0))'), ST_GeomFromText('POLYGON((10 10,30 20,20 40, 10 10))')) +0 0 +select 1, ST_Within(ST_GeomFromText('POLYGON((1 1,20 10,10 30, 1 1))'), ST_GeomFromText('POLYGON((0 0,30 5,10 40, 0 0))')); +1 ST_Within(ST_GeomFromText('POLYGON((1 1,20 10,10 30, 1 1))'), ST_GeomFromText('POLYGON((0 0,30 5,10 40, 0 0))')) +1 1 +create table t1 (g point)engine=innodb; +insert into t1 values +(ST_GeomFromText('POINT(2 2)')), (ST_GeomFromText('POINT(2 4)')), (ST_GeomFromText('POINT(2 6)')), (ST_GeomFromText('POINT(2 8)')), +(ST_GeomFromText('POINT(4 2)')), (ST_GeomFromText('POINT(4 4)')), (ST_GeomFromText('POINT(4 6)')), (ST_GeomFromText('POINT(4 8)')), +(ST_GeomFromText('POINT(6 2)')), (ST_GeomFromText('POINT(6 4)')), (ST_GeomFromText('POINT(6 6)')), (ST_GeomFromText('POINT(6 8)')), +(ST_GeomFromText('POINT(8 2)')), (ST_GeomFromText('POINT(8 4)')), (ST_GeomFromText('POINT(8 6)')), (ST_GeomFromText('POINT(8 8)')); +select ST_astext(g) from t1 where ST_Within(g, ST_GeomFromText('POLYGON((5 1, 7 1, 7 7, 5 7, 3 3, 5 3, 5 1))')); +ST_astext(g) +POINT(4 4) +POINT(6 2) +POINT(6 4) +POINT(6 6) +select 'Contains'; +Contains +Contains +select ST_astext(g) from t1 where ST_Contains(ST_GeomFromText('POLYGON((5 1, 7 1, 7 7, 5 7, 3 3, 5 3, 5 1))'), g); +ST_astext(g) +POINT(4 4) +POINT(6 2) +POINT(6 4) +POINT(6 6) +select 'Intersects'; +Intersects +Intersects +select ST_astext(g) from t1 where ST_Intersects(ST_GeomFromText('POLYGON((5 1, 7 1, 7 7, 5 7, 3 3, 5 3, 5 1))'), g); +ST_astext(g) +POINT(4 4) +POINT(6 2) +POINT(6 4) +POINT(6 6) +select 'Contains'; +Contains +Contains +select ST_astext(g) from t1 where ST_Contains(ST_GeomFromText('POLYGON((5 1, 7 1, 7 7, 5 7, 3 3, 5 3, 5 1))'), g); +ST_astext(g) +POINT(4 4) +POINT(6 2) +POINT(6 4) +POINT(6 6) +select 'Contains2'; +Contains2 +Contains2 +select ST_astext(g) from t1 where ST_Contains(ST_GeomFromText('POLYGON((5 1, 7 1, 7 7, 5 7, 3 3, 5 3, 5 1), (5.01 3.01, 6 5, 9 5, 8 3, 5.01 3.01))'), g); +ST_astext(g) +POINT(4 4) +POINT(6 2) +POINT(6 6) +POINT(8 4) +DROP TABLE t1; +select 0, ST_Within(ST_GeomFromText('LINESTRING(15 15, 50 50, 60 60)'), ST_GeomFromText('POLYGON((10 10,30 20,20 40, 10 10))')); +0 ST_Within(ST_GeomFromText('LINESTRING(15 15, 50 50, 60 60)'), ST_GeomFromText('POLYGON((10 10,30 20,20 40, 10 10))')) +0 0 +select 1, ST_Within(ST_GeomFromText('LINESTRING(15 15, 16 16)'), ST_GeomFromText('POLYGON((10 10,30 20,20 40, 10 10))')); +1 ST_Within(ST_GeomFromText('LINESTRING(15 15, 16 16)'), ST_GeomFromText('POLYGON((10 10,30 20,20 40, 10 10))')) +1 1 +select 1, ST_Intersects(ST_GeomFromText('LINESTRING(15 15, 50 50)'), ST_GeomFromText('LINESTRING(50 15, 15 50)')); +1 ST_Intersects(ST_GeomFromText('LINESTRING(15 15, 50 50)'), ST_GeomFromText('LINESTRING(50 15, 15 50)')) +1 1 +select 1, ST_Intersects(ST_GeomFromText('LINESTRING(15 15, 50 50)'), ST_GeomFromText('LINESTRING(16 16, 51 51)')); +1 ST_Intersects(ST_GeomFromText('LINESTRING(15 15, 50 50)'), ST_GeomFromText('LINESTRING(16 16, 51 51)')) +1 1 +select 1, ST_Intersects(ST_GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), ST_GeomFromText('POLYGON((50 5, 55 10, 0 45, 50 5))')); +1 ST_Intersects(ST_GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), ST_GeomFromText('POLYGON((50 5, 55 10, 0 45, 50 5))')) +1 1 +select ST_astext(ST_Union(ST_geometryfromtext('point(1 1)'), ST_geometryfromtext('polygon((0 0, 2 0, 1 2, 0 0))'))); +ST_astext(ST_Union(ST_geometryfromtext('point(1 1)'), ST_geometryfromtext('polygon((0 0, 2 0, 1 2, 0 0))'))) +POLYGON((0 0,1 2,2 0,0 0)) +select ST_astext(ST_Intersection(ST_geometryfromtext('point(1 1)'), ST_geometryfromtext('polygon((0 0, 2 0, 1 2, 0 0))'))); +ST_astext(ST_Intersection(ST_geometryfromtext('point(1 1)'), ST_geometryfromtext('polygon((0 0, 2 0, 1 2, 0 0))'))) +POINT(1 1) +select ST_Intersects(ST_GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), ST_GeomFromText('POLYGON((50 5, 55 10, 0 45, 50 5))')); +ST_Intersects(ST_GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), ST_GeomFromText('POLYGON((50 5, 55 10, 0 45, 50 5))')) +1 +select ST_contains(ST_GeomFromText('MULTIPOLYGON(((0 0, 0 5, 5 5, 5 0, 0 0)), ((6 6, 6 11, 11 11, 11 6, 6 6)))'), ST_GeomFromText('POINT(5 10)')); +ST_contains(ST_GeomFromText('MULTIPOLYGON(((0 0, 0 5, 5 5, 5 0, 0 0)), ((6 6, 6 11, 11 11, 11 6, 6 6)))'), ST_GeomFromText('POINT(5 10)')) +0 +select ST_Disjoint(ST_GeomFromText('POLYGON((0 0, 0 5, 5 5, 5 0, 0 0))'), ST_GeomFromText('POLYGON((10 10, 10 15, 15 15, 15 10, 10 10))')); +ST_Disjoint(ST_GeomFromText('POLYGON((0 0, 0 5, 5 5, 5 0, 0 0))'), ST_GeomFromText('POLYGON((10 10, 10 15, 15 15, 15 10, 10 10))')) +1 +select ST_Disjoint(ST_GeomFromText('POLYGON((0 0, 0 5, 5 5, 5 0, 0 0))'), ST_GeomFromText('POLYGON((10 10, 10 4, 4 4, 4 10, 10 10))')); +ST_Disjoint(ST_GeomFromText('POLYGON((0 0, 0 5, 5 5, 5 0, 0 0))'), ST_GeomFromText('POLYGON((10 10, 10 4, 4 4, 4 10, 10 10))')) +0 +select ST_Overlaps(ST_GeomFromText('POLYGON((0 0, 0 5, 5 5, 5 0, 0 0))'), ST_GeomFromText('POLYGON((10 10, 10 4, 4 4, 4 10, 10 10))')); +ST_Overlaps(ST_GeomFromText('POLYGON((0 0, 0 5, 5 5, 5 0, 0 0))'), ST_GeomFromText('POLYGON((10 10, 10 4, 4 4, 4 10, 10 10))')) +1 +select ST_Overlaps(ST_GeomFromText('POLYGON((0 0, 0 5, 5 5, 5 0, 0 0))'), ST_GeomFromText('POLYGON((1 1, 1 4, 4 4, 4 1, 1 1))')); +ST_Overlaps(ST_GeomFromText('POLYGON((0 0, 0 5, 5 5, 5 0, 0 0))'), ST_GeomFromText('POLYGON((1 1, 1 4, 4 4, 4 1, 1 1))')) +0 +select ST_DISTANCE(ST_geomfromtext('polygon((0 0, 1 2, 2 1, 0 0))'), ST_geomfromtext('polygon((2 2, 3 4, 4 3, 2 2))')); +ST_DISTANCE(ST_geomfromtext('polygon((0 0, 1 2, 2 1, 0 0))'), ST_geomfromtext('polygon((2 2, 3 4, 4 3, 2 2))')) +0.7071067811865475 +select ST_DISTANCE(ST_geomfromtext('polygon((0 0, 1 2, 2 1, 0 0))'), ST_geomfromtext('linestring(0 1, 1 0)')); +ST_DISTANCE(ST_geomfromtext('polygon((0 0, 1 2, 2 1, 0 0))'), ST_geomfromtext('linestring(0 1, 1 0)')) +0 +select ST_DISTANCE(ST_geomfromtext('polygon((0 0, 3 6, 6 3, 0 0))'), ST_geomfromtext('polygon((2 2, 3 4, 4 3, 2 2))')); +ST_DISTANCE(ST_geomfromtext('polygon((0 0, 3 6, 6 3, 0 0))'), ST_geomfromtext('polygon((2 2, 3 4, 4 3, 2 2))')) +0 +select ST_DISTANCE(ST_geomfromtext('polygon((0 0, 3 6, 6 3, 0 0),(2 2, 3 4, 4 3, 2 2))'), ST_geomfromtext('point(3 3)')); +ST_DISTANCE(ST_geomfromtext('polygon((0 0, 3 6, 6 3, 0 0),(2 2, 3 4, 4 3, 2 2))'), ST_geomfromtext('point(3 3)')) +0.4472135954999579 +select ST_DISTANCE(ST_geomfromtext('linestring(0 0, 3 6, 6 3, 0 0)'), ST_geomfromtext('polygon((2 2, 3 4, 4 3, 2 2))')); +ST_DISTANCE(ST_geomfromtext('linestring(0 0, 3 6, 6 3, 0 0)'), ST_geomfromtext('polygon((2 2, 3 4, 4 3, 2 2))')) +0.8944271909999159 +select ST_astext(ST_Intersection(ST_GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), ST_GeomFromText('POLYGON((50 5, 55 10, 0 45, 50 5))'))); +ST_astext(ST_Intersection(ST_GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), ST_GeomFromText('POLYGON((50 5, 55 10, 0 45, 50 5))'))) +POLYGON((26.47058823529412 23.823529411764707,21.951219512195124 27.439024390243905,23.855421686746986 29.819277108433734,29.289940828402365 26.36094674556213,26.47058823529412 23.823529411764707)) +select ST_astext(ST_Intersection(ST_GeomFromText('LINESTRING(0 0, 50 45, 40 50, 0 0)'), ST_GeomFromText('LINESTRING(50 5, 55 10, 0 45, 50 5)'))); +ST_astext(ST_Intersection(ST_GeomFromText('LINESTRING(0 0, 50 45, 40 50, 0 0)'), ST_GeomFromText('LINESTRING(50 5, 55 10, 0 45, 50 5)'))) +MULTIPOINT(26.47058823529412 23.823529411764707,29.289940828402365 26.36094674556213,21.951219512195124 27.439024390243905,23.855421686746986 29.819277108433734) +select ST_astext(ST_Intersection(ST_GeomFromText('LINESTRING(0 0, 50 45, 40 50)'), ST_GeomFromText('LINESTRING(50 5, 55 10, 0 45)'))); +ST_astext(ST_Intersection(ST_GeomFromText('LINESTRING(0 0, 50 45, 40 50)'), ST_GeomFromText('LINESTRING(50 5, 55 10, 0 45)'))) +POINT(29.289940828402365 26.36094674556213) +select ST_astext(ST_Intersection(ST_GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), ST_GeomFromText('POINT(20 20)'))); +ST_astext(ST_Intersection(ST_GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), ST_GeomFromText('POINT(20 20)'))) +POINT(20 20) +select ST_astext(ST_Intersection(ST_GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), ST_GeomFromText('LINESTRING(-10 -10, 200 200)'))); +ST_astext(ST_Intersection(ST_GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), ST_GeomFromText('LINESTRING(-10 -10, 200 200)'))) +LINESTRING(0 0,46.666666666666664 46.666666666666664) +select ST_astext(ST_Intersection(ST_GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), ST_GeomFromText('LINESTRING(-10 -10, 200 200, 199 201, -11 -9)'))); +ST_astext(ST_Intersection(ST_GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), ST_GeomFromText('LINESTRING(-10 -10, 200 200, 199 201, -11 -9)'))) +MULTILINESTRING((0 0,46.666666666666664 46.666666666666664),(8 10,45.33333333333333 47.33333333333333)) +select ST_astext(ST_UNION(ST_GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), ST_GeomFromText('LINESTRING(-10 -10, 200 200, 199 201, -11 -9)'))); +ST_astext(ST_UNION(ST_GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), ST_GeomFromText('LINESTRING(-10 -10, 200 200, 199 201, -11 -9)'))) +GEOMETRYCOLLECTION(LINESTRING(-10 -10,0 0),LINESTRING(-11 -9,8 10),POLYGON((0 0,40 50,50 45,0 0)),LINESTRING(46.666666666666664 46.666666666666664,200 200,199 201,45.33333333333333 47.33333333333333)) +select ST_astext(ST_intersection(ST_geomfromtext('polygon((0 0, 1 0, 0 1, 0 0))'), ST_geomfromtext('polygon((0 0, 1 1, 0 2, 0 0))'))); +ST_astext(ST_intersection(ST_geomfromtext('polygon((0 0, 1 0, 0 1, 0 0))'), ST_geomfromtext('polygon((0 0, 1 1, 0 2, 0 0))'))) +POLYGON((0 0,0 1,0.5 0.5,0 0)) +select ST_astext(ST_symdifference(ST_geomfromtext('polygon((0 0, 1 0, 0 1, 0 0))'), ST_geomfromtext('polygon((0 0, 1 1, 0 2, 0 0))'))); +ST_astext(ST_symdifference(ST_geomfromtext('polygon((0 0, 1 0, 0 1, 0 0))'), ST_geomfromtext('polygon((0 0, 1 1, 0 2, 0 0))'))) +MULTIPOLYGON(((0 0,0.5 0.5,1 0,0 0)),((0.5 0.5,0 1,0 2,1 1,0.5 0.5))) +select ST_astext(ST_UNION(ST_GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), ST_GeomFromText('LINESTRING(-10 -10, 200 200, 199 201, -11 -9)'))); +ST_astext(ST_UNION(ST_GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), ST_GeomFromText('LINESTRING(-10 -10, 200 200, 199 201, -11 -9)'))) +GEOMETRYCOLLECTION(LINESTRING(-10 -10,0 0),LINESTRING(-11 -9,8 10),POLYGON((0 0,40 50,50 45,0 0)),LINESTRING(46.666666666666664 46.666666666666664,200 200,199 201,45.33333333333333 47.33333333333333)) +select ST_astext(ST_buffer(ST_geometryfromtext('point(1 1)'), 1)); +ST_astext(ST_buffer(ST_geometryfromtext('point(1 1)'), 1)) +POLYGON((1 0,0.9509 0.0012,0.9019 0.0048,0.8532 0.0108,0.8049 0.0192,0.7570 0.0299,0.7097 0.0430,0.6631 0.0584,0.6173 0.0761,0.5724 0.0960,0.5286 0.1180,0.4858 0.1422,0.4444 0.1685,0.4043 0.1967,0.3656 0.2269,0.3284 0.2590,0.2928 0.2928,0.2590 0.3284,0.2269 0.3656,0.1967 0.4043,0.1685 0.4444,0.1422 0.4858,0.1180 0.5286,0.0960 0.5724,0.0761 0.6173,0.0584 0.6631,0.0430 0.7097,0.0299 0.7570,0.0192 0.8049,0.0108 0.8532,0.0048 0.9019,0.0012 0.9509,0 1,0.0048 1.0980,0.0108 1.1467,0.0192 1.1950,0.0299 1.2429,0.0430 1.2902,0.0584 1.3368,0.0761 1.3826,0.0960 1.4275,0.1180 1.4713,0.1422 1.5141,0.1685 1.5555,0.1967 1.5956,0.2269 1.6343,0.2590 1.6715,0.2928 1.7071,0.3284 1.7409,0.3656 1.7730,0.4043 1.8032,0.4444 1.8314,0.4858 1.8577,0.5286 1.8819,0.5724 1.9039,0.6173 1.9238,0.6631 1.9415,0.7097 1.9569,0.7570 1.9700,0.8049 1.9807,0.8532 1.9891,0.9019 1.9951,0.9509 1.9987,1 2,1.0490 1.9987,1.0980 1.9951,1.1467 1.9891,1.1950 1.9807,1.2429 1.9700,1.2902 1.9569,1.3368 1.9415,1.3826 1.9238,1.4275 1.9039,1.4713 1.8819,1.5141 1.8577,1.5555 1.8314,1.5956 1.8032,1.6343 1.7730,1.6715 1.7409,1.7071 1.7071,1.7409 1.6715,1.7730 1.6343,1.8032 1.5956,1.8314 1.5555,1.8577 1.5141,1.8819 1.4713,1.9039 1.4275,1.9238 1.3826,1.9415 1.3368,1.9569 1.2902,1.9700 1.2429,1.9807 1.1950,1.9891 1.1467,1.9951 1.0980,1.9987 1.0490,2 1,1.9951 0.9019,1.9891 0.8532,1.9807 0.8049,1.9700 0.7570,1.9569 0.7097,1.9415 0.6631,1.9238 0.6173,1.9039 0.5724,1.8819 0.5286,1.8577 0.4858,1.8314 0.4444,1.8032 0.4043,1.7730 0.3656,1.7409 0.3284,1.7071 0.2928,1.6715 0.2590,1.6343 0.2269,1.5956 0.1967,1.5555 0.1685,1.5141 0.1422,1.4713 0.1180,1.4275 0.0960,1.3826 0.0761,1.3368 0.0584,1.2902 0.0430,1.2429 0.0299,1.1950 0.0192,1.1467 0.0108,1.0980 0.0048,1.0490 0.0012,1 0)) +create table t1(geom geometrycollection)engine=innodb; +select ST_astext(geom), ST_area(geom),ST_area(ST_buffer(geom,2)) from t1; +ST_astext(geom) ST_area(geom) ST_area(ST_buffer(geom,2)) +select ST_NUMPOINTS(ST_EXTERIORRING(ST_buffer(geom,2))) from t1; +ST_NUMPOINTS(ST_EXTERIORRING(ST_buffer(geom,2))) +set @geom=ST_geomfromtext('LINESTRING(2 1, 4 2, 2 3, 2 5)'); +set @buff=ST_buffer(@geom,1); +select ST_NUMPOINTS(ST_EXTERIORRING(@buff)) from t1; +ST_NUMPOINTS(ST_EXTERIORRING(@buff)) +DROP TABLE t1; +select st_touches(ST_geomfromtext('point(0 0)'), ST_geomfromtext('point(1 1)')); +st_touches(ST_geomfromtext('point(0 0)'), ST_geomfromtext('point(1 1)')) +0 +select st_touches(ST_geomfromtext('point(1 1)'), ST_geomfromtext('point(1 1)')); +st_touches(ST_geomfromtext('point(1 1)'), ST_geomfromtext('point(1 1)')) +0 +select st_touches(ST_geomfromtext('polygon((0 0, 2 2, 0 4, 0 0))'), ST_geomfromtext('point(1 1)')); +st_touches(ST_geomfromtext('polygon((0 0, 2 2, 0 4, 0 0))'), ST_geomfromtext('point(1 1)')) +1 +select st_touches(ST_geomfromtext('polygon((0 0, 2 2, 0 4, 0 0))'), ST_geomfromtext('point(1 0)')); +st_touches(ST_geomfromtext('polygon((0 0, 2 2, 0 4, 0 0))'), ST_geomfromtext('point(1 0)')) +0 +select st_touches(ST_geomfromtext('polygon((0 0, 2 2, 0 4, 0 0))'), ST_geomfromtext('point(1 2)')); +st_touches(ST_geomfromtext('polygon((0 0, 2 2, 0 4, 0 0))'), ST_geomfromtext('point(1 2)')) +0 +select st_touches(ST_geomfromtext('polygon((0 0, 2 2, 0 4, 0 0))'), ST_geomfromtext('polygon((1 1.2, 1 0, 2 0, 1 1.2))')); +st_touches(ST_geomfromtext('polygon((0 0, 2 2, 0 4, 0 0))'), ST_geomfromtext('polygon((1 1.2, 1 0, 2 0, 1 1.2))')) +0 +select st_touches(ST_geomfromtext('polygon((0 0, 2 2, 0 4, 0 0))'), ST_geomfromtext('polygon((1 1, 1 0, 2 0, 1 1))')); +st_touches(ST_geomfromtext('polygon((0 0, 2 2, 0 4, 0 0))'), ST_geomfromtext('polygon((1 1, 1 0, 2 0, 1 1))')) +1 +SELECT ST_Equals(ST_PolyFromText('POLYGON((67 13, 67 18, 67 18, 59 18, 59 13, 67 13) )'),ST_PolyFromText('POLYGON((67 13, 67 18, 59 19, 59 13, 59 13, 67 13) )')) as result; +result +0 +SELECT ST_Equals(ST_PolyFromText('POLYGON((67 13, 67 18, 67 18, 59 18, 59 13, 67 13) )'),ST_PolyFromText('POLYGON((67 13, 67 18, 59 18, 59 13, 59 13, 67 13) )')) as result; +result +1 +SELECT ST_Equals(ST_PointFromText('POINT (12 13)'),ST_PointFromText('POINT (12 13)')) as result; +result +1 +# +# BUG#11755628/47429: INTERSECTION FUNCTION CRASHED MYSQLD +# BUG#11759650/51979: UNION/INTERSECTION OF POLYGONS CRASHES MYSQL +# +SELECT ST_ASTEXT(ST_UNION(ST_GEOMFROMTEXT('POLYGON((525000 183300,525400 +183300,525400 18370, 525000 183700,525000 183300))'), +ST_geomfromtext('POLYGON((525298.67 183511.53,525296.57 +183510.39,525296.42 183510.31,525289.11 183506.62,525283.17 +183503.47,525280.98 183502.26,525278.63 183500.97,525278.39 +183500.84,525276.79 183500,525260.7 183491.55,525263.95 +183484.75,525265.58 183481.95,525278.97 183488.73,525276.5 +183493.45,525275.5 183495.7,525280.35 183498.2,525282.3 +183499.1,525282.2 183499.3,525283.55 183500,525301.75 +183509.35,525304.45 183504.25,525307.85 183504.95,525304.5 +183510.83,525302.81 183513.8,525298.67 183511.53),(525275.06 +183489.89,525272.06 183488.37,525268.94 183494.51,525271.94 +183496.03,525275.06 183489.89),(525263.26 183491.55,525266.15 +183493.04,525269.88 183485.82,525266.99 183484.33,525263.26 +183491.55))'))) st_u; +st_u +MULTIPOLYGON(((525400 18370,525000.9677614468 183300,525400 183300,525400 18370)),((525000 183300,525000 183700,525000.9677614468 183300,525000 183300)),((525265.58 183481.95,525263.95 183484.75,525260.7 183491.55,525276.79 183500,525278.39 183500.84,525278.63 183500.97,525280.98 183502.26,525283.17 183503.47,525289.11 183506.62,525296.42 183510.31,525296.57 183510.39,525298.67 183511.53,525302.81 183513.8,525304.5 183510.83,525307.85 183504.95,525304.45 183504.25,525301.75 183509.35,525283.55 183500,525282.2 183499.3,525282.3 183499.1,525280.35 183498.2,525275.5 183495.7,525276.5 183493.45,525278.97 183488.73,525265.58 183481.95),(525266.99 183484.33,525263.26 183491.55,525266.15 183493.04,525269.88 183485.82,525266.99 183484.33),(525272.06 183488.37,525268.94 183494.51,525271.94 183496.03,525275.06 183489.89,525272.06 183488.37))) +SET @a=0x0000000001030000000200000005000000000000000000000000000000000000000000000000002440000000000000000000000000000024400000000000002440000000000000000000000000000024400000000000000000000000000000000000000000000000000000F03F000000000000F03F0000000000000040000000000000F03F00000000000000400000000000000040000000000000F03F0000000000000040000000000000F03F000000000000F03F; +SELECT ST_ASTEXT(ST_TOUCHES(@a, ST_GEOMFROMTEXT('point(0 0)'))) t; +ERROR HY000: Illegal parameter data type boolean for operation 'st_astext' +DROP TABLE IF EXISTS p1; +CREATE PROCEDURE p1(dist DOUBLE, geom TEXT) +BEGIN +DECLARE g GEOMETRY; +SET g=GeomFromText(geom); +SELECT geom AS `-----`; +SELECT dist, GeometryType(@buf:=ST_Buffer(g, dist)) AS `buffer`, ROUND(ST_AREA(@buf),2) AS buf_area; +END| +# +# Testing ST_BUFFER with positive distance +# +----- +POINT(0 0)) +dist buffer buf_area +1 POLYGON 3.14 +----- +LineString(0 1, 1 1)) +dist buffer buf_area +1 POLYGON 5.14 +----- +LineString(9 9,8 1,1 5,0 0) +dist buffer buf_area +1 POLYGON 44.63 +----- +Polygon((2 2,2 8,8 8,8 2,2 2)) +dist buffer buf_area +1 POLYGON 63.14 +----- +Polygon((0 0,0 8,8 8,8 0,0 0),(2 2,6 2,6 6,2 6,2 2)) +dist buffer buf_area +1 POLYGON 95.14 +----- +Polygon((0 0, 0 8, 8 8, 8 10, -10 10, -10 0, 0 0)) +dist buffer buf_area +1 POLYGON 174.93 +----- +MultiPoint(9 9,8 1,1 5) +dist buffer buf_area +1 MULTIPOLYGON 9.42 +----- +MultiLineString((0 0,2 2)) +dist buffer buf_area +1 POLYGON 8.80 +----- +MultiLineString((0 0,2 2,0 4)) +dist buffer buf_area +1 POLYGON 14.24 +----- +MultiLineString((0 0,2 2),(0 2,2 0)) +dist buffer buf_area +1 POLYGON 13.59 +----- +MultiLineString((2 2,2 8,-2 8),(-6 -6, 6 6),(10 10, 14 14)) +dist buffer buf_area +1 MULTIPOLYGON 70.06 +----- +MultiPolygon(((2 2,2 8,8 8,8 2,2 2)), ((9 9,8 1,1 5,9 9))) +dist buffer buf_area +1 POLYGON 73.18 +----- +MultiPolygon(((2 2,2 8,8 8,8 2,2 2), (4 4,4 6,6 6,6 4,4 4)),((9 9,8 1,1 5,9 9))) +dist buffer buf_area +1 POLYGON 73.18 +----- +GeometryCollection(Point(0 0)) +dist buffer buf_area +1 POLYGON 3.14 +----- +GeometryCollection(LineString(0 0, 2 2))) +dist buffer buf_area +1 POLYGON 8.80 +----- +GeometryCollection(Polygon((2 2,2 8,8 8,8 2,2 2)))) +dist buffer buf_area +1 POLYGON 63.14 +----- +GeometryCollection(MultiPoint(9 9,8 1,1 5)) +dist buffer buf_area +1 MULTIPOLYGON 9.42 +----- +GeometryCollection(MultiLineString((0 0,0 1),(3 0,3 1))) +dist buffer buf_area +1 MULTIPOLYGON 10.28 +----- +GeometryCollection(MultiPolygon(((0 0, 3 0, 3 3, 0 3, 0 0)),((6 6,6 9,9 9,9 6,6 6)))) +dist buffer buf_area +1 MULTIPOLYGON 48.28 +----- +GeometryCollection(Point(9 9),LineString(1 5,0 0),Polygon((2 2,2 8,8 8,8 2,2 2))) +dist buffer buf_area +1 POLYGON 75.92 +# +# Testing ST_BUFFER with zero distance +# +----- +POINT(0 0)) +dist buffer buf_area +0 POINT 0.00 +----- +LineString(0 1, 1 1)) +dist buffer buf_area +0 LINESTRING 0.00 +----- +LineString(9 9,8 1,1 5,0 0) +dist buffer buf_area +0 LINESTRING 0.00 +----- +Polygon((2 2,2 8,8 8,8 2,2 2)) +dist buffer buf_area +0 POLYGON 36.00 +----- +Polygon((0 0,0 8,8 8,8 0,0 0),(2 2,6 2,6 6,2 6,2 2)) +dist buffer buf_area +0 POLYGON 48.00 +----- +Polygon((0 0, 0 8, 8 8, 8 10, -10 10, -10 0, 0 0)) +dist buffer buf_area +0 POLYGON 116.00 +----- +MultiPoint(9 9,8 1,1 5) +dist buffer buf_area +0 MULTIPOINT NULL +----- +MultiLineString((0 0,2 2)) +dist buffer buf_area +0 MULTILINESTRING NULL +----- +MultiLineString((0 0,2 2,0 4)) +dist buffer buf_area +0 MULTILINESTRING NULL +----- +MultiLineString((0 0,2 2),(0 2,2 0)) +dist buffer buf_area +0 MULTILINESTRING NULL +----- +MultiLineString((2 2,2 8,-2 8),(-6 -6, 6 6),(10 10, 14 14)) +dist buffer buf_area +0 MULTILINESTRING NULL +----- +MultiPolygon(((2 2,2 8,8 8,8 2,2 2)), ((9 9,8 1,1 5,9 9))) +dist buffer buf_area +0 MULTIPOLYGON 66.00 +----- +MultiPolygon(((2 2,2 8,8 8,8 2,2 2), (4 4,4 6,6 6,6 4,4 4)),((9 9,8 1,1 5,9 9))) +dist buffer buf_area +0 MULTIPOLYGON 62.00 +----- +GeometryCollection(Point(0 0)) +dist buffer buf_area +0 GEOMETRYCOLLECTION 0.00 +----- +GeometryCollection(LineString(0 0, 2 2))) +dist buffer buf_area +0 GEOMETRYCOLLECTION 0.00 +----- +GeometryCollection(Polygon((2 2,2 8,8 8,8 2,2 2)))) +dist buffer buf_area +0 GEOMETRYCOLLECTION 36.00 +----- +GeometryCollection(MultiPoint(9 9,8 1,1 5)) +dist buffer buf_area +0 GEOMETRYCOLLECTION NULL +----- +GeometryCollection(MultiLineString((0 0,0 1),(3 0,3 1))) +dist buffer buf_area +0 GEOMETRYCOLLECTION NULL +----- +GeometryCollection(MultiPolygon(((0 0, 3 0, 3 3, 0 3, 0 0)),((6 6,6 9,9 9,9 6,6 6)))) +dist buffer buf_area +0 GEOMETRYCOLLECTION 18.00 +----- +GeometryCollection(Point(9 9),LineString(1 5,0 0),Polygon((2 2,2 8,8 8,8 2,2 2))) +dist buffer buf_area +0 GEOMETRYCOLLECTION 36.00 +# +# Testing ST_BUFFER with negative distance +# +----- +POINT(0 0)) +dist buffer buf_area +-1 GEOMETRYCOLLECTION 0.00 +----- +LineString(0 1, 1 1)) +dist buffer buf_area +-1 GEOMETRYCOLLECTION 0.00 +----- +LineString(9 9,8 1,1 5,0 0) +dist buffer buf_area +-1 GEOMETRYCOLLECTION 0.00 +----- +Polygon((2 2,2 8,8 8,8 2,2 2)) +dist buffer buf_area +-1 POLYGON 16.00 +----- +MultiPoint(9 9,8 1,1 5) +dist buffer buf_area +-1 GEOMETRYCOLLECTION 0.00 +----- +MultiLineString((0 0,2 2)) +dist buffer buf_area +-1 GEOMETRYCOLLECTION 0.00 +----- +MultiLineString((0 0,2 2,0 4)) +dist buffer buf_area +-1 GEOMETRYCOLLECTION 0.00 +----- +MultiLineString((0 0,2 2),(0 2,2 0)) +dist buffer buf_area +-1 GEOMETRYCOLLECTION 0.00 +----- +MultiLineString((2 2,2 8,-2 8),(-6 -6, 6 6),(10 10, 14 14)) +dist buffer buf_area +-1 GEOMETRYCOLLECTION 0.00 +----- +GeometryCollection(Point(0 0)) +dist buffer buf_area +-1 GEOMETRYCOLLECTION 0.00 +----- +GeometryCollection(LineString(0 0, 2 2))) +dist buffer buf_area +-1 GEOMETRYCOLLECTION 0.00 +----- +GeometryCollection(Polygon((2 2,2 8,8 8,8 2,2 2)))) +dist buffer buf_area +-1 POLYGON 16.00 +----- +GeometryCollection(MultiPoint(9 9,8 1,1 5)) +dist buffer buf_area +-1 GEOMETRYCOLLECTION 0.00 +----- +GeometryCollection(MultiLineString((0 0,0 1),(3 0,3 1))) +dist buffer buf_area +-1 GEOMETRYCOLLECTION 0.00 +----- +GeometryCollection(Point(9 9),LineString(1 5,0 0),Polygon((2 2,2 8,8 8,8 2,2 2))) +dist buffer buf_area +-1 POLYGON 16.00 +SELECT ST_CONTAINS( +GeomFromText('MULTIPOLYGON(((0 0, 0 5, 5 5, 5 0, 0 0)),((6 6, 6 11, 11 11, 11 6, 6 6)))'), +GeomFromText('POINT(5 10)')); +ST_CONTAINS( +GeomFromText('MULTIPOLYGON(((0 0, 0 5, 5 5, 5 0, 0 0)),((6 6, 6 11, 11 11, 11 6, 6 6)))'), +GeomFromText('POINT(5 10)')) +0 +SELECT AsText(ST_UNION( +GeomFromText('MULTIPOLYGON(((0 0, 0 5, 5 5, 5 0, 0 0)),((6 6, 6 11, 11 11, 11 6, 6 6)))'), +GeomFromText('POINT(5 10)'))); +AsText(ST_UNION( +GeomFromText('MULTIPOLYGON(((0 0, 0 5, 5 5, 5 0, 0 0)),((6 6, 6 11, 11 11, 11 6, 6 6)))'), +GeomFromText('POINT(5 10)'))) +GEOMETRYCOLLECTION(POLYGON((0 0,0 5,5 5,5 0,0 0)),POLYGON((6 6,6 11,11 11,11 6,6 6)),POINT(5 10)) +DROP PROCEDURE p1; +# +# Bug #13833019 ASSERTION `T1->RESULT_RANGE' FAILED IN GCALC_OPERATION_REDUCER::END_COUPLE +# +SELECT GeometryType(ST_BUFFER(MULTIPOLYGONFROMTEXT('MULTIPOLYGON(((0 0,9 4,3 3,0 0)),((2 2,2 2,8 8,2 3,2 2)))'), 3)); +GeometryType(ST_BUFFER(MULTIPOLYGONFROMTEXT('MULTIPOLYGON(((0 0,9 4,3 3,0 0)),((2 2,2 2,8 8,2 3,2 2)))'), 3)) +POLYGON +# +# Bug #13832749 HANDLE_FATAL_SIGNAL IN GCALC_FUNCTION::COUNT_INTERNAL +# +SELECT GeometryType(ST_BUFFER(MULTIPOLYGONFROMTEXT('MULTIPOLYGON(((3 5,2 5,2 4,3 4,3 5)),((2 2,2 8,8 8,8 2,2 2), (4 4,4 6,6 6,6 4,4 4)), ((9 9,8 1,1 5,9 9)))'),1)); +GeometryType(ST_BUFFER(MULTIPOLYGONFROMTEXT('MULTIPOLYGON(((3 5,2 5,2 4,3 4,3 5)),((2 2,2 8,8 8,8 2,2 2), (4 4,4 6,6 6,6 4,4 4)), ((9 9,8 1,1 5,9 9)))'),1)) +POLYGON +# +# Bug#13358363 - ASSERTION: N > 0 && N < SINUSES_CALCULATED*2+1 | GET_N_SINCOS/ADD_EDGE_BUFFER +# +DO ST_BUFFER(ST_GEOMCOLLFROMTEXT('linestring(1 1,2 2)'),''); +Warnings: +Warning 1292 Truncated incorrect DOUBLE value: '' +SELECT ST_WITHIN( +LINESTRINGFROMTEXT(' LINESTRING(3 8,9 2,3 8,3 3,7 6,4 7,4 7,8 1) '), +ST_BUFFER(MULTIPOLYGONFROMTEXT(' MULTIPOLYGON(((3 5,2 5,2 4,3 4,3 5)),((2 2,2 8,8 8,8 2,2 2),(4 4,4 6,6 6,6 4,4 4)),((0 5,3 5,3 2,1 2,1 1,3 1,3 0,0 0,0 3,2 3,2 4,0 4,0 5))) '), +ST_NUMINTERIORRINGS(POLYGONFROMTEXT('POLYGON((3 5,2 4,2 5,3 5)) ')))); +ST_WITHIN( +LINESTRINGFROMTEXT(' LINESTRING(3 8,9 2,3 8,3 3,7 6,4 7,4 7,8 1) '), +ST_BUFFER(MULTIPOLYGONFROMTEXT(' MULTIPOLYGON(((3 5,2 5,2 4,3 4,3 5)),((2 2,2 8,8 8,8 2,2 2),(4 4,4 6,6 6,6 4,4 4)),((0 5,3 5,3 2,1 2,1 1,3 1,3 0,0 0,0 3,2 3,2 4,0 4,0 5))) ') +0 +SELECT ST_DIMENSION(ST_BUFFER(POLYGONFROMTEXT(' POLYGON((3 5,2 5,2 4,3 4,3 5)) '), +ST_NUMINTERIORRINGS(POLYGONFROMTEXT(' POLYGON((0 0,9 3,4 2,0 0))')))); +ST_DIMENSION(ST_BUFFER(POLYGONFROMTEXT(' POLYGON((3 5,2 5,2 4,3 4,3 5)) '), +ST_NUMINTERIORRINGS(POLYGONFROMTEXT(' POLYGON((0 0,9 3,4 2,0 0))')))) +2 +SELECT ST_NUMINTERIORRINGS( +ST_ENVELOPE(ST_BUFFER(MULTIPOLYGONFROMTEXT('MULTIPOLYGON(((3 5,2 5,2 4,3 4,3 5))) '), +SRID(MULTILINESTRINGFROMTEXT('MULTILINESTRING((2 2,4 2,1 2,2 4,2 2)) '))))); +ST_NUMINTERIORRINGS( +ST_ENVELOPE(ST_BUFFER(MULTIPOLYGONFROMTEXT('MULTIPOLYGON(((3 5,2 5,2 4,3 4,3 5))) '), +SRID(MULTILINESTRINGFROMTEXT('MULTILINESTRING((2 2,4 2,1 2,2 4,2 2)) '))))) +0 +SELECT ASTEXT(ST_BUFFER(POLYGONFROMTEXT(' POLYGON((9 9,5 2,4 5,9 9))'), +SRID(GEOMETRYFROMTEXT(' MULTIPOINT(8 4,5 0,7 8,6 9,3 4,7 3,5 5) ')))); +ASTEXT(ST_BUFFER(POLYGONFROMTEXT(' POLYGON((9 9,5 2,4 5,9 9))'), +SRID(GEOMETRYFROMTEXT(' MULTIPOINT(8 4,5 0,7 8,6 9,3 4,7 3,5 5) ')))) +POLYGON((9 9,5 2,4 5,9 9)) diff --git a/mysql-test/suite/innodb_gis/r/repeatable_spatial.result b/mysql-test/suite/innodb_gis/r/repeatable_spatial.result new file mode 100644 index 00000000..065312f6 --- /dev/null +++ b/mysql-test/suite/innodb_gis/r/repeatable_spatial.result @@ -0,0 +1,174 @@ +CREATE TABLE tab(c1 int NOT NULL PRIMARY KEY,c2 POINT NOT NULL, +c3 LINESTRING NOT NULL,c4 POLYGON NOT NULL,c5 GEOMETRY NOT NULL) +ENGINE=InnoDB; +ALTER TABLE tab ADD SPATIAL INDEX idx2(c2 ASC); +ALTER TABLE tab ADD SPATIAL KEY idx3(c3 DESC); +ALTER TABLE tab ADD SPATIAL INDEX idx4(c4 ASC) COMMENT 'testing spatial index on Polygon'; +ALTER TABLE tab ADD SPATIAL KEY idx5(c5 ASC) COMMENT 'testing spatial index on Geometry'; +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(1,ST_GeomFromText('POINT(10 10)'),ST_GeomFromText('LINESTRING(5 5,20 20,30 30)'), +ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))'), +ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))')); +SELECT c1,ST_AsText(c2),ST_AsText(c3),ST_AsText(c4),ST_AsText(c5) FROM tab; +c1 ST_AsText(c2) ST_AsText(c3) ST_AsText(c4) ST_AsText(c5) +1 POINT(10 10) LINESTRING(5 5,20 20,30 30) POLYGON((30 30,40 40,50 50,30 50,30 40,30 30)) POLYGON((30 30,40 40,50 50,30 50,30 40,30 30)) +SELECT COUNT(*) FROM tab; +COUNT(*) +1 +"In connection 1" +connect con1,localhost,root,,; +connection con1; +SET GLOBAL TRANSACTION ISOLATION LEVEL REPEATABLE READ; +SELECT @@tx_isolation; +@@tx_isolation +REPEATABLE-READ +SELECT COUNT(*) FROM tab; +COUNT(*) +1 +SELECT c1,ST_AsText(c2),ST_AsText(c3),ST_AsText(c4),ST_AsText(c5) FROM tab; +c1 ST_AsText(c2) ST_AsText(c3) ST_AsText(c4) ST_AsText(c5) +1 POINT(10 10) LINESTRING(5 5,20 20,30 30) POLYGON((30 30,40 40,50 50,30 50,30 40,30 30)) POLYGON((30 30,40 40,50 50,30 50,30 40,30 30)) +"In connection 2" +connect con2,localhost,root,,; +connection con2; +SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED; +SELECT @@tx_isolation; +@@tx_isolation +READ-COMMITTED +START TRANSACTION; +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(2,ST_GeomFromText('POINT(20 20)'),ST_GeomFromText('LINESTRING(20 20,30 30,40 40)'), +ST_GeomFromText('POLYGON((40 50,40 70,50 100,70 100,80 80,70 50,40 50))'), +ST_GeomFromText('POLYGON((40 50,40 70,50 100,70 100,80 80,70 50,40 50))')); +SET @g1 = ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))'); +SET @g2 = ST_GeomFromText('POINT(10 10)'); +UPDATE tab SET C5 = ST_GeomFromText('POLYGON((300 300,400 400,500 500,300 500,300 400,300 300))') +WHERE MBREquals(tab.c4, @g1) AND MBREquals(tab.c2, @g2); +"In connection 1" +connection con1; +SET @g3 = ST_GeomFromText('POLYGON((40 50,40 70,50 100,70 100,80 80,70 50,40 50))'); +SELECT c1,ST_AsText(c2),ST_AsText(c4),ST_AsText(c5) FROM tab WHERE MBREquals(tab.c5, @g3); +c1 ST_AsText(c2) ST_AsText(c4) ST_AsText(c5) +SELECT COUNT(*) FROM tab; +COUNT(*) +1 +START TRANSACTION; +SELECT COUNT(*) FROM tab; +COUNT(*) +1 +"In connection 2" +connection con2; +SELECT COUNT(*) FROM tab; +COUNT(*) +2 +COMMIT; +disconnect con2; +"In connection 1" +connection con1; +SELECT COUNT(*) FROM tab; +COUNT(*) +1 +SET @g4 = ST_GeomFromText('POLYGON((300 300,400 400,500 500,300 500,300 400,300 300))'); +SELECT ST_AsText(c5) FROM tab WHERE MBREquals(tab.c5, @g4); +ST_AsText(c5) +COMMIT; +SELECT ST_AsText(c5) FROM tab WHERE MBREquals(tab.c5, @g4); +ST_AsText(c5) +POLYGON((300 300,400 400,500 500,300 500,300 400,300 300)) +SELECT COUNT(*) FROM tab; +COUNT(*) +2 +SELECT c1,ST_AsText(c2),ST_AsText(c4),ST_AsText(c5) FROM tab; +c1 ST_AsText(c2) ST_AsText(c4) ST_AsText(c5) +1 POINT(10 10) POLYGON((30 30,40 40,50 50,30 50,30 40,30 30)) POLYGON((300 300,400 400,500 500,300 500,300 400,300 300)) +2 POINT(20 20) POLYGON((40 50,40 70,50 100,70 100,80 80,70 50,40 50)) POLYGON((40 50,40 70,50 100,70 100,80 80,70 50,40 50)) +disconnect con1; +connection default; +DROP TABLE tab; +CREATE TABLE tab(c1 int NOT NULL PRIMARY KEY,c2 POINT NOT NULL, +c3 LINESTRING NOT NULL,c4 POLYGON NOT NULL,c5 GEOMETRY NOT NULL) +ENGINE=InnoDB; +ALTER TABLE tab ADD SPATIAL INDEX idx2(c2 ASC); +ALTER TABLE tab ADD SPATIAL KEY idx3(c3 DESC); +ALTER TABLE tab ADD SPATIAL INDEX idx4(c4 ASC) COMMENT 'testing spatial index on Polygon'; +ALTER TABLE tab ADD SPATIAL KEY idx5(c5 ASC) COMMENT 'testing spatial index on Geometry'; +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(1,ST_GeomFromText('POINT(10 10)'),ST_GeomFromText('LINESTRING(5 5,20 20,30 30)'), +ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))'), +ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))')); +SELECT c1,ST_AsText(c2),ST_AsText(c3),ST_AsText(c4),ST_AsText(c5) FROM tab; +c1 ST_AsText(c2) ST_AsText(c3) ST_AsText(c4) ST_AsText(c5) +1 POINT(10 10) LINESTRING(5 5,20 20,30 30) POLYGON((30 30,40 40,50 50,30 50,30 40,30 30)) POLYGON((30 30,40 40,50 50,30 50,30 40,30 30)) +SELECT COUNT(*) FROM tab; +COUNT(*) +1 +"In connection 1" +connect con1,localhost,root,,; +connection con1; +SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ; +SELECT @@tx_isolation; +@@tx_isolation +REPEATABLE-READ +SELECT COUNT(*) FROM tab; +COUNT(*) +1 +SELECT c1,ST_AsText(c2),ST_AsText(c3),ST_AsText(c4),ST_AsText(c5) FROM tab; +c1 ST_AsText(c2) ST_AsText(c3) ST_AsText(c4) ST_AsText(c5) +1 POINT(10 10) LINESTRING(5 5,20 20,30 30) POLYGON((30 30,40 40,50 50,30 50,30 40,30 30)) POLYGON((30 30,40 40,50 50,30 50,30 40,30 30)) +"In connection 2" +connect con2,localhost,root,,; +connection con2; +SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED; +SELECT @@tx_isolation; +@@tx_isolation +READ-COMMITTED +START TRANSACTION; +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(2,ST_GeomFromText('POINT(20 20)'),ST_GeomFromText('LINESTRING(20 20,30 30,40 40)'), +ST_GeomFromText('POLYGON((40 50,40 70,50 100,70 100,80 80,70 50,40 50))'), +ST_GeomFromText('POLYGON((40 50,40 70,50 100,70 100,80 80,70 50,40 50))')); +SET @g1 = ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))'); +SET @g2 = ST_GeomFromText('POINT(10 10)'); +UPDATE tab SET C5 = ST_GeomFromText('POLYGON((300 300,400 400,500 500,300 500,300 400,300 300))') +WHERE MBREquals(tab.c4, @g1) AND MBREquals(tab.c2, @g2); +"In connection 1" +connection con1; +SET @g3 = ST_GeomFromText('POLYGON((40 50,40 70,50 100,70 100,80 80,70 50,40 50))'); +SELECT c1,ST_AsText(c2),ST_AsText(c4),ST_AsText(c5) FROM tab WHERE MBREquals(tab.c5, @g3); +c1 ST_AsText(c2) ST_AsText(c4) ST_AsText(c5) +SELECT COUNT(*) FROM tab; +COUNT(*) +1 +START TRANSACTION; +SELECT COUNT(*) FROM tab; +COUNT(*) +1 +"In connection 2" +connection con2; +SELECT COUNT(*) FROM tab; +COUNT(*) +2 +COMMIT; +disconnect con2; +"In connection 1" +connection con1; +SELECT COUNT(*) FROM tab; +COUNT(*) +1 +SET @g4 = ST_GeomFromText('POLYGON((300 300,400 400,500 500,300 500,300 400,300 300))'); +SELECT ST_AsText(c5) FROM tab WHERE MBREquals(tab.c5, @g4); +ST_AsText(c5) +COMMIT; +SELECT ST_AsText(c5) FROM tab WHERE MBREquals(tab.c5, @g4); +ST_AsText(c5) +POLYGON((300 300,400 400,500 500,300 500,300 400,300 300)) +SELECT COUNT(*) FROM tab; +COUNT(*) +2 +SELECT c1,ST_AsText(c2),ST_AsText(c4),ST_AsText(c5) FROM tab; +c1 ST_AsText(c2) ST_AsText(c4) ST_AsText(c5) +1 POINT(10 10) POLYGON((30 30,40 40,50 50,30 50,30 40,30 30)) POLYGON((300 300,400 400,500 500,300 500,300 400,300 300)) +2 POINT(20 20) POLYGON((40 50,40 70,50 100,70 100,80 80,70 50,40 50)) POLYGON((40 50,40 70,50 100,70 100,80 80,70 50,40 50)) +disconnect con1; +connection default; +DROP TABLE tab; diff --git a/mysql-test/suite/innodb_gis/r/rollback.result b/mysql-test/suite/innodb_gis/r/rollback.result new file mode 100644 index 00000000..0d2b9c7c --- /dev/null +++ b/mysql-test/suite/innodb_gis/r/rollback.result @@ -0,0 +1,416 @@ +CREATE TABLE t4 (id bigint(12) unsigned NOT NULL auto_increment, +c2 varchar(15) collate utf8_bin default NULL, +c1 varchar(15) collate utf8_bin default NULL, +c3 varchar(10) collate utf8_bin default NULL, +spatial_point point NOT NULL, +PRIMARY KEY(id), +SPATIAL KEY (spatial_point) +)ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin; +INSERT INTO t4 (c2, c1, c3, spatial_point) VALUES +('y', 's', 'j', ST_GeomFromText('POINT(167 74)')), +('r', 'n', 'd', ST_GeomFromText('POINT(215 118)')), +('g', 'n', 'e', ST_GeomFromText('POINT(203 98)')), +('h', 'd', 'd', ST_GeomFromText('POINT(54 193)')), +('r', 'x', 'y', ST_GeomFromText('POINT(47 69)')), +('t', 'q', 'r', ST_GeomFromText('POINT(109 42)')), +('a', 'z', 'd', ST_GeomFromText('POINT(0 154)')), +('x', 'v', 'o', ST_GeomFromText('POINT(174 131)')), +('b', 'r', 'a', ST_GeomFromText('POINT(114 253)')), +('x', 'z', 'i', ST_GeomFromText('POINT(163 21)')), +('w', 'p', 'i', ST_GeomFromText('POINT(42 102)')), +('g', 'j', 'j', ST_GeomFromText('POINT(170 133)')), +('m', 'g', 'n', ST_GeomFromText('POINT(28 22)')), +('b', 'z', 'h', ST_GeomFromText('POINT(174 28)')), +('q', 'k', 'f', ST_GeomFromText('POINT(233 73)')), +('w', 'w', 'a', ST_GeomFromText('POINT(124 200)')), +('t', 'j', 'w', ST_GeomFromText('POINT(252 101)')), +('d', 'r', 'd', ST_GeomFromText('POINT(98 18)')), +('w', 'o', 'y', ST_GeomFromText('POINT(165 31)')), +('y', 'h', 't', ST_GeomFromText('POINT(14 220)')), +('d', 'p', 'u', ST_GeomFromText('POINT(223 196)')), +('g', 'y', 'g', ST_GeomFromText('POINT(207 96)')), +('x', 'm', 'n', ST_GeomFromText('POINT(214 3)')), +('g', 'v', 'e', ST_GeomFromText('POINT(140 205)')), +('g', 'm', 'm', ST_GeomFromText('POINT(10 236)')), +('i', 'r', 'j', ST_GeomFromText('POINT(137 228)')), +('w', 's', 'p', ST_GeomFromText('POINT(115 6)')), +('o', 'n', 'k', ST_GeomFromText('POINT(158 129)')), +('j', 'h', 'l', ST_GeomFromText('POINT(129 72)')), +('f', 'x', 'l', ST_GeomFromText('POINT(139 207)')), +('u', 'd', 'n', ST_GeomFromText('POINT(125 109)')), +('b', 'a', 'z', ST_GeomFromText('POINT(30 32)')), +('m', 'h', 'o', ST_GeomFromText('POINT(251 251)')), +('f', 'r', 'd', ST_GeomFromText('POINT(243 211)')), +('b', 'd', 'r', ST_GeomFromText('POINT(232 80)')), +('g', 'k', 'v', ST_GeomFromText('POINT(15 100)')), +('i', 'f', 'c', ST_GeomFromText('POINT(109 66)')), +('r', 't', 'j', ST_GeomFromText('POINT(178 6)')), +('y', 'n', 'f', ST_GeomFromText('POINT(233 211)')), +('f', 'y', 'm', ST_GeomFromText('POINT(99 16)')), +('z', 'q', 'l', ST_GeomFromText('POINT(39 49)')), +('j', 'c', 'r', ST_GeomFromText('POINT(75 187)')), +('c', 'y', 'y', ST_GeomFromText('POINT(246 253)')), +('w', 'u', 'd', ST_GeomFromText('POINT(56 190)')), +('n', 'q', 'm', ST_GeomFromText('POINT(73 149)')), +('d', 'y', 'a', ST_GeomFromText('POINT(134 6)')), +('z', 's', 'w', ST_GeomFromText('POINT(216 225)')), +('d', 'u', 'k', ST_GeomFromText('POINT(132 70)')), +('f', 'v', 't', ST_GeomFromText('POINT(187 141)')), +('r', 'r', 'a', ST_GeomFromText('POINT(152 39)')), +('y', 'p', 'o', ST_GeomFromText('POINT(45 27)')), +('p', 'n', 'm', ST_GeomFromText('POINT(228 148)')), +('e', 'g', 'e', ST_GeomFromText('POINT(88 81)')), +('m', 'a', 'h', ST_GeomFromText('POINT(35 29)')), +('m', 'h', 'f', ST_GeomFromText('POINT(30 71)')), +('h', 'k', 'i', ST_GeomFromText('POINT(244 78)')), +('z', 'v', 'd', ST_GeomFromText('POINT(241 38)')), +('q', 'l', 'j', ST_GeomFromText('POINT(13 71)')), +('s', 'p', 'g', ST_GeomFromText('POINT(108 38)')), +('q', 's', 'j', ST_GeomFromText('POINT(92 101)')), +('l', 'h', 'g', ST_GeomFromText('POINT(120 78)')), +('w', 't', 'b', ST_GeomFromText('POINT(193 109)')), +('b', 's', 's', ST_GeomFromText('POINT(223 211)')), +('w', 'w', 'y', ST_GeomFromText('POINT(122 42)')), +('q', 'c', 'c', ST_GeomFromText('POINT(104 102)')), +('w', 'g', 'n', ST_GeomFromText('POINT(213 120)')), +('p', 'q', 'a', ST_GeomFromText('POINT(247 148)')), +('c', 'z', 'e', ST_GeomFromText('POINT(18 106)')), +('z', 'u', 'n', ST_GeomFromText('POINT(70 133)')), +('j', 'n', 'x', ST_GeomFromText('POINT(232 13)')), +('e', 'h', 'f', ST_GeomFromText('POINT(22 135)')), +('w', 'l', 'f', ST_GeomFromText('POINT(9 180)')), +('a', 'v', 'q', ST_GeomFromText('POINT(163 228)')), +('i', 'z', 'o', ST_GeomFromText('POINT(180 100)')), +('e', 'c', 'l', ST_GeomFromText('POINT(182 231)')), +('c', 'k', 'o', ST_GeomFromText('POINT(19 60)')), +('q', 'f', 'p', ST_GeomFromText('POINT(79 95)')), +('m', 'd', 'r', ST_GeomFromText('POINT(3 127)')), +('m', 'e', 't', ST_GeomFromText('POINT(136 154)')), +('w', 'w', 'w', ST_GeomFromText('POINT(102 15)')), +('l', 'n', 'q', ST_GeomFromText('POINT(71 196)')), +('p', 'k', 'c', ST_GeomFromText('POINT(47 139)')), +('j', 'o', 'r', ST_GeomFromText('POINT(177 128)')), +('j', 'q', 'a', ST_GeomFromText('POINT(170 6)')), +('b', 'a', 'o', ST_GeomFromText('POINT(63 211)')), +('g', 's', 'o', ST_GeomFromText('POINT(144 251)')), +('w', 'u', 'w', ST_GeomFromText('POINT(221 214)')), +('g', 'a', 'm', ST_GeomFromText('POINT(14 102)')), +('u', 'q', 'z', ST_GeomFromText('POINT(86 200)')), +('k', 'a', 'm', ST_GeomFromText('POINT(144 222)')), +('j', 'u', 'r', ST_GeomFromText('POINT(216 142)')), +('q', 'k', 'v', ST_GeomFromText('POINT(121 236)')), +('p', 'o', 'r', ST_GeomFromText('POINT(108 102)')), +('b', 'd', 'x', ST_GeomFromText('POINT(127 198)')), +('k', 's', 'a', ST_GeomFromText('POINT(2 150)')), +('f', 'm', 'f', ST_GeomFromText('POINT(160 191)')), +('q', 'y', 'x', ST_GeomFromText('POINT(98 111)')), +('o', 'f', 'm', ST_GeomFromText('POINT(232 218)')), +('c', 'w', 'j', ST_GeomFromText('POINT(156 165)')), +('s', 'q', 'v', ST_GeomFromText('POINT(98 161)')); +INSERT INTO t4 (c2, c1, c3, spatial_point) VALUES +('f', 'y', 'p', ST_GeomFromText('POINT(109 235)')), +('b', 'e', 'v', ST_GeomFromText('POINT(20 48)')), +('i', 'u', 'f', ST_GeomFromText('POINT(15 55)')), +('o', 'r', 'z', ST_GeomFromText('POINT(105 64)')), +('a', 'p', 'a', ST_GeomFromText('POINT(142 236)')), +('g', 'i', 'k', ST_GeomFromText('POINT(10 49)')), +('x', 'z', 'x', ST_GeomFromText('POINT(192 200)')), +('c', 'v', 'r', ST_GeomFromText('POINT(94 168)')), +('y', 'z', 'e', ST_GeomFromText('POINT(141 51)')), +('h', 'm', 'd', ST_GeomFromText('POINT(35 251)')), +('v', 'm', 'q', ST_GeomFromText('POINT(44 90)')), +('j', 'l', 'z', ST_GeomFromText('POINT(67 237)')), +('i', 'v', 'a', ST_GeomFromText('POINT(75 14)')), +('b', 'q', 't', ST_GeomFromText('POINT(153 33)')), +('e', 'm', 'a', ST_GeomFromText('POINT(247 49)')), +('l', 'y', 'g', ST_GeomFromText('POINT(56 203)')), +('v', 'o', 'r', ST_GeomFromText('POINT(90 54)')), +('r', 'n', 'd', ST_GeomFromText('POINT(135 83)')), +('j', 't', 'u', ST_GeomFromText('POINT(174 239)')), +('u', 'n', 'g', ST_GeomFromText('POINT(104 191)')), +('p', 'q', 'y', ST_GeomFromText('POINT(63 171)')), +('o', 'q', 'p', ST_GeomFromText('POINT(192 103)')), +('f', 'x', 'e', ST_GeomFromText('POINT(244 30)')), +('n', 'x', 'c', ST_GeomFromText('POINT(92 103)')), +('r', 'q', 'z', ST_GeomFromText('POINT(166 20)')), +('s', 'a', 'j', ST_GeomFromText('POINT(137 205)')), +('z', 't', 't', ST_GeomFromText('POINT(99 134)')), +('o', 'm', 'j', ST_GeomFromText('POINT(217 3)')), +('n', 'h', 'j', ST_GeomFromText('POINT(211 17)')), +('v', 'v', 'a', ST_GeomFromText('POINT(41 137)')), +('q', 'o', 'j', ST_GeomFromText('POINT(5 92)')), +('z', 'y', 'e', ST_GeomFromText('POINT(175 212)')), +('j', 'z', 'h', ST_GeomFromText('POINT(224 194)')), +('a', 'g', 'm', ST_GeomFromText('POINT(31 119)')), +('p', 'c', 'f', ST_GeomFromText('POINT(17 221)')), +('t', 'h', 'k', ST_GeomFromText('POINT(26 203)')), +('u', 'w', 'p', ST_GeomFromText('POINT(47 185)')), +('z', 'a', 'c', ST_GeomFromText('POINT(61 133)')), +('u', 'k', 'a', ST_GeomFromText('POINT(210 115)')), +('k', 'f', 'h', ST_GeomFromText('POINT(125 113)')), +('t', 'v', 'y', ST_GeomFromText('POINT(12 239)')), +('u', 'v', 'd', ST_GeomFromText('POINT(90 24)')), +('m', 'y', 'w', ST_GeomFromText('POINT(25 243)')), +('d', 'n', 'g', ST_GeomFromText('POINT(122 92)')), +('z', 'm', 'f', ST_GeomFromText('POINT(235 110)')), +('q', 'd', 'f', ST_GeomFromText('POINT(233 217)')), +('a', 'v', 'u', ST_GeomFromText('POINT(69 59)')), +('x', 'k', 'p', ST_GeomFromText('POINT(240 14)')), +('i', 'v', 'r', ST_GeomFromText('POINT(154 42)')), +('w', 'h', 'l', ST_GeomFromText('POINT(178 156)')), +('d', 'h', 'n', ST_GeomFromText('POINT(65 157)')), +('c', 'k', 'z', ST_GeomFromText('POINT(62 33)')), +('e', 'l', 'w', ST_GeomFromText('POINT(162 1)')), +('r', 'f', 'i', ST_GeomFromText('POINT(127 71)')), +('q', 'm', 'c', ST_GeomFromText('POINT(63 118)')), +('c', 'h', 'u', ST_GeomFromText('POINT(205 203)')), +('d', 't', 'p', ST_GeomFromText('POINT(234 87)')), +('s', 'g', 'h', ST_GeomFromText('POINT(149 34)')), +('o', 'b', 'q', ST_GeomFromText('POINT(159 179)')), +('k', 'u', 'f', ST_GeomFromText('POINT(202 254)')), +('u', 'f', 'g', ST_GeomFromText('POINT(70 15)')), +('x', 's', 'b', ST_GeomFromText('POINT(25 181)')), +('s', 'c', 'g', ST_GeomFromText('POINT(252 17)')), +('a', 'c', 'f', ST_GeomFromText('POINT(89 67)')), +('r', 'e', 'q', ST_GeomFromText('POINT(55 54)')), +('f', 'i', 'k', ST_GeomFromText('POINT(178 230)')), +('p', 'e', 'l', ST_GeomFromText('POINT(198 28)')), +('w', 'o', 'd', ST_GeomFromText('POINT(204 189)')), +('c', 'a', 'g', ST_GeomFromText('POINT(230 178)')), +('r', 'o', 'e', ST_GeomFromText('POINT(61 116)')), +('w', 'a', 'a', ST_GeomFromText('POINT(178 237)')), +('v', 'd', 'e', ST_GeomFromText('POINT(70 85)')), +('k', 'c', 'e', ST_GeomFromText('POINT(147 118)')), +('d', 'q', 't', ST_GeomFromText('POINT(218 77)')), +('k', 'g', 'f', ST_GeomFromText('POINT(192 113)')), +('w', 'n', 'e', ST_GeomFromText('POINT(92 124)')), +('r', 'm', 'q', ST_GeomFromText('POINT(130 65)')), +('o', 'r', 'r', ST_GeomFromText('POINT(174 233)')), +('k', 'n', 't', ST_GeomFromText('POINT(175 147)')), +('q', 'm', 'r', ST_GeomFromText('POINT(18 208)')), +('l', 'd', 'i', ST_GeomFromText('POINT(13 104)')), +('w', 'o', 'y', ST_GeomFromText('POINT(207 39)')), +('p', 'u', 'o', ST_GeomFromText('POINT(114 31)')), +('y', 'a', 'p', ST_GeomFromText('POINT(106 59)')), +('a', 'x', 'z', ST_GeomFromText('POINT(17 57)')), +('v', 'h', 'x', ST_GeomFromText('POINT(170 13)')), +('t', 's', 'u', ST_GeomFromText('POINT(84 18)')), +('z', 'z', 'f', ST_GeomFromText('POINT(250 197)')), +('l', 'z', 't', ST_GeomFromText('POINT(59 80)')), +('j', 'g', 's', ST_GeomFromText('POINT(54 26)')), +('g', 'v', 'm', ST_GeomFromText('POINT(89 98)')), +('q', 'v', 'b', ST_GeomFromText('POINT(39 240)')), +('x', 'k', 'v', ST_GeomFromText('POINT(246 207)')), +('k', 'u', 'i', ST_GeomFromText('POINT(105 111)')), +('w', 'z', 's', ST_GeomFromText('POINT(235 8)')), +('d', 'd', 'd', ST_GeomFromText('POINT(105 4)')), +('c', 'z', 'q', ST_GeomFromText('POINT(13 140)')), +('m', 'k', 'i', ST_GeomFromText('POINT(208 120)')), +('g', 'a', 'g', ST_GeomFromText('POINT(9 182)')), +('z', 'j', 'r', ST_GeomFromText('POINT(149 153)')), +('h', 'f', 'g', ST_GeomFromText('POINT(81 236)')), +('m', 'e', 'q', ST_GeomFromText('POINT(209 215)')), +('c', 'h', 'y', ST_GeomFromText('POINT(235 70)')), +('i', 'e', 'g', ST_GeomFromText('POINT(138 26)')), +('m', 't', 'u', ST_GeomFromText('POINT(119 237)')), +('o', 'w', 's', ST_GeomFromText('POINT(193 166)')), +('f', 'm', 'q', ST_GeomFromText('POINT(85 96)')), +('x', 'l', 'x', ST_GeomFromText('POINT(58 115)')), +('x', 'q', 'u', ST_GeomFromText('POINT(108 210)')), +('b', 'h', 'i', ST_GeomFromText('POINT(250 139)')), +('y', 'd', 'x', ST_GeomFromText('POINT(199 135)')), +('w', 'h', 'p', ST_GeomFromText('POINT(247 233)')), +('p', 'z', 't', ST_GeomFromText('POINT(148 249)')), +('q', 'a', 'u', ST_GeomFromText('POINT(174 78)')), +('v', 't', 'm', ST_GeomFromText('POINT(70 228)')), +('t', 'n', 'f', ST_GeomFromText('POINT(123 2)')), +('x', 't', 'b', ST_GeomFromText('POINT(35 50)')), +('r', 'j', 'f', ST_GeomFromText('POINT(200 51)')), +('s', 'q', 'o', ST_GeomFromText('POINT(23 184)')), +('u', 'v', 'z', ST_GeomFromText('POINT(7 113)')), +('v', 'u', 'l', ST_GeomFromText('POINT(145 190)')), +('o', 'k', 'i', ST_GeomFromText('POINT(161 122)')), +('l', 'y', 'e', ST_GeomFromText('POINT(17 232)')), +('t', 'b', 'e', ST_GeomFromText('POINT(120 50)')), +('e', 's', 'u', ST_GeomFromText('POINT(254 1)')), +('d', 'd', 'u', ST_GeomFromText('POINT(167 140)')), +('o', 'b', 'x', ST_GeomFromText('POINT(186 237)')), +('m', 's', 's', ST_GeomFromText('POINT(172 149)')), +('t', 'y', 'a', ST_GeomFromText('POINT(149 85)')), +('x', 't', 'r', ST_GeomFromText('POINT(10 165)')), +('g', 'c', 'e', ST_GeomFromText('POINT(95 165)')), +('e', 'e', 'z', ST_GeomFromText('POINT(98 65)')), +('f', 'v', 'i', ST_GeomFromText('POINT(149 144)')), +('o', 'p', 'm', ST_GeomFromText('POINT(233 67)')), +('t', 'u', 'b', ST_GeomFromText('POINT(109 215)')), +('o', 'o', 'b', ST_GeomFromText('POINT(130 48)')), +('e', 'm', 'h', ST_GeomFromText('POINT(88 189)')), +('e', 'v', 'y', ST_GeomFromText('POINT(55 29)')), +('e', 't', 'm', ST_GeomFromText('POINT(129 55)')), +('p', 'p', 'i', ST_GeomFromText('POINT(126 222)')), +('c', 'i', 'c', ST_GeomFromText('POINT(19 158)')), +('c', 'b', 's', ST_GeomFromText('POINT(13 19)')), +('u', 'y', 'a', ST_GeomFromText('POINT(114 5)')), +('a', 'o', 'f', ST_GeomFromText('POINT(227 232)')), +('t', 'c', 'z', ST_GeomFromText('POINT(63 62)')), +('d', 'o', 'k', ST_GeomFromText('POINT(48 228)')), +('x', 'c', 'e', ST_GeomFromText('POINT(204 2)')), +('e', 'e', 'g', ST_GeomFromText('POINT(125 43)')), +('o', 'r', 'f', ST_GeomFromText('POINT(171 140)')); +INSERT INTO t4 (c2, c1, c3, spatial_point) VALUES +('b', 'c', 'e', ST_GeomFromText('POINT(41 137)')), +('p', 'y', 'k', ST_GeomFromText('POINT(50 22)')), +('s', 'c', 'h', ST_GeomFromText('POINT(208 173)')), +('x', 'u', 'l', ST_GeomFromText('POINT(199 175)')), +('s', 'r', 'h', ST_GeomFromText('POINT(85 192)')), +('j', 'k', 'u', ST_GeomFromText('POINT(18 25)')), +('p', 'w', 'h', ST_GeomFromText('POINT(152 197)')), +('e', 'd', 'c', ST_GeomFromText('POINT(229 3)')), +('o', 'x', 'k', ST_GeomFromText('POINT(187 155)')), +('o', 'b', 'k', ST_GeomFromText('POINT(208 150)')), +('d', 'a', 'j', ST_GeomFromText('POINT(70 87)')), +('f', 'e', 'k', ST_GeomFromText('POINT(156 96)')), +('u', 'y', 'p', ST_GeomFromText('POINT(239 193)')), +('n', 'v', 'p', ST_GeomFromText('POINT(223 98)')), +('z', 'j', 'r', ST_GeomFromText('POINT(87 89)')), +('h', 'x', 'x', ST_GeomFromText('POINT(92 0)')), +('r', 'v', 'r', ST_GeomFromText('POINT(159 139)')), +('v', 'g', 'g', ST_GeomFromText('POINT(16 229)')), +('z', 'k', 'u', ST_GeomFromText('POINT(99 52)')), +('p', 'p', 'o', ST_GeomFromText('POINT(105 125)')), +('w', 'h', 'y', ST_GeomFromText('POINT(105 154)')), +('v', 'y', 'z', ST_GeomFromText('POINT(134 238)')), +('x', 'o', 'o', ST_GeomFromText('POINT(178 88)')), +('z', 'w', 'd', ST_GeomFromText('POINT(123 60)')), +('q', 'f', 'u', ST_GeomFromText('POINT(64 90)')), +('s', 'n', 't', ST_GeomFromText('POINT(50 138)')), +('v', 'p', 't', ST_GeomFromText('POINT(114 91)')), +('a', 'o', 'n', ST_GeomFromText('POINT(78 43)')), +('k', 'u', 'd', ST_GeomFromText('POINT(185 161)')), +('w', 'd', 'n', ST_GeomFromText('POINT(25 92)')), +('k', 'w', 'a', ST_GeomFromText('POINT(59 238)')), +('t', 'c', 'f', ST_GeomFromText('POINT(65 87)')), +('g', 's', 'p', ST_GeomFromText('POINT(238 126)')), +('d', 'n', 'y', ST_GeomFromText('POINT(107 173)')), +('l', 'a', 'w', ST_GeomFromText('POINT(125 152)')), +('m', 'd', 'j', ST_GeomFromText('POINT(146 53)')), +('q', 'm', 'c', ST_GeomFromText('POINT(217 187)')), +('i', 'r', 'r', ST_GeomFromText('POINT(6 113)')), +('e', 'j', 'b', ST_GeomFromText('POINT(37 83)')), +('w', 'w', 'h', ST_GeomFromText('POINT(83 199)')), +('k', 'b', 's', ST_GeomFromText('POINT(170 64)')), +('s', 'b', 'c', ST_GeomFromText('POINT(163 130)')), +('c', 'h', 'a', ST_GeomFromText('POINT(141 3)')), +('k', 'j', 'u', ST_GeomFromText('POINT(143 76)')), +('r', 'h', 'o', ST_GeomFromText('POINT(243 92)')), +('i', 'd', 'b', ST_GeomFromText('POINT(205 13)')), +('r', 'y', 'q', ST_GeomFromText('POINT(138 8)')), +('m', 'o', 'i', ST_GeomFromText('POINT(36 45)')), +('v', 'g', 'm', ST_GeomFromText('POINT(0 40)')), +('f', 'e', 'i', ST_GeomFromText('POINT(76 6)')), +('c', 'q', 'q', ST_GeomFromText('POINT(115 248)')), +('x', 'c', 'i', ST_GeomFromText('POINT(29 74)')), +('l', 's', 't', ST_GeomFromText('POINT(83 18)')), +('t', 't', 'a', ST_GeomFromText('POINT(26 168)')), +('u', 'n', 'x', ST_GeomFromText('POINT(200 110)')), +('j', 'b', 'd', ST_GeomFromText('POINT(216 136)')), +('s', 'p', 'w', ST_GeomFromText('POINT(38 156)')), +('f', 'b', 'v', ST_GeomFromText('POINT(29 186)')), +('v', 'e', 'r', ST_GeomFromText('POINT(149 40)')), +('v', 't', 'm', ST_GeomFromText('POINT(184 24)')), +('y', 'g', 'a', ST_GeomFromText('POINT(219 105)')), +('s', 'f', 'i', ST_GeomFromText('POINT(114 130)')), +('e', 'q', 'h', ST_GeomFromText('POINT(203 135)')), +('h', 'g', 'b', ST_GeomFromText('POINT(9 208)')), +('o', 'l', 'r', ST_GeomFromText('POINT(245 79)')), +('s', 's', 'v', ST_GeomFromText('POINT(238 198)')), +('w', 'w', 'z', ST_GeomFromText('POINT(209 232)')), +('v', 'd', 'n', ST_GeomFromText('POINT(30 193)')), +('q', 'w', 'k', ST_GeomFromText('POINT(133 18)')), +('o', 'h', 'o', ST_GeomFromText('POINT(42 140)')), +('f', 'f', 'h', ST_GeomFromText('POINT(145 1)')), +('u', 's', 'r', ST_GeomFromText('POINT(70 62)')), +('x', 'n', 'q', ST_GeomFromText('POINT(33 86)')), +('u', 'p', 'v', ST_GeomFromText('POINT(232 220)')), +('z', 'e', 'a', ST_GeomFromText('POINT(130 69)')), +('r', 'u', 'z', ST_GeomFromText('POINT(243 241)')), +('b', 'n', 't', ST_GeomFromText('POINT(120 12)')), +('u', 'f', 's', ST_GeomFromText('POINT(190 212)')), +('a', 'd', 'q', ST_GeomFromText('POINT(235 191)')), +('f', 'q', 'm', ST_GeomFromText('POINT(176 2)')), +('n', 'c', 's', ST_GeomFromText('POINT(218 163)')), +('e', 'm', 'h', ST_GeomFromText('POINT(163 108)')), +('c', 'f', 'l', ST_GeomFromText('POINT(220 115)')), +('c', 'v', 'q', ST_GeomFromText('POINT(66 45)')), +('w', 'v', 'x', ST_GeomFromText('POINT(251 220)')), +('f', 'w', 'z', ST_GeomFromText('POINT(146 149)')), +('h', 'n', 'h', ST_GeomFromText('POINT(148 128)')), +('y', 'k', 'v', ST_GeomFromText('POINT(28 110)')), +('c', 'x', 'q', ST_GeomFromText('POINT(13 13)')), +('e', 'd', 's', ST_GeomFromText('POINT(91 190)')), +('c', 'w', 'c', ST_GeomFromText('POINT(10 231)')), +('u', 'j', 'n', ST_GeomFromText('POINT(250 21)')), +('w', 'n', 'x', ST_GeomFromText('POINT(141 69)')), +('f', 'p', 'y', ST_GeomFromText('POINT(228 246)')), +('d', 'q', 'f', ST_GeomFromText('POINT(194 22)')), +('d', 'z', 'l', ST_GeomFromText('POINT(233 181)')), +('c', 'a', 'q', ST_GeomFromText('POINT(183 96)')), +('m', 'i', 'd', ST_GeomFromText('POINT(117 226)')), +('z', 'y', 'y', ST_GeomFromText('POINT(62 81)')), +('g', 'v', 'm', ST_GeomFromText('POINT(66 158)')); +start transaction; +INSERT INTO t4 (c2, c1, c3, spatial_point) VALUES +('f', 'x', 'p', ST_GeomFromText('POINT(92 181)')); +rollback; +INSERT INTO t4 (c2, c1, c3, spatial_point) VALUES +('f', 'x', 'p', ST_GeomFromText('POINT(92 181)')); +INSERT INTO t4 (c2, c1, c3, spatial_point) VALUES ('n', 'x', 'p', ST_GeomFromText('POINT(0 1280)')); +INSERT INTO t4 (c2, c1, c3, spatial_point) VALUES ('n', 'x', 'p', ST_GeomFromText('POINT(45 1280)')); +INSERT INTO t4 VALUES (1280, 'n', 'x', 'p', ST_GeomFromText('POINT(44 253)')); +DELETE FROM t4 WHERE id = 1280; +INSERT INTO t4 VALUES (1280, 'n', 'x', 'p', ST_GeomFromText('POINT(44 253)')); +start transaction; +DELETE FROM t4 WHERE id = 1280; +rollback; +start transaction; +INSERT INTO t4 (c2, c1, c3, spatial_point) VALUES +('m', 'u', 'p', ST_GeomFromText('POINT(1192 1181)')); +rollback; +DROP TABLE t4; +SET GLOBAL innodb_file_per_table='on'; +create table t1(i int primary key, +a geometry not null, spatial index(a)) row_format=dynamic engine=innodb; +insert into t1 values(1, st_geomfromtext(concat('multilinestring(','(-4286 -5983,52762 -5983,52762 79876,-4286 79876,-4286 -5983)',',','(-4286 -5983,52762 -5983,52762 79876,-4286 79876,-4286 -5983)',',','(-768 -136,-771 2864,-772 2860,-777 2862,-775 2858,-775 2863,-770 2866,-765 2871,-761 2874,-759 2878,-759 2883,-759 2886,-758 2886,-758 2886,-755 2890,-752 2890,-751 2890,1249 2890,1250 2892,1251 2892,1251 2892,1256 2897,1259 2894,1256 2899,1253 2904,1256 2904,1257 2906,1252 2910,1253 2910,1256 2912,1255 2913,1260 2911,1256 2913,1255 2918,1257 2921,1259 2925,1262 2922,1263 2923,1266 2926,1268 2929,1269 2932,1273 2937,1277 2942,1282 2942,1284 2939,1287 2935,1290 2935,1293 2938,1296 2940,1299 2942,1302 2947,1307 2952,1311 2956,1312 2958,1307 2956,1311 2955,1307 2956,1307 2960,1307 2962,1311 2965,1315 2967,1314 2968,1319 2969,1322 2973,1324 2978,1323 2977,1327 2982,1330 7982,1332 7985,1332 7986,1332 7988,1328 7991,1328 7991,1328 7991,1253 2910,1249 2908,1251 2908,1253 2913,1253 2909,1256 2914,1255 2916,1259 2919,1261 2923,1262 2923,1266 2925,1270 2930,1270 2932,1267 2929,1269 2929,1269 2931,1269 2926,1265 1926,1270 1926,1274 1926,1274 1929,1269 1929,1270 1931,1272 1935,1269 1935,1273 1938,1278 1938,1278 1938,1280 1943,1275 1948,1276 1951,1279 1948,1280 1952,1281 1952,1286 1954,1290 1958,1290 1963,1294 1964,1298 1962,1298 1958,1302 1963,1302 1967,1307 -2033,1311 -2030,1307 -2030,1310 -2025,1314 -2020,1317 -1020,1321 -1016,1321 -1018,1321 -1015,1326 -1016,1324 -1016,1327 -1011,1326 -1007,1326 -1002,1326 -1004,1321 -1004,1321 -1003,1324 -1008,1328 -1007,1328 -1003,1333 -999,1336 -998,1339 -997,1337 -996,1340 -2996,1335 -3000,1339 -2996,1343 -2995,1346 -2990,1341 -2990,1345 -2991,1345 -2995,1269 2931,1269 2936,1271 2941,1275 2941,6275 2943,6274 2943,6279 2939,6274 2942,6274 2946,6275 2947,6276 2948,6280 2947,6282 2951,6287 2952,6287 2956,6289 2959,6294 4959,6298 4964,6302 4965,6300 6965,6305 6965,11305 6967,11305 6967,11310 6966,11310 6966,11314 6964,11318 6969,11318 6972,11323 6974,11328 6977,11329 6979,11333 6982,11337 6982,11334 6982,11337 6983,11341 6988,11345 6991,11349 6992,11353 6993,11353 6996,11353 7000,11356 7000,11353 6000,11350 6002,11353 6004,11354 6007,11356 6009,11358 6009,11359 6011,11363 6016,11365 6013,11369 6015,11372 6017,11377 6022,11381 6025,11382 9025,11385 9029,11390 9024,11389 9020,11391 9020,11389 9016,11394 12016,11397 12021,11400 12021,11405 12024,11405 8024,11403 8029,11403 8032,11401 8033,11406 8032,11402 8027,11406 8027,11410 8029,11408 8030,11408 8035,11413 8035,11418 8038,11423 8038,11428 8036,11428 8037,11433 8033,11435 8032,6435 8035,6439 8036,6440 8034,6441 8039,6442 8043,6446 8045,6451 12045,6454 12050,6454 12049,6455 12054,6457 12057,6458 12060,6461 13060,6466 13060,6467 13065,6467 13070,6465 13073,6465 13073,6466 13077,6463 16077,6465 16081,6468 16077,6471 16077,6475 16078,6475 16080,6470 16082,6465 16084,6465 16088,6470 16091,6471 16091,6469 16089,6473 16091,6477 16091,6477 16093,6480 16098,6476 16099,6478 16099,6481 16100,6486 16105,6486 16110,6488 16105,6485 16107,6487 16108,6484 16104,6485 16101,6488 16101,6489 16103,6493 16105,6493 16108,6490 16110,6487 16113,6492 16116,6495 16118,6499 16123,6497 16124,6496 16127,6498 16132,6497 16134,6499 16138,6503 16143,6502 16138,6500 16140,6502 16144,6502 16146,6503 16150,6498 16151,6500 16154,6495 16154,6494 16154,6499 16156,7499 16158,7504 16161,7507 16166,7503 16163,7505 16163,7508 16163,7511 16165,7514 16162,7517 16165,7519 16166,7524 16165,7527 16168,7529 16172,7534 16172,7534 16177,7539 16179,7537 16179,7538 16184,7538 16185,7538 16189,7540 16191,7540 16193,7541 16193,7545 16197,7550 16199,7554 16204,7558 16208,7559 16211,7560 16214,7564 16216,7563 16215,7558 16219,7558 16216,7555 16221,7559 16223,7559 16224,7559 16226,7561 16231,7558 16235,7553 16240,7552 16236,7557 16234,7552 16236,7554 16238,7557 16239,7552 16243,7553 16243,7555 16243,7555 14243,7558 14248,7559 14243,7559 14239,7561 14241,7561 14243,7561 14248,7562 14250,7566 14254,7570 14254,7575 14256,7575 14259,7576 14259,7579 14259,7583 14257,7583 14257,7583 14253,7584 14249,7579 14247,7576 14245,7579 14250,7577 14253,7582 14256,7582 14257,7578 14253,7575 14252,7577 14255,7578 14255,7578 14256,7581 14257,7584 14252,7588 14252,7592 14249,7592 18249,7588 18253,7590 18255,7592 18259,7596 18254,7601 18255,7601 17255,7605 17256,7610 17258,7613 17261,7617 17262,7619 17266,7617 17267,7621 17268,7623 17272,7626 17272,7626 17277,7625 17282,7620 17281,7617 17284,7618 17287,7617 17283,7616 17281,7621 17279,7624 17281,7624 17282,7624 17279,7628 17279,7628 17280,7633 17284,7637 17280,7638 17280,7638 17281,7641 17282,7641 17282,7638 17283,7638 17284,7643 17280,7647 17281,7652 17285,7656 17285,7658 17288,7660 17290,7661 17292,7664 17297,7666 17302,7663 17304,7664 17300,7659 17303,7661 17303,7657 17307,7659 17307,8659 17310,8661 17313,8664 17314,8665 17313,8665 17309,8669 17313,8671 17316,8670 17320,8668 17320,3668 17323,3665 17324,3661 17329,3661 17331,1661 17332,1661 17333,1663 17338,1668 17333,1663 17333,1667 17331,1668 17331,1664 17334,1666 17337,1665 17337,6499 16138,6503 18138,10503 18142,10503 18142,10505 21142,10502 21144,10502 21142,10504 21141,10504 21139,10508 21140,10512 21141,10512 21143,10515 21144,10517 21147,10517 21143,10519 21143,10519 21146,10519 21142,10519 21142,10522 21141,10523 21141,10523 21145,10523 21149,10527 21153,10531 21154,10534 21158,10531 21158,10527 21160,10532 21165,10534 21165,10531 21165,10533 21162,10529 21163,10532 21160,10534 21163,10535 21161,10540 25161,10538 25164,10538 25166,10540 25171,10543 25171,10547 25175,10547 25175,10550 25178,10552 25182,10556 25177,10558 25181,10558 25183,10563 25187,10564 25183,10560 25188,10565 25188,10569 25191,10573 25195,10575 25199,7581 14257,7585 14257,7586 14257,7588 14254,7590 14255,7593 14256,7590 14260,7595 14263,7595 14259,7597 14256,7598 14261,7598 14258,7599 14261,7600 14261,7602 14258,7602 14258,7598 14259,7598 14264,7600 14267,7601 17267,7597 17268,7602 17273,7605 17276,7605 17276,7603 17279,7604 17279,7608 17278,7613 17282,7615 17285,7617 17288,2617 17288,2617 17289,2620 17289,2620 17285,-1380 17288,-1382 17287,-1384 17292,-1384 17294,-1380 17295,-1380 17297,-1380 17299,-1375 17303,-1372 17303,-1373 17298,-1368 13298,-1365 13301,-1366 13297,-1371 13295,-1371 13298,-1371 13298,-1375 13301,-1378 13302,-1378 13302,-1377 13302,-1374 13301,-1373 13306,-1370 13311,-1371 13307,-1366 13307,-1365 13309,11349 6992,11352 6992,11354 6997,11356 7002,11356 7007,11359 7010,11354 7005,9354 7009,9356 7011,9359 7016,9360 7014,9360 7015,9363 8015,9367 11015,9370 11012,9367 11012,9368 11016,9363 11017,9360 11018,9364 11021,9359 11016,11402 8027,11399 8029,11400 8033,11401 8034,11405 8029,11407 8027,11410 8029,12410 8033,12414 8035,12412 8040,12415 8040,12416 8045,12421 8042,12426 8037,12424 8042,12427 8042,12430 8044,12434 8046,12430 8048,12434 8045,9434 8045,9439 8043,9442 8043,9442 8045,9442 8040,9442 8035,9438 8038,9440 8039,9445 8036,9446 8039,9441 8043,12441 8047,12440 8048,12444 8052,12445 8057,12450 8053,12452 8053,12448 8054,12443 8058,12441 8063,12444 8067,12449 8067,12448 8071,12451 8076,12454 8073,17454 8073,17457 8074,17459 8079,17463 8079,17461 8080,17464 4080,17467 4085,17463 4085,17463 4088,17462 4090,17464 4095,17468 4094,17464 4097,17464 4093,17466 4088,17469 4092,17470 4094,17472 4089,17470 4090,17473 4089,17478 4094,17474 4091,17477 4095,17482 4100,17487 4103,17492 4101,17492 4104,17493 4101,17495 4106,17497 4106,17502 4111,17505 4111,17504 4113,17505 4115,17509 4119,17504 4123,17505 4127,17503 4131,17503 4126,17504 4126,17506 4129,17501 4132,17502 4133,17499 4133,17503 5133,17503 5135,17498 5134,21498 5134,21498 5131,21498 5133,21497 5138,21501 5140,21502 5138,21502 5141,21505 5136,21501 5139,21501 5141,21505 5146,21510 5151,21510 5155,21512 5156,21508 5159,21508 5163,21512 5167,21517 5169,21521 5173,21519 5172,21517 5172,21515 5172,21515 5173,21516 5172,21515 5169,21516 5170,21516 5170,21516 5168,21520 5172,21523 5172,21525 5174,21522 5176,21523 5180,21527 5176,21527 5177,21527 5178,21531 5183,21533 5181,21538 5176,21539 5179,21544 9179,21544 9184,21547 9186,21548 9184,21553 9188,21553 9193,21554 9195,21556 9200,21556 9201,21555 9201,21556 9205,21561 9205,21556 9202,21561 9203,22561 9204,22566 9204,22561 9208,22559 9210,22564 9207,22560 9205,22560 9208,22564 9210,22567 9214,22569 9218,22572 9222,22576 9218,23576 9222,24576 9220,24574 9224,24569 9228,24569 9228,6481 16100,6483 16101,6486 16104,6485 16108,8485 16110,8486 16115,8482 16110,8483 16115,8485 16110,8486 16106,8487 16103,8490 16106,8486 16107,8487 16104,8487 16104,8492 16108,8493 17108,8488 17108,8490 17110,8494 17114,8495 17113,8495 17117,8498 17117,8503 17122,8498 17124,8498 17128,8494 17129,8496 17134,8496 17134,8497 17135,8498 17135,8501 17135,8502 17132,8506 17132,8501 17130,8505 17131,21515 5169,21518 5164,21523 5160,21528 5162,21530 8162,21532 8164,21536 8165,21536 8168,21540 8169,21543 8165,25543 8169,25545 8173,25549 8169,29549 8174,29546 8177,29547 8172,29552 8177,29552 8180,29557 8180,29558 8175,34558 8180,34558 8176,34555 8179,34556 8181,7584 14249,7586 14250,7588 14252,7591 14256,7587 14257,7590 14257,7592 17257,7597 17261,7601 17265,7605 17268,7606 17273,7610 17268,7612 17270,7612 17271,7615 17266,7617 17266,7622 17270,7627 17272,7627 19272,7631 19277,7636 19279,7636 19280,7636 19285,7637 19287,7639 19290,7644 19295,7647 19291,7649 19296,7653 19296,7653 19291,7656 19292,7657 19292,7653 19292,7653 19297,7652 19297,7648 19299,7647 19303,7647 19304,7649 19307,7654 19309,7651 21309,7653 21309,7657 21313,7659 21309,7662 21310,7666 21314,7663 21314,7663 21317,7658 21317,7661 21321,7666 21323,7667 21328,7662 21333,7663 21328,7667 21332,7669 21334,7671 21330,7674 21326,7675 21331,7679 21336,7681 21338,7681 21342,7681 21342,7677 21345,7682 21346,3682 21348,3680 21350,3681 21351,3680 21349,3681 21349,3686 21350,8686 21355,8682 21354,8685 21350,8681 21345,8684 21350,8683 21353,8681 21356,8681 21358,8684 21361,8684 21364,8684 21367,8685 21363,8685 21365,8685 21362,8688 21358,8690 21359,8687 21364,8687 21364,8689 21361,8691 21356,8696 21353,8696 21352,8699 21352,8699 21357,8703 21358,8706 21353,8708 21358,17503 4126,17505 4129,20505 4133,20510 4133,20515 4128,21515 4129,21516 9129,21519 9131,21524 9134,21522 9135,21522 9138,21518 9137,21516 9138,21516 9138,21515 12138,21516 12142,21518 12146,21513 12144,21517 12149,21521 12144,21521 12148,21523 12151,21527 12148,21527 12143,21528 12148,21528 12145,21533 12149,21534 12152,21537 12155,21532 7155,21536 7153,21540 7157,21536 7154,21540 7154,21539 7157,21539 7160,21542 7160,21547 7164,21551 7168,21554 9168,21556 9168,21556 9169,21559 9166,21561 9169,21565 9171,21568 9176,21565 9181,21567 9180,23567 9178,23570 9181,23575 9181,23571 9181,20571 9176,20574 9179,20569 9182,20569 9184,20570 9189,20565 9191,20562 9195,20559 9196,20559 9201,20563 9197,20564 9193,20565 9197,20565 9200,20565 9200,20563 9201,20559 9205,20564 13205,20560 13207,20560 13212,20555 13213,20558 13217,20554 13217,20558 13219,20559 13222,20561 13223,20561 13226,20561 13231,20562 13232,20567 13235,20564 13239,20560 13239,20560 13236,20560 13236,20560 13237,20564 13241,24564 13241,28564 13242,28564 13240,28561 13237,28561 13240,28562 13243,28563 13243,28560 13248,28559 13248,28559 9248,28562 9245,28564 9241,28567 9245,28568 9240,28568 9245,28571 9247,28571 9248,28574 9253,28572 9256,28576 9257,28577 9257,28574 9257,10564 25183,10566 25188,10567 25190,10568 25186,10569 25187,10570 25188,10573 25185,10568 25185,10570 25187,10573 25191,10573 25193,10578 25193,10578 25198,10581 25202,10582 25206,10578 25206,10579 25211,10580 25206,10582 25208,12426 8037,12427 8042,12432 8047,12437 8047,12435 8051,12435 9051,12432 9054,12433 9056,12435 9061,12438 9062,12435 9062,12438 9067,12434 9071,12431 9075,12436 11075,12436 11075,12441 11080,12445 11085,12449 11089,12445 11091,12442 11091,12442 11093,12442 11093,12443 11098,12439 11098,12440 11099,7440 11104,7442 11107,7446 11110,7446 11114,7451 6114,7452 6110,11452 6105,11452 6104,11454 6103,11459 6106,11462 6107,13462 6107,13458 6104,12458 9104,17458 9109,17458 9110,17460 9113,17465 12113,17468 12112,17468 12114,17466 12111,17470 12116,17469 12119,17472 12123,17470 12118,17474 12118,17476 12120,13476 12121,13480 17121,13480 17125,13484 17123,13489 17122,13489 17125,13487 17127,13487 17132,13486 17131,13491 17136,13491 17139,13495 17144,13496 17147,13496 21147,13498 21149,13498 21154,16498 21159,16503 21162,16504 26162,16509 26160,16509 26163,16509 26162,16514 26159,16518 26163,16522 26158,16518 30158,16516 30161,16516 30164,16517 30169,16520 30167,16525 30168,16528 30170,17528 30170,17532 30175,17533 30177,17533 30182,17536 30186,17537 30189,17540 30193,20540 30193,20541 30196,20541 30197,20542 30196,20544 30195,20548 30200,20553 30199,20557 30201,20561 30206,20565 30210,20566 30209,20568 30214,20568 30217,20563 30217,20563 30218,20565 30222,20567 30222,20572 30225,20567 29225,20570 29225,20570 29230,20573 29231,20571 29230,20569 29232,20570 29236,17504 4123,17505 4127,17508 5127,17505 5131,17505 5135,17509 5140,17508 5142,17510 5139,17515 5141,17517 5144,17522 5144,17524 5146,17529 5147,17529 5152,17533 8152,17533 8150,17537 8153,17532 8158,17533 11158,17536 11163,17540 16163,17540 16165,17542 16168,17542 16171,17542 16171,17547 16167,17548 16170,17550 16170,17545 16175,17549 16178,17549 16179,17549 16179,20549 16181,20551 16186,20549 15186,20550 15186,20547 15188,20550 15184,20546 15186,20545 15191,20548 15190,20552 15193,20557 15195,20552 15196,20557 15193,20562 15196,20562 15199,20567 15202,20563 15207,20564 15207,20564 15209,20568 15209,20571 13209,20573 13209,20576 13211,20577 13216,20574 14216,20570 14215,20568 17215,20568 17216,20570 17218,20575 17218,20580 16218,20583 16215,20586 16217,20581 16220,20582 16224,20585 16224,20588 16229,20590 16231,20592 16235,20595 16232,20595 16234,20598 16238,20603 16240,20607 16236,20608 16236,20608 16239,20611 21239,20613 21244,20614 21246,20612 21244,20612 21242,20615 21239,20616 21241,20621 21242,17621 21244,17626 21245,17629 21244,15629 21239,15632 21240,15636 21245,15637 21247,15639 21244,15637 21245,15642 21245,15647 21244,15646 21248,15650 21252,15653 21247,15651 21250,15649 21250,15645 21250,19645 21253,19648 21256,19647 21253,19643 21249,19646 21249,19648 21245,19650 21242,19647 21240,19652 21240,14652 21240,14657 21243,14659 21244,14664 21241,14659 21239,14654 21240,14651 21244,14647 21246,14647 21249,14650 21247,14651 21252,14651 21255,14649 21258,14652 21262,14655 21262,14652 21260,14653 21255,14653 21255,14653 21257,14656 21258,14651 21258,14653 21261,14654 21263,14654 21264,14659 21267,14660 21263,14664 21264,14666 26264,14661 26266,14661 26263,14661 26264,14666 26265,14667 26265,14665 26263,14669 26263,14667 26263,14669 26261,14667 26263,14671 26261,14671 26263,12671 26264,12672 26266,12677 26269,17677 26269,17673 26271,17676 26271,17676 26273,17681 26278,17685 26278,21536 8168,21539 8171,21543 8169,21538 8170,21541 8170,21544 8171,21548 8166,21548 8168,21552 8171,21555 8173,21558 8168,21557 8168,21562 8163,21559 8168,21559 8172,21564 8177,21569 8175,21568 8175,21573 8178,21575 8180,21570 8183,21570 8186,21566 8184,21569 8185,21569 8187,25569 8190,25571 8193,25575 8193,25576 8194,25576 13194,25580 13194,25584 13196,25589 13197,25592 13200,25595 13205,25592 17205,25593 17209,25594 17213,27594 17209,27592 17213,27590 17212,27592 17217,27592 17220,27596 17224,27599 17227,27603 17232,27603 17227,27605 17229,28605 17230,28607 17234,28609 17230,28610 17231,28610 17236,28611 17238,28613 17241,28614 17241,28615 17243,28616 18243,28618 18246,28618 18246,28622 18246,28627 18246,28632 18245,27632 18245,27634 18245,27633 18244,27638 18245,-1366 13297,-1365 13299,-1362 13303,-1362 13300,-1361 13304,-1366 13308,-1368 13304,-1368 13306,-1367 13309,-1363 13313,-1358 13313,-1353 13318,-1351 13319,-1347 13323,-1343 13318,-1343 13322,-1340 13317,-1337 13318,-1337 13322,-1337 13324,-1335 13327,-1339 13328,-339 13328,-334 13333,-331 13336,-327 13338,-326 13340,-326 13342,-321 13340,-318 13343,-317 11343,-312 11345,-307 11349,-311 11353,-314 11350,-311 11353,-313 11349,-308 11352,-313 11347,-308 11351,-306 9351,-306 9351,-306 9351,-301 9355,-301 9356,-299 9359,-297 9355,-297 9354,-296 9359,-294 9364,-290 9360,-294 9355,-289 9357,-291 9353,-286 9355,-4286 9351,-4283 9347,-4281 9344,-4281 9344,-4280 9342,-4280 9342,-4280 9339,-4277 9335,-4274 9333,-4274 9335,-4269 9336,-4265 9339,-4260 9340,-4256 9339,-4251 9336,-4251 9339,-4249 9344,-4254 9344,-4255 9348,-4253 7348,-4251 7352,-4247 7354,-4243 7357,-4242 7357,-4240 7362,-4240 7367,-4235 7371,-3235 7371,-3230 7376,-3225 7375,-3221 7372,-3223 7369,-3223 7371,-3223 7369,-3225 7364,-3220 7364,-3218 11364,-3218 11368,-3215 11369,-3210 11372,-3210 11369,-3208 11373,-3207 11377,-3207 11381,-3209 11384,-3209 11383,-1209 11379,-1211 11383,-1209 11383,-1205 11379,-1200 11384,-1197 11379,-1195 11375,-1197 11376,-1192 11377,-1192 11379,-1192 11384,-1188 11382,-1186 11382,-1181 11384,-1180 11388,-1176 11389,-1171 11388,-1171 11393,-1169 11393,-1164 11398,-1162 11393,-1158 11392,-1155 11395,-1155 11397,-155 16397,-156 16401,-156 16406,-158 16409,-158 16412,-158 16414,-160 16415,-158 20415,2842 20411,2847 20413,2848 20417,2848 20417,2848 20412,2850 20407,2850 20403,2846 20408,2847 20406,2849 20406,2854 20402,2858 20403,2863 23403,2858 23402,2855 23405,2858 23400,2857 23400,2852 26400,2849 26404,2850 26406,2855 26410,2859 26415,2863 26411,2866 26411,2866 26411,2866 26412,2868 26415,2868 26419,2868 26423,2873 26424,2876 26425,14656 21258,14661 21260,14664 21262,14664 22262,14662 22267,14662 22268,14662 22268,14658 22273,14660 22278,14658 22277,14659 22278,14660 22283,14661 22281,14661 22285,14661 22288,14664 22290,14659 22295,14662 22298,14663 22301,14667 22301,14668 22301,14673 22303,14678 22306,14681 22302,14686 22299,14686 22301,14683 22304,14686 22305,14687 22301,14689 25301,14684 25301,14684 25299,14685 25300,14685 25301,14685 24301,14688 24301,14693 24303,14693 24298,14693 24298,14688 24299,14689 24297,14690 24299,14690 24302,14690 24302,14686 24303,14686 24306,14688 24302,8492 16108,8494 16113,8498 16116,8495 16116,8496 16116,8499 16116,8504 20116,8508 20119,8508 20119,8507 20119,8509 20123,8509 20127,8512 20128,8514 20130,8519 20135,8522 20136,8522 20136,8524 20138,8524 20141,8528 20142,8526 20145,8530 20141,8530 20145,8532 20149,8531 20151,8536 20155,8535 20154,8539 20154,8539 20149,8539 20149,8543 20146,8540 25146,8538 23146,8540 23149,8540 23149,8545 23151,8546 23152,8551 23152,8555 23152,8559 23153,8561 23153,10561 18153,10561 18153,12561 18158,12564 18159,12566 18163,12567 18165,12564 18165,12568 20165,12570 20170,12575 20173,12579 20177,12576 20177,12579 20176,12584 20176,12583 20181,12585 20182,12583 20186,12582 20187,12585 20192,12582 20194,12584 20198,12586 20198,12581 20201,12582 20204,12581 20206,13581 20209,13586 20211,13586 20216,13589 20217,13589 20213,13586 20215,13588 20213,13592 20215,13596 20216,13596 20221,13600 20221,13598 20224,13595 20221,13598 20226,13602 20229,15602 20232,15606 20232,15611 20232,15610 20232,15613 20235,15617 20239,15612 20234,15612 20233,15615 20237,15617 20233,15619 20234,15619 20229,15623 25229,15624 25229,20624 25228,20628 25229,20631 25234,20630 25239,20634 25241,20632 25244,20636 25240,20634 25237,20639 25236,20634 25241,7590 14257,7592 14260,7592 14262,7592 14265,7595 14266,7600 14263,7600 14268,7604 14270,7609 14274,7611 14275,7615 14275,7620 14277,7620 14276,7625 14277,7625 14277,7628 14281,7628 14286,7630 14284,7630 14284,8543 20146,8542 20148,8546 20150,8550 20152,8550 20153,8550 20158,8545 20156,8545 20157,8550 20157,8550 20155,8550 20157,8553 20161,8557 20161,8557 20165,8560 20161,8563 20159,8568 20154,8570 20158,8573 20161,8573 20166,8577 20168,8580 20171,8584 20173,8585 20175,8580 20180,8582 20183,8582 20188,8582 20188,8585 20193,8588 20198,8589 20199,8591 20197,8594 20198,8596 20196,8592 23196,8597 25196,8601 25199,8601 25203,8604 25202,8604 25202,8599 25205,8601 25210,8601 25206,8603 25206,8606 25206,8605 25211,8609 25211,8613 25208,8614 25205,8619 25208,8619 25210,8621 25214,8619 29214,8615 29218,8616 29219,8617 29217,8622 29222,11622 29225,11624 29229,11623 29230,9623 29225,9621 29224,9625 29227,9628 29227,9624 29232,9626 29237,9631 29241,9634 29245,9635 29248,9638 29253,9643 29258,9646 29258,9647 29255,9648 29253,9650 29258,9648 29262,9647 29262,9642 29267,9646 29267,14646 29269,14650 29274,14655 29279,14654 29277,14655 29275,14653 29276,14655 29273,14656 29269,14653 29272,14656 29272,14656 29274,14660 29276,14663 29276,14660 29278,14659 29281,14659 29276,14661 29272,14656 29273,14657 29274,14652 29270,14654 29274,14657 29270,14659 29272,14655 29275,14657 29270,14659 32270,14660 32270,14662 32273,14665 32277,12665 32279,12670 32279,12670 32277,12670 32274,12672 32277,12677 32282,12682 32285,12678 32289,12674 32291,12677 32287,12679 32287,12683 32292,12685 32292,12680 32289,12682 32294,12683 32299,12687 32298,12692 32300,12695 32305,12699 32310,12703 32311,12704 32312,21515 5172,21516 5175,21518 5175,21513 5177,21516 5182,21520 5186,21525 5185,21529 5185,21528 5186,21530 5181,21533 5178,21537 5183,21537 5183,26537 5183,26534 5183,26539 5183,26542 5178,26542 5176,26544 5176,26546 5177,26548 5175,26549 5178,26548 5181,26548 5184,26553 10184,26557 10179,26559 10175,26563 10171,26563 10173,26564 10170,26568 10169,26572 10171,26577 10171,26581 10169,26577 10173,26573 10169,26575 10171,26578 12171,26576 12175,26576 12180,26581 12183,26577 12183,26580 12184,26582 12181,26582 12182,26583 12182,26588 12186,26590 12191,26593 12193,26593 12198,26598 12198,26602 12193,26602 12193,26604 12195,26607 12195,26611 12196,26615 12196,26615 12200,21534 12152,21534 12152,21537 12147,21540 12147,21545 12150,21545 12145,21548 12150,21549 12152,21544 12152,21544 12150,21547 12153,21552 12152,21553 12157,20553 12161,20553 12156,20556 12152,15556 12157,15559 12160,15557 12163,15561 12163,15564 12166,15565 12165,15561 12161,15559 12163,15559 12168,-4274 9335,-4274 9339,-4276 9341,-4276 9344,-4273 9341,-4271 9341,-4266 9342,-4266 9339,-4269 9335,-4265 9339,-4263 9342,-4259 9345,-4254 9345,-4250 9340,-4250 9335,-4245 9338,-4242 9341,-4240 9341,-3240 9346,-3242 9349,-3241 9351,-3239 9352,-3238 9355,-3237 9358,-3233 9356,-3232 9358,-3233 9358,-3228 9363,-3228 9364,-3223 9369,-3226 9369,-3224 9373,-3222 9378,-3217 9379,-3215 9384,-3215 9384,-3215 9389,-3215 9394,-3215 9390,-3210 9385,-210 9386,-207 9389,-208 9389,1328 -1007,1328 -1010,1329 -1013,1334 -1018,1339 -1013,1344 -1013,1346 -1013,1350 -1015,1351 -2015,1353 -2016,1353 -2011,1350 -2016,1350 -2013,1354 -2010,1356 -2005,1359 -2007,1364 -2005,1363 -2005,1365 -2000,1362 -1999,1365 -1998,1366 -1998,1362 -1994,1364 -1989,1365 -1988,3668 17323,3665 17327,3663 17332,3666 17337,3667 17341,11433 8033,11434 8035,11434 8031,11437 8031,11437 8032,11441 8033,11439 8033,11442 8036,11445 8037,11448 8038,11452 8043,11454 8047,11456 8047,11459 8044,11454 8049,11457 8051,11460 8052,11463 8055,11458 8057,1346 -2990,1346 -2986,1350 -2982,1347 -2986,1352 -2983,1352 -5983,1355 -5979,1358 -5974,1354 -5970,1356 -5965,1360 -5964,1362 -5960,1364 -5960,1364 -5960,1369 -5960,1364 -5963,1369 -5960,1374 -5957,1378 -5952,1380 -5951,1384 -5951,1380 -5948,1380 -5944,1384 -5942,1387 -5945,5387 -5949,5391 -5950,5395 -5950,5395 -5951,5395 -5949,5400 -5954,5404 -5953,5402 -5958,7402 -5958,7403 -5963,7404 -5960,7404 -5959,11363 6016,11359 6018,11364 6023,11365 6024,11365 6023,11369 6025,11373 6020,11378 6020,11377 6024,11379 6029,11383 6033,11384 6034,11388 6037,11389 6041,11394 6043,11396 6048,11401 6048,11402 6050,11406 6052,11404 6054,11409 6058,11413 6059,11415 6060,11411 6065,11416 6068,11420 6073,11415 6076,11416 6078,11419 6083,11423 6085,11428 6086,11430 6086,11432 11086,11437 11091,11432 11088,11429 11086,11432 11086,11427 11090,11427 11095,11429 11092,11427 11092,11431 11087,11433 11088,11436 11090,11436 11091,11436 11096,11439 11099,11440 11099,11440 11095,11445 11097,15445 11102,15445 11102,15441 11099,15445 11100,15445 11102,15443 11106,15445 11110,15450 11107,15453 11110,15457 11110,15457 11115,15459 11119,15460 11117,15465 11117,15465 11120,15464 11123,15463 11124,15460 11124,15460 16124,15458 16127,15462 16122,15466 16126,15462 16131,15465 16133,15463 16135,15462 16136,15462 16140,15466 16142,15468 16147,15468 16147,15471 16149,15471 16147,15475 12147,15477 12150,15480 12147,15484 12144,15487 12145,15490 12147,15492 12149,15494 12150,15496 12153,15497 12155,15499 12150,15499 12147,15500 12143,15504 12146,15499 12150,15500 12150,15500 12152,15505 12153,15506 12157,15506 12157,15508 12158,15512 12159,19512 12162,19513 12159,19511 12163,19512 12162,19517 12167,19520 12167,19522 12168,19525 12171,19525 12172,19525 12175,19526 12172,19526 12172,19526 17172,19527 17175,19528 17176,19529 17179,19529 17178,19533 17181,19532 17183,19532 17179,19537 17174,19539 19174,19538 19171,19542 19172,19547 15172,7641 17282,7646 17284,7649 17284,7652 17284,7654 17285,7650 17289,7647 17291,7645 17296,7649 17297,7650 17294,7653 17294,7653 17298,7656 17303,7658 17308,7662 17313,7666 17308,7664 17313,7669 17313,7669 17313,7669 17316,7667 17313,7667 18313,7663 18314,7661 18316,7662 18317,7657 18318,7662 18315,7658 18316,7661 18318,7661 18322,7664 18317,7667 18315,7671 18315,7675 18315,7674 18315,7670 18316,11670 18316,16670 18321,16673 18321,16678 18322,16682 18327,16683 18332,16686 18334,16690 18334,16688 18336,16685 23336,16688 23337,14688 23338,14692 23337,14694 23338,14697 23339,14697 23342,14698 23342,14698 23343,14698 23348,14693 23350,14694 23347,14695 23347,14696 26347,14692 23347,14692 23347,14693 23350,14693 23351,14698 23355,18698 23352,18698 23356,18702 23360,18701 23362,18699 23363,18701 23363,18702 23366,18699 23366,18694 23370,18699 23370,18702 23374,18707 23378,18706 23380,18706 23381,22706 23384,22706 23385,22705 23389,22706 23384,22706 23384,22706 23384,22710 23380,22713 23381,22718 23386,22716 23390,22712 23390,22708 23390,22705 23392,22704 23397,25704 23402,25704 23402,25706 23404,25710 23404,22710 18404,22707 18402,22704 18403,22704 18406,22704 18411,22704 18411,22704 18410,22709 18410,22709 18407,22704 18405,22703 18405,22707 18405,20707 18409,20709 18412,20710 18411,20712 18414,20712 18414,20712 18412,20712 18416,20714 18412,20717 18417,20720 18419,20715 18421,20718 18422,20723 18425,20723 18430,20723 18434,20725 18435,20724 18437,20724 18433,20726 18433,20731 18437,20732 18437,20730 18438,20735 18440,20739 18438,20734 18438,20739 18437,20739 18437,20744 18439,20749 18438,20750 18434,20753 18436,20754 18431,20754 18432,20758 18433,20762 18438,20764 18443,20766 18447,20766 18450,20767 18451,20768 18451,20769 18448,20770 18452,20774 18456,20777 18458,20781 18462,20782 18463,20785 18468,17785 21468,17784 21473,17782 21477,17787 21481,17783 21482,17785 26482,17788 26482,17788 26482,17791 26479,17794 26483,17790 26483,22790 26483,22790 26479,20583 16215,20585 16220,20589 16225,20590 20225,20592 20222,23592 20227,22592 20229,22597 20233,22600 20233,22603 20237,22604 20240,22599 20241,22595 18241,22595 18242,22598 18243,22602 18247,22605 18252,22601 18256,22598 18255,22600 18257,22604 18258,22609 18261,22608 18261,22606 18264,22608 18261,22605 18265,24605 18262,24608 18263,24611 18267,24608 18267,24613 18271,24615 18272,24610 18273,24614 18272,24619 18276,24621 18281,24625 18276,24622 18280,24622 18282,24621 18279,24622 18277,24627 18279,24631 18284,24634 18289,24634 18292,24634 18294,24636 18299,24639 18294,24644 18295,24647 18298,24647 18301,24643 18303,24643 18306,24639 18311,24636 18315,24641 18317,24645 18317,24648 18319,24649 18323,24649 18328,24652 18330,24652 18329,24652 18327,24655 18322,24656 18319,24658 18319,24661 18320,24664 18316,24660 18320,24657 18318,24657 18320,24659 18325,24660 18327,24661 18323,24656 18327,24652 18323,24654 23323,24658 28323,24660 28318,24665 28319,24666 28323,24668 28325,24668 28328,24672 28325,24667 28328,24668 28325,24670 28326,24665 28330,24668 28334,24672 28336,24672 28336,24668 28339,24672 28340,24672 28338,24674 28341,24675 28346,24675 28351,24677 28356,24679 28357,24681 28356,24677 28360,24680 28355,24684 28354,24688 28356,24688 28351,24690 28356,24686 28361,24691 28364,24692 28364,24692 28365,24692 31365,24693 31370,21693 31370,21692 35370,21688 35372,21692 35377,21695 35377,21697 35377,21698 35379,21698 35374,21701 35375,21701 35379,21703 35380,21708 35383,21706 36383,21709 36383,16709 36383,16710 36386,16715 36382,16711 36386,16706 36388,16706 39388,16706 39383,16706 39379,16711 39379,16711 39376,16714 39381,16716 39386,16717 39389,16717 39391,16720 39391,16723 39387,17723 39392,17726 43392,17722 43396,19722 43399,19724 43394,19727 43391,19725 43395,19723 43398,19726 46398,19730 46400,19730 46403,19730 46405,19734 46407,19734 46410,19733 46407,19728 46412,19726 46416,19726 50416,19723 50417,19723 50416,19718 50420,19719 50424,19718 50429,19713 50433,19715 50437,19718 50442,19719 50442,19718 50444,19719 50439,19721 50443,18721 50444,18721 50446,18721 50450,18726 50451,18727 50453,18722 50451,18727 50456,18729 50455,18731 50458,18726 50458,18728 50458,18730 50463,18730 50460,18729 50456,18727 50460,18730 50462,18734 50457,18739 50455,18744 50457,18744 50461,18748 50461,18748 50466,18745 50468,18749 50463,18750 50468,18754 50472,18754 50472,18759 50472,18760 50468,18763 50473,18760 50477,18762 50477,18766 50481,18769 50483,18769 50481,18772 50482,18776 50482,18779 50486,18779 50489,18781 50489,18783 50494,18786 50496,18786 50495,18786 50498,18784 50499,18784 50499,21784 50504,21788 50502,21785 49502,21790 49501,21790 49498,21795 49494,21800 49494,21801 49495,21801 49500,21797 49505,21799 46505,21802 46508,21798 46513,21799 46516,21802 46516,21805 46519,21800 46524,21805 46527,21804 46528,21801 47528,21801 47531,21804 47533,21804 47529,21804 47534,21809 47538,21808 47538,21812 47540,21812 47535,21813 47532,21810 52532,21812 52535,21817 52536,21820 52536,21824 52541,21828 52545,19828 52545,19829 52547,19829 52551,19833 52555,19831 52552,19826 52557,17826 52562,17827 52567,17830 52568,17830 52572,17830 52575,17830 52575,17830 52574,17831 52578,17827 52582,17827 55582,17829 55583,17834 55583,17839 56583,17843 56579,17846 56580,17850 56584,17848 56588,17853 56592,17851 56596,17856 56596,17856 56600,17851 56601,17856 56601,17856 56604,20856 56604,20861 56601,20865 56596,20865 56597,20866 56597,20869 56602,20871 56603,20874 56607,20871 56605,20872 56610,20874 56613,20874 56612,20876 56617,20876 56622,20876 56626,20876 56621,20879 56623,20880 56627,20883 56624,20880 56629,20880 56629,20881 56630,20884 56630,20884 56635,20881 56636,20879 56637,20876 56632,20879 56629,20881 56633,20878 56634,20879 56634,20879 56637,20879 56642,20884 56638,20879 56639,20884 56634,20885 56631,20886 56633,20889 56632,20894 56627,20894 56631,20894 56631,20898 56632,20903 56632,20908 56630,20907 56633,20907 56636,20903 56641,20904 56641,20904 56637,20900 56639,20905 56642,20910 56643,20905 56648,20910 56653,20915 56654,20910 56659,20910 56663,20910 56664,20912 56664,20912 56666,20917 56670,20922 56670,20918 56673,20920 56675,20920 56677,20920 56677,20921 56681,20926 56677,20931 56677,20934 56680,20934 56684,20936 56689,20938 56689,20938 56690,20940 56695,20935 56696,20939 56697,20939 56699,20940 56696,20941 56694,20940 56698,20945 56700,20947 56702,20947 56707,20950 56712,20954 56713,20950 56710,20952 56706,20955 56704,20957 56708,20953 56709,20951 56714,20953 56716,20957 56720,20957 56722,20959 56725,20958 56727,20959 56728,20962 56731,20963 56736,20965 56741,20965 56740,20967 56742,20969 56737,20969 56742,20974 56744,20979 56744,20978 56745,20974 56748,20970 57748,20972 57749,20974 57751,20971 57754,20972 57752,20977 57755,20981 57758,20981 57763,20981 57765,20984 57765,20982 57767,20982 57763,20987 55763,20989 55767,20991 55770,20987 55771,20988 55774,20988 55777,20991 55775,21991 55778,21996 55778,22000 55783,22001 55783,22005 55783,22010 55785,17010 55781,17011 55783,20011 55778,20015 55783,20018 55786,20015 55791,20015 55795,20019 55792,20019 55792,20021 55792,20022 55788,20023 55783,20028 55786,25028 55790,26028 55795,26029 55790,26030 57790,26033 57794,26032 57798,26036 57802,26039 57805,26042 57805,26046 57810,26050 57811,26054 57815,26054 57819,26050 57819,26055 57820,26060 57822,26063 57823,26066 57826,26068 57824,26073 57826,26077 57831,26082 57831,26078 57836,26082 57839,26084 57839,26086 57834,26082 57834,26083 57835,26082 57840,26083 57844,26086 57843,26083 57846,22083 57849,22084 57847,22089 57847,22094 57848,22094 57853,22094 57850,22095 59850,22095 59855,22098 59858,22099 63858,22099 63861,21099 63861,21104 63862,19104 63862,19108 63864,19109 63864,19112 63868,19113 63873,19117 63876,19121 63875,19116 63877,19115 63882,19117 63878,19122 63883,19125 63884,19129 63879,19133 63879,19135 63874,19139 63871,19136 63871,19136 63873,19140 63868,19140 63873,19144 63877,20144 63879,20144 63876,20146 63880,20148 63878,20149 63877,20149 63879,20150 63882,20155 63886,20155 64886,20159 64884,20160 64884,20161 64887,20160 64887,20164 64887,12677 32287,12677 32292,12679 32297,12678 32298,12682 32294,12687 32294,12682 32296,12682 32296,12683 32298,12683 32301,12682 32305,12685 32309,12686 32311,12686 32316,12691 32311,12692 32316,12692 32312,12697 32314,12700 32319,12705 32322,12706 32327,12704 32329,12705 32332,12702 32334,12707 32338,12703 28338,12704 28340,12700 28345,12702 28345,12702 28345,12701 28348,12704 28349,12704 28345,12709 28342,12709 28343,12714 28347,12718 28351,12723 28352,12727 28353,12730 28355,12728 28353,12733 25353,15733 25353,15736 25355,15740 25356,15745 25356,15747 25351,15752 25353,15752 25354,15754 25354,15754 25353,15759 25352,15763 25352,15764 25357,15759 25352,15761 27352,15760 27354,15760 27354,15760 27355,15762 27357,15762 27354,15759 27354,15759 27354,15763 27358,15767 32358,15764 32360,15769 32360,15767 32360,15765 37360,15770 37362,15772 37363,15774 37367,15779 37363,15780 37359,15779 37363,15782 37366,15780 37370,15775 37370,15778 37365,15781 37360,15785 37356,15785 39356,15789 39358,15789 39360,15794 39365,15794 39370,15797 39375,15797 39380,15799 39379,15804 39376,15805 39377,15807 39380,15808 39385,15809 39386,15807 39386,15809 39386,15810 39389,15815 39392,15820 39392,15819 39396,15820 39398,15820 39395,15825 39400,15823 39405,15824 39403,15829 39403,15834 39406,15836 39411,15831 39415,15832 39415,15833 39415,15838 39417,15839 39419,15839 39414,15842 39413,15846 39418,15843 39420,15842 39423,15839 39420,15840 39422,15839 39420,15842 39415,15846 39410,17846 39415,17845 39411,17847 39416,17849 39420,18849 39424,18847 41424,18852 41424,18849 41429,18849 41432,18848 43432,18852 43433,18855 43433,18859 43435,18855 47435,18858 47440,18861 47435,18866 47435,18866 47439,18869 47442,18871 47445,18873 47445,21873 47445,21876 47444,21873 47449,21878 47451,21883 47456,21880 47454,21880 47454,21880 47457,21883 47459,21887 47464,21890 47465,21893 47467,21894 47464,16894 47462,16899 47457,16898 47455,16893 47456,16897 47458,16896 47455,16898 47459,16900 47464,16903 47469,16908 47471,16903 47474,16901 47473,16906 47473,16901 47478,16904 47479,16906 47475,16906 47474,16907 47475,16906 47479,16901 47482,16901 47482,16905 47486,16908 47487,16911 47490,16915 47490,16917 47492,16921 47497,16926 47498,19525 12175,19525 12176,19521 12177,19522 12181,19525 14181,19521 14181,19519 14185,19519 14189,19524 14192,19527 14192,19529 14196,19534 14200,19535 14205,19538 14208,19540 14204,19545 14207,19545 14207,19547 14210,19550 15210,19554 15210,19555 15210,19555 15213,19560 15213,19562 15212,19564 15213,19569 15210,19570 15214,19573 15214,23573 15217,28573 17217,28574 17220,28574 17219,28574 17224,28576 17229,28577 17233,28577 17236,28579 17236,28580 17238,28584 17243,28588 17248,28587 17252,28587 17252,28582 17255,29582 17259,29577 17260,29578 17262,29583 17257,29585 17257,29586 17260,29586 17265,29590 17267,29593 17267,29594 17267,29599 21267,29603 21271,29603 21272,29605 21274,29607 21276,29612 26276,29613 26279,29616 26280,29621 26277,29621 26277,29623 26282,29626 26285,29631 26289,29628 26289,29632 26290,29637 26294,29642 26290,29646 26292,29648 26291,29649 26288,29653 26293,29655 26292,29655 26293,12702 28345,12703 28348,12698 27348,12699 27349,12698 27354,12700 27354,12700 27355,12703 27360,12703 27361,12700 27362,12704 27367,12701 27371,12706 27376,12710 27372,12710 27373,12710 27368,12715 27370,12713 27374,12716 27378,12716 27380,12714 27379,12719 27374,12718 27373,12722 27376,12724 27376,12729 27371,12733 27372,12733 27377,12735 27373,12735 27374,12737 27378,12739 27379,12742 27381,12739 27381,12739 27376,12743 27378,12743 27379,9743 27375,9744 32375,9745 32377,9746 32374,9746 32372,9750 37372,9752 37375,9754 37375,9751 37377,9755 37379,9759 37379,9763 37383,9766 37385,9767 37382,9768 37383,9765 40383,9770 40378,9770 40382,9775 40384,9777 40386,9782 40391,9778 40395,9773 40395,9778 40397,9779 40399,9781 40402,9781 40398,9781 40393,9780 40396,9782 40399,9785 40398,9786 40395,9789 40390,9793 40387,9798 40390,9803 40394,9805 40397,9800 40400,9795 40402,9800 40403,9802 40407,9807 40410,9806 40407,9807 40403,9812 40400,9814 40403,9819 40403,9819 40400,9822 40405,9824 40405,9822 40408,9827 40410,9831 40413,9831 40413,9826 40412,9827 40417,9832 40418,9832 40416,9833 41416,9833 41421,9834 41416,9838 41416,9838 41421,9840 41422,9844 41424,9839 41424,9843 41427,9845 41430,9849 41430,9849 41425,9852 41423,9855 41426,9858 41429,9860 41434,9862 41436,9866 41441,9868 41436,9869 41434,9871 41434,9875 41437,9877 41437,9881 41438,9883 41438,9879 41438,20903 56641,20898 56644,20903 56647,20901 56649,20903 56645,20905 56650,20909 53650,20905 53650,20910 53652,20907 53655,20912 53652,20916 53656,20917 53656,20912 53661,20912 53660,23912 53663,23912 53663,23909 53663,23912 53665,23913 53669,23911 53669,23915 53669,23912 53671,23916 53670,23917 53675,23922 53680,23927 53683,23930 53688,23935 53689,23935 53691,23935 53691,23931 53692,23931 53694,27931 53693,27933 53695,27937 53695,27942 53699,27947 53701,27949 53703,27949 53704,27949 53708,27952 55708,27953 55710,27949 55710,27953 55710,27958 55713,27959 55718,27960 55722,27962 55725,27965 55730,27965 55732,27968 55730,27969 55733,27972 55733,27975 55734,27975 55734,27979 55737,27981 55733,27982 55732,32982 55732,32979 55734,32978 55737,32978 55738,32974 55742,32977 55746,32981 55750,32985 55746,32983 55747,32987 55750,32992 55751,32995 55751,32998 55751,32998 55753,32998 55753,32993 55753,32995 55757,32999 55758,33002 55760,33002 55761,33005 55766,33005 55767,33000 55764,32997 55767,32997 55771,33001 55773,32998 55777,33001 55777,33005 55776,33004 55776,33009 55781,33014 55786,33014 55790,33015 55790,33016 55790,33015 55786,34015 55787,34019 55790,34019 55791,34021 55793,34017 55793,34019 55796,34016 55797,34020 55793,34020 55796,34023 55792,34023 54792,34025 54797,34028 54800,34029 54799,34029 54795,34034 54796,34036 54797,34041 54792,36041 54797,36045 54801,36048 54803,36051 54804,36053 54806,11439 8033,11441 8038,11441 8039,11441 8040,11445 8035,11441 8035,11442 8039,11438 8035,11438 8035,11443 8039,16443 8038,16444 8038,14444 8040,14448 12040,14451 12036,14455 12038,14455 12041,14456 12046,14459 12049,14457 12051,14458 12046,14458 12047,14459 12042,14464 12042,14465 12047,14470 12050,14471 12055,14471 12058,14468 12060,14473 10060,14477 7060,14477 7062,14474 7062,14474 7067,16474 7063,16471 7065,16474 7067,16471 7072,16471 7068,16476 7066,16481 7069,16482 7072,16487 7072,16487 7077,16488 7077,16493 7076,16493 7079,16497 7079,16500 7079,16502 7079,16502 7079,16505 7075,16504 7080,16501 7077,16497 7079,16501 7081,16497 7080,16496 7084,16500 7086,16495 7087,16498 7084,16501 7087,16496 7087,16496 7083,17496 7083,17500 7083,17505 7088,9860 41434,9864 41435,9864 41435,9865 42435,9860 42435,9862 42436,9863 42434,9863 42430,9862 40430,9863 40427,9863 40428,20608 16239,20605 16242,20610 16237,20614 16237,20615 16242,20611 16242,20612 16245,20609 16244,20604 16242,22604 16237,22608 16239,22607 16240,22610 16244,22610 16241,22615 16246,22616 16246,22614 16251,22616 16251,22617 16249,22619 16254,22623 16252,22618 16255,22618 16259,22620 16262,22615 16262,22618 16263,22622 16263,22626 16265,22629 16266,22628 16269,22633 16267,22636 16268,22636 16267,22641 16269,22646 16269,22645 16271,22646 16273,22650 16271,22655 16274,22655 16277,22658 16279,22660 16280,22658 16280,22661 20280,22663 20282,19663 20285,19658 20288,19658 20292,19661 20295,19666 20298,19670 20301,19671 20301,19675 20301,19677 20306,19675 20311,19674 20315,19678 20318,19677 20314,19680 20315,19682 20310,19684 20314,19683 20316,19687 20315,19688 20316,19688 20319,19693 20319,19698 20322,19702 20323,19698 20323,19702 21323,19707 22323,8508 20119,8509 20119,8510 20116,8515 20113,8518 20115,8519 20116,8516 20120,8520 20119,8520 20118,8525 20123,8527 20125,8527 20125,8528 20123,8530 20126,8533 20123,8535 20127,8532 20132,8534 20136,8538 20138,8542 20141,8537 20143,8537 20145,8542 20145,8547 21145,8548 24145,8552 24145,8557 24150,8560 24147,8562 24151,8566 24156,8569 24160,8574 24156,8579 24159,8584 24164,8587 24164,8585 24167,8588 24170,8591 24171,8589 24172,8590 24176,8595 24177,8593 24174,8596 24178,8600 24179,8603 24175,8602 24178,9602 24182,9605 24177,9609 24178,9610 24182,9608 24178,9603 24183,9606 24188,9608 24193,9609 24195,9614 24196,9616 24197,9618 24201,9618 24205,9613 24209,9612 24214,9608 24211,9603 24216,9607 24221,9611 24221,9615 24217,9617 24217,9618 24221,9623 24225,9623 24225,9626 24225,9630 24225,9630 24222,9626 24223,9626 22223,9627 22223,9626 22226,9629 22228,9632 22228,9636 22225,9638 22226,9639 22227,9634 22230,9634 22231,9639 22235,9639 22240,9641 22242,9642 22246,9647 22249,9652 22250,9655 22255,9651 22256,9652 22253,9652 22256,9652 22261,9655 22262,9657 22257,9659 22261,9659 22261,9657 22264,9657 22261,9656 22264,9661 22267,9662 22270,12662 22270,12665 22265,12669 22270,12669 22270,12673 22269,11356 7007,11361 7010,11361 7010,11357 7014,11356 7015,12356 7020,12357 7015,12361 7017,11361 7018,11364 7017,11359 7018,11355 7017,11354 7020,11357 7020,11361 7023,11364 12023,11368 12028,11368 12029,11371 12030,11372 12034,14372 12034,14372 12039,14372 12042,14376 12045,14381 12047,14379 12047,14381 12049,14384 12054,14385 12051,14388 12056,14384 12056,14384 12061,14381 12058,14386 12062,14386 12059,14391 12059,14396 12060,14397 12060,14398 12056,14403 12051,14408 12052,14410 12057,14409 12057,14414 12053,14414 12051,14415 12051,14420 12049,14423 12048,14427 12044,14427 12044,14425 10044,14421 10049,14424 11049,14426 11054,14427 11059,14429 11064,14433 11064,14434 11064,14437 11065,14441 11068,14444 11072,14445 11076,13445 12076,13445 12077,13445 12081,13444 14081,13446 14081,13446 14078,13449 14083,13447 14084,13450 14085,13452 14090,13453 14087,13456 14084,13457 14083,13461 14081,13463 14082,12463 14082,12463 14087,12463 14087,12464 14087,8464 14087,8465 14083,8465 14080,8467 14085,8472 14085,8473 14085,8476 14090,8474 14094,8475 14094,8480 14094,8481 14099,8476 14103,8476 14107,8480 14111,8483 14116,8488 14120,8488 14118,8488 14120,8483 14115,8481 14118,8485 17118,8485 17114,8488 17110,8488 17115,8484 21115,8484 21118,8486 21120,8487 21120,8482 21115,8487 21118,8490 21122,8494 21127,8497 21132,8497 21133,8500 23133,8503 23135,8507 23135,8508 23132,8511 23129,8512 23125,8517 23126,8522 23125,8527 23129,8522 23131,8527 23132,8530 23132,8531 23128,8533 23132,8533 23134,8533 23139,8533 23144,8536 23143,8537 23146,8533 23146,8533 23149,8537 23152,8533 23157,8530 23158,8532 23162,8536 23162,8536 23165,8536 23165,8540 23170,8544 23171,8548 23169,8547 23173,8551 23176,8552 23173,8548 23169,8553 23173,8553 23170,8548 23173,8549 23173,8546 22173,8547 22174,8551 22177,8550 22179,8552 22183,8553 22183,8553 22184,8557 22185,6557 22185,13598 20226,13601 20227,13604 20229,13608 20233,13610 20234,13605 20237,17605 20237,17610 20242,17605 20242,17602 20241,14602 20241,18602 20236,18606 20239,18606 20244,18608 20241,16608 20245,16611 20240,16615 20239,16610 20234,16611 20232,16613 20235,16608 20235,16608 20239,16613 20242,19734 46410,19734 46410,19738 46414,19737 46414,19735 46415,19737 46418,19741 46421,19744 46423,23912 53671,23908 53673,27908 53675,27913 54675,27917 58675,27921 58677,27925 58678,27930 58678,27926 58683,27930 58686,27931 58691,27931 58695,27934 58700,27936 58699,27936 58699,27941 58695,27942 58695,27947 58699,27952 58699,27954 58703,27957 58704,27962 58708,27958 58706,27959 58703,27962 58703,27967 58706,27967 58701,27965 58701,27962 58702,27966 58703,27971 58704,27976 58706,27980 58709,27980 58712,27975 58711,27971 58716,27971 58713,27968 58712,27968 58712,27971 58711,27968 58713,27968 58710,27969 58708,27972 58706,27976 58711,27978 58716,27979 58716,27983 58718,27978 58718,27981 58719,27981 58723,27986 58725,27986 58728,27986 58731,27991 58734,27996 58738,27993 58736,27995 58732,31995 58736,31990 58735,31993 58738,31990 58734,31995 58729,31996 58729,31999 58731,31994 58726,31996 58731,12463 14087,12465 14090,12465 14093,12463 14090,12463 14095,12461 14092,12464 14093,12459 14091,12459 14091,12459 14091,12459 14096,12461 14100,12458 14103,12457 14101,12452 14101,12452 14106,12453 14103,12453 17103,12455 17104,15455 17104,15460 17108,15463 17104,15458 17108,18458 17108,21458 17105,21461 17105,21464 17110,21467 17115,21464 17120,21464 17120,21468 17123,21470 17126,21465 21126,21461 21126,21464 21128,21464 21132,21468 21137,21471 21142,21475 21146,21471 21146,21476 21147,21473 21151,21475 25151,21475 25152,21477 25153,21481 29153,21479 29158,21484 29162,21488 29162,21490 29165,21487 29170,21488 29167,21489 29162,21493 29164,21493 29169,21498 29169,21499 29164,21495 29167,21498 29167,23498 29170,23498 29169,23503 29172,23505 29171,23510 29167,23514 29164,28514 29168,28514 29172,28514 29174,28512 29172,28513 29176,28518 29179,28518 29182,28521 29177,28521 29179,28519 29179,28517 29179,28515 29177,28519 29177,28519 29179,28524 29184,28527 29183,28527 29185,28523 29187,28523 29184,28525 29189,28522 29189,28518 29186,28523 29189,28519 29189,28521 29189,28526 29193,28529 29193,28529 29196,28534 29200,28538 32200,28537 30200,28539 30202,33539 30207,33539 30209,33534 30205,33535 30208,33536 30208,33538 30213,33538 30214,33542 30218,33545 30221,33548 30222,33551 30225,33552 30227,33554 30231,33555 30233,33560 30228,33563 30225,33564 30229,33565 34229,33565 34234,33570 34231,33572 34235,33572 34239,33573 34243,33578 34239,33579 34243,33574 34247,33573 34247,33576 34243,33573 37243,33573 37246,33568 37241,33568 37244,33573 37239,33578 33239,33574 33241,33574 33239,33578 38239,33583 38242,33587 38242,33590 38242,33594 38243,33596 38247,33599 38248,33599 38252,33595 38252,33598 38257,33603 38258,33604 37258,33609 37255,33604 37257,33607 37262,33607 37265,33609 37266,33614 37271,33614 37276,33616 37278,33616 38278,33616 38282,33621 38284,33621 38288,33621 38285,33618 38289,33616 38291,33616 38294,33611 38296,33608 38301,33610 38305,33610 38300,33612 38303,33617 38308,33621 38309,33625 38305,33630 38307,33634 42307,33636 42310,33638 42314,33634 42312,33631 42315,33631 42315,27931 58691,27936 58693,27937 58695,27940 58700,27943 58703,27943 58708,27946 58709,27950 58711,27950 58714,29950 58718,29951 58723,29947 58728,29947 58732,29950 58727,29950 58727,29955 58730,29960 58734,29964 58732,29961 58734,29963 58735,29968 58739,29968 58741,34968 58739,34971 58739,34972 58739,34973 58740,34968 58741,34970 58743,34974 58745,34977 58749,34979 58744,39979 58745,39979 58742,39978 58744,39982 58748,39983 58744,39983 58744,39979 58747,39979 58752,39983 58757,39982 58759,39985 58759,39986 58759,39983 60759,39986 60762,39990 60767,39994 60770,39994 60770,39997 60770,39997 60770,40000 60775,40002 60775,40003 60779,40007 60784,40008 60787,40011 60788,40015 60788,40016 60790,40016 60792,40021 60788,40025 60788,40030 60788,40026 60786,40027 60786,40030 60787,40032 60792,40037 60795,40032 60800,40032 60799,40035 64799,40035 64801,40036 64806,40041 64803,40037 64805,40038 64801,40040 64804,40036 64804,40040 64805,40045 64810,40048 64811,40051 64813,40051 64817,13491 17139,13486 18139,13489 18139,13494 20139,13492 20138,13494 20141,13499 20145,13499 20145,13499 20148,13503 20149,13500 20149,13505 20151,9367 11012,12367 11015,12369 11011,12364 11012,12364 11015,12359 11011,12354 11011,12354 11014,12359 11017,12356 11015,12361 11015,12361 12015,12365 12016,12369 8016,12374 8021,12373 8025,11373 8021,11368 8021,11373 8024,12700 27362,13700 27363,13705 27364,13710 27368,13705 27369,13707 27367,13707 27371,13709 27375,13712 27377,13714 27373,13712 27376,13714 27379,13713 27382,13718 27384,13713 27380,13713 27385,13711 27386,13715 27386,13719 27386,13719 27389,15719 27394,15724 27398,15729 27400,15734 27401,15734 27401,15729 27396,15732 27396,15735 27397,15734 27399,15733 27400,15729 27400,15734 27400,15729 27405,15734 27405,15739 27408,15739 27408,15741 27412,15743 27416,15743 27416,15740 27416,16740 31416,16743 31421,16738 31425,16742 31430,16742 31435,16743 31439,16743 31444,16741 31449,16746 31450,16747 31455,16742 31459,16738 31463,16742 31466,16742 31471,16742 31471,16742 31471,16744 31475,16749 36475,16749 36473,16753 36478,16757 36474,16761 36477,16759 36478,16761 36481,16760 36484,16761 36485,16760 36486,16765 36491,16766 36494,16771 36498,16769 36501,16771 37501,16774 37504,16769 37507,16769 37507,16772 37503,16772 37508,16774 37511,16774 37510,18774 37515,18777 37515,18772 37512,18775 37514,18777 37517,18778 37519,18779 37517,18776 37517,18778 37520,18780 37520,18785 37522,18785 37526,18787 37523,18786 37520,18790 38520,18789 38520,18792 38522,18797 38527,18802 38529,20802 38534,20804 38535,20803 38540,20802 38539,20806 38543,20811 38546,20814 38543,20812 38541,20808 38546,20811 38544,20815 38539,20816 38535,20818 38531,20815 38531,20814 38528,20814 38533,20817 38536,20816 38539,20821 38540,20818 38542,20820 38540,20816 38540,20821 38540,20823 38541,20828 38541,20831 38546,20836 38547,20836 38548,20835 38553,20835 37553,20835 37558,20837 37558,20842 37560,20846 37561,20846 37564,20849 37569,20854 37564,20854 37565,20850 37566,20852 38566,20856 39566,20861 39566,20863 39562,20867 39566,20872 39567,20868 39566,20873 39568,20876 39573,20876 39573,20880 39575,20884 39579,20885 39580,20889 39580,20891 39584,20888 38584,20889 38587,20890 38592,20891 37592,20892 37597,20894 35597,20895 35600,20897 35603,20899 35605,16678 18322,16681 18323,16682 18323,16686 18328,16690 18326,16693 18331,11693 18335,11692 18332,11695 18332,11698 18335,11703 18335,11703 18336,11702 18339,11698 18344,11702 18349,11705 18353,11704 18357,11707 18360,11707 18359,11711 18358,11716 18358,11713 18358,11712 18360,11710 18360,11710 18362,11710 18362,11710 18367,11710 18366,11707 18366,11706 18365,11710 18369,11715 18371,11714 18374,11712 18376,11711 18377,11711 18379,11712 18384,11715 18385,11711 18385,11714 18387,11717 18389,11718 18386,11721 19386,11723 19391,11722 19395,11722 19396,11723 19398,11726 19398,11729 19403,11733 19408,11736 19407,11733 19411,6733 19407,6735 19402,6738 19402,6743 19406,6746 19406,6742 19411,6742 19414,6742 19414,6746 19419,6746 19423,6746 19418,6749 19418,6747 19418,6748 19420,6748 19424,6748 19424,6751 19427,6751 19429,6752 19429,9752 19426,9754 19428,9759 19430,9756 19431,9751 19435,9753 19440,9757 19445,9755 19443,9757 19448,9757 19448,9759 19451,9763 19451,9766 19454,9766 19456,9770 19459,9770 19462,9770 19466,9766 19467,9771 19468,9772 19468,9769 19469,9768 19470,9770 19470,9774 19473,9778 19470,9781 19470,9786 19471,9789 19471,9789 19473,9792 19478,9795 19475,9800 19478,1256 2899,1260 -1101,1256 -1097,1255 -1093,1255 -1094,1259 -1089,1260 -89,2260 -84,2258 -84,2263 -88,2267 -89,2268 -91,2269 -86,2272 -86,2272 -82,2273 -77,2276 -79,2281 -81,2283 -79,2287 -75,2292 1925,2297 1930,2299 1930,2303 1932,2308 1937,2308 1936,2313 1937,2315 1934,2316 1935,2311 1936,2316 1937,2319 1938,2322 1940,2327 1940,2331 1940,2327 1943,2329 1945,2331 1950,2336 1950,2339 1954,2338 1954,7338 1954,7337 1958,7341 1960,7341 1964,8550 20152,8554 20152,8553 15152,8550 15152,8554 15154,8552 15149,8552 15153,8556 15151,8556 15148,8552 15152,8547 15149,8552 15154,8552 15155,8553 15156,8550 15156,8553 15160,8556 15164,8558 15163,8561 15163,8563 15167,8559 15169,8559 15166,8564 15167,8568 15171,8572 16171,8572 16173,8574 16170,8571 16174,8575 16174,8576 16174,8576 16174,8580 16178,8579 16183,8574 16184,8576 16184,7576 16186,7572 16181,7577 16181,7577 16185,7578 16190,7583 16185,7583 16185,7587 16185,12587 19185,12582 19188,12587 19193,12587 19195,10534 21158,10538 21162,10540 19162,10543 19158,10547 19158,10551 19160,10551 19158,10554 19158,10553 19157,10555 19157,10555 19154,10552 19156,10553 19161,10555 19166,10558 19165,10560 19165,10561 19165,10561 19165,10564 19166,10567 19164,10570 19162,10575 19165,10577 19164,10577 19168,10578 19168,10574 19171,10574 19172,10571 19175,10573 19178,6503 16143,6507 16146,6509 16142,6510 16142,6510 16143,6512 16143,6514 16146,6517 16148,6522 16143,6525 16143,6530 16143,6534 16146,6531 16144,8490 16106,8490 16106,8492 16109,8489 16110,8491 16106,8487 16109,8488 16104,8490 17104,8495 17108,8490 17109,8493 17108,8498 17111,8500 17111,8500 17109,8501 17113,8506 17118,8506 17118,8506 17123,4506 17125,4511 17123,4516 17126,4514 17125,4519 17124,4520 17126,4525 17129,4530 17124,4526 17124,4528 17124,4533 17127,4535 17127,4531 16127,4531 16124,4534 16124,4538 16125,2538 16130,2539 16131,2544 16133,2544 16129,2540 16129,2545 16129,2550 16126,7550 16126,7555 16128,7559 16124,7559 16129,7560 16132,7561 16128,7566 16132,9566 16136,9568 16136,9573 16141,9570 16144,9571 16146,9573 16150,9577 16153,9581 16148,9579 16153,9584 16157,9586 16160,9581 16162,9578 16165,10578 16162,10579 16163,10574 18163,10570 18164,10568 18164,10570 18169,10572 18170,10575 18170,10575 18175,10579 18176,10580 18176,10585 18176,10581 20176,10586 20178,10587 20178,10585 20179,10585 20177,10581 20178,10584 20183,10586 20187,10590 20187,10591 20190,10587 20188,10591 20187,10591 20192,10592 20191,10597 20195,10602 20194,10602 20195,10607 20197,10607 20198,13607 20201,13607 20200,13607 20204,13604 20204,13605 20209,13607 20209,13612 20214,13615 20218,13615 20218,13619 20220,13624 20224,13628 20219,18628 20216,18630 20213,18635 20213,18632 20211,18629 20211,18632 20215,18632 20216,18632 20217,18632 20217,18627 20214,18630 20209,18633 20212,18636 20212,18638 20217,18643 20222,22643 20219,22643 20219,22644 20219,22644 20214,22645 20216,22645 21216,22646 21220,22642 21224,22642 21221,22641 21224,22638 21229,22641 21232,22642 21235,22643 21238,22644 21236,22649 21237,22704 18411,22704 18412,22699 18412,22696 18416,22701 18412,22703 18416,22698 18416,22693 18418,22695 18422,22698 18422,22700 18426,22705 18427,22706 18427,22708 18432,22708 18432,22704 18431,22709 18427,22709 18432,22709 18436,22713 21436,22718 21438,22719 21437,22721 21440,22725 21443,22727 21445,22724 21450,22724 21451,22727 21453,22730 21453,22730 21458,22734 21460,22738 21464,20738 21464,20742 21465,22742 21465,22741 21464,22736 21464,22738 21464,22742 21460,22742 21460,22744 21458,22743 21458,22741 21455,22741 21460,22739 21456,22739 21458,22734 23458,22732 23458,22733 23463,22731 23467,22731 23469,22736 23472,22739 23472,22742 23471,22744 23471,24744 23466,24744 23468,24739 23471,24742 23474,24747 23478,24747 23481,24747 23483,24747 23486,24751 25486,24753 25489,24758 25493,24762 25497,24764 25499,24769 25496,24773 25498,24777 25499,24779 25503,24782 25500,24782 25498,24777 25498,24779 25495,24775 25495,24776 25495,24777 25495,24781 25500,24778 25503,24778 25499,24780 25500,24777 22500,24775 22505,24777 22505,24777 22501,24778 22502,24778 22505,24774 22509,24776 22509,24776 22509,24781 22509,24784 22511,24780 22513,24780 22514,24783 22515,24786 22520,24786 22520,24791 22518,24788 22517,24791 22522,24794 22525,24791 22524,24791 22528,24789 22530,24794 22530,24799 22525,24795 22524,24798 22520,24796 22516,24801 22511,24803 22516,24804 22521,24804 22526,24806 22524,24805 22524,24809 22529,24810 22531,24813 22536,24817 22536,24815 22535,24810 22530,24815 22530,24816 22530,24818 22531,24818 22531,24818 22533,24822 22533,24820 22530,24816 22529,24820 22532,24822 22533,24822 27533,24823 27536,24826 27540,24829 27541,24832 27546,24833 27549,24832 27553,24833 27552,24833 27551,24836 27551,24839 27554,24841 27554,24841 27556,24842 27559,24847 27557,24847 27562,24842 27566,24840 27564,24842 27568,24844 27563,25844 27565,25847 27569,25848 27564,25851 27561,25855 27559,25856 27556,25852 27556,25857 27561,25857 27564,25858 27564,25863 27567,25868 27567,25871 27564,25872 27565,25875 27570,25877 27573,25878 27575,25879 27574,25884 27579,25887 27577,25886 27579,25882 27582,25882 27578,25882 27582,25884 27578,25887 27583,25891 27584,25895 27582,25895 27582,25898 27583,25900 27580,11433 8033,11435 8037,11439 8040,11444 8044,11439 8048,11441 8045,11446 8044,11446 8039,11451 8038,11451 8043,11450 8046,11451 8046,11447 8049,11443 8052,11445 8057,11441 8058,11439 8060,11444 8056,11445 8053,11448 8053,11450 8049,11455 8044,11453 8042,11454 8044,11451 8049,11453 8049,11458 8052,11459 8055,11457 8053,11460 8053,11461 8055,11465 9055,11466 9056,12466 9058,12467 9054,12472 4054,12467 4056,12467 4059,12470 4058,12468 4060,14468 4064,14467 4063,14471 4060,14473 4062,14471 4067,14468 4072,14471 4076,14466 4077,14467 4074,14472 4075,14472 4080,14476 4085,14476 4090,14481 4090,14485 4091,14490 4095,14493 4095,14495 4100,14492 4100,14497 4102,14499 4100,14501 4101,14500 4106,14500 4107,14496 4108,14495 4110,14494 7110,33625 38305,38625 38310,38625 38315,38623 38318,38625 38317,38629 38318,38632 38313,38634 38313,38639 38314,38640 38317,38644 38320,38649 38321,38647 38317,38647 38322,38643 38324,38640 38319,38645 38319,38646 38319,38645 38316,38644 38318,38646 38319,38644 38324,38647 38328,38652 38325,38649 38328,38651 38332,40651 43332,40651 43335,40655 43335,40652 43339,40652 43339,40654 43336,40654 43337,40657 43333,40656 43335,40656 43338,40656 43343,40656 43341,40659 43346,45659 43348,45664 43350,45666 43346,45665 43351,45669 43355,45673 43355,45674 43359,50674 43360,50678 43363,50678 43364,50679 43367,50682 43371,50687 43374,50690 43374,50690 43377,50693 43377,50698 43382,50693 43386,50689 43386,50692 43390,50695 43392,50699 43392,50704 43397,50707 43395,50711 43391,50706 43393,50709 43393,50711 43395,50710 43397,50714 43394,50718 43394,50715 43394,50717 43399,50722 43403,50724 43407,50728 43407,50730 43408,47730 43403,47730 43404,47733 43408,47737 43409,47735 43414,47738 43416,47741 43416,47744 43421,47743 43422,47748 43424,47753 43419,47754 43420,47749 43419,52749 43423,52751 43421,52753 43421,52750 43426,52752 43428,52748 43430,52748 43426,52747 43431,52744 43431,52748 43435,52748 43435,52750 45435,52753 45440,52753 45440,52757 45442,52761 45447,52758 45447,52761 45447,52761 45452,52758 45454,52758 45455,52758 45456,52761 45460,52759 45458,52755 45463,52759 45464,52756 45461,52756 45462,52758 45467,52760 45470,52759 45469,52762 45473,52762 45474,15617 20233,15612 20238,15611 20242,15613 20237,15617 20238,15618 20239,15621 20236,15623 20240,15622 20240,15622 20245,15623 20244,15628 20242,15628 20247,15625 20246,15628 20250,15630 24250,15632 24251,15634 24253,15629 24252,15633 24250,15629 24250,15633 24248,15629 24248,15634 24248,15636 24253,15640 24253,15643 24257,15639 24254,15642 24257,15643 26257,15648 26255,15643 26256,15641 26258,15646 26262,15646 26263,15651 26263,15648 26267,15653 27267,15656 27270,15660 27272,15662 29272,15658 29276,15658 29277,15658 29272,15663 29274,15663 29274,17663 29274,17663 29279,17668 29283,17671 29285,17670 29287,17675 29289,17676 29293,17679 29296,17682 29297,17685 29299,17686 29300,17687 29305,17685 33305,17686 33310,17687 33310,17689 33306,17687 34306,17691 34304,17694 34306,17696 34306,17695 34309,17691 34314,17691 34311,17692 34306,17696 34310,17700 34310,17697 34312,17699 34316,17704 34318,17701 34318,17705 34322,17704 34321,17706 34319,17706 34319,17702 34316,17707 37316,17710 37318,19710 37313,19705 37313,19708 37308,19712 37310,19710 37312,19711 37307,19711 37307,19714 37310,19718 37312,19719 37309,19723 37312,19727 37315,19729 37317,19731 37322,19734 37323,19735 37324,19737 37322,19742 37326,19740 37331,19745 37335,19742 37335,19742 37340,19745 37341,19749 37341,19749 37342,19752 37347,19757 37347,19762 37345,19764 37341,19768 37345,19769 37350,19771 37355,19773 33355,19770 33360,19765 33364,19769 33364,19773 33365,22773 33364,22771 33360,22775 38360,22779 38364,22780 38369,22782 38371,22784 38371,22789 40371,22792 40375,22789 40375,22789 40377,22793 40376,23793 40378,23795 41378,23791 41378,23792 41378,23796 41382,23798 41383,22798 41386,22799 41390,22804 41390,22804 41391,22808 41391,22812 41393,22814 39393,22819 39393,22821 39395,22823 39397,22828 36397,22832 36392,22832 36393,22836 36396,22836 36401,22838 36402,19838 36403,19837 36408,19841 36408,19843 36409,19845 36404,19847 36405,19847 36408,19847 36411,19848 36413,19850 36415,19845 36419,19841 36417,19843 36419,19843 36419,19846 36424,19848 36425,19850 36425,19845 36425,19846 36425,19848 36430,19852 36430,19849 36435,19846 36440,19851 36440,19846 36438,19848 36439,19844 36442,19845 36446,19841 36448,19841 36449,19841 38449,19841 38452,19846 38455,19848 38458,19852 42458,19856 42462,19859 42463,19859 42465,19861 42462,19862 42463,19864 42463,19867 42467,19870 42470,19871 42468,21871 42467,26871 42464,26867 42466,26872 42463,26872 42464,26874 42463,26879 42466,26882 42466,26883 42471,26879 42476,26878 42477,27878 42479,27882 42479,27883 42480,27886 42483,27887 42487,27885 42484,27887 42483,27890 42484,27890 42485,22890 42486,22890 42489,22890 42491,22895 42494,22897 42498,22899 42502,22901 42502,22896 42503,22892 42498,22896 42498,22891 42502,22892 42505,22897 42507,22898 42511,22903 42515,22906 42510,22911 42513,17911 42508,17915 42512,17918 42509,17913 44509,17915 44514,17919 44510,17923 44514,17927 44510,17927 44513,17927 44517,17928 44521,21928 44517,21930 44516,21931 44513,21929 44513,21933 44517,21934 44519,21933 44520,21934 44520,21937 44520,21938 44520,21943 44520,21938 44523,21940 44527,21936 44532,21941 44536,21942 44541,21937 44545,21938 44545,21938 44545,21940 44543,21937 44538,21941 44543,21938 44547,21938 44547,21938 44547,21937 44551,21937 44551,21933 44556,21935 44554,21937 44558,21940 44562,21944 44564,21949 44561,21952 44566,21955 44568,21960 44569,21963 44571,21963 44571,21965 44574,25965 44579,25967 44584,25967 44584,25970 44588,22970 41588,22970 41586,22975 41585,22974 41589,22970 41593,22966 41598,22965 41598,22970 41598,22965 41601,22965 41604,22965 46604,22968 46604,27968 46602,27968 46602,25968 46601,25967 45601,25968 45602,25971 45607,25975 45610,25979 45614,25977 45612,25975 45609,26975 45609,26980 46609,26979 46613,26982 46610,26982 46611,26980 46615,26982 46616,26985 46616,26986 46617,26987 46615,30987 46617,30987 46622,30986 46626,30988 46629,30989 46627,17671 29285,17673 26285,17677 26286,17678 26285,17681 26289,15681 26292,15685 26297,10685 26297,10689 26301,10689 26297,10693 26300,10695 26301,10691 26297,10696 26299,10696 26304,10692 26306,10688 26301,10690 26302,10690 26307,10686 26305,10684 26309,10686 26312,10691 26313,10688 26318,10683 26320,10684 26325,10683 26328,14683 26328,14680 21328,14681 21331,14683 21335,14680 21333,14677 21333,14682 25333,14684 25334,14689 25338,14693 25338,14698 25341,14696 25342,18696 25343,20696 25345,20699 25349,20702 25346,20703 25351,20703 25351,20704 25351,20704 25354,20700 26354,20705 26352,20706 26351,20706 26351,20703 26354,20708 26354,20712 26355,20712 26352,20717 26349,20717 26346,20722 26351,20727 26353,20729 26348,20734 26353,24734 26349,24729 26349,24729 26352,24725 26349,24725 26353,24726 26353,24729 26355,24729 26357,24732 26359,24735 26362,24735 26364,24730 26364,24730 26363,24734 26365,24739 26368,24739 26364,24739 26366,24739 26367,24734 26370,24735 26365,24732 26367,24732 26369,24729 26372,24728 26370,24726 26365,24728 26368,24731 26370,24734 26375,24738 26378,24733 26378,24733 26381,24729 26381,13496 17147,13491 17152,13495 17148,13496 17146,13498 17141,13498 17145,13501 17147,13502 17149,13502 17153,13505 17149,13505 17152,13500 17149,13496 20149,13492 20150,13497 20155,8497 20151,8501 20153,8502 20156,8506 20159,8503 20159,12503 19159,12503 19159,12505 19164,12500 19159,12500 19164,12500 15164,12503 15169,12508 15168,12511 15170,12514 15170,12510 15169,12512 15172,12512 15172,12515 15172,12519 15175,12522 15176,12525 15180,12528 15184,23912 53663,23915 53661,28915 53666,28914 53667,28918 53664,28921 53667,28922 53667,28924 53670,28925 53674,28926 53674,28927 53672,28922 53676,28924 53677,28927 53678,28932 56678,28934 56682,28935 56683,28936 56688,28938 56688,28934 56691,28938 56693,28942 56690,28939 56694,28939 56698,28942 56695,28946 56698,28950 56701,28953 56706,28954 56706,28949 56708,28950 56708,28953 56709,28958 56706,28960 56709,28965 56707,28965 56707,28965 56705,28963 56709,28966 59709,28969 59710,28973 59711,28977 59715,28977 59717,28982 59719,28981 59715,28985 59718,28986 59718,33986 59721,35986 59723,35990 59723,35990 61723,35993 61726,35995 61728,35998 61724,36000 61721,36004 61723,36002 61718,36007 61718,36010 61719,36010 61721,36010 61721,36010 61721,36015 61721,36018 61716,36022 61717,36024 61718,36025 61723,36029 61722,36031 61726,36035 61722,36040 62722,36042 62722,36044 62722,36049 62724,36051 62720,36053 62723,36052 62719,36055 62717,36056 62712,36059 62714,36058 67714,36059 67716,40059 67716,40063 67719,40067 67722,40069 67726,40065 67724,40067 67721,40067 67722,40071 67721,40075 67726,37075 67730,37076 67733,37076 67736,37072 67741,37072 67741,37072 67744,37076 67744,37079 67745,37081 67750,37082 67750,37082 67753,37082 67753,37083 67752,37081 67753,37084 67753,37087 67757,37087 67758,37083 67753,37084 67758,37084 67761,37088 67759,37091 67762,37088 67762,37090 67767,37090 72767,37090 72771,37085 72771,37089 72774,38089 71774,38090 71771,38086 71771,38086 71774,38086 71777,38089 71782,38089 71782,38087 71780,38092 71782,38087 71785,38083 71783,38081 71781,38078 71781,38078 71783,38076 71786,38075 71787,38078 71783,38079 71781,38081 71781,41081 71783,41081 71778,41082 71778,41085 71783,41085 71783,41088 71785,41083 71789,41083 71794,41088 71796,41088 71796,41092 71798,41095 71794,41095 71789,41098 71790,41093 71790,41091 71795,41092 71796,41087 71798,41084 71796,41086 71797,41084 71799,41084 71795,41086 71798,41085 71799,41089 71803,41085 71804,41083 71802,41083 71803,41079 71803,41081 71808,41081 71809,41083 71810,41083 71809,41085 71810,41082 71814,41087 71817,41089 71818,41086 71813,41083 71813,39083 71816,39083 71814,39085 71814,39083 71814,39086 71818,39087 71820,39087 71824,39091 71826,39096 71829,39098 74829,39102 74830,39107 74833,39110 74836,39115 74835,39115 74836,39115 74838,39115 74835,39119 74838,39117 74840,39121 74840,39125 74843,39121 74848,39122 77848,39122 77844,39123 77848,39126 77851,39131 77855,39136 77857,39132 77857,39135 78857,39135 78859,39136 78864,39133 78865,39135 78866,39139 79866,39142 79870,39147 79872,39146 79872,39150 79876,39150 78876,39154 78879,39154 75879,39154 75881,39158 75881,39157 75884,39160 75884,39155 75884,39160 75889,39156 75891,39158 75888,39163 75891,39163 75894,39166 75891,39166 75895,39167 75900,39170 75901,39170 75906,35170 75907,35171 75911,35176 75906,35172 75908,35173 75908,35178 75908,35175 75909,35170 75908,35170 75903,35168 75904,35173 75906,35178 75903,35179 75904,35179 75908,35182 75905,35184 71905,35188 71902,35185 71904,35186 71907,35187 71908,35189 71903,35191 71905,35195 71900,35197 71904,35198 71909,35200 71907,35199 71903,35201 71900,40201 71896,25028 55790,25029 55785,28029 55789,28031 55790,28032 55790,28037 55794,28042 55793,28043 55798,28046 55803,30046 55803,30051 55806,30050 55810,30049 55810,30049 55812,30049 55816,30054 55820,2545 16129,2540 16133,2542 16137,2542 16139,2544 16138,2545 16139,7545 16136,7546 16139,7541 16142,7542 16142,7543 20142,7547 20143,11547 20143,11550 20139,11555 20139,11556 20137,11552 20142,11555 24142,11556 24145,11559 24140,11563 24143,11567 24139,16567 24136,16567 24139,16572 24142,16573 24147,14573 24143,14574 24147,14570 24145,14573 24150,14569 24150,14570 24145,14573 24149,14575 24150,14575 24154,14579 24149,14579 24153,14576 24157,14576 24152,14571 24149,14571 24152,14575 24150,14572 24151,15572 24153,15575 24149,15577 24154,15582 24151,15582 24153,15586 24156,15587 24152,15588 24157,15590 24162,15590 24166,15590 24166,20590 24166,17590 24169,17595 24171,17597 24172,17599 24172,17595 24174,17599 24178,17599 24181,18599 24184,18594 24187,18597 24187,18593 24189,18597 24192,18601 24192,18599 24197,18599 24197,18603 24200,18605 24204,18600 24205,18605 24201,18605 24197,18610 24202,18608 24205,18611 24204,18613 24208,18617 24203,22617 24205,22619 29205,22622 31205,22622 31209,22623 31214,22624 31212,22627 31214,22623 31214,22626 31215,22629 31214,22633 31218,22631 31221,22630 31223,22632 31227,21937 44551,21935 44555,21939 44551,21934 44553,21936 44554,21933 44556,21935 44552,21935 44553,21939 44548,21939 44551,21939 44551,21938 44555,21938 44558,21938 44559,21941 44559,21945 44558,19945 44562,19942 44560,19943 44561,19939 44565,19940 44561,19939 44556,19935 44557,9770 19466,9773 19471,9775 19471,9770 19471,9770 19468,9770 19467,9772 19466,9772 19468,9774 19469,9775 19472,12775 19470,12773 19466,12773 19467,12773 19464,12773 19466,12776 19461,12779 19461,12779 19465,12780 19465,12782 19460,12781 19458,12776 19461,12776 19461,12777 19463,12778 19466,12776 19466,12780 19463,12780 19466,12785 19468,12789 19473,12788 19477,12793 19475,12798 19480,12802 19482,12803 24482,12802 24484,16802 24486,16806 28486,16808 28486,16812 28490,16812 28494,16815 28498,16816 28498,16818 28502,16818 28504,16819 28509,19819 28513,19819 28510,19821 28515,19816 28510,19811 28510,19811 28511,19809 28511,19810 28510,19813 28515,22813 28510,22818 28514,22818 28515,22815 28516,22818 28514,22819 28514)',')'))); +start transaction; +update t1 set a=st_geomfromtext(concat('multilinestring(','(-4287 -5983,52762 -5983,52762 79876,-4286 79876,-4286 -5983)',',','(-768 -136,-771 2864,-772 2860,-777 2862,-775 2858,-775 2863,-770 2866,-765 2871,-761 2874,-759 2878,-759 2883,-759 2886,-758 2886,-758 2886,-755 2890,-752 2890,-751 2890,1249 2890,1250 2892,1251 2892,1251 2892,1256 2897,1259 2894,1256 2899,1253 2904,1256 2904,1257 2906,1252 2910,1253 2910,1256 2912,1255 2913,1260 2911,1256 2913,1255 2918,1257 2921,1259 2925,1262 2922,1263 2923,1266 2926,1268 2929,1269 2932,1273 2937,1277 2942,1282 2942,1284 2939,1287 2935,1290 2935,1293 2938,1296 2940,1299 2942,1302 2947,1307 2952,1311 2956,1312 2958,1307 2956,1311 2955,1307 2956,1307 2960,1307 2962,1311 2965,1315 2967,1314 2968,1319 2969,1322 2973,1324 2978,1323 2977,1327 2982,1330 7982,1332 7985,1332 7986,1332 7988,1328 7991,1328 7991,1328 7991,1253 2910,1249 2908,1251 2908,1253 2913,1253 2909,1256 2914,1255 2916,1259 2919,1261 2923,1262 2923,1266 2925,1270 2930,1270 2932,1267 2929,1269 2929,1269 2931,1269 2926,1265 1926,1270 1926,1274 1926,1274 1929,1269 1929,1270 1931,1272 1935,1269 1935,1273 1938,1278 1938,1278 1938,1280 1943,1275 1948,1276 1951,1279 1948,1280 1952,1281 1952,1286 1954,1290 1958,1290 1963,1294 1964,1298 1962,1298 1958,1302 1963,1302 1967,1307 -2033,1311 -2030,1307 -2030,1310 -2025,1314 -2020,1317 -1020,1321 -1016,1321 -1018,1321 -1015,1326 -1016,1324 -1016,1327 -1011,1326 -1007,1326 -1002,1326 -1004,1321 -1004,1321 -1003,1324 -1008,1328 -1007,1328 -1003,1333 -999,1336 -998,1339 -997,1337 -996,1340 -2996,1335 -3000,1339 -2996,1343 -2995,1346 -2990,1341 -2990,1345 -2991,1345 -2995,1269 2931,1269 2936,1271 2941,1275 2941,6275 2943,6274 2943,6279 2939,6274 2942,6274 2946,6275 2947,6276 2948,6280 2947,6282 2951,6287 2952,6287 2956,6289 2959,6294 4959,6298 4964,6302 4965,6300 6965,6305 6965,11305 6967,11305 6967,11310 6966,11310 6966,11314 6964,11318 6969,11318 6972,11323 6974,11328 6977,11329 6979,11333 6982,11337 6982,11334 6982,11337 6983,11341 6988,11345 6991,11349 6992,11353 6993,11353 6996,11353 7000,11356 7000,11353 6000,11350 6002,11353 6004,11354 6007,11356 6009,11358 6009,11359 6011,11363 6016,11365 6013,11369 6015,11372 6017,11377 6022,11381 6025,11382 9025,11385 9029,11390 9024,11389 9020,11391 9020,11389 9016,11394 12016,11397 12021,11400 12021,11405 12024,11405 8024,11403 8029,11403 8032,11401 8033,11406 8032,11402 8027,11406 8027,11410 8029,11408 8030,11408 8035,11413 8035,11418 8038,11423 8038,11428 8036,11428 8037,11433 8033,11435 8032,6435 8035,6439 8036,6440 8034,6441 8039,6442 8043,6446 8045,6451 12045,6454 12050,6454 12049,6455 12054,6457 12057,6458 12060,6461 13060,6466 13060,6467 13065,6467 13070,6465 13073,6465 13073,6466 13077,6463 16077,6465 16081,6468 16077,6471 16077,6475 16078,6475 16080,6470 16082,6465 16084,6465 16088,6470 16091,6471 16091,6469 16089,6473 16091,6477 16091,6477 16093,6480 16098,6476 16099,6478 16099,6481 16100,6486 16105,6486 16110,6488 16105,6485 16107,6487 16108,6484 16104,6485 16101,6488 16101,6489 16103,6493 16105,6493 16108,6490 16110,6487 16113,6492 16116,6495 16118,6499 16123,6497 16124,6496 16127,6498 16132,6497 16134,6499 16138,6503 16143,6502 16138,6500 16140,6502 16144,6502 16146,6503 16150,6498 16151,6500 16154,6495 16154,6494 16154,6499 16156,7499 16158,7504 16161,7507 16166,7503 16163,7505 16163,7508 16163,7511 16165,7514 16162,7517 16165,7519 16166,7524 16165,7527 16168,7529 16172,7534 16172,7534 16177,7539 16179,7537 16179,7538 16184,7538 16185,7538 16189,7540 16191,7540 16193,7541 16193,7545 16197,7550 16199,7554 16204,7558 16208,7559 16211,7560 16214,7564 16216,7563 16215,7558 16219,7558 16216,7555 16221,7559 16223,7559 16224,7559 16226,7561 16231,7558 16235,7553 16240,7552 16236,7557 16234,7552 16236,7554 16238,7557 16239,7552 16243,7553 16243,7555 16243,7555 14243,7558 14248,7559 14243,7559 14239,7561 14241,7561 14243,7561 14248,7562 14250,7566 14254,7570 14254,7575 14256,7575 14259,7576 14259,7579 14259,7583 14257,7583 14257,7583 14253,7584 14249,7579 14247,7576 14245,7579 14250,7577 14253,7582 14256,7582 14257,7578 14253,7575 14252,7577 14255,7578 14255,7578 14256,7581 14257,7584 14252,7588 14252,7592 14249,7592 18249,7588 18253,7590 18255,7592 18259,7596 18254,7601 18255,7601 17255,7605 17256,7610 17258,7613 17261,7617 17262,7619 17266,7617 17267,7621 17268,7623 17272,7626 17272,7626 17277,7625 17282,7620 17281,7617 17284,7618 17287,7617 17283,7616 17281,7621 17279,7624 17281,7624 17282,7624 17279,7628 17279,7628 17280,7633 17284,7637 17280,7638 17280,7638 17281,7641 17282,7641 17282,7638 17283,7638 17284,7643 17280,7647 17281,7652 17285,7656 17285,7658 17288,7660 17290,7661 17292,7664 17297,7666 17302,7663 17304,7664 17300,7659 17303,7661 17303,7657 17307,7659 17307,8659 17310,8661 17313,8664 17314,8665 17313,8665 17309,8669 17313,8671 17316,8670 17320,8668 17320,3668 17323,3665 17324,3661 17329,3661 17331,1661 17332,1661 17333,1663 17338,1668 17333,1663 17333,1667 17331,1668 17331,1664 17334,1666 17337,1665 17337,6499 16138,6503 18138,10503 18142,10503 18142,10505 21142,10502 21144,10502 21142,10504 21141,10504 21139,10508 21140,10512 21141,10512 21143,10515 21144,10517 21147,10517 21143,10519 21143,10519 21146,10519 21142,10519 21142,10522 21141,10523 21141,10523 21145,10523 21149,10527 21153,10531 21154,10534 21158,10531 21158,10527 21160,10532 21165,10534 21165,10531 21165,10533 21162,10529 21163,10532 21160,10534 21163,10535 21161,10540 25161,10538 25164,10538 25166,10540 25171,10543 25171,10547 25175,10547 25175,10550 25178,10552 25182,10556 25177,10558 25181,10558 25183,10563 25187,10564 25183,10560 25188,10565 25188,10569 25191,10573 25195,10575 25199,7581 14257,7585 14257,7586 14257,7588 14254,7590 14255,7593 14256,7590 14260,7595 14263,7595 14259,7597 14256,7598 14261,7598 14258,7599 14261,7600 14261,7602 14258,7602 14258,7598 14259,7598 14264,7600 14267,7601 17267,7597 17268,7602 17273,7605 17276,7605 17276,7603 17279,7604 17279,7608 17278,7613 17282,7615 17285,7617 17288,2617 17288,2617 17289,2620 17289,2620 17285,-1380 17288,-1382 17287,-1384 17292,-1384 17294,-1380 17295,-1380 17297,-1380 17299,-1375 17303,-1372 17303,-1373 17298,-1368 13298,-1365 13301,-1366 13297,-1371 13295,-1371 13298,-1371 13298,-1375 13301,-1378 13302,-1378 13302,-1377 13302,-1374 13301,-1373 13306,-1370 13311,-1371 13307,-1366 13307,-1365 13309,11349 6992,11352 6992,11354 6997,11356 7002,11356 7007,11359 7010,11354 7005,9354 7009,9356 7011,9359 7016,9360 7014,9360 7015,9363 8015,9367 11015,9370 11012,9367 11012,9368 11016,9363 11017,9360 11018,9364 11021,9359 11016,11402 8027,11399 8029,11400 8033,11401 8034,11405 8029,11407 8027,11410 8029,12410 8033,12414 8035,12412 8040,12415 8040,12416 8045,12421 8042,12426 8037,12424 8042,12427 8042,12430 8044,12434 8046,12430 8048,12434 8045,9434 8045,9439 8043,9442 8043,9442 8045,9442 8040,9442 8035,9438 8038,9440 8039,9445 8036,9446 8039,9441 8043,12441 8047,12440 8048,12444 8052,12445 8057,12450 8053,12452 8053,12448 8054,12443 8058,12441 8063,12444 8067,12449 8067,12448 8071,12451 8076,12454 8073,17454 8073,17457 8074,17459 8079,17463 8079,17461 8080,17464 4080,17467 4085,17463 4085,17463 4088,17462 4090,17464 4095,17468 4094,17464 4097,17464 4093,17466 4088,17469 4092,17470 4094,17472 4089,17470 4090,17473 4089,17478 4094,17474 4091,17477 4095,17482 4100,17487 4103,17492 4101,17492 4104,17493 4101,17495 4106,17497 4106,17502 4111,17505 4111,17504 4113,17505 4115,17509 4119,17504 4123,17505 4127,17503 4131,17503 4126,17504 4126,17506 4129,17501 4132,17502 4133,17499 4133,17503 5133,17503 5135,17498 5134,21498 5134,21498 5131,21498 5133,21497 5138,21501 5140,21502 5138,21502 5141,21505 5136,21501 5139,21501 5141,21505 5146,21510 5151,21510 5155,21512 5156,21508 5159,21508 5163,21512 5167,21517 5169,21521 5173,21519 5172,21517 5172,21515 5172,21515 5173,21516 5172,21515 5169,21516 5170,21516 5170,21516 5168,21520 5172,21523 5172,21525 5174,21522 5176,21523 5180,21527 5176,21527 5177,21527 5178,21531 5183,21533 5181,21538 5176,21539 5179,21544 9179,21544 9184,21547 9186,21548 9184,21553 9188,21553 9193,21554 9195,21556 9200,21556 9201,21555 9201,21556 9205,21561 9205,21556 9202,21561 9203,22561 9204,22566 9204,22561 9208,22559 9210,22564 9207,22560 9205,22560 9208,22564 9210,22567 9214,22569 9218,22572 9222,22576 9218,23576 9222,24576 9220,24574 9224,24569 9228,24569 9228,6481 16100,6483 16101,6486 16104,6485 16108,8485 16110,8486 16115,8482 16110,8483 16115,8485 16110,8486 16106,8487 16103,8490 16106,8486 16107,8487 16104,8487 16104,8492 16108,8493 17108,8488 17108,8490 17110,8494 17114,8495 17113,8495 17117,8498 17117,8503 17122,8498 17124,8498 17128,8494 17129,8496 17134,8496 17134,8497 17135,8498 17135,8501 17135,8502 17132,8506 17132,8501 17130,8505 17131,21515 5169,21518 5164,21523 5160,21528 5162,21530 8162,21532 8164,21536 8165,21536 8168,21540 8169,21543 8165,25543 8169,25545 8173,25549 8169,29549 8174,29546 8177,29547 8172,29552 8177,29552 8180,29557 8180,29558 8175,34558 8180,34558 8176,34555 8179,34556 8181,7584 14249,7586 14250,7588 14252,7591 14256,7587 14257,7590 14257,7592 17257,7597 17261,7601 17265,7605 17268,7606 17273,7610 17268,7612 17270,7612 17271,7615 17266,7617 17266,7622 17270,7627 17272,7627 19272,7631 19277,7636 19279,7636 19280,7636 19285,7637 19287,7639 19290,7644 19295,7647 19291,7649 19296,7653 19296,7653 19291,7656 19292,7657 19292,7653 19292,7653 19297,7652 19297,7648 19299,7647 19303,7647 19304,7649 19307,7654 19309,7651 21309,7653 21309,7657 21313,7659 21309,7662 21310,7666 21314,7663 21314,7663 21317,7658 21317,7661 21321,7666 21323,7667 21328,7662 21333,7663 21328,7667 21332,7669 21334,7671 21330,7674 21326,7675 21331,7679 21336,7681 21338,7681 21342,7681 21342,7677 21345,7682 21346,3682 21348,3680 21350,3681 21351,3680 21349,3681 21349,3686 21350,8686 21355,8682 21354,8685 21350,8681 21345,8684 21350,8683 21353,8681 21356,8681 21358,8684 21361,8684 21364,8684 21367,8685 21363,8685 21365,8685 21362,8688 21358,8690 21359,8687 21364,8687 21364,8689 21361,8691 21356,8696 21353,8696 21352,8699 21352,8699 21357,8703 21358,8706 21353,8708 21358,17503 4126,17505 4129,20505 4133,20510 4133,20515 4128,21515 4129,21516 9129,21519 9131,21524 9134,21522 9135,21522 9138,21518 9137,21516 9138,21516 9138,21515 12138,21516 12142,21518 12146,21513 12144,21517 12149,21521 12144,21521 12148,21523 12151,21527 12148,21527 12143,21528 12148,21528 12145,21533 12149,21534 12152,21537 12155,21532 7155,21536 7153,21540 7157,21536 7154,21540 7154,21539 7157,21539 7160,21542 7160,21547 7164,21551 7168,21554 9168,21556 9168,21556 9169,21559 9166,21561 9169,21565 9171,21568 9176,21565 9181,21567 9180,23567 9178,23570 9181,23575 9181,23571 9181,20571 9176,20574 9179,20569 9182,20569 9184,20570 9189,20565 9191,20562 9195,20559 9196,20559 9201,20563 9197,20564 9193,20565 9197,20565 9200,20565 9200,20563 9201,20559 9205,20564 13205,20560 13207,20560 13212,20555 13213,20558 13217,20554 13217,20558 13219,20559 13222,20561 13223,20561 13226,20561 13231,20562 13232,20567 13235,20564 13239,20560 13239,20560 13236,20560 13236,20560 13237,20564 13241,24564 13241,28564 13242,28564 13240,28561 13237,28561 13240,28562 13243,28563 13243,28560 13248,28559 13248,28559 9248,28562 9245,28564 9241,28567 9245,28568 9240,28568 9245,28571 9247,28571 9248,28574 9253,28572 9256,28576 9257,28577 9257,28574 9257,10564 25183,10566 25188,10567 25190,10568 25186,10569 25187,10570 25188,10573 25185,10568 25185,10570 25187,10573 25191,10573 25193,10578 25193,10578 25198,10581 25202,10582 25206,10578 25206,10579 25211,10580 25206,10582 25208,12426 8037,12427 8042,12432 8047,12437 8047,12435 8051,12435 9051,12432 9054,12433 9056,12435 9061,12438 9062,12435 9062,12438 9067,12434 9071,12431 9075,12436 11075,12436 11075,12441 11080,12445 11085,12449 11089,12445 11091,12442 11091,12442 11093,12442 11093,12443 11098,12439 11098,12440 11099,7440 11104,7442 11107,7446 11110,7446 11114,7451 6114,7452 6110,11452 6105,11452 6104,11454 6103,11459 6106,11462 6107,13462 6107,13458 6104,12458 9104,17458 9109,17458 9110,17460 9113,17465 12113,17468 12112,17468 12114,17466 12111,17470 12116,17469 12119,17472 12123,17470 12118,17474 12118,17476 12120,13476 12121,13480 17121,13480 17125,13484 17123,13489 17122,13489 17125,13487 17127,13487 17132,13486 17131,13491 17136,13491 17139,13495 17144,13496 17147,13496 21147,13498 21149,13498 21154,16498 21159,16503 21162,16504 26162,16509 26160,16509 26163,16509 26162,16514 26159,16518 26163,16522 26158,16518 30158,16516 30161,16516 30164,16517 30169,16520 30167,16525 30168,16528 30170,17528 30170,17532 30175,17533 30177,17533 30182,17536 30186,17537 30189,17540 30193,20540 30193,20541 30196,20541 30197,20542 30196,20544 30195,20548 30200,20553 30199,20557 30201,20561 30206,20565 30210,20566 30209,20568 30214,20568 30217,20563 30217,20563 30218,20565 30222,20567 30222,20572 30225,20567 29225,20570 29225,20570 29230,20573 29231,20571 29230,20569 29232,20570 29236,17504 4123,17505 4127,17508 5127,17505 5131,17505 5135,17509 5140,17508 5142,17510 5139,17515 5141,17517 5144,17522 5144,17524 5146,17529 5147,17529 5152,17533 8152,17533 8150,17537 8153,17532 8158,17533 11158,17536 11163,17540 16163,17540 16165,17542 16168,17542 16171,17542 16171,17547 16167,17548 16170,17550 16170,17545 16175,17549 16178,17549 16179,17549 16179,20549 16181,20551 16186,20549 15186,20550 15186,20547 15188,20550 15184,20546 15186,20545 15191,20548 15190,20552 15193,20557 15195,20552 15196,20557 15193,20562 15196,20562 15199,20567 15202,20563 15207,20564 15207,20564 15209,20568 15209,20571 13209,20573 13209,20576 13211,20577 13216,20574 14216,20570 14215,20568 17215,20568 17216,20570 17218,20575 17218,20580 16218,20583 16215,20586 16217,20581 16220,20582 16224,20585 16224,20588 16229,20590 16231,20592 16235,20595 16232,20595 16234,20598 16238,20603 16240,20607 16236,20608 16236,20608 16239,20611 21239,20613 21244,20614 21246,20612 21244,20612 21242,20615 21239,20616 21241,20621 21242,17621 21244,17626 21245,17629 21244,15629 21239,15632 21240,15636 21245,15637 21247,15639 21244,15637 21245,15642 21245,15647 21244,15646 21248,15650 21252,15653 21247,15651 21250,15649 21250,15645 21250,19645 21253,19648 21256,19647 21253,19643 21249,19646 21249,19648 21245,19650 21242,19647 21240,19652 21240,14652 21240,14657 21243,14659 21244,14664 21241,14659 21239,14654 21240,14651 21244,14647 21246,14647 21249,14650 21247,14651 21252,14651 21255,14649 21258,14652 21262,14655 21262,14652 21260,14653 21255,14653 21255,14653 21257,14656 21258,14651 21258,14653 21261,14654 21263,14654 21264,14659 21267,14660 21263,14664 21264,14666 26264,14661 26266,14661 26263,14661 26264,14666 26265,14667 26265,14665 26263,14669 26263,14667 26263,14669 26261,14667 26263,14671 26261,14671 26263,12671 26264,12672 26266,12677 26269,17677 26269,17673 26271,17676 26271,17676 26273,17681 26278,17685 26278,21536 8168,21539 8171,21543 8169,21538 8170,21541 8170,21544 8171,21548 8166,21548 8168,21552 8171,21555 8173,21558 8168,21557 8168,21562 8163,21559 8168,21559 8172,21564 8177,21569 8175,21568 8175,21573 8178,21575 8180,21570 8183,21570 8186,21566 8184,21569 8185,21569 8187,25569 8190,25571 8193,25575 8193,25576 8194,25576 13194,25580 13194,25584 13196,25589 13197,25592 13200,25595 13205,25592 17205,25593 17209,25594 17213,27594 17209,27592 17213,27590 17212,27592 17217,27592 17220,27596 17224,27599 17227,27603 17232,27603 17227,27605 17229,28605 17230,28607 17234,28609 17230,28610 17231,28610 17236,28611 17238,28613 17241,28614 17241,28615 17243,28616 18243,28618 18246,28618 18246,28622 18246,28627 18246,28632 18245,27632 18245,27634 18245,27633 18244,27638 18245,-1366 13297,-1365 13299,-1362 13303,-1362 13300,-1361 13304,-1366 13308,-1368 13304,-1368 13306,-1367 13309,-1363 13313,-1358 13313,-1353 13318,-1351 13319,-1347 13323,-1343 13318,-1343 13322,-1340 13317,-1337 13318,-1337 13322,-1337 13324,-1335 13327,-1339 13328,-339 13328,-334 13333,-331 13336,-327 13338,-326 13340,-326 13342,-321 13340,-318 13343,-317 11343,-312 11345,-307 11349,-311 11353,-314 11350,-311 11353,-313 11349,-308 11352,-313 11347,-308 11351,-306 9351,-306 9351,-306 9351,-301 9355,-301 9356,-299 9359,-297 9355,-297 9354,-296 9359,-294 9364,-290 9360,-294 9355,-289 9357,-291 9353,-286 9355,-4286 9351,-4283 9347,-4281 9344,-4281 9344,-4280 9342,-4280 9342,-4280 9339,-4277 9335,-4274 9333,-4274 9335,-4269 9336,-4265 9339,-4260 9340,-4256 9339,-4251 9336,-4251 9339,-4249 9344,-4254 9344,-4255 9348,-4253 7348,-4251 7352,-4247 7354,-4243 7357,-4242 7357,-4240 7362,-4240 7367,-4235 7371,-3235 7371,-3230 7376,-3225 7375,-3221 7372,-3223 7369,-3223 7371,-3223 7369,-3225 7364,-3220 7364,-3218 11364,-3218 11368,-3215 11369,-3210 11372,-3210 11369,-3208 11373,-3207 11377,-3207 11381,-3209 11384,-3209 11383,-1209 11379,-1211 11383,-1209 11383,-1205 11379,-1200 11384,-1197 11379,-1195 11375,-1197 11376,-1192 11377,-1192 11379,-1192 11384,-1188 11382,-1186 11382,-1181 11384,-1180 11388,-1176 11389,-1171 11388,-1171 11393,-1169 11393,-1164 11398,-1162 11393,-1158 11392,-1155 11395,-1155 11397,-155 16397,-156 16401,-156 16406,-158 16409,-158 16412,-158 16414,-160 16415,-158 20415,2842 20411,2847 20413,2848 20417,2848 20417,2848 20412,2850 20407,2850 20403,2846 20408,2847 20406,2849 20406,2854 20402,2858 20403,2863 23403,2858 23402,2855 23405,2858 23400,2857 23400,2852 26400,2849 26404,2850 26406,2855 26410,2859 26415,2863 26411,2866 26411,2866 26411,2866 26412,2868 26415,2868 26419,2868 26423,2873 26424,2876 26425,14656 21258,14661 21260,14664 21262,14664 22262,14662 22267,14662 22268,14662 22268,14658 22273,14660 22278,14658 22277,14659 22278,14660 22283,14661 22281,14661 22285,14661 22288,14664 22290,14659 22295,14662 22298,14663 22301,14667 22301,14668 22301,14673 22303,14678 22306,14681 22302,14686 22299,14686 22301,14683 22304,14686 22305,14687 22301,14689 25301,14684 25301,14684 25299,14685 25300,14685 25301,14685 24301,14688 24301,14693 24303,14693 24298,14693 24298,14688 24299,14689 24297,14690 24299,14690 24302,14690 24302,14686 24303,14686 24306,14688 24302,8492 16108,8494 16113,8498 16116,8495 16116,8496 16116,8499 16116,8504 20116,8508 20119,8508 20119,8507 20119,8509 20123,8509 20127,8512 20128,8514 20130,8519 20135,8522 20136,8522 20136,8524 20138,8524 20141,8528 20142,8526 20145,8530 20141,8530 20145,8532 20149,8531 20151,8536 20155,8535 20154,8539 20154,8539 20149,8539 20149,8543 20146,8540 25146,8538 23146,8540 23149,8540 23149,8545 23151,8546 23152,8551 23152,8555 23152,8559 23153,8561 23153,10561 18153,10561 18153,12561 18158,12564 18159,12566 18163,12567 18165,12564 18165,12568 20165,12570 20170,12575 20173,12579 20177,12576 20177,12579 20176,12584 20176,12583 20181,12585 20182,12583 20186,12582 20187,12585 20192,12582 20194,12584 20198,12586 20198,12581 20201,12582 20204,12581 20206,13581 20209,13586 20211,13586 20216,13589 20217,13589 20213,13586 20215,13588 20213,13592 20215,13596 20216,13596 20221,13600 20221,13598 20224,13595 20221,13598 20226,13602 20229,15602 20232,15606 20232,15611 20232,15610 20232,15613 20235,15617 20239,15612 20234,15612 20233,15615 20237,15617 20233,15619 20234,15619 20229,15623 25229,15624 25229,20624 25228,20628 25229,20631 25234,20630 25239,20634 25241,20632 25244,20636 25240,20634 25237,20639 25236,20634 25241,7590 14257,7592 14260,7592 14262,7592 14265,7595 14266,7600 14263,7600 14268,7604 14270,7609 14274,7611 14275,7615 14275,7620 14277,7620 14276,7625 14277,7625 14277,7628 14281,7628 14286,7630 14284,7630 14284,8543 20146,8542 20148,8546 20150,8550 20152,8550 20153,8550 20158,8545 20156,8545 20157,8550 20157,8550 20155,8550 20157,8553 20161,8557 20161,8557 20165,8560 20161,8563 20159,8568 20154,8570 20158,8573 20161,8573 20166,8577 20168,8580 20171,8584 20173,8585 20175,8580 20180,8582 20183,8582 20188,8582 20188,8585 20193,8588 20198,8589 20199,8591 20197,8594 20198,8596 20196,8592 23196,8597 25196,8601 25199,8601 25203,8604 25202,8604 25202,8599 25205,8601 25210,8601 25206,8603 25206,8606 25206,8605 25211,8609 25211,8613 25208,8614 25205,8619 25208,8619 25210,8621 25214,8619 29214,8615 29218,8616 29219,8617 29217,8622 29222,11622 29225,11624 29229,11623 29230,9623 29225,9621 29224,9625 29227,9628 29227,9624 29232,9626 29237,9631 29241,9634 29245,9635 29248,9638 29253,9643 29258,9646 29258,9647 29255,9648 29253,9650 29258,9648 29262,9647 29262,9642 29267,9646 29267,14646 29269,14650 29274,14655 29279,14654 29277,14655 29275,14653 29276,14655 29273,14656 29269,14653 29272,14656 29272,14656 29274,14660 29276,14663 29276,14660 29278,14659 29281,14659 29276,14661 29272,14656 29273,14657 29274,14652 29270,14654 29274,14657 29270,14659 29272,14655 29275,14657 29270,14659 32270,14660 32270,14662 32273,14665 32277,12665 32279,12670 32279,12670 32277,12670 32274,12672 32277,12677 32282,12682 32285,12678 32289,12674 32291,12677 32287,12679 32287,12683 32292,12685 32292,12680 32289,12682 32294,12683 32299,12687 32298,12692 32300,12695 32305,12699 32310,12703 32311,12704 32312,21515 5172,21516 5175,21518 5175,21513 5177,21516 5182,21520 5186,21525 5185,21529 5185,21528 5186,21530 5181,21533 5178,21537 5183,21537 5183,26537 5183,26534 5183,26539 5183,26542 5178,26542 5176,26544 5176,26546 5177,26548 5175,26549 5178,26548 5181,26548 5184,26553 10184,26557 10179,26559 10175,26563 10171,26563 10173,26564 10170,26568 10169,26572 10171,26577 10171,26581 10169,26577 10173,26573 10169,26575 10171,26578 12171,26576 12175,26576 12180,26581 12183,26577 12183,26580 12184,26582 12181,26582 12182,26583 12182,26588 12186,26590 12191,26593 12193,26593 12198,26598 12198,26602 12193,26602 12193,26604 12195,26607 12195,26611 12196,26615 12196,26615 12200,21534 12152,21534 12152,21537 12147,21540 12147,21545 12150,21545 12145,21548 12150,21549 12152,21544 12152,21544 12150,21547 12153,21552 12152,21553 12157,20553 12161,20553 12156,20556 12152,15556 12157,15559 12160,15557 12163,15561 12163,15564 12166,15565 12165,15561 12161,15559 12163,15559 12168,-4274 9335,-4274 9339,-4276 9341,-4276 9344,-4273 9341,-4271 9341,-4266 9342,-4266 9339,-4269 9335,-4265 9339,-4263 9342,-4259 9345,-4254 9345,-4250 9340,-4250 9335,-4245 9338,-4242 9341,-4240 9341,-3240 9346,-3242 9349,-3241 9351,-3239 9352,-3238 9355,-3237 9358,-3233 9356,-3232 9358,-3233 9358,-3228 9363,-3228 9364,-3223 9369,-3226 9369,-3224 9373,-3222 9378,-3217 9379,-3215 9384,-3215 9384,-3215 9389,-3215 9394,-3215 9390,-3210 9385,-210 9386,-207 9389,-208 9389,1328 -1007,1328 -1010,1329 -1013,1334 -1018,1339 -1013,1344 -1013,1346 -1013,1350 -1015,1351 -2015,1353 -2016,1353 -2011,1350 -2016,1350 -2013,1354 -2010,1356 -2005,1359 -2007,1364 -2005,1363 -2005,1365 -2000,1362 -1999,1365 -1998,1366 -1998,1362 -1994,1364 -1989,1365 -1988,3668 17323,3665 17327,3663 17332,3666 17337,3667 17341,11433 8033,11434 8035,11434 8031,11437 8031,11437 8032,11441 8033,11439 8033,11442 8036,11445 8037,11448 8038,11452 8043,11454 8047,11456 8047,11459 8044,11454 8049,11457 8051,11460 8052,11463 8055,11458 8057,1346 -2990,1346 -2986,1350 -2982,1347 -2986,1352 -2983,1352 -5983,1355 -5979,1358 -5974,1354 -5970,1356 -5965,1360 -5964,1362 -5960,1364 -5960,1364 -5960,1369 -5960,1364 -5963,1369 -5960,1374 -5957,1378 -5952,1380 -5951,1384 -5951,1380 -5948,1380 -5944,1384 -5942,1387 -5945,5387 -5949,5391 -5950,5395 -5950,5395 -5951,5395 -5949,5400 -5954,5404 -5953,5402 -5958,7402 -5958,7403 -5963,7404 -5960,7404 -5959,11363 6016,11359 6018,11364 6023,11365 6024,11365 6023,11369 6025,11373 6020,11378 6020,11377 6024,11379 6029,11383 6033,11384 6034,11388 6037,11389 6041,11394 6043,11396 6048,11401 6048,11402 6050,11406 6052,11404 6054,11409 6058,11413 6059,11415 6060,11411 6065,11416 6068,11420 6073,11415 6076,11416 6078,11419 6083,11423 6085,11428 6086,11430 6086,11432 11086,11437 11091,11432 11088,11429 11086,11432 11086,11427 11090,11427 11095,11429 11092,11427 11092,11431 11087,11433 11088,11436 11090,11436 11091,11436 11096,11439 11099,11440 11099,11440 11095,11445 11097,15445 11102,15445 11102,15441 11099,15445 11100,15445 11102,15443 11106,15445 11110,15450 11107,15453 11110,15457 11110,15457 11115,15459 11119,15460 11117,15465 11117,15465 11120,15464 11123,15463 11124,15460 11124,15460 16124,15458 16127,15462 16122,15466 16126,15462 16131,15465 16133,15463 16135,15462 16136,15462 16140,15466 16142,15468 16147,15468 16147,15471 16149,15471 16147,15475 12147,15477 12150,15480 12147,15484 12144,15487 12145,15490 12147,15492 12149,15494 12150,15496 12153,15497 12155,15499 12150,15499 12147,15500 12143,15504 12146,15499 12150,15500 12150,15500 12152,15505 12153,15506 12157,15506 12157,15508 12158,15512 12159,19512 12162,19513 12159,19511 12163,19512 12162,19517 12167,19520 12167,19522 12168,19525 12171,19525 12172,19525 12175,19526 12172,19526 12172,19526 17172,19527 17175,19528 17176,19529 17179,19529 17178,19533 17181,19532 17183,19532 17179,19537 17174,19539 19174,19538 19171,19542 19172,19547 15172,7641 17282,7646 17284,7649 17284,7652 17284,7654 17285,7650 17289,7647 17291,7645 17296,7649 17297,7650 17294,7653 17294,7653 17298,7656 17303,7658 17308,7662 17313,7666 17308,7664 17313,7669 17313,7669 17313,7669 17316,7667 17313,7667 18313,7663 18314,7661 18316,7662 18317,7657 18318,7662 18315,7658 18316,7661 18318,7661 18322,7664 18317,7667 18315,7671 18315,7675 18315,7674 18315,7670 18316,11670 18316,16670 18321,16673 18321,16678 18322,16682 18327,16683 18332,16686 18334,16690 18334,16688 18336,16685 23336,16688 23337,14688 23338,14692 23337,14694 23338,14697 23339,14697 23342,14698 23342,14698 23343,14698 23348,14693 23350,14694 23347,14695 23347,14696 26347,14692 23347,14692 23347,14693 23350,14693 23351,14698 23355,18698 23352,18698 23356,18702 23360,18701 23362,18699 23363,18701 23363,18702 23366,18699 23366,18694 23370,18699 23370,18702 23374,18707 23378,18706 23380,18706 23381,22706 23384,22706 23385,22705 23389,22706 23384,22706 23384,22706 23384,22710 23380,22713 23381,22718 23386,22716 23390,22712 23390,22708 23390,22705 23392,22704 23397,25704 23402,25704 23402,25706 23404,25710 23404,22710 18404,22707 18402,22704 18403,22704 18406,22704 18411,22704 18411,22704 18410,22709 18410,22709 18407,22704 18405,22703 18405,22707 18405,20707 18409,20709 18412,20710 18411,20712 18414,20712 18414,20712 18412,20712 18416,20714 18412,20717 18417,20720 18419,20715 18421,20718 18422,20723 18425,20723 18430,20723 18434,20725 18435,20724 18437,20724 18433,20726 18433,20731 18437,20732 18437,20730 18438,20735 18440,20739 18438,20734 18438,20739 18437,20739 18437,20744 18439,20749 18438,20750 18434,20753 18436,20754 18431,20754 18432,20758 18433,20762 18438,20764 18443,20766 18447,20766 18450,20767 18451,20768 18451,20769 18448,20770 18452,20774 18456,20777 18458,20781 18462,20782 18463,20785 18468,17785 21468,17784 21473,17782 21477,17787 21481,17783 21482,17785 26482,17788 26482,17788 26482,17791 26479,17794 26483,17790 26483,22790 26483,22790 26479,20583 16215,20585 16220,20589 16225,20590 20225,20592 20222,23592 20227,22592 20229,22597 20233,22600 20233,22603 20237,22604 20240,22599 20241,22595 18241,22595 18242,22598 18243,22602 18247,22605 18252,22601 18256,22598 18255,22600 18257,22604 18258,22609 18261,22608 18261,22606 18264,22608 18261,22605 18265,24605 18262,24608 18263,24611 18267,24608 18267,24613 18271,24615 18272,24610 18273,24614 18272,24619 18276,24621 18281,24625 18276,24622 18280,24622 18282,24621 18279,24622 18277,24627 18279,24631 18284,24634 18289,24634 18292,24634 18294,24636 18299,24639 18294,24644 18295,24647 18298,24647 18301,24643 18303,24643 18306,24639 18311,24636 18315,24641 18317,24645 18317,24648 18319,24649 18323,24649 18328,24652 18330,24652 18329,24652 18327,24655 18322,24656 18319,24658 18319,24661 18320,24664 18316,24660 18320,24657 18318,24657 18320,24659 18325,24660 18327,24661 18323,24656 18327,24652 18323,24654 23323,24658 28323,24660 28318,24665 28319,24666 28323,24668 28325,24668 28328,24672 28325,24667 28328,24668 28325,24670 28326,24665 28330,24668 28334,24672 28336,24672 28336,24668 28339,24672 28340,24672 28338,24674 28341,24675 28346,24675 28351,24677 28356,24679 28357,24681 28356,24677 28360,24680 28355,24684 28354,24688 28356,24688 28351,24690 28356,24686 28361,24691 28364,24692 28364,24692 28365,24692 31365,24693 31370,21693 31370,21692 35370,21688 35372,21692 35377,21695 35377,21697 35377,21698 35379,21698 35374,21701 35375,21701 35379,21703 35380,21708 35383,21706 36383,21709 36383,16709 36383,16710 36386,16715 36382,16711 36386,16706 36388,16706 39388,16706 39383,16706 39379,16711 39379,16711 39376,16714 39381,16716 39386,16717 39389,16717 39391,16720 39391,16723 39387,17723 39392,17726 43392,17722 43396,19722 43399,19724 43394,19727 43391,19725 43395,19723 43398,19726 46398,19730 46400,19730 46403,19730 46405,19734 46407,19734 46410,19733 46407,19728 46412,19726 46416,19726 50416,19723 50417,19723 50416,19718 50420,19719 50424,19718 50429,19713 50433,19715 50437,19718 50442,19719 50442,19718 50444,19719 50439,19721 50443,18721 50444,18721 50446,18721 50450,18726 50451,18727 50453,18722 50451,18727 50456,18729 50455,18731 50458,18726 50458,18728 50458,18730 50463,18730 50460,18729 50456,18727 50460,18730 50462,18734 50457,18739 50455,18744 50457,18744 50461,18748 50461,18748 50466,18745 50468,18749 50463,18750 50468,18754 50472,18754 50472,18759 50472,18760 50468,18763 50473,18760 50477,18762 50477,18766 50481,18769 50483,18769 50481,18772 50482,18776 50482,18779 50486,18779 50489,18781 50489,18783 50494,18786 50496,18786 50495,18786 50498,18784 50499,18784 50499,21784 50504,21788 50502,21785 49502,21790 49501,21790 49498,21795 49494,21800 49494,21801 49495,21801 49500,21797 49505,21799 46505,21802 46508,21798 46513,21799 46516,21802 46516,21805 46519,21800 46524,21805 46527,21804 46528,21801 47528,21801 47531,21804 47533,21804 47529,21804 47534,21809 47538,21808 47538,21812 47540,21812 47535,21813 47532,21810 52532,21812 52535,21817 52536,21820 52536,21824 52541,21828 52545,19828 52545,19829 52547,19829 52551,19833 52555,19831 52552,19826 52557,17826 52562,17827 52567,17830 52568,17830 52572,17830 52575,17830 52575,17830 52574,17831 52578,17827 52582,17827 55582,17829 55583,17834 55583,17839 56583,17843 56579,17846 56580,17850 56584,17848 56588,17853 56592,17851 56596,17856 56596,17856 56600,17851 56601,17856 56601,17856 56604,20856 56604,20861 56601,20865 56596,20865 56597,20866 56597,20869 56602,20871 56603,20874 56607,20871 56605,20872 56610,20874 56613,20874 56612,20876 56617,20876 56622,20876 56626,20876 56621,20879 56623,20880 56627,20883 56624,20880 56629,20880 56629,20881 56630,20884 56630,20884 56635,20881 56636,20879 56637,20876 56632,20879 56629,20881 56633,20878 56634,20879 56634,20879 56637,20879 56642,20884 56638,20879 56639,20884 56634,20885 56631,20886 56633,20889 56632,20894 56627,20894 56631,20894 56631,20898 56632,20903 56632,20908 56630,20907 56633,20907 56636,20903 56641,20904 56641,20904 56637,20900 56639,20905 56642,20910 56643,20905 56648,20910 56653,20915 56654,20910 56659,20910 56663,20910 56664,20912 56664,20912 56666,20917 56670,20922 56670,20918 56673,20920 56675,20920 56677,20920 56677,20921 56681,20926 56677,20931 56677,20934 56680,20934 56684,20936 56689,20938 56689,20938 56690,20940 56695,20935 56696,20939 56697,20939 56699,20940 56696,20941 56694,20940 56698,20945 56700,20947 56702,20947 56707,20950 56712,20954 56713,20950 56710,20952 56706,20955 56704,20957 56708,20953 56709,20951 56714,20953 56716,20957 56720,20957 56722,20959 56725,20958 56727,20959 56728,20962 56731,20963 56736,20965 56741,20965 56740,20967 56742,20969 56737,20969 56742,20974 56744,20979 56744,20978 56745,20974 56748,20970 57748,20972 57749,20974 57751,20971 57754,20972 57752,20977 57755,20981 57758,20981 57763,20981 57765,20984 57765,20982 57767,20982 57763,20987 55763,20989 55767,20991 55770,20987 55771,20988 55774,20988 55777,20991 55775,21991 55778,21996 55778,22000 55783,22001 55783,22005 55783,22010 55785,17010 55781,17011 55783,20011 55778,20015 55783,20018 55786,20015 55791,20015 55795,20019 55792,20019 55792,20021 55792,20022 55788,20023 55783,20028 55786,25028 55790,26028 55795,26029 55790,26030 57790,26033 57794,26032 57798,26036 57802,26039 57805,26042 57805,26046 57810,26050 57811,26054 57815,26054 57819,26050 57819,26055 57820,26060 57822,26063 57823,26066 57826,26068 57824,26073 57826,26077 57831,26082 57831,26078 57836,26082 57839,26084 57839,26086 57834,26082 57834,26083 57835,26082 57840,26083 57844,26086 57843,26083 57846,22083 57849,22084 57847,22089 57847,22094 57848,22094 57853,22094 57850,22095 59850,22095 59855,22098 59858,22099 63858,22099 63861,21099 63861,21104 63862,19104 63862,19108 63864,19109 63864,19112 63868,19113 63873,19117 63876,19121 63875,19116 63877,19115 63882,19117 63878,19122 63883,19125 63884,19129 63879,19133 63879,19135 63874,19139 63871,19136 63871,19136 63873,19140 63868,19140 63873,19144 63877,20144 63879,20144 63876,20146 63880,20148 63878,20149 63877,20149 63879,20150 63882,20155 63886,20155 64886,20159 64884,20160 64884,20161 64887,20160 64887,20164 64887,12677 32287,12677 32292,12679 32297,12678 32298,12682 32294,12687 32294,12682 32296,12682 32296,12683 32298,12683 32301,12682 32305,12685 32309,12686 32311,12686 32316,12691 32311,12692 32316,12692 32312,12697 32314,12700 32319,12705 32322,12706 32327,12704 32329,12705 32332,12702 32334,12707 32338,12703 28338,12704 28340,12700 28345,12702 28345,12702 28345,12701 28348,12704 28349,12704 28345,12709 28342,12709 28343,12714 28347,12718 28351,12723 28352,12727 28353,12730 28355,12728 28353,12733 25353,15733 25353,15736 25355,15740 25356,15745 25356,15747 25351,15752 25353,15752 25354,15754 25354,15754 25353,15759 25352,15763 25352,15764 25357,15759 25352,15761 27352,15760 27354,15760 27354,15760 27355,15762 27357,15762 27354,15759 27354,15759 27354,15763 27358,15767 32358,15764 32360,15769 32360,15767 32360,15765 37360,15770 37362,15772 37363,15774 37367,15779 37363,15780 37359,15779 37363,15782 37366,15780 37370,15775 37370,15778 37365,15781 37360,15785 37356,15785 39356,15789 39358,15789 39360,15794 39365,15794 39370,15797 39375,15797 39380,15799 39379,15804 39376,15805 39377,15807 39380,15808 39385,15809 39386,15807 39386,15809 39386,15810 39389,15815 39392,15820 39392,15819 39396,15820 39398,15820 39395,15825 39400,15823 39405,15824 39403,15829 39403,15834 39406,15836 39411,15831 39415,15832 39415,15833 39415,15838 39417,15839 39419,15839 39414,15842 39413,15846 39418,15843 39420,15842 39423,15839 39420,15840 39422,15839 39420,15842 39415,15846 39410,17846 39415,17845 39411,17847 39416,17849 39420,18849 39424,18847 41424,18852 41424,18849 41429,18849 41432,18848 43432,18852 43433,18855 43433,18859 43435,18855 47435,18858 47440,18861 47435,18866 47435,18866 47439,18869 47442,18871 47445,18873 47445,21873 47445,21876 47444,21873 47449,21878 47451,21883 47456,21880 47454,21880 47454,21880 47457,21883 47459,21887 47464,21890 47465,21893 47467,21894 47464,16894 47462,16899 47457,16898 47455,16893 47456,16897 47458,16896 47455,16898 47459,16900 47464,16903 47469,16908 47471,16903 47474,16901 47473,16906 47473,16901 47478,16904 47479,16906 47475,16906 47474,16907 47475,16906 47479,16901 47482,16901 47482,16905 47486,16908 47487,16911 47490,16915 47490,16917 47492,16921 47497,16926 47498,19525 12175,19525 12176,19521 12177,19522 12181,19525 14181,19521 14181,19519 14185,19519 14189,19524 14192,19527 14192,19529 14196,19534 14200,19535 14205,19538 14208,19540 14204,19545 14207,19545 14207,19547 14210,19550 15210,19554 15210,19555 15210,19555 15213,19560 15213,19562 15212,19564 15213,19569 15210,19570 15214,19573 15214,23573 15217,28573 17217,28574 17220,28574 17219,28574 17224,28576 17229,28577 17233,28577 17236,28579 17236,28580 17238,28584 17243,28588 17248,28587 17252,28587 17252,28582 17255,29582 17259,29577 17260,29578 17262,29583 17257,29585 17257,29586 17260,29586 17265,29590 17267,29593 17267,29594 17267,29599 21267,29603 21271,29603 21272,29605 21274,29607 21276,29612 26276,29613 26279,29616 26280,29621 26277,29621 26277,29623 26282,29626 26285,29631 26289,29628 26289,29632 26290,29637 26294,29642 26290,29646 26292,29648 26291,29649 26288,29653 26293,29655 26292,29655 26293,12702 28345,12703 28348,12698 27348,12699 27349,12698 27354,12700 27354,12700 27355,12703 27360,12703 27361,12700 27362,12704 27367,12701 27371,12706 27376,12710 27372,12710 27373,12710 27368,12715 27370,12713 27374,12716 27378,12716 27380,12714 27379,12719 27374,12718 27373,12722 27376,12724 27376,12729 27371,12733 27372,12733 27377,12735 27373,12735 27374,12737 27378,12739 27379,12742 27381,12739 27381,12739 27376,12743 27378,12743 27379,9743 27375,9744 32375,9745 32377,9746 32374,9746 32372,9750 37372,9752 37375,9754 37375,9751 37377,9755 37379,9759 37379,9763 37383,9766 37385,9767 37382,9768 37383,9765 40383,9770 40378,9770 40382,9775 40384,9777 40386,9782 40391,9778 40395,9773 40395,9778 40397,9779 40399,9781 40402,9781 40398,9781 40393,9780 40396,9782 40399,9785 40398,9786 40395,9789 40390,9793 40387,9798 40390,9803 40394,9805 40397,9800 40400,9795 40402,9800 40403,9802 40407,9807 40410,9806 40407,9807 40403,9812 40400,9814 40403,9819 40403,9819 40400,9822 40405,9824 40405,9822 40408,9827 40410,9831 40413,9831 40413,9826 40412,9827 40417,9832 40418,9832 40416,9833 41416,9833 41421,9834 41416,9838 41416,9838 41421,9840 41422,9844 41424,9839 41424,9843 41427,9845 41430,9849 41430,9849 41425,9852 41423,9855 41426,9858 41429,9860 41434,9862 41436,9866 41441,9868 41436,9869 41434,9871 41434,9875 41437,9877 41437,9881 41438,9883 41438,9879 41438,20903 56641,20898 56644,20903 56647,20901 56649,20903 56645,20905 56650,20909 53650,20905 53650,20910 53652,20907 53655,20912 53652,20916 53656,20917 53656,20912 53661,20912 53660,23912 53663,23912 53663,23909 53663,23912 53665,23913 53669,23911 53669,23915 53669,23912 53671,23916 53670,23917 53675,23922 53680,23927 53683,23930 53688,23935 53689,23935 53691,23935 53691,23931 53692,23931 53694,27931 53693,27933 53695,27937 53695,27942 53699,27947 53701,27949 53703,27949 53704,27949 53708,27952 55708,27953 55710,27949 55710,27953 55710,27958 55713,27959 55718,27960 55722,27962 55725,27965 55730,27965 55732,27968 55730,27969 55733,27972 55733,27975 55734,27975 55734,27979 55737,27981 55733,27982 55732,32982 55732,32979 55734,32978 55737,32978 55738,32974 55742,32977 55746,32981 55750,32985 55746,32983 55747,32987 55750,32992 55751,32995 55751,32998 55751,32998 55753,32998 55753,32993 55753,32995 55757,32999 55758,33002 55760,33002 55761,33005 55766,33005 55767,33000 55764,32997 55767,32997 55771,33001 55773,32998 55777,33001 55777,33005 55776,33004 55776,33009 55781,33014 55786,33014 55790,33015 55790,33016 55790,33015 55786,34015 55787,34019 55790,34019 55791,34021 55793,34017 55793,34019 55796,34016 55797,34020 55793,34020 55796,34023 55792,34023 54792,34025 54797,34028 54800,34029 54799,34029 54795,34034 54796,34036 54797,34041 54792,36041 54797,36045 54801,36048 54803,36051 54804,36053 54806,11439 8033,11441 8038,11441 8039,11441 8040,11445 8035,11441 8035,11442 8039,11438 8035,11438 8035,11443 8039,16443 8038,16444 8038,14444 8040,14448 12040,14451 12036,14455 12038,14455 12041,14456 12046,14459 12049,14457 12051,14458 12046,14458 12047,14459 12042,14464 12042,14465 12047,14470 12050,14471 12055,14471 12058,14468 12060,14473 10060,14477 7060,14477 7062,14474 7062,14474 7067,16474 7063,16471 7065,16474 7067,16471 7072,16471 7068,16476 7066,16481 7069,16482 7072,16487 7072,16487 7077,16488 7077,16493 7076,16493 7079,16497 7079,16500 7079,16502 7079,16502 7079,16505 7075,16504 7080,16501 7077,16497 7079,16501 7081,16497 7080,16496 7084,16500 7086,16495 7087,16498 7084,16501 7087,16496 7087,16496 7083,17496 7083,17500 7083,17505 7088,9860 41434,9864 41435,9864 41435,9865 42435,9860 42435,9862 42436,9863 42434,9863 42430,9862 40430,9863 40427,9863 40428,20608 16239,20605 16242,20610 16237,20614 16237,20615 16242,20611 16242,20612 16245,20609 16244,20604 16242,22604 16237,22608 16239,22607 16240,22610 16244,22610 16241,22615 16246,22616 16246,22614 16251,22616 16251,22617 16249,22619 16254,22623 16252,22618 16255,22618 16259,22620 16262,22615 16262,22618 16263,22622 16263,22626 16265,22629 16266,22628 16269,22633 16267,22636 16268,22636 16267,22641 16269,22646 16269,22645 16271,22646 16273,22650 16271,22655 16274,22655 16277,22658 16279,22660 16280,22658 16280,22661 20280,22663 20282,19663 20285,19658 20288,19658 20292,19661 20295,19666 20298,19670 20301,19671 20301,19675 20301,19677 20306,19675 20311,19674 20315,19678 20318,19677 20314,19680 20315,19682 20310,19684 20314,19683 20316,19687 20315,19688 20316,19688 20319,19693 20319,19698 20322,19702 20323,19698 20323,19702 21323,19707 22323,8508 20119,8509 20119,8510 20116,8515 20113,8518 20115,8519 20116,8516 20120,8520 20119,8520 20118,8525 20123,8527 20125,8527 20125,8528 20123,8530 20126,8533 20123,8535 20127,8532 20132,8534 20136,8538 20138,8542 20141,8537 20143,8537 20145,8542 20145,8547 21145,8548 24145,8552 24145,8557 24150,8560 24147,8562 24151,8566 24156,8569 24160,8574 24156,8579 24159,8584 24164,8587 24164,8585 24167,8588 24170,8591 24171,8589 24172,8590 24176,8595 24177,8593 24174,8596 24178,8600 24179,8603 24175,8602 24178,9602 24182,9605 24177,9609 24178,9610 24182,9608 24178,9603 24183,9606 24188,9608 24193,9609 24195,9614 24196,9616 24197,9618 24201,9618 24205,9613 24209,9612 24214,9608 24211,9603 24216,9607 24221,9611 24221,9615 24217,9617 24217,9618 24221,9623 24225,9623 24225,9626 24225,9630 24225,9630 24222,9626 24223,9626 22223,9627 22223,9626 22226,9629 22228,9632 22228,9636 22225,9638 22226,9639 22227,9634 22230,9634 22231,9639 22235,9639 22240,9641 22242,9642 22246,9647 22249,9652 22250,9655 22255,9651 22256,9652 22253,9652 22256,9652 22261,9655 22262,9657 22257,9659 22261,9659 22261,9657 22264,9657 22261,9656 22264,9661 22267,9662 22270,12662 22270,12665 22265,12669 22270,12669 22270,12673 22269,11356 7007,11361 7010,11361 7010,11357 7014,11356 7015,12356 7020,12357 7015,12361 7017,11361 7018,11364 7017,11359 7018,11355 7017,11354 7020,11357 7020,11361 7023,11364 12023,11368 12028,11368 12029,11371 12030,11372 12034,14372 12034,14372 12039,14372 12042,14376 12045,14381 12047,14379 12047,14381 12049,14384 12054,14385 12051,14388 12056,14384 12056,14384 12061,14381 12058,14386 12062,14386 12059,14391 12059,14396 12060,14397 12060,14398 12056,14403 12051,14408 12052,14410 12057,14409 12057,14414 12053,14414 12051,14415 12051,14420 12049,14423 12048,14427 12044,14427 12044,14425 10044,14421 10049,14424 11049,14426 11054,14427 11059,14429 11064,14433 11064,14434 11064,14437 11065,14441 11068,14444 11072,14445 11076,13445 12076,13445 12077,13445 12081,13444 14081,13446 14081,13446 14078,13449 14083,13447 14084,13450 14085,13452 14090,13453 14087,13456 14084,13457 14083,13461 14081,13463 14082,12463 14082,12463 14087,12463 14087,12464 14087,8464 14087,8465 14083,8465 14080,8467 14085,8472 14085,8473 14085,8476 14090,8474 14094,8475 14094,8480 14094,8481 14099,8476 14103,8476 14107,8480 14111,8483 14116,8488 14120,8488 14118,8488 14120,8483 14115,8481 14118,8485 17118,8485 17114,8488 17110,8488 17115,8484 21115,8484 21118,8486 21120,8487 21120,8482 21115,8487 21118,8490 21122,8494 21127,8497 21132,8497 21133,8500 23133,8503 23135,8507 23135,8508 23132,8511 23129,8512 23125,8517 23126,8522 23125,8527 23129,8522 23131,8527 23132,8530 23132,8531 23128,8533 23132,8533 23134,8533 23139,8533 23144,8536 23143,8537 23146,8533 23146,8533 23149,8537 23152,8533 23157,8530 23158,8532 23162,8536 23162,8536 23165,8536 23165,8540 23170,8544 23171,8548 23169,8547 23173,8551 23176,8552 23173,8548 23169,8553 23173,8553 23170,8548 23173,8549 23173,8546 22173,8547 22174,8551 22177,8550 22179,8552 22183,8553 22183,8553 22184,8557 22185,6557 22185,13598 20226,13601 20227,13604 20229,13608 20233,13610 20234,13605 20237,17605 20237,17610 20242,17605 20242,17602 20241,14602 20241,18602 20236,18606 20239,18606 20244,18608 20241,16608 20245,16611 20240,16615 20239,16610 20234,16611 20232,16613 20235,16608 20235,16608 20239,16613 20242,19734 46410,19734 46410,19738 46414,19737 46414,19735 46415,19737 46418,19741 46421,19744 46423,23912 53671,23908 53673,27908 53675,27913 54675,27917 58675,27921 58677,27925 58678,27930 58678,27926 58683,27930 58686,27931 58691,27931 58695,27934 58700,27936 58699,27936 58699,27941 58695,27942 58695,27947 58699,27952 58699,27954 58703,27957 58704,27962 58708,27958 58706,27959 58703,27962 58703,27967 58706,27967 58701,27965 58701,27962 58702,27966 58703,27971 58704,27976 58706,27980 58709,27980 58712,27975 58711,27971 58716,27971 58713,27968 58712,27968 58712,27971 58711,27968 58713,27968 58710,27969 58708,27972 58706,27976 58711,27978 58716,27979 58716,27983 58718,27978 58718,27981 58719,27981 58723,27986 58725,27986 58728,27986 58731,27991 58734,27996 58738,27993 58736,27995 58732,31995 58736,31990 58735,31993 58738,31990 58734,31995 58729,31996 58729,31999 58731,31994 58726,31996 58731,12463 14087,12465 14090,12465 14093,12463 14090,12463 14095,12461 14092,12464 14093,12459 14091,12459 14091,12459 14091,12459 14096,12461 14100,12458 14103,12457 14101,12452 14101,12452 14106,12453 14103,12453 17103,12455 17104,15455 17104,15460 17108,15463 17104,15458 17108,18458 17108,21458 17105,21461 17105,21464 17110,21467 17115,21464 17120,21464 17120,21468 17123,21470 17126,21465 21126,21461 21126,21464 21128,21464 21132,21468 21137,21471 21142,21475 21146,21471 21146,21476 21147,21473 21151,21475 25151,21475 25152,21477 25153,21481 29153,21479 29158,21484 29162,21488 29162,21490 29165,21487 29170,21488 29167,21489 29162,21493 29164,21493 29169,21498 29169,21499 29164,21495 29167,21498 29167,23498 29170,23498 29169,23503 29172,23505 29171,23510 29167,23514 29164,28514 29168,28514 29172,28514 29174,28512 29172,28513 29176,28518 29179,28518 29182,28521 29177,28521 29179,28519 29179,28517 29179,28515 29177,28519 29177,28519 29179,28524 29184,28527 29183,28527 29185,28523 29187,28523 29184,28525 29189,28522 29189,28518 29186,28523 29189,28519 29189,28521 29189,28526 29193,28529 29193,28529 29196,28534 29200,28538 32200,28537 30200,28539 30202,33539 30207,33539 30209,33534 30205,33535 30208,33536 30208,33538 30213,33538 30214,33542 30218,33545 30221,33548 30222,33551 30225,33552 30227,33554 30231,33555 30233,33560 30228,33563 30225,33564 30229,33565 34229,33565 34234,33570 34231,33572 34235,33572 34239,33573 34243,33578 34239,33579 34243,33574 34247,33573 34247,33576 34243,33573 37243,33573 37246,33568 37241,33568 37244,33573 37239,33578 33239,33574 33241,33574 33239,33578 38239,33583 38242,33587 38242,33590 38242,33594 38243,33596 38247,33599 38248,33599 38252,33595 38252,33598 38257,33603 38258,33604 37258,33609 37255,33604 37257,33607 37262,33607 37265,33609 37266,33614 37271,33614 37276,33616 37278,33616 38278,33616 38282,33621 38284,33621 38288,33621 38285,33618 38289,33616 38291,33616 38294,33611 38296,33608 38301,33610 38305,33610 38300,33612 38303,33617 38308,33621 38309,33625 38305,33630 38307,33634 42307,33636 42310,33638 42314,33634 42312,33631 42315,33631 42315,27931 58691,27936 58693,27937 58695,27940 58700,27943 58703,27943 58708,27946 58709,27950 58711,27950 58714,29950 58718,29951 58723,29947 58728,29947 58732,29950 58727,29950 58727,29955 58730,29960 58734,29964 58732,29961 58734,29963 58735,29968 58739,29968 58741,34968 58739,34971 58739,34972 58739,34973 58740,34968 58741,34970 58743,34974 58745,34977 58749,34979 58744,39979 58745,39979 58742,39978 58744,39982 58748,39983 58744,39983 58744,39979 58747,39979 58752,39983 58757,39982 58759,39985 58759,39986 58759,39983 60759,39986 60762,39990 60767,39994 60770,39994 60770,39997 60770,39997 60770,40000 60775,40002 60775,40003 60779,40007 60784,40008 60787,40011 60788,40015 60788,40016 60790,40016 60792,40021 60788,40025 60788,40030 60788,40026 60786,40027 60786,40030 60787,40032 60792,40037 60795,40032 60800,40032 60799,40035 64799,40035 64801,40036 64806,40041 64803,40037 64805,40038 64801,40040 64804,40036 64804,40040 64805,40045 64810,40048 64811,40051 64813,40051 64817,13491 17139,13486 18139,13489 18139,13494 20139,13492 20138,13494 20141,13499 20145,13499 20145,13499 20148,13503 20149,13500 20149,13505 20151,9367 11012,12367 11015,12369 11011,12364 11012,12364 11015,12359 11011,12354 11011,12354 11014,12359 11017,12356 11015,12361 11015,12361 12015,12365 12016,12369 8016,12374 8021,12373 8025,11373 8021,11368 8021,11373 8024,12700 27362,13700 27363,13705 27364,13710 27368,13705 27369,13707 27367,13707 27371,13709 27375,13712 27377,13714 27373,13712 27376,13714 27379,13713 27382,13718 27384,13713 27380,13713 27385,13711 27386,13715 27386,13719 27386,13719 27389,15719 27394,15724 27398,15729 27400,15734 27401,15734 27401,15729 27396,15732 27396,15735 27397,15734 27399,15733 27400,15729 27400,15734 27400,15729 27405,15734 27405,15739 27408,15739 27408,15741 27412,15743 27416,15743 27416,15740 27416,16740 31416,16743 31421,16738 31425,16742 31430,16742 31435,16743 31439,16743 31444,16741 31449,16746 31450,16747 31455,16742 31459,16738 31463,16742 31466,16742 31471,16742 31471,16742 31471,16744 31475,16749 36475,16749 36473,16753 36478,16757 36474,16761 36477,16759 36478,16761 36481,16760 36484,16761 36485,16760 36486,16765 36491,16766 36494,16771 36498,16769 36501,16771 37501,16774 37504,16769 37507,16769 37507,16772 37503,16772 37508,16774 37511,16774 37510,18774 37515,18777 37515,18772 37512,18775 37514,18777 37517,18778 37519,18779 37517,18776 37517,18778 37520,18780 37520,18785 37522,18785 37526,18787 37523,18786 37520,18790 38520,18789 38520,18792 38522,18797 38527,18802 38529,20802 38534,20804 38535,20803 38540,20802 38539,20806 38543,20811 38546,20814 38543,20812 38541,20808 38546,20811 38544,20815 38539,20816 38535,20818 38531,20815 38531,20814 38528,20814 38533,20817 38536,20816 38539,20821 38540,20818 38542,20820 38540,20816 38540,20821 38540,20823 38541,20828 38541,20831 38546,20836 38547,20836 38548,20835 38553,20835 37553,20835 37558,20837 37558,20842 37560,20846 37561,20846 37564,20849 37569,20854 37564,20854 37565,20850 37566,20852 38566,20856 39566,20861 39566,20863 39562,20867 39566,20872 39567,20868 39566,20873 39568,20876 39573,20876 39573,20880 39575,20884 39579,20885 39580,20889 39580,20891 39584,20888 38584,20889 38587,20890 38592,20891 37592,20892 37597,20894 35597,20895 35600,20897 35603,20899 35605,16678 18322,16681 18323,16682 18323,16686 18328,16690 18326,16693 18331,11693 18335,11692 18332,11695 18332,11698 18335,11703 18335,11703 18336,11702 18339,11698 18344,11702 18349,11705 18353,11704 18357,11707 18360,11707 18359,11711 18358,11716 18358,11713 18358,11712 18360,11710 18360,11710 18362,11710 18362,11710 18367,11710 18366,11707 18366,11706 18365,11710 18369,11715 18371,11714 18374,11712 18376,11711 18377,11711 18379,11712 18384,11715 18385,11711 18385,11714 18387,11717 18389,11718 18386,11721 19386,11723 19391,11722 19395,11722 19396,11723 19398,11726 19398,11729 19403,11733 19408,11736 19407,11733 19411,6733 19407,6735 19402,6738 19402,6743 19406,6746 19406,6742 19411,6742 19414,6742 19414,6746 19419,6746 19423,6746 19418,6749 19418,6747 19418,6748 19420,6748 19424,6748 19424,6751 19427,6751 19429,6752 19429,9752 19426,9754 19428,9759 19430,9756 19431,9751 19435,9753 19440,9757 19445,9755 19443,9757 19448,9757 19448,9759 19451,9763 19451,9766 19454,9766 19456,9770 19459,9770 19462,9770 19466,9766 19467,9771 19468,9772 19468,9769 19469,9768 19470,9770 19470,9774 19473,9778 19470,9781 19470,9786 19471,9789 19471,9789 19473,9792 19478,9795 19475,9800 19478,1256 2899,1260 -1101,1256 -1097,1255 -1093,1255 -1094,1259 -1089,1260 -89,2260 -84,2258 -84,2263 -88,2267 -89,2268 -91,2269 -86,2272 -86,2272 -82,2273 -77,2276 -79,2281 -81,2283 -79,2287 -75,2292 1925,2297 1930,2299 1930,2303 1932,2308 1937,2308 1936,2313 1937,2315 1934,2316 1935,2311 1936,2316 1937,2319 1938,2322 1940,2327 1940,2331 1940,2327 1943,2329 1945,2331 1950,2336 1950,2339 1954,2338 1954,7338 1954,7337 1958,7341 1960,7341 1964,8550 20152,8554 20152,8553 15152,8550 15152,8554 15154,8552 15149,8552 15153,8556 15151,8556 15148,8552 15152,8547 15149,8552 15154,8552 15155,8553 15156,8550 15156,8553 15160,8556 15164,8558 15163,8561 15163,8563 15167,8559 15169,8559 15166,8564 15167,8568 15171,8572 16171,8572 16173,8574 16170,8571 16174,8575 16174,8576 16174,8576 16174,8580 16178,8579 16183,8574 16184,8576 16184,7576 16186,7572 16181,7577 16181,7577 16185,7578 16190,7583 16185,7583 16185,7587 16185,12587 19185,12582 19188,12587 19193,12587 19195,10534 21158,10538 21162,10540 19162,10543 19158,10547 19158,10551 19160,10551 19158,10554 19158,10553 19157,10555 19157,10555 19154,10552 19156,10553 19161,10555 19166,10558 19165,10560 19165,10561 19165,10561 19165,10564 19166,10567 19164,10570 19162,10575 19165,10577 19164,10577 19168,10578 19168,10574 19171,10574 19172,10571 19175,10573 19178,6503 16143,6507 16146,6509 16142,6510 16142,6510 16143,6512 16143,6514 16146,6517 16148,6522 16143,6525 16143,6530 16143,6534 16146,6531 16144,8490 16106,8490 16106,8492 16109,8489 16110,8491 16106,8487 16109,8488 16104,8490 17104,8495 17108,8490 17109,8493 17108,8498 17111,8500 17111,8500 17109,8501 17113,8506 17118,8506 17118,8506 17123,4506 17125,4511 17123,4516 17126,4514 17125,4519 17124,4520 17126,4525 17129,4530 17124,4526 17124,4528 17124,4533 17127,4535 17127,4531 16127,4531 16124,4534 16124,4538 16125,2538 16130,2539 16131,2544 16133,2544 16129,2540 16129,2545 16129,2550 16126,7550 16126,7555 16128,7559 16124,7559 16129,7560 16132,7561 16128,7566 16132,9566 16136,9568 16136,9573 16141,9570 16144,9571 16146,9573 16150,9577 16153,9581 16148,9579 16153,9584 16157,9586 16160,9581 16162,9578 16165,10578 16162,10579 16163,10574 18163,10570 18164,10568 18164,10570 18169,10572 18170,10575 18170,10575 18175,10579 18176,10580 18176,10585 18176,10581 20176,10586 20178,10587 20178,10585 20179,10585 20177,10581 20178,10584 20183,10586 20187,10590 20187,10591 20190,10587 20188,10591 20187,10591 20192,10592 20191,10597 20195,10602 20194,10602 20195,10607 20197,10607 20198,13607 20201,13607 20200,13607 20204,13604 20204,13605 20209,13607 20209,13612 20214,13615 20218,13615 20218,13619 20220,13624 20224,13628 20219,18628 20216,18630 20213,18635 20213,18632 20211,18629 20211,18632 20215,18632 20216,18632 20217,18632 20217,18627 20214,18630 20209,18633 20212,18636 20212,18638 20217,18643 20222,22643 20219,22643 20219,22644 20219,22644 20214,22645 20216,22645 21216,22646 21220,22642 21224,22642 21221,22641 21224,22638 21229,22641 21232,22642 21235,22643 21238,22644 21236,22649 21237,22704 18411,22704 18412,22699 18412,22696 18416,22701 18412,22703 18416,22698 18416,22693 18418,22695 18422,22698 18422,22700 18426,22705 18427,22706 18427,22708 18432,22708 18432,22704 18431,22709 18427,22709 18432,22709 18436,22713 21436,22718 21438,22719 21437,22721 21440,22725 21443,22727 21445,22724 21450,22724 21451,22727 21453,22730 21453,22730 21458,22734 21460,22738 21464,20738 21464,20742 21465,22742 21465,22741 21464,22736 21464,22738 21464,22742 21460,22742 21460,22744 21458,22743 21458,22741 21455,22741 21460,22739 21456,22739 21458,22734 23458,22732 23458,22733 23463,22731 23467,22731 23469,22736 23472,22739 23472,22742 23471,22744 23471,24744 23466,24744 23468,24739 23471,24742 23474,24747 23478,24747 23481,24747 23483,24747 23486,24751 25486,24753 25489,24758 25493,24762 25497,24764 25499,24769 25496,24773 25498,24777 25499,24779 25503,24782 25500,24782 25498,24777 25498,24779 25495,24775 25495,24776 25495,24777 25495,24781 25500,24778 25503,24778 25499,24780 25500,24777 22500,24775 22505,24777 22505,24777 22501,24778 22502,24778 22505,24774 22509,24776 22509,24776 22509,24781 22509,24784 22511,24780 22513,24780 22514,24783 22515,24786 22520,24786 22520,24791 22518,24788 22517,24791 22522,24794 22525,24791 22524,24791 22528,24789 22530,24794 22530,24799 22525,24795 22524,24798 22520,24796 22516,24801 22511,24803 22516,24804 22521,24804 22526,24806 22524,24805 22524,24809 22529,24810 22531,24813 22536,24817 22536,24815 22535,24810 22530,24815 22530,24816 22530,24818 22531,24818 22531,24818 22533,24822 22533,24820 22530,24816 22529,24820 22532,24822 22533,24822 27533,24823 27536,24826 27540,24829 27541,24832 27546,24833 27549,24832 27553,24833 27552,24833 27551,24836 27551,24839 27554,24841 27554,24841 27556,24842 27559,24847 27557,24847 27562,24842 27566,24840 27564,24842 27568,24844 27563,25844 27565,25847 27569,25848 27564,25851 27561,25855 27559,25856 27556,25852 27556,25857 27561,25857 27564,25858 27564,25863 27567,25868 27567,25871 27564,25872 27565,25875 27570,25877 27573,25878 27575,25879 27574,25884 27579,25887 27577,25886 27579,25882 27582,25882 27578,25882 27582,25884 27578,25887 27583,25891 27584,25895 27582,25895 27582,25898 27583,25900 27580,11433 8033,11435 8037,11439 8040,11444 8044,11439 8048,11441 8045,11446 8044,11446 8039,11451 8038,11451 8043,11450 8046,11451 8046,11447 8049,11443 8052,11445 8057,11441 8058,11439 8060,11444 8056,11445 8053,11448 8053,11450 8049,11455 8044,11453 8042,11454 8044,11451 8049,11453 8049,11458 8052,11459 8055,11457 8053,11460 8053,11461 8055,11465 9055,11466 9056,12466 9058,12467 9054,12472 4054,12467 4056,12467 4059,12470 4058,12468 4060,14468 4064,14467 4063,14471 4060,14473 4062,14471 4067,14468 4072,14471 4076,14466 4077,14467 4074,14472 4075,14472 4080,14476 4085,14476 4090,14481 4090,14485 4091,14490 4095,14493 4095,14495 4100,14492 4100,14497 4102,14499 4100,14501 4101,14500 4106,14500 4107,14496 4108,14495 4110,14494 7110,33625 38305,38625 38310,38625 38315,38623 38318,38625 38317,38629 38318,38632 38313,38634 38313,38639 38314,38640 38317,38644 38320,38649 38321,38647 38317,38647 38322,38643 38324,38640 38319,38645 38319,38646 38319,38645 38316,38644 38318,38646 38319,38644 38324,38647 38328,38652 38325,38649 38328,38651 38332,40651 43332,40651 43335,40655 43335,40652 43339,40652 43339,40654 43336,40654 43337,40657 43333,40656 43335,40656 43338,40656 43343,40656 43341,40659 43346,45659 43348,45664 43350,45666 43346,45665 43351,45669 43355,45673 43355,45674 43359,50674 43360,50678 43363,50678 43364,50679 43367,50682 43371,50687 43374,50690 43374,50690 43377,50693 43377,50698 43382,50693 43386,50689 43386,50692 43390,50695 43392,50699 43392,50704 43397,50707 43395,50711 43391,50706 43393,50709 43393,50711 43395,50710 43397,50714 43394,50718 43394,50715 43394,50717 43399,50722 43403,50724 43407,50728 43407,50730 43408,47730 43403,47730 43404,47733 43408,47737 43409,47735 43414,47738 43416,47741 43416,47744 43421,47743 43422,47748 43424,47753 43419,47754 43420,47749 43419,52749 43423,52751 43421,52753 43421,52750 43426,52752 43428,52748 43430,52748 43426,52747 43431,52744 43431,52748 43435,52748 43435,52750 45435,52753 45440,52753 45440,52757 45442,52761 45447,52758 45447,52761 45447,52761 45452,52758 45454,52758 45455,52758 45456,52761 45460,52759 45458,52755 45463,52759 45464,52756 45461,52756 45462,52758 45467,52760 45470,52759 45469,52762 45473,52762 45474,15617 20233,15612 20238,15611 20242,15613 20237,15617 20238,15618 20239,15621 20236,15623 20240,15622 20240,15622 20245,15623 20244,15628 20242,15628 20247,15625 20246,15628 20250,15630 24250,15632 24251,15634 24253,15629 24252,15633 24250,15629 24250,15633 24248,15629 24248,15634 24248,15636 24253,15640 24253,15643 24257,15639 24254,15642 24257,15643 26257,15648 26255,15643 26256,15641 26258,15646 26262,15646 26263,15651 26263,15648 26267,15653 27267,15656 27270,15660 27272,15662 29272,15658 29276,15658 29277,15658 29272,15663 29274,15663 29274,17663 29274,17663 29279,17668 29283,17671 29285,17670 29287,17675 29289,17676 29293,17679 29296,17682 29297,17685 29299,17686 29300,17687 29305,17685 33305,17686 33310,17687 33310,17689 33306,17687 34306,17691 34304,17694 34306,17696 34306,17695 34309,17691 34314,17691 34311,17692 34306,17696 34310,17700 34310,17697 34312,17699 34316,17704 34318,17701 34318,17705 34322,17704 34321,17706 34319,17706 34319,17702 34316,17707 37316,17710 37318,19710 37313,19705 37313,19708 37308,19712 37310,19710 37312,19711 37307,19711 37307,19714 37310,19718 37312,19719 37309,19723 37312,19727 37315,19729 37317,19731 37322,19734 37323,19735 37324,19737 37322,19742 37326,19740 37331,19745 37335,19742 37335,19742 37340,19745 37341,19749 37341,19749 37342,19752 37347,19757 37347,19762 37345,19764 37341,19768 37345,19769 37350,19771 37355,19773 33355,19770 33360,19765 33364,19769 33364,19773 33365,22773 33364,22771 33360,22775 38360,22779 38364,22780 38369,22782 38371,22784 38371,22789 40371,22792 40375,22789 40375,22789 40377,22793 40376,23793 40378,23795 41378,23791 41378,23792 41378,23796 41382,23798 41383,22798 41386,22799 41390,22804 41390,22804 41391,22808 41391,22812 41393,22814 39393,22819 39393,22821 39395,22823 39397,22828 36397,22832 36392,22832 36393,22836 36396,22836 36401,22838 36402,19838 36403,19837 36408,19841 36408,19843 36409,19845 36404,19847 36405,19847 36408,19847 36411,19848 36413,19850 36415,19845 36419,19841 36417,19843 36419,19843 36419,19846 36424,19848 36425,19850 36425,19845 36425,19846 36425,19848 36430,19852 36430,19849 36435,19846 36440,19851 36440,19846 36438,19848 36439,19844 36442,19845 36446,19841 36448,19841 36449,19841 38449,19841 38452,19846 38455,19848 38458,19852 42458,19856 42462,19859 42463,19859 42465,19861 42462,19862 42463,19864 42463,19867 42467,19870 42470,19871 42468,21871 42467,26871 42464,26867 42466,26872 42463,26872 42464,26874 42463,26879 42466,26882 42466,26883 42471,26879 42476,26878 42477,27878 42479,27882 42479,27883 42480,27886 42483,27887 42487,27885 42484,27887 42483,27890 42484,27890 42485,22890 42486,22890 42489,22890 42491,22895 42494,22897 42498,22899 42502,22901 42502,22896 42503,22892 42498,22896 42498,22891 42502,22892 42505,22897 42507,22898 42511,22903 42515,22906 42510,22911 42513,17911 42508,17915 42512,17918 42509,17913 44509,17915 44514,17919 44510,17923 44514,17927 44510,17927 44513,17927 44517,17928 44521,21928 44517,21930 44516,21931 44513,21929 44513,21933 44517,21934 44519,21933 44520,21934 44520,21937 44520,21938 44520,21943 44520,21938 44523,21940 44527,21936 44532,21941 44536,21942 44541,21937 44545,21938 44545,21938 44545,21940 44543,21937 44538,21941 44543,21938 44547,21938 44547,21938 44547,21937 44551,21937 44551,21933 44556,21935 44554,21937 44558,21940 44562,21944 44564,21949 44561,21952 44566,21955 44568,21960 44569,21963 44571,21963 44571,21965 44574,25965 44579,25967 44584,25967 44584,25970 44588,22970 41588,22970 41586,22975 41585,22974 41589,22970 41593,22966 41598,22965 41598,22970 41598,22965 41601,22965 41604,22965 46604,22968 46604,27968 46602,27968 46602,25968 46601,25967 45601,25968 45602,25971 45607,25975 45610,25979 45614,25977 45612,25975 45609,26975 45609,26980 46609,26979 46613,26982 46610,26982 46611,26980 46615,26982 46616,26985 46616,26986 46617,26987 46615,30987 46617,30987 46622,30986 46626,30988 46629,30989 46627,17671 29285,17673 26285,17677 26286,17678 26285,17681 26289,15681 26292,15685 26297,10685 26297,10689 26301,10689 26297,10693 26300,10695 26301,10691 26297,10696 26299,10696 26304,10692 26306,10688 26301,10690 26302,10690 26307,10686 26305,10684 26309,10686 26312,10691 26313,10688 26318,10683 26320,10684 26325,10683 26328,14683 26328,14680 21328,14681 21331,14683 21335,14680 21333,14677 21333,14682 25333,14684 25334,14689 25338,14693 25338,14698 25341,14696 25342,18696 25343,20696 25345,20699 25349,20702 25346,20703 25351,20703 25351,20704 25351,20704 25354,20700 26354,20705 26352,20706 26351,20706 26351,20703 26354,20708 26354,20712 26355,20712 26352,20717 26349,20717 26346,20722 26351,20727 26353,20729 26348,20734 26353,24734 26349,24729 26349,24729 26352,24725 26349,24725 26353,24726 26353,24729 26355,24729 26357,24732 26359,24735 26362,24735 26364,24730 26364,24730 26363,24734 26365,24739 26368,24739 26364,24739 26366,24739 26367,24734 26370,24735 26365,24732 26367,24732 26369,24729 26372,24728 26370,24726 26365,24728 26368,24731 26370,24734 26375,24738 26378,24733 26378,24733 26381,24729 26381,13496 17147,13491 17152,13495 17148,13496 17146,13498 17141,13498 17145,13501 17147,13502 17149,13502 17153,13505 17149,13505 17152,13500 17149,13496 20149,13492 20150,13497 20155,8497 20151,8501 20153,8502 20156,8506 20159,8503 20159,12503 19159,12503 19159,12505 19164,12500 19159,12500 19164,12500 15164,12503 15169,12508 15168,12511 15170,12514 15170,12510 15169,12512 15172,12512 15172,12515 15172,12519 15175,12522 15176,12525 15180,12528 15184,23912 53663,23915 53661,28915 53666,28914 53667,28918 53664,28921 53667,28922 53667,28924 53670,28925 53674,28926 53674,28927 53672,28922 53676,28924 53677,28927 53678,28932 56678,28934 56682,28935 56683,28936 56688,28938 56688,28934 56691,28938 56693,28942 56690,28939 56694,28939 56698,28942 56695,28946 56698,28950 56701,28953 56706,28954 56706,28949 56708,28950 56708,28953 56709,28958 56706,28960 56709,28965 56707,28965 56707,28965 56705,28963 56709,28966 59709,28969 59710,28973 59711,28977 59715,28977 59717,28982 59719,28981 59715,28985 59718,28986 59718,33986 59721,35986 59723,35990 59723,35990 61723,35993 61726,35995 61728,35998 61724,36000 61721,36004 61723,36002 61718,36007 61718,36010 61719,36010 61721,36010 61721,36010 61721,36015 61721,36018 61716,36022 61717,36024 61718,36025 61723,36029 61722,36031 61726,36035 61722,36040 62722,36042 62722,36044 62722,36049 62724,36051 62720,36053 62723,36052 62719,36055 62717,36056 62712,36059 62714,36058 67714,36059 67716,40059 67716,40063 67719,40067 67722,40069 67726,40065 67724,40067 67721,40067 67722,40071 67721,40075 67726,37075 67730,37076 67733,37076 67736,37072 67741,37072 67741,37072 67744,37076 67744,37079 67745,37081 67750,37082 67750,37082 67753,37082 67753,37083 67752,37081 67753,37084 67753,37087 67757,37087 67758,37083 67753,37084 67758,37084 67761,37088 67759,37091 67762,37088 67762,37090 67767,37090 72767,37090 72771,37085 72771,37089 72774,38089 71774,38090 71771,38086 71771,38086 71774,38086 71777,38089 71782,38089 71782,38087 71780,38092 71782,38087 71785,38083 71783,38081 71781,38078 71781,38078 71783,38076 71786,38075 71787,38078 71783,38079 71781,38081 71781,41081 71783,41081 71778,41082 71778,41085 71783,41085 71783,41088 71785,41083 71789,41083 71794,41088 71796,41088 71796,41092 71798,41095 71794,41095 71789,41098 71790,41093 71790,41091 71795,41092 71796,41087 71798,41084 71796,41086 71797,41084 71799,41084 71795,41086 71798,41085 71799,41089 71803,41085 71804,41083 71802,41083 71803,41079 71803,41081 71808,41081 71809,41083 71810,41083 71809,41085 71810,41082 71814,41087 71817,41089 71818,41086 71813,41083 71813,39083 71816,39083 71814,39085 71814,39083 71814,39086 71818,39087 71820,39087 71824,39091 71826,39096 71829,39098 74829,39102 74830,39107 74833,39110 74836,39115 74835,39115 74836,39115 74838,39115 74835,39119 74838,39117 74840,39121 74840,39125 74843,39121 74848,39122 77848,39122 77844,39123 77848,39126 77851,39131 77855,39136 77857,39132 77857,39135 78857,39135 78859,39136 78864,39133 78865,39135 78866,39139 79866,39142 79870,39147 79872,39146 79872,39150 79876,39150 78876,39154 78879,39154 75879,39154 75881,39158 75881,39157 75884,39160 75884,39155 75884,39160 75889,39156 75891,39158 75888,39163 75891,39163 75894,39166 75891,39166 75895,39167 75900,39170 75901,39170 75906,35170 75907,35171 75911,35176 75906,35172 75908,35173 75908,35178 75908,35175 75909,35170 75908,35170 75903,35168 75904,35173 75906,35178 75903,35179 75904,35179 75908,35182 75905,35184 71905,35188 71902,35185 71904,35186 71907,35187 71908,35189 71903,35191 71905,35195 71900,35197 71904,35198 71909,35200 71907,35199 71903,35201 71900,40201 71896,25028 55790,25029 55785,28029 55789,28031 55790,28032 55790,28037 55794,28042 55793,28043 55798,28046 55803,30046 55803,30051 55806,30050 55810,30049 55810,30049 55812,30049 55816,30054 55820,2545 16129,2540 16133,2542 16137,2542 16139,2544 16138,2545 16139,7545 16136,7546 16139,7541 16142,7542 16142,7543 20142,7547 20143,11547 20143,11550 20139,11555 20139,11556 20137,11552 20142,11555 24142,11556 24145,11559 24140,11563 24143,11567 24139,16567 24136,16567 24139,16572 24142,16573 24147,14573 24143,14574 24147,14570 24145,14573 24150,14569 24150,14570 24145,14573 24149,14575 24150,14575 24154,14579 24149,14579 24153,14576 24157,14576 24152,14571 24149,14571 24152,14575 24150,14572 24151,15572 24153,15575 24149,15577 24154,15582 24151,15582 24153,15586 24156,15587 24152,15588 24157,15590 24162,15590 24166,15590 24166,20590 24166,17590 24169,17595 24171,17597 24172,17599 24172,17595 24174,17599 24178,17599 24181,18599 24184,18594 24187,18597 24187,18593 24189,18597 24192,18601 24192,18599 24197,18599 24197,18603 24200,18605 24204,18600 24205,18605 24201,18605 24197,18610 24202,18608 24205,18611 24204,18613 24208,18617 24203,22617 24205,22619 29205,22622 31205,22622 31209,22623 31214,22624 31212,22627 31214,22623 31214,22626 31215,22629 31214,22633 31218,22631 31221,22630 31223,22632 31227,21937 44551,21935 44555,21939 44551,21934 44553,21936 44554,21933 44556,21935 44552,21935 44553,21939 44548,21939 44551,21939 44551,21938 44555,21938 44558,21938 44559,21941 44559,21945 44558,19945 44562,19942 44560,19943 44561,19939 44565,19940 44561,19939 44556,19935 44557,9770 19466,9773 19471,9775 19471,9770 19471,9770 19468,9770 19467,9772 19466,9772 19468,9774 19469,9775 19472,12775 19470,12773 19466,12773 19467,12773 19464,12773 19466,12776 19461,12779 19461,12779 19465,12780 19465,12782 19460,12781 19458,12776 19461,12776 19461,12777 19463,12778 19466,12776 19466,12780 19463,12780 19466,12785 19468,12789 19473,12788 19477,12793 19475,12798 19480,12802 19482,12803 24482,12802 24484,16802 24486,16806 28486,16808 28486,16812 28490,16812 28494,16815 28498,16816 28498,16818 28502,16818 28504,16819 28509,19819 28513,19819 28510,19821 28515,19816 28510,19811 28510,19811 28511,19809 28511,19810 28510,19813 28515,22813 28510,22818 28514,22818 28515,22815 28516,22818 28514,22819 79878)',')')) where i = 1; +rollback; +start transaction; +update t1 set a=st_geomfromtext(concat('multilinestring(','(-4286 -5983,52762 -5983,52762 79876,-4286 79876,-4286 -5983)',',','(-768 -136,-771 2864,-772 2860,-777 2862,-775 2858,-775 2863,-770 2866,-765 2871,-761 2874,-759 2878,-759 2883,-759 2886,-758 2886,-758 2886,-755 2890,-752 2890,-751 2890,1249 2890,1250 2892,1251 2892,1251 2892,1256 2897,1259 2894,1256 2899,1253 2904,1256 2904,1257 2906,1252 2910,1253 2910,1256 2912,1255 2913,1260 2911,1256 2913,1255 2918,1257 2921,1259 2925,1262 2922,1263 2923,1266 2926,1268 2929,1269 2932,1273 2937,1277 2942,1282 2942,1284 2939,1287 2935,1290 2935,1293 2938,1296 2940,1299 2942,1302 2947,1307 2952,1311 2956,1312 2958,1307 2956,1311 2955,1307 2956,1307 2960,1307 2962,1311 2965,1315 2967,1314 2968,1319 2969,1322 2973,1324 2978,1323 2977,1327 2982,1330 7982,1332 7985,1332 7986,1332 7988,1328 7991,1328 7991,1328 7991,1253 2910,1249 2908,1251 2908,1253 2913,1253 2909,1256 2914,1255 2916,1259 2919,1261 2923,1262 2923,1266 2925,1270 2930,1270 2932,1267 2929,1269 2929,1269 2931,1269 2926,1265 1926,1270 1926,1274 1926,1274 1929,1269 1929,1270 1931,1272 1935,1269 1935,1273 1938,1278 1938,1278 1938,1280 1943,1275 1948,1276 1951,1279 1948,1280 1952,1281 1952,1286 1954,1290 1958,1290 1963,1294 1964,1298 1962,1298 1958,1302 1963,1302 1967,1307 -2033,1311 -2030,1307 -2030,1310 -2025,1314 -2020,1317 -1020,1321 -1016,1321 -1018,1321 -1015,1326 -1016,1324 -1016,1327 -1011,1326 -1007,1326 -1002,1326 -1004,1321 -1004,1321 -1003,1324 -1008,1328 -1007,1328 -1003,1333 -999,1336 -998,1339 -997,1337 -996,1340 -2996,1335 -3000,1339 -2996,1343 -2995,1346 -2990,1341 -2990,1345 -2991,1345 -2995,1269 2931,1269 2936,1271 2941,1275 2941,6275 2943,6274 2943,6279 2939,6274 2942,6274 2946,6275 2947,6276 2948,6280 2947,6282 2951,6287 2952,6287 2956,6289 2959,6294 4959,6298 4964,6302 4965,6300 6965,6305 6965,11305 6967,11305 6967,11310 6966,11310 6966,11314 6964,11318 6969,11318 6972,11323 6974,11328 6977,11329 6979,11333 6982,11337 6982,11334 6982,11337 6983,11341 6988,11345 6991,11349 6992,11353 6993,11353 6996,11353 7000,11356 7000,11353 6000,11350 6002,11353 6004,11354 6007,11356 6009,11358 6009,11359 6011,11363 6016,11365 6013,11369 6015,11372 6017,11377 6022,11381 6025,11382 9025,11385 9029,11390 9024,11389 9020,11391 9020,11389 9016,11394 12016,11397 12021,11400 12021,11405 12024,11405 8024,11403 8029,11403 8032,11401 8033,11406 8032,11402 8027,11406 8027,11410 8029,11408 8030,11408 8035,11413 8035,11418 8038,11423 8038,11428 8036,11428 8037,11433 8033,11435 8032,6435 8035,6439 8036,6440 8034,6441 8039,6442 8043,6446 8045,6451 12045,6454 12050,6454 12049,6455 12054,6457 12057,6458 12060,6461 13060,6466 13060,6467 13065,6467 13070,6465 13073,6465 13073,6466 13077,6463 16077,6465 16081,6468 16077,6471 16077,6475 16078,6475 16080,6470 16082,6465 16084,6465 16088,6470 16091,6471 16091,6469 16089,6473 16091,6477 16091,6477 16093,6480 16098,6476 16099,6478 16099,6481 16100,6486 16105,6486 16110,6488 16105,6485 16107,6487 16108,6484 16104,6485 16101,6488 16101,6489 16103,6493 16105,6493 16108,6490 16110,6487 16113,6492 16116,6495 16118,6499 16123,6497 16124,6496 16127,6498 16132,6497 16134,6499 16138,6503 16143,6502 16138,6500 16140,6502 16144,6502 16146,6503 16150,6498 16151,6500 16154,6495 16154,6494 16154,6499 16156,7499 16158,7504 16161,7507 16166,7503 16163,7505 16163,7508 16163,7511 16165,7514 16162,7517 16165,7519 16166,7524 16165,7527 16168,7529 16172,7534 16172,7534 16177,7539 16179,7537 16179,7538 16184,7538 16185,7538 16189,7540 16191,7540 16193,7541 16193,7545 16197,7550 16199,7554 16204,7558 16208,7559 16211,7560 16214,7564 16216,7563 16215,7558 16219,7558 16216,7555 16221,7559 16223,7559 16224,7559 16226,7561 16231,7558 16235,7553 16240,7552 16236,7557 16234,7552 16236,7554 16238,7557 16239,7552 16243,7553 16243,7555 16243,7555 14243,7558 14248,7559 14243,7559 14239,7561 14241,7561 14243,7561 14248,7562 14250,7566 14254,7570 14254,7575 14256,7575 14259,7576 14259,7579 14259,7583 14257,7583 14257,7583 14253,7584 14249,7579 14247,7576 14245,7579 14250,7577 14253,7582 14256,7582 14257,7578 14253,7575 14252,7577 14255,7578 14255,7578 14256,7581 14257,7584 14252,7588 14252,7592 14249,7592 18249,7588 18253,7590 18255,7592 18259,7596 18254,7601 18255,7601 17255,7605 17256,7610 17258,7613 17261,7617 17262,7619 17266,7617 17267,7621 17268,7623 17272,7626 17272,7626 17277,7625 17282,7620 17281,7617 17284,7618 17287,7617 17283,7616 17281,7621 17279,7624 17281,7624 17282,7624 17279,7628 17279,7628 17280,7633 17284,7637 17280,7638 17280,7638 17281,7641 17282,7641 17282,7638 17283,7638 17284,7643 17280,7647 17281,7652 17285,7656 17285,7658 17288,7660 17290,7661 17292,7664 17297,7666 17302,7663 17304,7664 17300,7659 17303,7661 17303,7657 17307,7659 17307,8659 17310,8661 17313,8664 17314,8665 17313,8665 17309,8669 17313,8671 17316,8670 17320,8668 17320,3668 17323,3665 17324,3661 17329,3661 17331,1661 17332,1661 17333,1663 17338,1668 17333,1663 17333,1667 17331,1668 17331,1664 17334,1666 17337,1665 17337,6499 16138,6503 18138,10503 18142,10503 18142,10505 21142,10502 21144,10502 21142,10504 21141,10504 21139,10508 21140,10512 21141,10512 21143,10515 21144,10517 21147,10517 21143,10519 21143,10519 21146,10519 21142,10519 21142,10522 21141,10523 21141,10523 21145,10523 21149,10527 21153,10531 21154,10534 21158,10531 21158,10527 21160,10532 21165,10534 21165,10531 21165,10533 21162,10529 21163,10532 21160,10534 21163,10535 21161,10540 25161,10538 25164,10538 25166,10540 25171,10543 25171,10547 25175,10547 25175,10550 25178,10552 25182,10556 25177,10558 25181,10558 25183,10563 25187,10564 25183,10560 25188,10565 25188,10569 25191,10573 25195,10575 25199,7581 14257,7585 14257,7586 14257,7588 14254,7590 14255,7593 14256,7590 14260,7595 14263,7595 14259,7597 14256,7598 14261,7598 14258,7599 14261,7600 14261,7602 14258,7602 14258,7598 14259,7598 14264,7600 14267,7601 17267,7597 17268,7602 17273,7605 17276,7605 17276,7603 17279,7604 17279,7608 17278,7613 17282,7615 17285,7617 17288,2617 17288,2617 17289,2620 17289,2620 17285,-1380 17288,-1382 17287,-1384 17292,-1384 17294,-1380 17295,-1380 17297,-1380 17299,-1375 17303,-1372 17303,-1373 17298,-1368 13298,-1365 13301,-1366 13297,-1371 13295,-1371 13298,-1371 13298,-1375 13301,-1378 13302,-1378 13302,-1377 13302,-1374 13301,-1373 13306,-1370 13311,-1371 13307,-1366 13307,-1365 13309,11349 6992,11352 6992,11354 6997,11356 7002,11356 7007,11359 7010,11354 7005,9354 7009,9356 7011,9359 7016,9360 7014,9360 7015,9363 8015,9367 11015,9370 11012,9367 11012,9368 11016,9363 11017,9360 11018,9364 11021,9359 11016,11402 8027,11399 8029,11400 8033,11401 8034,11405 8029,11407 8027,11410 8029,12410 8033,12414 8035,12412 8040,12415 8040,12416 8045,12421 8042,12426 8037,12424 8042,12427 8042,12430 8044,12434 8046,12430 8048,12434 8045,9434 8045,9439 8043,9442 8043,9442 8045,9442 8040,9442 8035,9438 8038,9440 8039,9445 8036,9446 8039,9441 8043,12441 8047,12440 8048,12444 8052,12445 8057,12450 8053,12452 8053,12448 8054,12443 8058,12441 8063,12444 8067,12449 8067,12448 8071,12451 8076,12454 8073,17454 8073,17457 8074,17459 8079,17463 8079,17461 8080,17464 4080,17467 4085,17463 4085,17463 4088,17462 4090,17464 4095,17468 4094,17464 4097,17464 4093,17466 4088,17469 4092,17470 4094,17472 4089,17470 4090,17473 4089,17478 4094,17474 4091,17477 4095,17482 4100,17487 4103,17492 4101,17492 4104,17493 4101,17495 4106,17497 4106,17502 4111,17505 4111,17504 4113,17505 4115,17509 4119,17504 4123,17505 4127,17503 4131,17503 4126,17504 4126,17506 4129,17501 4132,17502 4133,17499 4133,17503 5133,17503 5135,17498 5134,21498 5134,21498 5131,21498 5133,21497 5138,21501 5140,21502 5138,21502 5141,21505 5136,21501 5139,21501 5141,21505 5146,21510 5151,21510 5155,21512 5156,21508 5159,21508 5163,21512 5167,21517 5169,21521 5173,21519 5172,21517 5172,21515 5172,21515 5173,21516 5172,21515 5169,21516 5170,21516 5170,21516 5168,21520 5172,21523 5172,21525 5174,21522 5176,21523 5180,21527 5176,21527 5177,21527 5178,21531 5183,21533 5181,21538 5176,21539 5179,21544 9179,21544 9184,21547 9186,21548 9184,21553 9188,21553 9193,21554 9195,21556 9200,21556 9201,21555 9201,21556 9205,21561 9205,21556 9202,21561 9203,22561 9204,22566 9204,22561 9208,22559 9210,22564 9207,22560 9205,22560 9208,22564 9210,22567 9214,22569 9218,22572 9222,22576 9218,23576 9222,24576 9220,24574 9224,24569 9228,24569 9228,6481 16100,6483 16101,6486 16104,6485 16108,8485 16110,8486 16115,8482 16110,8483 16115,8485 16110,8486 16106,8487 16103,8490 16106,8486 16107,8487 16104,8487 16104,8492 16108,8493 17108,8488 17108,8490 17110,8494 17114,8495 17113,8495 17117,8498 17117,8503 17122,8498 17124,8498 17128,8494 17129,8496 17134,8496 17134,8497 17135,8498 17135,8501 17135,8502 17132,8506 17132,8501 17130,8505 17131,21515 5169,21518 5164,21523 5160,21528 5162,21530 8162,21532 8164,21536 8165,21536 8168,21540 8169,21543 8165,25543 8169,25545 8173,25549 8169,29549 8174,29546 8177,29547 8172,29552 8177,29552 8180,29557 8180,29558 8175,34558 8180,34558 8176,34555 8179,34556 8181,7584 14249,7586 14250,7588 14252,7591 14256,7587 14257,7590 14257,7592 17257,7597 17261,7601 17265,7605 17268,7606 17273,7610 17268,7612 17270,7612 17271,7615 17266,7617 17266,7622 17270,7627 17272,7627 19272,7631 19277,7636 19279,7636 19280,7636 19285,7637 19287,7639 19290,7644 19295,7647 19291,7649 19296,7653 19296,7653 19291,7656 19292,7657 19292,7653 19292,7653 19297,7652 19297,7648 19299,7647 19303,7647 19304,7649 19307,7654 19309,7651 21309,7653 21309,7657 21313,7659 21309,7662 21310,7666 21314,7663 21314,7663 21317,7658 21317,7661 21321,7666 21323,7667 21328,7662 21333,7663 21328,7667 21332,7669 21334,7671 21330,7674 21326,7675 21331,7679 21336,7681 21338,7681 21342,7681 21342,7677 21345,7682 21346,3682 21348,3680 21350,3681 21351,3680 21349,3681 21349,3686 21350,8686 21355,8682 21354,8685 21350,8681 21345,8684 21350,8683 21353,8681 21356,8681 21358,8684 21361,8684 21364,8684 21367,8685 21363,8685 21365,8685 21362,8688 21358,8690 21359,8687 21364,8687 21364,8689 21361,8691 21356,8696 21353,8696 21352,8699 21352,8699 21357,8703 21358,8706 21353,8708 21358,17503 4126,17505 4129,20505 4133,20510 4133,20515 4128,21515 4129,21516 9129,21519 9131,21524 9134,21522 9135,21522 9138,21518 9137,21516 9138,21516 9138,21515 12138,21516 12142,21518 12146,21513 12144,21517 12149,21521 12144,21521 12148,21523 12151,21527 12148,21527 12143,21528 12148,21528 12145,21533 12149,21534 12152,21537 12155,21532 7155,21536 7153,21540 7157,21536 7154,21540 7154,21539 7157,21539 7160,21542 7160,21547 7164,21551 7168,21554 9168,21556 9168,21556 9169,21559 9166,21561 9169,21565 9171,21568 9176,21565 9181,21567 9180,23567 9178,23570 9181,23575 9181,23571 9181,20571 9176,20574 9179,20569 9182,20569 9184,20570 9189,20565 9191,20562 9195,20559 9196,20559 9201,20563 9197,20564 9193,20565 9197,20565 9200,20565 9200,20563 9201,20559 9205,20564 13205,20560 13207,20560 13212,20555 13213,20558 13217,20554 13217,20558 13219,20559 13222,20561 13223,20561 13226,20561 13231,20562 13232,20567 13235,20564 13239,20560 13239,20560 13236,20560 13236,20560 13237,20564 13241,24564 13241,28564 13242,28564 13240,28561 13237,28561 13240,28562 13243,28563 13243,28560 13248,28559 13248,28559 9248,28562 9245,28564 9241,28567 9245,28568 9240,28568 9245,28571 9247,28571 9248,28574 9253,28572 9256,28576 9257,28577 9257,28574 9257,10564 25183,10566 25188,10567 25190,10568 25186,10569 25187,10570 25188,10573 25185,10568 25185,10570 25187,10573 25191,10573 25193,10578 25193,10578 25198,10581 25202,10582 25206,10578 25206,10579 25211,10580 25206,10582 25208,12426 8037,12427 8042,12432 8047,12437 8047,12435 8051,12435 9051,12432 9054,12433 9056,12435 9061,12438 9062,12435 9062,12438 9067,12434 9071,12431 9075,12436 11075,12436 11075,12441 11080,12445 11085,12449 11089,12445 11091,12442 11091,12442 11093,12442 11093,12443 11098,12439 11098,12440 11099,7440 11104,7442 11107,7446 11110,7446 11114,7451 6114,7452 6110,11452 6105,11452 6104,11454 6103,11459 6106,11462 6107,13462 6107,13458 6104,12458 9104,17458 9109,17458 9110,17460 9113,17465 12113,17468 12112,17468 12114,17466 12111,17470 12116,17469 12119,17472 12123,17470 12118,17474 12118,17476 12120,13476 12121,13480 17121,13480 17125,13484 17123,13489 17122,13489 17125,13487 17127,13487 17132,13486 17131,13491 17136,13491 17139,13495 17144,13496 17147,13496 21147,13498 21149,13498 21154,16498 21159,16503 21162,16504 26162,16509 26160,16509 26163,16509 26162,16514 26159,16518 26163,16522 26158,16518 30158,16516 30161,16516 30164,16517 30169,16520 30167,16525 30168,16528 30170,17528 30170,17532 30175,17533 30177,17533 30182,17536 30186,17537 30189,17540 30193,20540 30193,20541 30196,20541 30197,20542 30196,20544 30195,20548 30200,20553 30199,20557 30201,20561 30206,20565 30210,20566 30209,20568 30214,20568 30217,20563 30217,20563 30218,20565 30222,20567 30222,20572 30225,20567 29225,20570 29225,20570 29230,20573 29231,20571 29230,20569 29232,20570 29236,17504 4123,17505 4127,17508 5127,17505 5131,17505 5135,17509 5140,17508 5142,17510 5139,17515 5141,17517 5144,17522 5144,17524 5146,17529 5147,17529 5152,17533 8152,17533 8150,17537 8153,17532 8158,17533 11158,17536 11163,17540 16163,17540 16165,17542 16168,17542 16171,17542 16171,17547 16167,17548 16170,17550 16170,17545 16175,17549 16178,17549 16179,17549 16179,20549 16181,20551 16186,20549 15186,20550 15186,20547 15188,20550 15184,20546 15186,20545 15191,20548 15190,20552 15193,20557 15195,20552 15196,20557 15193,20562 15196,20562 15199,20567 15202,20563 15207,20564 15207,20564 15209,20568 15209,20571 13209,20573 13209,20576 13211,20577 13216,20574 14216,20570 14215,20568 17215,20568 17216,20570 17218,20575 17218,20580 16218,20583 16215,20586 16217,20581 16220,20582 16224,20585 16224,20588 16229,20590 16231,20592 16235,20595 16232,20595 16234,20598 16238,20603 16240,20607 16236,20608 16236,20608 16239,20611 21239,20613 21244,20614 21246,20612 21244,20612 21242,20615 21239,20616 21241,20621 21242,17621 21244,17626 21245,17629 21244,15629 21239,15632 21240,15636 21245,15637 21247,15639 21244,15637 21245,15642 21245,15647 21244,15646 21248,15650 21252,15653 21247,15651 21250,15649 21250,15645 21250,19645 21253,19648 21256,19647 21253,19643 21249,19646 21249,19648 21245,19650 21242,19647 21240,19652 21240,14652 21240,14657 21243,14659 21244,14664 21241,14659 21239,14654 21240,14651 21244,14647 21246,14647 21249,14650 21247,14651 21252,14651 21255,14649 21258,14652 21262,14655 21262,14652 21260,14653 21255,14653 21255,14653 21257,14656 21258,14651 21258,14653 21261,14654 21263,14654 21264,14659 21267,14660 21263,14664 21264,14666 26264,14661 26266,14661 26263,14661 26264,14666 26265,14667 26265,14665 26263,14669 26263,14667 26263,14669 26261,14667 26263,14671 26261,14671 26263,12671 26264,12672 26266,12677 26269,17677 26269,17673 26271,17676 26271,17676 26273,17681 26278,17685 26278,21536 8168,21539 8171,21543 8169,21538 8170,21541 8170,21544 8171,21548 8166,21548 8168,21552 8171,21555 8173,21558 8168,21557 8168,21562 8163,21559 8168,21559 8172,21564 8177,21569 8175,21568 8175,21573 8178,21575 8180,21570 8183,21570 8186,21566 8184,21569 8185,21569 8187,25569 8190,25571 8193,25575 8193,25576 8194,25576 13194,25580 13194,25584 13196,25589 13197,25592 13200,25595 13205,25592 17205,25593 17209,25594 17213,27594 17209,27592 17213,27590 17212,27592 17217,27592 17220,27596 17224,27599 17227,27603 17232,27603 17227,27605 17229,28605 17230,28607 17234,28609 17230,28610 17231,28610 17236,28611 17238,28613 17241,28614 17241,28615 17243,28616 18243,28618 18246,28618 18246,28622 18246,28627 18246,28632 18245,27632 18245,27634 18245,27633 18244,27638 18245,-1366 13297,-1365 13299,-1362 13303,-1362 13300,-1361 13304,-1366 13308,-1368 13304,-1368 13306,-1367 13309,-1363 13313,-1358 13313,-1353 13318,-1351 13319,-1347 13323,-1343 13318,-1343 13322,-1340 13317,-1337 13318,-1337 13322,-1337 13324,-1335 13327,-1339 13328,-339 13328,-334 13333,-331 13336,-327 13338,-326 13340,-326 13342,-321 13340,-318 13343,-317 11343,-312 11345,-307 11349,-311 11353,-314 11350,-311 11353,-313 11349,-308 11352,-313 11347,-308 11351,-306 9351,-306 9351,-306 9351,-301 9355,-301 9356,-299 9359,-297 9355,-297 9354,-296 9359,-294 9364,-290 9360,-294 9355,-289 9357,-291 9353,-286 9355,-4286 9351,-4283 9347,-4281 9344,-4281 9344,-4280 9342,-4280 9342,-4280 9339,-4277 9335,-4274 9333,-4274 9335,-4269 9336,-4265 9339,-4260 9340,-4256 9339,-4251 9336,-4251 9339,-4249 9344,-4254 9344,-4255 9348,-4253 7348,-4251 7352,-4247 7354,-4243 7357,-4242 7357,-4240 7362,-4240 7367,-4235 7371,-3235 7371,-3230 7376,-3225 7375,-3221 7372,-3223 7369,-3223 7371,-3223 7369,-3225 7364,-3220 7364,-3218 11364,-3218 11368,-3215 11369,-3210 11372,-3210 11369,-3208 11373,-3207 11377,-3207 11381,-3209 11384,-3209 11383,-1209 11379,-1211 11383,-1209 11383,-1205 11379,-1200 11384,-1197 11379,-1195 11375,-1197 11376,-1192 11377,-1192 11379,-1192 11384,-1188 11382,-1186 11382,-1181 11384,-1180 11388,-1176 11389,-1171 11388,-1171 11393,-1169 11393,-1164 11398,-1162 11393,-1158 11392,-1155 11395,-1155 11397,-155 16397,-156 16401,-156 16406,-158 16409,-158 16412,-158 16414,-160 16415,-158 20415,2842 20411,2847 20413,2848 20417,2848 20417,2848 20412,2850 20407,2850 20403,2846 20408,2847 20406,2849 20406,2854 20402,2858 20403,2863 23403,2858 23402,2855 23405,2858 23400,2857 23400,2852 26400,2849 26404,2850 26406,2855 26410,2859 26415,2863 26411,2866 26411,2866 26411,2866 26412,2868 26415,2868 26419,2868 26423,2873 26424,2876 26425,14656 21258,14661 21260,14664 21262,14664 22262,14662 22267,14662 22268,14662 22268,14658 22273,14660 22278,14658 22277,14659 22278,14660 22283,14661 22281,14661 22285,14661 22288,14664 22290,14659 22295,14662 22298,14663 22301,14667 22301,14668 22301,14673 22303,14678 22306,14681 22302,14686 22299,14686 22301,14683 22304,14686 22305,14687 22301,14689 25301,14684 25301,14684 25299,14685 25300,14685 25301,14685 24301,14688 24301,14693 24303,14693 24298,14693 24298,14688 24299,14689 24297,14690 24299,14690 24302,14690 24302,14686 24303,14686 24306,14688 24302,8492 16108,8494 16113,8498 16116,8495 16116,8496 16116,8499 16116,8504 20116,8508 20119,8508 20119,8507 20119,8509 20123,8509 20127,8512 20128,8514 20130,8519 20135,8522 20136,8522 20136,8524 20138,8524 20141,8528 20142,8526 20145,8530 20141,8530 20145,8532 20149,8531 20151,8536 20155,8535 20154,8539 20154,8539 20149,8539 20149,8543 20146,8540 25146,8538 23146,8540 23149,8540 23149,8545 23151,8546 23152,8551 23152,8555 23152,8559 23153,8561 23153,10561 18153,10561 18153,12561 18158,12564 18159,12566 18163,12567 18165,12564 18165,12568 20165,12570 20170,12575 20173,12579 20177,12576 20177,12579 20176,12584 20176,12583 20181,12585 20182,12583 20186,12582 20187,12585 20192,12582 20194,12584 20198,12586 20198,12581 20201,12582 20204,12581 20206,13581 20209,13586 20211,13586 20216,13589 20217,13589 20213,13586 20215,13588 20213,13592 20215,13596 20216,13596 20221,13600 20221,13598 20224,13595 20221,13598 20226,13602 20229,15602 20232,15606 20232,15611 20232,15610 20232,15613 20235,15617 20239,15612 20234,15612 20233,15615 20237,15617 20233,15619 20234,15619 20229,15623 25229,15624 25229,20624 25228,20628 25229,20631 25234,20630 25239,20634 25241,20632 25244,20636 25240,20634 25237,20639 25236,20634 25241,7590 14257,7592 14260,7592 14262,7592 14265,7595 14266,7600 14263,7600 14268,7604 14270,7609 14274,7611 14275,7615 14275,7620 14277,7620 14276,7625 14277,7625 14277,7628 14281,7628 14286,7630 14284,7630 14284,8543 20146,8542 20148,8546 20150,8550 20152,8550 20153,8550 20158,8545 20156,8545 20157,8550 20157,8550 20155,8550 20157,8553 20161,8557 20161,8557 20165,8560 20161,8563 20159,8568 20154,8570 20158,8573 20161,8573 20166,8577 20168,8580 20171,8584 20173,8585 20175,8580 20180,8582 20183,8582 20188,8582 20188,8585 20193,8588 20198,8589 20199,8591 20197,8594 20198,8596 20196,8592 23196,8597 25196,8601 25199,8601 25203,8604 25202,8604 25202,8599 25205,8601 25210,8601 25206,8603 25206,8606 25206,8605 25211,8609 25211,8613 25208,8614 25205,8619 25208,8619 25210,8621 25214,8619 29214,8615 29218,8616 29219,8617 29217,8622 29222,11622 29225,11624 29229,11623 29230,9623 29225,9621 29224,9625 29227,9628 29227,9624 29232,9626 29237,9631 29241,9634 29245,9635 29248,9638 29253,9643 29258,9646 29258,9647 29255,9648 29253,9650 29258,9648 29262,9647 29262,9642 29267,9646 29267,14646 29269,14650 29274,14655 29279,14654 29277,14655 29275,14653 29276,14655 29273,14656 29269,14653 29272,14656 29272,14656 29274,14660 29276,14663 29276,14660 29278,14659 29281,14659 29276,14661 29272,14656 29273,14657 29274,14652 29270,14654 29274,14657 29270,14659 29272,14655 29275,14657 29270,14659 32270,14660 32270,14662 32273,14665 32277,12665 32279,12670 32279,12670 32277,12670 32274,12672 32277,12677 32282,12682 32285,12678 32289,12674 32291,12677 32287,12679 32287,12683 32292,12685 32292,12680 32289,12682 32294,12683 32299,12687 32298,12692 32300,12695 32305,12699 32310,12703 32311,12704 32312,21515 5172,21516 5175,21518 5175,21513 5177,21516 5182,21520 5186,21525 5185,21529 5185,21528 5186,21530 5181,21533 5178,21537 5183,21537 5183,26537 5183,26534 5183,26539 5183,26542 5178,26542 5176,26544 5176,26546 5177,26548 5175,26549 5178,26548 5181,26548 5184,26553 10184,26557 10179,26559 10175,26563 10171,26563 10173,26564 10170,26568 10169,26572 10171,26577 10171,26581 10169,26577 10173,26573 10169,26575 10171,26578 12171,26576 12175,26576 12180,26581 12183,26577 12183,26580 12184,26582 12181,26582 12182,26583 12182,26588 12186,26590 12191,26593 12193,26593 12198,26598 12198,26602 12193,26602 12193,26604 12195,26607 12195,26611 12196,26615 12196,26615 12200,21534 12152,21534 12152,21537 12147,21540 12147,21545 12150,21545 12145,21548 12150,21549 12152,21544 12152,21544 12150,21547 12153,21552 12152,21553 12157,20553 12161,20553 12156,20556 12152,15556 12157,15559 12160,15557 12163,15561 12163,15564 12166,15565 12165,15561 12161,15559 12163,15559 12168,-4274 9335,-4274 9339,-4276 9341,-4276 9344,-4273 9341,-4271 9341,-4266 9342,-4266 9339,-4269 9335,-4265 9339,-4263 9342,-4259 9345,-4254 9345,-4250 9340,-4250 9335,-4245 9338,-4242 9341,-4240 9341,-3240 9346,-3242 9349,-3241 9351,-3239 9352,-3238 9355,-3237 9358,-3233 9356,-3232 9358,-3233 9358,-3228 9363,-3228 9364,-3223 9369,-3226 9369,-3224 9373,-3222 9378,-3217 9379,-3215 9384,-3215 9384,-3215 9389,-3215 9394,-3215 9390,-3210 9385,-210 9386,-207 9389,-208 9389,1328 -1007,1328 -1010,1329 -1013,1334 -1018,1339 -1013,1344 -1013,1346 -1013,1350 -1015,1351 -2015,1353 -2016,1353 -2011,1350 -2016,1350 -2013,1354 -2010,1356 -2005,1359 -2007,1364 -2005,1363 -2005,1365 -2000,1362 -1999,1365 -1998,1366 -1998,1362 -1994,1364 -1989,1365 -1988,3668 17323,3665 17327,3663 17332,3666 17337,3667 17341,11433 8033,11434 8035,11434 8031,11437 8031,11437 8032,11441 8033,11439 8033,11442 8036,11445 8037,11448 8038,11452 8043,11454 8047,11456 8047,11459 8044,11454 8049,11457 8051,11460 8052,11463 8055,11458 8057,1346 -2990,1346 -2986,1350 -2982,1347 -2986,1352 -2983,1352 -5983,1355 -5979,1358 -5974,1354 -5970,1356 -5965,1360 -5964,1362 -5960,1364 -5960,1364 -5960,1369 -5960,1364 -5963,1369 -5960,1374 -5957,1378 -5952,1380 -5951,1384 -5951,1380 -5948,1380 -5944,1384 -5942,1387 -5945,5387 -5949,5391 -5950,5395 -5950,5395 -5951,5395 -5949,5400 -5954,5404 -5953,5402 -5958,7402 -5958,7403 -5963,7404 -5960,7404 -5959,11363 6016,11359 6018,11364 6023,11365 6024,11365 6023,11369 6025,11373 6020,11378 6020,11377 6024,11379 6029,11383 6033,11384 6034,11388 6037,11389 6041,11394 6043,11396 6048,11401 6048,11402 6050,11406 6052,11404 6054,11409 6058,11413 6059,11415 6060,11411 6065,11416 6068,11420 6073,11415 6076,11416 6078,11419 6083,11423 6085,11428 6086,11430 6086,11432 11086,11437 11091,11432 11088,11429 11086,11432 11086,11427 11090,11427 11095,11429 11092,11427 11092,11431 11087,11433 11088,11436 11090,11436 11091,11436 11096,11439 11099,11440 11099,11440 11095,11445 11097,15445 11102,15445 11102,15441 11099,15445 11100,15445 11102,15443 11106,15445 11110,15450 11107,15453 11110,15457 11110,15457 11115,15459 11119,15460 11117,15465 11117,15465 11120,15464 11123,15463 11124,15460 11124,15460 16124,15458 16127,15462 16122,15466 16126,15462 16131,15465 16133,15463 16135,15462 16136,15462 16140,15466 16142,15468 16147,15468 16147,15471 16149,15471 16147,15475 12147,15477 12150,15480 12147,15484 12144,15487 12145,15490 12147,15492 12149,15494 12150,15496 12153,15497 12155,15499 12150,15499 12147,15500 12143,15504 12146,15499 12150,15500 12150,15500 12152,15505 12153,15506 12157,15506 12157,15508 12158,15512 12159,19512 12162,19513 12159,19511 12163,19512 12162,19517 12167,19520 12167,19522 12168,19525 12171,19525 12172,19525 12175,19526 12172,19526 12172,19526 17172,19527 17175,19528 17176,19529 17179,19529 17178,19533 17181,19532 17183,19532 17179,19537 17174,19539 19174,19538 19171,19542 19172,19547 15172,7641 17282,7646 17284,7649 17284,7652 17284,7654 17285,7650 17289,7647 17291,7645 17296,7649 17297,7650 17294,7653 17294,7653 17298,7656 17303,7658 17308,7662 17313,7666 17308,7664 17313,7669 17313,7669 17313,7669 17316,7667 17313,7667 18313,7663 18314,7661 18316,7662 18317,7657 18318,7662 18315,7658 18316,7661 18318,7661 18322,7664 18317,7667 18315,7671 18315,7675 18315,7674 18315,7670 18316,11670 18316,16670 18321,16673 18321,16678 18322,16682 18327,16683 18332,16686 18334,16690 18334,16688 18336,16685 23336,16688 23337,14688 23338,14692 23337,14694 23338,14697 23339,14697 23342,14698 23342,14698 23343,14698 23348,14693 23350,14694 23347,14695 23347,14696 26347,14692 23347,14692 23347,14693 23350,14693 23351,14698 23355,18698 23352,18698 23356,18702 23360,18701 23362,18699 23363,18701 23363,18702 23366,18699 23366,18694 23370,18699 23370,18702 23374,18707 23378,18706 23380,18706 23381,22706 23384,22706 23385,22705 23389,22706 23384,22706 23384,22706 23384,22710 23380,22713 23381,22718 23386,22716 23390,22712 23390,22708 23390,22705 23392,22704 23397,25704 23402,25704 23402,25706 23404,25710 23404,22710 18404,22707 18402,22704 18403,22704 18406,22704 18411,22704 18411,22704 18410,22709 18410,22709 18407,22704 18405,22703 18405,22707 18405,20707 18409,20709 18412,20710 18411,20712 18414,20712 18414,20712 18412,20712 18416,20714 18412,20717 18417,20720 18419,20715 18421,20718 18422,20723 18425,20723 18430,20723 18434,20725 18435,20724 18437,20724 18433,20726 18433,20731 18437,20732 18437,20730 18438,20735 18440,20739 18438,20734 18438,20739 18437,20739 18437,20744 18439,20749 18438,20750 18434,20753 18436,20754 18431,20754 18432,20758 18433,20762 18438,20764 18443,20766 18447,20766 18450,20767 18451,20768 18451,20769 18448,20770 18452,20774 18456,20777 18458,20781 18462,20782 18463,20785 18468,17785 21468,17784 21473,17782 21477,17787 21481,17783 21482,17785 26482,17788 26482,17788 26482,17791 26479,17794 26483,17790 26483,22790 26483,22790 26479,20583 16215,20585 16220,20589 16225,20590 20225,20592 20222,23592 20227,22592 20229,22597 20233,22600 20233,22603 20237,22604 20240,22599 20241,22595 18241,22595 18242,22598 18243,22602 18247,22605 18252,22601 18256,22598 18255,22600 18257,22604 18258,22609 18261,22608 18261,22606 18264,22608 18261,22605 18265,24605 18262,24608 18263,24611 18267,24608 18267,24613 18271,24615 18272,24610 18273,24614 18272,24619 18276,24621 18281,24625 18276,24622 18280,24622 18282,24621 18279,24622 18277,24627 18279,24631 18284,24634 18289,24634 18292,24634 18294,24636 18299,24639 18294,24644 18295,24647 18298,24647 18301,24643 18303,24643 18306,24639 18311,24636 18315,24641 18317,24645 18317,24648 18319,24649 18323,24649 18328,24652 18330,24652 18329,24652 18327,24655 18322,24656 18319,24658 18319,24661 18320,24664 18316,24660 18320,24657 18318,24657 18320,24659 18325,24660 18327,24661 18323,24656 18327,24652 18323,24654 23323,24658 28323,24660 28318,24665 28319,24666 28323,24668 28325,24668 28328,24672 28325,24667 28328,24668 28325,24670 28326,24665 28330,24668 28334,24672 28336,24672 28336,24668 28339,24672 28340,24672 28338,24674 28341,24675 28346,24675 28351,24677 28356,24679 28357,24681 28356,24677 28360,24680 28355,24684 28354,24688 28356,24688 28351,24690 28356,24686 28361,24691 28364,24692 28364,24692 28365,24692 31365,24693 31370,21693 31370,21692 35370,21688 35372,21692 35377,21695 35377,21697 35377,21698 35379,21698 35374,21701 35375,21701 35379,21703 35380,21708 35383,21706 36383,21709 36383,16709 36383,16710 36386,16715 36382,16711 36386,16706 36388,16706 39388,16706 39383,16706 39379,16711 39379,16711 39376,16714 39381,16716 39386,16717 39389,16717 39391,16720 39391,16723 39387,17723 39392,17726 43392,17722 43396,19722 43399,19724 43394,19727 43391,19725 43395,19723 43398,19726 46398,19730 46400,19730 46403,19730 46405,19734 46407,19734 46410,19733 46407,19728 46412,19726 46416,19726 50416,19723 50417,19723 50416,19718 50420,19719 50424,19718 50429,19713 50433,19715 50437,19718 50442,19719 50442,19718 50444,19719 50439,19721 50443,18721 50444,18721 50446,18721 50450,18726 50451,18727 50453,18722 50451,18727 50456,18729 50455,18731 50458,18726 50458,18728 50458,18730 50463,18730 50460,18729 50456,18727 50460,18730 50462,18734 50457,18739 50455,18744 50457,18744 50461,18748 50461,18748 50466,18745 50468,18749 50463,18750 50468,18754 50472,18754 50472,18759 50472,18760 50468,18763 50473,18760 50477,18762 50477,18766 50481,18769 50483,18769 50481,18772 50482,18776 50482,18779 50486,18779 50489,18781 50489,18783 50494,18786 50496,18786 50495,18786 50498,18784 50499,18784 50499,21784 50504,21788 50502,21785 49502,21790 49501,21790 49498,21795 49494,21800 49494,21801 49495,21801 49500,21797 49505,21799 46505,21802 46508,21798 46513,21799 46516,21802 46516,21805 46519,21800 46524,21805 46527,21804 46528,21801 47528,21801 47531,21804 47533,21804 47529,21804 47534,21809 47538,21808 47538,21812 47540,21812 47535,21813 47532,21810 52532,21812 52535,21817 52536,21820 52536,21824 52541,21828 52545,19828 52545,19829 52547,19829 52551,19833 52555,19831 52552,19826 52557,17826 52562,17827 52567,17830 52568,17830 52572,17830 52575,17830 52575,17830 52574,17831 52578,17827 52582,17827 55582,17829 55583,17834 55583,17839 56583,17843 56579,17846 56580,17850 56584,17848 56588,17853 56592,17851 56596,17856 56596,17856 56600,17851 56601,17856 56601,17856 56604,20856 56604,20861 56601,20865 56596,20865 56597,20866 56597,20869 56602,20871 56603,20874 56607,20871 56605,20872 56610,20874 56613,20874 56612,20876 56617,20876 56622,20876 56626,20876 56621,20879 56623,20880 56627,20883 56624,20880 56629,20880 56629,20881 56630,20884 56630,20884 56635,20881 56636,20879 56637,20876 56632,20879 56629,20881 56633,20878 56634,20879 56634,20879 56637,20879 56642,20884 56638,20879 56639,20884 56634,20885 56631,20886 56633,20889 56632,20894 56627,20894 56631,20894 56631,20898 56632,20903 56632,20908 56630,20907 56633,20907 56636,20903 56641,20904 56641,20904 56637,20900 56639,20905 56642,20910 56643,20905 56648,20910 56653,20915 56654,20910 56659,20910 56663,20910 56664,20912 56664,20912 56666,20917 56670,20922 56670,20918 56673,20920 56675,20920 56677,20920 56677,20921 56681,20926 56677,20931 56677,20934 56680,20934 56684,20936 56689,20938 56689,20938 56690,20940 56695,20935 56696,20939 56697,20939 56699,20940 56696,20941 56694,20940 56698,20945 56700,20947 56702,20947 56707,20950 56712,20954 56713,20950 56710,20952 56706,20955 56704,20957 56708,20953 56709,20951 56714,20953 56716,20957 56720,20957 56722,20959 56725,20958 56727,20959 56728,20962 56731,20963 56736,20965 56741,20965 56740,20967 56742,20969 56737,20969 56742,20974 56744,20979 56744,20978 56745,20974 56748,20970 57748,20972 57749,20974 57751,20971 57754,20972 57752,20977 57755,20981 57758,20981 57763,20981 57765,20984 57765,20982 57767,20982 57763,20987 55763,20989 55767,20991 55770,20987 55771,20988 55774,20988 55777,20991 55775,21991 55778,21996 55778,22000 55783,22001 55783,22005 55783,22010 55785,17010 55781,17011 55783,20011 55778,20015 55783,20018 55786,20015 55791,20015 55795,20019 55792,20019 55792,20021 55792,20022 55788,20023 55783,20028 55786,25028 55790,26028 55795,26029 55790,26030 57790,26033 57794,26032 57798,26036 57802,26039 57805,26042 57805,26046 57810,26050 57811,26054 57815,26054 57819,26050 57819,26055 57820,26060 57822,26063 57823,26066 57826,26068 57824,26073 57826,26077 57831,26082 57831,26078 57836,26082 57839,26084 57839,26086 57834,26082 57834,26083 57835,26082 57840,26083 57844,26086 57843,26083 57846,22083 57849,22084 57847,22089 57847,22094 57848,22094 57853,22094 57850,22095 59850,22095 59855,22098 59858,22099 63858,22099 63861,21099 63861,21104 63862,19104 63862,19108 63864,19109 63864,19112 63868,19113 63873,19117 63876,19121 63875,19116 63877,19115 63882,19117 63878,19122 63883,19125 63884,19129 63879,19133 63879,19135 63874,19139 63871,19136 63871,19136 63873,19140 63868,19140 63873,19144 63877,20144 63879,20144 63876,20146 63880,20148 63878,20149 63877,20149 63879,20150 63882,20155 63886,20155 64886,20159 64884,20160 64884,20161 64887,20160 64887,20164 64887,12677 32287,12677 32292,12679 32297,12678 32298,12682 32294,12687 32294,12682 32296,12682 32296,12683 32298,12683 32301,12682 32305,12685 32309,12686 32311,12686 32316,12691 32311,12692 32316,12692 32312,12697 32314,12700 32319,12705 32322,12706 32327,12704 32329,12705 32332,12702 32334,12707 32338,12703 28338,12704 28340,12700 28345,12702 28345,12702 28345,12701 28348,12704 28349,12704 28345,12709 28342,12709 28343,12714 28347,12718 28351,12723 28352,12727 28353,12730 28355,12728 28353,12733 25353,15733 25353,15736 25355,15740 25356,15745 25356,15747 25351,15752 25353,15752 25354,15754 25354,15754 25353,15759 25352,15763 25352,15764 25357,15759 25352,15761 27352,15760 27354,15760 27354,15760 27355,15762 27357,15762 27354,15759 27354,15759 27354,15763 27358,15767 32358,15764 32360,15769 32360,15767 32360,15765 37360,15770 37362,15772 37363,15774 37367,15779 37363,15780 37359,15779 37363,15782 37366,15780 37370,15775 37370,15778 37365,15781 37360,15785 37356,15785 39356,15789 39358,15789 39360,15794 39365,15794 39370,15797 39375,15797 39380,15799 39379,15804 39376,15805 39377,15807 39380,15808 39385,15809 39386,15807 39386,15809 39386,15810 39389,15815 39392,15820 39392,15819 39396,15820 39398,15820 39395,15825 39400,15823 39405,15824 39403,15829 39403,15834 39406,15836 39411,15831 39415,15832 39415,15833 39415,15838 39417,15839 39419,15839 39414,15842 39413,15846 39418,15843 39420,15842 39423,15839 39420,15840 39422,15839 39420,15842 39415,15846 39410,17846 39415,17845 39411,17847 39416,17849 39420,18849 39424,18847 41424,18852 41424,18849 41429,18849 41432,18848 43432,18852 43433,18855 43433,18859 43435,18855 47435,18858 47440,18861 47435,18866 47435,18866 47439,18869 47442,18871 47445,18873 47445,21873 47445,21876 47444,21873 47449,21878 47451,21883 47456,21880 47454,21880 47454,21880 47457,21883 47459,21887 47464,21890 47465,21893 47467,21894 47464,16894 47462,16899 47457,16898 47455,16893 47456,16897 47458,16896 47455,16898 47459,16900 47464,16903 47469,16908 47471,16903 47474,16901 47473,16906 47473,16901 47478,16904 47479,16906 47475,16906 47474,16907 47475,16906 47479,16901 47482,16901 47482,16905 47486,16908 47487,16911 47490,16915 47490,16917 47492,16921 47497,16926 47498,19525 12175,19525 12176,19521 12177,19522 12181,19525 14181,19521 14181,19519 14185,19519 14189,19524 14192,19527 14192,19529 14196,19534 14200,19535 14205,19538 14208,19540 14204,19545 14207,19545 14207,19547 14210,19550 15210,19554 15210,19555 15210,19555 15213,19560 15213,19562 15212,19564 15213,19569 15210,19570 15214,19573 15214,23573 15217,28573 17217,28574 17220,28574 17219,28574 17224,28576 17229,28577 17233,28577 17236,28579 17236,28580 17238,28584 17243,28588 17248,28587 17252,28587 17252,28582 17255,29582 17259,29577 17260,29578 17262,29583 17257,29585 17257,29586 17260,29586 17265,29590 17267,29593 17267,29594 17267,29599 21267,29603 21271,29603 21272,29605 21274,29607 21276,29612 26276,29613 26279,29616 26280,29621 26277,29621 26277,29623 26282,29626 26285,29631 26289,29628 26289,29632 26290,29637 26294,29642 26290,29646 26292,29648 26291,29649 26288,29653 26293,29655 26292,29655 26293,12702 28345,12703 28348,12698 27348,12699 27349,12698 27354,12700 27354,12700 27355,12703 27360,12703 27361,12700 27362,12704 27367,12701 27371,12706 27376,12710 27372,12710 27373,12710 27368,12715 27370,12713 27374,12716 27378,12716 27380,12714 27379,12719 27374,12718 27373,12722 27376,12724 27376,12729 27371,12733 27372,12733 27377,12735 27373,12735 27374,12737 27378,12739 27379,12742 27381,12739 27381,12739 27376,12743 27378,12743 27379,9743 27375,9744 32375,9745 32377,9746 32374,9746 32372,9750 37372,9752 37375,9754 37375,9751 37377,9755 37379,9759 37379,9763 37383,9766 37385,9767 37382,9768 37383,9765 40383,9770 40378,9770 40382,9775 40384,9777 40386,9782 40391,9778 40395,9773 40395,9778 40397,9779 40399,9781 40402,9781 40398,9781 40393,9780 40396,9782 40399,9785 40398,9786 40395,9789 40390,9793 40387,9798 40390,9803 40394,9805 40397,9800 40400,9795 40402,9800 40403,9802 40407,9807 40410,9806 40407,9807 40403,9812 40400,9814 40403,9819 40403,9819 40400,9822 40405,9824 40405,9822 40408,9827 40410,9831 40413,9831 40413,9826 40412,9827 40417,9832 40418,9832 40416,9833 41416,9833 41421,9834 41416,9838 41416,9838 41421,9840 41422,9844 41424,9839 41424,9843 41427,9845 41430,9849 41430,9849 41425,9852 41423,9855 41426,9858 41429,9860 41434,9862 41436,9866 41441,9868 41436,9869 41434,9871 41434,9875 41437,9877 41437,9881 41438,9883 41438,9879 41438,20903 56641,20898 56644,20903 56647,20901 56649,20903 56645,20905 56650,20909 53650,20905 53650,20910 53652,20907 53655,20912 53652,20916 53656,20917 53656,20912 53661,20912 53660,23912 53663,23912 53663,23909 53663,23912 53665,23913 53669,23911 53669,23915 53669,23912 53671,23916 53670,23917 53675,23922 53680,23927 53683,23930 53688,23935 53689,23935 53691,23935 53691,23931 53692,23931 53694,27931 53693,27933 53695,27937 53695,27942 53699,27947 53701,27949 53703,27949 53704,27949 53708,27952 55708,27953 55710,27949 55710,27953 55710,27958 55713,27959 55718,27960 55722,27962 55725,27965 55730,27965 55732,27968 55730,27969 55733,27972 55733,27975 55734,27975 55734,27979 55737,27981 55733,27982 55732,32982 55732,32979 55734,32978 55737,32978 55738,32974 55742,32977 55746,32981 55750,32985 55746,32983 55747,32987 55750,32992 55751,32995 55751,32998 55751,32998 55753,32998 55753,32993 55753,32995 55757,32999 55758,33002 55760,33002 55761,33005 55766,33005 55767,33000 55764,32997 55767,32997 55771,33001 55773,32998 55777,33001 55777,33005 55776,33004 55776,33009 55781,33014 55786,33014 55790,33015 55790,33016 55790,33015 55786,34015 55787,34019 55790,34019 55791,34021 55793,34017 55793,34019 55796,34016 55797,34020 55793,34020 55796,34023 55792,34023 54792,34025 54797,34028 54800,34029 54799,34029 54795,34034 54796,34036 54797,34041 54792,36041 54797,36045 54801,36048 54803,36051 54804,36053 54806,11439 8033,11441 8038,11441 8039,11441 8040,11445 8035,11441 8035,11442 8039,11438 8035,11438 8035,11443 8039,16443 8038,16444 8038,14444 8040,14448 12040,14451 12036,14455 12038,14455 12041,14456 12046,14459 12049,14457 12051,14458 12046,14458 12047,14459 12042,14464 12042,14465 12047,14470 12050,14471 12055,14471 12058,14468 12060,14473 10060,14477 7060,14477 7062,14474 7062,14474 7067,16474 7063,16471 7065,16474 7067,16471 7072,16471 7068,16476 7066,16481 7069,16482 7072,16487 7072,16487 7077,16488 7077,16493 7076,16493 7079,16497 7079,16500 7079,16502 7079,16502 7079,16505 7075,16504 7080,16501 7077,16497 7079,16501 7081,16497 7080,16496 7084,16500 7086,16495 7087,16498 7084,16501 7087,16496 7087,16496 7083,17496 7083,17500 7083,17505 7088,9860 41434,9864 41435,9864 41435,9865 42435,9860 42435,9862 42436,9863 42434,9863 42430,9862 40430,9863 40427,9863 40428,20608 16239,20605 16242,20610 16237,20614 16237,20615 16242,20611 16242,20612 16245,20609 16244,20604 16242,22604 16237,22608 16239,22607 16240,22610 16244,22610 16241,22615 16246,22616 16246,22614 16251,22616 16251,22617 16249,22619 16254,22623 16252,22618 16255,22618 16259,22620 16262,22615 16262,22618 16263,22622 16263,22626 16265,22629 16266,22628 16269,22633 16267,22636 16268,22636 16267,22641 16269,22646 16269,22645 16271,22646 16273,22650 16271,22655 16274,22655 16277,22658 16279,22660 16280,22658 16280,22661 20280,22663 20282,19663 20285,19658 20288,19658 20292,19661 20295,19666 20298,19670 20301,19671 20301,19675 20301,19677 20306,19675 20311,19674 20315,19678 20318,19677 20314,19680 20315,19682 20310,19684 20314,19683 20316,19687 20315,19688 20316,19688 20319,19693 20319,19698 20322,19702 20323,19698 20323,19702 21323,19707 22323,8508 20119,8509 20119,8510 20116,8515 20113,8518 20115,8519 20116,8516 20120,8520 20119,8520 20118,8525 20123,8527 20125,8527 20125,8528 20123,8530 20126,8533 20123,8535 20127,8532 20132,8534 20136,8538 20138,8542 20141,8537 20143,8537 20145,8542 20145,8547 21145,8548 24145,8552 24145,8557 24150,8560 24147,8562 24151,8566 24156,8569 24160,8574 24156,8579 24159,8584 24164,8587 24164,8585 24167,8588 24170,8591 24171,8589 24172,8590 24176,8595 24177,8593 24174,8596 24178,8600 24179,8603 24175,8602 24178,9602 24182,9605 24177,9609 24178,9610 24182,9608 24178,9603 24183,9606 24188,9608 24193,9609 24195,9614 24196,9616 24197,9618 24201,9618 24205,9613 24209,9612 24214,9608 24211,9603 24216,9607 24221,9611 24221,9615 24217,9617 24217,9618 24221,9623 24225,9623 24225,9626 24225,9630 24225,9630 24222,9626 24223,9626 22223,9627 22223,9626 22226,9629 22228,9632 22228,9636 22225,9638 22226,9639 22227,9634 22230,9634 22231,9639 22235,9639 22240,9641 22242,9642 22246,9647 22249,9652 22250,9655 22255,9651 22256,9652 22253,9652 22256,9652 22261,9655 22262,9657 22257,9659 22261,9659 22261,9657 22264,9657 22261,9656 22264,9661 22267,9662 22270,12662 22270,12665 22265,12669 22270,12669 22270,12673 22269,11356 7007,11361 7010,11361 7010,11357 7014,11356 7015,12356 7020,12357 7015,12361 7017,11361 7018,11364 7017,11359 7018,11355 7017,11354 7020,11357 7020,11361 7023,11364 12023,11368 12028,11368 12029,11371 12030,11372 12034,14372 12034,14372 12039,14372 12042,14376 12045,14381 12047,14379 12047,14381 12049,14384 12054,14385 12051,14388 12056,14384 12056,14384 12061,14381 12058,14386 12062,14386 12059,14391 12059,14396 12060,14397 12060,14398 12056,14403 12051,14408 12052,14410 12057,14409 12057,14414 12053,14414 12051,14415 12051,14420 12049,14423 12048,14427 12044,14427 12044,14425 10044,14421 10049,14424 11049,14426 11054,14427 11059,14429 11064,14433 11064,14434 11064,14437 11065,14441 11068,14444 11072,14445 11076,13445 12076,13445 12077,13445 12081,13444 14081,13446 14081,13446 14078,13449 14083,13447 14084,13450 14085,13452 14090,13453 14087,13456 14084,13457 14083,13461 14081,13463 14082,12463 14082,12463 14087,12463 14087,12464 14087,8464 14087,8465 14083,8465 14080,8467 14085,8472 14085,8473 14085,8476 14090,8474 14094,8475 14094,8480 14094,8481 14099,8476 14103,8476 14107,8480 14111,8483 14116,8488 14120,8488 14118,8488 14120,8483 14115,8481 14118,8485 17118,8485 17114,8488 17110,8488 17115,8484 21115,8484 21118,8486 21120,8487 21120,8482 21115,8487 21118,8490 21122,8494 21127,8497 21132,8497 21133,8500 23133,8503 23135,8507 23135,8508 23132,8511 23129,8512 23125,8517 23126,8522 23125,8527 23129,8522 23131,8527 23132,8530 23132,8531 23128,8533 23132,8533 23134,8533 23139,8533 23144,8536 23143,8537 23146,8533 23146,8533 23149,8537 23152,8533 23157,8530 23158,8532 23162,8536 23162,8536 23165,8536 23165,8540 23170,8544 23171,8548 23169,8547 23173,8551 23176,8552 23173,8548 23169,8553 23173,8553 23170,8548 23173,8549 23173,8546 22173,8547 22174,8551 22177,8550 22179,8552 22183,8553 22183,8553 22184,8557 22185,6557 22185,13598 20226,13601 20227,13604 20229,13608 20233,13610 20234,13605 20237,17605 20237,17610 20242,17605 20242,17602 20241,14602 20241,18602 20236,18606 20239,18606 20244,18608 20241,16608 20245,16611 20240,16615 20239,16610 20234,16611 20232,16613 20235,16608 20235,16608 20239,16613 20242,19734 46410,19734 46410,19738 46414,19737 46414,19735 46415,19737 46418,19741 46421,19744 46423,23912 53671,23908 53673,27908 53675,27913 54675,27917 58675,27921 58677,27925 58678,27930 58678,27926 58683,27930 58686,27931 58691,27931 58695,27934 58700,27936 58699,27936 58699,27941 58695,27942 58695,27947 58699,27952 58699,27954 58703,27957 58704,27962 58708,27958 58706,27959 58703,27962 58703,27967 58706,27967 58701,27965 58701,27962 58702,27966 58703,27971 58704,27976 58706,27980 58709,27980 58712,27975 58711,27971 58716,27971 58713,27968 58712,27968 58712,27971 58711,27968 58713,27968 58710,27969 58708,27972 58706,27976 58711,27978 58716,27979 58716,27983 58718,27978 58718,27981 58719,27981 58723,27986 58725,27986 58728,27986 58731,27991 58734,27996 58738,27993 58736,27995 58732,31995 58736,31990 58735,31993 58738,31990 58734,31995 58729,31996 58729,31999 58731,31994 58726,31996 58731,12463 14087,12465 14090,12465 14093,12463 14090,12463 14095,12461 14092,12464 14093,12459 14091,12459 14091,12459 14091,12459 14096,12461 14100,12458 14103,12457 14101,12452 14101,12452 14106,12453 14103,12453 17103,12455 17104,15455 17104,15460 17108,15463 17104,15458 17108,18458 17108,21458 17105,21461 17105,21464 17110,21467 17115,21464 17120,21464 17120,21468 17123,21470 17126,21465 21126,21461 21126,21464 21128,21464 21132,21468 21137,21471 21142,21475 21146,21471 21146,21476 21147,21473 21151,21475 25151,21475 25152,21477 25153,21481 29153,21479 29158,21484 29162,21488 29162,21490 29165,21487 29170,21488 29167,21489 29162,21493 29164,21493 29169,21498 29169,21499 29164,21495 29167,21498 29167,23498 29170,23498 29169,23503 29172,23505 29171,23510 29167,23514 29164,28514 29168,28514 29172,28514 29174,28512 29172,28513 29176,28518 29179,28518 29182,28521 29177,28521 29179,28519 29179,28517 29179,28515 29177,28519 29177,28519 29179,28524 29184,28527 29183,28527 29185,28523 29187,28523 29184,28525 29189,28522 29189,28518 29186,28523 29189,28519 29189,28521 29189,28526 29193,28529 29193,28529 29196,28534 29200,28538 32200,28537 30200,28539 30202,33539 30207,33539 30209,33534 30205,33535 30208,33536 30208,33538 30213,33538 30214,33542 30218,33545 30221,33548 30222,33551 30225,33552 30227,33554 30231,33555 30233,33560 30228,33563 30225,33564 30229,33565 34229,33565 34234,33570 34231,33572 34235,33572 34239,33573 34243,33578 34239,33579 34243,33574 34247,33573 34247,33576 34243,33573 37243,33573 37246,33568 37241,33568 37244,33573 37239,33578 33239,33574 33241,33574 33239,33578 38239,33583 38242,33587 38242,33590 38242,33594 38243,33596 38247,33599 38248,33599 38252,33595 38252,33598 38257,33603 38258,33604 37258,33609 37255,33604 37257,33607 37262,33607 37265,33609 37266,33614 37271,33614 37276,33616 37278,33616 38278,33616 38282,33621 38284,33621 38288,33621 38285,33618 38289,33616 38291,33616 38294,33611 38296,33608 38301,33610 38305,33610 38300,33612 38303,33617 38308,33621 38309,33625 38305,33630 38307,33634 42307,33636 42310,33638 42314,33634 42312,33631 42315,33631 42315,27931 58691,27936 58693,27937 58695,27940 58700,27943 58703,27943 58708,27946 58709,27950 58711,27950 58714,29950 58718,29951 58723,29947 58728,29947 58732,29950 58727,29950 58727,29955 58730,29960 58734,29964 58732,29961 58734,29963 58735,29968 58739,29968 58741,34968 58739,34971 58739,34972 58739,34973 58740,34968 58741,34970 58743,34974 58745,34977 58749,34979 58744,39979 58745,39979 58742,39978 58744,39982 58748,39983 58744,39983 58744,39979 58747,39979 58752,39983 58757,39982 58759,39985 58759,39986 58759,39983 60759,39986 60762,39990 60767,39994 60770,39994 60770,39997 60770,39997 60770,40000 60775,40002 60775,40003 60779,40007 60784,40008 60787,40011 60788,40015 60788,40016 60790,40016 60792,40021 60788,40025 60788,40030 60788,40026 60786,40027 60786,40030 60787,40032 60792,40037 60795,40032 60800,40032 60799,40035 64799,40035 64801,40036 64806,40041 64803,40037 64805,40038 64801,40040 64804,40036 64804,40040 64805,40045 64810,40048 64811,40051 64813,40051 64817,13491 17139,13486 18139,13489 18139,13494 20139,13492 20138,13494 20141,13499 20145,13499 20145,13499 20148,13503 20149,13500 20149,13505 20151,9367 11012,12367 11015,12369 11011,12364 11012,12364 11015,12359 11011,12354 11011,12354 11014,12359 11017,12356 11015,12361 11015,12361 12015,12365 12016,12369 8016,12374 8021,12373 8025,11373 8021,11368 8021,11373 8024,12700 27362,13700 27363,13705 27364,13710 27368,13705 27369,13707 27367,13707 27371,13709 27375,13712 27377,13714 27373,13712 27376,13714 27379,13713 27382,13718 27384,13713 27380,13713 27385,13711 27386,13715 27386,13719 27386,13719 27389,15719 27394,15724 27398,15729 27400,15734 27401,15734 27401,15729 27396,15732 27396,15735 27397,15734 27399,15733 27400,15729 27400,15734 27400,15729 27405,15734 27405,15739 27408,15739 27408,15741 27412,15743 27416,15743 27416,15740 27416,16740 31416,16743 31421,16738 31425,16742 31430,16742 31435,16743 31439,16743 31444,16741 31449,16746 31450,16747 31455,16742 31459,16738 31463,16742 31466,16742 31471,16742 31471,16742 31471,16744 31475,16749 36475,16749 36473,16753 36478,16757 36474,16761 36477,16759 36478,16761 36481,16760 36484,16761 36485,16760 36486,16765 36491,16766 36494,16771 36498,16769 36501,16771 37501,16774 37504,16769 37507,16769 37507,16772 37503,16772 37508,16774 37511,16774 37510,18774 37515,18777 37515,18772 37512,18775 37514,18777 37517,18778 37519,18779 37517,18776 37517,18778 37520,18780 37520,18785 37522,18785 37526,18787 37523,18786 37520,18790 38520,18789 38520,18792 38522,18797 38527,18802 38529,20802 38534,20804 38535,20803 38540,20802 38539,20806 38543,20811 38546,20814 38543,20812 38541,20808 38546,20811 38544,20815 38539,20816 38535,20818 38531,20815 38531,20814 38528,20814 38533,20817 38536,20816 38539,20821 38540,20818 38542,20820 38540,20816 38540,20821 38540,20823 38541,20828 38541,20831 38546,20836 38547,20836 38548,20835 38553,20835 37553,20835 37558,20837 37558,20842 37560,20846 37561,20846 37564,20849 37569,20854 37564,20854 37565,20850 37566,20852 38566,20856 39566,20861 39566,20863 39562,20867 39566,20872 39567,20868 39566,20873 39568,20876 39573,20876 39573,20880 39575,20884 39579,20885 39580,20889 39580,20891 39584,20888 38584,20889 38587,20890 38592,20891 37592,20892 37597,20894 35597,20895 35600,20897 35603,20899 35605,16678 18322,16681 18323,16682 18323,16686 18328,16690 18326,16693 18331,11693 18335,11692 18332,11695 18332,11698 18335,11703 18335,11703 18336,11702 18339,11698 18344,11702 18349,11705 18353,11704 18357,11707 18360,11707 18359,11711 18358,11716 18358,11713 18358,11712 18360,11710 18360,11710 18362,11710 18362,11710 18367,11710 18366,11707 18366,11706 18365,11710 18369,11715 18371,11714 18374,11712 18376,11711 18377,11711 18379,11712 18384,11715 18385,11711 18385,11714 18387,11717 18389,11718 18386,11721 19386,11723 19391,11722 19395,11722 19396,11723 19398,11726 19398,11729 19403,11733 19408,11736 19407,11733 19411,6733 19407,6735 19402,6738 19402,6743 19406,6746 19406,6742 19411,6742 19414,6742 19414,6746 19419,6746 19423,6746 19418,6749 19418,6747 19418,6748 19420,6748 19424,6748 19424,6751 19427,6751 19429,6752 19429,9752 19426,9754 19428,9759 19430,9756 19431,9751 19435,9753 19440,9757 19445,9755 19443,9757 19448,9757 19448,9759 19451,9763 19451,9766 19454,9766 19456,9770 19459,9770 19462,9770 19466,9766 19467,9771 19468,9772 19468,9769 19469,9768 19470,9770 19470,9774 19473,9778 19470,9781 19470,9786 19471,9789 19471,9789 19473,9792 19478,9795 19475,9800 19478,1256 2899,1260 -1101,1256 -1097,1255 -1093,1255 -1094,1259 -1089,1260 -89,2260 -84,2258 -84,2263 -88,2267 -89,2268 -91,2269 -86,2272 -86,2272 -82,2273 -77,2276 -79,2281 -81,2283 -79,2287 -75,2292 1925,2297 1930,2299 1930,2303 1932,2308 1937,2308 1936,2313 1937,2315 1934,2316 1935,2311 1936,2316 1937,2319 1938,2322 1940,2327 1940,2331 1940,2327 1943,2329 1945,2331 1950,2336 1950,2339 1954,2338 1954,7338 1954,7337 1958,7341 1960,7341 1964,8550 20152,8554 20152,8553 15152,8550 15152,8554 15154,8552 15149,8552 15153,8556 15151,8556 15148,8552 15152,8547 15149,8552 15154,8552 15155,8553 15156,8550 15156,8553 15160,8556 15164,8558 15163,8561 15163,8563 15167,8559 15169,8559 15166,8564 15167,8568 15171,8572 16171,8572 16173,8574 16170,8571 16174,8575 16174,8576 16174,8576 16174,8580 16178,8579 16183,8574 16184,8576 16184,7576 16186,7572 16181,7577 16181,7577 16185,7578 16190,7583 16185,7583 16185,7587 16185,12587 19185,12582 19188,12587 19193,12587 19195,10534 21158,10538 21162,10540 19162,10543 19158,10547 19158,10551 19160,10551 19158,10554 19158,10553 19157,10555 19157,10555 19154,10552 19156,10553 19161,10555 19166,10558 19165,10560 19165,10561 19165,10561 19165,10564 19166,10567 19164,10570 19162,10575 19165,10577 19164,10577 19168,10578 19168,10574 19171,10574 19172,10571 19175,10573 19178,6503 16143,6507 16146,6509 16142,6510 16142,6510 16143,6512 16143,6514 16146,6517 16148,6522 16143,6525 16143,6530 16143,6534 16146,6531 16144,8490 16106,8490 16106,8492 16109,8489 16110,8491 16106,8487 16109,8488 16104,8490 17104,8495 17108,8490 17109,8493 17108,8498 17111,8500 17111,8500 17109,8501 17113,8506 17118,8506 17118,8506 17123,4506 17125,4511 17123,4516 17126,4514 17125,4519 17124,4520 17126,4525 17129,4530 17124,4526 17124,4528 17124,4533 17127,4535 17127,4531 16127,4531 16124,4534 16124,4538 16125,2538 16130,2539 16131,2544 16133,2544 16129,2540 16129,2545 16129,2550 16126,7550 16126,7555 16128,7559 16124,7559 16129,7560 16132,7561 16128,7566 16132,9566 16136,9568 16136,9573 16141,9570 16144,9571 16146,9573 16150,9577 16153,9581 16148,9579 16153,9584 16157,9586 16160,9581 16162,9578 16165,10578 16162,10579 16163,10574 18163,10570 18164,10568 18164,10570 18169,10572 18170,10575 18170,10575 18175,10579 18176,10580 18176,10585 18176,10581 20176,10586 20178,10587 20178,10585 20179,10585 20177,10581 20178,10584 20183,10586 20187,10590 20187,10591 20190,10587 20188,10591 20187,10591 20192,10592 20191,10597 20195,10602 20194,10602 20195,10607 20197,10607 20198,13607 20201,13607 20200,13607 20204,13604 20204,13605 20209,13607 20209,13612 20214,13615 20218,13615 20218,13619 20220,13624 20224,13628 20219,18628 20216,18630 20213,18635 20213,18632 20211,18629 20211,18632 20215,18632 20216,18632 20217,18632 20217,18627 20214,18630 20209,18633 20212,18636 20212,18638 20217,18643 20222,22643 20219,22643 20219,22644 20219,22644 20214,22645 20216,22645 21216,22646 21220,22642 21224,22642 21221,22641 21224,22638 21229,22641 21232,22642 21235,22643 21238,22644 21236,22649 21237,22704 18411,22704 18412,22699 18412,22696 18416,22701 18412,22703 18416,22698 18416,22693 18418,22695 18422,22698 18422,22700 18426,22705 18427,22706 18427,22708 18432,22708 18432,22704 18431,22709 18427,22709 18432,22709 18436,22713 21436,22718 21438,22719 21437,22721 21440,22725 21443,22727 21445,22724 21450,22724 21451,22727 21453,22730 21453,22730 21458,22734 21460,22738 21464,20738 21464,20742 21465,22742 21465,22741 21464,22736 21464,22738 21464,22742 21460,22742 21460,22744 21458,22743 21458,22741 21455,22741 21460,22739 21456,22739 21458,22734 23458,22732 23458,22733 23463,22731 23467,22731 23469,22736 23472,22739 23472,22742 23471,22744 23471,24744 23466,24744 23468,24739 23471,24742 23474,24747 23478,24747 23481,24747 23483,24747 23486,24751 25486,24753 25489,24758 25493,24762 25497,24764 25499,24769 25496,24773 25498,24777 25499,24779 25503,24782 25500,24782 25498,24777 25498,24779 25495,24775 25495,24776 25495,24777 25495,24781 25500,24778 25503,24778 25499,24780 25500,24777 22500,24775 22505,24777 22505,24777 22501,24778 22502,24778 22505,24774 22509,24776 22509,24776 22509,24781 22509,24784 22511,24780 22513,24780 22514,24783 22515,24786 22520,24786 22520,24791 22518,24788 22517,24791 22522,24794 22525,24791 22524,24791 22528,24789 22530,24794 22530,24799 22525,24795 22524,24798 22520,24796 22516,24801 22511,24803 22516,24804 22521,24804 22526,24806 22524,24805 22524,24809 22529,24810 22531,24813 22536,24817 22536,24815 22535,24810 22530,24815 22530,24816 22530,24818 22531,24818 22531,24818 22533,24822 22533,24820 22530,24816 22529,24820 22532,24822 22533,24822 27533,24823 27536,24826 27540,24829 27541,24832 27546,24833 27549,24832 27553,24833 27552,24833 27551,24836 27551,24839 27554,24841 27554,24841 27556,24842 27559,24847 27557,24847 27562,24842 27566,24840 27564,24842 27568,24844 27563,25844 27565,25847 27569,25848 27564,25851 27561,25855 27559,25856 27556,25852 27556,25857 27561,25857 27564,25858 27564,25863 27567,25868 27567,25871 27564,25872 27565,25875 27570,25877 27573,25878 27575,25879 27574,25884 27579,25887 27577,25886 27579,25882 27582,25882 27578,25882 27582,25884 27578,25887 27583,25891 27584,25895 27582,25895 27582,25898 27583,25900 27580,11433 8033,11435 8037,11439 8040,11444 8044,11439 8048,11441 8045,11446 8044,11446 8039,11451 8038,11451 8043,11450 8046,11451 8046,11447 8049,11443 8052,11445 8057,11441 8058,11439 8060,11444 8056,11445 8053,11448 8053,11450 8049,11455 8044,11453 8042,11454 8044,11451 8049,11453 8049,11458 8052,11459 8055,11457 8053,11460 8053,11461 8055,11465 9055,11466 9056,12466 9058,12467 9054,12472 4054,12467 4056,12467 4059,12470 4058,12468 4060,14468 4064,14467 4063,14471 4060,14473 4062,14471 4067,14468 4072,14471 4076,14466 4077,14467 4074,14472 4075,14472 4080,14476 4085,14476 4090,14481 4090,14485 4091,14490 4095,14493 4095,14495 4100,14492 4100,14497 4102,14499 4100,14501 4101,14500 4106,14500 4107,14496 4108,14495 4110,14494 7110,33625 38305,38625 38310,38625 38315,38623 38318,38625 38317,38629 38318,38632 38313,38634 38313,38639 38314,38640 38317,38644 38320,38649 38321,38647 38317,38647 38322,38643 38324,38640 38319,38645 38319,38646 38319,38645 38316,38644 38318,38646 38319,38644 38324,38647 38328,38652 38325,38649 38328,38651 38332,40651 43332,40651 43335,40655 43335,40652 43339,40652 43339,40654 43336,40654 43337,40657 43333,40656 43335,40656 43338,40656 43343,40656 43341,40659 43346,45659 43348,45664 43350,45666 43346,45665 43351,45669 43355,45673 43355,45674 43359,50674 43360,50678 43363,50678 43364,50679 43367,50682 43371,50687 43374,50690 43374,50690 43377,50693 43377,50698 43382,50693 43386,50689 43386,50692 43390,50695 43392,50699 43392,50704 43397,50707 43395,50711 43391,50706 43393,50709 43393,50711 43395,50710 43397,50714 43394,50718 43394,50715 43394,50717 43399,50722 43403,50724 43407,50728 43407,50730 43408,47730 43403,47730 43404,47733 43408,47737 43409,47735 43414,47738 43416,47741 43416,47744 43421,47743 43422,47748 43424,47753 43419,47754 43420,47749 43419,52749 43423,52751 43421,52753 43421,52750 43426,52752 43428,52748 43430,52748 43426,52747 43431,52744 43431,52748 43435,52748 43435,52750 45435,52753 45440,52753 45440,52757 45442,52761 45447,52758 45447,52761 45447,52761 45452,52758 45454,52758 45455,52758 45456,52761 45460,52759 45458,52755 45463,52759 45464,52756 45461,52756 45462,52758 45467,52760 45470,52759 45469,52762 45473,52762 45474,15617 20233,15612 20238,15611 20242,15613 20237,15617 20238,15618 20239,15621 20236,15623 20240,15622 20240,15622 20245,15623 20244,15628 20242,15628 20247,15625 20246,15628 20250,15630 24250,15632 24251,15634 24253,15629 24252,15633 24250,15629 24250,15633 24248,15629 24248,15634 24248,15636 24253,15640 24253,15643 24257,15639 24254,15642 24257,15643 26257,15648 26255,15643 26256,15641 26258,15646 26262,15646 26263,15651 26263,15648 26267,15653 27267,15656 27270,15660 27272,15662 29272,15658 29276,15658 29277,15658 29272,15663 29274,15663 29274,17663 29274,17663 29279,17668 29283,17671 29285,17670 29287,17675 29289,17676 29293,17679 29296,17682 29297,17685 29299,17686 29300,17687 29305,17685 33305,17686 33310,17687 33310,17689 33306,17687 34306,17691 34304,17694 34306,17696 34306,17695 34309,17691 34314,17691 34311,17692 34306,17696 34310,17700 34310,17697 34312,17699 34316,17704 34318,17701 34318,17705 34322,17704 34321,17706 34319,17706 34319,17702 34316,17707 37316,17710 37318,19710 37313,19705 37313,19708 37308,19712 37310,19710 37312,19711 37307,19711 37307,19714 37310,19718 37312,19719 37309,19723 37312,19727 37315,19729 37317,19731 37322,19734 37323,19735 37324,19737 37322,19742 37326,19740 37331,19745 37335,19742 37335,19742 37340,19745 37341,19749 37341,19749 37342,19752 37347,19757 37347,19762 37345,19764 37341,19768 37345,19769 37350,19771 37355,19773 33355,19770 33360,19765 33364,19769 33364,19773 33365,22773 33364,22771 33360,22775 38360,22779 38364,22780 38369,22782 38371,22784 38371,22789 40371,22792 40375,22789 40375,22789 40377,22793 40376,23793 40378,23795 41378,23791 41378,23792 41378,23796 41382,23798 41383,22798 41386,22799 41390,22804 41390,22804 41391,22808 41391,22812 41393,22814 39393,22819 39393,22821 39395,22823 39397,22828 36397,22832 36392,22832 36393,22836 36396,22836 36401,22838 36402,19838 36403,19837 36408,19841 36408,19843 36409,19845 36404,19847 36405,19847 36408,19847 36411,19848 36413,19850 36415,19845 36419,19841 36417,19843 36419,19843 36419,19846 36424,19848 36425,19850 36425,19845 36425,19846 36425,19848 36430,19852 36430,19849 36435,19846 36440,19851 36440,19846 36438,19848 36439,19844 36442,19845 36446,19841 36448,19841 36449,19841 38449,19841 38452,19846 38455,19848 38458,19852 42458,19856 42462,19859 42463,19859 42465,19861 42462,19862 42463,19864 42463,19867 42467,19870 42470,19871 42468,21871 42467,26871 42464,26867 42466,26872 42463,26872 42464,26874 42463,26879 42466,26882 42466,26883 42471,26879 42476,26878 42477,27878 42479,27882 42479,27883 42480,27886 42483,27887 42487,27885 42484,27887 42483,27890 42484,27890 42485,22890 42486,22890 42489,22890 42491,22895 42494,22897 42498,22899 42502,22901 42502,22896 42503,22892 42498,22896 42498,22891 42502,22892 42505,22897 42507,22898 42511,22903 42515,22906 42510,22911 42513,17911 42508,17915 42512,17918 42509,17913 44509,17915 44514,17919 44510,17923 44514,17927 44510,17927 44513,17927 44517,17928 44521,21928 44517,21930 44516,21931 44513,21929 44513,21933 44517,21934 44519,21933 44520,21934 44520,21937 44520,21938 44520,21943 44520,21938 44523,21940 44527,21936 44532,21941 44536,21942 44541,21937 44545,21938 44545,21938 44545,21940 44543,21937 44538,21941 44543,21938 44547,21938 44547,21938 44547,21937 44551,21937 44551,21933 44556,21935 44554,21937 44558,21940 44562,21944 44564,21949 44561,21952 44566,21955 44568,21960 44569,21963 44571,21963 44571,21965 44574,25965 44579,25967 44584,25967 44584,25970 44588,22970 41588,22970 41586,22975 41585,22974 41589,22970 41593,22966 41598,22965 41598,22970 41598,22965 41601,22965 41604,22965 46604,22968 46604,27968 46602,27968 46602,25968 46601,25967 45601,25968 45602,25971 45607,25975 45610,25979 45614,25977 45612,25975 45609,26975 45609,26980 46609,26979 46613,26982 46610,26982 46611,26980 46615,26982 46616,26985 46616,26986 46617,26987 46615,30987 46617,30987 46622,30986 46626,30988 46629,30989 46627,17671 29285,17673 26285,17677 26286,17678 26285,17681 26289,15681 26292,15685 26297,10685 26297,10689 26301,10689 26297,10693 26300,10695 26301,10691 26297,10696 26299,10696 26304,10692 26306,10688 26301,10690 26302,10690 26307,10686 26305,10684 26309,10686 26312,10691 26313,10688 26318,10683 26320,10684 26325,10683 26328,14683 26328,14680 21328,14681 21331,14683 21335,14680 21333,14677 21333,14682 25333,14684 25334,14689 25338,14693 25338,14698 25341,14696 25342,18696 25343,20696 25345,20699 25349,20702 25346,20703 25351,20703 25351,20704 25351,20704 25354,20700 26354,20705 26352,20706 26351,20706 26351,20703 26354,20708 26354,20712 26355,20712 26352,20717 26349,20717 26346,20722 26351,20727 26353,20729 26348,20734 26353,24734 26349,24729 26349,24729 26352,24725 26349,24725 26353,24726 26353,24729 26355,24729 26357,24732 26359,24735 26362,24735 26364,24730 26364,24730 26363,24734 26365,24739 26368,24739 26364,24739 26366,24739 26367,24734 26370,24735 26365,24732 26367,24732 26369,24729 26372,24728 26370,24726 26365,24728 26368,24731 26370,24734 26375,24738 26378,24733 26378,24733 26381,24729 26381,13496 17147,13491 17152,13495 17148,13496 17146,13498 17141,13498 17145,13501 17147,13502 17149,13502 17153,13505 17149,13505 17152,13500 17149,13496 20149,13492 20150,13497 20155,8497 20151,8501 20153,8502 20156,8506 20159,8503 20159,12503 19159,12503 19159,12505 19164,12500 19159,12500 19164,12500 15164,12503 15169,12508 15168,12511 15170,12514 15170,12510 15169,12512 15172,12512 15172,12515 15172,12519 15175,12522 15176,12525 15180,12528 15184,23912 53663,23915 53661,28915 53666,28914 53667,28918 53664,28921 53667,28922 53667,28924 53670,28925 53674,28926 53674,28927 53672,28922 53676,28924 53677,28927 53678,28932 56678,28934 56682,28935 56683,28936 56688,28938 56688,28934 56691,28938 56693,28942 56690,28939 56694,28939 56698,28942 56695,28946 56698,28950 56701,28953 56706,28954 56706,28949 56708,28950 56708,28953 56709,28958 56706,28960 56709,28965 56707,28965 56707,28965 56705,28963 56709,28966 59709,28969 59710,28973 59711,28977 59715,28977 59717,28982 59719,28981 59715,28985 59718,28986 59718,33986 59721,35986 59723,35990 59723,35990 61723,35993 61726,35995 61728,35998 61724,36000 61721,36004 61723,36002 61718,36007 61718,36010 61719,36010 61721,36010 61721,36010 61721,36015 61721,36018 61716,36022 61717,36024 61718,36025 61723,36029 61722,36031 61726,36035 61722,36040 62722,36042 62722,36044 62722,36049 62724,36051 62720,36053 62723,36052 62719,36055 62717,36056 62712,36059 62714,36058 67714,36059 67716,40059 67716,40063 67719,40067 67722,40069 67726,40065 67724,40067 67721,40067 67722,40071 67721,40075 67726,37075 67730,37076 67733,37076 67736,37072 67741,37072 67741,37072 67744,37076 67744,37079 67745,37081 67750,37082 67750,37082 67753,37082 67753,37083 67752,37081 67753,37084 67753,37087 67757,37087 67758,37083 67753,37084 67758,37084 67761,37088 67759,37091 67762,37088 67762,37090 67767,37090 72767,37090 72771,37085 72771,37089 72774,38089 71774,38090 71771,38086 71771,38086 71774,38086 71777,38089 71782,38089 71782,38087 71780,38092 71782,38087 71785,38083 71783,38081 71781,38078 71781,38078 71783,38076 71786,38075 71787,38078 71783,38079 71781,38081 71781,41081 71783,41081 71778,41082 71778,41085 71783,41085 71783,41088 71785,41083 71789,41083 71794,41088 71796,41088 71796,41092 71798,41095 71794,41095 71789,41098 71790,41093 71790,41091 71795,41092 71796,41087 71798,41084 71796,41086 71797,41084 71799,41084 71795,41086 71798,41085 71799,41089 71803,41085 71804,41083 71802,41083 71803,41079 71803,41081 71808,41081 71809,41083 71810,41083 71809,41085 71810,41082 71814,41087 71817,41089 71818,41086 71813,41083 71813,39083 71816,39083 71814,39085 71814,39083 71814,39086 71818,39087 71820,39087 71824,39091 71826,39096 71829,39098 74829,39102 74830,39107 74833,39110 74836,39115 74835,39115 74836,39115 74838,39115 74835,39119 74838,39117 74840,39121 74840,39125 74843,39121 74848,39122 77848,39122 77844,39123 77848,39126 77851,39131 77855,39136 77857,39132 77857,39135 78857,39135 78859,39136 78864,39133 78865,39135 78866,39139 79866,39142 79870,39147 79872,39146 79872,39150 79876,39150 78876,39154 78879,39154 75879,39154 75881,39158 75881,39157 75884,39160 75884,39155 75884,39160 75889,39156 75891,39158 75888,39163 75891,39163 75894,39166 75891,39166 75895,39167 75900,39170 75901,39170 75906,35170 75907,35171 75911,35176 75906,35172 75908,35173 75908,35178 75908,35175 75909,35170 75908,35170 75903,35168 75904,35173 75906,35178 75903,35179 75904,35179 75908,35182 75905,35184 71905,35188 71902,35185 71904,35186 71907,35187 71908,35189 71903,35191 71905,35195 71900,35197 71904,35198 71909,35200 71907,35199 71903,35201 71900,40201 71896,25028 55790,25029 55785,28029 55789,28031 55790,28032 55790,28037 55794,28042 55793,28043 55798,28046 55803,30046 55803,30051 55806,30050 55810,30049 55810,30049 55812,30049 55816,30054 55820,2545 16129,2540 16133,2542 16137,2542 16139,2544 16138,2545 16139,7545 16136,7546 16139,7541 16142,7542 16142,7543 20142,7547 20143,11547 20143,11550 20139,11555 20139,11556 20137,11552 20142,11555 24142,11556 24145,11559 24140,11563 24143,11567 24139,16567 24136,16567 24139,16572 24142,16573 24147,14573 24143,14574 24147,14570 24145,14573 24150,14569 24150,14570 24145,14573 24149,14575 24150,14575 24154,14579 24149,14579 24153,14576 24157,14576 24152,14571 24149,14571 24152,14575 24150,14572 24151,15572 24153,15575 24149,15577 24154,15582 24151,15582 24153,15586 24156,15587 24152,15588 24157,15590 24162,15590 24166,15590 24166,20590 24166,17590 24169,17595 24171,17597 24172,17599 24172,17595 24174,17599 24178,17599 24181,18599 24184,18594 24187,18597 24187,18593 24189,18597 24192,18601 24192,18599 24197,18599 24197,18603 24200,18605 24204,18600 24205,18605 24201,18605 24197,18610 24202,18608 24205,18611 24204,18613 24208,18617 24203,22617 24205,22619 29205,22622 31205,22622 31209,22623 31214,22624 31212,22627 31214,22623 31214,22626 31215,22629 31214,22633 31218,22631 31221,22630 31223,22632 31227,21937 44551,21935 44555,21939 44551,21934 44553,21936 44554,21933 44556,21935 44552,21935 44553,21939 44548,21939 44551,21939 44551,21938 44555,21938 44558,21938 44559,21941 44559,21945 44558,19945 44562,19942 44560,19943 44561,19939 44565,19940 44561,19939 44556,19935 44557,9770 19466,9773 19471,9775 19471,9770 19471,9770 19468,9770 19467,9772 19466,9772 19468,9774 19469,9775 19472,12775 19470,12773 19466,12773 19467,12773 19464,12773 19466,12776 19461,12779 19461,12779 19465,12780 19465,12782 19460,12781 19458,12776 19461,12776 19461,12777 19463,12778 19466,12776 19466,12780 19463,12780 19466,12785 19468,12789 19473,12788 19477,12793 19475,12798 19480,12802 19482,12803 24482,12802 24484,16802 24486,16806 28486,16808 28486,16812 28490,16812 28494,16815 28498,16816 28498,16818 28502,16818 28504,16819 28509,19819 28513,19819 28510,19821 28515,19816 28510,19811 28510,19811 28511,19809 28511,19810 28510,19813 28515,22813 28510,22818 28514,22818 28515,22815 28516,22818 28514,22819 28514)',')')) where i = 1; +rollback; +check table t1; +Table Op Msg_type Msg_text +test.t1 check status OK +drop table t1; +SET GLOBAL innodb_file_per_table=default; +create table t1(i int primary key, +a geometry not null, b geometry not null, +c int, +spatial index(a),key(a(25)),key(b(25)), +unique key (c), +spatial index(b))engine=innodb; +insert into t1 values(0, point(0,0), point(0,0), 0); +insert into t1 values(1, point(1,1), point(1,1), 1); +insert into t1 values(2, point(2,2), point(2,2), 2); +insert into t1 values(3, point(3,3), point(3,3), 3); +insert into t1 values(4, point(4,4), point(4,4), 4); +start transaction; +update t1 set a=point(5,5), b=point(5,5), c=5 where i < 3; +ERROR 23000: Duplicate entry '5' for key 'c' +rollback; +set session debug="+d,row_mysql_crash_if_error"; +Warnings: +Warning 1287 '@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead +update t1 set a=point(5,5), b=point(5,5), c=5 where i < 3; +ERROR HY000: Lost connection to server during query +insert into t1 values(5, point(5,5), point(5,5), 5); +drop table t1; diff --git a/mysql-test/suite/innodb_gis/r/rt_precise.result b/mysql-test/suite/innodb_gis/r/rt_precise.result new file mode 100644 index 00000000..04ba208c --- /dev/null +++ b/mysql-test/suite/innodb_gis/r/rt_precise.result @@ -0,0 +1,63 @@ +SET default_storage_engine=InnoDB; +DROP TABLE IF EXISTS t1; +CREATE TABLE t1 ( +fid INT NOT NULL AUTO_INCREMENT PRIMARY KEY, +g GEOMETRY NOT NULL, +KEY gis_key(g(5)) +) ENGINE=InnoDB; +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `fid` int(11) NOT NULL AUTO_INCREMENT, + `g` geometry NOT NULL, + PRIMARY KEY (`fid`), + KEY `gis_key` (`g`(5)) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci +SELECT count(*) FROM t1; +count(*) +150 +ANALYZE TABLE t1; +Table Op Msg_type Msg_text +test.t1 analyze status Engine-independent statistics collected +test.t1 analyze status OK +EXPLAIN SELECT fid, ST_AsText(g) FROM t1 WHERE ST_Within(g, ST_GeomFromText('Polygon((140 140,160 140,160 160,140 140))')); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 ALL gis_key NULL NULL NULL # Using where +SELECT fid, ST_AsText(g) FROM t1 WHERE ST_Within(g, ST_GeomFromText('Polygon((140 140,160 140,160 160,140 160,140 140))')) ORDER BY fid; +fid ST_AsText(g) +1 LINESTRING(150 150,150 150) +2 LINESTRING(149 149,151 151) +3 LINESTRING(148 148,152 152) +4 LINESTRING(147 147,153 153) +5 LINESTRING(146 146,154 154) +6 LINESTRING(145 145,155 155) +7 LINESTRING(144 144,156 156) +8 LINESTRING(143 143,157 157) +9 LINESTRING(142 142,158 158) +10 LINESTRING(141 141,159 159) +11 LINESTRING(140 140,160 160) +DROP TABLE t1; +CREATE TABLE t1 ( +fid INT NOT NULL AUTO_INCREMENT PRIMARY KEY, +g GEOMETRY NOT NULL +) ENGINE=InnoDB; +ALTER TABLE t1 ADD SPATIAL KEY(g); +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `fid` int(11) NOT NULL AUTO_INCREMENT, + `g` geometry NOT NULL, + PRIMARY KEY (`fid`), + SPATIAL KEY `g` (`g`) +) ENGINE=InnoDB AUTO_INCREMENT=101 DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci +SELECT count(*) FROM t1; +count(*) +100 +SELECT fid, ST_AsText(g) FROM t1 WHERE ST_Within(g, +ST_GeomFromText('Polygon((40 40,60 40,60 60,40 40))')) ORDER BY fid; +fid ST_AsText(g) +45 LINESTRING(51 51,60 60) +46 LINESTRING(51 41,60 50) +56 LINESTRING(41 41,50 50) +DROP TABLE t1; +End of 5.5 tests. diff --git a/mysql-test/suite/innodb_gis/r/rtree.result b/mysql-test/suite/innodb_gis/r/rtree.result new file mode 100644 index 00000000..2fd39f9c --- /dev/null +++ b/mysql-test/suite/innodb_gis/r/rtree.result @@ -0,0 +1,868 @@ +create table t1 (i int, g geometry not null, spatial index (g))engine=innodb; +insert into t1 values (1, POINT(1,1)); +insert into t1 values (1, POINT(1.5,1.5)); +insert into t1 values (1, POINT(3,3)); +insert into t1 values (1, POINT(3.1,3.1)); +insert into t1 values (1, POINT(5,5)); +analyze table t1; +Table Op Msg_type Msg_text +test.t1 analyze status Engine-independent statistics collected +test.t1 analyze status OK +set @g1 = ST_GeomFromText('Polygon((0 0,0 3,3 3,3 0,0 0))'); +explain select ST_astext(t1.g) from t1 where MBRWithin(t1.g, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 ALL g NULL NULL NULL 5 Using where +select ST_astext(t1.g) from t1 where MBRWithin(t1.g, @g1); +ST_astext(t1.g) +POINT(1 1) +POINT(1.5 1.5) +set @g1 = ST_GeomFromText('Polygon((0 0,0 3,3 3,3 0,0 0))'); +delete from t1 where MBRWithin(t1.g, @g1); +check table t1; +Table Op Msg_type Msg_text +test.t1 check status OK +select ST_astext(t1.g) from t1; +ST_astext(t1.g) +POINT(3 3) +POINT(3.1 3.1) +POINT(5 5) +set @g1 = ST_GeomFromText('Polygon((5 5,5 5,5 5,5 5,5 5))'); +update t1 set g = POINT(2,2) where MBRWithin(t1.g, @g1); +check table t1; +Table Op Msg_type Msg_text +test.t1 check status OK +select ST_astext(t1.g) from t1; +ST_astext(t1.g) +POINT(3 3) +POINT(3.1 3.1) +POINT(2 2) +show indexes from t1; +Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored +t1 1 g 1 g A # 32 NULL SPATIAL NO +drop table t1; +create table t1 (name VARCHAR(100), square GEOMETRY not null, spatial index (square))engine=innodb; +INSERT INTO t1 VALUES("small", ST_GeomFromText('POLYGON (( 0 0, 0 1, 1 1, 1 0, 0 0))')); +INSERT INTO t1 VALUES("big", ST_GeomFromText('POLYGON (( 0 0, 0 3, 3 3, 3 0, 0 0))')); +INSERT INTO t1 VALUES("up", ST_GeomFromText('POLYGON (( 0 1, 0 3, 2 3, 2 1, 0 1))')); +INSERT INTO t1 VALUES("up2", ST_GeomFromText('POLYGON (( 0 2, 0 4, 2 4, 2 2, 0 2))')); +INSERT INTO t1 VALUES("up3", ST_GeomFromText('POLYGON (( 0 3, 0 5, 2 5, 2 3, 0 3))')); +INSERT INTO t1 VALUES("down", ST_GeomFromText('POLYGON (( 0 -1, 0 1, 2 1, 2 -1, 0 -1))')); +INSERT INTO t1 VALUES("down2", ST_GeomFromText('POLYGON (( 0 -2, 0 0, 2 0, 2 -2, 0 -2))')); +INSERT INTO t1 VALUES("down3", ST_GeomFromText('POLYGON (( 0 -3, 0 -1, 2 -1, 2 -3, 0 -3))')); +INSERT INTO t1 VALUES("right", ST_GeomFromText('POLYGON (( 1 0, 1 2, 3 2, 3 0, 1 0))')); +INSERT INTO t1 VALUES("right2", ST_GeomFromText('POLYGON (( 2 0, 2 2, 4 2, 4 0, 2 0))')); +INSERT INTO t1 VALUES("right3", ST_GeomFromText('POLYGON (( 3 0, 3 2, 5 2, 5 0, 3 0))')); +INSERT INTO t1 VALUES("left", ST_GeomFromText('POLYGON (( -1 0, -1 2, 1 2, 1 0, -1 0))')); +INSERT INTO t1 VALUES("left2", ST_GeomFromText('POLYGON (( -2 0, -2 2, 0 2, 0 0, -2 0))')); +INSERT INTO t1 VALUES("left3", ST_GeomFromText('POLYGON (( -3 0, -3 2, -1 2, -1 0, -3 0))')); +SET @p = ST_GeomFromText('POLYGON (( 0 0, 0 2, 2 2, 2 0, 0 0))'); +SELECT name, ST_AsText(square) from t1 where MBRContains(@p, square); +name ST_AsText(square) +small POLYGON((0 0,0 1,1 1,1 0,0 0)) +SELECT name, ST_AsText(square) from t1 where MBRDisjoint(@p, square); +name ST_AsText(square) +up3 POLYGON((0 3,0 5,2 5,2 3,0 3)) +down3 POLYGON((0 -3,0 -1,2 -1,2 -3,0 -3)) +right3 POLYGON((3 0,3 2,5 2,5 0,3 0)) +left3 POLYGON((-3 0,-3 2,-1 2,-1 0,-3 0)) +SELECT name, ST_AsText(square) from t1 where MBREquals(@p, square); +name ST_AsText(square) +SELECT name, ST_AsText(square) from t1 where MBRIntersects(@p, square); +name ST_AsText(square) +right2 POLYGON((2 0,2 2,4 2,4 0,2 0)) +right POLYGON((1 0,1 2,3 2,3 0,1 0)) +up2 POLYGON((0 2,0 4,2 4,2 2,0 2)) +up POLYGON((0 1,0 3,2 3,2 1,0 1)) +big POLYGON((0 0,0 3,3 3,3 0,0 0)) +small POLYGON((0 0,0 1,1 1,1 0,0 0)) +down POLYGON((0 -1,0 1,2 1,2 -1,0 -1)) +down2 POLYGON((0 -2,0 0,2 0,2 -2,0 -2)) +left POLYGON((-1 0,-1 2,1 2,1 0,-1 0)) +left2 POLYGON((-2 0,-2 2,0 2,0 0,-2 0)) +SELECT name, ST_AsText(square) from t1 where MBROverlaps(@p, square); +name ST_AsText(square) +right POLYGON((1 0,1 2,3 2,3 0,1 0)) +up POLYGON((0 1,0 3,2 3,2 1,0 1)) +down POLYGON((0 -1,0 1,2 1,2 -1,0 -1)) +left POLYGON((-1 0,-1 2,1 2,1 0,-1 0)) +SELECT name, ST_AsText(square) from t1 where MBRTouches(@p, square); +name ST_AsText(square) +right2 POLYGON((2 0,2 2,4 2,4 0,2 0)) +up2 POLYGON((0 2,0 4,2 4,2 2,0 2)) +down2 POLYGON((0 -2,0 0,2 0,2 -2,0 -2)) +left2 POLYGON((-2 0,-2 2,0 2,0 0,-2 0)) +SELECT name, ST_AsText(square) from t1 where MBRWithin(@p, square); +name ST_AsText(square) +big POLYGON((0 0,0 3,3 3,3 0,0 0)) +SET @vert1 = ST_GeomFromText('POLYGON ((0 -2, 0 2, 0 -2))'); +SET @horiz1 = ST_GeomFromText('POLYGON ((-2 0, 2 0, -2 0))'); +SET @horiz2 = ST_GeomFromText('POLYGON ((-1 0, 3 0, -1 0))'); +SET @horiz3 = ST_GeomFromText('POLYGON ((2 0, 3 0, 2 0))'); +SET @point1 = ST_GeomFromText('POLYGON ((0 0))'); +SET @point2 = ST_GeomFromText('POLYGON ((-2 0))'); +SELECT GROUP_CONCAT(a1.name ORDER BY a1.name) AS MBRoverlaps FROM t1 a1 WHERE MBROverlaps(a1.square, @vert1) GROUP BY a1.name; +MBRoverlaps +SELECT GROUP_CONCAT(a1.name ORDER BY a1.name) AS MBRoverlaps FROM t1 a1 WHERE MBROverlaps(a1.square, @horiz1) GROUP BY a1.name; +MBRoverlaps +SELECT MBROverlaps(@horiz1, @vert1) FROM DUAL; +MBROverlaps(@horiz1, @vert1) +0 +SELECT MBROverlaps(@horiz1, @horiz2) FROM DUAL; +MBROverlaps(@horiz1, @horiz2) +1 +SELECT MBROverlaps(@horiz1, @horiz3) FROM DUAL; +MBROverlaps(@horiz1, @horiz3) +0 +SELECT MBROverlaps(@horiz1, @point1) FROM DUAL; +MBROverlaps(@horiz1, @point1) +0 +SELECT MBROverlaps(@horiz1, @point2) FROM DUAL; +MBROverlaps(@horiz1, @point2) +0 +DROP TABLE t1; +create table t1 (i int not null, g geometry not null)engine=innodb; +insert into t1 values (1, POINT(1,1)); +insert into t1 values (2, POINT(1.5,1.5)); +insert into t1 values (3, POINT(3,3)); +insert into t1 values (4, POINT(3.1,3.1)); +insert into t1 values (5, POINT(5,5)); +alter table t1 add primary key(i); +alter table t1 drop primary key; +create spatial index idx on t1(g); +create spatial index idx2 on t1(g); +Warnings: +Note 1831 Duplicate index `idx2`. This is deprecated and will be disallowed in a future release +alter table t1 add primary key(i); +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `i` int(11) NOT NULL, + `g` geometry NOT NULL, + PRIMARY KEY (`i`), + SPATIAL KEY `idx` (`g`), + SPATIAL KEY `idx2` (`g`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci +drop index idx on t1; +drop table t1; +create table t1 (i int, i2 char(10), g geometry not null, primary key (i, i2), spatial index (g))engine=innodb; +insert into t1 values (1, "111", POINT(1,1)); +insert into t1 values (2, "222", POINT(1.5,1.5)); +insert into t1 values (3, "333", POINT(3,3)); +insert into t1 values (4, "444", POINT(3.1,3.1)); +insert into t1 values (5, "555", POINT(5,5)); +analyze table t1; +Table Op Msg_type Msg_text +test.t1 analyze status Engine-independent statistics collected +test.t1 analyze status OK +set @g1 = ST_GeomFromText('Polygon((0 0,0 3,3 3,3 0,0 0))'); +explain select ST_astext(t1.g) from t1 where MBRWithin(t1.g, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 ALL g NULL NULL NULL 5 Using where +select ST_astext(t1.g) from t1 where MBRWithin(t1.g, @g1); +ST_astext(t1.g) +POINT(1 1) +POINT(1.5 1.5) +set @g1 = ST_GeomFromText('Polygon((0 0,0 3,3 3,3 0,0 0))'); +delete from t1 where MBRWithin(t1.g, @g1); +check table t1; +Table Op Msg_type Msg_text +test.t1 check status OK +select ST_astext(t1.g) from t1; +ST_astext(t1.g) +POINT(3 3) +POINT(3.1 3.1) +POINT(5 5) +set @g1 = ST_GeomFromText('Polygon((5 5,5 5,5 5,5 5,5 5))'); +update t1 set g = POINT(2,2) where MBRWithin(t1.g, @g1); +check table t1; +Table Op Msg_type Msg_text +test.t1 check status OK +select ST_astext(t1.g) from t1; +ST_astext(t1.g) +POINT(3 3) +POINT(3.1 3.1) +POINT(2 2) +show indexes from t1; +Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored +t1 0 PRIMARY 1 i A # NULL NULL BTREE NO +t1 0 PRIMARY 2 i2 A # NULL NULL BTREE NO +t1 1 g 1 g A # 32 NULL SPATIAL NO +drop table t1; +CREATE TABLE `t1` ( +`id` int(11) NOT NULL AUTO_INCREMENT, +`way` geometry NOT NULL, +PRIMARY KEY (`id`), +SPATIAL KEY `way` (`way`) +) ENGINE=InnoDB; +INSERT INTO t1 SET way = ST_GeomFromText('POINT(1 1)'); +INSERT INTO t1 SET way = ST_GeomFromText('POINT(1 2)'); +INSERT INTO t1 SET way = ST_GeomFromText('POINT(1 3)'); +INSERT INTO t1 SET way = ST_GeomFromText('POINT(1 4)'); +INSERT INTO t1 SET way = ST_GeomFromText('POINT(1 5)'); +INSERT INTO t1 SET way = ST_GeomFromText('POINT(2 1)'); +INSERT INTO t1 SET way = ST_GeomFromText('POINT(2 2)'); +INSERT INTO t1 SET way = ST_GeomFromText('POINT(2 3)'); +INSERT INTO t1 SET way = ST_GeomFromText('POINT(2 4)'); +INSERT INTO t1 SET way = ST_GeomFromText('POINT(2 5)'); +INSERT INTO t1 SET way = ST_GeomFromText('POINT(3 1)'); +INSERT INTO t1 SET way = ST_GeomFromText('POINT(3 2)'); +INSERT INTO t1 SET way = ST_GeomFromText('POINT(3 3)'); +INSERT INTO t1 SET way = ST_GeomFromText('POINT(3 4)'); +INSERT INTO t1 SET way = ST_GeomFromText('POINT(3 5)'); +INSERT INTO t1 SET way = ST_GeomFromText('POINT(4 1)'); +INSERT INTO t1 SET way = ST_GeomFromText('POINT(4 2)'); +INSERT INTO t1 SET way = ST_GeomFromText('POINT(4 3)'); +INSERT INTO t1 SET way = ST_GeomFromText('POINT(4 4)'); +INSERT INTO t1 SET way = ST_GeomFromText('POINT(4 5)'); +INSERT INTO t1 SET way = ST_GeomFromText('POINT(5 1)'); +INSERT INTO t1 SET way = ST_GeomFromText('POINT(5 2)'); +INSERT INTO t1 SET way = ST_GeomFromText('POINT(5 3)'); +INSERT INTO t1 SET way = ST_GeomFromText('POINT(5 4)'); +INSERT INTO t1 SET way = ST_GeomFromText('POINT(5 5)'); +SELECT COUNT(*) +FROM t1 +WHERE ST_CONTAINS(ST_GeomFromText('POLYGON((2 2,4 2, 4 4, 2 4, 2 2))'),way); +COUNT(*) +9 +OPTIMIZE TABLE t1; +Table Op Msg_type Msg_text +test.t1 optimize note Table does not support optimize, doing recreate + analyze instead +test.t1 optimize status OK +SELECT COUNT(*) +FROM t1 +WHERE ST_CONTAINS(ST_GeomFromText('POLYGON((2 2,4 2, 4 4, 2 4, 2 2))'),way); +COUNT(*) +9 +DROP TABLE t1; +CREATE TABLE t1( i INT, g GEOMETRY NOT NULL, SPATIAL INDEX (g)) ENGINE=InnoDB; +INSERT INTO t1 VALUES(1, LINESTRING(POINT(1,1), POINT(4, 4))); +INSERT INTO t1 VALUES(2, LINESTRING(POINT(2,2), POINT(5, 5))); +UPDATE t1 SET g = LINESTRING(POINT(1,1), POINT(2,2), POINT(3,3), POINT(4,4)) +WHERE i = 1; +UPDATE t1 SET g = LINESTRING(POINT(1,1), POINT(2,2), POINT(3,3), POINT(8,8)) +WHERE i = 2; +CHECK TABLE t1; +Table Op Msg_type Msg_text +test.t1 check status OK +DELETE FROM t1 +WHERE ST_CONTAINS(ST_GeomFromText('POLYGON((0 0,4 0, 4 4, 0 4, 0 0))'),g); +DROP TABLE t1; +CREATE TABLE address ( +address_id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT, +address VARCHAR(50) NOT NULL, +address2 VARCHAR(50) DEFAULT NULL, +district VARCHAR(20) NOT NULL, +city_id SMALLINT UNSIGNED NOT NULL, +postal_code VARCHAR(10) DEFAULT NULL, +phone VARCHAR(20) NOT NULL, +location GEOMETRY NOT NULL, +last_update TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, +PRIMARY KEY (address_id), +SPATIAL KEY `idx_location` (location) +)ENGINE=InnoDB DEFAULT CHARSET=utf8; +SET AUTOCOMMIT=0; +INSERT INTO `address` VALUES (1,'47 MySakila Drive',NULL,'Alberta',300,'','',0x0000000001010000003E0A325D63345CC0761FDB8D99D94840,'2014-09-25 22:30:27'), +(2,'28 MySQL Boulevard',NULL,'QLD',576,'','',0x0000000001010000008E10D4DF812463404EE08C5022A23BC0,'2014-09-25 22:30:09'), +(3,'23 Workhaven Lane',NULL,'Alberta',300,'','14033335568',0x000000000101000000CDC4196863345CC01DEE7E7099D94840,'2014-09-25 22:30:27'), +(4,'1411 Lillydale Drive',NULL,'QLD',576,'','6172235589',0x0000000001010000005B0DE4341F26634042D6AE6422A23BC0,'2014-09-25 22:30:09'), +(5,'1913 Hanoi Way','','Nagasaki',463,'35200','28303384290',0x00000000010100000028D1370E21376040ABB58BC45F944040,'2014-09-25 22:31:53'), +(6,'1121 Loja Avenue','','California',449,'17886','838635286649',0x0000000001010000003C94579D8B525DC0E860472DDE0D4140,'2014-09-25 22:34:01'), +(7,'692 Joliet Street','','Attika',38,'83579','448477190408',0x000000000101000000076F59CF5AB737404105D1A45EFD4240,'2014-09-25 22:31:07'), +(8,'1566 Inegl Manor','','Mandalay',349,'53561','705814003527',0x00000000010100000006240626DCD857403C45B357C4753540,'2014-09-25 22:32:18'), +(9,'53 Idfu Parkway','','Nantou',361,'42399','10655648674',0x0000000001010000001F813FFC7C2A5E40357A354069EA3740,'2014-09-25 22:33:16'), +(10,'1795 Santiago de Compostela Way','','Texas',295,'18743','860452626434',0x00000000010100000050502F9D7BE058C0D0CF7932A4813B40,'2014-09-25 22:33:55'), +(11,'900 Santiago de Compostela Parkway','','Central Serbia',280,'93896','716571220373',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:34:11'), +(12,'478 Joliet Way','','Hamilton',200,'77948','657282285970',0x000000000101000000DC84D61E11E9654072B7353344E442C0,'2014-09-25 22:32:22'), +(13,'613 Korolev Drive','','Masqat',329,'45844','380657522649',0x00000000010100000001023164D04B4D40CEAC003A279D3740,'2014-09-25 22:32:29'), +(14,'1531 Sal Drive','','Esfahan',162,'53628','648856936185',0x000000000101000000DE0951195AD64940635A400D84534040,'2014-09-25 22:31:36'), +(15,'1542 Tarlac Parkway','','Kanagawa',440,'1027','635297277345',0x000000000101000000B4CDE8A27C6B61406B7D361724C74140,'2014-09-25 22:31:53'), +(16,'808 Bhopal Manor','','Haryana',582,'10672','465887807014',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:31:30'), +(17,'270 Amroha Parkway','','Osmaniye',384,'29610','695479687538',0x0000000001010000001F436C55B71F4240A11408967E894240,'2014-09-25 22:33:27'), +(18,'770 Bydgoszcz Avenue','','California',120,'16266','517338314235',0x0000000001010000006D63A2F7FC515EC04C040539835A4340,'2014-09-25 22:33:47'), +(19,'419 Iligan Lane','','Madhya Pradesh',76,'72878','990911107354',0x000000000101000000B7B01303C9595340E6F10FB633413740,'2014-09-25 22:31:13'), +(20,'360 Toulouse Parkway','','England',495,'54308','949312333307',0x000000000101000000860FDBCCD7DBE63FFDCFAB4BD7C44940,'2014-09-25 22:33:40'), +(21,'270 Toulon Boulevard','','Kalmykia',156,'81766','407752414682',0x000000000101000000FD0BA947BF204640316D495865274740,'2014-09-25 22:32:48'), +(22,'320 Brest Avenue','','Kaduna',252,'43331','747791594069',0x0000000001010000006D3425FECDC01D40623FD532630B2540,'2014-09-25 22:32:25'), +(23,'1417 Lancaster Avenue','','Northern Cape',267,'72192','272572357893',0x000000000101000000FEE8E5C127C338404DED56E075BB3CC0,'2014-09-25 22:33:03'), +(24,'1688 Okara Way','','Nothwest Border Prov',327,'21954','144453869132',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:30'), +(25,'262 A Corua (La Corua) Parkway','','Dhaka',525,'34418','892775750063',0x000000000101000000F13790E4A87A5640E7F6370DF63F3840,'2014-09-25 22:30:12'), +(26,'28 Charlotte Amalie Street','','Rabat-Sal-Zammour-Z',443,'37551','161968374323',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:16'), +(27,'1780 Hino Boulevard','','Liepaja',303,'7716','902731229323',0x000000000101000000360F1604450435403CA3AD4A22424C40,'2014-09-25 22:31:58'), +(28,'96 Tafuna Way','','Crdoba',128,'99865','934730187245',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:05'), +(29,'934 San Felipe de Puerto Plata Street','','Sind',472,'99780','196495945706',0x0000000001010000008E6B8D52D3285140D58E876302F53B40,'2014-09-25 22:32:31'), +(30,'18 Duisburg Boulevard','','',121,'58327','998009777982',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:31:08'), +(31,'217 Botshabelo Place','','Southern Mindanao',138,'49521','665356572025',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:36'), +(32,'1425 Shikarpur Manor','','Bihar',346,'65599','678220867005',0x0000000001010000007F9F16284E9E55408201840F25603940,'2014-09-25 22:31:20'), +(33,'786 Aurora Avenue','','Yamaguchi',474,'65750','18461860151',0x000000000101000000E712584AA05E6040D15735ADB9FA4040,'2014-09-25 22:31:53'), +(34,'1668 Anpolis Street','','Taipei',316,'50199','525255540978',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:33:15'), +(35,'33 Gorontalo Way','','West Bengali',257,'30348','745994947458',0x0000000001010000001A828879FB17564061585936CEAB3640,'2014-09-25 22:31:18'), +(36,'176 Mandaluyong Place','','Uttar Pradesh',239,'65213','627705991774',0x00000000010100000073309B0043A553409E3AA0B657743940,'2014-09-25 22:31:17'), +(37,'127 Purnea (Purnia) Manor','','Piemonte',17,'79388','911872220378',0x0000000001010000002A2B97D75B382140F2892B1D62744640,'2014-09-25 22:31:42'), +(38,'61 Tama Street','','Okayama',284,'94065','708403338270',0x0000000001010000001F7013A488B86040670696C8AA4A4140,'2014-09-25 22:31:49'), +(39,'391 Callao Drive','','Midi-Pyrnes',544,'34021','440512153169',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:31:01'), +(40,'334 Munger (Monghyr) Lane','','Markazi',31,'38145','481183273622',0x000000000101000000737275B636D848404B958334BE0B4140,'2014-09-25 22:31:36'), +(41,'1440 Fukuyama Loop','','Henan',362,'47929','912257250465',0x0000000001010000005E3CCD1319225C405886DD1C537F4040,'2014-09-25 22:30:40'), +(42,'269 Cam Ranh Parkway','','Chisinau',115,'34689','489783829737',0x000000000101000000AD97F0958ADB3C40CCD47F31B6804740,'2014-09-25 22:32:15'), +(43,'306 Antofagasta Place','','Esprito Santo',569,'3989','378318851631',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:23'), +(44,'671 Graz Street','','Oriental',353,'94399','680768868518',0x00000000010100000083F7FAFFDD7707C0F7B7BA5285954140,'2014-09-25 22:32:16'), +(45,'42 Brindisi Place','','Yerevan',586,'16744','42384721397',0x000000000101000000281BC528BE4146403BD400EF2E174440,'2014-09-25 22:30:08'), +(46,'1632 Bislig Avenue','','Nonthaburi',394,'61117','471675840679',0x000000000101000000935C59FDEC1F5940D5D0611976D32B40,'2014-09-25 22:33:20'), +(47,'1447 Imus Way','','Tahiti',167,'48942','539758313890',0x00000000010100000090CE0A56E6B562C059BB9289008E31C0,'2014-09-25 22:31:02'), +(48,'1998 Halifax Drive','','Lipetsk',308,'76022','177727722820',0x00000000010100000087985CD60EC943409F1738EA324D4A40,'2014-09-25 22:32:54'), +(49,'1718 Valencia Street','','Antofagasta',27,'37359','675292816413',0x0000000001010000007E82D5A24F9951C0C46B4DA901A737C0,'2014-09-25 22:30:29'), +(50,'46 Pjatigorsk Lane','','Moscow (City)',343,'23616','262076994845',0x0000000001010000009C51F355F2C4424002E3CFA6D9DF4B40,'2014-09-25 22:32:55'), +(51,'686 Garland Manor','','Cear',247,'52535','69493378813',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:19'), +(52,'909 Garland Manor','','Tatarstan',367,'69367','705800322606',0x000000000101000000376DC66988E949402CA85E6D7BD14B40,'2014-09-25 22:32:55'), +(53,'725 Isesaki Place','','Mekka',237,'74428','876295323994',0x000000000101000000213361455799434061EB0896D98A3540,'2014-09-25 22:33:00'), +(54,'115 Hidalgo Parkway','','Khartum',379,'80168','307703950263',0x00000000010100000004503173263D40404D0DD9E5004A2F40,'2014-09-25 22:33:11'), +(55,'1135 Izumisano Parkway','','California',171,'48150','171822533480',0x0000000001010000009763C3E4D75B5DC0799A2732CE0B4140,'2014-09-25 22:33:50'), +(56,'939 Probolinggo Loop','','Galicia',1,'4166','680428310138',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:33:08'), +(57,'17 Kabul Boulevard','','Chiba',355,'38594','697760867968',0x000000000101000000EB257CA5E27C61406F70D86C9BED4140,'2014-09-25 22:31:51'), +(58,'1964 Allappuzha (Alleppey) Street','','Yamaguchi',227,'48980','920811325222',0x000000000101000000C2572A5E1B876040D19A7A38DC144140,'2014-09-25 22:31:47'), +(59,'1697 Kowloon and New Kowloon Loop','','Moskova',49,'57807','499352017190',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:47'), +(60,'1668 Saint Louis Place','','Tahiti',397,'39072','347487831378',0x0000000001010000006FF3C64921B262C0F8F47DDD8E8931C0,'2014-09-25 22:31:02'), +(61,'943 Tokat Street','','Vaduz',560,'45428','889318963672',0x0000000001010000007F784C93080B23400341800C1D924740,'2014-09-25 22:31:58'), +(62,'1114 Liepaja Street','','Sarawak',282,'69226','212869228936',0x000000000101000000047FAE6C55955B408285DDC199E9F83F,'2014-09-25 22:32:00'), +(63,'1213 Ranchi Parkway','','Karnataka',350,'94352','800024380485',0x000000000101000000000080279AD7C641AA21BB1CC0202B40,'2014-09-25 22:31:21'), +(64,'81 Hodeida Way','','Rajasthan',231,'55561','250767749542',0x0000000001010000000A09BDA36BF25240F8B138526CEB3A40,'2014-09-25 22:31:17'), +(65,'915 Ponce Place','','Basel-Stadt',56,'83980','1395251317',0x0000000001010000000D6146C2084B1E40E58B07A579C74740,'2014-09-25 22:33:12'), +(66,'1717 Guadalajara Lane','','Missouri',441,'85505','914090181665',0x000000000101000000A926D247AA8C56C0A456F3774A504340,'2014-09-25 22:33:59'), +(67,'1214 Hanoi Way','','Nebraska',306,'67055','491001136577',0x000000000101000000D6671888AF2A58C0C0E2152DE5684440,'2014-09-25 22:33:56'), +(68,'1966 Amroha Avenue','','Sichuan',139,'70385','333489324603',0x0000000001010000000A7778190FE05A402F6013E346373F40,'2014-09-25 22:30:32'), +(69,'698 Otsu Street','','Cayenne',105,'71110','409983924481',0x000000000101000000D879C0E1AA2A4AC0D57EC6E0BCBB1340,'2014-09-25 22:31:02'), +(70,'1150 Kimchon Manor','','Skne ln',321,'96109','663449333709',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:33:11'), +(71,'1586 Guaruj Place','','Hunan',579,'5135','947233365992',0x000000000101000000AD3A06BFE83F5C4083047B0217DA3B40,'2014-09-25 22:30:46'), +(72,'57 Arlington Manor','','Madhya Pradesh',475,'48960','990214419142',0x0000000001010000008E6D63FDB069534027D9EA724A6E3940,'2014-09-25 22:31:27'), +(73,'1031 Daugavpils Parkway','','Bchar',63,'59025','107137400143',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:29:59'), +(74,'1124 Buenaventura Drive','','Mekka',13,'6856','407733804223',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:59'), +(75,'492 Cam Ranh Street','','Eastern Visayas',61,'50805','565018274456',0x0000000001010000007500C45D3D335F40B90265AE675B2540,'2014-09-25 22:32:34'), +(76,'89 Allappuzha (Alleppey) Manor','','National Capital Reg',517,'75444','255800440636',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:39'), +(77,'1947 Poos de Caldas Boulevard','','Chiayi',114,'60951','427454485876',0x0000000001010000002F06C54524195E40B4475E8C37763740,'2014-09-25 22:33:14'), +(78,'1206 Dos Quebradas Place','','So Paulo',431,'20207','241832790687',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:21'), +(79,'1551 Rampur Lane','','Changhwa',108,'72394','251164340471',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:33:14'), +(80,'602 Paarl Street','','Pavlodar',402,'98889','896314772871',0x000000000101000000359078C34740534032D010E912234A40,'2014-09-25 22:31:55'), +(81,'1692 Ede Loop','','So Paulo',30,'9223','918711376618',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:16'), +(82,'936 Salzburg Lane','','Uttar Pradesh',425,'96709','875756771675',0x0000000001010000000C0EE5FAAD4F5440CBF8F71917383A40,'2014-09-25 22:31:24'), +(83,'586 Tete Way','','Kanagawa',256,'1079','18581624103',0x000000000101000000783B0CF79B716140E96D22E989A74140,'2014-09-25 22:31:48'), +(84,'1888 Kabul Drive','','Oyo & Osun',217,'20936','701457319790',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:24'), +(85,'320 Baiyin Parkway','','Mahajanga',319,'37307','223664661973',0x000000000101000000EAFD90C888284740CDC75AE8EF6E2FC0,'2014-09-25 22:31:59'), +(86,'927 Baha Blanca Parkway','','Krim',479,'9495','821972242086',0x000000000101000000417DCB9C2E0E4140BC29406F857A4640,'2014-09-25 22:33:33'), +(87,'929 Tallahassee Loop','','Gauteng',497,'74671','800716535041',0x000000000101000000647F8FB05E6B3C407F60D8ABD9403AC0,'2014-09-25 22:33:06'), +(88,'125 Citt del Vaticano Boulevard','','Puebla',40,'67912','48417642933',0x000000000101000000536232B0E99B58C03D0D18247DE83240,'2014-09-25 22:32:02'), +(89,'1557 Ktahya Boulevard','','England',88,'88002','720998247660',0x0000000001010000001B43A5B67908FCBF439D03159FE54A40,'2014-09-25 22:33:36'), +(90,'870 Ashqelon Loop','','Songkhla',489,'84931','135117278909',0x000000000101000000E82510C017265940115A6A1899CB1C40,'2014-09-25 22:33:20'), +(91,'1740 Portoviejo Avenue','','Sucre',480,'29932','198123170793',0x000000000101000000C4AD275F75D952C07A51BB5F059C2240,'2014-09-25 22:30:53'), +(92,'1942 Ciparay Parkway','','Cheju',113,'82624','978987363654',0x00000000010100000048F13B97F3A25F40358EA2186AB34040,'2014-09-25 22:33:06'), +(93,'1926 El Alto Avenue','','Buenos Aires',289,'75543','846225459260',0x000000000101000000AD05AC0B2EFA4CC0C5D0A057F27541C0,'2014-09-25 22:30:05'), +(94,'1952 Chatsworth Drive','','Guangdong',332,'25958','991562402283',0x000000000101000000A5F386A08F085D406DF65157885A3840,'2014-09-25 22:30:40'), +(95,'1370 Le Mans Avenue','','Brunei and Muara',53,'52163','345679835036',0x00000000010100000013E85D06ADBC5C402A0E5652DDC21340,'2014-09-25 22:30:23'), +(96,'984 Effon-Alaiye Avenue','','Gois',183,'17119','132986892228',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:17'), +(97,'832 Nakhon Sawan Manor','','Inner Mongolia',592,'49021','275595571388',0x000000000101000000535C55F6DDAD5E400000001D69FABC41,'2014-09-25 22:30:50'), +(98,'152 Kitwe Parkway','','Caraga',82,'53182','835433605312',0x000000000101000000DF652BD43F945F4006CAB788396E2040,'2014-09-25 22:32:35'), +(99,'1697 Tanauan Lane','','Punjab',399,'22870','4764773857',0x000000000101000000CA97063447E95240B933B852742A4040,'2014-09-25 22:31:22'), +(100,'1308 Arecibo Way','','Georgia',41,'30695','6171054059',0x000000000101000000FC00FFEF637E54C0BD9EF9E648BC4040,'2014-09-25 22:33:43'), +(101,'1599 Plock Drive','','Tete',534,'71986','817248913162',0x000000000101000000DC77561C18CB4040B443577D092830C0,'2014-09-25 22:32:18'), +(102,'669 Firozabad Loop','','Abu Dhabi',12,'92265','412903167998',0x0000000001010000009C76E73F5AE14B404AD05FE811313840,'2014-09-25 22:33:35'), +(103,'588 Vila Velha Manor','','Kyongsangbuk',268,'51540','333339908719',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:33:07'), +(104,'1913 Kamakura Place','','Lipetsk',238,'97287','942570536750',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:49'), +(105,'733 Mandaluyong Place','','Asir',2,'77459','196568435814',0x0000000001010000007823980FAD404540798FD89365373240,'2014-09-25 22:32:59'), +(106,'659 Vaduz Drive','','Ha Darom',34,'49708','709935135487',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:31:40'), +(107,'1177 Jelets Way','','Kwara & Kogi',220,'3305','484292626944',0x0000000001010000001767672CF53712407E3E25427E192140,'2014-09-25 22:32:24'), +(108,'1386 Yangor Avenue','','Provence-Alpes-Cte',543,'80720','449216226468',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:31:01'), +(109,'454 Nakhon Sawan Boulevard','','Funafuti',173,'76383','963887147572',0x0000000001010000005822ABB636666640FF74A84B6B0C21C0,'2014-09-25 22:33:31'), +(110,'1867 San Juan Bautista Tuxtepec Avenue','','Ivanovo',225,'78311','547003310357',0x000000000101000000BC6DF0CF567C4440E2B034F0A37F4C40,'2014-09-25 22:32:48'), +(111,'1532 Dzerzinsk Way','','Buenos Aires',334,'9599','330838016880',0x000000000101000000BF93BB74385D4DC0E207420D3A5541C0,'2014-09-25 22:30:06'), +(112,'1002 Ahmadnagar Manor','','Mxico',213,'93026','371490777743',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:07'), +(113,'682 Junan Way','','North West',273,'30418','622255216127',0x000000000101000000714683CAAEAA3A406AEDC73725DA3AC0,'2014-09-25 22:33:04'), +(114,'804 Elista Drive','','Hubei',159,'61069','379804592943',0x0000000001010000009E013FF4EE5E5B40E7E099D0245F3E40,'2014-09-25 22:30:33'), +(115,'1378 Alvorada Avenue','','Distrito Federal',102,'75834','272234298332',0x0000000001010000000C3444BA44B850C047B1378CDDF92440,'2014-09-25 22:34:03'), +(116,'793 Cam Ranh Avenue','','California',292,'87057','824370924746',0x00000000010100000003AF3B82C0885DC0610212A859594140,'2014-09-25 22:33:55'), +(117,'1079 Tel Aviv-Jaffa Boulevard','','Sucre',132,'10885','358178933857',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:34:04'), +(118,'442 Rae Bareli Place','','Nordrhein-Westfalen',148,'24321','886636413768',0x000000000101000000C19EC085860F1B40E37ED12F5BB74940,'2014-09-25 22:31:04'), +(119,'1107 Nakhon Sawan Avenue','','Mxico',365,'75149','867546627903',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:11'), +(120,'544 Malm Parkway','','Central Java',403,'63502','386759646229',0x0000000001010000003AEF5A9D77575B4026F103A106C51BC0,'2014-09-25 22:31:34'), +(121,'1967 Sincelejo Place','','Gujarat',176,'73644','577812616052',0x00000000010100000059912CBBBB2B52408DBC074378373740,'2014-09-25 22:31:16'), +(122,'333 Goinia Way','','Texas',185,'78625','909029256431',0x0000000001010000002AE67BA1DB3F58C0E46B2AE67B5F4040,'2014-09-25 22:33:51'), +(123,'1987 Coacalco de Berriozbal Loop','','al-Qalyubiya',476,'96065','787654415858',0x000000000101000000595AFC5C23403F40AFBA698E07203E40,'2014-09-25 22:30:58'), +(124,'241 Mosul Lane','','Risaralda',147,'76157','765345144779',0x000000000101000000983A23A5B4EA52C06155BDFC4E5B1340,'2014-09-25 22:30:52'), +(125,'211 Chiayi Drive','','Uttar Pradesh',164,'58186','665993880048',0x000000000101000000A44BA4D961C1534007F247AC20C73A40,'2014-09-25 22:31:15'), +(126,'1175 Tanauan Way','','Lima',305,'64615','937222955822',0x000000000101000000848A60D2CE4153C0E5417A8A1C1628C0,'2014-09-25 22:32:33'), +(127,'117 Boa Vista Way','','Uttar Pradesh',566,'6804','677976133614',0x00000000010100000085364AA8AAC0544086BAFE1312513940,'2014-09-25 22:31:29'), +(128,'848 Tafuna Manor','','Ktahya',281,'45142','614935229095',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:33:27'), +(129,'569 Baicheng Lane','','Gauteng',85,'60304','490211944645',0x000000000101000000D71E51FC73423C4048AE51C543363AC0,'2014-09-25 22:33:02'), +(130,'1666 Qomsheh Drive','','So Paulo',410,'66255','582835362905',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:20'), +(131,'801 Hagonoy Drive','','Smolensk',484,'8439','237426099212',0x0000000001010000001EB814A122054040BB8509FE12644B40,'2014-09-25 22:32:57'), +(132,'1050 Garden Grove Avenue','','Slaskie',236,'4999','973047364353',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:42'), +(133,'1854 Tieli Street','','Shandong',302,'15819','509492324775',0x0000000001010000007A820E0492FE5C408F0475255D3A4240,'2014-09-25 22:30:39'), +(134,'758 Junan Lane','','Gois',190,'82639','935448624185',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:18'), +(135,'1752 So Leopoldo Parkway','','Taka-Karpatia',345,'14014','252265130067',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:33:32'), +(136,'898 Belm Manor','','Free State',87,'49757','707169393853',0x000000000101000000ED4CFCAC8DB43A409EAC623B29453DC0,'2014-09-25 22:33:02'), +(137,'261 Saint Louis Way','','Coahuila de Zaragoza',541,'83401','321944036800',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:13'), +(138,'765 Southampton Drive','','al-Qalyubiya',421,'4285','23712411567',0x0000000001010000001BEB877DA7343F409FBC7E77E12D3E40,'2014-09-25 22:30:57'), +(139,'943 Johannesburg Avenue','','Maharashtra',417,'5892','90921003005',0x000000000101000000F27A3029BE7652405E2ADB2C03853240,'2014-09-25 22:31:24'), +(140,'788 Atinsk Street','','Karnataka',211,'81691','146497509724',0x0000000001010000000000801B1998C64157A945E977E62E40,'2014-09-25 22:31:17'), +(141,'1749 Daxian Place','','Gelderland',29,'11044','963369996279',0x000000000101000000E4CE96BDB6E0174000B0952B171C4A40,'2014-09-25 22:32:20'), +(142,'1587 Sullana Lane','','Inner Mongolia',207,'85769','468060467018',0x000000000101000000870CF505BEE95B407422669BC0674440,'2014-09-25 22:30:35'), +(143,'1029 Dzerzinsk Manor','','Ynlin',542,'57519','33173584456',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:33:16'), +(144,'1666 Beni-Mellal Place','','Tennessee',123,'13377','9099941466',0x00000000010100000005D1A45E01D755C084CCDFCECF434240,'2014-09-25 22:33:48'), +(145,'928 Jaffna Loop','','Hiroshima',172,'93762','581852137991',0x0000000001010000002F2988CBBBAB6040E2FF33EFDD3D4140,'2014-09-25 22:31:45'), +(146,'483 Ljubertsy Parkway','','Scotland',149,'60562','581174211853',0x000000000101000000C53E5CCD95CC07C0FAFD518A0C3C4C40,'2014-09-25 22:33:36'), +(147,'374 Bat Yam Boulevard','','Kilis',266,'97700','923261616249',0x000000000101000000184FF344C68E4240FD55DBA8A95B4240,'2014-09-25 22:33:26'), +(148,'1027 Songkhla Manor','','Minsk',340,'30861','563660187896',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:13'), +(149,'999 Sanaa Loop','','Gauteng',491,'3439','918032330119',0x0000000001010000000E0D309864193C40F234AA1D0F7939C0,'2014-09-25 22:33:05'), +(150,'879 Newcastle Way','','Michigan',499,'90732','206841104594',0x000000000101000000916A8E62EFC154C08244C99A474A4540,'2014-09-25 22:34:01'), +(151,'1337 Lincoln Parkway','','Saitama',555,'99457','597815221267',0x0000000001010000005E0E6036A6746140456227614BEE4140,'2014-09-25 22:31:55'), +(152,'1952 Pune Lane','','Saint-Denis',442,'92150','354615066969',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:46'), +(153,'782 Mosul Street','','Massachusetts',94,'25545','885899703621',0x000000000101000000E9C4D44C2DC151C0D1686105AE0A4540,'2014-09-25 22:33:46'), +(154,'781 Shimonoseki Drive','','Michoacn de Ocampo',202,'95444','632316273199',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:06'), +(155,'1560 Jelets Boulevard','','Shandong',291,'77777','189446090264',0x00000000010100000018D57D5B0B6A5D40ADDA3521AD184240,'2014-09-25 22:30:38'), +(156,'1963 Moscow Place','','Assam',354,'64863','761379480249',0x000000000101000000203BB9F04D2C57405D595826B2593A40,'2014-09-25 22:31:21'), +(157,'456 Escobar Way','','Jakarta Raya',232,'36061','719202533520',0x000000000101000000DDC2A9C516B65A4095CCFB49C6DB18C0,'2014-09-25 22:31:33'), +(158,'798 Cianjur Avenue','','Shanxi',590,'76990','499408708580',0x00000000010100000013D6C6D889BF5B409B4BBBE2F3824140,'2014-09-25 22:30:49'), +(159,'185 Novi Sad Place','','Bern',72,'41778','904253967161',0x00000000010100000000D0BC772FCA1D40377D2C335B794740,'2014-09-25 22:33:13'), +(160,'1367 Yantai Manor','','Ondo & Ekiti',381,'21294','889538496300',0x000000000101000000C25E72ED555514408A7A1C61ACAA1C40,'2014-09-25 22:32:26'), +(161,'1386 Nakhon Sawan Boulevard','','Pyongyang-si',420,'53502','368899174225',0x000000000101000000F4BA8FED46705F40A55F6C6B55844340,'2014-09-25 22:32:28'), +(162,'369 Papeete Way','','North Carolina',187,'66639','170117068815',0x000000000101000000C49D66DCAFF253C07A2D324B4C094240,'2014-09-25 22:33:52'), +(163,'1440 Compton Place','','North Austria',307,'81037','931059836497',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:10'), +(164,'1623 Baha Blanca Manor','','Moskova',310,'81511','149981248346',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:54'), +(165,'97 Shimoga Avenue','','Tel Aviv',533,'44660','177167004331',0x0000000001010000009A56AFC7E96341403192E2885A0A4040,'2014-09-25 22:31:41'), +(166,'1740 Le Mans Loop','','Pays de la Loire',297,'22853','168476538960',0x000000000101000000452A8C2D04B9D23F0000006AB82DBD41,'2014-09-25 22:31:01'), +(167,'1287 Xiangfan Boulevard','','Gifu',253,'57844','819416131190',0x0000000001010000006AE514D3BB1B61408141D2A755B54140,'2014-09-25 22:31:48'), +(168,'842 Salzburg Lane','','Adana',529,'3313','697151428760',0x0000000001010000007207A0072DD5414093228D6555A64240,'2014-09-25 22:33:29'), +(169,'154 Tallahassee Loop','','Xinxiang',199,'62250','935508855935',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:34'), +(170,'710 San Felipe del Progreso Avenue','','Lilongwe',304,'76901','843801144113',0x00000000010100000089C855D1C4E44040501D064E11EF2BC0,'2014-09-25 22:31:59'), +(171,'1540 Wroclaw Drive','','Maharashtra',107,'62686','182363341674',0x0000000001010000004E10D0D8F2D253407CFB294476F23340,'2014-09-25 22:31:14'), +(172,'475 Atinsk Way','','Gansu',240,'59571','201705577290',0x0000000001010000007872970E678C59405544978114404340,'2014-09-25 22:30:36'), +(173,'1294 Firozabad Drive','','Jiangxi',407,'70618','161801569569',0x000000000101000000EED7F8A7AF775C402332079C00943B40,'2014-09-25 22:30:40'), +(174,'1877 Ezhou Lane','','Rajasthan',550,'63337','264541743403',0x00000000010100000029722DFF466C52401969F34938923840,'2014-09-25 22:31:28'), +(175,'316 Uruapan Street','','Perak',223,'58194','275788967899',0x0000000001010000005A3629BB4F4559400AC5B18927561240,'2014-09-25 22:31:59'), +(176,'29 Pyongyang Loop','','Batman',58,'47753','734780743462',0x0000000001010000001C430070EC9044403C8963B895F14240,'2014-09-25 22:33:23'), +(177,'1010 Klerksdorp Way','','Steiermark',186,'6802','493008546874',0x000000000101000000CFEE35A90DE72E409C0425BB88884740,'2014-09-25 22:30:10'), +(178,'1848 Salala Boulevard','','Miranda',373,'25220','48265851133',0x0000000001010000006D08E984ABB150C02F90FBB1A43B2440,'2014-09-25 22:34:04'), +(179,'431 Xiangtan Avenue','','Kerala',18,'4854','230250973122',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:31:10'), +(180,'757 Rustenburg Avenue','','Skikda',483,'89668','506134035434',0x000000000101000000BFD76BD509A31B4063867C8626704240,'2014-09-25 22:30:01'), +(181,'146 Johannesburg Way','','Tamaulipas',330,'54132','953689007081',0x0000000001010000003C45B357446058C0EAD621ED35E13940,'2014-09-25 22:32:09'), +(182,'1891 Rizhao Boulevard','','So Paulo',456,'47288','391065549876',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:21'), +(183,'1089 Iwatsuki Avenue','','Kirov',270,'35109','866092335135',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:50'), +(184,'1410 Benin City Parkway','','Risaralda',405,'29747','104150372603',0x0000000001010000007C4F9B278DEC52C0795BE9B5D9401340,'2014-09-25 22:30:52'), +(185,'682 Garden Grove Place','','Tennessee',333,'67497','72136330362',0x0000000001010000004204C188228356C06B4F24F323934140,'2014-09-25 22:33:57'), +(186,'533 al-Ayn Boulevard','','California',126,'8862','662227486184',0x000000000101000000BF2264C5158E5DC08533AE6EABF24040,'2014-09-25 22:33:48'), +(187,'1839 Szkesfehrvr Parkway','','Gois',317,'55709','947468818183',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:20'), +(188,'741 Ambattur Manor','','Noord-Brabant',438,'43310','302590383819',0x000000000101000000699E6D7F78371540EF0D74A37ED94940,'2014-09-25 22:32:21'), +(189,'927 Barcelona Street','','Chaharmahal va Bakht',467,'65121','951486492670',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:31:38'), +(190,'435 0 Way','','West Bengali',195,'74750','760171523969',0x000000000101000000D9846A3906075640037168DB7A0F3640,'2014-09-25 22:31:16'), +(191,'140 Chiayi Parkway','','Sumy',506,'38982','855863906434',0x0000000001010000002C43C1317066414051BB5F05F8754940,'2014-09-25 22:33:34'), +(192,'1166 Changhwa Street','','Caraga',62,'58852','650752094490',0x0000000001010000009DB756201F715F40F53E9F1221832140,'2014-09-25 22:32:34'), +(193,'891 Novi Sad Manor','','Ontario',383,'5379','247646995453',0x0000000001010000005E49F25C5FB653C0DE6AE74537F34540,'2014-09-25 22:30:28'), +(194,'605 Rio Claro Parkway','','Tabora',513,'49348','352469351088',0x0000000001010000004E8B0B51CF694040DF67017F9D1014C0,'2014-09-25 22:33:18'), +(195,'1077 San Felipe de Puerto Plata Place','','Rostov-na-Donu',369,'65387','812824036424',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:56'), +(196,'9 San Miguel de Tucumn Manor','','Uttar Pradesh',169,'90845','956188728558',0x00000000010100000067DBC424B7995340A461E75C40263B40,'2014-09-25 22:31:15'), +(197,'447 Surakarta Loop','','Nyanza',271,'10428','940830176580',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:31:56'), +(198,'345 Oshawa Boulevard','','Tokyo-to',204,'32114','104491201771',0x000000000101000000FB5E9E29CF6C61404BFCF61A27D64140,'2014-09-25 22:31:45'), +(199,'1792 Valle de la Pascua Place','','Nordrhein-Westfalen',477,'15540','419419591240',0x000000000101000000E9BD8CBD720C204056725F18FA6F4940,'2014-09-25 22:31:06'), +(200,'1074 Binzhou Manor','','Baden-Wrttemberg',325,'36490','331132568928',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:31:05'), +(201,'817 Bradford Loop','','Jiangsu',109,'89459','264286442804',0x000000000101000000C3E1BB830EFD5D4006B243A10AC63F40,'2014-09-25 22:30:31'), +(202,'955 Bamenda Way','','Ondo & Ekiti',218,'1545','768481779568',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:24'), +(203,'1149 A Corua (La Corua) Boulevard','','Haiphong',194,'95824','470884141195',0x0000000001010000007573F1B7BDAB5A4050A0997164DD3440,'2014-09-25 22:34:06'), +(204,'387 Mwene-Ditu Drive','','Ahal',35,'8073','764477681869',0x000000000101000000B0253F3D11314D40A538A2D68FFA4240,'2014-09-25 22:33:30'), +(205,'68 Molodetno Manor','','Nordrhein-Westfalen',575,'4662','146640639760',0x000000000101000000EEF3739E0C691D40FE486CD2C8B84940,'2014-09-25 22:31:06'), +(206,'642 Nador Drive','','Maharashtra',77,'3924','369050085652',0x000000000101000000559D7A4908F25240E010AAD4EC0B3540,'2014-09-25 22:31:13'), +(207,'1688 Nador Lane','','Sulawesi Utara',184,'61613','652218196731',0x000000000101000000E358727044945E4093F139C148B9E83F,'2014-09-25 22:31:32'), +(208,'1215 Pyongyang Parkway','','Usak',557,'25238','646237101779',0x000000000101000000019E59B7E6673D40735E08DE35564340,'2014-09-25 22:33:30'), +(209,'1679 Antofagasta Street','','Alto Paran',122,'86599','905903574913',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:32'), +(210,'1304 s-Hertogenbosch Way','','Santa Catarina',83,'10925','90336226227',0x000000000101000000BDEAB765768848C05755D40561EB3AC0,'2014-09-25 22:30:16'), +(211,'850 Salala Loop','','Kitaa',371,'10800','403404780639',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:31:07'), +(212,'624 Oshawa Boulevard','','West Bengali',51,'89959','49677664184',0x0000000001010000000FBCB5A7BF315640EA7CD34F93383940,'2014-09-25 22:31:11'), +(213,'43 Dadu Avenue','','Rajasthan',74,'4855','95666951770',0x000000000101000000BCF957A0A7A852404046E5CBB0583940,'2014-09-25 22:31:12'), +(214,'751 Lima Loop','','Aden',7,'99405','756460337785',0x0000000001010000005ECF21BAB1844640A9007388138F2940,'2014-09-25 22:34:08'), +(215,'1333 Haldia Street','','Jilin',174,'82161','408304391718',0x00000000010100000007A51E5844345F404CE71E6D77974640,'2014-09-25 22:30:33'), +(216,'660 Jedda Boulevard','','Washington',65,'25053','168758068397',0x00000000010100000009EEF60FD88C5EC03C331C2A21CE4740,'2014-09-25 22:33:45'), +(217,'1001 Miyakonojo Lane','','Taizz',518,'67924','584316724815',0x0000000001010000006642DD51AD024640782C1103B8282B40,'2014-09-25 22:34:11'), +(218,'226 Brest Manor','','California',508,'2299','785881412500',0x000000000101000000CF9F36AA53825EC0B54D96FF35AF4240,'2014-09-25 22:34:02'), +(219,'1229 Valencia Parkway','','Haskovo',498,'99124','352679173732',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:24'), +(220,'1201 Qomsheh Manor','','Gois',28,'21464','873492228462',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:15'), +(221,'866 Shivapuri Manor','','Uttar Pradesh',448,'22474','778502731092',0x000000000101000000940BDF0C48A4534072648ADE4E953C40,'2014-09-25 22:31:26'), +(222,'1168 Najafabad Parkway','','Kabol',251,'40301','886649065861',0x0000000001010000009173AC9C074B51408EBDCDD199434140,'2014-09-25 22:29:59'), +(223,'1244 Allappuzha (Alleppey) Place','','Buenos Aires',567,'20657','991802825778',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:08'), +(224,'1842 Luzinia Boulevard','','Zanzibar West',593,'94420','706878974831',0x00000000010100000045E169E855994340B62C5F97E1A718C0,'2014-09-25 22:33:19'), +(225,'1926 Gingoog Street','','Sisilia',511,'22824','469738825391',0x0000000001010000004DD9E907758D2E40719AF4ADC58A4240,'2014-09-25 22:31:44'), +(226,'810 Palghat (Palakkad) Boulevard','','Jaroslavl',235,'73431','516331171356',0x00000000010100000069D48DC1D4EF43400294D0A79FD04C40,'2014-09-25 22:32:49'), +(227,'1820 Maring Parkway','','Punjab',324,'88307','99760893676',0x0000000001010000001E053EF5FE5E52406C617193AC4A4040,'2014-09-25 22:32:30'), +(228,'60 Poos de Caldas Street','','Rajasthan',243,'82338','963063788669',0x00000000010100000069EED7536140524079605B9AB6443A40,'2014-09-25 22:31:18'), +(229,'1014 Loja Manor','','Tamil Nadu',22,'66851','460795526514',0x000000000101000000803E366E560A5440A1212DDF44322A40,'2014-09-25 22:31:10'), +(230,'201 Effon-Alaiye Way','','Asuncin',37,'64344','684192903087',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:31'), +(231,'430 Alessandria Loop','','Saarland',439,'47446','669828224459',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:31:06'), +(232,'754 Valencia Place','','Phnom Penh',406,'87911','594319417514',0x0000000001010000009093D3E89F3A5A40AACCDE63FA1F2740,'2014-09-25 22:30:25'), +(233,'356 Olomouc Manor','','Gois',26,'93323','22326410776',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:15'), +(234,'1256 Bislig Boulevard','','Botosani',86,'50598','479007229460',0x00000000010100000085059C4AABAA3A408DAC46C032E04740,'2014-09-25 22:32:46'), +(235,'954 Kimchon Place','','West Bengali',559,'42420','541327526474',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:31:28'), +(236,'885 Yingkou Manor','','Kaduna',596,'31390','588964509072',0x00000000010100000006CF296D16E41E4038E3EAB6FA382640,'2014-09-25 22:32:28'), +(237,'1736 Cavite Place','','Qina',216,'98775','431770603551',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:56'), +(238,'346 Skikda Parkway','','Hawalli',233,'90628','630424482919',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:31:57'), +(239,'98 Stara Zagora Boulevard','','Valle',96,'76448','610173756082',0x00000000010100000084CD4AA4FE4153C0DB9953138E0A0F40,'2014-09-25 22:30:51'), +(240,'1479 Rustenburg Boulevard','','Southern Tagalog',527,'18727','727785483194',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:40'), +(241,'647 A Corua (La Corua) Street','','Chollanam',357,'36971','792557457753',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:33:07'), +(242,'1964 Gijn Manor','','Karnataka',473,'14408','918119601885',0x000000000101000000BBC3DCA458E45240DA4246F6F7DC2B40,'2014-09-25 22:31:26'), +(243,'47 Syktyvkar Lane','','West Java',118,'22236','63937119031',0x000000000101000000EDABBC2E8DB05A40C3C1397E037E1AC0,'2014-09-25 22:31:31'), +(244,'1148 Saarbrcken Parkway','','Fukushima',226,'1921','137773001988',0x000000000101000000AD8ACB4C449C614053F8229001874240,'2014-09-25 22:31:47'), +(245,'1103 Bilbays Parkway','','Hubei',578,'87660','279979529227',0x000000000101000000A76ED34444095C401234C1CB67054040,'2014-09-25 22:30:45'), +(246,'1246 Boksburg Parkway','','Hebei',422,'28349','890283544295',0x000000000101000000B66A323EA7E55D40E508BE0E41F74340,'2014-09-25 22:30:41'), +(247,'1483 Pathankot Street','','Tucumn',454,'37288','686015532180',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:06'), +(248,'582 Papeete Loop','','Central Visayas',294,'27722','569868543137',0x0000000001010000001F189BB1C3FC5E407DC4F9E5DD9E2440,'2014-09-25 22:32:38'), +(249,'300 Junan Street','','Kyonggi',553,'81314','890289150158',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:33:08'), +(250,'829 Grand Prairie Way','','Paran',328,'6461','741070712873',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:20'), +(251,'1473 Changhwa Parkway','','Mxico',124,'75933','266798132374',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:03'), +(252,'1309 Weifang Street','','Florida',520,'57338','435785045362',0x000000000101000000EC0CF8A1F71155C0995A006432703E40,'2014-09-25 22:34:02'), +(253,'1760 Oshawa Manor','','Tianjin',535,'38140','56257502250',0x000000000101000000FBBD5EAB4E4B5D40EB0A6C8434924340,'2014-09-25 22:30:43'), +(254,'786 Stara Zagora Way','','Oyo & Osun',390,'98332','716256596301',0x000000000101000000DB45E22F77770F4073C8BC44AB691F40,'2014-09-25 22:32:27'), +(255,'1966 Tonghae Street','','Anhalt Sachsen',198,'36481','567359279425',0x0000000001010000000000009825D59D41450A0A2879C84940,'2014-09-25 22:31:05'), +(256,'1497 Yuzhou Drive','','England',312,'3433','246810237916',0x000000000101000000CC4642B68718C0BFCA822E8617C14940,'2014-09-25 22:33:37'), +(258,'752 Ondo Loop','','Miyazaki',338,'32474','134673576619',0x00000000010100000048AD8B36226260408871EDFABBBB3F40,'2014-09-25 22:31:50'), +(259,'1338 Zalantun Lane','','Minas Gerais',413,'45403','840522972766',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:21'), +(260,'127 Iwakuni Boulevard','','Central Luzon',192,'20777','987442542471',0x0000000001010000000E6954E0E42E5E40AF05627E13AB2D40,'2014-09-25 22:32:37'), +(261,'51 Laredo Avenue','','Sagaing',342,'68146','884536620568',0x0000000001010000008720BD97B1C85740D4D7F335CB1B3640,'2014-09-25 22:32:18'), +(262,'771 Yaound Manor','','Sofala',64,'86768','245477603573',0x000000000101000000103345CA606B414046CB2665F7D733C0,'2014-09-25 22:32:17'), +(263,'532 Toulon Street','','Santiago',460,'69517','46871694740',0x000000000101000000ECD33B269CAC51C09AB67F65A5733340,'2014-09-25 22:30:55'), +(264,'1027 Banjul Place','','West Bengali',197,'50390','538241037443',0x000000000101000000FE14223BCA1A5640AC6F6072A3EE3640,'2014-09-25 22:31:16'), +(265,'1158 Mandi Bahauddin Parkway','','Shanxi',136,'98484','276555730211',0x000000000101000000ECC84741A6525C40A93C7084FB0B4440,'2014-09-25 22:30:32'), +(266,'862 Xintai Lane','','Cagayan Valley',548,'30065','265153400632',0x00000000010100000015580053866E5E408A5CCBBFF19C3140,'2014-09-25 22:32:41'), +(267,'816 Cayenne Parkway','','Manab',414,'93629','282874611748',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:56'), +(268,'1831 Nam Dinh Loop','','National Capital Reg',323,'51990','322888976727',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:38'), +(269,'446 Kirovo-Tepetsk Lane','','Osaka',203,'19428','303967439816',0x0000000001010000008D94D2D8C3F36040608CED5AE7554140,'2014-09-25 22:31:45'), +(270,'682 Halisahar Place','','Severn Morava',378,'20536','475553436330',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:54'), +(271,'1587 Loja Manor','','Salzburg',447,'5410','621625204422',0x0000000001010000002C83C53C86162A405886DD1C53E64740,'2014-09-25 22:30:10'), +(272,'1762 Paarl Parkway','','Hunan',298,'53928','192459639410',0x00000000010100000067333D177CDB5B40DBA8A9C024B03B40,'2014-09-25 22:30:39'), +(273,'1519 Ilorin Place','','Kerala',395,'49298','357445645426',0x0000000001010000000C4FF921002A5340BD772F52838C2540,'2014-09-25 22:31:21'), +(274,'920 Kumbakonam Loop','','California',446,'75090','685010736240',0x00000000010100000012EF4ADCF4695EC01B95E535C0564240,'2014-09-25 22:34:00'), +(275,'906 Goinia Way','','Wielkopolskie',255,'83565','701767622697',0x0000000001010000007FA2B2614D1732404064366D6BE14940,'2014-09-25 22:32:42'), +(276,'1675 Xiangfan Manor','','Tamil Nadu',283,'11763','271149517630',0x00000000010100000042B687180AD95340EE4108C897EC2540,'2014-09-25 22:31:20'), +(277,'85 San Felipe de Puerto Plata Drive','','Shandong',584,'46063','170739645687',0x000000000101000000EA605859365C5E40EF1010DDFDBC4240,'2014-09-25 22:30:48'), +(278,'144 South Hill Loop','','Guanajuato',445,'2012','45387294817',0x0000000001010000002B84D558424C59C0699B2CFF6B923440,'2014-09-25 22:32:11'), +(279,'1884 Shikarpur Avenue','','Haryana',263,'85548','959949395183',0x0000000001010000002CE395DA413F5340EB460EC7A9B03D40,'2014-09-25 22:31:19'), +(280,'1980 Kamjanets-Podilskyi Street','','Illinois',404,'89502','874337098891',0x000000000101000000167CE420B26556C0B7966EB7C9584440,'2014-09-25 22:33:57'), +(281,'1944 Bamenda Way','','Michigan',573,'24645','75975221996',0x000000000101000000B8B64B76C7C154C0EF254344203D4540,'2014-09-25 22:34:03'), +(282,'556 Baybay Manor','','Oyo & Osun',374,'55802','363982224739',0x000000000101000000F5C6FFD3C30E1140FC30E7BE41502040,'2014-09-25 22:32:25'), +(283,'457 Tongliao Loop','','Bursa',222,'56254','880756161823',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:33:25'), +(284,'600 Bradford Street','','East Azerbaidzan',514,'96204','117592274996',0x000000000101000000EE4E2D115E25474044FF5FD09D0A4340,'2014-09-25 22:31:40'), +(285,'1006 Santa Brbara dOeste Manor','','Ondo & Ekiti',389,'36229','85059738746',0x000000000101000000FBC67CE5E6581640531A7B40EAC81C40,'2014-09-25 22:32:26'), +(286,'1308 Sumy Loop','','Fujian',175,'30657','583021225407',0x000000000101000000DC7AF25597D35D409617AAACB70F3A40,'2014-09-25 22:30:34'), +(287,'1405 Chisinau Place','','Ponce',411,'8160','62781725285',0x000000000101000000974341DF4CA750C03F219628D6023240,'2014-09-25 22:32:45'), +(288,'226 Halifax Street','','Xinxiang',277,'58492','790651020929',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:38'), +(289,'1279 Udine Parkway','','Edo & Delta',69,'75860','195003555232',0x000000000101000000FFB7EDD68D8216408FF4B3A217571940,'2014-09-25 22:32:23'), +(290,'1336 Benin City Drive','','Shiga',386,'46044','341242939532',0x000000000101000000D5810761C9FB60401B07A8BA91804140,'2014-09-25 22:31:53'), +(291,'1155 Liaocheng Place','','Oyo & Osun',152,'22650','558236142492',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:23'), +(292,'1993 Tabuk Lane','','Tamil Nadu',522,'64221','648482415405',0x0000000001010000002AF3A0EA210854407F94C78965D92940,'2014-09-25 22:31:27'), +(293,'86 Higashiosaka Lane','','Guanajuato',563,'33768','957128697225',0x0000000001010000002DAF5C6F1B4C59C07F34F7EBA9643440,'2014-09-25 22:32:14'), +(294,'1912 Allende Manor','','Kowloon and New Kowl',279,'58124','172262454487',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:31:09'), +(295,'544 Tarsus Boulevard','','Gurico',562,'53145','892523334',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:34:05'), +(296,'1936 Cuman Avenue','','Virginia',433,'61195','976798660411',0x000000000101000000FD7B3A6840FC53C065F4ED6EAFA24240,'2014-09-25 22:33:58'), +(297,'1192 Tongliao Street','','Sharja',470,'19065','350970907017',0x000000000101000000AA27F38FBEB44B4053E68B625E563940,'2014-09-25 22:33:35'), +(298,'44 Najafabad Way','','Baskimaa',146,'61391','96604821070',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:33:08'), +(299,'32 Pudukkottai Lane','','Ohio',140,'38834','967274728547',0x000000000101000000077AA86D430C55C0409C2C5A25E14340,'2014-09-25 22:33:49'), +(300,'661 Chisinau Lane','','Pietari',274,'8856','816436065431',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:51'), +(301,'951 Stara Zagora Manor','','Punjab',400,'98573','429925609431',0x0000000001010000001E296C50C51953405651723DC0533E40,'2014-09-25 22:31:22'), +(302,'922 Vila Velha Loop','','Maharashtra',9,'4085','510737228015',0x000000000101000000738F5B8242AF5240612129D835183340,'2014-09-25 22:31:10'), +(303,'898 Jining Lane','','Pohjois-Pohjanmaa',387,'40070','161643343536',0x0000000001010000003DFB80F6D9773940C8D0B183CA405040,'2014-09-25 22:31:00'), +(304,'1635 Kuwana Boulevard','','Hiroshima',205,'52137','710603868323',0x000000000101000000AA944330B38E6040247035FCB8324140,'2014-09-25 22:31:46'), +(305,'41 El Alto Parkway','','Maharashtra',398,'56883','51917807050',0x000000000101000000D487E41A55315340BC3088FEBF443340,'2014-09-25 22:31:22'), +(306,'1883 Maikop Lane','','Kaliningrad',254,'68469','96110042435',0x00000000010100000020DF94A8CD82344015D918856E5A4B40,'2014-09-25 22:32:50'), +(307,'1908 Gaziantep Place','','Liaoning',536,'58979','108053751300',0x0000000001010000004DAA6C0EC6E65E408E9F7C30DF344540,'2014-09-25 22:30:43'), +(308,'687 Alessandria Parkway','','Sanaa',455,'57587','407218522294',0x0000000001010000000C60257A741A4640854A123A9EB52E40,'2014-09-25 22:34:10'), +(309,'827 Yuncheng Drive','','Callao',99,'79047','504434452842',0x000000000101000000C2514DA48F4753C0271CD544FA1C28C0,'2014-09-25 22:32:32'), +(310,'913 Coacalco de Berriozbal Loop','','Texas',33,'42141','262088367001',0x00000000010100000023371EC7EA4658C0A86851442B5E4040,'2014-09-25 22:33:43'), +(311,'715 So Bernardo do Campo Lane','','Kedah',507,'84804','181179321332',0x000000000101000000D8DBC1E3361F5940520DFB3DB1961640,'2014-09-25 22:32:00'), +(312,'1354 Siegen Street','','Rio de Janeiro',25,'80184','573441801529',0x0000000001010000009146054EB62846C0FCA0D398B50137C0,'2014-09-25 22:30:15'), +(313,'1191 Sungai Petani Boulevard','','Missouri',262,'9668','983259819766',0x00000000010100000055890D7107A557C0CB7564F6C38C4340,'2014-09-25 22:33:54'), +(314,'1224 Huejutla de Reyes Boulevard','','Lombardia',91,'70923','806016930576',0x000000000101000000D85B6F40F06D24405EEE38EA8DC44640,'2014-09-25 22:31:43'), +(315,'543 Bergamo Avenue','','Minas Gerais',215,'59686','103602195112',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:18'), +(316,'746 Joliet Lane','','Kursk',286,'94878','688485191923',0x00000000010100000085949F54FB174240E0DCBAF660DE4940,'2014-09-25 22:32:52'), +(317,'780 Kimberley Way','','Tabuk',515,'17032','824396883951',0x0000000001010000001BD47E6B274942408B53AD8559663C40,'2014-09-25 22:33:00'), +(318,'1774 Yaound Place','','Hubei',166,'91400','613124286867',0x0000000001010000002A00C633E8B15C404C63C5BA027D3E40,'2014-09-25 22:30:33'), +(319,'1957 Yantai Lane','','So Paulo',490,'59255','704948322302',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:22'), +(320,'1542 Lubumbashi Boulevard','','Tel Aviv',57,'62472','508800331065',0x000000000101000000765F84DF3C6041403CAB60AF0B034040,'2014-09-25 22:31:41'), +(321,'651 Pathankot Loop','','Maharashtra',336,'59811','139378397418',0x0000000001010000002198FE8062A952408AC168FBFCD23040,'2014-09-25 22:31:20'), +(322,'1359 Zhoushan Parkway','','Streymoyar',545,'29763','46568045367',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:59'), +(323,'1769 Iwaki Lane','','Kujawsko-Pomorskie',97,'25787','556100547674',0x000000000101000000487B7203F4013240837EF0EBD18F4A40,'2014-09-25 22:32:41'), +(324,'1145 Vilnius Manor','','Mxico',451,'73170','674805712553',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:12'), +(325,'1892 Nabereznyje Telny Lane','','Tutuila',516,'28396','478229987054',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:02'), +(326,'470 Boksburg Street','','Central',81,'97960','908029859266',0x000000000101000000DAE78C83263855405BE21291AB023B40,'2014-09-25 22:32:19'), +(327,'1427 A Corua (La Corua) Place','','Buenos Aires',45,'85799','972574862516',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:04'), +(328,'479 San Felipe del Progreso Avenue','','Morelos',130,'54949','869051782691',0x000000000101000000C87E710484BC58C039FD8F02FACD3240,'2014-09-25 22:32:04'), +(329,'867 Benin City Avenue','','Henan',591,'78543','168884817145',0x000000000101000000A0F2F972B05D5C405D68531AD6144140,'2014-09-25 22:30:50'), +(330,'981 Kumbakonam Place','','Distrito Federal',89,'87611','829116184079',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:17'), +(331,'1016 Iwakuni Street','','St George',269,'49833','961370847344',0x000000000101000000A1DC11A9C49C4EC0D11B936A44512A40,'2014-09-25 22:32:59'), +(332,'663 Baha Blanca Parkway','','Adana',5,'33463','834418779292',0x000000000101000000BE72182719AA4140CCD1E3F736804240,'2014-09-25 22:33:22'), +(333,'1860 Taguig Loop','','West Java',119,'59550','38158430589',0x00000000010100000042ACA34FD0E55A40D698C6E52ED81BC0,'2014-09-25 22:31:32'), +(334,'1816 Bydgoszcz Loop','','Dhaka',234,'64308','965273813662',0x000000000101000000A717C627AE7C564080BD1D3C6EEB3840,'2014-09-25 22:30:12'), +(335,'587 Benguela Manor','','Illinois',42,'91590','165450987037',0x00000000010100000097CEE2207C1456C0DDEFABCD5AE14440,'2014-09-25 22:33:44'), +(336,'430 Kumbakonam Drive','','Santa F',457,'28814','105470691550',0x00000000010100000004C1882249304DC055DF54FF7B4E41C0,'2014-09-25 22:30:07'), +(337,'1838 Tabriz Lane','','Dhaka',143,'1195','38988715447',0x0000000001010000001A5D948F139A5640C4D21B49DDB53740,'2014-09-25 22:30:12'), +(338,'431 Szkesfehrvr Avenue','','Baki',48,'57828','119501405123',0x000000000101000000A77686A92DF248400FAECACF57304440,'2014-09-25 22:30:11'), +(339,'503 Sogamoso Loop','','Sumqayit',505,'49812','834626715837',0x0000000001010000006C83C94395D548402C8EB9217C4B4440,'2014-09-25 22:30:11'), +(340,'507 Smolensk Loop','','Sousse',492,'22971','80303246192',0x000000000101000000298EA8F52346254075DA649EA6E94140,'2014-09-25 22:33:21'), +(341,'1920 Weifang Avenue','','Uttar Pradesh',427,'15643','869507847714',0x0000000001010000001F3EFA70DAC153407410CF6D1DCF3C40,'2014-09-25 22:31:25'), +(342,'124 al-Manama Way','','Hiroshima',382,'52368','647899404952',0x0000000001010000004BE07B244AA760407B0ED18D55354140,'2014-09-25 22:31:52'), +(343,'1443 Mardan Street','','Western Cape',392,'31483','231383037471',0x000000000101000000FB6074D42CF73240B0B03B3833DA40C0,'2014-09-25 22:33:05'), +(344,'1909 Benguela Lane','','Henan',581,'19913','624138001031',0x000000000101000000F4AD6AA480775C4066EB2AEE89A74140,'2014-09-25 22:30:47'), +(345,'68 Ponce Parkway','','Hanoi',201,'85926','870635127812',0x0000000001010000005DF525C0D5755A4000F61B3746063540,'2014-09-25 22:34:06'), +(346,'1217 Konotop Avenue','','Gelderland',151,'504','718917251754',0x000000000101000000F438679F22A2164019B4EB3944044A40,'2014-09-25 22:32:20'), +(347,'1293 Nam Dinh Way','','Roraima',84,'71583','697656479977',0x0000000001010000008EE6C8CA2F564EC0D9C23DE0CB8E0640,'2014-09-25 22:30:17'), +(348,'785 Vaduz Street','','Baja California',335,'36170','895616862749',0x0000000001010000000D61EB0816DD5CC07DB328475C504040,'2014-09-25 22:32:10'), +(349,'1516 Escobar Drive','','Tongatapu',370,'46069','64536069371',0x0000000001010000009132987575E665C0BE11DDB3AE2335C0,'2014-09-25 22:33:20'), +(350,'1628 Nagareyama Lane','','Central',453,'60079','20064292617',0x00000000010100000019A5F04520C14CC029006B7AF55639C0,'2014-09-25 22:32:32'), +(351,'1157 Nyeri Loop','','Adygea',320,'56380','262744791493',0x000000000101000000AC91B8228C0D4440EBD10AC2CB4D4640,'2014-09-25 22:32:55'), +(352,'1673 Tangail Drive','','Daugavpils',137,'26857','627924259271',0x0000000001010000004377A45588883A40E580B80611F14B40,'2014-09-25 22:31:57'), +(353,'381 Kabul Way','','Taipei',209,'87272','55477302294',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:33:15'), +(354,'953 Hodeida Street','','Southern Tagalog',221,'18841','53912826864',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:37'), +(355,'469 Nakhon Sawan Street','','Tuvassia',531,'58866','689199636560',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:58'), +(356,'1378 Beira Loop','','Krasnojarsk',597,'40792','840957664136',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:58'), +(357,'1641 Changhwa Place','','Nord-Ouest',52,'37636','256546485220',0x000000000101000000103B53E8BC4A2440A4C0A7DEBFD61740,'2014-09-25 22:30:25'), +(358,'1698 Southport Loop','','Hidalgo',393,'49009','754358349853',0x0000000001010000007AB82E46EEAE58C03DED951EF21D3440,'2014-09-25 22:32:11'), +(359,'519 Nyeri Manor','','So Paulo',461,'37650','764680915323',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:21'), +(360,'619 Hunuco Avenue','','Shimane',331,'81508','142596392389',0x000000000101000000A09ADC399EA160405B1D4AFE71BC4140,'2014-09-25 22:31:50'), +(361,'45 Aparecida de Goinia Place','','Madhya Pradesh',464,'7431','650496654258',0x0000000001010000009E0CE94BCA345440C9FDB38B0E953840,'2014-09-25 22:31:26'), +(362,'482 Kowloon and New Kowloon Manor','','Bratislava',90,'97056','738968474939',0x00000000010100000070DC18F1531B3140BDB90908F7124840,'2014-09-25 22:33:02'), +(363,'604 Bern Place','','Jharkhand',429,'5373','620719383725',0x000000000101000000799F9916AB55554037CC86EB07593740,'2014-09-25 22:31:25'), +(364,'1623 Kingstown Drive','','Buenos Aires',20,'91299','296394569728',0x000000000101000000791563AAAA2A4DC0E4839ECDAA6A41C0,'2014-09-25 22:30:04'), +(365,'1009 Zanzibar Lane','','Arecibo',32,'64875','102396298916',0x000000000101000000FBBD5EABCEAD50C0E9787187F2783240,'2014-09-25 22:32:45'), +(366,'114 Jalib al-Shuyukh Manor','','Centre',585,'60440','845378657301',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:25'), +(367,'1163 London Parkway','','Par',66,'6066','675120358494',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:16'), +(368,'1658 Jastrzebie-Zdrj Loop','','Central',372,'96584','568367775448',0x0000000001010000002B73A900CEEF4240660811BA956FB9BF,'2014-09-25 22:31:56'), +(369,'817 Laredo Avenue','','Jalisco',188,'77449','151249681135',0x000000000101000000F00BF9B113D959C03E4EE2BDB4AA3440,'2014-09-25 22:32:06'), +(370,'1565 Tangail Manor','','Okinawa',377,'45750','634445428822',0x000000000101000000D94C744CCCAA5F4045A1C096B2C53940,'2014-09-25 22:31:52'), +(371,'1912 Emeishan Drive','','Balikesir',50,'33050','99883471275',0x000000000101000000F1074D5CD8E23B400B2A053818D34340,'2014-09-25 22:33:22'), +(372,'230 Urawa Drive','','Andhra Pradesh',8,'2738','166898395731',0x0000000001010000008B04AE869F515340B2930BDF0C402F40,'2014-09-25 22:31:09'), +(373,'1922 Miraj Way','','Esfahan',356,'13203','320471479776',0x00000000010100000017050B71F6AE494026231DD434514040,'2014-09-25 22:31:37'), +(374,'433 Florencia Street','','Chihuahua',250,'91330','561729882725',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:08'), +(375,'1049 Matamoros Parkway','','Karnataka',191,'69640','960505250340',0x0000000001010000007923F3C89F355340386744696F563140,'2014-09-25 22:31:16'), +(376,'1061 Ede Avenue','','Southern Tagalog',98,'57810','333390595558',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:35'), +(377,'154 Oshawa Manor','','East Java',415,'72771','440365973660',0x00000000010100000005B93077D24D5C4065074B2B74041FC0,'2014-09-25 22:31:34'), +(378,'1191 Tandil Drive','','Southern Tagalog',523,'6362','45554316010',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:40'), +(379,'1133 Rizhao Avenue','','Pernambuco',572,'2800','600264533987',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:23'), +(380,'1519 Santiago de los Caballeros Loop','','East Kasai',348,'22025','409315295763',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:53'), +(381,'1618 Olomouc Manor','','Kurgan',285,'26385','96846695220',0x000000000101000000B1694A5755555040EA8FD552E5B94B40,'2014-09-25 22:32:51'), +(382,'220 Hidalgo Drive','','Kermanshah',265,'45298','342720754566',0x0000000001010000004E7A843F6888474008605EDB36284140,'2014-09-25 22:31:37'), +(383,'686 Donostia-San Sebastin Lane','','Guangdong',471,'97390','71857599858',0x000000000101000000F90A1C1A60845C400FDB711EA98B3640,'2014-09-25 22:30:42'), +(384,'97 Mogiljov Lane','','Gujarat',73,'89294','924815207181',0x000000000101000000B4F116FEC209524097DB076A42C63540,'2014-09-25 22:31:11'), +(385,'1642 Charlotte Amalie Drive','','Slaskie',549,'75442','821476736117',0x000000000101000000DDC4DA2967F73240D5D6E3198F114940,'2014-09-25 22:32:44'), +(386,'1368 Maracabo Boulevard','','',493,'32716','934352415130',0x000000000101000000731074B4AA8A4FC050920953EF2E3240,'2014-09-25 22:30:03'), +(387,'401 Sucre Boulevard','','New Hampshire',322,'25007','486395999608',0x000000000101000000817FA54E1BDD51C013718456717F4540,'2014-09-25 22:33:56'), +(388,'368 Hunuco Boulevard','','Namibe',360,'17165','106439158941',0x000000000101000000B5858CECEF4D28404D8EF11769642EC0,'2014-09-25 22:30:03'), +(389,'500 Lincoln Parkway','','Jiangsu',210,'95509','550306965159',0x0000000001010000003C399E2A3AC15D404409449957CB4040,'2014-09-25 22:30:35'), +(390,'102 Chapra Drive','','Ibaragi',521,'14073','776031833752',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:31:54'), +(391,'1793 Meixian Place','','Hmelnytskyi',258,'33535','619966287415',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:33:31'), +(392,'514 Ife Way','','Shaba',315,'69973','900235712074',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:53'), +(393,'717 Changzhou Lane','','Southern Tagalog',104,'21615','426255288071',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:36'), +(394,'753 Ilorin Avenue','','Sichuan',157,'3656','464511145118',0x0000000001010000008531D8C3CDD8594059D70D805D883D40,'2014-09-25 22:30:32'), +(395,'1337 Mit Ghamr Avenue','','Nakhon Sawan',358,'29810','175283210378',0x0000000001010000009A588572C70859404D237722D2682F40,'2014-09-25 22:33:19'), +(396,'767 Pyongyang Drive','','Osaka',229,'83536','667736124769',0x000000000101000000149A7F4FC7EA6040A02413A6DE2F4140,'2014-09-25 22:31:48'), +(397,'614 Pak Kret Street','','Addis Abeba',6,'27796','47808359842',0x0000000001010000009F84E3439A5F43402233BCFEC90C2240,'2014-09-25 22:30:59'), +(398,'954 Lapu-Lapu Way','','Moskova',278,'8816','737229003916',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:51'), +(399,'331 Bydgoszcz Parkway','','Asturia',181,'966','537374465982',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:33:09'), +(400,'1152 Citrus Heights Manor','','al-Qadarif',15,'5239','765957414528',0x00000000010100000084F6459D14B14140AA36EE83E2112C40,'2014-09-25 22:33:11'), +(401,'168 Cianjur Manor','','Saitama',228,'73824','679095087143',0x000000000101000000DEA925C2EB75614032005471E3F94140,'2014-09-25 22:31:48'), +(402,'616 Hagonoy Avenue','','Krasnojarsk',39,'46043','604177838256',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:47'), +(403,'1190 0 Place','','Rio Grande do Sul',44,'10417','841876514789',0x0000000001010000002347DF49B00D4BC086151340D6543FC0,'2014-09-25 22:30:16'), +(404,'734 Bchar Place','','Punjab',375,'30586','280578750435',0x0000000001010000006D3B6D8D885C5240C4A40925DDCE3E40,'2014-09-25 22:32:31'), +(405,'530 Lausanne Lane','','Texas',135,'11067','775235029633',0x0000000001010000009C830C89A03358C0E2D3F7753B644040,'2014-09-25 22:33:49'), +(406,'454 Patiala Lane','','Fukushima',276,'13496','794553031307',0x000000000101000000EC3D4B46448C614091306711E5BB4240,'2014-09-25 22:31:49'), +(407,'1346 Mysore Drive','','Bretagne',92,'61507','516647474029',0x0000000001010000004474BE8EEEEE11C070010DDBBB3F4840,'2014-09-25 22:31:00'), +(408,'990 Etawah Loop','','Tamil Nadu',564,'79940','206169448769',0x000000000101000000D54B42D8DF3C5340FE518A0C61A72440,'2014-09-25 22:31:29'), +(409,'1266 Laredo Parkway','','Saitama',380,'7664','1483365694',0x000000000101000000FBD97EE8F87361403BA5283C0DF44140,'2014-09-25 22:31:52'), +(410,'88 Nagaon Manor','','Buenos Aires',524,'86868','779461480495',0x000000000101000000CA3736960B914DC0D78A91802CA942C0,'2014-09-25 22:30:07'), +(411,'264 Bhimavaram Manor','','St Thomas',111,'54749','302526949177',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:34:08'), +(412,'1639 Saarbrcken Drive','','North West',437,'9827','328494873422',0x00000000010100000015CB8866F93D3B40E48AE65CE5AA39C0,'2014-09-25 22:33:05'), +(413,'692 Amroha Drive','','Northern',230,'35575','359478883004',0x00000000010100000027648CB47900544098E777503F562340,'2014-09-25 22:33:10'), +(414,'1936 Lapu-Lapu Parkway','','Bauchi & Gombe',141,'7122','653436985797',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:23'), +(415,'432 Garden Grove Street','','Ontario',430,'65630','615964523510',0x0000000001010000003E867DF1FBDB53C05900AEBF80EF4540,'2014-09-25 22:30:28'), +(416,'1445 Carmen Parkway','','West Java',117,'70809','598912394463',0x000000000101000000957950F550C55A40B3BFA21122171BC0,'2014-09-25 22:31:30'), +(417,'791 Salinas Street','','Punjab',208,'40509','129953030512',0x000000000101000000579E9B911CFA524075D256804A883F40,'2014-09-25 22:31:17'), +(418,'126 Acua Parkway','','West Bengali',71,'58888','480039662421',0x000000000101000000C3013E89191056404E9F7829D01A3840,'2014-09-25 22:31:11'), +(419,'397 Sunnyvale Avenue','','Guanajuato',19,'55566','680851640676',0x000000000101000000754419059C2F59C02409C21550EA3440,'2014-09-25 22:32:01'), +(420,'992 Klerksdorp Loop','','Utrecht',23,'33711','855290087237',0x000000000101000000C1DFD4ACD88C15404FDC3BB4D9134A40,'2014-09-25 22:32:19'), +(421,'966 Arecibo Loop','','Sind',134,'94018','15273765306',0x000000000101000000BE9B1320AFF15040D93400659DBB3A40,'2014-09-25 22:32:30'), +(422,'289 Santo Andr Manor','','al-Sharqiya',16,'72410','214976066017',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:59'), +(423,'437 Chungho Drive','','Puerto Plata',450,'59489','491271355190',0x000000000101000000225A86930FAC51C0082692431FCB3340,'2014-09-25 22:30:55'), +(424,'1948 Bayugan Parkway','','Bihar',264,'60622','987306329957',0x0000000001010000007613211A82E45540D685C4E2DC893940,'2014-09-25 22:31:19'), +(425,'1866 al-Qatif Avenue','','California',155,'89420','546793516940',0x000000000101000000B4EE7AC4C3815DC0165D28AAC8084140,'2014-09-25 22:33:50'), +(426,'1661 Abha Drive','','Tamil Nadu',416,'14400','270456873752',0x000000000101000000D3B36A2192B45340FBC5111038C32440,'2014-09-25 22:31:23'), +(427,'1557 Cape Coral Parkway','','Hubei',293,'46875','368284120423',0x00000000010100000034CC1A06BDEA5B402D5A25FD62314040,'2014-09-25 22:30:38'), +(428,'1727 Matamoros Place','','Sawhaj',465,'78813','129673677866',0x00000000010100000083E38D27DDB13F40555BA093948E3A40,'2014-09-25 22:30:57'), +(429,'1269 Botosani Manor','','Guangdong',468,'47394','736517327853',0x000000000101000000C8E1DDDB3ED65C40281B20E230C83640,'2014-09-25 22:30:42'), +(430,'355 Vitria de Santo Anto Way','','Oaxaca',452,'81758','548003849552',0x0000000001010000000363D8BC050858C0503750E09D163240,'2014-09-25 22:32:13'), +(431,'1596 Acua Parkway','','Jharkhand',418,'70425','157133457169',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:31:24'), +(432,'259 Ipoh Drive','','So Paulo',189,'64964','419009857119',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:18'), +(433,'1823 Hoshiarpur Lane','','Komi',510,'33191','307133768620',0x000000000101000000C6DA8420AC674940DD9ACF1495D64E40,'2014-09-25 22:32:57'), +(434,'1404 Taguig Drive','','Okayama',547,'87212','572068624538',0x000000000101000000205D11A1F6BF6040BFE90203AD864140,'2014-09-25 22:31:54'), +(435,'740 Udaipur Lane','','Nizni Novgorod',150,'33505','497288595103',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:47'), +(436,'287 Cuautla Boulevard','','Chuquisaca',501,'72736','82619513349',0x0000000001010000002A0B15D2D05050C049C44ABB870833C0,'2014-09-25 22:30:14'), +(437,'1766 Almirante Brown Street','','KwaZulu-Natal',364,'63104','617567598243',0x000000000101000000FDAB7DF090EE3D40488D64EA09C23BC0,'2014-09-25 22:33:04'), +(438,'596 Huixquilucan Place','','Nampula',351,'65892','342709348083',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:17'), +(439,'1351 Aparecida de Goinia Parkway','','Northern Mindanao',391,'41775','959834530529',0x000000000101000000DAFF006B55F55E40898C58D5DC4F2040,'2014-09-25 22:32:38'), +(440,'722 Bradford Lane','','Shandong',249,'90920','746251338300',0x000000000101000000653E7B890CB55D4078A0A932E7954140,'2014-09-25 22:30:37'), +(441,'983 Santa F Way','','British Colombia',565,'47472','145720452260',0x000000000101000000719CCA58A3C75EC0EEE7B92AF59F4840,'2014-09-25 22:30:28'), +(442,'1245 Ibirit Way','','La Romana',290,'40926','331888642162',0x0000000001010000006D59BE2E433E51C04FC87322666D3240,'2014-09-25 22:30:54'), +(443,'1836 Korla Parkway','','Copperbelt',272,'55405','689681677428',0x000000000101000000064257C796363C40BB7EC16ED89A29C0,'2014-09-25 22:34:11'), +(444,'231 Kaliningrad Place','','Lombardia',70,'57833','575081026569',0x0000000001010000007A185A9D9C552340A77E390E17D94640,'2014-09-25 22:31:42'), +(445,'495 Bhimavaram Lane','','Maharashtra',144,'3','82088937724',0x0000000001010000003EE1911DC0B15240B39943520BE73440,'2014-09-25 22:31:15'), +(446,'1924 Shimonoseki Drive','','Batna',59,'52625','406784385440',0x000000000101000000347CB03154B21840DF814B112AC74140,'2014-09-25 22:29:59'), +(447,'105 Dzerzinsk Manor','','Inner Mongolia',540,'48570','240776414296',0x000000000101000000F1C05B7BFA905E40F5EC03DA67CE4540,'2014-09-25 22:30:44'), +(448,'614 Denizli Parkway','','Rio Grande do Sul',486,'29444','876491807547',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:22'), +(449,'1289 Belm Boulevard','','Tartumaa',530,'88306','237368926031',0x00000000010100000079680EFF9FB93A406C7E575FB8304D40,'2014-09-25 22:30:58'), +(450,'203 Tambaram Street','','Buenos Aires',161,'73942','411549550611',0x000000000101000000E753C72AA5604DC0438CD7BCAA2A41C0,'2014-09-25 22:30:05'), +(451,'1704 Tambaram Manor','','West Bengali',554,'2834','39463554936',0x000000000101000000A4E9A2D755065640F598EDAFC3793640,'2014-09-25 22:31:28'), +(452,'207 Cuernavaca Loop','','Tatarstan',352,'52671','782900030287',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:55'), +(453,'319 Springs Loop','','Baijeri',160,'99552','72524459905',0x0000000001010000006A62CB3C0304264081FEE7D5A5CB4840,'2014-09-25 22:31:05'), +(454,'956 Nam Dinh Manor','','Kerman',481,'21872','474047727727',0x000000000101000000F16206CF29D74B40CFA91A738D733D40,'2014-09-25 22:31:39'), +(455,'1947 Paarl Way','','Central Java',509,'23636','834061016202',0x000000000101000000C4D78D2D3AB55B40AC996B8775391EC0,'2014-09-25 22:31:35'), +(456,'814 Simferopol Loop','','Sinaloa',154,'48745','524567129902',0x000000000101000000954330B3F42F5BC090CCD9F115313A40,'2014-09-25 22:32:05'), +(457,'535 Ahmadnagar Manor','','Abu Dhabi',3,'41136','985109775584',0x000000000101000000D3E6EE29EF2E4B4099C6E52E78773840,'2014-09-25 22:33:34'), +(458,'138 Caracas Boulevard','','Zulia',326,'16790','974433019532',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:34:04'), +(459,'251 Florencia Drive','','Michoacn de Ocampo',556,'16119','118011831565',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:13'), +(460,'659 Gatineau Boulevard','','La Paz',153,'28587','205524798287',0x00000000010100000017E7B9CFBB0B51C0A029858ABB7B30C0,'2014-09-25 22:30:13'), +(461,'1889 Valparai Way','','Ziguinchor',600,'75559','670370974122',0x00000000010100000020E1C50C9E4530C0FC219111AB2A2940,'2014-09-25 22:33:01'), +(462,'1485 Bratislava Place','','Illinois',435,'83183','924663855568',0x000000000101000000A081A2C30D4656C04453D1B3B4224540,'2014-09-25 22:33:59'), +(463,'935 Aden Boulevard','','Central Java',532,'64709','335052544020',0x000000000101000000C7139C55FA485B40BEE435655D7A1BC0,'2014-09-25 22:31:35'), +(464,'76 Kermanshah Manor','','Esfahan',423,'23343','762361821578',0x000000000101000000FF66182DF6EE4940A60BB1FA23014040,'2014-09-25 22:31:37'), +(465,'734 Tanshui Avenue','','Caquet',170,'70664','366776723320',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:52'), +(466,'118 Jaffna Loop','','Northern Mindanao',182,'10447','325526730021',0x00000000010100000028B27B9777475F40BAEA4B80ABAA2140,'2014-09-25 22:32:36'), +(467,'1621 Tongliao Avenue','','Irkutsk',558,'22173','209342540247',0x000000000101000000C7269E584CE95940E56A1ACA3F604A40,'2014-09-25 22:32:58'), +(468,'1844 Usak Avenue','','Nova Scotia',196,'84461','164414772677',0x0000000001010000004205871744C94FC0162B0F779A524640,'2014-09-25 22:30:27'), +(469,'1872 Toulon Loop','','OHiggins',428,'7939','928809465153',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:30'), +(470,'1088 Ibirit Place','','Jalisco',595,'88502','49084281333',0x0000000001010000007820578FA0D859C06AE514D33BB93440,'2014-09-25 22:32:15'), +(471,'1322 Mosul Parkway','','Shandong',145,'95400','268053970382',0x0000000001010000002856574F779F5D402425E2523ABB4240,'2014-09-25 22:30:32'), +(472,'1447 Chatsworth Place','','Chihuahua',129,'41545','769370126331',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:04'), +(473,'1257 Guadalajara Street','','Karnataka',78,'33599','195337700615',0x000000000101000000052049A4C8ED5240E702F2800DD33040,'2014-09-25 22:31:14'), +(474,'1469 Plock Lane','','Galicia',388,'95835','622884741180',0x000000000101000000FB44F9DDCF741FC0ED9A90D6182B4540,'2014-09-25 22:33:09'), +(475,'434 Ourense (Orense) Manor','','Hodeida',206,'14122','562370137426',0x000000000101000000F56FF2B62D7A4540DF80E03B7B982D40,'2014-09-25 22:34:10'), +(476,'270 Tambaram Parkway','','Gauteng',244,'9668','248446668735',0x0000000001010000005B5540EB2B0B3C4082412D61C8333AC0,'2014-09-25 22:33:03'), +(477,'1786 Salinas Place','','Nam Ha',359,'66546','206060652238',0x00000000010100000044BD851A2A7E5A40C2DB8310908D3440,'2014-09-25 22:34:07'), +(478,'1078 Stara Zagora Drive','','Aceh',301,'69221','932992626595',0x00000000010100000034057CC8A5495840D2C9ADA470B81440,'2014-09-25 22:31:33'), +(479,'1854 Okara Boulevard','','Drenthe',158,'42123','131912793873',0x0000000001010000006E8AC745B5A01B40947BCBE6BB634A40,'2014-09-25 22:32:21'), +(480,'421 Yaound Street','','Sumy',385,'11363','726875628268',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:33:33'), +(481,'1153 Allende Way','','Qubec',179,'20336','856872225376',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:26'), +(482,'808 Naala-Porto Parkway','','England',500,'41060','553452430707',0x0000000001010000000E6036A6CC4201C0B9D7930A74B44A40,'2014-09-25 22:33:41'), +(483,'632 Usolje-Sibirskoje Parkway','','Ha Darom',36,'73085','667648979883',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:31:41'), +(484,'98 Pyongyang Boulevard','','Ohio',11,'88749','191958435142',0x0000000001010000008AB1A778376154C0990524AB6C8A4440,'2014-09-25 22:33:42'), +(485,'984 Novoterkassk Loop','','Gaziantep',180,'28165','435118527255',0x000000000101000000CAAF7A1BF6B04240AA8889BC9B874240,'2014-09-25 22:33:25'), +(486,'64 Korla Street','','Mwanza',347,'25145','510383179153',0x0000000001010000002A28FB9DDC7B40402EBB719C252204C0,'2014-09-25 22:33:17'), +(487,'1785 So Bernardo do Campo Street','','Veracruz',125,'71182','684529463244',0x000000000101000000A1551CBD509C57C0141F44D72A223240,'2014-09-25 22:32:04'), +(488,'698 Jelets Boulevard','','Denizli',142,'2596','975185523021',0x000000000101000000EECD6F9868163D40B226BB3E18E34240,'2014-09-25 22:33:24'), +(489,'1297 Alvorada Parkway','','Ningxia',587,'11839','508348602835',0x0000000001010000001583D1F679915A4029876066E93B4340,'2014-09-25 22:30:49'), +(490,'1909 Dayton Avenue','','Guangdong',469,'88513','702955450528',0x0000000001010000007BE0BE6955655C405457998466E43840,'2014-09-25 22:30:42'), +(491,'1789 Saint-Denis Parkway','','Coahuila de Zaragoza',4,'8268','936806643983',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:01'), +(492,'185 Mannheim Lane','','Stavropol',408,'23661','589377568313',0x000000000101000000333E82D19B87454024592CEA38064640,'2014-09-25 22:32:56'), +(493,'184 Mandaluyong Street','','Baja California Sur',288,'94239','488425406814',0x000000000101000000173B2BB3D2935BC078F6F0C05B233840,'2014-09-25 22:32:09'), +(494,'591 Sungai Petani Drive','','Okayama',376,'46400','37247325001',0x0000000001010000001966B2C9EBBD60404CC054D8B1544140,'2014-09-25 22:31:51'), +(495,'656 Matamoros Drive','','Boyac',487,'19489','17305839123',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:53'), +(496,'775 ostka Drive','','al-Daqahliya',337,'22358','171973024401',0x000000000101000000FC4DCD8A4D423F403EDF60B9EFB63E40,'2014-09-25 22:30:57'), +(497,'1013 Tabuk Boulevard','','West Bengali',261,'96203','158399646978',0x0000000001010000005D1B857F6C1B5640793BC269C1F53640,'2014-09-25 22:31:19'), +(498,'319 Plock Parkway','','Istanbul',504,'26101','854259976812',0x000000000101000000B6EFF6C54A453D40277E3100F97A4440,'2014-09-25 22:33:28'), +(499,'1954 Kowloon and New Kowloon Way','','Chimborazo',434,'63667','898559280434',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:56'), +(500,'362 Rajkot Lane','','Gansu',47,'98030','962020153680',0x0000000001010000004F6FEB13E50A5A4028733D1B03464240,'2014-09-25 22:30:31'), +(501,'1060 Tandil Lane','','Shandong',432,'72349','211256301880',0x000000000101000000CAB61D6423DD5D40ADF1E379BAB64140,'2014-09-25 22:30:41'), +(502,'1515 Korla Way','','England',589,'57197','959467760895',0x0000000001010000004C42D8DFC852F1BFBA826DC493FA4A40,'2014-09-25 22:33:42'), +(503,'1416 San Juan Bautista Tuxtepec Avenue','','Zufar',444,'50592','144206758053',0x000000000101000000A6684018D30B4B40078662E1DA033140,'2014-09-25 22:32:29'), +(504,'1 Valle de Santiago Avenue','','Apulia',93,'86208','465897838272',0x000000000101000000CAFED4D3A2EF3140584D7C5AEA504440,'2014-09-25 22:31:43'), +(505,'519 Brescia Parkway','','East Java',318,'69504','793996678771',0x000000000101000000A3C794B487E15B400A230736F8841EC0,'2014-09-25 22:31:33'), +(506,'414 Mandaluyong Street','','Lubelskie',314,'16370','52709222667',0x0000000001010000000FE6C0BC1191364020F0C000C2A04940,'2014-09-25 22:32:43'), +(507,'1197 Sokoto Boulevard','','West Bengali',478,'87687','868602816371',0x000000000101000000109546CC6C1B56408F0FC4C3C5B53A40,'2014-09-25 22:31:27'), +(508,'496 Celaya Drive','','Nagano',552,'90797','759586584889',0x000000000101000000254E3805034961402486D3388A334240,'2014-09-25 22:31:54'), +(509,'786 Matsue Way','','Illinois',245,'37469','111177206479',0x0000000001010000000F3B9D75570556C0FA91C77839C34440,'2014-09-25 22:33:54'), +(510,'48 Maracabo Place','','Central Luzon',519,'1570','82671830126',0x000000000101000000223999B8D53A5E408D87AD8F3D2D2F40,'2014-09-25 22:32:39'), +(511,'1152 al-Qatif Lane','','Kalimantan Barat',412,'44816','131370665218',0x000000000101000000107FA88F9B545B4021037976F9D69FBF,'2014-09-25 22:31:34'), +(512,'1269 Ipoh Avenue','','Eskisehir',163,'54674','402630109080',0x000000000101000000E9D32AFA43853E40767D303A6AE34340,'2014-09-25 22:33:24'), +(513,'758 Korolev Parkway','','Andhra Pradesh',568,'75474','441628280920',0x00000000010100000031DA99F859285440AF528BD2EF843040,'2014-09-25 22:31:29'), +(514,'1747 Rustenburg Place','','Bihar',110,'51369','442673923363',0x0000000001010000000BFD5DE9C62E554041C4BC7D0CC83940,'2014-09-25 22:31:14'), +(515,'886 Tonghae Place','','Volgograd',259,'19450','711928348157',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:50'), +(516,'1574 Goinia Boulevard','','Heilongjiang',502,'39529','59634255214',0x00000000010100000017128B73AFBF5F40C5ECC094DC514740,'2014-09-25 22:30:43'), +(517,'548 Uruapan Street','','Ontario',312,'35653','879347453467',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:33:38'), +(519,'962 Tama Loop','','',583,'65952','282667506728',0x000000000101000000FA545FA722DD6440AA7A9EE4B321E1BF,'2014-09-25 22:32:19'), +(520,'1778 Gijn Manor','','Hubei',594,'35156','288910576761',0x000000000101000000E358727044305C40A58A3D0F49104040,'2014-09-25 22:30:50'), +(521,'568 Dhule (Dhulia) Loop','','Coquimbo',127,'92568','602101369463',0x0000000001010000000000804A296FC5C1DDA85F330AC13EC0,'2014-09-25 22:30:30'), +(522,'1768 Udine Loop','','Battambang',60,'32347','448876499197',0x000000000101000000708802C7AFCC59402ABC15D396342A40,'2014-09-25 22:30:24'), +(523,'608 Birgunj Parkway','','Taipei',116,'400','627425618482',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:33:14'), +(524,'680 A Corua (La Corua) Manor','','Sivas',482,'49806','158326114853',0x000000000101000000936EF02A10824240F2F6D676C9DF4340,'2014-09-25 22:33:28'), +(525,'1949 Sanya Street','','Gumma',224,'61244','132100972047',0x000000000101000000943F29A406696140E4CA8FAE88284240,'2014-09-25 22:31:47'), +(526,'617 Klerksdorp Place','','Khanh Hoa',366,'94707','574973479129',0x0000000001010000004A1751C96F4C5B4032F504D37A7D2840,'2014-09-25 22:34:07'), +(527,'1993 0 Loop','','Liaoning',588,'41214','25865528181',0x000000000101000000B65E1D119D8E5E40171A3ED818554440,'2014-09-25 22:30:49'), +(528,'1176 Southend-on-Sea Manor','','Southern Tagalog',458,'81651','236679267178',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:39'), +(529,'600 Purnea (Purnia) Avenue','','Nghe An',571,'18043','638409958875',0x000000000101000000962364204F6C5A407A6D365662AC3240,'2014-09-25 22:34:07'), +(530,'1003 Qinhuangdao Street','','West Java',419,'25972','35533115997',0x0000000001010000005EA516A55FDC5A40A21639FA4E3A1AC0,'2014-09-25 22:31:35'), +(531,'1986 Sivas Place','','Friuli-Venezia Giuli',551,'95775','182059202712',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:31:44'), +(532,'1427 Tabuk Place','','Florida',101,'31342','214756839122',0x0000000001010000003C702942C57C54C02A5D555117903A40,'2014-09-25 22:33:47'), +(533,'556 Asuncin Way','','Mogiljov',339,'35364','338244023543',0x0000000001010000006B6DD04D51583E40673513C259F54A40,'2014-09-25 22:30:13'), +(534,'486 Ondo Parkway','','Benguela',67,'35202','105882218332',0x000000000101000000BD83E9C59ACF2A40B9FA56900B2729C0,'2014-09-25 22:30:02'), +(535,'635 Brest Manor','','Andhra Pradesh',75,'40899','80593242951',0x00000000010100000079FA52897C615440D2C9ADA4708A3040,'2014-09-25 22:31:13'), +(536,'166 Jinchang Street','','Buenos Aires',165,'86760','717566026669',0x0000000001010000003EB896242A434DC0E0771DBB556D41C0,'2014-09-25 22:30:05'), +(537,'958 Sagamihara Lane','','Mie',287,'88408','427274926505',0x000000000101000000BED29E37BA1761409B5F837467884140,'2014-09-25 22:31:50'), +(538,'1817 Livorno Way','','Khanh Hoa',100,'79401','478380208348',0x000000000101000000944A78422F4A5B40236D3E09C7D72740,'2014-09-25 22:34:05'), +(539,'1332 Gaziantep Lane','','Shandong',80,'22813','383353187467',0x000000000101000000BC2F1D2911815D4074B0A316EFAE4240,'2014-09-25 22:30:31'), +(540,'949 Allende Lane','','Uttar Pradesh',24,'67521','122981120653',0x0000000001010000008C91DBE5119E534039A8B34934E73C40,'2014-09-25 22:31:11'), +(541,'195 Ilorin Street','','Chari-Baguirmi',363,'49250','8912935608',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:29'), +(542,'193 Bhusawal Place','','Kang-won',539,'9750','745267607502',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:33:07'), +(543,'43 Vilnius Manor','','Colorado',42,'79814','484500282381',0x0000000001010000009389004C3E355AC0D03582435EDD4340,'2014-09-25 22:33:44'), +(544,'183 Haiphong Street','','Jilin',46,'69953','488600270038',0x000000000101000000AFA3607C87B45E4038A85890C1CD4640,'2014-09-25 22:30:30'), +(545,'163 Augusta-Richmond County Loop','','Carabobo',561,'33030','754579047924',0x000000000101000000CC0C1B657D0051C06B7F677BF4522440,'2014-09-25 22:34:05'), +(546,'191 Jos Azueta Parkway','','Ruse',436,'13629','932156667696',0x00000000010100000067A9ABF188F83940CD6CA1759EED4540,'2014-09-25 22:30:23'), +(547,'379 Lublin Parkway','','Toscana',309,'74568','921960450089',0x00000000010100000090920D5AFEA62440CC13BEADAAC54540,'2014-09-25 22:31:44'), +(548,'1658 Cuman Loop','','Sumatera Selatan',396,'51309','784907335610',0x00000000010100000018D75306E9885A40E8209EDB3A4E01C0,'2014-09-25 22:31:34'), +(549,'454 Qinhuangdao Drive','','Tadla-Azilal',68,'25866','786270036240',0x000000000101000000419479F53B6619C04F09E3022B2B4040,'2014-09-25 22:32:16'), +(550,'1715 Okayama Street','','So Paulo',485,'55676','169352919175',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:22'), +(551,'182 Nukualofa Drive','','Sumy',275,'15414','426346224043',0x00000000010100000079F71109F099404055BBCBEAC29E4940,'2014-09-25 22:33:32'), +(552,'390 Wroclaw Way','','Hainan',462,'5753','357593328658',0x000000000101000000F70FD88B57605B40364E5480393E3240,'2014-09-25 22:30:41'), +(553,'1421 Quilmes Lane','','Ishikawa',260,'19151','135407755975',0x0000000001010000008F9F32A30414614053AEF02E174C4240,'2014-09-25 22:31:49'), +(554,'947 Trshavn Place','','Central Luzon',528,'841','50898428626',0x000000000101000000C56DD9C644265E4002B5BD82D9F52E40,'2014-09-25 22:32:40'), +(555,'1764 Jalib al-Shuyukh Parkway','','Galicia',459,'77642','84794532510',0x00000000010100000090FFB8B3651721C09DB23FF5B4704540,'2014-09-25 22:33:10'), +(556,'346 Cam Ranh Avenue','','Zhejiang',599,'39976','978430786151',0x000000000101000000A0E63FFF188D5E4056DBA8A9C0023E40,'2014-09-25 22:30:51'), +(557,'1407 Pachuca de Soto Place','','Rio Grande do Sul',21,'26284','380077794770',0x000000000101000000A3CEDC43C28449C0608209922DFD3DC0,'2014-09-25 22:30:14'), +(558,'904 Clarksville Drive','','Zhejiang',193,'52234','955349440539',0x000000000101000000E5886B6BFA2A5E4038E04E7D7B7A3E40,'2014-09-25 22:30:34'), +(559,'1917 Kumbakonam Parkway','','Vojvodina',368,'11892','698182547686',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:34:11'), +(560,'1447 Imus Place','','Gujarat',426,'12905','62127829280',0x000000000101000000667F4523C4B25140819C8B1AA74A3640,'2014-09-25 22:31:25'), +(561,'1497 Fengshan Drive','','KwaZulu-Natal',112,'63022','368738360376',0x000000000101000000938FDD054AE43E402AF97DA42DEB3DC0,'2014-09-25 22:33:03'), +(562,'869 Shikarpur Way','','England',496,'57380','590764256785',0x000000000101000000894FF003460D08C0828472ECEAD24A40,'2014-09-25 22:33:40'), +(563,'1059 Yuncheng Avenue','','Vilna',570,'47498','107092893983',0x00000000010100000046B82462A5473940BA0ACE8536584B40,'2014-09-25 22:31:58'), +(564,'505 Madiun Boulevard','','Dolnoslaskie',577,'97271','970638808606',0x000000000101000000F0D46D9A8808314023A93B05AF914940,'2014-09-25 22:32:44'), +(565,'1741 Hoshiarpur Boulevard','','al-Sharqiya',79,'22372','855066328617',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:56'), +(566,'1229 Varanasi (Benares) Manor','','Buenos Aires',43,'40195','817740355461',0x00000000010100000014DA28A1AA2A4DC02E156580555541C0,'2014-09-25 22:30:04'), +(567,'1894 Boa Vista Way','','Texas',178,'77464','239357986667',0x000000000101000000C1D1448EE32858C0AD8D0CCDD0744040,'2014-09-25 22:33:51'), +(568,'1342 Sharja Way','','Sokoto & Kebbi & Zam',488,'93655','946114054231',0x0000000001010000005B087250C2F41440E711ED74311F2A40,'2014-09-25 22:32:27'), +(569,'1342 Abha Boulevard','','Bukarest',95,'10714','997453607116',0x000000000101000000924FD9FA331B3A40B1CBA61254374640,'2014-09-25 22:32:46'), +(570,'415 Pune Avenue','','Shandong',580,'44274','203202500108',0x000000000101000000CC3857DE1F705D408F26CDD545F34140,'2014-09-25 22:30:47'), +(571,'1746 Faaa Way','','Huanuco',214,'32515','863080561151',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:33'), +(572,'539 Hami Way','','Tokat',538,'52196','525518075499',0x0000000001010000006F302F1BF8464240AD7B759F2D284440,'2014-09-25 22:33:29'), +(573,'1407 Surakarta Manor','','Moskova',466,'33224','324346485054',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:56'), +(574,'502 Mandi Bahauddin Parkway','','Anzotegui',55,'15992','618156722572',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:34:03'), +(575,'1052 Pathankot Avenue','','Sichuan',299,'77397','128499386727',0x000000000101000000AA054026E3F05940CCC12275F18F3D40,'2014-09-25 22:30:39'), +(576,'1351 Sousse Lane','','Coahuila de Zaragoza',341,'37815','203804046132',0x0000000001010000006AB86D84EA5A59C027AA12C028E83A40,'2014-09-25 22:32:10'), +(577,'1501 Pangkal Pinang Avenue','','Mazowieckie',409,'943','770864062795',0x0000000001010000001646C4DED5B43340308AD46AFE454A40,'2014-09-25 22:32:43'), +(578,'1405 Hagonoy Avenue','','Slaskie',133,'86587','867287719310',0x0000000001010000002431F77FC41F3340F5B06197F2654940,'2014-09-25 22:32:42'), +(579,'521 San Juan Bautista Tuxtepec Place','','Qaraghandy',598,'95093','844018348565',0x0000000001010000006848CB3711F15040E32A604C44E44740,'2014-09-25 22:31:56'), +(580,'923 Tangail Boulevard','','Tokyo-to',10,'33384','315528269898',0x00000000010100000078E5C468A76B6140C3A27D079ADA4140,'2014-09-25 22:31:45'), +(581,'186 Skikda Lane','','Morelos',131,'89422','14465669789',0x00000000010100000048C2BE9DC4CE58C0DA3DD4111BED3240,'2014-09-25 22:32:05'), +(582,'1568 Celaya Parkway','','Kaohsiung',168,'34750','278669994384',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:33:15'), +(583,'1489 Kakamigahara Lane','','Taipei',526,'98883','29341849811',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:33:16'), +(584,'1819 Alessandria Loop','','Campeche',103,'53829','377633994405',0x0000000001010000008636A5611DF556C0374F1A0F5BA53240,'2014-09-25 22:32:02'), +(585,'1208 Tama Loop','','Ninawa',344,'73605','954786054144',0x000000000101000000314F9DFD378F4540961EF23BF22A4240,'2014-09-25 22:31:40'), +(586,'951 Springs Lane','','Central Mindanao',219,'96115','165164761435',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:37'), +(587,'760 Miyakonojo Drive','','Guerrero',246,'64682','294449058179',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:08'), +(588,'966 Asuncin Way','','Hidalgo',212,'62703','995527378381',0x000000000101000000EBBD4230D89A58C0E30632F1FD233540,'2014-09-25 22:32:07'), +(589,'1584 Ljubertsy Lane','','England',494,'22954','285710089439',0x00000000010100000035385B8AF577F6BF8C7560EFB4734940,'2014-09-25 22:33:38'), +(590,'247 Jining Parkway','','Banjul',54,'53446','170115379190',0x0000000001010000001BE4E434FA9330C08A8F4FC8CEE72A40,'2014-09-25 22:31:04'), +(591,'773 Dallas Manor','','Buenos Aires',424,'12664','914466027044',0x00000000010100000009C3802557204DC0B75CA21FB25C41C0,'2014-09-25 22:30:06'), +(592,'1923 Stara Zagora Lane','','Nantou',546,'95179','182178609211',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:33:17'), +(593,'1402 Zanzibar Boulevard','','Guanajuato',106,'71102','387448063440',0x000000000101000000FCB7DCAA353459C05CA8A1B206863440,'2014-09-25 22:32:03'), +(594,'1464 Kursk Parkway','','Shandong',574,'17381','338758048786',0x0000000001010000008CA2073E86C65D40055669E6245B4240,'2014-09-25 22:30:44'), +(595,'1074 Sanaa Parkway','','Loja',311,'22474','154124128457',0x00000000010100000092DBE51112CD53C00EF96706F1F10FC0,'2014-09-25 22:30:55'), +(596,'1759 Niznekamsk Avenue','','al-Manama',14,'39414','864392582257',0x000000000101000000044D9539A74A49401224004922373A40,'2014-09-25 22:30:11'), +(597,'32 Liaocheng Way','','Minas Gerais',248,'1944','410877354933',0x000000000101000000C2757BFFD5AC45C0424F1432A1C335C0,'2014-09-25 22:30:19'), +(598,'42 Fontana Avenue','','Fejr',512,'14684','437829801725',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:31:09'), +(599,'1895 Zhezqazghan Drive','','California',177,'36693','137809746111',0x0000000001010000003EC7ECD1407C5DC057FA1A930FE34040,'2014-09-25 22:33:51'), +(600,'1837 Kaduna Parkway','','Inner Mongolia',241,'82580','640843562301',0x000000000101000000D61A4AEDC5465C400E64E2FB87834440,'2014-09-25 22:30:37'), +(601,'844 Bucuresti Place','','Liaoning',242,'36603','935952366111',0x000000000101000000B88086EDDD6D5E407CED9925018D4340,'2014-09-25 22:30:37'), +(602,'1101 Bucuresti Boulevard','','West Greece',401,'97661','199514580428',0x000000000101000000AAC1EA7E04BC3540E65F26E5491F4340,'2014-09-25 22:31:07'), +(603,'1103 Quilmes Boulevard','','Piura',503,'52137','644021380889',0x000000000101000000AD9685C0DB2B54C09B012EC8969D13C0,'2014-09-25 22:32:34'), +(604,'1331 Usak Boulevard','','Vaud',296,'61960','145308717464',0x000000000101000000CE273CB203881A40205734E72A424740,'2014-09-25 22:33:14'), +(605,'1325 Fukuyama Street','','Heilongjiang',537,'27107','288241215394',0x00000000010100000017540A70700160401E1C47077F7D4740,'2014-09-25 22:30:44'); +COMMIT; +DROP TABLE address; diff --git a/mysql-test/suite/innodb_gis/r/rtree_add_index.result b/mysql-test/suite/innodb_gis/r/rtree_add_index.result new file mode 100644 index 00000000..ba552e27 --- /dev/null +++ b/mysql-test/suite/innodb_gis/r/rtree_add_index.result @@ -0,0 +1,10 @@ +CREATE TABLE t1 (g MULTIPOINT NOT NULL) ENGINE=InnoDB; +INSERT INTO t1 VALUES (''); +connect purge_control,localhost,root; +START TRANSACTION WITH CONSISTENT SNAPSHOT; +connection default; +DELETE FROM t1; +ALTER TABLE t1 ADD SPATIAL INDEX (g); +disconnect purge_control; +InnoDB 0 transactions not purged +DROP TABLE t1; diff --git a/mysql-test/suite/innodb_gis/r/rtree_compress.result b/mysql-test/suite/innodb_gis/r/rtree_compress.result new file mode 100644 index 00000000..fce42319 --- /dev/null +++ b/mysql-test/suite/innodb_gis/r/rtree_compress.result @@ -0,0 +1,51 @@ +create table t1 (c1 int, c2 geometry not null, spatial index (c2))engine=innodb ROW_FORMAT=COMPRESSED; +insert into t1 values(1, Point(1,1)); +insert into t1 values(2, Point(2,2)); +insert into t1 values(3, Point(3,3)); +insert into t1 values(4, Point(4,4)); +insert into t1 values(5, Point(5,5)); +insert into t1 values(6, Point(6,6)); +insert into t1 values(7, Point(7,7)); +insert into t1 values(8, Point(8,8)); +insert into t1 values(9, Point(9,9)); +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +start transaction; +insert into t1 select * from t1; +select count(*) from t1; +count(*) +18432 +rollback; +check table t1; +Table Op Msg_type Msg_text +test.t1 check status OK +select count(*) from t1; +count(*) +9216 +set @g1 = ST_GeomFromText('Polygon((0 0,0 100,100 100,100 0,0 0))'); +select count(*) from t1 where MBRWithin(t1.c2, @g1); +count(*) +9216 +set @g1 = ST_GeomFromText('Polygon((10 10,10 800,800 800,800 10,10 10))'); +select count(*) from t1 where MBRWithin(t1.c2, @g1); +count(*) +0 +SET @saved_dbug = @@SESSION.debug_dbug; +SET DEBUG='+d,page_copy_rec_list_start_compress_fail'; +Warnings: +Warning 1287 '@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead +delete from t1; +select count(*) from t1 where MBRWithin(t1.c2, @g1); +count(*) +0 +SET debug_dbug = @saved_dbug; +InnoDB 0 transactions not purged +drop table t1; diff --git a/mysql-test/suite/innodb_gis/r/rtree_compress2.result b/mysql-test/suite/innodb_gis/r/rtree_compress2.result new file mode 100644 index 00000000..503be08c --- /dev/null +++ b/mysql-test/suite/innodb_gis/r/rtree_compress2.result @@ -0,0 +1,22 @@ +SET GLOBAL innodb_file_per_table=1; +create table t1 (c1 int, c2 geometry not null, spatial index (c2))engine=innodb ROW_FORMAT=COMPRESSED; +create procedure insert_t1(IN total int) +begin +declare i int default 1; +while (i <= total) DO +insert into t1 values (i, Point(i, i)); +set i = i + 1; +end while; +end| +begin; +CALL insert_t1(70000); +commit; +check table t1; +Table Op Msg_type Msg_text +test.t1 check status OK +select count(*) from t1; +count(*) +70000 +delete from t1; +drop procedure insert_t1; +drop table t1; diff --git a/mysql-test/suite/innodb_gis/r/rtree_concurrent_srch.result b/mysql-test/suite/innodb_gis/r/rtree_concurrent_srch.result new file mode 100644 index 00000000..81b82691 --- /dev/null +++ b/mysql-test/suite/innodb_gis/r/rtree_concurrent_srch.result @@ -0,0 +1,359 @@ +create table t1 (c1 int, c2 geometry not null, spatial index (c2))engine=innodb; +insert into t1 values(1, Point(1,1)); +insert into t1 values(2, Point(2,2)); +insert into t1 values(3, Point(3,3)); +insert into t1 values(4, Point(4,4)); +insert into t1 values(5, Point(5,5)); +insert into t1 values(6, Point(6,6)); +insert into t1 values(7, Point(7,7)); +insert into t1 values(8, Point(8,8)); +insert into t1 values(9, Point(9,9)); +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +connect a,localhost,root,,; +SET debug_dbug='+d,rtr_pcur_move_to_next_return'; +set session transaction isolation level serializable; +set @g1 = ST_GeomFromText('Polygon((0 0,0 100,100 100,100 0,0 0))'); +SET DEBUG_SYNC = 'RESET'; +SET DEBUG_SYNC = 'row_search_for_mysql_before_return SIGNAL started WAIT_FOR go_ahead'; +select count(*) from t1 where MBRWithin(t1.c2, @g1);; +connect con1,localhost,root,,; +set session transaction isolation level serializable; +SET DEBUG_SYNC = 'now WAIT_FOR started'; +insert into t1 select * from t1; +SET DEBUG_SYNC = 'now SIGNAL go_ahead'; +connection a; +count(*) +576 +select count(*) from t1 where MBRWithin(t1.c2, @g1); +count(*) +1152 +connection default; +insert into t1 select * from t1; +insert into t1 select * from t1; +set @g1 = ST_GeomFromText('Polygon((0 0,0 100,100 100,100 0,0 0))'); +select count(*) from t1 where MBRWithin(t1.c2, @g1); +count(*) +4608 +set @g1 = ST_GeomFromText('Polygon((10 10,10 800,800 800,800 10,10 10))'); +select count(*) from t1 where MBRWithin(t1.c2, @g1); +count(*) +0 +set session transaction isolation level serializable; +truncate t1; +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(2 2, 150 150)')); +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(3 3, 160 160)')); +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(4 4, 170 170)')); +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(5 5, 180 180)')); +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(6 6, 190 190)')); +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(7 7, 200 200)')); +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(8 8, 210 210)')); +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +connection a; +set session transaction isolation level serializable; +select @@tx_isolation; +@@tx_isolation +SERIALIZABLE +start transaction; +set @g1 = ST_GeomFromText('Polygon((100 100, 100 110, 110 110, 110 100, 100 100))'); +select count(*) from t1 where MBRwithin(t1.c2, @g1); +count(*) +0 +connect b,localhost,root,,; +set session transaction isolation level serializable; +set session innodb_lock_wait_timeout = 1; +select @@tx_isolation; +@@tx_isolation +SERIALIZABLE +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +connection a; +commit; +connection default; +select count(*) from t1; +count(*) +896 +insert into t1 values (105, Point(105, 105)); +connection a; +start transaction; +set @g1 = ST_GeomFromText('Polygon((100 100, 100 110, 110 110, 110 100, 100 100))'); +select count(*) from t1 where MBRwithin(t1.c2, @g1); +count(*) +1 +connection b; +select @@innodb_lock_wait_timeout; +@@innodb_lock_wait_timeout +1 +select @@tx_isolation; +@@tx_isolation +SERIALIZABLE +insert into t1 select * from t1; +ERROR HY000: Lock wait timeout exceeded; try restarting transaction +select count(*) from t1; +count(*) +897 +connection a; +select sleep(2); +sleep(2) +0 +commit; +connection default; +truncate t1; +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(2 2, 150 150)')); +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(3 3, 160 160)')); +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(4 4, 170 170)')); +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(5 5, 180 180)')); +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(6 6, 190 190)')); +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(7 7, 200 200)')); +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(8 8, 210 210)')); +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +connection a; +set session transaction isolation level serializable; +select @@tx_isolation; +@@tx_isolation +SERIALIZABLE +start transaction; +set @g1 = ST_GeomFromText('Polygon((100 100, 100 110, 110 110, 110 100, 100 100))'); +select count(*) from t1 where MBRwithin(t1.c2, @g1); +count(*) +0 +connection b; +set session transaction isolation level serializable; +set session innodb_lock_wait_timeout = 1; +select @@tx_isolation; +@@tx_isolation +SERIALIZABLE +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +connection a; +commit; +connection default; +select count(*) from t1; +count(*) +1792 +insert into t1 values (105, Point(105, 105)); +connection a; +start transaction; +set @g1 = ST_GeomFromText('Polygon((100 100, 100 110, 110 110, 110 100, 100 100))'); +select count(*) from t1 where MBRwithin(t1.c2, @g1); +count(*) +1 +select count(*) from t1 where MBRIntersects(t1.c2, @g1); +count(*) +1793 +connection b; +select @@innodb_lock_wait_timeout; +@@innodb_lock_wait_timeout +1 +select @@tx_isolation; +@@tx_isolation +SERIALIZABLE +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(8 105, 200 105)')); +ERROR HY000: Lock wait timeout exceeded; try restarting transaction +select count(*) from t1; +count(*) +1793 +connection a; +select sleep(2); +sleep(2) +0 +commit; +connection default; +truncate t1; +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(2 2, 150 150)')); +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(3 3, 160 160)')); +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(5 5, 180 180)')); +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(6 6, 190 190)')); +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(7 7, 200 200)')); +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(8 8, 210 210)')); +set @g1 = ST_GeomFromText('Polygon((3 3, 3 5, 5 5, 5 3, 3 3))'); +start transaction; +delete from t1 where MBRWithin(t1.c2, @g1); +connection a; +set session innodb_lock_wait_timeout = 1; +select @@innodb_lock_wait_timeout; +@@innodb_lock_wait_timeout +1 +insert into t1 values(4, Point(4,4)); +ERROR HY000: Lock wait timeout exceeded; try restarting transaction +connection default; +rollback; +connection default; +truncate t1; +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(2 2, 150 150)')); +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(3 3, 160 160)')); +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(5 5, 180 180)')); +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(6 6, 190 190)')); +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(7 7, 200 200)')); +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(8 8, 210 210)')); +set @g1 = ST_GeomFromText('Polygon((3 3, 3 5, 5 5, 5 3, 3 3))'); +start transaction; +select count(*) from t1 where MBRWithin(t1.c2, @g1) for update; +count(*) +0 +connection a; +set session innodb_lock_wait_timeout = 1; +select @@innodb_lock_wait_timeout; +@@innodb_lock_wait_timeout +1 +insert into t1 values(4, Point(4,4)); +ERROR HY000: Lock wait timeout exceeded; try restarting transaction +connection default; +rollback; +connection default; +truncate t1; +create procedure insert_t1(IN start int, IN total int) +begin +declare i int default 1; +set i = start; +while (i <= total) DO +insert into t1 values (i, Point(i, i)); +set i = i + 1; +end while; +end| +CALL insert_t1(0, 1000); +connection a; +set session transaction isolation level serializable; +select @@tx_isolation; +@@tx_isolation +SERIALIZABLE +start transaction; +set @g1 = ST_GeomFromText('Polygon((800 800, 800 1000, 1000 1000, 1000 800, 800 800))'); +select count(*) from t1 where MBRwithin(t1.c2, @g1); +count(*) +199 +connection b; +CALL insert_t1(1001, 2000); +set session transaction isolation level serializable; +set session innodb_lock_wait_timeout = 1; +insert into t1 values (1200, Point(950, 950)); +ERROR HY000: Lock wait timeout exceeded; try restarting transaction +connection a; +select sleep(2); +sleep(2) +0 +commit; +disconnect a; +disconnect b; +connection default; +drop table t1; +drop procedure insert_t1; +create table t1 (c1 int, c2 geometry not null, spatial index (c2))engine=innodb; +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(2 2, 150 150)')); +INSERT INTO t1 VALUES (2, ST_GeomFromText('LineString(3 3, 160 160)')); +INSERT INTO t1 VALUES (2, ST_GeomFromText('LineString(4 4, 170 170)')); +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(5 5, 180 180)')); +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(6 6, 190 190)')); +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(7 7, 200 200)')); +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(8 8, 210 210)')); +connect a,localhost,root,,; +SET SESSION debug_dbug='+d,rtr_pcur_move_to_next_return'; +set transaction isolation level serializable; +start transaction; +set @g1 = ST_GeomFromText('Polygon((100 100, 100 110, 110 110, 110 100, 100 100))'); +select count(*) from t1 where MBRwithin(t1.c2, @g1); +count(*) +0 +connect b,localhost,root,,; +delete from t1 where c1 = 1; +connection a; +commit; +set transaction isolation level serializable; +start transaction; +set @g1 = ST_GeomFromText('Polygon((0 0, 0 300, 300 300, 300 0, 0 0))'); +select count(*) from t1 where MBRwithin(t1.c2, @g1); +count(*) +2 +connection b; +set session innodb_lock_wait_timeout = 1; +delete from t1 where c1 = 2; +ERROR HY000: Lock wait timeout exceeded; try restarting transaction +connection a; +commit; +connection default; +drop table t1; +SET DEBUG_SYNC= 'RESET'; +create table t1 (c1 int, c2 geometry not null, spatial index (c2))engine=innodb; +start transaction; +insert into t1 values(1, Point(1,1)); +insert into t1 values(2, Point(2,2)); +insert into t1 values(3, Point(3,3)); +insert into t1 values(4, Point(4,4)); +insert into t1 values(5, Point(5,5)); +insert into t1 values(6, Point(6,6)); +insert into t1 values(7, Point(7,7)); +insert into t1 values(8, Point(8,8)); +insert into t1 values(9, Point(9,9)); +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +select count(*) from t1; +count(*) +4608 +connection b; +set @g1 = ST_GeomFromText('Polygon((0 0,0 100,100 100,100 0,0 0))'); +set transaction isolation level read uncommitted; +SET DEBUG_SYNC= 'row_search_for_mysql_before_return SIGNAL siga WAIT_FOR sigb'; +select count(*) from t1 where MBRWithin(t1.c2, @g1); +connection default; +SET DEBUG_SYNC= 'now WAIT_FOR siga'; +rollback; +SET DEBUG_SYNC= 'now SIGNAL sigb'; +connection b; +count(*) +1 +select count(*) from t1 where MBRWithin(t1.c2, @g1); +count(*) +0 +connection default; +DROP TABLE t1; +SET DEBUG_SYNC = 'RESET'; +create table t1 (c1 int, c2 geometry not null, spatial index (c2))engine=innodb; +insert into t1 values(100, point(100, 100)); +create procedure insert_t1(IN total int) +begin +declare i int default 1; +while (i <= total) DO +insert into t1 values (i, Point(i, i)); +set i = i + 1; +end while; +end| +start transaction; +CALL insert_t1(100); +connection a; +set @g1 = ST_GeomFromText('Polygon((0 0,0 1000,1000 1000,1000 0,0 0))'); +SET DEBUG_SYNC= 'rtr_pcur_move_to_next_return SIGNAL siga WAIT_FOR sigb'; +select count(*) from t1 where MBRWithin(t1.c2, @g1);; +connection default; +SET DEBUG_SYNC= 'now WAIT_FOR siga'; +rollback; +SET DEBUG_SYNC= 'now SIGNAL sigb'; +connection a; +count(*) +1 +connection default; +drop procedure insert_t1; +DROP TABLE t1; +disconnect a; +disconnect b; +connection default; +SET DEBUG_SYNC = 'RESET'; diff --git a/mysql-test/suite/innodb_gis/r/rtree_create_inplace.result b/mysql-test/suite/innodb_gis/r/rtree_create_inplace.result new file mode 100644 index 00000000..a8898f5c --- /dev/null +++ b/mysql-test/suite/innodb_gis/r/rtree_create_inplace.result @@ -0,0 +1,37 @@ +CREATE TABLE t1 (c1 INT, c2 GEOMETRY NOT NULL, c3 GEOMETRY NOT NULL) ENGINE=INNODB; +INSERT INTO t1 VALUES(1, Point(1,1), ST_GeomFromText('POLYGON (( 0 -1, 0 1, 2 1, 2 -1, 0 -1))')); +INSERT INTO t1 VALUES(2, Point(2,2), ST_GeomFromText('POLYGON (( 0 -3, 0 -1, 2 -1, 2 -3, 0 -3))')); +INSERT INTO t1 VALUES(3, Point(3,3), ST_GeomFromText('POLYGON (( 1 0, 1 2, 3 2, 3 0, 1 0))')); +INSERT INTO t1 VALUES(4, Point(4,4), ST_GeomFromText('POLYGON (( -3 0, -3 2, -1 2, -1 0, -3 0))')); +INSERT INTO t1 VALUES(5, Point(5,5), ST_GeomFromText('POLYGON (( 0 0, 0 1, 1 1, 1 0, 0 0))')); +INSERT INTO t1 VALUES(6, Point(6,6), ST_GeomFromText('POLYGON (( 2 0, 2 2, 4 2, 4 0, 2 0))')); +INSERT INTO t1 VALUES(7, Point(7,7), ST_GeomFromText('POLYGON (( 0 3, 0 5, 2 5, 2 3, 0 3))')); +INSERT INTO t1 VALUES(8, Point(8,8), ST_GeomFromText('POLYGON (( 0 1, 0 3, 2 3, 2 1, 0 1))')); +INSERT INTO t1 VALUES(9, Point(9,9), ST_GeomFromText('POLYGON (( 0 0, 0 3, 3 3, 3 0, 0 0))')); +INSERT INTO t1 SELECT * FROM t1; +INSERT INTO t1 SELECT * FROM t1; +INSERT INTO t1 SELECT * FROM t1; +INSERT INTO t1 SELECT * FROM t1; +INSERT INTO t1 SELECT * FROM t1; +INSERT INTO t1 SELECT * FROM t1; +INSERT INTO t1 SELECT * FROM t1; +INSERT INTO t1 SELECT * FROM t1; +INSERT INTO t1 SELECT * FROM t1; +CREATE SPATIAL INDEX idx ON t1(c2); +SELECT COUNT(*) FROM t1; +COUNT(*) +4608 +SET @g1 = ST_GeomFromText('Polygon((0 0,0 100,100 100,100 0,0 0))'); +SELECT COUNT(*) FROM t1 WHERE MBRWithin(t1.c2, @g1); +COUNT(*) +4608 +SET @g1 = ST_GeomFromText('Polygon((10 10,10 800,800 800,800 10,10 10))'); +SELECT COUNT(*) FROM t1 WHERE MBRWithin(t1.c2, @g1); +COUNT(*) +0 +ALTER TABLE t1 DROP INDEX idx, ADD SPATIAL INDEX idx3(c2); +SET SESSION debug="+d,row_merge_instrument_log_check_flush"; +Warnings: +Warning 1287 '@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead +ALTER TABLE t1 DROP INDEX idx3, ADD SPATIAL INDEX idx4(c2), ADD SPATIAL INDEX idx5(c3); +DROP TABLE t1; diff --git a/mysql-test/suite/innodb_gis/r/rtree_debug.result b/mysql-test/suite/innodb_gis/r/rtree_debug.result new file mode 100644 index 00000000..7306a8b6 --- /dev/null +++ b/mysql-test/suite/innodb_gis/r/rtree_debug.result @@ -0,0 +1,66 @@ +create table t1 (c1 int, c2 geometry not null, spatial index (c2))engine=innodb; +create procedure insert_t1(IN total int) +begin +declare i int default 1; +while (i <= total) DO +insert into t1 values +(i, Point(i, i)), +(i + 1, Point(i + 1, i + 1)), +(i + 2, Point(i + 2, i + 2)), +(i + 3, Point(i + 3, i + 3)), +(i + 4, Point(i + 4, i + 4)), +(i + 5, Point(i + 5, i + 5)), +(i + 6, Point(i + 6, i + 6)), +(i + 7, Point(i + 7, i + 7)), +(i + 8, Point(i + 8, i + 8)), +(i + 9, Point(i + 9, i + 9)); +set i = i + 10; +end while; +end| +CALL insert_t1(5000); +select count(*) from t1; +count(*) +5000 +check table t1; +Table Op Msg_type Msg_text +test.t1 check status OK +truncate table t1; +CALL insert_t1(10000); +select count(*) from t1; +count(*) +10000 +drop index c2 on t1; +create spatial index idx on t1(c2); +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `c1` int(11) DEFAULT NULL, + `c2` geometry NOT NULL, + SPATIAL KEY `idx` (`c2`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci +SET @save_dbug = @@SESSION.debug_dbug; +SET debug_dbug='+d,row_merge_ins_spatial_fail'; +create spatial index idx2 on t1(c2); +ERROR HY000: Got error 1000 "Unknown error 1000" from storage engine InnoDB +SET @@SESSION.debug_dbug = @save_dbug; +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `c1` int(11) DEFAULT NULL, + `c2` geometry NOT NULL, + SPATIAL KEY `idx` (`c2`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci +check table t1; +Table Op Msg_type Msg_text +test.t1 check status OK +truncate table t1; +CALL insert_t1(100000); +select count(*) from t1; +count(*) +100000 +check table t1; +Table Op Msg_type Msg_text +test.t1 check status OK +truncate table t1; +drop procedure insert_t1; +drop table t1; diff --git a/mysql-test/suite/innodb_gis/r/rtree_drop_index.result b/mysql-test/suite/innodb_gis/r/rtree_drop_index.result new file mode 100644 index 00000000..e2e64786 --- /dev/null +++ b/mysql-test/suite/innodb_gis/r/rtree_drop_index.result @@ -0,0 +1,23 @@ +# +# Bug #21899444 INNODB: ASSERT FAILURE (COL->ORD_PART) +# IN DICT_COL_GET_SPATIAL_STATUS() +connect purge_control,localhost,root; +START TRANSACTION WITH CONSISTENT SNAPSHOT; +connection default; +CREATE TABLE t1 ( +p INT NOT NULL AUTO_INCREMENT, +g LINESTRING NOT NULL, +PRIMARY KEY(p) +) ENGINE=InnoDB ROW_FORMAT=dynamic; +ALTER TABLE t1 ADD INDEX`si`(g(500)); +INSERT INTO t1(g) VALUES(ST_linefromtext(concat('linestring','(18 106,19 106,24 111,27 108,32 104,37 107,42 107,44 112,44 116,40 118,43 114,46 114,42 118,44 123,45 123,49 123,53 119,50 123,50 124,54 126,58 125,59 126,64 127,65 127,69 131,74 132,75 135,78 139,2078 141,2075 143,2077 143,2079 143,2084 143,2085 147,2090 -1853,2086 -1852,2086 -1856,2089 -1852,2093 -1850,2090 -1851,2090 -1852,2091 -1851,2092 -1850,2097 -1847,2102 -1848,2100 -1852,2100 -1852,7100 -1851,7103 -1850,7104 -1847,7109 -1842,65 127,67 131,66 131,61 132,61 133,62 137,65 1137,2065 1135,2061 1135,2064 1135,5064 1135,5066 1135,5070 1136,5070 1141,5071 1138,5074 1141,5075 1141,5074 1137,5076 1137,5071 1139,5066 1142,5065 2142,5068 2147,5073 2151,5069 2156,5071 2157,5072 2162,5074 2165,5069 2169,5072 2169,5076 2173,5074 2169,5078 2169,5076 2170,76 2175,74 2179,75 2184,80 2188,83 2190,87 2189,84 2193,87 2189,86 2190,87 2195,87 2200,87 1200,85 1202,86 1199,87 1200,87 1201,91 1206,92 1204,94 1204,98 1206,102 1208,105 1211,102 1216,105 1220,109 1224,110 1224,114 1225,117 1224,118 1229,117 1232,122 1237,123 1236,120 1235,124 1237,121 1236,122 1240,126 1244,127 1246,126 1249,125 5249,123 5251,127 5251,131 5251,135 5256,138 5257,135 5257,139 5257,138 5258,141 5260,146 5260,146 5260,143 10260,147 10265,151 10270,156 10266,157 10269,162 10273,166 12273,168 12274,163 12270,168 12275,170 12277,170 12277,-3830 12277,-3825 12277,-3824 12278,-3825 12276,-3825 12278,-3822 12277,-3825 12275,-3829 12278,-3828 12275,-3824 12280,-3827 12280,-3826 12282,-3822 12283,-3822 12286,-3820 12288,-3818 12289,-3816 12294,-3817 12297,-3819 12300,-3816 12297,-3813 12295,-3811 12299,-3811 12297,-3806 12298,-3806 12298,-3804 12301,-3801 12306,-3803 17306,-3803 17306,-3798 17306,-3803 17310,-3801 17314,-3798 17317,-3797 17317,-797 17321,-797 17323,-796 17325,-793 17326,-792 17322,-789 17327,-784 17331,-780 17335,-776 17339,-774 17339,-771 17342,-770 17345,-765 17348,-765 17349,-763 17353,-760 17350,-760 22350,-756 22346,-752 22349,-748 22352,-752 22348,-748 22347,-746 22345,-745 27345,-743 27346,257 27350,260 27349,261 27352,266 27348,266 22348,269 22347,271 22347,272 22347,273 22348,273 22352,278 22348,279 22344,282 22345,282 22342,283 22347,283 22347,288 22349,292 22347,292 22348,293 22348,298 22348,303 22351,306 22352,309 22352,308 22354,310 22356,311 22361,311 22358,311 22360,311 22360,315 22356,320 22358,325 22363,326 22366,321 22371,318 22373,318 22375,314 22375,316 22375,321 22376,321 22376,322 22372,32 104,36 109,40 114,40 113,40 117,44 119,49 123,49 126,49 129,53 133,50 137,50 139,49 137,48 138,43 138,42 139,46 142,46 138,41 139,45 141,4045 5141,4045 5146,4042 5147,4043 10147,4041 10150,4042 10152,4045 10152,4041 10156,4041 10152,4041 10152,4046 10153,4049 10156,4046 10155,4051 10157,4055 10159,4055 10160,4056 10161,4055 10166,4054 10169,4054 10172,4054 15172,4051 15176,4047 15177,4049 15174,4047 15176,4047 15176,4046 15177,4046 15180,4043 15184,4043 15187,4038 15190,4040 15194,4040 15199,4045 15196,4047 15197,4050 15200,4050 15204,4050 15208,4047 15212,4047 15215,4049 15216,4046 15218,4042 15223,4042 15228,4042 15232,4047 15235,4050 15236,4050 15239,4051 15243,4053 15243,4050 17243,4052 17243,4052 18243,4057 18247,4061 18249,4064 18249,4067 20249,4067 20250,4067 20255,4066 20259,4066 20259,4067 20255,4069 20256,4071 20258,4072 20254,4067 20257,4067 20260,4069 20265,4065 20267,4069 20266,4070 20267,4071 20264,4074 20259,4070 20264,4073 20260,4074 20263,4077 20268,4082 20271,4084 20273,4084 20277,4081 18277,4085 18279,4086 18276,4087 18273,4087 18275,4092 18277,4093 18279,4093 18280,4095 18280,4091 18283,4092 18281,4094 18283,4090 18287,4094 18287,138 5257,138 5255,138 5258,-1862 5254,-1860 5256,-1856 5258,-1851 5255,-1850 5260,-1847 5260,-1847 5263,-1847 5258,-1850 5257,-1850 5259,-1851 5257,-1855 5258,-1853 5261,-1849 5261,-1849 5258,-1849 5259,-1845 5264,-1847 5264,-1850 5268,-1852 5266,-1853 5270,-1856 5265,-1852 5262,-1847 5263,-1842 5263,-1842 5260,-1842 5265,-1841 5265,-1844 5265,-1842 5270,-1837 5274,-1838 5279,-1843 5275,-1842 5280,-1838 5281,-1838 5285,-1833 5285,-1828 5288,-1824 5289,-1828 5291,-1831 5291,-1826 5291,-1830 5293,-1826 5296,-1822 5301,-1826 5302,-1826 5302,-1826 5302,-1825 5297,-1820 5299,-1816 5303,-1816 5299,-3811 12299,-3809 12302,-3806 12302,-3806 12302,-3803 12304,-3798 12304,-3797 12304,-3793 12306,-3788 12306,-3783 12309,-3816 12294,-3811 12299,-3809 12297,7100 -1851,7098 -1854,7102 -1854,7107 -1856,7107 -1858,7110 -1854,7110 -1851,7113 -1851,7115 -1851,7120 -1851,7123 -1847,7124 -1852,7125 -1852,7127 -1852,7131 -1852,7129 1148,7129 1145,7133 1150,7137 1148,7138 1147,7143 1149,7147 1154,8147 1155,8152 3155,8147 3157,8143 3158,8144 3160,8144 3164,11144 3167,11146 3167,11148 3163,11152 3161,11148 3159,11149 3163,11150 3161,11151 3166,11154 3171,11154 3170,8144 3160,8144 3163,8144 3166,8145 3166,8146 3171,8146 3174,8144 3174,8144 3174,8145 3176,8141 3180,3141 3182,7141 3183,7141 7183,7136 7185,7136 7185,7133 7187,7136 7187,7131 7190,7136 7194,7137 7197,7141 7196,7139 7199,12139 7200,12143 7200,12143 7199,12144 7203,12145 7200,12141 7200,12136 7195,12136 7191,12137 7191,12137 7196,12139 7197,12140 7197,12137 7201,12140 7204,12140 7209,12143 7209,12145 7210,12147 7214,12148 9214,12152 9218,12149 9218,12149 9221,12149 9220,12150 9222,12153 10222,12153 10226,12156 10227,12159 10223,12160 10220,12161 10225,12161 10227,12163 10224,12163 10223,12158 10224,12158 10227,12158 10231,12155 12231,12157 12226,7136 7185,7139 7189,7139 7189,7139 7188,7137 7191,7139 7191,7140 7189,7143 7191,7144 7189,7144 7190,7149 7193,7152 7194,7154 7198,7153 7203,7148 7207,12148 7209,12146 7209,12145 7213,12140 7217,12139 7219,12141 7219,12138 7218,12143 7218,13143 7220,13140 7224,13142 7228,13137 7231,13142 7235,13146 7239,13149 7243,13148 7247,13150 7248,13155 7249,13155 7253,13155 7253,13155 7258,13157 7260,13162 7255,13159 7255,13163 7258,13164 7258,13164 7263,13167 7264,13167 8264,13165 8265,13169 8265,13171 13265,13175 13261,13176 13259,13176 13259,13180 13262,13181 13262,13183 13262,13188 13265,13191 13267,13191 13265,13194 13267,13191 13269,13192 13264,13196 13269,13198 13272,13200 13272,13202 13270,13207 11270,13211 11270,13211 11273,13213 11274,13217 11275,13222 11276,13222 11272,13226 11274,13231 11277,13233 11282,13236 11284,13238 11284,13236 11286,13236 11288,13236 11283,13236 11284,13238 11289,13241 11292,13244 11292,13245 11289,13241 11294,13244 11298,13249 11301,320 22358,324 24358,328 24358,327 24363,326 24359,327 24361,329 24365,334 24367,-666 24367,-670 24368,49 123,46 127,46 129,49 131,49 136,47 135,45 138,3045 135,3042 138,3044 139,3044 144,3049 144,3053 142,3055 137,3058 136,3053 139,3048 142,7048 138,7048 3138,7048 3139,7048 3140,7050 3145,7053 1145,7050 1146,7053 5146,7048 5150,7047 5146,10047 5147,10043 5147,10047 5147,10050 5152,10052 5155,10054 5156,10056 5157,10056 5159,10058 5162,10062 5164,10062 5169,10066 9169,10068 9168,10063 9164,10063 9169,10061 9171,14061 9172,14061 9174,282 22342,287 22347,288 22347,288 22343,285 22339,280 22338,278 22341,279 25341,284 25343,13241 11294,13246 11296,13243 11296,13244 11291,13245 11291,13244 11291,13246 11295,13251 11300,13253 11305,13253 11306,13258 11305,13255 11306,13256 11309,13256 11311,13261 11307,13265 11303,13267 11305,13270 11301,13275 11298,13271 11300,15271 11302,15276 11306,15279 11303,15284 11305,15286 11305,15289 11307,15290 11302,15292 11305,15296 11309,15297 11313,15298 11316,15300 11317,15304 11320,15306 11324,15306 11320,15307 11320,15312 11320,15313 11319,15317 11317,15315 11321,15317 11323,15317 11328,15319 11333,15322 11336,15322 11337,15322 11337,15324 11341,15324 11345,15325 14345,15328 13345,17328 13346,17333 13349,17337 13354,17338 13358,17342 13358,17346 13353,17348 13353,17345 13353,17348 13354,17347 13354,17347 13354,17347 13355,22347 13358,22349 13355,22351 13355,22356 13354,22358 13354,22361 13355,22362 13355,22358 13355,22359 13359,22364 13364,22369 13369,22372 13373,22376 13371,22377 13371,22377 13369,22381 13374,22386 13379,22387 13376,22387 13380,22392 13378,22390 13374,22392 13378,22391 13378,22391 13375,22392 13378,22390 13380,22393 13382,22398 13387,22398 10387,22402 10391,22399 10392,22400 10392,22400 10394,22404 10391,22403 15391,22405 15392,22407 15392,22412 15387,22412 15390,22412 15394,22408 15396,26408 15398,26407 20398,26411 20402,26415 20406,26417 20411,26420 20407,26422 20407,31422 16407,31421 16405,31421 16410,31423 16410,31426 16414,31426 16410,31430 16415,31430 16418,31435 16419,31437 16420,31438 16422,31438 16425,31438 16425,31441 16427,31439 16431,31441 16436,36441 16436,36443 18436,36442 18437,36440 18440,36440 18436,36440 18440,36442 18445,36443 18446,36447 18451,37447 23451,37452 23456,37456 23455,37458 23459,37456 23461,37458 23463,37460 23466,37464 23469,37460 23474,37462 23476,37461 26476,37466 26479,37470 26483,37471 26488,37474 26489,37474 26485,37474 26483,37474 26488,37470 26492,37474 26497,37474 26499,37478 26495,37483 26499,37483 26501,37488 26496,37491 26499,37495 26495,37500 26496,37500 26497,37500 26501,37497 26499,37497 26499,37495 26504,37498 26504,37494 26509,37497 26514,37495 26515,37498 26514,37503 26514,37508 26512,37510 26516,37511 26519,37509 26523,37506 26528,37507 26532,37512 26536,37513 26538,37510 26542,37512 26544,37517 26543,37522 26546,37527 26551,37525 26555,37529 26558,37524 26563,37524 26562,37527 26562,37522 26562,37522 26559,37526 26561,37522 26559,37523 26561,37523 26556,37524 26558,40524 26560,40524 26563,40521 26567,40525 26566,40527 26568,40532 26572,40534 26569,40533 26565,40531 26565,40535 26569,40535 26570,40539 26572,40544 26575,40543 26575,40544 26579,40548 26584,40549 26581,40553 26585,40556 26590,40552 22590,40557 22594,40556 22595,40561 22592,40561 22593,40565 22593,40568 22593,40573 22588,40570 22590,40570 22591,40570 22588,40573 22590,40573 22593,40568 22593,40567 22597,40567 22599,40571 22599,40574 22600,40574 22604,42574 22607,42577 22607,42577 22612,42579 22616,38579 22619,38580 22617,38580 22614,38575 22619,38579 22619,38579 18619,38582 18614,38582 18617,38586 18622,38590 18625,38590 18622,38594 18621,38596 18616,38597 18614,38597 18618,38600 21618,38601 21618,38605 21620,38607 25620,38611 25620,38608 25617,38608 25621,38608 25625,38611 25623,38615 25623,38615 25620,38616 25622,38619 25624,38620 25625,38620 26625,38623 26627,38623 26627,311 22358,311 22359,-1689 22360,2311 27360,2312 27360,2312 27360,2317 27362,2317 27362,2319 27359,2319 27364,2318 27359,2321 27364,2326 27367,2325 27371,2326 27373,2326 27373,2325 27377,2329 27377,2327 27377,2330 27379,2333 27379,2331 27379,2331 27381,2336 27381,6336 27382,6336 27383,40527 26568,40531 26572,40533 26574,40538 26576,40533 26580,40538 26585,40539 26588,40536 26583,40540 26587,40539 26588,40535 26593,40540 26594,40544 26597,40548 26602,40548 26601,40549 26602,40547 26602,40548 26603,40553 26606,40548 26606,40548 26603,40551 26608,40556 26612,40559 26616,40554 26619,40556 26619,40556 26623,42556 26623,42556 26624,42560 26624,42562 26626,42563 26630,42564 26630,42564 26634,42559 26635,42562 26635,42565 26637,42562 26638,42564 26642,42564 26641,42568 26641,42572 26641,42572 29641,42574 29642,39574 29641,39574 34641,39576 34643,39581 34638,39578 34638,39574 34642,39574 34645,39572 35645,34572 35648,34577 35651,39577 35655,43577 35659,43580 35655,43575 35658,43578 35658,43581 35662,43577 39662,43572 39658,43572 39661,43572 39664,43572 39666,43576 39670,43577 39667,43580 39671,43576 39673,43573 39673,43574 39677,43569 39679,43567 39679,43568 39683,43563 39686,43566 39690,43566 39692,43568 39694,43568 39695,41568 39691,41570 39692,41571 39692,41571 39693,41571 39698,41571 39698,41574 39698,41569 39698,41570 39699,41570 39704,41572 39709,41573 39712,41578 39713,41579 39717,41584 39719,41585 39720,-1850 5268,-1845 5268,-1847 5266,-1842 5268,-1840 5263,-1845 5264,-1843 5264,-1839 8264,-1839 8267,-1839 8272,-1838 8276,-1834 8273,-1834 8273,-1833 8274,-1837 8279,-1836 8283,-1834 8286,-1836 8282,-1834 8279,-1835 8279,-1834 8280,-1836 8283,-1841 8288,-1846 8289,-1843 8286,-1838 8286,-1841 8285,-1838 8285,-1834 8288,-1829 8291,-1825 8286,-1825 8289,-1825 8287,-1824 8291,-1822 8294,-1821 8298,-1818 8300,-1818 8296,-1814 8296,-1811 8295,-1808 8292,1192 8296,1192 8297,1195 11297,1192 11301,1195 11305,1197 11300,1193 11300,1193 11296,1193 11293,1194 11294,1199 11292,1204 11292,1205 11294,1210 11292,1208 11288,1204 11290,1205 11289,1207 8289,1202 8284,1204 8282,1204 8281,1206 8281,1208 8281,1212 8283,1212 13283,1213 13287,1213 13290,1216 13293,1214 13289,1217 13286,1212 13291,1208 13288,1208 13292,1209 13297,1208 13296,1204 13298,1205 13303,1209 13308,1204 13308,1209 13304,1210 13304,1214 13309,1214 13314,1215 13314,1219 13314,1219 13319,1224 13320,1229 13321,1232 13325,1233 13329,1231 13329,1234 13334,-2766 13336,-2769 13337,-2765 13340,-2762 13345,-2760 13342,2240 13342,2238 13342,2242 13342,2246 13345,2246 13346,2244 13348,2239 13348,2240 13351,2240 13352,2245 13357,2248 13357,2243 13362,2247 13362,2248 13362,2252 13363,2256 13363,2256 13363,2260 13367,2255 13372,2251 13369,2251 13369,2252 13372,2249 13376,2254 13378,2255 13382,2259 13379,2262 13379,2267 13381,2262 13381,2262 13383,2265 13383,2269 13385,2270 13386,2271 13389,2267 13391,2271 13386,2275 13391,2273 13392,2275 13387,2277 13390,2274 13390,2275 13394,2280 13395,2280 11395,2281 14395,2279 14400,2277 14403,2273 14406,2274 16406,2274 16410,2279 16410,2284 16411,2280 16409,2280 16409,2282 16409,2282 16411,2282 16412,2280 16413,3280 16418,3284 16418,3285 16423,3289 16423,3292 16427,3294 16429,3296 16431,3297 16436,3298 16435,3303 16435,3305 16434,3305 16436,3305 16436,3309 16437,3309 16438,3308 16439,3308 16439,3306 16444,3302 16441,-1698 16437,-1703 16438,-1699 16438,-1697 16438,-1698 16439,-1695 16436,-1690 16441,-1687 16446,-1683 16450,-1682 16451,-1684 16453,-1682 16457,-1682 16457,-1686 16460,-1681 16459,-1680 16456,-1677 16460,-1681 16461,-1679 16464,-1674 16465,-1673 16469,-1669 16471,-1669 16476,-1665 16474,-1665 16478,-1664 16478,-1664 16479,-1661 16474,-1656 16471,-1655 11471,-1660 11473,-1663 11475,-1666 11480,3334 15480,3338 15476,3342 15471,3345 15471,3345 15470,3350 15469,3347 15474,3351 15476,3352 15473,3353 15476,3350 15477,3350 15479,3351 15482,3352 15484,3351 15487,3353 15487,3358 15487,3353 15486,1217 13286,1222 13291,1222 13291,1225 13286,1229 13286,1231 13281,1235 13280,1236 13281,1241 13282,1245 13285,1247 13285,1247 13287,1250 13287,1247 13290,1247 13295,1247 13298,1252 13301,1249 13304,1252 13304,3252 13304,3247 13304,3249 13308,3254 13308,3257 13308,3261 17308,3261 17309,3261 17306,3259 17305,3262 17310,3263 17308,3262 17311,3259 17314,3259 17314,3257 17309,3254 17309,3253 17309,3255 17310,3253 17312,3255 17312,3255 17312,3256 17307,3257 17307,3256 17311,3256 17313,3255 17317,3251 17317,3248 17321,3253 17325,3256 17326,3258 17324,3258 17327,3263 17322,7263 17325,7265 17328,7263 17330,7265 17333,7270 17333,7273 17333,7278 17336,4278 21336,4278 21340,4279 21340,4281 21340,4286 24340,4290 24343,9290 24347,9294 24349,9296 24347,9298 25347,9301 25348,9301 25348,9304 25353,9303 25357,9303 25352,11303 25355,11304 25358,11307 25358,11312 25358,11312 25361,11310 25365,11313 25365,11314 25369,11319 25371,11321 25371,11325 25366,11329 25365,11330 25366,11329 25370,11330 25365,11334 25367,11338 25366,11343 25363,11348 25359,11345 25356,11348 25357,11349 25358,11349 25358,11352 25360,11356 30360,11360 30365,11360 30365,11362 30365,11367 30367,11368 30369,15368 30370,15373 30371,15376 30373,14376 30378,14377 30383,14381 30378,14386 30380,14388 30382,14391 30385,14393 31385,16393 31389,16396 31394,16396 31397,16392 31400,16395 31405,16398 31409,16398 31413,16397 31415,16396 31417,16401 31418,16401 31422,16402 31419,16407 31420,16411 31419,16406 31423,18406 31427,18411 31432,18415 28432,18417 28437,18418 28441,18414 28438,18417 28435,18416 28439,18420 28442,18423 28447,18427 28444,21427 28445,21428 28450,22428 28455,22432 28457,22436 28458,22441 28458,22445 28463,22448 28468,22451 28465,22456 28468,22453 28468,22458 28471,22463 28473,22460 28475,22459 28472,22463 28476,22464 28472,22468 28468,22468 28471,25468 28466,25471 28468,25473 28464,25473 28464,25475 29464,25476 29466,25479 29461,25476 29462,25476 29464,25478 29464,25483 29461,25484 29460,25486 29458,25486 29462,25490 29460,25495 26460,25498 26463,25495 26468,25495 26472,25495 26472,25499 26474,25504 26476,25504 26478,25509 26476,25513 26479,25514 26481,25519 26477,25519 26480,25518 26481,25519 26484,25524 26483,25527 26484,25522 26484,25526 26487,25528 26492,25533 26496,25535 26498,25535 26498,25539 26503,25542 26504,25543 26505,25547 26510,25552 26510,25551 26508,25550 26512,25553 26510,25557 26510,25554 26511,25552 26508,25556 26505,25556 26506,25560 26506,25560 26507,25560 26506,25565 26501,25567 26504,25569 26504,25568 26508,25571 26508,25571 26511,25576 26511,25581 26516,25581 26519,25582 26521,25585 26522,25588 26527,25588 26526,25584 26530,25587 26534,25589 26529,25593 26533,25598 26538,25599 26540,25599 26540,25599 26540,25604 26543,25603 26543,25603 26538,25606 26538,25609 26540,25611 26542,25612 26547,25612 26547,25612 26548,25617 25548,25612 25548,25613 25547,25616 25545,25616 25549,25618 25551,25620 25555,25620 25551,25622 25550,25625 25551,25622 25555,25619 25557,25617 25556,25622 28556,25625 28551,25630 28546,25634 28548,25639 28553,25643 28553,25638 25553,25634 25553,25634 25557,25639 25557,25643 25558,25644 25553,25646 25556,25647 25560,25650 25562,25650 30562,25650 30562,25650 30564,25650 30566,25652 30570,25656 30571,25661 31571,25662 31575,25663 31579,25662 31579,25665 31581,25666 31584,25671 31582,25674 31581,25674 31584,25676 31584,25673 31587,25678 31586,25679 31581,30679 31584,30675 31589,30680 31590,35680 31590,35675 31589,35677 31591,35680 31590,35681 31587,35684 31588,35685 31589,35689 31592,35689 31593,35692 31597,35696 31597,35700 34597,35699 34599,35703 34604,35703 34606,35702 34601,35705 34603,35705 34606,35708 34603,35713 34604,35717 34603,35719 34608,35715 34608,35711 34608,35713 34609,35714 34605,35714 34610,35714 34614,35718 34616,35719 34617,35722 34618,35722 34621,35725 34625,35725 34626,35725 34629,35725 34631,35725 34635,35730 34636,35727 34638,35731 34640,35735 34642,35739 34645,35741 34645,35742 34649,35738 34649,35738 34645,35741 34647,38741 34650,38741 37650,38742 37646,38746 37651,38749 37652,38753 37653,38753 37657,38757 37656,38756 37660,38761 37660,38765 37660,38760 37660,38759 37660,38760 41660,38760 41660,38762 41665,38757 41667,43757 41669,43752 41674,43752 41677,43757 41672,43758 41677,45758 41680,45758 41679,45762 41683,45765 41683,45769 41683,45770 41684,45768 46684,45773 46688,45776 46692,45774 46694,45775 46697,45778 46695,45776 46698,45774 46702,45779 46702,45784 46704,45787 46706,45791 46711,45786 46707,45790 46711,45793 46715,45796 46719,45799 46724,45797 46728,45802 46726,45797 46729,45801 46733,45802 46733,45803 46732,45804 46732,45805 46732,45808 46735,45810 46740,45810 46744,2326 27373,2322 27377,2323 27379,2325 27383,2325 27382,2322 27382,2323 27382,5323 23382,5325 23385,5329 23386,5330 23390,5335 23392,5330 23392,5330 23395,5329 23395,5333 23399,5333 23402,5338 23405,5339 23405,5334 23406,5329 23401,5332 23403,5330 23407,5333 23409,5328 20409,5324 20411,5324 20414,5329 20416,5328 20421,5325 20421,5329 20424,5330 20424,5335 21424,5331 21427,5333 21431,5334 21433,5329 21434,5330 21437,5333 21440,5338 21437,5338 21440,5334 21441,5333 21438,5329 26438,5332 26435,5335 26439,5337 26440,5338 26444,5342 26439,5342 26442,5345 26440,5349 26438,5352 26442,5349 26445,5348 30445,5350 30447,5350 30444,5354 30444,5359 30443,5363 30445,5367 30446,5367 30448,5367 30453,5371 30455,5371 30453,5373 30458,5375 30461,5380 30463,5384 30463,5383 30459,5384 30459,5383 30459,5385 30460,5390 30459,5392 30464,5394 30464,5389 30465,5393 30469,5391 30469,5391 30469,5395 30474,5396 30470,5399 30470,5401 30467,5401 30468,5404 30470,5400 30465,5401 30462,5403 30467,5404 30467,5409 30469,5412 30473,5412 30477,5407 30481,8407 30486,8408 30489,8410 30490,8410 30489,8413 30490,8414 30493,8414 30496,8419 30501,8420 30502,8415 30507,13415 30509,13411 30506,13414 30507,13412 30511,13412 30515,13417 30518,13419 30523,13418 30527,13422 30529,13418 30531,13413 35531,13409 35531,13413 35532,13417 35537,13419 35533,13423 35529,13424 35529,13423 35524,13428 35525,13433 35526,13438 35530,13443 35531,13448 35531,13452 35532,13455 35536,13457 35536,13452 35536,13455 35539,13452 35535,13457 35540,13457 35544,18457 35546,18460 35547,22460 35546,22465 35550,22466 35554,22468 35552,22473 35555,22471 35559,22470 35564,22472 35564,22470 35569,22474 35569,22474 35571,22477 35573,22482 35576,22487 35580,22488 35583,22489 35585,22493 35585,22496 35585,25496 35586,25493 35582,25494 35585,25498 35585,25496 35585,25498 35587,25503 35591,25503 35593,25499 35590,25499 35591,25495 35591,26495 35595,29495 35591,29495 35593,29498 35597,29498 35601,29500 35606,29501 30606,29502 30603,29505 30603,29510 30606,29511 30606,29514 30607,29516 30610,29518 30608,3259 17305,3263 17304,3267 17303,3271 17308,3269 17312,3269 17313,3274 17315,3277 17315,3282 17311,3285 17313,3283 17309,3278 17310,3275 17315,3275 17317,3276 17322,3280 17324,3280 17324,3276 17325,3277 17325,3276 17328,3278 17324,3273 17329,3277 17331,3280 17326,3281 17328,3276 17324,3277 17324,3277 17322,3277 17321,3277 17321,3281 17323,3282 17327,3282 17332,3287 17335,3288 17335,3288 17338,3290 17337,3294 17340,3294 17341,3299 17341,3299 12341,3299 12342,3304 12339,3301 14339,3305 14340,3307 14341,3311 14343,3313 14343,3314 16343,3310 16341,3310 16346,3312 16348,3311 16349,4311 16346,4316 16348,4321 16344,4324 16348,4322 16349,4323 16346,4323 16346,4326 16350,4322 16354,4323 16356,4325 16361,4325 16358,4322 16362,4325 20362,4325 20366,4322 20367,4326 20372,4326 20374,4331 20373,4333 20373,4338 20376,4339 20379,4341 20382,4338 20384,4339 20386,4340 20383,4340 20383,4335 20388,4336 20390,4341 20390,4346 20391,4348 20391,4349 20393,37497 26499,37494 26496,37496 26500,37496 26501,37499 26506,37497 26502,37498 26502,37500 29502,37500 29507,37505 29508,37506 33508,37508 33513,37513 33518,37517 33522,37516 33520,37521 33521,37521 33525,37516 33530,37519 33528,37520 33528,37524 33530,37527 33530,37525 33527,37528 33530,37533 33533,37534 38533,37536 38536,22358 13355,25358 13360,25361 13358,25362 13362,25362 13362,25365 13365,25363 13367,25359 13369,25357 13374,25360 13374,2247 13362,2252 13366,2254 13363,2257 13363,2261 13358,2264 13354,2264 13356,2269 13361,2272 13363,2274 13363,2275 13363,2273 13362,2274 13365,2278 13365,2280 13370,2284 13366,2284 13365,2289 13368,2290 13366,2293 13368,2298 13373,2298 13372,2295 13375,271 22347,273 22350,4273 22347,4269 22348,4270 22350,4271 22355,4272 22360,4276 22363,4281 22365,4284 24365,4279 24365,4282 24365,4285 24365,4287 24364,4289 24362,4294 24360,4295 24362,4298 24365,4301 24369,1301 24370,1301 24371,1305 24375,1305 24376,1307 24377,1312 24380,1314 24382,1318 24380,1316 24382,1316 24387,1318 24387,1318 29387,1321 29387,1316 29383,1320 29386,1321 29389,1326 29389,1327 29389,2327 29394,2327 29394,2332 29393,-666 24367,-663 24368,-661 24368,-656 24371,-653 24372,-649 24372,-647 24374,-643 24370,-638 24375,-635 24380,-638 24382,-638 24384,-638 24384,-636 24388,-637 24390,-632 24386,-630 24386,-629 24386,371 24389,376 24394,374 24392,377 24397,3377 24400,6377 24405,6378 24408,6373 24406,6370 24406,6375 24403,6370 24403,6375 24403,6379 24406,6374 24409,6378 24411,6380 24412,6378 24415,6378 24419,6383 24423,6385 24425,6387 24428,6390 24433,6386 24430,6386 24435,6387 24436,6388 24440,6387 24444,6383 29444,6383 29447,6386 29451,6382 29446,6387 29447,6390 29452,6393 29452,6397 29455,6400 29459,6400 29463,6397 29467,6393 29467,6395 29470,6397 29473,6399 29468,6394 29467,6397 29470,6396 29473,6396 29470,6393 29465,6389 29469,6390 29470,6389 29465,6389 29468,6392 29470,6388 33470,6390 33466,6391 33466,6392 33467,6394 33467,322 22372,322 22374,323 22377,327 22378,331 22382,330 22383,332 22386,333 22383,331 22383,330 22387,332 22391,332 22396,337 22397,339 22394,340 22399,340 22398,340 22396,343 22396,343 22396,341 22400,342 22404,343 22402,348 22403,345 22407,347 22411,342 22411,345 22413,340 22417,345 22417,348 22422,348 22426,351 22427,352 22432,352 22436,4352 22438,4353 22442,4354 22444,4354 22447,4357 22449,4360 22450,4364 22450,4367 22451,4369 22453,4366 22455,4369 22453,4373 22458,4377 22459,4380 22459,4380 22464,4385 22467,4385 22467,4390 22469,4385 22469,4385 22472,25571 26508,25574 26507,25578 26512,25581 26512,25581 26512,25583 26508,25583 26513,25587 26516,25589 26515,25590 26515,25591 26517,25589 26520,25587 26522,23587 26526,23585 26531,23589 26534,23592 26538,24592 26543,24588 26545,24593 26547,24598 26543,24598 26548,24602 26545,24598 26540,24600 26545,24600 26548,24600 31548,24605 31549,24608 31551,24613 31552,24615 36552,24616 36557,24619 36557,24622 36560,24622 36564,24627 35564,24627 35569,24632 35569,25632 35570,25635 35569,25636 35573,25636 35573,25638 35576,25641 35580,25641 35583,25641 35588,25642 40588,20642 40593,20645 40593,20650 40595,20651 40591,20651 40594,20648 40591,20648 40591,20652 40596,20652 40596,20656 40597,20656 40600,20656 40601,20659 40598,20662 40597,20662 40597,20663 40600,20668 40601,20665 40606,1215 13314,1214 13319,1212 13317,1209 13312,1210 13312,1211 13317,6211 13320,6214 13320,6216 13320,6211 13323,6214 13318,6214 13323,6214 13324,6216 13319,6219 13323,6218 13321,6219 13321,6218 13326,6221 13329,6225 13331,6230 13335,6231 13339,6231 13343,6235 13338,6234 13342,6234 13344,6236 13345,25524 26483,25521 26484,25524 26489,25527 26487,25529 26484,25530 26482,25534 27482,25539 27486,25537 27488,25541 27483,25544 27486,25547 27490,25550 27491,25550 27491,25554 27486,25559 27486,25563 27489,25561 27489,25563 27493,25561 27491,25563 27493,25563 27495,25564 27497,25563 27497,25563 27497,25558 27498,25563 27499,25565 27503,25567 27503,25569 27503,25567 27504,25565 27505,25565 27505,25565 27505,25566 27505,25570 27501,25570 27497,25574 27498,25570 32498,25570 32501,25573 32501,25576 32497,25576 32498,25577 32501,25579 32503,25583 32504,25588 32507,25592 32512,25596 32507,25599 32507,25594 32503,25597 32506,25597 32510,25594 32509,25594 32510,25596 32513,25592 32513,25594 32515,25594 32520,25598 32520,25602 32517,25603 32518,27603 32520,27607 32523,27608 31523,27613 31527,27615 31527,30615 31530,30617 31530,30618 31532,30619 31536,30623 31537,30623 31538,30625 31538,30626 31541,30627 31541,30624 31540,30623 31540,30624 31545,34624 31546,34619 31543,34623 31545,34624 31549,34624 31548,34626 31550,34626 31555,34626 31551,34628 31555,34633 31555,34636 31559,34634 31564,34636 31564,34639 31562,34639 31560,36639 31555,36636 27555,41636 27557,41640 27554,41644 27558,41647 27559,41648 27555,41653 27555,41658 27555,41658 27552,41658 27552,41660 27550,41656 27554,41661 27558,41664 27561,41667 27566,41662 27562,41663 27563,41663 27565,41662 27569,41661 27569,41664 27571,41664 27567,41659 30567,41660 30565,41660 30561,41665 30566,41664 30561,41664 30561,41664 30562,41664 30563,41660 30558,1312 24380,4312 25380,4315 25384,4315 25385,4319 25383,4322 25388,6322 25387,6322 25387,6326 25392,6321 25397,6324 25397,6324 25401,6319 25404,9319 25405,9314 25400,9312 25402,9310 25403,9313 25403,9313 25403,9316 25400,9319 25401,4319 25396,8319 25398,8315 25400,8315 25396,8315 25397,8311 25398,8307 25394,8309 25394,8311 25397,8315 25402,8310 25403,11310 25365,11311 25365,11316 25370,11320 25375,11325 25375,11325 25380,11325 25382,11326 25378,14326 25380,14328 25382,14331 25383,14334 25385,14336 25386,19336 25386,19336 25389,19332 25390,19332 25391,19335 25388,19338 25391,19342 25393,19340 25393,19345 25396,19345 25394,19347 25394,19349 25393,19351 25397,19350 25398,19348 25399,19349 25403,19352 25399,19350 25402,19354 25400,19353 25405,23353 25402,23354 25402,23356 25405,23358 25409,23360 25413,23363 25414,23367 25412,23365 25411,23367 25414,23363 25413,23367 25416,23367 25416,23370 25418,24370 25414,24370 25419,24373 27419,24378 27419,24380 27416,24380 27412,24380 27410,24380 27406,24376 27406,24374 27410,24370 27414,24370 27415,24371 27420,24375 27415,24378 27411,24375 27415,24378 27418,24382 27421,24383 27426,24383 27425,24385 27430,24390 27431,24394 27432,24395 27436,24399 30436,24400 30439,24404 30443,24403 30439,24406 30438,24410 30442,24406 30446,24408 30445,24403 30445,24408 30442,24412 30446,24416 30446,24416 30449,19416 30449,19416 30447,19418 30452,19420 30453,19423 30458,15423 30462,15423 30464,15425 30466,16425 30467,16424 30471,16421 30474,16426 30474,16428 30476,16428 30476,16424 30474,16424 33474,16425 33474,16427 33477,16425 33479,16426 33477,16422 33480,16425 33482,16430 33479,16430 33478,16429 33482,16424 33482,16427 33484,16430 33488,16431 33488,16434 33488,16435 33491,16432 33487,16436 37487,16434 37490,16438 37485,16443 37482,16446 37480,16447 37480,16447 37482,16451 37478,16454 37479,16458 37479,16454 37479,16454 37482,16459 37486,16460 37491,16463 37495,16464 37492,16465 37493,16466 37494,16468 37497,16468 37501,16468 37501,16473 37503,16473 37503,16473 37498,16476 37494,21476 33494,21473 33493,21476 33489,21478 33491,21478 33496,21478 33492,21480 33496,21483 33501,21484 33504,21483 33500,21484 33505,21484 33505,21488 35505,21491 35505,21494 35506,21496 35510,21492 35506,21492 35509,21489 35514,21490 35517,21487 35519,23487 35523,23485 35528,23487 35533,23483 35534,23487 35535,23488 35537,23493 35539,23495 35542,23495 35546,23495 35550,23491 35549,23488 35552,23492 35555,23495 35560,23500 35559,23496 35557,4322 16354,4317 16358,4318 16358,4320 16363,4315 16363,4315 16362,4316 20362,4320 20365,4323 20363,4326 20366,4329 20367,4332 20370,4337 20374,4338 20375,4333 20375,4338 20375,4341 20377,4342 20377,4342 20378,4343 20381,4346 20386,4346 20386,4346 20386,4346 20386,4349 20390,4352 20395,4354 20396,4355 20400,4358 20400,4360 20401,4360 20404,4363 20405,4368 20406,4372 20411,4371 20416,4367 20417,4364 20422,4367 20420,4372 20425,4373 20422,4374 20418,4377 20418,4381 20422,4382 20423,4384 20418,4389 20421,4385 20423,4390 20423,4390 20425,4392 20429,4396 20434,41574 39698,41578 39702,41576 39704,45576 39704,45575 39709,45577 39713,45581 39715,45581 39718,45583 39721,45578 39726,47578 39722,47581 39719,47586 39722,47586 39726,47589 39730,47592 39733,47597 39733,47593 39733,47596 39735,47597 39735,47595 39735,47591 39739,47593 39744,47593 39747,4074 20263,4077 20268,4079 20268,4078 20271,4078 22271,4083 22276,4087 22272,4088 22275,4086 22279,4082 22280,4084 22282,4086 22277,4082 22277,4087 22281,4090 22281,4092 22281,4092 22286,4094 22287,4097 22290,4097 22291,4095 22286,4095 22288,4095 22293,4095 22288,4092 22285,4089 22286,4090 22286,4095 22281,4100 22286,4103 22285,4104 22288,4104 22289,4107 22294,4112 22292,4117 22290,4120 22295,120 22300,121 22303,122 22300,122 22300,121 26300,125 26303,129 26303,127 26305,127 26306,132 26306,132 26307,136 26307,141 26309,140 26311,143 26313,140 26314,145 26318,149 26318,153 26321,153 29321,158 29326,158 29329,162 29324,162 34324,165 34329,168 34328,167 34332,169 34333,173 34334,173 34336,177 34338,178 34340,178 34344,182 34348,177 34348,182 34348,184 34353,184 34358,181 34360,183 34365,187 34365,192 34365,197 34367,199 34366,203 34368,205 34368,202 34363,204 34360,1204 34360,1205 34364,1205 30364,1205 30359,1206 30361,1207 30364,1210 30366,1210 30366,1214 30367,1218 30372,1219 30375,1214 30379,1214 30384,1217 30382,1222 30383,1223 30382,1225 30380,1228 30379,1231 30383,1232 30383,1235 30384,1237 30388,1242 30386,1244 30389,2244 30392,2241 30395,2245 30397,2245 30399,2244 30394,2242 30395,2246 32395,2246 32395,2249 32398,2251 32393,5251 32390,5251 32395,5255 32399,5255 32397,5257 32397,5257 32401,5261 32406,5261 32411,5266 32412,5271 32416,5273 32419,5276 32420,5281 32422,5279 32425,6279 33425,6284 33429,6284 33430,6282 33431,6282 33428,6286 33425,6288 32425,6288 32421,6286 32424,6288 32424,11288 32427,11292 32425,11292 32429,11290 32434,11286 32437,11286 32437,11283 32442,11278 32442,11279 32443,11283 32445,11284 32445,11283 32448,13283 32447,13287 32442,16287 32446,16282 32445,16283 32445,16284 32448,16285 32448,16284 32446,16286 32443,16290 32446,16291 32446,16292 32450,16291 32450,16291 32450,16291 32445,16287 32447,16288 32452,16287 32457,16291 36457,16289 36462,16293 36462,16294 36462,16297 36462,16301 36464,16306 36469,16310 36467,16310 36463,16313 36459,16312 36460,16313 36465,16313 36469,16308 36470,16309 36468,16314 36470,16319 41470,16322 41471,16325 44471,16330 44471,16330 44471,16330 44473,16330 44474,16335 44479,16332 44477,8414 30496,8415 30497,8419 30497,8414 30501,8416 30500,8418 30495,8421 35495,8423 35494,8427 35497,8429 35499,8432 35499,8436 35503,8438 35503,8443 35505,8440 35508,8443 35509,8440 35509,8440 35511,8441 35515,8445 35511,8448 35512,8443 35517,8443 35519,8442 35524,8444 35526,8441 35527,8436 35527,8433 35523,8429 35527,8430 35530,8431 35532,8429 35533,8433 35535,8437 32535,8435 32536,8439 32536,8436 32539,9436 32542,9434 32537,9429 32534,9429 32534,9433 32537,9433 32542,9429 32543,9434 32538,9436 32538,9436 34538,7436 34538,7438 34543,7439 34543,7439 34543,7439 34548,7438 34549,7438 34552,7438 34553,7438 34556,11438 34561,11434 34559,11436 34555,7436 34553,7436 34549,120 1235,124 1239,125 1236,125 1238,129 1235,128 1235,125 1236,123 1239,128 2239,132 2242,131 2242,135 2242,140 2242,145 2247,146 2252,144 2253,146 2248,144 2245,146 2244,150 2249,155 2245,159 2242,160 2243,160 2245,155 2244,156 2245,3156 2246,3159 2248,3159 2250,3164 2254,3165 2257,3166 2255,3169 2257,3171 2262,3169 2263,3174 2268,3177 2273,3174 2276,3178 2275,3173 2279,3177 2276,3180 2279,3182 2284,3185 2289,5185 2286,5185 2288,5181 2286,5185 2288,5184 2293,5187 2293,5187 2297,5190 2299,5187 2299,5185 2300,5181 6300,5182 6297,5187 6300,5189 6298,5191 6296,5193 6296,5193 6296,5195 6297,5195 6300,5197 6297,5195 6300,5190 6302,5191 6306,5192 6308,5195 6312,24395 27436,24391 27437,24393 27433,24398 27436,24398 27437,16286 32443,21286 32443,21286 32444,21282 32448,21283 32446,21283 32448,21285 32451,21281 32456,21282 32458,21282 32463,21282 32468,21284 32470,21289 32471,21287 32471,21287 32469,21287 32474,21284 32477,21288 32482,21291 32482,21291 32486,21296 32485,21299 32486,21301 32487,21303 32484,21301 32482,21305 32487,21310 32491,21312 32495,21313 32491,21315 32495,21312 32495,21314 32498,21316 32501,21311 32506,21311 32508,21312 32513,21317 32516,21319 32516,21324 32516,21327 32521,21328 32526,21332 32527,21328 36527,21331 41527,21336 41527,21334 41531,21337 41533,21335 41535,21339 41540,21340 41540,21343 41536,25343 41539,25340 41542,25337 41542,25337 41545,25335 41542,25335 41543,25335 46543,25339 46548,30339 46551,30340 46556,30343 46557,30342 46553,30337 46556,30341 46561,30337 46565,30336 46563,30338 46564,24373 27419,24373 27421,24375 27424,24377 27425,24377 27430,24374 27435,24379 27437,24384 27432,24385 27434,24382 27437,24381 27442,24381 31442,24381 33442,20381 33439,20383 34439,20382 34440,20378 34444,20381 34446,20381 34442,20384 34443,20388 34446,20392 34447,20393 34442,20393 34447,20396 29447,20395 29443,20399 29443,20400 29439,20399 29436,20404 29439,20409 29440,20410 29440,20410 29444,20408 29445,20413 29448,20413 29451,20412 29455,20413 29458,20418 29461,20413 29463,20415 29464,20416 29464,20416 29463,20416 29463,20418 29464,20414 29465,20418 29463,20413 29460,20413 26460,20418 26458,20421 26459,20421 26461,20421 26460,43578 35658,43578 35654,43578 35658,43578 35660,43583 35661,43583 35659,43583 35662,43579 35663,43583 35661,43587 35666,25625 25551,25629 25551,25630 25554,25630 25559,25632 25560,25627 25561,25623 25557,25623 25559,25624 25561,26624 25566,26627 25566,29627 25571,29626 25574,29625 25575,29622 25579,29625 25583,29630 25588,29632 25589,29635 25591,29635 25594,29637 25598,29642 25596,29643 25597,29644 25597,29649 25598,29654 25602,29656 25602,29661 25603,29661 25601,29664 26601,29666 26604,29665 26604,29668 26607,29672 26607,29669 26611,29671 26616,29674 26613,29679 26616,29680 26616,29681 26615,29682 26619,29679 26617,29684 26622,29686 26624,29689 26624,29690 26628,29691 26630,29693 26625,29694 26620,29698 26617,29703 29617,29707 29616,29706 29620,29709 29623,34709 29626,34710 29628,34710 29627,2282 16411,2283 16412,2283 16412,2287 16417,2292 16421,2297 16421,2298 16426,2303 16426,2304 16429,2309 11429,2313 11432,2308 14432,2308 14431,2311 14433,2310 14437,2308 14438,2309 14440,2311 14440,2309 14443,2312 14443,2314 14447,2314 14452,2314 14450,2309 14451,2309 14451,2309 14456,2313 14461,2313 14461,2309 19461,2309 19461,2311 19462,2315 19465,2318 19465,2321 19462,2317 19464,2321 19467,2322 19467,2322 19469,2322 19469,2320 19464,2321 19462,2322 19461,2327 19466,2327 19461,2322 19461,2322 19463,2317 19467,2318 19471,2102 -1848,2107 -1848,2111 -1846,2114 1154,2114 1156,2115 1157,2114 6157,2116 6162,2121 6165,2124 6170,2121 6175,2124 6179,2124 6183,2128 6178,2126 6179,2125 6178,2126 6181,2122 10181,2127 10186,2128 10189,2130 10188,2130 10191,2127 11191,2127 11195,2131 11196,2132 11192,2131 11197,2135 11201,2135 11203,2139 11199,2142 11203,2143 11204,2147 11208,2142 11210,2142 11211,2147 11212,2150 11217,2150 11219,2151 11219,2152 11222,2152 11222,2148 11224,2150 11220,2150 11223,2146 11218,2143 11219,2140 11221,2143 11218,2140 11219,2140 11223,2145 11225,2147 11226,2152 11226,2155 11224,2157 11229,2157 11229,2153 11233,2153 11238,2149 11239,7149 10239,7154 10241,7157 10241,7162 10243,7164 10248,7164 10251,7169 10253,7171 10253,7172 10257,7177 10260,7182 10256,7187 10260,7191 8260,7195 8256,7200 8258,7204 8258,7203 8261,7203 8262,7205 8266,7209 8270,7209 8273,7214 8273,7214 8276,7210 8276,7211 8276,7213 8279,7218 8278,7222 8283,7223 8279,7220 10279,7221 10283,7223 10284,7228 10286,7230 10290,7231 10290,7231 10293,7232 10294,7232 10297,7234 10299,7229 10295,7226 10294,7221 10293,7223 10295,7228 10299,7229 10303,7232 10307,7232 10311,7233 10316,7234 9316,7239 9318,7244 9321,7241 9326,7241 9328,7238 9331,7235 9330,7237 9335,7236 9335,7236 9337,7236 9338,7231 14338,7230 14333,7232 14338,7237 18338,4082 22280,4081 22280,6081 22283,6076 22285,6076 22289,6078 22286,6080 22287,6084 22292,6084 22293,6085 22293,6086 22291,6091 22294,6092 22293,9092 22290,9095 22294,9096 22295,9096 22297,9091 22292,9096 22295,9098 22290,9094 18290,9097 18290,9096 18294,9099 18292,9098 18297,9103 18299,9103 18302,9103 18305,9100 18301,9102 18302,9106 18305,9102 18310,9101 18306,9103 18308,9103 18312,9107 18310,9107 18315,9107 18320,9111 18322,9111 18326,9113 18329,9111 18329,9116 18329,9121 18329,9121 18332,9123 18331,9124 18332,9125 18328,9127 18325,9125 18328,9128 18329,9133 18329,9136 18333,9141 18337,9142 18342,9143 18340,9148 18344,9152 18341,9150 18346,9149 18341,9149 18341,9154 18343,9158 18345,9161 18346,9161 18347,9163 18352,9164 18352,9162 18349,9165 18352,9165 18351,9165 18352,9165 18356,9163 18352,9167 18353,9167 18349,9168 18351,9168 18347,9173 18347,9175 18347,9179 18348,9182 18349,9187 18352,9186 18357,9189 18360,9192 18360,9196 18362,13196 18367,13196 18369,13196 18371,13199 18374,13194 18374,13197 18375,13200 18377,13205 18380,13210 18384,13209 18379,13209 18374,13213 18375,13216 20375,13212 20375,13215 20375,13211 20375,13211 20372,13208 20373,13204 20373,13204 20369,13205 20369,13207 20366,13212 20367,13216 20367,13221 20372,13222 20377,13225 20381,13226 20386,13230 20383,9230 20388,9228 20384,9228 20386,9223 20389,9223 20392,4223 20397,4223 20396,4225 20399,4222 20404,4220 20408,4220 20411,4223 20416,4227 20421,4230 20418,4234 20421,4232 20422,4236 20423,4238 20423,4239 20423,4235 20427,4231 20427,4230 20426,4228 20428,4232 20427,4232 20431,4236 20433,4241 20431,4241 22431,4236 22436,4239 22437,4239 22439,4236 22443,4232 22439,4236 22444,4236 22446,4239 22447,4239 22452,4241 22454,4245 22457,4245 22460,4250 22462,4251 22465,4253 22465,4249 22465,4251 22460,4251 22464,4255 22469,4257 22473,4256 22478,4259 22479,4260 22480,4257 22485,6257 22489,6260 22490,6260 22493,6262 22496,6262 22500,6267 22495,6271 22495,6276 22491,6276 22489,6281 22487,6286 22490,6289 22490,6294 22490,6294 22489,6292 22485,6292 22489,6288 22489,6288 22494,6288 22496,6286 22497,6288 22501,6292 22500,5292 22503,5292 22503,5296 22508,5295 22510,5300 22510,5305 22513,5302 22514,5306 22510,5309 22513,5313 27513,5313 27513,5317 27513,5322 22513,5326 22517,6326 22516,6323 22518,6323 22523,6320 22523,6321 22526,6323 22531,6323 22531,6324 22532,6324 22532,6325 22529,6321 22531,6323 22534,6328 22534,6329 22530,6324 22527,10324 22522,10319 22524,10315 22520,10314 22525,10311 22525,10307 22526,10304 22531,10306 22527,10306 22528,10309 22530,10312 27530,10312 27534,10312 27534,10307 27536,10307 27532,11307 27531,11307 27533,11308 27535,11303 27531,11298 27532,11294 27534,11294 27534,11299 27538,11297 27542,11302 27547,11306 27547,11311 27549,11313 30549,11317 30551,11313 30546,11316 30541,11316 30540,11319 30545,11318 30546,11323 30550,11326 30554,11326 34554,11330 34558,11331 34558,11333 34558,11332 34561,11328 34561,11331 34562,11336 34562,11336 34567,11340 34570,11342 34569,11345 34568,11344 34569,11345 34571,11349 34574,15349 34574,15354 34569,15359 34566,15362 34571,15363 34576,15367 34577,15368 34577,15371 34581,15374 34576,15379 34574,15383 34579,15384 34584,15387 34583,17387 34578,17392 34578,17391 34578,17396 34573,17397 34578,17397 34580,17397 39580,17402 39584,17397 39587,17402 39587,17406 39582,17403 39587,17407 39589,17409 39592,17406 39592,17409 39595,17409 39599,17412 39603,17416 39608,17417 39608,17417 39608,17421 39607,17422 39609,17424 39608,17427 39604,17425 39605,17426 39609,17423 39611,17422 39610,17425 39613,17428 39618,17428 39619,17429 39616,17432 39616,13432 39615,13432 39617,13432 39617,13432 44617,13434 44621,13434 44623,13439 44627,13442 44632,13442 44635,13440 44631,13442 44631,13445 44635,13447 44639,13445 44637,13445 44638,13450 44639,13454 44644,13457 44644,13459 44642,15459 44639,15457 44644,15461 44644,15462 44642,15459 44645,15459 44647,15463 44650,15458 44651,15459 44653,15461 44657,15463 44661,15463 44661,15463 44663,15467 44666,15472 44668,15474 44664,15470 44668,15471 44670,15473 44674,15475 44675,-3806 12298,-3804 12301,-3805 13301,-3804 13296,-3808 13292,-3809 13295,-3806 13300,-3804 13297,-3801 13301,-3801 13302,-3796 18302,-3801 18306,-3799 18311,-3802 18311,-3799 18312,-3801 18314,-3796 18319,-3795 18322,-3791 18321,-3786 18320,-3786 18321,-3784 18321,-3782 18321,-3781 18324,-3782 18325,-3783 18320,-3788 18324,-1788 18324,-1788 18329,-1784 18333,-1784 18334,-1781 18329,-1777 18334,-6777 18337,-6774 18339,-6776 18341,-6781 18341,-6779 18341,-6779 18343,-6779 18339,-6777 18343,-6782 18338,-6779 18341,-6778 18341,-6776 18336,-6776 18333,-6776 18333,-6780 18338,-6784 18338,-6787 18335,-6786 18336,-6781 22336,-6781 22335,-6778 22331,-6777 22326,-6777 22331,-6777 22335,-6772 22335,-6774 22340,-6769 22341,-6767 22337,-6767 22335,-6767 22335,-6767 22333,-6767 22336,-6762 22331,-6759 22331,-6764 22332,-6765 22334,-6767 22339,-6762 22334,-6760 22334,-6760 22334,-6758 22337,-6754 22341,-6754 22342,-6750 22339,-4750 22343,-4747 22343,-4752 22343,-4751 22344,-4749 22345,-4745 22348,-4740 22353,-4736 22358,-4738 22363,-4740 22358,21336 41527,21334 41527,21330 41526,21330 41526,21333 41529,21328 41529,21329 41530,21326 41532,21328 41532,21324 41537,21328 41532,21330 41535,21334 41532,21336 40532,21334 40536,21339 40534,21341 40534,21344 40534,21346 40532,21350 40532,21353 40535,21357 40539,21359 40542,21360 40546,21355 40546,21360 40547,21359 40550,21356 40551,21356 40550,21357 40550,21361 40554,21358 45554,21362 45556,21366 45553,21370 45557,21374 45556,21377 45553,22377 45549,22382 45549,22382 45552,22386 45557,22387 45557,22388 45553,22392 45557,24392 45561,22392 45558,22397 45561,22399 45558,22398 45561,22400 45564,22400 45569,22404 45573,22406 45577,22406 45581,22404 45581,22407 45582,22409 45579,22409 45575,22409 45579,22407 45579,22402 45582,22402 45582,22404 45587,22406 45587,22406 45589,22411 45589,22413 45590,22417 45591,22417 45592,22422 45587,22425 45583,22428 50583,22428 50585,22428 50585,22430 50588,22435 50590,22435 50585,22435 50590,22439 50595,22440 50590,22445 50587,22442 50584,22442 50586,22443 54586,22443 54590,22446 54595,22448 54597,22448 59597,22444 59593,22449 59596,22449 59599,22452 59600,22457 59600,22458 59605,22457 59602,22462 59603,22463 59604,22461 59605,22458 59602,22457 59601,22457 59601,22455 59605,25455 59606,25457 59611,25462 59613,25464 59614,25467 59617,25472 59612,25476 59613,25478 59610,25482 59615,25482 59616,25486 59612,25483 59614,25487 59619,25492 59623,25497 59625,146 2252,150 2249,150 2249,152 2254,157 2249,158 2253,157 2252,161 2255,159 3255,161 3258,161 3255,163 3255,168 3259,168 3259,172 3263,167 3267,172 3271,172 3272,172 3274,175 3278,179 3282,181 3283,184 3280,185 3282,187 3282,191 3284,192 3286,191 6286,193 6289,198 6285,195 6290,194 6289,195 6289,199 6293,200 6288,198 6290,202 6291,207 6296,212 6301,215 6301,216 6301,211 6304,212 6304,216 6309,216 6304,214 6308,213 6308,211 6305,212 6309,217 6314,220 6317,224 6322,222 6327,220 6323,41573 39712,41572 39709,41576 40709,41580 40714,41576 40717,36576 40717,36577 40719,36582 40716,36585 40721,36590 43721,36585 43721,36582 43724,36585 43729,36590 43731,36590 43730,15289 11307,15285 11312,15286 11315,15289 11315,15294 11315,15295 11316,15296 13316,38742 37646,38743 37650,38745 37655,38744 37658,38739 37659,38737 37662,38742 37662,38745 37657,38748 37662,38748 37662,38752 37667,38753 37667,38748 37669,38748 37668,38752 37673,38754 37674,38756 37676,38758 37674,38760 37679,38760 37675,38758 37675,38763 37675,38767 37674,38772 40674,38767 40679,38772 40683,38774 44683,38778 44686,38780 44690,38780 44690,38779 44695,38782 44700,38780 44695,38775 44696,38775 44696,38775 44696,38779 44699,38783 44696,38784 44696,38786 44692,38786 44692,38786 44696,38791 44698,38793 44699,38795 44703,38800 44708,38803 44708,38807 44709,38802 44706,38806 44708,38809 44709,36809 44709,36814 44704,36813 44705,36814 44705,36816 44709,36811 44712,36812 48712,36811 48717,36815 48721,36816 51721,36818 51717,36822 51720,40822 51715,40827 51712,40830 51716,40829 51719,40832 51723,40835 51724,40840 51721,40841 51721,40836 51725,40841 51730,40846 51734,40848 51738,40849 51740,40851 51743,40854 51745,40855 51746,40857 51750,40857 51746,40861 51748,40866 51751,40862 51750,40866 51750,40869 51752,40865 51752,40863 51755,40858 51757,40855 51753,40855 51758,40852 51758,40853 51760,40857 51761,40855 51757,40852 51760,40853 51761,40855 51762,40858 51757,40859 51756,40863 51757,40863 51759,40860 51764,40859 51764,40854 51768,40850 51765,40852 51767,40852 51767,40848 51772,40852 51776,40854 51778,40852 51778,43852 51778,43854 52778,43856 52781,43859 52781,43859 52776,37512 26536,37517 26531,37520 26535,37520 26540,37522 26544,37527 26544,37532 26549,37537 26544,37540 26549,37545 26544,37549 26547,37549 26550,37548 26551,37549 26553,37546 26553,37546 26553,37549 26556,37549 26559,37552 26559,37556 26564,37560 26559,37561 26561,37565 26565,41565 26565,41569 26568,41571 26573,41571 26573,41576 29573,41571 29573,41573 29576,41573 29578,46573 29578,46569 29582,45569 29583,45572 29583,45568 29583,45573 29581,45575 29578,45571 29581,45572 29584,45572 29585,45576 29585,45578 29588,45581 29591,45582 29593,45582 29598,45584 29597,45589 29600,45585 29605,45589 33605,45593 36605,45594 36607,45599 36609,45600 36604,45604 36604,45604 36608,45604 36607,45608 36610,50608 36613,50611 36609,50614 36609,50619 36605,50624 36605,50625 36606,50625 36605,50629 36606,50624 36608,50625 36610,50626 36610,50629 36608,50627 36610,50628 36614,50632 36618,46632 34618,46632 35618,46636 35622,46636 35617,46637 35620,46639 35619,46643 35620,46645 35625,46643 35630,46648 35635,46648 35640,46649 35643,46651 35647,46655 35650,46652 35655,46657 35656,46658 35657,46662 35660,46659 35663,46662 35664,46665 35663,46667 35667,46667 35663,46670 35666,46672 35671,46674 35671,47674 35668,47676 35672,47677 35673,47677 35678,47677 35677,47677 35677,47677 35682,47672 35683,47671 35683,49671 35685,49674 35689,49677 35692,49675 35692,54675 35697,54678 35699,54674 35699,54670 35701,54670 35700,54675 35703,54676 34703,54676 34703,54679 34706,54683 34708,54688 34706,54688 34707,54685 34702,54687 34702,54692 34707,54687 36707,54687 36706,54682 36707,54685 38707,54680 38710,54680 38714,54677 38714,54679 38719,54682 38720,54687 38716,54688 38717,54692 38722,54697 38726,54699 38727,54700 38724,54702 38720,52702 38719,52702 38719,52702 38721,52702 38725,52704 38726,52706 38728,52707 38729,52711 38728,52711 35728,52713 35733,52712 35737,52712 35739,52713 35742,52713 35745,52708 35745,52710 39745,52713 39749,52716 39748,52721 39749,52720 39753,52716 39756,52716 40756,47716 40757,47717 40761,47722 40761,47722 40761,47722 40766,47726 40769,47728 40772,47733 40777,47731 40773,50731 40777,51731 40779,51733 40782,51734 40786,51737 40784,51741 41784,51739 41783,51739 41785,51739 41785,51736 41789,51731 41789,52731 41790,52735 41791,52738 41790,52742 41789,52746 41785,52747 41785,52745 41785,52750 41782,52753 41786,52753 41787,52758 41792,52754 42792,52749 42793,52752 42794,52756 42791,52757 42790,52762 42793,52766 42797,52766 42797,52769 42802,52774 42806,52774 42805,52771 42807,52774 42807,52770 42808,52771 42811,52767 42811,52766 42812,52767 42817,52771 42817,52771 42817,52775 42815,52779 42811,52779 42812,52780 42815,52776 42818,52774 42818,52777 42822,52780 42823,52781 42827,52776 42829,52780 42832,54780 42835,54780 42840,2135 11201,2140 11203,2137 11204,2140 11209,2142 11213,2147 11211,2145 11213,2145 11213,2150 11218,2150 11221,2153 11225,2157 13225,2162 13228,2167 13231,2171 13232,2167 13229,2168 13233,2171 13237,2173 13239,2168 13234,2168 13235,2173 13235,2175 13234,2177 13235,2177 13234,2179 13229,2179 13226,2180 13226,2177 13226,2177 13231,2180 13231,2181 10231,2176 10233,2177 10232,2180 10235,2185 10237,2182 10240,6182 10240,6184 10244,6182 10242,6183 10243,6185 10246,6190 10244,6194 10244,6194 10247,6192 10247,6192 10252,6195 10256,6194 10260,6195 9260,6195 9260,6195 9264,6199 9269,6204 9272,6199 9268,6201 9268,6203 9265,6208 9268,6204 9270,6204 9275,6201 9279,6201 9281,6201 9286,6206 9281,6206 9277,6202 9281,6200 9285,6202 9288,6198 9290,7198 9293,7200 9297,7201 9297,7205 9298,7209 9298,7209 9299,8209 9302,8214 10302,8218 10306,8222 10308,8226 10313,8231 10313,8235 10318,8237 10318,8237 10323,8233 10326,8233 10327,8237 10325,8238 10328,8238 10330,8234 10330,11234 10332,11236 10333,11241 10337,14241 10338,14240 10338,14237 10339,14238 10337,14237 10339,14242 10339,14246 10339,14250 10339,14250 10339,14251 10337,14254 10337,14256 10334,14256 10332,14252 10336,14255 10340,14259 10342,14262 10347,11148 3159,11153 3163,11154 3162,11154 3165,11158 3167,11161 3172,11162 3175,11162 3176,11166 3179,11166 3181,11171 3185,11176 3180,11178 3179,11176 3181,11179 3183,11174 3182,52776 42818,52778 42822,52777 42822,52782 42817,52783 42822,52784 42823,52789 42826,52789 42823,56789 42828,56786 42829,56786 42832,56789 42836,56789 42835,56785 42838,56786 42843,51786 42844,51788 42846,51790 42847,51794 42842,51796 42842,51801 42846,53801 42849,53806 42849,53809 42852,53812 42850,53817 42846,53817 42848,53818 42853,53822 42856,53823 42854,53826 42858,53825 42860,53826 42860,53826 42864,53830 42868,53835 42873,53839 42873,53841 42872,53841 42876,53841 42879,53841 42884,53836 42888,53836 42889,53836 44889,53833 44889,53835 44893,53838 44897,53842 44897,53844 44900,53844 44904,53845 44905,53850 44903,53853 44904,53858 44906,53856 44907,53861 44909,53856 44913,53858 44916,53863 44916,53868 44918,53867 43918,53869 43921,53869 43919,53867 43919,53862 43918,53860 43923,53864 43928,53869 43930,53874 43933,53874 43932,53874 43932,53875 43930,53877 43928,53878 43924,53883 43927,55883 43929,55883 43925,55879 43929,55881 43929,55884 43928,55881 43928,55882 43929,55883 45929,55883 45933,55883 45936,55884 45941,55884 45941,55886 45946,55882 45948,55883 45952,55888 45956,55890 45957,55894 45953,55892 45954,55897 45950,55893 45954,55896 45956,55892 45955,55897 45959,55899 45961,55899 45961,55894 45962,55898 45957,55893 49957,55896 47957,55894 47956,55898 47960,55901 47964,55901 47967,55901 47970,55896 47973,55898 47969,55894 47974,55895 47975,55891 47976,55896 47979,55899 47984,55902 47983,55897 47987,55899 47989,55904 47992,55904 47993,55905 47997,55902 48001,55902 48003,55907 48000,55910 47998,55915 47999,55911 47994,55906 47998,55910 48003,55914 48000,55918 48000,55914 48000,55919 48000,55921 48003,55921 48007,55924 48007,55919 48010,55922 48005,55927 48009,55928 48008,55928 48008,55930 48012,55925 48012,55925 48016,54925 48014,54922 48018,54922 44018,54926 44013,54929 44012,54932 44016,55932 44017,55935 44017,55936 44020,55937 44022,55936 44020,55939 44015,55944 44018,55945 44022,55947 44023,55950 44024,55953 44020,55956 44023,53867 43919,53871 43921,52871 43921,53871 43923,53876 43923,53881 43923,53880 43927,53882 43931,53886 43936,53884 43937,53879 43934,53879 43937,53877 43939,53878 43938,53879 43942,53880 43947,53881 43948,53884 45948,53884 45949,53882 45953,53883 45954,53878 45956,53880 45953,53885 45958,53885 45958,53886 45957,53886 48957,53886 48962,53891 48962,53892 48964,53897 48965,49897 48962,49902 48965,49906 48967,49902 48967,49904 48971,49901 48967,49904 48970,54904 48971,54904 48971,54904 48975,54909 48979,54907 48975,54910 48975,54906 48971,54909 48973,54911 48975,54915 48978,54920 48978,54923 48981,54918 48984,54921 48984,56921 48984,56926 48986,56924 48981,56929 48980,56932 48979,56932 48977,56936 48979,56937 48981,56937 48982,61937 48984,61937 48980,61934 51980,61935 51981,61935 51984,61935 51984,61931 51986,5329 23395,5331 23395,5333 23390,5337 23392,5340 23395,5345 27395,5345 27397,5350 27398,5355 27399,5356 27402,6356 27405,6360 27407,6361 27406,6364 27402,6366 26402,6371 26402,6371 26402,6372 26405,6370 26405,6375 26406,6380 26411,6385 26413,6387 26414,6388 26419,6390 26419,6391 26424,6393 30424,6390 30429,6390 30432,6390 30430,6394 30434,6394 30437,6394 30441,6396 30442,6398 30439,6399 30436,6404 30435,6405 30435,6400 30435,6405 30440,6404 30443,6405 30447,6409 30447,6411 30447,6412 30448,6417 30446,6421 30450,6418 30448,6417 30444,6418 30449,6420 30451,6425 30456,6426 30456,6425 30458,6426 30458,6426 34458,6427 34459,6432 39459,6434 39462,6434 39467,6439 39470,6443 39467,6444 39468,6449 39473,6451 39476,6452 39481,6452 39479,6452 39476,8452 39476,8456 39478,8460 39480,10460 39482,10455 39482,10456 39484,10460 39484,10463 39484,10468 39486,10473 39482,10475 39484,10475 39486,10476 39488,10477 39492,10475 39494,10480 39499,10476 39501,10479 39506,10480 39510,10475 39508,10480 39513,10481 39516,10481 39516,10485 39521,10487 39522,10490 39523,10490 39520,10493 39520,10496 44520,10491 44519,10491 44524,10492 44520,10497 44525,10499 44525,10502 44527,10500 44531,10502 44535,10506 44535,10511 44532,13511 44536,13513 44533,13510 44535,13507 44540,13511 44543,13515 44548,13517 44549,13522 44550,13525 42550,13520 42551,13522 42553,13525 42552,13529 42557,13529 42558,13524 42559,13525 42559,13525 42562,13520 42564,13523 42567,15523 42569,15523 42572,15524 42577,15529 42577,15530 42582,15532 42584,15532 42588,15531 42587,15531 42592,15530 42587,15530 42583,15533 42583,15536 47583,15532 47583,15535 47587,15534 47590,15536 47594,11536 47590,11533 47590,11529 47590,11533 47592,11533 47592,11533 47593,11537 47598,11538 47603,11538 47603,11538 47605,11541 47609,11544 47613,14544 47614,14539 47610,14537 47610,14537 47614,14535 50614,14537 50619,14539 50619,14540 50623,14538 50623,14537 50619,25599 26540,25599 26541,25599 26544,25594 26542,25599 26543,25596 26544,25597 26543,25598 26543,25593 26544,25588 26542,25593 26545,25595 26544,25596 26544,25599 26541,25594 26544,25592 26549,25593 26548,25597 26549,25596 26550,25594 26551,25590 26550,25594 26554,25597 26550,25598 26552,25593 26555,25598 22555,25599 22557,25604 22559,25605 22558,25606 22562,25605 22559,25605 22564,30605 22569,30610 22571,30610 22575,30609 22575,30609 22576,30609 22581,30605 22581,30610 22583,30610 22584,30613 22579,30613 22581,30616 22577,30619 22577,30621 22580,30621 22585,30626 22590,30628 22593,30629 22598,30626 22603,30628 22606,30629 22607,30629 22604,30627 22606,30632 22608,30633 22608,30636 22612,30641 17612,30642 17614,30647 17614,30651 17615,30654 17610,30655 17607,30658 17611,30653 17610,30654 17606,30654 17607,30659 17606,30660 17611,30658 17616,30659 17616,30664 17619,30665 17621,30665 17620,30667 17621,30671 17624,30673 17624,30673 17624,30678 17627,30675 17632,30675 17635,30678 17640,30681 17643,30686 17639,30691 17641,30696 19641,30699 19640,30700 19640,30696 19645,30698 19643,30699 19645,30702 19646,30703 19649,30699 19651,30704 19648,30706 19652,30709 19653,30709 19655,30709 19655,30712 19657,30708 19658,30705 19660,30700 19662,30701 19663,30706 19664,30711 19663,30707 19667,30704 19670,30708 19672,30709 19673,30711 19673,30711 19674,30713 19678,30718 19682,30723 20682,30721 20686,30725 20691,30726 20693,30729 20695,30728 20690,30730 20692,30733 20694,30736 20692,30736 20691,30740 20694,30741 20695,30741 20697,30746 20700,30747 20702,30750 20701,30751 20698,30753 24698,30749 24701,30748 24703,30746 24704,30747 29704,30747 29705,30749 29707,30752 29712,30757 29712,30760 34712,30760 34716,30763 34716,30759 34713,30759 34717,30763 34717,30758 34717,30757 34721,30760 34726,30758 34726,30763 34727,30763 34727,30764 34727,30759 34729,30759 34732,30762 34734,30757 34735,30761 34736,30759 34736,30762 34738,30757 34733,30760 34735,30762 34737,30760 34736,30765 34733,32765 34737,32768 34737,32765 34740,32765 34742,32768 34747,32772 34751,32772 34752,32777 34749,32782 34751,32783 33751,32783 33746,36783 33749,36783 33754,36786 33756,36787 33755,36787 33758,36791 33754,36796 33754,36801 33756,36801 33758,36801 33762,36802 33765,36802 33765,36806 33770,33806 33772,33806 33777,33809 33777,33814 33780,33814 33785,33818 33782,33821 33784,33826 33781,33822 33781,33824 33783,33822 33784,33826 33787,33823 33792,33827 33795,33828 33798,33829 33799,33833 33801,33833 33801,33836 33805,33839 33809,33842 33805,33847 33810,33845 32810,33847 32808,33849 32812,33851 32815,33849 32818,33849 32822,33847 32822,33847 32826,33850 32831,33854 32836,33857 32833,33856 32828,33859 32829,33860 32832,33857 32834,33857 32830,33855 32830,33857 32830,33855 32834,33859 32829,33859 32833,33862 32836,33864 32837,33864 32839,33866 32837,33869 32835,33872 32840,33874 37840,33879 37845,33881 37850,33881 37855,33886 37856,33891 37860,33896 37860,33893 37863,33894 38863,33896 38859,28896 38864,28899 39864,33899 39869,33896 39871,33898 39875,33902 39873,33902 39875,33907 39879,33912 39884,33908 39887,33908 39888,33905 39890,33909 39895,33911 39896,33908 39900,33912 39901,33915 39902,33915 39902,33915 39902,33910 39907,33910 39904,33914 39903,33912 39906,33916 39909,33920 39909,33922 39912,33923 39916,33928 39916,33931 39918,33932 39919,33935 39915,33936 39912,33934 39909,35934 39914,35931 39915,35935 39917,35939 39920,35939 39915,35940 39911,35944 39916,35944 39911,35944 39908,35945 39904,35945 39908,35945 39912,35950 39915,35955 39917,38955 39916,38960 39921,38962 39920,38962 39920,38967 39922,38967 39924,38970 39928,38975 39928,38973 39928,38977 39931,38980 39934,38984 39936,38982 39939,38983 39942,38985 39943,38987 39945,38992 41945,38988 41950,38989 41954,38992 41958,38992 41962,38992 41965,38993 41970,38997 41970,38997 41970,38994 41974,38994 41979,38997 41979,38999 41982,38994 41980,38998 41985,38998 41984,5334 23406,5330 23406,5325 23403,9325 23404,12325 23408,12325 23408,12322 23406,13322 23411,13325 23416,13326 23412,13322 23414,13327 23419,13328 23422,13329 23425,13333 23422,13337 23424,23491 35549,23490 35544,23494 35546,23499 35548,23495 35549,21495 35553,21490 35556,21492 35558,21492 35556,21494 35559,21494 35564,21494 35566,21499 35566,21502 35562,21502 35567,17502 35568,17506 35573,17507 35574,17511 35578,17512 35583,17513 35588,18513 35591,18514 35592,18515 35594,18513 35596,16513 35601,16513 37601,16513 37602,16511 37604,16513 37609,16514 37611,16518 37616,16522 34616,16524 34613,16528 34615,16528 34620,16533 34624,16535 34627,16538 34628,16539 34630,16539 34631,16542 34628,16542 34633,16544 34638,16547 38638,16547 38640,16543 38645,16543 38640,16540 38640,16543 38640,16542 38641,16546 38646,16541 38649,16541 38645,18541 38648,18544 38648,18544 38653,18544 38656,18549 38651,18547 38651,18550 38656,18547 38658,23547 38663,23544 38664,23548 38668,23548 38670,28548 38672,28549 38669,28549 38673,28545 38669,28549 38670,28554 38670,28557 38674,28560 38669,28562 38674,28562 38669,28561 38669,28564 38671,28569 38671,38779 44699,38780 44695,38778 44698,38783 44700,38785 44700,38781 44701,38782 44696,38786 44691,38789 44692,38794 44692,38799 44688,38799 44693,38803 44697,38808 44697,38806 44697,38806 44700,38803 44702,38803 44706,38802 44707,38807 48707,38808 48707,38806 48707,38810 48712,38810 48709,38810 48711,38810 48711,38806 48707,38802 48710,38803 48706,38805 48711,38810 48711,38805 48709,38809 48710,38809 48710,38814 48707,38815 48703,38816 48703,38816 48704,38820 48704,38822 48709,38820 48710,38818 48714,38822 48716,38822 48719,38827 48722,38828 48727,38832 48725,38830 48730,38831 48726,38832 48724,38829 48728,8431 35532,8431 35537,4431 35532,4434 35537,4438 35537,4439 35533,4443 35535,4442 35530,4445 35527,4449 35527,4453 35530,4458 35530,4459 39530,4460 39531,4461 39531,4464 39531,4468 39531,4470 39534,4465 39534,4465 39532,4469 39532,4471 39537,4466 39538,4470 39539,4473 39540,4476 39540,4480 39543,4485 39548,4483 39546,4484 39547,4484 39549,4484 39551,4486 39553,4486 39554,4487 39551,4483 39553,4486 39554,4490 39556,4493 39557,4498 39561,4494 39562,-4749 22345,-4752 22345,-4748 22348,-4744 22351,-4740 22356,-4741 22358,-4739 22361,-4734 22359,-4730 25359,-4730 25360,-4725 25360,-4727 25360,-4727 25361,-6727 25360,-6729 25365,-6730 25365,-6727 25365,-6731 25364,-6730 27364,-6727 27366,-6723 27367,-3723 27363,-3719 27368,-3720 27371,-3718 27366,-3717 27369,-3716 27369,-3714 27372,-3711 27370,-3712 27371,-3712 27370,-3710 27375,-3708 27377,-3707 27382,-3706 27385,-3706 27389,-3705 32389,-3704 32392,-3704 32392,-3699 32391,-3699 32395,-3694 32399,-3694 32400,-3695 32404,-3695 32408,-3693 32410,-3693 32410,-3697 32410,-3692 32413,-3691 32418,-3686 32420,-3683 32425,-3681 32420,-3678 32424,-3673 32424,-3676 32427,-3673 32426,-3671 32426,-3676 33426,-3678 33428,-3676 33428,-3679 33428,-3679 33433,-3677 33434,-3676 33438,-3681 33440,1319 33444,1321 33441,1325 33444,1329 33439,1326 33444,1326 33439,1327 33439,1327 33440,1332 33444,1333 33449,1338 33453,1338 33450,1343 33450,1347 33454,1346 33457,1346 33455,1342 33459,1341 33462,1346 33462,1347 33463,1343 33463,1344 33462,1348 33457,1347 33460,1352 33464,1356 33468,1361 33469,1363 33468,1365 33469,1368 33472,1369 33475,-2631 33478,-2633 33483,-2629 33486,-2632 34486,-2628 36486,-2625 36488,-2621 36488,-2624 36488,-2622 36492,-2624 36491,-2629 36491,-2627 36496,-2623 36499,-2628 36502,-2631 36506,-2626 36506,-2622 36506,-2622 36509,-2619 36514,-2624 36512,-2621 36510,-2619 36510,-2619 36508,-2617 36512,-2615 36512,-2615 36513,-2615 36511,-2615 36506,-2612 36507,-2609 36511,-2606 37511,-2606 37508,-2610 37505,-2607 37508,-2602 37512,-2599 37512,-2595 37510,-2597 37511,-2592 37515,-2597 37514,-2592 37519,-2592 37524,-2592 37526,-2594 37521,-2594 37516,-2591 36516,-2588 36517,-2589 36513,-2586 36514,-2584 36514,-2583 36516,-2579 36514,-2578 36518,-2578 35518,-2575 35519,-2577 35519,-2578 35524,-2578 35529,-2578 35532,-2578 35534,-2580 35537,-2584 35541,-2586 35542,-2587 35544,-2585 35540,-2585 35544,-2584 35543,-2580 35548,-2576 35550,-2571 35553,-2567 35555,-2565 35560,-2560 35560,-2557 35564,-2553 35564,-5553 36564,-5548 36564,-5544 36565,-5547 36565,-5545 36570,-5542 36565,-5543 36566,-5543 36568,-5543 36570,-5540 36575,-5537 36577,-5535 36581,-5532 36580,-5528 36575,-5526 38575,-5526 38576,-5526 38571,-5522 38571,-5518 38576,-5514 42576,-5510 42581,-5512 42583,-5512 42582,-5507 42582,-5510 42585,-2510 42589,-2511 42592,-2508 42594,-2506 42597,-2503 42598,-2503 42603,-2498 42608,-2501 42611,-2500 42616,-2502 42613,-2502 42616,-4502 42616,-4502 42620,-4502 42622,-4506 42619,-4509 42621,-4511 42624,-4515 42625,-4510 42625,-4507 42628,-4502 42624,-4501 42629,-4505 45629,-4503 45630,-4499 45631,-4496 45630,-4497 45628,-4495 45630,-4494 46630,-4491 46634,-4487 46629,-4483 46631,21336 40532,21341 40533,21346 40534,21346 40536,21345 40536,21346 40536,21345 40536,21344 40538,21347 40543,21348 40543,21351 40540,21351 40542,21348 40545,21351 40546,21352 40546,21353 40546,21358 40546,21359 40545,21359 40550,21357 40555,21362 40560,21364 40555,21363 40555,21364 40560,25364 40564,25365 40566,25368 40566,25371 45566,25372 45567,25372 45562,25376 45564,25381 42564,25385 42560,25389 42564,25389 42568,25393 42572,25390 42572,28390 42569,28389 42570,28385 42574,28386 42576,28389 42577,31389 42578,31385 42582,31387 42582,31390 42578,31391 42579,31392 42576,29392 42580,29396 42582,29398 43582,29402 43584,29406 43585,29407 43587,29411 43592,29413 43594,29414 43595,25414 43600,25412 43595,25415 43599,25420 43602,25418 43604,25423 43599,25426 43599,25429 43602,25434 42602,25429 42604,25432 42600,25435 42605,25436 47605,25440 50605,25441 50610,25439 50614,25444 50617,25447 50621,25444 50624,25444 50626,25445 50627,25450 50632,25450 50628,25451 50630,25451 50632,25454 50633,25458 50637,25462 50641,25463 50640,25463 51640,25467 51644,25469 51649,25473 51650,25474 51653,25475 51654,26475 51658,26475 51662,26474 51665,26476 51665,26481 51661,26483 55661,26485 55664,30485 55667,30485 55670,30489 55671,30489 55668,30491 55670,30492 55670,30493 55675,30497 55675,30501 55671,30503 55676,30500 55677,30498 55672,30494 55675,30499 55676,30500 55676,30505 55681,30501 55684,30496 55685,30500 55685,30502 55687,30506 55692,30507 55693,30506 55692,30511 55693,30516 55694,30514 55699,30514 55701,30512 55701,34512 55705,34516 55708,34520 55704,34518 56704,34519 56704,34520 56706,34517 56706,34515 56701,34519 59701,34522 59706,34522 59708,34522 59713,34526 59715,34528 59717,34533 59712,34538 59715,34538 59717,34541 59717,34546 59720,34548 59721,34552 63721,34547 63726,34549 63728,34554 63726,34556 63726,34557 63721,34556 63725,34561 63730,34558 63730,37558 63725,37561 63729,37565 63724,37569 63720,37573 63718,37578 63722,37577 63718,37579 63720,37579 63722,37580 63719,37580 63720,37579 63724,37574 63725,37574 63727,37576 63725,37581 63729,37583 63732,37586 63732,37590 63737,37592 63734,37597 63731,37600 63730,37596 63731,37596 63733,37600 63733,37601 63735,37596 63735,37591 63732,37596 63733,37601 63738,37602 63733,37599 63738,37594 63740,37598 63744,37603 63745,37605 63747,37607 63752,37607 63756,37603 63757,37603 63761,37604 63761,37608 63758,37609 63762,37604 63764,37604 63764,41604 63765,41600 63761,41599 63761,41600 63766,41596 63766,41599 63766,41601 63770,41604 63768,41608 63768,41611 63772,41614 63767,41609 63763,41612 63765,41615 63760,38615 63764,38615 63768,38618 63768,35618 63769,35618 63774,35617 63775,35618 63776,35613 63775,35615 63780,35612 63782,35613 63779,35614 63775,35618 63774,35619 63776,35624 63778,35624 63780,35629 63785,35629 63780,35626 63781,35624 63782,35629 63784,35634 63787,35638 63782,35634 63783,35634 63778,35633 63777,35638 63782,35641 63786,35644 63791,35648 63793,35647 63793,35649 63797,35653 63801,35654 63804,35654 63804,35656 63804,35655 63806,35658 63810,35658 63805,35662 63805,35657 67805,35658 67808,35660 67811,35664 67808,35660 67803,35658 67803,35661 67803,35663 67808,35666 67810,35670 67814,35669 67813,35669 67816,37669 67820,37664 67820,2275 13363,2278 16363,2274 16363,2275 16362,2279 16362,2282 16362,2287 16366,2284 16366,4284 16366,4286 16371,4290 16375,4294 18375,4295 18377,9295 18381,9296 18381,9299 18382,9303 18379,9305 19379,9308 19375,8308 19380,8312 19380,38746 37651,38749 37652,38754 37653,38757 37656,38753 37661,38753 37661,38758 37663,38763 37664,38763 42664,38768 42666,38765 42668,38770 42664,38767 42659,38768 42659,38773 42654,38771 42659,38775 42661,41775 42663,41778 42665,41781 42669,41782 42667,41779 42669,41784 42672,41781 42672,41783 42672,41780 42672,41783 42675,41784 42675,41788 42676,41792 42677,41792 42675,41793 42680,41793 42676,41796 42681,41801 42685,41804 42684,41806 42685,41804 42690,41802 42692,41805 42696,41800 42697,41802 42698,41804 42700,41809 42704,41813 42705,36813 42708,36813 42704,36810 42703,36811 42705,40811 42706,40815 46706,40816 46708,40820 46708,40818 46712,40822 46717,40825 46720,40829 46724,40827 46727,40831 46727,40833 46731,40829 46733,40830 46733,36830 46738,36830 46741,36834 46744,36831 46749,36826 46748,36822 46748,36824 46751,36819 46755,36823 46758,36823 46762,36824 46766,36822 46769,36826 46772,36831 46774,36828 42774,36833 42776,36833 42777,36838 42782)'))); +INSERT INTO t1(g) VALUES (ST_linefromtext(concat('linestring','(20 110, 21 110, 26 115, 29 112, 34 108, 39 111, 44 111, 46 116, 46 120, 42 122, 45 118, 48 118, 44 122, 46 127, 47 127, 51 127, 55 123, 52 127, 52 128, 56 130, 60 129, 61 130, 66 131, 67 131, 71 135, 76 136, 77 139, 80 143, 2080 145, 2077 147, 2079 147, 2081 147, 2086 147, 2087 151, 2092 -1849, 2088 -1848, 2088 -1852, 2091 -1848, 2095 -1846, 2092 -1847, 2092 -1848, 2093 -1847, 2094 -1846, 2099 -1843, 2104 -1844, 2102 -1848, 2102 -1848, 7102 -1847, 7105 -1846, 7106 -1843, 7111 -1838, 67 131, 69 135, 68 135, 63 136, 63 137, 64 141, 67 1141, 2067 1139, 2063 1139, 2066 1139, 5066 1139, 5068 1139, 5072 1140, 5072 1145, 5073 1142, 5076 1145, 5077 1145, 5076 1141, 5078 1141, 5073 1143, 5068 1146, 5067 2146, 5070 2151, 5075 2155, 5071 2160, 5073 2161, 5074 2166, 5076 2169, 5071 2173, 5074 2173, 5078 2177, 5076 2173, 5080 2173, 5078 2174, 78 2179, 76 2183, 77 2188, 82 2192, 85 2194, 89 2193, 86 2197, 89 2193, 88 2194, 89 2199, 89 2204, 89 1204, 87 1206, 88 1203, 89 1204, 89 1205, 93 1210, 94 1208, 96 1208, 100 1210, 104 1212, 107 1215, 104 1220, 107 1224, 111 1228, 112 1228, 116 1229, 119 1228, 120 1233, 119 1236, 124 1241, 125 1240, 122 1239, 126 1241, 123 1240, 124 1244, 128 1248, 129 1250, 128 1253, 127 5253, 125 5255, 129 5255, 133 5255, 137 5260, 140 5261, 137 5261, 141 5261, 140 5262, 143 5264, 148 5264, 148 5264, 145 10264, 149 10269, 153 10274, 158 10270, 159 10273, 164 10277, 168 12277, 170 12278, 165 12274, 170 12279, 172 12281, 172 12281, -3828 12281, -3823 12281, -3822 12282, -3823 12280, -3823 12282, -3820 12281, -3823 12279, -3827 12282, -3826 12279, -3822 12284, -3825 12284, -3824 12286, -3820 12287, -3820 12290, -3818 12292, -3816 12293, -3814 12298, -3815 12301, -3817 12304, -3814 12301, -3811 12299, -3809 12303, -3809 12301, -3804 12302, -3804 12302, -3802 12305, -3799 12310, -3801 17310, -3801 17310, -3796 17310, -3801 17314, -3799 17318, -3796 17321, -3795 17321, -795 17325, -795 17327, -794 17329, -791 17330, -790 17326, -787 17331, -782 17335, -778 17339, -774 17343, -772 17343, -769 17346, -768 17349, -763 17352, -763 17353, -761 17357, -758 17354, -758 22354, -754 22350, -750 22353, -746 22356, -750 22352, -746 22351, -744 22349, -743 27349, -741 27350, 259 27354, 262 27353, 263 27356, 268 27352, 268 22352, 271 22351, 273 22351, 274 22351, 275 22352, 275 22356, 280 22352, 281 22348, 284 22349, 284 22346, 285 22351, 285 22351, 290 22353, 294 22351, 294 22352, 295 22352, 300 22352, 305 22355, 308 22356, 311 22356, 310 22358, 312 22360, 313 22365, 313 22362, 313 22364, 313 22364, 317 22360, 322 22362, 327 22367, 328 22370, 323 22375, 320 22377, 320 22379, 316 22379, 318 22379, 323 22380, 323 22380, 324 22376, 34 108, 38 113, 42 118, 42 117, 42 121, 46 123, 51 127, 51 130, 51 133, 55 137, 52 141, 52 143, 51 141, 50 142, 45 142, 44 143, 48 146, 48 142, 43 143, 47 145, 4047 5145, 4047 5150, 4044 5151, 4045 10151, 4043 10154, 4044 10156, 4047 10156, 4043 10160, 4043 10156, 4043 10156, 4048 10157, 4051 10160, 4048 10159, 4053 10161, 4057 10163, 4057 10164, 4058 10165, 4057 10170, 4056 10173, 4056 10176, 4056 15176, 4053 15180, 4049 15181, 4051 15178, 4049 15180, 4049 15180, 4048 15181, 4048 15184, 4045 15188, 4045 15191, 4040 15194, 4042 15198, 4042 15203, 4047 15200, 4049 15201, 4052 15204, 4052 15208, 4052 15212, 4049 15216, 4049 15219, 4051 15220, 4048 15222, 4044 15227, 4044 15232, 4044 15236, 4049 15239, 4052 15240, 4052 15243, 4053 15247, 4055 15247, 4052 17247, 4054 17247, 4054 18247, 4059 18251, 4063 18253, 4066 18253, 4069 20253, 4069 20254, 4069 20259, 4068 20263, 4068 20263, 4069 20259, 4071 20260, 4073 20262, 4074 20258, 4069 20261, 4069 20264, 4071 20269, 4067 20271, 4071 20270, 4072 20271, 4073 20268, 4076 20263, 4072 20268, 4075 20264, 4076 20267, 4079 20272, 4084 20275, 4086 20277, 4086 20281, 4083 18281, 4087 18283, 4088 18280, 4089 18277, 4089 18279, 4094 18281, 4095 18283, 4095 18284, 4097 18284, 4093 18287, 4094 18285, 4096 18287, 4092 18291, 4096 18291, 140 5261, 140 5259, 140 5262, -1860 5258, -1858 5260, -1854 5262, -1849 5259, -1848 5264, -1845 5264, -1845 5267, -1845 5262, -1848 5261, -1848 5263, -1849 5261, -1853 5262, -1851 5265, -1847 5265, -1847 5262, -1847 5263, -1843 5268, -1845 5268, -1848 5272, -1850 5270, -1851 5274, -1854 5269, -1850 5266, -1845 5267, -1840 5267, -1840 5264, -1840 5269, -1839 5269, -1842 5269, -1840 5274, -1835 5278, -1836 5283, -1841 5279, -1840 5284, -1836 5285, -1836 5289, -1831 5289, -1826 5292, -1822 5293, -1826 5295, -1829 5295, -1824 5295, -1828 5297, -1824 5300, -1820 5305, -1824 5306, -1824 5306, -1824 5306, -1823 5301, -1818 5303, -1814 5307, -1814 5303, -3809 12303, -3807 12306, -3804 12306, -3804 12306, -3801 12308, -3796 12308, -3795 12308, -3791 12310, -3786 12310, -3781 12313, -3814 12298, -3809 12303, -3807 12301, 7102 -1847, 7100 -1850, 7104 -1850, 7109 -1852, 7109 -1854, 7112 -1850, 7112 -1847, 7115 -1847, 7117 -1847, 7122 -1847, 7125 -1843, 7126 -1848, 7127 -1848, 7129 -1848, 7133 -1848, 7131 1152, 7131 1149, 7135 1154, 7139 1152, 7140 1151, 7145 1153, 7149 1158, 8149 1159, 8154 3159, 8149 3161, 8145 3162, 8146 3164, 8146 3168, 11146 3171, 11148 3171, 11150 3167, 11154 3165, 11150 3163, 11151 3167, 11152 3165, 11153 3170, 11156 3175, 11156 3174, 8146 3164, 8146 3167, 8146 3170, 8147 3170, 8148 3175, 8148 3178, 8146 3178, 8146 3178, 8147 3180, 8143 3184, 3143 3186, 7143 3187, 7143 7187, 7138 7189, 7138 7189, 7135 7191, 7138 7191, 7133 7194, 7138 7198, 7139 7201, 7143 7200, 7141 7203, 12141 7204, 12145 7204, 12145 7203, 12146 7207, 12147 7204, 12143 7204, 12138 7199, 12138 7195, 12139 7195, 12139 7200, 12141 7201, 12142 7201, 12139 7205, 12142 7208, 12142 7213, 12145 7213, 12147 7214, 12149 7218, 12150 9218, 12154 9222, 12151 9222, 12151 9225, 12151 9224, 12152 9226, 12155 10226, 12155 10230, 12158 10231, 12161 10227, 12162 10224, 12163 10229, 12163 10231, 12165 10228, 12165 10227, 12160 10228, 12160 10231, 12160 10235, 12157 12235, 12159 12230, 7138 7189, 7141 7193, 7141 7193, 7141 7192, 7139 7195, 7141 7195, 7142 7193, 7145 7195, 7146 7193, 7146 7194, 7151 7197, 7154 7198, 7156 7202, 7155 7207, 7150 7211, 12150 7213, 12148 7213, 12147 7217, 12142 7221, 12141 7223, 12143 7223, 12140 7222, 12145 7222, 13145 7224, 13142 7228, 13144 7232, 13139 7235, 13144 7239, 13148 7243, 13151 7247, 13150 7251, 13152 7252, 13157 7253, 13157 7257, 13157 7257, 13157 7262, 13159 7264, 13164 7259, 13161 7259, 13165 7262, 13166 7262, 13166 7267, 13169 7268, 13169 8268, 13167 8269, 13171 8269, 13173 13269, 13177 13265, 13178 13263, 13178 13263, 13182 13266, 13183 13266, 13185 13266, 13190 13269, 13193 13271, 13193 13269, 13196 13271, 13193 13273, 13194 13268, 13198 13273, 13200 13276, 13202 13276, 13204 13274, 13209 11274, 13213 11274, 13213 11277, 13215 11278, 13219 11279, 13224 11280, 13224 11276, 13228 11278, 13233 11281, 13235 11286, 13238 11288, 13240 11288, 13238 11290, 13238 11292, 13238 11287, 13238 11288, 13240 11293, 13243 11296, 13246 11296, 13247 11293, 13243 11298, 13246 11302, 13251 11305, 322 22362, 326 24362, 330 24362, 329 24367, 328 24363, 329 24365, 331 24369, 336 24371, -664 24371, -668 24372, 51 127, 48 131, 48 133, 51 135, 51 140, 49 139, 47 142, 3047 139, 3044 142, 3046 143, 3046 148, 3051 148, 3055 146, 3057 141, 3060 140, 3055 143, 3050 146, 7050 142, 7050 3142, 7050 3143, 7050 3144, 7052 3149, 7055 1149, 7052 1150, 7055 5150, 7050 5154, 7049 5150, 10049 5151, 10045 5151, 10049 5151, 10052 5156, 10054 5159, 10056 5160, 10058 5161, 10058 5163, 10060 5166, 10064 5168, 10064 5173, 10068 9173, 10070 9172, 10065 9168, 10065 9173, 10063 9175, 14063 9176, 14063 9178, 284 22346, 289 22351, 290 22351, 290 22347, 287 22343, 282 22342, 280 22345, 281 25345, 286 25347, 13243 11298, 13248 11300, 13245 11300, 13246 11295, 13247 11295, 13246 11295, 13248 11299, 13253 11304, 13255 11309, 13255 11310, 13260 11309, 13257 11310, 13258 11313, 13258 11315, 13263 11311, 13267 11307, 13269 11309, 13272 11305, 13277 11302, 13273 11304, 15273 11306, 15278 11310, 15281 11307, 15286 11309, 15288 11309, 15291 11311, 15292 11306, 15294 11309, 15298 11313, 15299 11317, 15300 11320, 15302 11321, 15306 11324, 15308 11328, 15308 11324, 15309 11324, 15314 11324, 15315 11323, 15319 11321, 15317 11325, 15319 11327, 15319 11332, 15321 11337, 15324 11340, 15324 11341, 15324 11341, 15326 11345, 15326 11349, 15327 14349, 15330 13349, 17330 13350, 17335 13353, 17339 13358, 17340 13362, 17344 13362, 17348 13357, 17350 13357, 17347 13357, 17350 13358, 17349 13358, 17349 13358, 17349 13359, 22349 13362, 22351 13359, 22353 13359, 22358 13358, 22360 13358, 22363 13359, 22364 13359, 22360 13359, 22361 13363, 22366 13368, 22371 13373, 22374 13377, 22378 13375, 22379 13375, 22379 13373, 22383 13378, 22388 13383, 22389 13380, 22389 13384, 22394 13382, 22392 13378, 22394 13382, 22393 13382, 22393 13379, 22394 13382, 22392 13384, 22395 13386, 22400 13391, 22400 10391, 22404 10395, 22401 10396, 22402 10396, 22402 10398, 22406 10395, 22405 15395, 22407 15396, 22409 15396, 22414 15391, 22414 15394, 22414 15398, 22410 15400, 26410 15402, 26409 20402, 26413 20406, 26417 20410, 26419 20415, 26422 20411, 26424 20411, 31424 16411, 31423 16409, 31423 16414, 31425 16414, 31428 16418, 31428 16414, 31432 16419, 31432 16422, 31437 16423, 31439 16424, 31440 16426, 31440 16429, 31440 16429, 31443 16431, 31441 16435, 31443 16440, 36443 16440, 36445 18440, 36444 18441, 36442 18444, 36442 18440, 36442 18444, 36444 18449, 36445 18450, 36449 18455, 37449 23455, 37454 23460, 37458 23459, 37460 23463, 37458 23465, 37460 23467, 37462 23470, 37466 23473, 37462 23478, 37464 23480, 37463 26480, 37468 26483, 37472 26487, 37473 26492, 37476 26493, 37476 26489, 37476 26487, 37476 26492, 37472 26496, 37476 26501, 37476 26503, 37480 26499, 37485 26503, 37485 26505, 37490 26500, 37493 26503, 37497 26499, 37502 26500, 37502 26501, 37502 26505, 37499 26503, 37499 26503, 37497 26508, 37500 26508, 37496 26513, 37499 26518, 37497 26519, 37500 26518, 37505 26518, 37510 26516, 37512 26520, 37513 26523, 37511 26527, 37508 26532, 37509 26536, 37514 26540, 37515 26542, 37512 26546, 37514 26548, 37519 26547, 37524 26550, 37529 26555, 37527 26559, 37531 26562, 37526 26567, 37526 26566, 37529 26566, 37524 26566, 37524 26563, 37528 26565, 37524 26563, 37525 26565, 37525 26560, 37526 26562, 40526 26564, 40526 26567, 40523 26571, 40527 26570, 40529 26572, 40534 26576, 40536 26573, 40535 26569, 40533 26569, 40537 26573, 40537 26574, 40541 26576, 40546 26579, 40545 26579, 40546 26583, 40550 26588, 40551 26585, 40555 26589, 40558 26594, 40554 22594, 40559 22598, 40558 22599, 40563 22596, 40563 22597, 40567 22597, 40570 22597, 40575 22592, 40572 22594, 40572 22595, 40572 22592, 40575 22594, 40575 22597, 40570 22597, 40569 22601, 40569 22603, 40573 22603, 40576 22604, 40576 22608, 42576 22611, 42579 22611, 42579 22616, 42581 22620, 38581 22623, 38582 22621, 38582 22618, 38577 22623, 38581 22623, 38581 18623, 38584 18618, 38584 18621, 38588 18626, 38592 18629, 38592 18626, 38596 18625, 38598 18620, 38599 18618, 38599 18622, 38602 21622, 38603 21622, 38607 21624, 38609 25624, 38613 25624, 38610 25621, 38610 25625, 38610 25629, 38613 25627, 38617 25627, 38617 25624, 38618 25626, 38621 25628, 38622 25629, 38622 26629, 38625 26631, 38625 26631, 313 22362, 313 22363, -1687 22364, 2313 27364, 2314 27364, 2314 27364, 2319 27366, 2319 27366, 2321 27363, 2321 27368, 2320 27363, 2323 27368, 2328 27371, 2327 27375, 2328 27377, 2328 27377, 2327 27381, 2331 27381, 2329 27381, 2332 27383, 2335 27383, 2333 27383, 2333 27385, 2338 27385, 6338 27386, 6338 27387, 40529 26572, 40533 26576, 40535 26578, 40540 26580, 40535 26584, 40540 26589, 40541 26592, 40538 26587, 40542 26591, 40541 26592, 40537 26597, 40542 26598, 40546 26601, 40550 26606, 40550 26605, 40551 26606, 40549 26606, 40550 26607, 40555 26610, 40550 26610, 40550 26607, 40553 26612, 40558 26616, 40561 26620, 40556 26623, 40558 26623, 40558 26627, 42558 26627, 42558 26628, 42562 26628, 42564 26630, 42565 26634, 42566 26634, 42566 26638, 42561 26639, 42564 26639, 42567 26641, 42564 26642, 42566 26646, 42566 26645, 42570 26645, 42574 26645, 42574 29645, 42576 29646, 39576 29645, 39576 34645, 39578 34647, 39583 34642, 39580 34642, 39576 34646, 39576 34649, 39574 35649, 34574 35652, 34579 35655, 39579 35659, 43579 35663, 43582 35659, 43577 35662, 43580 35662, 43583 35666, 43579 39666, 43574 39662, 43574 39665, 43574 39668, 43574 39670, 43578 39674, 43579 39671, 43582 39675, 43578 39677, 43575 39677, 43576 39681, 43571 39683, 43569 39683, 43570 39687, 43565 39690, 43568 39694, 43568 39696, 43570 39698, 43570 39699, 41570 39695, 41572 39696, 41573 39696, 41573 39697, 41573 39702, 41573 39702, 41576 39702, 41571 39702, 41572 39703, 41572 39708, 41574 39713, 41575 39716, 41580 39717, 41581 39721, 41586 39723, 41587 39724, -1848 5272, -1843 5272, -1845 5270, -1840 5272, -1838 5267, -1843 5268, -1841 5268, -1837 8268, -1837 8271, -1837 8276, -1836 8280, -1832 8277, -1832 8277, -1831 8278, -1835 8283, -1834 8287, -1832 8290, -1834 8286, -1832 8283, -1833 8283, -1832 8284, -1834 8287, -1839 8292, -1844 8293, -1841 8290, -1836 8290, -1839 8289, -1836 8289, -1832 8292, -1827 8295, -1823 8290, -1823 8293, -1823 8291, -1822 8295, -1820 8298, -1819 8302, -1816 8304, -1816 8300, -1812 8300, -1809 8299, -1806 8296, 1194 8300, 1194 8301, 1197 11301, 1194 11305, 1197 11309, 1199 11304, 1195 11304, 1195 11300, 1195 11297, 1196 11298, 1201 11296, 1206 11296, 1207 11298, 1212 11296, 1210 11292, 1206 11294, 1207 11293, 1209 8293, 1204 8288, 1206 8286, 1206 8285, 1208 8285, 1210 8285, 1214 8287, 1214 13287, 1215 13291, 1215 13294, 1218 13297, 1216 13293, 1219 13290, 1214 13295, 1210 13292, 1210 13296, 1211 13301, 1210 13300, 1206 13302, 1207 13307, 1211 13312, 1206 13312, 1211 13308, 1212 13308, 1216 13313, 1216 13318, 1217 13318, 1221 13318, 1221 13323, 1226 13324, 1231 13325, 1234 13329, 1235 13333, 1233 13333, 1236 13338, -2764 13340, -2767 13341, -2763 13344, -2760 13349, -2758 13346, 2242 13346, 2240 13346, 2244 13346, 2248 13349, 2248 13350, 2246 13352, 2241 13352, 2242 13355, 2242 13356, 2247 13361, 2250 13361, 2245 13366, 2249 13366, 2250 13366, 2254 13367, 2258 13367, 2258 13367, 2262 13371, 2257 13376, 2253 13373, 2253 13373, 2254 13376, 2251 13380, 2256 13382, 2257 13386, 2261 13383, 2264 13383, 2269 13385, 2264 13385, 2264 13387, 2267 13387, 2271 13389, 2272 13390, 2273 13393, 2269 13395, 2273 13390, 2277 13395, 2275 13396, 2277 13391, 2279 13394, 2276 13394, 2277 13398, 2282 13399, 2282 11399, 2283 14399, 2281 14404, 2279 14407, 2275 14410, 2276 16410, 2276 16414, 2281 16414, 2286 16415, 2282 16413, 2282 16413, 2284 16413, 2284 16415, 2284 16416, 2282 16417, 3282 16422, 3286 16422, 3287 16427, 3291 16427, 3294 16431, 3296 16433, 3298 16435, 3299 16440, 3300 16439, 3305 16439, 3307 16438, 3307 16440, 3307 16440, 3311 16441, 3311 16442, 3310 16443, 3310 16443, 3308 16448, 3304 16445, -1696 16441, -1701 16442, -1697 16442, -1695 16442, -1696 16443, -1693 16440, -1688 16445, -1685 16450, -1681 16454, -1680 16455, -1682 16457, -1680 16461, -1680 16461, -1684 16464, -1679 16463, -1678 16460, -1675 16464, -1679 16465, -1677 16468, -1672 16469, -1671 16473, -1667 16475, -1667 16480, -1663 16478, -1663 16482, -1662 16482, -1662 16483, -1659 16478, -1654 16475, -1653 11475, -1658 11477, -1661 11479, -1664 11484, 3336 15484, 3340 15480, 3344 15475, 3347 15475, 3347 15474, 3352 15473, 3349 15478, 3353 15480, 3354 15477, 3355 15480, 3352 15481, 3352 15483, 3353 15486, 3354 15488, 3353 15491, 3355 15491, 3360 15491, 3355 15490, 1219 13290, 1224 13295, 1224 13295, 1227 13290, 1231 13290, 1233 13285, 1237 13284, 1238 13285, 1243 13286, 1247 13289, 1249 13289, 1249 13291, 1252 13291, 1249 13294, 1249 13299, 1249 13302, 1254 13305, 1251 13308, 1254 13308, 3254 13308, 3249 13308, 3251 13312, 3256 13312, 3259 13312, 3263 17312, 3263 17313, 3263 17310, 3261 17309, 3264 17314, 3265 17312, 3264 17315, 3261 17318, 3261 17318, 3259 17313, 3256 17313, 3255 17313, 3257 17314, 3255 17316, 3257 17316, 3257 17316, 3258 17311, 3259 17311, 3258 17315, 3258 17317, 3257 17321, 3253 17321, 3250 17325, 3255 17329, 3258 17330, 3260 17328, 3260 17331, 3265 17326, 7265 17329, 7267 17332, 7265 17334, 7267 17337, 7272 17337, 7275 17337, 7280 17340, 4280 21340, 4280 21344, 4281 21344, 4283 21344, 4288 24344, 4292 24347, 9292 24351, 9296 24353, 9298 24351, 9300 25351, 9303 25352, 9303 25352, 9306 25357, 9305 25361, 9305 25356, 11305 25359, 11306 25362, 11309 25362, 11314 25362, 11314 25365, 11312 25369, 11315 25369, 11316 25373, 11321 25375, 11323 25375, 11327 25370, 11331 25369, 11332 25370, 11331 25374, 11332 25369, 11336 25371, 11340 25370, 11345 25367, 11350 25363, 11347 25360, 11350 25361, 11351 25362, 11351 25362, 11354 25364, 11358 30364, 11362 30369, 11362 30369, 11364 30369, 11369 30371, 11370 30373, 15370 30374, 15375 30375, 15378 30377, 14378 30382, 14379 30387, 14383 30382, 14388 30384, 14390 30386, 14393 30389, 14395 31389, 16395 31393, 16398 31398, 16398 31401, 16394 31404, 16397 31409, 16400 31413, 16400 31417, 16399 31419, 16398 31421, 16403 31422, 16403 31426, 16404 31423, 16409 31424, 16413 31423, 16408 31427, 18408 31431, 18413 31436, 18417 28436, 18419 28441, 18420 28445, 18416 28442, 18419 28439, 18418 28443, 18422 28446, 18425 28451, 18429 28448, 21429 28449, 21430 28454, 22430 28459, 22434 28461, 22438 28462, 22443 28462, 22447 28467, 22450 28472, 22453 28469, 22458 28472, 22455 28472, 22460 28475, 22465 28477, 22462 28479, 22461 28476, 22465 28480, 22466 28476, 22470 28472, 22470 28475, 25470 28470, 25473 28472, 25475 28468, 25475 28468, 25477 29468, 25478 29470, 25481 29465, 25478 29466, 25478 29468, 25480 29468, 25485 29465, 25486 29464, 25488 29462, 25488 29466, 25492 29464, 25497 26464, 25500 26467, 25497 26472, 25497 26476, 25497 26476, 25501 26478, 25506 26480, 25506 26482, 25511 26480, 25515 26483, 25516 26485, 25521 26481, 25521 26484, 25520 26485, 25521 26488, 25526 26487, 25529 26488, 25524 26488, 25528 26491, 25530 26496, 25535 26500, 25537 26502, 25537 26502, 25541 26507, 25544 26508, 25545 26509, 25549 26514, 25554 26514, 25553 26512, 25552 26516, 25555 26514, 25559 26514, 25556 26515, 25554 26512, 25558 26509, 25558 26510, 25562 26510, 25562 26511, 25562 26510, 25567 26505, 25569 26508, 25571 26508, 25570 26512, 25573 26512, 25573 26515, 25578 26515, 25583 26520, 25583 26523, 25584 26525, 25587 26526, 25590 26531, 25590 26530, 25586 26534, 25589 26538, 25591 26533, 25595 26537, 25600 26542, 25601 26544, 25601 26544, 25601 26544, 25606 26547, 25605 26547, 25605 26542, 25608 26542, 25611 26544, 25613 26546, 25614 26551, 25614 26551, 25614 26552, 25619 25552, 25614 25552, 25615 25551, 25618 25549, 25618 25553, 25620 25555, 25622 25559, 25622 25555, 25624 25554, 25627 25555, 25624 25559, 25621 25561, 25619 25560, 25624 28560, 25627 28555, 25632 28550, 25636 28552, 25641 28557, 25645 28557, 25640 25557, 25636 25557, 25636 25561, 25641 25561, 25645 25562, 25646 25557, 25648 25560, 25649 25564, 25652 25566, 25652 30566, 25652 30566, 25652 30568, 25652 30570, 25654 30574, 25658 30575, 25663 31575, 25664 31579, 25665 31583, 25664 31583, 25667 31585, 25668 31588, 25673 31586, 25676 31585, 25676 31588, 25678 31588, 25675 31591, 25680 31590, 25681 31585, 30681 31588, 30677 31593, 30682 31594, 35682 31594, 35677 31593, 35679 31595, 35682 31594, 35683 31591, 35686 31592, 35687 31593, 35691 31596, 35691 31597, 35694 31601, 35698 31601, 35702 34601, 35701 34603, 35705 34608, 35705 34610, 35704 34605, 35707 34607, 35707 34610, 35710 34607, 35715 34608, 35719 34607, 35721 34612, 35717 34612, 35713 34612, 35715 34613, 35716 34609, 35716 34614, 35716 34618, 35720 34620, 35721 34621, 35724 34622, 35724 34625, 35727 34629, 35727 34630, 35727 34633, 35727 34635, 35727 34639, 35732 34640, 35729 34642, 35733 34644, 35737 34646, 35741 34649, 35743 34649, 35744 34653, 35740 34653, 35740 34649, 35743 34651, 38743 34654, 38743 37654, 38744 37650, 38748 37655, 38751 37656, 38755 37657, 38755 37661, 38759 37660, 38758 37664, 38763 37664, 38767 37664, 38762 37664, 38761 37664, 38762 41664, 38762 41664, 38764 41669, 38759 41671, 43759 41673, 43754 41678, 43754 41681, 43759 41676, 43760 41681, 45760 41684, 45760 41683, 45764 41687, 45767 41687, 45771 41687, 45772 41688, 45770 46688, 45775 46692, 45778 46696, 45776 46698, 45777 46701, 45780 46699, 45778 46702, 45776 46706, 45781 46706, 45786 46708, 45789 46710, 45793 46715, 45788 46711, 45792 46715, 45795 46719, 45798 46723, 45801 46728, 45799 46732, 45804 46730, 45799 46733, 45803 46737, 45804 46737, 45805 46736, 45806 46736, 45807 46736, 45810 46739, 45812 46744, 45812 46748, 2328 27377, 2324 27381, 2325 27383, 2327 27387, 2327 27386, 2324 27386, 2325 27386, 5325 23386, 5327 23389, 5331 23390, 5332 23394, 5337 23396, 5332 23396, 5332 23399, 5331 23399, 5335 23403, 5335 23406, 5340 23409, 5341 23409, 5336 23410, 5331 23405, 5334 23407, 5332 23411, 5335 23413, 5330 20413, 5326 20415, 5326 20418, 5331 20420, 5330 20425, 5327 20425, 5331 20428, 5332 20428, 5337 21428, 5333 21431, 5335 21435, 5336 21437, 5331 21438, 5332 21441, 5335 21444, 5340 21441, 5340 21444, 5336 21445, 5335 21442, 5331 26442, 5334 26439, 5337 26443, 5339 26444, 5340 26448, 5344 26443, 5344 26446, 5347 26444, 5351 26442, 5354 26446, 5351 26449, 5350 30449, 5352 30451, 5352 30448, 5356 30448, 5361 30447, 5365 30449, 5369 30450, 5369 30452, 5369 30457, 5373 30459, 5373 30457, 5375 30462, 5377 30465, 5382 30467, 5386 30467, 5385 30463, 5386 30463, 5385 30463, 5387 30464, 5392 30463, 5394 30468, 5396 30468, 5391 30469, 5395 30473, 5393 30473, 5393 30473, 5397 30478, 5398 30474, 5401 30474, 5403 30471, 5403 30472, 5406 30474, 5402 30469, 5403 30466, 5405 30471, 5406 30471, 5411 30473, 5414 30477, 5414 30481, 5409 30485, 8409 30490, 8410 30493, 8412 30494, 8412 30493, 8415 30494, 8416 30497, 8416 30500, 8421 30505, 8422 30506, 8417 30511, 13417 30513, 13413 30510, 13416 30511, 13414 30515, 13414 30519, 13419 30522, 13421 30527, 13420 30531, 13424 30533, 13420 30535, 13415 35535, 13411 35535, 13415 35536, 13419 35541, 13421 35537, 13425 35533, 13426 35533, 13425 35528, 13430 35529, 13435 35530, 13440 35534, 13445 35535, 13450 35535, 13454 35536, 13457 35540, 13459 35540, 13454 35540, 13457 35543, 13454 35539, 13459 35544, 13459 35548, 18459 35550, 18462 35551, 22462 35550, 22467 35554, 22468 35558, 22470 35556, 22475 35559, 22473 35563, 22472 35568, 22474 35568, 22472 35573, 22476 35573, 22476 35575, 22479 35577, 22484 35580, 22489 35584, 22490 35587, 22491 35589, 22495 35589, 22498 35589, 25498 35590, 25495 35586, 25496 35589, 25500 35589, 25498 35589, 25500 35591, 25505 35595, 25505 35597, 25501 35594, 25501 35595, 25497 35595, 26497 35599, 29497 35595, 29497 35597, 29500 35601, 29500 35605, 29502 35610, 29503 30610, 29504 30607, 29507 30607, 29512 30610, 29513 30610, 29516 30611, 29518 30614, 29520 30612, 3261 17309, 3265 17308, 3269 17307, 3273 17312, 3271 17316, 3271 17317, 3276 17319, 3279 17319, 3284 17315, 3287 17317, 3285 17313, 3280 17314, 3277 17319, 3277 17321, 3278 17326, 3282 17328, 3282 17328, 3278 17329, 3279 17329, 3278 17332, 3280 17328, 3275 17333, 3279 17335, 3282 17330, 3283 17332, 3278 17328, 3279 17328, 3279 17326, 3279 17325, 3279 17325, 3283 17327, 3284 17331, 3284 17336, 3289 17339, 3290 17339, 3290 17342, 3292 17341, 3296 17344, 3296 17345, 3301 17345, 3301 12345, 3301 12346, 3306 12343, 3303 14343, 3307 14344, 3309 14345, 3313 14347, 3315 14347, 3316 16347, 3312 16345, 3312 16350, 3314 16352, 3313 16353, 4313 16350, 4318 16352, 4323 16348, 4326 16352, 4324 16353, 4325 16350, 4325 16350, 4328 16354, 4324 16358, 4325 16360, 4327 16365, 4327 16362, 4324 16366, 4327 20366, 4327 20370, 4324 20371, 4328 20376, 4328 20378, 4333 20377, 4335 20377, 4340 20380, 4341 20383, 4343 20386, 4340 20388, 4341 20390, 4342 20387, 4342 20387, 4337 20392, 4338 20394, 4343 20394, 4348 20395, 4350 20395, 4351 20397, 37499 26503, 37496 26500, 37498 26504, 37498 26505, 37501 26510, 37499 26506, 37500 26506, 37502 29506, 37502 29511, 37507 29512, 37508 33512, 37510 33517, 37515 33522, 37519 33526, 37518 33524, 37523 33525, 37523 33529, 37518 33534, 37521 33532, 37522 33532, 37526 33534, 37529 33534, 37527 33531, 37530 33534, 37535 33537, 37536 38537, 37538 38540, 22360 13359, 25360 13364, 25363 13362, 25364 13366, 25364 13366, 25367 13369, 25365 13371, 25361 13373, 25359 13378, 25362 13378, 2249 13366, 2254 13370, 2256 13367, 2259 13367, 2263 13362, 2266 13358, 2266 13360, 2271 13365, 2274 13367, 2276 13367, 2277 13367, 2275 13366, 2276 13369, 2280 13369, 2282 13374, 2286 13370, 2286 13369, 2291 13372, 2292 13370, 2295 13372, 2300 13377, 2300 13376, 2297 13379, 273 22351, 275 22354, 4275 22351, 4271 22352, 4272 22354, 4273 22359, 4274 22364, 4278 22367, 4283 22369, 4286 24369, 4281 24369, 4284 24369, 4287 24369, 4289 24368, 4291 24366, 4296 24364, 4297 24366, 4300 24369, 4303 24373, 1303 24374, 1303 24375, 1307 24379, 1307 24380, 1309 24381, 1314 24384, 1316 24386, 1320 24384, 1318 24386, 1318 24391, 1320 24391, 1320 29391, 1323 29391, 1318 29387, 1322 29390, 1323 29393, 1328 29393, 1329 29393, 2329 29398, 2329 29398, 2334 29397, -664 24371, -661 24372, -659 24372, -654 24375, -651 24376, -647 24376, -645 24378, -641 24374, -636 24379, -633 24384, -636 24386, -636 24388, -636 24388, -634 24392, -635 24394, -630 24390, -628 24390, -627 24390, 373 24393, 378 24398, 376 24396, 379 24401, 3379 24404, 6379 24409, 6380 24412, 6375 24410, 6372 24410, 6377 24407, 6372 24407, 6377 24407, 6381 24410, 6376 24413, 6380 24415, 6382 24416, 6380 24419, 6380 24423, 6385 24427, 6387 24429, 6389 24432, 6392 24437, 6388 24434, 6388 24439, 6389 24440, 6390 24444, 6389 24448, 6385 29448, 6385 29451, 6388 29455, 6384 29450, 6389 29451, 6392 29456, 6395 29456, 6399 29459, 6402 29463, 6402 29467, 6399 29471, 6395 29471, 6397 29474, 6399 29477, 6401 29472, 6396 29471, 6399 29474, 6398 29477, 6398 29474, 6395 29469, 6391 29473, 6392 29474, 6391 29469, 6391 29472, 6394 29474, 6390 33474, 6392 33470, 6393 33470, 6394 33471, 6396 33471, 324 22376, 324 22378, 325 22381, 329 22382, 333 22386, 332 22387, 334 22390, 335 22387, 333 22387, 332 22391, 334 22395, 334 22400, 339 22401, 341 22398, 342 22403, 342 22402, 342 22400, 345 22400, 345 22400, 343 22404, 344 22408, 345 22406, 350 22407, 347 22411, 349 22415, 344 22415, 347 22417, 342 22421, 347 22421, 350 22426, 350 22430, 353 22431, 354 22436, 354 22440, 4354 22442, 4355 22446, 4356 22448, 4356 22451, 4359 22453, 4362 22454, 4366 22454, 4369 22455, 4371 22457, 4368 22459, 4371 22457, 4375 22462, 4379 22463, 4382 22463, 4382 22468, 4387 22471, 4387 22471, 4392 22473, 4387 22473, 4387 22476, 25573 26512, 25576 26511, 25580 26516, 25583 26516, 25583 26516, 25585 26512, 25585 26517, 25589 26520, 25591 26519, 25592 26519, 25593 26521, 25591 26524, 25589 26526, 23589 26530, 23587 26535, 23591 26538, 23594 26542, 24594 26547, 24590 26549, 24595 26551, 24600 26547, 24600 26552, 24604 26549, 24600 26544, 24602 26549, 24602 26552, 24602 31552, 24607 31553, 24610 31555, 24615 31556, 24617 36556, 24618 36561, 24621 36561, 24624 36564, 24624 36568, 24629 35568, 24629 35573, 24634 35573, 25634 35574, 25637 35573, 25638 35577, 25638 35577, 25640 35580, 25643 35584, 25643 35587, 25643 35592, 25644 40592, 20644 40597, 20647 40597, 20652 40599, 20653 40595, 20653 40598, 20650 40595, 20650 40595, 20654 40600, 20654 40600, 20658 40601, 20658 40604, 20658 40605, 20661 40602, 20664 40601, 20664 40601, 20665 40604, 20670 40605, 20667 40610, 1217 13318, 1216 13323, 1214 13321, 1211 13316, 1212 13316, 1213 13321, 6213 13324, 6216 13324, 6218 13324, 6213 13327, 6216 13322, 6216 13327, 6216 13328, 6218 13323, 6221 13327, 6220 13325, 6221 13325, 6220 13330, 6223 13333, 6227 13335, 6232 13339, 6233 13343, 6233 13347, 6237 13342, 6236 13346, 6236 13348, 6238 13349, 25526 26487, 25523 26488, 25526 26493, 25529 26491, 25531 26488, 25532 26486, 25536 27486, 25541 27490, 25539 27492, 25543 27487, 25546 27490, 25549 27494, 25552 27495, 25552 27495, 25556 27490, 25561 27490, 25565 27493, 25563 27493, 25565 27497, 25563 27495, 25565 27497, 25565 27499, 25566 27501, 25565 27501, 25565 27501, 25560 27502, 25565 27503, 25567 27507, 25569 27507, 25571 27507, 25569 27508, 25567 27509, 25567 27509, 25567 27509, 25568 27509, 25572 27505, 25572 27501, 25576 27502, 25572 32502, 25572 32505, 25575 32505, 25578 32501, 25578 32502, 25579 32505, 25581 32507, 25585 32508, 25590 32511, 25594 32516, 25598 32511, 25601 32511, 25596 32507, 25599 32510, 25599 32514, 25596 32513, 25596 32514, 25598 32517, 25594 32517, 25596 32519, 25596 32524, 25600 32524, 25604 32521, 25605 32522, 27605 32524, 27609 32527, 27610 31527, 27615 31531, 27617 31531, 30617 31534, 30619 31534, 30620 31536, 30621 31540, 30625 31541, 30625 31542, 30627 31542, 30628 31545, 30629 31545, 30626 31544, 30625 31544, 30626 31549, 34626 31550, 34621 31547, 34625 31549, 34626 31553, 34626 31552, 34628 31554, 34628 31559, 34628 31555, 34630 31559, 34635 31559, 34638 31563, 34636 31568, 34638 31568, 34641 31566, 34641 31564, 36641 31559, 36638 27559, 41638 27561, 41642 27558, 41646 27562, 41649 27563, 41650 27559, 41655 27559, 41660 27559, 41660 27556, 41660 27556, 41662 27554, 41658 27558, 41663 27562, 41666 27565, 41669 27570, 41664 27566, 41665 27567, 41665 27569, 41664 27573, 41663 27573, 41666 27575, 41666 27571, 41661 30571, 41662 30569, 41662 30565, 41667 30570, 41666 30565, 41666 30565, 41666 30566, 41666 30567, 41662 30562, 1314 24384, 4314 25384, 4317 25388, 4317 25389, 4321 25387, 4324 25392, 6324 25391, 6324 25391, 6328 25396, 6323 25401, 6326 25401, 6326 25405, 6321 25408, 9321 25409, 9316 25404, 9314 25406, 9312 25407, 9315 25407, 9315 25407, 9318 25404, 9321 25405, 4321 25400, 8321 25402, 8317 25404, 8317 25400, 8317 25401, 8313 25402, 8309 25398, 8311 25398, 8313 25401, 8317 25406, 8312 25407, 11312 25369, 11313 25369, 11318 25374, 11322 25379, 11327 25379, 11327 25384, 11327 25386, 11328 25382, 14328 25384, 14330 25386, 14333 25387, 14336 25389, 14338 25390, 19338 25390, 19338 25393, 19334 25394, 19334 25395, 19337 25392, 19340 25395, 19344 25397, 19342 25397, 19347 25400, 19347 25398, 19349 25398, 19351 25397, 19353 25401, 19352 25402, 19350 25403, 19351 25407, 19354 25403, 19352 25406, 19356 25404, 19355 25409, 23355 25406, 23356 25406, 23358 25409, 23360 25413, 23362 25417, 23365 25418, 23369 25416, 23367 25415, 23369 25418, 23365 25417, 23369 25420, 23369 25420, 23372 25422, 24372 25418, 24372 25423, 24375 27423, 24380 27423, 24382 27420, 24382 27416, 24382 27414, 24382 27410, 24378 27410, 24376 27414, 24372 27418, 24372 27419, 24373 27424, 24377 27419, 24380 27415, 24377 27419, 24380 27422, 24384 27425, 24385 27430, 24385 27429, 24387 27434, 24392 27435, 24396 27436, 24397 27440, 24401 30440, 24402 30443, 24406 30447, 24405 30443, 24408 30442, 24412 30446, 24408 30450, 24410 30449, 24405 30449, 24410 30446, 24414 30450, 24418 30450, 24418 30453, 19418 30453, 19418 30451, 19420 30456, 19422 30457, 19425 30462, 15425 30466, 15425 30468, 15427 30470, 16427 30471, 16426 30475, 16423 30478, 16428 30478, 16430 30480, 16430 30480, 16426 30478, 16426 33478, 16427 33478, 16429 33481, 16427 33483, 16428 33481, 16424 33484, 16427 33486, 16432 33483, 16432 33482, 16431 33486, 16426 33486, 16429 33488, 16432 33492, 16433 33492, 16436 33492, 16437 33495, 16434 33491, 16438 37491, 16436 37494, 16440 37489, 16445 37486, 16448 37484, 16449 37484, 16449 37486, 16453 37482, 16456 37483, 16460 37483, 16456 37483, 16456 37486, 16461 37490, 16462 37495, 16465 37499, 16466 37496, 16467 37497, 16468 37498, 16470 37501, 16470 37505, 16470 37505, 16475 37507, 16475 37507, 16475 37502, 16478 37498, 21478 33498, 21475 33497, 21478 33493, 21480 33495, 21480 33500, 21480 33496, 21482 33500, 21485 33505, 21486 33508, 21485 33504, 21486 33509, 21486 33509, 21490 35509, 21493 35509, 21496 35510, 21498 35514, 21494 35510, 21494 35513, 21491 35518, 21492 35521, 21489 35523, 23489 35527, 23487 35532, 23489 35537, 23485 35538, 23489 35539, 23490 35541, 23495 35543, 23497 35546, 23497 35550, 23497 35554, 23493 35553, 23490 35556, 23494 35559, 23497 35564, 23502 35563, 23498 35561, 4324 16358, 4319 16362, 4320 16362, 4322 16367, 4317 16367, 4317 16366, 4318 20366, 4322 20369, 4325 20367, 4328 20370, 4331 20371, 4334 20374, 4339 20378, 4340 20379, 4335 20379, 4340 20379, 4343 20381, 4344 20381, 4344 20382, 4345 20385, 4348 20390, 4348 20390, 4348 20390, 4348 20390, 4351 20394, 4354 20399, 4356 20400, 4357 20404, 4360 20404, 4362 20405, 4362 20408, 4365 20409, 4370 20410, 4374 20415, 4373 20420, 4369 20421, 4366 20426, 4369 20424, 4374 20429, 4375 20426, 4376 20422, 4379 20422, 4383 20426, 4384 20427, 4386 20422, 4391 20425, 4387 20427, 4392 20427, 4392 20429, 4394 20433, 4398 20438, 41576 39702, 41580 39706, 41578 39708, 45578 39708, 45577 39713, 45579 39717, 45583 39719, 45583 39722, 45585 39725, 45580 39730, 47580 39726, 47583 39723, 47588 39726, 47588 39730, 47591 39734, 47594 39737, 47599 39737, 47595 39737, 47598 39739, 47599 39739, 47597 39739, 47593 39743, 47595 39748, 47595 39751, 4076 20267, 4079 20272, 4081 20272, 4080 20275, 4080 22275, 4085 22280, 4089 22276, 4090 22279, 4088 22283, 4084 22284, 4086 22286, 4088 22281, 4084 22281, 4089 22285, 4092 22285, 4094 22285, 4094 22290, 4096 22291, 4099 22294, 4099 22295, 4097 22290, 4097 22292, 4097 22297, 4097 22292, 4094 22289, 4091 22290, 4092 22290, 4097 22285, 4102 22290, 4105 22289, 4106 22292, 4106 22293, 4109 22298, 4114 22296, 4119 22294, 4122 22299, 122 22304, 123 22307, 124 22304, 124 22304, 123 26304, 127 26307, 131 26307, 129 26309, 129 26310, 134 26310, 134 26311, 138 26311, 143 26313, 142 26315, 145 26317, 142 26318, 147 26322, 151 26322, 155 26325, 155 29325, 160 29330, 160 29333, 164 29328, 164 34328, 167 34333, 170 34332, 169 34336, 171 34337, 175 34338, 175 34340, 179 34342, 180 34344, 180 34348, 184 34352, 179 34352, 184 34352, 186 34357, 186 34362, 183 34364, 185 34369, 189 34369, 194 34369, 199 34371, 201 34370, 205 34372, 207 34372, 204 34367, 206 34364, 1206 34364, 1207 34368, 1207 30368, 1207 30363, 1208 30365, 1209 30368, 1212 30370, 1212 30370, 1216 30371, 1220 30376, 1221 30379, 1216 30383, 1216 30388, 1219 30386, 1224 30387, 1225 30386, 1227 30384, 1230 30383, 1233 30387, 1234 30387, 1237 30388, 1239 30392, 1244 30390, 1246 30393, 2246 30396, 2243 30399, 2247 30401, 2247 30403, 2246 30398, 2244 30399, 2248 32399, 2248 32399, 2251 32402, 2253 32397, 5253 32394, 5253 32399, 5257 32403, 5257 32401, 5259 32401, 5259 32405, 5263 32410, 5263 32415, 5268 32416, 5273 32420, 5275 32423, 5278 32424, 5283 32426, 5281 32429, 6281 33429, 6286 33433, 6286 33434, 6284 33435, 6284 33432, 6288 33429, 6290 32429, 6290 32425, 6288 32428, 6290 32428, 11290 32431, 11294 32429, 11294 32433, 11292 32438, 11288 32441, 11288 32441, 11285 32446, 11280 32446, 11281 32447, 11285 32449, 11286 32449, 11285 32452, 13285 32451, 13289 32446, 16289 32450, 16284 32449, 16285 32449, 16286 32452, 16287 32452, 16286 32450, 16288 32447, 16292 32450, 16293 32450, 16294 32454, 16293 32454, 16293 32454, 16293 32449, 16289 32451, 16290 32456, 16289 32461, 16293 36461, 16291 36466, 16295 36466, 16296 36466, 16299 36466, 16303 36468, 16308 36473, 16312 36471, 16312 36467, 16315 36463, 16314 36464, 16315 36469, 16315 36473, 16310 36474, 16311 36472, 16316 36474, 16321 41474, 16324 41475, 16327 44475, 16332 44475, 16332 44475, 16332 44477, 16332 44478, 16337 44483, 16334 44481, 8416 30500, 8417 30501, 8421 30501, 8416 30505, 8418 30504, 8420 30499, 8423 35499, 8425 35498, 8429 35501, 8431 35503, 8434 35503, 8438 35507, 8440 35507, 8445 35509, 8442 35512, 8445 35513, 8442 35513, 8442 35515, 8443 35519, 8447 35515, 8450 35516, 8445 35521, 8445 35523, 8444 35528, 8446 35530, 8443 35531, 8438 35531, 8435 35527, 8431 35531, 8432 35534, 8433 35536, 8431 35537, 8435 35539, 8439 32539, 8437 32540, 8441 32540, 8438 32543, 9438 32546, 9436 32541, 9431 32538, 9431 32538, 9435 32541, 9435 32546, 9431 32547, 9436 32542, 9438 32542, 9438 34542, 7438 34542, 7440 34547, 7441 34547, 7441 34547, 7441 34552, 7440 34553, 7440 34556, 7440 34557, 7440 34560, 11440 34565, 11436 34563, 11438 34559, 7438 34557, 7438 34553, 122 1239, 126 1243, 127 1240, 127 1242, 131 1239, 130 1239, 127 1240, 125 1243, 130 2243, 134 2246, 133 2246, 137 2246, 142 2246, 147 2251, 148 2256, 146 2257, 148 2252, 146 2249, 148 2248, 152 2253, 157 2249, 161 2246, 162 2247, 162 2249, 157 2248, 158 2249, 3158 2250, 3161 2252, 3161 2254, 3166 2258, 3167 2261, 3168 2259, 3171 2261, 3173 2266, 3171 2267, 3176 2272, 3179 2277, 3176 2280, 3180 2279, 3175 2283, 3179 2280, 3182 2283, 3184 2288, 3187 2293, 5187 2290, 5187 2292, 5183 2290, 5187 2292, 5186 2297, 5189 2297, 5189 2301, 5192 2303, 5189 2303, 5187 2304, 5183 6304, 5184 6301, 5189 6304, 5191 6302, 5193 6300, 5195 6300, 5195 6300, 5197 6301, 5197 6304, 5199 6301, 5197 6304, 5192 6306, 5193 6310, 5194 6312, 5197 6316, 24397 27440, 24393 27441, 24395 27437, 24400 27440, 24400 27441, 16288 32447, 21288 32447, 21288 32448, 21284 32452, 21285 32450, 21285 32452, 21287 32455, 21283 32460, 21284 32462, 21284 32467, 21284 32472, 21286 32474, 21291 32475, 21289 32475, 21289 32473, 21289 32478, 21286 32481, 21290 32486, 21293 32486, 21293 32490, 21298 32489, 21301 32490, 21303 32491, 21305 32488, 21303 32486, 21307 32491, 21312 32495, 21314 32499, 21315 32495, 21317 32499, 21314 32499, 21316 32502, 21318 32505, 21313 32510, 21313 32512, 21314 32517, 21319 32520, 21321 32520, 21326 32520, 21329 32525, 21330 32530, 21334 32531, 21330 36531, 21333 41531, 21338 41531, 21336 41535, 21339 41537, 21337 41539, 21341 41544, 21342 41544, 21345 41540, 25345 41543, 25342 41546, 25339 41546, 25339 41549, 25337 41546, 25337 41547, 25337 46547, 25341 46552, 30341 46555, 30342 46560, 30345 46561, 30344 46557, 30339 46560, 30343 46565, 30339 46569, 30338 46567, 30340 46568, 24375 27423, 24375 27425, 24377 27428, 24379 27429, 24379 27434, 24376 27439, 24381 27441, 24386 27436, 24387 27438, 24384 27441, 24383 27446, 24383 31446, 24383 33446, 20383 33443, 20385 34443, 20384 34444, 20380 34448, 20383 34450, 20383 34446, 20386 34447, 20390 34450, 20394 34451, 20395 34446, 20395 34451, 20398 29451, 20397 29447, 20401 29447, 20402 29443, 20401 29440, 20406 29443, 20411 29444, 20412 29444, 20412 29448, 20410 29449, 20415 29452, 20415 29455, 20414 29459, 20415 29462, 20420 29465, 20415 29467, 20417 29468, 20418 29468, 20418 29467, 20418 29467, 20420 29468, 20416 29469, 20420 29467, 20415 29464, 20415 26464, 20420 26462, 20423 26463, 20423 26465, 20423 26464, 43580 35662, 43580 35658, 43580 35662, 43580 35664, 43585 35665, 43585 35663, 43585 35666, 43581 35667, 43585 35665, 43589 35670, 25627 25555, 25631 25555, 25632 25558, 25632 25563, 25634 25564, 25629 25565, 25625 25561, 25625 25563, 25626 25565, 26626 25570, 26629 25570, 29629 25575, 29628 25578, 29627 25579, 29624 25583, 29627 25587, 29632 25592, 29634 25593, 29637 25595, 29637 25598, 29639 25602, 29644 25600, 29645 25601, 29646 25601, 29651 25602, 29656 25606, 29658 25606, 29663 25607, 29663 25605, 29666 26605, 29668 26608, 29667 26608, 29670 26611, 29674 26611, 29671 26615, 29673 26620, 29676 26617, 29681 26620, 29682 26620, 29683 26619, 29684 26623, 29681 26621, 29686 26626, 29688 26628, 29691 26628, 29692 26632, 29693 26634, 29695 26629, 29696 26624, 29700 26621, 29705 29621, 29709 29620, 29708 29624, 29711 29627, 34711 29630, 34712 29632, 34712 29631, 2284 16415, 2285 16416, 2285 16416, 2289 16421, 2294 16425, 2299 16425, 2300 16430, 2305 16430, 2306 16433, 2311 11433, 2315 11436, 2310 14436, 2310 14435, 2313 14437, 2312 14441, 2310 14442, 2311 14444, 2313 14444, 2311 14447, 2314 14447, 2316 14451, 2316 14456, 2316 14454, 2311 14455, 2311 14455, 2311 14460, 2315 14465, 2315 14465, 2311 19465, 2311 19465, 2313 19466, 2317 19469, 2320 19469, 2323 19466, 2319 19468, 2323 19471, 2324 19471, 2324 19473, 2324 19473, 2322 19468, 2323 19466, 2324 19465, 2329 19470, 2329 19465, 2324 19465, 2324 19467, 2319 19471, 2320 19475, 2104 -1844, 2109 -1844, 2113 -1842, 2116 1158, 2116 1160, 2117 1161, 2116 6161, 2118 6166, 2123 6169, 2126 6174, 2123 6179, 2126 6183, 2126 6187, 2130 6182, 2128 6183, 2127 6182, 2128 6185, 2124 10185, 2129 10190, 2130 10193, 2132 10192, 2132 10195, 2129 11195, 2129 11199, 2133 11200, 2134 11196, 2133 11201, 2137 11205, 2137 11207, 2141 11203, 2144 11207, 2145 11208, 2149 11212, 2144 11214, 2144 11215, 2149 11216, 2152 11221, 2152 11223, 2153 11223, 2154 11226, 2154 11226, 2150 11228, 2152 11224, 2152 11227, 2148 11222, 2145 11223, 2142 11225, 2145 11222, 2142 11223, 2142 11227, 2147 11229, 2149 11230, 2154 11230, 2157 11228, 2159 11233, 2159 11233, 2155 11237, 2155 11242, 2151 11243, 7151 10243, 7156 10245, 7159 10245, 7164 10247, 7166 10252, 7166 10255, 7171 10257, 7173 10257, 7174 10261, 7179 10264, 7184 10260, 7189 10264, 7193 8264, 7197 8260, 7202 8262, 7206 8262, 7205 8265, 7205 8266, 7207 8270, 7211 8274, 7211 8277, 7216 8277, 7216 8280, 7212 8280, 7213 8280, 7215 8283, 7220 8282, 7224 8287, 7225 8283, 7222 10283, 7223 10287, 7225 10288, 7230 10290, 7232 10294, 7233 10294, 7233 10297, 7234 10298, 7234 10301, 7236 10303, 7231 10299, 7228 10298, 7223 10297, 7225 10299, 7230 10303, 7231 10307, 7234 10311, 7234 10315, 7235 10320, 7236 9320, 7241 9322, 7246 9325, 7243 9330, 7243 9332, 7240 9335, 7237 9334, 7239 9339, 7238 9339, 7238 9341, 7238 9342, 7233 14342, 7232 14337, 7234 14342, 7239 18342, 4084 22284, 4083 22284, 6083 22287, 6078 22289, 6078 22293, 6080 22290, 6082 22291, 6086 22296, 6086 22297, 6087 22297, 6088 22295, 6093 22298, 6094 22297, 9094 22294, 9097 22298, 9098 22299, 9098 22301, 9093 22296, 9098 22299, 9100 22294, 9096 18294, 9099 18294, 9098 18298, 9101 18296, 9100 18301, 9105 18303, 9105 18306, 9105 18309, 9102 18305, 9104 18306, 9108 18309, 9104 18314, 9103 18310, 9105 18312, 9105 18316, 9109 18314, 9109 18319, 9109 18324, 9113 18326, 9113 18330, 9115 18333, 9113 18333, 9118 18333, 9123 18333, 9123 18336, 9125 18335, 9126 18336, 9127 18332, 9129 18329, 9127 18332, 9130 18333, 9135 18333, 9138 18337, 9143 18341, 9144 18346, 9145 18344, 9150 18348, 9154 18345, 9152 18350, 9151 18345, 9151 18345, 9156 18347, 9160 18349, 9163 18350, 9163 18351, 9165 18356, 9166 18356, 9164 18353, 9167 18356, 9167 18355, 9167 18356, 9167 18360, 9165 18356, 9169 18357, 9169 18353, 9170 18355, 9170 18351, 9175 18351, 9177 18351, 9181 18352, 9184 18353, 9189 18356, 9188 18361, 9191 18364, 9194 18364, 9198 18366, 13198 18371, 13198 18373, 13198 18375, 13201 18378, 13196 18378, 13199 18379, 13202 18381, 13207 18384, 13212 18388, 13211 18383, 13211 18378, 13215 18379, 13218 20379, 13214 20379, 13217 20379, 13213 20379, 13213 20376, 13210 20377, 13206 20377, 13206 20373, 13207 20373, 13209 20370, 13214 20371, 13218 20371, 13223 20376, 13224 20381, 13227 20385, 13228 20390, 13232 20387, 9232 20392, 9230 20388, 9230 20390, 9225 20393, 9225 20396, 4225 20401, 4225 20400, 4227 20403, 4224 20408, 4222 20412, 4222 20415, 4225 20420, 4229 20425, 4232 20422, 4236 20425, 4234 20426, 4238 20427, 4240 20427, 4241 20427, 4237 20431, 4233 20431, 4232 20430, 4230 20432, 4234 20431, 4234 20435, 4238 20437, 4243 20435, 4243 22435, 4238 22440, 4241 22441, 4241 22443, 4238 22447, 4234 22443, 4238 22448, 4238 22450, 4241 22451, 4241 22456, 4243 22458, 4247 22461, 4247 22464, 4252 22466, 4253 22469, 4255 22469, 4251 22469, 4253 22464, 4253 22468, 4257 22473, 4259 22477, 4258 22482, 4261 22483, 4262 22484, 4259 22489, 6259 22493, 6262 22494, 6262 22497, 6264 22500, 6264 22504, 6269 22499, 6273 22499, 6278 22495, 6278 22493, 6283 22491, 6288 22494, 6291 22494, 6296 22494, 6296 22493, 6294 22489, 6294 22493, 6290 22493, 6290 22498, 6290 22500, 6288 22501, 6290 22505, 6294 22504, 5294 22507, 5294 22507, 5298 22512, 5297 22514, 5302 22514, 5307 22517, 5304 22518, 5308 22514, 5311 22517, 5315 27517, 5315 27517, 5319 27517, 5324 22517, 5328 22521, 6328 22520, 6325 22522, 6325 22527, 6322 22527, 6323 22530, 6325 22535, 6325 22535, 6326 22536, 6326 22536, 6327 22533, 6323 22535, 6325 22538, 6330 22538, 6331 22534, 6326 22531, 10326 22526, 10321 22528, 10317 22524, 10316 22529, 10313 22529, 10309 22530, 10306 22535, 10308 22531, 10308 22532, 10311 22534, 10314 27534, 10314 27538, 10314 27538, 10309 27540, 10309 27536, 11309 27535, 11309 27537, 11310 27539, 11305 27535, 11300 27536, 11296 27538, 11296 27538, 11301 27542, 11299 27546, 11304 27551, 11308 27551, 11313 27553, 11315 30553, 11319 30555, 11315 30550, 11318 30545, 11318 30544, 11321 30549, 11320 30550, 11325 30554, 11328 30558, 11328 34558, 11332 34562, 11333 34562, 11335 34562, 11334 34565, 11330 34565, 11333 34566, 11338 34566, 11338 34571, 11342 34574, 11344 34573, 11347 34572, 11346 34573, 11347 34575, 11351 34578, 15351 34578, 15356 34573, 15361 34570, 15364 34575, 15365 34580, 15369 34581, 15370 34581, 15373 34585, 15376 34580, 15381 34578, 15385 34583, 15386 34588, 15389 34587, 17389 34582, 17394 34582, 17393 34582, 17398 34577, 17399 34582, 17399 34584, 17399 39584, 17404 39588, 17399 39591, 17404 39591, 17408 39586, 17405 39591, 17409 39593, 17411 39596, 17408 39596, 17411 39599, 17411 39603, 17414 39607, 17418 39612, 17419 39612, 17419 39612, 17423 39611, 17424 39613, 17426 39612, 17429 39608, 17427 39609, 17428 39613, 17425 39615, 17424 39614, 17427 39617, 17430 39622, 17430 39623, 17431 39620, 17434 39620, 13434 39619, 13434 39621, 13434 39621, 13434 44621, 13436 44625, 13436 44627, 13441 44631, 13444 44636, 13444 44639, 13442 44635, 13444 44635, 13447 44639, 13449 44643, 13447 44641, 13447 44642, 13452 44643, 13456 44648, 13459 44648, 13461 44646, 15461 44643, 15459 44648, 15463 44648, 15464 44646, 15461 44649, 15461 44651, 15465 44654, 15460 44655, 15461 44657, 15463 44661, 15465 44665, 15465 44665, 15465 44667, 15469 44670, 15474 44672, 15476 44668, 15472 44672, 15473 44674, 15475 44678, 15477 44679, -3804 12302, -3802 12305, -3803 13305, -3802 13300, -3806 13296, -3807 13299, -3804 13304, -3802 13301, -3799 13305, -3799 13306, -3794 18306, -3799 18310, -3797 18315, -3800 18315, -3797 18316, -3799 18318, -3794 18323, -3793 18326, -3789 18325, -3784 18324, -3784 18325, -3782 18325, -3780 18325, -3779 18328, -3780 18329, -3781 18324, -3786 18328, -1786 18328, -1786 18333, -1782 18337, -1782 18338, -1779 18333, -1775 18338, -6775 18341, -6772 18343, -6774 18345, -6779 18345, -6777 18345, -6777 18347, -6777 18343, -6775 18347, -6780 18342, -6777 18345, -6776 18345, -6774 18340, -6774 18337, -6774 18337, -6778 18342, -6782 18342, -6785 18339, -6784 18340, -6779 22340, -6779 22339, -6776 22335, -6775 22330, -6775 22335, -6775 22339, -6770 22339, -6772 22344, -6767 22345, -6765 22341, -6765 22339, -6765 22339, -6765 22337, -6765 22340, -6760 22335, -6757 22335, -6762 22336, -6763 22338, -6765 22343, -6760 22338, -6758 22338, -6758 22338, -6756 22341, -6752 22345, -6752 22346, -6748 22343, -4748 22347, -4745 22347, -4750 22347, -4749 22348, -4747 22349, -4743 22352, -4738 22357, -4734 22362, -4736 22367, -4738 22362, 21338 41531, 21336 41531, 21332 41530, 21332 41530, 21335 41533, 21330 41533, 21331 41534, 21328 41536, 21330 41536, 21326 41541, 21330 41536, 21332 41539, 21336 41536, 21338 40536, 21336 40540, 21341 40538, 21343 40538, 21346 40538, 21348 40536, 21352 40536, 21355 40539, 21359 40543, 21361 40546, 21362 40550, 21357 40550, 21362 40551, 21361 40554, 21358 40555, 21358 40554, 21359 40554, 21363 40558, 21360 45558, 21364 45560, 21368 45557, 21372 45561, 21376 45560, 21379 45557, 22379 45553, 22384 45553, 22384 45556, 22388 45561, 22389 45561, 22390 45557, 22394 45561, 24394 45565, 22394 45562, 22399 45565, 22401 45562, 22400 45565, 22402 45568, 22402 45573, 22406 45577, 22408 45581, 22408 45585, 22406 45585, 22409 45586, 22411 45583, 22411 45579, 22411 45583, 22409 45583, 22404 45586, 22404 45586, 22406 45591, 22408 45591, 22408 45593, 22413 45593, 22415 45594, 22419 45595, 22419 45596, 22424 45591, 22427 45587, 22430 50587, 22430 50589, 22430 50589, 22432 50592, 22437 50594, 22437 50589, 22437 50594, 22441 50599, 22442 50594, 22447 50591, 22444 50588, 22444 50590, 22445 54590, 22445 54594, 22448 54599, 22450 54601, 22450 59601, 22446 59597, 22451 59600, 22451 59603, 22454 59604, 22459 59604, 22460 59609, 22459 59606, 22464 59607, 22465 59608, 22463 59609, 22460 59606, 22459 59605, 22459 59605, 22457 59609, 25457 59610, 25459 59615, 25464 59617, 25466 59618, 25469 59621, 25474 59616, 25478 59617, 25480 59614, 25484 59619, 25484 59620, 25488 59616, 25485 59618, 25489 59623, 25494 59627, 25499 59629, 148 2256, 152 2253, 152 2253, 154 2258, 159 2253, 160 2257, 159 2256, 163 2259, 161 3259, 163 3262, 163 3259, 165 3259, 170 3263, 170 3263, 174 3267, 169 3271, 174 3275, 174 3276, 174 3278, 177 3282, 181 3286, 183 3287, 186 3284, 187 3286, 189 3286, 193 3288, 194 3290, 193 6290, 195 6293, 200 6289, 197 6294, 196 6293, 197 6293, 201 6297, 202 6292, 200 6294, 204 6295, 209 6300, 214 6305, 217 6305, 218 6305, 213 6308, 214 6308, 218 6313, 218 6308, 216 6312, 215 6312, 213 6309, 214 6313, 219 6318, 222 6321, 226 6326, 224 6331, 222 6327, 41575 39716, 41574 39713, 41578 40713, 41582 40718, 41578 40721, 36578 40721, 36579 40723, 36584 40720, 36587 40725, 36592 43725, 36587 43725, 36584 43728, 36587 43733, 36592 43735, 36592 43734, 15291 11311, 15287 11316, 15288 11319, 15291 11319, 15296 11319, 15297 11320, 15298 13320, 38744 37650, 38745 37654, 38747 37659, 38746 37662, 38741 37663, 38739 37666, 38744 37666, 38747 37661, 38750 37666, 38750 37666, 38754 37671, 38755 37671, 38750 37673, 38750 37672, 38754 37677, 38756 37678, 38758 37680, 38760 37678, 38762 37683, 38762 37679, 38760 37679, 38765 37679, 38769 37678, 38774 40678, 38769 40683, 38774 40687, 38776 44687, 38780 44690, 38782 44694, 38782 44694, 38781 44699, 38784 44704, 38782 44699, 38777 44700, 38777 44700, 38777 44700, 38781 44703, 38785 44700, 38786 44700, 38788 44696, 38788 44696, 38788 44700, 38793 44702, 38795 44703, 38797 44707, 38802 44712, 38805 44712, 38809 44713, 38804 44710, 38808 44712, 38811 44713, 36811 44713, 36816 44708, 36815 44709, 36816 44709, 36818 44713, 36813 44716, 36814 48716, 36813 48721, 36817 48725, 36818 51725, 36820 51721, 36824 51724, 40824 51719, 40829 51716, 40832 51720, 40831 51723, 40834 51727, 40837 51728, 40842 51725, 40843 51725, 40838 51729, 40843 51734, 40848 51738, 40850 51742, 40851 51744, 40853 51747, 40856 51749, 40857 51750, 40859 51754, 40859 51750, 40863 51752, 40868 51755, 40864 51754, 40868 51754, 40871 51756, 40867 51756, 40865 51759, 40860 51761, 40857 51757, 40857 51762, 40854 51762, 40855 51764, 40859 51765, 40857 51761, 40854 51764, 40855 51765, 40857 51766, 40860 51761, 40861 51760, 40865 51761, 40865 51763, 40862 51768, 40861 51768, 40856 51772, 40852 51769, 40854 51771, 40854 51771, 40850 51776, 40854 51780, 40856 51782, 40854 51782, 43854 51782, 43856 52782, 43858 52785, 43861 52785, 43861 52780, 37514 26540, 37519 26535, 37522 26539, 37522 26544, 37524 26548, 37529 26548, 37534 26553, 37539 26548, 37542 26553, 37547 26548, 37551 26551, 37551 26554, 37550 26555, 37551 26557, 37548 26557, 37548 26557, 37551 26560, 37551 26563, 37554 26563, 37558 26568, 37562 26563, 37563 26565, 37567 26569, 41567 26569, 41571 26572, 41573 26577, 41573 26577, 41578 29577, 41573 29577, 41575 29580, 41575 29582, 46575 29582, 46571 29586, 45571 29587, 45574 29587, 45570 29587, 45575 29585, 45577 29582, 45573 29585, 45574 29588, 45574 29589, 45578 29589, 45580 29592, 45583 29595, 45584 29597, 45584 29602, 45586 29601, 45591 29604, 45587 29609, 45591 33609, 45595 36609, 45596 36611, 45601 36613, 45602 36608, 45606 36608, 45606 36612, 45606 36611, 45610 36614, 50610 36617, 50613 36613, 50616 36613, 50621 36609, 50626 36609, 50627 36610, 50627 36609, 50631 36610, 50626 36612, 50627 36614, 50628 36614, 50631 36612, 50629 36614, 50630 36618, 50634 36622, 46634 34622, 46634 35622, 46638 35626, 46638 35621, 46639 35624, 46641 35623, 46645 35624, 46647 35629, 46645 35634, 46650 35639, 46650 35644, 46651 35647, 46653 35651, 46657 35654, 46654 35659, 46659 35660, 46660 35661, 46664 35664, 46661 35667, 46664 35668, 46667 35667, 46669 35671, 46669 35667, 46672 35670, 46674 35675, 46676 35675, 47676 35672, 47678 35676, 47679 35677, 47679 35682, 47679 35681, 47679 35681, 47679 35686, 47674 35687, 47673 35687, 49673 35689, 49676 35693, 49679 35696, 49677 35696, 54677 35701, 54680 35703, 54676 35703, 54672 35705, 54672 35704, 54677 35707, 54678 34707, 54678 34707, 54681 34710, 54685 34712, 54690 34710, 54690 34711, 54687 34706, 54689 34706, 54694 34711, 54689 36711, 54689 36710, 54684 36711, 54687 38711, 54682 38714, 54682 38718, 54679 38718, 54681 38723, 54684 38724, 54689 38720, 54690 38721, 54694 38726, 54699 38730, 54701 38731, 54702 38728, 54704 38724, 52704 38723, 52704 38723, 52704 38725, 52704 38729, 52706 38730, 52708 38732, 52709 38733, 52713 38732, 52713 35732, 52715 35737, 52714 35741, 52714 35743, 52715 35746, 52715 35749, 52710 35749, 52712 39749, 52715 39753, 52718 39752, 52723 39753, 52722 39757, 52718 39760, 52718 40760, 47718 40761, 47719 40765, 47724 40765, 47724 40765, 47724 40770, 47728 40773, 47730 40776, 47735 40781, 47733 40777, 50733 40781, 51733 40783, 51735 40786, 51736 40790, 51739 40788, 51743 41788, 51741 41787, 51741 41789, 51741 41789, 51738 41793, 51733 41793, 52733 41794, 52737 41795, 52740 41794, 52744 41793, 52748 41789, 52749 41789, 52747 41789, 52752 41786, 52755 41790, 52755 41791, 52760 41796, 52756 42796, 52751 42797, 52754 42798, 52758 42795, 52759 42794, 52764 42797, 52768 42801, 52768 42801, 52771 42806, 52776 42810, 52776 42809, 52773 42811, 52776 42811, 52772 42812, 52773 42815, 52769 42815, 52768 42816, 52769 42821, 52773 42821, 52773 42821, 52777 42819, 52781 42815, 52781 42816, 52782 42819, 52778 42822, 52776 42822, 52779 42826, 52782 42827, 52783 42831, 52778 42833, 52782 42836, 54782 42839, 54782 42844, 2137 11205, 2142 11207, 2139 11208, 2142 11213, 2144 11217, 2149 11215, 2147 11217, 2147 11217, 2152 11222, 2152 11225, 2155 11229, 2159 13229, 2164 13232, 2169 13235, 2173 13236, 2169 13233, 2170 13237, 2173 13241, 2175 13243, 2170 13238, 2170 13239, 2175 13239, 2177 13238, 2179 13239, 2179 13238, 2181 13233, 2181 13230, 2182 13230, 2179 13230, 2179 13235, 2182 13235, 2183 10235, 2178 10237, 2179 10236, 2182 10239, 2187 10241, 2184 10244, 6184 10244, 6186 10248, 6184 10246, 6185 10247, 6187 10250, 6192 10248, 6196 10248, 6196 10251, 6194 10251, 6194 10256, 6197 10260, 6196 10264, 6197 9264, 6197 9264, 6197 9268, 6201 9273, 6206 9276, 6201 9272, 6203 9272, 6205 9269, 6210 9272, 6206 9274, 6206 9279, 6203 9283, 6203 9285, 6203 9290, 6208 9285, 6208 9281, 6204 9285, 6202 9289, 6204 9292, 6200 9294, 7200 9297, 7202 9301, 7203 9301, 7207 9302, 7211 9302, 7211 9303, 8211 9306, 8216 10306, 8220 10310, 8224 10312, 8228 10317, 8233 10317, 8237 10322, 8239 10322, 8239 10327, 8235 10330, 8235 10331, 8239 10329, 8240 10332, 8240 10334, 8236 10334, 11236 10336, 11238 10337, 11243 10341, 14243 10342, 14242 10342, 14239 10343, 14240 10341, 14239 10343, 14244 10343, 14248 10343, 14252 10343, 14252 10343, 14253 10341, 14256 10341, 14258 10338, 14258 10336, 14254 10340, 14257 10344, 14261 10346, 14264 10351, 11150 3163, 11155 3167, 11156 3166, 11156 3169, 11160 3171, 11163 3176, 11164 3179, 11164 3180, 11168 3183, 11168 3185, 11173 3189, 11178 3184, 11180 3183, 11178 3185, 11181 3187, 11176 3186, 52778 42822, 52780 42826, 52779 42826, 52784 42821, 52785 42826, 52786 42827, 52791 42830, 52791 42827, 56791 42832, 56788 42833, 56788 42836, 56791 42840, 56791 42839, 56787 42842, 56788 42847, 51788 42848, 51790 42850, 51792 42851, 51796 42846, 51798 42846, 51803 42850, 53803 42853, 53808 42853, 53811 42856, 53814 42854, 53819 42850, 53819 42852, 53820 42857, 53824 42860, 53825 42858, 53828 42862, 53827 42864, 53828 42864, 53828 42868, 53832 42872, 53837 42877, 53841 42877, 53843 42876, 53843 42880, 53843 42883, 53843 42888, 53838 42892, 53838 42893, 53838 44893, 53835 44893, 53837 44897, 53840 44901, 53844 44901, 53846 44904, 53846 44908, 53847 44909, 53852 44907, 53855 44908, 53860 44910, 53858 44911, 53863 44913, 53858 44917, 53860 44920, 53865 44920, 53870 44922, 53869 43922, 53871 43925, 53871 43923, 53869 43923, 53864 43922, 53862 43927, 53866 43932, 53871 43934, 53876 43937, 53876 43936, 53876 43936, 53877 43934, 53879 43932, 53880 43928, 53885 43931, 55885 43933, 55885 43929, 55881 43933, 55883 43933, 55886 43932, 55883 43932, 55884 43933, 55885 45933, 55885 45937, 55885 45940, 55886 45945, 55886 45945, 55888 45950, 55884 45952, 55885 45956, 55890 45960, 55892 45961, 55896 45957, 55894 45958, 55899 45954, 55895 45958, 55898 45960, 55894 45959, 55899 45963, 55901 45965, 55901 45965, 55896 45966, 55900 45961, 55895 49961, 55898 47961, 55896 47960, 55900 47964, 55903 47968, 55903 47971, 55903 47974, 55898 47977, 55900 47973, 55896 47978, 55897 47979, 55893 47980, 55898 47983, 55901 47988, 55904 47987, 55899 47991, 55901 47993, 55906 47996, 55906 47997, 55907 48001, 55904 48005, 55904 48007, 55909 48004, 55912 48002, 55917 48003, 55913 47998, 55908 48002, 55912 48007, 55916 48004, 55920 48004, 55916 48004, 55921 48004, 55923 48007, 55923 48011, 55926 48011, 55921 48014, 55924 48009, 55929 48013, 55930 48012, 55930 48012, 55932 48016, 55927 48016, 55927 48020, 54927 48018, 54924 48022, 54924 44022, 54928 44017, 54931 44016, 54934 44020, 55934 44021, 55937 44021, 55938 44024, 55939 44026, 55938 44024, 55941 44019, 55946 44022, 55947 44026, 55949 44027, 55952 44028, 55955 44024, 55958 44027, 53869 43923, 53873 43925, 52873 43925, 53873 43927, 53878 43927, 53883 43927, 53882 43931, 53884 43935, 53888 43940, 53886 43941, 53881 43938, 53881 43941, 53879 43943, 53880 43942, 53881 43946, 53882 43951, 53883 43952, 53886 45952, 53886 45953, 53884 45957, 53885 45958, 53880 45960, 53882 45957, 53887 45962, 53887 45962, 53888 45961, 53888 48961, 53888 48966, 53893 48966, 53894 48968, 53899 48969, 49899 48966, 49904 48969, 49908 48971, 49904 48971, 49906 48975, 49903 48971, 49906 48974, 54906 48975, 54906 48975, 54906 48979, 54911 48983, 54909 48979, 54912 48979, 54908 48975, 54911 48977, 54913 48979, 54917 48982, 54922 48982, 54925 48985, 54920 48988, 54923 48988, 56923 48988, 56928 48990, 56926 48985, 56931 48984, 56934 48983, 56934 48981, 56938 48983, 56939 48985, 56939 48986, 61939 48988, 61939 48984, 61936 51984, 61937 51985, 61937 51988, 61937 51988, 61933 51990, 5331 23399, 5333 23399, 5335 23394, 5339 23396, 5342 23399, 5347 27399, 5347 27401, 5352 27402, 5357 27403, 5358 27406, 6358 27409, 6362 27411, 6363 27410, 6366 27406, 6368 26406, 6373 26406, 6373 26406, 6374 26409, 6372 26409, 6377 26410, 6382 26415, 6387 26417, 6389 26418, 6390 26423, 6392 26423, 6393 26428, 6395 30428, 6392 30433, 6392 30436, 6392 30434, 6396 30438, 6396 30441, 6396 30445, 6398 30446, 6400 30443, 6401 30440, 6406 30439, 6407 30439, 6402 30439, 6407 30444, 6406 30447, 6407 30451, 6411 30451, 6413 30451, 6414 30452, 6419 30450, 6423 30454, 6420 30452, 6419 30448, 6420 30453, 6422 30455, 6427 30460, 6428 30460, 6427 30462, 6428 30462, 6428 34462, 6429 34463, 6434 39463, 6436 39466, 6436 39471, 6441 39474, 6445 39471, 6446 39472, 6451 39477, 6453 39480, 6454 39485, 6454 39483, 6454 39480, 8454 39480, 8458 39482, 8462 39484, 10462 39486, 10457 39486, 10458 39488, 10462 39488, 10465 39488, 10470 39490, 10475 39486, 10477 39488, 10477 39490, 10478 39492, 10479 39496, 10477 39498, 10482 39503, 10478 39505, 10481 39510, 10482 39514, 10477 39512, 10482 39517, 10483 39520, 10483 39520, 10487 39525, 10489 39526, 10492 39527, 10492 39524, 10495 39524, 10498 44524, 10493 44523, 10493 44528, 10494 44524, 10499 44529, 10501 44529, 10504 44531, 10502 44535, 10504 44539, 10508 44539, 10513 44536, 13513 44540, 13515 44537, 13512 44539, 13509 44544, 13513 44547, 13517 44552, 13519 44553, 13524 44554, 13527 42554, 13522 42555, 13524 42557, 13527 42556, 13531 42561, 13531 42562, 13526 42563, 13527 42563, 13527 42566, 13522 42568, 13525 42571, 15525 42573, 15525 42576, 15526 42581, 15531 42581, 15532 42586, 15534 42588, 15534 42592, 15533 42591, 15533 42596, 15532 42591, 15532 42587, 15535 42587, 15538 47587, 15534 47587, 15537 47591, 15536 47594, 15538 47598, 11538 47594, 11535 47594, 11531 47594, 11535 47596, 11535 47596, 11535 47597, 11539 47602, 11540 47607, 11540 47607, 11540 47609, 11543 47613, 11546 47617, 14546 47618, 14541 47614, 14539 47614, 14539 47618, 14537 50618, 14539 50623, 14541 50623, 14542 50627, 14540 50627, 14539 50623, 25601 26544, 25601 26545, 25601 26548, 25596 26546, 25601 26547, 25598 26548, 25599 26547, 25600 26547, 25595 26548, 25590 26546, 25595 26549, 25597 26548, 25598 26548, 25601 26545, 25596 26548, 25594 26553, 25595 26552, 25599 26553, 25598 26554, 25596 26555, 25592 26554, 25596 26558, 25599 26554, 25600 26556, 25595 26559, 25600 22559, 25601 22561, 25606 22563, 25607 22562, 25608 22566, 25607 22563, 25607 22568, 30607 22573, 30612 22575, 30612 22579, 30611 22579, 30611 22580, 30611 22585, 30607 22585, 30612 22587, 30612 22588, 30615 22583, 30615 22585, 30618 22581, 30621 22581, 30623 22584, 30623 22589, 30628 22594, 30630 22597, 30631 22602, 30628 22607, 30630 22610, 30631 22611, 30631 22608, 30629 22610, 30634 22612, 30635 22612, 30638 22616, 30643 17616, 30644 17618, 30649 17618, 30653 17619, 30656 17614, 30657 17611, 30660 17615, 30655 17614, 30656 17610, 30656 17611, 30661 17610, 30662 17615, 30660 17620, 30661 17620, 30666 17623, 30667 17625, 30667 17624, 30669 17625, 30673 17628, 30675 17628, 30675 17628, 30680 17631, 30677 17636, 30677 17639, 30680 17644, 30683 17647, 30688 17643, 30693 17645, 30698 19645, 30701 19644, 30702 19644, 30698 19649, 30700 19647, 30701 19649, 30704 19650, 30705 19653, 30701 19655, 30706 19652, 30708 19656, 30711 19657, 30711 19659, 30711 19659, 30714 19661, 30710 19662, 30707 19664, 30702 19666, 30703 19667, 30708 19668, 30713 19667, 30709 19671, 30706 19674, 30710 19676, 30711 19677, 30713 19677, 30713 19678, 30715 19682, 30720 19686, 30725 20686, 30723 20690, 30727 20695, 30728 20697, 30731 20699, 30730 20694, 30732 20696, 30735 20698, 30738 20696, 30738 20695, 30742 20698, 30743 20699, 30743 20701, 30748 20704, 30749 20706, 30752 20705, 30753 20702, 30755 24702, 30751 24705, 30750 24707, 30748 24708, 30749 29708, 30749 29709, 30751 29711, 30754 29716, 30759 29716, 30762 34716, 30762 34720, 30765 34720, 30761 34717, 30761 34721, 30765 34721, 30760 34721, 30759 34725, 30762 34730, 30760 34730, 30765 34731, 30765 34731, 30766 34731, 30761 34733, 30761 34736, 30764 34738, 30759 34739, 30763 34740, 30761 34740, 30764 34742, 30759 34737, 30762 34739, 30764 34741, 30762 34740, 30767 34737, 32767 34741, 32770 34741, 32767 34744, 32767 34746, 32770 34751, 32774 34755, 32774 34756, 32779 34753, 32784 34755, 32785 33755, 32785 33750, 36785 33753, 36785 33758, 36788 33760, 36789 33759, 36789 33762, 36793 33758, 36798 33758, 36803 33760, 36803 33762, 36803 33766, 36804 33769, 36804 33769, 36808 33774, 33808 33776, 33808 33781, 33811 33781, 33816 33784, 33816 33789, 33820 33786, 33823 33788, 33828 33785, 33824 33785, 33826 33787, 33824 33788, 33828 33791, 33825 33796, 33829 33799, 33830 33802, 33831 33803, 33835 33805, 33835 33805, 33838 33809, 33841 33813, 33844 33809, 33849 33814, 33847 32814, 33849 32812, 33851 32816, 33853 32819, 33851 32822, 33851 32826, 33849 32826, 33849 32830, 33852 32835, 33856 32840, 33859 32837, 33858 32832, 33861 32833, 33862 32836, 33859 32838, 33859 32834, 33857 32834, 33859 32834, 33857 32838, 33861 32833, 33861 32837, 33864 32840, 33866 32841, 33866 32843, 33868 32841, 33871 32839, 33874 32844, 33876 37844, 33881 37849, 33883 37854, 33883 37859, 33888 37860, 33893 37864, 33898 37864, 33895 37867, 33896 38867, 33898 38863, 28898 38868, 28901 39868, 33901 39873, 33898 39875, 33900 39879, 33904 39877, 33904 39879, 33909 39883, 33914 39888, 33910 39891, 33910 39892, 33907 39894, 33911 39899, 33913 39900, 33910 39904, 33914 39905, 33917 39906, 33917 39906, 33917 39906, 33912 39911, 33912 39908, 33916 39907, 33914 39910, 33918 39913, 33922 39913, 33924 39916, 33925 39920, 33930 39920, 33933 39922, 33934 39923, 33937 39919, 33938 39916, 33936 39913, 35936 39918, 35933 39919, 35937 39921, 35941 39924, 35941 39919, 35942 39915, 35946 39920, 35946 39915, 35946 39912, 35947 39908, 35947 39912, 35947 39916, 35952 39919, 35957 39921, 38957 39920, 38962 39925, 38964 39924, 38964 39924, 38969 39926, 38969 39928, 38972 39932, 38977 39932, 38975 39932, 38979 39935, 38982 39938, 38986 39940, 38984 39943, 38985 39946, 38987 39947, 38989 39949, 38994 41949, 38990 41954, 38991 41958, 38994 41962, 38994 41966, 38994 41969, 38995 41974, 38999 41974, 38999 41974, 38996 41978, 38996 41983, 38999 41983, 39001 41986, 38996 41984, 39000 41989, 39000 41988, 5336 23410, 5332 23410, 5327 23407, 9327 23408, 12327 23412, 12327 23412, 12324 23410, 13324 23415, 13327 23420, 13328 23416, 13324 23418, 13329 23423, 13330 23426, 13331 23429, 13335 23426, 13339 23428, 23493 35553, 23492 35548, 23496 35550, 23501 35552, 23497 35553, 21497 35557, 21492 35560, 21494 35562, 21494 35560, 21496 35563, 21496 35568, 21496 35570, 21501 35570, 21504 35566, 21504 35571, 17504 35572, 17508 35577, 17509 35578, 17513 35582, 17514 35587, 17515 35592, 18515 35595, 18516 35596, 18517 35598, 18515 35600, 16515 35605, 16515 37605, 16515 37606, 16513 37608, 16515 37613, 16516 37615, 16520 37620, 16524 34620, 16526 34617, 16530 34619, 16530 34624, 16535 34628, 16537 34631, 16540 34632, 16541 34634, 16541 34635, 16544 34632, 16544 34637, 16546 34642, 16549 38642, 16549 38644, 16545 38649, 16545 38644, 16542 38644, 16545 38644, 16544 38645, 16548 38650, 16543 38653, 16543 38649, 18543 38652, 18546 38652, 18546 38657, 18546 38660, 18551 38655, 18549 38655, 18552 38660, 18549 38662, 23549 38667, 23546 38668, 23550 38672, 23550 38674, 28550 38676, 28551 38673, 28551 38677, 28547 38673, 28551 38674, 28556 38674, 28559 38678, 28562 38673, 28564 38678, 28564 38673, 28563 38673, 28566 38675, 28571 38675, 38781 44703, 38782 44699, 38780 44702, 38785 44704, 38787 44704, 38783 44705, 38784 44700, 38788 44695, 38791 44696, 38796 44696, 38801 44692, 38801 44697, 38805 44701, 38810 44701, 38808 44701, 38808 44704, 38805 44706, 38805 44710, 38804 44711, 38809 48711, 38810 48711, 38808 48711, 38812 48716, 38812 48713, 38812 48715, 38812 48715, 38808 48711, 38804 48714, 38805 48710, 38807 48715, 38812 48715, 38807 48713, 38811 48714, 38811 48714, 38816 48711, 38817 48707, 38818 48707, 38818 48708, 38822 48708, 38824 48713, 38822 48714, 38820 48718, 38824 48720, 38824 48723, 38829 48726, 38830 48731, 38834 48729, 38832 48734, 38833 48730, 38834 48728, 38831 48732, 8433 35536, 8433 35541, 4433 35536, 4436 35541, 4440 35541, 4441 35537, 4445 35539, 4444 35534, 4447 35531, 4451 35531, 4455 35534, 4460 35534, 4461 39534, 4462 39535, 4463 39535, 4466 39535, 4470 39535, 4472 39538, 4467 39538, 4467 39536, 4471 39536, 4473 39541, 4468 39542, 4472 39543, 4475 39544, 4478 39544, 4482 39547, 4487 39552, 4485 39550, 4486 39551, 4486 39553, 4486 39555, 4488 39557, 4488 39558, 4489 39555, 4485 39557, 4488 39558, 4492 39560, 4495 39561, 4500 39565, 4496 39566, -4747 22349, -4750 22349, -4746 22352, -4742 22355, -4738 22360, -4739 22362, -4737 22365, -4732 22363, -4728 25363, -4728 25364, -4723 25364, -4725 25364, -4725 25365, -6725 25364, -6727 25369, -6728 25369, -6725 25369, -6729 25368, -6728 27368, -6725 27370, -6721 27371, -3721 27367, -3717 27372, -3718 27375, -3716 27370, -3715 27373, -3714 27373, -3712 27376, -3709 27374, -3710 27375, -3710 27374, -3708 27379, -3706 27381, -3705 27386, -3704 27389, -3704 27393, -3703 32393, -3702 32396, -3702 32396, -3697 32395, -3697 32399, -3692 32403, -3692 32404, -3693 32408, -3693 32412, -3691 32414, -3691 32414, -3695 32414, -3690 32417, -3689 32422, -3684 32424, -3681 32429, -3679 32424, -3676 32428, -3671 32428, -3674 32431, -3671 32430, -3669 32430, -3674 33430, -3676 33432, -3674 33432, -3677 33432, -3677 33437, -3675 33438, -3674 33442, -3679 33444, 1321 33448, 1323 33445, 1327 33448, 1331 33443, 1328 33448, 1328 33443, 1329 33443, 1329 33444, 1334 33448, 1335 33453, 1340 33457, 1340 33454, 1345 33454, 1349 33458, 1348 33461, 1348 33459, 1344 33463, 1343 33466, 1348 33466, 1349 33467, 1345 33467, 1346 33466, 1350 33461, 1349 33464, 1354 33468, 1358 33472, 1363 33473, 1365 33472, 1367 33473, 1370 33476, 1371 33479, -2629 33482, -2631 33487, -2627 33490, -2630 34490, -2626 36490, -2623 36492, -2619 36492, -2622 36492, -2620 36496, -2622 36495, -2627 36495, -2625 36500, -2621 36503, -2626 36506, -2629 36510, -2624 36510, -2620 36510, -2620 36513, -2617 36518, -2622 36516, -2619 36514, -2617 36514, -2617 36512, -2615 36516, -2613 36516, -2613 36517, -2613 36515, -2613 36510, -2610 36511, -2607 36515, -2604 37515, -2604 37512, -2608 37509, -2605 37512, -2600 37516, -2597 37516, -2593 37514, -2595 37515, -2590 37519, -2595 37518, -2590 37523, -2590 37528, -2590 37530, -2592 37525, -2592 37520, -2589 36520, -2586 36521, -2587 36517, -2584 36518, -2582 36518, -2581 36520, -2577 36518, -2576 36522, -2576 35522, -2573 35523, -2575 35523, -2576 35528, -2576 35533, -2576 35536, -2576 35538, -2578 35541, -2582 35545, -2584 35546, -2585 35548, -2583 35544, -2583 35548, -2582 35547, -2578 35552, -2574 35554, -2569 35557, -2565 35559, -2563 35564, -2558 35564, -2555 35568, -2551 35568, -5551 36568, -5546 36568, -5542 36569, -5545 36569, -5543 36574, -5540 36569, -5541 36570, -5541 36572, -5541 36574, -5538 36579, -5535 36581, -5533 36585, -5530 36584, -5526 36579, -5524 38579, -5524 38580, -5524 38575, -5520 38575, -5516 38580, -5512 42580, -5508 42585, -5510 42587, -5510 42586, -5505 42586, -5508 42589, -2508 42593, -2509 42596, -2506 42598, -2504 42601, -2501 42602, -2501 42607, -2496 42612, -2499 42615, -2498 42620, -2500 42617, -2500 42620, -4500 42620, -4500 42624, -4500 42626, -4504 42623, -4507 42625, -4509 42628, -4513 42629, -4508 42629, -4505 42632, -4500 42628, -4499 42633, -4503 45633, -4501 45634, -4497 45635, -4494 45634, -4495 45632, -4493 45634, -4492 46634, -4489 46638, -4485 46633, -4481 46635, 21338 40536, 21343 40537, 21348 40538, 21348 40540, 21347 40540, 21348 40540, 21347 40540, 21346 40542, 21349 40547, 21350 40547, 21353 40544, 21353 40546, 21350 40549, 21353 40550, 21354 40550, 21355 40550, 21360 40550, 21361 40549, 21361 40554, 21359 40559, 21364 40564, 21366 40559, 21365 40559, 21366 40564, 25366 40568, 25367 40570, 25370 40570, 25373 45570, 25374 45571, 25374 45566, 25378 45568, 25383 42568, 25387 42564, 25391 42568, 25391 42572, 25395 42576, 25392 42576, 28392 42573, 28391 42574, 28387 42578, 28388 42580, 28391 42581, 31391 42582, 31387 42586, 31389 42586, 31392 42582, 31393 42583, 31394 42580, 29394 42584, 29398 42586, 29400 43586, 29404 43588, 29408 43589, 29409 43591, 29413 43596, 29415 43598, 29416 43599, 25416 43604, 25414 43599, 25417 43603, 25422 43606, 25420 43608, 25425 43603, 25428 43603, 25431 43606, 25436 42606, 25431 42608, 25434 42604, 25437 42609, 25438 47609, 25442 50609, 25443 50614, 25441 50618, 25446 50621, 25449 50625, 25446 50628, 25446 50630, 25447 50631, 25452 50636, 25452 50632, 25453 50634, 25453 50636, 25456 50637, 25460 50641, 25464 50645, 25465 50644, 25465 51644, 25469 51648, 25471 51653, 25475 51654, 25476 51657, 25477 51658, 26477 51662, 26477 51666, 26476 51669, 26478 51669, 26483 51665, 26485 55665, 26487 55668, 30487 55671, 30487 55674, 30491 55675, 30491 55672, 30493 55674, 30494 55674, 30495 55679, 30499 55679, 30503 55675, 30505 55680, 30502 55681, 30500 55676, 30496 55679, 30501 55680, 30502 55680, 30507 55685, 30503 55688, 30498 55689, 30502 55689, 30504 55691, 30508 55696, 30509 55697, 30508 55696, 30513 55697, 30518 55698, 30516 55703, 30516 55705, 30514 55705, 34514 55709, 34518 55712, 34522 55708, 34520 56708, 34521 56708, 34522 56710, 34519 56710, 34517 56705, 34521 59705, 34524 59710, 34524 59712, 34524 59717, 34528 59719, 34530 59721, 34535 59716, 34540 59719, 34540 59721, 34543 59721, 34548 59724, 34550 59725, 34554 63725, 34549 63730, 34551 63732, 34556 63730, 34558 63730, 34559 63725, 34558 63729, 34563 63734, 34560 63734, 37560 63729, 37563 63733, 37567 63728, 37571 63724, 37575 63722, 37580 63726, 37579 63722, 37581 63724, 37581 63726, 37582 63723, 37582 63724, 37581 63728, 37576 63729, 37576 63731, 37578 63729, 37583 63733, 37585 63736, 37588 63736, 37592 63741, 37594 63738, 37599 63735, 37602 63734, 37598 63735, 37598 63737, 37602 63737, 37603 63739, 37598 63739, 37593 63736, 37598 63737, 37603 63742, 37604 63737, 37601 63742, 37596 63744, 37600 63748, 37605 63749, 37607 63751, 37609 63756, 37609 63760, 37605 63761, 37605 63765, 37606 63765, 37610 63762, 37611 63766, 37606 63768, 37606 63768, 41606 63769, 41602 63765, 41601 63765, 41602 63770, 41598 63770, 41601 63770, 41603 63774, 41606 63772, 41610 63772, 41613 63776, 41616 63771, 41611 63767, 41614 63769, 41617 63764, 38617 63768, 38617 63772, 38620 63772, 35620 63773, 35620 63778, 35619 63779, 35620 63780, 35615 63779, 35617 63784, 35614 63786, 35615 63783, 35616 63779, 35620 63778, 35621 63780, 35626 63782, 35626 63784, 35631 63789, 35631 63784, 35628 63785, 35626 63786, 35631 63788, 35636 63791, 35640 63786, 35636 63787, 35636 63782, 35635 63781, 35640 63786, 35643 63790, 35646 63795, 35650 63797, 35649 63797, 35651 63801, 35655 63805, 35656 63808, 35656 63808, 35658 63808, 35657 63810, 35660 63814, 35660 63809, 35664 63809, 35659 67809, 35660 67812, 35662 67815, 35666 67812, 35662 67807, 35660 67807, 35663 67807, 35665 67812, 35668 67814, 35672 67818, 35671 67817, 35671 67820, 37671 67824, 37666 67824, 2277 13367, 2280 16367, 2276 16367, 2277 16366, 2281 16366, 2284 16366, 2289 16370, 2286 16370, 4286 16370, 4288 16375, 4292 16379, 4296 18379, 4297 18381, 9297 18385, 9298 18385, 9301 18386, 9305 18383, 9307 19383, 9310 19379, 8310 19384, 8314 19384, 38748 37655, 38751 37656, 38756 37657, 38759 37660, 38755 37665, 38755 37665, 38760 37667, 38765 37668, 38765 42668, 38770 42670, 38767 42672, 38772 42668, 38769 42663, 38770 42663, 38775 42658, 38773 42663, 38777 42665, 41777 42667, 41780 42669, 41783 42673, 41784 42671, 41781 42673, 41786 42676, 41783 42676, 41785 42676, 41782 42676, 41785 42679, 41786 42679, 41790 42680, 41794 42681, 41794 42679, 41795 42684, 41795 42680, 41798 42685, 41803 42689, 41806 42688, 41808 42689, 41806 42694, 41804 42696, 41807 42700, 41802 42701, 41804 42702, 41806 42704, 41811 42708, 41815 42709, 36815 42712, 36815 42708, 36812 42707, 36813 42709, 40813 42710, 40817 46710, 40818 46712, 40822 46712, 40820 46716, 40824 46721, 40827 46724, 40831 46728, 40829 46731, 40833 46731, 40835 46735, 40831 46737, 40832 46737, 36832 46742, 36832 46745, 36836 46748, 36833 46753, 36828 46752, 36824 46752, 36826 46755, 36821 46759, 36825 46762, 36825 46766, 36826 46770, 36824 46773, 36828 46776, 36833 46778, 36830 42778, 36835 42780, 36835 42781, 36840 42786)'))); +UPDATE t1 SET g = ST_linefromtext('linestring(-5 -576,0 -576,0 -571,0 -571,5 -568,6 -564,6 -565,6 -563)') WHERE p = 2; +alter table t1 drop index `si`; +connection purge_control; +COMMIT; +disconnect purge_control; +connection default; +set global innodb_fast_shutdown = 0; +# restart +drop table t1; diff --git a/mysql-test/suite/innodb_gis/r/rtree_estimate.result b/mysql-test/suite/innodb_gis/r/rtree_estimate.result new file mode 100644 index 00000000..dafcc40a --- /dev/null +++ b/mysql-test/suite/innodb_gis/r/rtree_estimate.result @@ -0,0 +1,130 @@ +CREATE TABLE t1 ( +g GEOMETRY NOT NULL +) ENGINE=InnoDB; +ALTER TABLE t1 ADD SPATIAL(g); +SET @g1 = ST_GeomFromText('POINT(10 10)'); +SET @g2 = ST_GeomFromText('POLYGON((5 5, 20 5, 20 21, 5 21, 5 5))'); +SET @g3 = ST_GeomFromText('POLYGON((1.79769e+308 1.79769e+308, 20 5, -1.79769e+308 -1.79769e+308, 1.79769e+308 1.79769e+308))'); +EXPLAIN SELECT ST_AsText(g) FROM t1 WHERE MBRContains(g, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 ALL g NULL NULL NULL 1 Using where +SELECT ST_AsText(g) FROM t1 WHERE MBRWithin(g, @g1); +ST_AsText(g) +INSERT INTO t1 VALUES(@g1); +INSERT INTO t1 VALUES(@g2); +INSERT INTO t1 VALUES(@g3); +SELECT ST_AsText(g) FROM t1; +ST_AsText(g) +POINT(10 10) +POLYGON((5 5,20 5,20 21,5 21,5 5)) +POLYGON((1.79769e308 1.79769e308,20 5,-1.79769e308 -1.79769e308,1.79769e308 1.79769e308)) +ANALYZE TABLE t1; +Table Op Msg_type Msg_text +test.t1 analyze status Engine-independent statistics collected +test.t1 analyze status OK +EXPLAIN SELECT ST_AsText(g) FROM t1 WHERE MBRContains(g, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 range g g 34 NULL 1 Using where +SELECT ST_AsText(g) FROM t1 WHERE MBRWithin(g, @g1); +ST_AsText(g) +POINT(10 10) +EXPLAIN SELECT ST_AsText(g) FROM t1 WHERE MBRDisjoint(g, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 range g g 34 NULL 2 Using where +SELECT ST_AsText(g) FROM t1 WHERE MBRWithin(g, @g1); +ST_AsText(g) +POINT(10 10) +EXPLAIN SELECT ST_AsText(g) FROM t1 WHERE MBREquals(g, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 range g g 34 NULL 1 Using where +SELECT ST_AsText(g) FROM t1 WHERE MBRWithin(g, @g1); +ST_AsText(g) +POINT(10 10) +EXPLAIN SELECT ST_AsText(g) FROM t1 WHERE MBRIntersects(g, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 range g g 34 NULL 1 Using where +SELECT ST_AsText(g) FROM t1 WHERE MBRWithin(g, @g1); +ST_AsText(g) +POINT(10 10) +EXPLAIN SELECT ST_AsText(g) FROM t1 WHERE MBRWithin(g, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 range g g 34 NULL 1 Using where +SELECT ST_AsText(g) FROM t1 WHERE MBRWithin(g, @g1); +ST_AsText(g) +POINT(10 10) +EXPLAIN SELECT ST_AsText(g) FROM t1 WHERE MBRContains(g, @g2); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 range g g 34 NULL 1 Using where +SELECT ST_AsText(g) FROM t1 WHERE MBRWithin(g, @g2); +ST_AsText(g) +POINT(10 10) +POLYGON((5 5,20 5,20 21,5 21,5 5)) +EXPLAIN SELECT ST_AsText(g) FROM t1 WHERE MBRDisjoint(g, @g2); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 range g g 34 NULL 1 Using where +SELECT ST_AsText(g) FROM t1 WHERE MBRWithin(g, @g2); +ST_AsText(g) +POINT(10 10) +POLYGON((5 5,20 5,20 21,5 21,5 5)) +EXPLAIN SELECT ST_AsText(g) FROM t1 WHERE MBREquals(g, @g2); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 range g g 34 NULL 1 Using where +SELECT ST_AsText(g) FROM t1 WHERE MBRWithin(g, @g2); +ST_AsText(g) +POINT(10 10) +POLYGON((5 5,20 5,20 21,5 21,5 5)) +EXPLAIN SELECT ST_AsText(g) FROM t1 WHERE MBRIntersects(g, @g2); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 range g g 34 NULL 2 Using where +SELECT ST_AsText(g) FROM t1 WHERE MBRWithin(g, @g2); +ST_AsText(g) +POINT(10 10) +POLYGON((5 5,20 5,20 21,5 21,5 5)) +EXPLAIN SELECT ST_AsText(g) FROM t1 WHERE MBRWithin(g, @g2); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 range g g 34 NULL 2 Using where +SELECT ST_AsText(g) FROM t1 WHERE MBRWithin(g, @g2); +ST_AsText(g) +POINT(10 10) +POLYGON((5 5,20 5,20 21,5 21,5 5)) +EXPLAIN SELECT ST_AsText(g) FROM t1 WHERE MBRContains(g, @g3); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 ALL g NULL NULL NULL 3 Using where +SELECT ST_AsText(g) FROM t1 WHERE MBRWithin(g, @g3); +ST_AsText(g) +POINT(10 10) +POLYGON((5 5,20 5,20 21,5 21,5 5)) +POLYGON((1.79769e308 1.79769e308,20 5,-1.79769e308 -1.79769e308,1.79769e308 1.79769e308)) +EXPLAIN SELECT ST_AsText(g) FROM t1 WHERE MBRDisjoint(g, @g3); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 ALL g NULL NULL NULL 3 Using where +SELECT ST_AsText(g) FROM t1 WHERE MBRWithin(g, @g3); +ST_AsText(g) +POINT(10 10) +POLYGON((5 5,20 5,20 21,5 21,5 5)) +POLYGON((1.79769e308 1.79769e308,20 5,-1.79769e308 -1.79769e308,1.79769e308 1.79769e308)) +EXPLAIN SELECT ST_AsText(g) FROM t1 WHERE MBREquals(g, @g3); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 ALL g NULL NULL NULL 3 Using where +SELECT ST_AsText(g) FROM t1 WHERE MBRWithin(g, @g3); +ST_AsText(g) +POINT(10 10) +POLYGON((5 5,20 5,20 21,5 21,5 5)) +POLYGON((1.79769e308 1.79769e308,20 5,-1.79769e308 -1.79769e308,1.79769e308 1.79769e308)) +EXPLAIN SELECT ST_AsText(g) FROM t1 WHERE MBRIntersects(g, @g3); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 ALL g NULL NULL NULL 3 Using where +SELECT ST_AsText(g) FROM t1 WHERE MBRWithin(g, @g3); +ST_AsText(g) +POINT(10 10) +POLYGON((5 5,20 5,20 21,5 21,5 5)) +POLYGON((1.79769e308 1.79769e308,20 5,-1.79769e308 -1.79769e308,1.79769e308 1.79769e308)) +EXPLAIN SELECT ST_AsText(g) FROM t1 WHERE MBRWithin(g, @g3); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 ALL g NULL NULL NULL 3 Using where +SELECT ST_AsText(g) FROM t1 WHERE MBRWithin(g, @g3); +ST_AsText(g) +POINT(10 10) +POLYGON((5 5,20 5,20 21,5 21,5 5)) +POLYGON((1.79769e308 1.79769e308,20 5,-1.79769e308 -1.79769e308,1.79769e308 1.79769e308)) +DROP TABLE t1; diff --git a/mysql-test/suite/innodb_gis/r/rtree_multi_pk.result b/mysql-test/suite/innodb_gis/r/rtree_multi_pk.result new file mode 100644 index 00000000..3e6464df --- /dev/null +++ b/mysql-test/suite/innodb_gis/r/rtree_multi_pk.result @@ -0,0 +1,142 @@ +create table t1 (i int, i2 char(10), g geometry not null, primary key (i, i2), spatial index (g))engine=innodb; +insert into t1 values (1, "111", POINT(1,1)); +insert into t1 values (2, "222", POINT(1.5,1.5)); +insert into t1 values (3, "333", POINT(3,3)); +insert into t1 values (4, "444", POINT(3.1,3.1)); +insert into t1 values (5, "555", POINT(5,5)); +analyze table t1; +Table Op Msg_type Msg_text +test.t1 analyze status Engine-independent statistics collected +test.t1 analyze status OK +set @g1 = ST_GeomFromText('Polygon((0 0,0 3,3 3,3 0,0 0))'); +explain select ST_astext(t1.g) from t1 where MBRWithin(t1.g, @g1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 ALL g NULL NULL NULL 5 Using where +select ST_astext(t1.g) from t1 where MBRWithin(t1.g, @g1); +ST_astext(t1.g) +POINT(1 1) +POINT(1.5 1.5) +set @g1 = ST_GeomFromText('Polygon((0 0,0 3,3 3,3 0,0 0))'); +delete from t1 where MBRWithin(t1.g, @g1); +check table t1; +Table Op Msg_type Msg_text +test.t1 check status OK +select ST_astext(t1.g) from t1; +ST_astext(t1.g) +POINT(3 3) +POINT(3.1 3.1) +POINT(5 5) +set @g1 = ST_GeomFromText('Polygon((5 5,5 5,5 5,5 5,5 5))'); +update t1 set g = POINT(2,2) where MBRWithin(t1.g, @g1); +check table t1; +Table Op Msg_type Msg_text +test.t1 check status OK +select ST_astext(t1.g) from t1; +ST_astext(t1.g) +POINT(3 3) +POINT(3.1 3.1) +POINT(2 2) +show indexes from t1; +Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored +t1 0 PRIMARY 1 i A # NULL NULL BTREE NO +t1 0 PRIMARY 2 i2 A # NULL NULL BTREE NO +t1 1 g 1 g A # 32 NULL SPATIAL NO +drop table t1; +create table t1 (name VARCHAR(100), square GEOMETRY not null, spatial index (square))engine=innodb; +INSERT INTO t1 VALUES("small", ST_GeomFromText('POLYGON (( 0 0, 0 1, 1 1, 1 0, 0 0))')); +INSERT INTO t1 VALUES("big", ST_GeomFromText('POLYGON (( 0 0, 0 3, 3 3, 3 0, 0 0))')); +INSERT INTO t1 VALUES("up", ST_GeomFromText('POLYGON (( 0 1, 0 3, 2 3, 2 1, 0 1))')); +INSERT INTO t1 VALUES("up2", ST_GeomFromText('POLYGON (( 0 2, 0 4, 2 4, 2 2, 0 2))')); +INSERT INTO t1 VALUES("up3", ST_GeomFromText('POLYGON (( 0 3, 0 5, 2 5, 2 3, 0 3))')); +INSERT INTO t1 VALUES("down", ST_GeomFromText('POLYGON (( 0 -1, 0 1, 2 1, 2 -1, 0 -1))')); +INSERT INTO t1 VALUES("down2", ST_GeomFromText('POLYGON (( 0 -2, 0 0, 2 0, 2 -2, 0 -2))')); +INSERT INTO t1 VALUES("down3", ST_GeomFromText('POLYGON (( 0 -3, 0 -1, 2 -1, 2 -3, 0 -3))')); +INSERT INTO t1 VALUES("right", ST_GeomFromText('POLYGON (( 1 0, 1 2, 3 2, 3 0, 1 0))')); +INSERT INTO t1 VALUES("right2", ST_GeomFromText('POLYGON (( 2 0, 2 2, 4 2, 4 0, 2 0))')); +INSERT INTO t1 VALUES("right3", ST_GeomFromText('POLYGON (( 3 0, 3 2, 5 2, 5 0, 3 0))')); +INSERT INTO t1 VALUES("left", ST_GeomFromText('POLYGON (( -1 0, -1 2, 1 2, 1 0, -1 0))')); +INSERT INTO t1 VALUES("left2", ST_GeomFromText('POLYGON (( -2 0, -2 2, 0 2, 0 0, -2 0))')); +INSERT INTO t1 VALUES("left3", ST_GeomFromText('POLYGON (( -3 0, -3 2, -1 2, -1 0, -3 0))')); +SET @p = ST_GeomFromText('POLYGON (( 0 0, 0 2, 2 2, 2 0, 0 0))'); +SELECT name, ST_AsText(square) from t1 where MBRContains(@p, square); +name ST_AsText(square) +small POLYGON((0 0,0 1,1 1,1 0,0 0)) +SELECT name, ST_AsText(square) from t1 where MBRDisjoint(@p, square); +name ST_AsText(square) +up3 POLYGON((0 3,0 5,2 5,2 3,0 3)) +down3 POLYGON((0 -3,0 -1,2 -1,2 -3,0 -3)) +right3 POLYGON((3 0,3 2,5 2,5 0,3 0)) +left3 POLYGON((-3 0,-3 2,-1 2,-1 0,-3 0)) +SELECT name, ST_AsText(square) from t1 where MBREquals(@p, square); +name ST_AsText(square) +SELECT name, ST_AsText(square) from t1 where MBRIntersects(@p, square); +name ST_AsText(square) +right2 POLYGON((2 0,2 2,4 2,4 0,2 0)) +right POLYGON((1 0,1 2,3 2,3 0,1 0)) +up2 POLYGON((0 2,0 4,2 4,2 2,0 2)) +up POLYGON((0 1,0 3,2 3,2 1,0 1)) +big POLYGON((0 0,0 3,3 3,3 0,0 0)) +small POLYGON((0 0,0 1,1 1,1 0,0 0)) +down POLYGON((0 -1,0 1,2 1,2 -1,0 -1)) +down2 POLYGON((0 -2,0 0,2 0,2 -2,0 -2)) +left POLYGON((-1 0,-1 2,1 2,1 0,-1 0)) +left2 POLYGON((-2 0,-2 2,0 2,0 0,-2 0)) +SELECT name, ST_AsText(square) from t1 where MBROverlaps(@p, square); +name ST_AsText(square) +right POLYGON((1 0,1 2,3 2,3 0,1 0)) +up POLYGON((0 1,0 3,2 3,2 1,0 1)) +down POLYGON((0 -1,0 1,2 1,2 -1,0 -1)) +left POLYGON((-1 0,-1 2,1 2,1 0,-1 0)) +SELECT name, ST_AsText(square) from t1 where MBRTouches(@p, square); +name ST_AsText(square) +right2 POLYGON((2 0,2 2,4 2,4 0,2 0)) +up2 POLYGON((0 2,0 4,2 4,2 2,0 2)) +down2 POLYGON((0 -2,0 0,2 0,2 -2,0 -2)) +left2 POLYGON((-2 0,-2 2,0 2,0 0,-2 0)) +SELECT name, ST_AsText(square) from t1 where MBRWithin(@p, square); +name ST_AsText(square) +big POLYGON((0 0,0 3,3 3,3 0,0 0)) +SELECT GROUP_CONCAT(a1.name ORDER BY a1.name) AS MBRoverlaps FROM t1 a1 WHERE MBROverlaps(a1.square, @vert1) GROUP BY a1.name; +MBRoverlaps +SELECT GROUP_CONCAT(a1.name ORDER BY a1.name) AS MBRoverlaps FROM t1 a1 WHERE MBROverlaps(a1.square, @horiz1) GROUP BY a1.name; +MBRoverlaps +SELECT MBROverlaps(@horiz1, @vert1) FROM DUAL; +MBROverlaps(@horiz1, @vert1) +NULL +SELECT MBROverlaps(@horiz1, @horiz2) FROM DUAL; +MBROverlaps(@horiz1, @horiz2) +NULL +SELECT MBROverlaps(@horiz1, @horiz3) FROM DUAL; +MBROverlaps(@horiz1, @horiz3) +NULL +SELECT MBROverlaps(@horiz1, @point1) FROM DUAL; +MBROverlaps(@horiz1, @point1) +NULL +SELECT MBROverlaps(@horiz1, @point2) FROM DUAL; +MBROverlaps(@horiz1, @point2) +NULL +DROP TABLE t1; +create table t1 (i int not null, g geometry not null)engine=innodb; +insert into t1 values (1, POINT(1,1)); +insert into t1 values (2, POINT(1.5,1.5)); +insert into t1 values (3, POINT(3,3)); +insert into t1 values (4, POINT(3.1,3.1)); +insert into t1 values (5, POINT(5,5)); +alter table t1 add primary key(i), algorithm=inplace; +alter table t1 drop primary key; +create spatial index idx on t1(g) algorithm=inplace; +create spatial index idx2 on t1(g); +Warnings: +Note 1831 Duplicate index `idx2`. This is deprecated and will be disallowed in a future release +alter table t1 add primary key(i), algorithm=inplace; +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `i` int(11) NOT NULL, + `g` geometry NOT NULL, + PRIMARY KEY (`i`), + SPATIAL KEY `idx` (`g`), + SPATIAL KEY `idx2` (`g`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci +drop index idx on t1; +drop table t1; diff --git a/mysql-test/suite/innodb_gis/r/rtree_purge.result b/mysql-test/suite/innodb_gis/r/rtree_purge.result new file mode 100644 index 00000000..4c39cc98 --- /dev/null +++ b/mysql-test/suite/innodb_gis/r/rtree_purge.result @@ -0,0 +1,5 @@ +create table t ( +b point not null,d point not null, spatial key (d),spatial key (b) +) engine=innodb; +InnoDB 0 transactions not purged +drop table t; diff --git a/mysql-test/suite/innodb_gis/r/rtree_recovery.result b/mysql-test/suite/innodb_gis/r/rtree_recovery.result new file mode 100644 index 00000000..6f5b02e7 --- /dev/null +++ b/mysql-test/suite/innodb_gis/r/rtree_recovery.result @@ -0,0 +1,60 @@ +# restart +create table t1 (c1 int, c2 geometry not null, spatial index (c2))engine=innodb; +create procedure insert_t1(IN total int) +begin +declare i int default 1; +while (i <= total) DO +insert into t1 values (i, Point(i, i)); +set i = i + 1; +end while; +end| +create procedure update_t1(IN total int) +begin +declare i int default 1; +while (i <= total) DO +update t1 set c2 = Point(i + 10000, i + 10000) where c2 = Point(i, i); +set i = i + 1; +end while; +end| +CALL insert_t1(367); +COMMIT; +# restart +check table t1; +Table Op Msg_type Msg_text +test.t1 check status OK +drop table t1; +create table t1 (c1 int, c2 point not null, spatial index (c2))engine=innodb; +CALL insert_t1(367); +CALL update_t1(367); +SET @poly1 = ST_GeomFromText('POLYGON((10000 10000, 10000 10350, 10350 10350, 10350 10000, 10000 10000))'); +delete from t1 where ST_Contains(@poly1, c2); +COMMIT; +# restart +check table t1; +Table Op Msg_type Msg_text +test.t1 check status OK +select count(*) from t1; +count(*) +17 +select c1, ST_astext(c2) from t1; +c1 ST_astext(c2) +351 POINT(10351 10351) +352 POINT(10352 10352) +353 POINT(10353 10353) +354 POINT(10354 10354) +355 POINT(10355 10355) +356 POINT(10356 10356) +357 POINT(10357 10357) +358 POINT(10358 10358) +359 POINT(10359 10359) +360 POINT(10360 10360) +361 POINT(10361 10361) +362 POINT(10362 10362) +363 POINT(10363 10363) +364 POINT(10364 10364) +365 POINT(10365 10365) +366 POINT(10366 10366) +367 POINT(10367 10367) +drop procedure insert_t1; +drop procedure update_t1; +drop table t1; diff --git a/mysql-test/suite/innodb_gis/r/rtree_rollback1.result b/mysql-test/suite/innodb_gis/r/rtree_rollback1.result new file mode 100644 index 00000000..451d277c --- /dev/null +++ b/mysql-test/suite/innodb_gis/r/rtree_rollback1.result @@ -0,0 +1,43 @@ +create table t1 (c1 int, c2 geometry not null, spatial index (c2))engine=innodb; +insert into t1 values(1, Point(1,1)); +insert into t1 values(2, Point(2,2)); +insert into t1 values(3, Point(3,3)); +insert into t1 values(4, Point(4,4)); +insert into t1 values(5, Point(5,5)); +insert into t1 values(6, Point(6,6)); +insert into t1 values(7, Point(7,7)); +insert into t1 values(8, Point(8,8)); +insert into t1 values(9, Point(9,9)); +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +start transaction; +insert into t1 select * from t1; +select count(*) from t1; +count(*) +73728 +rollback; +check table t1; +Table Op Msg_type Msg_text +test.t1 check status OK +select count(*) from t1; +count(*) +36864 +set @g1 = ST_GeomFromText('Polygon((0 0,0 100,100 100,100 0,0 0))'); +select count(*) from t1 where MBRWithin(t1.c2, @g1); +count(*) +36864 +set @g1 = ST_GeomFromText('Polygon((10 10,10 800,800 800,800 10,10 10))'); +select count(*) from t1 where MBRWithin(t1.c2, @g1); +count(*) +0 +drop table t1; diff --git a/mysql-test/suite/innodb_gis/r/rtree_rollback2.result b/mysql-test/suite/innodb_gis/r/rtree_rollback2.result new file mode 100644 index 00000000..b6108239 --- /dev/null +++ b/mysql-test/suite/innodb_gis/r/rtree_rollback2.result @@ -0,0 +1,17 @@ +create table t1 (c1 int, c2 geometry not null, spatial index (c2))engine=innodb; +create procedure insert_t1(IN total int) +begin +declare i int default 1; +while (i <= total) DO +insert into t1 values (i, Point(i, i)); +set i = i + 1; +end while; +end| +start transaction; +CALL insert_t1(70000); +rollback; +check table t1; +Table Op Msg_type Msg_text +test.t1 check status OK +drop procedure insert_t1; +drop table t1; diff --git a/mysql-test/suite/innodb_gis/r/rtree_search.result b/mysql-test/suite/innodb_gis/r/rtree_search.result new file mode 100644 index 00000000..d8a8d209 --- /dev/null +++ b/mysql-test/suite/innodb_gis/r/rtree_search.result @@ -0,0 +1,252 @@ +create table t1 (c1 int, c2 geometry not null, spatial index (c2))engine=innodb; +create procedure insert_t1(IN total int) +begin +declare i int default 1; +while (i <= total) DO +insert into t1 values (i, Point(i, i)); +set i = i + 1; +end while; +end| +CALL insert_t1(1000); +select count(*) from t1; +count(*) +1000 +set @g1 = ST_GeomFromText('Polygon((0 0,0 1000,1000 1000,1000 0,0 0))'); +select count(*) from t1 where MBRWithin(t1.c2, @g1); +count(*) +999 +set @g1 = ST_GeomFromText('Polygon((0 0,0 100,100 100,100 0,0 0))'); +select count(*) from t1 where MBRWithin(t1.c2, @g1); +count(*) +99 +set @g1 = ST_GeomFromText('Polygon((10 10,10 800,800 800,800 10,10 10))'); +select count(*) from t1 where MBRWithin(t1.c2, @g1); +count(*) +789 +set @g1 = ST_GeomFromText('Polygon((100 100,100 800,800 800,800 100,100 100))'); +select count(*) from t1 where MBRWithin(t1.c2, @g1); +count(*) +699 +set @g1 = ST_GeomFromText('Point(1 1)'); +select count(*) from t1 where MBRequals(t1.c2, @g1); +count(*) +1 +set @g1 = ST_GeomFromText('Polygon((0 0,0 100,100 100,100 0,0 0))'); +select count(*) from t1 where MBRdisjoint(t1.c2, @g1); +count(*) +900 +DROP PROCEDURE insert_t1; +truncate t1; +INSERT INTO t1 VALUES (150, ST_GeomFromText('LineString(150 150, 150 150)')); +INSERT INTO t1 VALUES (149, ST_GeomFromText('LineString(149 149, 151 151)')); +INSERT INTO t1 VALUES (148, ST_GeomFromText('LineString(148 148, 152 152)')); +INSERT INTO t1 VALUES (147, ST_GeomFromText('LineString(147 147, 153 153)')); +INSERT INTO t1 VALUES (146, ST_GeomFromText('LineString(146 146, 154 154)')); +INSERT INTO t1 VALUES (145, ST_GeomFromText('LineString(145 145, 155 155)')); +INSERT INTO t1 VALUES (144, ST_GeomFromText('LineString(144 144, 156 156)')); +INSERT INTO t1 VALUES (143, ST_GeomFromText('LineString(143 143, 157 157)')); +INSERT INTO t1 VALUES (142, ST_GeomFromText('LineString(142 142, 158 158)')); +INSERT INTO t1 VALUES (141, ST_GeomFromText('LineString(141 141, 159 159)')); +INSERT INTO t1 VALUES (140, ST_GeomFromText('LineString(140 140, 160 160)')); +INSERT INTO t1 VALUES (139, ST_GeomFromText('LineString(139 139, 161 161)')); +INSERT INTO t1 VALUES (138, ST_GeomFromText('LineString(138 138, 162 162)')); +INSERT INTO t1 VALUES (137, ST_GeomFromText('LineString(137 137, 163 163)')); +INSERT INTO t1 VALUES (136, ST_GeomFromText('LineString(136 136, 164 164)')); +INSERT INTO t1 VALUES (135, ST_GeomFromText('LineString(135 135, 165 165)')); +INSERT INTO t1 VALUES (134, ST_GeomFromText('LineString(134 134, 166 166)')); +INSERT INTO t1 VALUES (133, ST_GeomFromText('LineString(133 133, 167 167)')); +INSERT INTO t1 VALUES (132, ST_GeomFromText('LineString(132 132, 168 168)')); +INSERT INTO t1 VALUES (131, ST_GeomFromText('LineString(131 131, 169 169)')); +INSERT INTO t1 VALUES (130, ST_GeomFromText('LineString(130 130, 170 170)')); +INSERT INTO t1 VALUES (129, ST_GeomFromText('LineString(129 129, 171 171)')); +INSERT INTO t1 VALUES (128, ST_GeomFromText('LineString(128 128, 172 172)')); +INSERT INTO t1 VALUES (127, ST_GeomFromText('LineString(127 127, 173 173)')); +INSERT INTO t1 VALUES (126, ST_GeomFromText('LineString(126 126, 174 174)')); +INSERT INTO t1 VALUES (125, ST_GeomFromText('LineString(125 125, 175 175)')); +INSERT INTO t1 VALUES (124, ST_GeomFromText('LineString(124 124, 176 176)')); +INSERT INTO t1 VALUES (123, ST_GeomFromText('LineString(123 123, 177 177)')); +INSERT INTO t1 VALUES (122, ST_GeomFromText('LineString(122 122, 178 178)')); +INSERT INTO t1 VALUES (121, ST_GeomFromText('LineString(121 121, 179 179)')); +INSERT INTO t1 VALUES (120, ST_GeomFromText('LineString(120 120, 180 180)')); +INSERT INTO t1 VALUES (119, ST_GeomFromText('LineString(119 119, 181 181)')); +INSERT INTO t1 VALUES (118, ST_GeomFromText('LineString(118 118, 182 182)')); +INSERT INTO t1 VALUES (117, ST_GeomFromText('LineString(117 117, 183 183)')); +INSERT INTO t1 VALUES (116, ST_GeomFromText('LineString(116 116, 184 184)')); +INSERT INTO t1 VALUES (115, ST_GeomFromText('LineString(115 115, 185 185)')); +INSERT INTO t1 VALUES (114, ST_GeomFromText('LineString(114 114, 186 186)')); +INSERT INTO t1 VALUES (113, ST_GeomFromText('LineString(113 113, 187 187)')); +INSERT INTO t1 VALUES (112, ST_GeomFromText('LineString(112 112, 188 188)')); +INSERT INTO t1 VALUES (111, ST_GeomFromText('LineString(111 111, 189 189)')); +INSERT INTO t1 VALUES (110, ST_GeomFromText('LineString(110 110, 190 190)')); +INSERT INTO t1 VALUES (109, ST_GeomFromText('LineString(109 109, 191 191)')); +INSERT INTO t1 VALUES (108, ST_GeomFromText('LineString(108 108, 192 192)')); +INSERT INTO t1 VALUES (107, ST_GeomFromText('LineString(107 107, 193 193)')); +INSERT INTO t1 VALUES (106, ST_GeomFromText('LineString(106 106, 194 194)')); +INSERT INTO t1 VALUES (105, ST_GeomFromText('LineString(105 105, 195 195)')); +INSERT INTO t1 VALUES (104, ST_GeomFromText('LineString(104 104, 196 196)')); +INSERT INTO t1 VALUES (103, ST_GeomFromText('LineString(103 103, 197 197)')); +INSERT INTO t1 VALUES (102, ST_GeomFromText('LineString(102 102, 198 198)')); +INSERT INTO t1 VALUES (101, ST_GeomFromText('LineString(101 101, 199 199)')); +INSERT INTO t1 VALUES (100, ST_GeomFromText('LineString(100 100, 200 200)')); +INSERT INTO t1 VALUES (99, ST_GeomFromText('LineString(99 99, 201 201)')); +INSERT INTO t1 VALUES (98, ST_GeomFromText('LineString(98 98, 202 202)')); +INSERT INTO t1 VALUES (97, ST_GeomFromText('LineString(97 97, 203 203)')); +INSERT INTO t1 VALUES (96, ST_GeomFromText('LineString(96 96, 204 204)')); +INSERT INTO t1 VALUES (95, ST_GeomFromText('LineString(95 95, 205 205)')); +INSERT INTO t1 VALUES (94, ST_GeomFromText('LineString(94 94, 206 206)')); +INSERT INTO t1 VALUES (93, ST_GeomFromText('LineString(93 93, 207 207)')); +INSERT INTO t1 VALUES (92, ST_GeomFromText('LineString(92 92, 208 208)')); +INSERT INTO t1 VALUES (91, ST_GeomFromText('LineString(91 91, 209 209)')); +INSERT INTO t1 VALUES (90, ST_GeomFromText('LineString(90 90, 210 210)')); +INSERT INTO t1 VALUES (89, ST_GeomFromText('LineString(89 89, 211 211)')); +INSERT INTO t1 VALUES (88, ST_GeomFromText('LineString(88 88, 212 212)')); +INSERT INTO t1 VALUES (87, ST_GeomFromText('LineString(87 87, 213 213)')); +INSERT INTO t1 VALUES (86, ST_GeomFromText('LineString(86 86, 214 214)')); +INSERT INTO t1 VALUES (85, ST_GeomFromText('LineString(85 85, 215 215)')); +INSERT INTO t1 VALUES (84, ST_GeomFromText('LineString(84 84, 216 216)')); +INSERT INTO t1 VALUES (83, ST_GeomFromText('LineString(83 83, 217 217)')); +INSERT INTO t1 VALUES (82, ST_GeomFromText('LineString(82 82, 218 218)')); +INSERT INTO t1 VALUES (81, ST_GeomFromText('LineString(81 81, 219 219)')); +INSERT INTO t1 VALUES (80, ST_GeomFromText('LineString(80 80, 220 220)')); +INSERT INTO t1 VALUES (79, ST_GeomFromText('LineString(79 79, 221 221)')); +INSERT INTO t1 VALUES (78, ST_GeomFromText('LineString(78 78, 222 222)')); +INSERT INTO t1 VALUES (77, ST_GeomFromText('LineString(77 77, 223 223)')); +INSERT INTO t1 VALUES (76, ST_GeomFromText('LineString(76 76, 224 224)')); +INSERT INTO t1 VALUES (75, ST_GeomFromText('LineString(75 75, 225 225)')); +INSERT INTO t1 VALUES (74, ST_GeomFromText('LineString(74 74, 226 226)')); +INSERT INTO t1 VALUES (73, ST_GeomFromText('LineString(73 73, 227 227)')); +INSERT INTO t1 VALUES (72, ST_GeomFromText('LineString(72 72, 228 228)')); +INSERT INTO t1 VALUES (71, ST_GeomFromText('LineString(71 71, 229 229)')); +INSERT INTO t1 VALUES (70, ST_GeomFromText('LineString(70 70, 230 230)')); +INSERT INTO t1 VALUES (69, ST_GeomFromText('LineString(69 69, 231 231)')); +INSERT INTO t1 VALUES (68, ST_GeomFromText('LineString(68 68, 232 232)')); +INSERT INTO t1 VALUES (67, ST_GeomFromText('LineString(67 67, 233 233)')); +INSERT INTO t1 VALUES (66, ST_GeomFromText('LineString(66 66, 234 234)')); +INSERT INTO t1 VALUES (65, ST_GeomFromText('LineString(65 65, 235 235)')); +INSERT INTO t1 VALUES (64, ST_GeomFromText('LineString(64 64, 236 236)')); +INSERT INTO t1 VALUES (63, ST_GeomFromText('LineString(63 63, 237 237)')); +INSERT INTO t1 VALUES (62, ST_GeomFromText('LineString(62 62, 238 238)')); +INSERT INTO t1 VALUES (61, ST_GeomFromText('LineString(61 61, 239 239)')); +INSERT INTO t1 VALUES (60, ST_GeomFromText('LineString(60 60, 240 240)')); +INSERT INTO t1 VALUES (59, ST_GeomFromText('LineString(59 59, 241 241)')); +INSERT INTO t1 VALUES (58, ST_GeomFromText('LineString(58 58, 242 242)')); +INSERT INTO t1 VALUES (57, ST_GeomFromText('LineString(57 57, 243 243)')); +INSERT INTO t1 VALUES (56, ST_GeomFromText('LineString(56 56, 244 244)')); +INSERT INTO t1 VALUES (55, ST_GeomFromText('LineString(55 55, 245 245)')); +INSERT INTO t1 VALUES (54, ST_GeomFromText('LineString(54 54, 246 246)')); +INSERT INTO t1 VALUES (53, ST_GeomFromText('LineString(53 53, 247 247)')); +INSERT INTO t1 VALUES (52, ST_GeomFromText('LineString(52 52, 248 248)')); +INSERT INTO t1 VALUES (51, ST_GeomFromText('LineString(51 51, 249 249)')); +INSERT INTO t1 VALUES (50, ST_GeomFromText('LineString(50 50, 250 250)')); +INSERT INTO t1 VALUES (49, ST_GeomFromText('LineString(49 49, 251 251)')); +INSERT INTO t1 VALUES (48, ST_GeomFromText('LineString(48 48, 252 252)')); +INSERT INTO t1 VALUES (47, ST_GeomFromText('LineString(47 47, 253 253)')); +INSERT INTO t1 VALUES (46, ST_GeomFromText('LineString(46 46, 254 254)')); +INSERT INTO t1 VALUES (45, ST_GeomFromText('LineString(45 45, 255 255)')); +INSERT INTO t1 VALUES (44, ST_GeomFromText('LineString(44 44, 256 256)')); +INSERT INTO t1 VALUES (43, ST_GeomFromText('LineString(43 43, 257 257)')); +INSERT INTO t1 VALUES (42, ST_GeomFromText('LineString(42 42, 258 258)')); +INSERT INTO t1 VALUES (41, ST_GeomFromText('LineString(41 41, 259 259)')); +INSERT INTO t1 VALUES (40, ST_GeomFromText('LineString(40 40, 260 260)')); +INSERT INTO t1 VALUES (39, ST_GeomFromText('LineString(39 39, 261 261)')); +INSERT INTO t1 VALUES (38, ST_GeomFromText('LineString(38 38, 262 262)')); +INSERT INTO t1 VALUES (37, ST_GeomFromText('LineString(37 37, 263 263)')); +INSERT INTO t1 VALUES (36, ST_GeomFromText('LineString(36 36, 264 264)')); +INSERT INTO t1 VALUES (35, ST_GeomFromText('LineString(35 35, 265 265)')); +INSERT INTO t1 VALUES (34, ST_GeomFromText('LineString(34 34, 266 266)')); +INSERT INTO t1 VALUES (33, ST_GeomFromText('LineString(33 33, 267 267)')); +INSERT INTO t1 VALUES (32, ST_GeomFromText('LineString(32 32, 268 268)')); +INSERT INTO t1 VALUES (31, ST_GeomFromText('LineString(31 31, 269 269)')); +INSERT INTO t1 VALUES (30, ST_GeomFromText('LineString(30 30, 270 270)')); +INSERT INTO t1 VALUES (29, ST_GeomFromText('LineString(29 29, 271 271)')); +INSERT INTO t1 VALUES (28, ST_GeomFromText('LineString(28 28, 272 272)')); +INSERT INTO t1 VALUES (27, ST_GeomFromText('LineString(27 27, 273 273)')); +INSERT INTO t1 VALUES (26, ST_GeomFromText('LineString(26 26, 274 274)')); +INSERT INTO t1 VALUES (25, ST_GeomFromText('LineString(25 25, 275 275)')); +INSERT INTO t1 VALUES (24, ST_GeomFromText('LineString(24 24, 276 276)')); +INSERT INTO t1 VALUES (23, ST_GeomFromText('LineString(23 23, 277 277)')); +INSERT INTO t1 VALUES (22, ST_GeomFromText('LineString(22 22, 278 278)')); +INSERT INTO t1 VALUES (21, ST_GeomFromText('LineString(21 21, 279 279)')); +INSERT INTO t1 VALUES (20, ST_GeomFromText('LineString(20 20, 280 280)')); +INSERT INTO t1 VALUES (19, ST_GeomFromText('LineString(19 19, 281 281)')); +INSERT INTO t1 VALUES (18, ST_GeomFromText('LineString(18 18, 282 282)')); +INSERT INTO t1 VALUES (17, ST_GeomFromText('LineString(17 17, 283 283)')); +INSERT INTO t1 VALUES (16, ST_GeomFromText('LineString(16 16, 284 284)')); +INSERT INTO t1 VALUES (15, ST_GeomFromText('LineString(15 15, 285 285)')); +INSERT INTO t1 VALUES (14, ST_GeomFromText('LineString(14 14, 286 286)')); +INSERT INTO t1 VALUES (13, ST_GeomFromText('LineString(13 13, 287 287)')); +INSERT INTO t1 VALUES (12, ST_GeomFromText('LineString(12 12, 288 288)')); +INSERT INTO t1 VALUES (11, ST_GeomFromText('LineString(11 11, 289 289)')); +INSERT INTO t1 VALUES (10, ST_GeomFromText('LineString(10 10, 290 290)')); +INSERT INTO t1 VALUES (9, ST_GeomFromText('LineString(9 9, 291 291)')); +INSERT INTO t1 VALUES (8, ST_GeomFromText('LineString(8 8, 292 292)')); +INSERT INTO t1 VALUES (7, ST_GeomFromText('LineString(7 7, 293 293)')); +INSERT INTO t1 VALUES (6, ST_GeomFromText('LineString(6 6, 294 294)')); +INSERT INTO t1 VALUES (5, ST_GeomFromText('LineString(5 5, 295 295)')); +INSERT INTO t1 VALUES (4, ST_GeomFromText('LineString(4 4, 296 296)')); +INSERT INTO t1 VALUES (3, ST_GeomFromText('LineString(3 3, 297 297)')); +INSERT INTO t1 VALUES (2, ST_GeomFromText('LineString(2 2, 298 298)')); +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(1 1, 299 299)')); +select count(*) from t1; +count(*) +150 +set @g1 = ST_GeomFromText('Polygon((0 0,0 1000,1000 1000,1000 0,0 0))'); +select count(*) from t1 where MBRwithin(t1.c2, @g1); +count(*) +150 +truncate t1; +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(2 2, 150 150)')); +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(3 3, 160 160)')); +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(4 4, 170 170)')); +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(5 5, 180 180)')); +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(6 6, 190 190)')); +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(7 7, 200 200)')); +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(8 8, 210 210)')); +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +set @g1 = ST_GeomFromText('Polygon((0 0,0 2, 2 2, 2 0, 0 0))'); +select count(*) from t1 where MBRtouches(t1.c2, @g1); +count(*) +2048 +set @g1 = ST_GeomFromText('Polygon((0 0,0 200,200 200,200 0,0 0))'); +select count(*) from t1 where MBRWithin(t1.c2, @g1); +count(*) +12288 +set @g1 = ST_GeomFromText('LineString(2 2, 150 150)'); +select count(*) from t1 where MBRequals(t1.c2, @g1); +count(*) +2048 +set @g1 = ST_GeomFromText('Polygon((0 0,0 200,200 200,200 0,0 0))'); +create table t3 (a int) engine = innodb; +CREATE PROCEDURE curdemo() +BEGIN +DECLARE done INT DEFAULT FALSE; +DECLARE a INT; +DECLARE cur1 CURSOR FOR SELECT c1 from t1 where MBRWithin(t1.c2, @g1); +DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; +OPEN cur1; +read_loop: LOOP +FETCH cur1 INTO a; +IF done THEN +LEAVE read_loop; +END IF; +INSERT INTO test.t3 VALUES (a); +END LOOP; +CLOSE cur1; +END| +call curdemo(); +select count(*) from t3; +count(*) +12288 +drop procedure curdemo; +drop table t3; +drop table t1; diff --git a/mysql-test/suite/innodb_gis/r/rtree_split.result b/mysql-test/suite/innodb_gis/r/rtree_split.result new file mode 100644 index 00000000..97027bde --- /dev/null +++ b/mysql-test/suite/innodb_gis/r/rtree_split.result @@ -0,0 +1,75 @@ +create table t1 (c1 int, c2 geometry not null, spatial index (c2))engine=innodb; +begin; +insert into t1 select @s:=1+(seq mod 9), point(@s, @s) +from seq_1_to_576; +SET @saved_dbug = @@SESSION.debug_dbug; +SET debug_dbug = '+d,rtr_page_need_second_split'; +insert into t1 select @s:=1+(seq mod 9), point(@s, @s) +from seq_1_to_576; +SET debug_dbug = @saved_dbug; +rollback; +insert into t1 select @s:=1+(seq mod 9), point(@s, @s) +from seq_1_to_2304; +begin; +insert into t1 select @s:=1+(seq mod 9), point(@s, @s) +from seq_1_to_2304; +rollback; +check table t1; +Table Op Msg_type Msg_text +test.t1 check status OK +insert into t1 select @s:=1+(seq mod 9), point(@s, @s) +from seq_1_to_71424; +check table t1; +Table Op Msg_type Msg_text +test.t1 check status OK +select count(*) from t1; +count(*) +73728 +set @g1 = ST_GeomFromText('Polygon((0 0,0 100,100 100,100 0,0 0))'); +select count(*) from t1 where MBRWithin(t1.c2, @g1); +count(*) +73728 +set @g1 = ST_GeomFromText('Polygon((10 10,10 800,800 800,800 10,10 10))'); +select count(*) from t1 where MBRWithin(t1.c2, @g1); +count(*) +0 +drop index c2 on t1; +create spatial index idx2 on t1(c2); +affected rows: 0 +info: Records: 0 Duplicates: 0 Warnings: 0 +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `c1` int(11) DEFAULT NULL, + `c2` geometry NOT NULL, + SPATIAL KEY `idx2` (`c2`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci +set @g1 = ST_GeomFromText('Polygon((0 0,0 100,100 100,100 0,0 0))'); +select count(*) from t1 where MBRWithin(t1.c2, @g1); +count(*) +73728 +set @g1 = ST_GeomFromText('Polygon((2 2,2 800,800 800,800 2,2 2))'); +select count(*) from t1 where MBRWithin(t1.c2, @g1); +count(*) +57344 +set @g1 = ST_GeomFromText('Polygon((0 0,0 100,100 100,100 0,0 0))'); +select count(*) from t1 where MBRWithin(t1.c2, @g1); +count(*) +73728 +set @g1 = ST_GeomFromText('Polygon((2 2,2 800,800 800,800 2,2 2))'); +select count(*) from t1 where MBRWithin(t1.c2, @g1); +count(*) +57344 +drop table t1; +# +# MDEV-30400 Assertion height == btr_page_get_level ... on INSERT +# +CREATE TABLE t1 (c POINT NOT NULL,SPATIAL (c)) ENGINE=InnoDB; +SET @save_limit=@@GLOBAL.innodb_limit_optimistic_insert_debug; +SET GLOBAL innodb_limit_optimistic_insert_debug=2; +BEGIN; +INSERT INTO t1 SELECT POINTFROMTEXT ('POINT(0 0)') FROM seq_1_to_6; +ROLLBACK; +SET GLOBAL innodb_limit_optimistic_insert_debug=@save_limit; +DROP TABLE t1; +# End of 10.6 tests diff --git a/mysql-test/suite/innodb_gis/r/rtree_temporary.result b/mysql-test/suite/innodb_gis/r/rtree_temporary.result new file mode 100644 index 00000000..c34df7f2 --- /dev/null +++ b/mysql-test/suite/innodb_gis/r/rtree_temporary.result @@ -0,0 +1,24 @@ +# +# MDEV-27417 Spatial index tries to update +# change buffer bookkeeping page +# +CREATE TEMPORARY TABLE t1 (c POINT NOT NULL, SPATIAL(c)) ENGINE=InnoDB; +INSERT INTO t1 SELECT PointFromText('POINT(0 0)') FROM seq_1_to_366; +DROP TABLE t1; +# +# MDEV-28478 Assertion mtr->get_log_mode() == MTR_LOG_NO_REDO +# +CREATE TEMPORARY TABLE t1 (c POINT NOT NULL,SPATIAL (c)) ENGINE=InnoDB; +INSERT INTO t1 SELECT POINT(0,0) FROM seq_1_to_366; +INSERT INTO t1 VALUES (POINT(1e-270,1e-130)); +DROP TABLE t1; +# +# MDEV-29507 InnoDB: Failing assertion: table->n_rec_locks == 0 +# +connect con1,localhost,root,,; +CREATE TEMPORARY TABLE t (c POINT NOT NULL,SPATIAL (c)) ENGINE=InnoDB; +INSERT INTO t SELECT POINTFROMTEXT ('POINT(0 0)') FROM seq_1_to_500; +XA BEGIN 'a'; +DELETE FROM t ORDER BY c; +disconnect con1; +# End of 10.3 tests diff --git a/mysql-test/suite/innodb_gis/r/rtree_undo.result b/mysql-test/suite/innodb_gis/r/rtree_undo.result new file mode 100644 index 00000000..d0e15641 --- /dev/null +++ b/mysql-test/suite/innodb_gis/r/rtree_undo.result @@ -0,0 +1,136 @@ +connect control_purge,localhost,root,,; +connection default; +CREATE TABLE t1 ( +p INT NOT NULL AUTO_INCREMENT, +g LINESTRING NOT NULL, +PRIMARY KEY(p) +) ENGINE=InnoDB; +ALTER TABLE t1 ADD INDEX prefix_idx (g(767)); +INSERT INTO t1(g) VALUES(ST_linefromtext('linestring(-5 -576,0 -576,0 -571,0 -571,5 -568,6 -564,6 -565,6 -563)')); +INSERT INTO t1(g) VALUES(ST_linefromtext(concat('linestring','(18 106,19 106,24 111,27 108,32 104,37 107,42 107,44 112,44 116,40 118,43 114,46 114,42 118,44 123,45 123,49 123,53 119,50 123,50 124,54 126,58 125,59 126,64 127,65 127,69 131,74 132,75 135,78 139,2078 141,2075 143,2077 143,2079 143,2084 143,2085 147,2090 -1853,2086 -1852,2086 -1856,2089 -1852,2093 -1850,2090 -1851,2090 -1852,2091 -1851,2092 -1850,2097 -1847,2102 -1848,2100 -1852,2100 -1852,7100 -1851,7103 -1850,7104 -1847,7109 -1842,65 127,67 131,66 131,61 132,61 133,62 137,65 1137,2065 1135,2061 1135,2064 1135,5064 1135,5066 1135,5070 1136,5070 1141,5071 1138,5074 1141,5075 1141,5074 1137,5076 1137,5071 1139,5066 1142,5065 2142,5068 2147,5073 2151,5069 2156,5071 2157,5072 2162,5074 2165,5069 2169,5072 2169,5076 2173,5074 2169,5078 2169,5076 2170,76 2175,74 2179,75 2184,80 2188,83 2190,87 2189,84 2193,87 2189,86 2190,87 2195,87 2200,87 1200,85 1202,86 1199,87 1200,87 1201,91 1206,92 1204,94 1204,98 1206,102 1208,105 1211,102 1216,105 1220,109 1224,110 1224,114 1225,117 1224,118 1229,117 1232,122 1237,123 1236,120 1235,124 1237,121 1236,122 1240,126 1244,127 1246,126 1249,125 5249,123 5251,127 5251,131 5251,135 5256,138 5257,135 5257,139 5257,138 5258,141 5260,146 5260,146 5260,143 10260,147 10265,151 10270,156 10266,157 10269,162 10273,166 12273,168 12274,163 12270,168 12275,170 12277,170 12277,-3830 12277,-3825 12277,-3824 12278,-3825 12276,-3825 12278,-3822 12277,-3825 12275,-3829 12278,-3828 12275,-3824 12280,-3827 12280,-3826 12282,-3822 12283,-3822 12286,-3820 12288,-3818 12289,-3816 12294,-3817 12297,-3819 12300,-3816 12297,-3813 12295,-3811 12299,-3811 12297,-3806 12298,-3806 12298,-3804 12301,-3801 12306,-3803 17306,-3803 17306,-3798 17306,-3803 17310,-3801 17314,-3798 17317,-3797 17317,-797 17321,-797 17323,-796 17325,-793 17326,-792 17322,-789 17327,-784 17331,-780 17335,-776 17339,-774 17339,-771 17342,-770 17345,-765 17348,-765 17349,-763 17353,-760 17350,-760 22350,-756 22346,-752 22349,-748 22352,-752 22348,-748 22347,-746 22345,-745 27345,-743 27346,257 27350,260 27349,261 27352,266 27348,266 22348,269 22347,271 22347,272 22347,273 22348,273 22352,278 22348,279 22344,282 22345,282 22342,283 22347,283 22347,288 22349,292 22347,292 22348,293 22348,298 22348,303 22351,306 22352,309 22352,308 22354,310 22356,311 22361,311 22358,311 22360,311 22360,315 22356,320 22358,325 22363,326 22366,321 22371,318 22373,318 22375,314 22375,316 22375,321 22376,321 22376,322 22372,32 104,36 109,40 114,40 113,40 117,44 119,49 123,49 126,49 129,53 133,50 137,50 139,49 137,48 138,43 138,42 139,46 142,46 138,41 139,45 141,4045 5141,4045 5146,4042 5147,4043 10147,4041 10150,4042 10152,4045 10152,4041 10156,4041 10152,4041 10152,4046 10153,4049 10156,4046 10155,4051 10157,4055 10159,4055 10160,4056 10161,4055 10166,4054 10169,4054 10172,4054 15172,4051 15176,4047 15177,4049 15174,4047 15176,4047 15176,4046 15177,4046 15180,4043 15184,4043 15187,4038 15190,4040 15194,4040 15199,4045 15196,4047 15197,4050 15200,4050 15204,4050 15208,4047 15212,4047 15215,4049 15216,4046 15218,4042 15223,4042 15228,4042 15232,4047 15235,4050 15236,4050 15239,4051 15243,4053 15243,4050 17243,4052 17243,4052 18243,4057 18247,4061 18249,4064 18249,4067 20249,4067 20250,4067 20255,4066 20259,4066 20259,4067 20255,4069 20256,4071 20258,4072 20254,4067 20257,4067 20260,4069 20265,4065 20267,4069 20266,4070 20267,4071 20264,4074 20259,4070 20264,4073 20260,4074 20263,4077 20268,4082 20271,4084 20273,4084 20277,4081 18277,4085 18279,4086 18276,4087 18273,4087 18275,4092 18277,4093 18279,4093 18280,4095 18280,4091 18283,4092 18281,4094 18283,4090 18287,4094 18287,138 5257,138 5255,138 5258,-1862 5254,-1860 5256,-1856 5258,-1851 5255,-1850 5260,-1847 5260,-1847 5263,-1847 5258,-1850 5257,-1850 5259,-1851 5257,-1855 5258,-1853 5261,-1849 5261,-1849 5258,-1849 5259,-1845 5264,-1847 5264,-1850 5268,-1852 5266,-1853 5270,-1856 5265,-1852 5262,-1847 5263,-1842 5263,-1842 5260,-1842 5265,-1841 5265,-1844 5265,-1842 5270,-1837 5274,-1838 5279,-1843 5275,-1842 5280,-1838 5281,-1838 5285,-1833 5285,-1828 5288,-1824 5289,-1828 5291,-1831 5291,-1826 5291,-1830 5293,-1826 5296,-1822 5301,-1826 5302,-1826 5302,-1826 5302,-1825 5297,-1820 5299,-1816 5303,-1816 5299,-3811 12299,-3809 12302,-3806 12302,-3806 12302,-3803 12304,-3798 12304,-3797 12304,-3793 12306,-3788 12306,-3783 12309,-3816 12294,-3811 12299,-3809 12297,7100 -1851,7098 -1854,7102 -1854,7107 -1856,7107 -1858,7110 -1854,7110 -1851,7113 -1851,7115 -1851,7120 -1851,7123 -1847,7124 -1852,7125 -1852,7127 -1852,7131 -1852,7129 1148,7129 1145,7133 1150,7137 1148,7138 1147,7143 1149,7147 1154,8147 1155,8152 3155,8147 3157,8143 3158,8144 3160,8144 3164,11144 3167,11146 3167,11148 3163,11152 3161,11148 3159,11149 3163,11150 3161,11151 3166,11154 3171,11154 3170,8144 3160,8144 3163,8144 3166,8145 3166,8146 3171,8146 3174,8144 3174,8144 3174,8145 3176,8141 3180,3141 3182,7141 3183,7141 7183,7136 7185,7136 7185,7133 7187,7136 7187,7131 7190,7136 7194,7137 7197,7141 7196,7139 7199,12139 7200,12143 7200,12143 7199,12144 7203,12145 7200,12141 7200,12136 7195,12136 7191,12137 7191,12137 7196,12139 7197,12140 7197,12137 7201,12140 7204,12140 7209,12143 7209,12145 7210,12147 7214,12148 9214,12152 9218,12149 9218,12149 9221,12149 9220,12150 9222,12153 10222,12153 10226,12156 10227,12159 10223,12160 10220,12161 10225,12161 10227,12163 10224,12163 10223,12158 10224,12158 10227,12158 10231,12155 12231,12157 12226,7136 7185,7139 7189,7139 7189,7139 7188,7137 7191,7139 7191,7140 7189,7143 7191,7144 7189,7144 7190,7149 7193,7152 7194,7154 7198,7153 7203,7148 7207,12148 7209,12146 7209,12145 7213,12140 7217,12139 7219,12141 7219,12138 7218,12143 7218,13143 7220,13140 7224,13142 7228,13137 7231,13142 7235,13146 7239,13149 7243,13148 7247,13150 7248,13155 7249,13155 7253,13155 7253,13155 7258,13157 7260,13162 7255,13159 7255,13163 7258,13164 7258,13164 7263,13167 7264,13167 8264,13165 8265,13169 8265,13171 13265,13175 13261,13176 13259,13176 13259,13180 13262,13181 13262,13183 13262,13188 13265,13191 13267,13191 13265,13194 13267,13191 13269,13192 13264,13196 13269,13198 13272,13200 13272,13202 13270,13207 11270,13211 11270,13211 11273,13213 11274,13217 11275,13222 11276,13222 11272,13226 11274,13231 11277,13233 11282,13236 11284,13238 11284,13236 11286,13236 11288,13236 11283,13236 11284,13238 11289,13241 11292,13244 11292,13245 11289,13241 11294,13244 11298,13249 11301,320 22358,324 24358,328 24358,327 24363,326 24359,327 24361,329 24365,334 24367,-666 24367,-670 24368,49 123,46 127,46 129,49 131,49 136,47 135,45 138,3045 135,3042 138,3044 139,3044 144,3049 144,3053 142,3055 137,3058 136,3053 139,3048 142,7048 138,7048 3138,7048 3139,7048 3140,7050 3145,7053 1145,7050 1146,7053 5146,7048 5150,7047 5146,10047 5147,10043 5147,10047 5147,10050 5152,10052 5155,10054 5156,10056 5157,10056 5159,10058 5162,10062 5164,10062 5169,10066 9169,10068 9168,10063 9164,10063 9169,10061 9171,14061 9172,14061 9174,282 22342,287 22347,288 22347,288 22343,285 22339,280 22338,278 22341,279 25341,284 25343,13241 11294,13246 11296,13243 11296,13244 11291,13245 11291,13244 11291,13246 11295,13251 11300,13253 11305,13253 11306,13258 11305,13255 11306,13256 11309,13256 11311,13261 11307,13265 11303,13267 11305,13270 11301,13275 11298,13271 11300,15271 11302,15276 11306,15279 11303,15284 11305,15286 11305,15289 11307,15290 11302,15292 11305,15296 11309,15297 11313,15298 11316,15300 11317,15304 11320,15306 11324,15306 11320,15307 11320,15312 11320,15313 11319,15317 11317,15315 11321,15317 11323,15317 11328,15319 11333,15322 11336,15322 11337,15322 11337,15324 11341,15324 11345,15325 14345,15328 13345,17328 13346,17333 13349,17337 13354,17338 13358,17342 13358,17346 13353,17348 13353,17345 13353,17348 13354,17347 13354,17347 13354,17347 13355,22347 13358,22349 13355,22351 13355,22356 13354,22358 13354,22361 13355,22362 13355,22358 13355,22359 13359,22364 13364,22369 13369,22372 13373,22376 13371,22377 13371,22377 13369,22381 13374,22386 13379,22387 13376,22387 13380,22392 13378,22390 13374,22392 13378,22391 13378,22391 13375,22392 13378,22390 13380,22393 13382,22398 13387,22398 10387,22402 10391,22399 10392,22400 10392,22400 10394,22404 10391,22403 15391,22405 15392,22407 15392,22412 15387,22412 15390,22412 15394,22408 15396,26408 15398,26407 20398,26411 20402,26415 20406,26417 20411,26420 20407,26422 20407,31422 16407,31421 16405,31421 16410,31423 16410,31426 16414,31426 16410,31430 16415,31430 16418,31435 16419,31437 16420,31438 16422,31438 16425,31438 16425,31441 16427,31439 16431,31441 16436,36441 16436,36443 18436,36442 18437,36440 18440,36440 18436,36440 18440,36442 18445,36443 18446,36447 18451,37447 23451,37452 23456,37456 23455,37458 23459,37456 23461,37458 23463,37460 23466,37464 23469,37460 23474,37462 23476,37461 26476,37466 26479,37470 26483,37471 26488,37474 26489,37474 26485,37474 26483,37474 26488,37470 26492,37474 26497,37474 26499,37478 26495,37483 26499,37483 26501,37488 26496,37491 26499,37495 26495,37500 26496,37500 26497,37500 26501,37497 26499,37497 26499,37495 26504,37498 26504,37494 26509,37497 26514,37495 26515,37498 26514,37503 26514,37508 26512,37510 26516,37511 26519,37509 26523,37506 26528,37507 26532,37512 26536,37513 26538,37510 26542,37512 26544,37517 26543,37522 26546,37527 26551,37525 26555,37529 26558,37524 26563,37524 26562,37527 26562,37522 26562,37522 26559,37526 26561,37522 26559,37523 26561,37523 26556,37524 26558,40524 26560,40524 26563,40521 26567,40525 26566,40527 26568,40532 26572,40534 26569,40533 26565,40531 26565,40535 26569,40535 26570,40539 26572,40544 26575,40543 26575,40544 26579,40548 26584,40549 26581,40553 26585,40556 26590,40552 22590,40557 22594,40556 22595,40561 22592,40561 22593,40565 22593,40568 22593,40573 22588,40570 22590,40570 22591,40570 22588,40573 22590,40573 22593,40568 22593,40567 22597,40567 22599,40571 22599,40574 22600,40574 22604,42574 22607,42577 22607,42577 22612,42579 22616,38579 22619,38580 22617,38580 22614,38575 22619,38579 22619,38579 18619,38582 18614,38582 18617,38586 18622,38590 18625,38590 18622,38594 18621,38596 18616,38597 18614,38597 18618,38600 21618,38601 21618,38605 21620,38607 25620,38611 25620,38608 25617,38608 25621,38608 25625,38611 25623,38615 25623,38615 25620,38616 25622,38619 25624,38620 25625,38620 26625,38623 26627,38623 26627,311 22358,311 22359,-1689 22360,2311 27360,2312 27360,2312 27360,2317 27362,2317 27362,2319 27359,2319 27364,2318 27359,2321 27364,2326 27367,2325 27371,2326 27373,2326 27373,2325 27377,2329 27377,2327 27377,2330 27379,2333 27379,2331 27379,2331 27381,2336 27381,6336 27382,6336 27383,40527 26568,40531 26572,40533 26574,40538 26576,40533 26580,40538 26585,40539 26588,40536 26583,40540 26587,40539 26588,40535 26593,40540 26594,40544 26597,40548 26602,40548 26601,40549 26602,40547 26602,40548 26603,40553 26606,40548 26606,40548 26603,40551 26608,40556 26612,40559 26616,40554 26619,40556 26619,40556 26623,42556 26623,42556 26624,42560 26624,42562 26626,42563 26630,42564 26630,42564 26634,42559 26635,42562 26635,42565 26637,42562 26638,42564 26642,42564 26641,42568 26641,42572 26641,42572 29641,42574 29642,39574 29641,39574 34641,39576 34643,39581 34638,39578 34638,39574 34642,39574 34645,39572 35645,34572 35648,34577 35651,39577 35655,43577 35659,43580 35655,43575 35658,43578 35658,43581 35662,43577 39662,43572 39658,43572 39661,43572 39664,43572 39666,43576 39670,43577 39667,43580 39671,43576 39673,43573 39673,43574 39677,43569 39679,43567 39679,43568 39683,43563 39686,43566 39690,43566 39692,43568 39694,43568 39695,41568 39691,41570 39692,41571 39692,41571 39693,41571 39698,41571 39698,41574 39698,41569 39698,41570 39699,41570 39704,41572 39709,41573 39712,41578 39713,41579 39717,41584 39719,41585 39720,-1850 5268,-1845 5268,-1847 5266,-1842 5268,-1840 5263,-1845 5264,-1843 5264,-1839 8264,-1839 8267,-1839 8272,-1838 8276,-1834 8273,-1834 8273,-1833 8274,-1837 8279,-1836 8283,-1834 8286,-1836 8282,-1834 8279,-1835 8279,-1834 8280,-1836 8283,-1841 8288,-1846 8289,-1843 8286,-1838 8286,-1841 8285,-1838 8285,-1834 8288,-1829 8291,-1825 8286,-1825 8289,-1825 8287,-1824 8291,-1822 8294,-1821 8298,-1818 8300,-1818 8296,-1814 8296,-1811 8295,-1808 8292,1192 8296,1192 8297,1195 11297,1192 11301,1195 11305,1197 11300,1193 11300,1193 11296,1193 11293,1194 11294,1199 11292,1204 11292,1205 11294,1210 11292,1208 11288,1204 11290,1205 11289,1207 8289,1202 8284,1204 8282,1204 8281,1206 8281,1208 8281,1212 8283,1212 13283,1213 13287,1213 13290,1216 13293,1214 13289,1217 13286,1212 13291,1208 13288,1208 13292,1209 13297,1208 13296,1204 13298,1205 13303,1209 13308,1204 13308,1209 13304,1210 13304,1214 13309,1214 13314,1215 13314,1219 13314,1219 13319,1224 13320,1229 13321,1232 13325,1233 13329,1231 13329,1234 13334,-2766 13336,-2769 13337,-2765 13340,-2762 13345,-2760 13342,2240 13342,2238 13342,2242 13342,2246 13345,2246 13346,2244 13348,2239 13348,2240 13351,2240 13352,2245 13357,2248 13357,2243 13362,2247 13362,2248 13362,2252 13363,2256 13363,2256 13363,2260 13367,2255 13372,2251 13369,2251 13369,2252 13372,2249 13376,2254 13378,2255 13382,2259 13379,2262 13379,2267 13381,2262 13381,2262 13383,2265 13383,2269 13385,2270 13386,2271 13389,2267 13391,2271 13386,2275 13391,2273 13392,2275 13387,2277 13390,2274 13390,2275 13394,2280 13395,2280 11395,2281 14395,2279 14400,2277 14403,2273 14406,2274 16406,2274 16410,2279 16410,2284 16411,2280 16409,2280 16409,2282 16409,2282 16411,2282 16412,2280 16413,3280 16418,3284 16418,3285 16423,3289 16423,3292 16427,3294 16429,3296 16431,3297 16436,3298 16435,3303 16435,3305 16434,3305 16436,3305 16436,3309 16437,3309 16438,3308 16439,3308 16439,3306 16444,3302 16441,-1698 16437,-1703 16438,-1699 16438,-1697 16438,-1698 16439,-1695 16436,-1690 16441,-1687 16446,-1683 16450,-1682 16451,-1684 16453,-1682 16457,-1682 16457,-1686 16460,-1681 16459,-1680 16456,-1677 16460,-1681 16461,-1679 16464,-1674 16465,-1673 16469,-1669 16471,-1669 16476,-1665 16474,-1665 16478,-1664 16478,-1664 16479,-1661 16474,-1656 16471,-1655 11471,-1660 11473,-1663 11475,-1666 11480,3334 15480,3338 15476,3342 15471,3345 15471,3345 15470,3350 15469,3347 15474,3351 15476,3352 15473,3353 15476,3350 15477,3350 15479,3351 15482,3352 15484,3351 15487,3353 15487,3358 15487,3353 15486,1217 13286,1222 13291,1222 13291,1225 13286,1229 13286,1231 13281,1235 13280,1236 13281,1241 13282,1245 13285,1247 13285,1247 13287,1250 13287,1247 13290,1247 13295,1247 13298,1252 13301,1249 13304,1252 13304,3252 13304,3247 13304,3249 13308,3254 13308,3257 13308,3261 17308,3261 17309,3261 17306,3259 17305,3262 17310,3263 17308,3262 17311,3259 17314,3259 17314,3257 17309,3254 17309,3253 17309,3255 17310,3253 17312,3255 17312,3255 17312,3256 17307,3257 17307,3256 17311,3256 17313,3255 17317,3251 17317,3248 17321,3253 17325,3256 17326,3258 17324,3258 17327,3263 17322,7263 17325,7265 17328,7263 17330,7265 17333,7270 17333,7273 17333,7278 17336,4278 21336,4278 21340,4279 21340,4281 21340,4286 24340,4290 24343,9290 24347,9294 24349,9296 24347,9298 25347,9301 25348,9301 25348,9304 25353,9303 25357,9303 25352,11303 25355,11304 25358,11307 25358,11312 25358,11312 25361,11310 25365,11313 25365,11314 25369,11319 25371,11321 25371,11325 25366,11329 25365,11330 25366,11329 25370,11330 25365,11334 25367,11338 25366,11343 25363,11348 25359,11345 25356,11348 25357,11349 25358,11349 25358,11352 25360,11356 30360,11360 30365,11360 30365,11362 30365,11367 30367,11368 30369,15368 30370,15373 30371,15376 30373,14376 30378,14377 30383,14381 30378,14386 30380,14388 30382,14391 30385,14393 31385,16393 31389,16396 31394,16396 31397,16392 31400,16395 31405,16398 31409,16398 31413,16397 31415,16396 31417,16401 31418,16401 31422,16402 31419,16407 31420,16411 31419,16406 31423,18406 31427,18411 31432,18415 28432,18417 28437,18418 28441,18414 28438,18417 28435,18416 28439,18420 28442,18423 28447,18427 28444,21427 28445,21428 28450,22428 28455,22432 28457,22436 28458,22441 28458,22445 28463,22448 28468,22451 28465,22456 28468,22453 28468,22458 28471,22463 28473,22460 28475,22459 28472,22463 28476,22464 28472,22468 28468,22468 28471,25468 28466,25471 28468,25473 28464,25473 28464,25475 29464,25476 29466,25479 29461,25476 29462,25476 29464,25478 29464,25483 29461,25484 29460,25486 29458,25486 29462,25490 29460,25495 26460,25498 26463,25495 26468,25495 26472,25495 26472,25499 26474,25504 26476,25504 26478,25509 26476,25513 26479,25514 26481,25519 26477,25519 26480,25518 26481,25519 26484,25524 26483,25527 26484,25522 26484,25526 26487,25528 26492,25533 26496,25535 26498,25535 26498,25539 26503,25542 26504,25543 26505,25547 26510,25552 26510,25551 26508,25550 26512,25553 26510,25557 26510,25554 26511,25552 26508,25556 26505,25556 26506,25560 26506,25560 26507,25560 26506,25565 26501,25567 26504,25569 26504,25568 26508,25571 26508,25571 26511,25576 26511,25581 26516,25581 26519,25582 26521,25585 26522,25588 26527,25588 26526,25584 26530,25587 26534,25589 26529,25593 26533,25598 26538,25599 26540,25599 26540,25599 26540,25604 26543,25603 26543,25603 26538,25606 26538,25609 26540,25611 26542,25612 26547,25612 26547,25612 26548,25617 25548,25612 25548,25613 25547,25616 25545,25616 25549,25618 25551,25620 25555,25620 25551,25622 25550,25625 25551,25622 25555,25619 25557,25617 25556,25622 28556,25625 28551,25630 28546,25634 28548,25639 28553,25643 28553,25638 25553,25634 25553,25634 25557,25639 25557,25643 25558,25644 25553,25646 25556,25647 25560,25650 25562,25650 30562,25650 30562,25650 30564,25650 30566,25652 30570,25656 30571,25661 31571,25662 31575,25663 31579,25662 31579,25665 31581,25666 31584,25671 31582,25674 31581,25674 31584,25676 31584,25673 31587,25678 31586,25679 31581,30679 31584,30675 31589,30680 31590,35680 31590,35675 31589,35677 31591,35680 31590,35681 31587,35684 31588,35685 31589,35689 31592,35689 31593,35692 31597,35696 31597,35700 34597,35699 34599,35703 34604,35703 34606,35702 34601,35705 34603,35705 34606,35708 34603,35713 34604,35717 34603,35719 34608,35715 34608,35711 34608,35713 34609,35714 34605,35714 34610,35714 34614,35718 34616,35719 34617,35722 34618,35722 34621,35725 34625,35725 34626,35725 34629,35725 34631,35725 34635,35730 34636,35727 34638,35731 34640,35735 34642,35739 34645,35741 34645,35742 34649,35738 34649,35738 34645,35741 34647,38741 34650,38741 37650,38742 37646,38746 37651,38749 37652,38753 37653,38753 37657,38757 37656,38756 37660,38761 37660,38765 37660,38760 37660,38759 37660,38760 41660,38760 41660,38762 41665,38757 41667,43757 41669,43752 41674,43752 41677,43757 41672,43758 41677,45758 41680,45758 41679,45762 41683,45765 41683,45769 41683,45770 41684,45768 46684,45773 46688,45776 46692,45774 46694,45775 46697,45778 46695,45776 46698,45774 46702,45779 46702,45784 46704,45787 46706,45791 46711,45786 46707,45790 46711,45793 46715,45796 46719,45799 46724,45797 46728,45802 46726,45797 46729,45801 46733,45802 46733,45803 46732,45804 46732,45805 46732,45808 46735,45810 46740,45810 46744,2326 27373,2322 27377,2323 27379,2325 27383,2325 27382,2322 27382,2323 27382,5323 23382,5325 23385,5329 23386,5330 23390,5335 23392,5330 23392,5330 23395,5329 23395,5333 23399,5333 23402,5338 23405,5339 23405,5334 23406,5329 23401,5332 23403,5330 23407,5333 23409,5328 20409,5324 20411,5324 20414,5329 20416,5328 20421,5325 20421,5329 20424,5330 20424,5335 21424,5331 21427,5333 21431,5334 21433,5329 21434,5330 21437,5333 21440,5338 21437,5338 21440,5334 21441,5333 21438,5329 26438,5332 26435,5335 26439,5337 26440,5338 26444,5342 26439,5342 26442,5345 26440,5349 26438,5352 26442,5349 26445,5348 30445,5350 30447,5350 30444,5354 30444,5359 30443,5363 30445,5367 30446,5367 30448,5367 30453,5371 30455,5371 30453,5373 30458,5375 30461,5380 30463,5384 30463,5383 30459,5384 30459,5383 30459,5385 30460,5390 30459,5392 30464,5394 30464,5389 30465,5393 30469,5391 30469,5391 30469,5395 30474,5396 30470,5399 30470,5401 30467,5401 30468,5404 30470,5400 30465,5401 30462,5403 30467,5404 30467,5409 30469,5412 30473,5412 30477,5407 30481,8407 30486,8408 30489,8410 30490,8410 30489,8413 30490,8414 30493,8414 30496,8419 30501,8420 30502,8415 30507,13415 30509,13411 30506,13414 30507,13412 30511,13412 30515,13417 30518,13419 30523,13418 30527,13422 30529,13418 30531,13413 35531,13409 35531,13413 35532,13417 35537,13419 35533,13423 35529,13424 35529,13423 35524,13428 35525,13433 35526,13438 35530,13443 35531,13448 35531,13452 35532,13455 35536,13457 35536,13452 35536,13455 35539,13452 35535,13457 35540,13457 35544,18457 35546,18460 35547,22460 35546,22465 35550,22466 35554,22468 35552,22473 35555,22471 35559,22470 35564,22472 35564,22470 35569,22474 35569,22474 35571,22477 35573,22482 35576,22487 35580,22488 35583,22489 35585,22493 35585,22496 35585,25496 35586,25493 35582,25494 35585,25498 35585,25496 35585,25498 35587,25503 35591,25503 35593,25499 35590,25499 35591,25495 35591,26495 35595,29495 35591,29495 35593,29498 35597,29498 35601,29500 35606,29501 30606,29502 30603,29505 30603,29510 30606,29511 30606,29514 30607,29516 30610,29518 30608,3259 17305,3263 17304,3267 17303,3271 17308,3269 17312,3269 17313,3274 17315,3277 17315,3282 17311,3285 17313,3283 17309,3278 17310,3275 17315,3275 17317,3276 17322,3280 17324,3280 17324,3276 17325,3277 17325,3276 17328,3278 17324,3273 17329,3277 17331,3280 17326,3281 17328,3276 17324,3277 17324,3277 17322,3277 17321,3277 17321,3281 17323,3282 17327,3282 17332,3287 17335,3288 17335,3288 17338,3290 17337,3294 17340,3294 17341,3299 17341,3299 12341,3299 12342,3304 12339,3301 14339,3305 14340,3307 14341,3311 14343,3313 14343,3314 16343,3310 16341,3310 16346,3312 16348,3311 16349,4311 16346,4316 16348,4321 16344,4324 16348,4322 16349,4323 16346,4323 16346,4326 16350,4322 16354,4323 16356,4325 16361,4325 16358,4322 16362,4325 20362,4325 20366,4322 20367,4326 20372,4326 20374,4331 20373,4333 20373,4338 20376,4339 20379,4341 20382,4338 20384,4339 20386,4340 20383,4340 20383,4335 20388,4336 20390,4341 20390,4346 20391,4348 20391,4349 20393,37497 26499,37494 26496,37496 26500,37496 26501,37499 26506,37497 26502,37498 26502,37500 29502,37500 29507,37505 29508,37506 33508,37508 33513,37513 33518,37517 33522,37516 33520,37521 33521,37521 33525,37516 33530,37519 33528,37520 33528,37524 33530,37527 33530,37525 33527,37528 33530,37533 33533,37534 38533,37536 38536,22358 13355,25358 13360,25361 13358,25362 13362,25362 13362,25365 13365,25363 13367,25359 13369,25357 13374,25360 13374,2247 13362,2252 13366,2254 13363,2257 13363,2261 13358,2264 13354,2264 13356,2269 13361,2272 13363,2274 13363,2275 13363,2273 13362,2274 13365,2278 13365,2280 13370,2284 13366,2284 13365,2289 13368,2290 13366,2293 13368,2298 13373,2298 13372,2295 13375,271 22347,273 22350,4273 22347,4269 22348,4270 22350,4271 22355,4272 22360,4276 22363,4281 22365,4284 24365,4279 24365,4282 24365,4285 24365,4287 24364,4289 24362,4294 24360,4295 24362,4298 24365,4301 24369,1301 24370,1301 24371,1305 24375,1305 24376,1307 24377,1312 24380,1314 24382,1318 24380,1316 24382,1316 24387,1318 24387,1318 29387,1321 29387,1316 29383,1320 29386,1321 29389,1326 29389,1327 29389,2327 29394,2327 29394,2332 29393,-666 24367,-663 24368,-661 24368,-656 24371,-653 24372,-649 24372,-647 24374,-643 24370,-638 24375,-635 24380,-638 24382,-638 24384,-638 24384,-636 24388,-637 24390,-632 24386,-630 24386,-629 24386,371 24389,376 24394,374 24392,377 24397,3377 24400,6377 24405,6378 24408,6373 24406,6370 24406,6375 24403,6370 24403,6375 24403,6379 24406,6374 24409,6378 24411,6380 24412,6378 24415,6378 24419,6383 24423,6385 24425,6387 24428,6390 24433,6386 24430,6386 24435,6387 24436,6388 24440,6387 24444,6383 29444,6383 29447,6386 29451,6382 29446,6387 29447,6390 29452,6393 29452,6397 29455,6400 29459,6400 29463,6397 29467,6393 29467,6395 29470,6397 29473,6399 29468,6394 29467,6397 29470,6396 29473,6396 29470,6393 29465,6389 29469,6390 29470,6389 29465,6389 29468,6392 29470,6388 33470,6390 33466,6391 33466,6392 33467,6394 33467,322 22372,322 22374,323 22377,327 22378,331 22382,330 22383,332 22386,333 22383,331 22383,330 22387,332 22391,332 22396,337 22397,339 22394,340 22399,340 22398,340 22396,343 22396,343 22396,341 22400,342 22404,343 22402,348 22403,345 22407,347 22411,342 22411,345 22413,340 22417,345 22417,348 22422,348 22426,351 22427,352 22432,352 22436,4352 22438,4353 22442,4354 22444,4354 22447,4357 22449,4360 22450,4364 22450,4367 22451,4369 22453,4366 22455,4369 22453,4373 22458,4377 22459,4380 22459,4380 22464,4385 22467,4385 22467,4390 22469,4385 22469,4385 22472,25571 26508,25574 26507,25578 26512,25581 26512,25581 26512,25583 26508,25583 26513,25587 26516,25589 26515,25590 26515,25591 26517,25589 26520,25587 26522,23587 26526,23585 26531,23589 26534,23592 26538,24592 26543,24588 26545,24593 26547,24598 26543,24598 26548,24602 26545,24598 26540,24600 26545,24600 26548,24600 31548,24605 31549,24608 31551,24613 31552,24615 36552,24616 36557,24619 36557,24622 36560,24622 36564,24627 35564,24627 35569,24632 35569,25632 35570,25635 35569,25636 35573,25636 35573,25638 35576,25641 35580,25641 35583,25641 35588,25642 40588,20642 40593,20645 40593,20650 40595,20651 40591,20651 40594,20648 40591,20648 40591,20652 40596,20652 40596,20656 40597,20656 40600,20656 40601,20659 40598,20662 40597,20662 40597,20663 40600,20668 40601,20665 40606,1215 13314,1214 13319,1212 13317,1209 13312,1210 13312,1211 13317,6211 13320,6214 13320,6216 13320,6211 13323,6214 13318,6214 13323,6214 13324,6216 13319,6219 13323,6218 13321,6219 13321,6218 13326,6221 13329,6225 13331,6230 13335,6231 13339,6231 13343,6235 13338,6234 13342,6234 13344,6236 13345,25524 26483,25521 26484,25524 26489,25527 26487,25529 26484,25530 26482,25534 27482,25539 27486,25537 27488,25541 27483,25544 27486,25547 27490,25550 27491,25550 27491,25554 27486,25559 27486,25563 27489,25561 27489,25563 27493,25561 27491,25563 27493,25563 27495,25564 27497,25563 27497,25563 27497,25558 27498,25563 27499,25565 27503,25567 27503,25569 27503,25567 27504,25565 27505,25565 27505,25565 27505,25566 27505,25570 27501,25570 27497,25574 27498,25570 32498,25570 32501,25573 32501,25576 32497,25576 32498,25577 32501,25579 32503,25583 32504,25588 32507,25592 32512,25596 32507,25599 32507,25594 32503,25597 32506,25597 32510,25594 32509,25594 32510,25596 32513,25592 32513,25594 32515,25594 32520,25598 32520,25602 32517,25603 32518,27603 32520,27607 32523,27608 31523,27613 31527,27615 31527,30615 31530,30617 31530,30618 31532,30619 31536,30623 31537,30623 31538,30625 31538,30626 31541,30627 31541,30624 31540,30623 31540,30624 31545,34624 31546,34619 31543,34623 31545,34624 31549,34624 31548,34626 31550,34626 31555,34626 31551,34628 31555,34633 31555,34636 31559,34634 31564,34636 31564,34639 31562,34639 31560,36639 31555,36636 27555,41636 27557,41640 27554,41644 27558,41647 27559,41648 27555,41653 27555,41658 27555,41658 27552,41658 27552,41660 27550,41656 27554,41661 27558,41664 27561,41667 27566,41662 27562,41663 27563,41663 27565,41662 27569,41661 27569,41664 27571,41664 27567,41659 30567,41660 30565,41660 30561,41665 30566,41664 30561,41664 30561,41664 30562,41664 30563,41660 30558,1312 24380,4312 25380,4315 25384,4315 25385,4319 25383,4322 25388,6322 25387,6322 25387,6326 25392,6321 25397,6324 25397,6324 25401,6319 25404,9319 25405,9314 25400,9312 25402,9310 25403,9313 25403,9313 25403,9316 25400,9319 25401,4319 25396,8319 25398,8315 25400,8315 25396,8315 25397,8311 25398,8307 25394,8309 25394,8311 25397,8315 25402,8310 25403,11310 25365,11311 25365,11316 25370,11320 25375,11325 25375,11325 25380,11325 25382,11326 25378,14326 25380,14328 25382,14331 25383,14334 25385,14336 25386,19336 25386,19336 25389,19332 25390,19332 25391,19335 25388,19338 25391,19342 25393,19340 25393,19345 25396,19345 25394,19347 25394,19349 25393,19351 25397,19350 25398,19348 25399,19349 25403,19352 25399,19350 25402,19354 25400,19353 25405,23353 25402,23354 25402,23356 25405,23358 25409,23360 25413,23363 25414,23367 25412,23365 25411,23367 25414,23363 25413,23367 25416,23367 25416,23370 25418,24370 25414,24370 25419,24373 27419,24378 27419,24380 27416,24380 27412,24380 27410,24380 27406,24376 27406,24374 27410,24370 27414,24370 27415,24371 27420,24375 27415,24378 27411,24375 27415,24378 27418,24382 27421,24383 27426,24383 27425,24385 27430,24390 27431,24394 27432,24395 27436,24399 30436,24400 30439,24404 30443,24403 30439,24406 30438,24410 30442,24406 30446,24408 30445,24403 30445,24408 30442,24412 30446,24416 30446,24416 30449,19416 30449,19416 30447,19418 30452,19420 30453,19423 30458,15423 30462,15423 30464,15425 30466,16425 30467,16424 30471,16421 30474,16426 30474,16428 30476,16428 30476,16424 30474,16424 33474,16425 33474,16427 33477,16425 33479,16426 33477,16422 33480,16425 33482,16430 33479,16430 33478,16429 33482,16424 33482,16427 33484,16430 33488,16431 33488,16434 33488,16435 33491,16432 33487,16436 37487,16434 37490,16438 37485,16443 37482,16446 37480,16447 37480,16447 37482,16451 37478,16454 37479,16458 37479,16454 37479,16454 37482,16459 37486,16460 37491,16463 37495,16464 37492,16465 37493,16466 37494,16468 37497,16468 37501,16468 37501,16473 37503,16473 37503,16473 37498,16476 37494,21476 33494,21473 33493,21476 33489,21478 33491,21478 33496,21478 33492,21480 33496,21483 33501,21484 33504,21483 33500,21484 33505,21484 33505,21488 35505,21491 35505,21494 35506,21496 35510,21492 35506,21492 35509,21489 35514,21490 35517,21487 35519,23487 35523,23485 35528,23487 35533,23483 35534,23487 35535,23488 35537,23493 35539,23495 35542,23495 35546,23495 35550,23491 35549,23488 35552,23492 35555,23495 35560,23500 35559,23496 35557,4322 16354,4317 16358,4318 16358,4320 16363,4315 16363,4315 16362,4316 20362,4320 20365,4323 20363,4326 20366,4329 20367,4332 20370,4337 20374,4338 20375,4333 20375,4338 20375,4341 20377,4342 20377,4342 20378,4343 20381,4346 20386,4346 20386,4346 20386,4346 20386,4349 20390,4352 20395,4354 20396,4355 20400,4358 20400,4360 20401,4360 20404,4363 20405,4368 20406,4372 20411,4371 20416,4367 20417,4364 20422,4367 20420,4372 20425,4373 20422,4374 20418,4377 20418,4381 20422,4382 20423,4384 20418,4389 20421,4385 20423,4390 20423,4390 20425,4392 20429,4396 20434,41574 39698,41578 39702,41576 39704,45576 39704,45575 39709,45577 39713,45581 39715,45581 39718,45583 39721,45578 39726,47578 39722,47581 39719,47586 39722,47586 39726,47589 39730,47592 39733,47597 39733,47593 39733,47596 39735,47597 39735,47595 39735,47591 39739,47593 39744,47593 39747,4074 20263,4077 20268,4079 20268,4078 20271,4078 22271,4083 22276,4087 22272,4088 22275,4086 22279,4082 22280,4084 22282,4086 22277,4082 22277,4087 22281,4090 22281,4092 22281,4092 22286,4094 22287,4097 22290,4097 22291,4095 22286,4095 22288,4095 22293,4095 22288,4092 22285,4089 22286,4090 22286,4095 22281,4100 22286,4103 22285,4104 22288,4104 22289,4107 22294,4112 22292,4117 22290,4120 22295,120 22300,121 22303,122 22300,122 22300,121 26300,125 26303,129 26303,127 26305,127 26306,132 26306,132 26307,136 26307,141 26309,140 26311,143 26313,140 26314,145 26318,149 26318,153 26321,153 29321,158 29326,158 29329,162 29324,162 34324,165 34329,168 34328,167 34332,169 34333,173 34334,173 34336,177 34338,178 34340,178 34344,182 34348,177 34348,182 34348,184 34353,184 34358,181 34360,183 34365,187 34365,192 34365,197 34367,199 34366,203 34368,205 34368,202 34363,204 34360,1204 34360,1205 34364,1205 30364,1205 30359,1206 30361,1207 30364,1210 30366,1210 30366,1214 30367,1218 30372,1219 30375,1214 30379,1214 30384,1217 30382,1222 30383,1223 30382,1225 30380,1228 30379,1231 30383,1232 30383,1235 30384,1237 30388,1242 30386,1244 30389,2244 30392,2241 30395,2245 30397,2245 30399,2244 30394,2242 30395,2246 32395,2246 32395,2249 32398,2251 32393,5251 32390,5251 32395,5255 32399,5255 32397,5257 32397,5257 32401,5261 32406,5261 32411,5266 32412,5271 32416,5273 32419,5276 32420,5281 32422,5279 32425,6279 33425,6284 33429,6284 33430,6282 33431,6282 33428,6286 33425,6288 32425,6288 32421,6286 32424,6288 32424,11288 32427,11292 32425,11292 32429,11290 32434,11286 32437,11286 32437,11283 32442,11278 32442,11279 32443,11283 32445,11284 32445,11283 32448,13283 32447,13287 32442,16287 32446,16282 32445,16283 32445,16284 32448,16285 32448,16284 32446,16286 32443,16290 32446,16291 32446,16292 32450,16291 32450,16291 32450,16291 32445,16287 32447,16288 32452,16287 32457,16291 36457,16289 36462,16293 36462,16294 36462,16297 36462,16301 36464,16306 36469,16310 36467,16310 36463,16313 36459,16312 36460,16313 36465,16313 36469,16308 36470,16309 36468,16314 36470,16319 41470,16322 41471,16325 44471,16330 44471,16330 44471,16330 44473,16330 44474,16335 44479,16332 44477,8414 30496,8415 30497,8419 30497,8414 30501,8416 30500,8418 30495,8421 35495,8423 35494,8427 35497,8429 35499,8432 35499,8436 35503,8438 35503,8443 35505,8440 35508,8443 35509,8440 35509,8440 35511,8441 35515,8445 35511,8448 35512,8443 35517,8443 35519,8442 35524,8444 35526,8441 35527,8436 35527,8433 35523,8429 35527,8430 35530,8431 35532,8429 35533,8433 35535,8437 32535,8435 32536,8439 32536,8436 32539,9436 32542,9434 32537,9429 32534,9429 32534,9433 32537,9433 32542,9429 32543,9434 32538,9436 32538,9436 34538,7436 34538,7438 34543,7439 34543,7439 34543,7439 34548,7438 34549,7438 34552,7438 34553,7438 34556,11438 34561,11434 34559,11436 34555,7436 34553,7436 34549,120 1235,124 1239,125 1236,125 1238,129 1235,128 1235,125 1236,123 1239,128 2239,132 2242,131 2242,135 2242,140 2242,145 2247,146 2252,144 2253,146 2248,144 2245,146 2244,150 2249,155 2245,159 2242,160 2243,160 2245,155 2244,156 2245,3156 2246,3159 2248,3159 2250,3164 2254,3165 2257,3166 2255,3169 2257,3171 2262,3169 2263,3174 2268,3177 2273,3174 2276,3178 2275,3173 2279,3177 2276,3180 2279,3182 2284,3185 2289,5185 2286,5185 2288,5181 2286,5185 2288,5184 2293,5187 2293,5187 2297,5190 2299,5187 2299,5185 2300,5181 6300,5182 6297,5187 6300,5189 6298,5191 6296,5193 6296,5193 6296,5195 6297,5195 6300,5197 6297,5195 6300,5190 6302,5191 6306,5192 6308,5195 6312,24395 27436,24391 27437,24393 27433,24398 27436,24398 27437,16286 32443,21286 32443,21286 32444,21282 32448,21283 32446,21283 32448,21285 32451,21281 32456,21282 32458,21282 32463,21282 32468,21284 32470,21289 32471,21287 32471,21287 32469,21287 32474,21284 32477,21288 32482,21291 32482,21291 32486,21296 32485,21299 32486,21301 32487,21303 32484,21301 32482,21305 32487,21310 32491,21312 32495,21313 32491,21315 32495,21312 32495,21314 32498,21316 32501,21311 32506,21311 32508,21312 32513,21317 32516,21319 32516,21324 32516,21327 32521,21328 32526,21332 32527,21328 36527,21331 41527,21336 41527,21334 41531,21337 41533,21335 41535,21339 41540,21340 41540,21343 41536,25343 41539,25340 41542,25337 41542,25337 41545,25335 41542,25335 41543,25335 46543,25339 46548,30339 46551,30340 46556,30343 46557,30342 46553,30337 46556,30341 46561,30337 46565,30336 46563,30338 46564,24373 27419,24373 27421,24375 27424,24377 27425,24377 27430,24374 27435,24379 27437,24384 27432,24385 27434,24382 27437,24381 27442,24381 31442,24381 33442,20381 33439,20383 34439,20382 34440,20378 34444,20381 34446,20381 34442,20384 34443,20388 34446,20392 34447,20393 34442,20393 34447,20396 29447,20395 29443,20399 29443,20400 29439,20399 29436,20404 29439,20409 29440,20410 29440,20410 29444,20408 29445,20413 29448,20413 29451,20412 29455,20413 29458,20418 29461,20413 29463,20415 29464,20416 29464,20416 29463,20416 29463,20418 29464,20414 29465,20418 29463,20413 29460,20413 26460,20418 26458,20421 26459,20421 26461,20421 26460,43578 35658,43578 35654,43578 35658,43578 35660,43583 35661,43583 35659,43583 35662,43579 35663,43583 35661,43587 35666,25625 25551,25629 25551,25630 25554,25630 25559,25632 25560,25627 25561,25623 25557,25623 25559,25624 25561,26624 25566,26627 25566,29627 25571,29626 25574,29625 25575,29622 25579,29625 25583,29630 25588,29632 25589,29635 25591,29635 25594,29637 25598,29642 25596,29643 25597,29644 25597,29649 25598,29654 25602,29656 25602,29661 25603,29661 25601,29664 26601,29666 26604,29665 26604,29668 26607,29672 26607,29669 26611,29671 26616,29674 26613,29679 26616,29680 26616,29681 26615,29682 26619,29679 26617,29684 26622,29686 26624,29689 26624,29690 26628,29691 26630,29693 26625,29694 26620,29698 26617,29703 29617,29707 29616,29706 29620,29709 29623,34709 29626,34710 29628,34710 29627,2282 16411,2283 16412,2283 16412,2287 16417,2292 16421,2297 16421,2298 16426,2303 16426,2304 16429,2309 11429,2313 11432,2308 14432,2308 14431,2311 14433,2310 14437,2308 14438,2309 14440,2311 14440,2309 14443,2312 14443,2314 14447,2314 14452,2314 14450,2309 14451,2309 14451,2309 14456,2313 14461,2313 14461,2309 19461,2309 19461,2311 19462,2315 19465,2318 19465,2321 19462,2317 19464,2321 19467,2322 19467,2322 19469,2322 19469,2320 19464,2321 19462,2322 19461,2327 19466,2327 19461,2322 19461,2322 19463,2317 19467,2318 19471,2102 -1848,2107 -1848,2111 -1846,2114 1154,2114 1156,2115 1157,2114 6157,2116 6162,2121 6165,2124 6170,2121 6175,2124 6179,2124 6183,2128 6178,2126 6179,2125 6178,2126 6181,2122 10181,2127 10186,2128 10189,2130 10188,2130 10191,2127 11191,2127 11195,2131 11196,2132 11192,2131 11197,2135 11201,2135 11203,2139 11199,2142 11203,2143 11204,2147 11208,2142 11210,2142 11211,2147 11212,2150 11217,2150 11219,2151 11219,2152 11222,2152 11222,2148 11224,2150 11220,2150 11223,2146 11218,2143 11219,2140 11221,2143 11218,2140 11219,2140 11223,2145 11225,2147 11226,2152 11226,2155 11224,2157 11229,2157 11229,2153 11233,2153 11238,2149 11239,7149 10239,7154 10241,7157 10241,7162 10243,7164 10248,7164 10251,7169 10253,7171 10253,7172 10257,7177 10260,7182 10256,7187 10260,7191 8260,7195 8256,7200 8258,7204 8258,7203 8261,7203 8262,7205 8266,7209 8270,7209 8273,7214 8273,7214 8276,7210 8276,7211 8276,7213 8279,7218 8278,7222 8283,7223 8279,7220 10279,7221 10283,7223 10284,7228 10286,7230 10290,7231 10290,7231 10293,7232 10294,7232 10297,7234 10299,7229 10295,7226 10294,7221 10293,7223 10295,7228 10299,7229 10303,7232 10307,7232 10311,7233 10316,7234 9316,7239 9318,7244 9321,7241 9326,7241 9328,7238 9331,7235 9330,7237 9335,7236 9335,7236 9337,7236 9338,7231 14338,7230 14333,7232 14338,7237 18338,4082 22280,4081 22280,6081 22283,6076 22285,6076 22289,6078 22286,6080 22287,6084 22292,6084 22293,6085 22293,6086 22291,6091 22294,6092 22293,9092 22290,9095 22294,9096 22295,9096 22297,9091 22292,9096 22295,9098 22290,9094 18290,9097 18290,9096 18294,9099 18292,9098 18297,9103 18299,9103 18302,9103 18305,9100 18301,9102 18302,9106 18305,9102 18310,9101 18306,9103 18308,9103 18312,9107 18310,9107 18315,9107 18320,9111 18322,9111 18326,9113 18329,9111 18329,9116 18329,9121 18329,9121 18332,9123 18331,9124 18332,9125 18328,9127 18325,9125 18328,9128 18329,9133 18329,9136 18333,9141 18337,9142 18342,9143 18340,9148 18344,9152 18341,9150 18346,9149 18341,9149 18341,9154 18343,9158 18345,9161 18346,9161 18347,9163 18352,9164 18352,9162 18349,9165 18352,9165 18351,9165 18352,9165 18356,9163 18352,9167 18353,9167 18349,9168 18351,9168 18347,9173 18347,9175 18347,9179 18348,9182 18349,9187 18352,9186 18357,9189 18360,9192 18360,9196 18362,13196 18367,13196 18369,13196 18371,13199 18374,13194 18374,13197 18375,13200 18377,13205 18380,13210 18384,13209 18379,13209 18374,13213 18375,13216 20375,13212 20375,13215 20375,13211 20375,13211 20372,13208 20373,13204 20373,13204 20369,13205 20369,13207 20366,13212 20367,13216 20367,13221 20372,13222 20377,13225 20381,13226 20386,13230 20383,9230 20388,9228 20384,9228 20386,9223 20389,9223 20392,4223 20397,4223 20396,4225 20399,4222 20404,4220 20408,4220 20411,4223 20416,4227 20421,4230 20418,4234 20421,4232 20422,4236 20423,4238 20423,4239 20423,4235 20427,4231 20427,4230 20426,4228 20428,4232 20427,4232 20431,4236 20433,4241 20431,4241 22431,4236 22436,4239 22437,4239 22439,4236 22443,4232 22439,4236 22444,4236 22446,4239 22447,4239 22452,4241 22454,4245 22457,4245 22460,4250 22462,4251 22465,4253 22465,4249 22465,4251 22460,4251 22464,4255 22469,4257 22473,4256 22478,4259 22479,4260 22480,4257 22485,6257 22489,6260 22490,6260 22493,6262 22496,6262 22500,6267 22495,6271 22495,6276 22491,6276 22489,6281 22487,6286 22490,6289 22490,6294 22490,6294 22489,6292 22485,6292 22489,6288 22489,6288 22494,6288 22496,6286 22497,6288 22501,6292 22500,5292 22503,5292 22503,5296 22508,5295 22510,5300 22510,5305 22513,5302 22514,5306 22510,5309 22513,5313 27513,5313 27513,5317 27513,5322 22513,5326 22517,6326 22516,6323 22518,6323 22523,6320 22523,6321 22526,6323 22531,6323 22531,6324 22532,6324 22532,6325 22529,6321 22531,6323 22534,6328 22534,6329 22530,6324 22527,10324 22522,10319 22524,10315 22520,10314 22525,10311 22525,10307 22526,10304 22531,10306 22527,10306 22528,10309 22530,10312 27530,10312 27534,10312 27534,10307 27536,10307 27532,11307 27531,11307 27533,11308 27535,11303 27531,11298 27532,11294 27534,11294 27534,11299 27538,11297 27542,11302 27547,11306 27547,11311 27549,11313 30549,11317 30551,11313 30546,11316 30541,11316 30540,11319 30545,11318 30546,11323 30550,11326 30554,11326 34554,11330 34558,11331 34558,11333 34558,11332 34561,11328 34561,11331 34562,11336 34562,11336 34567,11340 34570,11342 34569,11345 34568,11344 34569,11345 34571,11349 34574,15349 34574,15354 34569,15359 34566,15362 34571,15363 34576,15367 34577,15368 34577,15371 34581,15374 34576,15379 34574,15383 34579,15384 34584,15387 34583,17387 34578,17392 34578,17391 34578,17396 34573,17397 34578,17397 34580,17397 39580,17402 39584,17397 39587,17402 39587,17406 39582,17403 39587,17407 39589,17409 39592,17406 39592,17409 39595,17409 39599,17412 39603,17416 39608,17417 39608,17417 39608,17421 39607,17422 39609,17424 39608,17427 39604,17425 39605,17426 39609,17423 39611,17422 39610,17425 39613,17428 39618,17428 39619,17429 39616,17432 39616,13432 39615,13432 39617,13432 39617,13432 44617,13434 44621,13434 44623,13439 44627,13442 44632,13442 44635,13440 44631,13442 44631,13445 44635,13447 44639,13445 44637,13445 44638,13450 44639,13454 44644,13457 44644,13459 44642,15459 44639,15457 44644,15461 44644,15462 44642,15459 44645,15459 44647,15463 44650,15458 44651,15459 44653,15461 44657,15463 44661,15463 44661,15463 44663,15467 44666,15472 44668,15474 44664,15470 44668,15471 44670,15473 44674,15475 44675,-3806 12298,-3804 12301,-3805 13301,-3804 13296,-3808 13292,-3809 13295,-3806 13300,-3804 13297,-3801 13301,-3801 13302,-3796 18302,-3801 18306,-3799 18311,-3802 18311,-3799 18312,-3801 18314,-3796 18319,-3795 18322,-3791 18321,-3786 18320,-3786 18321,-3784 18321,-3782 18321,-3781 18324,-3782 18325,-3783 18320,-3788 18324,-1788 18324,-1788 18329,-1784 18333,-1784 18334,-1781 18329,-1777 18334,-6777 18337,-6774 18339,-6776 18341,-6781 18341,-6779 18341,-6779 18343,-6779 18339,-6777 18343,-6782 18338,-6779 18341,-6778 18341,-6776 18336,-6776 18333,-6776 18333,-6780 18338,-6784 18338,-6787 18335,-6786 18336,-6781 22336,-6781 22335,-6778 22331,-6777 22326,-6777 22331,-6777 22335,-6772 22335,-6774 22340,-6769 22341,-6767 22337,-6767 22335,-6767 22335,-6767 22333,-6767 22336,-6762 22331,-6759 22331,-6764 22332,-6765 22334,-6767 22339,-6762 22334,-6760 22334,-6760 22334,-6758 22337,-6754 22341,-6754 22342,-6750 22339,-4750 22343,-4747 22343,-4752 22343,-4751 22344,-4749 22345,-4745 22348,-4740 22353,-4736 22358,-4738 22363,-4740 22358,21336 41527,21334 41527,21330 41526,21330 41526,21333 41529,21328 41529,21329 41530,21326 41532,21328 41532,21324 41537,21328 41532,21330 41535,21334 41532,21336 40532,21334 40536,21339 40534,21341 40534,21344 40534,21346 40532,21350 40532,21353 40535,21357 40539,21359 40542,21360 40546,21355 40546,21360 40547,21359 40550,21356 40551,21356 40550,21357 40550,21361 40554,21358 45554,21362 45556,21366 45553,21370 45557,21374 45556,21377 45553,22377 45549,22382 45549,22382 45552,22386 45557,22387 45557,22388 45553,22392 45557,24392 45561,22392 45558,22397 45561,22399 45558,22398 45561,22400 45564,22400 45569,22404 45573,22406 45577,22406 45581,22404 45581,22407 45582,22409 45579,22409 45575,22409 45579,22407 45579,22402 45582,22402 45582,22404 45587,22406 45587,22406 45589,22411 45589,22413 45590,22417 45591,22417 45592,22422 45587,22425 45583,22428 50583,22428 50585,22428 50585,22430 50588,22435 50590,22435 50585,22435 50590,22439 50595,22440 50590,22445 50587,22442 50584,22442 50586,22443 54586,22443 54590,22446 54595,22448 54597,22448 59597,22444 59593,22449 59596,22449 59599,22452 59600,22457 59600,22458 59605,22457 59602,22462 59603,22463 59604,22461 59605,22458 59602,22457 59601,22457 59601,22455 59605,25455 59606,25457 59611,25462 59613,25464 59614,25467 59617,25472 59612,25476 59613,25478 59610,25482 59615,25482 59616,25486 59612,25483 59614,25487 59619,25492 59623,25497 59625,146 2252,150 2249,150 2249,152 2254,157 2249,158 2253,157 2252,161 2255,159 3255,161 3258,161 3255,163 3255,168 3259,168 3259,172 3263,167 3267,172 3271,172 3272,172 3274,175 3278,179 3282,181 3283,184 3280,185 3282,187 3282,191 3284,192 3286,191 6286,193 6289,198 6285,195 6290,194 6289,195 6289,199 6293,200 6288,198 6290,202 6291,207 6296,212 6301,215 6301,216 6301,211 6304,212 6304,216 6309,216 6304,214 6308,213 6308,211 6305,212 6309,217 6314,220 6317,224 6322,222 6327,220 6323,41573 39712,41572 39709,41576 40709,41580 40714,41576 40717,36576 40717,36577 40719,36582 40716,36585 40721,36590 43721,36585 43721,36582 43724,36585 43729,36590 43731,36590 43730,15289 11307,15285 11312,15286 11315,15289 11315,15294 11315,15295 11316,15296 13316,38742 37646,38743 37650,38745 37655,38744 37658,38739 37659,38737 37662,38742 37662,38745 37657,38748 37662,38748 37662,38752 37667,38753 37667,38748 37669,38748 37668,38752 37673,38754 37674,38756 37676,38758 37674,38760 37679,38760 37675,38758 37675,38763 37675,38767 37674,38772 40674,38767 40679,38772 40683,38774 44683,38778 44686,38780 44690,38780 44690,38779 44695,38782 44700,38780 44695,38775 44696,38775 44696,38775 44696,38779 44699,38783 44696,38784 44696,38786 44692,38786 44692,38786 44696,38791 44698,38793 44699,38795 44703,38800 44708,38803 44708,38807 44709,38802 44706,38806 44708,38809 44709,36809 44709,36814 44704,36813 44705,36814 44705,36816 44709,36811 44712,36812 48712,36811 48717,36815 48721,36816 51721,36818 51717,36822 51720,40822 51715,40827 51712,40830 51716,40829 51719,40832 51723,40835 51724,40840 51721,40841 51721,40836 51725,40841 51730,40846 51734,40848 51738,40849 51740,40851 51743,40854 51745,40855 51746,40857 51750,40857 51746,40861 51748,40866 51751,40862 51750,40866 51750,40869 51752,40865 51752,40863 51755,40858 51757,40855 51753,40855 51758,40852 51758,40853 51760,40857 51761,40855 51757,40852 51760,40853 51761,40855 51762,40858 51757,40859 51756,40863 51757,40863 51759,40860 51764,40859 51764,40854 51768,40850 51765,40852 51767,40852 51767,40848 51772,40852 51776,40854 51778,40852 51778,43852 51778,43854 52778,43856 52781,43859 52781,43859 52776,37512 26536,37517 26531,37520 26535,37520 26540,37522 26544,37527 26544,37532 26549,37537 26544,37540 26549,37545 26544,37549 26547,37549 26550,37548 26551,37549 26553,37546 26553,37546 26553,37549 26556,37549 26559,37552 26559,37556 26564,37560 26559,37561 26561,37565 26565,41565 26565,41569 26568,41571 26573,41571 26573,41576 29573,41571 29573,41573 29576,41573 29578,46573 29578,46569 29582,45569 29583,45572 29583,45568 29583,45573 29581,45575 29578,45571 29581,45572 29584,45572 29585,45576 29585,45578 29588,45581 29591,45582 29593,45582 29598,45584 29597,45589 29600,45585 29605,45589 33605,45593 36605,45594 36607,45599 36609,45600 36604,45604 36604,45604 36608,45604 36607,45608 36610,50608 36613,50611 36609,50614 36609,50619 36605,50624 36605,50625 36606,50625 36605,50629 36606,50624 36608,50625 36610,50626 36610,50629 36608,50627 36610,50628 36614,50632 36618,46632 34618,46632 35618,46636 35622,46636 35617,46637 35620,46639 35619,46643 35620,46645 35625,46643 35630,46648 35635,46648 35640,46649 35643,46651 35647,46655 35650,46652 35655,46657 35656,46658 35657,46662 35660,46659 35663,46662 35664,46665 35663,46667 35667,46667 35663,46670 35666,46672 35671,46674 35671,47674 35668,47676 35672,47677 35673,47677 35678,47677 35677,47677 35677,47677 35682,47672 35683,47671 35683,49671 35685,49674 35689,49677 35692,49675 35692,54675 35697,54678 35699,54674 35699,54670 35701,54670 35700,54675 35703,54676 34703,54676 34703,54679 34706,54683 34708,54688 34706,54688 34707,54685 34702,54687 34702,54692 34707,54687 36707,54687 36706,54682 36707,54685 38707,54680 38710,54680 38714,54677 38714,54679 38719,54682 38720,54687 38716,54688 38717,54692 38722,54697 38726,54699 38727,54700 38724,54702 38720,52702 38719,52702 38719,52702 38721,52702 38725,52704 38726,52706 38728,52707 38729,52711 38728,52711 35728,52713 35733,52712 35737,52712 35739,52713 35742,52713 35745,52708 35745,52710 39745,52713 39749,52716 39748,52721 39749,52720 39753,52716 39756,52716 40756,47716 40757,47717 40761,47722 40761,47722 40761,47722 40766,47726 40769,47728 40772,47733 40777,47731 40773,50731 40777,51731 40779,51733 40782,51734 40786,51737 40784,51741 41784,51739 41783,51739 41785,51739 41785,51736 41789,51731 41789,52731 41790,52735 41791,52738 41790,52742 41789,52746 41785,52747 41785,52745 41785,52750 41782,52753 41786,52753 41787,52758 41792,52754 42792,52749 42793,52752 42794,52756 42791,52757 42790,52762 42793,52766 42797,52766 42797,52769 42802,52774 42806,52774 42805,52771 42807,52774 42807,52770 42808,52771 42811,52767 42811,52766 42812,52767 42817,52771 42817,52771 42817,52775 42815,52779 42811,52779 42812,52780 42815,52776 42818,52774 42818,52777 42822,52780 42823,52781 42827,52776 42829,52780 42832,54780 42835,54780 42840,2135 11201,2140 11203,2137 11204,2140 11209,2142 11213,2147 11211,2145 11213,2145 11213,2150 11218,2150 11221,2153 11225,2157 13225,2162 13228,2167 13231,2171 13232,2167 13229,2168 13233,2171 13237,2173 13239,2168 13234,2168 13235,2173 13235,2175 13234,2177 13235,2177 13234,2179 13229,2179 13226,2180 13226,2177 13226,2177 13231,2180 13231,2181 10231,2176 10233,2177 10232,2180 10235,2185 10237,2182 10240,6182 10240,6184 10244,6182 10242,6183 10243,6185 10246,6190 10244,6194 10244,6194 10247,6192 10247,6192 10252,6195 10256,6194 10260,6195 9260,6195 9260,6195 9264,6199 9269,6204 9272,6199 9268,6201 9268,6203 9265,6208 9268,6204 9270,6204 9275,6201 9279,6201 9281,6201 9286,6206 9281,6206 9277,6202 9281,6200 9285,6202 9288,6198 9290,7198 9293,7200 9297,7201 9297,7205 9298,7209 9298,7209 9299,8209 9302,8214 10302,8218 10306,8222 10308,8226 10313,8231 10313,8235 10318,8237 10318,8237 10323,8233 10326,8233 10327,8237 10325,8238 10328,8238 10330,8234 10330,11234 10332,11236 10333,11241 10337,14241 10338,14240 10338,14237 10339,14238 10337,14237 10339,14242 10339,14246 10339,14250 10339,14250 10339,14251 10337,14254 10337,14256 10334,14256 10332,14252 10336,14255 10340,14259 10342,14262 10347,11148 3159,11153 3163,11154 3162,11154 3165,11158 3167,11161 3172,11162 3175,11162 3176,11166 3179,11166 3181,11171 3185,11176 3180,11178 3179,11176 3181,11179 3183,11174 3182,52776 42818,52778 42822,52777 42822,52782 42817,52783 42822,52784 42823,52789 42826,52789 42823,56789 42828,56786 42829,56786 42832,56789 42836,56789 42835,56785 42838,56786 42843,51786 42844,51788 42846,51790 42847,51794 42842,51796 42842,51801 42846,53801 42849,53806 42849,53809 42852,53812 42850,53817 42846,53817 42848,53818 42853,53822 42856,53823 42854,53826 42858,53825 42860,53826 42860,53826 42864,53830 42868,53835 42873,53839 42873,53841 42872,53841 42876,53841 42879,53841 42884,53836 42888,53836 42889,53836 44889,53833 44889,53835 44893,53838 44897,53842 44897,53844 44900,53844 44904,53845 44905,53850 44903,53853 44904,53858 44906,53856 44907,53861 44909,53856 44913,53858 44916,53863 44916,53868 44918,53867 43918,53869 43921,53869 43919,53867 43919,53862 43918,53860 43923,53864 43928,53869 43930,53874 43933,53874 43932,53874 43932,53875 43930,53877 43928,53878 43924,53883 43927,55883 43929,55883 43925,55879 43929,55881 43929,55884 43928,55881 43928,55882 43929,55883 45929,55883 45933,55883 45936,55884 45941,55884 45941,55886 45946,55882 45948,55883 45952,55888 45956,55890 45957,55894 45953,55892 45954,55897 45950,55893 45954,55896 45956,55892 45955,55897 45959,55899 45961,55899 45961,55894 45962,55898 45957,55893 49957,55896 47957,55894 47956,55898 47960,55901 47964,55901 47967,55901 47970,55896 47973,55898 47969,55894 47974,55895 47975,55891 47976,55896 47979,55899 47984,55902 47983,55897 47987,55899 47989,55904 47992,55904 47993,55905 47997,55902 48001,55902 48003,55907 48000,55910 47998,55915 47999,55911 47994,55906 47998,55910 48003,55914 48000,55918 48000,55914 48000,55919 48000,55921 48003,55921 48007,55924 48007,55919 48010,55922 48005,55927 48009,55928 48008,55928 48008,55930 48012,55925 48012,55925 48016,54925 48014,54922 48018,54922 44018,54926 44013,54929 44012,54932 44016,55932 44017,55935 44017,55936 44020,55937 44022,55936 44020,55939 44015,55944 44018,55945 44022,55947 44023,55950 44024,55953 44020,55956 44023,53867 43919,53871 43921,52871 43921,53871 43923,53876 43923,53881 43923,53880 43927,53882 43931,53886 43936,53884 43937,53879 43934,53879 43937,53877 43939,53878 43938,53879 43942,53880 43947,53881 43948,53884 45948,53884 45949,53882 45953,53883 45954,53878 45956,53880 45953,53885 45958,53885 45958,53886 45957,53886 48957,53886 48962,53891 48962,53892 48964,53897 48965,49897 48962,49902 48965,49906 48967,49902 48967,49904 48971,49901 48967,49904 48970,54904 48971,54904 48971,54904 48975,54909 48979,54907 48975,54910 48975,54906 48971,54909 48973,54911 48975,54915 48978,54920 48978,54923 48981,54918 48984,54921 48984,56921 48984,56926 48986,56924 48981,56929 48980,56932 48979,56932 48977,56936 48979,56937 48981,56937 48982,61937 48984,61937 48980,61934 51980,61935 51981,61935 51984,61935 51984,61931 51986,5329 23395,5331 23395,5333 23390,5337 23392,5340 23395,5345 27395,5345 27397,5350 27398,5355 27399,5356 27402,6356 27405,6360 27407,6361 27406,6364 27402,6366 26402,6371 26402,6371 26402,6372 26405,6370 26405,6375 26406,6380 26411,6385 26413,6387 26414,6388 26419,6390 26419,6391 26424,6393 30424,6390 30429,6390 30432,6390 30430,6394 30434,6394 30437,6394 30441,6396 30442,6398 30439,6399 30436,6404 30435,6405 30435,6400 30435,6405 30440,6404 30443,6405 30447,6409 30447,6411 30447,6412 30448,6417 30446,6421 30450,6418 30448,6417 30444,6418 30449,6420 30451,6425 30456,6426 30456,6425 30458,6426 30458,6426 34458,6427 34459,6432 39459,6434 39462,6434 39467,6439 39470,6443 39467,6444 39468,6449 39473,6451 39476,6452 39481,6452 39479,6452 39476,8452 39476,8456 39478,8460 39480,10460 39482,10455 39482,10456 39484,10460 39484,10463 39484,10468 39486,10473 39482,10475 39484,10475 39486,10476 39488,10477 39492,10475 39494,10480 39499,10476 39501,10479 39506,10480 39510,10475 39508,10480 39513,10481 39516,10481 39516,10485 39521,10487 39522,10490 39523,10490 39520,10493 39520,10496 44520,10491 44519,10491 44524,10492 44520,10497 44525,10499 44525,10502 44527,10500 44531,10502 44535,10506 44535,10511 44532,13511 44536,13513 44533,13510 44535,13507 44540,13511 44543,13515 44548,13517 44549,13522 44550,13525 42550,13520 42551,13522 42553,13525 42552,13529 42557,13529 42558,13524 42559,13525 42559,13525 42562,13520 42564,13523 42567,15523 42569,15523 42572,15524 42577,15529 42577,15530 42582,15532 42584,15532 42588,15531 42587,15531 42592,15530 42587,15530 42583,15533 42583,15536 47583,15532 47583,15535 47587,15534 47590,15536 47594,11536 47590,11533 47590,11529 47590,11533 47592,11533 47592,11533 47593,11537 47598,11538 47603,11538 47603,11538 47605,11541 47609,11544 47613,14544 47614,14539 47610,14537 47610,14537 47614,14535 50614,14537 50619,14539 50619,14540 50623,14538 50623,14537 50619,25599 26540,25599 26541,25599 26544,25594 26542,25599 26543,25596 26544,25597 26543,25598 26543,25593 26544,25588 26542,25593 26545,25595 26544,25596 26544,25599 26541,25594 26544,25592 26549,25593 26548,25597 26549,25596 26550,25594 26551,25590 26550,25594 26554,25597 26550,25598 26552,25593 26555,25598 22555,25599 22557,25604 22559,25605 22558,25606 22562,25605 22559,25605 22564,30605 22569,30610 22571,30610 22575,30609 22575,30609 22576,30609 22581,30605 22581,30610 22583,30610 22584,30613 22579,30613 22581,30616 22577,30619 22577,30621 22580,30621 22585,30626 22590,30628 22593,30629 22598,30626 22603,30628 22606,30629 22607,30629 22604,30627 22606,30632 22608,30633 22608,30636 22612,30641 17612,30642 17614,30647 17614,30651 17615,30654 17610,30655 17607,30658 17611,30653 17610,30654 17606,30654 17607,30659 17606,30660 17611,30658 17616,30659 17616,30664 17619,30665 17621,30665 17620,30667 17621,30671 17624,30673 17624,30673 17624,30678 17627,30675 17632,30675 17635,30678 17640,30681 17643,30686 17639,30691 17641,30696 19641,30699 19640,30700 19640,30696 19645,30698 19643,30699 19645,30702 19646,30703 19649,30699 19651,30704 19648,30706 19652,30709 19653,30709 19655,30709 19655,30712 19657,30708 19658,30705 19660,30700 19662,30701 19663,30706 19664,30711 19663,30707 19667,30704 19670,30708 19672,30709 19673,30711 19673,30711 19674,30713 19678,30718 19682,30723 20682,30721 20686,30725 20691,30726 20693,30729 20695,30728 20690,30730 20692,30733 20694,30736 20692,30736 20691,30740 20694,30741 20695,30741 20697,30746 20700,30747 20702,30750 20701,30751 20698,30753 24698,30749 24701,30748 24703,30746 24704,30747 29704,30747 29705,30749 29707,30752 29712,30757 29712,30760 34712,30760 34716,30763 34716,30759 34713,30759 34717,30763 34717,30758 34717,30757 34721,30760 34726,30758 34726,30763 34727,30763 34727,30764 34727,30759 34729,30759 34732,30762 34734,30757 34735,30761 34736,30759 34736,30762 34738,30757 34733,30760 34735,30762 34737,30760 34736,30765 34733,32765 34737,32768 34737,32765 34740,32765 34742,32768 34747,32772 34751,32772 34752,32777 34749,32782 34751,32783 33751,32783 33746,36783 33749,36783 33754,36786 33756,36787 33755,36787 33758,36791 33754,36796 33754,36801 33756,36801 33758,36801 33762,36802 33765,36802 33765,36806 33770,33806 33772,33806 33777,33809 33777,33814 33780,33814 33785,33818 33782,33821 33784,33826 33781,33822 33781,33824 33783,33822 33784,33826 33787,33823 33792,33827 33795,33828 33798,33829 33799,33833 33801,33833 33801,33836 33805,33839 33809,33842 33805,33847 33810,33845 32810,33847 32808,33849 32812,33851 32815,33849 32818,33849 32822,33847 32822,33847 32826,33850 32831,33854 32836,33857 32833,33856 32828,33859 32829,33860 32832,33857 32834,33857 32830,33855 32830,33857 32830,33855 32834,33859 32829,33859 32833,33862 32836,33864 32837,33864 32839,33866 32837,33869 32835,33872 32840,33874 37840,33879 37845,33881 37850,33881 37855,33886 37856,33891 37860,33896 37860,33893 37863,33894 38863,33896 38859,28896 38864,28899 39864,33899 39869,33896 39871,33898 39875,33902 39873,33902 39875,33907 39879,33912 39884,33908 39887,33908 39888,33905 39890,33909 39895,33911 39896,33908 39900,33912 39901,33915 39902,33915 39902,33915 39902,33910 39907,33910 39904,33914 39903,33912 39906,33916 39909,33920 39909,33922 39912,33923 39916,33928 39916,33931 39918,33932 39919,33935 39915,33936 39912,33934 39909,35934 39914,35931 39915,35935 39917,35939 39920,35939 39915,35940 39911,35944 39916,35944 39911,35944 39908,35945 39904,35945 39908,35945 39912,35950 39915,35955 39917,38955 39916,38960 39921,38962 39920,38962 39920,38967 39922,38967 39924,38970 39928,38975 39928,38973 39928,38977 39931,38980 39934,38984 39936,38982 39939,38983 39942,38985 39943,38987 39945,38992 41945,38988 41950,38989 41954,38992 41958,38992 41962,38992 41965,38993 41970,38997 41970,38997 41970,38994 41974,38994 41979,38997 41979,38999 41982,38994 41980,38998 41985,38998 41984,5334 23406,5330 23406,5325 23403,9325 23404,12325 23408,12325 23408,12322 23406,13322 23411,13325 23416,13326 23412,13322 23414,13327 23419,13328 23422,13329 23425,13333 23422,13337 23424,23491 35549,23490 35544,23494 35546,23499 35548,23495 35549,21495 35553,21490 35556,21492 35558,21492 35556,21494 35559,21494 35564,21494 35566,21499 35566,21502 35562,21502 35567,17502 35568,17506 35573,17507 35574,17511 35578,17512 35583,17513 35588,18513 35591,18514 35592,18515 35594,18513 35596,16513 35601,16513 37601,16513 37602,16511 37604,16513 37609,16514 37611,16518 37616,16522 34616,16524 34613,16528 34615,16528 34620,16533 34624,16535 34627,16538 34628,16539 34630,16539 34631,16542 34628,16542 34633,16544 34638,16547 38638,16547 38640,16543 38645,16543 38640,16540 38640,16543 38640,16542 38641,16546 38646,16541 38649,16541 38645,18541 38648,18544 38648,18544 38653,18544 38656,18549 38651,18547 38651,18550 38656,18547 38658,23547 38663,23544 38664,23548 38668,23548 38670,28548 38672,28549 38669,28549 38673,28545 38669,28549 38670,28554 38670,28557 38674,28560 38669,28562 38674,28562 38669,28561 38669,28564 38671,28569 38671,38779 44699,38780 44695,38778 44698,38783 44700,38785 44700,38781 44701,38782 44696,38786 44691,38789 44692,38794 44692,38799 44688,38799 44693,38803 44697,38808 44697,38806 44697,38806 44700,38803 44702,38803 44706,38802 44707,38807 48707,38808 48707,38806 48707,38810 48712,38810 48709,38810 48711,38810 48711,38806 48707,38802 48710,38803 48706,38805 48711,38810 48711,38805 48709,38809 48710,38809 48710,38814 48707,38815 48703,38816 48703,38816 48704,38820 48704,38822 48709,38820 48710,38818 48714,38822 48716,38822 48719,38827 48722,38828 48727,38832 48725,38830 48730,38831 48726,38832 48724,38829 48728,8431 35532,8431 35537,4431 35532,4434 35537,4438 35537,4439 35533,4443 35535,4442 35530,4445 35527,4449 35527,4453 35530,4458 35530,4459 39530,4460 39531,4461 39531,4464 39531,4468 39531,4470 39534,4465 39534,4465 39532,4469 39532,4471 39537,4466 39538,4470 39539,4473 39540,4476 39540,4480 39543,4485 39548,4483 39546,4484 39547,4484 39549,4484 39551,4486 39553,4486 39554,4487 39551,4483 39553,4486 39554,4490 39556,4493 39557,4498 39561,4494 39562,-4749 22345,-4752 22345,-4748 22348,-4744 22351,-4740 22356,-4741 22358,-4739 22361,-4734 22359,-4730 25359,-4730 25360,-4725 25360,-4727 25360,-4727 25361,-6727 25360,-6729 25365,-6730 25365,-6727 25365,-6731 25364,-6730 27364,-6727 27366,-6723 27367,-3723 27363,-3719 27368,-3720 27371,-3718 27366,-3717 27369,-3716 27369,-3714 27372,-3711 27370,-3712 27371,-3712 27370,-3710 27375,-3708 27377,-3707 27382,-3706 27385,-3706 27389,-3705 32389,-3704 32392,-3704 32392,-3699 32391,-3699 32395,-3694 32399,-3694 32400,-3695 32404,-3695 32408,-3693 32410,-3693 32410,-3697 32410,-3692 32413,-3691 32418,-3686 32420,-3683 32425,-3681 32420,-3678 32424,-3673 32424,-3676 32427,-3673 32426,-3671 32426,-3676 33426,-3678 33428,-3676 33428,-3679 33428,-3679 33433,-3677 33434,-3676 33438,-3681 33440,1319 33444,1321 33441,1325 33444,1329 33439,1326 33444,1326 33439,1327 33439,1327 33440,1332 33444,1333 33449,1338 33453,1338 33450,1343 33450,1347 33454,1346 33457,1346 33455,1342 33459,1341 33462,1346 33462,1347 33463,1343 33463,1344 33462,1348 33457,1347 33460,1352 33464,1356 33468,1361 33469,1363 33468,1365 33469,1368 33472,1369 33475,-2631 33478,-2633 33483,-2629 33486,-2632 34486,-2628 36486,-2625 36488,-2621 36488,-2624 36488,-2622 36492,-2624 36491,-2629 36491,-2627 36496,-2623 36499,-2628 36502,-2631 36506,-2626 36506,-2622 36506,-2622 36509,-2619 36514,-2624 36512,-2621 36510,-2619 36510,-2619 36508,-2617 36512,-2615 36512,-2615 36513,-2615 36511,-2615 36506,-2612 36507,-2609 36511,-2606 37511,-2606 37508,-2610 37505,-2607 37508,-2602 37512,-2599 37512,-2595 37510,-2597 37511,-2592 37515,-2597 37514,-2592 37519,-2592 37524,-2592 37526,-2594 37521,-2594 37516,-2591 36516,-2588 36517,-2589 36513,-2586 36514,-2584 36514,-2583 36516,-2579 36514,-2578 36518,-2578 35518,-2575 35519,-2577 35519,-2578 35524,-2578 35529,-2578 35532,-2578 35534,-2580 35537,-2584 35541,-2586 35542,-2587 35544,-2585 35540,-2585 35544,-2584 35543,-2580 35548,-2576 35550,-2571 35553,-2567 35555,-2565 35560,-2560 35560,-2557 35564,-2553 35564,-5553 36564,-5548 36564,-5544 36565,-5547 36565,-5545 36570,-5542 36565,-5543 36566,-5543 36568,-5543 36570,-5540 36575,-5537 36577,-5535 36581,-5532 36580,-5528 36575,-5526 38575,-5526 38576,-5526 38571,-5522 38571,-5518 38576,-5514 42576,-5510 42581,-5512 42583,-5512 42582,-5507 42582,-5510 42585,-2510 42589,-2511 42592,-2508 42594,-2506 42597,-2503 42598,-2503 42603,-2498 42608,-2501 42611,-2500 42616,-2502 42613,-2502 42616,-4502 42616,-4502 42620,-4502 42622,-4506 42619,-4509 42621,-4511 42624,-4515 42625,-4510 42625,-4507 42628,-4502 42624,-4501 42629,-4505 45629,-4503 45630,-4499 45631,-4496 45630,-4497 45628,-4495 45630,-4494 46630,-4491 46634,-4487 46629,-4483 46631,21336 40532,21341 40533,21346 40534,21346 40536,21345 40536,21346 40536,21345 40536,21344 40538,21347 40543,21348 40543,21351 40540,21351 40542,21348 40545,21351 40546,21352 40546,21353 40546,21358 40546,21359 40545,21359 40550,21357 40555,21362 40560,21364 40555,21363 40555,21364 40560,25364 40564,25365 40566,25368 40566,25371 45566,25372 45567,25372 45562,25376 45564,25381 42564,25385 42560,25389 42564,25389 42568,25393 42572,25390 42572,28390 42569,28389 42570,28385 42574,28386 42576,28389 42577,31389 42578,31385 42582,31387 42582,31390 42578,31391 42579,31392 42576,29392 42580,29396 42582,29398 43582,29402 43584,29406 43585,29407 43587,29411 43592,29413 43594,29414 43595,25414 43600,25412 43595,25415 43599,25420 43602,25418 43604,25423 43599,25426 43599,25429 43602,25434 42602,25429 42604,25432 42600,25435 42605,25436 47605,25440 50605,25441 50610,25439 50614,25444 50617,25447 50621,25444 50624,25444 50626,25445 50627,25450 50632,25450 50628,25451 50630,25451 50632,25454 50633,25458 50637,25462 50641,25463 50640,25463 51640,25467 51644,25469 51649,25473 51650,25474 51653,25475 51654,26475 51658,26475 51662,26474 51665,26476 51665,26481 51661,26483 55661,26485 55664,30485 55667,30485 55670,30489 55671,30489 55668,30491 55670,30492 55670,30493 55675,30497 55675,30501 55671,30503 55676,30500 55677,30498 55672,30494 55675,30499 55676,30500 55676,30505 55681,30501 55684,30496 55685,30500 55685,30502 55687,30506 55692,30507 55693,30506 55692,30511 55693,30516 55694,30514 55699,30514 55701,30512 55701,34512 55705,34516 55708,34520 55704,34518 56704,34519 56704,34520 56706,34517 56706,34515 56701,34519 59701,34522 59706,34522 59708,34522 59713,34526 59715,34528 59717,34533 59712,34538 59715,34538 59717,34541 59717,34546 59720,34548 59721,34552 63721,34547 63726,34549 63728,34554 63726,34556 63726,34557 63721,34556 63725,34561 63730,34558 63730,37558 63725,37561 63729,37565 63724,37569 63720,37573 63718,37578 63722,37577 63718,37579 63720,37579 63722,37580 63719,37580 63720,37579 63724,37574 63725,37574 63727,37576 63725,37581 63729,37583 63732,37586 63732,37590 63737,37592 63734,37597 63731,37600 63730,37596 63731,37596 63733,37600 63733,37601 63735,37596 63735,37591 63732,37596 63733,37601 63738,37602 63733,37599 63738,37594 63740,37598 63744,37603 63745,37605 63747,37607 63752,37607 63756,37603 63757,37603 63761,37604 63761,37608 63758,37609 63762,37604 63764,37604 63764,41604 63765,41600 63761,41599 63761,41600 63766,41596 63766,41599 63766,41601 63770,41604 63768,41608 63768,41611 63772,41614 63767,41609 63763,41612 63765,41615 63760,38615 63764,38615 63768,38618 63768,35618 63769,35618 63774,35617 63775,35618 63776,35613 63775,35615 63780,35612 63782,35613 63779,35614 63775,35618 63774,35619 63776,35624 63778,35624 63780,35629 63785,35629 63780,35626 63781,35624 63782,35629 63784,35634 63787,35638 63782,35634 63783,35634 63778,35633 63777,35638 63782,35641 63786,35644 63791,35648 63793,35647 63793,35649 63797,35653 63801,35654 63804,35654 63804,35656 63804,35655 63806,35658 63810,35658 63805,35662 63805,35657 67805,35658 67808,35660 67811,35664 67808,35660 67803,35658 67803,35661 67803,35663 67808,35666 67810,35670 67814,35669 67813,35669 67816,37669 67820,37664 67820,2275 13363,2278 16363,2274 16363,2275 16362,2279 16362,2282 16362,2287 16366,2284 16366,4284 16366,4286 16371,4290 16375,4294 18375,4295 18377,9295 18381,9296 18381,9299 18382,9303 18379,9305 19379,9308 19375,8308 19380,8312 19380,38746 37651,38749 37652,38754 37653,38757 37656,38753 37661,38753 37661,38758 37663,38763 37664,38763 42664,38768 42666,38765 42668,38770 42664,38767 42659,38768 42659,38773 42654,38771 42659,38775 42661,41775 42663,41778 42665,41781 42669,41782 42667,41779 42669,41784 42672,41781 42672,41783 42672,41780 42672,41783 42675,41784 42675,41788 42676,41792 42677,41792 42675,41793 42680,41793 42676,41796 42681,41801 42685,41804 42684,41806 42685,41804 42690,41802 42692,41805 42696,41800 42697,41802 42698,41804 42700,41809 42704,41813 42705,36813 42708,36813 42704,36810 42703,36811 42705,40811 42706,40815 46706,40816 46708,40820 46708,40818 46712,40822 46717,40825 46720,40829 46724,40827 46727,40831 46727,40833 46731,40829 46733,40830 46733,36830 46738,36830 46741,36834 46744,36831 46749,36826 46748,36822 46748,36824 46751,36819 46755,36823 46758,36823 46762,36824 46766,36822 46769,36826 46772,36831 46774,36828 42774,36833 42776,36833 42777,36838 42782)'))); +INSERT INTO t1(g) VALUES (ST_linefromtext(concat('linestring','(20 110, 21 110, 26 115, 29 112, 34 108, 39 111, 44 111, 46 116, 46 120, 42 122, 45 118, 48 118, 44 122, 46 127, 47 127, 51 127, 55 123, 52 127, 52 128, 56 130, 60 129, 61 130, 66 131, 67 131, 71 135, 76 136, 77 139, 80 143, 2080 145, 2077 147, 2079 147, 2081 147, 2086 147, 2087 151, 2092 -1849, 2088 -1848, 2088 -1852, 2091 -1848, 2095 -1846, 2092 -1847, 2092 -1848, 2093 -1847, 2094 -1846, 2099 -1843, 2104 -1844, 2102 -1848, 2102 -1848, 7102 -1847, 7105 -1846, 7106 -1843, 7111 -1838, 67 131, 69 135, 68 135, 63 136, 63 137, 64 141, 67 1141, 2067 1139, 2063 1139, 2066 1139, 5066 1139, 5068 1139, 5072 1140, 5072 1145, 5073 1142, 5076 1145, 5077 1145, 5076 1141, 5078 1141, 5073 1143, 5068 1146, 5067 2146, 5070 2151, 5075 2155, 5071 2160, 5073 2161, 5074 2166, 5076 2169, 5071 2173, 5074 2173, 5078 2177, 5076 2173, 5080 2173, 5078 2174, 78 2179, 76 2183, 77 2188, 82 2192, 85 2194, 89 2193, 86 2197, 89 2193, 88 2194, 89 2199, 89 2204, 89 1204, 87 1206, 88 1203, 89 1204, 89 1205, 93 1210, 94 1208, 96 1208, 100 1210, 104 1212, 107 1215, 104 1220, 107 1224, 111 1228, 112 1228, 116 1229, 119 1228, 120 1233, 119 1236, 124 1241, 125 1240, 122 1239, 126 1241, 123 1240, 124 1244, 128 1248, 129 1250, 128 1253, 127 5253, 125 5255, 129 5255, 133 5255, 137 5260, 140 5261, 137 5261, 141 5261, 140 5262, 143 5264, 148 5264, 148 5264, 145 10264, 149 10269, 153 10274, 158 10270, 159 10273, 164 10277, 168 12277, 170 12278, 165 12274, 170 12279, 172 12281, 172 12281, -3828 12281, -3823 12281, -3822 12282, -3823 12280, -3823 12282, -3820 12281, -3823 12279, -3827 12282, -3826 12279, -3822 12284, -3825 12284, -3824 12286, -3820 12287, -3820 12290, -3818 12292, -3816 12293, -3814 12298, -3815 12301, -3817 12304, -3814 12301, -3811 12299, -3809 12303, -3809 12301, -3804 12302, -3804 12302, -3802 12305, -3799 12310, -3801 17310, -3801 17310, -3796 17310, -3801 17314, -3799 17318, -3796 17321, -3795 17321, -795 17325, -795 17327, -794 17329, -791 17330, -790 17326, -787 17331, -782 17335, -778 17339, -774 17343, -772 17343, -769 17346, -768 17349, -763 17352, -763 17353, -761 17357, -758 17354, -758 22354, -754 22350, -750 22353, -746 22356, -750 22352, -746 22351, -744 22349, -743 27349, -741 27350, 259 27354, 262 27353, 263 27356, 268 27352, 268 22352, 271 22351, 273 22351, 274 22351, 275 22352, 275 22356, 280 22352, 281 22348, 284 22349, 284 22346, 285 22351, 285 22351, 290 22353, 294 22351, 294 22352, 295 22352, 300 22352, 305 22355, 308 22356, 311 22356, 310 22358, 312 22360, 313 22365, 313 22362, 313 22364, 313 22364, 317 22360, 322 22362, 327 22367, 328 22370, 323 22375, 320 22377, 320 22379, 316 22379, 318 22379, 323 22380, 323 22380, 324 22376, 34 108, 38 113, 42 118, 42 117, 42 121, 46 123, 51 127, 51 130, 51 133, 55 137, 52 141, 52 143, 51 141, 50 142, 45 142, 44 143, 48 146, 48 142, 43 143, 47 145, 4047 5145, 4047 5150, 4044 5151, 4045 10151, 4043 10154, 4044 10156, 4047 10156, 4043 10160, 4043 10156, 4043 10156, 4048 10157, 4051 10160, 4048 10159, 4053 10161, 4057 10163, 4057 10164, 4058 10165, 4057 10170, 4056 10173, 4056 10176, 4056 15176, 4053 15180, 4049 15181, 4051 15178, 4049 15180, 4049 15180, 4048 15181, 4048 15184, 4045 15188, 4045 15191, 4040 15194, 4042 15198, 4042 15203, 4047 15200, 4049 15201, 4052 15204, 4052 15208, 4052 15212, 4049 15216, 4049 15219, 4051 15220, 4048 15222, 4044 15227, 4044 15232, 4044 15236, 4049 15239, 4052 15240, 4052 15243, 4053 15247, 4055 15247, 4052 17247, 4054 17247, 4054 18247, 4059 18251, 4063 18253, 4066 18253, 4069 20253, 4069 20254, 4069 20259, 4068 20263, 4068 20263, 4069 20259, 4071 20260, 4073 20262, 4074 20258, 4069 20261, 4069 20264, 4071 20269, 4067 20271, 4071 20270, 4072 20271, 4073 20268, 4076 20263, 4072 20268, 4075 20264, 4076 20267, 4079 20272, 4084 20275, 4086 20277, 4086 20281, 4083 18281, 4087 18283, 4088 18280, 4089 18277, 4089 18279, 4094 18281, 4095 18283, 4095 18284, 4097 18284, 4093 18287, 4094 18285, 4096 18287, 4092 18291, 4096 18291, 140 5261, 140 5259, 140 5262, -1860 5258, -1858 5260, -1854 5262, -1849 5259, -1848 5264, -1845 5264, -1845 5267, -1845 5262, -1848 5261, -1848 5263, -1849 5261, -1853 5262, -1851 5265, -1847 5265, -1847 5262, -1847 5263, -1843 5268, -1845 5268, -1848 5272, -1850 5270, -1851 5274, -1854 5269, -1850 5266, -1845 5267, -1840 5267, -1840 5264, -1840 5269, -1839 5269, -1842 5269, -1840 5274, -1835 5278, -1836 5283, -1841 5279, -1840 5284, -1836 5285, -1836 5289, -1831 5289, -1826 5292, -1822 5293, -1826 5295, -1829 5295, -1824 5295, -1828 5297, -1824 5300, -1820 5305, -1824 5306, -1824 5306, -1824 5306, -1823 5301, -1818 5303, -1814 5307, -1814 5303, -3809 12303, -3807 12306, -3804 12306, -3804 12306, -3801 12308, -3796 12308, -3795 12308, -3791 12310, -3786 12310, -3781 12313, -3814 12298, -3809 12303, -3807 12301, 7102 -1847, 7100 -1850, 7104 -1850, 7109 -1852, 7109 -1854, 7112 -1850, 7112 -1847, 7115 -1847, 7117 -1847, 7122 -1847, 7125 -1843, 7126 -1848, 7127 -1848, 7129 -1848, 7133 -1848, 7131 1152, 7131 1149, 7135 1154, 7139 1152, 7140 1151, 7145 1153, 7149 1158, 8149 1159, 8154 3159, 8149 3161, 8145 3162, 8146 3164, 8146 3168, 11146 3171, 11148 3171, 11150 3167, 11154 3165, 11150 3163, 11151 3167, 11152 3165, 11153 3170, 11156 3175, 11156 3174, 8146 3164, 8146 3167, 8146 3170, 8147 3170, 8148 3175, 8148 3178, 8146 3178, 8146 3178, 8147 3180, 8143 3184, 3143 3186, 7143 3187, 7143 7187, 7138 7189, 7138 7189, 7135 7191, 7138 7191, 7133 7194, 7138 7198, 7139 7201, 7143 7200, 7141 7203, 12141 7204, 12145 7204, 12145 7203, 12146 7207, 12147 7204, 12143 7204, 12138 7199, 12138 7195, 12139 7195, 12139 7200, 12141 7201, 12142 7201, 12139 7205, 12142 7208, 12142 7213, 12145 7213, 12147 7214, 12149 7218, 12150 9218, 12154 9222, 12151 9222, 12151 9225, 12151 9224, 12152 9226, 12155 10226, 12155 10230, 12158 10231, 12161 10227, 12162 10224, 12163 10229, 12163 10231, 12165 10228, 12165 10227, 12160 10228, 12160 10231, 12160 10235, 12157 12235, 12159 12230, 7138 7189, 7141 7193, 7141 7193, 7141 7192, 7139 7195, 7141 7195, 7142 7193, 7145 7195, 7146 7193, 7146 7194, 7151 7197, 7154 7198, 7156 7202, 7155 7207, 7150 7211, 12150 7213, 12148 7213, 12147 7217, 12142 7221, 12141 7223, 12143 7223, 12140 7222, 12145 7222, 13145 7224, 13142 7228, 13144 7232, 13139 7235, 13144 7239, 13148 7243, 13151 7247, 13150 7251, 13152 7252, 13157 7253, 13157 7257, 13157 7257, 13157 7262, 13159 7264, 13164 7259, 13161 7259, 13165 7262, 13166 7262, 13166 7267, 13169 7268, 13169 8268, 13167 8269, 13171 8269, 13173 13269, 13177 13265, 13178 13263, 13178 13263, 13182 13266, 13183 13266, 13185 13266, 13190 13269, 13193 13271, 13193 13269, 13196 13271, 13193 13273, 13194 13268, 13198 13273, 13200 13276, 13202 13276, 13204 13274, 13209 11274, 13213 11274, 13213 11277, 13215 11278, 13219 11279, 13224 11280, 13224 11276, 13228 11278, 13233 11281, 13235 11286, 13238 11288, 13240 11288, 13238 11290, 13238 11292, 13238 11287, 13238 11288, 13240 11293, 13243 11296, 13246 11296, 13247 11293, 13243 11298, 13246 11302, 13251 11305, 322 22362, 326 24362, 330 24362, 329 24367, 328 24363, 329 24365, 331 24369, 336 24371, -664 24371, -668 24372, 51 127, 48 131, 48 133, 51 135, 51 140, 49 139, 47 142, 3047 139, 3044 142, 3046 143, 3046 148, 3051 148, 3055 146, 3057 141, 3060 140, 3055 143, 3050 146, 7050 142, 7050 3142, 7050 3143, 7050 3144, 7052 3149, 7055 1149, 7052 1150, 7055 5150, 7050 5154, 7049 5150, 10049 5151, 10045 5151, 10049 5151, 10052 5156, 10054 5159, 10056 5160, 10058 5161, 10058 5163, 10060 5166, 10064 5168, 10064 5173, 10068 9173, 10070 9172, 10065 9168, 10065 9173, 10063 9175, 14063 9176, 14063 9178, 284 22346, 289 22351, 290 22351, 290 22347, 287 22343, 282 22342, 280 22345, 281 25345, 286 25347, 13243 11298, 13248 11300, 13245 11300, 13246 11295, 13247 11295, 13246 11295, 13248 11299, 13253 11304, 13255 11309, 13255 11310, 13260 11309, 13257 11310, 13258 11313, 13258 11315, 13263 11311, 13267 11307, 13269 11309, 13272 11305, 13277 11302, 13273 11304, 15273 11306, 15278 11310, 15281 11307, 15286 11309, 15288 11309, 15291 11311, 15292 11306, 15294 11309, 15298 11313, 15299 11317, 15300 11320, 15302 11321, 15306 11324, 15308 11328, 15308 11324, 15309 11324, 15314 11324, 15315 11323, 15319 11321, 15317 11325, 15319 11327, 15319 11332, 15321 11337, 15324 11340, 15324 11341, 15324 11341, 15326 11345, 15326 11349, 15327 14349, 15330 13349, 17330 13350, 17335 13353, 17339 13358, 17340 13362, 17344 13362, 17348 13357, 17350 13357, 17347 13357, 17350 13358, 17349 13358, 17349 13358, 17349 13359, 22349 13362, 22351 13359, 22353 13359, 22358 13358, 22360 13358, 22363 13359, 22364 13359, 22360 13359, 22361 13363, 22366 13368, 22371 13373, 22374 13377, 22378 13375, 22379 13375, 22379 13373, 22383 13378, 22388 13383, 22389 13380, 22389 13384, 22394 13382, 22392 13378, 22394 13382, 22393 13382, 22393 13379, 22394 13382, 22392 13384, 22395 13386, 22400 13391, 22400 10391, 22404 10395, 22401 10396, 22402 10396, 22402 10398, 22406 10395, 22405 15395, 22407 15396, 22409 15396, 22414 15391, 22414 15394, 22414 15398, 22410 15400, 26410 15402, 26409 20402, 26413 20406, 26417 20410, 26419 20415, 26422 20411, 26424 20411, 31424 16411, 31423 16409, 31423 16414, 31425 16414, 31428 16418, 31428 16414, 31432 16419, 31432 16422, 31437 16423, 31439 16424, 31440 16426, 31440 16429, 31440 16429, 31443 16431, 31441 16435, 31443 16440, 36443 16440, 36445 18440, 36444 18441, 36442 18444, 36442 18440, 36442 18444, 36444 18449, 36445 18450, 36449 18455, 37449 23455, 37454 23460, 37458 23459, 37460 23463, 37458 23465, 37460 23467, 37462 23470, 37466 23473, 37462 23478, 37464 23480, 37463 26480, 37468 26483, 37472 26487, 37473 26492, 37476 26493, 37476 26489, 37476 26487, 37476 26492, 37472 26496, 37476 26501, 37476 26503, 37480 26499, 37485 26503, 37485 26505, 37490 26500, 37493 26503, 37497 26499, 37502 26500, 37502 26501, 37502 26505, 37499 26503, 37499 26503, 37497 26508, 37500 26508, 37496 26513, 37499 26518, 37497 26519, 37500 26518, 37505 26518, 37510 26516, 37512 26520, 37513 26523, 37511 26527, 37508 26532, 37509 26536, 37514 26540, 37515 26542, 37512 26546, 37514 26548, 37519 26547, 37524 26550, 37529 26555, 37527 26559, 37531 26562, 37526 26567, 37526 26566, 37529 26566, 37524 26566, 37524 26563, 37528 26565, 37524 26563, 37525 26565, 37525 26560, 37526 26562, 40526 26564, 40526 26567, 40523 26571, 40527 26570, 40529 26572, 40534 26576, 40536 26573, 40535 26569, 40533 26569, 40537 26573, 40537 26574, 40541 26576, 40546 26579, 40545 26579, 40546 26583, 40550 26588, 40551 26585, 40555 26589, 40558 26594, 40554 22594, 40559 22598, 40558 22599, 40563 22596, 40563 22597, 40567 22597, 40570 22597, 40575 22592, 40572 22594, 40572 22595, 40572 22592, 40575 22594, 40575 22597, 40570 22597, 40569 22601, 40569 22603, 40573 22603, 40576 22604, 40576 22608, 42576 22611, 42579 22611, 42579 22616, 42581 22620, 38581 22623, 38582 22621, 38582 22618, 38577 22623, 38581 22623, 38581 18623, 38584 18618, 38584 18621, 38588 18626, 38592 18629, 38592 18626, 38596 18625, 38598 18620, 38599 18618, 38599 18622, 38602 21622, 38603 21622, 38607 21624, 38609 25624, 38613 25624, 38610 25621, 38610 25625, 38610 25629, 38613 25627, 38617 25627, 38617 25624, 38618 25626, 38621 25628, 38622 25629, 38622 26629, 38625 26631, 38625 26631, 313 22362, 313 22363, -1687 22364, 2313 27364, 2314 27364, 2314 27364, 2319 27366, 2319 27366, 2321 27363, 2321 27368, 2320 27363, 2323 27368, 2328 27371, 2327 27375, 2328 27377, 2328 27377, 2327 27381, 2331 27381, 2329 27381, 2332 27383, 2335 27383, 2333 27383, 2333 27385, 2338 27385, 6338 27386, 6338 27387, 40529 26572, 40533 26576, 40535 26578, 40540 26580, 40535 26584, 40540 26589, 40541 26592, 40538 26587, 40542 26591, 40541 26592, 40537 26597, 40542 26598, 40546 26601, 40550 26606, 40550 26605, 40551 26606, 40549 26606, 40550 26607, 40555 26610, 40550 26610, 40550 26607, 40553 26612, 40558 26616, 40561 26620, 40556 26623, 40558 26623, 40558 26627, 42558 26627, 42558 26628, 42562 26628, 42564 26630, 42565 26634, 42566 26634, 42566 26638, 42561 26639, 42564 26639, 42567 26641, 42564 26642, 42566 26646, 42566 26645, 42570 26645, 42574 26645, 42574 29645, 42576 29646, 39576 29645, 39576 34645, 39578 34647, 39583 34642, 39580 34642, 39576 34646, 39576 34649, 39574 35649, 34574 35652, 34579 35655, 39579 35659, 43579 35663, 43582 35659, 43577 35662, 43580 35662, 43583 35666, 43579 39666, 43574 39662, 43574 39665, 43574 39668, 43574 39670, 43578 39674, 43579 39671, 43582 39675, 43578 39677, 43575 39677, 43576 39681, 43571 39683, 43569 39683, 43570 39687, 43565 39690, 43568 39694, 43568 39696, 43570 39698, 43570 39699, 41570 39695, 41572 39696, 41573 39696, 41573 39697, 41573 39702, 41573 39702, 41576 39702, 41571 39702, 41572 39703, 41572 39708, 41574 39713, 41575 39716, 41580 39717, 41581 39721, 41586 39723, 41587 39724, -1848 5272, -1843 5272, -1845 5270, -1840 5272, -1838 5267, -1843 5268, -1841 5268, -1837 8268, -1837 8271, -1837 8276, -1836 8280, -1832 8277, -1832 8277, -1831 8278, -1835 8283, -1834 8287, -1832 8290, -1834 8286, -1832 8283, -1833 8283, -1832 8284, -1834 8287, -1839 8292, -1844 8293, -1841 8290, -1836 8290, -1839 8289, -1836 8289, -1832 8292, -1827 8295, -1823 8290, -1823 8293, -1823 8291, -1822 8295, -1820 8298, -1819 8302, -1816 8304, -1816 8300, -1812 8300, -1809 8299, -1806 8296, 1194 8300, 1194 8301, 1197 11301, 1194 11305, 1197 11309, 1199 11304, 1195 11304, 1195 11300, 1195 11297, 1196 11298, 1201 11296, 1206 11296, 1207 11298, 1212 11296, 1210 11292, 1206 11294, 1207 11293, 1209 8293, 1204 8288, 1206 8286, 1206 8285, 1208 8285, 1210 8285, 1214 8287, 1214 13287, 1215 13291, 1215 13294, 1218 13297, 1216 13293, 1219 13290, 1214 13295, 1210 13292, 1210 13296, 1211 13301, 1210 13300, 1206 13302, 1207 13307, 1211 13312, 1206 13312, 1211 13308, 1212 13308, 1216 13313, 1216 13318, 1217 13318, 1221 13318, 1221 13323, 1226 13324, 1231 13325, 1234 13329, 1235 13333, 1233 13333, 1236 13338, -2764 13340, -2767 13341, -2763 13344, -2760 13349, -2758 13346, 2242 13346, 2240 13346, 2244 13346, 2248 13349, 2248 13350, 2246 13352, 2241 13352, 2242 13355, 2242 13356, 2247 13361, 2250 13361, 2245 13366, 2249 13366, 2250 13366, 2254 13367, 2258 13367, 2258 13367, 2262 13371, 2257 13376, 2253 13373, 2253 13373, 2254 13376, 2251 13380, 2256 13382, 2257 13386, 2261 13383, 2264 13383, 2269 13385, 2264 13385, 2264 13387, 2267 13387, 2271 13389, 2272 13390, 2273 13393, 2269 13395, 2273 13390, 2277 13395, 2275 13396, 2277 13391, 2279 13394, 2276 13394, 2277 13398, 2282 13399, 2282 11399, 2283 14399, 2281 14404, 2279 14407, 2275 14410, 2276 16410, 2276 16414, 2281 16414, 2286 16415, 2282 16413, 2282 16413, 2284 16413, 2284 16415, 2284 16416, 2282 16417, 3282 16422, 3286 16422, 3287 16427, 3291 16427, 3294 16431, 3296 16433, 3298 16435, 3299 16440, 3300 16439, 3305 16439, 3307 16438, 3307 16440, 3307 16440, 3311 16441, 3311 16442, 3310 16443, 3310 16443, 3308 16448, 3304 16445, -1696 16441, -1701 16442, -1697 16442, -1695 16442, -1696 16443, -1693 16440, -1688 16445, -1685 16450, -1681 16454, -1680 16455, -1682 16457, -1680 16461, -1680 16461, -1684 16464, -1679 16463, -1678 16460, -1675 16464, -1679 16465, -1677 16468, -1672 16469, -1671 16473, -1667 16475, -1667 16480, -1663 16478, -1663 16482, -1662 16482, -1662 16483, -1659 16478, -1654 16475, -1653 11475, -1658 11477, -1661 11479, -1664 11484, 3336 15484, 3340 15480, 3344 15475, 3347 15475, 3347 15474, 3352 15473, 3349 15478, 3353 15480, 3354 15477, 3355 15480, 3352 15481, 3352 15483, 3353 15486, 3354 15488, 3353 15491, 3355 15491, 3360 15491, 3355 15490, 1219 13290, 1224 13295, 1224 13295, 1227 13290, 1231 13290, 1233 13285, 1237 13284, 1238 13285, 1243 13286, 1247 13289, 1249 13289, 1249 13291, 1252 13291, 1249 13294, 1249 13299, 1249 13302, 1254 13305, 1251 13308, 1254 13308, 3254 13308, 3249 13308, 3251 13312, 3256 13312, 3259 13312, 3263 17312, 3263 17313, 3263 17310, 3261 17309, 3264 17314, 3265 17312, 3264 17315, 3261 17318, 3261 17318, 3259 17313, 3256 17313, 3255 17313, 3257 17314, 3255 17316, 3257 17316, 3257 17316, 3258 17311, 3259 17311, 3258 17315, 3258 17317, 3257 17321, 3253 17321, 3250 17325, 3255 17329, 3258 17330, 3260 17328, 3260 17331, 3265 17326, 7265 17329, 7267 17332, 7265 17334, 7267 17337, 7272 17337, 7275 17337, 7280 17340, 4280 21340, 4280 21344, 4281 21344, 4283 21344, 4288 24344, 4292 24347, 9292 24351, 9296 24353, 9298 24351, 9300 25351, 9303 25352, 9303 25352, 9306 25357, 9305 25361, 9305 25356, 11305 25359, 11306 25362, 11309 25362, 11314 25362, 11314 25365, 11312 25369, 11315 25369, 11316 25373, 11321 25375, 11323 25375, 11327 25370, 11331 25369, 11332 25370, 11331 25374, 11332 25369, 11336 25371, 11340 25370, 11345 25367, 11350 25363, 11347 25360, 11350 25361, 11351 25362, 11351 25362, 11354 25364, 11358 30364, 11362 30369, 11362 30369, 11364 30369, 11369 30371, 11370 30373, 15370 30374, 15375 30375, 15378 30377, 14378 30382, 14379 30387, 14383 30382, 14388 30384, 14390 30386, 14393 30389, 14395 31389, 16395 31393, 16398 31398, 16398 31401, 16394 31404, 16397 31409, 16400 31413, 16400 31417, 16399 31419, 16398 31421, 16403 31422, 16403 31426, 16404 31423, 16409 31424, 16413 31423, 16408 31427, 18408 31431, 18413 31436, 18417 28436, 18419 28441, 18420 28445, 18416 28442, 18419 28439, 18418 28443, 18422 28446, 18425 28451, 18429 28448, 21429 28449, 21430 28454, 22430 28459, 22434 28461, 22438 28462, 22443 28462, 22447 28467, 22450 28472, 22453 28469, 22458 28472, 22455 28472, 22460 28475, 22465 28477, 22462 28479, 22461 28476, 22465 28480, 22466 28476, 22470 28472, 22470 28475, 25470 28470, 25473 28472, 25475 28468, 25475 28468, 25477 29468, 25478 29470, 25481 29465, 25478 29466, 25478 29468, 25480 29468, 25485 29465, 25486 29464, 25488 29462, 25488 29466, 25492 29464, 25497 26464, 25500 26467, 25497 26472, 25497 26476, 25497 26476, 25501 26478, 25506 26480, 25506 26482, 25511 26480, 25515 26483, 25516 26485, 25521 26481, 25521 26484, 25520 26485, 25521 26488, 25526 26487, 25529 26488, 25524 26488, 25528 26491, 25530 26496, 25535 26500, 25537 26502, 25537 26502, 25541 26507, 25544 26508, 25545 26509, 25549 26514, 25554 26514, 25553 26512, 25552 26516, 25555 26514, 25559 26514, 25556 26515, 25554 26512, 25558 26509, 25558 26510, 25562 26510, 25562 26511, 25562 26510, 25567 26505, 25569 26508, 25571 26508, 25570 26512, 25573 26512, 25573 26515, 25578 26515, 25583 26520, 25583 26523, 25584 26525, 25587 26526, 25590 26531, 25590 26530, 25586 26534, 25589 26538, 25591 26533, 25595 26537, 25600 26542, 25601 26544, 25601 26544, 25601 26544, 25606 26547, 25605 26547, 25605 26542, 25608 26542, 25611 26544, 25613 26546, 25614 26551, 25614 26551, 25614 26552, 25619 25552, 25614 25552, 25615 25551, 25618 25549, 25618 25553, 25620 25555, 25622 25559, 25622 25555, 25624 25554, 25627 25555, 25624 25559, 25621 25561, 25619 25560, 25624 28560, 25627 28555, 25632 28550, 25636 28552, 25641 28557, 25645 28557, 25640 25557, 25636 25557, 25636 25561, 25641 25561, 25645 25562, 25646 25557, 25648 25560, 25649 25564, 25652 25566, 25652 30566, 25652 30566, 25652 30568, 25652 30570, 25654 30574, 25658 30575, 25663 31575, 25664 31579, 25665 31583, 25664 31583, 25667 31585, 25668 31588, 25673 31586, 25676 31585, 25676 31588, 25678 31588, 25675 31591, 25680 31590, 25681 31585, 30681 31588, 30677 31593, 30682 31594, 35682 31594, 35677 31593, 35679 31595, 35682 31594, 35683 31591, 35686 31592, 35687 31593, 35691 31596, 35691 31597, 35694 31601, 35698 31601, 35702 34601, 35701 34603, 35705 34608, 35705 34610, 35704 34605, 35707 34607, 35707 34610, 35710 34607, 35715 34608, 35719 34607, 35721 34612, 35717 34612, 35713 34612, 35715 34613, 35716 34609, 35716 34614, 35716 34618, 35720 34620, 35721 34621, 35724 34622, 35724 34625, 35727 34629, 35727 34630, 35727 34633, 35727 34635, 35727 34639, 35732 34640, 35729 34642, 35733 34644, 35737 34646, 35741 34649, 35743 34649, 35744 34653, 35740 34653, 35740 34649, 35743 34651, 38743 34654, 38743 37654, 38744 37650, 38748 37655, 38751 37656, 38755 37657, 38755 37661, 38759 37660, 38758 37664, 38763 37664, 38767 37664, 38762 37664, 38761 37664, 38762 41664, 38762 41664, 38764 41669, 38759 41671, 43759 41673, 43754 41678, 43754 41681, 43759 41676, 43760 41681, 45760 41684, 45760 41683, 45764 41687, 45767 41687, 45771 41687, 45772 41688, 45770 46688, 45775 46692, 45778 46696, 45776 46698, 45777 46701, 45780 46699, 45778 46702, 45776 46706, 45781 46706, 45786 46708, 45789 46710, 45793 46715, 45788 46711, 45792 46715, 45795 46719, 45798 46723, 45801 46728, 45799 46732, 45804 46730, 45799 46733, 45803 46737, 45804 46737, 45805 46736, 45806 46736, 45807 46736, 45810 46739, 45812 46744, 45812 46748, 2328 27377, 2324 27381, 2325 27383, 2327 27387, 2327 27386, 2324 27386, 2325 27386, 5325 23386, 5327 23389, 5331 23390, 5332 23394, 5337 23396, 5332 23396, 5332 23399, 5331 23399, 5335 23403, 5335 23406, 5340 23409, 5341 23409, 5336 23410, 5331 23405, 5334 23407, 5332 23411, 5335 23413, 5330 20413, 5326 20415, 5326 20418, 5331 20420, 5330 20425, 5327 20425, 5331 20428, 5332 20428, 5337 21428, 5333 21431, 5335 21435, 5336 21437, 5331 21438, 5332 21441, 5335 21444, 5340 21441, 5340 21444, 5336 21445, 5335 21442, 5331 26442, 5334 26439, 5337 26443, 5339 26444, 5340 26448, 5344 26443, 5344 26446, 5347 26444, 5351 26442, 5354 26446, 5351 26449, 5350 30449, 5352 30451, 5352 30448, 5356 30448, 5361 30447, 5365 30449, 5369 30450, 5369 30452, 5369 30457, 5373 30459, 5373 30457, 5375 30462, 5377 30465, 5382 30467, 5386 30467, 5385 30463, 5386 30463, 5385 30463, 5387 30464, 5392 30463, 5394 30468, 5396 30468, 5391 30469, 5395 30473, 5393 30473, 5393 30473, 5397 30478, 5398 30474, 5401 30474, 5403 30471, 5403 30472, 5406 30474, 5402 30469, 5403 30466, 5405 30471, 5406 30471, 5411 30473, 5414 30477, 5414 30481, 5409 30485, 8409 30490, 8410 30493, 8412 30494, 8412 30493, 8415 30494, 8416 30497, 8416 30500, 8421 30505, 8422 30506, 8417 30511, 13417 30513, 13413 30510, 13416 30511, 13414 30515, 13414 30519, 13419 30522, 13421 30527, 13420 30531, 13424 30533, 13420 30535, 13415 35535, 13411 35535, 13415 35536, 13419 35541, 13421 35537, 13425 35533, 13426 35533, 13425 35528, 13430 35529, 13435 35530, 13440 35534, 13445 35535, 13450 35535, 13454 35536, 13457 35540, 13459 35540, 13454 35540, 13457 35543, 13454 35539, 13459 35544, 13459 35548, 18459 35550, 18462 35551, 22462 35550, 22467 35554, 22468 35558, 22470 35556, 22475 35559, 22473 35563, 22472 35568, 22474 35568, 22472 35573, 22476 35573, 22476 35575, 22479 35577, 22484 35580, 22489 35584, 22490 35587, 22491 35589, 22495 35589, 22498 35589, 25498 35590, 25495 35586, 25496 35589, 25500 35589, 25498 35589, 25500 35591, 25505 35595, 25505 35597, 25501 35594, 25501 35595, 25497 35595, 26497 35599, 29497 35595, 29497 35597, 29500 35601, 29500 35605, 29502 35610, 29503 30610, 29504 30607, 29507 30607, 29512 30610, 29513 30610, 29516 30611, 29518 30614, 29520 30612, 3261 17309, 3265 17308, 3269 17307, 3273 17312, 3271 17316, 3271 17317, 3276 17319, 3279 17319, 3284 17315, 3287 17317, 3285 17313, 3280 17314, 3277 17319, 3277 17321, 3278 17326, 3282 17328, 3282 17328, 3278 17329, 3279 17329, 3278 17332, 3280 17328, 3275 17333, 3279 17335, 3282 17330, 3283 17332, 3278 17328, 3279 17328, 3279 17326, 3279 17325, 3279 17325, 3283 17327, 3284 17331, 3284 17336, 3289 17339, 3290 17339, 3290 17342, 3292 17341, 3296 17344, 3296 17345, 3301 17345, 3301 12345, 3301 12346, 3306 12343, 3303 14343, 3307 14344, 3309 14345, 3313 14347, 3315 14347, 3316 16347, 3312 16345, 3312 16350, 3314 16352, 3313 16353, 4313 16350, 4318 16352, 4323 16348, 4326 16352, 4324 16353, 4325 16350, 4325 16350, 4328 16354, 4324 16358, 4325 16360, 4327 16365, 4327 16362, 4324 16366, 4327 20366, 4327 20370, 4324 20371, 4328 20376, 4328 20378, 4333 20377, 4335 20377, 4340 20380, 4341 20383, 4343 20386, 4340 20388, 4341 20390, 4342 20387, 4342 20387, 4337 20392, 4338 20394, 4343 20394, 4348 20395, 4350 20395, 4351 20397, 37499 26503, 37496 26500, 37498 26504, 37498 26505, 37501 26510, 37499 26506, 37500 26506, 37502 29506, 37502 29511, 37507 29512, 37508 33512, 37510 33517, 37515 33522, 37519 33526, 37518 33524, 37523 33525, 37523 33529, 37518 33534, 37521 33532, 37522 33532, 37526 33534, 37529 33534, 37527 33531, 37530 33534, 37535 33537, 37536 38537, 37538 38540, 22360 13359, 25360 13364, 25363 13362, 25364 13366, 25364 13366, 25367 13369, 25365 13371, 25361 13373, 25359 13378, 25362 13378, 2249 13366, 2254 13370, 2256 13367, 2259 13367, 2263 13362, 2266 13358, 2266 13360, 2271 13365, 2274 13367, 2276 13367, 2277 13367, 2275 13366, 2276 13369, 2280 13369, 2282 13374, 2286 13370, 2286 13369, 2291 13372, 2292 13370, 2295 13372, 2300 13377, 2300 13376, 2297 13379, 273 22351, 275 22354, 4275 22351, 4271 22352, 4272 22354, 4273 22359, 4274 22364, 4278 22367, 4283 22369, 4286 24369, 4281 24369, 4284 24369, 4287 24369, 4289 24368, 4291 24366, 4296 24364, 4297 24366, 4300 24369, 4303 24373, 1303 24374, 1303 24375, 1307 24379, 1307 24380, 1309 24381, 1314 24384, 1316 24386, 1320 24384, 1318 24386, 1318 24391, 1320 24391, 1320 29391, 1323 29391, 1318 29387, 1322 29390, 1323 29393, 1328 29393, 1329 29393, 2329 29398, 2329 29398, 2334 29397, -664 24371, -661 24372, -659 24372, -654 24375, -651 24376, -647 24376, -645 24378, -641 24374, -636 24379, -633 24384, -636 24386, -636 24388, -636 24388, -634 24392, -635 24394, -630 24390, -628 24390, -627 24390, 373 24393, 378 24398, 376 24396, 379 24401, 3379 24404, 6379 24409, 6380 24412, 6375 24410, 6372 24410, 6377 24407, 6372 24407, 6377 24407, 6381 24410, 6376 24413, 6380 24415, 6382 24416, 6380 24419, 6380 24423, 6385 24427, 6387 24429, 6389 24432, 6392 24437, 6388 24434, 6388 24439, 6389 24440, 6390 24444, 6389 24448, 6385 29448, 6385 29451, 6388 29455, 6384 29450, 6389 29451, 6392 29456, 6395 29456, 6399 29459, 6402 29463, 6402 29467, 6399 29471, 6395 29471, 6397 29474, 6399 29477, 6401 29472, 6396 29471, 6399 29474, 6398 29477, 6398 29474, 6395 29469, 6391 29473, 6392 29474, 6391 29469, 6391 29472, 6394 29474, 6390 33474, 6392 33470, 6393 33470, 6394 33471, 6396 33471, 324 22376, 324 22378, 325 22381, 329 22382, 333 22386, 332 22387, 334 22390, 335 22387, 333 22387, 332 22391, 334 22395, 334 22400, 339 22401, 341 22398, 342 22403, 342 22402, 342 22400, 345 22400, 345 22400, 343 22404, 344 22408, 345 22406, 350 22407, 347 22411, 349 22415, 344 22415, 347 22417, 342 22421, 347 22421, 350 22426, 350 22430, 353 22431, 354 22436, 354 22440, 4354 22442, 4355 22446, 4356 22448, 4356 22451, 4359 22453, 4362 22454, 4366 22454, 4369 22455, 4371 22457, 4368 22459, 4371 22457, 4375 22462, 4379 22463, 4382 22463, 4382 22468, 4387 22471, 4387 22471, 4392 22473, 4387 22473, 4387 22476, 25573 26512, 25576 26511, 25580 26516, 25583 26516, 25583 26516, 25585 26512, 25585 26517, 25589 26520, 25591 26519, 25592 26519, 25593 26521, 25591 26524, 25589 26526, 23589 26530, 23587 26535, 23591 26538, 23594 26542, 24594 26547, 24590 26549, 24595 26551, 24600 26547, 24600 26552, 24604 26549, 24600 26544, 24602 26549, 24602 26552, 24602 31552, 24607 31553, 24610 31555, 24615 31556, 24617 36556, 24618 36561, 24621 36561, 24624 36564, 24624 36568, 24629 35568, 24629 35573, 24634 35573, 25634 35574, 25637 35573, 25638 35577, 25638 35577, 25640 35580, 25643 35584, 25643 35587, 25643 35592, 25644 40592, 20644 40597, 20647 40597, 20652 40599, 20653 40595, 20653 40598, 20650 40595, 20650 40595, 20654 40600, 20654 40600, 20658 40601, 20658 40604, 20658 40605, 20661 40602, 20664 40601, 20664 40601, 20665 40604, 20670 40605, 20667 40610, 1217 13318, 1216 13323, 1214 13321, 1211 13316, 1212 13316, 1213 13321, 6213 13324, 6216 13324, 6218 13324, 6213 13327, 6216 13322, 6216 13327, 6216 13328, 6218 13323, 6221 13327, 6220 13325, 6221 13325, 6220 13330, 6223 13333, 6227 13335, 6232 13339, 6233 13343, 6233 13347, 6237 13342, 6236 13346, 6236 13348, 6238 13349, 25526 26487, 25523 26488, 25526 26493, 25529 26491, 25531 26488, 25532 26486, 25536 27486, 25541 27490, 25539 27492, 25543 27487, 25546 27490, 25549 27494, 25552 27495, 25552 27495, 25556 27490, 25561 27490, 25565 27493, 25563 27493, 25565 27497, 25563 27495, 25565 27497, 25565 27499, 25566 27501, 25565 27501, 25565 27501, 25560 27502, 25565 27503, 25567 27507, 25569 27507, 25571 27507, 25569 27508, 25567 27509, 25567 27509, 25567 27509, 25568 27509, 25572 27505, 25572 27501, 25576 27502, 25572 32502, 25572 32505, 25575 32505, 25578 32501, 25578 32502, 25579 32505, 25581 32507, 25585 32508, 25590 32511, 25594 32516, 25598 32511, 25601 32511, 25596 32507, 25599 32510, 25599 32514, 25596 32513, 25596 32514, 25598 32517, 25594 32517, 25596 32519, 25596 32524, 25600 32524, 25604 32521, 25605 32522, 27605 32524, 27609 32527, 27610 31527, 27615 31531, 27617 31531, 30617 31534, 30619 31534, 30620 31536, 30621 31540, 30625 31541, 30625 31542, 30627 31542, 30628 31545, 30629 31545, 30626 31544, 30625 31544, 30626 31549, 34626 31550, 34621 31547, 34625 31549, 34626 31553, 34626 31552, 34628 31554, 34628 31559, 34628 31555, 34630 31559, 34635 31559, 34638 31563, 34636 31568, 34638 31568, 34641 31566, 34641 31564, 36641 31559, 36638 27559, 41638 27561, 41642 27558, 41646 27562, 41649 27563, 41650 27559, 41655 27559, 41660 27559, 41660 27556, 41660 27556, 41662 27554, 41658 27558, 41663 27562, 41666 27565, 41669 27570, 41664 27566, 41665 27567, 41665 27569, 41664 27573, 41663 27573, 41666 27575, 41666 27571, 41661 30571, 41662 30569, 41662 30565, 41667 30570, 41666 30565, 41666 30565, 41666 30566, 41666 30567, 41662 30562, 1314 24384, 4314 25384, 4317 25388, 4317 25389, 4321 25387, 4324 25392, 6324 25391, 6324 25391, 6328 25396, 6323 25401, 6326 25401, 6326 25405, 6321 25408, 9321 25409, 9316 25404, 9314 25406, 9312 25407, 9315 25407, 9315 25407, 9318 25404, 9321 25405, 4321 25400, 8321 25402, 8317 25404, 8317 25400, 8317 25401, 8313 25402, 8309 25398, 8311 25398, 8313 25401, 8317 25406, 8312 25407, 11312 25369, 11313 25369, 11318 25374, 11322 25379, 11327 25379, 11327 25384, 11327 25386, 11328 25382, 14328 25384, 14330 25386, 14333 25387, 14336 25389, 14338 25390, 19338 25390, 19338 25393, 19334 25394, 19334 25395, 19337 25392, 19340 25395, 19344 25397, 19342 25397, 19347 25400, 19347 25398, 19349 25398, 19351 25397, 19353 25401, 19352 25402, 19350 25403, 19351 25407, 19354 25403, 19352 25406, 19356 25404, 19355 25409, 23355 25406, 23356 25406, 23358 25409, 23360 25413, 23362 25417, 23365 25418, 23369 25416, 23367 25415, 23369 25418, 23365 25417, 23369 25420, 23369 25420, 23372 25422, 24372 25418, 24372 25423, 24375 27423, 24380 27423, 24382 27420, 24382 27416, 24382 27414, 24382 27410, 24378 27410, 24376 27414, 24372 27418, 24372 27419, 24373 27424, 24377 27419, 24380 27415, 24377 27419, 24380 27422, 24384 27425, 24385 27430, 24385 27429, 24387 27434, 24392 27435, 24396 27436, 24397 27440, 24401 30440, 24402 30443, 24406 30447, 24405 30443, 24408 30442, 24412 30446, 24408 30450, 24410 30449, 24405 30449, 24410 30446, 24414 30450, 24418 30450, 24418 30453, 19418 30453, 19418 30451, 19420 30456, 19422 30457, 19425 30462, 15425 30466, 15425 30468, 15427 30470, 16427 30471, 16426 30475, 16423 30478, 16428 30478, 16430 30480, 16430 30480, 16426 30478, 16426 33478, 16427 33478, 16429 33481, 16427 33483, 16428 33481, 16424 33484, 16427 33486, 16432 33483, 16432 33482, 16431 33486, 16426 33486, 16429 33488, 16432 33492, 16433 33492, 16436 33492, 16437 33495, 16434 33491, 16438 37491, 16436 37494, 16440 37489, 16445 37486, 16448 37484, 16449 37484, 16449 37486, 16453 37482, 16456 37483, 16460 37483, 16456 37483, 16456 37486, 16461 37490, 16462 37495, 16465 37499, 16466 37496, 16467 37497, 16468 37498, 16470 37501, 16470 37505, 16470 37505, 16475 37507, 16475 37507, 16475 37502, 16478 37498, 21478 33498, 21475 33497, 21478 33493, 21480 33495, 21480 33500, 21480 33496, 21482 33500, 21485 33505, 21486 33508, 21485 33504, 21486 33509, 21486 33509, 21490 35509, 21493 35509, 21496 35510, 21498 35514, 21494 35510, 21494 35513, 21491 35518, 21492 35521, 21489 35523, 23489 35527, 23487 35532, 23489 35537, 23485 35538, 23489 35539, 23490 35541, 23495 35543, 23497 35546, 23497 35550, 23497 35554, 23493 35553, 23490 35556, 23494 35559, 23497 35564, 23502 35563, 23498 35561, 4324 16358, 4319 16362, 4320 16362, 4322 16367, 4317 16367, 4317 16366, 4318 20366, 4322 20369, 4325 20367, 4328 20370, 4331 20371, 4334 20374, 4339 20378, 4340 20379, 4335 20379, 4340 20379, 4343 20381, 4344 20381, 4344 20382, 4345 20385, 4348 20390, 4348 20390, 4348 20390, 4348 20390, 4351 20394, 4354 20399, 4356 20400, 4357 20404, 4360 20404, 4362 20405, 4362 20408, 4365 20409, 4370 20410, 4374 20415, 4373 20420, 4369 20421, 4366 20426, 4369 20424, 4374 20429, 4375 20426, 4376 20422, 4379 20422, 4383 20426, 4384 20427, 4386 20422, 4391 20425, 4387 20427, 4392 20427, 4392 20429, 4394 20433, 4398 20438, 41576 39702, 41580 39706, 41578 39708, 45578 39708, 45577 39713, 45579 39717, 45583 39719, 45583 39722, 45585 39725, 45580 39730, 47580 39726, 47583 39723, 47588 39726, 47588 39730, 47591 39734, 47594 39737, 47599 39737, 47595 39737, 47598 39739, 47599 39739, 47597 39739, 47593 39743, 47595 39748, 47595 39751, 4076 20267, 4079 20272, 4081 20272, 4080 20275, 4080 22275, 4085 22280, 4089 22276, 4090 22279, 4088 22283, 4084 22284, 4086 22286, 4088 22281, 4084 22281, 4089 22285, 4092 22285, 4094 22285, 4094 22290, 4096 22291, 4099 22294, 4099 22295, 4097 22290, 4097 22292, 4097 22297, 4097 22292, 4094 22289, 4091 22290, 4092 22290, 4097 22285, 4102 22290, 4105 22289, 4106 22292, 4106 22293, 4109 22298, 4114 22296, 4119 22294, 4122 22299, 122 22304, 123 22307, 124 22304, 124 22304, 123 26304, 127 26307, 131 26307, 129 26309, 129 26310, 134 26310, 134 26311, 138 26311, 143 26313, 142 26315, 145 26317, 142 26318, 147 26322, 151 26322, 155 26325, 155 29325, 160 29330, 160 29333, 164 29328, 164 34328, 167 34333, 170 34332, 169 34336, 171 34337, 175 34338, 175 34340, 179 34342, 180 34344, 180 34348, 184 34352, 179 34352, 184 34352, 186 34357, 186 34362, 183 34364, 185 34369, 189 34369, 194 34369, 199 34371, 201 34370, 205 34372, 207 34372, 204 34367, 206 34364, 1206 34364, 1207 34368, 1207 30368, 1207 30363, 1208 30365, 1209 30368, 1212 30370, 1212 30370, 1216 30371, 1220 30376, 1221 30379, 1216 30383, 1216 30388, 1219 30386, 1224 30387, 1225 30386, 1227 30384, 1230 30383, 1233 30387, 1234 30387, 1237 30388, 1239 30392, 1244 30390, 1246 30393, 2246 30396, 2243 30399, 2247 30401, 2247 30403, 2246 30398, 2244 30399, 2248 32399, 2248 32399, 2251 32402, 2253 32397, 5253 32394, 5253 32399, 5257 32403, 5257 32401, 5259 32401, 5259 32405, 5263 32410, 5263 32415, 5268 32416, 5273 32420, 5275 32423, 5278 32424, 5283 32426, 5281 32429, 6281 33429, 6286 33433, 6286 33434, 6284 33435, 6284 33432, 6288 33429, 6290 32429, 6290 32425, 6288 32428, 6290 32428, 11290 32431, 11294 32429, 11294 32433, 11292 32438, 11288 32441, 11288 32441, 11285 32446, 11280 32446, 11281 32447, 11285 32449, 11286 32449, 11285 32452, 13285 32451, 13289 32446, 16289 32450, 16284 32449, 16285 32449, 16286 32452, 16287 32452, 16286 32450, 16288 32447, 16292 32450, 16293 32450, 16294 32454, 16293 32454, 16293 32454, 16293 32449, 16289 32451, 16290 32456, 16289 32461, 16293 36461, 16291 36466, 16295 36466, 16296 36466, 16299 36466, 16303 36468, 16308 36473, 16312 36471, 16312 36467, 16315 36463, 16314 36464, 16315 36469, 16315 36473, 16310 36474, 16311 36472, 16316 36474, 16321 41474, 16324 41475, 16327 44475, 16332 44475, 16332 44475, 16332 44477, 16332 44478, 16337 44483, 16334 44481, 8416 30500, 8417 30501, 8421 30501, 8416 30505, 8418 30504, 8420 30499, 8423 35499, 8425 35498, 8429 35501, 8431 35503, 8434 35503, 8438 35507, 8440 35507, 8445 35509, 8442 35512, 8445 35513, 8442 35513, 8442 35515, 8443 35519, 8447 35515, 8450 35516, 8445 35521, 8445 35523, 8444 35528, 8446 35530, 8443 35531, 8438 35531, 8435 35527, 8431 35531, 8432 35534, 8433 35536, 8431 35537, 8435 35539, 8439 32539, 8437 32540, 8441 32540, 8438 32543, 9438 32546, 9436 32541, 9431 32538, 9431 32538, 9435 32541, 9435 32546, 9431 32547, 9436 32542, 9438 32542, 9438 34542, 7438 34542, 7440 34547, 7441 34547, 7441 34547, 7441 34552, 7440 34553, 7440 34556, 7440 34557, 7440 34560, 11440 34565, 11436 34563, 11438 34559, 7438 34557, 7438 34553, 122 1239, 126 1243, 127 1240, 127 1242, 131 1239, 130 1239, 127 1240, 125 1243, 130 2243, 134 2246, 133 2246, 137 2246, 142 2246, 147 2251, 148 2256, 146 2257, 148 2252, 146 2249, 148 2248, 152 2253, 157 2249, 161 2246, 162 2247, 162 2249, 157 2248, 158 2249, 3158 2250, 3161 2252, 3161 2254, 3166 2258, 3167 2261, 3168 2259, 3171 2261, 3173 2266, 3171 2267, 3176 2272, 3179 2277, 3176 2280, 3180 2279, 3175 2283, 3179 2280, 3182 2283, 3184 2288, 3187 2293, 5187 2290, 5187 2292, 5183 2290, 5187 2292, 5186 2297, 5189 2297, 5189 2301, 5192 2303, 5189 2303, 5187 2304, 5183 6304, 5184 6301, 5189 6304, 5191 6302, 5193 6300, 5195 6300, 5195 6300, 5197 6301, 5197 6304, 5199 6301, 5197 6304, 5192 6306, 5193 6310, 5194 6312, 5197 6316, 24397 27440, 24393 27441, 24395 27437, 24400 27440, 24400 27441, 16288 32447, 21288 32447, 21288 32448, 21284 32452, 21285 32450, 21285 32452, 21287 32455, 21283 32460, 21284 32462, 21284 32467, 21284 32472, 21286 32474, 21291 32475, 21289 32475, 21289 32473, 21289 32478, 21286 32481, 21290 32486, 21293 32486, 21293 32490, 21298 32489, 21301 32490, 21303 32491, 21305 32488, 21303 32486, 21307 32491, 21312 32495, 21314 32499, 21315 32495, 21317 32499, 21314 32499, 21316 32502, 21318 32505, 21313 32510, 21313 32512, 21314 32517, 21319 32520, 21321 32520, 21326 32520, 21329 32525, 21330 32530, 21334 32531, 21330 36531, 21333 41531, 21338 41531, 21336 41535, 21339 41537, 21337 41539, 21341 41544, 21342 41544, 21345 41540, 25345 41543, 25342 41546, 25339 41546, 25339 41549, 25337 41546, 25337 41547, 25337 46547, 25341 46552, 30341 46555, 30342 46560, 30345 46561, 30344 46557, 30339 46560, 30343 46565, 30339 46569, 30338 46567, 30340 46568, 24375 27423, 24375 27425, 24377 27428, 24379 27429, 24379 27434, 24376 27439, 24381 27441, 24386 27436, 24387 27438, 24384 27441, 24383 27446, 24383 31446, 24383 33446, 20383 33443, 20385 34443, 20384 34444, 20380 34448, 20383 34450, 20383 34446, 20386 34447, 20390 34450, 20394 34451, 20395 34446, 20395 34451, 20398 29451, 20397 29447, 20401 29447, 20402 29443, 20401 29440, 20406 29443, 20411 29444, 20412 29444, 20412 29448, 20410 29449, 20415 29452, 20415 29455, 20414 29459, 20415 29462, 20420 29465, 20415 29467, 20417 29468, 20418 29468, 20418 29467, 20418 29467, 20420 29468, 20416 29469, 20420 29467, 20415 29464, 20415 26464, 20420 26462, 20423 26463, 20423 26465, 20423 26464, 43580 35662, 43580 35658, 43580 35662, 43580 35664, 43585 35665, 43585 35663, 43585 35666, 43581 35667, 43585 35665, 43589 35670, 25627 25555, 25631 25555, 25632 25558, 25632 25563, 25634 25564, 25629 25565, 25625 25561, 25625 25563, 25626 25565, 26626 25570, 26629 25570, 29629 25575, 29628 25578, 29627 25579, 29624 25583, 29627 25587, 29632 25592, 29634 25593, 29637 25595, 29637 25598, 29639 25602, 29644 25600, 29645 25601, 29646 25601, 29651 25602, 29656 25606, 29658 25606, 29663 25607, 29663 25605, 29666 26605, 29668 26608, 29667 26608, 29670 26611, 29674 26611, 29671 26615, 29673 26620, 29676 26617, 29681 26620, 29682 26620, 29683 26619, 29684 26623, 29681 26621, 29686 26626, 29688 26628, 29691 26628, 29692 26632, 29693 26634, 29695 26629, 29696 26624, 29700 26621, 29705 29621, 29709 29620, 29708 29624, 29711 29627, 34711 29630, 34712 29632, 34712 29631, 2284 16415, 2285 16416, 2285 16416, 2289 16421, 2294 16425, 2299 16425, 2300 16430, 2305 16430, 2306 16433, 2311 11433, 2315 11436, 2310 14436, 2310 14435, 2313 14437, 2312 14441, 2310 14442, 2311 14444, 2313 14444, 2311 14447, 2314 14447, 2316 14451, 2316 14456, 2316 14454, 2311 14455, 2311 14455, 2311 14460, 2315 14465, 2315 14465, 2311 19465, 2311 19465, 2313 19466, 2317 19469, 2320 19469, 2323 19466, 2319 19468, 2323 19471, 2324 19471, 2324 19473, 2324 19473, 2322 19468, 2323 19466, 2324 19465, 2329 19470, 2329 19465, 2324 19465, 2324 19467, 2319 19471, 2320 19475, 2104 -1844, 2109 -1844, 2113 -1842, 2116 1158, 2116 1160, 2117 1161, 2116 6161, 2118 6166, 2123 6169, 2126 6174, 2123 6179, 2126 6183, 2126 6187, 2130 6182, 2128 6183, 2127 6182, 2128 6185, 2124 10185, 2129 10190, 2130 10193, 2132 10192, 2132 10195, 2129 11195, 2129 11199, 2133 11200, 2134 11196, 2133 11201, 2137 11205, 2137 11207, 2141 11203, 2144 11207, 2145 11208, 2149 11212, 2144 11214, 2144 11215, 2149 11216, 2152 11221, 2152 11223, 2153 11223, 2154 11226, 2154 11226, 2150 11228, 2152 11224, 2152 11227, 2148 11222, 2145 11223, 2142 11225, 2145 11222, 2142 11223, 2142 11227, 2147 11229, 2149 11230, 2154 11230, 2157 11228, 2159 11233, 2159 11233, 2155 11237, 2155 11242, 2151 11243, 7151 10243, 7156 10245, 7159 10245, 7164 10247, 7166 10252, 7166 10255, 7171 10257, 7173 10257, 7174 10261, 7179 10264, 7184 10260, 7189 10264, 7193 8264, 7197 8260, 7202 8262, 7206 8262, 7205 8265, 7205 8266, 7207 8270, 7211 8274, 7211 8277, 7216 8277, 7216 8280, 7212 8280, 7213 8280, 7215 8283, 7220 8282, 7224 8287, 7225 8283, 7222 10283, 7223 10287, 7225 10288, 7230 10290, 7232 10294, 7233 10294, 7233 10297, 7234 10298, 7234 10301, 7236 10303, 7231 10299, 7228 10298, 7223 10297, 7225 10299, 7230 10303, 7231 10307, 7234 10311, 7234 10315, 7235 10320, 7236 9320, 7241 9322, 7246 9325, 7243 9330, 7243 9332, 7240 9335, 7237 9334, 7239 9339, 7238 9339, 7238 9341, 7238 9342, 7233 14342, 7232 14337, 7234 14342, 7239 18342, 4084 22284, 4083 22284, 6083 22287, 6078 22289, 6078 22293, 6080 22290, 6082 22291, 6086 22296, 6086 22297, 6087 22297, 6088 22295, 6093 22298, 6094 22297, 9094 22294, 9097 22298, 9098 22299, 9098 22301, 9093 22296, 9098 22299, 9100 22294, 9096 18294, 9099 18294, 9098 18298, 9101 18296, 9100 18301, 9105 18303, 9105 18306, 9105 18309, 9102 18305, 9104 18306, 9108 18309, 9104 18314, 9103 18310, 9105 18312, 9105 18316, 9109 18314, 9109 18319, 9109 18324, 9113 18326, 9113 18330, 9115 18333, 9113 18333, 9118 18333, 9123 18333, 9123 18336, 9125 18335, 9126 18336, 9127 18332, 9129 18329, 9127 18332, 9130 18333, 9135 18333, 9138 18337, 9143 18341, 9144 18346, 9145 18344, 9150 18348, 9154 18345, 9152 18350, 9151 18345, 9151 18345, 9156 18347, 9160 18349, 9163 18350, 9163 18351, 9165 18356, 9166 18356, 9164 18353, 9167 18356, 9167 18355, 9167 18356, 9167 18360, 9165 18356, 9169 18357, 9169 18353, 9170 18355, 9170 18351, 9175 18351, 9177 18351, 9181 18352, 9184 18353, 9189 18356, 9188 18361, 9191 18364, 9194 18364, 9198 18366, 13198 18371, 13198 18373, 13198 18375, 13201 18378, 13196 18378, 13199 18379, 13202 18381, 13207 18384, 13212 18388, 13211 18383, 13211 18378, 13215 18379, 13218 20379, 13214 20379, 13217 20379, 13213 20379, 13213 20376, 13210 20377, 13206 20377, 13206 20373, 13207 20373, 13209 20370, 13214 20371, 13218 20371, 13223 20376, 13224 20381, 13227 20385, 13228 20390, 13232 20387, 9232 20392, 9230 20388, 9230 20390, 9225 20393, 9225 20396, 4225 20401, 4225 20400, 4227 20403, 4224 20408, 4222 20412, 4222 20415, 4225 20420, 4229 20425, 4232 20422, 4236 20425, 4234 20426, 4238 20427, 4240 20427, 4241 20427, 4237 20431, 4233 20431, 4232 20430, 4230 20432, 4234 20431, 4234 20435, 4238 20437, 4243 20435, 4243 22435, 4238 22440, 4241 22441, 4241 22443, 4238 22447, 4234 22443, 4238 22448, 4238 22450, 4241 22451, 4241 22456, 4243 22458, 4247 22461, 4247 22464, 4252 22466, 4253 22469, 4255 22469, 4251 22469, 4253 22464, 4253 22468, 4257 22473, 4259 22477, 4258 22482, 4261 22483, 4262 22484, 4259 22489, 6259 22493, 6262 22494, 6262 22497, 6264 22500, 6264 22504, 6269 22499, 6273 22499, 6278 22495, 6278 22493, 6283 22491, 6288 22494, 6291 22494, 6296 22494, 6296 22493, 6294 22489, 6294 22493, 6290 22493, 6290 22498, 6290 22500, 6288 22501, 6290 22505, 6294 22504, 5294 22507, 5294 22507, 5298 22512, 5297 22514, 5302 22514, 5307 22517, 5304 22518, 5308 22514, 5311 22517, 5315 27517, 5315 27517, 5319 27517, 5324 22517, 5328 22521, 6328 22520, 6325 22522, 6325 22527, 6322 22527, 6323 22530, 6325 22535, 6325 22535, 6326 22536, 6326 22536, 6327 22533, 6323 22535, 6325 22538, 6330 22538, 6331 22534, 6326 22531, 10326 22526, 10321 22528, 10317 22524, 10316 22529, 10313 22529, 10309 22530, 10306 22535, 10308 22531, 10308 22532, 10311 22534, 10314 27534, 10314 27538, 10314 27538, 10309 27540, 10309 27536, 11309 27535, 11309 27537, 11310 27539, 11305 27535, 11300 27536, 11296 27538, 11296 27538, 11301 27542, 11299 27546, 11304 27551, 11308 27551, 11313 27553, 11315 30553, 11319 30555, 11315 30550, 11318 30545, 11318 30544, 11321 30549, 11320 30550, 11325 30554, 11328 30558, 11328 34558, 11332 34562, 11333 34562, 11335 34562, 11334 34565, 11330 34565, 11333 34566, 11338 34566, 11338 34571, 11342 34574, 11344 34573, 11347 34572, 11346 34573, 11347 34575, 11351 34578, 15351 34578, 15356 34573, 15361 34570, 15364 34575, 15365 34580, 15369 34581, 15370 34581, 15373 34585, 15376 34580, 15381 34578, 15385 34583, 15386 34588, 15389 34587, 17389 34582, 17394 34582, 17393 34582, 17398 34577, 17399 34582, 17399 34584, 17399 39584, 17404 39588, 17399 39591, 17404 39591, 17408 39586, 17405 39591, 17409 39593, 17411 39596, 17408 39596, 17411 39599, 17411 39603, 17414 39607, 17418 39612, 17419 39612, 17419 39612, 17423 39611, 17424 39613, 17426 39612, 17429 39608, 17427 39609, 17428 39613, 17425 39615, 17424 39614, 17427 39617, 17430 39622, 17430 39623, 17431 39620, 17434 39620, 13434 39619, 13434 39621, 13434 39621, 13434 44621, 13436 44625, 13436 44627, 13441 44631, 13444 44636, 13444 44639, 13442 44635, 13444 44635, 13447 44639, 13449 44643, 13447 44641, 13447 44642, 13452 44643, 13456 44648, 13459 44648, 13461 44646, 15461 44643, 15459 44648, 15463 44648, 15464 44646, 15461 44649, 15461 44651, 15465 44654, 15460 44655, 15461 44657, 15463 44661, 15465 44665, 15465 44665, 15465 44667, 15469 44670, 15474 44672, 15476 44668, 15472 44672, 15473 44674, 15475 44678, 15477 44679, -3804 12302, -3802 12305, -3803 13305, -3802 13300, -3806 13296, -3807 13299, -3804 13304, -3802 13301, -3799 13305, -3799 13306, -3794 18306, -3799 18310, -3797 18315, -3800 18315, -3797 18316, -3799 18318, -3794 18323, -3793 18326, -3789 18325, -3784 18324, -3784 18325, -3782 18325, -3780 18325, -3779 18328, -3780 18329, -3781 18324, -3786 18328, -1786 18328, -1786 18333, -1782 18337, -1782 18338, -1779 18333, -1775 18338, -6775 18341, -6772 18343, -6774 18345, -6779 18345, -6777 18345, -6777 18347, -6777 18343, -6775 18347, -6780 18342, -6777 18345, -6776 18345, -6774 18340, -6774 18337, -6774 18337, -6778 18342, -6782 18342, -6785 18339, -6784 18340, -6779 22340, -6779 22339, -6776 22335, -6775 22330, -6775 22335, -6775 22339, -6770 22339, -6772 22344, -6767 22345, -6765 22341, -6765 22339, -6765 22339, -6765 22337, -6765 22340, -6760 22335, -6757 22335, -6762 22336, -6763 22338, -6765 22343, -6760 22338, -6758 22338, -6758 22338, -6756 22341, -6752 22345, -6752 22346, -6748 22343, -4748 22347, -4745 22347, -4750 22347, -4749 22348, -4747 22349, -4743 22352, -4738 22357, -4734 22362, -4736 22367, -4738 22362, 21338 41531, 21336 41531, 21332 41530, 21332 41530, 21335 41533, 21330 41533, 21331 41534, 21328 41536, 21330 41536, 21326 41541, 21330 41536, 21332 41539, 21336 41536, 21338 40536, 21336 40540, 21341 40538, 21343 40538, 21346 40538, 21348 40536, 21352 40536, 21355 40539, 21359 40543, 21361 40546, 21362 40550, 21357 40550, 21362 40551, 21361 40554, 21358 40555, 21358 40554, 21359 40554, 21363 40558, 21360 45558, 21364 45560, 21368 45557, 21372 45561, 21376 45560, 21379 45557, 22379 45553, 22384 45553, 22384 45556, 22388 45561, 22389 45561, 22390 45557, 22394 45561, 24394 45565, 22394 45562, 22399 45565, 22401 45562, 22400 45565, 22402 45568, 22402 45573, 22406 45577, 22408 45581, 22408 45585, 22406 45585, 22409 45586, 22411 45583, 22411 45579, 22411 45583, 22409 45583, 22404 45586, 22404 45586, 22406 45591, 22408 45591, 22408 45593, 22413 45593, 22415 45594, 22419 45595, 22419 45596, 22424 45591, 22427 45587, 22430 50587, 22430 50589, 22430 50589, 22432 50592, 22437 50594, 22437 50589, 22437 50594, 22441 50599, 22442 50594, 22447 50591, 22444 50588, 22444 50590, 22445 54590, 22445 54594, 22448 54599, 22450 54601, 22450 59601, 22446 59597, 22451 59600, 22451 59603, 22454 59604, 22459 59604, 22460 59609, 22459 59606, 22464 59607, 22465 59608, 22463 59609, 22460 59606, 22459 59605, 22459 59605, 22457 59609, 25457 59610, 25459 59615, 25464 59617, 25466 59618, 25469 59621, 25474 59616, 25478 59617, 25480 59614, 25484 59619, 25484 59620, 25488 59616, 25485 59618, 25489 59623, 25494 59627, 25499 59629, 148 2256, 152 2253, 152 2253, 154 2258, 159 2253, 160 2257, 159 2256, 163 2259, 161 3259, 163 3262, 163 3259, 165 3259, 170 3263, 170 3263, 174 3267, 169 3271, 174 3275, 174 3276, 174 3278, 177 3282, 181 3286, 183 3287, 186 3284, 187 3286, 189 3286, 193 3288, 194 3290, 193 6290, 195 6293, 200 6289, 197 6294, 196 6293, 197 6293, 201 6297, 202 6292, 200 6294, 204 6295, 209 6300, 214 6305, 217 6305, 218 6305, 213 6308, 214 6308, 218 6313, 218 6308, 216 6312, 215 6312, 213 6309, 214 6313, 219 6318, 222 6321, 226 6326, 224 6331, 222 6327, 41575 39716, 41574 39713, 41578 40713, 41582 40718, 41578 40721, 36578 40721, 36579 40723, 36584 40720, 36587 40725, 36592 43725, 36587 43725, 36584 43728, 36587 43733, 36592 43735, 36592 43734, 15291 11311, 15287 11316, 15288 11319, 15291 11319, 15296 11319, 15297 11320, 15298 13320, 38744 37650, 38745 37654, 38747 37659, 38746 37662, 38741 37663, 38739 37666, 38744 37666, 38747 37661, 38750 37666, 38750 37666, 38754 37671, 38755 37671, 38750 37673, 38750 37672, 38754 37677, 38756 37678, 38758 37680, 38760 37678, 38762 37683, 38762 37679, 38760 37679, 38765 37679, 38769 37678, 38774 40678, 38769 40683, 38774 40687, 38776 44687, 38780 44690, 38782 44694, 38782 44694, 38781 44699, 38784 44704, 38782 44699, 38777 44700, 38777 44700, 38777 44700, 38781 44703, 38785 44700, 38786 44700, 38788 44696, 38788 44696, 38788 44700, 38793 44702, 38795 44703, 38797 44707, 38802 44712, 38805 44712, 38809 44713, 38804 44710, 38808 44712, 38811 44713, 36811 44713, 36816 44708, 36815 44709, 36816 44709, 36818 44713, 36813 44716, 36814 48716, 36813 48721, 36817 48725, 36818 51725, 36820 51721, 36824 51724, 40824 51719, 40829 51716, 40832 51720, 40831 51723, 40834 51727, 40837 51728, 40842 51725, 40843 51725, 40838 51729, 40843 51734, 40848 51738, 40850 51742, 40851 51744, 40853 51747, 40856 51749, 40857 51750, 40859 51754, 40859 51750, 40863 51752, 40868 51755, 40864 51754, 40868 51754, 40871 51756, 40867 51756, 40865 51759, 40860 51761, 40857 51757, 40857 51762, 40854 51762, 40855 51764, 40859 51765, 40857 51761, 40854 51764, 40855 51765, 40857 51766, 40860 51761, 40861 51760, 40865 51761, 40865 51763, 40862 51768, 40861 51768, 40856 51772, 40852 51769, 40854 51771, 40854 51771, 40850 51776, 40854 51780, 40856 51782, 40854 51782, 43854 51782, 43856 52782, 43858 52785, 43861 52785, 43861 52780, 37514 26540, 37519 26535, 37522 26539, 37522 26544, 37524 26548, 37529 26548, 37534 26553, 37539 26548, 37542 26553, 37547 26548, 37551 26551, 37551 26554, 37550 26555, 37551 26557, 37548 26557, 37548 26557, 37551 26560, 37551 26563, 37554 26563, 37558 26568, 37562 26563, 37563 26565, 37567 26569, 41567 26569, 41571 26572, 41573 26577, 41573 26577, 41578 29577, 41573 29577, 41575 29580, 41575 29582, 46575 29582, 46571 29586, 45571 29587, 45574 29587, 45570 29587, 45575 29585, 45577 29582, 45573 29585, 45574 29588, 45574 29589, 45578 29589, 45580 29592, 45583 29595, 45584 29597, 45584 29602, 45586 29601, 45591 29604, 45587 29609, 45591 33609, 45595 36609, 45596 36611, 45601 36613, 45602 36608, 45606 36608, 45606 36612, 45606 36611, 45610 36614, 50610 36617, 50613 36613, 50616 36613, 50621 36609, 50626 36609, 50627 36610, 50627 36609, 50631 36610, 50626 36612, 50627 36614, 50628 36614, 50631 36612, 50629 36614, 50630 36618, 50634 36622, 46634 34622, 46634 35622, 46638 35626, 46638 35621, 46639 35624, 46641 35623, 46645 35624, 46647 35629, 46645 35634, 46650 35639, 46650 35644, 46651 35647, 46653 35651, 46657 35654, 46654 35659, 46659 35660, 46660 35661, 46664 35664, 46661 35667, 46664 35668, 46667 35667, 46669 35671, 46669 35667, 46672 35670, 46674 35675, 46676 35675, 47676 35672, 47678 35676, 47679 35677, 47679 35682, 47679 35681, 47679 35681, 47679 35686, 47674 35687, 47673 35687, 49673 35689, 49676 35693, 49679 35696, 49677 35696, 54677 35701, 54680 35703, 54676 35703, 54672 35705, 54672 35704, 54677 35707, 54678 34707, 54678 34707, 54681 34710, 54685 34712, 54690 34710, 54690 34711, 54687 34706, 54689 34706, 54694 34711, 54689 36711, 54689 36710, 54684 36711, 54687 38711, 54682 38714, 54682 38718, 54679 38718, 54681 38723, 54684 38724, 54689 38720, 54690 38721, 54694 38726, 54699 38730, 54701 38731, 54702 38728, 54704 38724, 52704 38723, 52704 38723, 52704 38725, 52704 38729, 52706 38730, 52708 38732, 52709 38733, 52713 38732, 52713 35732, 52715 35737, 52714 35741, 52714 35743, 52715 35746, 52715 35749, 52710 35749, 52712 39749, 52715 39753, 52718 39752, 52723 39753, 52722 39757, 52718 39760, 52718 40760, 47718 40761, 47719 40765, 47724 40765, 47724 40765, 47724 40770, 47728 40773, 47730 40776, 47735 40781, 47733 40777, 50733 40781, 51733 40783, 51735 40786, 51736 40790, 51739 40788, 51743 41788, 51741 41787, 51741 41789, 51741 41789, 51738 41793, 51733 41793, 52733 41794, 52737 41795, 52740 41794, 52744 41793, 52748 41789, 52749 41789, 52747 41789, 52752 41786, 52755 41790, 52755 41791, 52760 41796, 52756 42796, 52751 42797, 52754 42798, 52758 42795, 52759 42794, 52764 42797, 52768 42801, 52768 42801, 52771 42806, 52776 42810, 52776 42809, 52773 42811, 52776 42811, 52772 42812, 52773 42815, 52769 42815, 52768 42816, 52769 42821, 52773 42821, 52773 42821, 52777 42819, 52781 42815, 52781 42816, 52782 42819, 52778 42822, 52776 42822, 52779 42826, 52782 42827, 52783 42831, 52778 42833, 52782 42836, 54782 42839, 54782 42844, 2137 11205, 2142 11207, 2139 11208, 2142 11213, 2144 11217, 2149 11215, 2147 11217, 2147 11217, 2152 11222, 2152 11225, 2155 11229, 2159 13229, 2164 13232, 2169 13235, 2173 13236, 2169 13233, 2170 13237, 2173 13241, 2175 13243, 2170 13238, 2170 13239, 2175 13239, 2177 13238, 2179 13239, 2179 13238, 2181 13233, 2181 13230, 2182 13230, 2179 13230, 2179 13235, 2182 13235, 2183 10235, 2178 10237, 2179 10236, 2182 10239, 2187 10241, 2184 10244, 6184 10244, 6186 10248, 6184 10246, 6185 10247, 6187 10250, 6192 10248, 6196 10248, 6196 10251, 6194 10251, 6194 10256, 6197 10260, 6196 10264, 6197 9264, 6197 9264, 6197 9268, 6201 9273, 6206 9276, 6201 9272, 6203 9272, 6205 9269, 6210 9272, 6206 9274, 6206 9279, 6203 9283, 6203 9285, 6203 9290, 6208 9285, 6208 9281, 6204 9285, 6202 9289, 6204 9292, 6200 9294, 7200 9297, 7202 9301, 7203 9301, 7207 9302, 7211 9302, 7211 9303, 8211 9306, 8216 10306, 8220 10310, 8224 10312, 8228 10317, 8233 10317, 8237 10322, 8239 10322, 8239 10327, 8235 10330, 8235 10331, 8239 10329, 8240 10332, 8240 10334, 8236 10334, 11236 10336, 11238 10337, 11243 10341, 14243 10342, 14242 10342, 14239 10343, 14240 10341, 14239 10343, 14244 10343, 14248 10343, 14252 10343, 14252 10343, 14253 10341, 14256 10341, 14258 10338, 14258 10336, 14254 10340, 14257 10344, 14261 10346, 14264 10351, 11150 3163, 11155 3167, 11156 3166, 11156 3169, 11160 3171, 11163 3176, 11164 3179, 11164 3180, 11168 3183, 11168 3185, 11173 3189, 11178 3184, 11180 3183, 11178 3185, 11181 3187, 11176 3186, 52778 42822, 52780 42826, 52779 42826, 52784 42821, 52785 42826, 52786 42827, 52791 42830, 52791 42827, 56791 42832, 56788 42833, 56788 42836, 56791 42840, 56791 42839, 56787 42842, 56788 42847, 51788 42848, 51790 42850, 51792 42851, 51796 42846, 51798 42846, 51803 42850, 53803 42853, 53808 42853, 53811 42856, 53814 42854, 53819 42850, 53819 42852, 53820 42857, 53824 42860, 53825 42858, 53828 42862, 53827 42864, 53828 42864, 53828 42868, 53832 42872, 53837 42877, 53841 42877, 53843 42876, 53843 42880, 53843 42883, 53843 42888, 53838 42892, 53838 42893, 53838 44893, 53835 44893, 53837 44897, 53840 44901, 53844 44901, 53846 44904, 53846 44908, 53847 44909, 53852 44907, 53855 44908, 53860 44910, 53858 44911, 53863 44913, 53858 44917, 53860 44920, 53865 44920, 53870 44922, 53869 43922, 53871 43925, 53871 43923, 53869 43923, 53864 43922, 53862 43927, 53866 43932, 53871 43934, 53876 43937, 53876 43936, 53876 43936, 53877 43934, 53879 43932, 53880 43928, 53885 43931, 55885 43933, 55885 43929, 55881 43933, 55883 43933, 55886 43932, 55883 43932, 55884 43933, 55885 45933, 55885 45937, 55885 45940, 55886 45945, 55886 45945, 55888 45950, 55884 45952, 55885 45956, 55890 45960, 55892 45961, 55896 45957, 55894 45958, 55899 45954, 55895 45958, 55898 45960, 55894 45959, 55899 45963, 55901 45965, 55901 45965, 55896 45966, 55900 45961, 55895 49961, 55898 47961, 55896 47960, 55900 47964, 55903 47968, 55903 47971, 55903 47974, 55898 47977, 55900 47973, 55896 47978, 55897 47979, 55893 47980, 55898 47983, 55901 47988, 55904 47987, 55899 47991, 55901 47993, 55906 47996, 55906 47997, 55907 48001, 55904 48005, 55904 48007, 55909 48004, 55912 48002, 55917 48003, 55913 47998, 55908 48002, 55912 48007, 55916 48004, 55920 48004, 55916 48004, 55921 48004, 55923 48007, 55923 48011, 55926 48011, 55921 48014, 55924 48009, 55929 48013, 55930 48012, 55930 48012, 55932 48016, 55927 48016, 55927 48020, 54927 48018, 54924 48022, 54924 44022, 54928 44017, 54931 44016, 54934 44020, 55934 44021, 55937 44021, 55938 44024, 55939 44026, 55938 44024, 55941 44019, 55946 44022, 55947 44026, 55949 44027, 55952 44028, 55955 44024, 55958 44027, 53869 43923, 53873 43925, 52873 43925, 53873 43927, 53878 43927, 53883 43927, 53882 43931, 53884 43935, 53888 43940, 53886 43941, 53881 43938, 53881 43941, 53879 43943, 53880 43942, 53881 43946, 53882 43951, 53883 43952, 53886 45952, 53886 45953, 53884 45957, 53885 45958, 53880 45960, 53882 45957, 53887 45962, 53887 45962, 53888 45961, 53888 48961, 53888 48966, 53893 48966, 53894 48968, 53899 48969, 49899 48966, 49904 48969, 49908 48971, 49904 48971, 49906 48975, 49903 48971, 49906 48974, 54906 48975, 54906 48975, 54906 48979, 54911 48983, 54909 48979, 54912 48979, 54908 48975, 54911 48977, 54913 48979, 54917 48982, 54922 48982, 54925 48985, 54920 48988, 54923 48988, 56923 48988, 56928 48990, 56926 48985, 56931 48984, 56934 48983, 56934 48981, 56938 48983, 56939 48985, 56939 48986, 61939 48988, 61939 48984, 61936 51984, 61937 51985, 61937 51988, 61937 51988, 61933 51990, 5331 23399, 5333 23399, 5335 23394, 5339 23396, 5342 23399, 5347 27399, 5347 27401, 5352 27402, 5357 27403, 5358 27406, 6358 27409, 6362 27411, 6363 27410, 6366 27406, 6368 26406, 6373 26406, 6373 26406, 6374 26409, 6372 26409, 6377 26410, 6382 26415, 6387 26417, 6389 26418, 6390 26423, 6392 26423, 6393 26428, 6395 30428, 6392 30433, 6392 30436, 6392 30434, 6396 30438, 6396 30441, 6396 30445, 6398 30446, 6400 30443, 6401 30440, 6406 30439, 6407 30439, 6402 30439, 6407 30444, 6406 30447, 6407 30451, 6411 30451, 6413 30451, 6414 30452, 6419 30450, 6423 30454, 6420 30452, 6419 30448, 6420 30453, 6422 30455, 6427 30460, 6428 30460, 6427 30462, 6428 30462, 6428 34462, 6429 34463, 6434 39463, 6436 39466, 6436 39471, 6441 39474, 6445 39471, 6446 39472, 6451 39477, 6453 39480, 6454 39485, 6454 39483, 6454 39480, 8454 39480, 8458 39482, 8462 39484, 10462 39486, 10457 39486, 10458 39488, 10462 39488, 10465 39488, 10470 39490, 10475 39486, 10477 39488, 10477 39490, 10478 39492, 10479 39496, 10477 39498, 10482 39503, 10478 39505, 10481 39510, 10482 39514, 10477 39512, 10482 39517, 10483 39520, 10483 39520, 10487 39525, 10489 39526, 10492 39527, 10492 39524, 10495 39524, 10498 44524, 10493 44523, 10493 44528, 10494 44524, 10499 44529, 10501 44529, 10504 44531, 10502 44535, 10504 44539, 10508 44539, 10513 44536, 13513 44540, 13515 44537, 13512 44539, 13509 44544, 13513 44547, 13517 44552, 13519 44553, 13524 44554, 13527 42554, 13522 42555, 13524 42557, 13527 42556, 13531 42561, 13531 42562, 13526 42563, 13527 42563, 13527 42566, 13522 42568, 13525 42571, 15525 42573, 15525 42576, 15526 42581, 15531 42581, 15532 42586, 15534 42588, 15534 42592, 15533 42591, 15533 42596, 15532 42591, 15532 42587, 15535 42587, 15538 47587, 15534 47587, 15537 47591, 15536 47594, 15538 47598, 11538 47594, 11535 47594, 11531 47594, 11535 47596, 11535 47596, 11535 47597, 11539 47602, 11540 47607, 11540 47607, 11540 47609, 11543 47613, 11546 47617, 14546 47618, 14541 47614, 14539 47614, 14539 47618, 14537 50618, 14539 50623, 14541 50623, 14542 50627, 14540 50627, 14539 50623, 25601 26544, 25601 26545, 25601 26548, 25596 26546, 25601 26547, 25598 26548, 25599 26547, 25600 26547, 25595 26548, 25590 26546, 25595 26549, 25597 26548, 25598 26548, 25601 26545, 25596 26548, 25594 26553, 25595 26552, 25599 26553, 25598 26554, 25596 26555, 25592 26554, 25596 26558, 25599 26554, 25600 26556, 25595 26559, 25600 22559, 25601 22561, 25606 22563, 25607 22562, 25608 22566, 25607 22563, 25607 22568, 30607 22573, 30612 22575, 30612 22579, 30611 22579, 30611 22580, 30611 22585, 30607 22585, 30612 22587, 30612 22588, 30615 22583, 30615 22585, 30618 22581, 30621 22581, 30623 22584, 30623 22589, 30628 22594, 30630 22597, 30631 22602, 30628 22607, 30630 22610, 30631 22611, 30631 22608, 30629 22610, 30634 22612, 30635 22612, 30638 22616, 30643 17616, 30644 17618, 30649 17618, 30653 17619, 30656 17614, 30657 17611, 30660 17615, 30655 17614, 30656 17610, 30656 17611, 30661 17610, 30662 17615, 30660 17620, 30661 17620, 30666 17623, 30667 17625, 30667 17624, 30669 17625, 30673 17628, 30675 17628, 30675 17628, 30680 17631, 30677 17636, 30677 17639, 30680 17644, 30683 17647, 30688 17643, 30693 17645, 30698 19645, 30701 19644, 30702 19644, 30698 19649, 30700 19647, 30701 19649, 30704 19650, 30705 19653, 30701 19655, 30706 19652, 30708 19656, 30711 19657, 30711 19659, 30711 19659, 30714 19661, 30710 19662, 30707 19664, 30702 19666, 30703 19667, 30708 19668, 30713 19667, 30709 19671, 30706 19674, 30710 19676, 30711 19677, 30713 19677, 30713 19678, 30715 19682, 30720 19686, 30725 20686, 30723 20690, 30727 20695, 30728 20697, 30731 20699, 30730 20694, 30732 20696, 30735 20698, 30738 20696, 30738 20695, 30742 20698, 30743 20699, 30743 20701, 30748 20704, 30749 20706, 30752 20705, 30753 20702, 30755 24702, 30751 24705, 30750 24707, 30748 24708, 30749 29708, 30749 29709, 30751 29711, 30754 29716, 30759 29716, 30762 34716, 30762 34720, 30765 34720, 30761 34717, 30761 34721, 30765 34721, 30760 34721, 30759 34725, 30762 34730, 30760 34730, 30765 34731, 30765 34731, 30766 34731, 30761 34733, 30761 34736, 30764 34738, 30759 34739, 30763 34740, 30761 34740, 30764 34742, 30759 34737, 30762 34739, 30764 34741, 30762 34740, 30767 34737, 32767 34741, 32770 34741, 32767 34744, 32767 34746, 32770 34751, 32774 34755, 32774 34756, 32779 34753, 32784 34755, 32785 33755, 32785 33750, 36785 33753, 36785 33758, 36788 33760, 36789 33759, 36789 33762, 36793 33758, 36798 33758, 36803 33760, 36803 33762, 36803 33766, 36804 33769, 36804 33769, 36808 33774, 33808 33776, 33808 33781, 33811 33781, 33816 33784, 33816 33789, 33820 33786, 33823 33788, 33828 33785, 33824 33785, 33826 33787, 33824 33788, 33828 33791, 33825 33796, 33829 33799, 33830 33802, 33831 33803, 33835 33805, 33835 33805, 33838 33809, 33841 33813, 33844 33809, 33849 33814, 33847 32814, 33849 32812, 33851 32816, 33853 32819, 33851 32822, 33851 32826, 33849 32826, 33849 32830, 33852 32835, 33856 32840, 33859 32837, 33858 32832, 33861 32833, 33862 32836, 33859 32838, 33859 32834, 33857 32834, 33859 32834, 33857 32838, 33861 32833, 33861 32837, 33864 32840, 33866 32841, 33866 32843, 33868 32841, 33871 32839, 33874 32844, 33876 37844, 33881 37849, 33883 37854, 33883 37859, 33888 37860, 33893 37864, 33898 37864, 33895 37867, 33896 38867, 33898 38863, 28898 38868, 28901 39868, 33901 39873, 33898 39875, 33900 39879, 33904 39877, 33904 39879, 33909 39883, 33914 39888, 33910 39891, 33910 39892, 33907 39894, 33911 39899, 33913 39900, 33910 39904, 33914 39905, 33917 39906, 33917 39906, 33917 39906, 33912 39911, 33912 39908, 33916 39907, 33914 39910, 33918 39913, 33922 39913, 33924 39916, 33925 39920, 33930 39920, 33933 39922, 33934 39923, 33937 39919, 33938 39916, 33936 39913, 35936 39918, 35933 39919, 35937 39921, 35941 39924, 35941 39919, 35942 39915, 35946 39920, 35946 39915, 35946 39912, 35947 39908, 35947 39912, 35947 39916, 35952 39919, 35957 39921, 38957 39920, 38962 39925, 38964 39924, 38964 39924, 38969 39926, 38969 39928, 38972 39932, 38977 39932, 38975 39932, 38979 39935, 38982 39938, 38986 39940, 38984 39943, 38985 39946, 38987 39947, 38989 39949, 38994 41949, 38990 41954, 38991 41958, 38994 41962, 38994 41966, 38994 41969, 38995 41974, 38999 41974, 38999 41974, 38996 41978, 38996 41983, 38999 41983, 39001 41986, 38996 41984, 39000 41989, 39000 41988, 5336 23410, 5332 23410, 5327 23407, 9327 23408, 12327 23412, 12327 23412, 12324 23410, 13324 23415, 13327 23420, 13328 23416, 13324 23418, 13329 23423, 13330 23426, 13331 23429, 13335 23426, 13339 23428, 23493 35553, 23492 35548, 23496 35550, 23501 35552, 23497 35553, 21497 35557, 21492 35560, 21494 35562, 21494 35560, 21496 35563, 21496 35568, 21496 35570, 21501 35570, 21504 35566, 21504 35571, 17504 35572, 17508 35577, 17509 35578, 17513 35582, 17514 35587, 17515 35592, 18515 35595, 18516 35596, 18517 35598, 18515 35600, 16515 35605, 16515 37605, 16515 37606, 16513 37608, 16515 37613, 16516 37615, 16520 37620, 16524 34620, 16526 34617, 16530 34619, 16530 34624, 16535 34628, 16537 34631, 16540 34632, 16541 34634, 16541 34635, 16544 34632, 16544 34637, 16546 34642, 16549 38642, 16549 38644, 16545 38649, 16545 38644, 16542 38644, 16545 38644, 16544 38645, 16548 38650, 16543 38653, 16543 38649, 18543 38652, 18546 38652, 18546 38657, 18546 38660, 18551 38655, 18549 38655, 18552 38660, 18549 38662, 23549 38667, 23546 38668, 23550 38672, 23550 38674, 28550 38676, 28551 38673, 28551 38677, 28547 38673, 28551 38674, 28556 38674, 28559 38678, 28562 38673, 28564 38678, 28564 38673, 28563 38673, 28566 38675, 28571 38675, 38781 44703, 38782 44699, 38780 44702, 38785 44704, 38787 44704, 38783 44705, 38784 44700, 38788 44695, 38791 44696, 38796 44696, 38801 44692, 38801 44697, 38805 44701, 38810 44701, 38808 44701, 38808 44704, 38805 44706, 38805 44710, 38804 44711, 38809 48711, 38810 48711, 38808 48711, 38812 48716, 38812 48713, 38812 48715, 38812 48715, 38808 48711, 38804 48714, 38805 48710, 38807 48715, 38812 48715, 38807 48713, 38811 48714, 38811 48714, 38816 48711, 38817 48707, 38818 48707, 38818 48708, 38822 48708, 38824 48713, 38822 48714, 38820 48718, 38824 48720, 38824 48723, 38829 48726, 38830 48731, 38834 48729, 38832 48734, 38833 48730, 38834 48728, 38831 48732, 8433 35536, 8433 35541, 4433 35536, 4436 35541, 4440 35541, 4441 35537, 4445 35539, 4444 35534, 4447 35531, 4451 35531, 4455 35534, 4460 35534, 4461 39534, 4462 39535, 4463 39535, 4466 39535, 4470 39535, 4472 39538, 4467 39538, 4467 39536, 4471 39536, 4473 39541, 4468 39542, 4472 39543, 4475 39544, 4478 39544, 4482 39547, 4487 39552, 4485 39550, 4486 39551, 4486 39553, 4486 39555, 4488 39557, 4488 39558, 4489 39555, 4485 39557, 4488 39558, 4492 39560, 4495 39561, 4500 39565, 4496 39566, -4747 22349, -4750 22349, -4746 22352, -4742 22355, -4738 22360, -4739 22362, -4737 22365, -4732 22363, -4728 25363, -4728 25364, -4723 25364, -4725 25364, -4725 25365, -6725 25364, -6727 25369, -6728 25369, -6725 25369, -6729 25368, -6728 27368, -6725 27370, -6721 27371, -3721 27367, -3717 27372, -3718 27375, -3716 27370, -3715 27373, -3714 27373, -3712 27376, -3709 27374, -3710 27375, -3710 27374, -3708 27379, -3706 27381, -3705 27386, -3704 27389, -3704 27393, -3703 32393, -3702 32396, -3702 32396, -3697 32395, -3697 32399, -3692 32403, -3692 32404, -3693 32408, -3693 32412, -3691 32414, -3691 32414, -3695 32414, -3690 32417, -3689 32422, -3684 32424, -3681 32429, -3679 32424, -3676 32428, -3671 32428, -3674 32431, -3671 32430, -3669 32430, -3674 33430, -3676 33432, -3674 33432, -3677 33432, -3677 33437, -3675 33438, -3674 33442, -3679 33444, 1321 33448, 1323 33445, 1327 33448, 1331 33443, 1328 33448, 1328 33443, 1329 33443, 1329 33444, 1334 33448, 1335 33453, 1340 33457, 1340 33454, 1345 33454, 1349 33458, 1348 33461, 1348 33459, 1344 33463, 1343 33466, 1348 33466, 1349 33467, 1345 33467, 1346 33466, 1350 33461, 1349 33464, 1354 33468, 1358 33472, 1363 33473, 1365 33472, 1367 33473, 1370 33476, 1371 33479, -2629 33482, -2631 33487, -2627 33490, -2630 34490, -2626 36490, -2623 36492, -2619 36492, -2622 36492, -2620 36496, -2622 36495, -2627 36495, -2625 36500, -2621 36503, -2626 36506, -2629 36510, -2624 36510, -2620 36510, -2620 36513, -2617 36518, -2622 36516, -2619 36514, -2617 36514, -2617 36512, -2615 36516, -2613 36516, -2613 36517, -2613 36515, -2613 36510, -2610 36511, -2607 36515, -2604 37515, -2604 37512, -2608 37509, -2605 37512, -2600 37516, -2597 37516, -2593 37514, -2595 37515, -2590 37519, -2595 37518, -2590 37523, -2590 37528, -2590 37530, -2592 37525, -2592 37520, -2589 36520, -2586 36521, -2587 36517, -2584 36518, -2582 36518, -2581 36520, -2577 36518, -2576 36522, -2576 35522, -2573 35523, -2575 35523, -2576 35528, -2576 35533, -2576 35536, -2576 35538, -2578 35541, -2582 35545, -2584 35546, -2585 35548, -2583 35544, -2583 35548, -2582 35547, -2578 35552, -2574 35554, -2569 35557, -2565 35559, -2563 35564, -2558 35564, -2555 35568, -2551 35568, -5551 36568, -5546 36568, -5542 36569, -5545 36569, -5543 36574, -5540 36569, -5541 36570, -5541 36572, -5541 36574, -5538 36579, -5535 36581, -5533 36585, -5530 36584, -5526 36579, -5524 38579, -5524 38580, -5524 38575, -5520 38575, -5516 38580, -5512 42580, -5508 42585, -5510 42587, -5510 42586, -5505 42586, -5508 42589, -2508 42593, -2509 42596, -2506 42598, -2504 42601, -2501 42602, -2501 42607, -2496 42612, -2499 42615, -2498 42620, -2500 42617, -2500 42620, -4500 42620, -4500 42624, -4500 42626, -4504 42623, -4507 42625, -4509 42628, -4513 42629, -4508 42629, -4505 42632, -4500 42628, -4499 42633, -4503 45633, -4501 45634, -4497 45635, -4494 45634, -4495 45632, -4493 45634, -4492 46634, -4489 46638, -4485 46633, -4481 46635, 21338 40536, 21343 40537, 21348 40538, 21348 40540, 21347 40540, 21348 40540, 21347 40540, 21346 40542, 21349 40547, 21350 40547, 21353 40544, 21353 40546, 21350 40549, 21353 40550, 21354 40550, 21355 40550, 21360 40550, 21361 40549, 21361 40554, 21359 40559, 21364 40564, 21366 40559, 21365 40559, 21366 40564, 25366 40568, 25367 40570, 25370 40570, 25373 45570, 25374 45571, 25374 45566, 25378 45568, 25383 42568, 25387 42564, 25391 42568, 25391 42572, 25395 42576, 25392 42576, 28392 42573, 28391 42574, 28387 42578, 28388 42580, 28391 42581, 31391 42582, 31387 42586, 31389 42586, 31392 42582, 31393 42583, 31394 42580, 29394 42584, 29398 42586, 29400 43586, 29404 43588, 29408 43589, 29409 43591, 29413 43596, 29415 43598, 29416 43599, 25416 43604, 25414 43599, 25417 43603, 25422 43606, 25420 43608, 25425 43603, 25428 43603, 25431 43606, 25436 42606, 25431 42608, 25434 42604, 25437 42609, 25438 47609, 25442 50609, 25443 50614, 25441 50618, 25446 50621, 25449 50625, 25446 50628, 25446 50630, 25447 50631, 25452 50636, 25452 50632, 25453 50634, 25453 50636, 25456 50637, 25460 50641, 25464 50645, 25465 50644, 25465 51644, 25469 51648, 25471 51653, 25475 51654, 25476 51657, 25477 51658, 26477 51662, 26477 51666, 26476 51669, 26478 51669, 26483 51665, 26485 55665, 26487 55668, 30487 55671, 30487 55674, 30491 55675, 30491 55672, 30493 55674, 30494 55674, 30495 55679, 30499 55679, 30503 55675, 30505 55680, 30502 55681, 30500 55676, 30496 55679, 30501 55680, 30502 55680, 30507 55685, 30503 55688, 30498 55689, 30502 55689, 30504 55691, 30508 55696, 30509 55697, 30508 55696, 30513 55697, 30518 55698, 30516 55703, 30516 55705, 30514 55705, 34514 55709, 34518 55712, 34522 55708, 34520 56708, 34521 56708, 34522 56710, 34519 56710, 34517 56705, 34521 59705, 34524 59710, 34524 59712, 34524 59717, 34528 59719, 34530 59721, 34535 59716, 34540 59719, 34540 59721, 34543 59721, 34548 59724, 34550 59725, 34554 63725, 34549 63730, 34551 63732, 34556 63730, 34558 63730, 34559 63725, 34558 63729, 34563 63734, 34560 63734, 37560 63729, 37563 63733, 37567 63728, 37571 63724, 37575 63722, 37580 63726, 37579 63722, 37581 63724, 37581 63726, 37582 63723, 37582 63724, 37581 63728, 37576 63729, 37576 63731, 37578 63729, 37583 63733, 37585 63736, 37588 63736, 37592 63741, 37594 63738, 37599 63735, 37602 63734, 37598 63735, 37598 63737, 37602 63737, 37603 63739, 37598 63739, 37593 63736, 37598 63737, 37603 63742, 37604 63737, 37601 63742, 37596 63744, 37600 63748, 37605 63749, 37607 63751, 37609 63756, 37609 63760, 37605 63761, 37605 63765, 37606 63765, 37610 63762, 37611 63766, 37606 63768, 37606 63768, 41606 63769, 41602 63765, 41601 63765, 41602 63770, 41598 63770, 41601 63770, 41603 63774, 41606 63772, 41610 63772, 41613 63776, 41616 63771, 41611 63767, 41614 63769, 41617 63764, 38617 63768, 38617 63772, 38620 63772, 35620 63773, 35620 63778, 35619 63779, 35620 63780, 35615 63779, 35617 63784, 35614 63786, 35615 63783, 35616 63779, 35620 63778, 35621 63780, 35626 63782, 35626 63784, 35631 63789, 35631 63784, 35628 63785, 35626 63786, 35631 63788, 35636 63791, 35640 63786, 35636 63787, 35636 63782, 35635 63781, 35640 63786, 35643 63790, 35646 63795, 35650 63797, 35649 63797, 35651 63801, 35655 63805, 35656 63808, 35656 63808, 35658 63808, 35657 63810, 35660 63814, 35660 63809, 35664 63809, 35659 67809, 35660 67812, 35662 67815, 35666 67812, 35662 67807, 35660 67807, 35663 67807, 35665 67812, 35668 67814, 35672 67818, 35671 67817, 35671 67820, 37671 67824, 37666 67824, 2277 13367, 2280 16367, 2276 16367, 2277 16366, 2281 16366, 2284 16366, 2289 16370, 2286 16370, 4286 16370, 4288 16375, 4292 16379, 4296 18379, 4297 18381, 9297 18385, 9298 18385, 9301 18386, 9305 18383, 9307 19383, 9310 19379, 8310 19384, 8314 19384, 38748 37655, 38751 37656, 38756 37657, 38759 37660, 38755 37665, 38755 37665, 38760 37667, 38765 37668, 38765 42668, 38770 42670, 38767 42672, 38772 42668, 38769 42663, 38770 42663, 38775 42658, 38773 42663, 38777 42665, 41777 42667, 41780 42669, 41783 42673, 41784 42671, 41781 42673, 41786 42676, 41783 42676, 41785 42676, 41782 42676, 41785 42679, 41786 42679, 41790 42680, 41794 42681, 41794 42679, 41795 42684, 41795 42680, 41798 42685, 41803 42689, 41806 42688, 41808 42689, 41806 42694, 41804 42696, 41807 42700, 41802 42701, 41804 42702, 41806 42704, 41811 42708, 41815 42709, 36815 42712, 36815 42708, 36812 42707, 36813 42709, 40813 42710, 40817 46710, 40818 46712, 40822 46712, 40820 46716, 40824 46721, 40827 46724, 40831 46728, 40829 46731, 40833 46731, 40835 46735, 40831 46737, 40832 46737, 36832 46742, 36832 46745, 36836 46748, 36833 46753, 36828 46752, 36824 46752, 36826 46755, 36821 46759, 36825 46762, 36825 46766, 36826 46770, 36824 46773, 36828 46776, 36833 46778, 36830 42778, 36835 42780, 36835 42781, 36840 42786)'))); +BEGIN; +DELETE FROM t1 WHERE p = 3; +UPDATE t1 SET g = ST_linefromtext('linestring(448 -689,453 -684,451 -679,453 -677,458 -681,463 -681,468 -678,470 -676,470 -678,468 -675,472 -675,472 -675,474 -674,479 -676,477 -675,473 -676,475 1324,479 1319,484 1322,483 1323,486 1323,491 1328,492 1325,496 1325,498 1325,501 1330,498 1331,500 1331,504 1330,508 1329,512 1332,513 1337,518 1339,518 1339,513 1344,513 1344,512 1346,514 1351,515 1353,519 1358,518 1362,522 1365,525 1360,526 1362,527 1362,528 1367,525 1371,528 1366,532 1369,536 1374,539 1377,543 1379,539 1381,541 1382,543 1383,546 1388,549 1393,554 1393,554 1395,554 1392,550 1394,550 1392,546 1394,549 1397,550 1393,549 1394,554 1390,554 1391,549 1396,551 1396,547 1400,547 1402,551 1407,554 1412,554 1415,558 1418,463 -681,465 -677,465 -675,470 -670,470 -665,470 -660,470 -659,473 -656,476 -656,481 -655,482 -652,486 -654,486 -652,486 -648,491 -646,490 -651,494 -646,493 -644,493 -644,490 -644,491 2356,495 2359,495 2364,500 2359,503 5359,504 5364,509 5368,504 5367,499 5368,498 5371,498 5369,500 5370,504 5370,508 5370,511 5370,507 5374,508 5378,511 5382,507 5387,509 5389,512 5388,515 5393,520 5396,517 5397,517 5402,515 5404,520 5402,521 5405,525 5405,526 5408,530 7408,535 7413,533 7415,529 7412,532 7416,4532 7416,4534 7421,4533 7417,4536 7413,4536 7418,4540 3418,4545 3418,4549 3415,4551 3419,4554 3421,4559 3423,4559 3426,4557 3424,4561 3428,4558 3428,4563 3431,4565 3435,4569 3439,4569 3439,4569 3444,4567 3444,4572 3446,4577 3447,4581 3444,4581 3448,4584 3448,4579 3447,4580 3450,4583 3449,4583 3453,4587 3455,4588 3458,4593 3463,4598 3465,4601 3468,4598 3464,4598 3460,4593 5460,4595 5461,4600 5464,4600 5465,4601 5466,4606 5466,4608 5466,4605 5464,4608 5467,4607 5468,4609 5465,4614 5461,4618 5463,4621 5467,4623 5470,4622 5470,4622 5470,4625 6470,4627 6471,4627 6472,4627 6473,6627 6474,6625 6474,6628 6477,6633 6481,6633 6480,6637 6475,7637 6479,7638 6482,7643 6487,7644 6492,7647 6492,7648 6495,7646 6498,7650 6499,7646 6494,7644 6499,7644 6497,7644 6499,7647 6502,7649 6504,7650 6501,7647 6503,7649 6504,7650 6508,7651 6503,7652 6508,7655 6508,7650 6511,7655 6515,7658 6513,7663 6513,7665 6514,7669 6512,7667 6510,7664 6510,472 -675,477 -670,479 -666,482 -663,484 -668,484 -666,485 -664,481 -664,479 -659,482 -659,484 -658,483 -659,488 2341,493 2339,489 2338,491 2342,491 2346,494 2346,490 2348,493 2348,498 2349,498 2350,499 2349,502 2350,503 2348,506 2348,506 2348,507 2353,507 2355,504 2359,504 2364,504 2361,499 2365,502 2360,502 2358,503 2357,504 2353,504 2357,500 2356,497 2355,498 2355,500 2359,502 2361,505 2364,508 2364,506 2368,506 2370,504 2373,499 2373,496 2372,493 2377,497 2380,495 2383,496 7383,493 7386,497 7391,494 7387,495 7389,498 7392,498 7392,495 7395,493 7398,498 7401,498 7403,503 7400,498 8400,501 8401,503 8401,503 8401,501 10401,496 10396,491 10401,492 10399,493 10403,496 10403,491 10403,493 10407,489 10410,493 10407,489 10403,498 7403,497 7399,496 7403,500 7405,500 7407,503 7411,508 7415,511 7415,511 7420,515 7420,520 7423,523 7423,520 7427,523 7427,523 7427,522 7432,525 4432,527 4434,530 4437,534 4441,529 4446,529 4441,534 4436,537 4436,535 4437,532 4437,534 4432,535 4429,538 4430,542 4427,542 4431,538 4431,541 4431,541 4433,543 4433,545 4432,549 4428,552 4426,556 4427,557 4423,560 4427,561 4428,558 4430,559 4434,559 4432,561 4434,561 4437,563 4435,559 4430,561 4435,4561 4437,4566 4441,4568 4446,4568 4450,4569 4455,4565 4458,4561 4463,4561 9463,4564 9463,4565 9461,9565 9463,9560 9467,9560 9466,9555 9469,9555 9471,9559 9469,9557 9473,9553 9478,9555 9480,9557 9481,9557 9481,9557 9483,9562 9487,9558 9487,9558 9490,9561 9493,9562 9493,9557 9493,9560 9496,9555 9501,9553 9503,9553 9506,9557 9510,9558 9511,9561 9514,9563 9512,9568 9514,9567 9514,9567 13514,9570 13517,9566 13521,9571 13521,9571 13526,9573 13521,9571 13521,9576 10521,9580 10526,9582 10525,9584 10528,9584 10531,9584 10533,9589 10533,9588 10537,9588 10541,9589 10542,9593 10544,9595 10540,9597 10541,9600 10545,9601 15545,9603 15549,9605 15553,9601 15558,9601 15553,9605 15551,9605 15550,9605 15554,9607 15556,9605 15556,9604 15561,9607 15559,9603 15559,9603 15562,9604 15563,9608 15566,9612 15570,9617 15565,9622 15568,9627 15566,9628 15564,9629 15564,9633 15569,9636 15569,9634 15571,9634 15572,9636 15574,9634 15570,9629 15570,9631 15567,9629 15570,9626 15574,9626 15575,498 7401,502 7401,506 7397,506 7395,502 7398,497 7401,502 7402,505 7397,508 7400,504 7404,3504 7409,3505 7405,3508 7410,3511 7413,3511 7416,3511 7419,3511 7419,3513 7421,3517 7424,3519 7426,3520 11426,3523 11421,3527 11418,3530 11415,3530 11416,3533 11418,7533 11415,7531 11415,7531 11417,7536 11420,7541 11424,7543 11425,7543 11427,7543 11429,7540 11429,7542 11425,7541 11420,7542 11421,7542 11422,7540 11424,7540 11423,7543 11422,7546 11426,7550 11431,7553 11436,7555 16436,7553 16438,7558 16438,7559 16438,7560 16439,7565 16437,7560 16435,7563 16435,7566 16440,7566 16444,7564 16447,7559 16443,7561 16443,7566 16448,7570 16451,7574 16456,7578 16459,12578 16459,12578 20459,12577 20456,12581 20454,12585 20456,12585 20456,12585 20456,12583 20456,12579 20459,12580 20461,12580 20462,12580 20460,12585 20465,12586 20467,12590 20470,12590 20470,12589 20471,12584 20471,12589 20471,9589 20472,9594 20472,9595 20472,9596 20477,9598 20482,9603 20480,9608 20484,9613 20484,9610 20486,9608 20488,9608 20489,9610 20489,9614 20486,9619 20481,9620 20481,9618 21481,9621 21483,9626 21483,9628 21485,9623 21487,9622 21490,9626 21493,9621 21495,9626 21498,9622 21499,9624 21504,9625 21499,9629 21501,9633 21498,9637 21495,9639 21498,9644 21501,9557 9481,9560 9485,9561 9490,9563 9488,9560 9486,9558 9488,9561 9492,9563 9495,9567 9492,9567 9488,9564 9490,9559 9495,9559 9498,9557 9502,9562 9506,9564 9509,9569 9512,9569 9516,9569 9518,9569 9515,9571 9513,9571 9512,9573 9513,9578 9516,9581 9516,9585 11516,9585 11521,9590 10521,9586 10524,9589 10529,9589 10527,9589 10527,9594 10532,9594 10534,9598 10536,9598 10540,9600 10542,9604 10538,9607 10538,9609 10543,9613 10538,9613 10533,9613 10537,9610 10537,9614 10542,9609 10542,9610 10543,9610 10548,9611 10553,9616 7553,9620 7553,9621 7557,9618 7559,9618 7554,9622 7557,9622 7561,9622 7556,9622 7560,9619 7560,9620 7565,9622 7563,9627 7566,9630 7570,9630 7571,9632 7573,9637 7576,9639 7578,9640 7576,9640 7579,9640 7575,9642 7570,9646 7570,9651 7574,9653 7577,9652 7572,9653 7576,9653 7576,9651 7581,9656 7585,9660 7586,9659 7591,9657 7594,9661 7598,9664 7602,9668 12602,9673 12604,9676 12606,9679 12602,9682 12605,9677 12610,9674 12606,9674 12601,9674 12603,9672 9603,9668 9605,9671 9606,9668 9611,9668 9606,9671 9611,9675 9615,9677 9620,9678 9622,9679 9624,9684 9626,9685 9627,9685 9622,9685 9626,9689 9628,9694 9633,9699 9637,9699 9637,9704 9636,9708 9637,9709 9638,9707 9639,9705 9642,9707 9647,9710 9649,9711 9653,9716 9649,9716 9648,9720 9650,9721 9648,9723 9648,9726 4648,12726 4653,12731 4655,12734 4660,12730 4661,12733 4664,12733 4665,12735 4670,12737 4674,12741 4674,12738 4675,12740 4675,12737 4675,12742 4678,12743 4681,12746 4677,12751 4675,559 4430,563 4430,565 4435,566 4440,561 4445,562 4447,564 4450,561 4453,563 4453,561 4458,561 4458,562 4453,566 4454,571 4458,571 4460,574 4461,574 4464,579 4466,579 4470,582 4468,586 4470,590 4468,593 4468,594 4470,596 4474,591 4475,591 4480,594 4482,597 4486,593 4486,595 4486,598 4490,600 4492,3600 4497,3598 4497,3598 4494,3599 4493,3600 4497,3600 4494,3604 4498,3604 5498,3600 5497,3602 5493,3602 10493,8602 10498,8606 10494,8605 10495,8606 10496,8605 10500,8605 10500,8603 10499,8601 10502,8602 10505,8603 10501,8608 10503,8608 10508,8609 10503,8610 10505,8613 10504,8615 10506,8616 10508,8612 10513,8613 10517,8615 10520,8617 10521,8621 10524,8624 10524,8624 10524,8624 10519,8625 10514,8626 10519,502 7402,503 7399,506 7404,543 1379,548 1379,550 1380,553 1379,558 1376,556 1376,558 1372,559 1372,560 1377,565 1374,568 1375,568 1379,572 1382,570 1384,575 1386,576 1389,576 1394,579 1398,583 1403,586 1401,586 1401,591 1400,593 1402,598 1407,601 1412,546 1394,550 1396,553 1396,555 1394,4584 3448,4585 3450,4583 3450,4588 3451,4590 3449,4595 3449,4599 3454,4603 454,5603 458,5604 458,5605 453,5610 457,5614 459,5619 463,5621 466,5618 466,5623 465,5627 466,5625 471,5626 476,5630 479,5635 484,9635 488,9639 488,9641 483,9644 484,9649 484,5649 488,5649 492,5651 497,5656 497,5661 499,5665 504,5666 500,5666 497,5666 499,5666 499,5666 501,5670 502,5670 504,5670 507,5673 502,5677 506,4677 507,4682 509,4682 511,3682 510,3679 514,3683 510,3686 515,3684 518,3686 522,3689 527,3690 527,3688 529,3690 533,3692 530,3691 532,3695 529,3696 529,3701 533,3701 535,3699 540,9610 10543,9612 10545,9615 10548,9617 10548,9619 10550,9624 10548,9627 10549,9625 10553,10625 10553,10626 10555,500 7407,500 7407,500 7411,505 7413,505 7411,502 7415,504 7415,508 7411,511 7411,506 7412,506 7410,3506 7411,3507 7415,3509 7417,3511 7417,3513 7418,3516 7422,3518 7422,3518 7426,3513 7430,3515 7435,3520 7435,3521 7437,3526 9437,3526 9434,6526 9437,6526 9438,6526 9438,6527 9441,6528 9439,6523 9441,6518 9445,6522 9446,6526 9447,6529 9451,6529 9455,6530 9459,6532 9457,3532 9460,3536 9461,3537 9466,3541 9466,3544 9466,3546 9468,3549 9467,3553 9470,3551 9470,3551 9474,3552 9473,3547 9473,3547 9473,3547 9476,3552 9481,3553 9486,3555 9490,3556 9491,3559 9495,3560 9493,3563 9494,3563 9494,3565 9495,3565 10495,3568 10496,3573 10501,3574 10501,3576 10502,3578 10503,3578 10504,3580 10508,7580 10505,7578 10508,7578 10511,7578 10508,7581 10508,7582 10511,7577 10510,7577 10514,7573 10516,7578 10520,7580 10525,7581 10530,7585 10532,7590 10535,7594 10540,12594 10540,12591 10545,12595 10548,12595 10543,12597 10547,12597 10542,12595 10545,12595 10546,12600 10550,12605 10550,12606 10546,12604 10548,12605 12548,12605 12546,12607 12548,7607 12552,7611 12557,7608 12557,7608 12553,7611 12553,7610 15553,7608 15550,7610 15551,7607 14551,7607 14556,7606 14561,7602 14561,7602 14566,7601 14565,7606 14565,7605 14570,7608 14568,7609 14571,7613 14572,7614 14572,7616 14574,7613 14573,7615 14570,7618 14570,7615 14574,7617 14575,7614 14578,7616 14582,7617 14584,7617 14584,7618 14589,7622 14590,7619 14592,7624 14593,7628 14596,7632 14601,7627 14601,7629 14603,7629 14603,7630 14608,7631 14611,7626 14611,7628 14611,7628 14616,7624 14617,7619 14618,7624 14618,7626 16618,10626 16620,10624 16620,10629 16619,10633 16624,10636 16624,10638 16624,10643 16624,7643 16625,7643 16630,7643 16625,7647 16629,7648 16628,7649 16633,7650 16633,7650 16634,7645 16635,7646 16632,7642 16635,7643 16635,7643 16630,7638 16634,7640 21634,7645 21633,7650 21634,7651 21639,7652 21641,7655 21636,7651 21640,7654 21635,7655 21637,7660 21640,7656 21643,7661 21644,7663 21645,7667 21642,7669 21644,7674 21645,7674 21649,7677 21647,7672 22647,7672 22650,7667 22650,7667 22647,7671 22646,7672 22648,7673 22651,11673 22653,11672 22654,11670 22652,11671 22656,11673 22656,11674 22654,11678 22658,11678 22656,11675 22659,11680 22659,11685 22664,11687 22659,11687 22664,11687 22664,11692 22669,11696 22673,11701 22678,11696 22683,11696 22687,11691 22688,11695 22683,11691 22688,11696 22691,11695 22691,11700 22695,11702 22693,11705 22696,11710 22699,15710 22700,15712 22704,15707 22708,15712 22708,15715 22708,15720 22709,15725 22712,15723 22714,15724 22719,15727 22718,15727 22718,15731 22713,15730 22715,15734 22717,18734 22722,18729 22724,18725 22728,18729 22732,18733 22734,18736 22730,18740 22733,18740 22735,18742 22731,18741 22732,18744 22736,18749 22735,18754 22739,18754 22741,18756 22745,18758 22746,18760 22750,18764 22751,18764 22753,18764 22754,18767 22750,18767 22753,18767 22756,18772 22761,18777 22757,22777 22757,22780 22760,22776 22758,22776 22760,22772 22760,22775 22760,22777 22762,22774 22759,22775 22764,22772 22764,22767 22766,22768 22771,22771 22771,9589 10527,9593 10528,9598 10533,9600 10534,9597 10534,11597 10535,11602 10539,11603 10544,11598 10543,11601 10543,11605 10544,11609 10545,11611 10542,11615 10540,11615 10542,11616 10544,11619 10544,11621 10544,11623 10542,11619 10544,11620 10549,11616 10549,11618 10550,11619 10552,11622 10555,11622 10556,11623 10556,11621 10556,11625 10561,11625 10564,11625 10566,11628 10563,11630 10567,11628 10572,11626 10575,11628 10575,11632 11575,11636 11576,11638 11577,11638 11578,11638 11581,11639 11579,11643 11574,11646 11573,11650 11574,11647 11579,11648 11580,11653 11581,9571 9513,9571 9516,9571 9516,9574 9521,9572 9525,9573 9528,9573 9529,9578 9531,9583 9526,9581 9531,9576 9535,9578 9533,9583 9535,9583 9539,9587 9544,9590 14544,9595 14544,9598 14545,6598 14549,6598 14551,6599 14552,11599 14556,11602 14558,11598 14558,11598 14561,11602 14565,11603 14565,11603 14564,11603 14568,11604 14573,11605 14568,11607 14568,11607 14570,11607 14572,11607 14567,11611 14572,11611 14571,11607 14571,11609 14569,11605 14569,11606 14570,11606 14573,11607 14577,11610 14578,11609 16578,11609 16582,11607 16579,11605 16581,11606 16576,11605 11576,11608 11578,11610 11583,13610 11583,13614 11578,13616 11582,13617 11587,13617 11583,13621 11585,13626 11589,13621 11589,13621 11591,15621 11591,15625 11591,15630 11595,15631 11596,15634 11598,15638 11603,15642 11608,15643 11612,15642 11614,15646 16614,15648 16610,15648 16614,15648 16614,15647 16614,15652 16611,15654 16616,15655 16611,15651 16612,15655 16615,15659 16617,18659 16616,18660 16611,18660 16616,18664 16621,18668 16626,9673 12604,9674 12605,9676 12605,9679 12605,9682 12606,9680 12606,9680 12609,9681 12612,9684 12616,9688 12620,9691 12624,9686 12621,9686 12625,9686 12630,9684 12634,9686 12634,9687 12639,9686 12637,9683 12634,9685 12632,9689 12632,9689 12629,9692 12629,9692 12632,9695 12636,9693 12641,9692 12645,9692 16645,9694 16646,9698 16650,9698 16651,9693 16651,9693 16652,9693 16655,9692 16652,9693 16655,9689 16658,9689 16658,9692 16661,9696 16665,9698 14665,9701 14668,9702 14664,9703 14663,9702 14667,9707 14667,9711 14672,9716 14673,9719 14677,11719 14673,11720 14674,11721 14672,11725 14672,11729 14667,10729 18667,10732 18667,10727 18669,10730 18665,10732 18670,10737 18665,10737 18670,10742 18674,9742 18674,9741 18675,9742 18676,9746 18678,9751 18677,11751 18679,11751 18684,11753 18687,11757 18692,11757 18690,11761 18691,11761 18692,11766 18697,11769 18701,11771 18696,11774 18697,11774 18701,8613 10517,8611 10522,8611 10522,8616 10521,8619 10523,8622 10521,8623 10518,8623 10518,8624 10518,8624 10521,8629 10523,8633 10518,8635 10514,8640 10514,8642 10514,8646 10514,8647 10517,8644 13517,8649 13518,8653 13522,12653 13522,12653 13526,12657 18526,12653 18527,12657 18532,12660 18535,12656 18537,12660 18539,12658 18537,13658 18541,13657 18545,13657 18547,13660 18551,13665 18554,13665 18556,13665 18559,13665 18556,13668 18560,13672 18564,13672 18566,13676 18568,13676 18568,16676 18568,16681 18568,16678 18568,16682 18573,16681 18577,16686 18575,16686 18571,16686 18576,16684 18578,16684 18578,16681 18581,16684 18584,16683 18586,16687 18581,16682 18583,16677 18582,16676 18583,16681 18585,16679 14585,16677 14590,16682 14591,16686 14587,16691 14587,16696 14585,16696 14583,16697 14587,16702 14589,16704 14594,16699 14594,16704 14594,16704 14599,16705 14604,16708 14608,16713 15608,16717 15613,16721 15618,16721 15623,16724 15628,19724 15630,19726 15627,19729 15628,19725 15626,19720 15631,19724 15635,19728 15634,19729 15632,19730 15630,19733 15633,19734 15634,19736 15636,19741 15634,19739 15634,19744 15634,19749 15630,21749 15633,21747 15637,21749 15641,21749 15641,21745 15645,21748 15650,21749 15655,21751 15660,21753 15660,21755 15656,21752 15658,21751 15658,21753 15658,21754 15661,21754 15665,21754 15667,21757 15668,21753 16668,21753 16670,21757 16673,21759 16670,21756 16670,21760 16673,21757 16676,21761 16680,21765 16685,21768 16686,21769 16690,21769 16688,21769 16686,21766 16686,21768 16688,21773 16687,21778 16690,21781 16690,21780 16694,21780 16693,24780 16695,24777 16700,24782 16702,24787 16701,24787 16697,24787 16700,24792 16704,24787 16701,24788 16701,24789 16706,24792 16706,24797 16706,24800 16710,24805 16711,24805 16715,24810 16710,24809 16714,24813 16717,24817 16718,24817 16720,24819 16722,24815 16725,24812 16727,24811 16727,24814 16730,24819 16726,24821 16729,24826 16731,24830 16736,23830 16741,23826 16746,23827 16747,23829 16749,23833 16752,23835 11752,27835 11757,27837 11756,27834 11756,27835 11757,27838 11759,27833 11763,27834 11766,27839 11770,27844 11770,27849 11772,27849 11773,27849 11773,27854 11777,7581 10530,7582 10533,7581 10529,7583 10530,7584 10529,7584 10533,7582 10535,7586 10535,7589 10530,7592 10526,7592 10529,7589 10525,7592 10528,7596 10524,7600 10529,7602 10530,7599 10530,7594 10531,7598 10526,7601 10531,7605 10535,7609 10539,7612 10544,7610 10544,7612 10540,7608 10541,7610 15541,7613 15546,7617 15548,7618 15547,7620 15544,7620 15546,7621 15547,7624 15551,7628 15554,7631 15558,7631 15553,7636 15556,7637 15558,7637 15554,7641 15556,7644 15556,7648 15559,7651 15560,7647 15563,7650 15564,7650 15559,7652 15561,7650 15562,7651 15562,7651 15567,7655 15568,7653 15569,2653 15573,2657 15577,2662 15579,2663 15582,2663 15587,2665 15589,2669 15589,2669 15587,2673 15591,2673 15595,2677 15597,2677 15599,2680 15601,2683 15606,2687 15606,2683 15609,2688 15606,2692 15607,2693 15607,2698 15610,2698 15611,7698 15613,7702 15616,7704 15618,7699 19618,7703 19620,7698 19624,7698 19624,7701 19627,7699 19628,7704 19624,7708 19622,7712 19617,7714 19615,7710 19612,7715 20612,3715 24612,3720 28612,3724 28610,3727 28610,3728 28608,3725 28603,3729 28605,3733 28604,3734 28603,3737 32603,3739 32606,3740 32609,3739 32613,3738 32613,3735 32615,3739 31615,3739 31610,3743 31606,6743 31601,6743 31603,8743 31601,8743 31605,8748 35605,8748 35610,8752 35615,8751 35615,8752 35620,8755 35620,8760 35620,8765 35624,8760 35627,8764 35626,8761 35631,8763 35635,8767 35636,8767 35632,8767 35635,8771 35630,8775 35631,8778 35632,8775 35632,3775 35633,3775 35637,3774 35639,3772 35641,8772 35645,8772 35645,8773 35648,8768 35651,8764 35651,8769 40651,8764 40653,8767 40653,8770 40654,8771 40657,8775 40658,8777 40663,8779 40666,8783 40670,8783 40674,8787 40675,8789 40670,8789 40674,8792 40672,8795 40675,8796 40672,8800 40676,8800 40676,8800 40679,498 7392,503 7390,504 7390,507 7395,509 7395,509 7397,514 7400,6529 9451,6529 9451,6524 9451,6527 9452,6527 11452,6527 11456,6528 11457,6529 11458,6531 11461,6535 11463,6535 11467,6530 11472,6532 11472,10532 11473,10533 11473,10537 11476,10540 11473,10540 11473,10544 11474,10544 11474,10544 11472,10544 11470,10539 11475,10539 11478,10542 12478,10545 12483,10546 12488,10547 12492,10552 12493,10552 12490,10556 12490,10558 12493,10560 12495,10555 12496,10557 12491,10556 12491,10556 12490,10553 12494,10558 12497,10559 12502,10564 12505,21753 16670,21754 16672,26754 16674,26757 16676,26761 16679,26756 16682,26761 16683,26763 16684,26766 16689,26771 16692,28771 16687,28774 16687,28776 16692,28777 16695,28781 16695,28785 16690,28789 16691,28786 16688,28789 16690,28792 16688,28793 16687,28795 16690,28793 16695,28791 16692,28793 16695,28790 16696,28790 16700,28792 16700,28793 16701,28794 16701,28794 13701,28796 12701,28799 12701,28799 12706,28800 12701,28801 12705,28803 12708,28807 12708,28808 15708,28810 15712,28811 15709,28813 15709,28813 11709,28817 11709,7618 14589,7620 14587,7625 14589,7626 14584,7631 14586,7632 14588,7637 14589,7642 14592,536 1374,540 5374,542 5378,542 5383,-2458 5388,-2457 5388,-2455 5393,-2452 5393,-2452 5391,-2448 5389,-2448 5390,-2449 5393,-2445 5388,-2441 5392,-2436 5397,-2432 5397,-2430 5397,-3430 5399,-3429 5404,-3430 5405,-3427 5407,-3422 5409,-3421 5411,-3421 5411,-3421 5407,-3417 5410,-3418 5410,-3422 2410,-3417 2414,-3416 2418,-3412 3418,-3407 3422,-3407 3426,-3406 3429,-3404 3433,-3403 3435,-3398 3439,-2398 3441,-2399 3442,-2397 3446,-2395 3447,-2394 3443,-2398 3445,-2398 3443,-2393 3446,-2391 3450,-2387 3451,-2390 3455,-2385 3457,-2383 3457,-2382 3462,-2379 3467,-2384 3467,-2383 3467,-2381 3470,-2383 3471,-2385 3474,-2383 3479,-2383 3481,-2383 3479,-2382 3484,-2380 3489,-2385 3487,-2384 3490,-2384 3490,-2383 3492,-2383 3495,-2378 3499,-2377 3495,-2378 3498,-2375 3500,-2375 3505,-2373 3503,-2373 3505,-2374 3505,-2374 3506,-2369 3511,-2364 3516,-2361 3516,-2356 3520,-2354 3524,-2353 3529,-2356 3533,-2351 3538,-2354 3542,-2349 3545,-2349 3547,-2347 3550,-2352 3547,-2355 3551,-2353 3556,-2353 3556,-2349 3554,-2352 3553,-2351 3558,-2348 3554,-2346 3556,-2344 3559,-2347 -441,-2352 -437,-2348 -440,-2345 -435,-2343 -440,-2343 -436,-2339 -432,-2339 -431,-2337 -429,-2337 -434,-2341 -431,-2345 -427,-2349 -426,-2350 -422,-2348 -418,-2344 -415,-2349 -415,-2345 -413,-2345 3587,-2344 3583,-2344 3580,-2339 5580,-2335 5583,-2336 5582,-2331 5587,-2330 5582,-2329 5582,-2337 -434,-2333 -433,-2330 -2433,-2327 -2435,-2331 -2433,-2328 -2433,-2328 -2429,-2325 -2429,-2320 -2428,2680 -2428,2684 -2424,2685 576,2685 579,2682 582,2684 584,2679 584,2674 585,2671 587,2673 583,2673 581,2677 581,2680 580,2681 584,2684 580,2681 582,2685 585,2690 583,690 587,691 584,694 584,694 585,692 583,694 584,693 588,28793 16695,28791 16694,28793 16698,28797 16703,28798 16707,28797 16712,28797 16715,28795 16717,28799 16712,28795 16710,28800 16707,28805 16705,28807 16702,28802 16705,28803 16701,28805 16703,28803 16698,28803 16700,28805 16704,28809 16699,28812 16702,28808 16703,28813 16700,28817 16703,28819 16704,28816 16709,28812 16708,28809 16708,28809 16707,28814 16709,28812 16712,28807 16717,28807 16717,28809 16717,28807 16717,28811 16717,28814 16722,28815 16719,28819 16719,28819 16724,28819 16726,28814 16727,28814 16722,28817 16726,28820 16730,28821 16730,28816 16733,28821 16737,28823 16741,28818 16741,28822 16744,28819 16747,28815 16748,31815 16748,31819 16748,31817 16746,31818 16749,31819 16747,31817 16748,31820 16746,31816 18746,31820 18746,31815 18742,31815 18744,31818 18740,31819 18735,31824 18735,31829 18738,31834 18742,31837 18745,31837 18748,31842 18749,31847 18749,31851 18749,31854 18750,31854 18749,31852 18752,31847 18754,31850 18758,31855 22758,31857 22760,31861 22759,31859 22761,31856 22764,31856 22768,31856 22768,31856 22770,31858 22765,31863 22766,31862 22770,31860 22772,31856 22776,31861 22775,31866 22780,31870 22780,31871 22782,31871 22779,31866 22781,31870 22781,31870 22786,31873 22786,31877 25786,31877 25791,31877 25796,31880 25800,31882 25804,31885 25809,31885 25812,31886 25815,31888 25815,31890 25820,31890 25821,31889 25821,31885 25817,31889 25814,31887 25815,31890 25819,31892 25820,31896 25816,31897 25817,31902 25818,31904 25823,31908 25825,31910 25828,31914 25825,31909 25825,31912 25829,31907 25829,31911 25834,31912 25838,31911 25837,31914 25837,31918 25836,31918 25831,31914 25831,31912 25826,32912 25830,32915 25833,32911 26833,32912 26834,32915 26839,32913 26839,32915 26835,32917 26837,32922 26832,32924 26834,32926 26835,32921 26840,33921 26835,33923 26836,33927 26837,33925 26833,33926 26836,33931 26837,33929 26837,33932 26842,33934 26842,33935 26847,33940 26850,33935 26848,33931 28848,33929 28852,33925 28849,33927 28849,33929 28852,33927 28850,33929 28854,33931 28854,33935 28854,28935 28854,28935 28849,28938 28854,28942 28855,28944 28860,28942 28861,28941 28863,28942 28860,28942 28856,28947 28858,28951 28857,28953 28861,28953 28860,28956 28863,28957 31863,28957 31867,28960 31869,28962 31869,28964 31872,28965 31877,28969 31881,28965 31882,28967 31886,28969 31888,28964 31892,28960 31895,28961 31893,28966 31896,28967 31901,28963 31903,28961 31908,28964 31908,28964 31904,28960 31904,28961 31905,28960 31905,28965 31906,28966 31909,28967 28909,28967 28909,28970 28910,28966 28914,28965 28918,28966 28918,9626 21498,9621 21498,9622 21501,9618 21504,9621 21505,9624 24505,9622 24505,9625 24508,9626 24511,9631 24516,7631 24512,7631 24507,7632 24506,7635 24504,7638 24507,7636 24502,7639 24507,7644 24508,7648 24512,7648 24512,7650 24512,7651 24514,7655 24517,7659 27517,10659 27520,10661 27524,10664 27523,10666 27528,10666 27523,10665 27524,10667 27529,9667 27534,9670 27534,9668 27534,9667 27533,9670 27533,9670 27538,9670 27540,9675 27538,9679 27538,9683 27543,9680 27538,9682 27540,9685 27545,9683 27546,9683 27547,9678 27548,9680 27548,9684 27549,9685 27545,9690 27546,9690 27548,9692 27550,9697 27553,9698 27557,9702 27553,9702 27548,9702 27549,9706 27551,9701 27551,9701 27551,9697 27546,9696 27549,9697 27553,9699 27557,9698 27558,9696 27560,9701 27556,9705 27552,32912 25830,32913 25829,32916 25830,36916 25828,36916 25831,36916 25835,39916 25837,39911 25842,39913 30842,39910 30844,39910 30845,39908 30848,39911 30852,39913 30856,39918 30857,493 10403,498 10406,498 10406,493 10406,497 10404,493 10409,493 10414,497 10416,496 10418,499 10423,500 10427,505 10429,510 10429,515 10431,515 10433,515 10433,512 10434,5666 500,5666 500,5668 505,5669 509,8669 2509,9669 2505,9672 2505,9675 2509,9670 2510,14670 2513,14675 2512,14671 2512,14673 2513,14671 2517,14674 2515,14679 2520,14676 2524,17676 2519,17677 2520,17678 2523,10558 12497,13558 12492,13558 12490,13560 12494,13561 12499,13563 12503,13568 12508,13572 12512,13572 15512,13573 15515,13569 15518,13566 15522,13571 15522,13572 15522,13575 15527,13576 15532,13573 15534,13575 15535,13572 15538,13574 15541,13571 15546,13571 15541,13568 15541,11605 16581,11608 16576,11613 16575,11612 16577,7612 16581,7614 16582,7617 16587,7616 16591,7617 19591,7619 19595,7620 19598,7624 19598,7625 19599,7624 19595,7625 14595,7627 14597,7626 14599,7628 14604,7628 14605,7633 14610,7632 14615,7632 14620,7631 14621,7631 14621,7631 14621,7627 14621,7632 15621,7635 15626,7636 15627,7637 15631,7633 15636,7635 15636,7631 15631,7631 15631,7634 18631,7630 18632,7629 18633,7632 18630,7633 18631,7638 18632,7638 18632,7638 18633,7633 18638,7637 18642,7639 18639,7639 18641,7643 18643,7647 20643,7648 20647,7643 20643,7648 20640,7649 20645,7650 20641,7650 20642,7650 20645,5650 20646,5654 20646,5654 20643,5651 20645,5648 20645,5653 20650,5653 20650,5654 20653,5655 20655,5659 20660,5664 20664,5668 20669,5668 20672,5670 20677,5675 20677,5678 20677,5680 20678,5680 20680,5679 20680,5682 20683,5681 20681,5682 20682,5685 20682,5685 20687,5685 20691,5685 20694,5685 20696,5685 20698,5686 20697,5688 20698,5688 20697,5688 20696,5689 20696,5694 20701,5695 20700,5697 20704,5697 20708,5694 20708,5694 20708,5694 20713,5691 20713,1691 20713,1689 23713,1694 23714,1696 23714,593 1402,593 1406,595 1410,598 1413,603 1418,602 1422,601 1422,602 1418,606 1423,607 1424,603 1429,605 1433,609 1429,614 1429,610 1429,610 1429,614 1429,610 3429,612 3425,616 3429,620 3429,624 3432,628 3436,628 3436,628 3441,632 3441,628 3445,626 445,631 449,631 453,630 455,626 -1545,630 -1542,630 -1538,630 -1542,630 -1541,633 -1536,631 -1534,626 -1536,630 -1535,630 -1532,635 1468,637 1471,642 1476,642 1477,642 1478,643 1481,643 4481,638 7481,638 7483,643 7486,645 7484,9668 27534,9669 27537,9671 27538,9672 27539,9673 27544,9674 27544,9673 27546,9671 27546,9667 27542,9666 27546,9667 27543,9672 27544,9675 27548,9676 27546,9676 27541,9681 27538,9681 27540,9686 27544,9686 27547,9690 27544,9687 27545,9691 27549,9693 24549,9694 24546,9692 24548,9697 24553,9694 24555,9695 24560,9696 24555,9700 24551,9704 24547,9703 24549,9705 24551,9705 24554,9705 24554,9705 24557,9707 24561,9706 24557,9711 24562,9715 24566,9720 24568,9717 24569,9720 24573,9725 24573,9726 24575,9729 24577,9734 24575,9735 24578,9735 24582,9731 24583,9726 24586,9727 24586,9728 24589,9733 24592,9734 28592,9734 28592,13734 28594,13737 28595,13740 28595,13744 28598,13739 28600,13742 28601,13744 28597,13742 28602,13744 28602,13744 28598,13745 28603,13744 28608,13749 28609,13749 28609,13754 28606,13758 28610,13759 28609,13760 23609,13761 23611,13763 23616,13768 23618,13769 24618,13768 24617,13773 24613,13773 24613,13778 24617,13776 24620,13778 24619,13779 24620,13781 24625,13785 24625,13785 24622,16785 24617,16786 24617,16790 24617,16794 24622,16795 24626,16798 24630,16796 24631,16796 24636,16799 24638,16804 24637,16808 24637,16809 24632,16814 24627,16809 24627,16814 24632,16818 24628,16816 24627,16820 24622,16820 24627,16824 24632,16823 24637,16824 24642,16826 24644,16824 24648,16826 24648,16826 24652,16829 24652,16829 24656,16828 24651,16832 24653,16827 24648,16828 24645,16828 24647,16831 24645,16832 24649,16835 24653,16839 24656,16839 24654,16840 24659,16841 24658,16845 27658,16845 27658,16840 27659,16837 27659,19837 27654,19841 27654,19836 27657,19839 27659,19839 32659,19839 32659,19839 32664,19840 32668,19842 32671,19847 32671,19851 32673,19856 29673,19856 29670,19858 29675,19860 29676,19865 29677,19868 29677,19868 29674,19872 29675,19872 29674,19874 29669,19876 29667,19876 29670,19878 29675,19883 29675,19883 29675,19879 29676,19879 29673,19880 29674,19880 29679,19876 29676,19876 29677,19879 29673,19880 29677,19879 29678,19881 29681,19882 29683,19882 29681,19887 29681,19888 29681,19891 29684,19896 29688,14896 29689,14896 29693,14899 30693,14903 30698,14908 25698,14910 25698,14911 25698,14914 25699,14910 25695,14910 25696,14914 25697,14917 25692,14921 27692,14925 28692,14920 28694,14924 28698,14924 28699,11924 28697,11928 28692,11932 28687,11937 28691,11941 28694,11940 28699,11944 28701,11940 28701,11940 28701,11943 28699,11945 28703,11947 28706,11951 28711,11953 28714,11956 28709,11961 28708,11966 28703,11969 28705,11967 28709,11967 28714,11964 28719,11969 28719,14969 28720,14970 28717,14973 28714,14976 32714,14976 32711,14977 32711,14980 32709,14984 32709,14987 32711,14988 32715,14993 32719,14994 34719,14994 34721,12994 34724,12994 34726,12998 34727,13000 34729,13002 34729,17002 34732,16998 34736,16999 34735,17000 34740,16999 32740,17001 32745,17001 32741,17005 32746,17006 32751,17010 33751,17008 33754,17013 33758,17013 33760,17010 33759,17010 33759,17009 33762,17013 33766,17017 33766,17020 33762,17015 33766,17019 33762,17022 33762,17017 33766,17014 33762,17018 33767,17019 33764,17021 33764,17023 33764,17019 33764,17022 33760,17024 33758,17029 33759,17033 33760,17028 33764,17023 33764,17028 33769,17031 33774,17034 33778,17029 33780,17034 33783,17030 33785,17032 33781,17035 33776,17038 33775,17040 33775,17041 33778,17045 33778,17049 31778,17050 31782,17052 31780,17054 31781,17051 31783,17053 31783,17049 31779,17050 31779,21050 31782,21053 31783,21054 31778,21056 31781,22056 31786,22052 31783,22050 31786,31882 25804,31887 25800,31887 25801,9610 10543,9612 10548,9614 10553,9614 10558,9614 10553,9616 10556,9620 8556,9623 8554,9628 8559,9630 8564,9630 8568,9628 8566,9628 8570,9630 8574,9634 8574,9634 8570,9635 8569,9635 8566,9632 8568,9637 8571,9638 8572,9639 8568,9643 8568,9646 8572,9646 8570,9651 8575,9650 8578,9653 8581,9654 8583,9653 8586,9655 13586,7655 13586,7660 13591,4660 13590,4663 13590,4666 13592,4671 13597,4673 13596,4678 13599,4682 13600,4685 13601,4683 13603,4685 18603,4683 18604,4685 18606,4690 18608,4690 23608,4693 23606,4693 23606,4697 23603,4702 23608,4704 23613,4704 23615,4709 23614,4708 23615,4711 23619,4711 23619,4713 23622,4713 23626,4711 23630,4715 23631,4712 23635,4714 23640,4718 23640,4719 23642,4721 23640,4721 23639,4726 23644,4730 23648,4725 27648,4723 27648,4727 27651,4731 27654,4733 27656,4737 27657,4742 27660,4745 27661,4750 27660,4751 27664,4754 27659,4759 27659,4755 27664,4757 27665,4752 27665,4754 27667,4750 27670,4750 27674,4753 27678,4753 27682,4758 27682,4758 27683,4760 27679,4762 27679,4764 27682,4769 27678,4773 32678,4773 32675,4771 32675,4767 32679,4772 32684,4775 32684,4778 32684,4775 35684,4775 35679,4775 35680,4779 35683,4779 35683,4784 35683,4789 35680,4790 35685,4791 35687,4791 35688,4792 35683,4792 35688,4792 35688,4797 35690,4799 35693,4803 35692,4803 35694,4803 35695,4808 35695,4812 35698,4816 35702,4815 35706,4811 35711,4811 35708,4813 35710,4813 35710,4814 35714,4815 35718,4820 35722,4816 35719,4819 35719,4824 35722,4826 35719,4830 35724,4832 35728,4835 35725,4840 35726,4840 35729,4840 35733,4840 35733,4841 35732,4844 35728,4848 35730,4849 35733,4849 35734,4849 35736,4847 35737,4847 35738,4843 34738,4846 34739,9846 37739,9850 37743,9853 37745,9857 37749,9852 37752,9852 37751,9852 37748,9852 37751,9851 37753,9848 37756,9843 37759,9841 37759,9840 37764,9837 37767,9842 37764,9845 37764,9840 37765,9842 37770,9842 37774,9846 37775,9851 37778,9854 37783,9854 37779,8854 37783,8851 37787,8856 37791,8859 37794,8860 37793,8855 37794,8857 37798,8859 37797,8860 37797,8860 37802,8861 37804,8863 37804,8863 37805,8865 37808,8866 37811,8866 37811,8862 37811,8859 37811,8864 37816,8864 37816,8867 37817,8872 37819,8867 37822,8871 37819,8875 37817,8876 37819,8876 37822,8871 37818,8873 37823,8877 37822,8879 37820,8880 37824,8881 37826,8884 37825,8887 37827,8884 37829,6637 6475,6637 6471,6635 6469,6640 6474,6641 6478,11641 6476,11644 6471,11639 6467,11638 6464,11642 6464,11646 6459,11647 6462,550 1394,551 1395,552 1399,548 1401,552 1400,547 1405,551 1406,556 1407,558 1410,558 1411,560 1413,565 1418,561 1423,-2378 3499,-2378 3502,-2378 3504,-2374 3501,-2371 3505,-2367 3507,4607 5468,4611 5471,4614 5472,4619 8472,4621 8473,4624 8477,4629 8474,4633 8476,4635 8478,4638 8475,4640 3475,4642 3479,4645 5479,4645 5482,4644 5486,4641 5486,4639 5488,4635 5491,4631 5488,8631 5485,8635 4485,8630 4488,8628 4488,8630 4486,8635 7486,8640 7482,8641 8482,8642 8483,8643 8483,8643 8483,8640 8488,8641 8489,8638 8487,8641 8491,500 5370,502 5368,504 5369,504 5371,506 5375,505 5376,509 5381,509 5381,504 5380,505 5375,509 5379,513 5382,513 5382,515 5382,517 5379,3517 5381,3519 5381,3520 5384,3523 5387,3521 5388,3521 5390,3520 5385,3519 5380,4519 5383,4524 5387,4523 5392,4525 5389,4530 5384,4525 5384,4526 5386,4531 5390,4531 5387,4530 5389,4534 5388,4538 5391,4541 5386,4542 5390,7542 5393,7547 5398,7548 5399,7547 5397,7543 5401,7544 5405,7545 5403,7545 5408,7546 5409,7550 5414,3550 5416,3550 5417,3548 5417,3543 5417,3543 5412,3548 5412,548 5412,552 10412,555 10414,557 10410,560 10411,563 10416,2563 10418,2564 10422,2559 10426,2555 10423,2560 10421,2563 10418,2565 10419,2569 10421,2573 10421,2573 12421,2572 12425,2571 12428,2576 12428,2581 12433,2583 12435,2581 12434,2576 12439,2581 12442,2581 12443,2581 12438,2579 12442,2575 12447,2573 12445,2577 12445,2582 12441,2587 12436,2589 16436,2590 16433,2586 16437,2586 16439,2588 16434,2589 16436,2590 16433,2593 16434,2590 16432,2593 16432,2590 16437,2594 16439,2599 16442,2600 16447,2605 16450,2605 16454,2604 16451,2608 16447,2612 16442,2613 16446,2618 16451,2623 16455,2626 16457,2629 16457,2630 16460,2630 16460,2632 16464,2636 16464,2639 16467,2638 16471,2643 16476,2643 16479,2645 16484,2645 16481,2649 16482,2652 16480,2648 16476,2649 16476,2649 16481,2644 16485,6644 16488,6647 16488,6647 20488,6647 20493,6652 20497,6656 20498,6661 20503,6656 20507,6656 20511,6656 20512,7540 11429,9674 12603,11674 12599,11675 12594,11674 12599,11678 12601,11681 12603,13681 12603,13684 12603,13684 12603,13686 12603,13689 12603,13693 12605,13695 12601,13695 12603,13697 12602,13701 15602,13703 15603,13704 15601,13706 15597,13711 15598,13711 15603,13715 15603,13714 15600,13713 15598,13717 15603,13722 15605,13726 15607,13727 15612,13727 15612,13731 15614,13733 15616,13728 15616,13730 15617,13734 15614,13736 15617,13739 15614,13739 15617,13739 15617,13741 15619,13746 15624,13742 15624,13742 15626,13746 15626,13750 15623,13749 15621,13754 15626,12754 15627,12750 15627,12753 15624,12754 15624,12758 15629,12759 15624,12761 15627,12764 15632,12765 15637,12768 15635,12772 15640,12769 15636,12772 15634,12773 15634,12772 15634,12775 15635,12772 15640,12774 15641,12777 15641,12779 15646,12780 15642,12776 15640,12780 15640,12779 15638,12784 15642,12789 15643,12787 15644,12788 15649,12791 15649,12789 15648,12787 15648,12791 15650,7791 15655,7795 15655,7798 15658,7802 15659,7803 15655,7804 15654,2804 15652,2808 15648,2806 15652,2805 15652,2806 15657,2801 15657,2801 15658,2801 15655,2803 15654,2808 15658,2804 15653,2803 15656,2807 15656,2812 15658,2814 15657,2818 15658,2818 15660,2822 18660,2825 18664,2829 18668,2833 18663,2832 18668,2832 18668,2834 18671,2836 18672,2839 18677,2843 18680,2848 18675,2851 18677,2854 18681,2859 18685,2864 18690,2868 18694,2873 21694,2877 21694,2879 21693,2881 21693,2882 21696,2885 21697,2883 21701,2887 21702,2887 21702,2887 21697,6887 21701,6892 21702,6888 21707,3576 10502,3578 10506,3582 10508,3585 10508,3590 10512,3592 11512,3593 11514,3598 11514,3602 11514,3599 11515,3599 11516,3601 11520,3601 11519,3599 11522,3599 11519,3601 11517,3600 11515,3600 11517,3596 11519,3600 11521,3603 11525,3606 11528,3607 11532,3608 11536,3606 11541,3605 11541,3605 11542,3609 11537,3613 11538,3609 11538,3605 11538,3605 11542,3609 11546,3613 11541,3613 11546,3612 11547,3611 11551,3614 11548,3610 11550,3611 11555,3611 11559,3615 11559,3618 11563,3621 11564,3618 11567,3620 6567,3624 6567,3627 6570,3623 6572,3619 6576,3616 6577,3611 6578,3612 6579,3609 6578,3610 6582,3613 6586,3614 6586,3619 6584,3622 8584,3617 8582,3622 8587,3622 8592,3624 8592,3627 8587,3628 13587,3629 13589,3631 13594,3636 13589,3636 13590,3637 13587,3637 13591,3641 13596,3641 13597,3645 13602,3640 13601,3640 13602,3640 13606,3644 13606,3644 13609,3639 13612,3639 13612,3644 13610,3649 13615,3654 13618,3659 13618,3662 13618,3666 13620,3661 13625,3660 13630,3660 13634,3662 13635,3659 13637,3663 13638,3666 13638,3669 13635,6669 13635,6671 13631,6672 13631,6669 13631,6667 13629,6663 13629,6663 13627,6663 13627,6667 13630,6671 13630,6671 13630,6673 15630,6674 15631,6679 15632,6682 15629,6685 15629,6686 15631,6691 15633,11691 15630,11689 15629,11693 15632,11693 15627,11698 15627,11695 15626,11697 15629,14697 15628,14701 15631,14705 15632,14700 15632,17700 15635,17705 15640,17700 15642,17701 15638,17703 15640,17708 15641,17712 16641,17716 21641,17716 21645,17721 21645,17720 21650,17720 21653,17720 21653,17722 21653,17718 21654,17721 21657,17723 21657,17724 21657,17720 21659,17723 21663,17725 21660,17725 21661,17723 21661,17727 21665,17727 21665,17731 21669,17729 21671,17731 21671,17727 21671,17727 21667,17726 21670,17722 21671,17727 21671,17732 21671,17737 21671,17739 21674,17741 21676,17746 21680,17750 21683,17745 21681,17745 21678,17750 21679,17753 21681,17758 21677,17760 21682,17764 21681,17763 21681,17763 21684,17766 21680,17768 21684,17764 21688,17769 21691,17771 21695,17773 21691,17776 21690,17777 21695,17781 21695,17784 21695,17784 21695,17786 21699,14786 21695,14786 21692,14786 21690,14788 21691,14788 21696,14793 21698,14798 21701,14796 21699,14800 21702,14796 21704,14800 26704,14805 26699,14810 26700,14810 26698,14814 24698,14814 24702,14814 24705,14815 24700,14819 24703,14822 24705,14826 24710,14831 24709,14833 28709,14835 28710,14838 28708,14839 28708,14842 28709,14847 28713,14843 28714,14847 28712,14850 28717,14847 28713,14851 28711,14854 28706,14853 28702,14848 28697,14852 28702,14857 28706,14857 28710,14858 27710,14861 27711,14864 27714,17864 27715,17864 27716,17864 27713,17869 27715,17870 27719,17871 27720,17869 27720,17872 27724,17871 27729,17873 27729,17875 27733,17877 28733,17881 28730,17881 28727,17884 28728,17886 28733,17886 28734,17891 28735,19891 28735,19892 28731,19896 28732,19891 28736,19895 28740,19898 28737,22898 28738,22898 26738,22898 26733,22899 26738,22900 26738,22901 26742,22901 26744,22896 26744,22899 26746,22901 26751,22899 26754,22904 26756,22906 26761,22909 26761,22914 26766,22915 26765,22918 26768,22913 26768,22915 26763,22920 26763,22917 26764,22921 26765,22922 26769,22918 26764,22920 26765,22919 26768,26919 26771,26922 26774,26927 26779,26924 26778,26924 26780,26920 26782,26924 26787,26922 26788,26925 26792,26927 26787,26928 26790,26933 26794,26933 26795,26936 26795,26939 26800,26939 26798,26936 26798,26939 26795,26937 26795,26937 26793,26937 28793,26939 28791,26940 28793,26937 28796,26937 28797,26935 28798,26930 28798,26934 28802,26934 28807,26936 28811,26940 28812,26937 28815,26939 28814,26934 28812,26938 28817,26942 28822,26943 28822,26948 28822,26952 28824,26953 28824,26953 28829,26950 28834,26954 28839,26954 28839,26949 29839,21949 32839,21951 32838,21951 32843,21951 32844,21951 32849,21951 32854,21953 32854,24953 32852,24953 32851,24957 32853,24962 32854,24963 32849,24967 32847,24970 32849,24966 32849,24967 32852,24963 32856,24965 32860,24968 32861,24971 32860,24974 32860,24978 32863,24980 32859,24981 32864,24981 32868,24983 32866,24988 32866,24988 32869,24991 32874,24992 32878,24992 32881,24992 32877,24988 32880,24991 36880,24991 36883,24991 36885,24992 36889,24996 36894,24995 36894,24998 36894,24999 41894,25004 41899,25006 41900,25010 41905,25005 41909,25007 41912,25008 41916,25009 41919,25011 41917,25016 41919,25017 41916,25014 41919,25015 41919,25017 41919,25018 41924,25023 41927,25026 41928,25026 41929,25021 41926,25020 41926,25023 41928,25019 41933,25018 41932,638 7483,639 7484,640 7482,644 7484,646 7486,651 7486,554 1390,549 1391,547 1392,551 1397,3551 1394,3553 6394,3550 6399,3554 6399,3553 6403,3553 6400,3550 6403,3554 6398,3555 6402,3559 6403,3564 6405,3564 6410,3560 6412,3565 6412,3564 6407,3567 6407,3572 6410,3576 6412,3578 6413,3580 6414,11674 22654,11679 22654,11679 22654,11679 22656,11684 22658,11689 22661,11694 23661,11697 23658,11697 23661,11698 23664,11700 23667,11695 28667,11698 28671,11699 28672,11704 28675,12704 28671,12708 28669,12710 28673,12707 28678,12708 28678,12710 28677,12710 28677,12712 28675,12713 28679,12715 28676,12715 28680,12719 28681,12724 28678,12728 28673,12733 28676,12733 28673,12734 28673,12739 28677,12743 28679,12744 27679,12741 27680,12741 27680,12740 27682,12741 27678,12740 27680,7740 27684,7743 27686,7738 27683,7740 27683,7740 27686,7736 27690,7736 27693,7739 27691,7735 27686,7739 27686,7737 27686,7737 27688,7732 27689,7732 27689,7731 27684,7736 27689,7741 27692,7739 27697,7740 27702,7738 27703,7741 27706,7746 27704,2626 16457,2627 16460,2623 16461,2618 16461,2620 20461,2622 20457,2623 20457,2628 20457,2632 20462,2629 20462,2630 20462,2628 20457,2633 20460,2632 20460,2637 20460,2639 20457,2639 20457,2639 20461,2641 20460,2646 20460,2651 20461,2650 20461,2651 20464,2656 20460,2660 20463,2665 20464,2667 20464,2668 21464,2671 21468,2676 21471,2673 21476,2590 16437,2591 16434,2596 16436,4596 16438,4600 16439,4600 16439,4601 16439,4599 16435,4599 16440,4597 16441,4598 16446,4598 16447,4595 16445,4590 16447,4594 16447,4595 16447,4598 16447,4598 16449,4596 16451,4598 14451,4596 14456,4598 14457,4594 14452,4598 14457,5598 14457,5598 14458,2598 14463,2600 14463,2603 14464,2598 14465,2595 14470,2590 14467,2594 14470,2595 14471,2598 14473,2598 14473,2599 14473,1599 14474,1599 14472,1600 14467,1599 14470,1601 14468,1599 14463,1601 14461,1601 14461,1601 14466,1602 14468,1606 14473,1602 14473,1600 14475,1595 14478,1599 14479,1596 14479,1596 14484,1596 14488,1601 14489,1604 18489,1606 18492,1604 18492,1605 18496,1605 18496,1608 18501,1603 18498,1608 18500,1612 18497,1608 18492,1604 18494,1609 18497,1609 18499,1606 18499,1608 18501,1610 18503,1606 18499,1610 18500,1614 18501,1617 18497,1620 18498,1616 18501,1614 18496,1615 18500,1617 18497,1619 18498,1617 18501,1622 18506,1622 20506,1625 20506,1625 20509,1627 20513,1631 20514,1633 20519,1637 20520,1639 20525,1643 24525,1638 24520,1642 24520,1647 24525,1650 24529,1654 24530,1657 24533,1656 24538,1659 24542,1659 24545,1662 24550,1666 24551,1666 24552,1666 24557,1666 24562,1666 24565,1669 24568,1672 24569,1672 24569,1676 24566,1676 24570,1678 24565,1676 24567,1673 24567,1674 24572,1679 24577,1679 24578,1683 24581,1684 24586,1688 24590,1690 27590,1685 27594,1688 27594,1683 27594,1686 27597,1688 27600,1692 27599,1696 27600,1695 27604,1695 27609,1698 27610,1701 27610,1705 27609,1706 27605,1709 27600,1714 27600,1716 27602,1717 27601,1712 27597,1714 30597,1711 30600,1713 30600,1713 30604,1714 30604,1716 30602,1713 30605,1710 30606,1713 30609,1709 30607,1713 30604,1714 30609,1717 30609,1717 30613,1721 30615,2721 30620,2718 30623,4718 30628,4723 30624,4727 30619,4728 30618,4728 30615,4728 30619,4729 30618,4731 30622,4731 30625,4734 30625,4734 30630,4735 30627,4736 30631,4735 30636,4730 30641,4727 30641,4729 30646,4731 30650,4736 30651,4740 30648,4737 30648,4738 30647,4741 30649,5741 30646,5744 30648,5745 30651,10745 30651,13745 30653,13749 30651,13754 30652,13754 30657,13754 30657,13758 30653,13761 30656,13766 30655,13768 30659,13769 30662,13771 30659,13771 30661,13771 30665,13768 30670,13768 30667,13772 30670,13776 30672,13775 30672,13777 30675,13780 30679,13783 30677,13784 30678,13784 30674,13788 30674,13788 30678,13784 30678,13787 30683,13792 30683,13791 30679,13794 30679,13795 30682,13795 30686,13798 30691,13803 30692,13807 30694,13810 30694,13810 30692,13813 30694,13813 30689,13816 30689,13820 30689,13822 30692,13826 30696,13822 30701,13827 30704,13832 30707,13832 30707,13828 30707,13831 30712,13831 30709,13834 30706,12834 30707,12839 30703,12843 30707,12843 30703,12843 30706,12848 30710,12849 30715,12853 30713,12853 30716,12852 30718,12849 30721,12849 30719,12852 30719,12853 30714,12856 30712,12856 30714,12857 30719,12862 30720,12865 25720,12863 25723,12864 25724,12868 25729,12869 25731,12868 25736,12869 25739,12865 25737,12863 25739,12866 25743,12862 25747,12867 25747,12867 25748,12867 25748,12870 25748,12866 25748,12869 25749,12869 25751,12874 25754,12875 25758,12877 25761,12878 25763,21745 15645,21749 15645,21753 15646,21753 15648,21758 15652,21754 15654,21759 15654,21762 15658,21766 15663,21761 15663,21761 15665,21758 15666,21761 15668,21763 15666,21765 15662,21770 15666,21773 15671,12742 4678,12743 4682,12740 4687,12745 4692,12745 4688,12748 4689,12748 4692,12752 4696,12754 4697,12754 4700,12758 4703,12758 4703,12762 4704,12762 4709,12762 4711,12760 4713,12760 4717,12764 4713,12767 4712,12767 4712,12768 4715,12767 4720,12770 4716,12770 4712,2569 10421,2572 10423,2576 10424,2579 10428,2580 10423,2582 10424,2578 10422,2577 10426,2577 10428,2580 10433,2580 10433,2581 10432,2580 10435,2584 10435,2588 10439,2587 10444,2592 10445,2589 10446,2591 10447,2594 10446,2597 10445,2599 10440,2602 10443,2603 10443,2605 10444,2605 10449,2607 10449,2602 7449,2605 7449,2608 12449,2605 16449,2605 17449,2605 17450,2608 17454,2612 17459,2607 17459,2608 17456,2613 17457,2617 17459,6617 17462,6621 17467,6621 17468,6626 17464,6622 17465,6622 17465,6623 17469,6623 17466,6623 17467,6627 17466,6623 17466,6626 17463,6622 17468,6625 17464,6627 17468,6625 17463,6626 18463,6624 18463,6625 18464,6623 18468,6623 18469,6626 18470,6621 18466,6621 18467,6622 18467,6625 18464,6630 18468,6628 18469,6631 18472,6627 18477,6628 21477,6631 21481,6627 21486,6628 21490,6632 21494,6637 21496,6640 21491,6643 21491,6648 21490,1648 21492,1650 21489,1650 21487,1654 21488,1653 21489,1653 21492,1650 21493,1655 21493,1650 21493,1651 21490,1651 21490,1649 21493,1645 21498,1649 21494,1652 21495,1654 21500,1655 21495,1658 21492,1663 21496,1666 21500,1666 19500,1664 19504,1668 19508,1668 19512,1666 19516,1669 19518,1669 19518,1674 19520,1674 19525,1676 19525,1679 19526,1679 19526,1681 19526,1686 19526,1691 19529,1689 19529,1688 19529,1685 19524,1690 19528,1693 19531,1693 19531,1698 20531,1699 20536,1703 20538,1703 20538,1706 20541,1701 20545,1702 20550,1704 20547,1705 20544,1710 20548,1710 20551,1713 20555,1712 20559,1714 20562,1714 20563,1714 20565,1712 20567,1711 20570,1706 20571,1708 20571,1708 22571,6708 18571,6712 18571,6715 18573,6710 18577,6711 18579,6711 18579,6716 18578,6721 18580,6721 18582,6726 18587,6731 18588,6736 18587,6734 18587,6736 18590,6739 18594,6744 18597,6744 18602,6746 18606,6749 18606,6750 18609,6750 18610,6753 18605,6755 18610,6759 18613,6759 18613,6759 18617,6763 20617,6767 20621,6771 20625,6773 20628,6769 20629,4769 20633,5769 20635,5769 20637,5770 20640,5772 20643,5772 20646,5772 20644,5776 20641,5779 20643,5784 20642,5786 25642,5786 25645,5791 25647,3791 25651,3791 25652,3794 25648,3793 25644,3791 30644,3796 30649,3796 30654,3800 30655,3800 30657,3797 30657,3797 30659,3800 30661,3803 30661,3803 30657,3800 30652,3801 30652,3802 30653,3807 30654,3809 30657,3804 30656,3801 30657,3803 30657,3803 30658,3804 30663,4804 30663,4809 30665,9809 30665,9809 30669,9812 30673,9816 30676,9816 30676,9816 30677,9818 30682,9818 30683,9817 30687,9813 30692,9817 30692,9814 30693,9816 30693,9818 30697,9818 30699,9818 30696,9816 30694,9811 30694,9812 30694,9816 30697,9821 30700,9824 30702,9827 30707,9827 25707,9827 25711,9828 25709,9823 25713,9827 25712,9830 25714,9827 25712,9832 25717,9836 25719,9836 25722,11836 25725,11838 25727,14838 29727,14835 29728,14838 29724,14843 29724,19843 29724,19846 29728,19847 29732,19851 29737,19855 29738,19858 29735,19853 29735,19853 29737,19852 29739,19850 29744,19850 29744,19854 29747,19859 29752,19861 29750,19864 29751,19869 29752,19864 29756,19865 29757,19868 29758,19868 29758,19871 29763,19874 29764,19877 29766,19879 29763,19880 29763,19881 29765,19886 29765,19881 29765,19881 29768,19880 29773,19875 29775,19879 29776,19883 29776,19887 29781,19890 29784,19890 29789,19892 29784,19897 29785,19893 29785,22893 29787,22895 29792,22895 29788,22895 29789,22895 29793,22900 29793,25900 29790,25901 29794,25902 29794,25905 29794,25907 29798,25912 29799,25910 29804,25915 29809,25918 29807,25917 29808,25921 29808,25925 29812,25926 29816,25926 29819,25921 29821,25926 30821,25929 30823,25933 30822,25935 30823,25937 30818,25937 30818,25939 30819,25939 30824,25941 30819,25943 30823,25946 30824,25946 30829,25947 30829,25947 30830,25952 30833,25953 30831,25954 30836,25959 30836,25964 30836,25961 30836,25965 30837,25964 30835,29964 30839,29968 30842,31968 30847,31967 30844,31972 30844,31972 30840,31977 30839,31982 30842,31987 30844,31987 25844,31984 25848,31987 25848,31992 25845,31993 25846,31997 25846,31997 25849,31996 25851,31995 25855,32000 25858,31995 25859,31996 25856,31997 25858,31999 25858,31998 25858,32001 25859,32003 25863,32002 25866,32003 25867,32008 25867,32011 25870,32014 25875,32013 25874,34013 25873,34013 25876,34011 25878,34011 25880,34012 25885,34016 27885,34011 27884,39011 27888,39008 27884,39011 27879,39011 27876,39011 27880,39014 27879,39013 27879,39014 27879,39015 27882,39019 27886,39020 27888,39020 27893,39025 27895,39030 27896,39030 27896,39031 27892,39036 22892,39039 22894,39038 27894,39043 27895,39048 27900,39044 27905,39046 27907,39041 27910,39044 27910,39043 27915,-2382 3462,-2377 3465,-2373 3468,-2371 3469,1629 3470,1632 3472,1630 3469,5630 3473,5635 3474,5638 3474,5639 3469,5643 3473,5643 3473,5639 3477,5639 3477,5639 3480,5642 3479,5644 3481,5649 3480,2649 3485,2649 3485,2650 3489,2653 3491,506 5375,510 5380,513 5382,518 5384,522 5387,521 5384,524 5385,525 5382,523 5384,527 5384,527 5386,4527 5391,4528 5393,4533 2393,4534 2389,4537 2393,4538 2395,4541 2400,4543 2404,4544 2405,4548 3405,4553 3410,4556 3406,4561 3406,4558 3410,4559 3410,4558 3408,4558 3413,4563 3413,4561 3418,4563 3423,4565 3426,4565 3428,4570 3432,4570 3433,4574 3437,4579 3439,4583 3443,4578 3444,4582 3447,4583 3447,4585 3443,4590 3448,4586 3448,4588 3449,5588 3449,5589 3454,5593 3456,5591 3457,5591 3458,7591 3461,7594 3457,7596 3459,7591 3458,7590 3460,7593 3460,7593 3463,7590 3464,7586 3466,7581 3467,7580 3466,7580 3466,7585 3470,7585 3472,7589 3468,7589 3471,7594 3474,7599 3474,7600 3471,7603 3471,7606 3471,7606 3472,7606 3474,7606 3479,7609 3482,7612 6482,7614 6485,11614 6481,11619 6486,11624 6486,11621 6489,11623 6491,11628 6491,8628 6496,8632 6498,8629 6502,8632 6502,8627 6505,8631 6506,8633 6502,8633 6507,8631 6512,8631 6512,8626 6514,8621 6515,8620 6513,8615 6514,8611 6519,8612 6522,8613 6522,8616 6522,8611 6519,8614 6519,8615 6521,8618 6525,8623 6526,8628 6521,8631 6517,8634 6520,8634 6525,8637 6526,8636 6528,8640 6533,8643 6534,8643 6531,8642 6532,8643 6535,8643 6535,8640 6531,8641 6531,8641 6534,8644 6537,8647 6541,8648 6536,8649 6537,8649 6542,8644 6546,8644 6546,13644 6548,13642 6549,13638 6548,13636 6549,11636 6549,11636 6554,11633 6554,11636 6554,11641 7554,11642 7558,11641 7553,11643 7556,11644 7556,11639 7556,11641 7558,11641 7559,11641 7563,11638 7560,11639 7564,11642 7569,12642 7574,7642 7576,7642 7574,7643 7577,7645 7577,7650 7576,7645 7576,7648 7576,7650 7581,7651 7576,7654 7581,7658 7581,7661 7583,7662 7584,7664 7586,7661 7586,7662 7589,7666 7585,7669 7585,7670 7585,7670 7587,7670 7587,7670 7591,7667 7595,7672 7595,7677 7600,7679 7597,7684 5597,7682 5600,7685 5601,7688 5601,7691 5604,7696 5605,7700 5607,7703 5602,7704 5602,7701 5606,7702 5607,7706 5609,7710 5614,7713 5610,7716 5615,7717 5616,7719 5621,7724 5621,7724 5618,3724 5623,3722 5625,3725 5626,3730 5628,3727 5633,3727 5636,3729 5638,6729 5639,6732 5642,8732 5644,8732 5649,8729 5650,8734 5645,8736 5644,8739 5644,8741 5645,8745 5650,8743 5652,8739 5651,8744 5652,8744 5653,8745 5649,8748 5651,8749 5652,8750 5655,8753 5660,8753 5662,8755 5660,8757 5657,8758 5654,8762 5659,8760 5660,8761 5664,8765 5669,8768 5669,8768 5669,8769 5673,8769 5678,8772 5678,8769 5683,8774 5683,8776 5687,8777 7687,8779 7691,10779 7686,10779 7686,10780 7686,15780 7690,15781 7695,15779 7699,15783 7702,15788 7705,15791 7705,15786 7709,15788 7707,15793 7710,17793 7711,17794 7712,17799 7713,17800 10713,17802 10713,17802 10715,17803 10715,17808 10716,17811 10717,17811 14717,17811 14722,17811 14722,17815 14725,17819 14726,17820 14727,17822 14727,17817 14731,17818 14731,17818 14729,17820 19729,17818 19725,17822 19728,17818 19723,17821 19720,17821 19725,17824 19725,17821 19728,17821 19725,17825 19725,17830 19725,17834 19729,17836 19730,17837 19730,17841 19725,17844 19730,17849 19734,17853 19734,17856 19737,17858 19732,17858 19732,17863 19732,17868 19733,17873 19735,17874 19740,17878 19742,17883 19742,17879 19747,551 1397,551 1398,552 1401,553 1401,553 1398,552 1398,555 1402,556 1406,557 1409,558 1413,558 1416,558 1418,558 1420,563 1421,566 3421,568 3421,570 3426,572 3429,5572 3433,5576 3433,5579 3436,5579 3441,5583 3444,5580 3445,5585 3450,5589 3453,5593 3454,5597 3459,610 1429,612 1431,607 1430,607 1430,609 1426,605 1425,607 1425,602 1420,604 1423,-2378 3502,-2377 3503,-2378 3507,-2373 3508,-2375 3512,-2370 3516,-2373 3517,-2369 3514,-2370 3517,-2367 3519,-2366 3524,-2366 3529,-2362 3534,-2365 3536,-2370 3534,-2370 3531,-2366 3528,-2370 3532,-2366 3535,-2361 3533,-2361 3537,-2361 3540,-2358 3541,-3358 3543,-3355 3544,-3355 3542,-3355 3541,-3352 3546,-3348 3548,-3350 3551,-3346 3553,-3347 3553,-3342 3548,-3337 3548,-3338 3547,-3338 3547,-3334 3552,-3333 3552,-3332 3550,-3331 3550,-3329 3550,-3326 3552,-3325 3554,-3320 3556,-3315 3560,-3313 3565,-3312 3560,-3315 3563,-3315 3559,-3318 3564,-3321 4564,-3321 4569,-3317 4568,-3312 4573,-3311 4576,-3311 4575,-3308 4571,-3304 4572,-3299 4576,701 4580,703 4582,708 4582,711 4583,715 4587,716 4591,721 4587,717 4590,715 4594,715 4594,719 4598,719 4600,720 4604,717 4606,718 8606,722 8604,726 8600,727 8605,731 8609,731 8609,733 8611,738 8611,739 8612,734 12612,734 12617,730 12622,729 12622,732 12625,-268 12627,-263 12627,-264 12625,-261 12622,-260 12622,-265 12625,-264 12622,-264 12624,736 12622,733 12623,734 12626,730 12628,731 12632,732 12637,730 12637,733 12634,732 12635,732 12635,734 12635,733 12636,731 12639,734 12639,733 12642,734 14642,736 14646,739 14651,743 14654,-2257 14651,-2252 14651,-2252 19651,-2249 19656,-2249 19653,-2245 19650,-2248 19651,-2243 19656,-2241 19661,-2238 19664,-7238 19668,-7236 19666,-7231 19661,-7231 19666,-7227 19671,-9227 19672,-9223 19676,-7223 19675,-7223 19677,-7218 19677,-7219 19677,-7216 19673,-7214 19677,-7210 19674,-7206 19671,-7205 19673,-7203 19677,-7206 19680,-7202 19680,-7197 19685,-7197 19686,-7196 16686,-7201 16687,-7201 12687,-7198 12682,-7198 12682,-7193 12682,2673 15591,2673 15594,2673 15597,2671 15599,2666 15601,2670 15606,2669 15607,2670 15607,2673 15602,2670 15604,2671 15601,2672 15602,2667 15600,2672 15602,2675 15598,2675 15600,2678 15600,2677 15602,2673 17602,2678 17602,2677 18602,2681 18606,2682 18611,2685 18616,2686 18612,2688 18611,2686 18615,2686 18612,2687 18609,2688 18608,2688 18609,2688 18613,2693 18615,2693 18620,2691 18620,2696 18620,2698 18619,2695 18622,2700 18625,2704 22625,2709 25625,2709 25626,2710 25628,2710 25629,2714 25625,2715 25625,2713 25627,2714 25630,2718 25635,2723 30635,2723 30639,2726 30634,2727 30637,2728 30639,2732 30639,-1268 30642,-1266 30646,-1269 30643,-1269 30642,-1271 30642,-1269 30643,-1269 30645,-1269 30648,-1267 30647,-1265 30644,-1269 30648,-1268 30644,-1269 30644,-1269 30642,-1266 30641,3734 30637,3739 30640,3743 30641,3748 30646,3753 30650,3751 30653,3751 30652,3756 30647,3757 30648,3759 30653,3761 30656,3762 30655,3762 30653,3763 30650,3766 30652,3770 30657,3770 30657,3770 30653,3773 30650,3776 30650,3778 30650,3774 30655,3775 30657,3776 30660,3781 30662,3785 30665,3790 30670,5790 30672,5794 30675,5798 30680,5803 30675,5802 30673,5801 30677,5803 30679,5808 30677,5805 34677,5810 34677,5811 34682,5812 34684,5816 39684,5816 39687,5814 39690,5810 39695,5811 39696,5816 39700,5821 39705,5824 39707,5826 39711,5828 39708,5829 39709,5834 39712,5838 39715,5839 39718,5840 39720,5839 39722,5839 39722,5835 42722,5833 44722,5829 44722,5828 44722,5833 44724,5835 44727,5835 44731,2835 44729,3835 44731,3836 44736,3841 44739,3839 44736,3839 44736,3836 44736,3837 44737,3841 44737,3842 44733,3840 44735,3843 44730,3842 44732,6842 44734,6841 44735,6846 44737,6848 44737,6851 44740,6850 45740,6853 45741,6853 45741,6848 45743,6852 45744,6857 45746,6855 45747,6853 45750,6857 45754,6859 45752,6863 45751,6861 45751,6861 45748,6858 45752,6861 45750,6858 45750,6862 45750,6862 45753,6864 45757,6861 45762,6864 45762,6867 45761,6872 45763,6877 45758,6882 45761,6883 47761,6886 47761,6888 47762,6893 47767,6897 48767,6897 48772,6902 48771,6903 48773,6904 48773,6904 48777,6899 52777,6899 52777,6903 52773,6903 52773,7903 52773,7908 52771,7903 52772,7904 52774,7899 52776,7895 52776,7895 52781,7894 52778,7898 52783,7902 52785,7906 52790,7907 52792,11907 52797,11908 52801,11911 52800,11916 52804,11911 52806,11913 52808,11913 52805,11913 52809,11909 52812,11911 52812,11908 52815,11913 52817,11917 52820,11918 52820,11922 52825,11926 52823,11931 52827,11931 52826,11934 52823,11936 52818,11938 52819,11940 52823,11943 52828,11938 52833,11940 52835,11944 52832,11941 52831,11936 52831,11936 52833,11934 52836,11938 52839,11940 52840,11943 52840,11943 52841,11945 52844,16945 52844,16942 52839,18942 52838,18945 49838,18950 49841,18950 49844,18951 49845,21951 49847,21956 49848,21961 49846,21961 49851,23961 49852,23961 49856,23966 49860,23969 49865,23965 49866,23970 49862,23975 49859,23975 49859,23978 44859,23979 44862,23981 44862,23984 44867,23980 44871,23983 44875,23988 44875,23992 44877,27992 44878,27989 44881,27985 44886,27986 44888,27984 44888,29984 44889,29984 44889,29985 44893,29990 44888,29994 44892,29997 44896,30001 44895,30002 44900,30003 44904,30004 44907,30008 44904,30009 44904,30010 44905,30010 44908,30007 44908,30011 44905,30014 44908,30016 44909,30021 44912,30023 44913,30025 44912,30024 44910,30022 44914,30026 44912,30025 44912,30029 44912,30029 44915,30033 44920,30038 44924,30043 44926,30047 44928,30043 44930,30047 44932,30050 44934,30050 48934,30046 48935,30051 48935,30051 48935,30055 51935,30054 51931,1610 18503,1614 18504,1616 18504,1619 20504,1619 20504,1619 20505,1620 20509,1620 20511,1618 20511,1619 20508,2619 20511,2615 20516,2612 20515,2612 20515,2617 20512,2622 20515,2617 22515,2620 22516,2622 22519,2626 22522,2624 22522,2619 22524,2623 22519,2621 22519,2622 22516,2620 22512,2622 22517,2622 22522,2626 22522,2630 22522,-370 22526,-1370 22531,-1375 22531,-1371 22527,-1366 22527,-1362 22531,-1361 22528,-1362 22524,-1367 22528,-1367 22530,-1367 22533,-1367 22535,-1363 22540,-1363 22536,-1363 22539,-1358 22541,-1358 22541,-1355 22543,-1355 22538,-1355 22541,-1356 22544,-1357 22548,-1354 22553,-1353 22557,-1353 22561,-1355 22562,-1352 22566,-1351 22568,-1349 22569,-1347 22568,-1346 22566,-1351 22565,-1347 22566,-1348 22567,-1351 22569,-1346 22565,-5346 22567,-3313 3565,-3311 4565,-3308 4568,-3304 4571,-3307 4572,-3307 4573,-3303 4573,-3304 4578,-3300 4578,-3301 4578,-3301 4583,-3301 4581,-3297 4585,-3295 4580,-3295 4575,-3295 4573,-3293 4575,-3290 4580,-3285 4580,-3284 4582,-3284 4581,-3280 4580,-3285 4579,-3285 4579,-3284 4584,-3288 4588,-3286 4588,-3283 4584,-3279 4584,-3278 4588,-3279 4588,-3274 4586,-3270 4589,-3270 4590,-3268 4587,-3270 4591,-3267 5591,-3265 5591,-3261 5592,-3259 5593,-3259 5590,-3258 5595,-3256 5599,-3253 5601,-3252 5600,-3252 5603,-3252 5603,-3255 5601,-3250 5600,-3247 5605,-3242 5606,-3241 5608,-3243 5612,-3242 5612,-3245 5614,-3242 5619,-3243 5623,-2243 10623,-2242 10626,-2247 10626,-2247 10630,-2244 10634,-2248 10639,-2248 10636,-2248 10641,-2244 10646,11598 14558,11594 14563,11596 14568,11597 14569,11600 18569,11601 18570,11599 18566,11602 18568,11607 18567,11611 18572,11614 18573,11612 18569,11615 18570,11614 18573,11617 18577,11621 18577,11617 18574,11615 18579,11619 18583,11615 18587,11615 18587,11620 18588,11621 18589,11617 18593,11620 18597,11622 18599,11626 18603,11621 18603,11625 18607,11628 18611,11630 18614,11630 18619,11633 18616,11633 18616,11635 18614,11634 18613,11636 18609,11638 18607,11642 18612,11641 18615,11646 18615,11648 18619,11652 18621,11654 18622,11653 18617,11648 18619,11650 18614,11646 18617,11648 18613,11648 18618,11650 18615,11647 18617,11649 18621,11653 18621,11656 18624,11656 18628,11659 18628,11660 18624,11662 18624,11662 18620,11663 18620,14663 18621,14665 18616,14662 18611,14662 18607,14665 18607,14670 18607,14674 17607,14676 17610,19676 17608,19681 17613,19681 17613,19686 17611,19687 17612,22687 17612,22684 17608,22682 17607,22686 17610,22690 17611,22692 17612,22690 17617,22693 17622,22696 17622,22698 17625,22703 17627,22699 17629,22698 17629,22702 17634,22705 17630,22707 17634,22708 17634,22710 17639,22712 17639,22713 17635,22712 17639,22715 17644,22720 17644,22720 17646,22723 17644,22723 17644,22728 17643,22729 17646,22725 17651,22725 17652,22725 17647,22730 17647,22733 17647,22734 17647,22733 17651,22737 17653,22737 17657,22735 17660,22738 17658,22742 17662,22747 17667,22752 17671,22751 17672,22749 17677,22751 17677,22753 17681,22754 17677,22759 17674,22763 17674,22768 17677,22773 17673,22774 17676,22774 17679,17774 16679,17772 16679,17770 16675,17772 16676,17771 16676,17770 16679,17775 16684,17774 16685,17776 16685,17780 16687,17781 16688,17786 16689,17790 16689,17793 16688,17797 16684,17800 16684,17799 16689,21799 16691,21799 16688,21804 16689,21804 16687,21804 16687,21808 16685,21809 16689,21813 16693,21813 16696,21817 16698,21817 16699,21819 16694,21824 16699,21824 16701,21827 16705,21823 16702,21825 16702,21827 16702,21827 16702,21828 16705,21832 16707,21835 16710,21838 16712,21841 16712,21839 19712,24839 19714,24838 19719,24838 19722,24833 19722,24831 21722,24832 21727,24829 21729,24832 21730,24837 21732,24838 21736,24842 21740,24842 21740,24844 21740,24846 21740,24848 21741,24851 21736,24851 21732,24852 21737,24849 21741,24847 21742,24845 21743,24849 21744,24852 21742,24856 21744,24860 21745,24860 21745,24864 21749,24864 21754,24865 21759,24865 21760,24870 21764,24871 21762,24871 21762,24876 21767,24881 21769,24883 21768,24883 21769,24886 21766,24886 21767,24891 21770,24894 21772,24894 21772,24899 21777,24902 21781,24897 21786,24894 21787,24895 21790,24899 21791,24899 21795,24903 21798,24903 21801,24905 21804,24906 21806,24910 21808,25910 17808,25905 17812,25906 17813,28906 17813,28906 17813,28911 17817,28912 17812,28916 17813,33916 17818,33916 17818,33916 17820,33912 17820,33915 17823,33915 17826,33910 17826,33914 17829,33910 17833,33910 17836,33913 17837,33918 17841,33923 17840,33920 17840,33919 17842,33922 17838,33925 17835,33923 17836,33920 17838,33916 17840,33917 17845,33912 17850,33912 21850,33916 21846,33917 21841,33918 21844,33922 21844,33923 21844,33927 21844,33928 21849,33933 21850,33937 21851,33937 21853,33940 21855,33939 21858,33944 21855,33945 24855,33946 24858,33950 24860,33951 24864,33952 24861,33957 24864,33959 24867,33954 24865,33959 24867,33963 24867,33961 24867,33963 24871,34963 24874,34967 24874,34967 24874,34969 24870,34965 24875,34965 25875,34969 25880,34974 25883,34972 25883,34973 25885,34976 25889,34979 25890,34981 25894,34984 25897,34989 25899,34986 25900,34990 25901,34990 25901,34993 25902,34996 25902,35000 25903,35001 25906,35006 25909,35007 29909,35009 29905,35008 29906,35008 29908,35012 29908,31012 29911,31017 29906,31017 29908,21054 31778,21054 31775,21059 31780,21057 31780,21059 31783,21059 31781,21064 29781,21065 29786,21070 29787,21074 29787,21079 29792,21082 29792,21083 29791,21085 29793,21086 29794,21086 29794,21088 29797,21085 29797,21085 29800,21083 29804,21088 29808,21088 29804,552 1401,554 1401,555 1404,555 1404,559 1409,561 1410,561 1412,561 1413,557 1414,561 1419,564 1417,565 1420,568 1421,573 1425,578 1426,583 1430,584 1432,587 1433,588 1433,592 1437,592 1438,592 1442,591 1444,596 1444,597 1449,592 1449,502 2350,503 2352,505 2349,508 2349,508 2350,506 2350,506 2353,511 2357,511 2359,511 2361,508 2362,512 3362,517 3365,4517 3366,4518 3366,4513 3367,4512 3370,4509 3365,4510 3370,4510 3371,4513 3371,4513 3374,4517 3373,4517 3375,4514 3375,4515 3374,4516 3378,4516 3383,4516 3387,516 3392,516 3393,521 3394,521 -1606,522 -1601,518 -1601,519 -1603,521 -1598,526 -1603,528 -1603,527 -1601,527 -1600,523 -1603,526 -1601,529 -1598,532 -1594,531 -1590,531 -1594,527 -1595,532 -1591,536 -1586,539 3414,541 3419,546 3419,551 3422,551 3427,553 3429,558 3432,557 3433,558 3438,559 3442,560 3445,556 3448,555 3446,559 3446,560 3442,560 3439,561 3442,563 3443,564 3448,562 3448,5562 3453,5560 3454,5563 3454,5565 3456,5562 3457,5557 3456,5557 -544,5558 -543,5561 -538,5562 -535,5563 -533,5563 -530,5568 -525,5568 -523,5572 -518,5567 -514,5571 -516,5571 -514,5571 -514,5572 -510,5575 -512,5578 -512,5579 -508,5581 -506,5584 -503,5579 -502,5581 -505,10581 -505,10583 -500,12583 -499,12587 -498,12587 -499,12588 -497,12589 -502,12589 -500,12594 -498,12592 -498,12595 -498,12600 -496,12604 -494,12609 2506,12611 5506,12614 5511,12615 5516,12617 5518,12620 5522,12620 5519,12623 5521,12621 5524,12626 5526,12625 5531,12625 5531,12627 5532,12632 5531,12635 5536,12636 7536,12641 7540,12642 7540,12647 7543,11909 52812,11911 52817,11912 52817,11917 52814,11918 52819,11920 52819,11923 52823,11928 52818,11924 52813,11928 52812,11929 54812,11931 54813,11927 54813,11929 54818,11929 54822,11931 54823,11935 54824,11931 54828,11931 54833,11930 54830,11931 54832,11935 54835,11939 54830,11942 54827,11942 54828,11943 54828,11946 54825,11943 54826,11948 54829,11952 54824,11952 54828,11954 54830,11955 54830,11953 54835,11958 59835,11959 59838,11960 59836,11965 59840,11965 59843,11970 59840,11974 59840,11971 59842,11975 59847,11976 59848,11981 59848,11986 59853,11987 63853,11992 63854,11993 65854,11995 65850,11998 65852,12003 65856,12000 65859,12002 65859,12006 65854,12011 65855,12013 65856,12017 65861,12022 65861,12022 65856,12022 65857,8022 65859,8026 65862,8030 65863,8026 65865,8030 65866,8026 65871,8026 65871,3026 65869,3021 65870,3023 65875,3028 65876,3033 65878,3038 65874,3039 65878,3039 65882,3043 65880,3044 65880,3043 65884,3043 65888,3047 65889,3047 65890,3047 65890,3047 63890,3043 63892,3046 63896,3041 63895,3039 63898,3034 63900,3035 63901,3032 63903,3034 63906,3036 63906,3034 63908,3034 63913,3036 63911,3037 63916,3039 63911,3041 63913,3045 63915,3047 63915,3045 63917,3046 63921,3046 63921,3049 63920,3053 63923,3050 63927,3055 63930,3058 63933,3058 63932,3058 63934,3053 63931,3054 63933,3058 63936,3063 63940,3063 63939,-937 63940,-940 63944,-938 63945,-938 63946,-934 63948,-935 63945,-932 63948,-928 63950,-927 63954,-922 67954,-918 67951,-917 67956,-915 67960,-914 67965,-912 67967,-914 67971,-914 67971,-918 67976,-916 67973,-911 67973,-909 67978,-906 67981,-903 67982,-900 67982,-899 67978,-895 67981,-892 67985,-890 67987,-885 67982,-884 67984,-883 67984,-880 67985,-879 67985,-874 67981,-871 67981,-871 67986,-868 67986,-868 67981,-865 67979,-864 70979,-859 70984,-856 70985,-856 70990,-855 70991,-857 70989,-859 70991,-856 70986,-854 70991,-849 70994,-849 70997,-852 71002,-851 71007,-851 71009,-850 71009,-846 71011,-843 71011,-842 71011,-839 71011,-837 71016,-837 71016,-833 71018,-835 71022,2165 71022,2166 71018,7166 71017,7163 71017,7164 71018,7162 71016,7166 71013,7166 71013,7171 71010,7175 71010,7173 71012,7176 71017,7174 71021,11174 71021,11171 66021,11176 66021,11181 66018,11181 66023,11186 66022,11182 66027,11184 63027,11186 63031,11187 63033,11191 63034,11188 63031,11189 63036,11184 63037,11185 63038,11187 66038,11187 66038,11189 66038,11191 66038,11189 66034,11192 66036,11197 66037,12197 66041,12200 66044,12203 66042,12206 66046,12204 66046,12205 66048,12209 66048,12212 66043,12216 66040,12213 66043,12218 63043,12223 63038,12227 63033,12227 63038,12231 63040,12233 63040,12235 63045,12235 63045,12230 63044,12235 68044,12237 68044,12235 68049,12231 68045,12226 68050,12229 68052,12234 68052,12231 68056,12236 68059,12236 68062,12241 70062,12241 70063,12244 70063,12245 70068,12247 70068,12248 70071,12251 70071,12252 70071,12251 70073,12248 70075,12253 70080,12256 70084,12257 70088,12256 70088,12256 70089,12251 70089,17251 70090,17247 70090,17249 70091,17249 70088,17252 70084,17256 70085,17260 70086,16260 70084,16261 70083,16256 70079,16257 70076,16258 70072,16258 70077,16262 70081,16260 70084,16263 70087,16263 70088,16267 70090,16267 70093,16267 70097,16267 70100,16267 70101,16270 70103,16270 70105,16270 70108,16274 70110,16274 70113,16275 70115,16277 70115,16273 70115,16274 70120,16279 70117,16284 70117,16288 69117,16287 69121,16287 69123,16288 69119,16288 69122,16292 69125,16292 69122,16290 69125,16288 69125,16290 69126,16295 69122,3037 63916,3042 63920,3047 63925,3048 63928,3053 63928,3056 63931,3056 63930,3052 63932,3051 63935,3056 63938,3055 63935,3059 63932,3059 63937,3061 63942,3065 63945,3069 63942,6069 63940,6064 63945,6067 63948,6067 63947,6068 63951,10068 63953,10072 63953,10071 63951,10071 63956,10071 63958,10075 63958,10079 63953,10082 63958,10084 63959,10086 63959,10090 63960,10094 63955,10099 63955,10101 63956,10099 63952,10099 63949,10103 63953,10106 63956,10108 63956,10109 63956,10114 63959,10118 63959,10120 63960,10122 63963,10122 63968,10125 63969,10125 64969,10130 64971,10130 64973,10134 64974,10134 64979,10139 64984,10139 64987,10142 64988,10137 64992,10140 64995,10141 65995,10142 65999,10145 66000,10142 66002,10145 66002,10144 66004,10149 66002,10153 66007,8153 66007,8155 66011,8155 66011,8155 66011,8156 66011,9156 66013,9158 66014,9160 66014,9165 66017,9169 66022,9170 66023,9170 66023,9170 66028,9171 66031,9175 66033,9175 66033,9173 66035,9177 66034,9177 66039,9177 66044,9177 66044,9173 66044,9171 66044,9174 66046,9177 66050,9177 66047,9180 66051,9180 66055,9184 66055,9184 66051,9187 66056,9184 66057,9187 66053,9187 66055,9192 66056,9195 66061,9195 66066,9195 66071,9200 66076,9195 66075,9200 66080,9200 66080,9202 66076,9204 66079,9202 66079,9198 66079,11198 66083,11199 66087,11199 66088,11204 66088,11206 66089,11206 66093,11211 66088,11211 66091,11206 71091,11205 71090,11207 71094,11207 71098,11211 71102,11210 71103,11211 71107,11212 71107,11216 71105,11216 71108,11216 71113,11217 71108,11220 71113,11217 71113,11217 72113,11218 72115,11220 72117,11220 72121,11221 72124,11225 72120,11229 72117,11226 72118,11230 72122,11230 72123,11232 72127,11236 72132,11241 72133,11246 72135,11250 72139,11247 72141,11252 72141,11256 72143,11259 75143,11258 75146,11261 75151,11265 75149,11269 75153,11270 75158,11273 75160,11274 75165,11270 75166,11270 75166,11274 75165,11279 75167,11283 75170,11286 75166,11285 75168,11282 75165,6282 75163,6283 75167,6288 75170,6293 75175,6290 75178,6292 75179,6292 75182,6293 75181,31996 25856,31998 25856,32003 25857,32007 25862,32007 25857,32009 25857,32010 25858,32015 25854,32014 25857,32019 25857,32021 25852,32024 25852,32024 25854,32026 25851,32028 25855,32032 25855,32028 25858,32031 25860,32031 25863,32026 25867,32029 25868,32029 25869,32034 25872,32035 25875,32040 25878,32042 25883,32043 25881,32045 25885,32048 25884,32052 25881,32056 25878,32056 25874,32059 25878,32063 25882,32066 25885,32067 25885,32070 25885,37070 25885,37072 25889,37075 25890,37075 25885,37080 25890,37080 25892,37084 25888,37086 25893,37090 25898,37091 25895,37096 25897,37101 25902,37096 25905,37101 25906,37101 25909,37102 25914,37100 25914,37104 25914,37109 25917,37111 25919,37111 25924,37113 25925,37118 25923,37122 25927,37123 25929,17800 10713,17805 10708,17808 10711,17813 10715,17813 13715,17808 13719,17804 13714,17807 13717,17808 13722,17810 13724,17811 13728,17816 13730,17820 13733,17822 13736,17823 13736,17824 13740,17824 13745,18767 22750,18768 22754,18773 22754,18775 22757,18779 22760,18784 22763,18781 22767,18776 22767,18776 22769,18778 22772,18774 22773,18770 22774,18774 22776,18774 22777,18770 22781,18771 26781,18768 26785,18770 26787,18775 26787,18770 26789,18773 26793,18778 26795,18783 26796,18785 26799,18785 26801,18789 26798,18794 26799,18794 26801,18789 26803,18793 26806,18795 31806,18791 31810,18794 31814,18797 31817,18802 31813,18806 31815,18806 31819,18810 31824,18807 31828,18812 31830,18813 31826,18815 31828,18816 31829,18821 31831,18821 31833,18822 31836,18822 31838,18826 31841,18828 31846,5666 501,5668 506,5669 1506,5672 1508,5674 1512,7674 1512,7679 1513,7679 1512,7684 1513,7689 1511,7686 1515,7691 1520,7689 520,7689 521,7690 524,7695 520,4695 521,4696 526,4698 526,4699 531,4702 531,4699 535,4702 538,4698 540,4699 4540,4702 4537,4707 4540,4707 4537,4709 4537,4711 4542,4713 4542,4718 4544,4720 4549,4716 4553,4717 4556,4722 4561,4726 4562,4726 4563,4731 4564,4735 4565,4735 4570,4733 4572,9733 4574,9736 4577,9736 577,9737 572,9737 569,9742 570,9747 575,9747 580,9748 1580,9747 1585,9747 1588,9747 1588,9747 1592,9747 1592,9751 1592,9754 1593,9751 1595,9756 1599,11756 1603,11759 1607,11756 1610,11754 1613,11749 1613,11750 4613,11749 2613,11746 2610,11749 2608,11752 2611,11754 2607,11759 2612,11762 2612,11763 2612,11764 2613,11765 2613,11760 2615,11757 2620,11752 2623,11748 2627,11748 2631,11751 2632,11751 2633,11754 2635,11758 2639,11758 2643,11760 2646,11763 2646,11767 2649,11762 2652,11760 2652,11756 2656,11752 4656,11749 4659,11754 4662,11759 4666,11764 4670,11761 4666,11756 4669,11756 4670,11761 4671,11762 4673,11765 4678,11768 4680,11768 7680,12768 7677,12771 7680,12771 7683,12776 7683,12777 7688,12779 7688,12779 7684,12781 7679,13781 7682,13781 7684,13776 7684,13779 7685,13784 7685,13787 7689,13784 7689,13787 7689,13791 7685,13791 7686,13787 7691,13788 7696,13790 7693,13790 7696,13791 6696,13796 6698,13798 6695,13797 6698,13799 6701,13799 6704,13803 6709,13804 6705,13799 6708,13804 6703,13807 6705,13807 6708,13809 6710,13812 6714,13814 6716,13817 6718,13819 6722,13821 6717,13826 6718,13828 6717,13828 6721,13831 6721,13831 6720,13834 6715,13837 6712,13837 6713,13842 6715,13847 6715,13847 6714,13847 6709,13848 6712,13852 6714,13854 6719,13857 6723,13859 6726,13861 6730,13859 6731,13855 6731,13855 6731,13856 6728,13857 6730,13862 6731,13865 6731,13863 6729,13868 6729,13866 11729,13867 11732,13871 11732,13873 11737,13872 11741,13870 11745,13874 11744,13871 11748,13870 11753,13871 11757,13871 14757,13875 14759,13878 14760,13881 14760,13879 10760,13875 10765,13879 10767,13880 10770,13876 10775,13880 10776,13880 10776,13882 10776,13883 14776,13888 14779,13888 14779,13893 14779,13898 17779,13903 17784,13898 17788,13894 17788,13896 17788,13900 21788,13903 21784,18903 21789,18899 21789,18900 21793,18901 21794,18905 21795,18908 21792,18913 21794,13913 21796,13911 21798,13916 21799,13916 21799,13918 21804,13916 21800,13912 21799,13915 21794,13916 21797,13921 21799,13916 21802,13918 21806,13919 21810,13921 21813,13924 21817,13927 21814,13932 21816,13934 21811,13936 21811,13934 21814,18934 21816,18929 21816,18934 21815,18933 21817,18932 21822,18936 21819,18938 16819,18933 16822,18933 16822,18937 16822,18937 16827,18940 16827,18945 16830,18947 16829,18950 19829,18949 19829,18949 19829,18946 19825,18947 19828,18946 19829,18943 19829,18943 19824,14943 19829,14939 19830,14942 19831,14946 19835,14946 22835,14942 22836,14946 22831,14950 22832,14952 22835,14947 22840,14951 22844,14951 22845,14947 22850,14948 22851,14951 22849,14956 22852,14957 22852,14957 22857,14962 22857,14965 22859,14970 22860,14968 22862,14972 22864,14977 22866,14974 22870,14975 20870,14976 20870,14979 20873,14984 20869,14989 20871,14993 20874,14993 20877,14994 20878,14995 20878,14997 20883,14998 20879,15001 20884,15001 20884,15003 20889,15006 20884,15009 20885,15009 20883,15007 20880,15011 20876,15008 20877,15009 20873,15010 20875,15009 20875,10009 20876,10012 20871,10013 21871,10017 21872,10012 21873,10010 21874,10008 21871,10012 21870,10013 21874,11607 14571,11608 14575,11612 15575,11613 15576,11613 15577,11618 15578,11622 15581,11624 15585,11627 18585,11631 18587,11634 18590,11634 18586,11634 18586,11636 18591,11635 18591,11636 18596,11636 18592,13636 18593,13640 18595,13642 18600,13641 18600,13641 18604,13642 18607,13643 18611,13648 18611,13651 18613,13655 18615,13656 18620,13651 18618,13651 18616,13654 18611,13651 18616,18651 18620,18656 18620,18661 18621,18657 18625,18661 18627,18663 18628,18666 18633,18661 18637,18665 18639,18665 18639,18667 18641,18669 18641,22669 18642,22673 18644,22676 18648,22681 18649,22682 18649,22682 18646,19682 18646,19684 18646,19685 20646,19690 20646,19690 20643,19686 20643,19686 20643,19690 20647,19690 20647,19689 20652,19692 20653,19692 20656,19697 20661,19698 20662,19703 20666,19707 20669,19707 20673,19708 20674,19709 20675,19709 20677,19710 20674,19715 20675,19717 20673,19721 20673,19720 20677,19718 20677,19716 20680,19718 20681,19718 20685,19722 20688,19725 20688,19729 20685,19728 20687,19728 20690,19732 20691,19735 20691,19739 20691,19744 20696,16744 20693,16746 20695,16748 20695,16748 20691,16746 20696,16750 20699,16755 20704,16755 20709,16760 20710,16763 20711,16763 20711,16765 20707,16767 20705,16771 20706,16771 20708,16775 20706,9653 7576,9654 7577,9659 7576,9659 7572,9655 7575,9660 7579,9660 7579,9660 7583,9661 7588,9663 7591,9666 7590,9662 7592,9665 7593,9669 7594,9668 80000)') WHERE p = 1; +UPDATE t1 SET g = ST_linefromtext('linestring(-5 -576,0 -576,0 -571,0 -571,5 -568,6 -564,6 -565,6 -563)') WHERE p = 2; +ROLLBACK; +connection control_purge; +# disable purge +START TRANSACTION WITH CONSISTENT SNAPSHOT; +connection default; +DELETE FROM t1 WHERE p = 3; +UPDATE t1 SET g = ST_linefromtext('linestring(448 -689,453 -684,451 -679,453 -677,458 -681,463 -681,468 -678,470 -676,470 -678,468 -675,472 -675,472 -675,474 -674,479 -676,477 -675,473 -676,475 1324,479 1319,484 1322,483 1323,486 1323,491 1328,492 1325,496 1325,498 1325,501 1330,498 1331,500 1331,504 1330,508 1329,512 1332,513 1337,518 1339,518 1339,513 1344,513 1344,512 1346,514 1351,515 1353,519 1358,518 1362,522 1365,525 1360,526 1362,527 1362,528 1367,525 1371,528 1366,532 1369,536 1374,539 1377,543 1379,539 1381,541 1382,543 1383,546 1388,549 1393,554 1393,554 1395,554 1392,550 1394,550 1392,546 1394,549 1397,550 1393,549 1394,554 1390,554 1391,549 1396,551 1396,547 1400,547 1402,551 1407,554 1412,554 1415,558 1418,463 -681,465 -677,465 -675,470 -670,470 -665,470 -660,470 -659,473 -656,476 -656,481 -655,482 -652,486 -654,486 -652,486 -648,491 -646,490 -651,494 -646,493 -644,493 -644,490 -644,491 2356,495 2359,495 2364,500 2359,503 5359,504 5364,509 5368,504 5367,499 5368,498 5371,498 5369,500 5370,504 5370,508 5370,511 5370,507 5374,508 5378,511 5382,507 5387,509 5389,512 5388,515 5393,520 5396,517 5397,517 5402,515 5404,520 5402,521 5405,525 5405,526 5408,530 7408,535 7413,533 7415,529 7412,532 7416,4532 7416,4534 7421,4533 7417,4536 7413,4536 7418,4540 3418,4545 3418,4549 3415,4551 3419,4554 3421,4559 3423,4559 3426,4557 3424,4561 3428,4558 3428,4563 3431,4565 3435,4569 3439,4569 3439,4569 3444,4567 3444,4572 3446,4577 3447,4581 3444,4581 3448,4584 3448,4579 3447,4580 3450,4583 3449,4583 3453,4587 3455,4588 3458,4593 3463,4598 3465,4601 3468,4598 3464,4598 3460,4593 5460,4595 5461,4600 5464,4600 5465,4601 5466,4606 5466,4608 5466,4605 5464,4608 5467,4607 5468,4609 5465,4614 5461,4618 5463,4621 5467,4623 5470,4622 5470,4622 5470,4625 6470,4627 6471,4627 6472,4627 6473,6627 6474,6625 6474,6628 6477,6633 6481,6633 6480,6637 6475,7637 6479,7638 6482,7643 6487,7644 6492,7647 6492,7648 6495,7646 6498,7650 6499,7646 6494,7644 6499,7644 6497,7644 6499,7647 6502,7649 6504,7650 6501,7647 6503,7649 6504,7650 6508,7651 6503,7652 6508,7655 6508,7650 6511,7655 6515,7658 6513,7663 6513,7665 6514,7669 6512,7667 6510,7664 6510,472 -675,477 -670,479 -666,482 -663,484 -668,484 -666,485 -664,481 -664,479 -659,482 -659,484 -658,483 -659,488 2341,493 2339,489 2338,491 2342,491 2346,494 2346,490 2348,493 2348,498 2349,498 2350,499 2349,502 2350,503 2348,506 2348,506 2348,507 2353,507 2355,504 2359,504 2364,504 2361,499 2365,502 2360,502 2358,503 2357,504 2353,504 2357,500 2356,497 2355,498 2355,500 2359,502 2361,505 2364,508 2364,506 2368,506 2370,504 2373,499 2373,496 2372,493 2377,497 2380,495 2383,496 7383,493 7386,497 7391,494 7387,495 7389,498 7392,498 7392,495 7395,493 7398,498 7401,498 7403,503 7400,498 8400,501 8401,503 8401,503 8401,501 10401,496 10396,491 10401,492 10399,493 10403,496 10403,491 10403,493 10407,489 10410,493 10407,489 10403,498 7403,497 7399,496 7403,500 7405,500 7407,503 7411,508 7415,511 7415,511 7420,515 7420,520 7423,523 7423,520 7427,523 7427,523 7427,522 7432,525 4432,527 4434,530 4437,534 4441,529 4446,529 4441,534 4436,537 4436,535 4437,532 4437,534 4432,535 4429,538 4430,542 4427,542 4431,538 4431,541 4431,541 4433,543 4433,545 4432,549 4428,552 4426,556 4427,557 4423,560 4427,561 4428,558 4430,559 4434,559 4432,561 4434,561 4437,563 4435,559 4430,561 4435,4561 4437,4566 4441,4568 4446,4568 4450,4569 4455,4565 4458,4561 4463,4561 9463,4564 9463,4565 9461,9565 9463,9560 9467,9560 9466,9555 9469,9555 9471,9559 9469,9557 9473,9553 9478,9555 9480,9557 9481,9557 9481,9557 9483,9562 9487,9558 9487,9558 9490,9561 9493,9562 9493,9557 9493,9560 9496,9555 9501,9553 9503,9553 9506,9557 9510,9558 9511,9561 9514,9563 9512,9568 9514,9567 9514,9567 13514,9570 13517,9566 13521,9571 13521,9571 13526,9573 13521,9571 13521,9576 10521,9580 10526,9582 10525,9584 10528,9584 10531,9584 10533,9589 10533,9588 10537,9588 10541,9589 10542,9593 10544,9595 10540,9597 10541,9600 10545,9601 15545,9603 15549,9605 15553,9601 15558,9601 15553,9605 15551,9605 15550,9605 15554,9607 15556,9605 15556,9604 15561,9607 15559,9603 15559,9603 15562,9604 15563,9608 15566,9612 15570,9617 15565,9622 15568,9627 15566,9628 15564,9629 15564,9633 15569,9636 15569,9634 15571,9634 15572,9636 15574,9634 15570,9629 15570,9631 15567,9629 15570,9626 15574,9626 15575,498 7401,502 7401,506 7397,506 7395,502 7398,497 7401,502 7402,505 7397,508 7400,504 7404,3504 7409,3505 7405,3508 7410,3511 7413,3511 7416,3511 7419,3511 7419,3513 7421,3517 7424,3519 7426,3520 11426,3523 11421,3527 11418,3530 11415,3530 11416,3533 11418,7533 11415,7531 11415,7531 11417,7536 11420,7541 11424,7543 11425,7543 11427,7543 11429,7540 11429,7542 11425,7541 11420,7542 11421,7542 11422,7540 11424,7540 11423,7543 11422,7546 11426,7550 11431,7553 11436,7555 16436,7553 16438,7558 16438,7559 16438,7560 16439,7565 16437,7560 16435,7563 16435,7566 16440,7566 16444,7564 16447,7559 16443,7561 16443,7566 16448,7570 16451,7574 16456,7578 16459,12578 16459,12578 20459,12577 20456,12581 20454,12585 20456,12585 20456,12585 20456,12583 20456,12579 20459,12580 20461,12580 20462,12580 20460,12585 20465,12586 20467,12590 20470,12590 20470,12589 20471,12584 20471,12589 20471,9589 20472,9594 20472,9595 20472,9596 20477,9598 20482,9603 20480,9608 20484,9613 20484,9610 20486,9608 20488,9608 20489,9610 20489,9614 20486,9619 20481,9620 20481,9618 21481,9621 21483,9626 21483,9628 21485,9623 21487,9622 21490,9626 21493,9621 21495,9626 21498,9622 21499,9624 21504,9625 21499,9629 21501,9633 21498,9637 21495,9639 21498,9644 21501,9557 9481,9560 9485,9561 9490,9563 9488,9560 9486,9558 9488,9561 9492,9563 9495,9567 9492,9567 9488,9564 9490,9559 9495,9559 9498,9557 9502,9562 9506,9564 9509,9569 9512,9569 9516,9569 9518,9569 9515,9571 9513,9571 9512,9573 9513,9578 9516,9581 9516,9585 11516,9585 11521,9590 10521,9586 10524,9589 10529,9589 10527,9589 10527,9594 10532,9594 10534,9598 10536,9598 10540,9600 10542,9604 10538,9607 10538,9609 10543,9613 10538,9613 10533,9613 10537,9610 10537,9614 10542,9609 10542,9610 10543,9610 10548,9611 10553,9616 7553,9620 7553,9621 7557,9618 7559,9618 7554,9622 7557,9622 7561,9622 7556,9622 7560,9619 7560,9620 7565,9622 7563,9627 7566,9630 7570,9630 7571,9632 7573,9637 7576,9639 7578,9640 7576,9640 7579,9640 7575,9642 7570,9646 7570,9651 7574,9653 7577,9652 7572,9653 7576,9653 7576,9651 7581,9656 7585,9660 7586,9659 7591,9657 7594,9661 7598,9664 7602,9668 12602,9673 12604,9676 12606,9679 12602,9682 12605,9677 12610,9674 12606,9674 12601,9674 12603,9672 9603,9668 9605,9671 9606,9668 9611,9668 9606,9671 9611,9675 9615,9677 9620,9678 9622,9679 9624,9684 9626,9685 9627,9685 9622,9685 9626,9689 9628,9694 9633,9699 9637,9699 9637,9704 9636,9708 9637,9709 9638,9707 9639,9705 9642,9707 9647,9710 9649,9711 9653,9716 9649,9716 9648,9720 9650,9721 9648,9723 9648,9726 4648,12726 4653,12731 4655,12734 4660,12730 4661,12733 4664,12733 4665,12735 4670,12737 4674,12741 4674,12738 4675,12740 4675,12737 4675,12742 4678,12743 4681,12746 4677,12751 4675,559 4430,563 4430,565 4435,566 4440,561 4445,562 4447,564 4450,561 4453,563 4453,561 4458,561 4458,562 4453,566 4454,571 4458,571 4460,574 4461,574 4464,579 4466,579 4470,582 4468,586 4470,590 4468,593 4468,594 4470,596 4474,591 4475,591 4480,594 4482,597 4486,593 4486,595 4486,598 4490,600 4492,3600 4497,3598 4497,3598 4494,3599 4493,3600 4497,3600 4494,3604 4498,3604 5498,3600 5497,3602 5493,3602 10493,8602 10498,8606 10494,8605 10495,8606 10496,8605 10500,8605 10500,8603 10499,8601 10502,8602 10505,8603 10501,8608 10503,8608 10508,8609 10503,8610 10505,8613 10504,8615 10506,8616 10508,8612 10513,8613 10517,8615 10520,8617 10521,8621 10524,8624 10524,8624 10524,8624 10519,8625 10514,8626 10519,502 7402,503 7399,506 7404,543 1379,548 1379,550 1380,553 1379,558 1376,556 1376,558 1372,559 1372,560 1377,565 1374,568 1375,568 1379,572 1382,570 1384,575 1386,576 1389,576 1394,579 1398,583 1403,586 1401,586 1401,591 1400,593 1402,598 1407,601 1412,546 1394,550 1396,553 1396,555 1394,4584 3448,4585 3450,4583 3450,4588 3451,4590 3449,4595 3449,4599 3454,4603 454,5603 458,5604 458,5605 453,5610 457,5614 459,5619 463,5621 466,5618 466,5623 465,5627 466,5625 471,5626 476,5630 479,5635 484,9635 488,9639 488,9641 483,9644 484,9649 484,5649 488,5649 492,5651 497,5656 497,5661 499,5665 504,5666 500,5666 497,5666 499,5666 499,5666 501,5670 502,5670 504,5670 507,5673 502,5677 506,4677 507,4682 509,4682 511,3682 510,3679 514,3683 510,3686 515,3684 518,3686 522,3689 527,3690 527,3688 529,3690 533,3692 530,3691 532,3695 529,3696 529,3701 533,3701 535,3699 540,9610 10543,9612 10545,9615 10548,9617 10548,9619 10550,9624 10548,9627 10549,9625 10553,10625 10553,10626 10555,500 7407,500 7407,500 7411,505 7413,505 7411,502 7415,504 7415,508 7411,511 7411,506 7412,506 7410,3506 7411,3507 7415,3509 7417,3511 7417,3513 7418,3516 7422,3518 7422,3518 7426,3513 7430,3515 7435,3520 7435,3521 7437,3526 9437,3526 9434,6526 9437,6526 9438,6526 9438,6527 9441,6528 9439,6523 9441,6518 9445,6522 9446,6526 9447,6529 9451,6529 9455,6530 9459,6532 9457,3532 9460,3536 9461,3537 9466,3541 9466,3544 9466,3546 9468,3549 9467,3553 9470,3551 9470,3551 9474,3552 9473,3547 9473,3547 9473,3547 9476,3552 9481,3553 9486,3555 9490,3556 9491,3559 9495,3560 9493,3563 9494,3563 9494,3565 9495,3565 10495,3568 10496,3573 10501,3574 10501,3576 10502,3578 10503,3578 10504,3580 10508,7580 10505,7578 10508,7578 10511,7578 10508,7581 10508,7582 10511,7577 10510,7577 10514,7573 10516,7578 10520,7580 10525,7581 10530,7585 10532,7590 10535,7594 10540,12594 10540,12591 10545,12595 10548,12595 10543,12597 10547,12597 10542,12595 10545,12595 10546,12600 10550,12605 10550,12606 10546,12604 10548,12605 12548,12605 12546,12607 12548,7607 12552,7611 12557,7608 12557,7608 12553,7611 12553,7610 15553,7608 15550,7610 15551,7607 14551,7607 14556,7606 14561,7602 14561,7602 14566,7601 14565,7606 14565,7605 14570,7608 14568,7609 14571,7613 14572,7614 14572,7616 14574,7613 14573,7615 14570,7618 14570,7615 14574,7617 14575,7614 14578,7616 14582,7617 14584,7617 14584,7618 14589,7622 14590,7619 14592,7624 14593,7628 14596,7632 14601,7627 14601,7629 14603,7629 14603,7630 14608,7631 14611,7626 14611,7628 14611,7628 14616,7624 14617,7619 14618,7624 14618,7626 16618,10626 16620,10624 16620,10629 16619,10633 16624,10636 16624,10638 16624,10643 16624,7643 16625,7643 16630,7643 16625,7647 16629,7648 16628,7649 16633,7650 16633,7650 16634,7645 16635,7646 16632,7642 16635,7643 16635,7643 16630,7638 16634,7640 21634,7645 21633,7650 21634,7651 21639,7652 21641,7655 21636,7651 21640,7654 21635,7655 21637,7660 21640,7656 21643,7661 21644,7663 21645,7667 21642,7669 21644,7674 21645,7674 21649,7677 21647,7672 22647,7672 22650,7667 22650,7667 22647,7671 22646,7672 22648,7673 22651,11673 22653,11672 22654,11670 22652,11671 22656,11673 22656,11674 22654,11678 22658,11678 22656,11675 22659,11680 22659,11685 22664,11687 22659,11687 22664,11687 22664,11692 22669,11696 22673,11701 22678,11696 22683,11696 22687,11691 22688,11695 22683,11691 22688,11696 22691,11695 22691,11700 22695,11702 22693,11705 22696,11710 22699,15710 22700,15712 22704,15707 22708,15712 22708,15715 22708,15720 22709,15725 22712,15723 22714,15724 22719,15727 22718,15727 22718,15731 22713,15730 22715,15734 22717,18734 22722,18729 22724,18725 22728,18729 22732,18733 22734,18736 22730,18740 22733,18740 22735,18742 22731,18741 22732,18744 22736,18749 22735,18754 22739,18754 22741,18756 22745,18758 22746,18760 22750,18764 22751,18764 22753,18764 22754,18767 22750,18767 22753,18767 22756,18772 22761,18777 22757,22777 22757,22780 22760,22776 22758,22776 22760,22772 22760,22775 22760,22777 22762,22774 22759,22775 22764,22772 22764,22767 22766,22768 22771,22771 22771,9589 10527,9593 10528,9598 10533,9600 10534,9597 10534,11597 10535,11602 10539,11603 10544,11598 10543,11601 10543,11605 10544,11609 10545,11611 10542,11615 10540,11615 10542,11616 10544,11619 10544,11621 10544,11623 10542,11619 10544,11620 10549,11616 10549,11618 10550,11619 10552,11622 10555,11622 10556,11623 10556,11621 10556,11625 10561,11625 10564,11625 10566,11628 10563,11630 10567,11628 10572,11626 10575,11628 10575,11632 11575,11636 11576,11638 11577,11638 11578,11638 11581,11639 11579,11643 11574,11646 11573,11650 11574,11647 11579,11648 11580,11653 11581,9571 9513,9571 9516,9571 9516,9574 9521,9572 9525,9573 9528,9573 9529,9578 9531,9583 9526,9581 9531,9576 9535,9578 9533,9583 9535,9583 9539,9587 9544,9590 14544,9595 14544,9598 14545,6598 14549,6598 14551,6599 14552,11599 14556,11602 14558,11598 14558,11598 14561,11602 14565,11603 14565,11603 14564,11603 14568,11604 14573,11605 14568,11607 14568,11607 14570,11607 14572,11607 14567,11611 14572,11611 14571,11607 14571,11609 14569,11605 14569,11606 14570,11606 14573,11607 14577,11610 14578,11609 16578,11609 16582,11607 16579,11605 16581,11606 16576,11605 11576,11608 11578,11610 11583,13610 11583,13614 11578,13616 11582,13617 11587,13617 11583,13621 11585,13626 11589,13621 11589,13621 11591,15621 11591,15625 11591,15630 11595,15631 11596,15634 11598,15638 11603,15642 11608,15643 11612,15642 11614,15646 16614,15648 16610,15648 16614,15648 16614,15647 16614,15652 16611,15654 16616,15655 16611,15651 16612,15655 16615,15659 16617,18659 16616,18660 16611,18660 16616,18664 16621,18668 16626,9673 12604,9674 12605,9676 12605,9679 12605,9682 12606,9680 12606,9680 12609,9681 12612,9684 12616,9688 12620,9691 12624,9686 12621,9686 12625,9686 12630,9684 12634,9686 12634,9687 12639,9686 12637,9683 12634,9685 12632,9689 12632,9689 12629,9692 12629,9692 12632,9695 12636,9693 12641,9692 12645,9692 16645,9694 16646,9698 16650,9698 16651,9693 16651,9693 16652,9693 16655,9692 16652,9693 16655,9689 16658,9689 16658,9692 16661,9696 16665,9698 14665,9701 14668,9702 14664,9703 14663,9702 14667,9707 14667,9711 14672,9716 14673,9719 14677,11719 14673,11720 14674,11721 14672,11725 14672,11729 14667,10729 18667,10732 18667,10727 18669,10730 18665,10732 18670,10737 18665,10737 18670,10742 18674,9742 18674,9741 18675,9742 18676,9746 18678,9751 18677,11751 18679,11751 18684,11753 18687,11757 18692,11757 18690,11761 18691,11761 18692,11766 18697,11769 18701,11771 18696,11774 18697,11774 18701,8613 10517,8611 10522,8611 10522,8616 10521,8619 10523,8622 10521,8623 10518,8623 10518,8624 10518,8624 10521,8629 10523,8633 10518,8635 10514,8640 10514,8642 10514,8646 10514,8647 10517,8644 13517,8649 13518,8653 13522,12653 13522,12653 13526,12657 18526,12653 18527,12657 18532,12660 18535,12656 18537,12660 18539,12658 18537,13658 18541,13657 18545,13657 18547,13660 18551,13665 18554,13665 18556,13665 18559,13665 18556,13668 18560,13672 18564,13672 18566,13676 18568,13676 18568,16676 18568,16681 18568,16678 18568,16682 18573,16681 18577,16686 18575,16686 18571,16686 18576,16684 18578,16684 18578,16681 18581,16684 18584,16683 18586,16687 18581,16682 18583,16677 18582,16676 18583,16681 18585,16679 14585,16677 14590,16682 14591,16686 14587,16691 14587,16696 14585,16696 14583,16697 14587,16702 14589,16704 14594,16699 14594,16704 14594,16704 14599,16705 14604,16708 14608,16713 15608,16717 15613,16721 15618,16721 15623,16724 15628,19724 15630,19726 15627,19729 15628,19725 15626,19720 15631,19724 15635,19728 15634,19729 15632,19730 15630,19733 15633,19734 15634,19736 15636,19741 15634,19739 15634,19744 15634,19749 15630,21749 15633,21747 15637,21749 15641,21749 15641,21745 15645,21748 15650,21749 15655,21751 15660,21753 15660,21755 15656,21752 15658,21751 15658,21753 15658,21754 15661,21754 15665,21754 15667,21757 15668,21753 16668,21753 16670,21757 16673,21759 16670,21756 16670,21760 16673,21757 16676,21761 16680,21765 16685,21768 16686,21769 16690,21769 16688,21769 16686,21766 16686,21768 16688,21773 16687,21778 16690,21781 16690,21780 16694,21780 16693,24780 16695,24777 16700,24782 16702,24787 16701,24787 16697,24787 16700,24792 16704,24787 16701,24788 16701,24789 16706,24792 16706,24797 16706,24800 16710,24805 16711,24805 16715,24810 16710,24809 16714,24813 16717,24817 16718,24817 16720,24819 16722,24815 16725,24812 16727,24811 16727,24814 16730,24819 16726,24821 16729,24826 16731,24830 16736,23830 16741,23826 16746,23827 16747,23829 16749,23833 16752,23835 11752,27835 11757,27837 11756,27834 11756,27835 11757,27838 11759,27833 11763,27834 11766,27839 11770,27844 11770,27849 11772,27849 11773,27849 11773,27854 11777,7581 10530,7582 10533,7581 10529,7583 10530,7584 10529,7584 10533,7582 10535,7586 10535,7589 10530,7592 10526,7592 10529,7589 10525,7592 10528,7596 10524,7600 10529,7602 10530,7599 10530,7594 10531,7598 10526,7601 10531,7605 10535,7609 10539,7612 10544,7610 10544,7612 10540,7608 10541,7610 15541,7613 15546,7617 15548,7618 15547,7620 15544,7620 15546,7621 15547,7624 15551,7628 15554,7631 15558,7631 15553,7636 15556,7637 15558,7637 15554,7641 15556,7644 15556,7648 15559,7651 15560,7647 15563,7650 15564,7650 15559,7652 15561,7650 15562,7651 15562,7651 15567,7655 15568,7653 15569,2653 15573,2657 15577,2662 15579,2663 15582,2663 15587,2665 15589,2669 15589,2669 15587,2673 15591,2673 15595,2677 15597,2677 15599,2680 15601,2683 15606,2687 15606,2683 15609,2688 15606,2692 15607,2693 15607,2698 15610,2698 15611,7698 15613,7702 15616,7704 15618,7699 19618,7703 19620,7698 19624,7698 19624,7701 19627,7699 19628,7704 19624,7708 19622,7712 19617,7714 19615,7710 19612,7715 20612,3715 24612,3720 28612,3724 28610,3727 28610,3728 28608,3725 28603,3729 28605,3733 28604,3734 28603,3737 32603,3739 32606,3740 32609,3739 32613,3738 32613,3735 32615,3739 31615,3739 31610,3743 31606,6743 31601,6743 31603,8743 31601,8743 31605,8748 35605,8748 35610,8752 35615,8751 35615,8752 35620,8755 35620,8760 35620,8765 35624,8760 35627,8764 35626,8761 35631,8763 35635,8767 35636,8767 35632,8767 35635,8771 35630,8775 35631,8778 35632,8775 35632,3775 35633,3775 35637,3774 35639,3772 35641,8772 35645,8772 35645,8773 35648,8768 35651,8764 35651,8769 40651,8764 40653,8767 40653,8770 40654,8771 40657,8775 40658,8777 40663,8779 40666,8783 40670,8783 40674,8787 40675,8789 40670,8789 40674,8792 40672,8795 40675,8796 40672,8800 40676,8800 40676,8800 40679,498 7392,503 7390,504 7390,507 7395,509 7395,509 7397,514 7400,6529 9451,6529 9451,6524 9451,6527 9452,6527 11452,6527 11456,6528 11457,6529 11458,6531 11461,6535 11463,6535 11467,6530 11472,6532 11472,10532 11473,10533 11473,10537 11476,10540 11473,10540 11473,10544 11474,10544 11474,10544 11472,10544 11470,10539 11475,10539 11478,10542 12478,10545 12483,10546 12488,10547 12492,10552 12493,10552 12490,10556 12490,10558 12493,10560 12495,10555 12496,10557 12491,10556 12491,10556 12490,10553 12494,10558 12497,10559 12502,10564 12505,21753 16670,21754 16672,26754 16674,26757 16676,26761 16679,26756 16682,26761 16683,26763 16684,26766 16689,26771 16692,28771 16687,28774 16687,28776 16692,28777 16695,28781 16695,28785 16690,28789 16691,28786 16688,28789 16690,28792 16688,28793 16687,28795 16690,28793 16695,28791 16692,28793 16695,28790 16696,28790 16700,28792 16700,28793 16701,28794 16701,28794 13701,28796 12701,28799 12701,28799 12706,28800 12701,28801 12705,28803 12708,28807 12708,28808 15708,28810 15712,28811 15709,28813 15709,28813 11709,28817 11709,7618 14589,7620 14587,7625 14589,7626 14584,7631 14586,7632 14588,7637 14589,7642 14592,536 1374,540 5374,542 5378,542 5383,-2458 5388,-2457 5388,-2455 5393,-2452 5393,-2452 5391,-2448 5389,-2448 5390,-2449 5393,-2445 5388,-2441 5392,-2436 5397,-2432 5397,-2430 5397,-3430 5399,-3429 5404,-3430 5405,-3427 5407,-3422 5409,-3421 5411,-3421 5411,-3421 5407,-3417 5410,-3418 5410,-3422 2410,-3417 2414,-3416 2418,-3412 3418,-3407 3422,-3407 3426,-3406 3429,-3404 3433,-3403 3435,-3398 3439,-2398 3441,-2399 3442,-2397 3446,-2395 3447,-2394 3443,-2398 3445,-2398 3443,-2393 3446,-2391 3450,-2387 3451,-2390 3455,-2385 3457,-2383 3457,-2382 3462,-2379 3467,-2384 3467,-2383 3467,-2381 3470,-2383 3471,-2385 3474,-2383 3479,-2383 3481,-2383 3479,-2382 3484,-2380 3489,-2385 3487,-2384 3490,-2384 3490,-2383 3492,-2383 3495,-2378 3499,-2377 3495,-2378 3498,-2375 3500,-2375 3505,-2373 3503,-2373 3505,-2374 3505,-2374 3506,-2369 3511,-2364 3516,-2361 3516,-2356 3520,-2354 3524,-2353 3529,-2356 3533,-2351 3538,-2354 3542,-2349 3545,-2349 3547,-2347 3550,-2352 3547,-2355 3551,-2353 3556,-2353 3556,-2349 3554,-2352 3553,-2351 3558,-2348 3554,-2346 3556,-2344 3559,-2347 -441,-2352 -437,-2348 -440,-2345 -435,-2343 -440,-2343 -436,-2339 -432,-2339 -431,-2337 -429,-2337 -434,-2341 -431,-2345 -427,-2349 -426,-2350 -422,-2348 -418,-2344 -415,-2349 -415,-2345 -413,-2345 3587,-2344 3583,-2344 3580,-2339 5580,-2335 5583,-2336 5582,-2331 5587,-2330 5582,-2329 5582,-2337 -434,-2333 -433,-2330 -2433,-2327 -2435,-2331 -2433,-2328 -2433,-2328 -2429,-2325 -2429,-2320 -2428,2680 -2428,2684 -2424,2685 576,2685 579,2682 582,2684 584,2679 584,2674 585,2671 587,2673 583,2673 581,2677 581,2680 580,2681 584,2684 580,2681 582,2685 585,2690 583,690 587,691 584,694 584,694 585,692 583,694 584,693 588,28793 16695,28791 16694,28793 16698,28797 16703,28798 16707,28797 16712,28797 16715,28795 16717,28799 16712,28795 16710,28800 16707,28805 16705,28807 16702,28802 16705,28803 16701,28805 16703,28803 16698,28803 16700,28805 16704,28809 16699,28812 16702,28808 16703,28813 16700,28817 16703,28819 16704,28816 16709,28812 16708,28809 16708,28809 16707,28814 16709,28812 16712,28807 16717,28807 16717,28809 16717,28807 16717,28811 16717,28814 16722,28815 16719,28819 16719,28819 16724,28819 16726,28814 16727,28814 16722,28817 16726,28820 16730,28821 16730,28816 16733,28821 16737,28823 16741,28818 16741,28822 16744,28819 16747,28815 16748,31815 16748,31819 16748,31817 16746,31818 16749,31819 16747,31817 16748,31820 16746,31816 18746,31820 18746,31815 18742,31815 18744,31818 18740,31819 18735,31824 18735,31829 18738,31834 18742,31837 18745,31837 18748,31842 18749,31847 18749,31851 18749,31854 18750,31854 18749,31852 18752,31847 18754,31850 18758,31855 22758,31857 22760,31861 22759,31859 22761,31856 22764,31856 22768,31856 22768,31856 22770,31858 22765,31863 22766,31862 22770,31860 22772,31856 22776,31861 22775,31866 22780,31870 22780,31871 22782,31871 22779,31866 22781,31870 22781,31870 22786,31873 22786,31877 25786,31877 25791,31877 25796,31880 25800,31882 25804,31885 25809,31885 25812,31886 25815,31888 25815,31890 25820,31890 25821,31889 25821,31885 25817,31889 25814,31887 25815,31890 25819,31892 25820,31896 25816,31897 25817,31902 25818,31904 25823,31908 25825,31910 25828,31914 25825,31909 25825,31912 25829,31907 25829,31911 25834,31912 25838,31911 25837,31914 25837,31918 25836,31918 25831,31914 25831,31912 25826,32912 25830,32915 25833,32911 26833,32912 26834,32915 26839,32913 26839,32915 26835,32917 26837,32922 26832,32924 26834,32926 26835,32921 26840,33921 26835,33923 26836,33927 26837,33925 26833,33926 26836,33931 26837,33929 26837,33932 26842,33934 26842,33935 26847,33940 26850,33935 26848,33931 28848,33929 28852,33925 28849,33927 28849,33929 28852,33927 28850,33929 28854,33931 28854,33935 28854,28935 28854,28935 28849,28938 28854,28942 28855,28944 28860,28942 28861,28941 28863,28942 28860,28942 28856,28947 28858,28951 28857,28953 28861,28953 28860,28956 28863,28957 31863,28957 31867,28960 31869,28962 31869,28964 31872,28965 31877,28969 31881,28965 31882,28967 31886,28969 31888,28964 31892,28960 31895,28961 31893,28966 31896,28967 31901,28963 31903,28961 31908,28964 31908,28964 31904,28960 31904,28961 31905,28960 31905,28965 31906,28966 31909,28967 28909,28967 28909,28970 28910,28966 28914,28965 28918,28966 28918,9626 21498,9621 21498,9622 21501,9618 21504,9621 21505,9624 24505,9622 24505,9625 24508,9626 24511,9631 24516,7631 24512,7631 24507,7632 24506,7635 24504,7638 24507,7636 24502,7639 24507,7644 24508,7648 24512,7648 24512,7650 24512,7651 24514,7655 24517,7659 27517,10659 27520,10661 27524,10664 27523,10666 27528,10666 27523,10665 27524,10667 27529,9667 27534,9670 27534,9668 27534,9667 27533,9670 27533,9670 27538,9670 27540,9675 27538,9679 27538,9683 27543,9680 27538,9682 27540,9685 27545,9683 27546,9683 27547,9678 27548,9680 27548,9684 27549,9685 27545,9690 27546,9690 27548,9692 27550,9697 27553,9698 27557,9702 27553,9702 27548,9702 27549,9706 27551,9701 27551,9701 27551,9697 27546,9696 27549,9697 27553,9699 27557,9698 27558,9696 27560,9701 27556,9705 27552,32912 25830,32913 25829,32916 25830,36916 25828,36916 25831,36916 25835,39916 25837,39911 25842,39913 30842,39910 30844,39910 30845,39908 30848,39911 30852,39913 30856,39918 30857,493 10403,498 10406,498 10406,493 10406,497 10404,493 10409,493 10414,497 10416,496 10418,499 10423,500 10427,505 10429,510 10429,515 10431,515 10433,515 10433,512 10434,5666 500,5666 500,5668 505,5669 509,8669 2509,9669 2505,9672 2505,9675 2509,9670 2510,14670 2513,14675 2512,14671 2512,14673 2513,14671 2517,14674 2515,14679 2520,14676 2524,17676 2519,17677 2520,17678 2523,10558 12497,13558 12492,13558 12490,13560 12494,13561 12499,13563 12503,13568 12508,13572 12512,13572 15512,13573 15515,13569 15518,13566 15522,13571 15522,13572 15522,13575 15527,13576 15532,13573 15534,13575 15535,13572 15538,13574 15541,13571 15546,13571 15541,13568 15541,11605 16581,11608 16576,11613 16575,11612 16577,7612 16581,7614 16582,7617 16587,7616 16591,7617 19591,7619 19595,7620 19598,7624 19598,7625 19599,7624 19595,7625 14595,7627 14597,7626 14599,7628 14604,7628 14605,7633 14610,7632 14615,7632 14620,7631 14621,7631 14621,7631 14621,7627 14621,7632 15621,7635 15626,7636 15627,7637 15631,7633 15636,7635 15636,7631 15631,7631 15631,7634 18631,7630 18632,7629 18633,7632 18630,7633 18631,7638 18632,7638 18632,7638 18633,7633 18638,7637 18642,7639 18639,7639 18641,7643 18643,7647 20643,7648 20647,7643 20643,7648 20640,7649 20645,7650 20641,7650 20642,7650 20645,5650 20646,5654 20646,5654 20643,5651 20645,5648 20645,5653 20650,5653 20650,5654 20653,5655 20655,5659 20660,5664 20664,5668 20669,5668 20672,5670 20677,5675 20677,5678 20677,5680 20678,5680 20680,5679 20680,5682 20683,5681 20681,5682 20682,5685 20682,5685 20687,5685 20691,5685 20694,5685 20696,5685 20698,5686 20697,5688 20698,5688 20697,5688 20696,5689 20696,5694 20701,5695 20700,5697 20704,5697 20708,5694 20708,5694 20708,5694 20713,5691 20713,1691 20713,1689 23713,1694 23714,1696 23714,593 1402,593 1406,595 1410,598 1413,603 1418,602 1422,601 1422,602 1418,606 1423,607 1424,603 1429,605 1433,609 1429,614 1429,610 1429,610 1429,614 1429,610 3429,612 3425,616 3429,620 3429,624 3432,628 3436,628 3436,628 3441,632 3441,628 3445,626 445,631 449,631 453,630 455,626 -1545,630 -1542,630 -1538,630 -1542,630 -1541,633 -1536,631 -1534,626 -1536,630 -1535,630 -1532,635 1468,637 1471,642 1476,642 1477,642 1478,643 1481,643 4481,638 7481,638 7483,643 7486,645 7484,9668 27534,9669 27537,9671 27538,9672 27539,9673 27544,9674 27544,9673 27546,9671 27546,9667 27542,9666 27546,9667 27543,9672 27544,9675 27548,9676 27546,9676 27541,9681 27538,9681 27540,9686 27544,9686 27547,9690 27544,9687 27545,9691 27549,9693 24549,9694 24546,9692 24548,9697 24553,9694 24555,9695 24560,9696 24555,9700 24551,9704 24547,9703 24549,9705 24551,9705 24554,9705 24554,9705 24557,9707 24561,9706 24557,9711 24562,9715 24566,9720 24568,9717 24569,9720 24573,9725 24573,9726 24575,9729 24577,9734 24575,9735 24578,9735 24582,9731 24583,9726 24586,9727 24586,9728 24589,9733 24592,9734 28592,9734 28592,13734 28594,13737 28595,13740 28595,13744 28598,13739 28600,13742 28601,13744 28597,13742 28602,13744 28602,13744 28598,13745 28603,13744 28608,13749 28609,13749 28609,13754 28606,13758 28610,13759 28609,13760 23609,13761 23611,13763 23616,13768 23618,13769 24618,13768 24617,13773 24613,13773 24613,13778 24617,13776 24620,13778 24619,13779 24620,13781 24625,13785 24625,13785 24622,16785 24617,16786 24617,16790 24617,16794 24622,16795 24626,16798 24630,16796 24631,16796 24636,16799 24638,16804 24637,16808 24637,16809 24632,16814 24627,16809 24627,16814 24632,16818 24628,16816 24627,16820 24622,16820 24627,16824 24632,16823 24637,16824 24642,16826 24644,16824 24648,16826 24648,16826 24652,16829 24652,16829 24656,16828 24651,16832 24653,16827 24648,16828 24645,16828 24647,16831 24645,16832 24649,16835 24653,16839 24656,16839 24654,16840 24659,16841 24658,16845 27658,16845 27658,16840 27659,16837 27659,19837 27654,19841 27654,19836 27657,19839 27659,19839 32659,19839 32659,19839 32664,19840 32668,19842 32671,19847 32671,19851 32673,19856 29673,19856 29670,19858 29675,19860 29676,19865 29677,19868 29677,19868 29674,19872 29675,19872 29674,19874 29669,19876 29667,19876 29670,19878 29675,19883 29675,19883 29675,19879 29676,19879 29673,19880 29674,19880 29679,19876 29676,19876 29677,19879 29673,19880 29677,19879 29678,19881 29681,19882 29683,19882 29681,19887 29681,19888 29681,19891 29684,19896 29688,14896 29689,14896 29693,14899 30693,14903 30698,14908 25698,14910 25698,14911 25698,14914 25699,14910 25695,14910 25696,14914 25697,14917 25692,14921 27692,14925 28692,14920 28694,14924 28698,14924 28699,11924 28697,11928 28692,11932 28687,11937 28691,11941 28694,11940 28699,11944 28701,11940 28701,11940 28701,11943 28699,11945 28703,11947 28706,11951 28711,11953 28714,11956 28709,11961 28708,11966 28703,11969 28705,11967 28709,11967 28714,11964 28719,11969 28719,14969 28720,14970 28717,14973 28714,14976 32714,14976 32711,14977 32711,14980 32709,14984 32709,14987 32711,14988 32715,14993 32719,14994 34719,14994 34721,12994 34724,12994 34726,12998 34727,13000 34729,13002 34729,17002 34732,16998 34736,16999 34735,17000 34740,16999 32740,17001 32745,17001 32741,17005 32746,17006 32751,17010 33751,17008 33754,17013 33758,17013 33760,17010 33759,17010 33759,17009 33762,17013 33766,17017 33766,17020 33762,17015 33766,17019 33762,17022 33762,17017 33766,17014 33762,17018 33767,17019 33764,17021 33764,17023 33764,17019 33764,17022 33760,17024 33758,17029 33759,17033 33760,17028 33764,17023 33764,17028 33769,17031 33774,17034 33778,17029 33780,17034 33783,17030 33785,17032 33781,17035 33776,17038 33775,17040 33775,17041 33778,17045 33778,17049 31778,17050 31782,17052 31780,17054 31781,17051 31783,17053 31783,17049 31779,17050 31779,21050 31782,21053 31783,21054 31778,21056 31781,22056 31786,22052 31783,22050 31786,31882 25804,31887 25800,31887 25801,9610 10543,9612 10548,9614 10553,9614 10558,9614 10553,9616 10556,9620 8556,9623 8554,9628 8559,9630 8564,9630 8568,9628 8566,9628 8570,9630 8574,9634 8574,9634 8570,9635 8569,9635 8566,9632 8568,9637 8571,9638 8572,9639 8568,9643 8568,9646 8572,9646 8570,9651 8575,9650 8578,9653 8581,9654 8583,9653 8586,9655 13586,7655 13586,7660 13591,4660 13590,4663 13590,4666 13592,4671 13597,4673 13596,4678 13599,4682 13600,4685 13601,4683 13603,4685 18603,4683 18604,4685 18606,4690 18608,4690 23608,4693 23606,4693 23606,4697 23603,4702 23608,4704 23613,4704 23615,4709 23614,4708 23615,4711 23619,4711 23619,4713 23622,4713 23626,4711 23630,4715 23631,4712 23635,4714 23640,4718 23640,4719 23642,4721 23640,4721 23639,4726 23644,4730 23648,4725 27648,4723 27648,4727 27651,4731 27654,4733 27656,4737 27657,4742 27660,4745 27661,4750 27660,4751 27664,4754 27659,4759 27659,4755 27664,4757 27665,4752 27665,4754 27667,4750 27670,4750 27674,4753 27678,4753 27682,4758 27682,4758 27683,4760 27679,4762 27679,4764 27682,4769 27678,4773 32678,4773 32675,4771 32675,4767 32679,4772 32684,4775 32684,4778 32684,4775 35684,4775 35679,4775 35680,4779 35683,4779 35683,4784 35683,4789 35680,4790 35685,4791 35687,4791 35688,4792 35683,4792 35688,4792 35688,4797 35690,4799 35693,4803 35692,4803 35694,4803 35695,4808 35695,4812 35698,4816 35702,4815 35706,4811 35711,4811 35708,4813 35710,4813 35710,4814 35714,4815 35718,4820 35722,4816 35719,4819 35719,4824 35722,4826 35719,4830 35724,4832 35728,4835 35725,4840 35726,4840 35729,4840 35733,4840 35733,4841 35732,4844 35728,4848 35730,4849 35733,4849 35734,4849 35736,4847 35737,4847 35738,4843 34738,4846 34739,9846 37739,9850 37743,9853 37745,9857 37749,9852 37752,9852 37751,9852 37748,9852 37751,9851 37753,9848 37756,9843 37759,9841 37759,9840 37764,9837 37767,9842 37764,9845 37764,9840 37765,9842 37770,9842 37774,9846 37775,9851 37778,9854 37783,9854 37779,8854 37783,8851 37787,8856 37791,8859 37794,8860 37793,8855 37794,8857 37798,8859 37797,8860 37797,8860 37802,8861 37804,8863 37804,8863 37805,8865 37808,8866 37811,8866 37811,8862 37811,8859 37811,8864 37816,8864 37816,8867 37817,8872 37819,8867 37822,8871 37819,8875 37817,8876 37819,8876 37822,8871 37818,8873 37823,8877 37822,8879 37820,8880 37824,8881 37826,8884 37825,8887 37827,8884 37829,6637 6475,6637 6471,6635 6469,6640 6474,6641 6478,11641 6476,11644 6471,11639 6467,11638 6464,11642 6464,11646 6459,11647 6462,550 1394,551 1395,552 1399,548 1401,552 1400,547 1405,551 1406,556 1407,558 1410,558 1411,560 1413,565 1418,561 1423,-2378 3499,-2378 3502,-2378 3504,-2374 3501,-2371 3505,-2367 3507,4607 5468,4611 5471,4614 5472,4619 8472,4621 8473,4624 8477,4629 8474,4633 8476,4635 8478,4638 8475,4640 3475,4642 3479,4645 5479,4645 5482,4644 5486,4641 5486,4639 5488,4635 5491,4631 5488,8631 5485,8635 4485,8630 4488,8628 4488,8630 4486,8635 7486,8640 7482,8641 8482,8642 8483,8643 8483,8643 8483,8640 8488,8641 8489,8638 8487,8641 8491,500 5370,502 5368,504 5369,504 5371,506 5375,505 5376,509 5381,509 5381,504 5380,505 5375,509 5379,513 5382,513 5382,515 5382,517 5379,3517 5381,3519 5381,3520 5384,3523 5387,3521 5388,3521 5390,3520 5385,3519 5380,4519 5383,4524 5387,4523 5392,4525 5389,4530 5384,4525 5384,4526 5386,4531 5390,4531 5387,4530 5389,4534 5388,4538 5391,4541 5386,4542 5390,7542 5393,7547 5398,7548 5399,7547 5397,7543 5401,7544 5405,7545 5403,7545 5408,7546 5409,7550 5414,3550 5416,3550 5417,3548 5417,3543 5417,3543 5412,3548 5412,548 5412,552 10412,555 10414,557 10410,560 10411,563 10416,2563 10418,2564 10422,2559 10426,2555 10423,2560 10421,2563 10418,2565 10419,2569 10421,2573 10421,2573 12421,2572 12425,2571 12428,2576 12428,2581 12433,2583 12435,2581 12434,2576 12439,2581 12442,2581 12443,2581 12438,2579 12442,2575 12447,2573 12445,2577 12445,2582 12441,2587 12436,2589 16436,2590 16433,2586 16437,2586 16439,2588 16434,2589 16436,2590 16433,2593 16434,2590 16432,2593 16432,2590 16437,2594 16439,2599 16442,2600 16447,2605 16450,2605 16454,2604 16451,2608 16447,2612 16442,2613 16446,2618 16451,2623 16455,2626 16457,2629 16457,2630 16460,2630 16460,2632 16464,2636 16464,2639 16467,2638 16471,2643 16476,2643 16479,2645 16484,2645 16481,2649 16482,2652 16480,2648 16476,2649 16476,2649 16481,2644 16485,6644 16488,6647 16488,6647 20488,6647 20493,6652 20497,6656 20498,6661 20503,6656 20507,6656 20511,6656 20512,7540 11429,9674 12603,11674 12599,11675 12594,11674 12599,11678 12601,11681 12603,13681 12603,13684 12603,13684 12603,13686 12603,13689 12603,13693 12605,13695 12601,13695 12603,13697 12602,13701 15602,13703 15603,13704 15601,13706 15597,13711 15598,13711 15603,13715 15603,13714 15600,13713 15598,13717 15603,13722 15605,13726 15607,13727 15612,13727 15612,13731 15614,13733 15616,13728 15616,13730 15617,13734 15614,13736 15617,13739 15614,13739 15617,13739 15617,13741 15619,13746 15624,13742 15624,13742 15626,13746 15626,13750 15623,13749 15621,13754 15626,12754 15627,12750 15627,12753 15624,12754 15624,12758 15629,12759 15624,12761 15627,12764 15632,12765 15637,12768 15635,12772 15640,12769 15636,12772 15634,12773 15634,12772 15634,12775 15635,12772 15640,12774 15641,12777 15641,12779 15646,12780 15642,12776 15640,12780 15640,12779 15638,12784 15642,12789 15643,12787 15644,12788 15649,12791 15649,12789 15648,12787 15648,12791 15650,7791 15655,7795 15655,7798 15658,7802 15659,7803 15655,7804 15654,2804 15652,2808 15648,2806 15652,2805 15652,2806 15657,2801 15657,2801 15658,2801 15655,2803 15654,2808 15658,2804 15653,2803 15656,2807 15656,2812 15658,2814 15657,2818 15658,2818 15660,2822 18660,2825 18664,2829 18668,2833 18663,2832 18668,2832 18668,2834 18671,2836 18672,2839 18677,2843 18680,2848 18675,2851 18677,2854 18681,2859 18685,2864 18690,2868 18694,2873 21694,2877 21694,2879 21693,2881 21693,2882 21696,2885 21697,2883 21701,2887 21702,2887 21702,2887 21697,6887 21701,6892 21702,6888 21707,3576 10502,3578 10506,3582 10508,3585 10508,3590 10512,3592 11512,3593 11514,3598 11514,3602 11514,3599 11515,3599 11516,3601 11520,3601 11519,3599 11522,3599 11519,3601 11517,3600 11515,3600 11517,3596 11519,3600 11521,3603 11525,3606 11528,3607 11532,3608 11536,3606 11541,3605 11541,3605 11542,3609 11537,3613 11538,3609 11538,3605 11538,3605 11542,3609 11546,3613 11541,3613 11546,3612 11547,3611 11551,3614 11548,3610 11550,3611 11555,3611 11559,3615 11559,3618 11563,3621 11564,3618 11567,3620 6567,3624 6567,3627 6570,3623 6572,3619 6576,3616 6577,3611 6578,3612 6579,3609 6578,3610 6582,3613 6586,3614 6586,3619 6584,3622 8584,3617 8582,3622 8587,3622 8592,3624 8592,3627 8587,3628 13587,3629 13589,3631 13594,3636 13589,3636 13590,3637 13587,3637 13591,3641 13596,3641 13597,3645 13602,3640 13601,3640 13602,3640 13606,3644 13606,3644 13609,3639 13612,3639 13612,3644 13610,3649 13615,3654 13618,3659 13618,3662 13618,3666 13620,3661 13625,3660 13630,3660 13634,3662 13635,3659 13637,3663 13638,3666 13638,3669 13635,6669 13635,6671 13631,6672 13631,6669 13631,6667 13629,6663 13629,6663 13627,6663 13627,6667 13630,6671 13630,6671 13630,6673 15630,6674 15631,6679 15632,6682 15629,6685 15629,6686 15631,6691 15633,11691 15630,11689 15629,11693 15632,11693 15627,11698 15627,11695 15626,11697 15629,14697 15628,14701 15631,14705 15632,14700 15632,17700 15635,17705 15640,17700 15642,17701 15638,17703 15640,17708 15641,17712 16641,17716 21641,17716 21645,17721 21645,17720 21650,17720 21653,17720 21653,17722 21653,17718 21654,17721 21657,17723 21657,17724 21657,17720 21659,17723 21663,17725 21660,17725 21661,17723 21661,17727 21665,17727 21665,17731 21669,17729 21671,17731 21671,17727 21671,17727 21667,17726 21670,17722 21671,17727 21671,17732 21671,17737 21671,17739 21674,17741 21676,17746 21680,17750 21683,17745 21681,17745 21678,17750 21679,17753 21681,17758 21677,17760 21682,17764 21681,17763 21681,17763 21684,17766 21680,17768 21684,17764 21688,17769 21691,17771 21695,17773 21691,17776 21690,17777 21695,17781 21695,17784 21695,17784 21695,17786 21699,14786 21695,14786 21692,14786 21690,14788 21691,14788 21696,14793 21698,14798 21701,14796 21699,14800 21702,14796 21704,14800 26704,14805 26699,14810 26700,14810 26698,14814 24698,14814 24702,14814 24705,14815 24700,14819 24703,14822 24705,14826 24710,14831 24709,14833 28709,14835 28710,14838 28708,14839 28708,14842 28709,14847 28713,14843 28714,14847 28712,14850 28717,14847 28713,14851 28711,14854 28706,14853 28702,14848 28697,14852 28702,14857 28706,14857 28710,14858 27710,14861 27711,14864 27714,17864 27715,17864 27716,17864 27713,17869 27715,17870 27719,17871 27720,17869 27720,17872 27724,17871 27729,17873 27729,17875 27733,17877 28733,17881 28730,17881 28727,17884 28728,17886 28733,17886 28734,17891 28735,19891 28735,19892 28731,19896 28732,19891 28736,19895 28740,19898 28737,22898 28738,22898 26738,22898 26733,22899 26738,22900 26738,22901 26742,22901 26744,22896 26744,22899 26746,22901 26751,22899 26754,22904 26756,22906 26761,22909 26761,22914 26766,22915 26765,22918 26768,22913 26768,22915 26763,22920 26763,22917 26764,22921 26765,22922 26769,22918 26764,22920 26765,22919 26768,26919 26771,26922 26774,26927 26779,26924 26778,26924 26780,26920 26782,26924 26787,26922 26788,26925 26792,26927 26787,26928 26790,26933 26794,26933 26795,26936 26795,26939 26800,26939 26798,26936 26798,26939 26795,26937 26795,26937 26793,26937 28793,26939 28791,26940 28793,26937 28796,26937 28797,26935 28798,26930 28798,26934 28802,26934 28807,26936 28811,26940 28812,26937 28815,26939 28814,26934 28812,26938 28817,26942 28822,26943 28822,26948 28822,26952 28824,26953 28824,26953 28829,26950 28834,26954 28839,26954 28839,26949 29839,21949 32839,21951 32838,21951 32843,21951 32844,21951 32849,21951 32854,21953 32854,24953 32852,24953 32851,24957 32853,24962 32854,24963 32849,24967 32847,24970 32849,24966 32849,24967 32852,24963 32856,24965 32860,24968 32861,24971 32860,24974 32860,24978 32863,24980 32859,24981 32864,24981 32868,24983 32866,24988 32866,24988 32869,24991 32874,24992 32878,24992 32881,24992 32877,24988 32880,24991 36880,24991 36883,24991 36885,24992 36889,24996 36894,24995 36894,24998 36894,24999 41894,25004 41899,25006 41900,25010 41905,25005 41909,25007 41912,25008 41916,25009 41919,25011 41917,25016 41919,25017 41916,25014 41919,25015 41919,25017 41919,25018 41924,25023 41927,25026 41928,25026 41929,25021 41926,25020 41926,25023 41928,25019 41933,25018 41932,638 7483,639 7484,640 7482,644 7484,646 7486,651 7486,554 1390,549 1391,547 1392,551 1397,3551 1394,3553 6394,3550 6399,3554 6399,3553 6403,3553 6400,3550 6403,3554 6398,3555 6402,3559 6403,3564 6405,3564 6410,3560 6412,3565 6412,3564 6407,3567 6407,3572 6410,3576 6412,3578 6413,3580 6414,11674 22654,11679 22654,11679 22654,11679 22656,11684 22658,11689 22661,11694 23661,11697 23658,11697 23661,11698 23664,11700 23667,11695 28667,11698 28671,11699 28672,11704 28675,12704 28671,12708 28669,12710 28673,12707 28678,12708 28678,12710 28677,12710 28677,12712 28675,12713 28679,12715 28676,12715 28680,12719 28681,12724 28678,12728 28673,12733 28676,12733 28673,12734 28673,12739 28677,12743 28679,12744 27679,12741 27680,12741 27680,12740 27682,12741 27678,12740 27680,7740 27684,7743 27686,7738 27683,7740 27683,7740 27686,7736 27690,7736 27693,7739 27691,7735 27686,7739 27686,7737 27686,7737 27688,7732 27689,7732 27689,7731 27684,7736 27689,7741 27692,7739 27697,7740 27702,7738 27703,7741 27706,7746 27704,2626 16457,2627 16460,2623 16461,2618 16461,2620 20461,2622 20457,2623 20457,2628 20457,2632 20462,2629 20462,2630 20462,2628 20457,2633 20460,2632 20460,2637 20460,2639 20457,2639 20457,2639 20461,2641 20460,2646 20460,2651 20461,2650 20461,2651 20464,2656 20460,2660 20463,2665 20464,2667 20464,2668 21464,2671 21468,2676 21471,2673 21476,2590 16437,2591 16434,2596 16436,4596 16438,4600 16439,4600 16439,4601 16439,4599 16435,4599 16440,4597 16441,4598 16446,4598 16447,4595 16445,4590 16447,4594 16447,4595 16447,4598 16447,4598 16449,4596 16451,4598 14451,4596 14456,4598 14457,4594 14452,4598 14457,5598 14457,5598 14458,2598 14463,2600 14463,2603 14464,2598 14465,2595 14470,2590 14467,2594 14470,2595 14471,2598 14473,2598 14473,2599 14473,1599 14474,1599 14472,1600 14467,1599 14470,1601 14468,1599 14463,1601 14461,1601 14461,1601 14466,1602 14468,1606 14473,1602 14473,1600 14475,1595 14478,1599 14479,1596 14479,1596 14484,1596 14488,1601 14489,1604 18489,1606 18492,1604 18492,1605 18496,1605 18496,1608 18501,1603 18498,1608 18500,1612 18497,1608 18492,1604 18494,1609 18497,1609 18499,1606 18499,1608 18501,1610 18503,1606 18499,1610 18500,1614 18501,1617 18497,1620 18498,1616 18501,1614 18496,1615 18500,1617 18497,1619 18498,1617 18501,1622 18506,1622 20506,1625 20506,1625 20509,1627 20513,1631 20514,1633 20519,1637 20520,1639 20525,1643 24525,1638 24520,1642 24520,1647 24525,1650 24529,1654 24530,1657 24533,1656 24538,1659 24542,1659 24545,1662 24550,1666 24551,1666 24552,1666 24557,1666 24562,1666 24565,1669 24568,1672 24569,1672 24569,1676 24566,1676 24570,1678 24565,1676 24567,1673 24567,1674 24572,1679 24577,1679 24578,1683 24581,1684 24586,1688 24590,1690 27590,1685 27594,1688 27594,1683 27594,1686 27597,1688 27600,1692 27599,1696 27600,1695 27604,1695 27609,1698 27610,1701 27610,1705 27609,1706 27605,1709 27600,1714 27600,1716 27602,1717 27601,1712 27597,1714 30597,1711 30600,1713 30600,1713 30604,1714 30604,1716 30602,1713 30605,1710 30606,1713 30609,1709 30607,1713 30604,1714 30609,1717 30609,1717 30613,1721 30615,2721 30620,2718 30623,4718 30628,4723 30624,4727 30619,4728 30618,4728 30615,4728 30619,4729 30618,4731 30622,4731 30625,4734 30625,4734 30630,4735 30627,4736 30631,4735 30636,4730 30641,4727 30641,4729 30646,4731 30650,4736 30651,4740 30648,4737 30648,4738 30647,4741 30649,5741 30646,5744 30648,5745 30651,10745 30651,13745 30653,13749 30651,13754 30652,13754 30657,13754 30657,13758 30653,13761 30656,13766 30655,13768 30659,13769 30662,13771 30659,13771 30661,13771 30665,13768 30670,13768 30667,13772 30670,13776 30672,13775 30672,13777 30675,13780 30679,13783 30677,13784 30678,13784 30674,13788 30674,13788 30678,13784 30678,13787 30683,13792 30683,13791 30679,13794 30679,13795 30682,13795 30686,13798 30691,13803 30692,13807 30694,13810 30694,13810 30692,13813 30694,13813 30689,13816 30689,13820 30689,13822 30692,13826 30696,13822 30701,13827 30704,13832 30707,13832 30707,13828 30707,13831 30712,13831 30709,13834 30706,12834 30707,12839 30703,12843 30707,12843 30703,12843 30706,12848 30710,12849 30715,12853 30713,12853 30716,12852 30718,12849 30721,12849 30719,12852 30719,12853 30714,12856 30712,12856 30714,12857 30719,12862 30720,12865 25720,12863 25723,12864 25724,12868 25729,12869 25731,12868 25736,12869 25739,12865 25737,12863 25739,12866 25743,12862 25747,12867 25747,12867 25748,12867 25748,12870 25748,12866 25748,12869 25749,12869 25751,12874 25754,12875 25758,12877 25761,12878 25763,21745 15645,21749 15645,21753 15646,21753 15648,21758 15652,21754 15654,21759 15654,21762 15658,21766 15663,21761 15663,21761 15665,21758 15666,21761 15668,21763 15666,21765 15662,21770 15666,21773 15671,12742 4678,12743 4682,12740 4687,12745 4692,12745 4688,12748 4689,12748 4692,12752 4696,12754 4697,12754 4700,12758 4703,12758 4703,12762 4704,12762 4709,12762 4711,12760 4713,12760 4717,12764 4713,12767 4712,12767 4712,12768 4715,12767 4720,12770 4716,12770 4712,2569 10421,2572 10423,2576 10424,2579 10428,2580 10423,2582 10424,2578 10422,2577 10426,2577 10428,2580 10433,2580 10433,2581 10432,2580 10435,2584 10435,2588 10439,2587 10444,2592 10445,2589 10446,2591 10447,2594 10446,2597 10445,2599 10440,2602 10443,2603 10443,2605 10444,2605 10449,2607 10449,2602 7449,2605 7449,2608 12449,2605 16449,2605 17449,2605 17450,2608 17454,2612 17459,2607 17459,2608 17456,2613 17457,2617 17459,6617 17462,6621 17467,6621 17468,6626 17464,6622 17465,6622 17465,6623 17469,6623 17466,6623 17467,6627 17466,6623 17466,6626 17463,6622 17468,6625 17464,6627 17468,6625 17463,6626 18463,6624 18463,6625 18464,6623 18468,6623 18469,6626 18470,6621 18466,6621 18467,6622 18467,6625 18464,6630 18468,6628 18469,6631 18472,6627 18477,6628 21477,6631 21481,6627 21486,6628 21490,6632 21494,6637 21496,6640 21491,6643 21491,6648 21490,1648 21492,1650 21489,1650 21487,1654 21488,1653 21489,1653 21492,1650 21493,1655 21493,1650 21493,1651 21490,1651 21490,1649 21493,1645 21498,1649 21494,1652 21495,1654 21500,1655 21495,1658 21492,1663 21496,1666 21500,1666 19500,1664 19504,1668 19508,1668 19512,1666 19516,1669 19518,1669 19518,1674 19520,1674 19525,1676 19525,1679 19526,1679 19526,1681 19526,1686 19526,1691 19529,1689 19529,1688 19529,1685 19524,1690 19528,1693 19531,1693 19531,1698 20531,1699 20536,1703 20538,1703 20538,1706 20541,1701 20545,1702 20550,1704 20547,1705 20544,1710 20548,1710 20551,1713 20555,1712 20559,1714 20562,1714 20563,1714 20565,1712 20567,1711 20570,1706 20571,1708 20571,1708 22571,6708 18571,6712 18571,6715 18573,6710 18577,6711 18579,6711 18579,6716 18578,6721 18580,6721 18582,6726 18587,6731 18588,6736 18587,6734 18587,6736 18590,6739 18594,6744 18597,6744 18602,6746 18606,6749 18606,6750 18609,6750 18610,6753 18605,6755 18610,6759 18613,6759 18613,6759 18617,6763 20617,6767 20621,6771 20625,6773 20628,6769 20629,4769 20633,5769 20635,5769 20637,5770 20640,5772 20643,5772 20646,5772 20644,5776 20641,5779 20643,5784 20642,5786 25642,5786 25645,5791 25647,3791 25651,3791 25652,3794 25648,3793 25644,3791 30644,3796 30649,3796 30654,3800 30655,3800 30657,3797 30657,3797 30659,3800 30661,3803 30661,3803 30657,3800 30652,3801 30652,3802 30653,3807 30654,3809 30657,3804 30656,3801 30657,3803 30657,3803 30658,3804 30663,4804 30663,4809 30665,9809 30665,9809 30669,9812 30673,9816 30676,9816 30676,9816 30677,9818 30682,9818 30683,9817 30687,9813 30692,9817 30692,9814 30693,9816 30693,9818 30697,9818 30699,9818 30696,9816 30694,9811 30694,9812 30694,9816 30697,9821 30700,9824 30702,9827 30707,9827 25707,9827 25711,9828 25709,9823 25713,9827 25712,9830 25714,9827 25712,9832 25717,9836 25719,9836 25722,11836 25725,11838 25727,14838 29727,14835 29728,14838 29724,14843 29724,19843 29724,19846 29728,19847 29732,19851 29737,19855 29738,19858 29735,19853 29735,19853 29737,19852 29739,19850 29744,19850 29744,19854 29747,19859 29752,19861 29750,19864 29751,19869 29752,19864 29756,19865 29757,19868 29758,19868 29758,19871 29763,19874 29764,19877 29766,19879 29763,19880 29763,19881 29765,19886 29765,19881 29765,19881 29768,19880 29773,19875 29775,19879 29776,19883 29776,19887 29781,19890 29784,19890 29789,19892 29784,19897 29785,19893 29785,22893 29787,22895 29792,22895 29788,22895 29789,22895 29793,22900 29793,25900 29790,25901 29794,25902 29794,25905 29794,25907 29798,25912 29799,25910 29804,25915 29809,25918 29807,25917 29808,25921 29808,25925 29812,25926 29816,25926 29819,25921 29821,25926 30821,25929 30823,25933 30822,25935 30823,25937 30818,25937 30818,25939 30819,25939 30824,25941 30819,25943 30823,25946 30824,25946 30829,25947 30829,25947 30830,25952 30833,25953 30831,25954 30836,25959 30836,25964 30836,25961 30836,25965 30837,25964 30835,29964 30839,29968 30842,31968 30847,31967 30844,31972 30844,31972 30840,31977 30839,31982 30842,31987 30844,31987 25844,31984 25848,31987 25848,31992 25845,31993 25846,31997 25846,31997 25849,31996 25851,31995 25855,32000 25858,31995 25859,31996 25856,31997 25858,31999 25858,31998 25858,32001 25859,32003 25863,32002 25866,32003 25867,32008 25867,32011 25870,32014 25875,32013 25874,34013 25873,34013 25876,34011 25878,34011 25880,34012 25885,34016 27885,34011 27884,39011 27888,39008 27884,39011 27879,39011 27876,39011 27880,39014 27879,39013 27879,39014 27879,39015 27882,39019 27886,39020 27888,39020 27893,39025 27895,39030 27896,39030 27896,39031 27892,39036 22892,39039 22894,39038 27894,39043 27895,39048 27900,39044 27905,39046 27907,39041 27910,39044 27910,39043 27915,-2382 3462,-2377 3465,-2373 3468,-2371 3469,1629 3470,1632 3472,1630 3469,5630 3473,5635 3474,5638 3474,5639 3469,5643 3473,5643 3473,5639 3477,5639 3477,5639 3480,5642 3479,5644 3481,5649 3480,2649 3485,2649 3485,2650 3489,2653 3491,506 5375,510 5380,513 5382,518 5384,522 5387,521 5384,524 5385,525 5382,523 5384,527 5384,527 5386,4527 5391,4528 5393,4533 2393,4534 2389,4537 2393,4538 2395,4541 2400,4543 2404,4544 2405,4548 3405,4553 3410,4556 3406,4561 3406,4558 3410,4559 3410,4558 3408,4558 3413,4563 3413,4561 3418,4563 3423,4565 3426,4565 3428,4570 3432,4570 3433,4574 3437,4579 3439,4583 3443,4578 3444,4582 3447,4583 3447,4585 3443,4590 3448,4586 3448,4588 3449,5588 3449,5589 3454,5593 3456,5591 3457,5591 3458,7591 3461,7594 3457,7596 3459,7591 3458,7590 3460,7593 3460,7593 3463,7590 3464,7586 3466,7581 3467,7580 3466,7580 3466,7585 3470,7585 3472,7589 3468,7589 3471,7594 3474,7599 3474,7600 3471,7603 3471,7606 3471,7606 3472,7606 3474,7606 3479,7609 3482,7612 6482,7614 6485,11614 6481,11619 6486,11624 6486,11621 6489,11623 6491,11628 6491,8628 6496,8632 6498,8629 6502,8632 6502,8627 6505,8631 6506,8633 6502,8633 6507,8631 6512,8631 6512,8626 6514,8621 6515,8620 6513,8615 6514,8611 6519,8612 6522,8613 6522,8616 6522,8611 6519,8614 6519,8615 6521,8618 6525,8623 6526,8628 6521,8631 6517,8634 6520,8634 6525,8637 6526,8636 6528,8640 6533,8643 6534,8643 6531,8642 6532,8643 6535,8643 6535,8640 6531,8641 6531,8641 6534,8644 6537,8647 6541,8648 6536,8649 6537,8649 6542,8644 6546,8644 6546,13644 6548,13642 6549,13638 6548,13636 6549,11636 6549,11636 6554,11633 6554,11636 6554,11641 7554,11642 7558,11641 7553,11643 7556,11644 7556,11639 7556,11641 7558,11641 7559,11641 7563,11638 7560,11639 7564,11642 7569,12642 7574,7642 7576,7642 7574,7643 7577,7645 7577,7650 7576,7645 7576,7648 7576,7650 7581,7651 7576,7654 7581,7658 7581,7661 7583,7662 7584,7664 7586,7661 7586,7662 7589,7666 7585,7669 7585,7670 7585,7670 7587,7670 7587,7670 7591,7667 7595,7672 7595,7677 7600,7679 7597,7684 5597,7682 5600,7685 5601,7688 5601,7691 5604,7696 5605,7700 5607,7703 5602,7704 5602,7701 5606,7702 5607,7706 5609,7710 5614,7713 5610,7716 5615,7717 5616,7719 5621,7724 5621,7724 5618,3724 5623,3722 5625,3725 5626,3730 5628,3727 5633,3727 5636,3729 5638,6729 5639,6732 5642,8732 5644,8732 5649,8729 5650,8734 5645,8736 5644,8739 5644,8741 5645,8745 5650,8743 5652,8739 5651,8744 5652,8744 5653,8745 5649,8748 5651,8749 5652,8750 5655,8753 5660,8753 5662,8755 5660,8757 5657,8758 5654,8762 5659,8760 5660,8761 5664,8765 5669,8768 5669,8768 5669,8769 5673,8769 5678,8772 5678,8769 5683,8774 5683,8776 5687,8777 7687,8779 7691,10779 7686,10779 7686,10780 7686,15780 7690,15781 7695,15779 7699,15783 7702,15788 7705,15791 7705,15786 7709,15788 7707,15793 7710,17793 7711,17794 7712,17799 7713,17800 10713,17802 10713,17802 10715,17803 10715,17808 10716,17811 10717,17811 14717,17811 14722,17811 14722,17815 14725,17819 14726,17820 14727,17822 14727,17817 14731,17818 14731,17818 14729,17820 19729,17818 19725,17822 19728,17818 19723,17821 19720,17821 19725,17824 19725,17821 19728,17821 19725,17825 19725,17830 19725,17834 19729,17836 19730,17837 19730,17841 19725,17844 19730,17849 19734,17853 19734,17856 19737,17858 19732,17858 19732,17863 19732,17868 19733,17873 19735,17874 19740,17878 19742,17883 19742,17879 19747,551 1397,551 1398,552 1401,553 1401,553 1398,552 1398,555 1402,556 1406,557 1409,558 1413,558 1416,558 1418,558 1420,563 1421,566 3421,568 3421,570 3426,572 3429,5572 3433,5576 3433,5579 3436,5579 3441,5583 3444,5580 3445,5585 3450,5589 3453,5593 3454,5597 3459,610 1429,612 1431,607 1430,607 1430,609 1426,605 1425,607 1425,602 1420,604 1423,-2378 3502,-2377 3503,-2378 3507,-2373 3508,-2375 3512,-2370 3516,-2373 3517,-2369 3514,-2370 3517,-2367 3519,-2366 3524,-2366 3529,-2362 3534,-2365 3536,-2370 3534,-2370 3531,-2366 3528,-2370 3532,-2366 3535,-2361 3533,-2361 3537,-2361 3540,-2358 3541,-3358 3543,-3355 3544,-3355 3542,-3355 3541,-3352 3546,-3348 3548,-3350 3551,-3346 3553,-3347 3553,-3342 3548,-3337 3548,-3338 3547,-3338 3547,-3334 3552,-3333 3552,-3332 3550,-3331 3550,-3329 3550,-3326 3552,-3325 3554,-3320 3556,-3315 3560,-3313 3565,-3312 3560,-3315 3563,-3315 3559,-3318 3564,-3321 4564,-3321 4569,-3317 4568,-3312 4573,-3311 4576,-3311 4575,-3308 4571,-3304 4572,-3299 4576,701 4580,703 4582,708 4582,711 4583,715 4587,716 4591,721 4587,717 4590,715 4594,715 4594,719 4598,719 4600,720 4604,717 4606,718 8606,722 8604,726 8600,727 8605,731 8609,731 8609,733 8611,738 8611,739 8612,734 12612,734 12617,730 12622,729 12622,732 12625,-268 12627,-263 12627,-264 12625,-261 12622,-260 12622,-265 12625,-264 12622,-264 12624,736 12622,733 12623,734 12626,730 12628,731 12632,732 12637,730 12637,733 12634,732 12635,732 12635,734 12635,733 12636,731 12639,734 12639,733 12642,734 14642,736 14646,739 14651,743 14654,-2257 14651,-2252 14651,-2252 19651,-2249 19656,-2249 19653,-2245 19650,-2248 19651,-2243 19656,-2241 19661,-2238 19664,-7238 19668,-7236 19666,-7231 19661,-7231 19666,-7227 19671,-9227 19672,-9223 19676,-7223 19675,-7223 19677,-7218 19677,-7219 19677,-7216 19673,-7214 19677,-7210 19674,-7206 19671,-7205 19673,-7203 19677,-7206 19680,-7202 19680,-7197 19685,-7197 19686,-7196 16686,-7201 16687,-7201 12687,-7198 12682,-7198 12682,-7193 12682,2673 15591,2673 15594,2673 15597,2671 15599,2666 15601,2670 15606,2669 15607,2670 15607,2673 15602,2670 15604,2671 15601,2672 15602,2667 15600,2672 15602,2675 15598,2675 15600,2678 15600,2677 15602,2673 17602,2678 17602,2677 18602,2681 18606,2682 18611,2685 18616,2686 18612,2688 18611,2686 18615,2686 18612,2687 18609,2688 18608,2688 18609,2688 18613,2693 18615,2693 18620,2691 18620,2696 18620,2698 18619,2695 18622,2700 18625,2704 22625,2709 25625,2709 25626,2710 25628,2710 25629,2714 25625,2715 25625,2713 25627,2714 25630,2718 25635,2723 30635,2723 30639,2726 30634,2727 30637,2728 30639,2732 30639,-1268 30642,-1266 30646,-1269 30643,-1269 30642,-1271 30642,-1269 30643,-1269 30645,-1269 30648,-1267 30647,-1265 30644,-1269 30648,-1268 30644,-1269 30644,-1269 30642,-1266 30641,3734 30637,3739 30640,3743 30641,3748 30646,3753 30650,3751 30653,3751 30652,3756 30647,3757 30648,3759 30653,3761 30656,3762 30655,3762 30653,3763 30650,3766 30652,3770 30657,3770 30657,3770 30653,3773 30650,3776 30650,3778 30650,3774 30655,3775 30657,3776 30660,3781 30662,3785 30665,3790 30670,5790 30672,5794 30675,5798 30680,5803 30675,5802 30673,5801 30677,5803 30679,5808 30677,5805 34677,5810 34677,5811 34682,5812 34684,5816 39684,5816 39687,5814 39690,5810 39695,5811 39696,5816 39700,5821 39705,5824 39707,5826 39711,5828 39708,5829 39709,5834 39712,5838 39715,5839 39718,5840 39720,5839 39722,5839 39722,5835 42722,5833 44722,5829 44722,5828 44722,5833 44724,5835 44727,5835 44731,2835 44729,3835 44731,3836 44736,3841 44739,3839 44736,3839 44736,3836 44736,3837 44737,3841 44737,3842 44733,3840 44735,3843 44730,3842 44732,6842 44734,6841 44735,6846 44737,6848 44737,6851 44740,6850 45740,6853 45741,6853 45741,6848 45743,6852 45744,6857 45746,6855 45747,6853 45750,6857 45754,6859 45752,6863 45751,6861 45751,6861 45748,6858 45752,6861 45750,6858 45750,6862 45750,6862 45753,6864 45757,6861 45762,6864 45762,6867 45761,6872 45763,6877 45758,6882 45761,6883 47761,6886 47761,6888 47762,6893 47767,6897 48767,6897 48772,6902 48771,6903 48773,6904 48773,6904 48777,6899 52777,6899 52777,6903 52773,6903 52773,7903 52773,7908 52771,7903 52772,7904 52774,7899 52776,7895 52776,7895 52781,7894 52778,7898 52783,7902 52785,7906 52790,7907 52792,11907 52797,11908 52801,11911 52800,11916 52804,11911 52806,11913 52808,11913 52805,11913 52809,11909 52812,11911 52812,11908 52815,11913 52817,11917 52820,11918 52820,11922 52825,11926 52823,11931 52827,11931 52826,11934 52823,11936 52818,11938 52819,11940 52823,11943 52828,11938 52833,11940 52835,11944 52832,11941 52831,11936 52831,11936 52833,11934 52836,11938 52839,11940 52840,11943 52840,11943 52841,11945 52844,16945 52844,16942 52839,18942 52838,18945 49838,18950 49841,18950 49844,18951 49845,21951 49847,21956 49848,21961 49846,21961 49851,23961 49852,23961 49856,23966 49860,23969 49865,23965 49866,23970 49862,23975 49859,23975 49859,23978 44859,23979 44862,23981 44862,23984 44867,23980 44871,23983 44875,23988 44875,23992 44877,27992 44878,27989 44881,27985 44886,27986 44888,27984 44888,29984 44889,29984 44889,29985 44893,29990 44888,29994 44892,29997 44896,30001 44895,30002 44900,30003 44904,30004 44907,30008 44904,30009 44904,30010 44905,30010 44908,30007 44908,30011 44905,30014 44908,30016 44909,30021 44912,30023 44913,30025 44912,30024 44910,30022 44914,30026 44912,30025 44912,30029 44912,30029 44915,30033 44920,30038 44924,30043 44926,30047 44928,30043 44930,30047 44932,30050 44934,30050 48934,30046 48935,30051 48935,30051 48935,30055 51935,30054 51931,1610 18503,1614 18504,1616 18504,1619 20504,1619 20504,1619 20505,1620 20509,1620 20511,1618 20511,1619 20508,2619 20511,2615 20516,2612 20515,2612 20515,2617 20512,2622 20515,2617 22515,2620 22516,2622 22519,2626 22522,2624 22522,2619 22524,2623 22519,2621 22519,2622 22516,2620 22512,2622 22517,2622 22522,2626 22522,2630 22522,-370 22526,-1370 22531,-1375 22531,-1371 22527,-1366 22527,-1362 22531,-1361 22528,-1362 22524,-1367 22528,-1367 22530,-1367 22533,-1367 22535,-1363 22540,-1363 22536,-1363 22539,-1358 22541,-1358 22541,-1355 22543,-1355 22538,-1355 22541,-1356 22544,-1357 22548,-1354 22553,-1353 22557,-1353 22561,-1355 22562,-1352 22566,-1351 22568,-1349 22569,-1347 22568,-1346 22566,-1351 22565,-1347 22566,-1348 22567,-1351 22569,-1346 22565,-5346 22567,-3313 3565,-3311 4565,-3308 4568,-3304 4571,-3307 4572,-3307 4573,-3303 4573,-3304 4578,-3300 4578,-3301 4578,-3301 4583,-3301 4581,-3297 4585,-3295 4580,-3295 4575,-3295 4573,-3293 4575,-3290 4580,-3285 4580,-3284 4582,-3284 4581,-3280 4580,-3285 4579,-3285 4579,-3284 4584,-3288 4588,-3286 4588,-3283 4584,-3279 4584,-3278 4588,-3279 4588,-3274 4586,-3270 4589,-3270 4590,-3268 4587,-3270 4591,-3267 5591,-3265 5591,-3261 5592,-3259 5593,-3259 5590,-3258 5595,-3256 5599,-3253 5601,-3252 5600,-3252 5603,-3252 5603,-3255 5601,-3250 5600,-3247 5605,-3242 5606,-3241 5608,-3243 5612,-3242 5612,-3245 5614,-3242 5619,-3243 5623,-2243 10623,-2242 10626,-2247 10626,-2247 10630,-2244 10634,-2248 10639,-2248 10636,-2248 10641,-2244 10646,11598 14558,11594 14563,11596 14568,11597 14569,11600 18569,11601 18570,11599 18566,11602 18568,11607 18567,11611 18572,11614 18573,11612 18569,11615 18570,11614 18573,11617 18577,11621 18577,11617 18574,11615 18579,11619 18583,11615 18587,11615 18587,11620 18588,11621 18589,11617 18593,11620 18597,11622 18599,11626 18603,11621 18603,11625 18607,11628 18611,11630 18614,11630 18619,11633 18616,11633 18616,11635 18614,11634 18613,11636 18609,11638 18607,11642 18612,11641 18615,11646 18615,11648 18619,11652 18621,11654 18622,11653 18617,11648 18619,11650 18614,11646 18617,11648 18613,11648 18618,11650 18615,11647 18617,11649 18621,11653 18621,11656 18624,11656 18628,11659 18628,11660 18624,11662 18624,11662 18620,11663 18620,14663 18621,14665 18616,14662 18611,14662 18607,14665 18607,14670 18607,14674 17607,14676 17610,19676 17608,19681 17613,19681 17613,19686 17611,19687 17612,22687 17612,22684 17608,22682 17607,22686 17610,22690 17611,22692 17612,22690 17617,22693 17622,22696 17622,22698 17625,22703 17627,22699 17629,22698 17629,22702 17634,22705 17630,22707 17634,22708 17634,22710 17639,22712 17639,22713 17635,22712 17639,22715 17644,22720 17644,22720 17646,22723 17644,22723 17644,22728 17643,22729 17646,22725 17651,22725 17652,22725 17647,22730 17647,22733 17647,22734 17647,22733 17651,22737 17653,22737 17657,22735 17660,22738 17658,22742 17662,22747 17667,22752 17671,22751 17672,22749 17677,22751 17677,22753 17681,22754 17677,22759 17674,22763 17674,22768 17677,22773 17673,22774 17676,22774 17679,17774 16679,17772 16679,17770 16675,17772 16676,17771 16676,17770 16679,17775 16684,17774 16685,17776 16685,17780 16687,17781 16688,17786 16689,17790 16689,17793 16688,17797 16684,17800 16684,17799 16689,21799 16691,21799 16688,21804 16689,21804 16687,21804 16687,21808 16685,21809 16689,21813 16693,21813 16696,21817 16698,21817 16699,21819 16694,21824 16699,21824 16701,21827 16705,21823 16702,21825 16702,21827 16702,21827 16702,21828 16705,21832 16707,21835 16710,21838 16712,21841 16712,21839 19712,24839 19714,24838 19719,24838 19722,24833 19722,24831 21722,24832 21727,24829 21729,24832 21730,24837 21732,24838 21736,24842 21740,24842 21740,24844 21740,24846 21740,24848 21741,24851 21736,24851 21732,24852 21737,24849 21741,24847 21742,24845 21743,24849 21744,24852 21742,24856 21744,24860 21745,24860 21745,24864 21749,24864 21754,24865 21759,24865 21760,24870 21764,24871 21762,24871 21762,24876 21767,24881 21769,24883 21768,24883 21769,24886 21766,24886 21767,24891 21770,24894 21772,24894 21772,24899 21777,24902 21781,24897 21786,24894 21787,24895 21790,24899 21791,24899 21795,24903 21798,24903 21801,24905 21804,24906 21806,24910 21808,25910 17808,25905 17812,25906 17813,28906 17813,28906 17813,28911 17817,28912 17812,28916 17813,33916 17818,33916 17818,33916 17820,33912 17820,33915 17823,33915 17826,33910 17826,33914 17829,33910 17833,33910 17836,33913 17837,33918 17841,33923 17840,33920 17840,33919 17842,33922 17838,33925 17835,33923 17836,33920 17838,33916 17840,33917 17845,33912 17850,33912 21850,33916 21846,33917 21841,33918 21844,33922 21844,33923 21844,33927 21844,33928 21849,33933 21850,33937 21851,33937 21853,33940 21855,33939 21858,33944 21855,33945 24855,33946 24858,33950 24860,33951 24864,33952 24861,33957 24864,33959 24867,33954 24865,33959 24867,33963 24867,33961 24867,33963 24871,34963 24874,34967 24874,34967 24874,34969 24870,34965 24875,34965 25875,34969 25880,34974 25883,34972 25883,34973 25885,34976 25889,34979 25890,34981 25894,34984 25897,34989 25899,34986 25900,34990 25901,34990 25901,34993 25902,34996 25902,35000 25903,35001 25906,35006 25909,35007 29909,35009 29905,35008 29906,35008 29908,35012 29908,31012 29911,31017 29906,31017 29908,21054 31778,21054 31775,21059 31780,21057 31780,21059 31783,21059 31781,21064 29781,21065 29786,21070 29787,21074 29787,21079 29792,21082 29792,21083 29791,21085 29793,21086 29794,21086 29794,21088 29797,21085 29797,21085 29800,21083 29804,21088 29808,21088 29804,552 1401,554 1401,555 1404,555 1404,559 1409,561 1410,561 1412,561 1413,557 1414,561 1419,564 1417,565 1420,568 1421,573 1425,578 1426,583 1430,584 1432,587 1433,588 1433,592 1437,592 1438,592 1442,591 1444,596 1444,597 1449,592 1449,502 2350,503 2352,505 2349,508 2349,508 2350,506 2350,506 2353,511 2357,511 2359,511 2361,508 2362,512 3362,517 3365,4517 3366,4518 3366,4513 3367,4512 3370,4509 3365,4510 3370,4510 3371,4513 3371,4513 3374,4517 3373,4517 3375,4514 3375,4515 3374,4516 3378,4516 3383,4516 3387,516 3392,516 3393,521 3394,521 -1606,522 -1601,518 -1601,519 -1603,521 -1598,526 -1603,528 -1603,527 -1601,527 -1600,523 -1603,526 -1601,529 -1598,532 -1594,531 -1590,531 -1594,527 -1595,532 -1591,536 -1586,539 3414,541 3419,546 3419,551 3422,551 3427,553 3429,558 3432,557 3433,558 3438,559 3442,560 3445,556 3448,555 3446,559 3446,560 3442,560 3439,561 3442,563 3443,564 3448,562 3448,5562 3453,5560 3454,5563 3454,5565 3456,5562 3457,5557 3456,5557 -544,5558 -543,5561 -538,5562 -535,5563 -533,5563 -530,5568 -525,5568 -523,5572 -518,5567 -514,5571 -516,5571 -514,5571 -514,5572 -510,5575 -512,5578 -512,5579 -508,5581 -506,5584 -503,5579 -502,5581 -505,10581 -505,10583 -500,12583 -499,12587 -498,12587 -499,12588 -497,12589 -502,12589 -500,12594 -498,12592 -498,12595 -498,12600 -496,12604 -494,12609 2506,12611 5506,12614 5511,12615 5516,12617 5518,12620 5522,12620 5519,12623 5521,12621 5524,12626 5526,12625 5531,12625 5531,12627 5532,12632 5531,12635 5536,12636 7536,12641 7540,12642 7540,12647 7543,11909 52812,11911 52817,11912 52817,11917 52814,11918 52819,11920 52819,11923 52823,11928 52818,11924 52813,11928 52812,11929 54812,11931 54813,11927 54813,11929 54818,11929 54822,11931 54823,11935 54824,11931 54828,11931 54833,11930 54830,11931 54832,11935 54835,11939 54830,11942 54827,11942 54828,11943 54828,11946 54825,11943 54826,11948 54829,11952 54824,11952 54828,11954 54830,11955 54830,11953 54835,11958 59835,11959 59838,11960 59836,11965 59840,11965 59843,11970 59840,11974 59840,11971 59842,11975 59847,11976 59848,11981 59848,11986 59853,11987 63853,11992 63854,11993 65854,11995 65850,11998 65852,12003 65856,12000 65859,12002 65859,12006 65854,12011 65855,12013 65856,12017 65861,12022 65861,12022 65856,12022 65857,8022 65859,8026 65862,8030 65863,8026 65865,8030 65866,8026 65871,8026 65871,3026 65869,3021 65870,3023 65875,3028 65876,3033 65878,3038 65874,3039 65878,3039 65882,3043 65880,3044 65880,3043 65884,3043 65888,3047 65889,3047 65890,3047 65890,3047 63890,3043 63892,3046 63896,3041 63895,3039 63898,3034 63900,3035 63901,3032 63903,3034 63906,3036 63906,3034 63908,3034 63913,3036 63911,3037 63916,3039 63911,3041 63913,3045 63915,3047 63915,3045 63917,3046 63921,3046 63921,3049 63920,3053 63923,3050 63927,3055 63930,3058 63933,3058 63932,3058 63934,3053 63931,3054 63933,3058 63936,3063 63940,3063 63939,-937 63940,-940 63944,-938 63945,-938 63946,-934 63948,-935 63945,-932 63948,-928 63950,-927 63954,-922 67954,-918 67951,-917 67956,-915 67960,-914 67965,-912 67967,-914 67971,-914 67971,-918 67976,-916 67973,-911 67973,-909 67978,-906 67981,-903 67982,-900 67982,-899 67978,-895 67981,-892 67985,-890 67987,-885 67982,-884 67984,-883 67984,-880 67985,-879 67985,-874 67981,-871 67981,-871 67986,-868 67986,-868 67981,-865 67979,-864 70979,-859 70984,-856 70985,-856 70990,-855 70991,-857 70989,-859 70991,-856 70986,-854 70991,-849 70994,-849 70997,-852 71002,-851 71007,-851 71009,-850 71009,-846 71011,-843 71011,-842 71011,-839 71011,-837 71016,-837 71016,-833 71018,-835 71022,2165 71022,2166 71018,7166 71017,7163 71017,7164 71018,7162 71016,7166 71013,7166 71013,7171 71010,7175 71010,7173 71012,7176 71017,7174 71021,11174 71021,11171 66021,11176 66021,11181 66018,11181 66023,11186 66022,11182 66027,11184 63027,11186 63031,11187 63033,11191 63034,11188 63031,11189 63036,11184 63037,11185 63038,11187 66038,11187 66038,11189 66038,11191 66038,11189 66034,11192 66036,11197 66037,12197 66041,12200 66044,12203 66042,12206 66046,12204 66046,12205 66048,12209 66048,12212 66043,12216 66040,12213 66043,12218 63043,12223 63038,12227 63033,12227 63038,12231 63040,12233 63040,12235 63045,12235 63045,12230 63044,12235 68044,12237 68044,12235 68049,12231 68045,12226 68050,12229 68052,12234 68052,12231 68056,12236 68059,12236 68062,12241 70062,12241 70063,12244 70063,12245 70068,12247 70068,12248 70071,12251 70071,12252 70071,12251 70073,12248 70075,12253 70080,12256 70084,12257 70088,12256 70088,12256 70089,12251 70089,17251 70090,17247 70090,17249 70091,17249 70088,17252 70084,17256 70085,17260 70086,16260 70084,16261 70083,16256 70079,16257 70076,16258 70072,16258 70077,16262 70081,16260 70084,16263 70087,16263 70088,16267 70090,16267 70093,16267 70097,16267 70100,16267 70101,16270 70103,16270 70105,16270 70108,16274 70110,16274 70113,16275 70115,16277 70115,16273 70115,16274 70120,16279 70117,16284 70117,16288 69117,16287 69121,16287 69123,16288 69119,16288 69122,16292 69125,16292 69122,16290 69125,16288 69125,16290 69126,16295 69122,3037 63916,3042 63920,3047 63925,3048 63928,3053 63928,3056 63931,3056 63930,3052 63932,3051 63935,3056 63938,3055 63935,3059 63932,3059 63937,3061 63942,3065 63945,3069 63942,6069 63940,6064 63945,6067 63948,6067 63947,6068 63951,10068 63953,10072 63953,10071 63951,10071 63956,10071 63958,10075 63958,10079 63953,10082 63958,10084 63959,10086 63959,10090 63960,10094 63955,10099 63955,10101 63956,10099 63952,10099 63949,10103 63953,10106 63956,10108 63956,10109 63956,10114 63959,10118 63959,10120 63960,10122 63963,10122 63968,10125 63969,10125 64969,10130 64971,10130 64973,10134 64974,10134 64979,10139 64984,10139 64987,10142 64988,10137 64992,10140 64995,10141 65995,10142 65999,10145 66000,10142 66002,10145 66002,10144 66004,10149 66002,10153 66007,8153 66007,8155 66011,8155 66011,8155 66011,8156 66011,9156 66013,9158 66014,9160 66014,9165 66017,9169 66022,9170 66023,9170 66023,9170 66028,9171 66031,9175 66033,9175 66033,9173 66035,9177 66034,9177 66039,9177 66044,9177 66044,9173 66044,9171 66044,9174 66046,9177 66050,9177 66047,9180 66051,9180 66055,9184 66055,9184 66051,9187 66056,9184 66057,9187 66053,9187 66055,9192 66056,9195 66061,9195 66066,9195 66071,9200 66076,9195 66075,9200 66080,9200 66080,9202 66076,9204 66079,9202 66079,9198 66079,11198 66083,11199 66087,11199 66088,11204 66088,11206 66089,11206 66093,11211 66088,11211 66091,11206 71091,11205 71090,11207 71094,11207 71098,11211 71102,11210 71103,11211 71107,11212 71107,11216 71105,11216 71108,11216 71113,11217 71108,11220 71113,11217 71113,11217 72113,11218 72115,11220 72117,11220 72121,11221 72124,11225 72120,11229 72117,11226 72118,11230 72122,11230 72123,11232 72127,11236 72132,11241 72133,11246 72135,11250 72139,11247 72141,11252 72141,11256 72143,11259 75143,11258 75146,11261 75151,11265 75149,11269 75153,11270 75158,11273 75160,11274 75165,11270 75166,11270 75166,11274 75165,11279 75167,11283 75170,11286 75166,11285 75168,11282 75165,6282 75163,6283 75167,6288 75170,6293 75175,6290 75178,6292 75179,6292 75182,6293 75181,31996 25856,31998 25856,32003 25857,32007 25862,32007 25857,32009 25857,32010 25858,32015 25854,32014 25857,32019 25857,32021 25852,32024 25852,32024 25854,32026 25851,32028 25855,32032 25855,32028 25858,32031 25860,32031 25863,32026 25867,32029 25868,32029 25869,32034 25872,32035 25875,32040 25878,32042 25883,32043 25881,32045 25885,32048 25884,32052 25881,32056 25878,32056 25874,32059 25878,32063 25882,32066 25885,32067 25885,32070 25885,37070 25885,37072 25889,37075 25890,37075 25885,37080 25890,37080 25892,37084 25888,37086 25893,37090 25898,37091 25895,37096 25897,37101 25902,37096 25905,37101 25906,37101 25909,37102 25914,37100 25914,37104 25914,37109 25917,37111 25919,37111 25924,37113 25925,37118 25923,37122 25927,37123 25929,17800 10713,17805 10708,17808 10711,17813 10715,17813 13715,17808 13719,17804 13714,17807 13717,17808 13722,17810 13724,17811 13728,17816 13730,17820 13733,17822 13736,17823 13736,17824 13740,17824 13745,18767 22750,18768 22754,18773 22754,18775 22757,18779 22760,18784 22763,18781 22767,18776 22767,18776 22769,18778 22772,18774 22773,18770 22774,18774 22776,18774 22777,18770 22781,18771 26781,18768 26785,18770 26787,18775 26787,18770 26789,18773 26793,18778 26795,18783 26796,18785 26799,18785 26801,18789 26798,18794 26799,18794 26801,18789 26803,18793 26806,18795 31806,18791 31810,18794 31814,18797 31817,18802 31813,18806 31815,18806 31819,18810 31824,18807 31828,18812 31830,18813 31826,18815 31828,18816 31829,18821 31831,18821 31833,18822 31836,18822 31838,18826 31841,18828 31846,5666 501,5668 506,5669 1506,5672 1508,5674 1512,7674 1512,7679 1513,7679 1512,7684 1513,7689 1511,7686 1515,7691 1520,7689 520,7689 521,7690 524,7695 520,4695 521,4696 526,4698 526,4699 531,4702 531,4699 535,4702 538,4698 540,4699 4540,4702 4537,4707 4540,4707 4537,4709 4537,4711 4542,4713 4542,4718 4544,4720 4549,4716 4553,4717 4556,4722 4561,4726 4562,4726 4563,4731 4564,4735 4565,4735 4570,4733 4572,9733 4574,9736 4577,9736 577,9737 572,9737 569,9742 570,9747 575,9747 580,9748 1580,9747 1585,9747 1588,9747 1588,9747 1592,9747 1592,9751 1592,9754 1593,9751 1595,9756 1599,11756 1603,11759 1607,11756 1610,11754 1613,11749 1613,11750 4613,11749 2613,11746 2610,11749 2608,11752 2611,11754 2607,11759 2612,11762 2612,11763 2612,11764 2613,11765 2613,11760 2615,11757 2620,11752 2623,11748 2627,11748 2631,11751 2632,11751 2633,11754 2635,11758 2639,11758 2643,11760 2646,11763 2646,11767 2649,11762 2652,11760 2652,11756 2656,11752 4656,11749 4659,11754 4662,11759 4666,11764 4670,11761 4666,11756 4669,11756 4670,11761 4671,11762 4673,11765 4678,11768 4680,11768 7680,12768 7677,12771 7680,12771 7683,12776 7683,12777 7688,12779 7688,12779 7684,12781 7679,13781 7682,13781 7684,13776 7684,13779 7685,13784 7685,13787 7689,13784 7689,13787 7689,13791 7685,13791 7686,13787 7691,13788 7696,13790 7693,13790 7696,13791 6696,13796 6698,13798 6695,13797 6698,13799 6701,13799 6704,13803 6709,13804 6705,13799 6708,13804 6703,13807 6705,13807 6708,13809 6710,13812 6714,13814 6716,13817 6718,13819 6722,13821 6717,13826 6718,13828 6717,13828 6721,13831 6721,13831 6720,13834 6715,13837 6712,13837 6713,13842 6715,13847 6715,13847 6714,13847 6709,13848 6712,13852 6714,13854 6719,13857 6723,13859 6726,13861 6730,13859 6731,13855 6731,13855 6731,13856 6728,13857 6730,13862 6731,13865 6731,13863 6729,13868 6729,13866 11729,13867 11732,13871 11732,13873 11737,13872 11741,13870 11745,13874 11744,13871 11748,13870 11753,13871 11757,13871 14757,13875 14759,13878 14760,13881 14760,13879 10760,13875 10765,13879 10767,13880 10770,13876 10775,13880 10776,13880 10776,13882 10776,13883 14776,13888 14779,13888 14779,13893 14779,13898 17779,13903 17784,13898 17788,13894 17788,13896 17788,13900 21788,13903 21784,18903 21789,18899 21789,18900 21793,18901 21794,18905 21795,18908 21792,18913 21794,13913 21796,13911 21798,13916 21799,13916 21799,13918 21804,13916 21800,13912 21799,13915 21794,13916 21797,13921 21799,13916 21802,13918 21806,13919 21810,13921 21813,13924 21817,13927 21814,13932 21816,13934 21811,13936 21811,13934 21814,18934 21816,18929 21816,18934 21815,18933 21817,18932 21822,18936 21819,18938 16819,18933 16822,18933 16822,18937 16822,18937 16827,18940 16827,18945 16830,18947 16829,18950 19829,18949 19829,18949 19829,18946 19825,18947 19828,18946 19829,18943 19829,18943 19824,14943 19829,14939 19830,14942 19831,14946 19835,14946 22835,14942 22836,14946 22831,14950 22832,14952 22835,14947 22840,14951 22844,14951 22845,14947 22850,14948 22851,14951 22849,14956 22852,14957 22852,14957 22857,14962 22857,14965 22859,14970 22860,14968 22862,14972 22864,14977 22866,14974 22870,14975 20870,14976 20870,14979 20873,14984 20869,14989 20871,14993 20874,14993 20877,14994 20878,14995 20878,14997 20883,14998 20879,15001 20884,15001 20884,15003 20889,15006 20884,15009 20885,15009 20883,15007 20880,15011 20876,15008 20877,15009 20873,15010 20875,15009 20875,10009 20876,10012 20871,10013 21871,10017 21872,10012 21873,10010 21874,10008 21871,10012 21870,10013 21874,11607 14571,11608 14575,11612 15575,11613 15576,11613 15577,11618 15578,11622 15581,11624 15585,11627 18585,11631 18587,11634 18590,11634 18586,11634 18586,11636 18591,11635 18591,11636 18596,11636 18592,13636 18593,13640 18595,13642 18600,13641 18600,13641 18604,13642 18607,13643 18611,13648 18611,13651 18613,13655 18615,13656 18620,13651 18618,13651 18616,13654 18611,13651 18616,18651 18620,18656 18620,18661 18621,18657 18625,18661 18627,18663 18628,18666 18633,18661 18637,18665 18639,18665 18639,18667 18641,18669 18641,22669 18642,22673 18644,22676 18648,22681 18649,22682 18649,22682 18646,19682 18646,19684 18646,19685 20646,19690 20646,19690 20643,19686 20643,19686 20643,19690 20647,19690 20647,19689 20652,19692 20653,19692 20656,19697 20661,19698 20662,19703 20666,19707 20669,19707 20673,19708 20674,19709 20675,19709 20677,19710 20674,19715 20675,19717 20673,19721 20673,19720 20677,19718 20677,19716 20680,19718 20681,19718 20685,19722 20688,19725 20688,19729 20685,19728 20687,19728 20690,19732 20691,19735 20691,19739 20691,19744 20696,16744 20693,16746 20695,16748 20695,16748 20691,16746 20696,16750 20699,16755 20704,16755 20709,16760 20710,16763 20711,16763 20711,16765 20707,16767 20705,16771 20706,16771 20708,16775 20706,9653 7576,9654 7577,9659 7576,9659 7572,9655 7575,9660 7579,9660 7579,9660 7583,9661 7588,9663 7591,9666 7590,9662 7592,9665 7593,9669 7594,9668 80000)') WHERE p = 1; +UPDATE t1 SET g = ST_linefromtext('linestring(-5 -576,0 -576,0 -571,0 -571,5 -568,6 -564,6 -565,6 -563)') WHERE p = 2; +ALTER TABLE t1 ADD SPATIAL INDEX spatial_idx (g); +connection control_purge; +# enable purge +COMMIT; +connection default; +DELETE FROM t1 WHERE p = 2; +InnoDB 0 transactions not purged +CREATE TABLE t2 ( +p INT PRIMARY KEY, +g1 POINT NOT NULL, +g2 POINT NOT NULL, +g3 LINESTRING NOT NULL, +g4 LINESTRING NOT NULL, +g5 GEOMETRY NOT NULL, +g6 GEOMETRY NOT NULL, +SPATIAL KEY (g1), +SPATIAL KEY (g2), +SPATIAL KEY (g3), +SPATIAL KEY (g4), +SPATIAL KEY (g5), +SPATIAL KEY (g6) +) ENGINE=InnoDB; +DROP TABLE t1,t2; +CREATE TABLE t1 ( +p INT NOT NULL AUTO_INCREMENT, +g LINESTRING NOT NULL, +PRIMARY KEY(p) +) ENGINE=InnoDB; +ALTER TABLE t1 ADD SPATIAL INDEX spatial_idx (g); +INSERT INTO t1(g) VALUES(ST_linefromtext('linestring(-5 -576,0 -576,0 -571,0 -571,5 -568,6 -564,6 -565,6 -563)')); +INSERT INTO t1(g) VALUES(ST_linefromtext(concat('linestring','(18 106,19 106,24 111,27 108,32 104,37 107,42 107,44 112,44 116,40 118,43 114,46 114,42 118,44 123,45 123,49 123,53 119,50 123,50 124,54 126,58 125,59 126,64 127,65 127,69 131,74 132,75 135,78 139,2078 141,2075 143,2077 143,2079 143,2084 143,2085 147,2090 -1853,2086 -1852,2086 -1856,2089 -1852,2093 -1850,2090 -1851,2090 -1852,2091 -1851,2092 -1850,2097 -1847,2102 -1848,2100 -1852,2100 -1852,7100 -1851,7103 -1850,7104 -1847,7109 -1842,65 127,67 131,66 131,61 132,61 133,62 137,65 1137,2065 1135,2061 1135,2064 1135,5064 1135,5066 1135,5070 1136,5070 1141,5071 1138,5074 1141,5075 1141,5074 1137,5076 1137,5071 1139,5066 1142,5065 2142,5068 2147,5073 2151,5069 2156,5071 2157,5072 2162,5074 2165,5069 2169,5072 2169,5076 2173,5074 2169,5078 2169,5076 2170,76 2175,74 2179,75 2184,80 2188,83 2190,87 2189,84 2193,87 2189,86 2190,87 2195,87 2200,87 1200,85 1202,86 1199,87 1200,87 1201,91 1206,92 1204,94 1204,98 1206,102 1208,105 1211,102 1216,105 1220,109 1224,110 1224,114 1225,117 1224,118 1229,117 1232,122 1237,123 1236,120 1235,124 1237,121 1236,122 1240,126 1244,127 1246,126 1249,125 5249,123 5251,127 5251,131 5251,135 5256,138 5257,135 5257,139 5257,138 5258,141 5260,146 5260,146 5260,143 10260,147 10265,151 10270,156 10266,157 10269,162 10273,166 12273,168 12274,163 12270,168 12275,170 12277,170 12277,-3830 12277,-3825 12277,-3824 12278,-3825 12276,-3825 12278,-3822 12277,-3825 12275,-3829 12278,-3828 12275,-3824 12280,-3827 12280,-3826 12282,-3822 12283,-3822 12286,-3820 12288,-3818 12289,-3816 12294,-3817 12297,-3819 12300,-3816 12297,-3813 12295,-3811 12299,-3811 12297,-3806 12298,-3806 12298,-3804 12301,-3801 12306,-3803 17306,-3803 17306,-3798 17306,-3803 17310,-3801 17314,-3798 17317,-3797 17317,-797 17321,-797 17323,-796 17325,-793 17326,-792 17322,-789 17327,-784 17331,-780 17335,-776 17339,-774 17339,-771 17342,-770 17345,-765 17348,-765 17349,-763 17353,-760 17350,-760 22350,-756 22346,-752 22349,-748 22352,-752 22348,-748 22347,-746 22345,-745 27345,-743 27346,257 27350,260 27349,261 27352,266 27348,266 22348,269 22347,271 22347,272 22347,273 22348,273 22352,278 22348,279 22344,282 22345,282 22342,283 22347,283 22347,288 22349,292 22347,292 22348,293 22348,298 22348,303 22351,306 22352,309 22352,308 22354,310 22356,311 22361,311 22358,311 22360,311 22360,315 22356,320 22358,325 22363,326 22366,321 22371,318 22373,318 22375,314 22375,316 22375,321 22376,321 22376,322 22372,32 104,36 109,40 114,40 113,40 117,44 119,49 123,49 126,49 129,53 133,50 137,50 139,49 137,48 138,43 138,42 139,46 142,46 138,41 139,45 141,4045 5141,4045 5146,4042 5147,4043 10147,4041 10150,4042 10152,4045 10152,4041 10156,4041 10152,4041 10152,4046 10153,4049 10156,4046 10155,4051 10157,4055 10159,4055 10160,4056 10161,4055 10166,4054 10169,4054 10172,4054 15172,4051 15176,4047 15177,4049 15174,4047 15176,4047 15176,4046 15177,4046 15180,4043 15184,4043 15187,4038 15190,4040 15194,4040 15199,4045 15196,4047 15197,4050 15200,4050 15204,4050 15208,4047 15212,4047 15215,4049 15216,4046 15218,4042 15223,4042 15228,4042 15232,4047 15235,4050 15236,4050 15239,4051 15243,4053 15243,4050 17243,4052 17243,4052 18243,4057 18247,4061 18249,4064 18249,4067 20249,4067 20250,4067 20255,4066 20259,4066 20259,4067 20255,4069 20256,4071 20258,4072 20254,4067 20257,4067 20260,4069 20265,4065 20267,4069 20266,4070 20267,4071 20264,4074 20259,4070 20264,4073 20260,4074 20263,4077 20268,4082 20271,4084 20273,4084 20277,4081 18277,4085 18279,4086 18276,4087 18273,4087 18275,4092 18277,4093 18279,4093 18280,4095 18280,4091 18283,4092 18281,4094 18283,4090 18287,4094 18287,138 5257,138 5255,138 5258,-1862 5254,-1860 5256,-1856 5258,-1851 5255,-1850 5260,-1847 5260,-1847 5263,-1847 5258,-1850 5257,-1850 5259,-1851 5257,-1855 5258,-1853 5261,-1849 5261,-1849 5258,-1849 5259,-1845 5264,-1847 5264,-1850 5268,-1852 5266,-1853 5270,-1856 5265,-1852 5262,-1847 5263,-1842 5263,-1842 5260,-1842 5265,-1841 5265,-1844 5265,-1842 5270,-1837 5274,-1838 5279,-1843 5275,-1842 5280,-1838 5281,-1838 5285,-1833 5285,-1828 5288,-1824 5289,-1828 5291,-1831 5291,-1826 5291,-1830 5293,-1826 5296,-1822 5301,-1826 5302,-1826 5302,-1826 5302,-1825 5297,-1820 5299,-1816 5303,-1816 5299,-3811 12299,-3809 12302,-3806 12302,-3806 12302,-3803 12304,-3798 12304,-3797 12304,-3793 12306,-3788 12306,-3783 12309,-3816 12294,-3811 12299,-3809 12297,7100 -1851,7098 -1854,7102 -1854,7107 -1856,7107 -1858,7110 -1854,7110 -1851,7113 -1851,7115 -1851,7120 -1851,7123 -1847,7124 -1852,7125 -1852,7127 -1852,7131 -1852,7129 1148,7129 1145,7133 1150,7137 1148,7138 1147,7143 1149,7147 1154,8147 1155,8152 3155,8147 3157,8143 3158,8144 3160,8144 3164,11144 3167,11146 3167,11148 3163,11152 3161,11148 3159,11149 3163,11150 3161,11151 3166,11154 3171,11154 3170,8144 3160,8144 3163,8144 3166,8145 3166,8146 3171,8146 3174,8144 3174,8144 3174,8145 3176,8141 3180,3141 3182,7141 3183,7141 7183,7136 7185,7136 7185,7133 7187,7136 7187,7131 7190,7136 7194,7137 7197,7141 7196,7139 7199,12139 7200,12143 7200,12143 7199,12144 7203,12145 7200,12141 7200,12136 7195,12136 7191,12137 7191,12137 7196,12139 7197,12140 7197,12137 7201,12140 7204,12140 7209,12143 7209,12145 7210,12147 7214,12148 9214,12152 9218,12149 9218,12149 9221,12149 9220,12150 9222,12153 10222,12153 10226,12156 10227,12159 10223,12160 10220,12161 10225,12161 10227,12163 10224,12163 10223,12158 10224,12158 10227,12158 10231,12155 12231,12157 12226,7136 7185,7139 7189,7139 7189,7139 7188,7137 7191,7139 7191,7140 7189,7143 7191,7144 7189,7144 7190,7149 7193,7152 7194,7154 7198,7153 7203,7148 7207,12148 7209,12146 7209,12145 7213,12140 7217,12139 7219,12141 7219,12138 7218,12143 7218,13143 7220,13140 7224,13142 7228,13137 7231,13142 7235,13146 7239,13149 7243,13148 7247,13150 7248,13155 7249,13155 7253,13155 7253,13155 7258,13157 7260,13162 7255,13159 7255,13163 7258,13164 7258,13164 7263,13167 7264,13167 8264,13165 8265,13169 8265,13171 13265,13175 13261,13176 13259,13176 13259,13180 13262,13181 13262,13183 13262,13188 13265,13191 13267,13191 13265,13194 13267,13191 13269,13192 13264,13196 13269,13198 13272,13200 13272,13202 13270,13207 11270,13211 11270,13211 11273,13213 11274,13217 11275,13222 11276,13222 11272,13226 11274,13231 11277,13233 11282,13236 11284,13238 11284,13236 11286,13236 11288,13236 11283,13236 11284,13238 11289,13241 11292,13244 11292,13245 11289,13241 11294,13244 11298,13249 11301,320 22358,324 24358,328 24358,327 24363,326 24359,327 24361,329 24365,334 24367,-666 24367,-670 24368,49 123,46 127,46 129,49 131,49 136,47 135,45 138,3045 135,3042 138,3044 139,3044 144,3049 144,3053 142,3055 137,3058 136,3053 139,3048 142,7048 138,7048 3138,7048 3139,7048 3140,7050 3145,7053 1145,7050 1146,7053 5146,7048 5150,7047 5146,10047 5147,10043 5147,10047 5147,10050 5152,10052 5155,10054 5156,10056 5157,10056 5159,10058 5162,10062 5164,10062 5169,10066 9169,10068 9168,10063 9164,10063 9169,10061 9171,14061 9172,14061 9174,282 22342,287 22347,288 22347,288 22343,285 22339,280 22338,278 22341,279 25341,284 25343,13241 11294,13246 11296,13243 11296,13244 11291,13245 11291,13244 11291,13246 11295,13251 11300,13253 11305,13253 11306,13258 11305,13255 11306,13256 11309,13256 11311,13261 11307,13265 11303,13267 11305,13270 11301,13275 11298,13271 11300,15271 11302,15276 11306,15279 11303,15284 11305,15286 11305,15289 11307,15290 11302,15292 11305,15296 11309,15297 11313,15298 11316,15300 11317,15304 11320,15306 11324,15306 11320,15307 11320,15312 11320,15313 11319,15317 11317,15315 11321,15317 11323,15317 11328,15319 11333,15322 11336,15322 11337,15322 11337,15324 11341,15324 11345,15325 14345,15328 13345,17328 13346,17333 13349,17337 13354,17338 13358,17342 13358,17346 13353,17348 13353,17345 13353,17348 13354,17347 13354,17347 13354,17347 13355,22347 13358,22349 13355,22351 13355,22356 13354,22358 13354,22361 13355,22362 13355,22358 13355,22359 13359,22364 13364,22369 13369,22372 13373,22376 13371,22377 13371,22377 13369,22381 13374,22386 13379,22387 13376,22387 13380,22392 13378,22390 13374,22392 13378,22391 13378,22391 13375,22392 13378,22390 13380,22393 13382,22398 13387,22398 10387,22402 10391,22399 10392,22400 10392,22400 10394,22404 10391,22403 15391,22405 15392,22407 15392,22412 15387,22412 15390,22412 15394,22408 15396,26408 15398,26407 20398,26411 20402,26415 20406,26417 20411,26420 20407,26422 20407,31422 16407,31421 16405,31421 16410,31423 16410,31426 16414,31426 16410,31430 16415,31430 16418,31435 16419,31437 16420,31438 16422,31438 16425,31438 16425,31441 16427,31439 16431,31441 16436,36441 16436,36443 18436,36442 18437,36440 18440,36440 18436,36440 18440,36442 18445,36443 18446,36447 18451,37447 23451,37452 23456,37456 23455,37458 23459,37456 23461,37458 23463,37460 23466,37464 23469,37460 23474,37462 23476,37461 26476,37466 26479,37470 26483,37471 26488,37474 26489,37474 26485,37474 26483,37474 26488,37470 26492,37474 26497,37474 26499,37478 26495,37483 26499,37483 26501,37488 26496,37491 26499,37495 26495,37500 26496,37500 26497,37500 26501,37497 26499,37497 26499,37495 26504,37498 26504,37494 26509,37497 26514,37495 26515,37498 26514,37503 26514,37508 26512,37510 26516,37511 26519,37509 26523,37506 26528,37507 26532,37512 26536,37513 26538,37510 26542,37512 26544,37517 26543,37522 26546,37527 26551,37525 26555,37529 26558,37524 26563,37524 26562,37527 26562,37522 26562,37522 26559,37526 26561,37522 26559,37523 26561,37523 26556,37524 26558,40524 26560,40524 26563,40521 26567,40525 26566,40527 26568,40532 26572,40534 26569,40533 26565,40531 26565,40535 26569,40535 26570,40539 26572,40544 26575,40543 26575,40544 26579,40548 26584,40549 26581,40553 26585,40556 26590,40552 22590,40557 22594,40556 22595,40561 22592,40561 22593,40565 22593,40568 22593,40573 22588,40570 22590,40570 22591,40570 22588,40573 22590,40573 22593,40568 22593,40567 22597,40567 22599,40571 22599,40574 22600,40574 22604,42574 22607,42577 22607,42577 22612,42579 22616,38579 22619,38580 22617,38580 22614,38575 22619,38579 22619,38579 18619,38582 18614,38582 18617,38586 18622,38590 18625,38590 18622,38594 18621,38596 18616,38597 18614,38597 18618,38600 21618,38601 21618,38605 21620,38607 25620,38611 25620,38608 25617,38608 25621,38608 25625,38611 25623,38615 25623,38615 25620,38616 25622,38619 25624,38620 25625,38620 26625,38623 26627,38623 26627,311 22358,311 22359,-1689 22360,2311 27360,2312 27360,2312 27360,2317 27362,2317 27362,2319 27359,2319 27364,2318 27359,2321 27364,2326 27367,2325 27371,2326 27373,2326 27373,2325 27377,2329 27377,2327 27377,2330 27379,2333 27379,2331 27379,2331 27381,2336 27381,6336 27382,6336 27383,40527 26568,40531 26572,40533 26574,40538 26576,40533 26580,40538 26585,40539 26588,40536 26583,40540 26587,40539 26588,40535 26593,40540 26594,40544 26597,40548 26602,40548 26601,40549 26602,40547 26602,40548 26603,40553 26606,40548 26606,40548 26603,40551 26608,40556 26612,40559 26616,40554 26619,40556 26619,40556 26623,42556 26623,42556 26624,42560 26624,42562 26626,42563 26630,42564 26630,42564 26634,42559 26635,42562 26635,42565 26637,42562 26638,42564 26642,42564 26641,42568 26641,42572 26641,42572 29641,42574 29642,39574 29641,39574 34641,39576 34643,39581 34638,39578 34638,39574 34642,39574 34645,39572 35645,34572 35648,34577 35651,39577 35655,43577 35659,43580 35655,43575 35658,43578 35658,43581 35662,43577 39662,43572 39658,43572 39661,43572 39664,43572 39666,43576 39670,43577 39667,43580 39671,43576 39673,43573 39673,43574 39677,43569 39679,43567 39679,43568 39683,43563 39686,43566 39690,43566 39692,43568 39694,43568 39695,41568 39691,41570 39692,41571 39692,41571 39693,41571 39698,41571 39698,41574 39698,41569 39698,41570 39699,41570 39704,41572 39709,41573 39712,41578 39713,41579 39717,41584 39719,41585 39720,-1850 5268,-1845 5268,-1847 5266,-1842 5268,-1840 5263,-1845 5264,-1843 5264,-1839 8264,-1839 8267,-1839 8272,-1838 8276,-1834 8273,-1834 8273,-1833 8274,-1837 8279,-1836 8283,-1834 8286,-1836 8282,-1834 8279,-1835 8279,-1834 8280,-1836 8283,-1841 8288,-1846 8289,-1843 8286,-1838 8286,-1841 8285,-1838 8285,-1834 8288,-1829 8291,-1825 8286,-1825 8289,-1825 8287,-1824 8291,-1822 8294,-1821 8298,-1818 8300,-1818 8296,-1814 8296,-1811 8295,-1808 8292,1192 8296,1192 8297,1195 11297,1192 11301,1195 11305,1197 11300,1193 11300,1193 11296,1193 11293,1194 11294,1199 11292,1204 11292,1205 11294,1210 11292,1208 11288,1204 11290,1205 11289,1207 8289,1202 8284,1204 8282,1204 8281,1206 8281,1208 8281,1212 8283,1212 13283,1213 13287,1213 13290,1216 13293,1214 13289,1217 13286,1212 13291,1208 13288,1208 13292,1209 13297,1208 13296,1204 13298,1205 13303,1209 13308,1204 13308,1209 13304,1210 13304,1214 13309,1214 13314,1215 13314,1219 13314,1219 13319,1224 13320,1229 13321,1232 13325,1233 13329,1231 13329,1234 13334,-2766 13336,-2769 13337,-2765 13340,-2762 13345,-2760 13342,2240 13342,2238 13342,2242 13342,2246 13345,2246 13346,2244 13348,2239 13348,2240 13351,2240 13352,2245 13357,2248 13357,2243 13362,2247 13362,2248 13362,2252 13363,2256 13363,2256 13363,2260 13367,2255 13372,2251 13369,2251 13369,2252 13372,2249 13376,2254 13378,2255 13382,2259 13379,2262 13379,2267 13381,2262 13381,2262 13383,2265 13383,2269 13385,2270 13386,2271 13389,2267 13391,2271 13386,2275 13391,2273 13392,2275 13387,2277 13390,2274 13390,2275 13394,2280 13395,2280 11395,2281 14395,2279 14400,2277 14403,2273 14406,2274 16406,2274 16410,2279 16410,2284 16411,2280 16409,2280 16409,2282 16409,2282 16411,2282 16412,2280 16413,3280 16418,3284 16418,3285 16423,3289 16423,3292 16427,3294 16429,3296 16431,3297 16436,3298 16435,3303 16435,3305 16434,3305 16436,3305 16436,3309 16437,3309 16438,3308 16439,3308 16439,3306 16444,3302 16441,-1698 16437,-1703 16438,-1699 16438,-1697 16438,-1698 16439,-1695 16436,-1690 16441,-1687 16446,-1683 16450,-1682 16451,-1684 16453,-1682 16457,-1682 16457,-1686 16460,-1681 16459,-1680 16456,-1677 16460,-1681 16461,-1679 16464,-1674 16465,-1673 16469,-1669 16471,-1669 16476,-1665 16474,-1665 16478,-1664 16478,-1664 16479,-1661 16474,-1656 16471,-1655 11471,-1660 11473,-1663 11475,-1666 11480,3334 15480,3338 15476,3342 15471,3345 15471,3345 15470,3350 15469,3347 15474,3351 15476,3352 15473,3353 15476,3350 15477,3350 15479,3351 15482,3352 15484,3351 15487,3353 15487,3358 15487,3353 15486,1217 13286,1222 13291,1222 13291,1225 13286,1229 13286,1231 13281,1235 13280,1236 13281,1241 13282,1245 13285,1247 13285,1247 13287,1250 13287,1247 13290,1247 13295,1247 13298,1252 13301,1249 13304,1252 13304,3252 13304,3247 13304,3249 13308,3254 13308,3257 13308,3261 17308,3261 17309,3261 17306,3259 17305,3262 17310,3263 17308,3262 17311,3259 17314,3259 17314,3257 17309,3254 17309,3253 17309,3255 17310,3253 17312,3255 17312,3255 17312,3256 17307,3257 17307,3256 17311,3256 17313,3255 17317,3251 17317,3248 17321,3253 17325,3256 17326,3258 17324,3258 17327,3263 17322,7263 17325,7265 17328,7263 17330,7265 17333,7270 17333,7273 17333,7278 17336,4278 21336,4278 21340,4279 21340,4281 21340,4286 24340,4290 24343,9290 24347,9294 24349,9296 24347,9298 25347,9301 25348,9301 25348,9304 25353,9303 25357,9303 25352,11303 25355,11304 25358,11307 25358,11312 25358,11312 25361,11310 25365,11313 25365,11314 25369,11319 25371,11321 25371,11325 25366,11329 25365,11330 25366,11329 25370,11330 25365,11334 25367,11338 25366,11343 25363,11348 25359,11345 25356,11348 25357,11349 25358,11349 25358,11352 25360,11356 30360,11360 30365,11360 30365,11362 30365,11367 30367,11368 30369,15368 30370,15373 30371,15376 30373,14376 30378,14377 30383,14381 30378,14386 30380,14388 30382,14391 30385,14393 31385,16393 31389,16396 31394,16396 31397,16392 31400,16395 31405,16398 31409,16398 31413,16397 31415,16396 31417,16401 31418,16401 31422,16402 31419,16407 31420,16411 31419,16406 31423,18406 31427,18411 31432,18415 28432,18417 28437,18418 28441,18414 28438,18417 28435,18416 28439,18420 28442,18423 28447,18427 28444,21427 28445,21428 28450,22428 28455,22432 28457,22436 28458,22441 28458,22445 28463,22448 28468,22451 28465,22456 28468,22453 28468,22458 28471,22463 28473,22460 28475,22459 28472,22463 28476,22464 28472,22468 28468,22468 28471,25468 28466,25471 28468,25473 28464,25473 28464,25475 29464,25476 29466,25479 29461,25476 29462,25476 29464,25478 29464,25483 29461,25484 29460,25486 29458,25486 29462,25490 29460,25495 26460,25498 26463,25495 26468,25495 26472,25495 26472,25499 26474,25504 26476,25504 26478,25509 26476,25513 26479,25514 26481,25519 26477,25519 26480,25518 26481,25519 26484,25524 26483,25527 26484,25522 26484,25526 26487,25528 26492,25533 26496,25535 26498,25535 26498,25539 26503,25542 26504,25543 26505,25547 26510,25552 26510,25551 26508,25550 26512,25553 26510,25557 26510,25554 26511,25552 26508,25556 26505,25556 26506,25560 26506,25560 26507,25560 26506,25565 26501,25567 26504,25569 26504,25568 26508,25571 26508,25571 26511,25576 26511,25581 26516,25581 26519,25582 26521,25585 26522,25588 26527,25588 26526,25584 26530,25587 26534,25589 26529,25593 26533,25598 26538,25599 26540,25599 26540,25599 26540,25604 26543,25603 26543,25603 26538,25606 26538,25609 26540,25611 26542,25612 26547,25612 26547,25612 26548,25617 25548,25612 25548,25613 25547,25616 25545,25616 25549,25618 25551,25620 25555,25620 25551,25622 25550,25625 25551,25622 25555,25619 25557,25617 25556,25622 28556,25625 28551,25630 28546,25634 28548,25639 28553,25643 28553,25638 25553,25634 25553,25634 25557,25639 25557,25643 25558,25644 25553,25646 25556,25647 25560,25650 25562,25650 30562,25650 30562,25650 30564,25650 30566,25652 30570,25656 30571,25661 31571,25662 31575,25663 31579,25662 31579,25665 31581,25666 31584,25671 31582,25674 31581,25674 31584,25676 31584,25673 31587,25678 31586,25679 31581,30679 31584,30675 31589,30680 31590,35680 31590,35675 31589,35677 31591,35680 31590,35681 31587,35684 31588,35685 31589,35689 31592,35689 31593,35692 31597,35696 31597,35700 34597,35699 34599,35703 34604,35703 34606,35702 34601,35705 34603,35705 34606,35708 34603,35713 34604,35717 34603,35719 34608,35715 34608,35711 34608,35713 34609,35714 34605,35714 34610,35714 34614,35718 34616,35719 34617,35722 34618,35722 34621,35725 34625,35725 34626,35725 34629,35725 34631,35725 34635,35730 34636,35727 34638,35731 34640,35735 34642,35739 34645,35741 34645,35742 34649,35738 34649,35738 34645,35741 34647,38741 34650,38741 37650,38742 37646,38746 37651,38749 37652,38753 37653,38753 37657,38757 37656,38756 37660,38761 37660,38765 37660,38760 37660,38759 37660,38760 41660,38760 41660,38762 41665,38757 41667,43757 41669,43752 41674,43752 41677,43757 41672,43758 41677,45758 41680,45758 41679,45762 41683,45765 41683,45769 41683,45770 41684,45768 46684,45773 46688,45776 46692,45774 46694,45775 46697,45778 46695,45776 46698,45774 46702,45779 46702,45784 46704,45787 46706,45791 46711,45786 46707,45790 46711,45793 46715,45796 46719,45799 46724,45797 46728,45802 46726,45797 46729,45801 46733,45802 46733,45803 46732,45804 46732,45805 46732,45808 46735,45810 46740,45810 46744,2326 27373,2322 27377,2323 27379,2325 27383,2325 27382,2322 27382,2323 27382,5323 23382,5325 23385,5329 23386,5330 23390,5335 23392,5330 23392,5330 23395,5329 23395,5333 23399,5333 23402,5338 23405,5339 23405,5334 23406,5329 23401,5332 23403,5330 23407,5333 23409,5328 20409,5324 20411,5324 20414,5329 20416,5328 20421,5325 20421,5329 20424,5330 20424,5335 21424,5331 21427,5333 21431,5334 21433,5329 21434,5330 21437,5333 21440,5338 21437,5338 21440,5334 21441,5333 21438,5329 26438,5332 26435,5335 26439,5337 26440,5338 26444,5342 26439,5342 26442,5345 26440,5349 26438,5352 26442,5349 26445,5348 30445,5350 30447,5350 30444,5354 30444,5359 30443,5363 30445,5367 30446,5367 30448,5367 30453,5371 30455,5371 30453,5373 30458,5375 30461,5380 30463,5384 30463,5383 30459,5384 30459,5383 30459,5385 30460,5390 30459,5392 30464,5394 30464,5389 30465,5393 30469,5391 30469,5391 30469,5395 30474,5396 30470,5399 30470,5401 30467,5401 30468,5404 30470,5400 30465,5401 30462,5403 30467,5404 30467,5409 30469,5412 30473,5412 30477,5407 30481,8407 30486,8408 30489,8410 30490,8410 30489,8413 30490,8414 30493,8414 30496,8419 30501,8420 30502,8415 30507,13415 30509,13411 30506,13414 30507,13412 30511,13412 30515,13417 30518,13419 30523,13418 30527,13422 30529,13418 30531,13413 35531,13409 35531,13413 35532,13417 35537,13419 35533,13423 35529,13424 35529,13423 35524,13428 35525,13433 35526,13438 35530,13443 35531,13448 35531,13452 35532,13455 35536,13457 35536,13452 35536,13455 35539,13452 35535,13457 35540,13457 35544,18457 35546,18460 35547,22460 35546,22465 35550,22466 35554,22468 35552,22473 35555,22471 35559,22470 35564,22472 35564,22470 35569,22474 35569,22474 35571,22477 35573,22482 35576,22487 35580,22488 35583,22489 35585,22493 35585,22496 35585,25496 35586,25493 35582,25494 35585,25498 35585,25496 35585,25498 35587,25503 35591,25503 35593,25499 35590,25499 35591,25495 35591,26495 35595,29495 35591,29495 35593,29498 35597,29498 35601,29500 35606,29501 30606,29502 30603,29505 30603,29510 30606,29511 30606,29514 30607,29516 30610,29518 30608,3259 17305,3263 17304,3267 17303,3271 17308,3269 17312,3269 17313,3274 17315,3277 17315,3282 17311,3285 17313,3283 17309,3278 17310,3275 17315,3275 17317,3276 17322,3280 17324,3280 17324,3276 17325,3277 17325,3276 17328,3278 17324,3273 17329,3277 17331,3280 17326,3281 17328,3276 17324,3277 17324,3277 17322,3277 17321,3277 17321,3281 17323,3282 17327,3282 17332,3287 17335,3288 17335,3288 17338,3290 17337,3294 17340,3294 17341,3299 17341,3299 12341,3299 12342,3304 12339,3301 14339,3305 14340,3307 14341,3311 14343,3313 14343,3314 16343,3310 16341,3310 16346,3312 16348,3311 16349,4311 16346,4316 16348,4321 16344,4324 16348,4322 16349,4323 16346,4323 16346,4326 16350,4322 16354,4323 16356,4325 16361,4325 16358,4322 16362,4325 20362,4325 20366,4322 20367,4326 20372,4326 20374,4331 20373,4333 20373,4338 20376,4339 20379,4341 20382,4338 20384,4339 20386,4340 20383,4340 20383,4335 20388,4336 20390,4341 20390,4346 20391,4348 20391,4349 20393,37497 26499,37494 26496,37496 26500,37496 26501,37499 26506,37497 26502,37498 26502,37500 29502,37500 29507,37505 29508,37506 33508,37508 33513,37513 33518,37517 33522,37516 33520,37521 33521,37521 33525,37516 33530,37519 33528,37520 33528,37524 33530,37527 33530,37525 33527,37528 33530,37533 33533,37534 38533,37536 38536,22358 13355,25358 13360,25361 13358,25362 13362,25362 13362,25365 13365,25363 13367,25359 13369,25357 13374,25360 13374,2247 13362,2252 13366,2254 13363,2257 13363,2261 13358,2264 13354,2264 13356,2269 13361,2272 13363,2274 13363,2275 13363,2273 13362,2274 13365,2278 13365,2280 13370,2284 13366,2284 13365,2289 13368,2290 13366,2293 13368,2298 13373,2298 13372,2295 13375,271 22347,273 22350,4273 22347,4269 22348,4270 22350,4271 22355,4272 22360,4276 22363,4281 22365,4284 24365,4279 24365,4282 24365,4285 24365,4287 24364,4289 24362,4294 24360,4295 24362,4298 24365,4301 24369,1301 24370,1301 24371,1305 24375,1305 24376,1307 24377,1312 24380,1314 24382,1318 24380,1316 24382,1316 24387,1318 24387,1318 29387,1321 29387,1316 29383,1320 29386,1321 29389,1326 29389,1327 29389,2327 29394,2327 29394,2332 29393,-666 24367,-663 24368,-661 24368,-656 24371,-653 24372,-649 24372,-647 24374,-643 24370,-638 24375,-635 24380,-638 24382,-638 24384,-638 24384,-636 24388,-637 24390,-632 24386,-630 24386,-629 24386,371 24389,376 24394,374 24392,377 24397,3377 24400,6377 24405,6378 24408,6373 24406,6370 24406,6375 24403,6370 24403,6375 24403,6379 24406,6374 24409,6378 24411,6380 24412,6378 24415,6378 24419,6383 24423,6385 24425,6387 24428,6390 24433,6386 24430,6386 24435,6387 24436,6388 24440,6387 24444,6383 29444,6383 29447,6386 29451,6382 29446,6387 29447,6390 29452,6393 29452,6397 29455,6400 29459,6400 29463,6397 29467,6393 29467,6395 29470,6397 29473,6399 29468,6394 29467,6397 29470,6396 29473,6396 29470,6393 29465,6389 29469,6390 29470,6389 29465,6389 29468,6392 29470,6388 33470,6390 33466,6391 33466,6392 33467,6394 33467,322 22372,322 22374,323 22377,327 22378,331 22382,330 22383,332 22386,333 22383,331 22383,330 22387,332 22391,332 22396,337 22397,339 22394,340 22399,340 22398,340 22396,343 22396,343 22396,341 22400,342 22404,343 22402,348 22403,345 22407,347 22411,342 22411,345 22413,340 22417,345 22417,348 22422,348 22426,351 22427,352 22432,352 22436,4352 22438,4353 22442,4354 22444,4354 22447,4357 22449,4360 22450,4364 22450,4367 22451,4369 22453,4366 22455,4369 22453,4373 22458,4377 22459,4380 22459,4380 22464,4385 22467,4385 22467,4390 22469,4385 22469,4385 22472,25571 26508,25574 26507,25578 26512,25581 26512,25581 26512,25583 26508,25583 26513,25587 26516,25589 26515,25590 26515,25591 26517,25589 26520,25587 26522,23587 26526,23585 26531,23589 26534,23592 26538,24592 26543,24588 26545,24593 26547,24598 26543,24598 26548,24602 26545,24598 26540,24600 26545,24600 26548,24600 31548,24605 31549,24608 31551,24613 31552,24615 36552,24616 36557,24619 36557,24622 36560,24622 36564,24627 35564,24627 35569,24632 35569,25632 35570,25635 35569,25636 35573,25636 35573,25638 35576,25641 35580,25641 35583,25641 35588,25642 40588,20642 40593,20645 40593,20650 40595,20651 40591,20651 40594,20648 40591,20648 40591,20652 40596,20652 40596,20656 40597,20656 40600,20656 40601,20659 40598,20662 40597,20662 40597,20663 40600,20668 40601,20665 40606,1215 13314,1214 13319,1212 13317,1209 13312,1210 13312,1211 13317,6211 13320,6214 13320,6216 13320,6211 13323,6214 13318,6214 13323,6214 13324,6216 13319,6219 13323,6218 13321,6219 13321,6218 13326,6221 13329,6225 13331,6230 13335,6231 13339,6231 13343,6235 13338,6234 13342,6234 13344,6236 13345,25524 26483,25521 26484,25524 26489,25527 26487,25529 26484,25530 26482,25534 27482,25539 27486,25537 27488,25541 27483,25544 27486,25547 27490,25550 27491,25550 27491,25554 27486,25559 27486,25563 27489,25561 27489,25563 27493,25561 27491,25563 27493,25563 27495,25564 27497,25563 27497,25563 27497,25558 27498,25563 27499,25565 27503,25567 27503,25569 27503,25567 27504,25565 27505,25565 27505,25565 27505,25566 27505,25570 27501,25570 27497,25574 27498,25570 32498,25570 32501,25573 32501,25576 32497,25576 32498,25577 32501,25579 32503,25583 32504,25588 32507,25592 32512,25596 32507,25599 32507,25594 32503,25597 32506,25597 32510,25594 32509,25594 32510,25596 32513,25592 32513,25594 32515,25594 32520,25598 32520,25602 32517,25603 32518,27603 32520,27607 32523,27608 31523,27613 31527,27615 31527,30615 31530,30617 31530,30618 31532,30619 31536,30623 31537,30623 31538,30625 31538,30626 31541,30627 31541,30624 31540,30623 31540,30624 31545,34624 31546,34619 31543,34623 31545,34624 31549,34624 31548,34626 31550,34626 31555,34626 31551,34628 31555,34633 31555,34636 31559,34634 31564,34636 31564,34639 31562,34639 31560,36639 31555,36636 27555,41636 27557,41640 27554,41644 27558,41647 27559,41648 27555,41653 27555,41658 27555,41658 27552,41658 27552,41660 27550,41656 27554,41661 27558,41664 27561,41667 27566,41662 27562,41663 27563,41663 27565,41662 27569,41661 27569,41664 27571,41664 27567,41659 30567,41660 30565,41660 30561,41665 30566,41664 30561,41664 30561,41664 30562,41664 30563,41660 30558,1312 24380,4312 25380,4315 25384,4315 25385,4319 25383,4322 25388,6322 25387,6322 25387,6326 25392,6321 25397,6324 25397,6324 25401,6319 25404,9319 25405,9314 25400,9312 25402,9310 25403,9313 25403,9313 25403,9316 25400,9319 25401,4319 25396,8319 25398,8315 25400,8315 25396,8315 25397,8311 25398,8307 25394,8309 25394,8311 25397,8315 25402,8310 25403,11310 25365,11311 25365,11316 25370,11320 25375,11325 25375,11325 25380,11325 25382,11326 25378,14326 25380,14328 25382,14331 25383,14334 25385,14336 25386,19336 25386,19336 25389,19332 25390,19332 25391,19335 25388,19338 25391,19342 25393,19340 25393,19345 25396,19345 25394,19347 25394,19349 25393,19351 25397,19350 25398,19348 25399,19349 25403,19352 25399,19350 25402,19354 25400,19353 25405,23353 25402,23354 25402,23356 25405,23358 25409,23360 25413,23363 25414,23367 25412,23365 25411,23367 25414,23363 25413,23367 25416,23367 25416,23370 25418,24370 25414,24370 25419,24373 27419,24378 27419,24380 27416,24380 27412,24380 27410,24380 27406,24376 27406,24374 27410,24370 27414,24370 27415,24371 27420,24375 27415,24378 27411,24375 27415,24378 27418,24382 27421,24383 27426,24383 27425,24385 27430,24390 27431,24394 27432,24395 27436,24399 30436,24400 30439,24404 30443,24403 30439,24406 30438,24410 30442,24406 30446,24408 30445,24403 30445,24408 30442,24412 30446,24416 30446,24416 30449,19416 30449,19416 30447,19418 30452,19420 30453,19423 30458,15423 30462,15423 30464,15425 30466,16425 30467,16424 30471,16421 30474,16426 30474,16428 30476,16428 30476,16424 30474,16424 33474,16425 33474,16427 33477,16425 33479,16426 33477,16422 33480,16425 33482,16430 33479,16430 33478,16429 33482,16424 33482,16427 33484,16430 33488,16431 33488,16434 33488,16435 33491,16432 33487,16436 37487,16434 37490,16438 37485,16443 37482,16446 37480,16447 37480,16447 37482,16451 37478,16454 37479,16458 37479,16454 37479,16454 37482,16459 37486,16460 37491,16463 37495,16464 37492,16465 37493,16466 37494,16468 37497,16468 37501,16468 37501,16473 37503,16473 37503,16473 37498,16476 37494,21476 33494,21473 33493,21476 33489,21478 33491,21478 33496,21478 33492,21480 33496,21483 33501,21484 33504,21483 33500,21484 33505,21484 33505,21488 35505,21491 35505,21494 35506,21496 35510,21492 35506,21492 35509,21489 35514,21490 35517,21487 35519,23487 35523,23485 35528,23487 35533,23483 35534,23487 35535,23488 35537,23493 35539,23495 35542,23495 35546,23495 35550,23491 35549,23488 35552,23492 35555,23495 35560,23500 35559,23496 35557,4322 16354,4317 16358,4318 16358,4320 16363,4315 16363,4315 16362,4316 20362,4320 20365,4323 20363,4326 20366,4329 20367,4332 20370,4337 20374,4338 20375,4333 20375,4338 20375,4341 20377,4342 20377,4342 20378,4343 20381,4346 20386,4346 20386,4346 20386,4346 20386,4349 20390,4352 20395,4354 20396,4355 20400,4358 20400,4360 20401,4360 20404,4363 20405,4368 20406,4372 20411,4371 20416,4367 20417,4364 20422,4367 20420,4372 20425,4373 20422,4374 20418,4377 20418,4381 20422,4382 20423,4384 20418,4389 20421,4385 20423,4390 20423,4390 20425,4392 20429,4396 20434,41574 39698,41578 39702,41576 39704,45576 39704,45575 39709,45577 39713,45581 39715,45581 39718,45583 39721,45578 39726,47578 39722,47581 39719,47586 39722,47586 39726,47589 39730,47592 39733,47597 39733,47593 39733,47596 39735,47597 39735,47595 39735,47591 39739,47593 39744,47593 39747,4074 20263,4077 20268,4079 20268,4078 20271,4078 22271,4083 22276,4087 22272,4088 22275,4086 22279,4082 22280,4084 22282,4086 22277,4082 22277,4087 22281,4090 22281,4092 22281,4092 22286,4094 22287,4097 22290,4097 22291,4095 22286,4095 22288,4095 22293,4095 22288,4092 22285,4089 22286,4090 22286,4095 22281,4100 22286,4103 22285,4104 22288,4104 22289,4107 22294,4112 22292,4117 22290,4120 22295,120 22300,121 22303,122 22300,122 22300,121 26300,125 26303,129 26303,127 26305,127 26306,132 26306,132 26307,136 26307,141 26309,140 26311,143 26313,140 26314,145 26318,149 26318,153 26321,153 29321,158 29326,158 29329,162 29324,162 34324,165 34329,168 34328,167 34332,169 34333,173 34334,173 34336,177 34338,178 34340,178 34344,182 34348,177 34348,182 34348,184 34353,184 34358,181 34360,183 34365,187 34365,192 34365,197 34367,199 34366,203 34368,205 34368,202 34363,204 34360,1204 34360,1205 34364,1205 30364,1205 30359,1206 30361,1207 30364,1210 30366,1210 30366,1214 30367,1218 30372,1219 30375,1214 30379,1214 30384,1217 30382,1222 30383,1223 30382,1225 30380,1228 30379,1231 30383,1232 30383,1235 30384,1237 30388,1242 30386,1244 30389,2244 30392,2241 30395,2245 30397,2245 30399,2244 30394,2242 30395,2246 32395,2246 32395,2249 32398,2251 32393,5251 32390,5251 32395,5255 32399,5255 32397,5257 32397,5257 32401,5261 32406,5261 32411,5266 32412,5271 32416,5273 32419,5276 32420,5281 32422,5279 32425,6279 33425,6284 33429,6284 33430,6282 33431,6282 33428,6286 33425,6288 32425,6288 32421,6286 32424,6288 32424,11288 32427,11292 32425,11292 32429,11290 32434,11286 32437,11286 32437,11283 32442,11278 32442,11279 32443,11283 32445,11284 32445,11283 32448,13283 32447,13287 32442,16287 32446,16282 32445,16283 32445,16284 32448,16285 32448,16284 32446,16286 32443,16290 32446,16291 32446,16292 32450,16291 32450,16291 32450,16291 32445,16287 32447,16288 32452,16287 32457,16291 36457,16289 36462,16293 36462,16294 36462,16297 36462,16301 36464,16306 36469,16310 36467,16310 36463,16313 36459,16312 36460,16313 36465,16313 36469,16308 36470,16309 36468,16314 36470,16319 41470,16322 41471,16325 44471,16330 44471,16330 44471,16330 44473,16330 44474,16335 44479,16332 44477,8414 30496,8415 30497,8419 30497,8414 30501,8416 30500,8418 30495,8421 35495,8423 35494,8427 35497,8429 35499,8432 35499,8436 35503,8438 35503,8443 35505,8440 35508,8443 35509,8440 35509,8440 35511,8441 35515,8445 35511,8448 35512,8443 35517,8443 35519,8442 35524,8444 35526,8441 35527,8436 35527,8433 35523,8429 35527,8430 35530,8431 35532,8429 35533,8433 35535,8437 32535,8435 32536,8439 32536,8436 32539,9436 32542,9434 32537,9429 32534,9429 32534,9433 32537,9433 32542,9429 32543,9434 32538,9436 32538,9436 34538,7436 34538,7438 34543,7439 34543,7439 34543,7439 34548,7438 34549,7438 34552,7438 34553,7438 34556,11438 34561,11434 34559,11436 34555,7436 34553,7436 34549,120 1235,124 1239,125 1236,125 1238,129 1235,128 1235,125 1236,123 1239,128 2239,132 2242,131 2242,135 2242,140 2242,145 2247,146 2252,144 2253,146 2248,144 2245,146 2244,150 2249,155 2245,159 2242,160 2243,160 2245,155 2244,156 2245,3156 2246,3159 2248,3159 2250,3164 2254,3165 2257,3166 2255,3169 2257,3171 2262,3169 2263,3174 2268,3177 2273,3174 2276,3178 2275,3173 2279,3177 2276,3180 2279,3182 2284,3185 2289,5185 2286,5185 2288,5181 2286,5185 2288,5184 2293,5187 2293,5187 2297,5190 2299,5187 2299,5185 2300,5181 6300,5182 6297,5187 6300,5189 6298,5191 6296,5193 6296,5193 6296,5195 6297,5195 6300,5197 6297,5195 6300,5190 6302,5191 6306,5192 6308,5195 6312,24395 27436,24391 27437,24393 27433,24398 27436,24398 27437,16286 32443,21286 32443,21286 32444,21282 32448,21283 32446,21283 32448,21285 32451,21281 32456,21282 32458,21282 32463,21282 32468,21284 32470,21289 32471,21287 32471,21287 32469,21287 32474,21284 32477,21288 32482,21291 32482,21291 32486,21296 32485,21299 32486,21301 32487,21303 32484,21301 32482,21305 32487,21310 32491,21312 32495,21313 32491,21315 32495,21312 32495,21314 32498,21316 32501,21311 32506,21311 32508,21312 32513,21317 32516,21319 32516,21324 32516,21327 32521,21328 32526,21332 32527,21328 36527,21331 41527,21336 41527,21334 41531,21337 41533,21335 41535,21339 41540,21340 41540,21343 41536,25343 41539,25340 41542,25337 41542,25337 41545,25335 41542,25335 41543,25335 46543,25339 46548,30339 46551,30340 46556,30343 46557,30342 46553,30337 46556,30341 46561,30337 46565,30336 46563,30338 46564,24373 27419,24373 27421,24375 27424,24377 27425,24377 27430,24374 27435,24379 27437,24384 27432,24385 27434,24382 27437,24381 27442,24381 31442,24381 33442,20381 33439,20383 34439,20382 34440,20378 34444,20381 34446,20381 34442,20384 34443,20388 34446,20392 34447,20393 34442,20393 34447,20396 29447,20395 29443,20399 29443,20400 29439,20399 29436,20404 29439,20409 29440,20410 29440,20410 29444,20408 29445,20413 29448,20413 29451,20412 29455,20413 29458,20418 29461,20413 29463,20415 29464,20416 29464,20416 29463,20416 29463,20418 29464,20414 29465,20418 29463,20413 29460,20413 26460,20418 26458,20421 26459,20421 26461,20421 26460,43578 35658,43578 35654,43578 35658,43578 35660,43583 35661,43583 35659,43583 35662,43579 35663,43583 35661,43587 35666,25625 25551,25629 25551,25630 25554,25630 25559,25632 25560,25627 25561,25623 25557,25623 25559,25624 25561,26624 25566,26627 25566,29627 25571,29626 25574,29625 25575,29622 25579,29625 25583,29630 25588,29632 25589,29635 25591,29635 25594,29637 25598,29642 25596,29643 25597,29644 25597,29649 25598,29654 25602,29656 25602,29661 25603,29661 25601,29664 26601,29666 26604,29665 26604,29668 26607,29672 26607,29669 26611,29671 26616,29674 26613,29679 26616,29680 26616,29681 26615,29682 26619,29679 26617,29684 26622,29686 26624,29689 26624,29690 26628,29691 26630,29693 26625,29694 26620,29698 26617,29703 29617,29707 29616,29706 29620,29709 29623,34709 29626,34710 29628,34710 29627,2282 16411,2283 16412,2283 16412,2287 16417,2292 16421,2297 16421,2298 16426,2303 16426,2304 16429,2309 11429,2313 11432,2308 14432,2308 14431,2311 14433,2310 14437,2308 14438,2309 14440,2311 14440,2309 14443,2312 14443,2314 14447,2314 14452,2314 14450,2309 14451,2309 14451,2309 14456,2313 14461,2313 14461,2309 19461,2309 19461,2311 19462,2315 19465,2318 19465,2321 19462,2317 19464,2321 19467,2322 19467,2322 19469,2322 19469,2320 19464,2321 19462,2322 19461,2327 19466,2327 19461,2322 19461,2322 19463,2317 19467,2318 19471,2102 -1848,2107 -1848,2111 -1846,2114 1154,2114 1156,2115 1157,2114 6157,2116 6162,2121 6165,2124 6170,2121 6175,2124 6179,2124 6183,2128 6178,2126 6179,2125 6178,2126 6181,2122 10181,2127 10186,2128 10189,2130 10188,2130 10191,2127 11191,2127 11195,2131 11196,2132 11192,2131 11197,2135 11201,2135 11203,2139 11199,2142 11203,2143 11204,2147 11208,2142 11210,2142 11211,2147 11212,2150 11217,2150 11219,2151 11219,2152 11222,2152 11222,2148 11224,2150 11220,2150 11223,2146 11218,2143 11219,2140 11221,2143 11218,2140 11219,2140 11223,2145 11225,2147 11226,2152 11226,2155 11224,2157 11229,2157 11229,2153 11233,2153 11238,2149 11239,7149 10239,7154 10241,7157 10241,7162 10243,7164 10248,7164 10251,7169 10253,7171 10253,7172 10257,7177 10260,7182 10256,7187 10260,7191 8260,7195 8256,7200 8258,7204 8258,7203 8261,7203 8262,7205 8266,7209 8270,7209 8273,7214 8273,7214 8276,7210 8276,7211 8276,7213 8279,7218 8278,7222 8283,7223 8279,7220 10279,7221 10283,7223 10284,7228 10286,7230 10290,7231 10290,7231 10293,7232 10294,7232 10297,7234 10299,7229 10295,7226 10294,7221 10293,7223 10295,7228 10299,7229 10303,7232 10307,7232 10311,7233 10316,7234 9316,7239 9318,7244 9321,7241 9326,7241 9328,7238 9331,7235 9330,7237 9335,7236 9335,7236 9337,7236 9338,7231 14338,7230 14333,7232 14338,7237 18338,4082 22280,4081 22280,6081 22283,6076 22285,6076 22289,6078 22286,6080 22287,6084 22292,6084 22293,6085 22293,6086 22291,6091 22294,6092 22293,9092 22290,9095 22294,9096 22295,9096 22297,9091 22292,9096 22295,9098 22290,9094 18290,9097 18290,9096 18294,9099 18292,9098 18297,9103 18299,9103 18302,9103 18305,9100 18301,9102 18302,9106 18305,9102 18310,9101 18306,9103 18308,9103 18312,9107 18310,9107 18315,9107 18320,9111 18322,9111 18326,9113 18329,9111 18329,9116 18329,9121 18329,9121 18332,9123 18331,9124 18332,9125 18328,9127 18325,9125 18328,9128 18329,9133 18329,9136 18333,9141 18337,9142 18342,9143 18340,9148 18344,9152 18341,9150 18346,9149 18341,9149 18341,9154 18343,9158 18345,9161 18346,9161 18347,9163 18352,9164 18352,9162 18349,9165 18352,9165 18351,9165 18352,9165 18356,9163 18352,9167 18353,9167 18349,9168 18351,9168 18347,9173 18347,9175 18347,9179 18348,9182 18349,9187 18352,9186 18357,9189 18360,9192 18360,9196 18362,13196 18367,13196 18369,13196 18371,13199 18374,13194 18374,13197 18375,13200 18377,13205 18380,13210 18384,13209 18379,13209 18374,13213 18375,13216 20375,13212 20375,13215 20375,13211 20375,13211 20372,13208 20373,13204 20373,13204 20369,13205 20369,13207 20366,13212 20367,13216 20367,13221 20372,13222 20377,13225 20381,13226 20386,13230 20383,9230 20388,9228 20384,9228 20386,9223 20389,9223 20392,4223 20397,4223 20396,4225 20399,4222 20404,4220 20408,4220 20411,4223 20416,4227 20421,4230 20418,4234 20421,4232 20422,4236 20423,4238 20423,4239 20423,4235 20427,4231 20427,4230 20426,4228 20428,4232 20427,4232 20431,4236 20433,4241 20431,4241 22431,4236 22436,4239 22437,4239 22439,4236 22443,4232 22439,4236 22444,4236 22446,4239 22447,4239 22452,4241 22454,4245 22457,4245 22460,4250 22462,4251 22465,4253 22465,4249 22465,4251 22460,4251 22464,4255 22469,4257 22473,4256 22478,4259 22479,4260 22480,4257 22485,6257 22489,6260 22490,6260 22493,6262 22496,6262 22500,6267 22495,6271 22495,6276 22491,6276 22489,6281 22487,6286 22490,6289 22490,6294 22490,6294 22489,6292 22485,6292 22489,6288 22489,6288 22494,6288 22496,6286 22497,6288 22501,6292 22500,5292 22503,5292 22503,5296 22508,5295 22510,5300 22510,5305 22513,5302 22514,5306 22510,5309 22513,5313 27513,5313 27513,5317 27513,5322 22513,5326 22517,6326 22516,6323 22518,6323 22523,6320 22523,6321 22526,6323 22531,6323 22531,6324 22532,6324 22532,6325 22529,6321 22531,6323 22534,6328 22534,6329 22530,6324 22527,10324 22522,10319 22524,10315 22520,10314 22525,10311 22525,10307 22526,10304 22531,10306 22527,10306 22528,10309 22530,10312 27530,10312 27534,10312 27534,10307 27536,10307 27532,11307 27531,11307 27533,11308 27535,11303 27531,11298 27532,11294 27534,11294 27534,11299 27538,11297 27542,11302 27547,11306 27547,11311 27549,11313 30549,11317 30551,11313 30546,11316 30541,11316 30540,11319 30545,11318 30546,11323 30550,11326 30554,11326 34554,11330 34558,11331 34558,11333 34558,11332 34561,11328 34561,11331 34562,11336 34562,11336 34567,11340 34570,11342 34569,11345 34568,11344 34569,11345 34571,11349 34574,15349 34574,15354 34569,15359 34566,15362 34571,15363 34576,15367 34577,15368 34577,15371 34581,15374 34576,15379 34574,15383 34579,15384 34584,15387 34583,17387 34578,17392 34578,17391 34578,17396 34573,17397 34578,17397 34580,17397 39580,17402 39584,17397 39587,17402 39587,17406 39582,17403 39587,17407 39589,17409 39592,17406 39592,17409 39595,17409 39599,17412 39603,17416 39608,17417 39608,17417 39608,17421 39607,17422 39609,17424 39608,17427 39604,17425 39605,17426 39609,17423 39611,17422 39610,17425 39613,17428 39618,17428 39619,17429 39616,17432 39616,13432 39615,13432 39617,13432 39617,13432 44617,13434 44621,13434 44623,13439 44627,13442 44632,13442 44635,13440 44631,13442 44631,13445 44635,13447 44639,13445 44637,13445 44638,13450 44639,13454 44644,13457 44644,13459 44642,15459 44639,15457 44644,15461 44644,15462 44642,15459 44645,15459 44647,15463 44650,15458 44651,15459 44653,15461 44657,15463 44661,15463 44661,15463 44663,15467 44666,15472 44668,15474 44664,15470 44668,15471 44670,15473 44674,15475 44675,-3806 12298,-3804 12301,-3805 13301,-3804 13296,-3808 13292,-3809 13295,-3806 13300,-3804 13297,-3801 13301,-3801 13302,-3796 18302,-3801 18306,-3799 18311,-3802 18311,-3799 18312,-3801 18314,-3796 18319,-3795 18322,-3791 18321,-3786 18320,-3786 18321,-3784 18321,-3782 18321,-3781 18324,-3782 18325,-3783 18320,-3788 18324,-1788 18324,-1788 18329,-1784 18333,-1784 18334,-1781 18329,-1777 18334,-6777 18337,-6774 18339,-6776 18341,-6781 18341,-6779 18341,-6779 18343,-6779 18339,-6777 18343,-6782 18338,-6779 18341,-6778 18341,-6776 18336,-6776 18333,-6776 18333,-6780 18338,-6784 18338,-6787 18335,-6786 18336,-6781 22336,-6781 22335,-6778 22331,-6777 22326,-6777 22331,-6777 22335,-6772 22335,-6774 22340,-6769 22341,-6767 22337,-6767 22335,-6767 22335,-6767 22333,-6767 22336,-6762 22331,-6759 22331,-6764 22332,-6765 22334,-6767 22339,-6762 22334,-6760 22334,-6760 22334,-6758 22337,-6754 22341,-6754 22342,-6750 22339,-4750 22343,-4747 22343,-4752 22343,-4751 22344,-4749 22345,-4745 22348,-4740 22353,-4736 22358,-4738 22363,-4740 22358,21336 41527,21334 41527,21330 41526,21330 41526,21333 41529,21328 41529,21329 41530,21326 41532,21328 41532,21324 41537,21328 41532,21330 41535,21334 41532,21336 40532,21334 40536,21339 40534,21341 40534,21344 40534,21346 40532,21350 40532,21353 40535,21357 40539,21359 40542,21360 40546,21355 40546,21360 40547,21359 40550,21356 40551,21356 40550,21357 40550,21361 40554,21358 45554,21362 45556,21366 45553,21370 45557,21374 45556,21377 45553,22377 45549,22382 45549,22382 45552,22386 45557,22387 45557,22388 45553,22392 45557,24392 45561,22392 45558,22397 45561,22399 45558,22398 45561,22400 45564,22400 45569,22404 45573,22406 45577,22406 45581,22404 45581,22407 45582,22409 45579,22409 45575,22409 45579,22407 45579,22402 45582,22402 45582,22404 45587,22406 45587,22406 45589,22411 45589,22413 45590,22417 45591,22417 45592,22422 45587,22425 45583,22428 50583,22428 50585,22428 50585,22430 50588,22435 50590,22435 50585,22435 50590,22439 50595,22440 50590,22445 50587,22442 50584,22442 50586,22443 54586,22443 54590,22446 54595,22448 54597,22448 59597,22444 59593,22449 59596,22449 59599,22452 59600,22457 59600,22458 59605,22457 59602,22462 59603,22463 59604,22461 59605,22458 59602,22457 59601,22457 59601,22455 59605,25455 59606,25457 59611,25462 59613,25464 59614,25467 59617,25472 59612,25476 59613,25478 59610,25482 59615,25482 59616,25486 59612,25483 59614,25487 59619,25492 59623,25497 59625,146 2252,150 2249,150 2249,152 2254,157 2249,158 2253,157 2252,161 2255,159 3255,161 3258,161 3255,163 3255,168 3259,168 3259,172 3263,167 3267,172 3271,172 3272,172 3274,175 3278,179 3282,181 3283,184 3280,185 3282,187 3282,191 3284,192 3286,191 6286,193 6289,198 6285,195 6290,194 6289,195 6289,199 6293,200 6288,198 6290,202 6291,207 6296,212 6301,215 6301,216 6301,211 6304,212 6304,216 6309,216 6304,214 6308,213 6308,211 6305,212 6309,217 6314,220 6317,224 6322,222 6327,220 6323,41573 39712,41572 39709,41576 40709,41580 40714,41576 40717,36576 40717,36577 40719,36582 40716,36585 40721,36590 43721,36585 43721,36582 43724,36585 43729,36590 43731,36590 43730,15289 11307,15285 11312,15286 11315,15289 11315,15294 11315,15295 11316,15296 13316,38742 37646,38743 37650,38745 37655,38744 37658,38739 37659,38737 37662,38742 37662,38745 37657,38748 37662,38748 37662,38752 37667,38753 37667,38748 37669,38748 37668,38752 37673,38754 37674,38756 37676,38758 37674,38760 37679,38760 37675,38758 37675,38763 37675,38767 37674,38772 40674,38767 40679,38772 40683,38774 44683,38778 44686,38780 44690,38780 44690,38779 44695,38782 44700,38780 44695,38775 44696,38775 44696,38775 44696,38779 44699,38783 44696,38784 44696,38786 44692,38786 44692,38786 44696,38791 44698,38793 44699,38795 44703,38800 44708,38803 44708,38807 44709,38802 44706,38806 44708,38809 44709,36809 44709,36814 44704,36813 44705,36814 44705,36816 44709,36811 44712,36812 48712,36811 48717,36815 48721,36816 51721,36818 51717,36822 51720,40822 51715,40827 51712,40830 51716,40829 51719,40832 51723,40835 51724,40840 51721,40841 51721,40836 51725,40841 51730,40846 51734,40848 51738,40849 51740,40851 51743,40854 51745,40855 51746,40857 51750,40857 51746,40861 51748,40866 51751,40862 51750,40866 51750,40869 51752,40865 51752,40863 51755,40858 51757,40855 51753,40855 51758,40852 51758,40853 51760,40857 51761,40855 51757,40852 51760,40853 51761,40855 51762,40858 51757,40859 51756,40863 51757,40863 51759,40860 51764,40859 51764,40854 51768,40850 51765,40852 51767,40852 51767,40848 51772,40852 51776,40854 51778,40852 51778,43852 51778,43854 52778,43856 52781,43859 52781,43859 52776,37512 26536,37517 26531,37520 26535,37520 26540,37522 26544,37527 26544,37532 26549,37537 26544,37540 26549,37545 26544,37549 26547,37549 26550,37548 26551,37549 26553,37546 26553,37546 26553,37549 26556,37549 26559,37552 26559,37556 26564,37560 26559,37561 26561,37565 26565,41565 26565,41569 26568,41571 26573,41571 26573,41576 29573,41571 29573,41573 29576,41573 29578,46573 29578,46569 29582,45569 29583,45572 29583,45568 29583,45573 29581,45575 29578,45571 29581,45572 29584,45572 29585,45576 29585,45578 29588,45581 29591,45582 29593,45582 29598,45584 29597,45589 29600,45585 29605,45589 33605,45593 36605,45594 36607,45599 36609,45600 36604,45604 36604,45604 36608,45604 36607,45608 36610,50608 36613,50611 36609,50614 36609,50619 36605,50624 36605,50625 36606,50625 36605,50629 36606,50624 36608,50625 36610,50626 36610,50629 36608,50627 36610,50628 36614,50632 36618,46632 34618,46632 35618,46636 35622,46636 35617,46637 35620,46639 35619,46643 35620,46645 35625,46643 35630,46648 35635,46648 35640,46649 35643,46651 35647,46655 35650,46652 35655,46657 35656,46658 35657,46662 35660,46659 35663,46662 35664,46665 35663,46667 35667,46667 35663,46670 35666,46672 35671,46674 35671,47674 35668,47676 35672,47677 35673,47677 35678,47677 35677,47677 35677,47677 35682,47672 35683,47671 35683,49671 35685,49674 35689,49677 35692,49675 35692,54675 35697,54678 35699,54674 35699,54670 35701,54670 35700,54675 35703,54676 34703,54676 34703,54679 34706,54683 34708,54688 34706,54688 34707,54685 34702,54687 34702,54692 34707,54687 36707,54687 36706,54682 36707,54685 38707,54680 38710,54680 38714,54677 38714,54679 38719,54682 38720,54687 38716,54688 38717,54692 38722,54697 38726,54699 38727,54700 38724,54702 38720,52702 38719,52702 38719,52702 38721,52702 38725,52704 38726,52706 38728,52707 38729,52711 38728,52711 35728,52713 35733,52712 35737,52712 35739,52713 35742,52713 35745,52708 35745,52710 39745,52713 39749,52716 39748,52721 39749,52720 39753,52716 39756,52716 40756,47716 40757,47717 40761,47722 40761,47722 40761,47722 40766,47726 40769,47728 40772,47733 40777,47731 40773,50731 40777,51731 40779,51733 40782,51734 40786,51737 40784,51741 41784,51739 41783,51739 41785,51739 41785,51736 41789,51731 41789,52731 41790,52735 41791,52738 41790,52742 41789,52746 41785,52747 41785,52745 41785,52750 41782,52753 41786,52753 41787,52758 41792,52754 42792,52749 42793,52752 42794,52756 42791,52757 42790,52762 42793,52766 42797,52766 42797,52769 42802,52774 42806,52774 42805,52771 42807,52774 42807,52770 42808,52771 42811,52767 42811,52766 42812,52767 42817,52771 42817,52771 42817,52775 42815,52779 42811,52779 42812,52780 42815,52776 42818,52774 42818,52777 42822,52780 42823,52781 42827,52776 42829,52780 42832,54780 42835,54780 42840,2135 11201,2140 11203,2137 11204,2140 11209,2142 11213,2147 11211,2145 11213,2145 11213,2150 11218,2150 11221,2153 11225,2157 13225,2162 13228,2167 13231,2171 13232,2167 13229,2168 13233,2171 13237,2173 13239,2168 13234,2168 13235,2173 13235,2175 13234,2177 13235,2177 13234,2179 13229,2179 13226,2180 13226,2177 13226,2177 13231,2180 13231,2181 10231,2176 10233,2177 10232,2180 10235,2185 10237,2182 10240,6182 10240,6184 10244,6182 10242,6183 10243,6185 10246,6190 10244,6194 10244,6194 10247,6192 10247,6192 10252,6195 10256,6194 10260,6195 9260,6195 9260,6195 9264,6199 9269,6204 9272,6199 9268,6201 9268,6203 9265,6208 9268,6204 9270,6204 9275,6201 9279,6201 9281,6201 9286,6206 9281,6206 9277,6202 9281,6200 9285,6202 9288,6198 9290,7198 9293,7200 9297,7201 9297,7205 9298,7209 9298,7209 9299,8209 9302,8214 10302,8218 10306,8222 10308,8226 10313,8231 10313,8235 10318,8237 10318,8237 10323,8233 10326,8233 10327,8237 10325,8238 10328,8238 10330,8234 10330,11234 10332,11236 10333,11241 10337,14241 10338,14240 10338,14237 10339,14238 10337,14237 10339,14242 10339,14246 10339,14250 10339,14250 10339,14251 10337,14254 10337,14256 10334,14256 10332,14252 10336,14255 10340,14259 10342,14262 10347,11148 3159,11153 3163,11154 3162,11154 3165,11158 3167,11161 3172,11162 3175,11162 3176,11166 3179,11166 3181,11171 3185,11176 3180,11178 3179,11176 3181,11179 3183,11174 3182,52776 42818,52778 42822,52777 42822,52782 42817,52783 42822,52784 42823,52789 42826,52789 42823,56789 42828,56786 42829,56786 42832,56789 42836,56789 42835,56785 42838,56786 42843,51786 42844,51788 42846,51790 42847,51794 42842,51796 42842,51801 42846,53801 42849,53806 42849,53809 42852,53812 42850,53817 42846,53817 42848,53818 42853,53822 42856,53823 42854,53826 42858,53825 42860,53826 42860,53826 42864,53830 42868,53835 42873,53839 42873,53841 42872,53841 42876,53841 42879,53841 42884,53836 42888,53836 42889,53836 44889,53833 44889,53835 44893,53838 44897,53842 44897,53844 44900,53844 44904,53845 44905,53850 44903,53853 44904,53858 44906,53856 44907,53861 44909,53856 44913,53858 44916,53863 44916,53868 44918,53867 43918,53869 43921,53869 43919,53867 43919,53862 43918,53860 43923,53864 43928,53869 43930,53874 43933,53874 43932,53874 43932,53875 43930,53877 43928,53878 43924,53883 43927,55883 43929,55883 43925,55879 43929,55881 43929,55884 43928,55881 43928,55882 43929,55883 45929,55883 45933,55883 45936,55884 45941,55884 45941,55886 45946,55882 45948,55883 45952,55888 45956,55890 45957,55894 45953,55892 45954,55897 45950,55893 45954,55896 45956,55892 45955,55897 45959,55899 45961,55899 45961,55894 45962,55898 45957,55893 49957,55896 47957,55894 47956,55898 47960,55901 47964,55901 47967,55901 47970,55896 47973,55898 47969,55894 47974,55895 47975,55891 47976,55896 47979,55899 47984,55902 47983,55897 47987,55899 47989,55904 47992,55904 47993,55905 47997,55902 48001,55902 48003,55907 48000,55910 47998,55915 47999,55911 47994,55906 47998,55910 48003,55914 48000,55918 48000,55914 48000,55919 48000,55921 48003,55921 48007,55924 48007,55919 48010,55922 48005,55927 48009,55928 48008,55928 48008,55930 48012,55925 48012,55925 48016,54925 48014,54922 48018,54922 44018,54926 44013,54929 44012,54932 44016,55932 44017,55935 44017,55936 44020,55937 44022,55936 44020,55939 44015,55944 44018,55945 44022,55947 44023,55950 44024,55953 44020,55956 44023,53867 43919,53871 43921,52871 43921,53871 43923,53876 43923,53881 43923,53880 43927,53882 43931,53886 43936,53884 43937,53879 43934,53879 43937,53877 43939,53878 43938,53879 43942,53880 43947,53881 43948,53884 45948,53884 45949,53882 45953,53883 45954,53878 45956,53880 45953,53885 45958,53885 45958,53886 45957,53886 48957,53886 48962,53891 48962,53892 48964,53897 48965,49897 48962,49902 48965,49906 48967,49902 48967,49904 48971,49901 48967,49904 48970,54904 48971,54904 48971,54904 48975,54909 48979,54907 48975,54910 48975,54906 48971,54909 48973,54911 48975,54915 48978,54920 48978,54923 48981,54918 48984,54921 48984,56921 48984,56926 48986,56924 48981,56929 48980,56932 48979,56932 48977,56936 48979,56937 48981,56937 48982,61937 48984,61937 48980,61934 51980,61935 51981,61935 51984,61935 51984,61931 51986,5329 23395,5331 23395,5333 23390,5337 23392,5340 23395,5345 27395,5345 27397,5350 27398,5355 27399,5356 27402,6356 27405,6360 27407,6361 27406,6364 27402,6366 26402,6371 26402,6371 26402,6372 26405,6370 26405,6375 26406,6380 26411,6385 26413,6387 26414,6388 26419,6390 26419,6391 26424,6393 30424,6390 30429,6390 30432,6390 30430,6394 30434,6394 30437,6394 30441,6396 30442,6398 30439,6399 30436,6404 30435,6405 30435,6400 30435,6405 30440,6404 30443,6405 30447,6409 30447,6411 30447,6412 30448,6417 30446,6421 30450,6418 30448,6417 30444,6418 30449,6420 30451,6425 30456,6426 30456,6425 30458,6426 30458,6426 34458,6427 34459,6432 39459,6434 39462,6434 39467,6439 39470,6443 39467,6444 39468,6449 39473,6451 39476,6452 39481,6452 39479,6452 39476,8452 39476,8456 39478,8460 39480,10460 39482,10455 39482,10456 39484,10460 39484,10463 39484,10468 39486,10473 39482,10475 39484,10475 39486,10476 39488,10477 39492,10475 39494,10480 39499,10476 39501,10479 39506,10480 39510,10475 39508,10480 39513,10481 39516,10481 39516,10485 39521,10487 39522,10490 39523,10490 39520,10493 39520,10496 44520,10491 44519,10491 44524,10492 44520,10497 44525,10499 44525,10502 44527,10500 44531,10502 44535,10506 44535,10511 44532,13511 44536,13513 44533,13510 44535,13507 44540,13511 44543,13515 44548,13517 44549,13522 44550,13525 42550,13520 42551,13522 42553,13525 42552,13529 42557,13529 42558,13524 42559,13525 42559,13525 42562,13520 42564,13523 42567,15523 42569,15523 42572,15524 42577,15529 42577,15530 42582,15532 42584,15532 42588,15531 42587,15531 42592,15530 42587,15530 42583,15533 42583,15536 47583,15532 47583,15535 47587,15534 47590,15536 47594,11536 47590,11533 47590,11529 47590,11533 47592,11533 47592,11533 47593,11537 47598,11538 47603,11538 47603,11538 47605,11541 47609,11544 47613,14544 47614,14539 47610,14537 47610,14537 47614,14535 50614,14537 50619,14539 50619,14540 50623,14538 50623,14537 50619,25599 26540,25599 26541,25599 26544,25594 26542,25599 26543,25596 26544,25597 26543,25598 26543,25593 26544,25588 26542,25593 26545,25595 26544,25596 26544,25599 26541,25594 26544,25592 26549,25593 26548,25597 26549,25596 26550,25594 26551,25590 26550,25594 26554,25597 26550,25598 26552,25593 26555,25598 22555,25599 22557,25604 22559,25605 22558,25606 22562,25605 22559,25605 22564,30605 22569,30610 22571,30610 22575,30609 22575,30609 22576,30609 22581,30605 22581,30610 22583,30610 22584,30613 22579,30613 22581,30616 22577,30619 22577,30621 22580,30621 22585,30626 22590,30628 22593,30629 22598,30626 22603,30628 22606,30629 22607,30629 22604,30627 22606,30632 22608,30633 22608,30636 22612,30641 17612,30642 17614,30647 17614,30651 17615,30654 17610,30655 17607,30658 17611,30653 17610,30654 17606,30654 17607,30659 17606,30660 17611,30658 17616,30659 17616,30664 17619,30665 17621,30665 17620,30667 17621,30671 17624,30673 17624,30673 17624,30678 17627,30675 17632,30675 17635,30678 17640,30681 17643,30686 17639,30691 17641,30696 19641,30699 19640,30700 19640,30696 19645,30698 19643,30699 19645,30702 19646,30703 19649,30699 19651,30704 19648,30706 19652,30709 19653,30709 19655,30709 19655,30712 19657,30708 19658,30705 19660,30700 19662,30701 19663,30706 19664,30711 19663,30707 19667,30704 19670,30708 19672,30709 19673,30711 19673,30711 19674,30713 19678,30718 19682,30723 20682,30721 20686,30725 20691,30726 20693,30729 20695,30728 20690,30730 20692,30733 20694,30736 20692,30736 20691,30740 20694,30741 20695,30741 20697,30746 20700,30747 20702,30750 20701,30751 20698,30753 24698,30749 24701,30748 24703,30746 24704,30747 29704,30747 29705,30749 29707,30752 29712,30757 29712,30760 34712,30760 34716,30763 34716,30759 34713,30759 34717,30763 34717,30758 34717,30757 34721,30760 34726,30758 34726,30763 34727,30763 34727,30764 34727,30759 34729,30759 34732,30762 34734,30757 34735,30761 34736,30759 34736,30762 34738,30757 34733,30760 34735,30762 34737,30760 34736,30765 34733,32765 34737,32768 34737,32765 34740,32765 34742,32768 34747,32772 34751,32772 34752,32777 34749,32782 34751,32783 33751,32783 33746,36783 33749,36783 33754,36786 33756,36787 33755,36787 33758,36791 33754,36796 33754,36801 33756,36801 33758,36801 33762,36802 33765,36802 33765,36806 33770,33806 33772,33806 33777,33809 33777,33814 33780,33814 33785,33818 33782,33821 33784,33826 33781,33822 33781,33824 33783,33822 33784,33826 33787,33823 33792,33827 33795,33828 33798,33829 33799,33833 33801,33833 33801,33836 33805,33839 33809,33842 33805,33847 33810,33845 32810,33847 32808,33849 32812,33851 32815,33849 32818,33849 32822,33847 32822,33847 32826,33850 32831,33854 32836,33857 32833,33856 32828,33859 32829,33860 32832,33857 32834,33857 32830,33855 32830,33857 32830,33855 32834,33859 32829,33859 32833,33862 32836,33864 32837,33864 32839,33866 32837,33869 32835,33872 32840,33874 37840,33879 37845,33881 37850,33881 37855,33886 37856,33891 37860,33896 37860,33893 37863,33894 38863,33896 38859,28896 38864,28899 39864,33899 39869,33896 39871,33898 39875,33902 39873,33902 39875,33907 39879,33912 39884,33908 39887,33908 39888,33905 39890,33909 39895,33911 39896,33908 39900,33912 39901,33915 39902,33915 39902,33915 39902,33910 39907,33910 39904,33914 39903,33912 39906,33916 39909,33920 39909,33922 39912,33923 39916,33928 39916,33931 39918,33932 39919,33935 39915,33936 39912,33934 39909,35934 39914,35931 39915,35935 39917,35939 39920,35939 39915,35940 39911,35944 39916,35944 39911,35944 39908,35945 39904,35945 39908,35945 39912,35950 39915,35955 39917,38955 39916,38960 39921,38962 39920,38962 39920,38967 39922,38967 39924,38970 39928,38975 39928,38973 39928,38977 39931,38980 39934,38984 39936,38982 39939,38983 39942,38985 39943,38987 39945,38992 41945,38988 41950,38989 41954,38992 41958,38992 41962,38992 41965,38993 41970,38997 41970,38997 41970,38994 41974,38994 41979,38997 41979,38999 41982,38994 41980,38998 41985,38998 41984,5334 23406,5330 23406,5325 23403,9325 23404,12325 23408,12325 23408,12322 23406,13322 23411,13325 23416,13326 23412,13322 23414,13327 23419,13328 23422,13329 23425,13333 23422,13337 23424,23491 35549,23490 35544,23494 35546,23499 35548,23495 35549,21495 35553,21490 35556,21492 35558,21492 35556,21494 35559,21494 35564,21494 35566,21499 35566,21502 35562,21502 35567,17502 35568,17506 35573,17507 35574,17511 35578,17512 35583,17513 35588,18513 35591,18514 35592,18515 35594,18513 35596,16513 35601,16513 37601,16513 37602,16511 37604,16513 37609,16514 37611,16518 37616,16522 34616,16524 34613,16528 34615,16528 34620,16533 34624,16535 34627,16538 34628,16539 34630,16539 34631,16542 34628,16542 34633,16544 34638,16547 38638,16547 38640,16543 38645,16543 38640,16540 38640,16543 38640,16542 38641,16546 38646,16541 38649,16541 38645,18541 38648,18544 38648,18544 38653,18544 38656,18549 38651,18547 38651,18550 38656,18547 38658,23547 38663,23544 38664,23548 38668,23548 38670,28548 38672,28549 38669,28549 38673,28545 38669,28549 38670,28554 38670,28557 38674,28560 38669,28562 38674,28562 38669,28561 38669,28564 38671,28569 38671,38779 44699,38780 44695,38778 44698,38783 44700,38785 44700,38781 44701,38782 44696,38786 44691,38789 44692,38794 44692,38799 44688,38799 44693,38803 44697,38808 44697,38806 44697,38806 44700,38803 44702,38803 44706,38802 44707,38807 48707,38808 48707,38806 48707,38810 48712,38810 48709,38810 48711,38810 48711,38806 48707,38802 48710,38803 48706,38805 48711,38810 48711,38805 48709,38809 48710,38809 48710,38814 48707,38815 48703,38816 48703,38816 48704,38820 48704,38822 48709,38820 48710,38818 48714,38822 48716,38822 48719,38827 48722,38828 48727,38832 48725,38830 48730,38831 48726,38832 48724,38829 48728,8431 35532,8431 35537,4431 35532,4434 35537,4438 35537,4439 35533,4443 35535,4442 35530,4445 35527,4449 35527,4453 35530,4458 35530,4459 39530,4460 39531,4461 39531,4464 39531,4468 39531,4470 39534,4465 39534,4465 39532,4469 39532,4471 39537,4466 39538,4470 39539,4473 39540,4476 39540,4480 39543,4485 39548,4483 39546,4484 39547,4484 39549,4484 39551,4486 39553,4486 39554,4487 39551,4483 39553,4486 39554,4490 39556,4493 39557,4498 39561,4494 39562,-4749 22345,-4752 22345,-4748 22348,-4744 22351,-4740 22356,-4741 22358,-4739 22361,-4734 22359,-4730 25359,-4730 25360,-4725 25360,-4727 25360,-4727 25361,-6727 25360,-6729 25365,-6730 25365,-6727 25365,-6731 25364,-6730 27364,-6727 27366,-6723 27367,-3723 27363,-3719 27368,-3720 27371,-3718 27366,-3717 27369,-3716 27369,-3714 27372,-3711 27370,-3712 27371,-3712 27370,-3710 27375,-3708 27377,-3707 27382,-3706 27385,-3706 27389,-3705 32389,-3704 32392,-3704 32392,-3699 32391,-3699 32395,-3694 32399,-3694 32400,-3695 32404,-3695 32408,-3693 32410,-3693 32410,-3697 32410,-3692 32413,-3691 32418,-3686 32420,-3683 32425,-3681 32420,-3678 32424,-3673 32424,-3676 32427,-3673 32426,-3671 32426,-3676 33426,-3678 33428,-3676 33428,-3679 33428,-3679 33433,-3677 33434,-3676 33438,-3681 33440,1319 33444,1321 33441,1325 33444,1329 33439,1326 33444,1326 33439,1327 33439,1327 33440,1332 33444,1333 33449,1338 33453,1338 33450,1343 33450,1347 33454,1346 33457,1346 33455,1342 33459,1341 33462,1346 33462,1347 33463,1343 33463,1344 33462,1348 33457,1347 33460,1352 33464,1356 33468,1361 33469,1363 33468,1365 33469,1368 33472,1369 33475,-2631 33478,-2633 33483,-2629 33486,-2632 34486,-2628 36486,-2625 36488,-2621 36488,-2624 36488,-2622 36492,-2624 36491,-2629 36491,-2627 36496,-2623 36499,-2628 36502,-2631 36506,-2626 36506,-2622 36506,-2622 36509,-2619 36514,-2624 36512,-2621 36510,-2619 36510,-2619 36508,-2617 36512,-2615 36512,-2615 36513,-2615 36511,-2615 36506,-2612 36507,-2609 36511,-2606 37511,-2606 37508,-2610 37505,-2607 37508,-2602 37512,-2599 37512,-2595 37510,-2597 37511,-2592 37515,-2597 37514,-2592 37519,-2592 37524,-2592 37526,-2594 37521,-2594 37516,-2591 36516,-2588 36517,-2589 36513,-2586 36514,-2584 36514,-2583 36516,-2579 36514,-2578 36518,-2578 35518,-2575 35519,-2577 35519,-2578 35524,-2578 35529,-2578 35532,-2578 35534,-2580 35537,-2584 35541,-2586 35542,-2587 35544,-2585 35540,-2585 35544,-2584 35543,-2580 35548,-2576 35550,-2571 35553,-2567 35555,-2565 35560,-2560 35560,-2557 35564,-2553 35564,-5553 36564,-5548 36564,-5544 36565,-5547 36565,-5545 36570,-5542 36565,-5543 36566,-5543 36568,-5543 36570,-5540 36575,-5537 36577,-5535 36581,-5532 36580,-5528 36575,-5526 38575,-5526 38576,-5526 38571,-5522 38571,-5518 38576,-5514 42576,-5510 42581,-5512 42583,-5512 42582,-5507 42582,-5510 42585,-2510 42589,-2511 42592,-2508 42594,-2506 42597,-2503 42598,-2503 42603,-2498 42608,-2501 42611,-2500 42616,-2502 42613,-2502 42616,-4502 42616,-4502 42620,-4502 42622,-4506 42619,-4509 42621,-4511 42624,-4515 42625,-4510 42625,-4507 42628,-4502 42624,-4501 42629,-4505 45629,-4503 45630,-4499 45631,-4496 45630,-4497 45628,-4495 45630,-4494 46630,-4491 46634,-4487 46629,-4483 46631,21336 40532,21341 40533,21346 40534,21346 40536,21345 40536,21346 40536,21345 40536,21344 40538,21347 40543,21348 40543,21351 40540,21351 40542,21348 40545,21351 40546,21352 40546,21353 40546,21358 40546,21359 40545,21359 40550,21357 40555,21362 40560,21364 40555,21363 40555,21364 40560,25364 40564,25365 40566,25368 40566,25371 45566,25372 45567,25372 45562,25376 45564,25381 42564,25385 42560,25389 42564,25389 42568,25393 42572,25390 42572,28390 42569,28389 42570,28385 42574,28386 42576,28389 42577,31389 42578,31385 42582,31387 42582,31390 42578,31391 42579,31392 42576,29392 42580,29396 42582,29398 43582,29402 43584,29406 43585,29407 43587,29411 43592,29413 43594,29414 43595,25414 43600,25412 43595,25415 43599,25420 43602,25418 43604,25423 43599,25426 43599,25429 43602,25434 42602,25429 42604,25432 42600,25435 42605,25436 47605,25440 50605,25441 50610,25439 50614,25444 50617,25447 50621,25444 50624,25444 50626,25445 50627,25450 50632,25450 50628,25451 50630,25451 50632,25454 50633,25458 50637,25462 50641,25463 50640,25463 51640,25467 51644,25469 51649,25473 51650,25474 51653,25475 51654,26475 51658,26475 51662,26474 51665,26476 51665,26481 51661,26483 55661,26485 55664,30485 55667,30485 55670,30489 55671,30489 55668,30491 55670,30492 55670,30493 55675,30497 55675,30501 55671,30503 55676,30500 55677,30498 55672,30494 55675,30499 55676,30500 55676,30505 55681,30501 55684,30496 55685,30500 55685,30502 55687,30506 55692,30507 55693,30506 55692,30511 55693,30516 55694,30514 55699,30514 55701,30512 55701,34512 55705,34516 55708,34520 55704,34518 56704,34519 56704,34520 56706,34517 56706,34515 56701,34519 59701,34522 59706,34522 59708,34522 59713,34526 59715,34528 59717,34533 59712,34538 59715,34538 59717,34541 59717,34546 59720,34548 59721,34552 63721,34547 63726,34549 63728,34554 63726,34556 63726,34557 63721,34556 63725,34561 63730,34558 63730,37558 63725,37561 63729,37565 63724,37569 63720,37573 63718,37578 63722,37577 63718,37579 63720,37579 63722,37580 63719,37580 63720,37579 63724,37574 63725,37574 63727,37576 63725,37581 63729,37583 63732,37586 63732,37590 63737,37592 63734,37597 63731,37600 63730,37596 63731,37596 63733,37600 63733,37601 63735,37596 63735,37591 63732,37596 63733,37601 63738,37602 63733,37599 63738,37594 63740,37598 63744,37603 63745,37605 63747,37607 63752,37607 63756,37603 63757,37603 63761,37604 63761,37608 63758,37609 63762,37604 63764,37604 63764,41604 63765,41600 63761,41599 63761,41600 63766,41596 63766,41599 63766,41601 63770,41604 63768,41608 63768,41611 63772,41614 63767,41609 63763,41612 63765,41615 63760,38615 63764,38615 63768,38618 63768,35618 63769,35618 63774,35617 63775,35618 63776,35613 63775,35615 63780,35612 63782,35613 63779,35614 63775,35618 63774,35619 63776,35624 63778,35624 63780,35629 63785,35629 63780,35626 63781,35624 63782,35629 63784,35634 63787,35638 63782,35634 63783,35634 63778,35633 63777,35638 63782,35641 63786,35644 63791,35648 63793,35647 63793,35649 63797,35653 63801,35654 63804,35654 63804,35656 63804,35655 63806,35658 63810,35658 63805,35662 63805,35657 67805,35658 67808,35660 67811,35664 67808,35660 67803,35658 67803,35661 67803,35663 67808,35666 67810,35670 67814,35669 67813,35669 67816,37669 67820,37664 67820,2275 13363,2278 16363,2274 16363,2275 16362,2279 16362,2282 16362,2287 16366,2284 16366,4284 16366,4286 16371,4290 16375,4294 18375,4295 18377,9295 18381,9296 18381,9299 18382,9303 18379,9305 19379,9308 19375,8308 19380,8312 19380,38746 37651,38749 37652,38754 37653,38757 37656,38753 37661,38753 37661,38758 37663,38763 37664,38763 42664,38768 42666,38765 42668,38770 42664,38767 42659,38768 42659,38773 42654,38771 42659,38775 42661,41775 42663,41778 42665,41781 42669,41782 42667,41779 42669,41784 42672,41781 42672,41783 42672,41780 42672,41783 42675,41784 42675,41788 42676,41792 42677,41792 42675,41793 42680,41793 42676,41796 42681,41801 42685,41804 42684,41806 42685,41804 42690,41802 42692,41805 42696,41800 42697,41802 42698,41804 42700,41809 42704,41813 42705,36813 42708,36813 42704,36810 42703,36811 42705,40811 42706,40815 46706,40816 46708,40820 46708,40818 46712,40822 46717,40825 46720,40829 46724,40827 46727,40831 46727,40833 46731,40829 46733,40830 46733,36830 46738,36830 46741,36834 46744,36831 46749,36826 46748,36822 46748,36824 46751,36819 46755,36823 46758,36823 46762,36824 46766,36822 46769,36826 46772,36831 46774,36828 42774,36833 42776,36833 42777,36838 42782)'))); +INSERT INTO t1(g) VALUES (ST_linefromtext(concat('linestring','(20 110, 21 110, 26 115, 29 112, 34 108, 39 111, 44 111, 46 116, 46 120, 42 122, 45 118, 48 118, 44 122, 46 127, 47 127, 51 127, 55 123, 52 127, 52 128, 56 130, 60 129, 61 130, 66 131, 67 131, 71 135, 76 136, 77 139, 80 143, 2080 145, 2077 147, 2079 147, 2081 147, 2086 147, 2087 151, 2092 -1849, 2088 -1848, 2088 -1852, 2091 -1848, 2095 -1846, 2092 -1847, 2092 -1848, 2093 -1847, 2094 -1846, 2099 -1843, 2104 -1844, 2102 -1848, 2102 -1848, 7102 -1847, 7105 -1846, 7106 -1843, 7111 -1838, 67 131, 69 135, 68 135, 63 136, 63 137, 64 141, 67 1141, 2067 1139, 2063 1139, 2066 1139, 5066 1139, 5068 1139, 5072 1140, 5072 1145, 5073 1142, 5076 1145, 5077 1145, 5076 1141, 5078 1141, 5073 1143, 5068 1146, 5067 2146, 5070 2151, 5075 2155, 5071 2160, 5073 2161, 5074 2166, 5076 2169, 5071 2173, 5074 2173, 5078 2177, 5076 2173, 5080 2173, 5078 2174, 78 2179, 76 2183, 77 2188, 82 2192, 85 2194, 89 2193, 86 2197, 89 2193, 88 2194, 89 2199, 89 2204, 89 1204, 87 1206, 88 1203, 89 1204, 89 1205, 93 1210, 94 1208, 96 1208, 100 1210, 104 1212, 107 1215, 104 1220, 107 1224, 111 1228, 112 1228, 116 1229, 119 1228, 120 1233, 119 1236, 124 1241, 125 1240, 122 1239, 126 1241, 123 1240, 124 1244, 128 1248, 129 1250, 128 1253, 127 5253, 125 5255, 129 5255, 133 5255, 137 5260, 140 5261, 137 5261, 141 5261, 140 5262, 143 5264, 148 5264, 148 5264, 145 10264, 149 10269, 153 10274, 158 10270, 159 10273, 164 10277, 168 12277, 170 12278, 165 12274, 170 12279, 172 12281, 172 12281, -3828 12281, -3823 12281, -3822 12282, -3823 12280, -3823 12282, -3820 12281, -3823 12279, -3827 12282, -3826 12279, -3822 12284, -3825 12284, -3824 12286, -3820 12287, -3820 12290, -3818 12292, -3816 12293, -3814 12298, -3815 12301, -3817 12304, -3814 12301, -3811 12299, -3809 12303, -3809 12301, -3804 12302, -3804 12302, -3802 12305, -3799 12310, -3801 17310, -3801 17310, -3796 17310, -3801 17314, -3799 17318, -3796 17321, -3795 17321, -795 17325, -795 17327, -794 17329, -791 17330, -790 17326, -787 17331, -782 17335, -778 17339, -774 17343, -772 17343, -769 17346, -768 17349, -763 17352, -763 17353, -761 17357, -758 17354, -758 22354, -754 22350, -750 22353, -746 22356, -750 22352, -746 22351, -744 22349, -743 27349, -741 27350, 259 27354, 262 27353, 263 27356, 268 27352, 268 22352, 271 22351, 273 22351, 274 22351, 275 22352, 275 22356, 280 22352, 281 22348, 284 22349, 284 22346, 285 22351, 285 22351, 290 22353, 294 22351, 294 22352, 295 22352, 300 22352, 305 22355, 308 22356, 311 22356, 310 22358, 312 22360, 313 22365, 313 22362, 313 22364, 313 22364, 317 22360, 322 22362, 327 22367, 328 22370, 323 22375, 320 22377, 320 22379, 316 22379, 318 22379, 323 22380, 323 22380, 324 22376, 34 108, 38 113, 42 118, 42 117, 42 121, 46 123, 51 127, 51 130, 51 133, 55 137, 52 141, 52 143, 51 141, 50 142, 45 142, 44 143, 48 146, 48 142, 43 143, 47 145, 4047 5145, 4047 5150, 4044 5151, 4045 10151, 4043 10154, 4044 10156, 4047 10156, 4043 10160, 4043 10156, 4043 10156, 4048 10157, 4051 10160, 4048 10159, 4053 10161, 4057 10163, 4057 10164, 4058 10165, 4057 10170, 4056 10173, 4056 10176, 4056 15176, 4053 15180, 4049 15181, 4051 15178, 4049 15180, 4049 15180, 4048 15181, 4048 15184, 4045 15188, 4045 15191, 4040 15194, 4042 15198, 4042 15203, 4047 15200, 4049 15201, 4052 15204, 4052 15208, 4052 15212, 4049 15216, 4049 15219, 4051 15220, 4048 15222, 4044 15227, 4044 15232, 4044 15236, 4049 15239, 4052 15240, 4052 15243, 4053 15247, 4055 15247, 4052 17247, 4054 17247, 4054 18247, 4059 18251, 4063 18253, 4066 18253, 4069 20253, 4069 20254, 4069 20259, 4068 20263, 4068 20263, 4069 20259, 4071 20260, 4073 20262, 4074 20258, 4069 20261, 4069 20264, 4071 20269, 4067 20271, 4071 20270, 4072 20271, 4073 20268, 4076 20263, 4072 20268, 4075 20264, 4076 20267, 4079 20272, 4084 20275, 4086 20277, 4086 20281, 4083 18281, 4087 18283, 4088 18280, 4089 18277, 4089 18279, 4094 18281, 4095 18283, 4095 18284, 4097 18284, 4093 18287, 4094 18285, 4096 18287, 4092 18291, 4096 18291, 140 5261, 140 5259, 140 5262, -1860 5258, -1858 5260, -1854 5262, -1849 5259, -1848 5264, -1845 5264, -1845 5267, -1845 5262, -1848 5261, -1848 5263, -1849 5261, -1853 5262, -1851 5265, -1847 5265, -1847 5262, -1847 5263, -1843 5268, -1845 5268, -1848 5272, -1850 5270, -1851 5274, -1854 5269, -1850 5266, -1845 5267, -1840 5267, -1840 5264, -1840 5269, -1839 5269, -1842 5269, -1840 5274, -1835 5278, -1836 5283, -1841 5279, -1840 5284, -1836 5285, -1836 5289, -1831 5289, -1826 5292, -1822 5293, -1826 5295, -1829 5295, -1824 5295, -1828 5297, -1824 5300, -1820 5305, -1824 5306, -1824 5306, -1824 5306, -1823 5301, -1818 5303, -1814 5307, -1814 5303, -3809 12303, -3807 12306, -3804 12306, -3804 12306, -3801 12308, -3796 12308, -3795 12308, -3791 12310, -3786 12310, -3781 12313, -3814 12298, -3809 12303, -3807 12301, 7102 -1847, 7100 -1850, 7104 -1850, 7109 -1852, 7109 -1854, 7112 -1850, 7112 -1847, 7115 -1847, 7117 -1847, 7122 -1847, 7125 -1843, 7126 -1848, 7127 -1848, 7129 -1848, 7133 -1848, 7131 1152, 7131 1149, 7135 1154, 7139 1152, 7140 1151, 7145 1153, 7149 1158, 8149 1159, 8154 3159, 8149 3161, 8145 3162, 8146 3164, 8146 3168, 11146 3171, 11148 3171, 11150 3167, 11154 3165, 11150 3163, 11151 3167, 11152 3165, 11153 3170, 11156 3175, 11156 3174, 8146 3164, 8146 3167, 8146 3170, 8147 3170, 8148 3175, 8148 3178, 8146 3178, 8146 3178, 8147 3180, 8143 3184, 3143 3186, 7143 3187, 7143 7187, 7138 7189, 7138 7189, 7135 7191, 7138 7191, 7133 7194, 7138 7198, 7139 7201, 7143 7200, 7141 7203, 12141 7204, 12145 7204, 12145 7203, 12146 7207, 12147 7204, 12143 7204, 12138 7199, 12138 7195, 12139 7195, 12139 7200, 12141 7201, 12142 7201, 12139 7205, 12142 7208, 12142 7213, 12145 7213, 12147 7214, 12149 7218, 12150 9218, 12154 9222, 12151 9222, 12151 9225, 12151 9224, 12152 9226, 12155 10226, 12155 10230, 12158 10231, 12161 10227, 12162 10224, 12163 10229, 12163 10231, 12165 10228, 12165 10227, 12160 10228, 12160 10231, 12160 10235, 12157 12235, 12159 12230, 7138 7189, 7141 7193, 7141 7193, 7141 7192, 7139 7195, 7141 7195, 7142 7193, 7145 7195, 7146 7193, 7146 7194, 7151 7197, 7154 7198, 7156 7202, 7155 7207, 7150 7211, 12150 7213, 12148 7213, 12147 7217, 12142 7221, 12141 7223, 12143 7223, 12140 7222, 12145 7222, 13145 7224, 13142 7228, 13144 7232, 13139 7235, 13144 7239, 13148 7243, 13151 7247, 13150 7251, 13152 7252, 13157 7253, 13157 7257, 13157 7257, 13157 7262, 13159 7264, 13164 7259, 13161 7259, 13165 7262, 13166 7262, 13166 7267, 13169 7268, 13169 8268, 13167 8269, 13171 8269, 13173 13269, 13177 13265, 13178 13263, 13178 13263, 13182 13266, 13183 13266, 13185 13266, 13190 13269, 13193 13271, 13193 13269, 13196 13271, 13193 13273, 13194 13268, 13198 13273, 13200 13276, 13202 13276, 13204 13274, 13209 11274, 13213 11274, 13213 11277, 13215 11278, 13219 11279, 13224 11280, 13224 11276, 13228 11278, 13233 11281, 13235 11286, 13238 11288, 13240 11288, 13238 11290, 13238 11292, 13238 11287, 13238 11288, 13240 11293, 13243 11296, 13246 11296, 13247 11293, 13243 11298, 13246 11302, 13251 11305, 322 22362, 326 24362, 330 24362, 329 24367, 328 24363, 329 24365, 331 24369, 336 24371, -664 24371, -668 24372, 51 127, 48 131, 48 133, 51 135, 51 140, 49 139, 47 142, 3047 139, 3044 142, 3046 143, 3046 148, 3051 148, 3055 146, 3057 141, 3060 140, 3055 143, 3050 146, 7050 142, 7050 3142, 7050 3143, 7050 3144, 7052 3149, 7055 1149, 7052 1150, 7055 5150, 7050 5154, 7049 5150, 10049 5151, 10045 5151, 10049 5151, 10052 5156, 10054 5159, 10056 5160, 10058 5161, 10058 5163, 10060 5166, 10064 5168, 10064 5173, 10068 9173, 10070 9172, 10065 9168, 10065 9173, 10063 9175, 14063 9176, 14063 9178, 284 22346, 289 22351, 290 22351, 290 22347, 287 22343, 282 22342, 280 22345, 281 25345, 286 25347, 13243 11298, 13248 11300, 13245 11300, 13246 11295, 13247 11295, 13246 11295, 13248 11299, 13253 11304, 13255 11309, 13255 11310, 13260 11309, 13257 11310, 13258 11313, 13258 11315, 13263 11311, 13267 11307, 13269 11309, 13272 11305, 13277 11302, 13273 11304, 15273 11306, 15278 11310, 15281 11307, 15286 11309, 15288 11309, 15291 11311, 15292 11306, 15294 11309, 15298 11313, 15299 11317, 15300 11320, 15302 11321, 15306 11324, 15308 11328, 15308 11324, 15309 11324, 15314 11324, 15315 11323, 15319 11321, 15317 11325, 15319 11327, 15319 11332, 15321 11337, 15324 11340, 15324 11341, 15324 11341, 15326 11345, 15326 11349, 15327 14349, 15330 13349, 17330 13350, 17335 13353, 17339 13358, 17340 13362, 17344 13362, 17348 13357, 17350 13357, 17347 13357, 17350 13358, 17349 13358, 17349 13358, 17349 13359, 22349 13362, 22351 13359, 22353 13359, 22358 13358, 22360 13358, 22363 13359, 22364 13359, 22360 13359, 22361 13363, 22366 13368, 22371 13373, 22374 13377, 22378 13375, 22379 13375, 22379 13373, 22383 13378, 22388 13383, 22389 13380, 22389 13384, 22394 13382, 22392 13378, 22394 13382, 22393 13382, 22393 13379, 22394 13382, 22392 13384, 22395 13386, 22400 13391, 22400 10391, 22404 10395, 22401 10396, 22402 10396, 22402 10398, 22406 10395, 22405 15395, 22407 15396, 22409 15396, 22414 15391, 22414 15394, 22414 15398, 22410 15400, 26410 15402, 26409 20402, 26413 20406, 26417 20410, 26419 20415, 26422 20411, 26424 20411, 31424 16411, 31423 16409, 31423 16414, 31425 16414, 31428 16418, 31428 16414, 31432 16419, 31432 16422, 31437 16423, 31439 16424, 31440 16426, 31440 16429, 31440 16429, 31443 16431, 31441 16435, 31443 16440, 36443 16440, 36445 18440, 36444 18441, 36442 18444, 36442 18440, 36442 18444, 36444 18449, 36445 18450, 36449 18455, 37449 23455, 37454 23460, 37458 23459, 37460 23463, 37458 23465, 37460 23467, 37462 23470, 37466 23473, 37462 23478, 37464 23480, 37463 26480, 37468 26483, 37472 26487, 37473 26492, 37476 26493, 37476 26489, 37476 26487, 37476 26492, 37472 26496, 37476 26501, 37476 26503, 37480 26499, 37485 26503, 37485 26505, 37490 26500, 37493 26503, 37497 26499, 37502 26500, 37502 26501, 37502 26505, 37499 26503, 37499 26503, 37497 26508, 37500 26508, 37496 26513, 37499 26518, 37497 26519, 37500 26518, 37505 26518, 37510 26516, 37512 26520, 37513 26523, 37511 26527, 37508 26532, 37509 26536, 37514 26540, 37515 26542, 37512 26546, 37514 26548, 37519 26547, 37524 26550, 37529 26555, 37527 26559, 37531 26562, 37526 26567, 37526 26566, 37529 26566, 37524 26566, 37524 26563, 37528 26565, 37524 26563, 37525 26565, 37525 26560, 37526 26562, 40526 26564, 40526 26567, 40523 26571, 40527 26570, 40529 26572, 40534 26576, 40536 26573, 40535 26569, 40533 26569, 40537 26573, 40537 26574, 40541 26576, 40546 26579, 40545 26579, 40546 26583, 40550 26588, 40551 26585, 40555 26589, 40558 26594, 40554 22594, 40559 22598, 40558 22599, 40563 22596, 40563 22597, 40567 22597, 40570 22597, 40575 22592, 40572 22594, 40572 22595, 40572 22592, 40575 22594, 40575 22597, 40570 22597, 40569 22601, 40569 22603, 40573 22603, 40576 22604, 40576 22608, 42576 22611, 42579 22611, 42579 22616, 42581 22620, 38581 22623, 38582 22621, 38582 22618, 38577 22623, 38581 22623, 38581 18623, 38584 18618, 38584 18621, 38588 18626, 38592 18629, 38592 18626, 38596 18625, 38598 18620, 38599 18618, 38599 18622, 38602 21622, 38603 21622, 38607 21624, 38609 25624, 38613 25624, 38610 25621, 38610 25625, 38610 25629, 38613 25627, 38617 25627, 38617 25624, 38618 25626, 38621 25628, 38622 25629, 38622 26629, 38625 26631, 38625 26631, 313 22362, 313 22363, -1687 22364, 2313 27364, 2314 27364, 2314 27364, 2319 27366, 2319 27366, 2321 27363, 2321 27368, 2320 27363, 2323 27368, 2328 27371, 2327 27375, 2328 27377, 2328 27377, 2327 27381, 2331 27381, 2329 27381, 2332 27383, 2335 27383, 2333 27383, 2333 27385, 2338 27385, 6338 27386, 6338 27387, 40529 26572, 40533 26576, 40535 26578, 40540 26580, 40535 26584, 40540 26589, 40541 26592, 40538 26587, 40542 26591, 40541 26592, 40537 26597, 40542 26598, 40546 26601, 40550 26606, 40550 26605, 40551 26606, 40549 26606, 40550 26607, 40555 26610, 40550 26610, 40550 26607, 40553 26612, 40558 26616, 40561 26620, 40556 26623, 40558 26623, 40558 26627, 42558 26627, 42558 26628, 42562 26628, 42564 26630, 42565 26634, 42566 26634, 42566 26638, 42561 26639, 42564 26639, 42567 26641, 42564 26642, 42566 26646, 42566 26645, 42570 26645, 42574 26645, 42574 29645, 42576 29646, 39576 29645, 39576 34645, 39578 34647, 39583 34642, 39580 34642, 39576 34646, 39576 34649, 39574 35649, 34574 35652, 34579 35655, 39579 35659, 43579 35663, 43582 35659, 43577 35662, 43580 35662, 43583 35666, 43579 39666, 43574 39662, 43574 39665, 43574 39668, 43574 39670, 43578 39674, 43579 39671, 43582 39675, 43578 39677, 43575 39677, 43576 39681, 43571 39683, 43569 39683, 43570 39687, 43565 39690, 43568 39694, 43568 39696, 43570 39698, 43570 39699, 41570 39695, 41572 39696, 41573 39696, 41573 39697, 41573 39702, 41573 39702, 41576 39702, 41571 39702, 41572 39703, 41572 39708, 41574 39713, 41575 39716, 41580 39717, 41581 39721, 41586 39723, 41587 39724, -1848 5272, -1843 5272, -1845 5270, -1840 5272, -1838 5267, -1843 5268, -1841 5268, -1837 8268, -1837 8271, -1837 8276, -1836 8280, -1832 8277, -1832 8277, -1831 8278, -1835 8283, -1834 8287, -1832 8290, -1834 8286, -1832 8283, -1833 8283, -1832 8284, -1834 8287, -1839 8292, -1844 8293, -1841 8290, -1836 8290, -1839 8289, -1836 8289, -1832 8292, -1827 8295, -1823 8290, -1823 8293, -1823 8291, -1822 8295, -1820 8298, -1819 8302, -1816 8304, -1816 8300, -1812 8300, -1809 8299, -1806 8296, 1194 8300, 1194 8301, 1197 11301, 1194 11305, 1197 11309, 1199 11304, 1195 11304, 1195 11300, 1195 11297, 1196 11298, 1201 11296, 1206 11296, 1207 11298, 1212 11296, 1210 11292, 1206 11294, 1207 11293, 1209 8293, 1204 8288, 1206 8286, 1206 8285, 1208 8285, 1210 8285, 1214 8287, 1214 13287, 1215 13291, 1215 13294, 1218 13297, 1216 13293, 1219 13290, 1214 13295, 1210 13292, 1210 13296, 1211 13301, 1210 13300, 1206 13302, 1207 13307, 1211 13312, 1206 13312, 1211 13308, 1212 13308, 1216 13313, 1216 13318, 1217 13318, 1221 13318, 1221 13323, 1226 13324, 1231 13325, 1234 13329, 1235 13333, 1233 13333, 1236 13338, -2764 13340, -2767 13341, -2763 13344, -2760 13349, -2758 13346, 2242 13346, 2240 13346, 2244 13346, 2248 13349, 2248 13350, 2246 13352, 2241 13352, 2242 13355, 2242 13356, 2247 13361, 2250 13361, 2245 13366, 2249 13366, 2250 13366, 2254 13367, 2258 13367, 2258 13367, 2262 13371, 2257 13376, 2253 13373, 2253 13373, 2254 13376, 2251 13380, 2256 13382, 2257 13386, 2261 13383, 2264 13383, 2269 13385, 2264 13385, 2264 13387, 2267 13387, 2271 13389, 2272 13390, 2273 13393, 2269 13395, 2273 13390, 2277 13395, 2275 13396, 2277 13391, 2279 13394, 2276 13394, 2277 13398, 2282 13399, 2282 11399, 2283 14399, 2281 14404, 2279 14407, 2275 14410, 2276 16410, 2276 16414, 2281 16414, 2286 16415, 2282 16413, 2282 16413, 2284 16413, 2284 16415, 2284 16416, 2282 16417, 3282 16422, 3286 16422, 3287 16427, 3291 16427, 3294 16431, 3296 16433, 3298 16435, 3299 16440, 3300 16439, 3305 16439, 3307 16438, 3307 16440, 3307 16440, 3311 16441, 3311 16442, 3310 16443, 3310 16443, 3308 16448, 3304 16445, -1696 16441, -1701 16442, -1697 16442, -1695 16442, -1696 16443, -1693 16440, -1688 16445, -1685 16450, -1681 16454, -1680 16455, -1682 16457, -1680 16461, -1680 16461, -1684 16464, -1679 16463, -1678 16460, -1675 16464, -1679 16465, -1677 16468, -1672 16469, -1671 16473, -1667 16475, -1667 16480, -1663 16478, -1663 16482, -1662 16482, -1662 16483, -1659 16478, -1654 16475, -1653 11475, -1658 11477, -1661 11479, -1664 11484, 3336 15484, 3340 15480, 3344 15475, 3347 15475, 3347 15474, 3352 15473, 3349 15478, 3353 15480, 3354 15477, 3355 15480, 3352 15481, 3352 15483, 3353 15486, 3354 15488, 3353 15491, 3355 15491, 3360 15491, 3355 15490, 1219 13290, 1224 13295, 1224 13295, 1227 13290, 1231 13290, 1233 13285, 1237 13284, 1238 13285, 1243 13286, 1247 13289, 1249 13289, 1249 13291, 1252 13291, 1249 13294, 1249 13299, 1249 13302, 1254 13305, 1251 13308, 1254 13308, 3254 13308, 3249 13308, 3251 13312, 3256 13312, 3259 13312, 3263 17312, 3263 17313, 3263 17310, 3261 17309, 3264 17314, 3265 17312, 3264 17315, 3261 17318, 3261 17318, 3259 17313, 3256 17313, 3255 17313, 3257 17314, 3255 17316, 3257 17316, 3257 17316, 3258 17311, 3259 17311, 3258 17315, 3258 17317, 3257 17321, 3253 17321, 3250 17325, 3255 17329, 3258 17330, 3260 17328, 3260 17331, 3265 17326, 7265 17329, 7267 17332, 7265 17334, 7267 17337, 7272 17337, 7275 17337, 7280 17340, 4280 21340, 4280 21344, 4281 21344, 4283 21344, 4288 24344, 4292 24347, 9292 24351, 9296 24353, 9298 24351, 9300 25351, 9303 25352, 9303 25352, 9306 25357, 9305 25361, 9305 25356, 11305 25359, 11306 25362, 11309 25362, 11314 25362, 11314 25365, 11312 25369, 11315 25369, 11316 25373, 11321 25375, 11323 25375, 11327 25370, 11331 25369, 11332 25370, 11331 25374, 11332 25369, 11336 25371, 11340 25370, 11345 25367, 11350 25363, 11347 25360, 11350 25361, 11351 25362, 11351 25362, 11354 25364, 11358 30364, 11362 30369, 11362 30369, 11364 30369, 11369 30371, 11370 30373, 15370 30374, 15375 30375, 15378 30377, 14378 30382, 14379 30387, 14383 30382, 14388 30384, 14390 30386, 14393 30389, 14395 31389, 16395 31393, 16398 31398, 16398 31401, 16394 31404, 16397 31409, 16400 31413, 16400 31417, 16399 31419, 16398 31421, 16403 31422, 16403 31426, 16404 31423, 16409 31424, 16413 31423, 16408 31427, 18408 31431, 18413 31436, 18417 28436, 18419 28441, 18420 28445, 18416 28442, 18419 28439, 18418 28443, 18422 28446, 18425 28451, 18429 28448, 21429 28449, 21430 28454, 22430 28459, 22434 28461, 22438 28462, 22443 28462, 22447 28467, 22450 28472, 22453 28469, 22458 28472, 22455 28472, 22460 28475, 22465 28477, 22462 28479, 22461 28476, 22465 28480, 22466 28476, 22470 28472, 22470 28475, 25470 28470, 25473 28472, 25475 28468, 25475 28468, 25477 29468, 25478 29470, 25481 29465, 25478 29466, 25478 29468, 25480 29468, 25485 29465, 25486 29464, 25488 29462, 25488 29466, 25492 29464, 25497 26464, 25500 26467, 25497 26472, 25497 26476, 25497 26476, 25501 26478, 25506 26480, 25506 26482, 25511 26480, 25515 26483, 25516 26485, 25521 26481, 25521 26484, 25520 26485, 25521 26488, 25526 26487, 25529 26488, 25524 26488, 25528 26491, 25530 26496, 25535 26500, 25537 26502, 25537 26502, 25541 26507, 25544 26508, 25545 26509, 25549 26514, 25554 26514, 25553 26512, 25552 26516, 25555 26514, 25559 26514, 25556 26515, 25554 26512, 25558 26509, 25558 26510, 25562 26510, 25562 26511, 25562 26510, 25567 26505, 25569 26508, 25571 26508, 25570 26512, 25573 26512, 25573 26515, 25578 26515, 25583 26520, 25583 26523, 25584 26525, 25587 26526, 25590 26531, 25590 26530, 25586 26534, 25589 26538, 25591 26533, 25595 26537, 25600 26542, 25601 26544, 25601 26544, 25601 26544, 25606 26547, 25605 26547, 25605 26542, 25608 26542, 25611 26544, 25613 26546, 25614 26551, 25614 26551, 25614 26552, 25619 25552, 25614 25552, 25615 25551, 25618 25549, 25618 25553, 25620 25555, 25622 25559, 25622 25555, 25624 25554, 25627 25555, 25624 25559, 25621 25561, 25619 25560, 25624 28560, 25627 28555, 25632 28550, 25636 28552, 25641 28557, 25645 28557, 25640 25557, 25636 25557, 25636 25561, 25641 25561, 25645 25562, 25646 25557, 25648 25560, 25649 25564, 25652 25566, 25652 30566, 25652 30566, 25652 30568, 25652 30570, 25654 30574, 25658 30575, 25663 31575, 25664 31579, 25665 31583, 25664 31583, 25667 31585, 25668 31588, 25673 31586, 25676 31585, 25676 31588, 25678 31588, 25675 31591, 25680 31590, 25681 31585, 30681 31588, 30677 31593, 30682 31594, 35682 31594, 35677 31593, 35679 31595, 35682 31594, 35683 31591, 35686 31592, 35687 31593, 35691 31596, 35691 31597, 35694 31601, 35698 31601, 35702 34601, 35701 34603, 35705 34608, 35705 34610, 35704 34605, 35707 34607, 35707 34610, 35710 34607, 35715 34608, 35719 34607, 35721 34612, 35717 34612, 35713 34612, 35715 34613, 35716 34609, 35716 34614, 35716 34618, 35720 34620, 35721 34621, 35724 34622, 35724 34625, 35727 34629, 35727 34630, 35727 34633, 35727 34635, 35727 34639, 35732 34640, 35729 34642, 35733 34644, 35737 34646, 35741 34649, 35743 34649, 35744 34653, 35740 34653, 35740 34649, 35743 34651, 38743 34654, 38743 37654, 38744 37650, 38748 37655, 38751 37656, 38755 37657, 38755 37661, 38759 37660, 38758 37664, 38763 37664, 38767 37664, 38762 37664, 38761 37664, 38762 41664, 38762 41664, 38764 41669, 38759 41671, 43759 41673, 43754 41678, 43754 41681, 43759 41676, 43760 41681, 45760 41684, 45760 41683, 45764 41687, 45767 41687, 45771 41687, 45772 41688, 45770 46688, 45775 46692, 45778 46696, 45776 46698, 45777 46701, 45780 46699, 45778 46702, 45776 46706, 45781 46706, 45786 46708, 45789 46710, 45793 46715, 45788 46711, 45792 46715, 45795 46719, 45798 46723, 45801 46728, 45799 46732, 45804 46730, 45799 46733, 45803 46737, 45804 46737, 45805 46736, 45806 46736, 45807 46736, 45810 46739, 45812 46744, 45812 46748, 2328 27377, 2324 27381, 2325 27383, 2327 27387, 2327 27386, 2324 27386, 2325 27386, 5325 23386, 5327 23389, 5331 23390, 5332 23394, 5337 23396, 5332 23396, 5332 23399, 5331 23399, 5335 23403, 5335 23406, 5340 23409, 5341 23409, 5336 23410, 5331 23405, 5334 23407, 5332 23411, 5335 23413, 5330 20413, 5326 20415, 5326 20418, 5331 20420, 5330 20425, 5327 20425, 5331 20428, 5332 20428, 5337 21428, 5333 21431, 5335 21435, 5336 21437, 5331 21438, 5332 21441, 5335 21444, 5340 21441, 5340 21444, 5336 21445, 5335 21442, 5331 26442, 5334 26439, 5337 26443, 5339 26444, 5340 26448, 5344 26443, 5344 26446, 5347 26444, 5351 26442, 5354 26446, 5351 26449, 5350 30449, 5352 30451, 5352 30448, 5356 30448, 5361 30447, 5365 30449, 5369 30450, 5369 30452, 5369 30457, 5373 30459, 5373 30457, 5375 30462, 5377 30465, 5382 30467, 5386 30467, 5385 30463, 5386 30463, 5385 30463, 5387 30464, 5392 30463, 5394 30468, 5396 30468, 5391 30469, 5395 30473, 5393 30473, 5393 30473, 5397 30478, 5398 30474, 5401 30474, 5403 30471, 5403 30472, 5406 30474, 5402 30469, 5403 30466, 5405 30471, 5406 30471, 5411 30473, 5414 30477, 5414 30481, 5409 30485, 8409 30490, 8410 30493, 8412 30494, 8412 30493, 8415 30494, 8416 30497, 8416 30500, 8421 30505, 8422 30506, 8417 30511, 13417 30513, 13413 30510, 13416 30511, 13414 30515, 13414 30519, 13419 30522, 13421 30527, 13420 30531, 13424 30533, 13420 30535, 13415 35535, 13411 35535, 13415 35536, 13419 35541, 13421 35537, 13425 35533, 13426 35533, 13425 35528, 13430 35529, 13435 35530, 13440 35534, 13445 35535, 13450 35535, 13454 35536, 13457 35540, 13459 35540, 13454 35540, 13457 35543, 13454 35539, 13459 35544, 13459 35548, 18459 35550, 18462 35551, 22462 35550, 22467 35554, 22468 35558, 22470 35556, 22475 35559, 22473 35563, 22472 35568, 22474 35568, 22472 35573, 22476 35573, 22476 35575, 22479 35577, 22484 35580, 22489 35584, 22490 35587, 22491 35589, 22495 35589, 22498 35589, 25498 35590, 25495 35586, 25496 35589, 25500 35589, 25498 35589, 25500 35591, 25505 35595, 25505 35597, 25501 35594, 25501 35595, 25497 35595, 26497 35599, 29497 35595, 29497 35597, 29500 35601, 29500 35605, 29502 35610, 29503 30610, 29504 30607, 29507 30607, 29512 30610, 29513 30610, 29516 30611, 29518 30614, 29520 30612, 3261 17309, 3265 17308, 3269 17307, 3273 17312, 3271 17316, 3271 17317, 3276 17319, 3279 17319, 3284 17315, 3287 17317, 3285 17313, 3280 17314, 3277 17319, 3277 17321, 3278 17326, 3282 17328, 3282 17328, 3278 17329, 3279 17329, 3278 17332, 3280 17328, 3275 17333, 3279 17335, 3282 17330, 3283 17332, 3278 17328, 3279 17328, 3279 17326, 3279 17325, 3279 17325, 3283 17327, 3284 17331, 3284 17336, 3289 17339, 3290 17339, 3290 17342, 3292 17341, 3296 17344, 3296 17345, 3301 17345, 3301 12345, 3301 12346, 3306 12343, 3303 14343, 3307 14344, 3309 14345, 3313 14347, 3315 14347, 3316 16347, 3312 16345, 3312 16350, 3314 16352, 3313 16353, 4313 16350, 4318 16352, 4323 16348, 4326 16352, 4324 16353, 4325 16350, 4325 16350, 4328 16354, 4324 16358, 4325 16360, 4327 16365, 4327 16362, 4324 16366, 4327 20366, 4327 20370, 4324 20371, 4328 20376, 4328 20378, 4333 20377, 4335 20377, 4340 20380, 4341 20383, 4343 20386, 4340 20388, 4341 20390, 4342 20387, 4342 20387, 4337 20392, 4338 20394, 4343 20394, 4348 20395, 4350 20395, 4351 20397, 37499 26503, 37496 26500, 37498 26504, 37498 26505, 37501 26510, 37499 26506, 37500 26506, 37502 29506, 37502 29511, 37507 29512, 37508 33512, 37510 33517, 37515 33522, 37519 33526, 37518 33524, 37523 33525, 37523 33529, 37518 33534, 37521 33532, 37522 33532, 37526 33534, 37529 33534, 37527 33531, 37530 33534, 37535 33537, 37536 38537, 37538 38540, 22360 13359, 25360 13364, 25363 13362, 25364 13366, 25364 13366, 25367 13369, 25365 13371, 25361 13373, 25359 13378, 25362 13378, 2249 13366, 2254 13370, 2256 13367, 2259 13367, 2263 13362, 2266 13358, 2266 13360, 2271 13365, 2274 13367, 2276 13367, 2277 13367, 2275 13366, 2276 13369, 2280 13369, 2282 13374, 2286 13370, 2286 13369, 2291 13372, 2292 13370, 2295 13372, 2300 13377, 2300 13376, 2297 13379, 273 22351, 275 22354, 4275 22351, 4271 22352, 4272 22354, 4273 22359, 4274 22364, 4278 22367, 4283 22369, 4286 24369, 4281 24369, 4284 24369, 4287 24369, 4289 24368, 4291 24366, 4296 24364, 4297 24366, 4300 24369, 4303 24373, 1303 24374, 1303 24375, 1307 24379, 1307 24380, 1309 24381, 1314 24384, 1316 24386, 1320 24384, 1318 24386, 1318 24391, 1320 24391, 1320 29391, 1323 29391, 1318 29387, 1322 29390, 1323 29393, 1328 29393, 1329 29393, 2329 29398, 2329 29398, 2334 29397, -664 24371, -661 24372, -659 24372, -654 24375, -651 24376, -647 24376, -645 24378, -641 24374, -636 24379, -633 24384, -636 24386, -636 24388, -636 24388, -634 24392, -635 24394, -630 24390, -628 24390, -627 24390, 373 24393, 378 24398, 376 24396, 379 24401, 3379 24404, 6379 24409, 6380 24412, 6375 24410, 6372 24410, 6377 24407, 6372 24407, 6377 24407, 6381 24410, 6376 24413, 6380 24415, 6382 24416, 6380 24419, 6380 24423, 6385 24427, 6387 24429, 6389 24432, 6392 24437, 6388 24434, 6388 24439, 6389 24440, 6390 24444, 6389 24448, 6385 29448, 6385 29451, 6388 29455, 6384 29450, 6389 29451, 6392 29456, 6395 29456, 6399 29459, 6402 29463, 6402 29467, 6399 29471, 6395 29471, 6397 29474, 6399 29477, 6401 29472, 6396 29471, 6399 29474, 6398 29477, 6398 29474, 6395 29469, 6391 29473, 6392 29474, 6391 29469, 6391 29472, 6394 29474, 6390 33474, 6392 33470, 6393 33470, 6394 33471, 6396 33471, 324 22376, 324 22378, 325 22381, 329 22382, 333 22386, 332 22387, 334 22390, 335 22387, 333 22387, 332 22391, 334 22395, 334 22400, 339 22401, 341 22398, 342 22403, 342 22402, 342 22400, 345 22400, 345 22400, 343 22404, 344 22408, 345 22406, 350 22407, 347 22411, 349 22415, 344 22415, 347 22417, 342 22421, 347 22421, 350 22426, 350 22430, 353 22431, 354 22436, 354 22440, 4354 22442, 4355 22446, 4356 22448, 4356 22451, 4359 22453, 4362 22454, 4366 22454, 4369 22455, 4371 22457, 4368 22459, 4371 22457, 4375 22462, 4379 22463, 4382 22463, 4382 22468, 4387 22471, 4387 22471, 4392 22473, 4387 22473, 4387 22476, 25573 26512, 25576 26511, 25580 26516, 25583 26516, 25583 26516, 25585 26512, 25585 26517, 25589 26520, 25591 26519, 25592 26519, 25593 26521, 25591 26524, 25589 26526, 23589 26530, 23587 26535, 23591 26538, 23594 26542, 24594 26547, 24590 26549, 24595 26551, 24600 26547, 24600 26552, 24604 26549, 24600 26544, 24602 26549, 24602 26552, 24602 31552, 24607 31553, 24610 31555, 24615 31556, 24617 36556, 24618 36561, 24621 36561, 24624 36564, 24624 36568, 24629 35568, 24629 35573, 24634 35573, 25634 35574, 25637 35573, 25638 35577, 25638 35577, 25640 35580, 25643 35584, 25643 35587, 25643 35592, 25644 40592, 20644 40597, 20647 40597, 20652 40599, 20653 40595, 20653 40598, 20650 40595, 20650 40595, 20654 40600, 20654 40600, 20658 40601, 20658 40604, 20658 40605, 20661 40602, 20664 40601, 20664 40601, 20665 40604, 20670 40605, 20667 40610, 1217 13318, 1216 13323, 1214 13321, 1211 13316, 1212 13316, 1213 13321, 6213 13324, 6216 13324, 6218 13324, 6213 13327, 6216 13322, 6216 13327, 6216 13328, 6218 13323, 6221 13327, 6220 13325, 6221 13325, 6220 13330, 6223 13333, 6227 13335, 6232 13339, 6233 13343, 6233 13347, 6237 13342, 6236 13346, 6236 13348, 6238 13349, 25526 26487, 25523 26488, 25526 26493, 25529 26491, 25531 26488, 25532 26486, 25536 27486, 25541 27490, 25539 27492, 25543 27487, 25546 27490, 25549 27494, 25552 27495, 25552 27495, 25556 27490, 25561 27490, 25565 27493, 25563 27493, 25565 27497, 25563 27495, 25565 27497, 25565 27499, 25566 27501, 25565 27501, 25565 27501, 25560 27502, 25565 27503, 25567 27507, 25569 27507, 25571 27507, 25569 27508, 25567 27509, 25567 27509, 25567 27509, 25568 27509, 25572 27505, 25572 27501, 25576 27502, 25572 32502, 25572 32505, 25575 32505, 25578 32501, 25578 32502, 25579 32505, 25581 32507, 25585 32508, 25590 32511, 25594 32516, 25598 32511, 25601 32511, 25596 32507, 25599 32510, 25599 32514, 25596 32513, 25596 32514, 25598 32517, 25594 32517, 25596 32519, 25596 32524, 25600 32524, 25604 32521, 25605 32522, 27605 32524, 27609 32527, 27610 31527, 27615 31531, 27617 31531, 30617 31534, 30619 31534, 30620 31536, 30621 31540, 30625 31541, 30625 31542, 30627 31542, 30628 31545, 30629 31545, 30626 31544, 30625 31544, 30626 31549, 34626 31550, 34621 31547, 34625 31549, 34626 31553, 34626 31552, 34628 31554, 34628 31559, 34628 31555, 34630 31559, 34635 31559, 34638 31563, 34636 31568, 34638 31568, 34641 31566, 34641 31564, 36641 31559, 36638 27559, 41638 27561, 41642 27558, 41646 27562, 41649 27563, 41650 27559, 41655 27559, 41660 27559, 41660 27556, 41660 27556, 41662 27554, 41658 27558, 41663 27562, 41666 27565, 41669 27570, 41664 27566, 41665 27567, 41665 27569, 41664 27573, 41663 27573, 41666 27575, 41666 27571, 41661 30571, 41662 30569, 41662 30565, 41667 30570, 41666 30565, 41666 30565, 41666 30566, 41666 30567, 41662 30562, 1314 24384, 4314 25384, 4317 25388, 4317 25389, 4321 25387, 4324 25392, 6324 25391, 6324 25391, 6328 25396, 6323 25401, 6326 25401, 6326 25405, 6321 25408, 9321 25409, 9316 25404, 9314 25406, 9312 25407, 9315 25407, 9315 25407, 9318 25404, 9321 25405, 4321 25400, 8321 25402, 8317 25404, 8317 25400, 8317 25401, 8313 25402, 8309 25398, 8311 25398, 8313 25401, 8317 25406, 8312 25407, 11312 25369, 11313 25369, 11318 25374, 11322 25379, 11327 25379, 11327 25384, 11327 25386, 11328 25382, 14328 25384, 14330 25386, 14333 25387, 14336 25389, 14338 25390, 19338 25390, 19338 25393, 19334 25394, 19334 25395, 19337 25392, 19340 25395, 19344 25397, 19342 25397, 19347 25400, 19347 25398, 19349 25398, 19351 25397, 19353 25401, 19352 25402, 19350 25403, 19351 25407, 19354 25403, 19352 25406, 19356 25404, 19355 25409, 23355 25406, 23356 25406, 23358 25409, 23360 25413, 23362 25417, 23365 25418, 23369 25416, 23367 25415, 23369 25418, 23365 25417, 23369 25420, 23369 25420, 23372 25422, 24372 25418, 24372 25423, 24375 27423, 24380 27423, 24382 27420, 24382 27416, 24382 27414, 24382 27410, 24378 27410, 24376 27414, 24372 27418, 24372 27419, 24373 27424, 24377 27419, 24380 27415, 24377 27419, 24380 27422, 24384 27425, 24385 27430, 24385 27429, 24387 27434, 24392 27435, 24396 27436, 24397 27440, 24401 30440, 24402 30443, 24406 30447, 24405 30443, 24408 30442, 24412 30446, 24408 30450, 24410 30449, 24405 30449, 24410 30446, 24414 30450, 24418 30450, 24418 30453, 19418 30453, 19418 30451, 19420 30456, 19422 30457, 19425 30462, 15425 30466, 15425 30468, 15427 30470, 16427 30471, 16426 30475, 16423 30478, 16428 30478, 16430 30480, 16430 30480, 16426 30478, 16426 33478, 16427 33478, 16429 33481, 16427 33483, 16428 33481, 16424 33484, 16427 33486, 16432 33483, 16432 33482, 16431 33486, 16426 33486, 16429 33488, 16432 33492, 16433 33492, 16436 33492, 16437 33495, 16434 33491, 16438 37491, 16436 37494, 16440 37489, 16445 37486, 16448 37484, 16449 37484, 16449 37486, 16453 37482, 16456 37483, 16460 37483, 16456 37483, 16456 37486, 16461 37490, 16462 37495, 16465 37499, 16466 37496, 16467 37497, 16468 37498, 16470 37501, 16470 37505, 16470 37505, 16475 37507, 16475 37507, 16475 37502, 16478 37498, 21478 33498, 21475 33497, 21478 33493, 21480 33495, 21480 33500, 21480 33496, 21482 33500, 21485 33505, 21486 33508, 21485 33504, 21486 33509, 21486 33509, 21490 35509, 21493 35509, 21496 35510, 21498 35514, 21494 35510, 21494 35513, 21491 35518, 21492 35521, 21489 35523, 23489 35527, 23487 35532, 23489 35537, 23485 35538, 23489 35539, 23490 35541, 23495 35543, 23497 35546, 23497 35550, 23497 35554, 23493 35553, 23490 35556, 23494 35559, 23497 35564, 23502 35563, 23498 35561, 4324 16358, 4319 16362, 4320 16362, 4322 16367, 4317 16367, 4317 16366, 4318 20366, 4322 20369, 4325 20367, 4328 20370, 4331 20371, 4334 20374, 4339 20378, 4340 20379, 4335 20379, 4340 20379, 4343 20381, 4344 20381, 4344 20382, 4345 20385, 4348 20390, 4348 20390, 4348 20390, 4348 20390, 4351 20394, 4354 20399, 4356 20400, 4357 20404, 4360 20404, 4362 20405, 4362 20408, 4365 20409, 4370 20410, 4374 20415, 4373 20420, 4369 20421, 4366 20426, 4369 20424, 4374 20429, 4375 20426, 4376 20422, 4379 20422, 4383 20426, 4384 20427, 4386 20422, 4391 20425, 4387 20427, 4392 20427, 4392 20429, 4394 20433, 4398 20438, 41576 39702, 41580 39706, 41578 39708, 45578 39708, 45577 39713, 45579 39717, 45583 39719, 45583 39722, 45585 39725, 45580 39730, 47580 39726, 47583 39723, 47588 39726, 47588 39730, 47591 39734, 47594 39737, 47599 39737, 47595 39737, 47598 39739, 47599 39739, 47597 39739, 47593 39743, 47595 39748, 47595 39751, 4076 20267, 4079 20272, 4081 20272, 4080 20275, 4080 22275, 4085 22280, 4089 22276, 4090 22279, 4088 22283, 4084 22284, 4086 22286, 4088 22281, 4084 22281, 4089 22285, 4092 22285, 4094 22285, 4094 22290, 4096 22291, 4099 22294, 4099 22295, 4097 22290, 4097 22292, 4097 22297, 4097 22292, 4094 22289, 4091 22290, 4092 22290, 4097 22285, 4102 22290, 4105 22289, 4106 22292, 4106 22293, 4109 22298, 4114 22296, 4119 22294, 4122 22299, 122 22304, 123 22307, 124 22304, 124 22304, 123 26304, 127 26307, 131 26307, 129 26309, 129 26310, 134 26310, 134 26311, 138 26311, 143 26313, 142 26315, 145 26317, 142 26318, 147 26322, 151 26322, 155 26325, 155 29325, 160 29330, 160 29333, 164 29328, 164 34328, 167 34333, 170 34332, 169 34336, 171 34337, 175 34338, 175 34340, 179 34342, 180 34344, 180 34348, 184 34352, 179 34352, 184 34352, 186 34357, 186 34362, 183 34364, 185 34369, 189 34369, 194 34369, 199 34371, 201 34370, 205 34372, 207 34372, 204 34367, 206 34364, 1206 34364, 1207 34368, 1207 30368, 1207 30363, 1208 30365, 1209 30368, 1212 30370, 1212 30370, 1216 30371, 1220 30376, 1221 30379, 1216 30383, 1216 30388, 1219 30386, 1224 30387, 1225 30386, 1227 30384, 1230 30383, 1233 30387, 1234 30387, 1237 30388, 1239 30392, 1244 30390, 1246 30393, 2246 30396, 2243 30399, 2247 30401, 2247 30403, 2246 30398, 2244 30399, 2248 32399, 2248 32399, 2251 32402, 2253 32397, 5253 32394, 5253 32399, 5257 32403, 5257 32401, 5259 32401, 5259 32405, 5263 32410, 5263 32415, 5268 32416, 5273 32420, 5275 32423, 5278 32424, 5283 32426, 5281 32429, 6281 33429, 6286 33433, 6286 33434, 6284 33435, 6284 33432, 6288 33429, 6290 32429, 6290 32425, 6288 32428, 6290 32428, 11290 32431, 11294 32429, 11294 32433, 11292 32438, 11288 32441, 11288 32441, 11285 32446, 11280 32446, 11281 32447, 11285 32449, 11286 32449, 11285 32452, 13285 32451, 13289 32446, 16289 32450, 16284 32449, 16285 32449, 16286 32452, 16287 32452, 16286 32450, 16288 32447, 16292 32450, 16293 32450, 16294 32454, 16293 32454, 16293 32454, 16293 32449, 16289 32451, 16290 32456, 16289 32461, 16293 36461, 16291 36466, 16295 36466, 16296 36466, 16299 36466, 16303 36468, 16308 36473, 16312 36471, 16312 36467, 16315 36463, 16314 36464, 16315 36469, 16315 36473, 16310 36474, 16311 36472, 16316 36474, 16321 41474, 16324 41475, 16327 44475, 16332 44475, 16332 44475, 16332 44477, 16332 44478, 16337 44483, 16334 44481, 8416 30500, 8417 30501, 8421 30501, 8416 30505, 8418 30504, 8420 30499, 8423 35499, 8425 35498, 8429 35501, 8431 35503, 8434 35503, 8438 35507, 8440 35507, 8445 35509, 8442 35512, 8445 35513, 8442 35513, 8442 35515, 8443 35519, 8447 35515, 8450 35516, 8445 35521, 8445 35523, 8444 35528, 8446 35530, 8443 35531, 8438 35531, 8435 35527, 8431 35531, 8432 35534, 8433 35536, 8431 35537, 8435 35539, 8439 32539, 8437 32540, 8441 32540, 8438 32543, 9438 32546, 9436 32541, 9431 32538, 9431 32538, 9435 32541, 9435 32546, 9431 32547, 9436 32542, 9438 32542, 9438 34542, 7438 34542, 7440 34547, 7441 34547, 7441 34547, 7441 34552, 7440 34553, 7440 34556, 7440 34557, 7440 34560, 11440 34565, 11436 34563, 11438 34559, 7438 34557, 7438 34553, 122 1239, 126 1243, 127 1240, 127 1242, 131 1239, 130 1239, 127 1240, 125 1243, 130 2243, 134 2246, 133 2246, 137 2246, 142 2246, 147 2251, 148 2256, 146 2257, 148 2252, 146 2249, 148 2248, 152 2253, 157 2249, 161 2246, 162 2247, 162 2249, 157 2248, 158 2249, 3158 2250, 3161 2252, 3161 2254, 3166 2258, 3167 2261, 3168 2259, 3171 2261, 3173 2266, 3171 2267, 3176 2272, 3179 2277, 3176 2280, 3180 2279, 3175 2283, 3179 2280, 3182 2283, 3184 2288, 3187 2293, 5187 2290, 5187 2292, 5183 2290, 5187 2292, 5186 2297, 5189 2297, 5189 2301, 5192 2303, 5189 2303, 5187 2304, 5183 6304, 5184 6301, 5189 6304, 5191 6302, 5193 6300, 5195 6300, 5195 6300, 5197 6301, 5197 6304, 5199 6301, 5197 6304, 5192 6306, 5193 6310, 5194 6312, 5197 6316, 24397 27440, 24393 27441, 24395 27437, 24400 27440, 24400 27441, 16288 32447, 21288 32447, 21288 32448, 21284 32452, 21285 32450, 21285 32452, 21287 32455, 21283 32460, 21284 32462, 21284 32467, 21284 32472, 21286 32474, 21291 32475, 21289 32475, 21289 32473, 21289 32478, 21286 32481, 21290 32486, 21293 32486, 21293 32490, 21298 32489, 21301 32490, 21303 32491, 21305 32488, 21303 32486, 21307 32491, 21312 32495, 21314 32499, 21315 32495, 21317 32499, 21314 32499, 21316 32502, 21318 32505, 21313 32510, 21313 32512, 21314 32517, 21319 32520, 21321 32520, 21326 32520, 21329 32525, 21330 32530, 21334 32531, 21330 36531, 21333 41531, 21338 41531, 21336 41535, 21339 41537, 21337 41539, 21341 41544, 21342 41544, 21345 41540, 25345 41543, 25342 41546, 25339 41546, 25339 41549, 25337 41546, 25337 41547, 25337 46547, 25341 46552, 30341 46555, 30342 46560, 30345 46561, 30344 46557, 30339 46560, 30343 46565, 30339 46569, 30338 46567, 30340 46568, 24375 27423, 24375 27425, 24377 27428, 24379 27429, 24379 27434, 24376 27439, 24381 27441, 24386 27436, 24387 27438, 24384 27441, 24383 27446, 24383 31446, 24383 33446, 20383 33443, 20385 34443, 20384 34444, 20380 34448, 20383 34450, 20383 34446, 20386 34447, 20390 34450, 20394 34451, 20395 34446, 20395 34451, 20398 29451, 20397 29447, 20401 29447, 20402 29443, 20401 29440, 20406 29443, 20411 29444, 20412 29444, 20412 29448, 20410 29449, 20415 29452, 20415 29455, 20414 29459, 20415 29462, 20420 29465, 20415 29467, 20417 29468, 20418 29468, 20418 29467, 20418 29467, 20420 29468, 20416 29469, 20420 29467, 20415 29464, 20415 26464, 20420 26462, 20423 26463, 20423 26465, 20423 26464, 43580 35662, 43580 35658, 43580 35662, 43580 35664, 43585 35665, 43585 35663, 43585 35666, 43581 35667, 43585 35665, 43589 35670, 25627 25555, 25631 25555, 25632 25558, 25632 25563, 25634 25564, 25629 25565, 25625 25561, 25625 25563, 25626 25565, 26626 25570, 26629 25570, 29629 25575, 29628 25578, 29627 25579, 29624 25583, 29627 25587, 29632 25592, 29634 25593, 29637 25595, 29637 25598, 29639 25602, 29644 25600, 29645 25601, 29646 25601, 29651 25602, 29656 25606, 29658 25606, 29663 25607, 29663 25605, 29666 26605, 29668 26608, 29667 26608, 29670 26611, 29674 26611, 29671 26615, 29673 26620, 29676 26617, 29681 26620, 29682 26620, 29683 26619, 29684 26623, 29681 26621, 29686 26626, 29688 26628, 29691 26628, 29692 26632, 29693 26634, 29695 26629, 29696 26624, 29700 26621, 29705 29621, 29709 29620, 29708 29624, 29711 29627, 34711 29630, 34712 29632, 34712 29631, 2284 16415, 2285 16416, 2285 16416, 2289 16421, 2294 16425, 2299 16425, 2300 16430, 2305 16430, 2306 16433, 2311 11433, 2315 11436, 2310 14436, 2310 14435, 2313 14437, 2312 14441, 2310 14442, 2311 14444, 2313 14444, 2311 14447, 2314 14447, 2316 14451, 2316 14456, 2316 14454, 2311 14455, 2311 14455, 2311 14460, 2315 14465, 2315 14465, 2311 19465, 2311 19465, 2313 19466, 2317 19469, 2320 19469, 2323 19466, 2319 19468, 2323 19471, 2324 19471, 2324 19473, 2324 19473, 2322 19468, 2323 19466, 2324 19465, 2329 19470, 2329 19465, 2324 19465, 2324 19467, 2319 19471, 2320 19475, 2104 -1844, 2109 -1844, 2113 -1842, 2116 1158, 2116 1160, 2117 1161, 2116 6161, 2118 6166, 2123 6169, 2126 6174, 2123 6179, 2126 6183, 2126 6187, 2130 6182, 2128 6183, 2127 6182, 2128 6185, 2124 10185, 2129 10190, 2130 10193, 2132 10192, 2132 10195, 2129 11195, 2129 11199, 2133 11200, 2134 11196, 2133 11201, 2137 11205, 2137 11207, 2141 11203, 2144 11207, 2145 11208, 2149 11212, 2144 11214, 2144 11215, 2149 11216, 2152 11221, 2152 11223, 2153 11223, 2154 11226, 2154 11226, 2150 11228, 2152 11224, 2152 11227, 2148 11222, 2145 11223, 2142 11225, 2145 11222, 2142 11223, 2142 11227, 2147 11229, 2149 11230, 2154 11230, 2157 11228, 2159 11233, 2159 11233, 2155 11237, 2155 11242, 2151 11243, 7151 10243, 7156 10245, 7159 10245, 7164 10247, 7166 10252, 7166 10255, 7171 10257, 7173 10257, 7174 10261, 7179 10264, 7184 10260, 7189 10264, 7193 8264, 7197 8260, 7202 8262, 7206 8262, 7205 8265, 7205 8266, 7207 8270, 7211 8274, 7211 8277, 7216 8277, 7216 8280, 7212 8280, 7213 8280, 7215 8283, 7220 8282, 7224 8287, 7225 8283, 7222 10283, 7223 10287, 7225 10288, 7230 10290, 7232 10294, 7233 10294, 7233 10297, 7234 10298, 7234 10301, 7236 10303, 7231 10299, 7228 10298, 7223 10297, 7225 10299, 7230 10303, 7231 10307, 7234 10311, 7234 10315, 7235 10320, 7236 9320, 7241 9322, 7246 9325, 7243 9330, 7243 9332, 7240 9335, 7237 9334, 7239 9339, 7238 9339, 7238 9341, 7238 9342, 7233 14342, 7232 14337, 7234 14342, 7239 18342, 4084 22284, 4083 22284, 6083 22287, 6078 22289, 6078 22293, 6080 22290, 6082 22291, 6086 22296, 6086 22297, 6087 22297, 6088 22295, 6093 22298, 6094 22297, 9094 22294, 9097 22298, 9098 22299, 9098 22301, 9093 22296, 9098 22299, 9100 22294, 9096 18294, 9099 18294, 9098 18298, 9101 18296, 9100 18301, 9105 18303, 9105 18306, 9105 18309, 9102 18305, 9104 18306, 9108 18309, 9104 18314, 9103 18310, 9105 18312, 9105 18316, 9109 18314, 9109 18319, 9109 18324, 9113 18326, 9113 18330, 9115 18333, 9113 18333, 9118 18333, 9123 18333, 9123 18336, 9125 18335, 9126 18336, 9127 18332, 9129 18329, 9127 18332, 9130 18333, 9135 18333, 9138 18337, 9143 18341, 9144 18346, 9145 18344, 9150 18348, 9154 18345, 9152 18350, 9151 18345, 9151 18345, 9156 18347, 9160 18349, 9163 18350, 9163 18351, 9165 18356, 9166 18356, 9164 18353, 9167 18356, 9167 18355, 9167 18356, 9167 18360, 9165 18356, 9169 18357, 9169 18353, 9170 18355, 9170 18351, 9175 18351, 9177 18351, 9181 18352, 9184 18353, 9189 18356, 9188 18361, 9191 18364, 9194 18364, 9198 18366, 13198 18371, 13198 18373, 13198 18375, 13201 18378, 13196 18378, 13199 18379, 13202 18381, 13207 18384, 13212 18388, 13211 18383, 13211 18378, 13215 18379, 13218 20379, 13214 20379, 13217 20379, 13213 20379, 13213 20376, 13210 20377, 13206 20377, 13206 20373, 13207 20373, 13209 20370, 13214 20371, 13218 20371, 13223 20376, 13224 20381, 13227 20385, 13228 20390, 13232 20387, 9232 20392, 9230 20388, 9230 20390, 9225 20393, 9225 20396, 4225 20401, 4225 20400, 4227 20403, 4224 20408, 4222 20412, 4222 20415, 4225 20420, 4229 20425, 4232 20422, 4236 20425, 4234 20426, 4238 20427, 4240 20427, 4241 20427, 4237 20431, 4233 20431, 4232 20430, 4230 20432, 4234 20431, 4234 20435, 4238 20437, 4243 20435, 4243 22435, 4238 22440, 4241 22441, 4241 22443, 4238 22447, 4234 22443, 4238 22448, 4238 22450, 4241 22451, 4241 22456, 4243 22458, 4247 22461, 4247 22464, 4252 22466, 4253 22469, 4255 22469, 4251 22469, 4253 22464, 4253 22468, 4257 22473, 4259 22477, 4258 22482, 4261 22483, 4262 22484, 4259 22489, 6259 22493, 6262 22494, 6262 22497, 6264 22500, 6264 22504, 6269 22499, 6273 22499, 6278 22495, 6278 22493, 6283 22491, 6288 22494, 6291 22494, 6296 22494, 6296 22493, 6294 22489, 6294 22493, 6290 22493, 6290 22498, 6290 22500, 6288 22501, 6290 22505, 6294 22504, 5294 22507, 5294 22507, 5298 22512, 5297 22514, 5302 22514, 5307 22517, 5304 22518, 5308 22514, 5311 22517, 5315 27517, 5315 27517, 5319 27517, 5324 22517, 5328 22521, 6328 22520, 6325 22522, 6325 22527, 6322 22527, 6323 22530, 6325 22535, 6325 22535, 6326 22536, 6326 22536, 6327 22533, 6323 22535, 6325 22538, 6330 22538, 6331 22534, 6326 22531, 10326 22526, 10321 22528, 10317 22524, 10316 22529, 10313 22529, 10309 22530, 10306 22535, 10308 22531, 10308 22532, 10311 22534, 10314 27534, 10314 27538, 10314 27538, 10309 27540, 10309 27536, 11309 27535, 11309 27537, 11310 27539, 11305 27535, 11300 27536, 11296 27538, 11296 27538, 11301 27542, 11299 27546, 11304 27551, 11308 27551, 11313 27553, 11315 30553, 11319 30555, 11315 30550, 11318 30545, 11318 30544, 11321 30549, 11320 30550, 11325 30554, 11328 30558, 11328 34558, 11332 34562, 11333 34562, 11335 34562, 11334 34565, 11330 34565, 11333 34566, 11338 34566, 11338 34571, 11342 34574, 11344 34573, 11347 34572, 11346 34573, 11347 34575, 11351 34578, 15351 34578, 15356 34573, 15361 34570, 15364 34575, 15365 34580, 15369 34581, 15370 34581, 15373 34585, 15376 34580, 15381 34578, 15385 34583, 15386 34588, 15389 34587, 17389 34582, 17394 34582, 17393 34582, 17398 34577, 17399 34582, 17399 34584, 17399 39584, 17404 39588, 17399 39591, 17404 39591, 17408 39586, 17405 39591, 17409 39593, 17411 39596, 17408 39596, 17411 39599, 17411 39603, 17414 39607, 17418 39612, 17419 39612, 17419 39612, 17423 39611, 17424 39613, 17426 39612, 17429 39608, 17427 39609, 17428 39613, 17425 39615, 17424 39614, 17427 39617, 17430 39622, 17430 39623, 17431 39620, 17434 39620, 13434 39619, 13434 39621, 13434 39621, 13434 44621, 13436 44625, 13436 44627, 13441 44631, 13444 44636, 13444 44639, 13442 44635, 13444 44635, 13447 44639, 13449 44643, 13447 44641, 13447 44642, 13452 44643, 13456 44648, 13459 44648, 13461 44646, 15461 44643, 15459 44648, 15463 44648, 15464 44646, 15461 44649, 15461 44651, 15465 44654, 15460 44655, 15461 44657, 15463 44661, 15465 44665, 15465 44665, 15465 44667, 15469 44670, 15474 44672, 15476 44668, 15472 44672, 15473 44674, 15475 44678, 15477 44679, -3804 12302, -3802 12305, -3803 13305, -3802 13300, -3806 13296, -3807 13299, -3804 13304, -3802 13301, -3799 13305, -3799 13306, -3794 18306, -3799 18310, -3797 18315, -3800 18315, -3797 18316, -3799 18318, -3794 18323, -3793 18326, -3789 18325, -3784 18324, -3784 18325, -3782 18325, -3780 18325, -3779 18328, -3780 18329, -3781 18324, -3786 18328, -1786 18328, -1786 18333, -1782 18337, -1782 18338, -1779 18333, -1775 18338, -6775 18341, -6772 18343, -6774 18345, -6779 18345, -6777 18345, -6777 18347, -6777 18343, -6775 18347, -6780 18342, -6777 18345, -6776 18345, -6774 18340, -6774 18337, -6774 18337, -6778 18342, -6782 18342, -6785 18339, -6784 18340, -6779 22340, -6779 22339, -6776 22335, -6775 22330, -6775 22335, -6775 22339, -6770 22339, -6772 22344, -6767 22345, -6765 22341, -6765 22339, -6765 22339, -6765 22337, -6765 22340, -6760 22335, -6757 22335, -6762 22336, -6763 22338, -6765 22343, -6760 22338, -6758 22338, -6758 22338, -6756 22341, -6752 22345, -6752 22346, -6748 22343, -4748 22347, -4745 22347, -4750 22347, -4749 22348, -4747 22349, -4743 22352, -4738 22357, -4734 22362, -4736 22367, -4738 22362, 21338 41531, 21336 41531, 21332 41530, 21332 41530, 21335 41533, 21330 41533, 21331 41534, 21328 41536, 21330 41536, 21326 41541, 21330 41536, 21332 41539, 21336 41536, 21338 40536, 21336 40540, 21341 40538, 21343 40538, 21346 40538, 21348 40536, 21352 40536, 21355 40539, 21359 40543, 21361 40546, 21362 40550, 21357 40550, 21362 40551, 21361 40554, 21358 40555, 21358 40554, 21359 40554, 21363 40558, 21360 45558, 21364 45560, 21368 45557, 21372 45561, 21376 45560, 21379 45557, 22379 45553, 22384 45553, 22384 45556, 22388 45561, 22389 45561, 22390 45557, 22394 45561, 24394 45565, 22394 45562, 22399 45565, 22401 45562, 22400 45565, 22402 45568, 22402 45573, 22406 45577, 22408 45581, 22408 45585, 22406 45585, 22409 45586, 22411 45583, 22411 45579, 22411 45583, 22409 45583, 22404 45586, 22404 45586, 22406 45591, 22408 45591, 22408 45593, 22413 45593, 22415 45594, 22419 45595, 22419 45596, 22424 45591, 22427 45587, 22430 50587, 22430 50589, 22430 50589, 22432 50592, 22437 50594, 22437 50589, 22437 50594, 22441 50599, 22442 50594, 22447 50591, 22444 50588, 22444 50590, 22445 54590, 22445 54594, 22448 54599, 22450 54601, 22450 59601, 22446 59597, 22451 59600, 22451 59603, 22454 59604, 22459 59604, 22460 59609, 22459 59606, 22464 59607, 22465 59608, 22463 59609, 22460 59606, 22459 59605, 22459 59605, 22457 59609, 25457 59610, 25459 59615, 25464 59617, 25466 59618, 25469 59621, 25474 59616, 25478 59617, 25480 59614, 25484 59619, 25484 59620, 25488 59616, 25485 59618, 25489 59623, 25494 59627, 25499 59629, 148 2256, 152 2253, 152 2253, 154 2258, 159 2253, 160 2257, 159 2256, 163 2259, 161 3259, 163 3262, 163 3259, 165 3259, 170 3263, 170 3263, 174 3267, 169 3271, 174 3275, 174 3276, 174 3278, 177 3282, 181 3286, 183 3287, 186 3284, 187 3286, 189 3286, 193 3288, 194 3290, 193 6290, 195 6293, 200 6289, 197 6294, 196 6293, 197 6293, 201 6297, 202 6292, 200 6294, 204 6295, 209 6300, 214 6305, 217 6305, 218 6305, 213 6308, 214 6308, 218 6313, 218 6308, 216 6312, 215 6312, 213 6309, 214 6313, 219 6318, 222 6321, 226 6326, 224 6331, 222 6327, 41575 39716, 41574 39713, 41578 40713, 41582 40718, 41578 40721, 36578 40721, 36579 40723, 36584 40720, 36587 40725, 36592 43725, 36587 43725, 36584 43728, 36587 43733, 36592 43735, 36592 43734, 15291 11311, 15287 11316, 15288 11319, 15291 11319, 15296 11319, 15297 11320, 15298 13320, 38744 37650, 38745 37654, 38747 37659, 38746 37662, 38741 37663, 38739 37666, 38744 37666, 38747 37661, 38750 37666, 38750 37666, 38754 37671, 38755 37671, 38750 37673, 38750 37672, 38754 37677, 38756 37678, 38758 37680, 38760 37678, 38762 37683, 38762 37679, 38760 37679, 38765 37679, 38769 37678, 38774 40678, 38769 40683, 38774 40687, 38776 44687, 38780 44690, 38782 44694, 38782 44694, 38781 44699, 38784 44704, 38782 44699, 38777 44700, 38777 44700, 38777 44700, 38781 44703, 38785 44700, 38786 44700, 38788 44696, 38788 44696, 38788 44700, 38793 44702, 38795 44703, 38797 44707, 38802 44712, 38805 44712, 38809 44713, 38804 44710, 38808 44712, 38811 44713, 36811 44713, 36816 44708, 36815 44709, 36816 44709, 36818 44713, 36813 44716, 36814 48716, 36813 48721, 36817 48725, 36818 51725, 36820 51721, 36824 51724, 40824 51719, 40829 51716, 40832 51720, 40831 51723, 40834 51727, 40837 51728, 40842 51725, 40843 51725, 40838 51729, 40843 51734, 40848 51738, 40850 51742, 40851 51744, 40853 51747, 40856 51749, 40857 51750, 40859 51754, 40859 51750, 40863 51752, 40868 51755, 40864 51754, 40868 51754, 40871 51756, 40867 51756, 40865 51759, 40860 51761, 40857 51757, 40857 51762, 40854 51762, 40855 51764, 40859 51765, 40857 51761, 40854 51764, 40855 51765, 40857 51766, 40860 51761, 40861 51760, 40865 51761, 40865 51763, 40862 51768, 40861 51768, 40856 51772, 40852 51769, 40854 51771, 40854 51771, 40850 51776, 40854 51780, 40856 51782, 40854 51782, 43854 51782, 43856 52782, 43858 52785, 43861 52785, 43861 52780, 37514 26540, 37519 26535, 37522 26539, 37522 26544, 37524 26548, 37529 26548, 37534 26553, 37539 26548, 37542 26553, 37547 26548, 37551 26551, 37551 26554, 37550 26555, 37551 26557, 37548 26557, 37548 26557, 37551 26560, 37551 26563, 37554 26563, 37558 26568, 37562 26563, 37563 26565, 37567 26569, 41567 26569, 41571 26572, 41573 26577, 41573 26577, 41578 29577, 41573 29577, 41575 29580, 41575 29582, 46575 29582, 46571 29586, 45571 29587, 45574 29587, 45570 29587, 45575 29585, 45577 29582, 45573 29585, 45574 29588, 45574 29589, 45578 29589, 45580 29592, 45583 29595, 45584 29597, 45584 29602, 45586 29601, 45591 29604, 45587 29609, 45591 33609, 45595 36609, 45596 36611, 45601 36613, 45602 36608, 45606 36608, 45606 36612, 45606 36611, 45610 36614, 50610 36617, 50613 36613, 50616 36613, 50621 36609, 50626 36609, 50627 36610, 50627 36609, 50631 36610, 50626 36612, 50627 36614, 50628 36614, 50631 36612, 50629 36614, 50630 36618, 50634 36622, 46634 34622, 46634 35622, 46638 35626, 46638 35621, 46639 35624, 46641 35623, 46645 35624, 46647 35629, 46645 35634, 46650 35639, 46650 35644, 46651 35647, 46653 35651, 46657 35654, 46654 35659, 46659 35660, 46660 35661, 46664 35664, 46661 35667, 46664 35668, 46667 35667, 46669 35671, 46669 35667, 46672 35670, 46674 35675, 46676 35675, 47676 35672, 47678 35676, 47679 35677, 47679 35682, 47679 35681, 47679 35681, 47679 35686, 47674 35687, 47673 35687, 49673 35689, 49676 35693, 49679 35696, 49677 35696, 54677 35701, 54680 35703, 54676 35703, 54672 35705, 54672 35704, 54677 35707, 54678 34707, 54678 34707, 54681 34710, 54685 34712, 54690 34710, 54690 34711, 54687 34706, 54689 34706, 54694 34711, 54689 36711, 54689 36710, 54684 36711, 54687 38711, 54682 38714, 54682 38718, 54679 38718, 54681 38723, 54684 38724, 54689 38720, 54690 38721, 54694 38726, 54699 38730, 54701 38731, 54702 38728, 54704 38724, 52704 38723, 52704 38723, 52704 38725, 52704 38729, 52706 38730, 52708 38732, 52709 38733, 52713 38732, 52713 35732, 52715 35737, 52714 35741, 52714 35743, 52715 35746, 52715 35749, 52710 35749, 52712 39749, 52715 39753, 52718 39752, 52723 39753, 52722 39757, 52718 39760, 52718 40760, 47718 40761, 47719 40765, 47724 40765, 47724 40765, 47724 40770, 47728 40773, 47730 40776, 47735 40781, 47733 40777, 50733 40781, 51733 40783, 51735 40786, 51736 40790, 51739 40788, 51743 41788, 51741 41787, 51741 41789, 51741 41789, 51738 41793, 51733 41793, 52733 41794, 52737 41795, 52740 41794, 52744 41793, 52748 41789, 52749 41789, 52747 41789, 52752 41786, 52755 41790, 52755 41791, 52760 41796, 52756 42796, 52751 42797, 52754 42798, 52758 42795, 52759 42794, 52764 42797, 52768 42801, 52768 42801, 52771 42806, 52776 42810, 52776 42809, 52773 42811, 52776 42811, 52772 42812, 52773 42815, 52769 42815, 52768 42816, 52769 42821, 52773 42821, 52773 42821, 52777 42819, 52781 42815, 52781 42816, 52782 42819, 52778 42822, 52776 42822, 52779 42826, 52782 42827, 52783 42831, 52778 42833, 52782 42836, 54782 42839, 54782 42844, 2137 11205, 2142 11207, 2139 11208, 2142 11213, 2144 11217, 2149 11215, 2147 11217, 2147 11217, 2152 11222, 2152 11225, 2155 11229, 2159 13229, 2164 13232, 2169 13235, 2173 13236, 2169 13233, 2170 13237, 2173 13241, 2175 13243, 2170 13238, 2170 13239, 2175 13239, 2177 13238, 2179 13239, 2179 13238, 2181 13233, 2181 13230, 2182 13230, 2179 13230, 2179 13235, 2182 13235, 2183 10235, 2178 10237, 2179 10236, 2182 10239, 2187 10241, 2184 10244, 6184 10244, 6186 10248, 6184 10246, 6185 10247, 6187 10250, 6192 10248, 6196 10248, 6196 10251, 6194 10251, 6194 10256, 6197 10260, 6196 10264, 6197 9264, 6197 9264, 6197 9268, 6201 9273, 6206 9276, 6201 9272, 6203 9272, 6205 9269, 6210 9272, 6206 9274, 6206 9279, 6203 9283, 6203 9285, 6203 9290, 6208 9285, 6208 9281, 6204 9285, 6202 9289, 6204 9292, 6200 9294, 7200 9297, 7202 9301, 7203 9301, 7207 9302, 7211 9302, 7211 9303, 8211 9306, 8216 10306, 8220 10310, 8224 10312, 8228 10317, 8233 10317, 8237 10322, 8239 10322, 8239 10327, 8235 10330, 8235 10331, 8239 10329, 8240 10332, 8240 10334, 8236 10334, 11236 10336, 11238 10337, 11243 10341, 14243 10342, 14242 10342, 14239 10343, 14240 10341, 14239 10343, 14244 10343, 14248 10343, 14252 10343, 14252 10343, 14253 10341, 14256 10341, 14258 10338, 14258 10336, 14254 10340, 14257 10344, 14261 10346, 14264 10351, 11150 3163, 11155 3167, 11156 3166, 11156 3169, 11160 3171, 11163 3176, 11164 3179, 11164 3180, 11168 3183, 11168 3185, 11173 3189, 11178 3184, 11180 3183, 11178 3185, 11181 3187, 11176 3186, 52778 42822, 52780 42826, 52779 42826, 52784 42821, 52785 42826, 52786 42827, 52791 42830, 52791 42827, 56791 42832, 56788 42833, 56788 42836, 56791 42840, 56791 42839, 56787 42842, 56788 42847, 51788 42848, 51790 42850, 51792 42851, 51796 42846, 51798 42846, 51803 42850, 53803 42853, 53808 42853, 53811 42856, 53814 42854, 53819 42850, 53819 42852, 53820 42857, 53824 42860, 53825 42858, 53828 42862, 53827 42864, 53828 42864, 53828 42868, 53832 42872, 53837 42877, 53841 42877, 53843 42876, 53843 42880, 53843 42883, 53843 42888, 53838 42892, 53838 42893, 53838 44893, 53835 44893, 53837 44897, 53840 44901, 53844 44901, 53846 44904, 53846 44908, 53847 44909, 53852 44907, 53855 44908, 53860 44910, 53858 44911, 53863 44913, 53858 44917, 53860 44920, 53865 44920, 53870 44922, 53869 43922, 53871 43925, 53871 43923, 53869 43923, 53864 43922, 53862 43927, 53866 43932, 53871 43934, 53876 43937, 53876 43936, 53876 43936, 53877 43934, 53879 43932, 53880 43928, 53885 43931, 55885 43933, 55885 43929, 55881 43933, 55883 43933, 55886 43932, 55883 43932, 55884 43933, 55885 45933, 55885 45937, 55885 45940, 55886 45945, 55886 45945, 55888 45950, 55884 45952, 55885 45956, 55890 45960, 55892 45961, 55896 45957, 55894 45958, 55899 45954, 55895 45958, 55898 45960, 55894 45959, 55899 45963, 55901 45965, 55901 45965, 55896 45966, 55900 45961, 55895 49961, 55898 47961, 55896 47960, 55900 47964, 55903 47968, 55903 47971, 55903 47974, 55898 47977, 55900 47973, 55896 47978, 55897 47979, 55893 47980, 55898 47983, 55901 47988, 55904 47987, 55899 47991, 55901 47993, 55906 47996, 55906 47997, 55907 48001, 55904 48005, 55904 48007, 55909 48004, 55912 48002, 55917 48003, 55913 47998, 55908 48002, 55912 48007, 55916 48004, 55920 48004, 55916 48004, 55921 48004, 55923 48007, 55923 48011, 55926 48011, 55921 48014, 55924 48009, 55929 48013, 55930 48012, 55930 48012, 55932 48016, 55927 48016, 55927 48020, 54927 48018, 54924 48022, 54924 44022, 54928 44017, 54931 44016, 54934 44020, 55934 44021, 55937 44021, 55938 44024, 55939 44026, 55938 44024, 55941 44019, 55946 44022, 55947 44026, 55949 44027, 55952 44028, 55955 44024, 55958 44027, 53869 43923, 53873 43925, 52873 43925, 53873 43927, 53878 43927, 53883 43927, 53882 43931, 53884 43935, 53888 43940, 53886 43941, 53881 43938, 53881 43941, 53879 43943, 53880 43942, 53881 43946, 53882 43951, 53883 43952, 53886 45952, 53886 45953, 53884 45957, 53885 45958, 53880 45960, 53882 45957, 53887 45962, 53887 45962, 53888 45961, 53888 48961, 53888 48966, 53893 48966, 53894 48968, 53899 48969, 49899 48966, 49904 48969, 49908 48971, 49904 48971, 49906 48975, 49903 48971, 49906 48974, 54906 48975, 54906 48975, 54906 48979, 54911 48983, 54909 48979, 54912 48979, 54908 48975, 54911 48977, 54913 48979, 54917 48982, 54922 48982, 54925 48985, 54920 48988, 54923 48988, 56923 48988, 56928 48990, 56926 48985, 56931 48984, 56934 48983, 56934 48981, 56938 48983, 56939 48985, 56939 48986, 61939 48988, 61939 48984, 61936 51984, 61937 51985, 61937 51988, 61937 51988, 61933 51990, 5331 23399, 5333 23399, 5335 23394, 5339 23396, 5342 23399, 5347 27399, 5347 27401, 5352 27402, 5357 27403, 5358 27406, 6358 27409, 6362 27411, 6363 27410, 6366 27406, 6368 26406, 6373 26406, 6373 26406, 6374 26409, 6372 26409, 6377 26410, 6382 26415, 6387 26417, 6389 26418, 6390 26423, 6392 26423, 6393 26428, 6395 30428, 6392 30433, 6392 30436, 6392 30434, 6396 30438, 6396 30441, 6396 30445, 6398 30446, 6400 30443, 6401 30440, 6406 30439, 6407 30439, 6402 30439, 6407 30444, 6406 30447, 6407 30451, 6411 30451, 6413 30451, 6414 30452, 6419 30450, 6423 30454, 6420 30452, 6419 30448, 6420 30453, 6422 30455, 6427 30460, 6428 30460, 6427 30462, 6428 30462, 6428 34462, 6429 34463, 6434 39463, 6436 39466, 6436 39471, 6441 39474, 6445 39471, 6446 39472, 6451 39477, 6453 39480, 6454 39485, 6454 39483, 6454 39480, 8454 39480, 8458 39482, 8462 39484, 10462 39486, 10457 39486, 10458 39488, 10462 39488, 10465 39488, 10470 39490, 10475 39486, 10477 39488, 10477 39490, 10478 39492, 10479 39496, 10477 39498, 10482 39503, 10478 39505, 10481 39510, 10482 39514, 10477 39512, 10482 39517, 10483 39520, 10483 39520, 10487 39525, 10489 39526, 10492 39527, 10492 39524, 10495 39524, 10498 44524, 10493 44523, 10493 44528, 10494 44524, 10499 44529, 10501 44529, 10504 44531, 10502 44535, 10504 44539, 10508 44539, 10513 44536, 13513 44540, 13515 44537, 13512 44539, 13509 44544, 13513 44547, 13517 44552, 13519 44553, 13524 44554, 13527 42554, 13522 42555, 13524 42557, 13527 42556, 13531 42561, 13531 42562, 13526 42563, 13527 42563, 13527 42566, 13522 42568, 13525 42571, 15525 42573, 15525 42576, 15526 42581, 15531 42581, 15532 42586, 15534 42588, 15534 42592, 15533 42591, 15533 42596, 15532 42591, 15532 42587, 15535 42587, 15538 47587, 15534 47587, 15537 47591, 15536 47594, 15538 47598, 11538 47594, 11535 47594, 11531 47594, 11535 47596, 11535 47596, 11535 47597, 11539 47602, 11540 47607, 11540 47607, 11540 47609, 11543 47613, 11546 47617, 14546 47618, 14541 47614, 14539 47614, 14539 47618, 14537 50618, 14539 50623, 14541 50623, 14542 50627, 14540 50627, 14539 50623, 25601 26544, 25601 26545, 25601 26548, 25596 26546, 25601 26547, 25598 26548, 25599 26547, 25600 26547, 25595 26548, 25590 26546, 25595 26549, 25597 26548, 25598 26548, 25601 26545, 25596 26548, 25594 26553, 25595 26552, 25599 26553, 25598 26554, 25596 26555, 25592 26554, 25596 26558, 25599 26554, 25600 26556, 25595 26559, 25600 22559, 25601 22561, 25606 22563, 25607 22562, 25608 22566, 25607 22563, 25607 22568, 30607 22573, 30612 22575, 30612 22579, 30611 22579, 30611 22580, 30611 22585, 30607 22585, 30612 22587, 30612 22588, 30615 22583, 30615 22585, 30618 22581, 30621 22581, 30623 22584, 30623 22589, 30628 22594, 30630 22597, 30631 22602, 30628 22607, 30630 22610, 30631 22611, 30631 22608, 30629 22610, 30634 22612, 30635 22612, 30638 22616, 30643 17616, 30644 17618, 30649 17618, 30653 17619, 30656 17614, 30657 17611, 30660 17615, 30655 17614, 30656 17610, 30656 17611, 30661 17610, 30662 17615, 30660 17620, 30661 17620, 30666 17623, 30667 17625, 30667 17624, 30669 17625, 30673 17628, 30675 17628, 30675 17628, 30680 17631, 30677 17636, 30677 17639, 30680 17644, 30683 17647, 30688 17643, 30693 17645, 30698 19645, 30701 19644, 30702 19644, 30698 19649, 30700 19647, 30701 19649, 30704 19650, 30705 19653, 30701 19655, 30706 19652, 30708 19656, 30711 19657, 30711 19659, 30711 19659, 30714 19661, 30710 19662, 30707 19664, 30702 19666, 30703 19667, 30708 19668, 30713 19667, 30709 19671, 30706 19674, 30710 19676, 30711 19677, 30713 19677, 30713 19678, 30715 19682, 30720 19686, 30725 20686, 30723 20690, 30727 20695, 30728 20697, 30731 20699, 30730 20694, 30732 20696, 30735 20698, 30738 20696, 30738 20695, 30742 20698, 30743 20699, 30743 20701, 30748 20704, 30749 20706, 30752 20705, 30753 20702, 30755 24702, 30751 24705, 30750 24707, 30748 24708, 30749 29708, 30749 29709, 30751 29711, 30754 29716, 30759 29716, 30762 34716, 30762 34720, 30765 34720, 30761 34717, 30761 34721, 30765 34721, 30760 34721, 30759 34725, 30762 34730, 30760 34730, 30765 34731, 30765 34731, 30766 34731, 30761 34733, 30761 34736, 30764 34738, 30759 34739, 30763 34740, 30761 34740, 30764 34742, 30759 34737, 30762 34739, 30764 34741, 30762 34740, 30767 34737, 32767 34741, 32770 34741, 32767 34744, 32767 34746, 32770 34751, 32774 34755, 32774 34756, 32779 34753, 32784 34755, 32785 33755, 32785 33750, 36785 33753, 36785 33758, 36788 33760, 36789 33759, 36789 33762, 36793 33758, 36798 33758, 36803 33760, 36803 33762, 36803 33766, 36804 33769, 36804 33769, 36808 33774, 33808 33776, 33808 33781, 33811 33781, 33816 33784, 33816 33789, 33820 33786, 33823 33788, 33828 33785, 33824 33785, 33826 33787, 33824 33788, 33828 33791, 33825 33796, 33829 33799, 33830 33802, 33831 33803, 33835 33805, 33835 33805, 33838 33809, 33841 33813, 33844 33809, 33849 33814, 33847 32814, 33849 32812, 33851 32816, 33853 32819, 33851 32822, 33851 32826, 33849 32826, 33849 32830, 33852 32835, 33856 32840, 33859 32837, 33858 32832, 33861 32833, 33862 32836, 33859 32838, 33859 32834, 33857 32834, 33859 32834, 33857 32838, 33861 32833, 33861 32837, 33864 32840, 33866 32841, 33866 32843, 33868 32841, 33871 32839, 33874 32844, 33876 37844, 33881 37849, 33883 37854, 33883 37859, 33888 37860, 33893 37864, 33898 37864, 33895 37867, 33896 38867, 33898 38863, 28898 38868, 28901 39868, 33901 39873, 33898 39875, 33900 39879, 33904 39877, 33904 39879, 33909 39883, 33914 39888, 33910 39891, 33910 39892, 33907 39894, 33911 39899, 33913 39900, 33910 39904, 33914 39905, 33917 39906, 33917 39906, 33917 39906, 33912 39911, 33912 39908, 33916 39907, 33914 39910, 33918 39913, 33922 39913, 33924 39916, 33925 39920, 33930 39920, 33933 39922, 33934 39923, 33937 39919, 33938 39916, 33936 39913, 35936 39918, 35933 39919, 35937 39921, 35941 39924, 35941 39919, 35942 39915, 35946 39920, 35946 39915, 35946 39912, 35947 39908, 35947 39912, 35947 39916, 35952 39919, 35957 39921, 38957 39920, 38962 39925, 38964 39924, 38964 39924, 38969 39926, 38969 39928, 38972 39932, 38977 39932, 38975 39932, 38979 39935, 38982 39938, 38986 39940, 38984 39943, 38985 39946, 38987 39947, 38989 39949, 38994 41949, 38990 41954, 38991 41958, 38994 41962, 38994 41966, 38994 41969, 38995 41974, 38999 41974, 38999 41974, 38996 41978, 38996 41983, 38999 41983, 39001 41986, 38996 41984, 39000 41989, 39000 41988, 5336 23410, 5332 23410, 5327 23407, 9327 23408, 12327 23412, 12327 23412, 12324 23410, 13324 23415, 13327 23420, 13328 23416, 13324 23418, 13329 23423, 13330 23426, 13331 23429, 13335 23426, 13339 23428, 23493 35553, 23492 35548, 23496 35550, 23501 35552, 23497 35553, 21497 35557, 21492 35560, 21494 35562, 21494 35560, 21496 35563, 21496 35568, 21496 35570, 21501 35570, 21504 35566, 21504 35571, 17504 35572, 17508 35577, 17509 35578, 17513 35582, 17514 35587, 17515 35592, 18515 35595, 18516 35596, 18517 35598, 18515 35600, 16515 35605, 16515 37605, 16515 37606, 16513 37608, 16515 37613, 16516 37615, 16520 37620, 16524 34620, 16526 34617, 16530 34619, 16530 34624, 16535 34628, 16537 34631, 16540 34632, 16541 34634, 16541 34635, 16544 34632, 16544 34637, 16546 34642, 16549 38642, 16549 38644, 16545 38649, 16545 38644, 16542 38644, 16545 38644, 16544 38645, 16548 38650, 16543 38653, 16543 38649, 18543 38652, 18546 38652, 18546 38657, 18546 38660, 18551 38655, 18549 38655, 18552 38660, 18549 38662, 23549 38667, 23546 38668, 23550 38672, 23550 38674, 28550 38676, 28551 38673, 28551 38677, 28547 38673, 28551 38674, 28556 38674, 28559 38678, 28562 38673, 28564 38678, 28564 38673, 28563 38673, 28566 38675, 28571 38675, 38781 44703, 38782 44699, 38780 44702, 38785 44704, 38787 44704, 38783 44705, 38784 44700, 38788 44695, 38791 44696, 38796 44696, 38801 44692, 38801 44697, 38805 44701, 38810 44701, 38808 44701, 38808 44704, 38805 44706, 38805 44710, 38804 44711, 38809 48711, 38810 48711, 38808 48711, 38812 48716, 38812 48713, 38812 48715, 38812 48715, 38808 48711, 38804 48714, 38805 48710, 38807 48715, 38812 48715, 38807 48713, 38811 48714, 38811 48714, 38816 48711, 38817 48707, 38818 48707, 38818 48708, 38822 48708, 38824 48713, 38822 48714, 38820 48718, 38824 48720, 38824 48723, 38829 48726, 38830 48731, 38834 48729, 38832 48734, 38833 48730, 38834 48728, 38831 48732, 8433 35536, 8433 35541, 4433 35536, 4436 35541, 4440 35541, 4441 35537, 4445 35539, 4444 35534, 4447 35531, 4451 35531, 4455 35534, 4460 35534, 4461 39534, 4462 39535, 4463 39535, 4466 39535, 4470 39535, 4472 39538, 4467 39538, 4467 39536, 4471 39536, 4473 39541, 4468 39542, 4472 39543, 4475 39544, 4478 39544, 4482 39547, 4487 39552, 4485 39550, 4486 39551, 4486 39553, 4486 39555, 4488 39557, 4488 39558, 4489 39555, 4485 39557, 4488 39558, 4492 39560, 4495 39561, 4500 39565, 4496 39566, -4747 22349, -4750 22349, -4746 22352, -4742 22355, -4738 22360, -4739 22362, -4737 22365, -4732 22363, -4728 25363, -4728 25364, -4723 25364, -4725 25364, -4725 25365, -6725 25364, -6727 25369, -6728 25369, -6725 25369, -6729 25368, -6728 27368, -6725 27370, -6721 27371, -3721 27367, -3717 27372, -3718 27375, -3716 27370, -3715 27373, -3714 27373, -3712 27376, -3709 27374, -3710 27375, -3710 27374, -3708 27379, -3706 27381, -3705 27386, -3704 27389, -3704 27393, -3703 32393, -3702 32396, -3702 32396, -3697 32395, -3697 32399, -3692 32403, -3692 32404, -3693 32408, -3693 32412, -3691 32414, -3691 32414, -3695 32414, -3690 32417, -3689 32422, -3684 32424, -3681 32429, -3679 32424, -3676 32428, -3671 32428, -3674 32431, -3671 32430, -3669 32430, -3674 33430, -3676 33432, -3674 33432, -3677 33432, -3677 33437, -3675 33438, -3674 33442, -3679 33444, 1321 33448, 1323 33445, 1327 33448, 1331 33443, 1328 33448, 1328 33443, 1329 33443, 1329 33444, 1334 33448, 1335 33453, 1340 33457, 1340 33454, 1345 33454, 1349 33458, 1348 33461, 1348 33459, 1344 33463, 1343 33466, 1348 33466, 1349 33467, 1345 33467, 1346 33466, 1350 33461, 1349 33464, 1354 33468, 1358 33472, 1363 33473, 1365 33472, 1367 33473, 1370 33476, 1371 33479, -2629 33482, -2631 33487, -2627 33490, -2630 34490, -2626 36490, -2623 36492, -2619 36492, -2622 36492, -2620 36496, -2622 36495, -2627 36495, -2625 36500, -2621 36503, -2626 36506, -2629 36510, -2624 36510, -2620 36510, -2620 36513, -2617 36518, -2622 36516, -2619 36514, -2617 36514, -2617 36512, -2615 36516, -2613 36516, -2613 36517, -2613 36515, -2613 36510, -2610 36511, -2607 36515, -2604 37515, -2604 37512, -2608 37509, -2605 37512, -2600 37516, -2597 37516, -2593 37514, -2595 37515, -2590 37519, -2595 37518, -2590 37523, -2590 37528, -2590 37530, -2592 37525, -2592 37520, -2589 36520, -2586 36521, -2587 36517, -2584 36518, -2582 36518, -2581 36520, -2577 36518, -2576 36522, -2576 35522, -2573 35523, -2575 35523, -2576 35528, -2576 35533, -2576 35536, -2576 35538, -2578 35541, -2582 35545, -2584 35546, -2585 35548, -2583 35544, -2583 35548, -2582 35547, -2578 35552, -2574 35554, -2569 35557, -2565 35559, -2563 35564, -2558 35564, -2555 35568, -2551 35568, -5551 36568, -5546 36568, -5542 36569, -5545 36569, -5543 36574, -5540 36569, -5541 36570, -5541 36572, -5541 36574, -5538 36579, -5535 36581, -5533 36585, -5530 36584, -5526 36579, -5524 38579, -5524 38580, -5524 38575, -5520 38575, -5516 38580, -5512 42580, -5508 42585, -5510 42587, -5510 42586, -5505 42586, -5508 42589, -2508 42593, -2509 42596, -2506 42598, -2504 42601, -2501 42602, -2501 42607, -2496 42612, -2499 42615, -2498 42620, -2500 42617, -2500 42620, -4500 42620, -4500 42624, -4500 42626, -4504 42623, -4507 42625, -4509 42628, -4513 42629, -4508 42629, -4505 42632, -4500 42628, -4499 42633, -4503 45633, -4501 45634, -4497 45635, -4494 45634, -4495 45632, -4493 45634, -4492 46634, -4489 46638, -4485 46633, -4481 46635, 21338 40536, 21343 40537, 21348 40538, 21348 40540, 21347 40540, 21348 40540, 21347 40540, 21346 40542, 21349 40547, 21350 40547, 21353 40544, 21353 40546, 21350 40549, 21353 40550, 21354 40550, 21355 40550, 21360 40550, 21361 40549, 21361 40554, 21359 40559, 21364 40564, 21366 40559, 21365 40559, 21366 40564, 25366 40568, 25367 40570, 25370 40570, 25373 45570, 25374 45571, 25374 45566, 25378 45568, 25383 42568, 25387 42564, 25391 42568, 25391 42572, 25395 42576, 25392 42576, 28392 42573, 28391 42574, 28387 42578, 28388 42580, 28391 42581, 31391 42582, 31387 42586, 31389 42586, 31392 42582, 31393 42583, 31394 42580, 29394 42584, 29398 42586, 29400 43586, 29404 43588, 29408 43589, 29409 43591, 29413 43596, 29415 43598, 29416 43599, 25416 43604, 25414 43599, 25417 43603, 25422 43606, 25420 43608, 25425 43603, 25428 43603, 25431 43606, 25436 42606, 25431 42608, 25434 42604, 25437 42609, 25438 47609, 25442 50609, 25443 50614, 25441 50618, 25446 50621, 25449 50625, 25446 50628, 25446 50630, 25447 50631, 25452 50636, 25452 50632, 25453 50634, 25453 50636, 25456 50637, 25460 50641, 25464 50645, 25465 50644, 25465 51644, 25469 51648, 25471 51653, 25475 51654, 25476 51657, 25477 51658, 26477 51662, 26477 51666, 26476 51669, 26478 51669, 26483 51665, 26485 55665, 26487 55668, 30487 55671, 30487 55674, 30491 55675, 30491 55672, 30493 55674, 30494 55674, 30495 55679, 30499 55679, 30503 55675, 30505 55680, 30502 55681, 30500 55676, 30496 55679, 30501 55680, 30502 55680, 30507 55685, 30503 55688, 30498 55689, 30502 55689, 30504 55691, 30508 55696, 30509 55697, 30508 55696, 30513 55697, 30518 55698, 30516 55703, 30516 55705, 30514 55705, 34514 55709, 34518 55712, 34522 55708, 34520 56708, 34521 56708, 34522 56710, 34519 56710, 34517 56705, 34521 59705, 34524 59710, 34524 59712, 34524 59717, 34528 59719, 34530 59721, 34535 59716, 34540 59719, 34540 59721, 34543 59721, 34548 59724, 34550 59725, 34554 63725, 34549 63730, 34551 63732, 34556 63730, 34558 63730, 34559 63725, 34558 63729, 34563 63734, 34560 63734, 37560 63729, 37563 63733, 37567 63728, 37571 63724, 37575 63722, 37580 63726, 37579 63722, 37581 63724, 37581 63726, 37582 63723, 37582 63724, 37581 63728, 37576 63729, 37576 63731, 37578 63729, 37583 63733, 37585 63736, 37588 63736, 37592 63741, 37594 63738, 37599 63735, 37602 63734, 37598 63735, 37598 63737, 37602 63737, 37603 63739, 37598 63739, 37593 63736, 37598 63737, 37603 63742, 37604 63737, 37601 63742, 37596 63744, 37600 63748, 37605 63749, 37607 63751, 37609 63756, 37609 63760, 37605 63761, 37605 63765, 37606 63765, 37610 63762, 37611 63766, 37606 63768, 37606 63768, 41606 63769, 41602 63765, 41601 63765, 41602 63770, 41598 63770, 41601 63770, 41603 63774, 41606 63772, 41610 63772, 41613 63776, 41616 63771, 41611 63767, 41614 63769, 41617 63764, 38617 63768, 38617 63772, 38620 63772, 35620 63773, 35620 63778, 35619 63779, 35620 63780, 35615 63779, 35617 63784, 35614 63786, 35615 63783, 35616 63779, 35620 63778, 35621 63780, 35626 63782, 35626 63784, 35631 63789, 35631 63784, 35628 63785, 35626 63786, 35631 63788, 35636 63791, 35640 63786, 35636 63787, 35636 63782, 35635 63781, 35640 63786, 35643 63790, 35646 63795, 35650 63797, 35649 63797, 35651 63801, 35655 63805, 35656 63808, 35656 63808, 35658 63808, 35657 63810, 35660 63814, 35660 63809, 35664 63809, 35659 67809, 35660 67812, 35662 67815, 35666 67812, 35662 67807, 35660 67807, 35663 67807, 35665 67812, 35668 67814, 35672 67818, 35671 67817, 35671 67820, 37671 67824, 37666 67824, 2277 13367, 2280 16367, 2276 16367, 2277 16366, 2281 16366, 2284 16366, 2289 16370, 2286 16370, 4286 16370, 4288 16375, 4292 16379, 4296 18379, 4297 18381, 9297 18385, 9298 18385, 9301 18386, 9305 18383, 9307 19383, 9310 19379, 8310 19384, 8314 19384, 38748 37655, 38751 37656, 38756 37657, 38759 37660, 38755 37665, 38755 37665, 38760 37667, 38765 37668, 38765 42668, 38770 42670, 38767 42672, 38772 42668, 38769 42663, 38770 42663, 38775 42658, 38773 42663, 38777 42665, 41777 42667, 41780 42669, 41783 42673, 41784 42671, 41781 42673, 41786 42676, 41783 42676, 41785 42676, 41782 42676, 41785 42679, 41786 42679, 41790 42680, 41794 42681, 41794 42679, 41795 42684, 41795 42680, 41798 42685, 41803 42689, 41806 42688, 41808 42689, 41806 42694, 41804 42696, 41807 42700, 41802 42701, 41804 42702, 41806 42704, 41811 42708, 41815 42709, 36815 42712, 36815 42708, 36812 42707, 36813 42709, 40813 42710, 40817 46710, 40818 46712, 40822 46712, 40820 46716, 40824 46721, 40827 46724, 40831 46728, 40829 46731, 40833 46731, 40835 46735, 40831 46737, 40832 46737, 36832 46742, 36832 46745, 36836 46748, 36833 46753, 36828 46752, 36824 46752, 36826 46755, 36821 46759, 36825 46762, 36825 46766, 36826 46770, 36824 46773, 36828 46776, 36833 46778, 36830 42778, 36835 42780, 36835 42781, 36840 42786)'))); +BEGIN; +DELETE FROM t1 WHERE p = 3; +UPDATE t1 SET g = ST_linefromtext('linestring(448 -689,453 -684,451 -679,453 -677,458 -681,463 -681,468 -678,470 -676,470 -678,468 -675,472 -675,472 -675,474 -674,479 -676,477 -675,473 -676,475 1324,479 1319,484 1322,483 1323,486 1323,491 1328,492 1325,496 1325,498 1325,501 1330,498 1331,500 1331,504 1330,508 1329,512 1332,513 1337,518 1339,518 1339,513 1344,513 1344,512 1346,514 1351,515 1353,519 1358,518 1362,522 1365,525 1360,526 1362,527 1362,528 1367,525 1371,528 1366,532 1369,536 1374,539 1377,543 1379,539 1381,541 1382,543 1383,546 1388,549 1393,554 1393,554 1395,554 1392,550 1394,550 1392,546 1394,549 1397,550 1393,549 1394,554 1390,554 1391,549 1396,551 1396,547 1400,547 1402,551 1407,554 1412,554 1415,558 1418,463 -681,465 -677,465 -675,470 -670,470 -665,470 -660,470 -659,473 -656,476 -656,481 -655,482 -652,486 -654,486 -652,486 -648,491 -646,490 -651,494 -646,493 -644,493 -644,490 -644,491 2356,495 2359,495 2364,500 2359,503 5359,504 5364,509 5368,504 5367,499 5368,498 5371,498 5369,500 5370,504 5370,508 5370,511 5370,507 5374,508 5378,511 5382,507 5387,509 5389,512 5388,515 5393,520 5396,517 5397,517 5402,515 5404,520 5402,521 5405,525 5405,526 5408,530 7408,535 7413,533 7415,529 7412,532 7416,4532 7416,4534 7421,4533 7417,4536 7413,4536 7418,4540 3418,4545 3418,4549 3415,4551 3419,4554 3421,4559 3423,4559 3426,4557 3424,4561 3428,4558 3428,4563 3431,4565 3435,4569 3439,4569 3439,4569 3444,4567 3444,4572 3446,4577 3447,4581 3444,4581 3448,4584 3448,4579 3447,4580 3450,4583 3449,4583 3453,4587 3455,4588 3458,4593 3463,4598 3465,4601 3468,4598 3464,4598 3460,4593 5460,4595 5461,4600 5464,4600 5465,4601 5466,4606 5466,4608 5466,4605 5464,4608 5467,4607 5468,4609 5465,4614 5461,4618 5463,4621 5467,4623 5470,4622 5470,4622 5470,4625 6470,4627 6471,4627 6472,4627 6473,6627 6474,6625 6474,6628 6477,6633 6481,6633 6480,6637 6475,7637 6479,7638 6482,7643 6487,7644 6492,7647 6492,7648 6495,7646 6498,7650 6499,7646 6494,7644 6499,7644 6497,7644 6499,7647 6502,7649 6504,7650 6501,7647 6503,7649 6504,7650 6508,7651 6503,7652 6508,7655 6508,7650 6511,7655 6515,7658 6513,7663 6513,7665 6514,7669 6512,7667 6510,7664 6510,472 -675,477 -670,479 -666,482 -663,484 -668,484 -666,485 -664,481 -664,479 -659,482 -659,484 -658,483 -659,488 2341,493 2339,489 2338,491 2342,491 2346,494 2346,490 2348,493 2348,498 2349,498 2350,499 2349,502 2350,503 2348,506 2348,506 2348,507 2353,507 2355,504 2359,504 2364,504 2361,499 2365,502 2360,502 2358,503 2357,504 2353,504 2357,500 2356,497 2355,498 2355,500 2359,502 2361,505 2364,508 2364,506 2368,506 2370,504 2373,499 2373,496 2372,493 2377,497 2380,495 2383,496 7383,493 7386,497 7391,494 7387,495 7389,498 7392,498 7392,495 7395,493 7398,498 7401,498 7403,503 7400,498 8400,501 8401,503 8401,503 8401,501 10401,496 10396,491 10401,492 10399,493 10403,496 10403,491 10403,493 10407,489 10410,493 10407,489 10403,498 7403,497 7399,496 7403,500 7405,500 7407,503 7411,508 7415,511 7415,511 7420,515 7420,520 7423,523 7423,520 7427,523 7427,523 7427,522 7432,525 4432,527 4434,530 4437,534 4441,529 4446,529 4441,534 4436,537 4436,535 4437,532 4437,534 4432,535 4429,538 4430,542 4427,542 4431,538 4431,541 4431,541 4433,543 4433,545 4432,549 4428,552 4426,556 4427,557 4423,560 4427,561 4428,558 4430,559 4434,559 4432,561 4434,561 4437,563 4435,559 4430,561 4435,4561 4437,4566 4441,4568 4446,4568 4450,4569 4455,4565 4458,4561 4463,4561 9463,4564 9463,4565 9461,9565 9463,9560 9467,9560 9466,9555 9469,9555 9471,9559 9469,9557 9473,9553 9478,9555 9480,9557 9481,9557 9481,9557 9483,9562 9487,9558 9487,9558 9490,9561 9493,9562 9493,9557 9493,9560 9496,9555 9501,9553 9503,9553 9506,9557 9510,9558 9511,9561 9514,9563 9512,9568 9514,9567 9514,9567 13514,9570 13517,9566 13521,9571 13521,9571 13526,9573 13521,9571 13521,9576 10521,9580 10526,9582 10525,9584 10528,9584 10531,9584 10533,9589 10533,9588 10537,9588 10541,9589 10542,9593 10544,9595 10540,9597 10541,9600 10545,9601 15545,9603 15549,9605 15553,9601 15558,9601 15553,9605 15551,9605 15550,9605 15554,9607 15556,9605 15556,9604 15561,9607 15559,9603 15559,9603 15562,9604 15563,9608 15566,9612 15570,9617 15565,9622 15568,9627 15566,9628 15564,9629 15564,9633 15569,9636 15569,9634 15571,9634 15572,9636 15574,9634 15570,9629 15570,9631 15567,9629 15570,9626 15574,9626 15575,498 7401,502 7401,506 7397,506 7395,502 7398,497 7401,502 7402,505 7397,508 7400,504 7404,3504 7409,3505 7405,3508 7410,3511 7413,3511 7416,3511 7419,3511 7419,3513 7421,3517 7424,3519 7426,3520 11426,3523 11421,3527 11418,3530 11415,3530 11416,3533 11418,7533 11415,7531 11415,7531 11417,7536 11420,7541 11424,7543 11425,7543 11427,7543 11429,7540 11429,7542 11425,7541 11420,7542 11421,7542 11422,7540 11424,7540 11423,7543 11422,7546 11426,7550 11431,7553 11436,7555 16436,7553 16438,7558 16438,7559 16438,7560 16439,7565 16437,7560 16435,7563 16435,7566 16440,7566 16444,7564 16447,7559 16443,7561 16443,7566 16448,7570 16451,7574 16456,7578 16459,12578 16459,12578 20459,12577 20456,12581 20454,12585 20456,12585 20456,12585 20456,12583 20456,12579 20459,12580 20461,12580 20462,12580 20460,12585 20465,12586 20467,12590 20470,12590 20470,12589 20471,12584 20471,12589 20471,9589 20472,9594 20472,9595 20472,9596 20477,9598 20482,9603 20480,9608 20484,9613 20484,9610 20486,9608 20488,9608 20489,9610 20489,9614 20486,9619 20481,9620 20481,9618 21481,9621 21483,9626 21483,9628 21485,9623 21487,9622 21490,9626 21493,9621 21495,9626 21498,9622 21499,9624 21504,9625 21499,9629 21501,9633 21498,9637 21495,9639 21498,9644 21501,9557 9481,9560 9485,9561 9490,9563 9488,9560 9486,9558 9488,9561 9492,9563 9495,9567 9492,9567 9488,9564 9490,9559 9495,9559 9498,9557 9502,9562 9506,9564 9509,9569 9512,9569 9516,9569 9518,9569 9515,9571 9513,9571 9512,9573 9513,9578 9516,9581 9516,9585 11516,9585 11521,9590 10521,9586 10524,9589 10529,9589 10527,9589 10527,9594 10532,9594 10534,9598 10536,9598 10540,9600 10542,9604 10538,9607 10538,9609 10543,9613 10538,9613 10533,9613 10537,9610 10537,9614 10542,9609 10542,9610 10543,9610 10548,9611 10553,9616 7553,9620 7553,9621 7557,9618 7559,9618 7554,9622 7557,9622 7561,9622 7556,9622 7560,9619 7560,9620 7565,9622 7563,9627 7566,9630 7570,9630 7571,9632 7573,9637 7576,9639 7578,9640 7576,9640 7579,9640 7575,9642 7570,9646 7570,9651 7574,9653 7577,9652 7572,9653 7576,9653 7576,9651 7581,9656 7585,9660 7586,9659 7591,9657 7594,9661 7598,9664 7602,9668 12602,9673 12604,9676 12606,9679 12602,9682 12605,9677 12610,9674 12606,9674 12601,9674 12603,9672 9603,9668 9605,9671 9606,9668 9611,9668 9606,9671 9611,9675 9615,9677 9620,9678 9622,9679 9624,9684 9626,9685 9627,9685 9622,9685 9626,9689 9628,9694 9633,9699 9637,9699 9637,9704 9636,9708 9637,9709 9638,9707 9639,9705 9642,9707 9647,9710 9649,9711 9653,9716 9649,9716 9648,9720 9650,9721 9648,9723 9648,9726 4648,12726 4653,12731 4655,12734 4660,12730 4661,12733 4664,12733 4665,12735 4670,12737 4674,12741 4674,12738 4675,12740 4675,12737 4675,12742 4678,12743 4681,12746 4677,12751 4675,559 4430,563 4430,565 4435,566 4440,561 4445,562 4447,564 4450,561 4453,563 4453,561 4458,561 4458,562 4453,566 4454,571 4458,571 4460,574 4461,574 4464,579 4466,579 4470,582 4468,586 4470,590 4468,593 4468,594 4470,596 4474,591 4475,591 4480,594 4482,597 4486,593 4486,595 4486,598 4490,600 4492,3600 4497,3598 4497,3598 4494,3599 4493,3600 4497,3600 4494,3604 4498,3604 5498,3600 5497,3602 5493,3602 10493,8602 10498,8606 10494,8605 10495,8606 10496,8605 10500,8605 10500,8603 10499,8601 10502,8602 10505,8603 10501,8608 10503,8608 10508,8609 10503,8610 10505,8613 10504,8615 10506,8616 10508,8612 10513,8613 10517,8615 10520,8617 10521,8621 10524,8624 10524,8624 10524,8624 10519,8625 10514,8626 10519,502 7402,503 7399,506 7404,543 1379,548 1379,550 1380,553 1379,558 1376,556 1376,558 1372,559 1372,560 1377,565 1374,568 1375,568 1379,572 1382,570 1384,575 1386,576 1389,576 1394,579 1398,583 1403,586 1401,586 1401,591 1400,593 1402,598 1407,601 1412,546 1394,550 1396,553 1396,555 1394,4584 3448,4585 3450,4583 3450,4588 3451,4590 3449,4595 3449,4599 3454,4603 454,5603 458,5604 458,5605 453,5610 457,5614 459,5619 463,5621 466,5618 466,5623 465,5627 466,5625 471,5626 476,5630 479,5635 484,9635 488,9639 488,9641 483,9644 484,9649 484,5649 488,5649 492,5651 497,5656 497,5661 499,5665 504,5666 500,5666 497,5666 499,5666 499,5666 501,5670 502,5670 504,5670 507,5673 502,5677 506,4677 507,4682 509,4682 511,3682 510,3679 514,3683 510,3686 515,3684 518,3686 522,3689 527,3690 527,3688 529,3690 533,3692 530,3691 532,3695 529,3696 529,3701 533,3701 535,3699 540,9610 10543,9612 10545,9615 10548,9617 10548,9619 10550,9624 10548,9627 10549,9625 10553,10625 10553,10626 10555,500 7407,500 7407,500 7411,505 7413,505 7411,502 7415,504 7415,508 7411,511 7411,506 7412,506 7410,3506 7411,3507 7415,3509 7417,3511 7417,3513 7418,3516 7422,3518 7422,3518 7426,3513 7430,3515 7435,3520 7435,3521 7437,3526 9437,3526 9434,6526 9437,6526 9438,6526 9438,6527 9441,6528 9439,6523 9441,6518 9445,6522 9446,6526 9447,6529 9451,6529 9455,6530 9459,6532 9457,3532 9460,3536 9461,3537 9466,3541 9466,3544 9466,3546 9468,3549 9467,3553 9470,3551 9470,3551 9474,3552 9473,3547 9473,3547 9473,3547 9476,3552 9481,3553 9486,3555 9490,3556 9491,3559 9495,3560 9493,3563 9494,3563 9494,3565 9495,3565 10495,3568 10496,3573 10501,3574 10501,3576 10502,3578 10503,3578 10504,3580 10508,7580 10505,7578 10508,7578 10511,7578 10508,7581 10508,7582 10511,7577 10510,7577 10514,7573 10516,7578 10520,7580 10525,7581 10530,7585 10532,7590 10535,7594 10540,12594 10540,12591 10545,12595 10548,12595 10543,12597 10547,12597 10542,12595 10545,12595 10546,12600 10550,12605 10550,12606 10546,12604 10548,12605 12548,12605 12546,12607 12548,7607 12552,7611 12557,7608 12557,7608 12553,7611 12553,7610 15553,7608 15550,7610 15551,7607 14551,7607 14556,7606 14561,7602 14561,7602 14566,7601 14565,7606 14565,7605 14570,7608 14568,7609 14571,7613 14572,7614 14572,7616 14574,7613 14573,7615 14570,7618 14570,7615 14574,7617 14575,7614 14578,7616 14582,7617 14584,7617 14584,7618 14589,7622 14590,7619 14592,7624 14593,7628 14596,7632 14601,7627 14601,7629 14603,7629 14603,7630 14608,7631 14611,7626 14611,7628 14611,7628 14616,7624 14617,7619 14618,7624 14618,7626 16618,10626 16620,10624 16620,10629 16619,10633 16624,10636 16624,10638 16624,10643 16624,7643 16625,7643 16630,7643 16625,7647 16629,7648 16628,7649 16633,7650 16633,7650 16634,7645 16635,7646 16632,7642 16635,7643 16635,7643 16630,7638 16634,7640 21634,7645 21633,7650 21634,7651 21639,7652 21641,7655 21636,7651 21640,7654 21635,7655 21637,7660 21640,7656 21643,7661 21644,7663 21645,7667 21642,7669 21644,7674 21645,7674 21649,7677 21647,7672 22647,7672 22650,7667 22650,7667 22647,7671 22646,7672 22648,7673 22651,11673 22653,11672 22654,11670 22652,11671 22656,11673 22656,11674 22654,11678 22658,11678 22656,11675 22659,11680 22659,11685 22664,11687 22659,11687 22664,11687 22664,11692 22669,11696 22673,11701 22678,11696 22683,11696 22687,11691 22688,11695 22683,11691 22688,11696 22691,11695 22691,11700 22695,11702 22693,11705 22696,11710 22699,15710 22700,15712 22704,15707 22708,15712 22708,15715 22708,15720 22709,15725 22712,15723 22714,15724 22719,15727 22718,15727 22718,15731 22713,15730 22715,15734 22717,18734 22722,18729 22724,18725 22728,18729 22732,18733 22734,18736 22730,18740 22733,18740 22735,18742 22731,18741 22732,18744 22736,18749 22735,18754 22739,18754 22741,18756 22745,18758 22746,18760 22750,18764 22751,18764 22753,18764 22754,18767 22750,18767 22753,18767 22756,18772 22761,18777 22757,22777 22757,22780 22760,22776 22758,22776 22760,22772 22760,22775 22760,22777 22762,22774 22759,22775 22764,22772 22764,22767 22766,22768 22771,22771 22771,9589 10527,9593 10528,9598 10533,9600 10534,9597 10534,11597 10535,11602 10539,11603 10544,11598 10543,11601 10543,11605 10544,11609 10545,11611 10542,11615 10540,11615 10542,11616 10544,11619 10544,11621 10544,11623 10542,11619 10544,11620 10549,11616 10549,11618 10550,11619 10552,11622 10555,11622 10556,11623 10556,11621 10556,11625 10561,11625 10564,11625 10566,11628 10563,11630 10567,11628 10572,11626 10575,11628 10575,11632 11575,11636 11576,11638 11577,11638 11578,11638 11581,11639 11579,11643 11574,11646 11573,11650 11574,11647 11579,11648 11580,11653 11581,9571 9513,9571 9516,9571 9516,9574 9521,9572 9525,9573 9528,9573 9529,9578 9531,9583 9526,9581 9531,9576 9535,9578 9533,9583 9535,9583 9539,9587 9544,9590 14544,9595 14544,9598 14545,6598 14549,6598 14551,6599 14552,11599 14556,11602 14558,11598 14558,11598 14561,11602 14565,11603 14565,11603 14564,11603 14568,11604 14573,11605 14568,11607 14568,11607 14570,11607 14572,11607 14567,11611 14572,11611 14571,11607 14571,11609 14569,11605 14569,11606 14570,11606 14573,11607 14577,11610 14578,11609 16578,11609 16582,11607 16579,11605 16581,11606 16576,11605 11576,11608 11578,11610 11583,13610 11583,13614 11578,13616 11582,13617 11587,13617 11583,13621 11585,13626 11589,13621 11589,13621 11591,15621 11591,15625 11591,15630 11595,15631 11596,15634 11598,15638 11603,15642 11608,15643 11612,15642 11614,15646 16614,15648 16610,15648 16614,15648 16614,15647 16614,15652 16611,15654 16616,15655 16611,15651 16612,15655 16615,15659 16617,18659 16616,18660 16611,18660 16616,18664 16621,18668 16626,9673 12604,9674 12605,9676 12605,9679 12605,9682 12606,9680 12606,9680 12609,9681 12612,9684 12616,9688 12620,9691 12624,9686 12621,9686 12625,9686 12630,9684 12634,9686 12634,9687 12639,9686 12637,9683 12634,9685 12632,9689 12632,9689 12629,9692 12629,9692 12632,9695 12636,9693 12641,9692 12645,9692 16645,9694 16646,9698 16650,9698 16651,9693 16651,9693 16652,9693 16655,9692 16652,9693 16655,9689 16658,9689 16658,9692 16661,9696 16665,9698 14665,9701 14668,9702 14664,9703 14663,9702 14667,9707 14667,9711 14672,9716 14673,9719 14677,11719 14673,11720 14674,11721 14672,11725 14672,11729 14667,10729 18667,10732 18667,10727 18669,10730 18665,10732 18670,10737 18665,10737 18670,10742 18674,9742 18674,9741 18675,9742 18676,9746 18678,9751 18677,11751 18679,11751 18684,11753 18687,11757 18692,11757 18690,11761 18691,11761 18692,11766 18697,11769 18701,11771 18696,11774 18697,11774 18701,8613 10517,8611 10522,8611 10522,8616 10521,8619 10523,8622 10521,8623 10518,8623 10518,8624 10518,8624 10521,8629 10523,8633 10518,8635 10514,8640 10514,8642 10514,8646 10514,8647 10517,8644 13517,8649 13518,8653 13522,12653 13522,12653 13526,12657 18526,12653 18527,12657 18532,12660 18535,12656 18537,12660 18539,12658 18537,13658 18541,13657 18545,13657 18547,13660 18551,13665 18554,13665 18556,13665 18559,13665 18556,13668 18560,13672 18564,13672 18566,13676 18568,13676 18568,16676 18568,16681 18568,16678 18568,16682 18573,16681 18577,16686 18575,16686 18571,16686 18576,16684 18578,16684 18578,16681 18581,16684 18584,16683 18586,16687 18581,16682 18583,16677 18582,16676 18583,16681 18585,16679 14585,16677 14590,16682 14591,16686 14587,16691 14587,16696 14585,16696 14583,16697 14587,16702 14589,16704 14594,16699 14594,16704 14594,16704 14599,16705 14604,16708 14608,16713 15608,16717 15613,16721 15618,16721 15623,16724 15628,19724 15630,19726 15627,19729 15628,19725 15626,19720 15631,19724 15635,19728 15634,19729 15632,19730 15630,19733 15633,19734 15634,19736 15636,19741 15634,19739 15634,19744 15634,19749 15630,21749 15633,21747 15637,21749 15641,21749 15641,21745 15645,21748 15650,21749 15655,21751 15660,21753 15660,21755 15656,21752 15658,21751 15658,21753 15658,21754 15661,21754 15665,21754 15667,21757 15668,21753 16668,21753 16670,21757 16673,21759 16670,21756 16670,21760 16673,21757 16676,21761 16680,21765 16685,21768 16686,21769 16690,21769 16688,21769 16686,21766 16686,21768 16688,21773 16687,21778 16690,21781 16690,21780 16694,21780 16693,24780 16695,24777 16700,24782 16702,24787 16701,24787 16697,24787 16700,24792 16704,24787 16701,24788 16701,24789 16706,24792 16706,24797 16706,24800 16710,24805 16711,24805 16715,24810 16710,24809 16714,24813 16717,24817 16718,24817 16720,24819 16722,24815 16725,24812 16727,24811 16727,24814 16730,24819 16726,24821 16729,24826 16731,24830 16736,23830 16741,23826 16746,23827 16747,23829 16749,23833 16752,23835 11752,27835 11757,27837 11756,27834 11756,27835 11757,27838 11759,27833 11763,27834 11766,27839 11770,27844 11770,27849 11772,27849 11773,27849 11773,27854 11777,7581 10530,7582 10533,7581 10529,7583 10530,7584 10529,7584 10533,7582 10535,7586 10535,7589 10530,7592 10526,7592 10529,7589 10525,7592 10528,7596 10524,7600 10529,7602 10530,7599 10530,7594 10531,7598 10526,7601 10531,7605 10535,7609 10539,7612 10544,7610 10544,7612 10540,7608 10541,7610 15541,7613 15546,7617 15548,7618 15547,7620 15544,7620 15546,7621 15547,7624 15551,7628 15554,7631 15558,7631 15553,7636 15556,7637 15558,7637 15554,7641 15556,7644 15556,7648 15559,7651 15560,7647 15563,7650 15564,7650 15559,7652 15561,7650 15562,7651 15562,7651 15567,7655 15568,7653 15569,2653 15573,2657 15577,2662 15579,2663 15582,2663 15587,2665 15589,2669 15589,2669 15587,2673 15591,2673 15595,2677 15597,2677 15599,2680 15601,2683 15606,2687 15606,2683 15609,2688 15606,2692 15607,2693 15607,2698 15610,2698 15611,7698 15613,7702 15616,7704 15618,7699 19618,7703 19620,7698 19624,7698 19624,7701 19627,7699 19628,7704 19624,7708 19622,7712 19617,7714 19615,7710 19612,7715 20612,3715 24612,3720 28612,3724 28610,3727 28610,3728 28608,3725 28603,3729 28605,3733 28604,3734 28603,3737 32603,3739 32606,3740 32609,3739 32613,3738 32613,3735 32615,3739 31615,3739 31610,3743 31606,6743 31601,6743 31603,8743 31601,8743 31605,8748 35605,8748 35610,8752 35615,8751 35615,8752 35620,8755 35620,8760 35620,8765 35624,8760 35627,8764 35626,8761 35631,8763 35635,8767 35636,8767 35632,8767 35635,8771 35630,8775 35631,8778 35632,8775 35632,3775 35633,3775 35637,3774 35639,3772 35641,8772 35645,8772 35645,8773 35648,8768 35651,8764 35651,8769 40651,8764 40653,8767 40653,8770 40654,8771 40657,8775 40658,8777 40663,8779 40666,8783 40670,8783 40674,8787 40675,8789 40670,8789 40674,8792 40672,8795 40675,8796 40672,8800 40676,8800 40676,8800 40679,498 7392,503 7390,504 7390,507 7395,509 7395,509 7397,514 7400,6529 9451,6529 9451,6524 9451,6527 9452,6527 11452,6527 11456,6528 11457,6529 11458,6531 11461,6535 11463,6535 11467,6530 11472,6532 11472,10532 11473,10533 11473,10537 11476,10540 11473,10540 11473,10544 11474,10544 11474,10544 11472,10544 11470,10539 11475,10539 11478,10542 12478,10545 12483,10546 12488,10547 12492,10552 12493,10552 12490,10556 12490,10558 12493,10560 12495,10555 12496,10557 12491,10556 12491,10556 12490,10553 12494,10558 12497,10559 12502,10564 12505,21753 16670,21754 16672,26754 16674,26757 16676,26761 16679,26756 16682,26761 16683,26763 16684,26766 16689,26771 16692,28771 16687,28774 16687,28776 16692,28777 16695,28781 16695,28785 16690,28789 16691,28786 16688,28789 16690,28792 16688,28793 16687,28795 16690,28793 16695,28791 16692,28793 16695,28790 16696,28790 16700,28792 16700,28793 16701,28794 16701,28794 13701,28796 12701,28799 12701,28799 12706,28800 12701,28801 12705,28803 12708,28807 12708,28808 15708,28810 15712,28811 15709,28813 15709,28813 11709,28817 11709,7618 14589,7620 14587,7625 14589,7626 14584,7631 14586,7632 14588,7637 14589,7642 14592,536 1374,540 5374,542 5378,542 5383,-2458 5388,-2457 5388,-2455 5393,-2452 5393,-2452 5391,-2448 5389,-2448 5390,-2449 5393,-2445 5388,-2441 5392,-2436 5397,-2432 5397,-2430 5397,-3430 5399,-3429 5404,-3430 5405,-3427 5407,-3422 5409,-3421 5411,-3421 5411,-3421 5407,-3417 5410,-3418 5410,-3422 2410,-3417 2414,-3416 2418,-3412 3418,-3407 3422,-3407 3426,-3406 3429,-3404 3433,-3403 3435,-3398 3439,-2398 3441,-2399 3442,-2397 3446,-2395 3447,-2394 3443,-2398 3445,-2398 3443,-2393 3446,-2391 3450,-2387 3451,-2390 3455,-2385 3457,-2383 3457,-2382 3462,-2379 3467,-2384 3467,-2383 3467,-2381 3470,-2383 3471,-2385 3474,-2383 3479,-2383 3481,-2383 3479,-2382 3484,-2380 3489,-2385 3487,-2384 3490,-2384 3490,-2383 3492,-2383 3495,-2378 3499,-2377 3495,-2378 3498,-2375 3500,-2375 3505,-2373 3503,-2373 3505,-2374 3505,-2374 3506,-2369 3511,-2364 3516,-2361 3516,-2356 3520,-2354 3524,-2353 3529,-2356 3533,-2351 3538,-2354 3542,-2349 3545,-2349 3547,-2347 3550,-2352 3547,-2355 3551,-2353 3556,-2353 3556,-2349 3554,-2352 3553,-2351 3558,-2348 3554,-2346 3556,-2344 3559,-2347 -441,-2352 -437,-2348 -440,-2345 -435,-2343 -440,-2343 -436,-2339 -432,-2339 -431,-2337 -429,-2337 -434,-2341 -431,-2345 -427,-2349 -426,-2350 -422,-2348 -418,-2344 -415,-2349 -415,-2345 -413,-2345 3587,-2344 3583,-2344 3580,-2339 5580,-2335 5583,-2336 5582,-2331 5587,-2330 5582,-2329 5582,-2337 -434,-2333 -433,-2330 -2433,-2327 -2435,-2331 -2433,-2328 -2433,-2328 -2429,-2325 -2429,-2320 -2428,2680 -2428,2684 -2424,2685 576,2685 579,2682 582,2684 584,2679 584,2674 585,2671 587,2673 583,2673 581,2677 581,2680 580,2681 584,2684 580,2681 582,2685 585,2690 583,690 587,691 584,694 584,694 585,692 583,694 584,693 588,28793 16695,28791 16694,28793 16698,28797 16703,28798 16707,28797 16712,28797 16715,28795 16717,28799 16712,28795 16710,28800 16707,28805 16705,28807 16702,28802 16705,28803 16701,28805 16703,28803 16698,28803 16700,28805 16704,28809 16699,28812 16702,28808 16703,28813 16700,28817 16703,28819 16704,28816 16709,28812 16708,28809 16708,28809 16707,28814 16709,28812 16712,28807 16717,28807 16717,28809 16717,28807 16717,28811 16717,28814 16722,28815 16719,28819 16719,28819 16724,28819 16726,28814 16727,28814 16722,28817 16726,28820 16730,28821 16730,28816 16733,28821 16737,28823 16741,28818 16741,28822 16744,28819 16747,28815 16748,31815 16748,31819 16748,31817 16746,31818 16749,31819 16747,31817 16748,31820 16746,31816 18746,31820 18746,31815 18742,31815 18744,31818 18740,31819 18735,31824 18735,31829 18738,31834 18742,31837 18745,31837 18748,31842 18749,31847 18749,31851 18749,31854 18750,31854 18749,31852 18752,31847 18754,31850 18758,31855 22758,31857 22760,31861 22759,31859 22761,31856 22764,31856 22768,31856 22768,31856 22770,31858 22765,31863 22766,31862 22770,31860 22772,31856 22776,31861 22775,31866 22780,31870 22780,31871 22782,31871 22779,31866 22781,31870 22781,31870 22786,31873 22786,31877 25786,31877 25791,31877 25796,31880 25800,31882 25804,31885 25809,31885 25812,31886 25815,31888 25815,31890 25820,31890 25821,31889 25821,31885 25817,31889 25814,31887 25815,31890 25819,31892 25820,31896 25816,31897 25817,31902 25818,31904 25823,31908 25825,31910 25828,31914 25825,31909 25825,31912 25829,31907 25829,31911 25834,31912 25838,31911 25837,31914 25837,31918 25836,31918 25831,31914 25831,31912 25826,32912 25830,32915 25833,32911 26833,32912 26834,32915 26839,32913 26839,32915 26835,32917 26837,32922 26832,32924 26834,32926 26835,32921 26840,33921 26835,33923 26836,33927 26837,33925 26833,33926 26836,33931 26837,33929 26837,33932 26842,33934 26842,33935 26847,33940 26850,33935 26848,33931 28848,33929 28852,33925 28849,33927 28849,33929 28852,33927 28850,33929 28854,33931 28854,33935 28854,28935 28854,28935 28849,28938 28854,28942 28855,28944 28860,28942 28861,28941 28863,28942 28860,28942 28856,28947 28858,28951 28857,28953 28861,28953 28860,28956 28863,28957 31863,28957 31867,28960 31869,28962 31869,28964 31872,28965 31877,28969 31881,28965 31882,28967 31886,28969 31888,28964 31892,28960 31895,28961 31893,28966 31896,28967 31901,28963 31903,28961 31908,28964 31908,28964 31904,28960 31904,28961 31905,28960 31905,28965 31906,28966 31909,28967 28909,28967 28909,28970 28910,28966 28914,28965 28918,28966 28918,9626 21498,9621 21498,9622 21501,9618 21504,9621 21505,9624 24505,9622 24505,9625 24508,9626 24511,9631 24516,7631 24512,7631 24507,7632 24506,7635 24504,7638 24507,7636 24502,7639 24507,7644 24508,7648 24512,7648 24512,7650 24512,7651 24514,7655 24517,7659 27517,10659 27520,10661 27524,10664 27523,10666 27528,10666 27523,10665 27524,10667 27529,9667 27534,9670 27534,9668 27534,9667 27533,9670 27533,9670 27538,9670 27540,9675 27538,9679 27538,9683 27543,9680 27538,9682 27540,9685 27545,9683 27546,9683 27547,9678 27548,9680 27548,9684 27549,9685 27545,9690 27546,9690 27548,9692 27550,9697 27553,9698 27557,9702 27553,9702 27548,9702 27549,9706 27551,9701 27551,9701 27551,9697 27546,9696 27549,9697 27553,9699 27557,9698 27558,9696 27560,9701 27556,9705 27552,32912 25830,32913 25829,32916 25830,36916 25828,36916 25831,36916 25835,39916 25837,39911 25842,39913 30842,39910 30844,39910 30845,39908 30848,39911 30852,39913 30856,39918 30857,493 10403,498 10406,498 10406,493 10406,497 10404,493 10409,493 10414,497 10416,496 10418,499 10423,500 10427,505 10429,510 10429,515 10431,515 10433,515 10433,512 10434,5666 500,5666 500,5668 505,5669 509,8669 2509,9669 2505,9672 2505,9675 2509,9670 2510,14670 2513,14675 2512,14671 2512,14673 2513,14671 2517,14674 2515,14679 2520,14676 2524,17676 2519,17677 2520,17678 2523,10558 12497,13558 12492,13558 12490,13560 12494,13561 12499,13563 12503,13568 12508,13572 12512,13572 15512,13573 15515,13569 15518,13566 15522,13571 15522,13572 15522,13575 15527,13576 15532,13573 15534,13575 15535,13572 15538,13574 15541,13571 15546,13571 15541,13568 15541,11605 16581,11608 16576,11613 16575,11612 16577,7612 16581,7614 16582,7617 16587,7616 16591,7617 19591,7619 19595,7620 19598,7624 19598,7625 19599,7624 19595,7625 14595,7627 14597,7626 14599,7628 14604,7628 14605,7633 14610,7632 14615,7632 14620,7631 14621,7631 14621,7631 14621,7627 14621,7632 15621,7635 15626,7636 15627,7637 15631,7633 15636,7635 15636,7631 15631,7631 15631,7634 18631,7630 18632,7629 18633,7632 18630,7633 18631,7638 18632,7638 18632,7638 18633,7633 18638,7637 18642,7639 18639,7639 18641,7643 18643,7647 20643,7648 20647,7643 20643,7648 20640,7649 20645,7650 20641,7650 20642,7650 20645,5650 20646,5654 20646,5654 20643,5651 20645,5648 20645,5653 20650,5653 20650,5654 20653,5655 20655,5659 20660,5664 20664,5668 20669,5668 20672,5670 20677,5675 20677,5678 20677,5680 20678,5680 20680,5679 20680,5682 20683,5681 20681,5682 20682,5685 20682,5685 20687,5685 20691,5685 20694,5685 20696,5685 20698,5686 20697,5688 20698,5688 20697,5688 20696,5689 20696,5694 20701,5695 20700,5697 20704,5697 20708,5694 20708,5694 20708,5694 20713,5691 20713,1691 20713,1689 23713,1694 23714,1696 23714,593 1402,593 1406,595 1410,598 1413,603 1418,602 1422,601 1422,602 1418,606 1423,607 1424,603 1429,605 1433,609 1429,614 1429,610 1429,610 1429,614 1429,610 3429,612 3425,616 3429,620 3429,624 3432,628 3436,628 3436,628 3441,632 3441,628 3445,626 445,631 449,631 453,630 455,626 -1545,630 -1542,630 -1538,630 -1542,630 -1541,633 -1536,631 -1534,626 -1536,630 -1535,630 -1532,635 1468,637 1471,642 1476,642 1477,642 1478,643 1481,643 4481,638 7481,638 7483,643 7486,645 7484,9668 27534,9669 27537,9671 27538,9672 27539,9673 27544,9674 27544,9673 27546,9671 27546,9667 27542,9666 27546,9667 27543,9672 27544,9675 27548,9676 27546,9676 27541,9681 27538,9681 27540,9686 27544,9686 27547,9690 27544,9687 27545,9691 27549,9693 24549,9694 24546,9692 24548,9697 24553,9694 24555,9695 24560,9696 24555,9700 24551,9704 24547,9703 24549,9705 24551,9705 24554,9705 24554,9705 24557,9707 24561,9706 24557,9711 24562,9715 24566,9720 24568,9717 24569,9720 24573,9725 24573,9726 24575,9729 24577,9734 24575,9735 24578,9735 24582,9731 24583,9726 24586,9727 24586,9728 24589,9733 24592,9734 28592,9734 28592,13734 28594,13737 28595,13740 28595,13744 28598,13739 28600,13742 28601,13744 28597,13742 28602,13744 28602,13744 28598,13745 28603,13744 28608,13749 28609,13749 28609,13754 28606,13758 28610,13759 28609,13760 23609,13761 23611,13763 23616,13768 23618,13769 24618,13768 24617,13773 24613,13773 24613,13778 24617,13776 24620,13778 24619,13779 24620,13781 24625,13785 24625,13785 24622,16785 24617,16786 24617,16790 24617,16794 24622,16795 24626,16798 24630,16796 24631,16796 24636,16799 24638,16804 24637,16808 24637,16809 24632,16814 24627,16809 24627,16814 24632,16818 24628,16816 24627,16820 24622,16820 24627,16824 24632,16823 24637,16824 24642,16826 24644,16824 24648,16826 24648,16826 24652,16829 24652,16829 24656,16828 24651,16832 24653,16827 24648,16828 24645,16828 24647,16831 24645,16832 24649,16835 24653,16839 24656,16839 24654,16840 24659,16841 24658,16845 27658,16845 27658,16840 27659,16837 27659,19837 27654,19841 27654,19836 27657,19839 27659,19839 32659,19839 32659,19839 32664,19840 32668,19842 32671,19847 32671,19851 32673,19856 29673,19856 29670,19858 29675,19860 29676,19865 29677,19868 29677,19868 29674,19872 29675,19872 29674,19874 29669,19876 29667,19876 29670,19878 29675,19883 29675,19883 29675,19879 29676,19879 29673,19880 29674,19880 29679,19876 29676,19876 29677,19879 29673,19880 29677,19879 29678,19881 29681,19882 29683,19882 29681,19887 29681,19888 29681,19891 29684,19896 29688,14896 29689,14896 29693,14899 30693,14903 30698,14908 25698,14910 25698,14911 25698,14914 25699,14910 25695,14910 25696,14914 25697,14917 25692,14921 27692,14925 28692,14920 28694,14924 28698,14924 28699,11924 28697,11928 28692,11932 28687,11937 28691,11941 28694,11940 28699,11944 28701,11940 28701,11940 28701,11943 28699,11945 28703,11947 28706,11951 28711,11953 28714,11956 28709,11961 28708,11966 28703,11969 28705,11967 28709,11967 28714,11964 28719,11969 28719,14969 28720,14970 28717,14973 28714,14976 32714,14976 32711,14977 32711,14980 32709,14984 32709,14987 32711,14988 32715,14993 32719,14994 34719,14994 34721,12994 34724,12994 34726,12998 34727,13000 34729,13002 34729,17002 34732,16998 34736,16999 34735,17000 34740,16999 32740,17001 32745,17001 32741,17005 32746,17006 32751,17010 33751,17008 33754,17013 33758,17013 33760,17010 33759,17010 33759,17009 33762,17013 33766,17017 33766,17020 33762,17015 33766,17019 33762,17022 33762,17017 33766,17014 33762,17018 33767,17019 33764,17021 33764,17023 33764,17019 33764,17022 33760,17024 33758,17029 33759,17033 33760,17028 33764,17023 33764,17028 33769,17031 33774,17034 33778,17029 33780,17034 33783,17030 33785,17032 33781,17035 33776,17038 33775,17040 33775,17041 33778,17045 33778,17049 31778,17050 31782,17052 31780,17054 31781,17051 31783,17053 31783,17049 31779,17050 31779,21050 31782,21053 31783,21054 31778,21056 31781,22056 31786,22052 31783,22050 31786,31882 25804,31887 25800,31887 25801,9610 10543,9612 10548,9614 10553,9614 10558,9614 10553,9616 10556,9620 8556,9623 8554,9628 8559,9630 8564,9630 8568,9628 8566,9628 8570,9630 8574,9634 8574,9634 8570,9635 8569,9635 8566,9632 8568,9637 8571,9638 8572,9639 8568,9643 8568,9646 8572,9646 8570,9651 8575,9650 8578,9653 8581,9654 8583,9653 8586,9655 13586,7655 13586,7660 13591,4660 13590,4663 13590,4666 13592,4671 13597,4673 13596,4678 13599,4682 13600,4685 13601,4683 13603,4685 18603,4683 18604,4685 18606,4690 18608,4690 23608,4693 23606,4693 23606,4697 23603,4702 23608,4704 23613,4704 23615,4709 23614,4708 23615,4711 23619,4711 23619,4713 23622,4713 23626,4711 23630,4715 23631,4712 23635,4714 23640,4718 23640,4719 23642,4721 23640,4721 23639,4726 23644,4730 23648,4725 27648,4723 27648,4727 27651,4731 27654,4733 27656,4737 27657,4742 27660,4745 27661,4750 27660,4751 27664,4754 27659,4759 27659,4755 27664,4757 27665,4752 27665,4754 27667,4750 27670,4750 27674,4753 27678,4753 27682,4758 27682,4758 27683,4760 27679,4762 27679,4764 27682,4769 27678,4773 32678,4773 32675,4771 32675,4767 32679,4772 32684,4775 32684,4778 32684,4775 35684,4775 35679,4775 35680,4779 35683,4779 35683,4784 35683,4789 35680,4790 35685,4791 35687,4791 35688,4792 35683,4792 35688,4792 35688,4797 35690,4799 35693,4803 35692,4803 35694,4803 35695,4808 35695,4812 35698,4816 35702,4815 35706,4811 35711,4811 35708,4813 35710,4813 35710,4814 35714,4815 35718,4820 35722,4816 35719,4819 35719,4824 35722,4826 35719,4830 35724,4832 35728,4835 35725,4840 35726,4840 35729,4840 35733,4840 35733,4841 35732,4844 35728,4848 35730,4849 35733,4849 35734,4849 35736,4847 35737,4847 35738,4843 34738,4846 34739,9846 37739,9850 37743,9853 37745,9857 37749,9852 37752,9852 37751,9852 37748,9852 37751,9851 37753,9848 37756,9843 37759,9841 37759,9840 37764,9837 37767,9842 37764,9845 37764,9840 37765,9842 37770,9842 37774,9846 37775,9851 37778,9854 37783,9854 37779,8854 37783,8851 37787,8856 37791,8859 37794,8860 37793,8855 37794,8857 37798,8859 37797,8860 37797,8860 37802,8861 37804,8863 37804,8863 37805,8865 37808,8866 37811,8866 37811,8862 37811,8859 37811,8864 37816,8864 37816,8867 37817,8872 37819,8867 37822,8871 37819,8875 37817,8876 37819,8876 37822,8871 37818,8873 37823,8877 37822,8879 37820,8880 37824,8881 37826,8884 37825,8887 37827,8884 37829,6637 6475,6637 6471,6635 6469,6640 6474,6641 6478,11641 6476,11644 6471,11639 6467,11638 6464,11642 6464,11646 6459,11647 6462,550 1394,551 1395,552 1399,548 1401,552 1400,547 1405,551 1406,556 1407,558 1410,558 1411,560 1413,565 1418,561 1423,-2378 3499,-2378 3502,-2378 3504,-2374 3501,-2371 3505,-2367 3507,4607 5468,4611 5471,4614 5472,4619 8472,4621 8473,4624 8477,4629 8474,4633 8476,4635 8478,4638 8475,4640 3475,4642 3479,4645 5479,4645 5482,4644 5486,4641 5486,4639 5488,4635 5491,4631 5488,8631 5485,8635 4485,8630 4488,8628 4488,8630 4486,8635 7486,8640 7482,8641 8482,8642 8483,8643 8483,8643 8483,8640 8488,8641 8489,8638 8487,8641 8491,500 5370,502 5368,504 5369,504 5371,506 5375,505 5376,509 5381,509 5381,504 5380,505 5375,509 5379,513 5382,513 5382,515 5382,517 5379,3517 5381,3519 5381,3520 5384,3523 5387,3521 5388,3521 5390,3520 5385,3519 5380,4519 5383,4524 5387,4523 5392,4525 5389,4530 5384,4525 5384,4526 5386,4531 5390,4531 5387,4530 5389,4534 5388,4538 5391,4541 5386,4542 5390,7542 5393,7547 5398,7548 5399,7547 5397,7543 5401,7544 5405,7545 5403,7545 5408,7546 5409,7550 5414,3550 5416,3550 5417,3548 5417,3543 5417,3543 5412,3548 5412,548 5412,552 10412,555 10414,557 10410,560 10411,563 10416,2563 10418,2564 10422,2559 10426,2555 10423,2560 10421,2563 10418,2565 10419,2569 10421,2573 10421,2573 12421,2572 12425,2571 12428,2576 12428,2581 12433,2583 12435,2581 12434,2576 12439,2581 12442,2581 12443,2581 12438,2579 12442,2575 12447,2573 12445,2577 12445,2582 12441,2587 12436,2589 16436,2590 16433,2586 16437,2586 16439,2588 16434,2589 16436,2590 16433,2593 16434,2590 16432,2593 16432,2590 16437,2594 16439,2599 16442,2600 16447,2605 16450,2605 16454,2604 16451,2608 16447,2612 16442,2613 16446,2618 16451,2623 16455,2626 16457,2629 16457,2630 16460,2630 16460,2632 16464,2636 16464,2639 16467,2638 16471,2643 16476,2643 16479,2645 16484,2645 16481,2649 16482,2652 16480,2648 16476,2649 16476,2649 16481,2644 16485,6644 16488,6647 16488,6647 20488,6647 20493,6652 20497,6656 20498,6661 20503,6656 20507,6656 20511,6656 20512,7540 11429,9674 12603,11674 12599,11675 12594,11674 12599,11678 12601,11681 12603,13681 12603,13684 12603,13684 12603,13686 12603,13689 12603,13693 12605,13695 12601,13695 12603,13697 12602,13701 15602,13703 15603,13704 15601,13706 15597,13711 15598,13711 15603,13715 15603,13714 15600,13713 15598,13717 15603,13722 15605,13726 15607,13727 15612,13727 15612,13731 15614,13733 15616,13728 15616,13730 15617,13734 15614,13736 15617,13739 15614,13739 15617,13739 15617,13741 15619,13746 15624,13742 15624,13742 15626,13746 15626,13750 15623,13749 15621,13754 15626,12754 15627,12750 15627,12753 15624,12754 15624,12758 15629,12759 15624,12761 15627,12764 15632,12765 15637,12768 15635,12772 15640,12769 15636,12772 15634,12773 15634,12772 15634,12775 15635,12772 15640,12774 15641,12777 15641,12779 15646,12780 15642,12776 15640,12780 15640,12779 15638,12784 15642,12789 15643,12787 15644,12788 15649,12791 15649,12789 15648,12787 15648,12791 15650,7791 15655,7795 15655,7798 15658,7802 15659,7803 15655,7804 15654,2804 15652,2808 15648,2806 15652,2805 15652,2806 15657,2801 15657,2801 15658,2801 15655,2803 15654,2808 15658,2804 15653,2803 15656,2807 15656,2812 15658,2814 15657,2818 15658,2818 15660,2822 18660,2825 18664,2829 18668,2833 18663,2832 18668,2832 18668,2834 18671,2836 18672,2839 18677,2843 18680,2848 18675,2851 18677,2854 18681,2859 18685,2864 18690,2868 18694,2873 21694,2877 21694,2879 21693,2881 21693,2882 21696,2885 21697,2883 21701,2887 21702,2887 21702,2887 21697,6887 21701,6892 21702,6888 21707,3576 10502,3578 10506,3582 10508,3585 10508,3590 10512,3592 11512,3593 11514,3598 11514,3602 11514,3599 11515,3599 11516,3601 11520,3601 11519,3599 11522,3599 11519,3601 11517,3600 11515,3600 11517,3596 11519,3600 11521,3603 11525,3606 11528,3607 11532,3608 11536,3606 11541,3605 11541,3605 11542,3609 11537,3613 11538,3609 11538,3605 11538,3605 11542,3609 11546,3613 11541,3613 11546,3612 11547,3611 11551,3614 11548,3610 11550,3611 11555,3611 11559,3615 11559,3618 11563,3621 11564,3618 11567,3620 6567,3624 6567,3627 6570,3623 6572,3619 6576,3616 6577,3611 6578,3612 6579,3609 6578,3610 6582,3613 6586,3614 6586,3619 6584,3622 8584,3617 8582,3622 8587,3622 8592,3624 8592,3627 8587,3628 13587,3629 13589,3631 13594,3636 13589,3636 13590,3637 13587,3637 13591,3641 13596,3641 13597,3645 13602,3640 13601,3640 13602,3640 13606,3644 13606,3644 13609,3639 13612,3639 13612,3644 13610,3649 13615,3654 13618,3659 13618,3662 13618,3666 13620,3661 13625,3660 13630,3660 13634,3662 13635,3659 13637,3663 13638,3666 13638,3669 13635,6669 13635,6671 13631,6672 13631,6669 13631,6667 13629,6663 13629,6663 13627,6663 13627,6667 13630,6671 13630,6671 13630,6673 15630,6674 15631,6679 15632,6682 15629,6685 15629,6686 15631,6691 15633,11691 15630,11689 15629,11693 15632,11693 15627,11698 15627,11695 15626,11697 15629,14697 15628,14701 15631,14705 15632,14700 15632,17700 15635,17705 15640,17700 15642,17701 15638,17703 15640,17708 15641,17712 16641,17716 21641,17716 21645,17721 21645,17720 21650,17720 21653,17720 21653,17722 21653,17718 21654,17721 21657,17723 21657,17724 21657,17720 21659,17723 21663,17725 21660,17725 21661,17723 21661,17727 21665,17727 21665,17731 21669,17729 21671,17731 21671,17727 21671,17727 21667,17726 21670,17722 21671,17727 21671,17732 21671,17737 21671,17739 21674,17741 21676,17746 21680,17750 21683,17745 21681,17745 21678,17750 21679,17753 21681,17758 21677,17760 21682,17764 21681,17763 21681,17763 21684,17766 21680,17768 21684,17764 21688,17769 21691,17771 21695,17773 21691,17776 21690,17777 21695,17781 21695,17784 21695,17784 21695,17786 21699,14786 21695,14786 21692,14786 21690,14788 21691,14788 21696,14793 21698,14798 21701,14796 21699,14800 21702,14796 21704,14800 26704,14805 26699,14810 26700,14810 26698,14814 24698,14814 24702,14814 24705,14815 24700,14819 24703,14822 24705,14826 24710,14831 24709,14833 28709,14835 28710,14838 28708,14839 28708,14842 28709,14847 28713,14843 28714,14847 28712,14850 28717,14847 28713,14851 28711,14854 28706,14853 28702,14848 28697,14852 28702,14857 28706,14857 28710,14858 27710,14861 27711,14864 27714,17864 27715,17864 27716,17864 27713,17869 27715,17870 27719,17871 27720,17869 27720,17872 27724,17871 27729,17873 27729,17875 27733,17877 28733,17881 28730,17881 28727,17884 28728,17886 28733,17886 28734,17891 28735,19891 28735,19892 28731,19896 28732,19891 28736,19895 28740,19898 28737,22898 28738,22898 26738,22898 26733,22899 26738,22900 26738,22901 26742,22901 26744,22896 26744,22899 26746,22901 26751,22899 26754,22904 26756,22906 26761,22909 26761,22914 26766,22915 26765,22918 26768,22913 26768,22915 26763,22920 26763,22917 26764,22921 26765,22922 26769,22918 26764,22920 26765,22919 26768,26919 26771,26922 26774,26927 26779,26924 26778,26924 26780,26920 26782,26924 26787,26922 26788,26925 26792,26927 26787,26928 26790,26933 26794,26933 26795,26936 26795,26939 26800,26939 26798,26936 26798,26939 26795,26937 26795,26937 26793,26937 28793,26939 28791,26940 28793,26937 28796,26937 28797,26935 28798,26930 28798,26934 28802,26934 28807,26936 28811,26940 28812,26937 28815,26939 28814,26934 28812,26938 28817,26942 28822,26943 28822,26948 28822,26952 28824,26953 28824,26953 28829,26950 28834,26954 28839,26954 28839,26949 29839,21949 32839,21951 32838,21951 32843,21951 32844,21951 32849,21951 32854,21953 32854,24953 32852,24953 32851,24957 32853,24962 32854,24963 32849,24967 32847,24970 32849,24966 32849,24967 32852,24963 32856,24965 32860,24968 32861,24971 32860,24974 32860,24978 32863,24980 32859,24981 32864,24981 32868,24983 32866,24988 32866,24988 32869,24991 32874,24992 32878,24992 32881,24992 32877,24988 32880,24991 36880,24991 36883,24991 36885,24992 36889,24996 36894,24995 36894,24998 36894,24999 41894,25004 41899,25006 41900,25010 41905,25005 41909,25007 41912,25008 41916,25009 41919,25011 41917,25016 41919,25017 41916,25014 41919,25015 41919,25017 41919,25018 41924,25023 41927,25026 41928,25026 41929,25021 41926,25020 41926,25023 41928,25019 41933,25018 41932,638 7483,639 7484,640 7482,644 7484,646 7486,651 7486,554 1390,549 1391,547 1392,551 1397,3551 1394,3553 6394,3550 6399,3554 6399,3553 6403,3553 6400,3550 6403,3554 6398,3555 6402,3559 6403,3564 6405,3564 6410,3560 6412,3565 6412,3564 6407,3567 6407,3572 6410,3576 6412,3578 6413,3580 6414,11674 22654,11679 22654,11679 22654,11679 22656,11684 22658,11689 22661,11694 23661,11697 23658,11697 23661,11698 23664,11700 23667,11695 28667,11698 28671,11699 28672,11704 28675,12704 28671,12708 28669,12710 28673,12707 28678,12708 28678,12710 28677,12710 28677,12712 28675,12713 28679,12715 28676,12715 28680,12719 28681,12724 28678,12728 28673,12733 28676,12733 28673,12734 28673,12739 28677,12743 28679,12744 27679,12741 27680,12741 27680,12740 27682,12741 27678,12740 27680,7740 27684,7743 27686,7738 27683,7740 27683,7740 27686,7736 27690,7736 27693,7739 27691,7735 27686,7739 27686,7737 27686,7737 27688,7732 27689,7732 27689,7731 27684,7736 27689,7741 27692,7739 27697,7740 27702,7738 27703,7741 27706,7746 27704,2626 16457,2627 16460,2623 16461,2618 16461,2620 20461,2622 20457,2623 20457,2628 20457,2632 20462,2629 20462,2630 20462,2628 20457,2633 20460,2632 20460,2637 20460,2639 20457,2639 20457,2639 20461,2641 20460,2646 20460,2651 20461,2650 20461,2651 20464,2656 20460,2660 20463,2665 20464,2667 20464,2668 21464,2671 21468,2676 21471,2673 21476,2590 16437,2591 16434,2596 16436,4596 16438,4600 16439,4600 16439,4601 16439,4599 16435,4599 16440,4597 16441,4598 16446,4598 16447,4595 16445,4590 16447,4594 16447,4595 16447,4598 16447,4598 16449,4596 16451,4598 14451,4596 14456,4598 14457,4594 14452,4598 14457,5598 14457,5598 14458,2598 14463,2600 14463,2603 14464,2598 14465,2595 14470,2590 14467,2594 14470,2595 14471,2598 14473,2598 14473,2599 14473,1599 14474,1599 14472,1600 14467,1599 14470,1601 14468,1599 14463,1601 14461,1601 14461,1601 14466,1602 14468,1606 14473,1602 14473,1600 14475,1595 14478,1599 14479,1596 14479,1596 14484,1596 14488,1601 14489,1604 18489,1606 18492,1604 18492,1605 18496,1605 18496,1608 18501,1603 18498,1608 18500,1612 18497,1608 18492,1604 18494,1609 18497,1609 18499,1606 18499,1608 18501,1610 18503,1606 18499,1610 18500,1614 18501,1617 18497,1620 18498,1616 18501,1614 18496,1615 18500,1617 18497,1619 18498,1617 18501,1622 18506,1622 20506,1625 20506,1625 20509,1627 20513,1631 20514,1633 20519,1637 20520,1639 20525,1643 24525,1638 24520,1642 24520,1647 24525,1650 24529,1654 24530,1657 24533,1656 24538,1659 24542,1659 24545,1662 24550,1666 24551,1666 24552,1666 24557,1666 24562,1666 24565,1669 24568,1672 24569,1672 24569,1676 24566,1676 24570,1678 24565,1676 24567,1673 24567,1674 24572,1679 24577,1679 24578,1683 24581,1684 24586,1688 24590,1690 27590,1685 27594,1688 27594,1683 27594,1686 27597,1688 27600,1692 27599,1696 27600,1695 27604,1695 27609,1698 27610,1701 27610,1705 27609,1706 27605,1709 27600,1714 27600,1716 27602,1717 27601,1712 27597,1714 30597,1711 30600,1713 30600,1713 30604,1714 30604,1716 30602,1713 30605,1710 30606,1713 30609,1709 30607,1713 30604,1714 30609,1717 30609,1717 30613,1721 30615,2721 30620,2718 30623,4718 30628,4723 30624,4727 30619,4728 30618,4728 30615,4728 30619,4729 30618,4731 30622,4731 30625,4734 30625,4734 30630,4735 30627,4736 30631,4735 30636,4730 30641,4727 30641,4729 30646,4731 30650,4736 30651,4740 30648,4737 30648,4738 30647,4741 30649,5741 30646,5744 30648,5745 30651,10745 30651,13745 30653,13749 30651,13754 30652,13754 30657,13754 30657,13758 30653,13761 30656,13766 30655,13768 30659,13769 30662,13771 30659,13771 30661,13771 30665,13768 30670,13768 30667,13772 30670,13776 30672,13775 30672,13777 30675,13780 30679,13783 30677,13784 30678,13784 30674,13788 30674,13788 30678,13784 30678,13787 30683,13792 30683,13791 30679,13794 30679,13795 30682,13795 30686,13798 30691,13803 30692,13807 30694,13810 30694,13810 30692,13813 30694,13813 30689,13816 30689,13820 30689,13822 30692,13826 30696,13822 30701,13827 30704,13832 30707,13832 30707,13828 30707,13831 30712,13831 30709,13834 30706,12834 30707,12839 30703,12843 30707,12843 30703,12843 30706,12848 30710,12849 30715,12853 30713,12853 30716,12852 30718,12849 30721,12849 30719,12852 30719,12853 30714,12856 30712,12856 30714,12857 30719,12862 30720,12865 25720,12863 25723,12864 25724,12868 25729,12869 25731,12868 25736,12869 25739,12865 25737,12863 25739,12866 25743,12862 25747,12867 25747,12867 25748,12867 25748,12870 25748,12866 25748,12869 25749,12869 25751,12874 25754,12875 25758,12877 25761,12878 25763,21745 15645,21749 15645,21753 15646,21753 15648,21758 15652,21754 15654,21759 15654,21762 15658,21766 15663,21761 15663,21761 15665,21758 15666,21761 15668,21763 15666,21765 15662,21770 15666,21773 15671,12742 4678,12743 4682,12740 4687,12745 4692,12745 4688,12748 4689,12748 4692,12752 4696,12754 4697,12754 4700,12758 4703,12758 4703,12762 4704,12762 4709,12762 4711,12760 4713,12760 4717,12764 4713,12767 4712,12767 4712,12768 4715,12767 4720,12770 4716,12770 4712,2569 10421,2572 10423,2576 10424,2579 10428,2580 10423,2582 10424,2578 10422,2577 10426,2577 10428,2580 10433,2580 10433,2581 10432,2580 10435,2584 10435,2588 10439,2587 10444,2592 10445,2589 10446,2591 10447,2594 10446,2597 10445,2599 10440,2602 10443,2603 10443,2605 10444,2605 10449,2607 10449,2602 7449,2605 7449,2608 12449,2605 16449,2605 17449,2605 17450,2608 17454,2612 17459,2607 17459,2608 17456,2613 17457,2617 17459,6617 17462,6621 17467,6621 17468,6626 17464,6622 17465,6622 17465,6623 17469,6623 17466,6623 17467,6627 17466,6623 17466,6626 17463,6622 17468,6625 17464,6627 17468,6625 17463,6626 18463,6624 18463,6625 18464,6623 18468,6623 18469,6626 18470,6621 18466,6621 18467,6622 18467,6625 18464,6630 18468,6628 18469,6631 18472,6627 18477,6628 21477,6631 21481,6627 21486,6628 21490,6632 21494,6637 21496,6640 21491,6643 21491,6648 21490,1648 21492,1650 21489,1650 21487,1654 21488,1653 21489,1653 21492,1650 21493,1655 21493,1650 21493,1651 21490,1651 21490,1649 21493,1645 21498,1649 21494,1652 21495,1654 21500,1655 21495,1658 21492,1663 21496,1666 21500,1666 19500,1664 19504,1668 19508,1668 19512,1666 19516,1669 19518,1669 19518,1674 19520,1674 19525,1676 19525,1679 19526,1679 19526,1681 19526,1686 19526,1691 19529,1689 19529,1688 19529,1685 19524,1690 19528,1693 19531,1693 19531,1698 20531,1699 20536,1703 20538,1703 20538,1706 20541,1701 20545,1702 20550,1704 20547,1705 20544,1710 20548,1710 20551,1713 20555,1712 20559,1714 20562,1714 20563,1714 20565,1712 20567,1711 20570,1706 20571,1708 20571,1708 22571,6708 18571,6712 18571,6715 18573,6710 18577,6711 18579,6711 18579,6716 18578,6721 18580,6721 18582,6726 18587,6731 18588,6736 18587,6734 18587,6736 18590,6739 18594,6744 18597,6744 18602,6746 18606,6749 18606,6750 18609,6750 18610,6753 18605,6755 18610,6759 18613,6759 18613,6759 18617,6763 20617,6767 20621,6771 20625,6773 20628,6769 20629,4769 20633,5769 20635,5769 20637,5770 20640,5772 20643,5772 20646,5772 20644,5776 20641,5779 20643,5784 20642,5786 25642,5786 25645,5791 25647,3791 25651,3791 25652,3794 25648,3793 25644,3791 30644,3796 30649,3796 30654,3800 30655,3800 30657,3797 30657,3797 30659,3800 30661,3803 30661,3803 30657,3800 30652,3801 30652,3802 30653,3807 30654,3809 30657,3804 30656,3801 30657,3803 30657,3803 30658,3804 30663,4804 30663,4809 30665,9809 30665,9809 30669,9812 30673,9816 30676,9816 30676,9816 30677,9818 30682,9818 30683,9817 30687,9813 30692,9817 30692,9814 30693,9816 30693,9818 30697,9818 30699,9818 30696,9816 30694,9811 30694,9812 30694,9816 30697,9821 30700,9824 30702,9827 30707,9827 25707,9827 25711,9828 25709,9823 25713,9827 25712,9830 25714,9827 25712,9832 25717,9836 25719,9836 25722,11836 25725,11838 25727,14838 29727,14835 29728,14838 29724,14843 29724,19843 29724,19846 29728,19847 29732,19851 29737,19855 29738,19858 29735,19853 29735,19853 29737,19852 29739,19850 29744,19850 29744,19854 29747,19859 29752,19861 29750,19864 29751,19869 29752,19864 29756,19865 29757,19868 29758,19868 29758,19871 29763,19874 29764,19877 29766,19879 29763,19880 29763,19881 29765,19886 29765,19881 29765,19881 29768,19880 29773,19875 29775,19879 29776,19883 29776,19887 29781,19890 29784,19890 29789,19892 29784,19897 29785,19893 29785,22893 29787,22895 29792,22895 29788,22895 29789,22895 29793,22900 29793,25900 29790,25901 29794,25902 29794,25905 29794,25907 29798,25912 29799,25910 29804,25915 29809,25918 29807,25917 29808,25921 29808,25925 29812,25926 29816,25926 29819,25921 29821,25926 30821,25929 30823,25933 30822,25935 30823,25937 30818,25937 30818,25939 30819,25939 30824,25941 30819,25943 30823,25946 30824,25946 30829,25947 30829,25947 30830,25952 30833,25953 30831,25954 30836,25959 30836,25964 30836,25961 30836,25965 30837,25964 30835,29964 30839,29968 30842,31968 30847,31967 30844,31972 30844,31972 30840,31977 30839,31982 30842,31987 30844,31987 25844,31984 25848,31987 25848,31992 25845,31993 25846,31997 25846,31997 25849,31996 25851,31995 25855,32000 25858,31995 25859,31996 25856,31997 25858,31999 25858,31998 25858,32001 25859,32003 25863,32002 25866,32003 25867,32008 25867,32011 25870,32014 25875,32013 25874,34013 25873,34013 25876,34011 25878,34011 25880,34012 25885,34016 27885,34011 27884,39011 27888,39008 27884,39011 27879,39011 27876,39011 27880,39014 27879,39013 27879,39014 27879,39015 27882,39019 27886,39020 27888,39020 27893,39025 27895,39030 27896,39030 27896,39031 27892,39036 22892,39039 22894,39038 27894,39043 27895,39048 27900,39044 27905,39046 27907,39041 27910,39044 27910,39043 27915,-2382 3462,-2377 3465,-2373 3468,-2371 3469,1629 3470,1632 3472,1630 3469,5630 3473,5635 3474,5638 3474,5639 3469,5643 3473,5643 3473,5639 3477,5639 3477,5639 3480,5642 3479,5644 3481,5649 3480,2649 3485,2649 3485,2650 3489,2653 3491,506 5375,510 5380,513 5382,518 5384,522 5387,521 5384,524 5385,525 5382,523 5384,527 5384,527 5386,4527 5391,4528 5393,4533 2393,4534 2389,4537 2393,4538 2395,4541 2400,4543 2404,4544 2405,4548 3405,4553 3410,4556 3406,4561 3406,4558 3410,4559 3410,4558 3408,4558 3413,4563 3413,4561 3418,4563 3423,4565 3426,4565 3428,4570 3432,4570 3433,4574 3437,4579 3439,4583 3443,4578 3444,4582 3447,4583 3447,4585 3443,4590 3448,4586 3448,4588 3449,5588 3449,5589 3454,5593 3456,5591 3457,5591 3458,7591 3461,7594 3457,7596 3459,7591 3458,7590 3460,7593 3460,7593 3463,7590 3464,7586 3466,7581 3467,7580 3466,7580 3466,7585 3470,7585 3472,7589 3468,7589 3471,7594 3474,7599 3474,7600 3471,7603 3471,7606 3471,7606 3472,7606 3474,7606 3479,7609 3482,7612 6482,7614 6485,11614 6481,11619 6486,11624 6486,11621 6489,11623 6491,11628 6491,8628 6496,8632 6498,8629 6502,8632 6502,8627 6505,8631 6506,8633 6502,8633 6507,8631 6512,8631 6512,8626 6514,8621 6515,8620 6513,8615 6514,8611 6519,8612 6522,8613 6522,8616 6522,8611 6519,8614 6519,8615 6521,8618 6525,8623 6526,8628 6521,8631 6517,8634 6520,8634 6525,8637 6526,8636 6528,8640 6533,8643 6534,8643 6531,8642 6532,8643 6535,8643 6535,8640 6531,8641 6531,8641 6534,8644 6537,8647 6541,8648 6536,8649 6537,8649 6542,8644 6546,8644 6546,13644 6548,13642 6549,13638 6548,13636 6549,11636 6549,11636 6554,11633 6554,11636 6554,11641 7554,11642 7558,11641 7553,11643 7556,11644 7556,11639 7556,11641 7558,11641 7559,11641 7563,11638 7560,11639 7564,11642 7569,12642 7574,7642 7576,7642 7574,7643 7577,7645 7577,7650 7576,7645 7576,7648 7576,7650 7581,7651 7576,7654 7581,7658 7581,7661 7583,7662 7584,7664 7586,7661 7586,7662 7589,7666 7585,7669 7585,7670 7585,7670 7587,7670 7587,7670 7591,7667 7595,7672 7595,7677 7600,7679 7597,7684 5597,7682 5600,7685 5601,7688 5601,7691 5604,7696 5605,7700 5607,7703 5602,7704 5602,7701 5606,7702 5607,7706 5609,7710 5614,7713 5610,7716 5615,7717 5616,7719 5621,7724 5621,7724 5618,3724 5623,3722 5625,3725 5626,3730 5628,3727 5633,3727 5636,3729 5638,6729 5639,6732 5642,8732 5644,8732 5649,8729 5650,8734 5645,8736 5644,8739 5644,8741 5645,8745 5650,8743 5652,8739 5651,8744 5652,8744 5653,8745 5649,8748 5651,8749 5652,8750 5655,8753 5660,8753 5662,8755 5660,8757 5657,8758 5654,8762 5659,8760 5660,8761 5664,8765 5669,8768 5669,8768 5669,8769 5673,8769 5678,8772 5678,8769 5683,8774 5683,8776 5687,8777 7687,8779 7691,10779 7686,10779 7686,10780 7686,15780 7690,15781 7695,15779 7699,15783 7702,15788 7705,15791 7705,15786 7709,15788 7707,15793 7710,17793 7711,17794 7712,17799 7713,17800 10713,17802 10713,17802 10715,17803 10715,17808 10716,17811 10717,17811 14717,17811 14722,17811 14722,17815 14725,17819 14726,17820 14727,17822 14727,17817 14731,17818 14731,17818 14729,17820 19729,17818 19725,17822 19728,17818 19723,17821 19720,17821 19725,17824 19725,17821 19728,17821 19725,17825 19725,17830 19725,17834 19729,17836 19730,17837 19730,17841 19725,17844 19730,17849 19734,17853 19734,17856 19737,17858 19732,17858 19732,17863 19732,17868 19733,17873 19735,17874 19740,17878 19742,17883 19742,17879 19747,551 1397,551 1398,552 1401,553 1401,553 1398,552 1398,555 1402,556 1406,557 1409,558 1413,558 1416,558 1418,558 1420,563 1421,566 3421,568 3421,570 3426,572 3429,5572 3433,5576 3433,5579 3436,5579 3441,5583 3444,5580 3445,5585 3450,5589 3453,5593 3454,5597 3459,610 1429,612 1431,607 1430,607 1430,609 1426,605 1425,607 1425,602 1420,604 1423,-2378 3502,-2377 3503,-2378 3507,-2373 3508,-2375 3512,-2370 3516,-2373 3517,-2369 3514,-2370 3517,-2367 3519,-2366 3524,-2366 3529,-2362 3534,-2365 3536,-2370 3534,-2370 3531,-2366 3528,-2370 3532,-2366 3535,-2361 3533,-2361 3537,-2361 3540,-2358 3541,-3358 3543,-3355 3544,-3355 3542,-3355 3541,-3352 3546,-3348 3548,-3350 3551,-3346 3553,-3347 3553,-3342 3548,-3337 3548,-3338 3547,-3338 3547,-3334 3552,-3333 3552,-3332 3550,-3331 3550,-3329 3550,-3326 3552,-3325 3554,-3320 3556,-3315 3560,-3313 3565,-3312 3560,-3315 3563,-3315 3559,-3318 3564,-3321 4564,-3321 4569,-3317 4568,-3312 4573,-3311 4576,-3311 4575,-3308 4571,-3304 4572,-3299 4576,701 4580,703 4582,708 4582,711 4583,715 4587,716 4591,721 4587,717 4590,715 4594,715 4594,719 4598,719 4600,720 4604,717 4606,718 8606,722 8604,726 8600,727 8605,731 8609,731 8609,733 8611,738 8611,739 8612,734 12612,734 12617,730 12622,729 12622,732 12625,-268 12627,-263 12627,-264 12625,-261 12622,-260 12622,-265 12625,-264 12622,-264 12624,736 12622,733 12623,734 12626,730 12628,731 12632,732 12637,730 12637,733 12634,732 12635,732 12635,734 12635,733 12636,731 12639,734 12639,733 12642,734 14642,736 14646,739 14651,743 14654,-2257 14651,-2252 14651,-2252 19651,-2249 19656,-2249 19653,-2245 19650,-2248 19651,-2243 19656,-2241 19661,-2238 19664,-7238 19668,-7236 19666,-7231 19661,-7231 19666,-7227 19671,-9227 19672,-9223 19676,-7223 19675,-7223 19677,-7218 19677,-7219 19677,-7216 19673,-7214 19677,-7210 19674,-7206 19671,-7205 19673,-7203 19677,-7206 19680,-7202 19680,-7197 19685,-7197 19686,-7196 16686,-7201 16687,-7201 12687,-7198 12682,-7198 12682,-7193 12682,2673 15591,2673 15594,2673 15597,2671 15599,2666 15601,2670 15606,2669 15607,2670 15607,2673 15602,2670 15604,2671 15601,2672 15602,2667 15600,2672 15602,2675 15598,2675 15600,2678 15600,2677 15602,2673 17602,2678 17602,2677 18602,2681 18606,2682 18611,2685 18616,2686 18612,2688 18611,2686 18615,2686 18612,2687 18609,2688 18608,2688 18609,2688 18613,2693 18615,2693 18620,2691 18620,2696 18620,2698 18619,2695 18622,2700 18625,2704 22625,2709 25625,2709 25626,2710 25628,2710 25629,2714 25625,2715 25625,2713 25627,2714 25630,2718 25635,2723 30635,2723 30639,2726 30634,2727 30637,2728 30639,2732 30639,-1268 30642,-1266 30646,-1269 30643,-1269 30642,-1271 30642,-1269 30643,-1269 30645,-1269 30648,-1267 30647,-1265 30644,-1269 30648,-1268 30644,-1269 30644,-1269 30642,-1266 30641,3734 30637,3739 30640,3743 30641,3748 30646,3753 30650,3751 30653,3751 30652,3756 30647,3757 30648,3759 30653,3761 30656,3762 30655,3762 30653,3763 30650,3766 30652,3770 30657,3770 30657,3770 30653,3773 30650,3776 30650,3778 30650,3774 30655,3775 30657,3776 30660,3781 30662,3785 30665,3790 30670,5790 30672,5794 30675,5798 30680,5803 30675,5802 30673,5801 30677,5803 30679,5808 30677,5805 34677,5810 34677,5811 34682,5812 34684,5816 39684,5816 39687,5814 39690,5810 39695,5811 39696,5816 39700,5821 39705,5824 39707,5826 39711,5828 39708,5829 39709,5834 39712,5838 39715,5839 39718,5840 39720,5839 39722,5839 39722,5835 42722,5833 44722,5829 44722,5828 44722,5833 44724,5835 44727,5835 44731,2835 44729,3835 44731,3836 44736,3841 44739,3839 44736,3839 44736,3836 44736,3837 44737,3841 44737,3842 44733,3840 44735,3843 44730,3842 44732,6842 44734,6841 44735,6846 44737,6848 44737,6851 44740,6850 45740,6853 45741,6853 45741,6848 45743,6852 45744,6857 45746,6855 45747,6853 45750,6857 45754,6859 45752,6863 45751,6861 45751,6861 45748,6858 45752,6861 45750,6858 45750,6862 45750,6862 45753,6864 45757,6861 45762,6864 45762,6867 45761,6872 45763,6877 45758,6882 45761,6883 47761,6886 47761,6888 47762,6893 47767,6897 48767,6897 48772,6902 48771,6903 48773,6904 48773,6904 48777,6899 52777,6899 52777,6903 52773,6903 52773,7903 52773,7908 52771,7903 52772,7904 52774,7899 52776,7895 52776,7895 52781,7894 52778,7898 52783,7902 52785,7906 52790,7907 52792,11907 52797,11908 52801,11911 52800,11916 52804,11911 52806,11913 52808,11913 52805,11913 52809,11909 52812,11911 52812,11908 52815,11913 52817,11917 52820,11918 52820,11922 52825,11926 52823,11931 52827,11931 52826,11934 52823,11936 52818,11938 52819,11940 52823,11943 52828,11938 52833,11940 52835,11944 52832,11941 52831,11936 52831,11936 52833,11934 52836,11938 52839,11940 52840,11943 52840,11943 52841,11945 52844,16945 52844,16942 52839,18942 52838,18945 49838,18950 49841,18950 49844,18951 49845,21951 49847,21956 49848,21961 49846,21961 49851,23961 49852,23961 49856,23966 49860,23969 49865,23965 49866,23970 49862,23975 49859,23975 49859,23978 44859,23979 44862,23981 44862,23984 44867,23980 44871,23983 44875,23988 44875,23992 44877,27992 44878,27989 44881,27985 44886,27986 44888,27984 44888,29984 44889,29984 44889,29985 44893,29990 44888,29994 44892,29997 44896,30001 44895,30002 44900,30003 44904,30004 44907,30008 44904,30009 44904,30010 44905,30010 44908,30007 44908,30011 44905,30014 44908,30016 44909,30021 44912,30023 44913,30025 44912,30024 44910,30022 44914,30026 44912,30025 44912,30029 44912,30029 44915,30033 44920,30038 44924,30043 44926,30047 44928,30043 44930,30047 44932,30050 44934,30050 48934,30046 48935,30051 48935,30051 48935,30055 51935,30054 51931,1610 18503,1614 18504,1616 18504,1619 20504,1619 20504,1619 20505,1620 20509,1620 20511,1618 20511,1619 20508,2619 20511,2615 20516,2612 20515,2612 20515,2617 20512,2622 20515,2617 22515,2620 22516,2622 22519,2626 22522,2624 22522,2619 22524,2623 22519,2621 22519,2622 22516,2620 22512,2622 22517,2622 22522,2626 22522,2630 22522,-370 22526,-1370 22531,-1375 22531,-1371 22527,-1366 22527,-1362 22531,-1361 22528,-1362 22524,-1367 22528,-1367 22530,-1367 22533,-1367 22535,-1363 22540,-1363 22536,-1363 22539,-1358 22541,-1358 22541,-1355 22543,-1355 22538,-1355 22541,-1356 22544,-1357 22548,-1354 22553,-1353 22557,-1353 22561,-1355 22562,-1352 22566,-1351 22568,-1349 22569,-1347 22568,-1346 22566,-1351 22565,-1347 22566,-1348 22567,-1351 22569,-1346 22565,-5346 22567,-3313 3565,-3311 4565,-3308 4568,-3304 4571,-3307 4572,-3307 4573,-3303 4573,-3304 4578,-3300 4578,-3301 4578,-3301 4583,-3301 4581,-3297 4585,-3295 4580,-3295 4575,-3295 4573,-3293 4575,-3290 4580,-3285 4580,-3284 4582,-3284 4581,-3280 4580,-3285 4579,-3285 4579,-3284 4584,-3288 4588,-3286 4588,-3283 4584,-3279 4584,-3278 4588,-3279 4588,-3274 4586,-3270 4589,-3270 4590,-3268 4587,-3270 4591,-3267 5591,-3265 5591,-3261 5592,-3259 5593,-3259 5590,-3258 5595,-3256 5599,-3253 5601,-3252 5600,-3252 5603,-3252 5603,-3255 5601,-3250 5600,-3247 5605,-3242 5606,-3241 5608,-3243 5612,-3242 5612,-3245 5614,-3242 5619,-3243 5623,-2243 10623,-2242 10626,-2247 10626,-2247 10630,-2244 10634,-2248 10639,-2248 10636,-2248 10641,-2244 10646,11598 14558,11594 14563,11596 14568,11597 14569,11600 18569,11601 18570,11599 18566,11602 18568,11607 18567,11611 18572,11614 18573,11612 18569,11615 18570,11614 18573,11617 18577,11621 18577,11617 18574,11615 18579,11619 18583,11615 18587,11615 18587,11620 18588,11621 18589,11617 18593,11620 18597,11622 18599,11626 18603,11621 18603,11625 18607,11628 18611,11630 18614,11630 18619,11633 18616,11633 18616,11635 18614,11634 18613,11636 18609,11638 18607,11642 18612,11641 18615,11646 18615,11648 18619,11652 18621,11654 18622,11653 18617,11648 18619,11650 18614,11646 18617,11648 18613,11648 18618,11650 18615,11647 18617,11649 18621,11653 18621,11656 18624,11656 18628,11659 18628,11660 18624,11662 18624,11662 18620,11663 18620,14663 18621,14665 18616,14662 18611,14662 18607,14665 18607,14670 18607,14674 17607,14676 17610,19676 17608,19681 17613,19681 17613,19686 17611,19687 17612,22687 17612,22684 17608,22682 17607,22686 17610,22690 17611,22692 17612,22690 17617,22693 17622,22696 17622,22698 17625,22703 17627,22699 17629,22698 17629,22702 17634,22705 17630,22707 17634,22708 17634,22710 17639,22712 17639,22713 17635,22712 17639,22715 17644,22720 17644,22720 17646,22723 17644,22723 17644,22728 17643,22729 17646,22725 17651,22725 17652,22725 17647,22730 17647,22733 17647,22734 17647,22733 17651,22737 17653,22737 17657,22735 17660,22738 17658,22742 17662,22747 17667,22752 17671,22751 17672,22749 17677,22751 17677,22753 17681,22754 17677,22759 17674,22763 17674,22768 17677,22773 17673,22774 17676,22774 17679,17774 16679,17772 16679,17770 16675,17772 16676,17771 16676,17770 16679,17775 16684,17774 16685,17776 16685,17780 16687,17781 16688,17786 16689,17790 16689,17793 16688,17797 16684,17800 16684,17799 16689,21799 16691,21799 16688,21804 16689,21804 16687,21804 16687,21808 16685,21809 16689,21813 16693,21813 16696,21817 16698,21817 16699,21819 16694,21824 16699,21824 16701,21827 16705,21823 16702,21825 16702,21827 16702,21827 16702,21828 16705,21832 16707,21835 16710,21838 16712,21841 16712,21839 19712,24839 19714,24838 19719,24838 19722,24833 19722,24831 21722,24832 21727,24829 21729,24832 21730,24837 21732,24838 21736,24842 21740,24842 21740,24844 21740,24846 21740,24848 21741,24851 21736,24851 21732,24852 21737,24849 21741,24847 21742,24845 21743,24849 21744,24852 21742,24856 21744,24860 21745,24860 21745,24864 21749,24864 21754,24865 21759,24865 21760,24870 21764,24871 21762,24871 21762,24876 21767,24881 21769,24883 21768,24883 21769,24886 21766,24886 21767,24891 21770,24894 21772,24894 21772,24899 21777,24902 21781,24897 21786,24894 21787,24895 21790,24899 21791,24899 21795,24903 21798,24903 21801,24905 21804,24906 21806,24910 21808,25910 17808,25905 17812,25906 17813,28906 17813,28906 17813,28911 17817,28912 17812,28916 17813,33916 17818,33916 17818,33916 17820,33912 17820,33915 17823,33915 17826,33910 17826,33914 17829,33910 17833,33910 17836,33913 17837,33918 17841,33923 17840,33920 17840,33919 17842,33922 17838,33925 17835,33923 17836,33920 17838,33916 17840,33917 17845,33912 17850,33912 21850,33916 21846,33917 21841,33918 21844,33922 21844,33923 21844,33927 21844,33928 21849,33933 21850,33937 21851,33937 21853,33940 21855,33939 21858,33944 21855,33945 24855,33946 24858,33950 24860,33951 24864,33952 24861,33957 24864,33959 24867,33954 24865,33959 24867,33963 24867,33961 24867,33963 24871,34963 24874,34967 24874,34967 24874,34969 24870,34965 24875,34965 25875,34969 25880,34974 25883,34972 25883,34973 25885,34976 25889,34979 25890,34981 25894,34984 25897,34989 25899,34986 25900,34990 25901,34990 25901,34993 25902,34996 25902,35000 25903,35001 25906,35006 25909,35007 29909,35009 29905,35008 29906,35008 29908,35012 29908,31012 29911,31017 29906,31017 29908,21054 31778,21054 31775,21059 31780,21057 31780,21059 31783,21059 31781,21064 29781,21065 29786,21070 29787,21074 29787,21079 29792,21082 29792,21083 29791,21085 29793,21086 29794,21086 29794,21088 29797,21085 29797,21085 29800,21083 29804,21088 29808,21088 29804,552 1401,554 1401,555 1404,555 1404,559 1409,561 1410,561 1412,561 1413,557 1414,561 1419,564 1417,565 1420,568 1421,573 1425,578 1426,583 1430,584 1432,587 1433,588 1433,592 1437,592 1438,592 1442,591 1444,596 1444,597 1449,592 1449,502 2350,503 2352,505 2349,508 2349,508 2350,506 2350,506 2353,511 2357,511 2359,511 2361,508 2362,512 3362,517 3365,4517 3366,4518 3366,4513 3367,4512 3370,4509 3365,4510 3370,4510 3371,4513 3371,4513 3374,4517 3373,4517 3375,4514 3375,4515 3374,4516 3378,4516 3383,4516 3387,516 3392,516 3393,521 3394,521 -1606,522 -1601,518 -1601,519 -1603,521 -1598,526 -1603,528 -1603,527 -1601,527 -1600,523 -1603,526 -1601,529 -1598,532 -1594,531 -1590,531 -1594,527 -1595,532 -1591,536 -1586,539 3414,541 3419,546 3419,551 3422,551 3427,553 3429,558 3432,557 3433,558 3438,559 3442,560 3445,556 3448,555 3446,559 3446,560 3442,560 3439,561 3442,563 3443,564 3448,562 3448,5562 3453,5560 3454,5563 3454,5565 3456,5562 3457,5557 3456,5557 -544,5558 -543,5561 -538,5562 -535,5563 -533,5563 -530,5568 -525,5568 -523,5572 -518,5567 -514,5571 -516,5571 -514,5571 -514,5572 -510,5575 -512,5578 -512,5579 -508,5581 -506,5584 -503,5579 -502,5581 -505,10581 -505,10583 -500,12583 -499,12587 -498,12587 -499,12588 -497,12589 -502,12589 -500,12594 -498,12592 -498,12595 -498,12600 -496,12604 -494,12609 2506,12611 5506,12614 5511,12615 5516,12617 5518,12620 5522,12620 5519,12623 5521,12621 5524,12626 5526,12625 5531,12625 5531,12627 5532,12632 5531,12635 5536,12636 7536,12641 7540,12642 7540,12647 7543,11909 52812,11911 52817,11912 52817,11917 52814,11918 52819,11920 52819,11923 52823,11928 52818,11924 52813,11928 52812,11929 54812,11931 54813,11927 54813,11929 54818,11929 54822,11931 54823,11935 54824,11931 54828,11931 54833,11930 54830,11931 54832,11935 54835,11939 54830,11942 54827,11942 54828,11943 54828,11946 54825,11943 54826,11948 54829,11952 54824,11952 54828,11954 54830,11955 54830,11953 54835,11958 59835,11959 59838,11960 59836,11965 59840,11965 59843,11970 59840,11974 59840,11971 59842,11975 59847,11976 59848,11981 59848,11986 59853,11987 63853,11992 63854,11993 65854,11995 65850,11998 65852,12003 65856,12000 65859,12002 65859,12006 65854,12011 65855,12013 65856,12017 65861,12022 65861,12022 65856,12022 65857,8022 65859,8026 65862,8030 65863,8026 65865,8030 65866,8026 65871,8026 65871,3026 65869,3021 65870,3023 65875,3028 65876,3033 65878,3038 65874,3039 65878,3039 65882,3043 65880,3044 65880,3043 65884,3043 65888,3047 65889,3047 65890,3047 65890,3047 63890,3043 63892,3046 63896,3041 63895,3039 63898,3034 63900,3035 63901,3032 63903,3034 63906,3036 63906,3034 63908,3034 63913,3036 63911,3037 63916,3039 63911,3041 63913,3045 63915,3047 63915,3045 63917,3046 63921,3046 63921,3049 63920,3053 63923,3050 63927,3055 63930,3058 63933,3058 63932,3058 63934,3053 63931,3054 63933,3058 63936,3063 63940,3063 63939,-937 63940,-940 63944,-938 63945,-938 63946,-934 63948,-935 63945,-932 63948,-928 63950,-927 63954,-922 67954,-918 67951,-917 67956,-915 67960,-914 67965,-912 67967,-914 67971,-914 67971,-918 67976,-916 67973,-911 67973,-909 67978,-906 67981,-903 67982,-900 67982,-899 67978,-895 67981,-892 67985,-890 67987,-885 67982,-884 67984,-883 67984,-880 67985,-879 67985,-874 67981,-871 67981,-871 67986,-868 67986,-868 67981,-865 67979,-864 70979,-859 70984,-856 70985,-856 70990,-855 70991,-857 70989,-859 70991,-856 70986,-854 70991,-849 70994,-849 70997,-852 71002,-851 71007,-851 71009,-850 71009,-846 71011,-843 71011,-842 71011,-839 71011,-837 71016,-837 71016,-833 71018,-835 71022,2165 71022,2166 71018,7166 71017,7163 71017,7164 71018,7162 71016,7166 71013,7166 71013,7171 71010,7175 71010,7173 71012,7176 71017,7174 71021,11174 71021,11171 66021,11176 66021,11181 66018,11181 66023,11186 66022,11182 66027,11184 63027,11186 63031,11187 63033,11191 63034,11188 63031,11189 63036,11184 63037,11185 63038,11187 66038,11187 66038,11189 66038,11191 66038,11189 66034,11192 66036,11197 66037,12197 66041,12200 66044,12203 66042,12206 66046,12204 66046,12205 66048,12209 66048,12212 66043,12216 66040,12213 66043,12218 63043,12223 63038,12227 63033,12227 63038,12231 63040,12233 63040,12235 63045,12235 63045,12230 63044,12235 68044,12237 68044,12235 68049,12231 68045,12226 68050,12229 68052,12234 68052,12231 68056,12236 68059,12236 68062,12241 70062,12241 70063,12244 70063,12245 70068,12247 70068,12248 70071,12251 70071,12252 70071,12251 70073,12248 70075,12253 70080,12256 70084,12257 70088,12256 70088,12256 70089,12251 70089,17251 70090,17247 70090,17249 70091,17249 70088,17252 70084,17256 70085,17260 70086,16260 70084,16261 70083,16256 70079,16257 70076,16258 70072,16258 70077,16262 70081,16260 70084,16263 70087,16263 70088,16267 70090,16267 70093,16267 70097,16267 70100,16267 70101,16270 70103,16270 70105,16270 70108,16274 70110,16274 70113,16275 70115,16277 70115,16273 70115,16274 70120,16279 70117,16284 70117,16288 69117,16287 69121,16287 69123,16288 69119,16288 69122,16292 69125,16292 69122,16290 69125,16288 69125,16290 69126,16295 69122,3037 63916,3042 63920,3047 63925,3048 63928,3053 63928,3056 63931,3056 63930,3052 63932,3051 63935,3056 63938,3055 63935,3059 63932,3059 63937,3061 63942,3065 63945,3069 63942,6069 63940,6064 63945,6067 63948,6067 63947,6068 63951,10068 63953,10072 63953,10071 63951,10071 63956,10071 63958,10075 63958,10079 63953,10082 63958,10084 63959,10086 63959,10090 63960,10094 63955,10099 63955,10101 63956,10099 63952,10099 63949,10103 63953,10106 63956,10108 63956,10109 63956,10114 63959,10118 63959,10120 63960,10122 63963,10122 63968,10125 63969,10125 64969,10130 64971,10130 64973,10134 64974,10134 64979,10139 64984,10139 64987,10142 64988,10137 64992,10140 64995,10141 65995,10142 65999,10145 66000,10142 66002,10145 66002,10144 66004,10149 66002,10153 66007,8153 66007,8155 66011,8155 66011,8155 66011,8156 66011,9156 66013,9158 66014,9160 66014,9165 66017,9169 66022,9170 66023,9170 66023,9170 66028,9171 66031,9175 66033,9175 66033,9173 66035,9177 66034,9177 66039,9177 66044,9177 66044,9173 66044,9171 66044,9174 66046,9177 66050,9177 66047,9180 66051,9180 66055,9184 66055,9184 66051,9187 66056,9184 66057,9187 66053,9187 66055,9192 66056,9195 66061,9195 66066,9195 66071,9200 66076,9195 66075,9200 66080,9200 66080,9202 66076,9204 66079,9202 66079,9198 66079,11198 66083,11199 66087,11199 66088,11204 66088,11206 66089,11206 66093,11211 66088,11211 66091,11206 71091,11205 71090,11207 71094,11207 71098,11211 71102,11210 71103,11211 71107,11212 71107,11216 71105,11216 71108,11216 71113,11217 71108,11220 71113,11217 71113,11217 72113,11218 72115,11220 72117,11220 72121,11221 72124,11225 72120,11229 72117,11226 72118,11230 72122,11230 72123,11232 72127,11236 72132,11241 72133,11246 72135,11250 72139,11247 72141,11252 72141,11256 72143,11259 75143,11258 75146,11261 75151,11265 75149,11269 75153,11270 75158,11273 75160,11274 75165,11270 75166,11270 75166,11274 75165,11279 75167,11283 75170,11286 75166,11285 75168,11282 75165,6282 75163,6283 75167,6288 75170,6293 75175,6290 75178,6292 75179,6292 75182,6293 75181,31996 25856,31998 25856,32003 25857,32007 25862,32007 25857,32009 25857,32010 25858,32015 25854,32014 25857,32019 25857,32021 25852,32024 25852,32024 25854,32026 25851,32028 25855,32032 25855,32028 25858,32031 25860,32031 25863,32026 25867,32029 25868,32029 25869,32034 25872,32035 25875,32040 25878,32042 25883,32043 25881,32045 25885,32048 25884,32052 25881,32056 25878,32056 25874,32059 25878,32063 25882,32066 25885,32067 25885,32070 25885,37070 25885,37072 25889,37075 25890,37075 25885,37080 25890,37080 25892,37084 25888,37086 25893,37090 25898,37091 25895,37096 25897,37101 25902,37096 25905,37101 25906,37101 25909,37102 25914,37100 25914,37104 25914,37109 25917,37111 25919,37111 25924,37113 25925,37118 25923,37122 25927,37123 25929,17800 10713,17805 10708,17808 10711,17813 10715,17813 13715,17808 13719,17804 13714,17807 13717,17808 13722,17810 13724,17811 13728,17816 13730,17820 13733,17822 13736,17823 13736,17824 13740,17824 13745,18767 22750,18768 22754,18773 22754,18775 22757,18779 22760,18784 22763,18781 22767,18776 22767,18776 22769,18778 22772,18774 22773,18770 22774,18774 22776,18774 22777,18770 22781,18771 26781,18768 26785,18770 26787,18775 26787,18770 26789,18773 26793,18778 26795,18783 26796,18785 26799,18785 26801,18789 26798,18794 26799,18794 26801,18789 26803,18793 26806,18795 31806,18791 31810,18794 31814,18797 31817,18802 31813,18806 31815,18806 31819,18810 31824,18807 31828,18812 31830,18813 31826,18815 31828,18816 31829,18821 31831,18821 31833,18822 31836,18822 31838,18826 31841,18828 31846,5666 501,5668 506,5669 1506,5672 1508,5674 1512,7674 1512,7679 1513,7679 1512,7684 1513,7689 1511,7686 1515,7691 1520,7689 520,7689 521,7690 524,7695 520,4695 521,4696 526,4698 526,4699 531,4702 531,4699 535,4702 538,4698 540,4699 4540,4702 4537,4707 4540,4707 4537,4709 4537,4711 4542,4713 4542,4718 4544,4720 4549,4716 4553,4717 4556,4722 4561,4726 4562,4726 4563,4731 4564,4735 4565,4735 4570,4733 4572,9733 4574,9736 4577,9736 577,9737 572,9737 569,9742 570,9747 575,9747 580,9748 1580,9747 1585,9747 1588,9747 1588,9747 1592,9747 1592,9751 1592,9754 1593,9751 1595,9756 1599,11756 1603,11759 1607,11756 1610,11754 1613,11749 1613,11750 4613,11749 2613,11746 2610,11749 2608,11752 2611,11754 2607,11759 2612,11762 2612,11763 2612,11764 2613,11765 2613,11760 2615,11757 2620,11752 2623,11748 2627,11748 2631,11751 2632,11751 2633,11754 2635,11758 2639,11758 2643,11760 2646,11763 2646,11767 2649,11762 2652,11760 2652,11756 2656,11752 4656,11749 4659,11754 4662,11759 4666,11764 4670,11761 4666,11756 4669,11756 4670,11761 4671,11762 4673,11765 4678,11768 4680,11768 7680,12768 7677,12771 7680,12771 7683,12776 7683,12777 7688,12779 7688,12779 7684,12781 7679,13781 7682,13781 7684,13776 7684,13779 7685,13784 7685,13787 7689,13784 7689,13787 7689,13791 7685,13791 7686,13787 7691,13788 7696,13790 7693,13790 7696,13791 6696,13796 6698,13798 6695,13797 6698,13799 6701,13799 6704,13803 6709,13804 6705,13799 6708,13804 6703,13807 6705,13807 6708,13809 6710,13812 6714,13814 6716,13817 6718,13819 6722,13821 6717,13826 6718,13828 6717,13828 6721,13831 6721,13831 6720,13834 6715,13837 6712,13837 6713,13842 6715,13847 6715,13847 6714,13847 6709,13848 6712,13852 6714,13854 6719,13857 6723,13859 6726,13861 6730,13859 6731,13855 6731,13855 6731,13856 6728,13857 6730,13862 6731,13865 6731,13863 6729,13868 6729,13866 11729,13867 11732,13871 11732,13873 11737,13872 11741,13870 11745,13874 11744,13871 11748,13870 11753,13871 11757,13871 14757,13875 14759,13878 14760,13881 14760,13879 10760,13875 10765,13879 10767,13880 10770,13876 10775,13880 10776,13880 10776,13882 10776,13883 14776,13888 14779,13888 14779,13893 14779,13898 17779,13903 17784,13898 17788,13894 17788,13896 17788,13900 21788,13903 21784,18903 21789,18899 21789,18900 21793,18901 21794,18905 21795,18908 21792,18913 21794,13913 21796,13911 21798,13916 21799,13916 21799,13918 21804,13916 21800,13912 21799,13915 21794,13916 21797,13921 21799,13916 21802,13918 21806,13919 21810,13921 21813,13924 21817,13927 21814,13932 21816,13934 21811,13936 21811,13934 21814,18934 21816,18929 21816,18934 21815,18933 21817,18932 21822,18936 21819,18938 16819,18933 16822,18933 16822,18937 16822,18937 16827,18940 16827,18945 16830,18947 16829,18950 19829,18949 19829,18949 19829,18946 19825,18947 19828,18946 19829,18943 19829,18943 19824,14943 19829,14939 19830,14942 19831,14946 19835,14946 22835,14942 22836,14946 22831,14950 22832,14952 22835,14947 22840,14951 22844,14951 22845,14947 22850,14948 22851,14951 22849,14956 22852,14957 22852,14957 22857,14962 22857,14965 22859,14970 22860,14968 22862,14972 22864,14977 22866,14974 22870,14975 20870,14976 20870,14979 20873,14984 20869,14989 20871,14993 20874,14993 20877,14994 20878,14995 20878,14997 20883,14998 20879,15001 20884,15001 20884,15003 20889,15006 20884,15009 20885,15009 20883,15007 20880,15011 20876,15008 20877,15009 20873,15010 20875,15009 20875,10009 20876,10012 20871,10013 21871,10017 21872,10012 21873,10010 21874,10008 21871,10012 21870,10013 21874,11607 14571,11608 14575,11612 15575,11613 15576,11613 15577,11618 15578,11622 15581,11624 15585,11627 18585,11631 18587,11634 18590,11634 18586,11634 18586,11636 18591,11635 18591,11636 18596,11636 18592,13636 18593,13640 18595,13642 18600,13641 18600,13641 18604,13642 18607,13643 18611,13648 18611,13651 18613,13655 18615,13656 18620,13651 18618,13651 18616,13654 18611,13651 18616,18651 18620,18656 18620,18661 18621,18657 18625,18661 18627,18663 18628,18666 18633,18661 18637,18665 18639,18665 18639,18667 18641,18669 18641,22669 18642,22673 18644,22676 18648,22681 18649,22682 18649,22682 18646,19682 18646,19684 18646,19685 20646,19690 20646,19690 20643,19686 20643,19686 20643,19690 20647,19690 20647,19689 20652,19692 20653,19692 20656,19697 20661,19698 20662,19703 20666,19707 20669,19707 20673,19708 20674,19709 20675,19709 20677,19710 20674,19715 20675,19717 20673,19721 20673,19720 20677,19718 20677,19716 20680,19718 20681,19718 20685,19722 20688,19725 20688,19729 20685,19728 20687,19728 20690,19732 20691,19735 20691,19739 20691,19744 20696,16744 20693,16746 20695,16748 20695,16748 20691,16746 20696,16750 20699,16755 20704,16755 20709,16760 20710,16763 20711,16763 20711,16765 20707,16767 20705,16771 20706,16771 20708,16775 20706,9653 7576,9654 7577,9659 7576,9659 7572,9655 7575,9660 7579,9660 7579,9660 7583,9661 7588,9663 7591,9666 7590,9662 7592,9665 7593,9669 7594,9668 80000)') WHERE p = 1; +UPDATE t1 SET g = ST_linefromtext('linestring(-5 -576,0 -576,0 -571,0 -571,5 -568,6 -564,6 -565,6 -563)') WHERE p = 2; +ROLLBACK; +connection control_purge; +# disable purge +START TRANSACTION WITH CONSISTENT SNAPSHOT; +connection default; +DELETE FROM t1 WHERE p = 3; +UPDATE t1 SET g = ST_linefromtext('linestring(448 -689,453 -684,451 -679,453 -677,458 -681,463 -681,468 -678,470 -676,470 -678,468 -675,472 -675,472 -675,474 -674,479 -676,477 -675,473 -676,475 1324,479 1319,484 1322,483 1323,486 1323,491 1328,492 1325,496 1325,498 1325,501 1330,498 1331,500 1331,504 1330,508 1329,512 1332,513 1337,518 1339,518 1339,513 1344,513 1344,512 1346,514 1351,515 1353,519 1358,518 1362,522 1365,525 1360,526 1362,527 1362,528 1367,525 1371,528 1366,532 1369,536 1374,539 1377,543 1379,539 1381,541 1382,543 1383,546 1388,549 1393,554 1393,554 1395,554 1392,550 1394,550 1392,546 1394,549 1397,550 1393,549 1394,554 1390,554 1391,549 1396,551 1396,547 1400,547 1402,551 1407,554 1412,554 1415,558 1418,463 -681,465 -677,465 -675,470 -670,470 -665,470 -660,470 -659,473 -656,476 -656,481 -655,482 -652,486 -654,486 -652,486 -648,491 -646,490 -651,494 -646,493 -644,493 -644,490 -644,491 2356,495 2359,495 2364,500 2359,503 5359,504 5364,509 5368,504 5367,499 5368,498 5371,498 5369,500 5370,504 5370,508 5370,511 5370,507 5374,508 5378,511 5382,507 5387,509 5389,512 5388,515 5393,520 5396,517 5397,517 5402,515 5404,520 5402,521 5405,525 5405,526 5408,530 7408,535 7413,533 7415,529 7412,532 7416,4532 7416,4534 7421,4533 7417,4536 7413,4536 7418,4540 3418,4545 3418,4549 3415,4551 3419,4554 3421,4559 3423,4559 3426,4557 3424,4561 3428,4558 3428,4563 3431,4565 3435,4569 3439,4569 3439,4569 3444,4567 3444,4572 3446,4577 3447,4581 3444,4581 3448,4584 3448,4579 3447,4580 3450,4583 3449,4583 3453,4587 3455,4588 3458,4593 3463,4598 3465,4601 3468,4598 3464,4598 3460,4593 5460,4595 5461,4600 5464,4600 5465,4601 5466,4606 5466,4608 5466,4605 5464,4608 5467,4607 5468,4609 5465,4614 5461,4618 5463,4621 5467,4623 5470,4622 5470,4622 5470,4625 6470,4627 6471,4627 6472,4627 6473,6627 6474,6625 6474,6628 6477,6633 6481,6633 6480,6637 6475,7637 6479,7638 6482,7643 6487,7644 6492,7647 6492,7648 6495,7646 6498,7650 6499,7646 6494,7644 6499,7644 6497,7644 6499,7647 6502,7649 6504,7650 6501,7647 6503,7649 6504,7650 6508,7651 6503,7652 6508,7655 6508,7650 6511,7655 6515,7658 6513,7663 6513,7665 6514,7669 6512,7667 6510,7664 6510,472 -675,477 -670,479 -666,482 -663,484 -668,484 -666,485 -664,481 -664,479 -659,482 -659,484 -658,483 -659,488 2341,493 2339,489 2338,491 2342,491 2346,494 2346,490 2348,493 2348,498 2349,498 2350,499 2349,502 2350,503 2348,506 2348,506 2348,507 2353,507 2355,504 2359,504 2364,504 2361,499 2365,502 2360,502 2358,503 2357,504 2353,504 2357,500 2356,497 2355,498 2355,500 2359,502 2361,505 2364,508 2364,506 2368,506 2370,504 2373,499 2373,496 2372,493 2377,497 2380,495 2383,496 7383,493 7386,497 7391,494 7387,495 7389,498 7392,498 7392,495 7395,493 7398,498 7401,498 7403,503 7400,498 8400,501 8401,503 8401,503 8401,501 10401,496 10396,491 10401,492 10399,493 10403,496 10403,491 10403,493 10407,489 10410,493 10407,489 10403,498 7403,497 7399,496 7403,500 7405,500 7407,503 7411,508 7415,511 7415,511 7420,515 7420,520 7423,523 7423,520 7427,523 7427,523 7427,522 7432,525 4432,527 4434,530 4437,534 4441,529 4446,529 4441,534 4436,537 4436,535 4437,532 4437,534 4432,535 4429,538 4430,542 4427,542 4431,538 4431,541 4431,541 4433,543 4433,545 4432,549 4428,552 4426,556 4427,557 4423,560 4427,561 4428,558 4430,559 4434,559 4432,561 4434,561 4437,563 4435,559 4430,561 4435,4561 4437,4566 4441,4568 4446,4568 4450,4569 4455,4565 4458,4561 4463,4561 9463,4564 9463,4565 9461,9565 9463,9560 9467,9560 9466,9555 9469,9555 9471,9559 9469,9557 9473,9553 9478,9555 9480,9557 9481,9557 9481,9557 9483,9562 9487,9558 9487,9558 9490,9561 9493,9562 9493,9557 9493,9560 9496,9555 9501,9553 9503,9553 9506,9557 9510,9558 9511,9561 9514,9563 9512,9568 9514,9567 9514,9567 13514,9570 13517,9566 13521,9571 13521,9571 13526,9573 13521,9571 13521,9576 10521,9580 10526,9582 10525,9584 10528,9584 10531,9584 10533,9589 10533,9588 10537,9588 10541,9589 10542,9593 10544,9595 10540,9597 10541,9600 10545,9601 15545,9603 15549,9605 15553,9601 15558,9601 15553,9605 15551,9605 15550,9605 15554,9607 15556,9605 15556,9604 15561,9607 15559,9603 15559,9603 15562,9604 15563,9608 15566,9612 15570,9617 15565,9622 15568,9627 15566,9628 15564,9629 15564,9633 15569,9636 15569,9634 15571,9634 15572,9636 15574,9634 15570,9629 15570,9631 15567,9629 15570,9626 15574,9626 15575,498 7401,502 7401,506 7397,506 7395,502 7398,497 7401,502 7402,505 7397,508 7400,504 7404,3504 7409,3505 7405,3508 7410,3511 7413,3511 7416,3511 7419,3511 7419,3513 7421,3517 7424,3519 7426,3520 11426,3523 11421,3527 11418,3530 11415,3530 11416,3533 11418,7533 11415,7531 11415,7531 11417,7536 11420,7541 11424,7543 11425,7543 11427,7543 11429,7540 11429,7542 11425,7541 11420,7542 11421,7542 11422,7540 11424,7540 11423,7543 11422,7546 11426,7550 11431,7553 11436,7555 16436,7553 16438,7558 16438,7559 16438,7560 16439,7565 16437,7560 16435,7563 16435,7566 16440,7566 16444,7564 16447,7559 16443,7561 16443,7566 16448,7570 16451,7574 16456,7578 16459,12578 16459,12578 20459,12577 20456,12581 20454,12585 20456,12585 20456,12585 20456,12583 20456,12579 20459,12580 20461,12580 20462,12580 20460,12585 20465,12586 20467,12590 20470,12590 20470,12589 20471,12584 20471,12589 20471,9589 20472,9594 20472,9595 20472,9596 20477,9598 20482,9603 20480,9608 20484,9613 20484,9610 20486,9608 20488,9608 20489,9610 20489,9614 20486,9619 20481,9620 20481,9618 21481,9621 21483,9626 21483,9628 21485,9623 21487,9622 21490,9626 21493,9621 21495,9626 21498,9622 21499,9624 21504,9625 21499,9629 21501,9633 21498,9637 21495,9639 21498,9644 21501,9557 9481,9560 9485,9561 9490,9563 9488,9560 9486,9558 9488,9561 9492,9563 9495,9567 9492,9567 9488,9564 9490,9559 9495,9559 9498,9557 9502,9562 9506,9564 9509,9569 9512,9569 9516,9569 9518,9569 9515,9571 9513,9571 9512,9573 9513,9578 9516,9581 9516,9585 11516,9585 11521,9590 10521,9586 10524,9589 10529,9589 10527,9589 10527,9594 10532,9594 10534,9598 10536,9598 10540,9600 10542,9604 10538,9607 10538,9609 10543,9613 10538,9613 10533,9613 10537,9610 10537,9614 10542,9609 10542,9610 10543,9610 10548,9611 10553,9616 7553,9620 7553,9621 7557,9618 7559,9618 7554,9622 7557,9622 7561,9622 7556,9622 7560,9619 7560,9620 7565,9622 7563,9627 7566,9630 7570,9630 7571,9632 7573,9637 7576,9639 7578,9640 7576,9640 7579,9640 7575,9642 7570,9646 7570,9651 7574,9653 7577,9652 7572,9653 7576,9653 7576,9651 7581,9656 7585,9660 7586,9659 7591,9657 7594,9661 7598,9664 7602,9668 12602,9673 12604,9676 12606,9679 12602,9682 12605,9677 12610,9674 12606,9674 12601,9674 12603,9672 9603,9668 9605,9671 9606,9668 9611,9668 9606,9671 9611,9675 9615,9677 9620,9678 9622,9679 9624,9684 9626,9685 9627,9685 9622,9685 9626,9689 9628,9694 9633,9699 9637,9699 9637,9704 9636,9708 9637,9709 9638,9707 9639,9705 9642,9707 9647,9710 9649,9711 9653,9716 9649,9716 9648,9720 9650,9721 9648,9723 9648,9726 4648,12726 4653,12731 4655,12734 4660,12730 4661,12733 4664,12733 4665,12735 4670,12737 4674,12741 4674,12738 4675,12740 4675,12737 4675,12742 4678,12743 4681,12746 4677,12751 4675,559 4430,563 4430,565 4435,566 4440,561 4445,562 4447,564 4450,561 4453,563 4453,561 4458,561 4458,562 4453,566 4454,571 4458,571 4460,574 4461,574 4464,579 4466,579 4470,582 4468,586 4470,590 4468,593 4468,594 4470,596 4474,591 4475,591 4480,594 4482,597 4486,593 4486,595 4486,598 4490,600 4492,3600 4497,3598 4497,3598 4494,3599 4493,3600 4497,3600 4494,3604 4498,3604 5498,3600 5497,3602 5493,3602 10493,8602 10498,8606 10494,8605 10495,8606 10496,8605 10500,8605 10500,8603 10499,8601 10502,8602 10505,8603 10501,8608 10503,8608 10508,8609 10503,8610 10505,8613 10504,8615 10506,8616 10508,8612 10513,8613 10517,8615 10520,8617 10521,8621 10524,8624 10524,8624 10524,8624 10519,8625 10514,8626 10519,502 7402,503 7399,506 7404,543 1379,548 1379,550 1380,553 1379,558 1376,556 1376,558 1372,559 1372,560 1377,565 1374,568 1375,568 1379,572 1382,570 1384,575 1386,576 1389,576 1394,579 1398,583 1403,586 1401,586 1401,591 1400,593 1402,598 1407,601 1412,546 1394,550 1396,553 1396,555 1394,4584 3448,4585 3450,4583 3450,4588 3451,4590 3449,4595 3449,4599 3454,4603 454,5603 458,5604 458,5605 453,5610 457,5614 459,5619 463,5621 466,5618 466,5623 465,5627 466,5625 471,5626 476,5630 479,5635 484,9635 488,9639 488,9641 483,9644 484,9649 484,5649 488,5649 492,5651 497,5656 497,5661 499,5665 504,5666 500,5666 497,5666 499,5666 499,5666 501,5670 502,5670 504,5670 507,5673 502,5677 506,4677 507,4682 509,4682 511,3682 510,3679 514,3683 510,3686 515,3684 518,3686 522,3689 527,3690 527,3688 529,3690 533,3692 530,3691 532,3695 529,3696 529,3701 533,3701 535,3699 540,9610 10543,9612 10545,9615 10548,9617 10548,9619 10550,9624 10548,9627 10549,9625 10553,10625 10553,10626 10555,500 7407,500 7407,500 7411,505 7413,505 7411,502 7415,504 7415,508 7411,511 7411,506 7412,506 7410,3506 7411,3507 7415,3509 7417,3511 7417,3513 7418,3516 7422,3518 7422,3518 7426,3513 7430,3515 7435,3520 7435,3521 7437,3526 9437,3526 9434,6526 9437,6526 9438,6526 9438,6527 9441,6528 9439,6523 9441,6518 9445,6522 9446,6526 9447,6529 9451,6529 9455,6530 9459,6532 9457,3532 9460,3536 9461,3537 9466,3541 9466,3544 9466,3546 9468,3549 9467,3553 9470,3551 9470,3551 9474,3552 9473,3547 9473,3547 9473,3547 9476,3552 9481,3553 9486,3555 9490,3556 9491,3559 9495,3560 9493,3563 9494,3563 9494,3565 9495,3565 10495,3568 10496,3573 10501,3574 10501,3576 10502,3578 10503,3578 10504,3580 10508,7580 10505,7578 10508,7578 10511,7578 10508,7581 10508,7582 10511,7577 10510,7577 10514,7573 10516,7578 10520,7580 10525,7581 10530,7585 10532,7590 10535,7594 10540,12594 10540,12591 10545,12595 10548,12595 10543,12597 10547,12597 10542,12595 10545,12595 10546,12600 10550,12605 10550,12606 10546,12604 10548,12605 12548,12605 12546,12607 12548,7607 12552,7611 12557,7608 12557,7608 12553,7611 12553,7610 15553,7608 15550,7610 15551,7607 14551,7607 14556,7606 14561,7602 14561,7602 14566,7601 14565,7606 14565,7605 14570,7608 14568,7609 14571,7613 14572,7614 14572,7616 14574,7613 14573,7615 14570,7618 14570,7615 14574,7617 14575,7614 14578,7616 14582,7617 14584,7617 14584,7618 14589,7622 14590,7619 14592,7624 14593,7628 14596,7632 14601,7627 14601,7629 14603,7629 14603,7630 14608,7631 14611,7626 14611,7628 14611,7628 14616,7624 14617,7619 14618,7624 14618,7626 16618,10626 16620,10624 16620,10629 16619,10633 16624,10636 16624,10638 16624,10643 16624,7643 16625,7643 16630,7643 16625,7647 16629,7648 16628,7649 16633,7650 16633,7650 16634,7645 16635,7646 16632,7642 16635,7643 16635,7643 16630,7638 16634,7640 21634,7645 21633,7650 21634,7651 21639,7652 21641,7655 21636,7651 21640,7654 21635,7655 21637,7660 21640,7656 21643,7661 21644,7663 21645,7667 21642,7669 21644,7674 21645,7674 21649,7677 21647,7672 22647,7672 22650,7667 22650,7667 22647,7671 22646,7672 22648,7673 22651,11673 22653,11672 22654,11670 22652,11671 22656,11673 22656,11674 22654,11678 22658,11678 22656,11675 22659,11680 22659,11685 22664,11687 22659,11687 22664,11687 22664,11692 22669,11696 22673,11701 22678,11696 22683,11696 22687,11691 22688,11695 22683,11691 22688,11696 22691,11695 22691,11700 22695,11702 22693,11705 22696,11710 22699,15710 22700,15712 22704,15707 22708,15712 22708,15715 22708,15720 22709,15725 22712,15723 22714,15724 22719,15727 22718,15727 22718,15731 22713,15730 22715,15734 22717,18734 22722,18729 22724,18725 22728,18729 22732,18733 22734,18736 22730,18740 22733,18740 22735,18742 22731,18741 22732,18744 22736,18749 22735,18754 22739,18754 22741,18756 22745,18758 22746,18760 22750,18764 22751,18764 22753,18764 22754,18767 22750,18767 22753,18767 22756,18772 22761,18777 22757,22777 22757,22780 22760,22776 22758,22776 22760,22772 22760,22775 22760,22777 22762,22774 22759,22775 22764,22772 22764,22767 22766,22768 22771,22771 22771,9589 10527,9593 10528,9598 10533,9600 10534,9597 10534,11597 10535,11602 10539,11603 10544,11598 10543,11601 10543,11605 10544,11609 10545,11611 10542,11615 10540,11615 10542,11616 10544,11619 10544,11621 10544,11623 10542,11619 10544,11620 10549,11616 10549,11618 10550,11619 10552,11622 10555,11622 10556,11623 10556,11621 10556,11625 10561,11625 10564,11625 10566,11628 10563,11630 10567,11628 10572,11626 10575,11628 10575,11632 11575,11636 11576,11638 11577,11638 11578,11638 11581,11639 11579,11643 11574,11646 11573,11650 11574,11647 11579,11648 11580,11653 11581,9571 9513,9571 9516,9571 9516,9574 9521,9572 9525,9573 9528,9573 9529,9578 9531,9583 9526,9581 9531,9576 9535,9578 9533,9583 9535,9583 9539,9587 9544,9590 14544,9595 14544,9598 14545,6598 14549,6598 14551,6599 14552,11599 14556,11602 14558,11598 14558,11598 14561,11602 14565,11603 14565,11603 14564,11603 14568,11604 14573,11605 14568,11607 14568,11607 14570,11607 14572,11607 14567,11611 14572,11611 14571,11607 14571,11609 14569,11605 14569,11606 14570,11606 14573,11607 14577,11610 14578,11609 16578,11609 16582,11607 16579,11605 16581,11606 16576,11605 11576,11608 11578,11610 11583,13610 11583,13614 11578,13616 11582,13617 11587,13617 11583,13621 11585,13626 11589,13621 11589,13621 11591,15621 11591,15625 11591,15630 11595,15631 11596,15634 11598,15638 11603,15642 11608,15643 11612,15642 11614,15646 16614,15648 16610,15648 16614,15648 16614,15647 16614,15652 16611,15654 16616,15655 16611,15651 16612,15655 16615,15659 16617,18659 16616,18660 16611,18660 16616,18664 16621,18668 16626,9673 12604,9674 12605,9676 12605,9679 12605,9682 12606,9680 12606,9680 12609,9681 12612,9684 12616,9688 12620,9691 12624,9686 12621,9686 12625,9686 12630,9684 12634,9686 12634,9687 12639,9686 12637,9683 12634,9685 12632,9689 12632,9689 12629,9692 12629,9692 12632,9695 12636,9693 12641,9692 12645,9692 16645,9694 16646,9698 16650,9698 16651,9693 16651,9693 16652,9693 16655,9692 16652,9693 16655,9689 16658,9689 16658,9692 16661,9696 16665,9698 14665,9701 14668,9702 14664,9703 14663,9702 14667,9707 14667,9711 14672,9716 14673,9719 14677,11719 14673,11720 14674,11721 14672,11725 14672,11729 14667,10729 18667,10732 18667,10727 18669,10730 18665,10732 18670,10737 18665,10737 18670,10742 18674,9742 18674,9741 18675,9742 18676,9746 18678,9751 18677,11751 18679,11751 18684,11753 18687,11757 18692,11757 18690,11761 18691,11761 18692,11766 18697,11769 18701,11771 18696,11774 18697,11774 18701,8613 10517,8611 10522,8611 10522,8616 10521,8619 10523,8622 10521,8623 10518,8623 10518,8624 10518,8624 10521,8629 10523,8633 10518,8635 10514,8640 10514,8642 10514,8646 10514,8647 10517,8644 13517,8649 13518,8653 13522,12653 13522,12653 13526,12657 18526,12653 18527,12657 18532,12660 18535,12656 18537,12660 18539,12658 18537,13658 18541,13657 18545,13657 18547,13660 18551,13665 18554,13665 18556,13665 18559,13665 18556,13668 18560,13672 18564,13672 18566,13676 18568,13676 18568,16676 18568,16681 18568,16678 18568,16682 18573,16681 18577,16686 18575,16686 18571,16686 18576,16684 18578,16684 18578,16681 18581,16684 18584,16683 18586,16687 18581,16682 18583,16677 18582,16676 18583,16681 18585,16679 14585,16677 14590,16682 14591,16686 14587,16691 14587,16696 14585,16696 14583,16697 14587,16702 14589,16704 14594,16699 14594,16704 14594,16704 14599,16705 14604,16708 14608,16713 15608,16717 15613,16721 15618,16721 15623,16724 15628,19724 15630,19726 15627,19729 15628,19725 15626,19720 15631,19724 15635,19728 15634,19729 15632,19730 15630,19733 15633,19734 15634,19736 15636,19741 15634,19739 15634,19744 15634,19749 15630,21749 15633,21747 15637,21749 15641,21749 15641,21745 15645,21748 15650,21749 15655,21751 15660,21753 15660,21755 15656,21752 15658,21751 15658,21753 15658,21754 15661,21754 15665,21754 15667,21757 15668,21753 16668,21753 16670,21757 16673,21759 16670,21756 16670,21760 16673,21757 16676,21761 16680,21765 16685,21768 16686,21769 16690,21769 16688,21769 16686,21766 16686,21768 16688,21773 16687,21778 16690,21781 16690,21780 16694,21780 16693,24780 16695,24777 16700,24782 16702,24787 16701,24787 16697,24787 16700,24792 16704,24787 16701,24788 16701,24789 16706,24792 16706,24797 16706,24800 16710,24805 16711,24805 16715,24810 16710,24809 16714,24813 16717,24817 16718,24817 16720,24819 16722,24815 16725,24812 16727,24811 16727,24814 16730,24819 16726,24821 16729,24826 16731,24830 16736,23830 16741,23826 16746,23827 16747,23829 16749,23833 16752,23835 11752,27835 11757,27837 11756,27834 11756,27835 11757,27838 11759,27833 11763,27834 11766,27839 11770,27844 11770,27849 11772,27849 11773,27849 11773,27854 11777,7581 10530,7582 10533,7581 10529,7583 10530,7584 10529,7584 10533,7582 10535,7586 10535,7589 10530,7592 10526,7592 10529,7589 10525,7592 10528,7596 10524,7600 10529,7602 10530,7599 10530,7594 10531,7598 10526,7601 10531,7605 10535,7609 10539,7612 10544,7610 10544,7612 10540,7608 10541,7610 15541,7613 15546,7617 15548,7618 15547,7620 15544,7620 15546,7621 15547,7624 15551,7628 15554,7631 15558,7631 15553,7636 15556,7637 15558,7637 15554,7641 15556,7644 15556,7648 15559,7651 15560,7647 15563,7650 15564,7650 15559,7652 15561,7650 15562,7651 15562,7651 15567,7655 15568,7653 15569,2653 15573,2657 15577,2662 15579,2663 15582,2663 15587,2665 15589,2669 15589,2669 15587,2673 15591,2673 15595,2677 15597,2677 15599,2680 15601,2683 15606,2687 15606,2683 15609,2688 15606,2692 15607,2693 15607,2698 15610,2698 15611,7698 15613,7702 15616,7704 15618,7699 19618,7703 19620,7698 19624,7698 19624,7701 19627,7699 19628,7704 19624,7708 19622,7712 19617,7714 19615,7710 19612,7715 20612,3715 24612,3720 28612,3724 28610,3727 28610,3728 28608,3725 28603,3729 28605,3733 28604,3734 28603,3737 32603,3739 32606,3740 32609,3739 32613,3738 32613,3735 32615,3739 31615,3739 31610,3743 31606,6743 31601,6743 31603,8743 31601,8743 31605,8748 35605,8748 35610,8752 35615,8751 35615,8752 35620,8755 35620,8760 35620,8765 35624,8760 35627,8764 35626,8761 35631,8763 35635,8767 35636,8767 35632,8767 35635,8771 35630,8775 35631,8778 35632,8775 35632,3775 35633,3775 35637,3774 35639,3772 35641,8772 35645,8772 35645,8773 35648,8768 35651,8764 35651,8769 40651,8764 40653,8767 40653,8770 40654,8771 40657,8775 40658,8777 40663,8779 40666,8783 40670,8783 40674,8787 40675,8789 40670,8789 40674,8792 40672,8795 40675,8796 40672,8800 40676,8800 40676,8800 40679,498 7392,503 7390,504 7390,507 7395,509 7395,509 7397,514 7400,6529 9451,6529 9451,6524 9451,6527 9452,6527 11452,6527 11456,6528 11457,6529 11458,6531 11461,6535 11463,6535 11467,6530 11472,6532 11472,10532 11473,10533 11473,10537 11476,10540 11473,10540 11473,10544 11474,10544 11474,10544 11472,10544 11470,10539 11475,10539 11478,10542 12478,10545 12483,10546 12488,10547 12492,10552 12493,10552 12490,10556 12490,10558 12493,10560 12495,10555 12496,10557 12491,10556 12491,10556 12490,10553 12494,10558 12497,10559 12502,10564 12505,21753 16670,21754 16672,26754 16674,26757 16676,26761 16679,26756 16682,26761 16683,26763 16684,26766 16689,26771 16692,28771 16687,28774 16687,28776 16692,28777 16695,28781 16695,28785 16690,28789 16691,28786 16688,28789 16690,28792 16688,28793 16687,28795 16690,28793 16695,28791 16692,28793 16695,28790 16696,28790 16700,28792 16700,28793 16701,28794 16701,28794 13701,28796 12701,28799 12701,28799 12706,28800 12701,28801 12705,28803 12708,28807 12708,28808 15708,28810 15712,28811 15709,28813 15709,28813 11709,28817 11709,7618 14589,7620 14587,7625 14589,7626 14584,7631 14586,7632 14588,7637 14589,7642 14592,536 1374,540 5374,542 5378,542 5383,-2458 5388,-2457 5388,-2455 5393,-2452 5393,-2452 5391,-2448 5389,-2448 5390,-2449 5393,-2445 5388,-2441 5392,-2436 5397,-2432 5397,-2430 5397,-3430 5399,-3429 5404,-3430 5405,-3427 5407,-3422 5409,-3421 5411,-3421 5411,-3421 5407,-3417 5410,-3418 5410,-3422 2410,-3417 2414,-3416 2418,-3412 3418,-3407 3422,-3407 3426,-3406 3429,-3404 3433,-3403 3435,-3398 3439,-2398 3441,-2399 3442,-2397 3446,-2395 3447,-2394 3443,-2398 3445,-2398 3443,-2393 3446,-2391 3450,-2387 3451,-2390 3455,-2385 3457,-2383 3457,-2382 3462,-2379 3467,-2384 3467,-2383 3467,-2381 3470,-2383 3471,-2385 3474,-2383 3479,-2383 3481,-2383 3479,-2382 3484,-2380 3489,-2385 3487,-2384 3490,-2384 3490,-2383 3492,-2383 3495,-2378 3499,-2377 3495,-2378 3498,-2375 3500,-2375 3505,-2373 3503,-2373 3505,-2374 3505,-2374 3506,-2369 3511,-2364 3516,-2361 3516,-2356 3520,-2354 3524,-2353 3529,-2356 3533,-2351 3538,-2354 3542,-2349 3545,-2349 3547,-2347 3550,-2352 3547,-2355 3551,-2353 3556,-2353 3556,-2349 3554,-2352 3553,-2351 3558,-2348 3554,-2346 3556,-2344 3559,-2347 -441,-2352 -437,-2348 -440,-2345 -435,-2343 -440,-2343 -436,-2339 -432,-2339 -431,-2337 -429,-2337 -434,-2341 -431,-2345 -427,-2349 -426,-2350 -422,-2348 -418,-2344 -415,-2349 -415,-2345 -413,-2345 3587,-2344 3583,-2344 3580,-2339 5580,-2335 5583,-2336 5582,-2331 5587,-2330 5582,-2329 5582,-2337 -434,-2333 -433,-2330 -2433,-2327 -2435,-2331 -2433,-2328 -2433,-2328 -2429,-2325 -2429,-2320 -2428,2680 -2428,2684 -2424,2685 576,2685 579,2682 582,2684 584,2679 584,2674 585,2671 587,2673 583,2673 581,2677 581,2680 580,2681 584,2684 580,2681 582,2685 585,2690 583,690 587,691 584,694 584,694 585,692 583,694 584,693 588,28793 16695,28791 16694,28793 16698,28797 16703,28798 16707,28797 16712,28797 16715,28795 16717,28799 16712,28795 16710,28800 16707,28805 16705,28807 16702,28802 16705,28803 16701,28805 16703,28803 16698,28803 16700,28805 16704,28809 16699,28812 16702,28808 16703,28813 16700,28817 16703,28819 16704,28816 16709,28812 16708,28809 16708,28809 16707,28814 16709,28812 16712,28807 16717,28807 16717,28809 16717,28807 16717,28811 16717,28814 16722,28815 16719,28819 16719,28819 16724,28819 16726,28814 16727,28814 16722,28817 16726,28820 16730,28821 16730,28816 16733,28821 16737,28823 16741,28818 16741,28822 16744,28819 16747,28815 16748,31815 16748,31819 16748,31817 16746,31818 16749,31819 16747,31817 16748,31820 16746,31816 18746,31820 18746,31815 18742,31815 18744,31818 18740,31819 18735,31824 18735,31829 18738,31834 18742,31837 18745,31837 18748,31842 18749,31847 18749,31851 18749,31854 18750,31854 18749,31852 18752,31847 18754,31850 18758,31855 22758,31857 22760,31861 22759,31859 22761,31856 22764,31856 22768,31856 22768,31856 22770,31858 22765,31863 22766,31862 22770,31860 22772,31856 22776,31861 22775,31866 22780,31870 22780,31871 22782,31871 22779,31866 22781,31870 22781,31870 22786,31873 22786,31877 25786,31877 25791,31877 25796,31880 25800,31882 25804,31885 25809,31885 25812,31886 25815,31888 25815,31890 25820,31890 25821,31889 25821,31885 25817,31889 25814,31887 25815,31890 25819,31892 25820,31896 25816,31897 25817,31902 25818,31904 25823,31908 25825,31910 25828,31914 25825,31909 25825,31912 25829,31907 25829,31911 25834,31912 25838,31911 25837,31914 25837,31918 25836,31918 25831,31914 25831,31912 25826,32912 25830,32915 25833,32911 26833,32912 26834,32915 26839,32913 26839,32915 26835,32917 26837,32922 26832,32924 26834,32926 26835,32921 26840,33921 26835,33923 26836,33927 26837,33925 26833,33926 26836,33931 26837,33929 26837,33932 26842,33934 26842,33935 26847,33940 26850,33935 26848,33931 28848,33929 28852,33925 28849,33927 28849,33929 28852,33927 28850,33929 28854,33931 28854,33935 28854,28935 28854,28935 28849,28938 28854,28942 28855,28944 28860,28942 28861,28941 28863,28942 28860,28942 28856,28947 28858,28951 28857,28953 28861,28953 28860,28956 28863,28957 31863,28957 31867,28960 31869,28962 31869,28964 31872,28965 31877,28969 31881,28965 31882,28967 31886,28969 31888,28964 31892,28960 31895,28961 31893,28966 31896,28967 31901,28963 31903,28961 31908,28964 31908,28964 31904,28960 31904,28961 31905,28960 31905,28965 31906,28966 31909,28967 28909,28967 28909,28970 28910,28966 28914,28965 28918,28966 28918,9626 21498,9621 21498,9622 21501,9618 21504,9621 21505,9624 24505,9622 24505,9625 24508,9626 24511,9631 24516,7631 24512,7631 24507,7632 24506,7635 24504,7638 24507,7636 24502,7639 24507,7644 24508,7648 24512,7648 24512,7650 24512,7651 24514,7655 24517,7659 27517,10659 27520,10661 27524,10664 27523,10666 27528,10666 27523,10665 27524,10667 27529,9667 27534,9670 27534,9668 27534,9667 27533,9670 27533,9670 27538,9670 27540,9675 27538,9679 27538,9683 27543,9680 27538,9682 27540,9685 27545,9683 27546,9683 27547,9678 27548,9680 27548,9684 27549,9685 27545,9690 27546,9690 27548,9692 27550,9697 27553,9698 27557,9702 27553,9702 27548,9702 27549,9706 27551,9701 27551,9701 27551,9697 27546,9696 27549,9697 27553,9699 27557,9698 27558,9696 27560,9701 27556,9705 27552,32912 25830,32913 25829,32916 25830,36916 25828,36916 25831,36916 25835,39916 25837,39911 25842,39913 30842,39910 30844,39910 30845,39908 30848,39911 30852,39913 30856,39918 30857,493 10403,498 10406,498 10406,493 10406,497 10404,493 10409,493 10414,497 10416,496 10418,499 10423,500 10427,505 10429,510 10429,515 10431,515 10433,515 10433,512 10434,5666 500,5666 500,5668 505,5669 509,8669 2509,9669 2505,9672 2505,9675 2509,9670 2510,14670 2513,14675 2512,14671 2512,14673 2513,14671 2517,14674 2515,14679 2520,14676 2524,17676 2519,17677 2520,17678 2523,10558 12497,13558 12492,13558 12490,13560 12494,13561 12499,13563 12503,13568 12508,13572 12512,13572 15512,13573 15515,13569 15518,13566 15522,13571 15522,13572 15522,13575 15527,13576 15532,13573 15534,13575 15535,13572 15538,13574 15541,13571 15546,13571 15541,13568 15541,11605 16581,11608 16576,11613 16575,11612 16577,7612 16581,7614 16582,7617 16587,7616 16591,7617 19591,7619 19595,7620 19598,7624 19598,7625 19599,7624 19595,7625 14595,7627 14597,7626 14599,7628 14604,7628 14605,7633 14610,7632 14615,7632 14620,7631 14621,7631 14621,7631 14621,7627 14621,7632 15621,7635 15626,7636 15627,7637 15631,7633 15636,7635 15636,7631 15631,7631 15631,7634 18631,7630 18632,7629 18633,7632 18630,7633 18631,7638 18632,7638 18632,7638 18633,7633 18638,7637 18642,7639 18639,7639 18641,7643 18643,7647 20643,7648 20647,7643 20643,7648 20640,7649 20645,7650 20641,7650 20642,7650 20645,5650 20646,5654 20646,5654 20643,5651 20645,5648 20645,5653 20650,5653 20650,5654 20653,5655 20655,5659 20660,5664 20664,5668 20669,5668 20672,5670 20677,5675 20677,5678 20677,5680 20678,5680 20680,5679 20680,5682 20683,5681 20681,5682 20682,5685 20682,5685 20687,5685 20691,5685 20694,5685 20696,5685 20698,5686 20697,5688 20698,5688 20697,5688 20696,5689 20696,5694 20701,5695 20700,5697 20704,5697 20708,5694 20708,5694 20708,5694 20713,5691 20713,1691 20713,1689 23713,1694 23714,1696 23714,593 1402,593 1406,595 1410,598 1413,603 1418,602 1422,601 1422,602 1418,606 1423,607 1424,603 1429,605 1433,609 1429,614 1429,610 1429,610 1429,614 1429,610 3429,612 3425,616 3429,620 3429,624 3432,628 3436,628 3436,628 3441,632 3441,628 3445,626 445,631 449,631 453,630 455,626 -1545,630 -1542,630 -1538,630 -1542,630 -1541,633 -1536,631 -1534,626 -1536,630 -1535,630 -1532,635 1468,637 1471,642 1476,642 1477,642 1478,643 1481,643 4481,638 7481,638 7483,643 7486,645 7484,9668 27534,9669 27537,9671 27538,9672 27539,9673 27544,9674 27544,9673 27546,9671 27546,9667 27542,9666 27546,9667 27543,9672 27544,9675 27548,9676 27546,9676 27541,9681 27538,9681 27540,9686 27544,9686 27547,9690 27544,9687 27545,9691 27549,9693 24549,9694 24546,9692 24548,9697 24553,9694 24555,9695 24560,9696 24555,9700 24551,9704 24547,9703 24549,9705 24551,9705 24554,9705 24554,9705 24557,9707 24561,9706 24557,9711 24562,9715 24566,9720 24568,9717 24569,9720 24573,9725 24573,9726 24575,9729 24577,9734 24575,9735 24578,9735 24582,9731 24583,9726 24586,9727 24586,9728 24589,9733 24592,9734 28592,9734 28592,13734 28594,13737 28595,13740 28595,13744 28598,13739 28600,13742 28601,13744 28597,13742 28602,13744 28602,13744 28598,13745 28603,13744 28608,13749 28609,13749 28609,13754 28606,13758 28610,13759 28609,13760 23609,13761 23611,13763 23616,13768 23618,13769 24618,13768 24617,13773 24613,13773 24613,13778 24617,13776 24620,13778 24619,13779 24620,13781 24625,13785 24625,13785 24622,16785 24617,16786 24617,16790 24617,16794 24622,16795 24626,16798 24630,16796 24631,16796 24636,16799 24638,16804 24637,16808 24637,16809 24632,16814 24627,16809 24627,16814 24632,16818 24628,16816 24627,16820 24622,16820 24627,16824 24632,16823 24637,16824 24642,16826 24644,16824 24648,16826 24648,16826 24652,16829 24652,16829 24656,16828 24651,16832 24653,16827 24648,16828 24645,16828 24647,16831 24645,16832 24649,16835 24653,16839 24656,16839 24654,16840 24659,16841 24658,16845 27658,16845 27658,16840 27659,16837 27659,19837 27654,19841 27654,19836 27657,19839 27659,19839 32659,19839 32659,19839 32664,19840 32668,19842 32671,19847 32671,19851 32673,19856 29673,19856 29670,19858 29675,19860 29676,19865 29677,19868 29677,19868 29674,19872 29675,19872 29674,19874 29669,19876 29667,19876 29670,19878 29675,19883 29675,19883 29675,19879 29676,19879 29673,19880 29674,19880 29679,19876 29676,19876 29677,19879 29673,19880 29677,19879 29678,19881 29681,19882 29683,19882 29681,19887 29681,19888 29681,19891 29684,19896 29688,14896 29689,14896 29693,14899 30693,14903 30698,14908 25698,14910 25698,14911 25698,14914 25699,14910 25695,14910 25696,14914 25697,14917 25692,14921 27692,14925 28692,14920 28694,14924 28698,14924 28699,11924 28697,11928 28692,11932 28687,11937 28691,11941 28694,11940 28699,11944 28701,11940 28701,11940 28701,11943 28699,11945 28703,11947 28706,11951 28711,11953 28714,11956 28709,11961 28708,11966 28703,11969 28705,11967 28709,11967 28714,11964 28719,11969 28719,14969 28720,14970 28717,14973 28714,14976 32714,14976 32711,14977 32711,14980 32709,14984 32709,14987 32711,14988 32715,14993 32719,14994 34719,14994 34721,12994 34724,12994 34726,12998 34727,13000 34729,13002 34729,17002 34732,16998 34736,16999 34735,17000 34740,16999 32740,17001 32745,17001 32741,17005 32746,17006 32751,17010 33751,17008 33754,17013 33758,17013 33760,17010 33759,17010 33759,17009 33762,17013 33766,17017 33766,17020 33762,17015 33766,17019 33762,17022 33762,17017 33766,17014 33762,17018 33767,17019 33764,17021 33764,17023 33764,17019 33764,17022 33760,17024 33758,17029 33759,17033 33760,17028 33764,17023 33764,17028 33769,17031 33774,17034 33778,17029 33780,17034 33783,17030 33785,17032 33781,17035 33776,17038 33775,17040 33775,17041 33778,17045 33778,17049 31778,17050 31782,17052 31780,17054 31781,17051 31783,17053 31783,17049 31779,17050 31779,21050 31782,21053 31783,21054 31778,21056 31781,22056 31786,22052 31783,22050 31786,31882 25804,31887 25800,31887 25801,9610 10543,9612 10548,9614 10553,9614 10558,9614 10553,9616 10556,9620 8556,9623 8554,9628 8559,9630 8564,9630 8568,9628 8566,9628 8570,9630 8574,9634 8574,9634 8570,9635 8569,9635 8566,9632 8568,9637 8571,9638 8572,9639 8568,9643 8568,9646 8572,9646 8570,9651 8575,9650 8578,9653 8581,9654 8583,9653 8586,9655 13586,7655 13586,7660 13591,4660 13590,4663 13590,4666 13592,4671 13597,4673 13596,4678 13599,4682 13600,4685 13601,4683 13603,4685 18603,4683 18604,4685 18606,4690 18608,4690 23608,4693 23606,4693 23606,4697 23603,4702 23608,4704 23613,4704 23615,4709 23614,4708 23615,4711 23619,4711 23619,4713 23622,4713 23626,4711 23630,4715 23631,4712 23635,4714 23640,4718 23640,4719 23642,4721 23640,4721 23639,4726 23644,4730 23648,4725 27648,4723 27648,4727 27651,4731 27654,4733 27656,4737 27657,4742 27660,4745 27661,4750 27660,4751 27664,4754 27659,4759 27659,4755 27664,4757 27665,4752 27665,4754 27667,4750 27670,4750 27674,4753 27678,4753 27682,4758 27682,4758 27683,4760 27679,4762 27679,4764 27682,4769 27678,4773 32678,4773 32675,4771 32675,4767 32679,4772 32684,4775 32684,4778 32684,4775 35684,4775 35679,4775 35680,4779 35683,4779 35683,4784 35683,4789 35680,4790 35685,4791 35687,4791 35688,4792 35683,4792 35688,4792 35688,4797 35690,4799 35693,4803 35692,4803 35694,4803 35695,4808 35695,4812 35698,4816 35702,4815 35706,4811 35711,4811 35708,4813 35710,4813 35710,4814 35714,4815 35718,4820 35722,4816 35719,4819 35719,4824 35722,4826 35719,4830 35724,4832 35728,4835 35725,4840 35726,4840 35729,4840 35733,4840 35733,4841 35732,4844 35728,4848 35730,4849 35733,4849 35734,4849 35736,4847 35737,4847 35738,4843 34738,4846 34739,9846 37739,9850 37743,9853 37745,9857 37749,9852 37752,9852 37751,9852 37748,9852 37751,9851 37753,9848 37756,9843 37759,9841 37759,9840 37764,9837 37767,9842 37764,9845 37764,9840 37765,9842 37770,9842 37774,9846 37775,9851 37778,9854 37783,9854 37779,8854 37783,8851 37787,8856 37791,8859 37794,8860 37793,8855 37794,8857 37798,8859 37797,8860 37797,8860 37802,8861 37804,8863 37804,8863 37805,8865 37808,8866 37811,8866 37811,8862 37811,8859 37811,8864 37816,8864 37816,8867 37817,8872 37819,8867 37822,8871 37819,8875 37817,8876 37819,8876 37822,8871 37818,8873 37823,8877 37822,8879 37820,8880 37824,8881 37826,8884 37825,8887 37827,8884 37829,6637 6475,6637 6471,6635 6469,6640 6474,6641 6478,11641 6476,11644 6471,11639 6467,11638 6464,11642 6464,11646 6459,11647 6462,550 1394,551 1395,552 1399,548 1401,552 1400,547 1405,551 1406,556 1407,558 1410,558 1411,560 1413,565 1418,561 1423,-2378 3499,-2378 3502,-2378 3504,-2374 3501,-2371 3505,-2367 3507,4607 5468,4611 5471,4614 5472,4619 8472,4621 8473,4624 8477,4629 8474,4633 8476,4635 8478,4638 8475,4640 3475,4642 3479,4645 5479,4645 5482,4644 5486,4641 5486,4639 5488,4635 5491,4631 5488,8631 5485,8635 4485,8630 4488,8628 4488,8630 4486,8635 7486,8640 7482,8641 8482,8642 8483,8643 8483,8643 8483,8640 8488,8641 8489,8638 8487,8641 8491,500 5370,502 5368,504 5369,504 5371,506 5375,505 5376,509 5381,509 5381,504 5380,505 5375,509 5379,513 5382,513 5382,515 5382,517 5379,3517 5381,3519 5381,3520 5384,3523 5387,3521 5388,3521 5390,3520 5385,3519 5380,4519 5383,4524 5387,4523 5392,4525 5389,4530 5384,4525 5384,4526 5386,4531 5390,4531 5387,4530 5389,4534 5388,4538 5391,4541 5386,4542 5390,7542 5393,7547 5398,7548 5399,7547 5397,7543 5401,7544 5405,7545 5403,7545 5408,7546 5409,7550 5414,3550 5416,3550 5417,3548 5417,3543 5417,3543 5412,3548 5412,548 5412,552 10412,555 10414,557 10410,560 10411,563 10416,2563 10418,2564 10422,2559 10426,2555 10423,2560 10421,2563 10418,2565 10419,2569 10421,2573 10421,2573 12421,2572 12425,2571 12428,2576 12428,2581 12433,2583 12435,2581 12434,2576 12439,2581 12442,2581 12443,2581 12438,2579 12442,2575 12447,2573 12445,2577 12445,2582 12441,2587 12436,2589 16436,2590 16433,2586 16437,2586 16439,2588 16434,2589 16436,2590 16433,2593 16434,2590 16432,2593 16432,2590 16437,2594 16439,2599 16442,2600 16447,2605 16450,2605 16454,2604 16451,2608 16447,2612 16442,2613 16446,2618 16451,2623 16455,2626 16457,2629 16457,2630 16460,2630 16460,2632 16464,2636 16464,2639 16467,2638 16471,2643 16476,2643 16479,2645 16484,2645 16481,2649 16482,2652 16480,2648 16476,2649 16476,2649 16481,2644 16485,6644 16488,6647 16488,6647 20488,6647 20493,6652 20497,6656 20498,6661 20503,6656 20507,6656 20511,6656 20512,7540 11429,9674 12603,11674 12599,11675 12594,11674 12599,11678 12601,11681 12603,13681 12603,13684 12603,13684 12603,13686 12603,13689 12603,13693 12605,13695 12601,13695 12603,13697 12602,13701 15602,13703 15603,13704 15601,13706 15597,13711 15598,13711 15603,13715 15603,13714 15600,13713 15598,13717 15603,13722 15605,13726 15607,13727 15612,13727 15612,13731 15614,13733 15616,13728 15616,13730 15617,13734 15614,13736 15617,13739 15614,13739 15617,13739 15617,13741 15619,13746 15624,13742 15624,13742 15626,13746 15626,13750 15623,13749 15621,13754 15626,12754 15627,12750 15627,12753 15624,12754 15624,12758 15629,12759 15624,12761 15627,12764 15632,12765 15637,12768 15635,12772 15640,12769 15636,12772 15634,12773 15634,12772 15634,12775 15635,12772 15640,12774 15641,12777 15641,12779 15646,12780 15642,12776 15640,12780 15640,12779 15638,12784 15642,12789 15643,12787 15644,12788 15649,12791 15649,12789 15648,12787 15648,12791 15650,7791 15655,7795 15655,7798 15658,7802 15659,7803 15655,7804 15654,2804 15652,2808 15648,2806 15652,2805 15652,2806 15657,2801 15657,2801 15658,2801 15655,2803 15654,2808 15658,2804 15653,2803 15656,2807 15656,2812 15658,2814 15657,2818 15658,2818 15660,2822 18660,2825 18664,2829 18668,2833 18663,2832 18668,2832 18668,2834 18671,2836 18672,2839 18677,2843 18680,2848 18675,2851 18677,2854 18681,2859 18685,2864 18690,2868 18694,2873 21694,2877 21694,2879 21693,2881 21693,2882 21696,2885 21697,2883 21701,2887 21702,2887 21702,2887 21697,6887 21701,6892 21702,6888 21707,3576 10502,3578 10506,3582 10508,3585 10508,3590 10512,3592 11512,3593 11514,3598 11514,3602 11514,3599 11515,3599 11516,3601 11520,3601 11519,3599 11522,3599 11519,3601 11517,3600 11515,3600 11517,3596 11519,3600 11521,3603 11525,3606 11528,3607 11532,3608 11536,3606 11541,3605 11541,3605 11542,3609 11537,3613 11538,3609 11538,3605 11538,3605 11542,3609 11546,3613 11541,3613 11546,3612 11547,3611 11551,3614 11548,3610 11550,3611 11555,3611 11559,3615 11559,3618 11563,3621 11564,3618 11567,3620 6567,3624 6567,3627 6570,3623 6572,3619 6576,3616 6577,3611 6578,3612 6579,3609 6578,3610 6582,3613 6586,3614 6586,3619 6584,3622 8584,3617 8582,3622 8587,3622 8592,3624 8592,3627 8587,3628 13587,3629 13589,3631 13594,3636 13589,3636 13590,3637 13587,3637 13591,3641 13596,3641 13597,3645 13602,3640 13601,3640 13602,3640 13606,3644 13606,3644 13609,3639 13612,3639 13612,3644 13610,3649 13615,3654 13618,3659 13618,3662 13618,3666 13620,3661 13625,3660 13630,3660 13634,3662 13635,3659 13637,3663 13638,3666 13638,3669 13635,6669 13635,6671 13631,6672 13631,6669 13631,6667 13629,6663 13629,6663 13627,6663 13627,6667 13630,6671 13630,6671 13630,6673 15630,6674 15631,6679 15632,6682 15629,6685 15629,6686 15631,6691 15633,11691 15630,11689 15629,11693 15632,11693 15627,11698 15627,11695 15626,11697 15629,14697 15628,14701 15631,14705 15632,14700 15632,17700 15635,17705 15640,17700 15642,17701 15638,17703 15640,17708 15641,17712 16641,17716 21641,17716 21645,17721 21645,17720 21650,17720 21653,17720 21653,17722 21653,17718 21654,17721 21657,17723 21657,17724 21657,17720 21659,17723 21663,17725 21660,17725 21661,17723 21661,17727 21665,17727 21665,17731 21669,17729 21671,17731 21671,17727 21671,17727 21667,17726 21670,17722 21671,17727 21671,17732 21671,17737 21671,17739 21674,17741 21676,17746 21680,17750 21683,17745 21681,17745 21678,17750 21679,17753 21681,17758 21677,17760 21682,17764 21681,17763 21681,17763 21684,17766 21680,17768 21684,17764 21688,17769 21691,17771 21695,17773 21691,17776 21690,17777 21695,17781 21695,17784 21695,17784 21695,17786 21699,14786 21695,14786 21692,14786 21690,14788 21691,14788 21696,14793 21698,14798 21701,14796 21699,14800 21702,14796 21704,14800 26704,14805 26699,14810 26700,14810 26698,14814 24698,14814 24702,14814 24705,14815 24700,14819 24703,14822 24705,14826 24710,14831 24709,14833 28709,14835 28710,14838 28708,14839 28708,14842 28709,14847 28713,14843 28714,14847 28712,14850 28717,14847 28713,14851 28711,14854 28706,14853 28702,14848 28697,14852 28702,14857 28706,14857 28710,14858 27710,14861 27711,14864 27714,17864 27715,17864 27716,17864 27713,17869 27715,17870 27719,17871 27720,17869 27720,17872 27724,17871 27729,17873 27729,17875 27733,17877 28733,17881 28730,17881 28727,17884 28728,17886 28733,17886 28734,17891 28735,19891 28735,19892 28731,19896 28732,19891 28736,19895 28740,19898 28737,22898 28738,22898 26738,22898 26733,22899 26738,22900 26738,22901 26742,22901 26744,22896 26744,22899 26746,22901 26751,22899 26754,22904 26756,22906 26761,22909 26761,22914 26766,22915 26765,22918 26768,22913 26768,22915 26763,22920 26763,22917 26764,22921 26765,22922 26769,22918 26764,22920 26765,22919 26768,26919 26771,26922 26774,26927 26779,26924 26778,26924 26780,26920 26782,26924 26787,26922 26788,26925 26792,26927 26787,26928 26790,26933 26794,26933 26795,26936 26795,26939 26800,26939 26798,26936 26798,26939 26795,26937 26795,26937 26793,26937 28793,26939 28791,26940 28793,26937 28796,26937 28797,26935 28798,26930 28798,26934 28802,26934 28807,26936 28811,26940 28812,26937 28815,26939 28814,26934 28812,26938 28817,26942 28822,26943 28822,26948 28822,26952 28824,26953 28824,26953 28829,26950 28834,26954 28839,26954 28839,26949 29839,21949 32839,21951 32838,21951 32843,21951 32844,21951 32849,21951 32854,21953 32854,24953 32852,24953 32851,24957 32853,24962 32854,24963 32849,24967 32847,24970 32849,24966 32849,24967 32852,24963 32856,24965 32860,24968 32861,24971 32860,24974 32860,24978 32863,24980 32859,24981 32864,24981 32868,24983 32866,24988 32866,24988 32869,24991 32874,24992 32878,24992 32881,24992 32877,24988 32880,24991 36880,24991 36883,24991 36885,24992 36889,24996 36894,24995 36894,24998 36894,24999 41894,25004 41899,25006 41900,25010 41905,25005 41909,25007 41912,25008 41916,25009 41919,25011 41917,25016 41919,25017 41916,25014 41919,25015 41919,25017 41919,25018 41924,25023 41927,25026 41928,25026 41929,25021 41926,25020 41926,25023 41928,25019 41933,25018 41932,638 7483,639 7484,640 7482,644 7484,646 7486,651 7486,554 1390,549 1391,547 1392,551 1397,3551 1394,3553 6394,3550 6399,3554 6399,3553 6403,3553 6400,3550 6403,3554 6398,3555 6402,3559 6403,3564 6405,3564 6410,3560 6412,3565 6412,3564 6407,3567 6407,3572 6410,3576 6412,3578 6413,3580 6414,11674 22654,11679 22654,11679 22654,11679 22656,11684 22658,11689 22661,11694 23661,11697 23658,11697 23661,11698 23664,11700 23667,11695 28667,11698 28671,11699 28672,11704 28675,12704 28671,12708 28669,12710 28673,12707 28678,12708 28678,12710 28677,12710 28677,12712 28675,12713 28679,12715 28676,12715 28680,12719 28681,12724 28678,12728 28673,12733 28676,12733 28673,12734 28673,12739 28677,12743 28679,12744 27679,12741 27680,12741 27680,12740 27682,12741 27678,12740 27680,7740 27684,7743 27686,7738 27683,7740 27683,7740 27686,7736 27690,7736 27693,7739 27691,7735 27686,7739 27686,7737 27686,7737 27688,7732 27689,7732 27689,7731 27684,7736 27689,7741 27692,7739 27697,7740 27702,7738 27703,7741 27706,7746 27704,2626 16457,2627 16460,2623 16461,2618 16461,2620 20461,2622 20457,2623 20457,2628 20457,2632 20462,2629 20462,2630 20462,2628 20457,2633 20460,2632 20460,2637 20460,2639 20457,2639 20457,2639 20461,2641 20460,2646 20460,2651 20461,2650 20461,2651 20464,2656 20460,2660 20463,2665 20464,2667 20464,2668 21464,2671 21468,2676 21471,2673 21476,2590 16437,2591 16434,2596 16436,4596 16438,4600 16439,4600 16439,4601 16439,4599 16435,4599 16440,4597 16441,4598 16446,4598 16447,4595 16445,4590 16447,4594 16447,4595 16447,4598 16447,4598 16449,4596 16451,4598 14451,4596 14456,4598 14457,4594 14452,4598 14457,5598 14457,5598 14458,2598 14463,2600 14463,2603 14464,2598 14465,2595 14470,2590 14467,2594 14470,2595 14471,2598 14473,2598 14473,2599 14473,1599 14474,1599 14472,1600 14467,1599 14470,1601 14468,1599 14463,1601 14461,1601 14461,1601 14466,1602 14468,1606 14473,1602 14473,1600 14475,1595 14478,1599 14479,1596 14479,1596 14484,1596 14488,1601 14489,1604 18489,1606 18492,1604 18492,1605 18496,1605 18496,1608 18501,1603 18498,1608 18500,1612 18497,1608 18492,1604 18494,1609 18497,1609 18499,1606 18499,1608 18501,1610 18503,1606 18499,1610 18500,1614 18501,1617 18497,1620 18498,1616 18501,1614 18496,1615 18500,1617 18497,1619 18498,1617 18501,1622 18506,1622 20506,1625 20506,1625 20509,1627 20513,1631 20514,1633 20519,1637 20520,1639 20525,1643 24525,1638 24520,1642 24520,1647 24525,1650 24529,1654 24530,1657 24533,1656 24538,1659 24542,1659 24545,1662 24550,1666 24551,1666 24552,1666 24557,1666 24562,1666 24565,1669 24568,1672 24569,1672 24569,1676 24566,1676 24570,1678 24565,1676 24567,1673 24567,1674 24572,1679 24577,1679 24578,1683 24581,1684 24586,1688 24590,1690 27590,1685 27594,1688 27594,1683 27594,1686 27597,1688 27600,1692 27599,1696 27600,1695 27604,1695 27609,1698 27610,1701 27610,1705 27609,1706 27605,1709 27600,1714 27600,1716 27602,1717 27601,1712 27597,1714 30597,1711 30600,1713 30600,1713 30604,1714 30604,1716 30602,1713 30605,1710 30606,1713 30609,1709 30607,1713 30604,1714 30609,1717 30609,1717 30613,1721 30615,2721 30620,2718 30623,4718 30628,4723 30624,4727 30619,4728 30618,4728 30615,4728 30619,4729 30618,4731 30622,4731 30625,4734 30625,4734 30630,4735 30627,4736 30631,4735 30636,4730 30641,4727 30641,4729 30646,4731 30650,4736 30651,4740 30648,4737 30648,4738 30647,4741 30649,5741 30646,5744 30648,5745 30651,10745 30651,13745 30653,13749 30651,13754 30652,13754 30657,13754 30657,13758 30653,13761 30656,13766 30655,13768 30659,13769 30662,13771 30659,13771 30661,13771 30665,13768 30670,13768 30667,13772 30670,13776 30672,13775 30672,13777 30675,13780 30679,13783 30677,13784 30678,13784 30674,13788 30674,13788 30678,13784 30678,13787 30683,13792 30683,13791 30679,13794 30679,13795 30682,13795 30686,13798 30691,13803 30692,13807 30694,13810 30694,13810 30692,13813 30694,13813 30689,13816 30689,13820 30689,13822 30692,13826 30696,13822 30701,13827 30704,13832 30707,13832 30707,13828 30707,13831 30712,13831 30709,13834 30706,12834 30707,12839 30703,12843 30707,12843 30703,12843 30706,12848 30710,12849 30715,12853 30713,12853 30716,12852 30718,12849 30721,12849 30719,12852 30719,12853 30714,12856 30712,12856 30714,12857 30719,12862 30720,12865 25720,12863 25723,12864 25724,12868 25729,12869 25731,12868 25736,12869 25739,12865 25737,12863 25739,12866 25743,12862 25747,12867 25747,12867 25748,12867 25748,12870 25748,12866 25748,12869 25749,12869 25751,12874 25754,12875 25758,12877 25761,12878 25763,21745 15645,21749 15645,21753 15646,21753 15648,21758 15652,21754 15654,21759 15654,21762 15658,21766 15663,21761 15663,21761 15665,21758 15666,21761 15668,21763 15666,21765 15662,21770 15666,21773 15671,12742 4678,12743 4682,12740 4687,12745 4692,12745 4688,12748 4689,12748 4692,12752 4696,12754 4697,12754 4700,12758 4703,12758 4703,12762 4704,12762 4709,12762 4711,12760 4713,12760 4717,12764 4713,12767 4712,12767 4712,12768 4715,12767 4720,12770 4716,12770 4712,2569 10421,2572 10423,2576 10424,2579 10428,2580 10423,2582 10424,2578 10422,2577 10426,2577 10428,2580 10433,2580 10433,2581 10432,2580 10435,2584 10435,2588 10439,2587 10444,2592 10445,2589 10446,2591 10447,2594 10446,2597 10445,2599 10440,2602 10443,2603 10443,2605 10444,2605 10449,2607 10449,2602 7449,2605 7449,2608 12449,2605 16449,2605 17449,2605 17450,2608 17454,2612 17459,2607 17459,2608 17456,2613 17457,2617 17459,6617 17462,6621 17467,6621 17468,6626 17464,6622 17465,6622 17465,6623 17469,6623 17466,6623 17467,6627 17466,6623 17466,6626 17463,6622 17468,6625 17464,6627 17468,6625 17463,6626 18463,6624 18463,6625 18464,6623 18468,6623 18469,6626 18470,6621 18466,6621 18467,6622 18467,6625 18464,6630 18468,6628 18469,6631 18472,6627 18477,6628 21477,6631 21481,6627 21486,6628 21490,6632 21494,6637 21496,6640 21491,6643 21491,6648 21490,1648 21492,1650 21489,1650 21487,1654 21488,1653 21489,1653 21492,1650 21493,1655 21493,1650 21493,1651 21490,1651 21490,1649 21493,1645 21498,1649 21494,1652 21495,1654 21500,1655 21495,1658 21492,1663 21496,1666 21500,1666 19500,1664 19504,1668 19508,1668 19512,1666 19516,1669 19518,1669 19518,1674 19520,1674 19525,1676 19525,1679 19526,1679 19526,1681 19526,1686 19526,1691 19529,1689 19529,1688 19529,1685 19524,1690 19528,1693 19531,1693 19531,1698 20531,1699 20536,1703 20538,1703 20538,1706 20541,1701 20545,1702 20550,1704 20547,1705 20544,1710 20548,1710 20551,1713 20555,1712 20559,1714 20562,1714 20563,1714 20565,1712 20567,1711 20570,1706 20571,1708 20571,1708 22571,6708 18571,6712 18571,6715 18573,6710 18577,6711 18579,6711 18579,6716 18578,6721 18580,6721 18582,6726 18587,6731 18588,6736 18587,6734 18587,6736 18590,6739 18594,6744 18597,6744 18602,6746 18606,6749 18606,6750 18609,6750 18610,6753 18605,6755 18610,6759 18613,6759 18613,6759 18617,6763 20617,6767 20621,6771 20625,6773 20628,6769 20629,4769 20633,5769 20635,5769 20637,5770 20640,5772 20643,5772 20646,5772 20644,5776 20641,5779 20643,5784 20642,5786 25642,5786 25645,5791 25647,3791 25651,3791 25652,3794 25648,3793 25644,3791 30644,3796 30649,3796 30654,3800 30655,3800 30657,3797 30657,3797 30659,3800 30661,3803 30661,3803 30657,3800 30652,3801 30652,3802 30653,3807 30654,3809 30657,3804 30656,3801 30657,3803 30657,3803 30658,3804 30663,4804 30663,4809 30665,9809 30665,9809 30669,9812 30673,9816 30676,9816 30676,9816 30677,9818 30682,9818 30683,9817 30687,9813 30692,9817 30692,9814 30693,9816 30693,9818 30697,9818 30699,9818 30696,9816 30694,9811 30694,9812 30694,9816 30697,9821 30700,9824 30702,9827 30707,9827 25707,9827 25711,9828 25709,9823 25713,9827 25712,9830 25714,9827 25712,9832 25717,9836 25719,9836 25722,11836 25725,11838 25727,14838 29727,14835 29728,14838 29724,14843 29724,19843 29724,19846 29728,19847 29732,19851 29737,19855 29738,19858 29735,19853 29735,19853 29737,19852 29739,19850 29744,19850 29744,19854 29747,19859 29752,19861 29750,19864 29751,19869 29752,19864 29756,19865 29757,19868 29758,19868 29758,19871 29763,19874 29764,19877 29766,19879 29763,19880 29763,19881 29765,19886 29765,19881 29765,19881 29768,19880 29773,19875 29775,19879 29776,19883 29776,19887 29781,19890 29784,19890 29789,19892 29784,19897 29785,19893 29785,22893 29787,22895 29792,22895 29788,22895 29789,22895 29793,22900 29793,25900 29790,25901 29794,25902 29794,25905 29794,25907 29798,25912 29799,25910 29804,25915 29809,25918 29807,25917 29808,25921 29808,25925 29812,25926 29816,25926 29819,25921 29821,25926 30821,25929 30823,25933 30822,25935 30823,25937 30818,25937 30818,25939 30819,25939 30824,25941 30819,25943 30823,25946 30824,25946 30829,25947 30829,25947 30830,25952 30833,25953 30831,25954 30836,25959 30836,25964 30836,25961 30836,25965 30837,25964 30835,29964 30839,29968 30842,31968 30847,31967 30844,31972 30844,31972 30840,31977 30839,31982 30842,31987 30844,31987 25844,31984 25848,31987 25848,31992 25845,31993 25846,31997 25846,31997 25849,31996 25851,31995 25855,32000 25858,31995 25859,31996 25856,31997 25858,31999 25858,31998 25858,32001 25859,32003 25863,32002 25866,32003 25867,32008 25867,32011 25870,32014 25875,32013 25874,34013 25873,34013 25876,34011 25878,34011 25880,34012 25885,34016 27885,34011 27884,39011 27888,39008 27884,39011 27879,39011 27876,39011 27880,39014 27879,39013 27879,39014 27879,39015 27882,39019 27886,39020 27888,39020 27893,39025 27895,39030 27896,39030 27896,39031 27892,39036 22892,39039 22894,39038 27894,39043 27895,39048 27900,39044 27905,39046 27907,39041 27910,39044 27910,39043 27915,-2382 3462,-2377 3465,-2373 3468,-2371 3469,1629 3470,1632 3472,1630 3469,5630 3473,5635 3474,5638 3474,5639 3469,5643 3473,5643 3473,5639 3477,5639 3477,5639 3480,5642 3479,5644 3481,5649 3480,2649 3485,2649 3485,2650 3489,2653 3491,506 5375,510 5380,513 5382,518 5384,522 5387,521 5384,524 5385,525 5382,523 5384,527 5384,527 5386,4527 5391,4528 5393,4533 2393,4534 2389,4537 2393,4538 2395,4541 2400,4543 2404,4544 2405,4548 3405,4553 3410,4556 3406,4561 3406,4558 3410,4559 3410,4558 3408,4558 3413,4563 3413,4561 3418,4563 3423,4565 3426,4565 3428,4570 3432,4570 3433,4574 3437,4579 3439,4583 3443,4578 3444,4582 3447,4583 3447,4585 3443,4590 3448,4586 3448,4588 3449,5588 3449,5589 3454,5593 3456,5591 3457,5591 3458,7591 3461,7594 3457,7596 3459,7591 3458,7590 3460,7593 3460,7593 3463,7590 3464,7586 3466,7581 3467,7580 3466,7580 3466,7585 3470,7585 3472,7589 3468,7589 3471,7594 3474,7599 3474,7600 3471,7603 3471,7606 3471,7606 3472,7606 3474,7606 3479,7609 3482,7612 6482,7614 6485,11614 6481,11619 6486,11624 6486,11621 6489,11623 6491,11628 6491,8628 6496,8632 6498,8629 6502,8632 6502,8627 6505,8631 6506,8633 6502,8633 6507,8631 6512,8631 6512,8626 6514,8621 6515,8620 6513,8615 6514,8611 6519,8612 6522,8613 6522,8616 6522,8611 6519,8614 6519,8615 6521,8618 6525,8623 6526,8628 6521,8631 6517,8634 6520,8634 6525,8637 6526,8636 6528,8640 6533,8643 6534,8643 6531,8642 6532,8643 6535,8643 6535,8640 6531,8641 6531,8641 6534,8644 6537,8647 6541,8648 6536,8649 6537,8649 6542,8644 6546,8644 6546,13644 6548,13642 6549,13638 6548,13636 6549,11636 6549,11636 6554,11633 6554,11636 6554,11641 7554,11642 7558,11641 7553,11643 7556,11644 7556,11639 7556,11641 7558,11641 7559,11641 7563,11638 7560,11639 7564,11642 7569,12642 7574,7642 7576,7642 7574,7643 7577,7645 7577,7650 7576,7645 7576,7648 7576,7650 7581,7651 7576,7654 7581,7658 7581,7661 7583,7662 7584,7664 7586,7661 7586,7662 7589,7666 7585,7669 7585,7670 7585,7670 7587,7670 7587,7670 7591,7667 7595,7672 7595,7677 7600,7679 7597,7684 5597,7682 5600,7685 5601,7688 5601,7691 5604,7696 5605,7700 5607,7703 5602,7704 5602,7701 5606,7702 5607,7706 5609,7710 5614,7713 5610,7716 5615,7717 5616,7719 5621,7724 5621,7724 5618,3724 5623,3722 5625,3725 5626,3730 5628,3727 5633,3727 5636,3729 5638,6729 5639,6732 5642,8732 5644,8732 5649,8729 5650,8734 5645,8736 5644,8739 5644,8741 5645,8745 5650,8743 5652,8739 5651,8744 5652,8744 5653,8745 5649,8748 5651,8749 5652,8750 5655,8753 5660,8753 5662,8755 5660,8757 5657,8758 5654,8762 5659,8760 5660,8761 5664,8765 5669,8768 5669,8768 5669,8769 5673,8769 5678,8772 5678,8769 5683,8774 5683,8776 5687,8777 7687,8779 7691,10779 7686,10779 7686,10780 7686,15780 7690,15781 7695,15779 7699,15783 7702,15788 7705,15791 7705,15786 7709,15788 7707,15793 7710,17793 7711,17794 7712,17799 7713,17800 10713,17802 10713,17802 10715,17803 10715,17808 10716,17811 10717,17811 14717,17811 14722,17811 14722,17815 14725,17819 14726,17820 14727,17822 14727,17817 14731,17818 14731,17818 14729,17820 19729,17818 19725,17822 19728,17818 19723,17821 19720,17821 19725,17824 19725,17821 19728,17821 19725,17825 19725,17830 19725,17834 19729,17836 19730,17837 19730,17841 19725,17844 19730,17849 19734,17853 19734,17856 19737,17858 19732,17858 19732,17863 19732,17868 19733,17873 19735,17874 19740,17878 19742,17883 19742,17879 19747,551 1397,551 1398,552 1401,553 1401,553 1398,552 1398,555 1402,556 1406,557 1409,558 1413,558 1416,558 1418,558 1420,563 1421,566 3421,568 3421,570 3426,572 3429,5572 3433,5576 3433,5579 3436,5579 3441,5583 3444,5580 3445,5585 3450,5589 3453,5593 3454,5597 3459,610 1429,612 1431,607 1430,607 1430,609 1426,605 1425,607 1425,602 1420,604 1423,-2378 3502,-2377 3503,-2378 3507,-2373 3508,-2375 3512,-2370 3516,-2373 3517,-2369 3514,-2370 3517,-2367 3519,-2366 3524,-2366 3529,-2362 3534,-2365 3536,-2370 3534,-2370 3531,-2366 3528,-2370 3532,-2366 3535,-2361 3533,-2361 3537,-2361 3540,-2358 3541,-3358 3543,-3355 3544,-3355 3542,-3355 3541,-3352 3546,-3348 3548,-3350 3551,-3346 3553,-3347 3553,-3342 3548,-3337 3548,-3338 3547,-3338 3547,-3334 3552,-3333 3552,-3332 3550,-3331 3550,-3329 3550,-3326 3552,-3325 3554,-3320 3556,-3315 3560,-3313 3565,-3312 3560,-3315 3563,-3315 3559,-3318 3564,-3321 4564,-3321 4569,-3317 4568,-3312 4573,-3311 4576,-3311 4575,-3308 4571,-3304 4572,-3299 4576,701 4580,703 4582,708 4582,711 4583,715 4587,716 4591,721 4587,717 4590,715 4594,715 4594,719 4598,719 4600,720 4604,717 4606,718 8606,722 8604,726 8600,727 8605,731 8609,731 8609,733 8611,738 8611,739 8612,734 12612,734 12617,730 12622,729 12622,732 12625,-268 12627,-263 12627,-264 12625,-261 12622,-260 12622,-265 12625,-264 12622,-264 12624,736 12622,733 12623,734 12626,730 12628,731 12632,732 12637,730 12637,733 12634,732 12635,732 12635,734 12635,733 12636,731 12639,734 12639,733 12642,734 14642,736 14646,739 14651,743 14654,-2257 14651,-2252 14651,-2252 19651,-2249 19656,-2249 19653,-2245 19650,-2248 19651,-2243 19656,-2241 19661,-2238 19664,-7238 19668,-7236 19666,-7231 19661,-7231 19666,-7227 19671,-9227 19672,-9223 19676,-7223 19675,-7223 19677,-7218 19677,-7219 19677,-7216 19673,-7214 19677,-7210 19674,-7206 19671,-7205 19673,-7203 19677,-7206 19680,-7202 19680,-7197 19685,-7197 19686,-7196 16686,-7201 16687,-7201 12687,-7198 12682,-7198 12682,-7193 12682,2673 15591,2673 15594,2673 15597,2671 15599,2666 15601,2670 15606,2669 15607,2670 15607,2673 15602,2670 15604,2671 15601,2672 15602,2667 15600,2672 15602,2675 15598,2675 15600,2678 15600,2677 15602,2673 17602,2678 17602,2677 18602,2681 18606,2682 18611,2685 18616,2686 18612,2688 18611,2686 18615,2686 18612,2687 18609,2688 18608,2688 18609,2688 18613,2693 18615,2693 18620,2691 18620,2696 18620,2698 18619,2695 18622,2700 18625,2704 22625,2709 25625,2709 25626,2710 25628,2710 25629,2714 25625,2715 25625,2713 25627,2714 25630,2718 25635,2723 30635,2723 30639,2726 30634,2727 30637,2728 30639,2732 30639,-1268 30642,-1266 30646,-1269 30643,-1269 30642,-1271 30642,-1269 30643,-1269 30645,-1269 30648,-1267 30647,-1265 30644,-1269 30648,-1268 30644,-1269 30644,-1269 30642,-1266 30641,3734 30637,3739 30640,3743 30641,3748 30646,3753 30650,3751 30653,3751 30652,3756 30647,3757 30648,3759 30653,3761 30656,3762 30655,3762 30653,3763 30650,3766 30652,3770 30657,3770 30657,3770 30653,3773 30650,3776 30650,3778 30650,3774 30655,3775 30657,3776 30660,3781 30662,3785 30665,3790 30670,5790 30672,5794 30675,5798 30680,5803 30675,5802 30673,5801 30677,5803 30679,5808 30677,5805 34677,5810 34677,5811 34682,5812 34684,5816 39684,5816 39687,5814 39690,5810 39695,5811 39696,5816 39700,5821 39705,5824 39707,5826 39711,5828 39708,5829 39709,5834 39712,5838 39715,5839 39718,5840 39720,5839 39722,5839 39722,5835 42722,5833 44722,5829 44722,5828 44722,5833 44724,5835 44727,5835 44731,2835 44729,3835 44731,3836 44736,3841 44739,3839 44736,3839 44736,3836 44736,3837 44737,3841 44737,3842 44733,3840 44735,3843 44730,3842 44732,6842 44734,6841 44735,6846 44737,6848 44737,6851 44740,6850 45740,6853 45741,6853 45741,6848 45743,6852 45744,6857 45746,6855 45747,6853 45750,6857 45754,6859 45752,6863 45751,6861 45751,6861 45748,6858 45752,6861 45750,6858 45750,6862 45750,6862 45753,6864 45757,6861 45762,6864 45762,6867 45761,6872 45763,6877 45758,6882 45761,6883 47761,6886 47761,6888 47762,6893 47767,6897 48767,6897 48772,6902 48771,6903 48773,6904 48773,6904 48777,6899 52777,6899 52777,6903 52773,6903 52773,7903 52773,7908 52771,7903 52772,7904 52774,7899 52776,7895 52776,7895 52781,7894 52778,7898 52783,7902 52785,7906 52790,7907 52792,11907 52797,11908 52801,11911 52800,11916 52804,11911 52806,11913 52808,11913 52805,11913 52809,11909 52812,11911 52812,11908 52815,11913 52817,11917 52820,11918 52820,11922 52825,11926 52823,11931 52827,11931 52826,11934 52823,11936 52818,11938 52819,11940 52823,11943 52828,11938 52833,11940 52835,11944 52832,11941 52831,11936 52831,11936 52833,11934 52836,11938 52839,11940 52840,11943 52840,11943 52841,11945 52844,16945 52844,16942 52839,18942 52838,18945 49838,18950 49841,18950 49844,18951 49845,21951 49847,21956 49848,21961 49846,21961 49851,23961 49852,23961 49856,23966 49860,23969 49865,23965 49866,23970 49862,23975 49859,23975 49859,23978 44859,23979 44862,23981 44862,23984 44867,23980 44871,23983 44875,23988 44875,23992 44877,27992 44878,27989 44881,27985 44886,27986 44888,27984 44888,29984 44889,29984 44889,29985 44893,29990 44888,29994 44892,29997 44896,30001 44895,30002 44900,30003 44904,30004 44907,30008 44904,30009 44904,30010 44905,30010 44908,30007 44908,30011 44905,30014 44908,30016 44909,30021 44912,30023 44913,30025 44912,30024 44910,30022 44914,30026 44912,30025 44912,30029 44912,30029 44915,30033 44920,30038 44924,30043 44926,30047 44928,30043 44930,30047 44932,30050 44934,30050 48934,30046 48935,30051 48935,30051 48935,30055 51935,30054 51931,1610 18503,1614 18504,1616 18504,1619 20504,1619 20504,1619 20505,1620 20509,1620 20511,1618 20511,1619 20508,2619 20511,2615 20516,2612 20515,2612 20515,2617 20512,2622 20515,2617 22515,2620 22516,2622 22519,2626 22522,2624 22522,2619 22524,2623 22519,2621 22519,2622 22516,2620 22512,2622 22517,2622 22522,2626 22522,2630 22522,-370 22526,-1370 22531,-1375 22531,-1371 22527,-1366 22527,-1362 22531,-1361 22528,-1362 22524,-1367 22528,-1367 22530,-1367 22533,-1367 22535,-1363 22540,-1363 22536,-1363 22539,-1358 22541,-1358 22541,-1355 22543,-1355 22538,-1355 22541,-1356 22544,-1357 22548,-1354 22553,-1353 22557,-1353 22561,-1355 22562,-1352 22566,-1351 22568,-1349 22569,-1347 22568,-1346 22566,-1351 22565,-1347 22566,-1348 22567,-1351 22569,-1346 22565,-5346 22567,-3313 3565,-3311 4565,-3308 4568,-3304 4571,-3307 4572,-3307 4573,-3303 4573,-3304 4578,-3300 4578,-3301 4578,-3301 4583,-3301 4581,-3297 4585,-3295 4580,-3295 4575,-3295 4573,-3293 4575,-3290 4580,-3285 4580,-3284 4582,-3284 4581,-3280 4580,-3285 4579,-3285 4579,-3284 4584,-3288 4588,-3286 4588,-3283 4584,-3279 4584,-3278 4588,-3279 4588,-3274 4586,-3270 4589,-3270 4590,-3268 4587,-3270 4591,-3267 5591,-3265 5591,-3261 5592,-3259 5593,-3259 5590,-3258 5595,-3256 5599,-3253 5601,-3252 5600,-3252 5603,-3252 5603,-3255 5601,-3250 5600,-3247 5605,-3242 5606,-3241 5608,-3243 5612,-3242 5612,-3245 5614,-3242 5619,-3243 5623,-2243 10623,-2242 10626,-2247 10626,-2247 10630,-2244 10634,-2248 10639,-2248 10636,-2248 10641,-2244 10646,11598 14558,11594 14563,11596 14568,11597 14569,11600 18569,11601 18570,11599 18566,11602 18568,11607 18567,11611 18572,11614 18573,11612 18569,11615 18570,11614 18573,11617 18577,11621 18577,11617 18574,11615 18579,11619 18583,11615 18587,11615 18587,11620 18588,11621 18589,11617 18593,11620 18597,11622 18599,11626 18603,11621 18603,11625 18607,11628 18611,11630 18614,11630 18619,11633 18616,11633 18616,11635 18614,11634 18613,11636 18609,11638 18607,11642 18612,11641 18615,11646 18615,11648 18619,11652 18621,11654 18622,11653 18617,11648 18619,11650 18614,11646 18617,11648 18613,11648 18618,11650 18615,11647 18617,11649 18621,11653 18621,11656 18624,11656 18628,11659 18628,11660 18624,11662 18624,11662 18620,11663 18620,14663 18621,14665 18616,14662 18611,14662 18607,14665 18607,14670 18607,14674 17607,14676 17610,19676 17608,19681 17613,19681 17613,19686 17611,19687 17612,22687 17612,22684 17608,22682 17607,22686 17610,22690 17611,22692 17612,22690 17617,22693 17622,22696 17622,22698 17625,22703 17627,22699 17629,22698 17629,22702 17634,22705 17630,22707 17634,22708 17634,22710 17639,22712 17639,22713 17635,22712 17639,22715 17644,22720 17644,22720 17646,22723 17644,22723 17644,22728 17643,22729 17646,22725 17651,22725 17652,22725 17647,22730 17647,22733 17647,22734 17647,22733 17651,22737 17653,22737 17657,22735 17660,22738 17658,22742 17662,22747 17667,22752 17671,22751 17672,22749 17677,22751 17677,22753 17681,22754 17677,22759 17674,22763 17674,22768 17677,22773 17673,22774 17676,22774 17679,17774 16679,17772 16679,17770 16675,17772 16676,17771 16676,17770 16679,17775 16684,17774 16685,17776 16685,17780 16687,17781 16688,17786 16689,17790 16689,17793 16688,17797 16684,17800 16684,17799 16689,21799 16691,21799 16688,21804 16689,21804 16687,21804 16687,21808 16685,21809 16689,21813 16693,21813 16696,21817 16698,21817 16699,21819 16694,21824 16699,21824 16701,21827 16705,21823 16702,21825 16702,21827 16702,21827 16702,21828 16705,21832 16707,21835 16710,21838 16712,21841 16712,21839 19712,24839 19714,24838 19719,24838 19722,24833 19722,24831 21722,24832 21727,24829 21729,24832 21730,24837 21732,24838 21736,24842 21740,24842 21740,24844 21740,24846 21740,24848 21741,24851 21736,24851 21732,24852 21737,24849 21741,24847 21742,24845 21743,24849 21744,24852 21742,24856 21744,24860 21745,24860 21745,24864 21749,24864 21754,24865 21759,24865 21760,24870 21764,24871 21762,24871 21762,24876 21767,24881 21769,24883 21768,24883 21769,24886 21766,24886 21767,24891 21770,24894 21772,24894 21772,24899 21777,24902 21781,24897 21786,24894 21787,24895 21790,24899 21791,24899 21795,24903 21798,24903 21801,24905 21804,24906 21806,24910 21808,25910 17808,25905 17812,25906 17813,28906 17813,28906 17813,28911 17817,28912 17812,28916 17813,33916 17818,33916 17818,33916 17820,33912 17820,33915 17823,33915 17826,33910 17826,33914 17829,33910 17833,33910 17836,33913 17837,33918 17841,33923 17840,33920 17840,33919 17842,33922 17838,33925 17835,33923 17836,33920 17838,33916 17840,33917 17845,33912 17850,33912 21850,33916 21846,33917 21841,33918 21844,33922 21844,33923 21844,33927 21844,33928 21849,33933 21850,33937 21851,33937 21853,33940 21855,33939 21858,33944 21855,33945 24855,33946 24858,33950 24860,33951 24864,33952 24861,33957 24864,33959 24867,33954 24865,33959 24867,33963 24867,33961 24867,33963 24871,34963 24874,34967 24874,34967 24874,34969 24870,34965 24875,34965 25875,34969 25880,34974 25883,34972 25883,34973 25885,34976 25889,34979 25890,34981 25894,34984 25897,34989 25899,34986 25900,34990 25901,34990 25901,34993 25902,34996 25902,35000 25903,35001 25906,35006 25909,35007 29909,35009 29905,35008 29906,35008 29908,35012 29908,31012 29911,31017 29906,31017 29908,21054 31778,21054 31775,21059 31780,21057 31780,21059 31783,21059 31781,21064 29781,21065 29786,21070 29787,21074 29787,21079 29792,21082 29792,21083 29791,21085 29793,21086 29794,21086 29794,21088 29797,21085 29797,21085 29800,21083 29804,21088 29808,21088 29804,552 1401,554 1401,555 1404,555 1404,559 1409,561 1410,561 1412,561 1413,557 1414,561 1419,564 1417,565 1420,568 1421,573 1425,578 1426,583 1430,584 1432,587 1433,588 1433,592 1437,592 1438,592 1442,591 1444,596 1444,597 1449,592 1449,502 2350,503 2352,505 2349,508 2349,508 2350,506 2350,506 2353,511 2357,511 2359,511 2361,508 2362,512 3362,517 3365,4517 3366,4518 3366,4513 3367,4512 3370,4509 3365,4510 3370,4510 3371,4513 3371,4513 3374,4517 3373,4517 3375,4514 3375,4515 3374,4516 3378,4516 3383,4516 3387,516 3392,516 3393,521 3394,521 -1606,522 -1601,518 -1601,519 -1603,521 -1598,526 -1603,528 -1603,527 -1601,527 -1600,523 -1603,526 -1601,529 -1598,532 -1594,531 -1590,531 -1594,527 -1595,532 -1591,536 -1586,539 3414,541 3419,546 3419,551 3422,551 3427,553 3429,558 3432,557 3433,558 3438,559 3442,560 3445,556 3448,555 3446,559 3446,560 3442,560 3439,561 3442,563 3443,564 3448,562 3448,5562 3453,5560 3454,5563 3454,5565 3456,5562 3457,5557 3456,5557 -544,5558 -543,5561 -538,5562 -535,5563 -533,5563 -530,5568 -525,5568 -523,5572 -518,5567 -514,5571 -516,5571 -514,5571 -514,5572 -510,5575 -512,5578 -512,5579 -508,5581 -506,5584 -503,5579 -502,5581 -505,10581 -505,10583 -500,12583 -499,12587 -498,12587 -499,12588 -497,12589 -502,12589 -500,12594 -498,12592 -498,12595 -498,12600 -496,12604 -494,12609 2506,12611 5506,12614 5511,12615 5516,12617 5518,12620 5522,12620 5519,12623 5521,12621 5524,12626 5526,12625 5531,12625 5531,12627 5532,12632 5531,12635 5536,12636 7536,12641 7540,12642 7540,12647 7543,11909 52812,11911 52817,11912 52817,11917 52814,11918 52819,11920 52819,11923 52823,11928 52818,11924 52813,11928 52812,11929 54812,11931 54813,11927 54813,11929 54818,11929 54822,11931 54823,11935 54824,11931 54828,11931 54833,11930 54830,11931 54832,11935 54835,11939 54830,11942 54827,11942 54828,11943 54828,11946 54825,11943 54826,11948 54829,11952 54824,11952 54828,11954 54830,11955 54830,11953 54835,11958 59835,11959 59838,11960 59836,11965 59840,11965 59843,11970 59840,11974 59840,11971 59842,11975 59847,11976 59848,11981 59848,11986 59853,11987 63853,11992 63854,11993 65854,11995 65850,11998 65852,12003 65856,12000 65859,12002 65859,12006 65854,12011 65855,12013 65856,12017 65861,12022 65861,12022 65856,12022 65857,8022 65859,8026 65862,8030 65863,8026 65865,8030 65866,8026 65871,8026 65871,3026 65869,3021 65870,3023 65875,3028 65876,3033 65878,3038 65874,3039 65878,3039 65882,3043 65880,3044 65880,3043 65884,3043 65888,3047 65889,3047 65890,3047 65890,3047 63890,3043 63892,3046 63896,3041 63895,3039 63898,3034 63900,3035 63901,3032 63903,3034 63906,3036 63906,3034 63908,3034 63913,3036 63911,3037 63916,3039 63911,3041 63913,3045 63915,3047 63915,3045 63917,3046 63921,3046 63921,3049 63920,3053 63923,3050 63927,3055 63930,3058 63933,3058 63932,3058 63934,3053 63931,3054 63933,3058 63936,3063 63940,3063 63939,-937 63940,-940 63944,-938 63945,-938 63946,-934 63948,-935 63945,-932 63948,-928 63950,-927 63954,-922 67954,-918 67951,-917 67956,-915 67960,-914 67965,-912 67967,-914 67971,-914 67971,-918 67976,-916 67973,-911 67973,-909 67978,-906 67981,-903 67982,-900 67982,-899 67978,-895 67981,-892 67985,-890 67987,-885 67982,-884 67984,-883 67984,-880 67985,-879 67985,-874 67981,-871 67981,-871 67986,-868 67986,-868 67981,-865 67979,-864 70979,-859 70984,-856 70985,-856 70990,-855 70991,-857 70989,-859 70991,-856 70986,-854 70991,-849 70994,-849 70997,-852 71002,-851 71007,-851 71009,-850 71009,-846 71011,-843 71011,-842 71011,-839 71011,-837 71016,-837 71016,-833 71018,-835 71022,2165 71022,2166 71018,7166 71017,7163 71017,7164 71018,7162 71016,7166 71013,7166 71013,7171 71010,7175 71010,7173 71012,7176 71017,7174 71021,11174 71021,11171 66021,11176 66021,11181 66018,11181 66023,11186 66022,11182 66027,11184 63027,11186 63031,11187 63033,11191 63034,11188 63031,11189 63036,11184 63037,11185 63038,11187 66038,11187 66038,11189 66038,11191 66038,11189 66034,11192 66036,11197 66037,12197 66041,12200 66044,12203 66042,12206 66046,12204 66046,12205 66048,12209 66048,12212 66043,12216 66040,12213 66043,12218 63043,12223 63038,12227 63033,12227 63038,12231 63040,12233 63040,12235 63045,12235 63045,12230 63044,12235 68044,12237 68044,12235 68049,12231 68045,12226 68050,12229 68052,12234 68052,12231 68056,12236 68059,12236 68062,12241 70062,12241 70063,12244 70063,12245 70068,12247 70068,12248 70071,12251 70071,12252 70071,12251 70073,12248 70075,12253 70080,12256 70084,12257 70088,12256 70088,12256 70089,12251 70089,17251 70090,17247 70090,17249 70091,17249 70088,17252 70084,17256 70085,17260 70086,16260 70084,16261 70083,16256 70079,16257 70076,16258 70072,16258 70077,16262 70081,16260 70084,16263 70087,16263 70088,16267 70090,16267 70093,16267 70097,16267 70100,16267 70101,16270 70103,16270 70105,16270 70108,16274 70110,16274 70113,16275 70115,16277 70115,16273 70115,16274 70120,16279 70117,16284 70117,16288 69117,16287 69121,16287 69123,16288 69119,16288 69122,16292 69125,16292 69122,16290 69125,16288 69125,16290 69126,16295 69122,3037 63916,3042 63920,3047 63925,3048 63928,3053 63928,3056 63931,3056 63930,3052 63932,3051 63935,3056 63938,3055 63935,3059 63932,3059 63937,3061 63942,3065 63945,3069 63942,6069 63940,6064 63945,6067 63948,6067 63947,6068 63951,10068 63953,10072 63953,10071 63951,10071 63956,10071 63958,10075 63958,10079 63953,10082 63958,10084 63959,10086 63959,10090 63960,10094 63955,10099 63955,10101 63956,10099 63952,10099 63949,10103 63953,10106 63956,10108 63956,10109 63956,10114 63959,10118 63959,10120 63960,10122 63963,10122 63968,10125 63969,10125 64969,10130 64971,10130 64973,10134 64974,10134 64979,10139 64984,10139 64987,10142 64988,10137 64992,10140 64995,10141 65995,10142 65999,10145 66000,10142 66002,10145 66002,10144 66004,10149 66002,10153 66007,8153 66007,8155 66011,8155 66011,8155 66011,8156 66011,9156 66013,9158 66014,9160 66014,9165 66017,9169 66022,9170 66023,9170 66023,9170 66028,9171 66031,9175 66033,9175 66033,9173 66035,9177 66034,9177 66039,9177 66044,9177 66044,9173 66044,9171 66044,9174 66046,9177 66050,9177 66047,9180 66051,9180 66055,9184 66055,9184 66051,9187 66056,9184 66057,9187 66053,9187 66055,9192 66056,9195 66061,9195 66066,9195 66071,9200 66076,9195 66075,9200 66080,9200 66080,9202 66076,9204 66079,9202 66079,9198 66079,11198 66083,11199 66087,11199 66088,11204 66088,11206 66089,11206 66093,11211 66088,11211 66091,11206 71091,11205 71090,11207 71094,11207 71098,11211 71102,11210 71103,11211 71107,11212 71107,11216 71105,11216 71108,11216 71113,11217 71108,11220 71113,11217 71113,11217 72113,11218 72115,11220 72117,11220 72121,11221 72124,11225 72120,11229 72117,11226 72118,11230 72122,11230 72123,11232 72127,11236 72132,11241 72133,11246 72135,11250 72139,11247 72141,11252 72141,11256 72143,11259 75143,11258 75146,11261 75151,11265 75149,11269 75153,11270 75158,11273 75160,11274 75165,11270 75166,11270 75166,11274 75165,11279 75167,11283 75170,11286 75166,11285 75168,11282 75165,6282 75163,6283 75167,6288 75170,6293 75175,6290 75178,6292 75179,6292 75182,6293 75181,31996 25856,31998 25856,32003 25857,32007 25862,32007 25857,32009 25857,32010 25858,32015 25854,32014 25857,32019 25857,32021 25852,32024 25852,32024 25854,32026 25851,32028 25855,32032 25855,32028 25858,32031 25860,32031 25863,32026 25867,32029 25868,32029 25869,32034 25872,32035 25875,32040 25878,32042 25883,32043 25881,32045 25885,32048 25884,32052 25881,32056 25878,32056 25874,32059 25878,32063 25882,32066 25885,32067 25885,32070 25885,37070 25885,37072 25889,37075 25890,37075 25885,37080 25890,37080 25892,37084 25888,37086 25893,37090 25898,37091 25895,37096 25897,37101 25902,37096 25905,37101 25906,37101 25909,37102 25914,37100 25914,37104 25914,37109 25917,37111 25919,37111 25924,37113 25925,37118 25923,37122 25927,37123 25929,17800 10713,17805 10708,17808 10711,17813 10715,17813 13715,17808 13719,17804 13714,17807 13717,17808 13722,17810 13724,17811 13728,17816 13730,17820 13733,17822 13736,17823 13736,17824 13740,17824 13745,18767 22750,18768 22754,18773 22754,18775 22757,18779 22760,18784 22763,18781 22767,18776 22767,18776 22769,18778 22772,18774 22773,18770 22774,18774 22776,18774 22777,18770 22781,18771 26781,18768 26785,18770 26787,18775 26787,18770 26789,18773 26793,18778 26795,18783 26796,18785 26799,18785 26801,18789 26798,18794 26799,18794 26801,18789 26803,18793 26806,18795 31806,18791 31810,18794 31814,18797 31817,18802 31813,18806 31815,18806 31819,18810 31824,18807 31828,18812 31830,18813 31826,18815 31828,18816 31829,18821 31831,18821 31833,18822 31836,18822 31838,18826 31841,18828 31846,5666 501,5668 506,5669 1506,5672 1508,5674 1512,7674 1512,7679 1513,7679 1512,7684 1513,7689 1511,7686 1515,7691 1520,7689 520,7689 521,7690 524,7695 520,4695 521,4696 526,4698 526,4699 531,4702 531,4699 535,4702 538,4698 540,4699 4540,4702 4537,4707 4540,4707 4537,4709 4537,4711 4542,4713 4542,4718 4544,4720 4549,4716 4553,4717 4556,4722 4561,4726 4562,4726 4563,4731 4564,4735 4565,4735 4570,4733 4572,9733 4574,9736 4577,9736 577,9737 572,9737 569,9742 570,9747 575,9747 580,9748 1580,9747 1585,9747 1588,9747 1588,9747 1592,9747 1592,9751 1592,9754 1593,9751 1595,9756 1599,11756 1603,11759 1607,11756 1610,11754 1613,11749 1613,11750 4613,11749 2613,11746 2610,11749 2608,11752 2611,11754 2607,11759 2612,11762 2612,11763 2612,11764 2613,11765 2613,11760 2615,11757 2620,11752 2623,11748 2627,11748 2631,11751 2632,11751 2633,11754 2635,11758 2639,11758 2643,11760 2646,11763 2646,11767 2649,11762 2652,11760 2652,11756 2656,11752 4656,11749 4659,11754 4662,11759 4666,11764 4670,11761 4666,11756 4669,11756 4670,11761 4671,11762 4673,11765 4678,11768 4680,11768 7680,12768 7677,12771 7680,12771 7683,12776 7683,12777 7688,12779 7688,12779 7684,12781 7679,13781 7682,13781 7684,13776 7684,13779 7685,13784 7685,13787 7689,13784 7689,13787 7689,13791 7685,13791 7686,13787 7691,13788 7696,13790 7693,13790 7696,13791 6696,13796 6698,13798 6695,13797 6698,13799 6701,13799 6704,13803 6709,13804 6705,13799 6708,13804 6703,13807 6705,13807 6708,13809 6710,13812 6714,13814 6716,13817 6718,13819 6722,13821 6717,13826 6718,13828 6717,13828 6721,13831 6721,13831 6720,13834 6715,13837 6712,13837 6713,13842 6715,13847 6715,13847 6714,13847 6709,13848 6712,13852 6714,13854 6719,13857 6723,13859 6726,13861 6730,13859 6731,13855 6731,13855 6731,13856 6728,13857 6730,13862 6731,13865 6731,13863 6729,13868 6729,13866 11729,13867 11732,13871 11732,13873 11737,13872 11741,13870 11745,13874 11744,13871 11748,13870 11753,13871 11757,13871 14757,13875 14759,13878 14760,13881 14760,13879 10760,13875 10765,13879 10767,13880 10770,13876 10775,13880 10776,13880 10776,13882 10776,13883 14776,13888 14779,13888 14779,13893 14779,13898 17779,13903 17784,13898 17788,13894 17788,13896 17788,13900 21788,13903 21784,18903 21789,18899 21789,18900 21793,18901 21794,18905 21795,18908 21792,18913 21794,13913 21796,13911 21798,13916 21799,13916 21799,13918 21804,13916 21800,13912 21799,13915 21794,13916 21797,13921 21799,13916 21802,13918 21806,13919 21810,13921 21813,13924 21817,13927 21814,13932 21816,13934 21811,13936 21811,13934 21814,18934 21816,18929 21816,18934 21815,18933 21817,18932 21822,18936 21819,18938 16819,18933 16822,18933 16822,18937 16822,18937 16827,18940 16827,18945 16830,18947 16829,18950 19829,18949 19829,18949 19829,18946 19825,18947 19828,18946 19829,18943 19829,18943 19824,14943 19829,14939 19830,14942 19831,14946 19835,14946 22835,14942 22836,14946 22831,14950 22832,14952 22835,14947 22840,14951 22844,14951 22845,14947 22850,14948 22851,14951 22849,14956 22852,14957 22852,14957 22857,14962 22857,14965 22859,14970 22860,14968 22862,14972 22864,14977 22866,14974 22870,14975 20870,14976 20870,14979 20873,14984 20869,14989 20871,14993 20874,14993 20877,14994 20878,14995 20878,14997 20883,14998 20879,15001 20884,15001 20884,15003 20889,15006 20884,15009 20885,15009 20883,15007 20880,15011 20876,15008 20877,15009 20873,15010 20875,15009 20875,10009 20876,10012 20871,10013 21871,10017 21872,10012 21873,10010 21874,10008 21871,10012 21870,10013 21874,11607 14571,11608 14575,11612 15575,11613 15576,11613 15577,11618 15578,11622 15581,11624 15585,11627 18585,11631 18587,11634 18590,11634 18586,11634 18586,11636 18591,11635 18591,11636 18596,11636 18592,13636 18593,13640 18595,13642 18600,13641 18600,13641 18604,13642 18607,13643 18611,13648 18611,13651 18613,13655 18615,13656 18620,13651 18618,13651 18616,13654 18611,13651 18616,18651 18620,18656 18620,18661 18621,18657 18625,18661 18627,18663 18628,18666 18633,18661 18637,18665 18639,18665 18639,18667 18641,18669 18641,22669 18642,22673 18644,22676 18648,22681 18649,22682 18649,22682 18646,19682 18646,19684 18646,19685 20646,19690 20646,19690 20643,19686 20643,19686 20643,19690 20647,19690 20647,19689 20652,19692 20653,19692 20656,19697 20661,19698 20662,19703 20666,19707 20669,19707 20673,19708 20674,19709 20675,19709 20677,19710 20674,19715 20675,19717 20673,19721 20673,19720 20677,19718 20677,19716 20680,19718 20681,19718 20685,19722 20688,19725 20688,19729 20685,19728 20687,19728 20690,19732 20691,19735 20691,19739 20691,19744 20696,16744 20693,16746 20695,16748 20695,16748 20691,16746 20696,16750 20699,16755 20704,16755 20709,16760 20710,16763 20711,16763 20711,16765 20707,16767 20705,16771 20706,16771 20708,16775 20706,9653 7576,9654 7577,9659 7576,9659 7572,9655 7575,9660 7579,9660 7579,9660 7583,9661 7588,9663 7591,9666 7590,9662 7592,9665 7593,9669 7594,9668 80000)') WHERE p = 1; +UPDATE t1 SET g = ST_linefromtext('linestring(-5 -576,0 -576,0 -571,0 -571,5 -568,6 -564,6 -565,6 -563)') WHERE p = 2; +ALTER TABLE t1 ADD INDEX prefix_idx (g(767)); +connection control_purge; +# enable purge +COMMIT; +connection default; +DELETE FROM t1 WHERE p = 2; +InnoDB 0 transactions not purged +CREATE TABLE t2 ( +p INT PRIMARY KEY, +g1 POINT NOT NULL, +g2 POINT NOT NULL, +g3 LINESTRING NOT NULL, +g4 LINESTRING NOT NULL, +g5 GEOMETRY NOT NULL, +g6 GEOMETRY NOT NULL, +SPATIAL KEY (g1), +SPATIAL KEY (g2), +SPATIAL KEY (g3), +SPATIAL KEY (g4), +SPATIAL KEY (g5), +SPATIAL KEY (g6) +) ENGINE=InnoDB; +DROP TABLE t1,t2; +CREATE TABLE t1 ( +p INT NOT NULL AUTO_INCREMENT, +g LINESTRING NOT NULL, +PRIMARY KEY(p) +) ENGINE=InnoDB; +ALTER TABLE t1 ADD SPATIAL INDEX spatial_idx (g); +ALTER TABLE t1 ADD INDEX prefix_idx (g(767)); +INSERT INTO t1(g) VALUES(ST_linefromtext('linestring(-5 -576,0 -576,0 -571,0 -571,5 -568,6 -564,6 -565,6 -563)')); +INSERT INTO t1(g) VALUES(ST_linefromtext(concat('linestring','(18 106,19 106,24 111,27 108,32 104,37 107,42 107,44 112,44 116,40 118,43 114,46 114,42 118,44 123,45 123,49 123,53 119,50 123,50 124,54 126,58 125,59 126,64 127,65 127,69 131,74 132,75 135,78 139,2078 141,2075 143,2077 143,2079 143,2084 143,2085 147,2090 -1853,2086 -1852,2086 -1856,2089 -1852,2093 -1850,2090 -1851,2090 -1852,2091 -1851,2092 -1850,2097 -1847,2102 -1848,2100 -1852,2100 -1852,7100 -1851,7103 -1850,7104 -1847,7109 -1842,65 127,67 131,66 131,61 132,61 133,62 137,65 1137,2065 1135,2061 1135,2064 1135,5064 1135,5066 1135,5070 1136,5070 1141,5071 1138,5074 1141,5075 1141,5074 1137,5076 1137,5071 1139,5066 1142,5065 2142,5068 2147,5073 2151,5069 2156,5071 2157,5072 2162,5074 2165,5069 2169,5072 2169,5076 2173,5074 2169,5078 2169,5076 2170,76 2175,74 2179,75 2184,80 2188,83 2190,87 2189,84 2193,87 2189,86 2190,87 2195,87 2200,87 1200,85 1202,86 1199,87 1200,87 1201,91 1206,92 1204,94 1204,98 1206,102 1208,105 1211,102 1216,105 1220,109 1224,110 1224,114 1225,117 1224,118 1229,117 1232,122 1237,123 1236,120 1235,124 1237,121 1236,122 1240,126 1244,127 1246,126 1249,125 5249,123 5251,127 5251,131 5251,135 5256,138 5257,135 5257,139 5257,138 5258,141 5260,146 5260,146 5260,143 10260,147 10265,151 10270,156 10266,157 10269,162 10273,166 12273,168 12274,163 12270,168 12275,170 12277,170 12277,-3830 12277,-3825 12277,-3824 12278,-3825 12276,-3825 12278,-3822 12277,-3825 12275,-3829 12278,-3828 12275,-3824 12280,-3827 12280,-3826 12282,-3822 12283,-3822 12286,-3820 12288,-3818 12289,-3816 12294,-3817 12297,-3819 12300,-3816 12297,-3813 12295,-3811 12299,-3811 12297,-3806 12298,-3806 12298,-3804 12301,-3801 12306,-3803 17306,-3803 17306,-3798 17306,-3803 17310,-3801 17314,-3798 17317,-3797 17317,-797 17321,-797 17323,-796 17325,-793 17326,-792 17322,-789 17327,-784 17331,-780 17335,-776 17339,-774 17339,-771 17342,-770 17345,-765 17348,-765 17349,-763 17353,-760 17350,-760 22350,-756 22346,-752 22349,-748 22352,-752 22348,-748 22347,-746 22345,-745 27345,-743 27346,257 27350,260 27349,261 27352,266 27348,266 22348,269 22347,271 22347,272 22347,273 22348,273 22352,278 22348,279 22344,282 22345,282 22342,283 22347,283 22347,288 22349,292 22347,292 22348,293 22348,298 22348,303 22351,306 22352,309 22352,308 22354,310 22356,311 22361,311 22358,311 22360,311 22360,315 22356,320 22358,325 22363,326 22366,321 22371,318 22373,318 22375,314 22375,316 22375,321 22376,321 22376,322 22372,32 104,36 109,40 114,40 113,40 117,44 119,49 123,49 126,49 129,53 133,50 137,50 139,49 137,48 138,43 138,42 139,46 142,46 138,41 139,45 141,4045 5141,4045 5146,4042 5147,4043 10147,4041 10150,4042 10152,4045 10152,4041 10156,4041 10152,4041 10152,4046 10153,4049 10156,4046 10155,4051 10157,4055 10159,4055 10160,4056 10161,4055 10166,4054 10169,4054 10172,4054 15172,4051 15176,4047 15177,4049 15174,4047 15176,4047 15176,4046 15177,4046 15180,4043 15184,4043 15187,4038 15190,4040 15194,4040 15199,4045 15196,4047 15197,4050 15200,4050 15204,4050 15208,4047 15212,4047 15215,4049 15216,4046 15218,4042 15223,4042 15228,4042 15232,4047 15235,4050 15236,4050 15239,4051 15243,4053 15243,4050 17243,4052 17243,4052 18243,4057 18247,4061 18249,4064 18249,4067 20249,4067 20250,4067 20255,4066 20259,4066 20259,4067 20255,4069 20256,4071 20258,4072 20254,4067 20257,4067 20260,4069 20265,4065 20267,4069 20266,4070 20267,4071 20264,4074 20259,4070 20264,4073 20260,4074 20263,4077 20268,4082 20271,4084 20273,4084 20277,4081 18277,4085 18279,4086 18276,4087 18273,4087 18275,4092 18277,4093 18279,4093 18280,4095 18280,4091 18283,4092 18281,4094 18283,4090 18287,4094 18287,138 5257,138 5255,138 5258,-1862 5254,-1860 5256,-1856 5258,-1851 5255,-1850 5260,-1847 5260,-1847 5263,-1847 5258,-1850 5257,-1850 5259,-1851 5257,-1855 5258,-1853 5261,-1849 5261,-1849 5258,-1849 5259,-1845 5264,-1847 5264,-1850 5268,-1852 5266,-1853 5270,-1856 5265,-1852 5262,-1847 5263,-1842 5263,-1842 5260,-1842 5265,-1841 5265,-1844 5265,-1842 5270,-1837 5274,-1838 5279,-1843 5275,-1842 5280,-1838 5281,-1838 5285,-1833 5285,-1828 5288,-1824 5289,-1828 5291,-1831 5291,-1826 5291,-1830 5293,-1826 5296,-1822 5301,-1826 5302,-1826 5302,-1826 5302,-1825 5297,-1820 5299,-1816 5303,-1816 5299,-3811 12299,-3809 12302,-3806 12302,-3806 12302,-3803 12304,-3798 12304,-3797 12304,-3793 12306,-3788 12306,-3783 12309,-3816 12294,-3811 12299,-3809 12297,7100 -1851,7098 -1854,7102 -1854,7107 -1856,7107 -1858,7110 -1854,7110 -1851,7113 -1851,7115 -1851,7120 -1851,7123 -1847,7124 -1852,7125 -1852,7127 -1852,7131 -1852,7129 1148,7129 1145,7133 1150,7137 1148,7138 1147,7143 1149,7147 1154,8147 1155,8152 3155,8147 3157,8143 3158,8144 3160,8144 3164,11144 3167,11146 3167,11148 3163,11152 3161,11148 3159,11149 3163,11150 3161,11151 3166,11154 3171,11154 3170,8144 3160,8144 3163,8144 3166,8145 3166,8146 3171,8146 3174,8144 3174,8144 3174,8145 3176,8141 3180,3141 3182,7141 3183,7141 7183,7136 7185,7136 7185,7133 7187,7136 7187,7131 7190,7136 7194,7137 7197,7141 7196,7139 7199,12139 7200,12143 7200,12143 7199,12144 7203,12145 7200,12141 7200,12136 7195,12136 7191,12137 7191,12137 7196,12139 7197,12140 7197,12137 7201,12140 7204,12140 7209,12143 7209,12145 7210,12147 7214,12148 9214,12152 9218,12149 9218,12149 9221,12149 9220,12150 9222,12153 10222,12153 10226,12156 10227,12159 10223,12160 10220,12161 10225,12161 10227,12163 10224,12163 10223,12158 10224,12158 10227,12158 10231,12155 12231,12157 12226,7136 7185,7139 7189,7139 7189,7139 7188,7137 7191,7139 7191,7140 7189,7143 7191,7144 7189,7144 7190,7149 7193,7152 7194,7154 7198,7153 7203,7148 7207,12148 7209,12146 7209,12145 7213,12140 7217,12139 7219,12141 7219,12138 7218,12143 7218,13143 7220,13140 7224,13142 7228,13137 7231,13142 7235,13146 7239,13149 7243,13148 7247,13150 7248,13155 7249,13155 7253,13155 7253,13155 7258,13157 7260,13162 7255,13159 7255,13163 7258,13164 7258,13164 7263,13167 7264,13167 8264,13165 8265,13169 8265,13171 13265,13175 13261,13176 13259,13176 13259,13180 13262,13181 13262,13183 13262,13188 13265,13191 13267,13191 13265,13194 13267,13191 13269,13192 13264,13196 13269,13198 13272,13200 13272,13202 13270,13207 11270,13211 11270,13211 11273,13213 11274,13217 11275,13222 11276,13222 11272,13226 11274,13231 11277,13233 11282,13236 11284,13238 11284,13236 11286,13236 11288,13236 11283,13236 11284,13238 11289,13241 11292,13244 11292,13245 11289,13241 11294,13244 11298,13249 11301,320 22358,324 24358,328 24358,327 24363,326 24359,327 24361,329 24365,334 24367,-666 24367,-670 24368,49 123,46 127,46 129,49 131,49 136,47 135,45 138,3045 135,3042 138,3044 139,3044 144,3049 144,3053 142,3055 137,3058 136,3053 139,3048 142,7048 138,7048 3138,7048 3139,7048 3140,7050 3145,7053 1145,7050 1146,7053 5146,7048 5150,7047 5146,10047 5147,10043 5147,10047 5147,10050 5152,10052 5155,10054 5156,10056 5157,10056 5159,10058 5162,10062 5164,10062 5169,10066 9169,10068 9168,10063 9164,10063 9169,10061 9171,14061 9172,14061 9174,282 22342,287 22347,288 22347,288 22343,285 22339,280 22338,278 22341,279 25341,284 25343,13241 11294,13246 11296,13243 11296,13244 11291,13245 11291,13244 11291,13246 11295,13251 11300,13253 11305,13253 11306,13258 11305,13255 11306,13256 11309,13256 11311,13261 11307,13265 11303,13267 11305,13270 11301,13275 11298,13271 11300,15271 11302,15276 11306,15279 11303,15284 11305,15286 11305,15289 11307,15290 11302,15292 11305,15296 11309,15297 11313,15298 11316,15300 11317,15304 11320,15306 11324,15306 11320,15307 11320,15312 11320,15313 11319,15317 11317,15315 11321,15317 11323,15317 11328,15319 11333,15322 11336,15322 11337,15322 11337,15324 11341,15324 11345,15325 14345,15328 13345,17328 13346,17333 13349,17337 13354,17338 13358,17342 13358,17346 13353,17348 13353,17345 13353,17348 13354,17347 13354,17347 13354,17347 13355,22347 13358,22349 13355,22351 13355,22356 13354,22358 13354,22361 13355,22362 13355,22358 13355,22359 13359,22364 13364,22369 13369,22372 13373,22376 13371,22377 13371,22377 13369,22381 13374,22386 13379,22387 13376,22387 13380,22392 13378,22390 13374,22392 13378,22391 13378,22391 13375,22392 13378,22390 13380,22393 13382,22398 13387,22398 10387,22402 10391,22399 10392,22400 10392,22400 10394,22404 10391,22403 15391,22405 15392,22407 15392,22412 15387,22412 15390,22412 15394,22408 15396,26408 15398,26407 20398,26411 20402,26415 20406,26417 20411,26420 20407,26422 20407,31422 16407,31421 16405,31421 16410,31423 16410,31426 16414,31426 16410,31430 16415,31430 16418,31435 16419,31437 16420,31438 16422,31438 16425,31438 16425,31441 16427,31439 16431,31441 16436,36441 16436,36443 18436,36442 18437,36440 18440,36440 18436,36440 18440,36442 18445,36443 18446,36447 18451,37447 23451,37452 23456,37456 23455,37458 23459,37456 23461,37458 23463,37460 23466,37464 23469,37460 23474,37462 23476,37461 26476,37466 26479,37470 26483,37471 26488,37474 26489,37474 26485,37474 26483,37474 26488,37470 26492,37474 26497,37474 26499,37478 26495,37483 26499,37483 26501,37488 26496,37491 26499,37495 26495,37500 26496,37500 26497,37500 26501,37497 26499,37497 26499,37495 26504,37498 26504,37494 26509,37497 26514,37495 26515,37498 26514,37503 26514,37508 26512,37510 26516,37511 26519,37509 26523,37506 26528,37507 26532,37512 26536,37513 26538,37510 26542,37512 26544,37517 26543,37522 26546,37527 26551,37525 26555,37529 26558,37524 26563,37524 26562,37527 26562,37522 26562,37522 26559,37526 26561,37522 26559,37523 26561,37523 26556,37524 26558,40524 26560,40524 26563,40521 26567,40525 26566,40527 26568,40532 26572,40534 26569,40533 26565,40531 26565,40535 26569,40535 26570,40539 26572,40544 26575,40543 26575,40544 26579,40548 26584,40549 26581,40553 26585,40556 26590,40552 22590,40557 22594,40556 22595,40561 22592,40561 22593,40565 22593,40568 22593,40573 22588,40570 22590,40570 22591,40570 22588,40573 22590,40573 22593,40568 22593,40567 22597,40567 22599,40571 22599,40574 22600,40574 22604,42574 22607,42577 22607,42577 22612,42579 22616,38579 22619,38580 22617,38580 22614,38575 22619,38579 22619,38579 18619,38582 18614,38582 18617,38586 18622,38590 18625,38590 18622,38594 18621,38596 18616,38597 18614,38597 18618,38600 21618,38601 21618,38605 21620,38607 25620,38611 25620,38608 25617,38608 25621,38608 25625,38611 25623,38615 25623,38615 25620,38616 25622,38619 25624,38620 25625,38620 26625,38623 26627,38623 26627,311 22358,311 22359,-1689 22360,2311 27360,2312 27360,2312 27360,2317 27362,2317 27362,2319 27359,2319 27364,2318 27359,2321 27364,2326 27367,2325 27371,2326 27373,2326 27373,2325 27377,2329 27377,2327 27377,2330 27379,2333 27379,2331 27379,2331 27381,2336 27381,6336 27382,6336 27383,40527 26568,40531 26572,40533 26574,40538 26576,40533 26580,40538 26585,40539 26588,40536 26583,40540 26587,40539 26588,40535 26593,40540 26594,40544 26597,40548 26602,40548 26601,40549 26602,40547 26602,40548 26603,40553 26606,40548 26606,40548 26603,40551 26608,40556 26612,40559 26616,40554 26619,40556 26619,40556 26623,42556 26623,42556 26624,42560 26624,42562 26626,42563 26630,42564 26630,42564 26634,42559 26635,42562 26635,42565 26637,42562 26638,42564 26642,42564 26641,42568 26641,42572 26641,42572 29641,42574 29642,39574 29641,39574 34641,39576 34643,39581 34638,39578 34638,39574 34642,39574 34645,39572 35645,34572 35648,34577 35651,39577 35655,43577 35659,43580 35655,43575 35658,43578 35658,43581 35662,43577 39662,43572 39658,43572 39661,43572 39664,43572 39666,43576 39670,43577 39667,43580 39671,43576 39673,43573 39673,43574 39677,43569 39679,43567 39679,43568 39683,43563 39686,43566 39690,43566 39692,43568 39694,43568 39695,41568 39691,41570 39692,41571 39692,41571 39693,41571 39698,41571 39698,41574 39698,41569 39698,41570 39699,41570 39704,41572 39709,41573 39712,41578 39713,41579 39717,41584 39719,41585 39720,-1850 5268,-1845 5268,-1847 5266,-1842 5268,-1840 5263,-1845 5264,-1843 5264,-1839 8264,-1839 8267,-1839 8272,-1838 8276,-1834 8273,-1834 8273,-1833 8274,-1837 8279,-1836 8283,-1834 8286,-1836 8282,-1834 8279,-1835 8279,-1834 8280,-1836 8283,-1841 8288,-1846 8289,-1843 8286,-1838 8286,-1841 8285,-1838 8285,-1834 8288,-1829 8291,-1825 8286,-1825 8289,-1825 8287,-1824 8291,-1822 8294,-1821 8298,-1818 8300,-1818 8296,-1814 8296,-1811 8295,-1808 8292,1192 8296,1192 8297,1195 11297,1192 11301,1195 11305,1197 11300,1193 11300,1193 11296,1193 11293,1194 11294,1199 11292,1204 11292,1205 11294,1210 11292,1208 11288,1204 11290,1205 11289,1207 8289,1202 8284,1204 8282,1204 8281,1206 8281,1208 8281,1212 8283,1212 13283,1213 13287,1213 13290,1216 13293,1214 13289,1217 13286,1212 13291,1208 13288,1208 13292,1209 13297,1208 13296,1204 13298,1205 13303,1209 13308,1204 13308,1209 13304,1210 13304,1214 13309,1214 13314,1215 13314,1219 13314,1219 13319,1224 13320,1229 13321,1232 13325,1233 13329,1231 13329,1234 13334,-2766 13336,-2769 13337,-2765 13340,-2762 13345,-2760 13342,2240 13342,2238 13342,2242 13342,2246 13345,2246 13346,2244 13348,2239 13348,2240 13351,2240 13352,2245 13357,2248 13357,2243 13362,2247 13362,2248 13362,2252 13363,2256 13363,2256 13363,2260 13367,2255 13372,2251 13369,2251 13369,2252 13372,2249 13376,2254 13378,2255 13382,2259 13379,2262 13379,2267 13381,2262 13381,2262 13383,2265 13383,2269 13385,2270 13386,2271 13389,2267 13391,2271 13386,2275 13391,2273 13392,2275 13387,2277 13390,2274 13390,2275 13394,2280 13395,2280 11395,2281 14395,2279 14400,2277 14403,2273 14406,2274 16406,2274 16410,2279 16410,2284 16411,2280 16409,2280 16409,2282 16409,2282 16411,2282 16412,2280 16413,3280 16418,3284 16418,3285 16423,3289 16423,3292 16427,3294 16429,3296 16431,3297 16436,3298 16435,3303 16435,3305 16434,3305 16436,3305 16436,3309 16437,3309 16438,3308 16439,3308 16439,3306 16444,3302 16441,-1698 16437,-1703 16438,-1699 16438,-1697 16438,-1698 16439,-1695 16436,-1690 16441,-1687 16446,-1683 16450,-1682 16451,-1684 16453,-1682 16457,-1682 16457,-1686 16460,-1681 16459,-1680 16456,-1677 16460,-1681 16461,-1679 16464,-1674 16465,-1673 16469,-1669 16471,-1669 16476,-1665 16474,-1665 16478,-1664 16478,-1664 16479,-1661 16474,-1656 16471,-1655 11471,-1660 11473,-1663 11475,-1666 11480,3334 15480,3338 15476,3342 15471,3345 15471,3345 15470,3350 15469,3347 15474,3351 15476,3352 15473,3353 15476,3350 15477,3350 15479,3351 15482,3352 15484,3351 15487,3353 15487,3358 15487,3353 15486,1217 13286,1222 13291,1222 13291,1225 13286,1229 13286,1231 13281,1235 13280,1236 13281,1241 13282,1245 13285,1247 13285,1247 13287,1250 13287,1247 13290,1247 13295,1247 13298,1252 13301,1249 13304,1252 13304,3252 13304,3247 13304,3249 13308,3254 13308,3257 13308,3261 17308,3261 17309,3261 17306,3259 17305,3262 17310,3263 17308,3262 17311,3259 17314,3259 17314,3257 17309,3254 17309,3253 17309,3255 17310,3253 17312,3255 17312,3255 17312,3256 17307,3257 17307,3256 17311,3256 17313,3255 17317,3251 17317,3248 17321,3253 17325,3256 17326,3258 17324,3258 17327,3263 17322,7263 17325,7265 17328,7263 17330,7265 17333,7270 17333,7273 17333,7278 17336,4278 21336,4278 21340,4279 21340,4281 21340,4286 24340,4290 24343,9290 24347,9294 24349,9296 24347,9298 25347,9301 25348,9301 25348,9304 25353,9303 25357,9303 25352,11303 25355,11304 25358,11307 25358,11312 25358,11312 25361,11310 25365,11313 25365,11314 25369,11319 25371,11321 25371,11325 25366,11329 25365,11330 25366,11329 25370,11330 25365,11334 25367,11338 25366,11343 25363,11348 25359,11345 25356,11348 25357,11349 25358,11349 25358,11352 25360,11356 30360,11360 30365,11360 30365,11362 30365,11367 30367,11368 30369,15368 30370,15373 30371,15376 30373,14376 30378,14377 30383,14381 30378,14386 30380,14388 30382,14391 30385,14393 31385,16393 31389,16396 31394,16396 31397,16392 31400,16395 31405,16398 31409,16398 31413,16397 31415,16396 31417,16401 31418,16401 31422,16402 31419,16407 31420,16411 31419,16406 31423,18406 31427,18411 31432,18415 28432,18417 28437,18418 28441,18414 28438,18417 28435,18416 28439,18420 28442,18423 28447,18427 28444,21427 28445,21428 28450,22428 28455,22432 28457,22436 28458,22441 28458,22445 28463,22448 28468,22451 28465,22456 28468,22453 28468,22458 28471,22463 28473,22460 28475,22459 28472,22463 28476,22464 28472,22468 28468,22468 28471,25468 28466,25471 28468,25473 28464,25473 28464,25475 29464,25476 29466,25479 29461,25476 29462,25476 29464,25478 29464,25483 29461,25484 29460,25486 29458,25486 29462,25490 29460,25495 26460,25498 26463,25495 26468,25495 26472,25495 26472,25499 26474,25504 26476,25504 26478,25509 26476,25513 26479,25514 26481,25519 26477,25519 26480,25518 26481,25519 26484,25524 26483,25527 26484,25522 26484,25526 26487,25528 26492,25533 26496,25535 26498,25535 26498,25539 26503,25542 26504,25543 26505,25547 26510,25552 26510,25551 26508,25550 26512,25553 26510,25557 26510,25554 26511,25552 26508,25556 26505,25556 26506,25560 26506,25560 26507,25560 26506,25565 26501,25567 26504,25569 26504,25568 26508,25571 26508,25571 26511,25576 26511,25581 26516,25581 26519,25582 26521,25585 26522,25588 26527,25588 26526,25584 26530,25587 26534,25589 26529,25593 26533,25598 26538,25599 26540,25599 26540,25599 26540,25604 26543,25603 26543,25603 26538,25606 26538,25609 26540,25611 26542,25612 26547,25612 26547,25612 26548,25617 25548,25612 25548,25613 25547,25616 25545,25616 25549,25618 25551,25620 25555,25620 25551,25622 25550,25625 25551,25622 25555,25619 25557,25617 25556,25622 28556,25625 28551,25630 28546,25634 28548,25639 28553,25643 28553,25638 25553,25634 25553,25634 25557,25639 25557,25643 25558,25644 25553,25646 25556,25647 25560,25650 25562,25650 30562,25650 30562,25650 30564,25650 30566,25652 30570,25656 30571,25661 31571,25662 31575,25663 31579,25662 31579,25665 31581,25666 31584,25671 31582,25674 31581,25674 31584,25676 31584,25673 31587,25678 31586,25679 31581,30679 31584,30675 31589,30680 31590,35680 31590,35675 31589,35677 31591,35680 31590,35681 31587,35684 31588,35685 31589,35689 31592,35689 31593,35692 31597,35696 31597,35700 34597,35699 34599,35703 34604,35703 34606,35702 34601,35705 34603,35705 34606,35708 34603,35713 34604,35717 34603,35719 34608,35715 34608,35711 34608,35713 34609,35714 34605,35714 34610,35714 34614,35718 34616,35719 34617,35722 34618,35722 34621,35725 34625,35725 34626,35725 34629,35725 34631,35725 34635,35730 34636,35727 34638,35731 34640,35735 34642,35739 34645,35741 34645,35742 34649,35738 34649,35738 34645,35741 34647,38741 34650,38741 37650,38742 37646,38746 37651,38749 37652,38753 37653,38753 37657,38757 37656,38756 37660,38761 37660,38765 37660,38760 37660,38759 37660,38760 41660,38760 41660,38762 41665,38757 41667,43757 41669,43752 41674,43752 41677,43757 41672,43758 41677,45758 41680,45758 41679,45762 41683,45765 41683,45769 41683,45770 41684,45768 46684,45773 46688,45776 46692,45774 46694,45775 46697,45778 46695,45776 46698,45774 46702,45779 46702,45784 46704,45787 46706,45791 46711,45786 46707,45790 46711,45793 46715,45796 46719,45799 46724,45797 46728,45802 46726,45797 46729,45801 46733,45802 46733,45803 46732,45804 46732,45805 46732,45808 46735,45810 46740,45810 46744,2326 27373,2322 27377,2323 27379,2325 27383,2325 27382,2322 27382,2323 27382,5323 23382,5325 23385,5329 23386,5330 23390,5335 23392,5330 23392,5330 23395,5329 23395,5333 23399,5333 23402,5338 23405,5339 23405,5334 23406,5329 23401,5332 23403,5330 23407,5333 23409,5328 20409,5324 20411,5324 20414,5329 20416,5328 20421,5325 20421,5329 20424,5330 20424,5335 21424,5331 21427,5333 21431,5334 21433,5329 21434,5330 21437,5333 21440,5338 21437,5338 21440,5334 21441,5333 21438,5329 26438,5332 26435,5335 26439,5337 26440,5338 26444,5342 26439,5342 26442,5345 26440,5349 26438,5352 26442,5349 26445,5348 30445,5350 30447,5350 30444,5354 30444,5359 30443,5363 30445,5367 30446,5367 30448,5367 30453,5371 30455,5371 30453,5373 30458,5375 30461,5380 30463,5384 30463,5383 30459,5384 30459,5383 30459,5385 30460,5390 30459,5392 30464,5394 30464,5389 30465,5393 30469,5391 30469,5391 30469,5395 30474,5396 30470,5399 30470,5401 30467,5401 30468,5404 30470,5400 30465,5401 30462,5403 30467,5404 30467,5409 30469,5412 30473,5412 30477,5407 30481,8407 30486,8408 30489,8410 30490,8410 30489,8413 30490,8414 30493,8414 30496,8419 30501,8420 30502,8415 30507,13415 30509,13411 30506,13414 30507,13412 30511,13412 30515,13417 30518,13419 30523,13418 30527,13422 30529,13418 30531,13413 35531,13409 35531,13413 35532,13417 35537,13419 35533,13423 35529,13424 35529,13423 35524,13428 35525,13433 35526,13438 35530,13443 35531,13448 35531,13452 35532,13455 35536,13457 35536,13452 35536,13455 35539,13452 35535,13457 35540,13457 35544,18457 35546,18460 35547,22460 35546,22465 35550,22466 35554,22468 35552,22473 35555,22471 35559,22470 35564,22472 35564,22470 35569,22474 35569,22474 35571,22477 35573,22482 35576,22487 35580,22488 35583,22489 35585,22493 35585,22496 35585,25496 35586,25493 35582,25494 35585,25498 35585,25496 35585,25498 35587,25503 35591,25503 35593,25499 35590,25499 35591,25495 35591,26495 35595,29495 35591,29495 35593,29498 35597,29498 35601,29500 35606,29501 30606,29502 30603,29505 30603,29510 30606,29511 30606,29514 30607,29516 30610,29518 30608,3259 17305,3263 17304,3267 17303,3271 17308,3269 17312,3269 17313,3274 17315,3277 17315,3282 17311,3285 17313,3283 17309,3278 17310,3275 17315,3275 17317,3276 17322,3280 17324,3280 17324,3276 17325,3277 17325,3276 17328,3278 17324,3273 17329,3277 17331,3280 17326,3281 17328,3276 17324,3277 17324,3277 17322,3277 17321,3277 17321,3281 17323,3282 17327,3282 17332,3287 17335,3288 17335,3288 17338,3290 17337,3294 17340,3294 17341,3299 17341,3299 12341,3299 12342,3304 12339,3301 14339,3305 14340,3307 14341,3311 14343,3313 14343,3314 16343,3310 16341,3310 16346,3312 16348,3311 16349,4311 16346,4316 16348,4321 16344,4324 16348,4322 16349,4323 16346,4323 16346,4326 16350,4322 16354,4323 16356,4325 16361,4325 16358,4322 16362,4325 20362,4325 20366,4322 20367,4326 20372,4326 20374,4331 20373,4333 20373,4338 20376,4339 20379,4341 20382,4338 20384,4339 20386,4340 20383,4340 20383,4335 20388,4336 20390,4341 20390,4346 20391,4348 20391,4349 20393,37497 26499,37494 26496,37496 26500,37496 26501,37499 26506,37497 26502,37498 26502,37500 29502,37500 29507,37505 29508,37506 33508,37508 33513,37513 33518,37517 33522,37516 33520,37521 33521,37521 33525,37516 33530,37519 33528,37520 33528,37524 33530,37527 33530,37525 33527,37528 33530,37533 33533,37534 38533,37536 38536,22358 13355,25358 13360,25361 13358,25362 13362,25362 13362,25365 13365,25363 13367,25359 13369,25357 13374,25360 13374,2247 13362,2252 13366,2254 13363,2257 13363,2261 13358,2264 13354,2264 13356,2269 13361,2272 13363,2274 13363,2275 13363,2273 13362,2274 13365,2278 13365,2280 13370,2284 13366,2284 13365,2289 13368,2290 13366,2293 13368,2298 13373,2298 13372,2295 13375,271 22347,273 22350,4273 22347,4269 22348,4270 22350,4271 22355,4272 22360,4276 22363,4281 22365,4284 24365,4279 24365,4282 24365,4285 24365,4287 24364,4289 24362,4294 24360,4295 24362,4298 24365,4301 24369,1301 24370,1301 24371,1305 24375,1305 24376,1307 24377,1312 24380,1314 24382,1318 24380,1316 24382,1316 24387,1318 24387,1318 29387,1321 29387,1316 29383,1320 29386,1321 29389,1326 29389,1327 29389,2327 29394,2327 29394,2332 29393,-666 24367,-663 24368,-661 24368,-656 24371,-653 24372,-649 24372,-647 24374,-643 24370,-638 24375,-635 24380,-638 24382,-638 24384,-638 24384,-636 24388,-637 24390,-632 24386,-630 24386,-629 24386,371 24389,376 24394,374 24392,377 24397,3377 24400,6377 24405,6378 24408,6373 24406,6370 24406,6375 24403,6370 24403,6375 24403,6379 24406,6374 24409,6378 24411,6380 24412,6378 24415,6378 24419,6383 24423,6385 24425,6387 24428,6390 24433,6386 24430,6386 24435,6387 24436,6388 24440,6387 24444,6383 29444,6383 29447,6386 29451,6382 29446,6387 29447,6390 29452,6393 29452,6397 29455,6400 29459,6400 29463,6397 29467,6393 29467,6395 29470,6397 29473,6399 29468,6394 29467,6397 29470,6396 29473,6396 29470,6393 29465,6389 29469,6390 29470,6389 29465,6389 29468,6392 29470,6388 33470,6390 33466,6391 33466,6392 33467,6394 33467,322 22372,322 22374,323 22377,327 22378,331 22382,330 22383,332 22386,333 22383,331 22383,330 22387,332 22391,332 22396,337 22397,339 22394,340 22399,340 22398,340 22396,343 22396,343 22396,341 22400,342 22404,343 22402,348 22403,345 22407,347 22411,342 22411,345 22413,340 22417,345 22417,348 22422,348 22426,351 22427,352 22432,352 22436,4352 22438,4353 22442,4354 22444,4354 22447,4357 22449,4360 22450,4364 22450,4367 22451,4369 22453,4366 22455,4369 22453,4373 22458,4377 22459,4380 22459,4380 22464,4385 22467,4385 22467,4390 22469,4385 22469,4385 22472,25571 26508,25574 26507,25578 26512,25581 26512,25581 26512,25583 26508,25583 26513,25587 26516,25589 26515,25590 26515,25591 26517,25589 26520,25587 26522,23587 26526,23585 26531,23589 26534,23592 26538,24592 26543,24588 26545,24593 26547,24598 26543,24598 26548,24602 26545,24598 26540,24600 26545,24600 26548,24600 31548,24605 31549,24608 31551,24613 31552,24615 36552,24616 36557,24619 36557,24622 36560,24622 36564,24627 35564,24627 35569,24632 35569,25632 35570,25635 35569,25636 35573,25636 35573,25638 35576,25641 35580,25641 35583,25641 35588,25642 40588,20642 40593,20645 40593,20650 40595,20651 40591,20651 40594,20648 40591,20648 40591,20652 40596,20652 40596,20656 40597,20656 40600,20656 40601,20659 40598,20662 40597,20662 40597,20663 40600,20668 40601,20665 40606,1215 13314,1214 13319,1212 13317,1209 13312,1210 13312,1211 13317,6211 13320,6214 13320,6216 13320,6211 13323,6214 13318,6214 13323,6214 13324,6216 13319,6219 13323,6218 13321,6219 13321,6218 13326,6221 13329,6225 13331,6230 13335,6231 13339,6231 13343,6235 13338,6234 13342,6234 13344,6236 13345,25524 26483,25521 26484,25524 26489,25527 26487,25529 26484,25530 26482,25534 27482,25539 27486,25537 27488,25541 27483,25544 27486,25547 27490,25550 27491,25550 27491,25554 27486,25559 27486,25563 27489,25561 27489,25563 27493,25561 27491,25563 27493,25563 27495,25564 27497,25563 27497,25563 27497,25558 27498,25563 27499,25565 27503,25567 27503,25569 27503,25567 27504,25565 27505,25565 27505,25565 27505,25566 27505,25570 27501,25570 27497,25574 27498,25570 32498,25570 32501,25573 32501,25576 32497,25576 32498,25577 32501,25579 32503,25583 32504,25588 32507,25592 32512,25596 32507,25599 32507,25594 32503,25597 32506,25597 32510,25594 32509,25594 32510,25596 32513,25592 32513,25594 32515,25594 32520,25598 32520,25602 32517,25603 32518,27603 32520,27607 32523,27608 31523,27613 31527,27615 31527,30615 31530,30617 31530,30618 31532,30619 31536,30623 31537,30623 31538,30625 31538,30626 31541,30627 31541,30624 31540,30623 31540,30624 31545,34624 31546,34619 31543,34623 31545,34624 31549,34624 31548,34626 31550,34626 31555,34626 31551,34628 31555,34633 31555,34636 31559,34634 31564,34636 31564,34639 31562,34639 31560,36639 31555,36636 27555,41636 27557,41640 27554,41644 27558,41647 27559,41648 27555,41653 27555,41658 27555,41658 27552,41658 27552,41660 27550,41656 27554,41661 27558,41664 27561,41667 27566,41662 27562,41663 27563,41663 27565,41662 27569,41661 27569,41664 27571,41664 27567,41659 30567,41660 30565,41660 30561,41665 30566,41664 30561,41664 30561,41664 30562,41664 30563,41660 30558,1312 24380,4312 25380,4315 25384,4315 25385,4319 25383,4322 25388,6322 25387,6322 25387,6326 25392,6321 25397,6324 25397,6324 25401,6319 25404,9319 25405,9314 25400,9312 25402,9310 25403,9313 25403,9313 25403,9316 25400,9319 25401,4319 25396,8319 25398,8315 25400,8315 25396,8315 25397,8311 25398,8307 25394,8309 25394,8311 25397,8315 25402,8310 25403,11310 25365,11311 25365,11316 25370,11320 25375,11325 25375,11325 25380,11325 25382,11326 25378,14326 25380,14328 25382,14331 25383,14334 25385,14336 25386,19336 25386,19336 25389,19332 25390,19332 25391,19335 25388,19338 25391,19342 25393,19340 25393,19345 25396,19345 25394,19347 25394,19349 25393,19351 25397,19350 25398,19348 25399,19349 25403,19352 25399,19350 25402,19354 25400,19353 25405,23353 25402,23354 25402,23356 25405,23358 25409,23360 25413,23363 25414,23367 25412,23365 25411,23367 25414,23363 25413,23367 25416,23367 25416,23370 25418,24370 25414,24370 25419,24373 27419,24378 27419,24380 27416,24380 27412,24380 27410,24380 27406,24376 27406,24374 27410,24370 27414,24370 27415,24371 27420,24375 27415,24378 27411,24375 27415,24378 27418,24382 27421,24383 27426,24383 27425,24385 27430,24390 27431,24394 27432,24395 27436,24399 30436,24400 30439,24404 30443,24403 30439,24406 30438,24410 30442,24406 30446,24408 30445,24403 30445,24408 30442,24412 30446,24416 30446,24416 30449,19416 30449,19416 30447,19418 30452,19420 30453,19423 30458,15423 30462,15423 30464,15425 30466,16425 30467,16424 30471,16421 30474,16426 30474,16428 30476,16428 30476,16424 30474,16424 33474,16425 33474,16427 33477,16425 33479,16426 33477,16422 33480,16425 33482,16430 33479,16430 33478,16429 33482,16424 33482,16427 33484,16430 33488,16431 33488,16434 33488,16435 33491,16432 33487,16436 37487,16434 37490,16438 37485,16443 37482,16446 37480,16447 37480,16447 37482,16451 37478,16454 37479,16458 37479,16454 37479,16454 37482,16459 37486,16460 37491,16463 37495,16464 37492,16465 37493,16466 37494,16468 37497,16468 37501,16468 37501,16473 37503,16473 37503,16473 37498,16476 37494,21476 33494,21473 33493,21476 33489,21478 33491,21478 33496,21478 33492,21480 33496,21483 33501,21484 33504,21483 33500,21484 33505,21484 33505,21488 35505,21491 35505,21494 35506,21496 35510,21492 35506,21492 35509,21489 35514,21490 35517,21487 35519,23487 35523,23485 35528,23487 35533,23483 35534,23487 35535,23488 35537,23493 35539,23495 35542,23495 35546,23495 35550,23491 35549,23488 35552,23492 35555,23495 35560,23500 35559,23496 35557,4322 16354,4317 16358,4318 16358,4320 16363,4315 16363,4315 16362,4316 20362,4320 20365,4323 20363,4326 20366,4329 20367,4332 20370,4337 20374,4338 20375,4333 20375,4338 20375,4341 20377,4342 20377,4342 20378,4343 20381,4346 20386,4346 20386,4346 20386,4346 20386,4349 20390,4352 20395,4354 20396,4355 20400,4358 20400,4360 20401,4360 20404,4363 20405,4368 20406,4372 20411,4371 20416,4367 20417,4364 20422,4367 20420,4372 20425,4373 20422,4374 20418,4377 20418,4381 20422,4382 20423,4384 20418,4389 20421,4385 20423,4390 20423,4390 20425,4392 20429,4396 20434,41574 39698,41578 39702,41576 39704,45576 39704,45575 39709,45577 39713,45581 39715,45581 39718,45583 39721,45578 39726,47578 39722,47581 39719,47586 39722,47586 39726,47589 39730,47592 39733,47597 39733,47593 39733,47596 39735,47597 39735,47595 39735,47591 39739,47593 39744,47593 39747,4074 20263,4077 20268,4079 20268,4078 20271,4078 22271,4083 22276,4087 22272,4088 22275,4086 22279,4082 22280,4084 22282,4086 22277,4082 22277,4087 22281,4090 22281,4092 22281,4092 22286,4094 22287,4097 22290,4097 22291,4095 22286,4095 22288,4095 22293,4095 22288,4092 22285,4089 22286,4090 22286,4095 22281,4100 22286,4103 22285,4104 22288,4104 22289,4107 22294,4112 22292,4117 22290,4120 22295,120 22300,121 22303,122 22300,122 22300,121 26300,125 26303,129 26303,127 26305,127 26306,132 26306,132 26307,136 26307,141 26309,140 26311,143 26313,140 26314,145 26318,149 26318,153 26321,153 29321,158 29326,158 29329,162 29324,162 34324,165 34329,168 34328,167 34332,169 34333,173 34334,173 34336,177 34338,178 34340,178 34344,182 34348,177 34348,182 34348,184 34353,184 34358,181 34360,183 34365,187 34365,192 34365,197 34367,199 34366,203 34368,205 34368,202 34363,204 34360,1204 34360,1205 34364,1205 30364,1205 30359,1206 30361,1207 30364,1210 30366,1210 30366,1214 30367,1218 30372,1219 30375,1214 30379,1214 30384,1217 30382,1222 30383,1223 30382,1225 30380,1228 30379,1231 30383,1232 30383,1235 30384,1237 30388,1242 30386,1244 30389,2244 30392,2241 30395,2245 30397,2245 30399,2244 30394,2242 30395,2246 32395,2246 32395,2249 32398,2251 32393,5251 32390,5251 32395,5255 32399,5255 32397,5257 32397,5257 32401,5261 32406,5261 32411,5266 32412,5271 32416,5273 32419,5276 32420,5281 32422,5279 32425,6279 33425,6284 33429,6284 33430,6282 33431,6282 33428,6286 33425,6288 32425,6288 32421,6286 32424,6288 32424,11288 32427,11292 32425,11292 32429,11290 32434,11286 32437,11286 32437,11283 32442,11278 32442,11279 32443,11283 32445,11284 32445,11283 32448,13283 32447,13287 32442,16287 32446,16282 32445,16283 32445,16284 32448,16285 32448,16284 32446,16286 32443,16290 32446,16291 32446,16292 32450,16291 32450,16291 32450,16291 32445,16287 32447,16288 32452,16287 32457,16291 36457,16289 36462,16293 36462,16294 36462,16297 36462,16301 36464,16306 36469,16310 36467,16310 36463,16313 36459,16312 36460,16313 36465,16313 36469,16308 36470,16309 36468,16314 36470,16319 41470,16322 41471,16325 44471,16330 44471,16330 44471,16330 44473,16330 44474,16335 44479,16332 44477,8414 30496,8415 30497,8419 30497,8414 30501,8416 30500,8418 30495,8421 35495,8423 35494,8427 35497,8429 35499,8432 35499,8436 35503,8438 35503,8443 35505,8440 35508,8443 35509,8440 35509,8440 35511,8441 35515,8445 35511,8448 35512,8443 35517,8443 35519,8442 35524,8444 35526,8441 35527,8436 35527,8433 35523,8429 35527,8430 35530,8431 35532,8429 35533,8433 35535,8437 32535,8435 32536,8439 32536,8436 32539,9436 32542,9434 32537,9429 32534,9429 32534,9433 32537,9433 32542,9429 32543,9434 32538,9436 32538,9436 34538,7436 34538,7438 34543,7439 34543,7439 34543,7439 34548,7438 34549,7438 34552,7438 34553,7438 34556,11438 34561,11434 34559,11436 34555,7436 34553,7436 34549,120 1235,124 1239,125 1236,125 1238,129 1235,128 1235,125 1236,123 1239,128 2239,132 2242,131 2242,135 2242,140 2242,145 2247,146 2252,144 2253,146 2248,144 2245,146 2244,150 2249,155 2245,159 2242,160 2243,160 2245,155 2244,156 2245,3156 2246,3159 2248,3159 2250,3164 2254,3165 2257,3166 2255,3169 2257,3171 2262,3169 2263,3174 2268,3177 2273,3174 2276,3178 2275,3173 2279,3177 2276,3180 2279,3182 2284,3185 2289,5185 2286,5185 2288,5181 2286,5185 2288,5184 2293,5187 2293,5187 2297,5190 2299,5187 2299,5185 2300,5181 6300,5182 6297,5187 6300,5189 6298,5191 6296,5193 6296,5193 6296,5195 6297,5195 6300,5197 6297,5195 6300,5190 6302,5191 6306,5192 6308,5195 6312,24395 27436,24391 27437,24393 27433,24398 27436,24398 27437,16286 32443,21286 32443,21286 32444,21282 32448,21283 32446,21283 32448,21285 32451,21281 32456,21282 32458,21282 32463,21282 32468,21284 32470,21289 32471,21287 32471,21287 32469,21287 32474,21284 32477,21288 32482,21291 32482,21291 32486,21296 32485,21299 32486,21301 32487,21303 32484,21301 32482,21305 32487,21310 32491,21312 32495,21313 32491,21315 32495,21312 32495,21314 32498,21316 32501,21311 32506,21311 32508,21312 32513,21317 32516,21319 32516,21324 32516,21327 32521,21328 32526,21332 32527,21328 36527,21331 41527,21336 41527,21334 41531,21337 41533,21335 41535,21339 41540,21340 41540,21343 41536,25343 41539,25340 41542,25337 41542,25337 41545,25335 41542,25335 41543,25335 46543,25339 46548,30339 46551,30340 46556,30343 46557,30342 46553,30337 46556,30341 46561,30337 46565,30336 46563,30338 46564,24373 27419,24373 27421,24375 27424,24377 27425,24377 27430,24374 27435,24379 27437,24384 27432,24385 27434,24382 27437,24381 27442,24381 31442,24381 33442,20381 33439,20383 34439,20382 34440,20378 34444,20381 34446,20381 34442,20384 34443,20388 34446,20392 34447,20393 34442,20393 34447,20396 29447,20395 29443,20399 29443,20400 29439,20399 29436,20404 29439,20409 29440,20410 29440,20410 29444,20408 29445,20413 29448,20413 29451,20412 29455,20413 29458,20418 29461,20413 29463,20415 29464,20416 29464,20416 29463,20416 29463,20418 29464,20414 29465,20418 29463,20413 29460,20413 26460,20418 26458,20421 26459,20421 26461,20421 26460,43578 35658,43578 35654,43578 35658,43578 35660,43583 35661,43583 35659,43583 35662,43579 35663,43583 35661,43587 35666,25625 25551,25629 25551,25630 25554,25630 25559,25632 25560,25627 25561,25623 25557,25623 25559,25624 25561,26624 25566,26627 25566,29627 25571,29626 25574,29625 25575,29622 25579,29625 25583,29630 25588,29632 25589,29635 25591,29635 25594,29637 25598,29642 25596,29643 25597,29644 25597,29649 25598,29654 25602,29656 25602,29661 25603,29661 25601,29664 26601,29666 26604,29665 26604,29668 26607,29672 26607,29669 26611,29671 26616,29674 26613,29679 26616,29680 26616,29681 26615,29682 26619,29679 26617,29684 26622,29686 26624,29689 26624,29690 26628,29691 26630,29693 26625,29694 26620,29698 26617,29703 29617,29707 29616,29706 29620,29709 29623,34709 29626,34710 29628,34710 29627,2282 16411,2283 16412,2283 16412,2287 16417,2292 16421,2297 16421,2298 16426,2303 16426,2304 16429,2309 11429,2313 11432,2308 14432,2308 14431,2311 14433,2310 14437,2308 14438,2309 14440,2311 14440,2309 14443,2312 14443,2314 14447,2314 14452,2314 14450,2309 14451,2309 14451,2309 14456,2313 14461,2313 14461,2309 19461,2309 19461,2311 19462,2315 19465,2318 19465,2321 19462,2317 19464,2321 19467,2322 19467,2322 19469,2322 19469,2320 19464,2321 19462,2322 19461,2327 19466,2327 19461,2322 19461,2322 19463,2317 19467,2318 19471,2102 -1848,2107 -1848,2111 -1846,2114 1154,2114 1156,2115 1157,2114 6157,2116 6162,2121 6165,2124 6170,2121 6175,2124 6179,2124 6183,2128 6178,2126 6179,2125 6178,2126 6181,2122 10181,2127 10186,2128 10189,2130 10188,2130 10191,2127 11191,2127 11195,2131 11196,2132 11192,2131 11197,2135 11201,2135 11203,2139 11199,2142 11203,2143 11204,2147 11208,2142 11210,2142 11211,2147 11212,2150 11217,2150 11219,2151 11219,2152 11222,2152 11222,2148 11224,2150 11220,2150 11223,2146 11218,2143 11219,2140 11221,2143 11218,2140 11219,2140 11223,2145 11225,2147 11226,2152 11226,2155 11224,2157 11229,2157 11229,2153 11233,2153 11238,2149 11239,7149 10239,7154 10241,7157 10241,7162 10243,7164 10248,7164 10251,7169 10253,7171 10253,7172 10257,7177 10260,7182 10256,7187 10260,7191 8260,7195 8256,7200 8258,7204 8258,7203 8261,7203 8262,7205 8266,7209 8270,7209 8273,7214 8273,7214 8276,7210 8276,7211 8276,7213 8279,7218 8278,7222 8283,7223 8279,7220 10279,7221 10283,7223 10284,7228 10286,7230 10290,7231 10290,7231 10293,7232 10294,7232 10297,7234 10299,7229 10295,7226 10294,7221 10293,7223 10295,7228 10299,7229 10303,7232 10307,7232 10311,7233 10316,7234 9316,7239 9318,7244 9321,7241 9326,7241 9328,7238 9331,7235 9330,7237 9335,7236 9335,7236 9337,7236 9338,7231 14338,7230 14333,7232 14338,7237 18338,4082 22280,4081 22280,6081 22283,6076 22285,6076 22289,6078 22286,6080 22287,6084 22292,6084 22293,6085 22293,6086 22291,6091 22294,6092 22293,9092 22290,9095 22294,9096 22295,9096 22297,9091 22292,9096 22295,9098 22290,9094 18290,9097 18290,9096 18294,9099 18292,9098 18297,9103 18299,9103 18302,9103 18305,9100 18301,9102 18302,9106 18305,9102 18310,9101 18306,9103 18308,9103 18312,9107 18310,9107 18315,9107 18320,9111 18322,9111 18326,9113 18329,9111 18329,9116 18329,9121 18329,9121 18332,9123 18331,9124 18332,9125 18328,9127 18325,9125 18328,9128 18329,9133 18329,9136 18333,9141 18337,9142 18342,9143 18340,9148 18344,9152 18341,9150 18346,9149 18341,9149 18341,9154 18343,9158 18345,9161 18346,9161 18347,9163 18352,9164 18352,9162 18349,9165 18352,9165 18351,9165 18352,9165 18356,9163 18352,9167 18353,9167 18349,9168 18351,9168 18347,9173 18347,9175 18347,9179 18348,9182 18349,9187 18352,9186 18357,9189 18360,9192 18360,9196 18362,13196 18367,13196 18369,13196 18371,13199 18374,13194 18374,13197 18375,13200 18377,13205 18380,13210 18384,13209 18379,13209 18374,13213 18375,13216 20375,13212 20375,13215 20375,13211 20375,13211 20372,13208 20373,13204 20373,13204 20369,13205 20369,13207 20366,13212 20367,13216 20367,13221 20372,13222 20377,13225 20381,13226 20386,13230 20383,9230 20388,9228 20384,9228 20386,9223 20389,9223 20392,4223 20397,4223 20396,4225 20399,4222 20404,4220 20408,4220 20411,4223 20416,4227 20421,4230 20418,4234 20421,4232 20422,4236 20423,4238 20423,4239 20423,4235 20427,4231 20427,4230 20426,4228 20428,4232 20427,4232 20431,4236 20433,4241 20431,4241 22431,4236 22436,4239 22437,4239 22439,4236 22443,4232 22439,4236 22444,4236 22446,4239 22447,4239 22452,4241 22454,4245 22457,4245 22460,4250 22462,4251 22465,4253 22465,4249 22465,4251 22460,4251 22464,4255 22469,4257 22473,4256 22478,4259 22479,4260 22480,4257 22485,6257 22489,6260 22490,6260 22493,6262 22496,6262 22500,6267 22495,6271 22495,6276 22491,6276 22489,6281 22487,6286 22490,6289 22490,6294 22490,6294 22489,6292 22485,6292 22489,6288 22489,6288 22494,6288 22496,6286 22497,6288 22501,6292 22500,5292 22503,5292 22503,5296 22508,5295 22510,5300 22510,5305 22513,5302 22514,5306 22510,5309 22513,5313 27513,5313 27513,5317 27513,5322 22513,5326 22517,6326 22516,6323 22518,6323 22523,6320 22523,6321 22526,6323 22531,6323 22531,6324 22532,6324 22532,6325 22529,6321 22531,6323 22534,6328 22534,6329 22530,6324 22527,10324 22522,10319 22524,10315 22520,10314 22525,10311 22525,10307 22526,10304 22531,10306 22527,10306 22528,10309 22530,10312 27530,10312 27534,10312 27534,10307 27536,10307 27532,11307 27531,11307 27533,11308 27535,11303 27531,11298 27532,11294 27534,11294 27534,11299 27538,11297 27542,11302 27547,11306 27547,11311 27549,11313 30549,11317 30551,11313 30546,11316 30541,11316 30540,11319 30545,11318 30546,11323 30550,11326 30554,11326 34554,11330 34558,11331 34558,11333 34558,11332 34561,11328 34561,11331 34562,11336 34562,11336 34567,11340 34570,11342 34569,11345 34568,11344 34569,11345 34571,11349 34574,15349 34574,15354 34569,15359 34566,15362 34571,15363 34576,15367 34577,15368 34577,15371 34581,15374 34576,15379 34574,15383 34579,15384 34584,15387 34583,17387 34578,17392 34578,17391 34578,17396 34573,17397 34578,17397 34580,17397 39580,17402 39584,17397 39587,17402 39587,17406 39582,17403 39587,17407 39589,17409 39592,17406 39592,17409 39595,17409 39599,17412 39603,17416 39608,17417 39608,17417 39608,17421 39607,17422 39609,17424 39608,17427 39604,17425 39605,17426 39609,17423 39611,17422 39610,17425 39613,17428 39618,17428 39619,17429 39616,17432 39616,13432 39615,13432 39617,13432 39617,13432 44617,13434 44621,13434 44623,13439 44627,13442 44632,13442 44635,13440 44631,13442 44631,13445 44635,13447 44639,13445 44637,13445 44638,13450 44639,13454 44644,13457 44644,13459 44642,15459 44639,15457 44644,15461 44644,15462 44642,15459 44645,15459 44647,15463 44650,15458 44651,15459 44653,15461 44657,15463 44661,15463 44661,15463 44663,15467 44666,15472 44668,15474 44664,15470 44668,15471 44670,15473 44674,15475 44675,-3806 12298,-3804 12301,-3805 13301,-3804 13296,-3808 13292,-3809 13295,-3806 13300,-3804 13297,-3801 13301,-3801 13302,-3796 18302,-3801 18306,-3799 18311,-3802 18311,-3799 18312,-3801 18314,-3796 18319,-3795 18322,-3791 18321,-3786 18320,-3786 18321,-3784 18321,-3782 18321,-3781 18324,-3782 18325,-3783 18320,-3788 18324,-1788 18324,-1788 18329,-1784 18333,-1784 18334,-1781 18329,-1777 18334,-6777 18337,-6774 18339,-6776 18341,-6781 18341,-6779 18341,-6779 18343,-6779 18339,-6777 18343,-6782 18338,-6779 18341,-6778 18341,-6776 18336,-6776 18333,-6776 18333,-6780 18338,-6784 18338,-6787 18335,-6786 18336,-6781 22336,-6781 22335,-6778 22331,-6777 22326,-6777 22331,-6777 22335,-6772 22335,-6774 22340,-6769 22341,-6767 22337,-6767 22335,-6767 22335,-6767 22333,-6767 22336,-6762 22331,-6759 22331,-6764 22332,-6765 22334,-6767 22339,-6762 22334,-6760 22334,-6760 22334,-6758 22337,-6754 22341,-6754 22342,-6750 22339,-4750 22343,-4747 22343,-4752 22343,-4751 22344,-4749 22345,-4745 22348,-4740 22353,-4736 22358,-4738 22363,-4740 22358,21336 41527,21334 41527,21330 41526,21330 41526,21333 41529,21328 41529,21329 41530,21326 41532,21328 41532,21324 41537,21328 41532,21330 41535,21334 41532,21336 40532,21334 40536,21339 40534,21341 40534,21344 40534,21346 40532,21350 40532,21353 40535,21357 40539,21359 40542,21360 40546,21355 40546,21360 40547,21359 40550,21356 40551,21356 40550,21357 40550,21361 40554,21358 45554,21362 45556,21366 45553,21370 45557,21374 45556,21377 45553,22377 45549,22382 45549,22382 45552,22386 45557,22387 45557,22388 45553,22392 45557,24392 45561,22392 45558,22397 45561,22399 45558,22398 45561,22400 45564,22400 45569,22404 45573,22406 45577,22406 45581,22404 45581,22407 45582,22409 45579,22409 45575,22409 45579,22407 45579,22402 45582,22402 45582,22404 45587,22406 45587,22406 45589,22411 45589,22413 45590,22417 45591,22417 45592,22422 45587,22425 45583,22428 50583,22428 50585,22428 50585,22430 50588,22435 50590,22435 50585,22435 50590,22439 50595,22440 50590,22445 50587,22442 50584,22442 50586,22443 54586,22443 54590,22446 54595,22448 54597,22448 59597,22444 59593,22449 59596,22449 59599,22452 59600,22457 59600,22458 59605,22457 59602,22462 59603,22463 59604,22461 59605,22458 59602,22457 59601,22457 59601,22455 59605,25455 59606,25457 59611,25462 59613,25464 59614,25467 59617,25472 59612,25476 59613,25478 59610,25482 59615,25482 59616,25486 59612,25483 59614,25487 59619,25492 59623,25497 59625,146 2252,150 2249,150 2249,152 2254,157 2249,158 2253,157 2252,161 2255,159 3255,161 3258,161 3255,163 3255,168 3259,168 3259,172 3263,167 3267,172 3271,172 3272,172 3274,175 3278,179 3282,181 3283,184 3280,185 3282,187 3282,191 3284,192 3286,191 6286,193 6289,198 6285,195 6290,194 6289,195 6289,199 6293,200 6288,198 6290,202 6291,207 6296,212 6301,215 6301,216 6301,211 6304,212 6304,216 6309,216 6304,214 6308,213 6308,211 6305,212 6309,217 6314,220 6317,224 6322,222 6327,220 6323,41573 39712,41572 39709,41576 40709,41580 40714,41576 40717,36576 40717,36577 40719,36582 40716,36585 40721,36590 43721,36585 43721,36582 43724,36585 43729,36590 43731,36590 43730,15289 11307,15285 11312,15286 11315,15289 11315,15294 11315,15295 11316,15296 13316,38742 37646,38743 37650,38745 37655,38744 37658,38739 37659,38737 37662,38742 37662,38745 37657,38748 37662,38748 37662,38752 37667,38753 37667,38748 37669,38748 37668,38752 37673,38754 37674,38756 37676,38758 37674,38760 37679,38760 37675,38758 37675,38763 37675,38767 37674,38772 40674,38767 40679,38772 40683,38774 44683,38778 44686,38780 44690,38780 44690,38779 44695,38782 44700,38780 44695,38775 44696,38775 44696,38775 44696,38779 44699,38783 44696,38784 44696,38786 44692,38786 44692,38786 44696,38791 44698,38793 44699,38795 44703,38800 44708,38803 44708,38807 44709,38802 44706,38806 44708,38809 44709,36809 44709,36814 44704,36813 44705,36814 44705,36816 44709,36811 44712,36812 48712,36811 48717,36815 48721,36816 51721,36818 51717,36822 51720,40822 51715,40827 51712,40830 51716,40829 51719,40832 51723,40835 51724,40840 51721,40841 51721,40836 51725,40841 51730,40846 51734,40848 51738,40849 51740,40851 51743,40854 51745,40855 51746,40857 51750,40857 51746,40861 51748,40866 51751,40862 51750,40866 51750,40869 51752,40865 51752,40863 51755,40858 51757,40855 51753,40855 51758,40852 51758,40853 51760,40857 51761,40855 51757,40852 51760,40853 51761,40855 51762,40858 51757,40859 51756,40863 51757,40863 51759,40860 51764,40859 51764,40854 51768,40850 51765,40852 51767,40852 51767,40848 51772,40852 51776,40854 51778,40852 51778,43852 51778,43854 52778,43856 52781,43859 52781,43859 52776,37512 26536,37517 26531,37520 26535,37520 26540,37522 26544,37527 26544,37532 26549,37537 26544,37540 26549,37545 26544,37549 26547,37549 26550,37548 26551,37549 26553,37546 26553,37546 26553,37549 26556,37549 26559,37552 26559,37556 26564,37560 26559,37561 26561,37565 26565,41565 26565,41569 26568,41571 26573,41571 26573,41576 29573,41571 29573,41573 29576,41573 29578,46573 29578,46569 29582,45569 29583,45572 29583,45568 29583,45573 29581,45575 29578,45571 29581,45572 29584,45572 29585,45576 29585,45578 29588,45581 29591,45582 29593,45582 29598,45584 29597,45589 29600,45585 29605,45589 33605,45593 36605,45594 36607,45599 36609,45600 36604,45604 36604,45604 36608,45604 36607,45608 36610,50608 36613,50611 36609,50614 36609,50619 36605,50624 36605,50625 36606,50625 36605,50629 36606,50624 36608,50625 36610,50626 36610,50629 36608,50627 36610,50628 36614,50632 36618,46632 34618,46632 35618,46636 35622,46636 35617,46637 35620,46639 35619,46643 35620,46645 35625,46643 35630,46648 35635,46648 35640,46649 35643,46651 35647,46655 35650,46652 35655,46657 35656,46658 35657,46662 35660,46659 35663,46662 35664,46665 35663,46667 35667,46667 35663,46670 35666,46672 35671,46674 35671,47674 35668,47676 35672,47677 35673,47677 35678,47677 35677,47677 35677,47677 35682,47672 35683,47671 35683,49671 35685,49674 35689,49677 35692,49675 35692,54675 35697,54678 35699,54674 35699,54670 35701,54670 35700,54675 35703,54676 34703,54676 34703,54679 34706,54683 34708,54688 34706,54688 34707,54685 34702,54687 34702,54692 34707,54687 36707,54687 36706,54682 36707,54685 38707,54680 38710,54680 38714,54677 38714,54679 38719,54682 38720,54687 38716,54688 38717,54692 38722,54697 38726,54699 38727,54700 38724,54702 38720,52702 38719,52702 38719,52702 38721,52702 38725,52704 38726,52706 38728,52707 38729,52711 38728,52711 35728,52713 35733,52712 35737,52712 35739,52713 35742,52713 35745,52708 35745,52710 39745,52713 39749,52716 39748,52721 39749,52720 39753,52716 39756,52716 40756,47716 40757,47717 40761,47722 40761,47722 40761,47722 40766,47726 40769,47728 40772,47733 40777,47731 40773,50731 40777,51731 40779,51733 40782,51734 40786,51737 40784,51741 41784,51739 41783,51739 41785,51739 41785,51736 41789,51731 41789,52731 41790,52735 41791,52738 41790,52742 41789,52746 41785,52747 41785,52745 41785,52750 41782,52753 41786,52753 41787,52758 41792,52754 42792,52749 42793,52752 42794,52756 42791,52757 42790,52762 42793,52766 42797,52766 42797,52769 42802,52774 42806,52774 42805,52771 42807,52774 42807,52770 42808,52771 42811,52767 42811,52766 42812,52767 42817,52771 42817,52771 42817,52775 42815,52779 42811,52779 42812,52780 42815,52776 42818,52774 42818,52777 42822,52780 42823,52781 42827,52776 42829,52780 42832,54780 42835,54780 42840,2135 11201,2140 11203,2137 11204,2140 11209,2142 11213,2147 11211,2145 11213,2145 11213,2150 11218,2150 11221,2153 11225,2157 13225,2162 13228,2167 13231,2171 13232,2167 13229,2168 13233,2171 13237,2173 13239,2168 13234,2168 13235,2173 13235,2175 13234,2177 13235,2177 13234,2179 13229,2179 13226,2180 13226,2177 13226,2177 13231,2180 13231,2181 10231,2176 10233,2177 10232,2180 10235,2185 10237,2182 10240,6182 10240,6184 10244,6182 10242,6183 10243,6185 10246,6190 10244,6194 10244,6194 10247,6192 10247,6192 10252,6195 10256,6194 10260,6195 9260,6195 9260,6195 9264,6199 9269,6204 9272,6199 9268,6201 9268,6203 9265,6208 9268,6204 9270,6204 9275,6201 9279,6201 9281,6201 9286,6206 9281,6206 9277,6202 9281,6200 9285,6202 9288,6198 9290,7198 9293,7200 9297,7201 9297,7205 9298,7209 9298,7209 9299,8209 9302,8214 10302,8218 10306,8222 10308,8226 10313,8231 10313,8235 10318,8237 10318,8237 10323,8233 10326,8233 10327,8237 10325,8238 10328,8238 10330,8234 10330,11234 10332,11236 10333,11241 10337,14241 10338,14240 10338,14237 10339,14238 10337,14237 10339,14242 10339,14246 10339,14250 10339,14250 10339,14251 10337,14254 10337,14256 10334,14256 10332,14252 10336,14255 10340,14259 10342,14262 10347,11148 3159,11153 3163,11154 3162,11154 3165,11158 3167,11161 3172,11162 3175,11162 3176,11166 3179,11166 3181,11171 3185,11176 3180,11178 3179,11176 3181,11179 3183,11174 3182,52776 42818,52778 42822,52777 42822,52782 42817,52783 42822,52784 42823,52789 42826,52789 42823,56789 42828,56786 42829,56786 42832,56789 42836,56789 42835,56785 42838,56786 42843,51786 42844,51788 42846,51790 42847,51794 42842,51796 42842,51801 42846,53801 42849,53806 42849,53809 42852,53812 42850,53817 42846,53817 42848,53818 42853,53822 42856,53823 42854,53826 42858,53825 42860,53826 42860,53826 42864,53830 42868,53835 42873,53839 42873,53841 42872,53841 42876,53841 42879,53841 42884,53836 42888,53836 42889,53836 44889,53833 44889,53835 44893,53838 44897,53842 44897,53844 44900,53844 44904,53845 44905,53850 44903,53853 44904,53858 44906,53856 44907,53861 44909,53856 44913,53858 44916,53863 44916,53868 44918,53867 43918,53869 43921,53869 43919,53867 43919,53862 43918,53860 43923,53864 43928,53869 43930,53874 43933,53874 43932,53874 43932,53875 43930,53877 43928,53878 43924,53883 43927,55883 43929,55883 43925,55879 43929,55881 43929,55884 43928,55881 43928,55882 43929,55883 45929,55883 45933,55883 45936,55884 45941,55884 45941,55886 45946,55882 45948,55883 45952,55888 45956,55890 45957,55894 45953,55892 45954,55897 45950,55893 45954,55896 45956,55892 45955,55897 45959,55899 45961,55899 45961,55894 45962,55898 45957,55893 49957,55896 47957,55894 47956,55898 47960,55901 47964,55901 47967,55901 47970,55896 47973,55898 47969,55894 47974,55895 47975,55891 47976,55896 47979,55899 47984,55902 47983,55897 47987,55899 47989,55904 47992,55904 47993,55905 47997,55902 48001,55902 48003,55907 48000,55910 47998,55915 47999,55911 47994,55906 47998,55910 48003,55914 48000,55918 48000,55914 48000,55919 48000,55921 48003,55921 48007,55924 48007,55919 48010,55922 48005,55927 48009,55928 48008,55928 48008,55930 48012,55925 48012,55925 48016,54925 48014,54922 48018,54922 44018,54926 44013,54929 44012,54932 44016,55932 44017,55935 44017,55936 44020,55937 44022,55936 44020,55939 44015,55944 44018,55945 44022,55947 44023,55950 44024,55953 44020,55956 44023,53867 43919,53871 43921,52871 43921,53871 43923,53876 43923,53881 43923,53880 43927,53882 43931,53886 43936,53884 43937,53879 43934,53879 43937,53877 43939,53878 43938,53879 43942,53880 43947,53881 43948,53884 45948,53884 45949,53882 45953,53883 45954,53878 45956,53880 45953,53885 45958,53885 45958,53886 45957,53886 48957,53886 48962,53891 48962,53892 48964,53897 48965,49897 48962,49902 48965,49906 48967,49902 48967,49904 48971,49901 48967,49904 48970,54904 48971,54904 48971,54904 48975,54909 48979,54907 48975,54910 48975,54906 48971,54909 48973,54911 48975,54915 48978,54920 48978,54923 48981,54918 48984,54921 48984,56921 48984,56926 48986,56924 48981,56929 48980,56932 48979,56932 48977,56936 48979,56937 48981,56937 48982,61937 48984,61937 48980,61934 51980,61935 51981,61935 51984,61935 51984,61931 51986,5329 23395,5331 23395,5333 23390,5337 23392,5340 23395,5345 27395,5345 27397,5350 27398,5355 27399,5356 27402,6356 27405,6360 27407,6361 27406,6364 27402,6366 26402,6371 26402,6371 26402,6372 26405,6370 26405,6375 26406,6380 26411,6385 26413,6387 26414,6388 26419,6390 26419,6391 26424,6393 30424,6390 30429,6390 30432,6390 30430,6394 30434,6394 30437,6394 30441,6396 30442,6398 30439,6399 30436,6404 30435,6405 30435,6400 30435,6405 30440,6404 30443,6405 30447,6409 30447,6411 30447,6412 30448,6417 30446,6421 30450,6418 30448,6417 30444,6418 30449,6420 30451,6425 30456,6426 30456,6425 30458,6426 30458,6426 34458,6427 34459,6432 39459,6434 39462,6434 39467,6439 39470,6443 39467,6444 39468,6449 39473,6451 39476,6452 39481,6452 39479,6452 39476,8452 39476,8456 39478,8460 39480,10460 39482,10455 39482,10456 39484,10460 39484,10463 39484,10468 39486,10473 39482,10475 39484,10475 39486,10476 39488,10477 39492,10475 39494,10480 39499,10476 39501,10479 39506,10480 39510,10475 39508,10480 39513,10481 39516,10481 39516,10485 39521,10487 39522,10490 39523,10490 39520,10493 39520,10496 44520,10491 44519,10491 44524,10492 44520,10497 44525,10499 44525,10502 44527,10500 44531,10502 44535,10506 44535,10511 44532,13511 44536,13513 44533,13510 44535,13507 44540,13511 44543,13515 44548,13517 44549,13522 44550,13525 42550,13520 42551,13522 42553,13525 42552,13529 42557,13529 42558,13524 42559,13525 42559,13525 42562,13520 42564,13523 42567,15523 42569,15523 42572,15524 42577,15529 42577,15530 42582,15532 42584,15532 42588,15531 42587,15531 42592,15530 42587,15530 42583,15533 42583,15536 47583,15532 47583,15535 47587,15534 47590,15536 47594,11536 47590,11533 47590,11529 47590,11533 47592,11533 47592,11533 47593,11537 47598,11538 47603,11538 47603,11538 47605,11541 47609,11544 47613,14544 47614,14539 47610,14537 47610,14537 47614,14535 50614,14537 50619,14539 50619,14540 50623,14538 50623,14537 50619,25599 26540,25599 26541,25599 26544,25594 26542,25599 26543,25596 26544,25597 26543,25598 26543,25593 26544,25588 26542,25593 26545,25595 26544,25596 26544,25599 26541,25594 26544,25592 26549,25593 26548,25597 26549,25596 26550,25594 26551,25590 26550,25594 26554,25597 26550,25598 26552,25593 26555,25598 22555,25599 22557,25604 22559,25605 22558,25606 22562,25605 22559,25605 22564,30605 22569,30610 22571,30610 22575,30609 22575,30609 22576,30609 22581,30605 22581,30610 22583,30610 22584,30613 22579,30613 22581,30616 22577,30619 22577,30621 22580,30621 22585,30626 22590,30628 22593,30629 22598,30626 22603,30628 22606,30629 22607,30629 22604,30627 22606,30632 22608,30633 22608,30636 22612,30641 17612,30642 17614,30647 17614,30651 17615,30654 17610,30655 17607,30658 17611,30653 17610,30654 17606,30654 17607,30659 17606,30660 17611,30658 17616,30659 17616,30664 17619,30665 17621,30665 17620,30667 17621,30671 17624,30673 17624,30673 17624,30678 17627,30675 17632,30675 17635,30678 17640,30681 17643,30686 17639,30691 17641,30696 19641,30699 19640,30700 19640,30696 19645,30698 19643,30699 19645,30702 19646,30703 19649,30699 19651,30704 19648,30706 19652,30709 19653,30709 19655,30709 19655,30712 19657,30708 19658,30705 19660,30700 19662,30701 19663,30706 19664,30711 19663,30707 19667,30704 19670,30708 19672,30709 19673,30711 19673,30711 19674,30713 19678,30718 19682,30723 20682,30721 20686,30725 20691,30726 20693,30729 20695,30728 20690,30730 20692,30733 20694,30736 20692,30736 20691,30740 20694,30741 20695,30741 20697,30746 20700,30747 20702,30750 20701,30751 20698,30753 24698,30749 24701,30748 24703,30746 24704,30747 29704,30747 29705,30749 29707,30752 29712,30757 29712,30760 34712,30760 34716,30763 34716,30759 34713,30759 34717,30763 34717,30758 34717,30757 34721,30760 34726,30758 34726,30763 34727,30763 34727,30764 34727,30759 34729,30759 34732,30762 34734,30757 34735,30761 34736,30759 34736,30762 34738,30757 34733,30760 34735,30762 34737,30760 34736,30765 34733,32765 34737,32768 34737,32765 34740,32765 34742,32768 34747,32772 34751,32772 34752,32777 34749,32782 34751,32783 33751,32783 33746,36783 33749,36783 33754,36786 33756,36787 33755,36787 33758,36791 33754,36796 33754,36801 33756,36801 33758,36801 33762,36802 33765,36802 33765,36806 33770,33806 33772,33806 33777,33809 33777,33814 33780,33814 33785,33818 33782,33821 33784,33826 33781,33822 33781,33824 33783,33822 33784,33826 33787,33823 33792,33827 33795,33828 33798,33829 33799,33833 33801,33833 33801,33836 33805,33839 33809,33842 33805,33847 33810,33845 32810,33847 32808,33849 32812,33851 32815,33849 32818,33849 32822,33847 32822,33847 32826,33850 32831,33854 32836,33857 32833,33856 32828,33859 32829,33860 32832,33857 32834,33857 32830,33855 32830,33857 32830,33855 32834,33859 32829,33859 32833,33862 32836,33864 32837,33864 32839,33866 32837,33869 32835,33872 32840,33874 37840,33879 37845,33881 37850,33881 37855,33886 37856,33891 37860,33896 37860,33893 37863,33894 38863,33896 38859,28896 38864,28899 39864,33899 39869,33896 39871,33898 39875,33902 39873,33902 39875,33907 39879,33912 39884,33908 39887,33908 39888,33905 39890,33909 39895,33911 39896,33908 39900,33912 39901,33915 39902,33915 39902,33915 39902,33910 39907,33910 39904,33914 39903,33912 39906,33916 39909,33920 39909,33922 39912,33923 39916,33928 39916,33931 39918,33932 39919,33935 39915,33936 39912,33934 39909,35934 39914,35931 39915,35935 39917,35939 39920,35939 39915,35940 39911,35944 39916,35944 39911,35944 39908,35945 39904,35945 39908,35945 39912,35950 39915,35955 39917,38955 39916,38960 39921,38962 39920,38962 39920,38967 39922,38967 39924,38970 39928,38975 39928,38973 39928,38977 39931,38980 39934,38984 39936,38982 39939,38983 39942,38985 39943,38987 39945,38992 41945,38988 41950,38989 41954,38992 41958,38992 41962,38992 41965,38993 41970,38997 41970,38997 41970,38994 41974,38994 41979,38997 41979,38999 41982,38994 41980,38998 41985,38998 41984,5334 23406,5330 23406,5325 23403,9325 23404,12325 23408,12325 23408,12322 23406,13322 23411,13325 23416,13326 23412,13322 23414,13327 23419,13328 23422,13329 23425,13333 23422,13337 23424,23491 35549,23490 35544,23494 35546,23499 35548,23495 35549,21495 35553,21490 35556,21492 35558,21492 35556,21494 35559,21494 35564,21494 35566,21499 35566,21502 35562,21502 35567,17502 35568,17506 35573,17507 35574,17511 35578,17512 35583,17513 35588,18513 35591,18514 35592,18515 35594,18513 35596,16513 35601,16513 37601,16513 37602,16511 37604,16513 37609,16514 37611,16518 37616,16522 34616,16524 34613,16528 34615,16528 34620,16533 34624,16535 34627,16538 34628,16539 34630,16539 34631,16542 34628,16542 34633,16544 34638,16547 38638,16547 38640,16543 38645,16543 38640,16540 38640,16543 38640,16542 38641,16546 38646,16541 38649,16541 38645,18541 38648,18544 38648,18544 38653,18544 38656,18549 38651,18547 38651,18550 38656,18547 38658,23547 38663,23544 38664,23548 38668,23548 38670,28548 38672,28549 38669,28549 38673,28545 38669,28549 38670,28554 38670,28557 38674,28560 38669,28562 38674,28562 38669,28561 38669,28564 38671,28569 38671,38779 44699,38780 44695,38778 44698,38783 44700,38785 44700,38781 44701,38782 44696,38786 44691,38789 44692,38794 44692,38799 44688,38799 44693,38803 44697,38808 44697,38806 44697,38806 44700,38803 44702,38803 44706,38802 44707,38807 48707,38808 48707,38806 48707,38810 48712,38810 48709,38810 48711,38810 48711,38806 48707,38802 48710,38803 48706,38805 48711,38810 48711,38805 48709,38809 48710,38809 48710,38814 48707,38815 48703,38816 48703,38816 48704,38820 48704,38822 48709,38820 48710,38818 48714,38822 48716,38822 48719,38827 48722,38828 48727,38832 48725,38830 48730,38831 48726,38832 48724,38829 48728,8431 35532,8431 35537,4431 35532,4434 35537,4438 35537,4439 35533,4443 35535,4442 35530,4445 35527,4449 35527,4453 35530,4458 35530,4459 39530,4460 39531,4461 39531,4464 39531,4468 39531,4470 39534,4465 39534,4465 39532,4469 39532,4471 39537,4466 39538,4470 39539,4473 39540,4476 39540,4480 39543,4485 39548,4483 39546,4484 39547,4484 39549,4484 39551,4486 39553,4486 39554,4487 39551,4483 39553,4486 39554,4490 39556,4493 39557,4498 39561,4494 39562,-4749 22345,-4752 22345,-4748 22348,-4744 22351,-4740 22356,-4741 22358,-4739 22361,-4734 22359,-4730 25359,-4730 25360,-4725 25360,-4727 25360,-4727 25361,-6727 25360,-6729 25365,-6730 25365,-6727 25365,-6731 25364,-6730 27364,-6727 27366,-6723 27367,-3723 27363,-3719 27368,-3720 27371,-3718 27366,-3717 27369,-3716 27369,-3714 27372,-3711 27370,-3712 27371,-3712 27370,-3710 27375,-3708 27377,-3707 27382,-3706 27385,-3706 27389,-3705 32389,-3704 32392,-3704 32392,-3699 32391,-3699 32395,-3694 32399,-3694 32400,-3695 32404,-3695 32408,-3693 32410,-3693 32410,-3697 32410,-3692 32413,-3691 32418,-3686 32420,-3683 32425,-3681 32420,-3678 32424,-3673 32424,-3676 32427,-3673 32426,-3671 32426,-3676 33426,-3678 33428,-3676 33428,-3679 33428,-3679 33433,-3677 33434,-3676 33438,-3681 33440,1319 33444,1321 33441,1325 33444,1329 33439,1326 33444,1326 33439,1327 33439,1327 33440,1332 33444,1333 33449,1338 33453,1338 33450,1343 33450,1347 33454,1346 33457,1346 33455,1342 33459,1341 33462,1346 33462,1347 33463,1343 33463,1344 33462,1348 33457,1347 33460,1352 33464,1356 33468,1361 33469,1363 33468,1365 33469,1368 33472,1369 33475,-2631 33478,-2633 33483,-2629 33486,-2632 34486,-2628 36486,-2625 36488,-2621 36488,-2624 36488,-2622 36492,-2624 36491,-2629 36491,-2627 36496,-2623 36499,-2628 36502,-2631 36506,-2626 36506,-2622 36506,-2622 36509,-2619 36514,-2624 36512,-2621 36510,-2619 36510,-2619 36508,-2617 36512,-2615 36512,-2615 36513,-2615 36511,-2615 36506,-2612 36507,-2609 36511,-2606 37511,-2606 37508,-2610 37505,-2607 37508,-2602 37512,-2599 37512,-2595 37510,-2597 37511,-2592 37515,-2597 37514,-2592 37519,-2592 37524,-2592 37526,-2594 37521,-2594 37516,-2591 36516,-2588 36517,-2589 36513,-2586 36514,-2584 36514,-2583 36516,-2579 36514,-2578 36518,-2578 35518,-2575 35519,-2577 35519,-2578 35524,-2578 35529,-2578 35532,-2578 35534,-2580 35537,-2584 35541,-2586 35542,-2587 35544,-2585 35540,-2585 35544,-2584 35543,-2580 35548,-2576 35550,-2571 35553,-2567 35555,-2565 35560,-2560 35560,-2557 35564,-2553 35564,-5553 36564,-5548 36564,-5544 36565,-5547 36565,-5545 36570,-5542 36565,-5543 36566,-5543 36568,-5543 36570,-5540 36575,-5537 36577,-5535 36581,-5532 36580,-5528 36575,-5526 38575,-5526 38576,-5526 38571,-5522 38571,-5518 38576,-5514 42576,-5510 42581,-5512 42583,-5512 42582,-5507 42582,-5510 42585,-2510 42589,-2511 42592,-2508 42594,-2506 42597,-2503 42598,-2503 42603,-2498 42608,-2501 42611,-2500 42616,-2502 42613,-2502 42616,-4502 42616,-4502 42620,-4502 42622,-4506 42619,-4509 42621,-4511 42624,-4515 42625,-4510 42625,-4507 42628,-4502 42624,-4501 42629,-4505 45629,-4503 45630,-4499 45631,-4496 45630,-4497 45628,-4495 45630,-4494 46630,-4491 46634,-4487 46629,-4483 46631,21336 40532,21341 40533,21346 40534,21346 40536,21345 40536,21346 40536,21345 40536,21344 40538,21347 40543,21348 40543,21351 40540,21351 40542,21348 40545,21351 40546,21352 40546,21353 40546,21358 40546,21359 40545,21359 40550,21357 40555,21362 40560,21364 40555,21363 40555,21364 40560,25364 40564,25365 40566,25368 40566,25371 45566,25372 45567,25372 45562,25376 45564,25381 42564,25385 42560,25389 42564,25389 42568,25393 42572,25390 42572,28390 42569,28389 42570,28385 42574,28386 42576,28389 42577,31389 42578,31385 42582,31387 42582,31390 42578,31391 42579,31392 42576,29392 42580,29396 42582,29398 43582,29402 43584,29406 43585,29407 43587,29411 43592,29413 43594,29414 43595,25414 43600,25412 43595,25415 43599,25420 43602,25418 43604,25423 43599,25426 43599,25429 43602,25434 42602,25429 42604,25432 42600,25435 42605,25436 47605,25440 50605,25441 50610,25439 50614,25444 50617,25447 50621,25444 50624,25444 50626,25445 50627,25450 50632,25450 50628,25451 50630,25451 50632,25454 50633,25458 50637,25462 50641,25463 50640,25463 51640,25467 51644,25469 51649,25473 51650,25474 51653,25475 51654,26475 51658,26475 51662,26474 51665,26476 51665,26481 51661,26483 55661,26485 55664,30485 55667,30485 55670,30489 55671,30489 55668,30491 55670,30492 55670,30493 55675,30497 55675,30501 55671,30503 55676,30500 55677,30498 55672,30494 55675,30499 55676,30500 55676,30505 55681,30501 55684,30496 55685,30500 55685,30502 55687,30506 55692,30507 55693,30506 55692,30511 55693,30516 55694,30514 55699,30514 55701,30512 55701,34512 55705,34516 55708,34520 55704,34518 56704,34519 56704,34520 56706,34517 56706,34515 56701,34519 59701,34522 59706,34522 59708,34522 59713,34526 59715,34528 59717,34533 59712,34538 59715,34538 59717,34541 59717,34546 59720,34548 59721,34552 63721,34547 63726,34549 63728,34554 63726,34556 63726,34557 63721,34556 63725,34561 63730,34558 63730,37558 63725,37561 63729,37565 63724,37569 63720,37573 63718,37578 63722,37577 63718,37579 63720,37579 63722,37580 63719,37580 63720,37579 63724,37574 63725,37574 63727,37576 63725,37581 63729,37583 63732,37586 63732,37590 63737,37592 63734,37597 63731,37600 63730,37596 63731,37596 63733,37600 63733,37601 63735,37596 63735,37591 63732,37596 63733,37601 63738,37602 63733,37599 63738,37594 63740,37598 63744,37603 63745,37605 63747,37607 63752,37607 63756,37603 63757,37603 63761,37604 63761,37608 63758,37609 63762,37604 63764,37604 63764,41604 63765,41600 63761,41599 63761,41600 63766,41596 63766,41599 63766,41601 63770,41604 63768,41608 63768,41611 63772,41614 63767,41609 63763,41612 63765,41615 63760,38615 63764,38615 63768,38618 63768,35618 63769,35618 63774,35617 63775,35618 63776,35613 63775,35615 63780,35612 63782,35613 63779,35614 63775,35618 63774,35619 63776,35624 63778,35624 63780,35629 63785,35629 63780,35626 63781,35624 63782,35629 63784,35634 63787,35638 63782,35634 63783,35634 63778,35633 63777,35638 63782,35641 63786,35644 63791,35648 63793,35647 63793,35649 63797,35653 63801,35654 63804,35654 63804,35656 63804,35655 63806,35658 63810,35658 63805,35662 63805,35657 67805,35658 67808,35660 67811,35664 67808,35660 67803,35658 67803,35661 67803,35663 67808,35666 67810,35670 67814,35669 67813,35669 67816,37669 67820,37664 67820,2275 13363,2278 16363,2274 16363,2275 16362,2279 16362,2282 16362,2287 16366,2284 16366,4284 16366,4286 16371,4290 16375,4294 18375,4295 18377,9295 18381,9296 18381,9299 18382,9303 18379,9305 19379,9308 19375,8308 19380,8312 19380,38746 37651,38749 37652,38754 37653,38757 37656,38753 37661,38753 37661,38758 37663,38763 37664,38763 42664,38768 42666,38765 42668,38770 42664,38767 42659,38768 42659,38773 42654,38771 42659,38775 42661,41775 42663,41778 42665,41781 42669,41782 42667,41779 42669,41784 42672,41781 42672,41783 42672,41780 42672,41783 42675,41784 42675,41788 42676,41792 42677,41792 42675,41793 42680,41793 42676,41796 42681,41801 42685,41804 42684,41806 42685,41804 42690,41802 42692,41805 42696,41800 42697,41802 42698,41804 42700,41809 42704,41813 42705,36813 42708,36813 42704,36810 42703,36811 42705,40811 42706,40815 46706,40816 46708,40820 46708,40818 46712,40822 46717,40825 46720,40829 46724,40827 46727,40831 46727,40833 46731,40829 46733,40830 46733,36830 46738,36830 46741,36834 46744,36831 46749,36826 46748,36822 46748,36824 46751,36819 46755,36823 46758,36823 46762,36824 46766,36822 46769,36826 46772,36831 46774,36828 42774,36833 42776,36833 42777,36838 42782)'))); +INSERT INTO t1(g) VALUES (ST_linefromtext(concat('linestring','(20 110, 21 110, 26 115, 29 112, 34 108, 39 111, 44 111, 46 116, 46 120, 42 122, 45 118, 48 118, 44 122, 46 127, 47 127, 51 127, 55 123, 52 127, 52 128, 56 130, 60 129, 61 130, 66 131, 67 131, 71 135, 76 136, 77 139, 80 143, 2080 145, 2077 147, 2079 147, 2081 147, 2086 147, 2087 151, 2092 -1849, 2088 -1848, 2088 -1852, 2091 -1848, 2095 -1846, 2092 -1847, 2092 -1848, 2093 -1847, 2094 -1846, 2099 -1843, 2104 -1844, 2102 -1848, 2102 -1848, 7102 -1847, 7105 -1846, 7106 -1843, 7111 -1838, 67 131, 69 135, 68 135, 63 136, 63 137, 64 141, 67 1141, 2067 1139, 2063 1139, 2066 1139, 5066 1139, 5068 1139, 5072 1140, 5072 1145, 5073 1142, 5076 1145, 5077 1145, 5076 1141, 5078 1141, 5073 1143, 5068 1146, 5067 2146, 5070 2151, 5075 2155, 5071 2160, 5073 2161, 5074 2166, 5076 2169, 5071 2173, 5074 2173, 5078 2177, 5076 2173, 5080 2173, 5078 2174, 78 2179, 76 2183, 77 2188, 82 2192, 85 2194, 89 2193, 86 2197, 89 2193, 88 2194, 89 2199, 89 2204, 89 1204, 87 1206, 88 1203, 89 1204, 89 1205, 93 1210, 94 1208, 96 1208, 100 1210, 104 1212, 107 1215, 104 1220, 107 1224, 111 1228, 112 1228, 116 1229, 119 1228, 120 1233, 119 1236, 124 1241, 125 1240, 122 1239, 126 1241, 123 1240, 124 1244, 128 1248, 129 1250, 128 1253, 127 5253, 125 5255, 129 5255, 133 5255, 137 5260, 140 5261, 137 5261, 141 5261, 140 5262, 143 5264, 148 5264, 148 5264, 145 10264, 149 10269, 153 10274, 158 10270, 159 10273, 164 10277, 168 12277, 170 12278, 165 12274, 170 12279, 172 12281, 172 12281, -3828 12281, -3823 12281, -3822 12282, -3823 12280, -3823 12282, -3820 12281, -3823 12279, -3827 12282, -3826 12279, -3822 12284, -3825 12284, -3824 12286, -3820 12287, -3820 12290, -3818 12292, -3816 12293, -3814 12298, -3815 12301, -3817 12304, -3814 12301, -3811 12299, -3809 12303, -3809 12301, -3804 12302, -3804 12302, -3802 12305, -3799 12310, -3801 17310, -3801 17310, -3796 17310, -3801 17314, -3799 17318, -3796 17321, -3795 17321, -795 17325, -795 17327, -794 17329, -791 17330, -790 17326, -787 17331, -782 17335, -778 17339, -774 17343, -772 17343, -769 17346, -768 17349, -763 17352, -763 17353, -761 17357, -758 17354, -758 22354, -754 22350, -750 22353, -746 22356, -750 22352, -746 22351, -744 22349, -743 27349, -741 27350, 259 27354, 262 27353, 263 27356, 268 27352, 268 22352, 271 22351, 273 22351, 274 22351, 275 22352, 275 22356, 280 22352, 281 22348, 284 22349, 284 22346, 285 22351, 285 22351, 290 22353, 294 22351, 294 22352, 295 22352, 300 22352, 305 22355, 308 22356, 311 22356, 310 22358, 312 22360, 313 22365, 313 22362, 313 22364, 313 22364, 317 22360, 322 22362, 327 22367, 328 22370, 323 22375, 320 22377, 320 22379, 316 22379, 318 22379, 323 22380, 323 22380, 324 22376, 34 108, 38 113, 42 118, 42 117, 42 121, 46 123, 51 127, 51 130, 51 133, 55 137, 52 141, 52 143, 51 141, 50 142, 45 142, 44 143, 48 146, 48 142, 43 143, 47 145, 4047 5145, 4047 5150, 4044 5151, 4045 10151, 4043 10154, 4044 10156, 4047 10156, 4043 10160, 4043 10156, 4043 10156, 4048 10157, 4051 10160, 4048 10159, 4053 10161, 4057 10163, 4057 10164, 4058 10165, 4057 10170, 4056 10173, 4056 10176, 4056 15176, 4053 15180, 4049 15181, 4051 15178, 4049 15180, 4049 15180, 4048 15181, 4048 15184, 4045 15188, 4045 15191, 4040 15194, 4042 15198, 4042 15203, 4047 15200, 4049 15201, 4052 15204, 4052 15208, 4052 15212, 4049 15216, 4049 15219, 4051 15220, 4048 15222, 4044 15227, 4044 15232, 4044 15236, 4049 15239, 4052 15240, 4052 15243, 4053 15247, 4055 15247, 4052 17247, 4054 17247, 4054 18247, 4059 18251, 4063 18253, 4066 18253, 4069 20253, 4069 20254, 4069 20259, 4068 20263, 4068 20263, 4069 20259, 4071 20260, 4073 20262, 4074 20258, 4069 20261, 4069 20264, 4071 20269, 4067 20271, 4071 20270, 4072 20271, 4073 20268, 4076 20263, 4072 20268, 4075 20264, 4076 20267, 4079 20272, 4084 20275, 4086 20277, 4086 20281, 4083 18281, 4087 18283, 4088 18280, 4089 18277, 4089 18279, 4094 18281, 4095 18283, 4095 18284, 4097 18284, 4093 18287, 4094 18285, 4096 18287, 4092 18291, 4096 18291, 140 5261, 140 5259, 140 5262, -1860 5258, -1858 5260, -1854 5262, -1849 5259, -1848 5264, -1845 5264, -1845 5267, -1845 5262, -1848 5261, -1848 5263, -1849 5261, -1853 5262, -1851 5265, -1847 5265, -1847 5262, -1847 5263, -1843 5268, -1845 5268, -1848 5272, -1850 5270, -1851 5274, -1854 5269, -1850 5266, -1845 5267, -1840 5267, -1840 5264, -1840 5269, -1839 5269, -1842 5269, -1840 5274, -1835 5278, -1836 5283, -1841 5279, -1840 5284, -1836 5285, -1836 5289, -1831 5289, -1826 5292, -1822 5293, -1826 5295, -1829 5295, -1824 5295, -1828 5297, -1824 5300, -1820 5305, -1824 5306, -1824 5306, -1824 5306, -1823 5301, -1818 5303, -1814 5307, -1814 5303, -3809 12303, -3807 12306, -3804 12306, -3804 12306, -3801 12308, -3796 12308, -3795 12308, -3791 12310, -3786 12310, -3781 12313, -3814 12298, -3809 12303, -3807 12301, 7102 -1847, 7100 -1850, 7104 -1850, 7109 -1852, 7109 -1854, 7112 -1850, 7112 -1847, 7115 -1847, 7117 -1847, 7122 -1847, 7125 -1843, 7126 -1848, 7127 -1848, 7129 -1848, 7133 -1848, 7131 1152, 7131 1149, 7135 1154, 7139 1152, 7140 1151, 7145 1153, 7149 1158, 8149 1159, 8154 3159, 8149 3161, 8145 3162, 8146 3164, 8146 3168, 11146 3171, 11148 3171, 11150 3167, 11154 3165, 11150 3163, 11151 3167, 11152 3165, 11153 3170, 11156 3175, 11156 3174, 8146 3164, 8146 3167, 8146 3170, 8147 3170, 8148 3175, 8148 3178, 8146 3178, 8146 3178, 8147 3180, 8143 3184, 3143 3186, 7143 3187, 7143 7187, 7138 7189, 7138 7189, 7135 7191, 7138 7191, 7133 7194, 7138 7198, 7139 7201, 7143 7200, 7141 7203, 12141 7204, 12145 7204, 12145 7203, 12146 7207, 12147 7204, 12143 7204, 12138 7199, 12138 7195, 12139 7195, 12139 7200, 12141 7201, 12142 7201, 12139 7205, 12142 7208, 12142 7213, 12145 7213, 12147 7214, 12149 7218, 12150 9218, 12154 9222, 12151 9222, 12151 9225, 12151 9224, 12152 9226, 12155 10226, 12155 10230, 12158 10231, 12161 10227, 12162 10224, 12163 10229, 12163 10231, 12165 10228, 12165 10227, 12160 10228, 12160 10231, 12160 10235, 12157 12235, 12159 12230, 7138 7189, 7141 7193, 7141 7193, 7141 7192, 7139 7195, 7141 7195, 7142 7193, 7145 7195, 7146 7193, 7146 7194, 7151 7197, 7154 7198, 7156 7202, 7155 7207, 7150 7211, 12150 7213, 12148 7213, 12147 7217, 12142 7221, 12141 7223, 12143 7223, 12140 7222, 12145 7222, 13145 7224, 13142 7228, 13144 7232, 13139 7235, 13144 7239, 13148 7243, 13151 7247, 13150 7251, 13152 7252, 13157 7253, 13157 7257, 13157 7257, 13157 7262, 13159 7264, 13164 7259, 13161 7259, 13165 7262, 13166 7262, 13166 7267, 13169 7268, 13169 8268, 13167 8269, 13171 8269, 13173 13269, 13177 13265, 13178 13263, 13178 13263, 13182 13266, 13183 13266, 13185 13266, 13190 13269, 13193 13271, 13193 13269, 13196 13271, 13193 13273, 13194 13268, 13198 13273, 13200 13276, 13202 13276, 13204 13274, 13209 11274, 13213 11274, 13213 11277, 13215 11278, 13219 11279, 13224 11280, 13224 11276, 13228 11278, 13233 11281, 13235 11286, 13238 11288, 13240 11288, 13238 11290, 13238 11292, 13238 11287, 13238 11288, 13240 11293, 13243 11296, 13246 11296, 13247 11293, 13243 11298, 13246 11302, 13251 11305, 322 22362, 326 24362, 330 24362, 329 24367, 328 24363, 329 24365, 331 24369, 336 24371, -664 24371, -668 24372, 51 127, 48 131, 48 133, 51 135, 51 140, 49 139, 47 142, 3047 139, 3044 142, 3046 143, 3046 148, 3051 148, 3055 146, 3057 141, 3060 140, 3055 143, 3050 146, 7050 142, 7050 3142, 7050 3143, 7050 3144, 7052 3149, 7055 1149, 7052 1150, 7055 5150, 7050 5154, 7049 5150, 10049 5151, 10045 5151, 10049 5151, 10052 5156, 10054 5159, 10056 5160, 10058 5161, 10058 5163, 10060 5166, 10064 5168, 10064 5173, 10068 9173, 10070 9172, 10065 9168, 10065 9173, 10063 9175, 14063 9176, 14063 9178, 284 22346, 289 22351, 290 22351, 290 22347, 287 22343, 282 22342, 280 22345, 281 25345, 286 25347, 13243 11298, 13248 11300, 13245 11300, 13246 11295, 13247 11295, 13246 11295, 13248 11299, 13253 11304, 13255 11309, 13255 11310, 13260 11309, 13257 11310, 13258 11313, 13258 11315, 13263 11311, 13267 11307, 13269 11309, 13272 11305, 13277 11302, 13273 11304, 15273 11306, 15278 11310, 15281 11307, 15286 11309, 15288 11309, 15291 11311, 15292 11306, 15294 11309, 15298 11313, 15299 11317, 15300 11320, 15302 11321, 15306 11324, 15308 11328, 15308 11324, 15309 11324, 15314 11324, 15315 11323, 15319 11321, 15317 11325, 15319 11327, 15319 11332, 15321 11337, 15324 11340, 15324 11341, 15324 11341, 15326 11345, 15326 11349, 15327 14349, 15330 13349, 17330 13350, 17335 13353, 17339 13358, 17340 13362, 17344 13362, 17348 13357, 17350 13357, 17347 13357, 17350 13358, 17349 13358, 17349 13358, 17349 13359, 22349 13362, 22351 13359, 22353 13359, 22358 13358, 22360 13358, 22363 13359, 22364 13359, 22360 13359, 22361 13363, 22366 13368, 22371 13373, 22374 13377, 22378 13375, 22379 13375, 22379 13373, 22383 13378, 22388 13383, 22389 13380, 22389 13384, 22394 13382, 22392 13378, 22394 13382, 22393 13382, 22393 13379, 22394 13382, 22392 13384, 22395 13386, 22400 13391, 22400 10391, 22404 10395, 22401 10396, 22402 10396, 22402 10398, 22406 10395, 22405 15395, 22407 15396, 22409 15396, 22414 15391, 22414 15394, 22414 15398, 22410 15400, 26410 15402, 26409 20402, 26413 20406, 26417 20410, 26419 20415, 26422 20411, 26424 20411, 31424 16411, 31423 16409, 31423 16414, 31425 16414, 31428 16418, 31428 16414, 31432 16419, 31432 16422, 31437 16423, 31439 16424, 31440 16426, 31440 16429, 31440 16429, 31443 16431, 31441 16435, 31443 16440, 36443 16440, 36445 18440, 36444 18441, 36442 18444, 36442 18440, 36442 18444, 36444 18449, 36445 18450, 36449 18455, 37449 23455, 37454 23460, 37458 23459, 37460 23463, 37458 23465, 37460 23467, 37462 23470, 37466 23473, 37462 23478, 37464 23480, 37463 26480, 37468 26483, 37472 26487, 37473 26492, 37476 26493, 37476 26489, 37476 26487, 37476 26492, 37472 26496, 37476 26501, 37476 26503, 37480 26499, 37485 26503, 37485 26505, 37490 26500, 37493 26503, 37497 26499, 37502 26500, 37502 26501, 37502 26505, 37499 26503, 37499 26503, 37497 26508, 37500 26508, 37496 26513, 37499 26518, 37497 26519, 37500 26518, 37505 26518, 37510 26516, 37512 26520, 37513 26523, 37511 26527, 37508 26532, 37509 26536, 37514 26540, 37515 26542, 37512 26546, 37514 26548, 37519 26547, 37524 26550, 37529 26555, 37527 26559, 37531 26562, 37526 26567, 37526 26566, 37529 26566, 37524 26566, 37524 26563, 37528 26565, 37524 26563, 37525 26565, 37525 26560, 37526 26562, 40526 26564, 40526 26567, 40523 26571, 40527 26570, 40529 26572, 40534 26576, 40536 26573, 40535 26569, 40533 26569, 40537 26573, 40537 26574, 40541 26576, 40546 26579, 40545 26579, 40546 26583, 40550 26588, 40551 26585, 40555 26589, 40558 26594, 40554 22594, 40559 22598, 40558 22599, 40563 22596, 40563 22597, 40567 22597, 40570 22597, 40575 22592, 40572 22594, 40572 22595, 40572 22592, 40575 22594, 40575 22597, 40570 22597, 40569 22601, 40569 22603, 40573 22603, 40576 22604, 40576 22608, 42576 22611, 42579 22611, 42579 22616, 42581 22620, 38581 22623, 38582 22621, 38582 22618, 38577 22623, 38581 22623, 38581 18623, 38584 18618, 38584 18621, 38588 18626, 38592 18629, 38592 18626, 38596 18625, 38598 18620, 38599 18618, 38599 18622, 38602 21622, 38603 21622, 38607 21624, 38609 25624, 38613 25624, 38610 25621, 38610 25625, 38610 25629, 38613 25627, 38617 25627, 38617 25624, 38618 25626, 38621 25628, 38622 25629, 38622 26629, 38625 26631, 38625 26631, 313 22362, 313 22363, -1687 22364, 2313 27364, 2314 27364, 2314 27364, 2319 27366, 2319 27366, 2321 27363, 2321 27368, 2320 27363, 2323 27368, 2328 27371, 2327 27375, 2328 27377, 2328 27377, 2327 27381, 2331 27381, 2329 27381, 2332 27383, 2335 27383, 2333 27383, 2333 27385, 2338 27385, 6338 27386, 6338 27387, 40529 26572, 40533 26576, 40535 26578, 40540 26580, 40535 26584, 40540 26589, 40541 26592, 40538 26587, 40542 26591, 40541 26592, 40537 26597, 40542 26598, 40546 26601, 40550 26606, 40550 26605, 40551 26606, 40549 26606, 40550 26607, 40555 26610, 40550 26610, 40550 26607, 40553 26612, 40558 26616, 40561 26620, 40556 26623, 40558 26623, 40558 26627, 42558 26627, 42558 26628, 42562 26628, 42564 26630, 42565 26634, 42566 26634, 42566 26638, 42561 26639, 42564 26639, 42567 26641, 42564 26642, 42566 26646, 42566 26645, 42570 26645, 42574 26645, 42574 29645, 42576 29646, 39576 29645, 39576 34645, 39578 34647, 39583 34642, 39580 34642, 39576 34646, 39576 34649, 39574 35649, 34574 35652, 34579 35655, 39579 35659, 43579 35663, 43582 35659, 43577 35662, 43580 35662, 43583 35666, 43579 39666, 43574 39662, 43574 39665, 43574 39668, 43574 39670, 43578 39674, 43579 39671, 43582 39675, 43578 39677, 43575 39677, 43576 39681, 43571 39683, 43569 39683, 43570 39687, 43565 39690, 43568 39694, 43568 39696, 43570 39698, 43570 39699, 41570 39695, 41572 39696, 41573 39696, 41573 39697, 41573 39702, 41573 39702, 41576 39702, 41571 39702, 41572 39703, 41572 39708, 41574 39713, 41575 39716, 41580 39717, 41581 39721, 41586 39723, 41587 39724, -1848 5272, -1843 5272, -1845 5270, -1840 5272, -1838 5267, -1843 5268, -1841 5268, -1837 8268, -1837 8271, -1837 8276, -1836 8280, -1832 8277, -1832 8277, -1831 8278, -1835 8283, -1834 8287, -1832 8290, -1834 8286, -1832 8283, -1833 8283, -1832 8284, -1834 8287, -1839 8292, -1844 8293, -1841 8290, -1836 8290, -1839 8289, -1836 8289, -1832 8292, -1827 8295, -1823 8290, -1823 8293, -1823 8291, -1822 8295, -1820 8298, -1819 8302, -1816 8304, -1816 8300, -1812 8300, -1809 8299, -1806 8296, 1194 8300, 1194 8301, 1197 11301, 1194 11305, 1197 11309, 1199 11304, 1195 11304, 1195 11300, 1195 11297, 1196 11298, 1201 11296, 1206 11296, 1207 11298, 1212 11296, 1210 11292, 1206 11294, 1207 11293, 1209 8293, 1204 8288, 1206 8286, 1206 8285, 1208 8285, 1210 8285, 1214 8287, 1214 13287, 1215 13291, 1215 13294, 1218 13297, 1216 13293, 1219 13290, 1214 13295, 1210 13292, 1210 13296, 1211 13301, 1210 13300, 1206 13302, 1207 13307, 1211 13312, 1206 13312, 1211 13308, 1212 13308, 1216 13313, 1216 13318, 1217 13318, 1221 13318, 1221 13323, 1226 13324, 1231 13325, 1234 13329, 1235 13333, 1233 13333, 1236 13338, -2764 13340, -2767 13341, -2763 13344, -2760 13349, -2758 13346, 2242 13346, 2240 13346, 2244 13346, 2248 13349, 2248 13350, 2246 13352, 2241 13352, 2242 13355, 2242 13356, 2247 13361, 2250 13361, 2245 13366, 2249 13366, 2250 13366, 2254 13367, 2258 13367, 2258 13367, 2262 13371, 2257 13376, 2253 13373, 2253 13373, 2254 13376, 2251 13380, 2256 13382, 2257 13386, 2261 13383, 2264 13383, 2269 13385, 2264 13385, 2264 13387, 2267 13387, 2271 13389, 2272 13390, 2273 13393, 2269 13395, 2273 13390, 2277 13395, 2275 13396, 2277 13391, 2279 13394, 2276 13394, 2277 13398, 2282 13399, 2282 11399, 2283 14399, 2281 14404, 2279 14407, 2275 14410, 2276 16410, 2276 16414, 2281 16414, 2286 16415, 2282 16413, 2282 16413, 2284 16413, 2284 16415, 2284 16416, 2282 16417, 3282 16422, 3286 16422, 3287 16427, 3291 16427, 3294 16431, 3296 16433, 3298 16435, 3299 16440, 3300 16439, 3305 16439, 3307 16438, 3307 16440, 3307 16440, 3311 16441, 3311 16442, 3310 16443, 3310 16443, 3308 16448, 3304 16445, -1696 16441, -1701 16442, -1697 16442, -1695 16442, -1696 16443, -1693 16440, -1688 16445, -1685 16450, -1681 16454, -1680 16455, -1682 16457, -1680 16461, -1680 16461, -1684 16464, -1679 16463, -1678 16460, -1675 16464, -1679 16465, -1677 16468, -1672 16469, -1671 16473, -1667 16475, -1667 16480, -1663 16478, -1663 16482, -1662 16482, -1662 16483, -1659 16478, -1654 16475, -1653 11475, -1658 11477, -1661 11479, -1664 11484, 3336 15484, 3340 15480, 3344 15475, 3347 15475, 3347 15474, 3352 15473, 3349 15478, 3353 15480, 3354 15477, 3355 15480, 3352 15481, 3352 15483, 3353 15486, 3354 15488, 3353 15491, 3355 15491, 3360 15491, 3355 15490, 1219 13290, 1224 13295, 1224 13295, 1227 13290, 1231 13290, 1233 13285, 1237 13284, 1238 13285, 1243 13286, 1247 13289, 1249 13289, 1249 13291, 1252 13291, 1249 13294, 1249 13299, 1249 13302, 1254 13305, 1251 13308, 1254 13308, 3254 13308, 3249 13308, 3251 13312, 3256 13312, 3259 13312, 3263 17312, 3263 17313, 3263 17310, 3261 17309, 3264 17314, 3265 17312, 3264 17315, 3261 17318, 3261 17318, 3259 17313, 3256 17313, 3255 17313, 3257 17314, 3255 17316, 3257 17316, 3257 17316, 3258 17311, 3259 17311, 3258 17315, 3258 17317, 3257 17321, 3253 17321, 3250 17325, 3255 17329, 3258 17330, 3260 17328, 3260 17331, 3265 17326, 7265 17329, 7267 17332, 7265 17334, 7267 17337, 7272 17337, 7275 17337, 7280 17340, 4280 21340, 4280 21344, 4281 21344, 4283 21344, 4288 24344, 4292 24347, 9292 24351, 9296 24353, 9298 24351, 9300 25351, 9303 25352, 9303 25352, 9306 25357, 9305 25361, 9305 25356, 11305 25359, 11306 25362, 11309 25362, 11314 25362, 11314 25365, 11312 25369, 11315 25369, 11316 25373, 11321 25375, 11323 25375, 11327 25370, 11331 25369, 11332 25370, 11331 25374, 11332 25369, 11336 25371, 11340 25370, 11345 25367, 11350 25363, 11347 25360, 11350 25361, 11351 25362, 11351 25362, 11354 25364, 11358 30364, 11362 30369, 11362 30369, 11364 30369, 11369 30371, 11370 30373, 15370 30374, 15375 30375, 15378 30377, 14378 30382, 14379 30387, 14383 30382, 14388 30384, 14390 30386, 14393 30389, 14395 31389, 16395 31393, 16398 31398, 16398 31401, 16394 31404, 16397 31409, 16400 31413, 16400 31417, 16399 31419, 16398 31421, 16403 31422, 16403 31426, 16404 31423, 16409 31424, 16413 31423, 16408 31427, 18408 31431, 18413 31436, 18417 28436, 18419 28441, 18420 28445, 18416 28442, 18419 28439, 18418 28443, 18422 28446, 18425 28451, 18429 28448, 21429 28449, 21430 28454, 22430 28459, 22434 28461, 22438 28462, 22443 28462, 22447 28467, 22450 28472, 22453 28469, 22458 28472, 22455 28472, 22460 28475, 22465 28477, 22462 28479, 22461 28476, 22465 28480, 22466 28476, 22470 28472, 22470 28475, 25470 28470, 25473 28472, 25475 28468, 25475 28468, 25477 29468, 25478 29470, 25481 29465, 25478 29466, 25478 29468, 25480 29468, 25485 29465, 25486 29464, 25488 29462, 25488 29466, 25492 29464, 25497 26464, 25500 26467, 25497 26472, 25497 26476, 25497 26476, 25501 26478, 25506 26480, 25506 26482, 25511 26480, 25515 26483, 25516 26485, 25521 26481, 25521 26484, 25520 26485, 25521 26488, 25526 26487, 25529 26488, 25524 26488, 25528 26491, 25530 26496, 25535 26500, 25537 26502, 25537 26502, 25541 26507, 25544 26508, 25545 26509, 25549 26514, 25554 26514, 25553 26512, 25552 26516, 25555 26514, 25559 26514, 25556 26515, 25554 26512, 25558 26509, 25558 26510, 25562 26510, 25562 26511, 25562 26510, 25567 26505, 25569 26508, 25571 26508, 25570 26512, 25573 26512, 25573 26515, 25578 26515, 25583 26520, 25583 26523, 25584 26525, 25587 26526, 25590 26531, 25590 26530, 25586 26534, 25589 26538, 25591 26533, 25595 26537, 25600 26542, 25601 26544, 25601 26544, 25601 26544, 25606 26547, 25605 26547, 25605 26542, 25608 26542, 25611 26544, 25613 26546, 25614 26551, 25614 26551, 25614 26552, 25619 25552, 25614 25552, 25615 25551, 25618 25549, 25618 25553, 25620 25555, 25622 25559, 25622 25555, 25624 25554, 25627 25555, 25624 25559, 25621 25561, 25619 25560, 25624 28560, 25627 28555, 25632 28550, 25636 28552, 25641 28557, 25645 28557, 25640 25557, 25636 25557, 25636 25561, 25641 25561, 25645 25562, 25646 25557, 25648 25560, 25649 25564, 25652 25566, 25652 30566, 25652 30566, 25652 30568, 25652 30570, 25654 30574, 25658 30575, 25663 31575, 25664 31579, 25665 31583, 25664 31583, 25667 31585, 25668 31588, 25673 31586, 25676 31585, 25676 31588, 25678 31588, 25675 31591, 25680 31590, 25681 31585, 30681 31588, 30677 31593, 30682 31594, 35682 31594, 35677 31593, 35679 31595, 35682 31594, 35683 31591, 35686 31592, 35687 31593, 35691 31596, 35691 31597, 35694 31601, 35698 31601, 35702 34601, 35701 34603, 35705 34608, 35705 34610, 35704 34605, 35707 34607, 35707 34610, 35710 34607, 35715 34608, 35719 34607, 35721 34612, 35717 34612, 35713 34612, 35715 34613, 35716 34609, 35716 34614, 35716 34618, 35720 34620, 35721 34621, 35724 34622, 35724 34625, 35727 34629, 35727 34630, 35727 34633, 35727 34635, 35727 34639, 35732 34640, 35729 34642, 35733 34644, 35737 34646, 35741 34649, 35743 34649, 35744 34653, 35740 34653, 35740 34649, 35743 34651, 38743 34654, 38743 37654, 38744 37650, 38748 37655, 38751 37656, 38755 37657, 38755 37661, 38759 37660, 38758 37664, 38763 37664, 38767 37664, 38762 37664, 38761 37664, 38762 41664, 38762 41664, 38764 41669, 38759 41671, 43759 41673, 43754 41678, 43754 41681, 43759 41676, 43760 41681, 45760 41684, 45760 41683, 45764 41687, 45767 41687, 45771 41687, 45772 41688, 45770 46688, 45775 46692, 45778 46696, 45776 46698, 45777 46701, 45780 46699, 45778 46702, 45776 46706, 45781 46706, 45786 46708, 45789 46710, 45793 46715, 45788 46711, 45792 46715, 45795 46719, 45798 46723, 45801 46728, 45799 46732, 45804 46730, 45799 46733, 45803 46737, 45804 46737, 45805 46736, 45806 46736, 45807 46736, 45810 46739, 45812 46744, 45812 46748, 2328 27377, 2324 27381, 2325 27383, 2327 27387, 2327 27386, 2324 27386, 2325 27386, 5325 23386, 5327 23389, 5331 23390, 5332 23394, 5337 23396, 5332 23396, 5332 23399, 5331 23399, 5335 23403, 5335 23406, 5340 23409, 5341 23409, 5336 23410, 5331 23405, 5334 23407, 5332 23411, 5335 23413, 5330 20413, 5326 20415, 5326 20418, 5331 20420, 5330 20425, 5327 20425, 5331 20428, 5332 20428, 5337 21428, 5333 21431, 5335 21435, 5336 21437, 5331 21438, 5332 21441, 5335 21444, 5340 21441, 5340 21444, 5336 21445, 5335 21442, 5331 26442, 5334 26439, 5337 26443, 5339 26444, 5340 26448, 5344 26443, 5344 26446, 5347 26444, 5351 26442, 5354 26446, 5351 26449, 5350 30449, 5352 30451, 5352 30448, 5356 30448, 5361 30447, 5365 30449, 5369 30450, 5369 30452, 5369 30457, 5373 30459, 5373 30457, 5375 30462, 5377 30465, 5382 30467, 5386 30467, 5385 30463, 5386 30463, 5385 30463, 5387 30464, 5392 30463, 5394 30468, 5396 30468, 5391 30469, 5395 30473, 5393 30473, 5393 30473, 5397 30478, 5398 30474, 5401 30474, 5403 30471, 5403 30472, 5406 30474, 5402 30469, 5403 30466, 5405 30471, 5406 30471, 5411 30473, 5414 30477, 5414 30481, 5409 30485, 8409 30490, 8410 30493, 8412 30494, 8412 30493, 8415 30494, 8416 30497, 8416 30500, 8421 30505, 8422 30506, 8417 30511, 13417 30513, 13413 30510, 13416 30511, 13414 30515, 13414 30519, 13419 30522, 13421 30527, 13420 30531, 13424 30533, 13420 30535, 13415 35535, 13411 35535, 13415 35536, 13419 35541, 13421 35537, 13425 35533, 13426 35533, 13425 35528, 13430 35529, 13435 35530, 13440 35534, 13445 35535, 13450 35535, 13454 35536, 13457 35540, 13459 35540, 13454 35540, 13457 35543, 13454 35539, 13459 35544, 13459 35548, 18459 35550, 18462 35551, 22462 35550, 22467 35554, 22468 35558, 22470 35556, 22475 35559, 22473 35563, 22472 35568, 22474 35568, 22472 35573, 22476 35573, 22476 35575, 22479 35577, 22484 35580, 22489 35584, 22490 35587, 22491 35589, 22495 35589, 22498 35589, 25498 35590, 25495 35586, 25496 35589, 25500 35589, 25498 35589, 25500 35591, 25505 35595, 25505 35597, 25501 35594, 25501 35595, 25497 35595, 26497 35599, 29497 35595, 29497 35597, 29500 35601, 29500 35605, 29502 35610, 29503 30610, 29504 30607, 29507 30607, 29512 30610, 29513 30610, 29516 30611, 29518 30614, 29520 30612, 3261 17309, 3265 17308, 3269 17307, 3273 17312, 3271 17316, 3271 17317, 3276 17319, 3279 17319, 3284 17315, 3287 17317, 3285 17313, 3280 17314, 3277 17319, 3277 17321, 3278 17326, 3282 17328, 3282 17328, 3278 17329, 3279 17329, 3278 17332, 3280 17328, 3275 17333, 3279 17335, 3282 17330, 3283 17332, 3278 17328, 3279 17328, 3279 17326, 3279 17325, 3279 17325, 3283 17327, 3284 17331, 3284 17336, 3289 17339, 3290 17339, 3290 17342, 3292 17341, 3296 17344, 3296 17345, 3301 17345, 3301 12345, 3301 12346, 3306 12343, 3303 14343, 3307 14344, 3309 14345, 3313 14347, 3315 14347, 3316 16347, 3312 16345, 3312 16350, 3314 16352, 3313 16353, 4313 16350, 4318 16352, 4323 16348, 4326 16352, 4324 16353, 4325 16350, 4325 16350, 4328 16354, 4324 16358, 4325 16360, 4327 16365, 4327 16362, 4324 16366, 4327 20366, 4327 20370, 4324 20371, 4328 20376, 4328 20378, 4333 20377, 4335 20377, 4340 20380, 4341 20383, 4343 20386, 4340 20388, 4341 20390, 4342 20387, 4342 20387, 4337 20392, 4338 20394, 4343 20394, 4348 20395, 4350 20395, 4351 20397, 37499 26503, 37496 26500, 37498 26504, 37498 26505, 37501 26510, 37499 26506, 37500 26506, 37502 29506, 37502 29511, 37507 29512, 37508 33512, 37510 33517, 37515 33522, 37519 33526, 37518 33524, 37523 33525, 37523 33529, 37518 33534, 37521 33532, 37522 33532, 37526 33534, 37529 33534, 37527 33531, 37530 33534, 37535 33537, 37536 38537, 37538 38540, 22360 13359, 25360 13364, 25363 13362, 25364 13366, 25364 13366, 25367 13369, 25365 13371, 25361 13373, 25359 13378, 25362 13378, 2249 13366, 2254 13370, 2256 13367, 2259 13367, 2263 13362, 2266 13358, 2266 13360, 2271 13365, 2274 13367, 2276 13367, 2277 13367, 2275 13366, 2276 13369, 2280 13369, 2282 13374, 2286 13370, 2286 13369, 2291 13372, 2292 13370, 2295 13372, 2300 13377, 2300 13376, 2297 13379, 273 22351, 275 22354, 4275 22351, 4271 22352, 4272 22354, 4273 22359, 4274 22364, 4278 22367, 4283 22369, 4286 24369, 4281 24369, 4284 24369, 4287 24369, 4289 24368, 4291 24366, 4296 24364, 4297 24366, 4300 24369, 4303 24373, 1303 24374, 1303 24375, 1307 24379, 1307 24380, 1309 24381, 1314 24384, 1316 24386, 1320 24384, 1318 24386, 1318 24391, 1320 24391, 1320 29391, 1323 29391, 1318 29387, 1322 29390, 1323 29393, 1328 29393, 1329 29393, 2329 29398, 2329 29398, 2334 29397, -664 24371, -661 24372, -659 24372, -654 24375, -651 24376, -647 24376, -645 24378, -641 24374, -636 24379, -633 24384, -636 24386, -636 24388, -636 24388, -634 24392, -635 24394, -630 24390, -628 24390, -627 24390, 373 24393, 378 24398, 376 24396, 379 24401, 3379 24404, 6379 24409, 6380 24412, 6375 24410, 6372 24410, 6377 24407, 6372 24407, 6377 24407, 6381 24410, 6376 24413, 6380 24415, 6382 24416, 6380 24419, 6380 24423, 6385 24427, 6387 24429, 6389 24432, 6392 24437, 6388 24434, 6388 24439, 6389 24440, 6390 24444, 6389 24448, 6385 29448, 6385 29451, 6388 29455, 6384 29450, 6389 29451, 6392 29456, 6395 29456, 6399 29459, 6402 29463, 6402 29467, 6399 29471, 6395 29471, 6397 29474, 6399 29477, 6401 29472, 6396 29471, 6399 29474, 6398 29477, 6398 29474, 6395 29469, 6391 29473, 6392 29474, 6391 29469, 6391 29472, 6394 29474, 6390 33474, 6392 33470, 6393 33470, 6394 33471, 6396 33471, 324 22376, 324 22378, 325 22381, 329 22382, 333 22386, 332 22387, 334 22390, 335 22387, 333 22387, 332 22391, 334 22395, 334 22400, 339 22401, 341 22398, 342 22403, 342 22402, 342 22400, 345 22400, 345 22400, 343 22404, 344 22408, 345 22406, 350 22407, 347 22411, 349 22415, 344 22415, 347 22417, 342 22421, 347 22421, 350 22426, 350 22430, 353 22431, 354 22436, 354 22440, 4354 22442, 4355 22446, 4356 22448, 4356 22451, 4359 22453, 4362 22454, 4366 22454, 4369 22455, 4371 22457, 4368 22459, 4371 22457, 4375 22462, 4379 22463, 4382 22463, 4382 22468, 4387 22471, 4387 22471, 4392 22473, 4387 22473, 4387 22476, 25573 26512, 25576 26511, 25580 26516, 25583 26516, 25583 26516, 25585 26512, 25585 26517, 25589 26520, 25591 26519, 25592 26519, 25593 26521, 25591 26524, 25589 26526, 23589 26530, 23587 26535, 23591 26538, 23594 26542, 24594 26547, 24590 26549, 24595 26551, 24600 26547, 24600 26552, 24604 26549, 24600 26544, 24602 26549, 24602 26552, 24602 31552, 24607 31553, 24610 31555, 24615 31556, 24617 36556, 24618 36561, 24621 36561, 24624 36564, 24624 36568, 24629 35568, 24629 35573, 24634 35573, 25634 35574, 25637 35573, 25638 35577, 25638 35577, 25640 35580, 25643 35584, 25643 35587, 25643 35592, 25644 40592, 20644 40597, 20647 40597, 20652 40599, 20653 40595, 20653 40598, 20650 40595, 20650 40595, 20654 40600, 20654 40600, 20658 40601, 20658 40604, 20658 40605, 20661 40602, 20664 40601, 20664 40601, 20665 40604, 20670 40605, 20667 40610, 1217 13318, 1216 13323, 1214 13321, 1211 13316, 1212 13316, 1213 13321, 6213 13324, 6216 13324, 6218 13324, 6213 13327, 6216 13322, 6216 13327, 6216 13328, 6218 13323, 6221 13327, 6220 13325, 6221 13325, 6220 13330, 6223 13333, 6227 13335, 6232 13339, 6233 13343, 6233 13347, 6237 13342, 6236 13346, 6236 13348, 6238 13349, 25526 26487, 25523 26488, 25526 26493, 25529 26491, 25531 26488, 25532 26486, 25536 27486, 25541 27490, 25539 27492, 25543 27487, 25546 27490, 25549 27494, 25552 27495, 25552 27495, 25556 27490, 25561 27490, 25565 27493, 25563 27493, 25565 27497, 25563 27495, 25565 27497, 25565 27499, 25566 27501, 25565 27501, 25565 27501, 25560 27502, 25565 27503, 25567 27507, 25569 27507, 25571 27507, 25569 27508, 25567 27509, 25567 27509, 25567 27509, 25568 27509, 25572 27505, 25572 27501, 25576 27502, 25572 32502, 25572 32505, 25575 32505, 25578 32501, 25578 32502, 25579 32505, 25581 32507, 25585 32508, 25590 32511, 25594 32516, 25598 32511, 25601 32511, 25596 32507, 25599 32510, 25599 32514, 25596 32513, 25596 32514, 25598 32517, 25594 32517, 25596 32519, 25596 32524, 25600 32524, 25604 32521, 25605 32522, 27605 32524, 27609 32527, 27610 31527, 27615 31531, 27617 31531, 30617 31534, 30619 31534, 30620 31536, 30621 31540, 30625 31541, 30625 31542, 30627 31542, 30628 31545, 30629 31545, 30626 31544, 30625 31544, 30626 31549, 34626 31550, 34621 31547, 34625 31549, 34626 31553, 34626 31552, 34628 31554, 34628 31559, 34628 31555, 34630 31559, 34635 31559, 34638 31563, 34636 31568, 34638 31568, 34641 31566, 34641 31564, 36641 31559, 36638 27559, 41638 27561, 41642 27558, 41646 27562, 41649 27563, 41650 27559, 41655 27559, 41660 27559, 41660 27556, 41660 27556, 41662 27554, 41658 27558, 41663 27562, 41666 27565, 41669 27570, 41664 27566, 41665 27567, 41665 27569, 41664 27573, 41663 27573, 41666 27575, 41666 27571, 41661 30571, 41662 30569, 41662 30565, 41667 30570, 41666 30565, 41666 30565, 41666 30566, 41666 30567, 41662 30562, 1314 24384, 4314 25384, 4317 25388, 4317 25389, 4321 25387, 4324 25392, 6324 25391, 6324 25391, 6328 25396, 6323 25401, 6326 25401, 6326 25405, 6321 25408, 9321 25409, 9316 25404, 9314 25406, 9312 25407, 9315 25407, 9315 25407, 9318 25404, 9321 25405, 4321 25400, 8321 25402, 8317 25404, 8317 25400, 8317 25401, 8313 25402, 8309 25398, 8311 25398, 8313 25401, 8317 25406, 8312 25407, 11312 25369, 11313 25369, 11318 25374, 11322 25379, 11327 25379, 11327 25384, 11327 25386, 11328 25382, 14328 25384, 14330 25386, 14333 25387, 14336 25389, 14338 25390, 19338 25390, 19338 25393, 19334 25394, 19334 25395, 19337 25392, 19340 25395, 19344 25397, 19342 25397, 19347 25400, 19347 25398, 19349 25398, 19351 25397, 19353 25401, 19352 25402, 19350 25403, 19351 25407, 19354 25403, 19352 25406, 19356 25404, 19355 25409, 23355 25406, 23356 25406, 23358 25409, 23360 25413, 23362 25417, 23365 25418, 23369 25416, 23367 25415, 23369 25418, 23365 25417, 23369 25420, 23369 25420, 23372 25422, 24372 25418, 24372 25423, 24375 27423, 24380 27423, 24382 27420, 24382 27416, 24382 27414, 24382 27410, 24378 27410, 24376 27414, 24372 27418, 24372 27419, 24373 27424, 24377 27419, 24380 27415, 24377 27419, 24380 27422, 24384 27425, 24385 27430, 24385 27429, 24387 27434, 24392 27435, 24396 27436, 24397 27440, 24401 30440, 24402 30443, 24406 30447, 24405 30443, 24408 30442, 24412 30446, 24408 30450, 24410 30449, 24405 30449, 24410 30446, 24414 30450, 24418 30450, 24418 30453, 19418 30453, 19418 30451, 19420 30456, 19422 30457, 19425 30462, 15425 30466, 15425 30468, 15427 30470, 16427 30471, 16426 30475, 16423 30478, 16428 30478, 16430 30480, 16430 30480, 16426 30478, 16426 33478, 16427 33478, 16429 33481, 16427 33483, 16428 33481, 16424 33484, 16427 33486, 16432 33483, 16432 33482, 16431 33486, 16426 33486, 16429 33488, 16432 33492, 16433 33492, 16436 33492, 16437 33495, 16434 33491, 16438 37491, 16436 37494, 16440 37489, 16445 37486, 16448 37484, 16449 37484, 16449 37486, 16453 37482, 16456 37483, 16460 37483, 16456 37483, 16456 37486, 16461 37490, 16462 37495, 16465 37499, 16466 37496, 16467 37497, 16468 37498, 16470 37501, 16470 37505, 16470 37505, 16475 37507, 16475 37507, 16475 37502, 16478 37498, 21478 33498, 21475 33497, 21478 33493, 21480 33495, 21480 33500, 21480 33496, 21482 33500, 21485 33505, 21486 33508, 21485 33504, 21486 33509, 21486 33509, 21490 35509, 21493 35509, 21496 35510, 21498 35514, 21494 35510, 21494 35513, 21491 35518, 21492 35521, 21489 35523, 23489 35527, 23487 35532, 23489 35537, 23485 35538, 23489 35539, 23490 35541, 23495 35543, 23497 35546, 23497 35550, 23497 35554, 23493 35553, 23490 35556, 23494 35559, 23497 35564, 23502 35563, 23498 35561, 4324 16358, 4319 16362, 4320 16362, 4322 16367, 4317 16367, 4317 16366, 4318 20366, 4322 20369, 4325 20367, 4328 20370, 4331 20371, 4334 20374, 4339 20378, 4340 20379, 4335 20379, 4340 20379, 4343 20381, 4344 20381, 4344 20382, 4345 20385, 4348 20390, 4348 20390, 4348 20390, 4348 20390, 4351 20394, 4354 20399, 4356 20400, 4357 20404, 4360 20404, 4362 20405, 4362 20408, 4365 20409, 4370 20410, 4374 20415, 4373 20420, 4369 20421, 4366 20426, 4369 20424, 4374 20429, 4375 20426, 4376 20422, 4379 20422, 4383 20426, 4384 20427, 4386 20422, 4391 20425, 4387 20427, 4392 20427, 4392 20429, 4394 20433, 4398 20438, 41576 39702, 41580 39706, 41578 39708, 45578 39708, 45577 39713, 45579 39717, 45583 39719, 45583 39722, 45585 39725, 45580 39730, 47580 39726, 47583 39723, 47588 39726, 47588 39730, 47591 39734, 47594 39737, 47599 39737, 47595 39737, 47598 39739, 47599 39739, 47597 39739, 47593 39743, 47595 39748, 47595 39751, 4076 20267, 4079 20272, 4081 20272, 4080 20275, 4080 22275, 4085 22280, 4089 22276, 4090 22279, 4088 22283, 4084 22284, 4086 22286, 4088 22281, 4084 22281, 4089 22285, 4092 22285, 4094 22285, 4094 22290, 4096 22291, 4099 22294, 4099 22295, 4097 22290, 4097 22292, 4097 22297, 4097 22292, 4094 22289, 4091 22290, 4092 22290, 4097 22285, 4102 22290, 4105 22289, 4106 22292, 4106 22293, 4109 22298, 4114 22296, 4119 22294, 4122 22299, 122 22304, 123 22307, 124 22304, 124 22304, 123 26304, 127 26307, 131 26307, 129 26309, 129 26310, 134 26310, 134 26311, 138 26311, 143 26313, 142 26315, 145 26317, 142 26318, 147 26322, 151 26322, 155 26325, 155 29325, 160 29330, 160 29333, 164 29328, 164 34328, 167 34333, 170 34332, 169 34336, 171 34337, 175 34338, 175 34340, 179 34342, 180 34344, 180 34348, 184 34352, 179 34352, 184 34352, 186 34357, 186 34362, 183 34364, 185 34369, 189 34369, 194 34369, 199 34371, 201 34370, 205 34372, 207 34372, 204 34367, 206 34364, 1206 34364, 1207 34368, 1207 30368, 1207 30363, 1208 30365, 1209 30368, 1212 30370, 1212 30370, 1216 30371, 1220 30376, 1221 30379, 1216 30383, 1216 30388, 1219 30386, 1224 30387, 1225 30386, 1227 30384, 1230 30383, 1233 30387, 1234 30387, 1237 30388, 1239 30392, 1244 30390, 1246 30393, 2246 30396, 2243 30399, 2247 30401, 2247 30403, 2246 30398, 2244 30399, 2248 32399, 2248 32399, 2251 32402, 2253 32397, 5253 32394, 5253 32399, 5257 32403, 5257 32401, 5259 32401, 5259 32405, 5263 32410, 5263 32415, 5268 32416, 5273 32420, 5275 32423, 5278 32424, 5283 32426, 5281 32429, 6281 33429, 6286 33433, 6286 33434, 6284 33435, 6284 33432, 6288 33429, 6290 32429, 6290 32425, 6288 32428, 6290 32428, 11290 32431, 11294 32429, 11294 32433, 11292 32438, 11288 32441, 11288 32441, 11285 32446, 11280 32446, 11281 32447, 11285 32449, 11286 32449, 11285 32452, 13285 32451, 13289 32446, 16289 32450, 16284 32449, 16285 32449, 16286 32452, 16287 32452, 16286 32450, 16288 32447, 16292 32450, 16293 32450, 16294 32454, 16293 32454, 16293 32454, 16293 32449, 16289 32451, 16290 32456, 16289 32461, 16293 36461, 16291 36466, 16295 36466, 16296 36466, 16299 36466, 16303 36468, 16308 36473, 16312 36471, 16312 36467, 16315 36463, 16314 36464, 16315 36469, 16315 36473, 16310 36474, 16311 36472, 16316 36474, 16321 41474, 16324 41475, 16327 44475, 16332 44475, 16332 44475, 16332 44477, 16332 44478, 16337 44483, 16334 44481, 8416 30500, 8417 30501, 8421 30501, 8416 30505, 8418 30504, 8420 30499, 8423 35499, 8425 35498, 8429 35501, 8431 35503, 8434 35503, 8438 35507, 8440 35507, 8445 35509, 8442 35512, 8445 35513, 8442 35513, 8442 35515, 8443 35519, 8447 35515, 8450 35516, 8445 35521, 8445 35523, 8444 35528, 8446 35530, 8443 35531, 8438 35531, 8435 35527, 8431 35531, 8432 35534, 8433 35536, 8431 35537, 8435 35539, 8439 32539, 8437 32540, 8441 32540, 8438 32543, 9438 32546, 9436 32541, 9431 32538, 9431 32538, 9435 32541, 9435 32546, 9431 32547, 9436 32542, 9438 32542, 9438 34542, 7438 34542, 7440 34547, 7441 34547, 7441 34547, 7441 34552, 7440 34553, 7440 34556, 7440 34557, 7440 34560, 11440 34565, 11436 34563, 11438 34559, 7438 34557, 7438 34553, 122 1239, 126 1243, 127 1240, 127 1242, 131 1239, 130 1239, 127 1240, 125 1243, 130 2243, 134 2246, 133 2246, 137 2246, 142 2246, 147 2251, 148 2256, 146 2257, 148 2252, 146 2249, 148 2248, 152 2253, 157 2249, 161 2246, 162 2247, 162 2249, 157 2248, 158 2249, 3158 2250, 3161 2252, 3161 2254, 3166 2258, 3167 2261, 3168 2259, 3171 2261, 3173 2266, 3171 2267, 3176 2272, 3179 2277, 3176 2280, 3180 2279, 3175 2283, 3179 2280, 3182 2283, 3184 2288, 3187 2293, 5187 2290, 5187 2292, 5183 2290, 5187 2292, 5186 2297, 5189 2297, 5189 2301, 5192 2303, 5189 2303, 5187 2304, 5183 6304, 5184 6301, 5189 6304, 5191 6302, 5193 6300, 5195 6300, 5195 6300, 5197 6301, 5197 6304, 5199 6301, 5197 6304, 5192 6306, 5193 6310, 5194 6312, 5197 6316, 24397 27440, 24393 27441, 24395 27437, 24400 27440, 24400 27441, 16288 32447, 21288 32447, 21288 32448, 21284 32452, 21285 32450, 21285 32452, 21287 32455, 21283 32460, 21284 32462, 21284 32467, 21284 32472, 21286 32474, 21291 32475, 21289 32475, 21289 32473, 21289 32478, 21286 32481, 21290 32486, 21293 32486, 21293 32490, 21298 32489, 21301 32490, 21303 32491, 21305 32488, 21303 32486, 21307 32491, 21312 32495, 21314 32499, 21315 32495, 21317 32499, 21314 32499, 21316 32502, 21318 32505, 21313 32510, 21313 32512, 21314 32517, 21319 32520, 21321 32520, 21326 32520, 21329 32525, 21330 32530, 21334 32531, 21330 36531, 21333 41531, 21338 41531, 21336 41535, 21339 41537, 21337 41539, 21341 41544, 21342 41544, 21345 41540, 25345 41543, 25342 41546, 25339 41546, 25339 41549, 25337 41546, 25337 41547, 25337 46547, 25341 46552, 30341 46555, 30342 46560, 30345 46561, 30344 46557, 30339 46560, 30343 46565, 30339 46569, 30338 46567, 30340 46568, 24375 27423, 24375 27425, 24377 27428, 24379 27429, 24379 27434, 24376 27439, 24381 27441, 24386 27436, 24387 27438, 24384 27441, 24383 27446, 24383 31446, 24383 33446, 20383 33443, 20385 34443, 20384 34444, 20380 34448, 20383 34450, 20383 34446, 20386 34447, 20390 34450, 20394 34451, 20395 34446, 20395 34451, 20398 29451, 20397 29447, 20401 29447, 20402 29443, 20401 29440, 20406 29443, 20411 29444, 20412 29444, 20412 29448, 20410 29449, 20415 29452, 20415 29455, 20414 29459, 20415 29462, 20420 29465, 20415 29467, 20417 29468, 20418 29468, 20418 29467, 20418 29467, 20420 29468, 20416 29469, 20420 29467, 20415 29464, 20415 26464, 20420 26462, 20423 26463, 20423 26465, 20423 26464, 43580 35662, 43580 35658, 43580 35662, 43580 35664, 43585 35665, 43585 35663, 43585 35666, 43581 35667, 43585 35665, 43589 35670, 25627 25555, 25631 25555, 25632 25558, 25632 25563, 25634 25564, 25629 25565, 25625 25561, 25625 25563, 25626 25565, 26626 25570, 26629 25570, 29629 25575, 29628 25578, 29627 25579, 29624 25583, 29627 25587, 29632 25592, 29634 25593, 29637 25595, 29637 25598, 29639 25602, 29644 25600, 29645 25601, 29646 25601, 29651 25602, 29656 25606, 29658 25606, 29663 25607, 29663 25605, 29666 26605, 29668 26608, 29667 26608, 29670 26611, 29674 26611, 29671 26615, 29673 26620, 29676 26617, 29681 26620, 29682 26620, 29683 26619, 29684 26623, 29681 26621, 29686 26626, 29688 26628, 29691 26628, 29692 26632, 29693 26634, 29695 26629, 29696 26624, 29700 26621, 29705 29621, 29709 29620, 29708 29624, 29711 29627, 34711 29630, 34712 29632, 34712 29631, 2284 16415, 2285 16416, 2285 16416, 2289 16421, 2294 16425, 2299 16425, 2300 16430, 2305 16430, 2306 16433, 2311 11433, 2315 11436, 2310 14436, 2310 14435, 2313 14437, 2312 14441, 2310 14442, 2311 14444, 2313 14444, 2311 14447, 2314 14447, 2316 14451, 2316 14456, 2316 14454, 2311 14455, 2311 14455, 2311 14460, 2315 14465, 2315 14465, 2311 19465, 2311 19465, 2313 19466, 2317 19469, 2320 19469, 2323 19466, 2319 19468, 2323 19471, 2324 19471, 2324 19473, 2324 19473, 2322 19468, 2323 19466, 2324 19465, 2329 19470, 2329 19465, 2324 19465, 2324 19467, 2319 19471, 2320 19475, 2104 -1844, 2109 -1844, 2113 -1842, 2116 1158, 2116 1160, 2117 1161, 2116 6161, 2118 6166, 2123 6169, 2126 6174, 2123 6179, 2126 6183, 2126 6187, 2130 6182, 2128 6183, 2127 6182, 2128 6185, 2124 10185, 2129 10190, 2130 10193, 2132 10192, 2132 10195, 2129 11195, 2129 11199, 2133 11200, 2134 11196, 2133 11201, 2137 11205, 2137 11207, 2141 11203, 2144 11207, 2145 11208, 2149 11212, 2144 11214, 2144 11215, 2149 11216, 2152 11221, 2152 11223, 2153 11223, 2154 11226, 2154 11226, 2150 11228, 2152 11224, 2152 11227, 2148 11222, 2145 11223, 2142 11225, 2145 11222, 2142 11223, 2142 11227, 2147 11229, 2149 11230, 2154 11230, 2157 11228, 2159 11233, 2159 11233, 2155 11237, 2155 11242, 2151 11243, 7151 10243, 7156 10245, 7159 10245, 7164 10247, 7166 10252, 7166 10255, 7171 10257, 7173 10257, 7174 10261, 7179 10264, 7184 10260, 7189 10264, 7193 8264, 7197 8260, 7202 8262, 7206 8262, 7205 8265, 7205 8266, 7207 8270, 7211 8274, 7211 8277, 7216 8277, 7216 8280, 7212 8280, 7213 8280, 7215 8283, 7220 8282, 7224 8287, 7225 8283, 7222 10283, 7223 10287, 7225 10288, 7230 10290, 7232 10294, 7233 10294, 7233 10297, 7234 10298, 7234 10301, 7236 10303, 7231 10299, 7228 10298, 7223 10297, 7225 10299, 7230 10303, 7231 10307, 7234 10311, 7234 10315, 7235 10320, 7236 9320, 7241 9322, 7246 9325, 7243 9330, 7243 9332, 7240 9335, 7237 9334, 7239 9339, 7238 9339, 7238 9341, 7238 9342, 7233 14342, 7232 14337, 7234 14342, 7239 18342, 4084 22284, 4083 22284, 6083 22287, 6078 22289, 6078 22293, 6080 22290, 6082 22291, 6086 22296, 6086 22297, 6087 22297, 6088 22295, 6093 22298, 6094 22297, 9094 22294, 9097 22298, 9098 22299, 9098 22301, 9093 22296, 9098 22299, 9100 22294, 9096 18294, 9099 18294, 9098 18298, 9101 18296, 9100 18301, 9105 18303, 9105 18306, 9105 18309, 9102 18305, 9104 18306, 9108 18309, 9104 18314, 9103 18310, 9105 18312, 9105 18316, 9109 18314, 9109 18319, 9109 18324, 9113 18326, 9113 18330, 9115 18333, 9113 18333, 9118 18333, 9123 18333, 9123 18336, 9125 18335, 9126 18336, 9127 18332, 9129 18329, 9127 18332, 9130 18333, 9135 18333, 9138 18337, 9143 18341, 9144 18346, 9145 18344, 9150 18348, 9154 18345, 9152 18350, 9151 18345, 9151 18345, 9156 18347, 9160 18349, 9163 18350, 9163 18351, 9165 18356, 9166 18356, 9164 18353, 9167 18356, 9167 18355, 9167 18356, 9167 18360, 9165 18356, 9169 18357, 9169 18353, 9170 18355, 9170 18351, 9175 18351, 9177 18351, 9181 18352, 9184 18353, 9189 18356, 9188 18361, 9191 18364, 9194 18364, 9198 18366, 13198 18371, 13198 18373, 13198 18375, 13201 18378, 13196 18378, 13199 18379, 13202 18381, 13207 18384, 13212 18388, 13211 18383, 13211 18378, 13215 18379, 13218 20379, 13214 20379, 13217 20379, 13213 20379, 13213 20376, 13210 20377, 13206 20377, 13206 20373, 13207 20373, 13209 20370, 13214 20371, 13218 20371, 13223 20376, 13224 20381, 13227 20385, 13228 20390, 13232 20387, 9232 20392, 9230 20388, 9230 20390, 9225 20393, 9225 20396, 4225 20401, 4225 20400, 4227 20403, 4224 20408, 4222 20412, 4222 20415, 4225 20420, 4229 20425, 4232 20422, 4236 20425, 4234 20426, 4238 20427, 4240 20427, 4241 20427, 4237 20431, 4233 20431, 4232 20430, 4230 20432, 4234 20431, 4234 20435, 4238 20437, 4243 20435, 4243 22435, 4238 22440, 4241 22441, 4241 22443, 4238 22447, 4234 22443, 4238 22448, 4238 22450, 4241 22451, 4241 22456, 4243 22458, 4247 22461, 4247 22464, 4252 22466, 4253 22469, 4255 22469, 4251 22469, 4253 22464, 4253 22468, 4257 22473, 4259 22477, 4258 22482, 4261 22483, 4262 22484, 4259 22489, 6259 22493, 6262 22494, 6262 22497, 6264 22500, 6264 22504, 6269 22499, 6273 22499, 6278 22495, 6278 22493, 6283 22491, 6288 22494, 6291 22494, 6296 22494, 6296 22493, 6294 22489, 6294 22493, 6290 22493, 6290 22498, 6290 22500, 6288 22501, 6290 22505, 6294 22504, 5294 22507, 5294 22507, 5298 22512, 5297 22514, 5302 22514, 5307 22517, 5304 22518, 5308 22514, 5311 22517, 5315 27517, 5315 27517, 5319 27517, 5324 22517, 5328 22521, 6328 22520, 6325 22522, 6325 22527, 6322 22527, 6323 22530, 6325 22535, 6325 22535, 6326 22536, 6326 22536, 6327 22533, 6323 22535, 6325 22538, 6330 22538, 6331 22534, 6326 22531, 10326 22526, 10321 22528, 10317 22524, 10316 22529, 10313 22529, 10309 22530, 10306 22535, 10308 22531, 10308 22532, 10311 22534, 10314 27534, 10314 27538, 10314 27538, 10309 27540, 10309 27536, 11309 27535, 11309 27537, 11310 27539, 11305 27535, 11300 27536, 11296 27538, 11296 27538, 11301 27542, 11299 27546, 11304 27551, 11308 27551, 11313 27553, 11315 30553, 11319 30555, 11315 30550, 11318 30545, 11318 30544, 11321 30549, 11320 30550, 11325 30554, 11328 30558, 11328 34558, 11332 34562, 11333 34562, 11335 34562, 11334 34565, 11330 34565, 11333 34566, 11338 34566, 11338 34571, 11342 34574, 11344 34573, 11347 34572, 11346 34573, 11347 34575, 11351 34578, 15351 34578, 15356 34573, 15361 34570, 15364 34575, 15365 34580, 15369 34581, 15370 34581, 15373 34585, 15376 34580, 15381 34578, 15385 34583, 15386 34588, 15389 34587, 17389 34582, 17394 34582, 17393 34582, 17398 34577, 17399 34582, 17399 34584, 17399 39584, 17404 39588, 17399 39591, 17404 39591, 17408 39586, 17405 39591, 17409 39593, 17411 39596, 17408 39596, 17411 39599, 17411 39603, 17414 39607, 17418 39612, 17419 39612, 17419 39612, 17423 39611, 17424 39613, 17426 39612, 17429 39608, 17427 39609, 17428 39613, 17425 39615, 17424 39614, 17427 39617, 17430 39622, 17430 39623, 17431 39620, 17434 39620, 13434 39619, 13434 39621, 13434 39621, 13434 44621, 13436 44625, 13436 44627, 13441 44631, 13444 44636, 13444 44639, 13442 44635, 13444 44635, 13447 44639, 13449 44643, 13447 44641, 13447 44642, 13452 44643, 13456 44648, 13459 44648, 13461 44646, 15461 44643, 15459 44648, 15463 44648, 15464 44646, 15461 44649, 15461 44651, 15465 44654, 15460 44655, 15461 44657, 15463 44661, 15465 44665, 15465 44665, 15465 44667, 15469 44670, 15474 44672, 15476 44668, 15472 44672, 15473 44674, 15475 44678, 15477 44679, -3804 12302, -3802 12305, -3803 13305, -3802 13300, -3806 13296, -3807 13299, -3804 13304, -3802 13301, -3799 13305, -3799 13306, -3794 18306, -3799 18310, -3797 18315, -3800 18315, -3797 18316, -3799 18318, -3794 18323, -3793 18326, -3789 18325, -3784 18324, -3784 18325, -3782 18325, -3780 18325, -3779 18328, -3780 18329, -3781 18324, -3786 18328, -1786 18328, -1786 18333, -1782 18337, -1782 18338, -1779 18333, -1775 18338, -6775 18341, -6772 18343, -6774 18345, -6779 18345, -6777 18345, -6777 18347, -6777 18343, -6775 18347, -6780 18342, -6777 18345, -6776 18345, -6774 18340, -6774 18337, -6774 18337, -6778 18342, -6782 18342, -6785 18339, -6784 18340, -6779 22340, -6779 22339, -6776 22335, -6775 22330, -6775 22335, -6775 22339, -6770 22339, -6772 22344, -6767 22345, -6765 22341, -6765 22339, -6765 22339, -6765 22337, -6765 22340, -6760 22335, -6757 22335, -6762 22336, -6763 22338, -6765 22343, -6760 22338, -6758 22338, -6758 22338, -6756 22341, -6752 22345, -6752 22346, -6748 22343, -4748 22347, -4745 22347, -4750 22347, -4749 22348, -4747 22349, -4743 22352, -4738 22357, -4734 22362, -4736 22367, -4738 22362, 21338 41531, 21336 41531, 21332 41530, 21332 41530, 21335 41533, 21330 41533, 21331 41534, 21328 41536, 21330 41536, 21326 41541, 21330 41536, 21332 41539, 21336 41536, 21338 40536, 21336 40540, 21341 40538, 21343 40538, 21346 40538, 21348 40536, 21352 40536, 21355 40539, 21359 40543, 21361 40546, 21362 40550, 21357 40550, 21362 40551, 21361 40554, 21358 40555, 21358 40554, 21359 40554, 21363 40558, 21360 45558, 21364 45560, 21368 45557, 21372 45561, 21376 45560, 21379 45557, 22379 45553, 22384 45553, 22384 45556, 22388 45561, 22389 45561, 22390 45557, 22394 45561, 24394 45565, 22394 45562, 22399 45565, 22401 45562, 22400 45565, 22402 45568, 22402 45573, 22406 45577, 22408 45581, 22408 45585, 22406 45585, 22409 45586, 22411 45583, 22411 45579, 22411 45583, 22409 45583, 22404 45586, 22404 45586, 22406 45591, 22408 45591, 22408 45593, 22413 45593, 22415 45594, 22419 45595, 22419 45596, 22424 45591, 22427 45587, 22430 50587, 22430 50589, 22430 50589, 22432 50592, 22437 50594, 22437 50589, 22437 50594, 22441 50599, 22442 50594, 22447 50591, 22444 50588, 22444 50590, 22445 54590, 22445 54594, 22448 54599, 22450 54601, 22450 59601, 22446 59597, 22451 59600, 22451 59603, 22454 59604, 22459 59604, 22460 59609, 22459 59606, 22464 59607, 22465 59608, 22463 59609, 22460 59606, 22459 59605, 22459 59605, 22457 59609, 25457 59610, 25459 59615, 25464 59617, 25466 59618, 25469 59621, 25474 59616, 25478 59617, 25480 59614, 25484 59619, 25484 59620, 25488 59616, 25485 59618, 25489 59623, 25494 59627, 25499 59629, 148 2256, 152 2253, 152 2253, 154 2258, 159 2253, 160 2257, 159 2256, 163 2259, 161 3259, 163 3262, 163 3259, 165 3259, 170 3263, 170 3263, 174 3267, 169 3271, 174 3275, 174 3276, 174 3278, 177 3282, 181 3286, 183 3287, 186 3284, 187 3286, 189 3286, 193 3288, 194 3290, 193 6290, 195 6293, 200 6289, 197 6294, 196 6293, 197 6293, 201 6297, 202 6292, 200 6294, 204 6295, 209 6300, 214 6305, 217 6305, 218 6305, 213 6308, 214 6308, 218 6313, 218 6308, 216 6312, 215 6312, 213 6309, 214 6313, 219 6318, 222 6321, 226 6326, 224 6331, 222 6327, 41575 39716, 41574 39713, 41578 40713, 41582 40718, 41578 40721, 36578 40721, 36579 40723, 36584 40720, 36587 40725, 36592 43725, 36587 43725, 36584 43728, 36587 43733, 36592 43735, 36592 43734, 15291 11311, 15287 11316, 15288 11319, 15291 11319, 15296 11319, 15297 11320, 15298 13320, 38744 37650, 38745 37654, 38747 37659, 38746 37662, 38741 37663, 38739 37666, 38744 37666, 38747 37661, 38750 37666, 38750 37666, 38754 37671, 38755 37671, 38750 37673, 38750 37672, 38754 37677, 38756 37678, 38758 37680, 38760 37678, 38762 37683, 38762 37679, 38760 37679, 38765 37679, 38769 37678, 38774 40678, 38769 40683, 38774 40687, 38776 44687, 38780 44690, 38782 44694, 38782 44694, 38781 44699, 38784 44704, 38782 44699, 38777 44700, 38777 44700, 38777 44700, 38781 44703, 38785 44700, 38786 44700, 38788 44696, 38788 44696, 38788 44700, 38793 44702, 38795 44703, 38797 44707, 38802 44712, 38805 44712, 38809 44713, 38804 44710, 38808 44712, 38811 44713, 36811 44713, 36816 44708, 36815 44709, 36816 44709, 36818 44713, 36813 44716, 36814 48716, 36813 48721, 36817 48725, 36818 51725, 36820 51721, 36824 51724, 40824 51719, 40829 51716, 40832 51720, 40831 51723, 40834 51727, 40837 51728, 40842 51725, 40843 51725, 40838 51729, 40843 51734, 40848 51738, 40850 51742, 40851 51744, 40853 51747, 40856 51749, 40857 51750, 40859 51754, 40859 51750, 40863 51752, 40868 51755, 40864 51754, 40868 51754, 40871 51756, 40867 51756, 40865 51759, 40860 51761, 40857 51757, 40857 51762, 40854 51762, 40855 51764, 40859 51765, 40857 51761, 40854 51764, 40855 51765, 40857 51766, 40860 51761, 40861 51760, 40865 51761, 40865 51763, 40862 51768, 40861 51768, 40856 51772, 40852 51769, 40854 51771, 40854 51771, 40850 51776, 40854 51780, 40856 51782, 40854 51782, 43854 51782, 43856 52782, 43858 52785, 43861 52785, 43861 52780, 37514 26540, 37519 26535, 37522 26539, 37522 26544, 37524 26548, 37529 26548, 37534 26553, 37539 26548, 37542 26553, 37547 26548, 37551 26551, 37551 26554, 37550 26555, 37551 26557, 37548 26557, 37548 26557, 37551 26560, 37551 26563, 37554 26563, 37558 26568, 37562 26563, 37563 26565, 37567 26569, 41567 26569, 41571 26572, 41573 26577, 41573 26577, 41578 29577, 41573 29577, 41575 29580, 41575 29582, 46575 29582, 46571 29586, 45571 29587, 45574 29587, 45570 29587, 45575 29585, 45577 29582, 45573 29585, 45574 29588, 45574 29589, 45578 29589, 45580 29592, 45583 29595, 45584 29597, 45584 29602, 45586 29601, 45591 29604, 45587 29609, 45591 33609, 45595 36609, 45596 36611, 45601 36613, 45602 36608, 45606 36608, 45606 36612, 45606 36611, 45610 36614, 50610 36617, 50613 36613, 50616 36613, 50621 36609, 50626 36609, 50627 36610, 50627 36609, 50631 36610, 50626 36612, 50627 36614, 50628 36614, 50631 36612, 50629 36614, 50630 36618, 50634 36622, 46634 34622, 46634 35622, 46638 35626, 46638 35621, 46639 35624, 46641 35623, 46645 35624, 46647 35629, 46645 35634, 46650 35639, 46650 35644, 46651 35647, 46653 35651, 46657 35654, 46654 35659, 46659 35660, 46660 35661, 46664 35664, 46661 35667, 46664 35668, 46667 35667, 46669 35671, 46669 35667, 46672 35670, 46674 35675, 46676 35675, 47676 35672, 47678 35676, 47679 35677, 47679 35682, 47679 35681, 47679 35681, 47679 35686, 47674 35687, 47673 35687, 49673 35689, 49676 35693, 49679 35696, 49677 35696, 54677 35701, 54680 35703, 54676 35703, 54672 35705, 54672 35704, 54677 35707, 54678 34707, 54678 34707, 54681 34710, 54685 34712, 54690 34710, 54690 34711, 54687 34706, 54689 34706, 54694 34711, 54689 36711, 54689 36710, 54684 36711, 54687 38711, 54682 38714, 54682 38718, 54679 38718, 54681 38723, 54684 38724, 54689 38720, 54690 38721, 54694 38726, 54699 38730, 54701 38731, 54702 38728, 54704 38724, 52704 38723, 52704 38723, 52704 38725, 52704 38729, 52706 38730, 52708 38732, 52709 38733, 52713 38732, 52713 35732, 52715 35737, 52714 35741, 52714 35743, 52715 35746, 52715 35749, 52710 35749, 52712 39749, 52715 39753, 52718 39752, 52723 39753, 52722 39757, 52718 39760, 52718 40760, 47718 40761, 47719 40765, 47724 40765, 47724 40765, 47724 40770, 47728 40773, 47730 40776, 47735 40781, 47733 40777, 50733 40781, 51733 40783, 51735 40786, 51736 40790, 51739 40788, 51743 41788, 51741 41787, 51741 41789, 51741 41789, 51738 41793, 51733 41793, 52733 41794, 52737 41795, 52740 41794, 52744 41793, 52748 41789, 52749 41789, 52747 41789, 52752 41786, 52755 41790, 52755 41791, 52760 41796, 52756 42796, 52751 42797, 52754 42798, 52758 42795, 52759 42794, 52764 42797, 52768 42801, 52768 42801, 52771 42806, 52776 42810, 52776 42809, 52773 42811, 52776 42811, 52772 42812, 52773 42815, 52769 42815, 52768 42816, 52769 42821, 52773 42821, 52773 42821, 52777 42819, 52781 42815, 52781 42816, 52782 42819, 52778 42822, 52776 42822, 52779 42826, 52782 42827, 52783 42831, 52778 42833, 52782 42836, 54782 42839, 54782 42844, 2137 11205, 2142 11207, 2139 11208, 2142 11213, 2144 11217, 2149 11215, 2147 11217, 2147 11217, 2152 11222, 2152 11225, 2155 11229, 2159 13229, 2164 13232, 2169 13235, 2173 13236, 2169 13233, 2170 13237, 2173 13241, 2175 13243, 2170 13238, 2170 13239, 2175 13239, 2177 13238, 2179 13239, 2179 13238, 2181 13233, 2181 13230, 2182 13230, 2179 13230, 2179 13235, 2182 13235, 2183 10235, 2178 10237, 2179 10236, 2182 10239, 2187 10241, 2184 10244, 6184 10244, 6186 10248, 6184 10246, 6185 10247, 6187 10250, 6192 10248, 6196 10248, 6196 10251, 6194 10251, 6194 10256, 6197 10260, 6196 10264, 6197 9264, 6197 9264, 6197 9268, 6201 9273, 6206 9276, 6201 9272, 6203 9272, 6205 9269, 6210 9272, 6206 9274, 6206 9279, 6203 9283, 6203 9285, 6203 9290, 6208 9285, 6208 9281, 6204 9285, 6202 9289, 6204 9292, 6200 9294, 7200 9297, 7202 9301, 7203 9301, 7207 9302, 7211 9302, 7211 9303, 8211 9306, 8216 10306, 8220 10310, 8224 10312, 8228 10317, 8233 10317, 8237 10322, 8239 10322, 8239 10327, 8235 10330, 8235 10331, 8239 10329, 8240 10332, 8240 10334, 8236 10334, 11236 10336, 11238 10337, 11243 10341, 14243 10342, 14242 10342, 14239 10343, 14240 10341, 14239 10343, 14244 10343, 14248 10343, 14252 10343, 14252 10343, 14253 10341, 14256 10341, 14258 10338, 14258 10336, 14254 10340, 14257 10344, 14261 10346, 14264 10351, 11150 3163, 11155 3167, 11156 3166, 11156 3169, 11160 3171, 11163 3176, 11164 3179, 11164 3180, 11168 3183, 11168 3185, 11173 3189, 11178 3184, 11180 3183, 11178 3185, 11181 3187, 11176 3186, 52778 42822, 52780 42826, 52779 42826, 52784 42821, 52785 42826, 52786 42827, 52791 42830, 52791 42827, 56791 42832, 56788 42833, 56788 42836, 56791 42840, 56791 42839, 56787 42842, 56788 42847, 51788 42848, 51790 42850, 51792 42851, 51796 42846, 51798 42846, 51803 42850, 53803 42853, 53808 42853, 53811 42856, 53814 42854, 53819 42850, 53819 42852, 53820 42857, 53824 42860, 53825 42858, 53828 42862, 53827 42864, 53828 42864, 53828 42868, 53832 42872, 53837 42877, 53841 42877, 53843 42876, 53843 42880, 53843 42883, 53843 42888, 53838 42892, 53838 42893, 53838 44893, 53835 44893, 53837 44897, 53840 44901, 53844 44901, 53846 44904, 53846 44908, 53847 44909, 53852 44907, 53855 44908, 53860 44910, 53858 44911, 53863 44913, 53858 44917, 53860 44920, 53865 44920, 53870 44922, 53869 43922, 53871 43925, 53871 43923, 53869 43923, 53864 43922, 53862 43927, 53866 43932, 53871 43934, 53876 43937, 53876 43936, 53876 43936, 53877 43934, 53879 43932, 53880 43928, 53885 43931, 55885 43933, 55885 43929, 55881 43933, 55883 43933, 55886 43932, 55883 43932, 55884 43933, 55885 45933, 55885 45937, 55885 45940, 55886 45945, 55886 45945, 55888 45950, 55884 45952, 55885 45956, 55890 45960, 55892 45961, 55896 45957, 55894 45958, 55899 45954, 55895 45958, 55898 45960, 55894 45959, 55899 45963, 55901 45965, 55901 45965, 55896 45966, 55900 45961, 55895 49961, 55898 47961, 55896 47960, 55900 47964, 55903 47968, 55903 47971, 55903 47974, 55898 47977, 55900 47973, 55896 47978, 55897 47979, 55893 47980, 55898 47983, 55901 47988, 55904 47987, 55899 47991, 55901 47993, 55906 47996, 55906 47997, 55907 48001, 55904 48005, 55904 48007, 55909 48004, 55912 48002, 55917 48003, 55913 47998, 55908 48002, 55912 48007, 55916 48004, 55920 48004, 55916 48004, 55921 48004, 55923 48007, 55923 48011, 55926 48011, 55921 48014, 55924 48009, 55929 48013, 55930 48012, 55930 48012, 55932 48016, 55927 48016, 55927 48020, 54927 48018, 54924 48022, 54924 44022, 54928 44017, 54931 44016, 54934 44020, 55934 44021, 55937 44021, 55938 44024, 55939 44026, 55938 44024, 55941 44019, 55946 44022, 55947 44026, 55949 44027, 55952 44028, 55955 44024, 55958 44027, 53869 43923, 53873 43925, 52873 43925, 53873 43927, 53878 43927, 53883 43927, 53882 43931, 53884 43935, 53888 43940, 53886 43941, 53881 43938, 53881 43941, 53879 43943, 53880 43942, 53881 43946, 53882 43951, 53883 43952, 53886 45952, 53886 45953, 53884 45957, 53885 45958, 53880 45960, 53882 45957, 53887 45962, 53887 45962, 53888 45961, 53888 48961, 53888 48966, 53893 48966, 53894 48968, 53899 48969, 49899 48966, 49904 48969, 49908 48971, 49904 48971, 49906 48975, 49903 48971, 49906 48974, 54906 48975, 54906 48975, 54906 48979, 54911 48983, 54909 48979, 54912 48979, 54908 48975, 54911 48977, 54913 48979, 54917 48982, 54922 48982, 54925 48985, 54920 48988, 54923 48988, 56923 48988, 56928 48990, 56926 48985, 56931 48984, 56934 48983, 56934 48981, 56938 48983, 56939 48985, 56939 48986, 61939 48988, 61939 48984, 61936 51984, 61937 51985, 61937 51988, 61937 51988, 61933 51990, 5331 23399, 5333 23399, 5335 23394, 5339 23396, 5342 23399, 5347 27399, 5347 27401, 5352 27402, 5357 27403, 5358 27406, 6358 27409, 6362 27411, 6363 27410, 6366 27406, 6368 26406, 6373 26406, 6373 26406, 6374 26409, 6372 26409, 6377 26410, 6382 26415, 6387 26417, 6389 26418, 6390 26423, 6392 26423, 6393 26428, 6395 30428, 6392 30433, 6392 30436, 6392 30434, 6396 30438, 6396 30441, 6396 30445, 6398 30446, 6400 30443, 6401 30440, 6406 30439, 6407 30439, 6402 30439, 6407 30444, 6406 30447, 6407 30451, 6411 30451, 6413 30451, 6414 30452, 6419 30450, 6423 30454, 6420 30452, 6419 30448, 6420 30453, 6422 30455, 6427 30460, 6428 30460, 6427 30462, 6428 30462, 6428 34462, 6429 34463, 6434 39463, 6436 39466, 6436 39471, 6441 39474, 6445 39471, 6446 39472, 6451 39477, 6453 39480, 6454 39485, 6454 39483, 6454 39480, 8454 39480, 8458 39482, 8462 39484, 10462 39486, 10457 39486, 10458 39488, 10462 39488, 10465 39488, 10470 39490, 10475 39486, 10477 39488, 10477 39490, 10478 39492, 10479 39496, 10477 39498, 10482 39503, 10478 39505, 10481 39510, 10482 39514, 10477 39512, 10482 39517, 10483 39520, 10483 39520, 10487 39525, 10489 39526, 10492 39527, 10492 39524, 10495 39524, 10498 44524, 10493 44523, 10493 44528, 10494 44524, 10499 44529, 10501 44529, 10504 44531, 10502 44535, 10504 44539, 10508 44539, 10513 44536, 13513 44540, 13515 44537, 13512 44539, 13509 44544, 13513 44547, 13517 44552, 13519 44553, 13524 44554, 13527 42554, 13522 42555, 13524 42557, 13527 42556, 13531 42561, 13531 42562, 13526 42563, 13527 42563, 13527 42566, 13522 42568, 13525 42571, 15525 42573, 15525 42576, 15526 42581, 15531 42581, 15532 42586, 15534 42588, 15534 42592, 15533 42591, 15533 42596, 15532 42591, 15532 42587, 15535 42587, 15538 47587, 15534 47587, 15537 47591, 15536 47594, 15538 47598, 11538 47594, 11535 47594, 11531 47594, 11535 47596, 11535 47596, 11535 47597, 11539 47602, 11540 47607, 11540 47607, 11540 47609, 11543 47613, 11546 47617, 14546 47618, 14541 47614, 14539 47614, 14539 47618, 14537 50618, 14539 50623, 14541 50623, 14542 50627, 14540 50627, 14539 50623, 25601 26544, 25601 26545, 25601 26548, 25596 26546, 25601 26547, 25598 26548, 25599 26547, 25600 26547, 25595 26548, 25590 26546, 25595 26549, 25597 26548, 25598 26548, 25601 26545, 25596 26548, 25594 26553, 25595 26552, 25599 26553, 25598 26554, 25596 26555, 25592 26554, 25596 26558, 25599 26554, 25600 26556, 25595 26559, 25600 22559, 25601 22561, 25606 22563, 25607 22562, 25608 22566, 25607 22563, 25607 22568, 30607 22573, 30612 22575, 30612 22579, 30611 22579, 30611 22580, 30611 22585, 30607 22585, 30612 22587, 30612 22588, 30615 22583, 30615 22585, 30618 22581, 30621 22581, 30623 22584, 30623 22589, 30628 22594, 30630 22597, 30631 22602, 30628 22607, 30630 22610, 30631 22611, 30631 22608, 30629 22610, 30634 22612, 30635 22612, 30638 22616, 30643 17616, 30644 17618, 30649 17618, 30653 17619, 30656 17614, 30657 17611, 30660 17615, 30655 17614, 30656 17610, 30656 17611, 30661 17610, 30662 17615, 30660 17620, 30661 17620, 30666 17623, 30667 17625, 30667 17624, 30669 17625, 30673 17628, 30675 17628, 30675 17628, 30680 17631, 30677 17636, 30677 17639, 30680 17644, 30683 17647, 30688 17643, 30693 17645, 30698 19645, 30701 19644, 30702 19644, 30698 19649, 30700 19647, 30701 19649, 30704 19650, 30705 19653, 30701 19655, 30706 19652, 30708 19656, 30711 19657, 30711 19659, 30711 19659, 30714 19661, 30710 19662, 30707 19664, 30702 19666, 30703 19667, 30708 19668, 30713 19667, 30709 19671, 30706 19674, 30710 19676, 30711 19677, 30713 19677, 30713 19678, 30715 19682, 30720 19686, 30725 20686, 30723 20690, 30727 20695, 30728 20697, 30731 20699, 30730 20694, 30732 20696, 30735 20698, 30738 20696, 30738 20695, 30742 20698, 30743 20699, 30743 20701, 30748 20704, 30749 20706, 30752 20705, 30753 20702, 30755 24702, 30751 24705, 30750 24707, 30748 24708, 30749 29708, 30749 29709, 30751 29711, 30754 29716, 30759 29716, 30762 34716, 30762 34720, 30765 34720, 30761 34717, 30761 34721, 30765 34721, 30760 34721, 30759 34725, 30762 34730, 30760 34730, 30765 34731, 30765 34731, 30766 34731, 30761 34733, 30761 34736, 30764 34738, 30759 34739, 30763 34740, 30761 34740, 30764 34742, 30759 34737, 30762 34739, 30764 34741, 30762 34740, 30767 34737, 32767 34741, 32770 34741, 32767 34744, 32767 34746, 32770 34751, 32774 34755, 32774 34756, 32779 34753, 32784 34755, 32785 33755, 32785 33750, 36785 33753, 36785 33758, 36788 33760, 36789 33759, 36789 33762, 36793 33758, 36798 33758, 36803 33760, 36803 33762, 36803 33766, 36804 33769, 36804 33769, 36808 33774, 33808 33776, 33808 33781, 33811 33781, 33816 33784, 33816 33789, 33820 33786, 33823 33788, 33828 33785, 33824 33785, 33826 33787, 33824 33788, 33828 33791, 33825 33796, 33829 33799, 33830 33802, 33831 33803, 33835 33805, 33835 33805, 33838 33809, 33841 33813, 33844 33809, 33849 33814, 33847 32814, 33849 32812, 33851 32816, 33853 32819, 33851 32822, 33851 32826, 33849 32826, 33849 32830, 33852 32835, 33856 32840, 33859 32837, 33858 32832, 33861 32833, 33862 32836, 33859 32838, 33859 32834, 33857 32834, 33859 32834, 33857 32838, 33861 32833, 33861 32837, 33864 32840, 33866 32841, 33866 32843, 33868 32841, 33871 32839, 33874 32844, 33876 37844, 33881 37849, 33883 37854, 33883 37859, 33888 37860, 33893 37864, 33898 37864, 33895 37867, 33896 38867, 33898 38863, 28898 38868, 28901 39868, 33901 39873, 33898 39875, 33900 39879, 33904 39877, 33904 39879, 33909 39883, 33914 39888, 33910 39891, 33910 39892, 33907 39894, 33911 39899, 33913 39900, 33910 39904, 33914 39905, 33917 39906, 33917 39906, 33917 39906, 33912 39911, 33912 39908, 33916 39907, 33914 39910, 33918 39913, 33922 39913, 33924 39916, 33925 39920, 33930 39920, 33933 39922, 33934 39923, 33937 39919, 33938 39916, 33936 39913, 35936 39918, 35933 39919, 35937 39921, 35941 39924, 35941 39919, 35942 39915, 35946 39920, 35946 39915, 35946 39912, 35947 39908, 35947 39912, 35947 39916, 35952 39919, 35957 39921, 38957 39920, 38962 39925, 38964 39924, 38964 39924, 38969 39926, 38969 39928, 38972 39932, 38977 39932, 38975 39932, 38979 39935, 38982 39938, 38986 39940, 38984 39943, 38985 39946, 38987 39947, 38989 39949, 38994 41949, 38990 41954, 38991 41958, 38994 41962, 38994 41966, 38994 41969, 38995 41974, 38999 41974, 38999 41974, 38996 41978, 38996 41983, 38999 41983, 39001 41986, 38996 41984, 39000 41989, 39000 41988, 5336 23410, 5332 23410, 5327 23407, 9327 23408, 12327 23412, 12327 23412, 12324 23410, 13324 23415, 13327 23420, 13328 23416, 13324 23418, 13329 23423, 13330 23426, 13331 23429, 13335 23426, 13339 23428, 23493 35553, 23492 35548, 23496 35550, 23501 35552, 23497 35553, 21497 35557, 21492 35560, 21494 35562, 21494 35560, 21496 35563, 21496 35568, 21496 35570, 21501 35570, 21504 35566, 21504 35571, 17504 35572, 17508 35577, 17509 35578, 17513 35582, 17514 35587, 17515 35592, 18515 35595, 18516 35596, 18517 35598, 18515 35600, 16515 35605, 16515 37605, 16515 37606, 16513 37608, 16515 37613, 16516 37615, 16520 37620, 16524 34620, 16526 34617, 16530 34619, 16530 34624, 16535 34628, 16537 34631, 16540 34632, 16541 34634, 16541 34635, 16544 34632, 16544 34637, 16546 34642, 16549 38642, 16549 38644, 16545 38649, 16545 38644, 16542 38644, 16545 38644, 16544 38645, 16548 38650, 16543 38653, 16543 38649, 18543 38652, 18546 38652, 18546 38657, 18546 38660, 18551 38655, 18549 38655, 18552 38660, 18549 38662, 23549 38667, 23546 38668, 23550 38672, 23550 38674, 28550 38676, 28551 38673, 28551 38677, 28547 38673, 28551 38674, 28556 38674, 28559 38678, 28562 38673, 28564 38678, 28564 38673, 28563 38673, 28566 38675, 28571 38675, 38781 44703, 38782 44699, 38780 44702, 38785 44704, 38787 44704, 38783 44705, 38784 44700, 38788 44695, 38791 44696, 38796 44696, 38801 44692, 38801 44697, 38805 44701, 38810 44701, 38808 44701, 38808 44704, 38805 44706, 38805 44710, 38804 44711, 38809 48711, 38810 48711, 38808 48711, 38812 48716, 38812 48713, 38812 48715, 38812 48715, 38808 48711, 38804 48714, 38805 48710, 38807 48715, 38812 48715, 38807 48713, 38811 48714, 38811 48714, 38816 48711, 38817 48707, 38818 48707, 38818 48708, 38822 48708, 38824 48713, 38822 48714, 38820 48718, 38824 48720, 38824 48723, 38829 48726, 38830 48731, 38834 48729, 38832 48734, 38833 48730, 38834 48728, 38831 48732, 8433 35536, 8433 35541, 4433 35536, 4436 35541, 4440 35541, 4441 35537, 4445 35539, 4444 35534, 4447 35531, 4451 35531, 4455 35534, 4460 35534, 4461 39534, 4462 39535, 4463 39535, 4466 39535, 4470 39535, 4472 39538, 4467 39538, 4467 39536, 4471 39536, 4473 39541, 4468 39542, 4472 39543, 4475 39544, 4478 39544, 4482 39547, 4487 39552, 4485 39550, 4486 39551, 4486 39553, 4486 39555, 4488 39557, 4488 39558, 4489 39555, 4485 39557, 4488 39558, 4492 39560, 4495 39561, 4500 39565, 4496 39566, -4747 22349, -4750 22349, -4746 22352, -4742 22355, -4738 22360, -4739 22362, -4737 22365, -4732 22363, -4728 25363, -4728 25364, -4723 25364, -4725 25364, -4725 25365, -6725 25364, -6727 25369, -6728 25369, -6725 25369, -6729 25368, -6728 27368, -6725 27370, -6721 27371, -3721 27367, -3717 27372, -3718 27375, -3716 27370, -3715 27373, -3714 27373, -3712 27376, -3709 27374, -3710 27375, -3710 27374, -3708 27379, -3706 27381, -3705 27386, -3704 27389, -3704 27393, -3703 32393, -3702 32396, -3702 32396, -3697 32395, -3697 32399, -3692 32403, -3692 32404, -3693 32408, -3693 32412, -3691 32414, -3691 32414, -3695 32414, -3690 32417, -3689 32422, -3684 32424, -3681 32429, -3679 32424, -3676 32428, -3671 32428, -3674 32431, -3671 32430, -3669 32430, -3674 33430, -3676 33432, -3674 33432, -3677 33432, -3677 33437, -3675 33438, -3674 33442, -3679 33444, 1321 33448, 1323 33445, 1327 33448, 1331 33443, 1328 33448, 1328 33443, 1329 33443, 1329 33444, 1334 33448, 1335 33453, 1340 33457, 1340 33454, 1345 33454, 1349 33458, 1348 33461, 1348 33459, 1344 33463, 1343 33466, 1348 33466, 1349 33467, 1345 33467, 1346 33466, 1350 33461, 1349 33464, 1354 33468, 1358 33472, 1363 33473, 1365 33472, 1367 33473, 1370 33476, 1371 33479, -2629 33482, -2631 33487, -2627 33490, -2630 34490, -2626 36490, -2623 36492, -2619 36492, -2622 36492, -2620 36496, -2622 36495, -2627 36495, -2625 36500, -2621 36503, -2626 36506, -2629 36510, -2624 36510, -2620 36510, -2620 36513, -2617 36518, -2622 36516, -2619 36514, -2617 36514, -2617 36512, -2615 36516, -2613 36516, -2613 36517, -2613 36515, -2613 36510, -2610 36511, -2607 36515, -2604 37515, -2604 37512, -2608 37509, -2605 37512, -2600 37516, -2597 37516, -2593 37514, -2595 37515, -2590 37519, -2595 37518, -2590 37523, -2590 37528, -2590 37530, -2592 37525, -2592 37520, -2589 36520, -2586 36521, -2587 36517, -2584 36518, -2582 36518, -2581 36520, -2577 36518, -2576 36522, -2576 35522, -2573 35523, -2575 35523, -2576 35528, -2576 35533, -2576 35536, -2576 35538, -2578 35541, -2582 35545, -2584 35546, -2585 35548, -2583 35544, -2583 35548, -2582 35547, -2578 35552, -2574 35554, -2569 35557, -2565 35559, -2563 35564, -2558 35564, -2555 35568, -2551 35568, -5551 36568, -5546 36568, -5542 36569, -5545 36569, -5543 36574, -5540 36569, -5541 36570, -5541 36572, -5541 36574, -5538 36579, -5535 36581, -5533 36585, -5530 36584, -5526 36579, -5524 38579, -5524 38580, -5524 38575, -5520 38575, -5516 38580, -5512 42580, -5508 42585, -5510 42587, -5510 42586, -5505 42586, -5508 42589, -2508 42593, -2509 42596, -2506 42598, -2504 42601, -2501 42602, -2501 42607, -2496 42612, -2499 42615, -2498 42620, -2500 42617, -2500 42620, -4500 42620, -4500 42624, -4500 42626, -4504 42623, -4507 42625, -4509 42628, -4513 42629, -4508 42629, -4505 42632, -4500 42628, -4499 42633, -4503 45633, -4501 45634, -4497 45635, -4494 45634, -4495 45632, -4493 45634, -4492 46634, -4489 46638, -4485 46633, -4481 46635, 21338 40536, 21343 40537, 21348 40538, 21348 40540, 21347 40540, 21348 40540, 21347 40540, 21346 40542, 21349 40547, 21350 40547, 21353 40544, 21353 40546, 21350 40549, 21353 40550, 21354 40550, 21355 40550, 21360 40550, 21361 40549, 21361 40554, 21359 40559, 21364 40564, 21366 40559, 21365 40559, 21366 40564, 25366 40568, 25367 40570, 25370 40570, 25373 45570, 25374 45571, 25374 45566, 25378 45568, 25383 42568, 25387 42564, 25391 42568, 25391 42572, 25395 42576, 25392 42576, 28392 42573, 28391 42574, 28387 42578, 28388 42580, 28391 42581, 31391 42582, 31387 42586, 31389 42586, 31392 42582, 31393 42583, 31394 42580, 29394 42584, 29398 42586, 29400 43586, 29404 43588, 29408 43589, 29409 43591, 29413 43596, 29415 43598, 29416 43599, 25416 43604, 25414 43599, 25417 43603, 25422 43606, 25420 43608, 25425 43603, 25428 43603, 25431 43606, 25436 42606, 25431 42608, 25434 42604, 25437 42609, 25438 47609, 25442 50609, 25443 50614, 25441 50618, 25446 50621, 25449 50625, 25446 50628, 25446 50630, 25447 50631, 25452 50636, 25452 50632, 25453 50634, 25453 50636, 25456 50637, 25460 50641, 25464 50645, 25465 50644, 25465 51644, 25469 51648, 25471 51653, 25475 51654, 25476 51657, 25477 51658, 26477 51662, 26477 51666, 26476 51669, 26478 51669, 26483 51665, 26485 55665, 26487 55668, 30487 55671, 30487 55674, 30491 55675, 30491 55672, 30493 55674, 30494 55674, 30495 55679, 30499 55679, 30503 55675, 30505 55680, 30502 55681, 30500 55676, 30496 55679, 30501 55680, 30502 55680, 30507 55685, 30503 55688, 30498 55689, 30502 55689, 30504 55691, 30508 55696, 30509 55697, 30508 55696, 30513 55697, 30518 55698, 30516 55703, 30516 55705, 30514 55705, 34514 55709, 34518 55712, 34522 55708, 34520 56708, 34521 56708, 34522 56710, 34519 56710, 34517 56705, 34521 59705, 34524 59710, 34524 59712, 34524 59717, 34528 59719, 34530 59721, 34535 59716, 34540 59719, 34540 59721, 34543 59721, 34548 59724, 34550 59725, 34554 63725, 34549 63730, 34551 63732, 34556 63730, 34558 63730, 34559 63725, 34558 63729, 34563 63734, 34560 63734, 37560 63729, 37563 63733, 37567 63728, 37571 63724, 37575 63722, 37580 63726, 37579 63722, 37581 63724, 37581 63726, 37582 63723, 37582 63724, 37581 63728, 37576 63729, 37576 63731, 37578 63729, 37583 63733, 37585 63736, 37588 63736, 37592 63741, 37594 63738, 37599 63735, 37602 63734, 37598 63735, 37598 63737, 37602 63737, 37603 63739, 37598 63739, 37593 63736, 37598 63737, 37603 63742, 37604 63737, 37601 63742, 37596 63744, 37600 63748, 37605 63749, 37607 63751, 37609 63756, 37609 63760, 37605 63761, 37605 63765, 37606 63765, 37610 63762, 37611 63766, 37606 63768, 37606 63768, 41606 63769, 41602 63765, 41601 63765, 41602 63770, 41598 63770, 41601 63770, 41603 63774, 41606 63772, 41610 63772, 41613 63776, 41616 63771, 41611 63767, 41614 63769, 41617 63764, 38617 63768, 38617 63772, 38620 63772, 35620 63773, 35620 63778, 35619 63779, 35620 63780, 35615 63779, 35617 63784, 35614 63786, 35615 63783, 35616 63779, 35620 63778, 35621 63780, 35626 63782, 35626 63784, 35631 63789, 35631 63784, 35628 63785, 35626 63786, 35631 63788, 35636 63791, 35640 63786, 35636 63787, 35636 63782, 35635 63781, 35640 63786, 35643 63790, 35646 63795, 35650 63797, 35649 63797, 35651 63801, 35655 63805, 35656 63808, 35656 63808, 35658 63808, 35657 63810, 35660 63814, 35660 63809, 35664 63809, 35659 67809, 35660 67812, 35662 67815, 35666 67812, 35662 67807, 35660 67807, 35663 67807, 35665 67812, 35668 67814, 35672 67818, 35671 67817, 35671 67820, 37671 67824, 37666 67824, 2277 13367, 2280 16367, 2276 16367, 2277 16366, 2281 16366, 2284 16366, 2289 16370, 2286 16370, 4286 16370, 4288 16375, 4292 16379, 4296 18379, 4297 18381, 9297 18385, 9298 18385, 9301 18386, 9305 18383, 9307 19383, 9310 19379, 8310 19384, 8314 19384, 38748 37655, 38751 37656, 38756 37657, 38759 37660, 38755 37665, 38755 37665, 38760 37667, 38765 37668, 38765 42668, 38770 42670, 38767 42672, 38772 42668, 38769 42663, 38770 42663, 38775 42658, 38773 42663, 38777 42665, 41777 42667, 41780 42669, 41783 42673, 41784 42671, 41781 42673, 41786 42676, 41783 42676, 41785 42676, 41782 42676, 41785 42679, 41786 42679, 41790 42680, 41794 42681, 41794 42679, 41795 42684, 41795 42680, 41798 42685, 41803 42689, 41806 42688, 41808 42689, 41806 42694, 41804 42696, 41807 42700, 41802 42701, 41804 42702, 41806 42704, 41811 42708, 41815 42709, 36815 42712, 36815 42708, 36812 42707, 36813 42709, 40813 42710, 40817 46710, 40818 46712, 40822 46712, 40820 46716, 40824 46721, 40827 46724, 40831 46728, 40829 46731, 40833 46731, 40835 46735, 40831 46737, 40832 46737, 36832 46742, 36832 46745, 36836 46748, 36833 46753, 36828 46752, 36824 46752, 36826 46755, 36821 46759, 36825 46762, 36825 46766, 36826 46770, 36824 46773, 36828 46776, 36833 46778, 36830 42778, 36835 42780, 36835 42781, 36840 42786)'))); +BEGIN; +DELETE FROM t1 WHERE p = 3; +UPDATE t1 SET g = ST_linefromtext('linestring(448 -689,453 -684,451 -679,453 -677,458 -681,463 -681,468 -678,470 -676,470 -678,468 -675,472 -675,472 -675,474 -674,479 -676,477 -675,473 -676,475 1324,479 1319,484 1322,483 1323,486 1323,491 1328,492 1325,496 1325,498 1325,501 1330,498 1331,500 1331,504 1330,508 1329,512 1332,513 1337,518 1339,518 1339,513 1344,513 1344,512 1346,514 1351,515 1353,519 1358,518 1362,522 1365,525 1360,526 1362,527 1362,528 1367,525 1371,528 1366,532 1369,536 1374,539 1377,543 1379,539 1381,541 1382,543 1383,546 1388,549 1393,554 1393,554 1395,554 1392,550 1394,550 1392,546 1394,549 1397,550 1393,549 1394,554 1390,554 1391,549 1396,551 1396,547 1400,547 1402,551 1407,554 1412,554 1415,558 1418,463 -681,465 -677,465 -675,470 -670,470 -665,470 -660,470 -659,473 -656,476 -656,481 -655,482 -652,486 -654,486 -652,486 -648,491 -646,490 -651,494 -646,493 -644,493 -644,490 -644,491 2356,495 2359,495 2364,500 2359,503 5359,504 5364,509 5368,504 5367,499 5368,498 5371,498 5369,500 5370,504 5370,508 5370,511 5370,507 5374,508 5378,511 5382,507 5387,509 5389,512 5388,515 5393,520 5396,517 5397,517 5402,515 5404,520 5402,521 5405,525 5405,526 5408,530 7408,535 7413,533 7415,529 7412,532 7416,4532 7416,4534 7421,4533 7417,4536 7413,4536 7418,4540 3418,4545 3418,4549 3415,4551 3419,4554 3421,4559 3423,4559 3426,4557 3424,4561 3428,4558 3428,4563 3431,4565 3435,4569 3439,4569 3439,4569 3444,4567 3444,4572 3446,4577 3447,4581 3444,4581 3448,4584 3448,4579 3447,4580 3450,4583 3449,4583 3453,4587 3455,4588 3458,4593 3463,4598 3465,4601 3468,4598 3464,4598 3460,4593 5460,4595 5461,4600 5464,4600 5465,4601 5466,4606 5466,4608 5466,4605 5464,4608 5467,4607 5468,4609 5465,4614 5461,4618 5463,4621 5467,4623 5470,4622 5470,4622 5470,4625 6470,4627 6471,4627 6472,4627 6473,6627 6474,6625 6474,6628 6477,6633 6481,6633 6480,6637 6475,7637 6479,7638 6482,7643 6487,7644 6492,7647 6492,7648 6495,7646 6498,7650 6499,7646 6494,7644 6499,7644 6497,7644 6499,7647 6502,7649 6504,7650 6501,7647 6503,7649 6504,7650 6508,7651 6503,7652 6508,7655 6508,7650 6511,7655 6515,7658 6513,7663 6513,7665 6514,7669 6512,7667 6510,7664 6510,472 -675,477 -670,479 -666,482 -663,484 -668,484 -666,485 -664,481 -664,479 -659,482 -659,484 -658,483 -659,488 2341,493 2339,489 2338,491 2342,491 2346,494 2346,490 2348,493 2348,498 2349,498 2350,499 2349,502 2350,503 2348,506 2348,506 2348,507 2353,507 2355,504 2359,504 2364,504 2361,499 2365,502 2360,502 2358,503 2357,504 2353,504 2357,500 2356,497 2355,498 2355,500 2359,502 2361,505 2364,508 2364,506 2368,506 2370,504 2373,499 2373,496 2372,493 2377,497 2380,495 2383,496 7383,493 7386,497 7391,494 7387,495 7389,498 7392,498 7392,495 7395,493 7398,498 7401,498 7403,503 7400,498 8400,501 8401,503 8401,503 8401,501 10401,496 10396,491 10401,492 10399,493 10403,496 10403,491 10403,493 10407,489 10410,493 10407,489 10403,498 7403,497 7399,496 7403,500 7405,500 7407,503 7411,508 7415,511 7415,511 7420,515 7420,520 7423,523 7423,520 7427,523 7427,523 7427,522 7432,525 4432,527 4434,530 4437,534 4441,529 4446,529 4441,534 4436,537 4436,535 4437,532 4437,534 4432,535 4429,538 4430,542 4427,542 4431,538 4431,541 4431,541 4433,543 4433,545 4432,549 4428,552 4426,556 4427,557 4423,560 4427,561 4428,558 4430,559 4434,559 4432,561 4434,561 4437,563 4435,559 4430,561 4435,4561 4437,4566 4441,4568 4446,4568 4450,4569 4455,4565 4458,4561 4463,4561 9463,4564 9463,4565 9461,9565 9463,9560 9467,9560 9466,9555 9469,9555 9471,9559 9469,9557 9473,9553 9478,9555 9480,9557 9481,9557 9481,9557 9483,9562 9487,9558 9487,9558 9490,9561 9493,9562 9493,9557 9493,9560 9496,9555 9501,9553 9503,9553 9506,9557 9510,9558 9511,9561 9514,9563 9512,9568 9514,9567 9514,9567 13514,9570 13517,9566 13521,9571 13521,9571 13526,9573 13521,9571 13521,9576 10521,9580 10526,9582 10525,9584 10528,9584 10531,9584 10533,9589 10533,9588 10537,9588 10541,9589 10542,9593 10544,9595 10540,9597 10541,9600 10545,9601 15545,9603 15549,9605 15553,9601 15558,9601 15553,9605 15551,9605 15550,9605 15554,9607 15556,9605 15556,9604 15561,9607 15559,9603 15559,9603 15562,9604 15563,9608 15566,9612 15570,9617 15565,9622 15568,9627 15566,9628 15564,9629 15564,9633 15569,9636 15569,9634 15571,9634 15572,9636 15574,9634 15570,9629 15570,9631 15567,9629 15570,9626 15574,9626 15575,498 7401,502 7401,506 7397,506 7395,502 7398,497 7401,502 7402,505 7397,508 7400,504 7404,3504 7409,3505 7405,3508 7410,3511 7413,3511 7416,3511 7419,3511 7419,3513 7421,3517 7424,3519 7426,3520 11426,3523 11421,3527 11418,3530 11415,3530 11416,3533 11418,7533 11415,7531 11415,7531 11417,7536 11420,7541 11424,7543 11425,7543 11427,7543 11429,7540 11429,7542 11425,7541 11420,7542 11421,7542 11422,7540 11424,7540 11423,7543 11422,7546 11426,7550 11431,7553 11436,7555 16436,7553 16438,7558 16438,7559 16438,7560 16439,7565 16437,7560 16435,7563 16435,7566 16440,7566 16444,7564 16447,7559 16443,7561 16443,7566 16448,7570 16451,7574 16456,7578 16459,12578 16459,12578 20459,12577 20456,12581 20454,12585 20456,12585 20456,12585 20456,12583 20456,12579 20459,12580 20461,12580 20462,12580 20460,12585 20465,12586 20467,12590 20470,12590 20470,12589 20471,12584 20471,12589 20471,9589 20472,9594 20472,9595 20472,9596 20477,9598 20482,9603 20480,9608 20484,9613 20484,9610 20486,9608 20488,9608 20489,9610 20489,9614 20486,9619 20481,9620 20481,9618 21481,9621 21483,9626 21483,9628 21485,9623 21487,9622 21490,9626 21493,9621 21495,9626 21498,9622 21499,9624 21504,9625 21499,9629 21501,9633 21498,9637 21495,9639 21498,9644 21501,9557 9481,9560 9485,9561 9490,9563 9488,9560 9486,9558 9488,9561 9492,9563 9495,9567 9492,9567 9488,9564 9490,9559 9495,9559 9498,9557 9502,9562 9506,9564 9509,9569 9512,9569 9516,9569 9518,9569 9515,9571 9513,9571 9512,9573 9513,9578 9516,9581 9516,9585 11516,9585 11521,9590 10521,9586 10524,9589 10529,9589 10527,9589 10527,9594 10532,9594 10534,9598 10536,9598 10540,9600 10542,9604 10538,9607 10538,9609 10543,9613 10538,9613 10533,9613 10537,9610 10537,9614 10542,9609 10542,9610 10543,9610 10548,9611 10553,9616 7553,9620 7553,9621 7557,9618 7559,9618 7554,9622 7557,9622 7561,9622 7556,9622 7560,9619 7560,9620 7565,9622 7563,9627 7566,9630 7570,9630 7571,9632 7573,9637 7576,9639 7578,9640 7576,9640 7579,9640 7575,9642 7570,9646 7570,9651 7574,9653 7577,9652 7572,9653 7576,9653 7576,9651 7581,9656 7585,9660 7586,9659 7591,9657 7594,9661 7598,9664 7602,9668 12602,9673 12604,9676 12606,9679 12602,9682 12605,9677 12610,9674 12606,9674 12601,9674 12603,9672 9603,9668 9605,9671 9606,9668 9611,9668 9606,9671 9611,9675 9615,9677 9620,9678 9622,9679 9624,9684 9626,9685 9627,9685 9622,9685 9626,9689 9628,9694 9633,9699 9637,9699 9637,9704 9636,9708 9637,9709 9638,9707 9639,9705 9642,9707 9647,9710 9649,9711 9653,9716 9649,9716 9648,9720 9650,9721 9648,9723 9648,9726 4648,12726 4653,12731 4655,12734 4660,12730 4661,12733 4664,12733 4665,12735 4670,12737 4674,12741 4674,12738 4675,12740 4675,12737 4675,12742 4678,12743 4681,12746 4677,12751 4675,559 4430,563 4430,565 4435,566 4440,561 4445,562 4447,564 4450,561 4453,563 4453,561 4458,561 4458,562 4453,566 4454,571 4458,571 4460,574 4461,574 4464,579 4466,579 4470,582 4468,586 4470,590 4468,593 4468,594 4470,596 4474,591 4475,591 4480,594 4482,597 4486,593 4486,595 4486,598 4490,600 4492,3600 4497,3598 4497,3598 4494,3599 4493,3600 4497,3600 4494,3604 4498,3604 5498,3600 5497,3602 5493,3602 10493,8602 10498,8606 10494,8605 10495,8606 10496,8605 10500,8605 10500,8603 10499,8601 10502,8602 10505,8603 10501,8608 10503,8608 10508,8609 10503,8610 10505,8613 10504,8615 10506,8616 10508,8612 10513,8613 10517,8615 10520,8617 10521,8621 10524,8624 10524,8624 10524,8624 10519,8625 10514,8626 10519,502 7402,503 7399,506 7404,543 1379,548 1379,550 1380,553 1379,558 1376,556 1376,558 1372,559 1372,560 1377,565 1374,568 1375,568 1379,572 1382,570 1384,575 1386,576 1389,576 1394,579 1398,583 1403,586 1401,586 1401,591 1400,593 1402,598 1407,601 1412,546 1394,550 1396,553 1396,555 1394,4584 3448,4585 3450,4583 3450,4588 3451,4590 3449,4595 3449,4599 3454,4603 454,5603 458,5604 458,5605 453,5610 457,5614 459,5619 463,5621 466,5618 466,5623 465,5627 466,5625 471,5626 476,5630 479,5635 484,9635 488,9639 488,9641 483,9644 484,9649 484,5649 488,5649 492,5651 497,5656 497,5661 499,5665 504,5666 500,5666 497,5666 499,5666 499,5666 501,5670 502,5670 504,5670 507,5673 502,5677 506,4677 507,4682 509,4682 511,3682 510,3679 514,3683 510,3686 515,3684 518,3686 522,3689 527,3690 527,3688 529,3690 533,3692 530,3691 532,3695 529,3696 529,3701 533,3701 535,3699 540,9610 10543,9612 10545,9615 10548,9617 10548,9619 10550,9624 10548,9627 10549,9625 10553,10625 10553,10626 10555,500 7407,500 7407,500 7411,505 7413,505 7411,502 7415,504 7415,508 7411,511 7411,506 7412,506 7410,3506 7411,3507 7415,3509 7417,3511 7417,3513 7418,3516 7422,3518 7422,3518 7426,3513 7430,3515 7435,3520 7435,3521 7437,3526 9437,3526 9434,6526 9437,6526 9438,6526 9438,6527 9441,6528 9439,6523 9441,6518 9445,6522 9446,6526 9447,6529 9451,6529 9455,6530 9459,6532 9457,3532 9460,3536 9461,3537 9466,3541 9466,3544 9466,3546 9468,3549 9467,3553 9470,3551 9470,3551 9474,3552 9473,3547 9473,3547 9473,3547 9476,3552 9481,3553 9486,3555 9490,3556 9491,3559 9495,3560 9493,3563 9494,3563 9494,3565 9495,3565 10495,3568 10496,3573 10501,3574 10501,3576 10502,3578 10503,3578 10504,3580 10508,7580 10505,7578 10508,7578 10511,7578 10508,7581 10508,7582 10511,7577 10510,7577 10514,7573 10516,7578 10520,7580 10525,7581 10530,7585 10532,7590 10535,7594 10540,12594 10540,12591 10545,12595 10548,12595 10543,12597 10547,12597 10542,12595 10545,12595 10546,12600 10550,12605 10550,12606 10546,12604 10548,12605 12548,12605 12546,12607 12548,7607 12552,7611 12557,7608 12557,7608 12553,7611 12553,7610 15553,7608 15550,7610 15551,7607 14551,7607 14556,7606 14561,7602 14561,7602 14566,7601 14565,7606 14565,7605 14570,7608 14568,7609 14571,7613 14572,7614 14572,7616 14574,7613 14573,7615 14570,7618 14570,7615 14574,7617 14575,7614 14578,7616 14582,7617 14584,7617 14584,7618 14589,7622 14590,7619 14592,7624 14593,7628 14596,7632 14601,7627 14601,7629 14603,7629 14603,7630 14608,7631 14611,7626 14611,7628 14611,7628 14616,7624 14617,7619 14618,7624 14618,7626 16618,10626 16620,10624 16620,10629 16619,10633 16624,10636 16624,10638 16624,10643 16624,7643 16625,7643 16630,7643 16625,7647 16629,7648 16628,7649 16633,7650 16633,7650 16634,7645 16635,7646 16632,7642 16635,7643 16635,7643 16630,7638 16634,7640 21634,7645 21633,7650 21634,7651 21639,7652 21641,7655 21636,7651 21640,7654 21635,7655 21637,7660 21640,7656 21643,7661 21644,7663 21645,7667 21642,7669 21644,7674 21645,7674 21649,7677 21647,7672 22647,7672 22650,7667 22650,7667 22647,7671 22646,7672 22648,7673 22651,11673 22653,11672 22654,11670 22652,11671 22656,11673 22656,11674 22654,11678 22658,11678 22656,11675 22659,11680 22659,11685 22664,11687 22659,11687 22664,11687 22664,11692 22669,11696 22673,11701 22678,11696 22683,11696 22687,11691 22688,11695 22683,11691 22688,11696 22691,11695 22691,11700 22695,11702 22693,11705 22696,11710 22699,15710 22700,15712 22704,15707 22708,15712 22708,15715 22708,15720 22709,15725 22712,15723 22714,15724 22719,15727 22718,15727 22718,15731 22713,15730 22715,15734 22717,18734 22722,18729 22724,18725 22728,18729 22732,18733 22734,18736 22730,18740 22733,18740 22735,18742 22731,18741 22732,18744 22736,18749 22735,18754 22739,18754 22741,18756 22745,18758 22746,18760 22750,18764 22751,18764 22753,18764 22754,18767 22750,18767 22753,18767 22756,18772 22761,18777 22757,22777 22757,22780 22760,22776 22758,22776 22760,22772 22760,22775 22760,22777 22762,22774 22759,22775 22764,22772 22764,22767 22766,22768 22771,22771 22771,9589 10527,9593 10528,9598 10533,9600 10534,9597 10534,11597 10535,11602 10539,11603 10544,11598 10543,11601 10543,11605 10544,11609 10545,11611 10542,11615 10540,11615 10542,11616 10544,11619 10544,11621 10544,11623 10542,11619 10544,11620 10549,11616 10549,11618 10550,11619 10552,11622 10555,11622 10556,11623 10556,11621 10556,11625 10561,11625 10564,11625 10566,11628 10563,11630 10567,11628 10572,11626 10575,11628 10575,11632 11575,11636 11576,11638 11577,11638 11578,11638 11581,11639 11579,11643 11574,11646 11573,11650 11574,11647 11579,11648 11580,11653 11581,9571 9513,9571 9516,9571 9516,9574 9521,9572 9525,9573 9528,9573 9529,9578 9531,9583 9526,9581 9531,9576 9535,9578 9533,9583 9535,9583 9539,9587 9544,9590 14544,9595 14544,9598 14545,6598 14549,6598 14551,6599 14552,11599 14556,11602 14558,11598 14558,11598 14561,11602 14565,11603 14565,11603 14564,11603 14568,11604 14573,11605 14568,11607 14568,11607 14570,11607 14572,11607 14567,11611 14572,11611 14571,11607 14571,11609 14569,11605 14569,11606 14570,11606 14573,11607 14577,11610 14578,11609 16578,11609 16582,11607 16579,11605 16581,11606 16576,11605 11576,11608 11578,11610 11583,13610 11583,13614 11578,13616 11582,13617 11587,13617 11583,13621 11585,13626 11589,13621 11589,13621 11591,15621 11591,15625 11591,15630 11595,15631 11596,15634 11598,15638 11603,15642 11608,15643 11612,15642 11614,15646 16614,15648 16610,15648 16614,15648 16614,15647 16614,15652 16611,15654 16616,15655 16611,15651 16612,15655 16615,15659 16617,18659 16616,18660 16611,18660 16616,18664 16621,18668 16626,9673 12604,9674 12605,9676 12605,9679 12605,9682 12606,9680 12606,9680 12609,9681 12612,9684 12616,9688 12620,9691 12624,9686 12621,9686 12625,9686 12630,9684 12634,9686 12634,9687 12639,9686 12637,9683 12634,9685 12632,9689 12632,9689 12629,9692 12629,9692 12632,9695 12636,9693 12641,9692 12645,9692 16645,9694 16646,9698 16650,9698 16651,9693 16651,9693 16652,9693 16655,9692 16652,9693 16655,9689 16658,9689 16658,9692 16661,9696 16665,9698 14665,9701 14668,9702 14664,9703 14663,9702 14667,9707 14667,9711 14672,9716 14673,9719 14677,11719 14673,11720 14674,11721 14672,11725 14672,11729 14667,10729 18667,10732 18667,10727 18669,10730 18665,10732 18670,10737 18665,10737 18670,10742 18674,9742 18674,9741 18675,9742 18676,9746 18678,9751 18677,11751 18679,11751 18684,11753 18687,11757 18692,11757 18690,11761 18691,11761 18692,11766 18697,11769 18701,11771 18696,11774 18697,11774 18701,8613 10517,8611 10522,8611 10522,8616 10521,8619 10523,8622 10521,8623 10518,8623 10518,8624 10518,8624 10521,8629 10523,8633 10518,8635 10514,8640 10514,8642 10514,8646 10514,8647 10517,8644 13517,8649 13518,8653 13522,12653 13522,12653 13526,12657 18526,12653 18527,12657 18532,12660 18535,12656 18537,12660 18539,12658 18537,13658 18541,13657 18545,13657 18547,13660 18551,13665 18554,13665 18556,13665 18559,13665 18556,13668 18560,13672 18564,13672 18566,13676 18568,13676 18568,16676 18568,16681 18568,16678 18568,16682 18573,16681 18577,16686 18575,16686 18571,16686 18576,16684 18578,16684 18578,16681 18581,16684 18584,16683 18586,16687 18581,16682 18583,16677 18582,16676 18583,16681 18585,16679 14585,16677 14590,16682 14591,16686 14587,16691 14587,16696 14585,16696 14583,16697 14587,16702 14589,16704 14594,16699 14594,16704 14594,16704 14599,16705 14604,16708 14608,16713 15608,16717 15613,16721 15618,16721 15623,16724 15628,19724 15630,19726 15627,19729 15628,19725 15626,19720 15631,19724 15635,19728 15634,19729 15632,19730 15630,19733 15633,19734 15634,19736 15636,19741 15634,19739 15634,19744 15634,19749 15630,21749 15633,21747 15637,21749 15641,21749 15641,21745 15645,21748 15650,21749 15655,21751 15660,21753 15660,21755 15656,21752 15658,21751 15658,21753 15658,21754 15661,21754 15665,21754 15667,21757 15668,21753 16668,21753 16670,21757 16673,21759 16670,21756 16670,21760 16673,21757 16676,21761 16680,21765 16685,21768 16686,21769 16690,21769 16688,21769 16686,21766 16686,21768 16688,21773 16687,21778 16690,21781 16690,21780 16694,21780 16693,24780 16695,24777 16700,24782 16702,24787 16701,24787 16697,24787 16700,24792 16704,24787 16701,24788 16701,24789 16706,24792 16706,24797 16706,24800 16710,24805 16711,24805 16715,24810 16710,24809 16714,24813 16717,24817 16718,24817 16720,24819 16722,24815 16725,24812 16727,24811 16727,24814 16730,24819 16726,24821 16729,24826 16731,24830 16736,23830 16741,23826 16746,23827 16747,23829 16749,23833 16752,23835 11752,27835 11757,27837 11756,27834 11756,27835 11757,27838 11759,27833 11763,27834 11766,27839 11770,27844 11770,27849 11772,27849 11773,27849 11773,27854 11777,7581 10530,7582 10533,7581 10529,7583 10530,7584 10529,7584 10533,7582 10535,7586 10535,7589 10530,7592 10526,7592 10529,7589 10525,7592 10528,7596 10524,7600 10529,7602 10530,7599 10530,7594 10531,7598 10526,7601 10531,7605 10535,7609 10539,7612 10544,7610 10544,7612 10540,7608 10541,7610 15541,7613 15546,7617 15548,7618 15547,7620 15544,7620 15546,7621 15547,7624 15551,7628 15554,7631 15558,7631 15553,7636 15556,7637 15558,7637 15554,7641 15556,7644 15556,7648 15559,7651 15560,7647 15563,7650 15564,7650 15559,7652 15561,7650 15562,7651 15562,7651 15567,7655 15568,7653 15569,2653 15573,2657 15577,2662 15579,2663 15582,2663 15587,2665 15589,2669 15589,2669 15587,2673 15591,2673 15595,2677 15597,2677 15599,2680 15601,2683 15606,2687 15606,2683 15609,2688 15606,2692 15607,2693 15607,2698 15610,2698 15611,7698 15613,7702 15616,7704 15618,7699 19618,7703 19620,7698 19624,7698 19624,7701 19627,7699 19628,7704 19624,7708 19622,7712 19617,7714 19615,7710 19612,7715 20612,3715 24612,3720 28612,3724 28610,3727 28610,3728 28608,3725 28603,3729 28605,3733 28604,3734 28603,3737 32603,3739 32606,3740 32609,3739 32613,3738 32613,3735 32615,3739 31615,3739 31610,3743 31606,6743 31601,6743 31603,8743 31601,8743 31605,8748 35605,8748 35610,8752 35615,8751 35615,8752 35620,8755 35620,8760 35620,8765 35624,8760 35627,8764 35626,8761 35631,8763 35635,8767 35636,8767 35632,8767 35635,8771 35630,8775 35631,8778 35632,8775 35632,3775 35633,3775 35637,3774 35639,3772 35641,8772 35645,8772 35645,8773 35648,8768 35651,8764 35651,8769 40651,8764 40653,8767 40653,8770 40654,8771 40657,8775 40658,8777 40663,8779 40666,8783 40670,8783 40674,8787 40675,8789 40670,8789 40674,8792 40672,8795 40675,8796 40672,8800 40676,8800 40676,8800 40679,498 7392,503 7390,504 7390,507 7395,509 7395,509 7397,514 7400,6529 9451,6529 9451,6524 9451,6527 9452,6527 11452,6527 11456,6528 11457,6529 11458,6531 11461,6535 11463,6535 11467,6530 11472,6532 11472,10532 11473,10533 11473,10537 11476,10540 11473,10540 11473,10544 11474,10544 11474,10544 11472,10544 11470,10539 11475,10539 11478,10542 12478,10545 12483,10546 12488,10547 12492,10552 12493,10552 12490,10556 12490,10558 12493,10560 12495,10555 12496,10557 12491,10556 12491,10556 12490,10553 12494,10558 12497,10559 12502,10564 12505,21753 16670,21754 16672,26754 16674,26757 16676,26761 16679,26756 16682,26761 16683,26763 16684,26766 16689,26771 16692,28771 16687,28774 16687,28776 16692,28777 16695,28781 16695,28785 16690,28789 16691,28786 16688,28789 16690,28792 16688,28793 16687,28795 16690,28793 16695,28791 16692,28793 16695,28790 16696,28790 16700,28792 16700,28793 16701,28794 16701,28794 13701,28796 12701,28799 12701,28799 12706,28800 12701,28801 12705,28803 12708,28807 12708,28808 15708,28810 15712,28811 15709,28813 15709,28813 11709,28817 11709,7618 14589,7620 14587,7625 14589,7626 14584,7631 14586,7632 14588,7637 14589,7642 14592,536 1374,540 5374,542 5378,542 5383,-2458 5388,-2457 5388,-2455 5393,-2452 5393,-2452 5391,-2448 5389,-2448 5390,-2449 5393,-2445 5388,-2441 5392,-2436 5397,-2432 5397,-2430 5397,-3430 5399,-3429 5404,-3430 5405,-3427 5407,-3422 5409,-3421 5411,-3421 5411,-3421 5407,-3417 5410,-3418 5410,-3422 2410,-3417 2414,-3416 2418,-3412 3418,-3407 3422,-3407 3426,-3406 3429,-3404 3433,-3403 3435,-3398 3439,-2398 3441,-2399 3442,-2397 3446,-2395 3447,-2394 3443,-2398 3445,-2398 3443,-2393 3446,-2391 3450,-2387 3451,-2390 3455,-2385 3457,-2383 3457,-2382 3462,-2379 3467,-2384 3467,-2383 3467,-2381 3470,-2383 3471,-2385 3474,-2383 3479,-2383 3481,-2383 3479,-2382 3484,-2380 3489,-2385 3487,-2384 3490,-2384 3490,-2383 3492,-2383 3495,-2378 3499,-2377 3495,-2378 3498,-2375 3500,-2375 3505,-2373 3503,-2373 3505,-2374 3505,-2374 3506,-2369 3511,-2364 3516,-2361 3516,-2356 3520,-2354 3524,-2353 3529,-2356 3533,-2351 3538,-2354 3542,-2349 3545,-2349 3547,-2347 3550,-2352 3547,-2355 3551,-2353 3556,-2353 3556,-2349 3554,-2352 3553,-2351 3558,-2348 3554,-2346 3556,-2344 3559,-2347 -441,-2352 -437,-2348 -440,-2345 -435,-2343 -440,-2343 -436,-2339 -432,-2339 -431,-2337 -429,-2337 -434,-2341 -431,-2345 -427,-2349 -426,-2350 -422,-2348 -418,-2344 -415,-2349 -415,-2345 -413,-2345 3587,-2344 3583,-2344 3580,-2339 5580,-2335 5583,-2336 5582,-2331 5587,-2330 5582,-2329 5582,-2337 -434,-2333 -433,-2330 -2433,-2327 -2435,-2331 -2433,-2328 -2433,-2328 -2429,-2325 -2429,-2320 -2428,2680 -2428,2684 -2424,2685 576,2685 579,2682 582,2684 584,2679 584,2674 585,2671 587,2673 583,2673 581,2677 581,2680 580,2681 584,2684 580,2681 582,2685 585,2690 583,690 587,691 584,694 584,694 585,692 583,694 584,693 588,28793 16695,28791 16694,28793 16698,28797 16703,28798 16707,28797 16712,28797 16715,28795 16717,28799 16712,28795 16710,28800 16707,28805 16705,28807 16702,28802 16705,28803 16701,28805 16703,28803 16698,28803 16700,28805 16704,28809 16699,28812 16702,28808 16703,28813 16700,28817 16703,28819 16704,28816 16709,28812 16708,28809 16708,28809 16707,28814 16709,28812 16712,28807 16717,28807 16717,28809 16717,28807 16717,28811 16717,28814 16722,28815 16719,28819 16719,28819 16724,28819 16726,28814 16727,28814 16722,28817 16726,28820 16730,28821 16730,28816 16733,28821 16737,28823 16741,28818 16741,28822 16744,28819 16747,28815 16748,31815 16748,31819 16748,31817 16746,31818 16749,31819 16747,31817 16748,31820 16746,31816 18746,31820 18746,31815 18742,31815 18744,31818 18740,31819 18735,31824 18735,31829 18738,31834 18742,31837 18745,31837 18748,31842 18749,31847 18749,31851 18749,31854 18750,31854 18749,31852 18752,31847 18754,31850 18758,31855 22758,31857 22760,31861 22759,31859 22761,31856 22764,31856 22768,31856 22768,31856 22770,31858 22765,31863 22766,31862 22770,31860 22772,31856 22776,31861 22775,31866 22780,31870 22780,31871 22782,31871 22779,31866 22781,31870 22781,31870 22786,31873 22786,31877 25786,31877 25791,31877 25796,31880 25800,31882 25804,31885 25809,31885 25812,31886 25815,31888 25815,31890 25820,31890 25821,31889 25821,31885 25817,31889 25814,31887 25815,31890 25819,31892 25820,31896 25816,31897 25817,31902 25818,31904 25823,31908 25825,31910 25828,31914 25825,31909 25825,31912 25829,31907 25829,31911 25834,31912 25838,31911 25837,31914 25837,31918 25836,31918 25831,31914 25831,31912 25826,32912 25830,32915 25833,32911 26833,32912 26834,32915 26839,32913 26839,32915 26835,32917 26837,32922 26832,32924 26834,32926 26835,32921 26840,33921 26835,33923 26836,33927 26837,33925 26833,33926 26836,33931 26837,33929 26837,33932 26842,33934 26842,33935 26847,33940 26850,33935 26848,33931 28848,33929 28852,33925 28849,33927 28849,33929 28852,33927 28850,33929 28854,33931 28854,33935 28854,28935 28854,28935 28849,28938 28854,28942 28855,28944 28860,28942 28861,28941 28863,28942 28860,28942 28856,28947 28858,28951 28857,28953 28861,28953 28860,28956 28863,28957 31863,28957 31867,28960 31869,28962 31869,28964 31872,28965 31877,28969 31881,28965 31882,28967 31886,28969 31888,28964 31892,28960 31895,28961 31893,28966 31896,28967 31901,28963 31903,28961 31908,28964 31908,28964 31904,28960 31904,28961 31905,28960 31905,28965 31906,28966 31909,28967 28909,28967 28909,28970 28910,28966 28914,28965 28918,28966 28918,9626 21498,9621 21498,9622 21501,9618 21504,9621 21505,9624 24505,9622 24505,9625 24508,9626 24511,9631 24516,7631 24512,7631 24507,7632 24506,7635 24504,7638 24507,7636 24502,7639 24507,7644 24508,7648 24512,7648 24512,7650 24512,7651 24514,7655 24517,7659 27517,10659 27520,10661 27524,10664 27523,10666 27528,10666 27523,10665 27524,10667 27529,9667 27534,9670 27534,9668 27534,9667 27533,9670 27533,9670 27538,9670 27540,9675 27538,9679 27538,9683 27543,9680 27538,9682 27540,9685 27545,9683 27546,9683 27547,9678 27548,9680 27548,9684 27549,9685 27545,9690 27546,9690 27548,9692 27550,9697 27553,9698 27557,9702 27553,9702 27548,9702 27549,9706 27551,9701 27551,9701 27551,9697 27546,9696 27549,9697 27553,9699 27557,9698 27558,9696 27560,9701 27556,9705 27552,32912 25830,32913 25829,32916 25830,36916 25828,36916 25831,36916 25835,39916 25837,39911 25842,39913 30842,39910 30844,39910 30845,39908 30848,39911 30852,39913 30856,39918 30857,493 10403,498 10406,498 10406,493 10406,497 10404,493 10409,493 10414,497 10416,496 10418,499 10423,500 10427,505 10429,510 10429,515 10431,515 10433,515 10433,512 10434,5666 500,5666 500,5668 505,5669 509,8669 2509,9669 2505,9672 2505,9675 2509,9670 2510,14670 2513,14675 2512,14671 2512,14673 2513,14671 2517,14674 2515,14679 2520,14676 2524,17676 2519,17677 2520,17678 2523,10558 12497,13558 12492,13558 12490,13560 12494,13561 12499,13563 12503,13568 12508,13572 12512,13572 15512,13573 15515,13569 15518,13566 15522,13571 15522,13572 15522,13575 15527,13576 15532,13573 15534,13575 15535,13572 15538,13574 15541,13571 15546,13571 15541,13568 15541,11605 16581,11608 16576,11613 16575,11612 16577,7612 16581,7614 16582,7617 16587,7616 16591,7617 19591,7619 19595,7620 19598,7624 19598,7625 19599,7624 19595,7625 14595,7627 14597,7626 14599,7628 14604,7628 14605,7633 14610,7632 14615,7632 14620,7631 14621,7631 14621,7631 14621,7627 14621,7632 15621,7635 15626,7636 15627,7637 15631,7633 15636,7635 15636,7631 15631,7631 15631,7634 18631,7630 18632,7629 18633,7632 18630,7633 18631,7638 18632,7638 18632,7638 18633,7633 18638,7637 18642,7639 18639,7639 18641,7643 18643,7647 20643,7648 20647,7643 20643,7648 20640,7649 20645,7650 20641,7650 20642,7650 20645,5650 20646,5654 20646,5654 20643,5651 20645,5648 20645,5653 20650,5653 20650,5654 20653,5655 20655,5659 20660,5664 20664,5668 20669,5668 20672,5670 20677,5675 20677,5678 20677,5680 20678,5680 20680,5679 20680,5682 20683,5681 20681,5682 20682,5685 20682,5685 20687,5685 20691,5685 20694,5685 20696,5685 20698,5686 20697,5688 20698,5688 20697,5688 20696,5689 20696,5694 20701,5695 20700,5697 20704,5697 20708,5694 20708,5694 20708,5694 20713,5691 20713,1691 20713,1689 23713,1694 23714,1696 23714,593 1402,593 1406,595 1410,598 1413,603 1418,602 1422,601 1422,602 1418,606 1423,607 1424,603 1429,605 1433,609 1429,614 1429,610 1429,610 1429,614 1429,610 3429,612 3425,616 3429,620 3429,624 3432,628 3436,628 3436,628 3441,632 3441,628 3445,626 445,631 449,631 453,630 455,626 -1545,630 -1542,630 -1538,630 -1542,630 -1541,633 -1536,631 -1534,626 -1536,630 -1535,630 -1532,635 1468,637 1471,642 1476,642 1477,642 1478,643 1481,643 4481,638 7481,638 7483,643 7486,645 7484,9668 27534,9669 27537,9671 27538,9672 27539,9673 27544,9674 27544,9673 27546,9671 27546,9667 27542,9666 27546,9667 27543,9672 27544,9675 27548,9676 27546,9676 27541,9681 27538,9681 27540,9686 27544,9686 27547,9690 27544,9687 27545,9691 27549,9693 24549,9694 24546,9692 24548,9697 24553,9694 24555,9695 24560,9696 24555,9700 24551,9704 24547,9703 24549,9705 24551,9705 24554,9705 24554,9705 24557,9707 24561,9706 24557,9711 24562,9715 24566,9720 24568,9717 24569,9720 24573,9725 24573,9726 24575,9729 24577,9734 24575,9735 24578,9735 24582,9731 24583,9726 24586,9727 24586,9728 24589,9733 24592,9734 28592,9734 28592,13734 28594,13737 28595,13740 28595,13744 28598,13739 28600,13742 28601,13744 28597,13742 28602,13744 28602,13744 28598,13745 28603,13744 28608,13749 28609,13749 28609,13754 28606,13758 28610,13759 28609,13760 23609,13761 23611,13763 23616,13768 23618,13769 24618,13768 24617,13773 24613,13773 24613,13778 24617,13776 24620,13778 24619,13779 24620,13781 24625,13785 24625,13785 24622,16785 24617,16786 24617,16790 24617,16794 24622,16795 24626,16798 24630,16796 24631,16796 24636,16799 24638,16804 24637,16808 24637,16809 24632,16814 24627,16809 24627,16814 24632,16818 24628,16816 24627,16820 24622,16820 24627,16824 24632,16823 24637,16824 24642,16826 24644,16824 24648,16826 24648,16826 24652,16829 24652,16829 24656,16828 24651,16832 24653,16827 24648,16828 24645,16828 24647,16831 24645,16832 24649,16835 24653,16839 24656,16839 24654,16840 24659,16841 24658,16845 27658,16845 27658,16840 27659,16837 27659,19837 27654,19841 27654,19836 27657,19839 27659,19839 32659,19839 32659,19839 32664,19840 32668,19842 32671,19847 32671,19851 32673,19856 29673,19856 29670,19858 29675,19860 29676,19865 29677,19868 29677,19868 29674,19872 29675,19872 29674,19874 29669,19876 29667,19876 29670,19878 29675,19883 29675,19883 29675,19879 29676,19879 29673,19880 29674,19880 29679,19876 29676,19876 29677,19879 29673,19880 29677,19879 29678,19881 29681,19882 29683,19882 29681,19887 29681,19888 29681,19891 29684,19896 29688,14896 29689,14896 29693,14899 30693,14903 30698,14908 25698,14910 25698,14911 25698,14914 25699,14910 25695,14910 25696,14914 25697,14917 25692,14921 27692,14925 28692,14920 28694,14924 28698,14924 28699,11924 28697,11928 28692,11932 28687,11937 28691,11941 28694,11940 28699,11944 28701,11940 28701,11940 28701,11943 28699,11945 28703,11947 28706,11951 28711,11953 28714,11956 28709,11961 28708,11966 28703,11969 28705,11967 28709,11967 28714,11964 28719,11969 28719,14969 28720,14970 28717,14973 28714,14976 32714,14976 32711,14977 32711,14980 32709,14984 32709,14987 32711,14988 32715,14993 32719,14994 34719,14994 34721,12994 34724,12994 34726,12998 34727,13000 34729,13002 34729,17002 34732,16998 34736,16999 34735,17000 34740,16999 32740,17001 32745,17001 32741,17005 32746,17006 32751,17010 33751,17008 33754,17013 33758,17013 33760,17010 33759,17010 33759,17009 33762,17013 33766,17017 33766,17020 33762,17015 33766,17019 33762,17022 33762,17017 33766,17014 33762,17018 33767,17019 33764,17021 33764,17023 33764,17019 33764,17022 33760,17024 33758,17029 33759,17033 33760,17028 33764,17023 33764,17028 33769,17031 33774,17034 33778,17029 33780,17034 33783,17030 33785,17032 33781,17035 33776,17038 33775,17040 33775,17041 33778,17045 33778,17049 31778,17050 31782,17052 31780,17054 31781,17051 31783,17053 31783,17049 31779,17050 31779,21050 31782,21053 31783,21054 31778,21056 31781,22056 31786,22052 31783,22050 31786,31882 25804,31887 25800,31887 25801,9610 10543,9612 10548,9614 10553,9614 10558,9614 10553,9616 10556,9620 8556,9623 8554,9628 8559,9630 8564,9630 8568,9628 8566,9628 8570,9630 8574,9634 8574,9634 8570,9635 8569,9635 8566,9632 8568,9637 8571,9638 8572,9639 8568,9643 8568,9646 8572,9646 8570,9651 8575,9650 8578,9653 8581,9654 8583,9653 8586,9655 13586,7655 13586,7660 13591,4660 13590,4663 13590,4666 13592,4671 13597,4673 13596,4678 13599,4682 13600,4685 13601,4683 13603,4685 18603,4683 18604,4685 18606,4690 18608,4690 23608,4693 23606,4693 23606,4697 23603,4702 23608,4704 23613,4704 23615,4709 23614,4708 23615,4711 23619,4711 23619,4713 23622,4713 23626,4711 23630,4715 23631,4712 23635,4714 23640,4718 23640,4719 23642,4721 23640,4721 23639,4726 23644,4730 23648,4725 27648,4723 27648,4727 27651,4731 27654,4733 27656,4737 27657,4742 27660,4745 27661,4750 27660,4751 27664,4754 27659,4759 27659,4755 27664,4757 27665,4752 27665,4754 27667,4750 27670,4750 27674,4753 27678,4753 27682,4758 27682,4758 27683,4760 27679,4762 27679,4764 27682,4769 27678,4773 32678,4773 32675,4771 32675,4767 32679,4772 32684,4775 32684,4778 32684,4775 35684,4775 35679,4775 35680,4779 35683,4779 35683,4784 35683,4789 35680,4790 35685,4791 35687,4791 35688,4792 35683,4792 35688,4792 35688,4797 35690,4799 35693,4803 35692,4803 35694,4803 35695,4808 35695,4812 35698,4816 35702,4815 35706,4811 35711,4811 35708,4813 35710,4813 35710,4814 35714,4815 35718,4820 35722,4816 35719,4819 35719,4824 35722,4826 35719,4830 35724,4832 35728,4835 35725,4840 35726,4840 35729,4840 35733,4840 35733,4841 35732,4844 35728,4848 35730,4849 35733,4849 35734,4849 35736,4847 35737,4847 35738,4843 34738,4846 34739,9846 37739,9850 37743,9853 37745,9857 37749,9852 37752,9852 37751,9852 37748,9852 37751,9851 37753,9848 37756,9843 37759,9841 37759,9840 37764,9837 37767,9842 37764,9845 37764,9840 37765,9842 37770,9842 37774,9846 37775,9851 37778,9854 37783,9854 37779,8854 37783,8851 37787,8856 37791,8859 37794,8860 37793,8855 37794,8857 37798,8859 37797,8860 37797,8860 37802,8861 37804,8863 37804,8863 37805,8865 37808,8866 37811,8866 37811,8862 37811,8859 37811,8864 37816,8864 37816,8867 37817,8872 37819,8867 37822,8871 37819,8875 37817,8876 37819,8876 37822,8871 37818,8873 37823,8877 37822,8879 37820,8880 37824,8881 37826,8884 37825,8887 37827,8884 37829,6637 6475,6637 6471,6635 6469,6640 6474,6641 6478,11641 6476,11644 6471,11639 6467,11638 6464,11642 6464,11646 6459,11647 6462,550 1394,551 1395,552 1399,548 1401,552 1400,547 1405,551 1406,556 1407,558 1410,558 1411,560 1413,565 1418,561 1423,-2378 3499,-2378 3502,-2378 3504,-2374 3501,-2371 3505,-2367 3507,4607 5468,4611 5471,4614 5472,4619 8472,4621 8473,4624 8477,4629 8474,4633 8476,4635 8478,4638 8475,4640 3475,4642 3479,4645 5479,4645 5482,4644 5486,4641 5486,4639 5488,4635 5491,4631 5488,8631 5485,8635 4485,8630 4488,8628 4488,8630 4486,8635 7486,8640 7482,8641 8482,8642 8483,8643 8483,8643 8483,8640 8488,8641 8489,8638 8487,8641 8491,500 5370,502 5368,504 5369,504 5371,506 5375,505 5376,509 5381,509 5381,504 5380,505 5375,509 5379,513 5382,513 5382,515 5382,517 5379,3517 5381,3519 5381,3520 5384,3523 5387,3521 5388,3521 5390,3520 5385,3519 5380,4519 5383,4524 5387,4523 5392,4525 5389,4530 5384,4525 5384,4526 5386,4531 5390,4531 5387,4530 5389,4534 5388,4538 5391,4541 5386,4542 5390,7542 5393,7547 5398,7548 5399,7547 5397,7543 5401,7544 5405,7545 5403,7545 5408,7546 5409,7550 5414,3550 5416,3550 5417,3548 5417,3543 5417,3543 5412,3548 5412,548 5412,552 10412,555 10414,557 10410,560 10411,563 10416,2563 10418,2564 10422,2559 10426,2555 10423,2560 10421,2563 10418,2565 10419,2569 10421,2573 10421,2573 12421,2572 12425,2571 12428,2576 12428,2581 12433,2583 12435,2581 12434,2576 12439,2581 12442,2581 12443,2581 12438,2579 12442,2575 12447,2573 12445,2577 12445,2582 12441,2587 12436,2589 16436,2590 16433,2586 16437,2586 16439,2588 16434,2589 16436,2590 16433,2593 16434,2590 16432,2593 16432,2590 16437,2594 16439,2599 16442,2600 16447,2605 16450,2605 16454,2604 16451,2608 16447,2612 16442,2613 16446,2618 16451,2623 16455,2626 16457,2629 16457,2630 16460,2630 16460,2632 16464,2636 16464,2639 16467,2638 16471,2643 16476,2643 16479,2645 16484,2645 16481,2649 16482,2652 16480,2648 16476,2649 16476,2649 16481,2644 16485,6644 16488,6647 16488,6647 20488,6647 20493,6652 20497,6656 20498,6661 20503,6656 20507,6656 20511,6656 20512,7540 11429,9674 12603,11674 12599,11675 12594,11674 12599,11678 12601,11681 12603,13681 12603,13684 12603,13684 12603,13686 12603,13689 12603,13693 12605,13695 12601,13695 12603,13697 12602,13701 15602,13703 15603,13704 15601,13706 15597,13711 15598,13711 15603,13715 15603,13714 15600,13713 15598,13717 15603,13722 15605,13726 15607,13727 15612,13727 15612,13731 15614,13733 15616,13728 15616,13730 15617,13734 15614,13736 15617,13739 15614,13739 15617,13739 15617,13741 15619,13746 15624,13742 15624,13742 15626,13746 15626,13750 15623,13749 15621,13754 15626,12754 15627,12750 15627,12753 15624,12754 15624,12758 15629,12759 15624,12761 15627,12764 15632,12765 15637,12768 15635,12772 15640,12769 15636,12772 15634,12773 15634,12772 15634,12775 15635,12772 15640,12774 15641,12777 15641,12779 15646,12780 15642,12776 15640,12780 15640,12779 15638,12784 15642,12789 15643,12787 15644,12788 15649,12791 15649,12789 15648,12787 15648,12791 15650,7791 15655,7795 15655,7798 15658,7802 15659,7803 15655,7804 15654,2804 15652,2808 15648,2806 15652,2805 15652,2806 15657,2801 15657,2801 15658,2801 15655,2803 15654,2808 15658,2804 15653,2803 15656,2807 15656,2812 15658,2814 15657,2818 15658,2818 15660,2822 18660,2825 18664,2829 18668,2833 18663,2832 18668,2832 18668,2834 18671,2836 18672,2839 18677,2843 18680,2848 18675,2851 18677,2854 18681,2859 18685,2864 18690,2868 18694,2873 21694,2877 21694,2879 21693,2881 21693,2882 21696,2885 21697,2883 21701,2887 21702,2887 21702,2887 21697,6887 21701,6892 21702,6888 21707,3576 10502,3578 10506,3582 10508,3585 10508,3590 10512,3592 11512,3593 11514,3598 11514,3602 11514,3599 11515,3599 11516,3601 11520,3601 11519,3599 11522,3599 11519,3601 11517,3600 11515,3600 11517,3596 11519,3600 11521,3603 11525,3606 11528,3607 11532,3608 11536,3606 11541,3605 11541,3605 11542,3609 11537,3613 11538,3609 11538,3605 11538,3605 11542,3609 11546,3613 11541,3613 11546,3612 11547,3611 11551,3614 11548,3610 11550,3611 11555,3611 11559,3615 11559,3618 11563,3621 11564,3618 11567,3620 6567,3624 6567,3627 6570,3623 6572,3619 6576,3616 6577,3611 6578,3612 6579,3609 6578,3610 6582,3613 6586,3614 6586,3619 6584,3622 8584,3617 8582,3622 8587,3622 8592,3624 8592,3627 8587,3628 13587,3629 13589,3631 13594,3636 13589,3636 13590,3637 13587,3637 13591,3641 13596,3641 13597,3645 13602,3640 13601,3640 13602,3640 13606,3644 13606,3644 13609,3639 13612,3639 13612,3644 13610,3649 13615,3654 13618,3659 13618,3662 13618,3666 13620,3661 13625,3660 13630,3660 13634,3662 13635,3659 13637,3663 13638,3666 13638,3669 13635,6669 13635,6671 13631,6672 13631,6669 13631,6667 13629,6663 13629,6663 13627,6663 13627,6667 13630,6671 13630,6671 13630,6673 15630,6674 15631,6679 15632,6682 15629,6685 15629,6686 15631,6691 15633,11691 15630,11689 15629,11693 15632,11693 15627,11698 15627,11695 15626,11697 15629,14697 15628,14701 15631,14705 15632,14700 15632,17700 15635,17705 15640,17700 15642,17701 15638,17703 15640,17708 15641,17712 16641,17716 21641,17716 21645,17721 21645,17720 21650,17720 21653,17720 21653,17722 21653,17718 21654,17721 21657,17723 21657,17724 21657,17720 21659,17723 21663,17725 21660,17725 21661,17723 21661,17727 21665,17727 21665,17731 21669,17729 21671,17731 21671,17727 21671,17727 21667,17726 21670,17722 21671,17727 21671,17732 21671,17737 21671,17739 21674,17741 21676,17746 21680,17750 21683,17745 21681,17745 21678,17750 21679,17753 21681,17758 21677,17760 21682,17764 21681,17763 21681,17763 21684,17766 21680,17768 21684,17764 21688,17769 21691,17771 21695,17773 21691,17776 21690,17777 21695,17781 21695,17784 21695,17784 21695,17786 21699,14786 21695,14786 21692,14786 21690,14788 21691,14788 21696,14793 21698,14798 21701,14796 21699,14800 21702,14796 21704,14800 26704,14805 26699,14810 26700,14810 26698,14814 24698,14814 24702,14814 24705,14815 24700,14819 24703,14822 24705,14826 24710,14831 24709,14833 28709,14835 28710,14838 28708,14839 28708,14842 28709,14847 28713,14843 28714,14847 28712,14850 28717,14847 28713,14851 28711,14854 28706,14853 28702,14848 28697,14852 28702,14857 28706,14857 28710,14858 27710,14861 27711,14864 27714,17864 27715,17864 27716,17864 27713,17869 27715,17870 27719,17871 27720,17869 27720,17872 27724,17871 27729,17873 27729,17875 27733,17877 28733,17881 28730,17881 28727,17884 28728,17886 28733,17886 28734,17891 28735,19891 28735,19892 28731,19896 28732,19891 28736,19895 28740,19898 28737,22898 28738,22898 26738,22898 26733,22899 26738,22900 26738,22901 26742,22901 26744,22896 26744,22899 26746,22901 26751,22899 26754,22904 26756,22906 26761,22909 26761,22914 26766,22915 26765,22918 26768,22913 26768,22915 26763,22920 26763,22917 26764,22921 26765,22922 26769,22918 26764,22920 26765,22919 26768,26919 26771,26922 26774,26927 26779,26924 26778,26924 26780,26920 26782,26924 26787,26922 26788,26925 26792,26927 26787,26928 26790,26933 26794,26933 26795,26936 26795,26939 26800,26939 26798,26936 26798,26939 26795,26937 26795,26937 26793,26937 28793,26939 28791,26940 28793,26937 28796,26937 28797,26935 28798,26930 28798,26934 28802,26934 28807,26936 28811,26940 28812,26937 28815,26939 28814,26934 28812,26938 28817,26942 28822,26943 28822,26948 28822,26952 28824,26953 28824,26953 28829,26950 28834,26954 28839,26954 28839,26949 29839,21949 32839,21951 32838,21951 32843,21951 32844,21951 32849,21951 32854,21953 32854,24953 32852,24953 32851,24957 32853,24962 32854,24963 32849,24967 32847,24970 32849,24966 32849,24967 32852,24963 32856,24965 32860,24968 32861,24971 32860,24974 32860,24978 32863,24980 32859,24981 32864,24981 32868,24983 32866,24988 32866,24988 32869,24991 32874,24992 32878,24992 32881,24992 32877,24988 32880,24991 36880,24991 36883,24991 36885,24992 36889,24996 36894,24995 36894,24998 36894,24999 41894,25004 41899,25006 41900,25010 41905,25005 41909,25007 41912,25008 41916,25009 41919,25011 41917,25016 41919,25017 41916,25014 41919,25015 41919,25017 41919,25018 41924,25023 41927,25026 41928,25026 41929,25021 41926,25020 41926,25023 41928,25019 41933,25018 41932,638 7483,639 7484,640 7482,644 7484,646 7486,651 7486,554 1390,549 1391,547 1392,551 1397,3551 1394,3553 6394,3550 6399,3554 6399,3553 6403,3553 6400,3550 6403,3554 6398,3555 6402,3559 6403,3564 6405,3564 6410,3560 6412,3565 6412,3564 6407,3567 6407,3572 6410,3576 6412,3578 6413,3580 6414,11674 22654,11679 22654,11679 22654,11679 22656,11684 22658,11689 22661,11694 23661,11697 23658,11697 23661,11698 23664,11700 23667,11695 28667,11698 28671,11699 28672,11704 28675,12704 28671,12708 28669,12710 28673,12707 28678,12708 28678,12710 28677,12710 28677,12712 28675,12713 28679,12715 28676,12715 28680,12719 28681,12724 28678,12728 28673,12733 28676,12733 28673,12734 28673,12739 28677,12743 28679,12744 27679,12741 27680,12741 27680,12740 27682,12741 27678,12740 27680,7740 27684,7743 27686,7738 27683,7740 27683,7740 27686,7736 27690,7736 27693,7739 27691,7735 27686,7739 27686,7737 27686,7737 27688,7732 27689,7732 27689,7731 27684,7736 27689,7741 27692,7739 27697,7740 27702,7738 27703,7741 27706,7746 27704,2626 16457,2627 16460,2623 16461,2618 16461,2620 20461,2622 20457,2623 20457,2628 20457,2632 20462,2629 20462,2630 20462,2628 20457,2633 20460,2632 20460,2637 20460,2639 20457,2639 20457,2639 20461,2641 20460,2646 20460,2651 20461,2650 20461,2651 20464,2656 20460,2660 20463,2665 20464,2667 20464,2668 21464,2671 21468,2676 21471,2673 21476,2590 16437,2591 16434,2596 16436,4596 16438,4600 16439,4600 16439,4601 16439,4599 16435,4599 16440,4597 16441,4598 16446,4598 16447,4595 16445,4590 16447,4594 16447,4595 16447,4598 16447,4598 16449,4596 16451,4598 14451,4596 14456,4598 14457,4594 14452,4598 14457,5598 14457,5598 14458,2598 14463,2600 14463,2603 14464,2598 14465,2595 14470,2590 14467,2594 14470,2595 14471,2598 14473,2598 14473,2599 14473,1599 14474,1599 14472,1600 14467,1599 14470,1601 14468,1599 14463,1601 14461,1601 14461,1601 14466,1602 14468,1606 14473,1602 14473,1600 14475,1595 14478,1599 14479,1596 14479,1596 14484,1596 14488,1601 14489,1604 18489,1606 18492,1604 18492,1605 18496,1605 18496,1608 18501,1603 18498,1608 18500,1612 18497,1608 18492,1604 18494,1609 18497,1609 18499,1606 18499,1608 18501,1610 18503,1606 18499,1610 18500,1614 18501,1617 18497,1620 18498,1616 18501,1614 18496,1615 18500,1617 18497,1619 18498,1617 18501,1622 18506,1622 20506,1625 20506,1625 20509,1627 20513,1631 20514,1633 20519,1637 20520,1639 20525,1643 24525,1638 24520,1642 24520,1647 24525,1650 24529,1654 24530,1657 24533,1656 24538,1659 24542,1659 24545,1662 24550,1666 24551,1666 24552,1666 24557,1666 24562,1666 24565,1669 24568,1672 24569,1672 24569,1676 24566,1676 24570,1678 24565,1676 24567,1673 24567,1674 24572,1679 24577,1679 24578,1683 24581,1684 24586,1688 24590,1690 27590,1685 27594,1688 27594,1683 27594,1686 27597,1688 27600,1692 27599,1696 27600,1695 27604,1695 27609,1698 27610,1701 27610,1705 27609,1706 27605,1709 27600,1714 27600,1716 27602,1717 27601,1712 27597,1714 30597,1711 30600,1713 30600,1713 30604,1714 30604,1716 30602,1713 30605,1710 30606,1713 30609,1709 30607,1713 30604,1714 30609,1717 30609,1717 30613,1721 30615,2721 30620,2718 30623,4718 30628,4723 30624,4727 30619,4728 30618,4728 30615,4728 30619,4729 30618,4731 30622,4731 30625,4734 30625,4734 30630,4735 30627,4736 30631,4735 30636,4730 30641,4727 30641,4729 30646,4731 30650,4736 30651,4740 30648,4737 30648,4738 30647,4741 30649,5741 30646,5744 30648,5745 30651,10745 30651,13745 30653,13749 30651,13754 30652,13754 30657,13754 30657,13758 30653,13761 30656,13766 30655,13768 30659,13769 30662,13771 30659,13771 30661,13771 30665,13768 30670,13768 30667,13772 30670,13776 30672,13775 30672,13777 30675,13780 30679,13783 30677,13784 30678,13784 30674,13788 30674,13788 30678,13784 30678,13787 30683,13792 30683,13791 30679,13794 30679,13795 30682,13795 30686,13798 30691,13803 30692,13807 30694,13810 30694,13810 30692,13813 30694,13813 30689,13816 30689,13820 30689,13822 30692,13826 30696,13822 30701,13827 30704,13832 30707,13832 30707,13828 30707,13831 30712,13831 30709,13834 30706,12834 30707,12839 30703,12843 30707,12843 30703,12843 30706,12848 30710,12849 30715,12853 30713,12853 30716,12852 30718,12849 30721,12849 30719,12852 30719,12853 30714,12856 30712,12856 30714,12857 30719,12862 30720,12865 25720,12863 25723,12864 25724,12868 25729,12869 25731,12868 25736,12869 25739,12865 25737,12863 25739,12866 25743,12862 25747,12867 25747,12867 25748,12867 25748,12870 25748,12866 25748,12869 25749,12869 25751,12874 25754,12875 25758,12877 25761,12878 25763,21745 15645,21749 15645,21753 15646,21753 15648,21758 15652,21754 15654,21759 15654,21762 15658,21766 15663,21761 15663,21761 15665,21758 15666,21761 15668,21763 15666,21765 15662,21770 15666,21773 15671,12742 4678,12743 4682,12740 4687,12745 4692,12745 4688,12748 4689,12748 4692,12752 4696,12754 4697,12754 4700,12758 4703,12758 4703,12762 4704,12762 4709,12762 4711,12760 4713,12760 4717,12764 4713,12767 4712,12767 4712,12768 4715,12767 4720,12770 4716,12770 4712,2569 10421,2572 10423,2576 10424,2579 10428,2580 10423,2582 10424,2578 10422,2577 10426,2577 10428,2580 10433,2580 10433,2581 10432,2580 10435,2584 10435,2588 10439,2587 10444,2592 10445,2589 10446,2591 10447,2594 10446,2597 10445,2599 10440,2602 10443,2603 10443,2605 10444,2605 10449,2607 10449,2602 7449,2605 7449,2608 12449,2605 16449,2605 17449,2605 17450,2608 17454,2612 17459,2607 17459,2608 17456,2613 17457,2617 17459,6617 17462,6621 17467,6621 17468,6626 17464,6622 17465,6622 17465,6623 17469,6623 17466,6623 17467,6627 17466,6623 17466,6626 17463,6622 17468,6625 17464,6627 17468,6625 17463,6626 18463,6624 18463,6625 18464,6623 18468,6623 18469,6626 18470,6621 18466,6621 18467,6622 18467,6625 18464,6630 18468,6628 18469,6631 18472,6627 18477,6628 21477,6631 21481,6627 21486,6628 21490,6632 21494,6637 21496,6640 21491,6643 21491,6648 21490,1648 21492,1650 21489,1650 21487,1654 21488,1653 21489,1653 21492,1650 21493,1655 21493,1650 21493,1651 21490,1651 21490,1649 21493,1645 21498,1649 21494,1652 21495,1654 21500,1655 21495,1658 21492,1663 21496,1666 21500,1666 19500,1664 19504,1668 19508,1668 19512,1666 19516,1669 19518,1669 19518,1674 19520,1674 19525,1676 19525,1679 19526,1679 19526,1681 19526,1686 19526,1691 19529,1689 19529,1688 19529,1685 19524,1690 19528,1693 19531,1693 19531,1698 20531,1699 20536,1703 20538,1703 20538,1706 20541,1701 20545,1702 20550,1704 20547,1705 20544,1710 20548,1710 20551,1713 20555,1712 20559,1714 20562,1714 20563,1714 20565,1712 20567,1711 20570,1706 20571,1708 20571,1708 22571,6708 18571,6712 18571,6715 18573,6710 18577,6711 18579,6711 18579,6716 18578,6721 18580,6721 18582,6726 18587,6731 18588,6736 18587,6734 18587,6736 18590,6739 18594,6744 18597,6744 18602,6746 18606,6749 18606,6750 18609,6750 18610,6753 18605,6755 18610,6759 18613,6759 18613,6759 18617,6763 20617,6767 20621,6771 20625,6773 20628,6769 20629,4769 20633,5769 20635,5769 20637,5770 20640,5772 20643,5772 20646,5772 20644,5776 20641,5779 20643,5784 20642,5786 25642,5786 25645,5791 25647,3791 25651,3791 25652,3794 25648,3793 25644,3791 30644,3796 30649,3796 30654,3800 30655,3800 30657,3797 30657,3797 30659,3800 30661,3803 30661,3803 30657,3800 30652,3801 30652,3802 30653,3807 30654,3809 30657,3804 30656,3801 30657,3803 30657,3803 30658,3804 30663,4804 30663,4809 30665,9809 30665,9809 30669,9812 30673,9816 30676,9816 30676,9816 30677,9818 30682,9818 30683,9817 30687,9813 30692,9817 30692,9814 30693,9816 30693,9818 30697,9818 30699,9818 30696,9816 30694,9811 30694,9812 30694,9816 30697,9821 30700,9824 30702,9827 30707,9827 25707,9827 25711,9828 25709,9823 25713,9827 25712,9830 25714,9827 25712,9832 25717,9836 25719,9836 25722,11836 25725,11838 25727,14838 29727,14835 29728,14838 29724,14843 29724,19843 29724,19846 29728,19847 29732,19851 29737,19855 29738,19858 29735,19853 29735,19853 29737,19852 29739,19850 29744,19850 29744,19854 29747,19859 29752,19861 29750,19864 29751,19869 29752,19864 29756,19865 29757,19868 29758,19868 29758,19871 29763,19874 29764,19877 29766,19879 29763,19880 29763,19881 29765,19886 29765,19881 29765,19881 29768,19880 29773,19875 29775,19879 29776,19883 29776,19887 29781,19890 29784,19890 29789,19892 29784,19897 29785,19893 29785,22893 29787,22895 29792,22895 29788,22895 29789,22895 29793,22900 29793,25900 29790,25901 29794,25902 29794,25905 29794,25907 29798,25912 29799,25910 29804,25915 29809,25918 29807,25917 29808,25921 29808,25925 29812,25926 29816,25926 29819,25921 29821,25926 30821,25929 30823,25933 30822,25935 30823,25937 30818,25937 30818,25939 30819,25939 30824,25941 30819,25943 30823,25946 30824,25946 30829,25947 30829,25947 30830,25952 30833,25953 30831,25954 30836,25959 30836,25964 30836,25961 30836,25965 30837,25964 30835,29964 30839,29968 30842,31968 30847,31967 30844,31972 30844,31972 30840,31977 30839,31982 30842,31987 30844,31987 25844,31984 25848,31987 25848,31992 25845,31993 25846,31997 25846,31997 25849,31996 25851,31995 25855,32000 25858,31995 25859,31996 25856,31997 25858,31999 25858,31998 25858,32001 25859,32003 25863,32002 25866,32003 25867,32008 25867,32011 25870,32014 25875,32013 25874,34013 25873,34013 25876,34011 25878,34011 25880,34012 25885,34016 27885,34011 27884,39011 27888,39008 27884,39011 27879,39011 27876,39011 27880,39014 27879,39013 27879,39014 27879,39015 27882,39019 27886,39020 27888,39020 27893,39025 27895,39030 27896,39030 27896,39031 27892,39036 22892,39039 22894,39038 27894,39043 27895,39048 27900,39044 27905,39046 27907,39041 27910,39044 27910,39043 27915,-2382 3462,-2377 3465,-2373 3468,-2371 3469,1629 3470,1632 3472,1630 3469,5630 3473,5635 3474,5638 3474,5639 3469,5643 3473,5643 3473,5639 3477,5639 3477,5639 3480,5642 3479,5644 3481,5649 3480,2649 3485,2649 3485,2650 3489,2653 3491,506 5375,510 5380,513 5382,518 5384,522 5387,521 5384,524 5385,525 5382,523 5384,527 5384,527 5386,4527 5391,4528 5393,4533 2393,4534 2389,4537 2393,4538 2395,4541 2400,4543 2404,4544 2405,4548 3405,4553 3410,4556 3406,4561 3406,4558 3410,4559 3410,4558 3408,4558 3413,4563 3413,4561 3418,4563 3423,4565 3426,4565 3428,4570 3432,4570 3433,4574 3437,4579 3439,4583 3443,4578 3444,4582 3447,4583 3447,4585 3443,4590 3448,4586 3448,4588 3449,5588 3449,5589 3454,5593 3456,5591 3457,5591 3458,7591 3461,7594 3457,7596 3459,7591 3458,7590 3460,7593 3460,7593 3463,7590 3464,7586 3466,7581 3467,7580 3466,7580 3466,7585 3470,7585 3472,7589 3468,7589 3471,7594 3474,7599 3474,7600 3471,7603 3471,7606 3471,7606 3472,7606 3474,7606 3479,7609 3482,7612 6482,7614 6485,11614 6481,11619 6486,11624 6486,11621 6489,11623 6491,11628 6491,8628 6496,8632 6498,8629 6502,8632 6502,8627 6505,8631 6506,8633 6502,8633 6507,8631 6512,8631 6512,8626 6514,8621 6515,8620 6513,8615 6514,8611 6519,8612 6522,8613 6522,8616 6522,8611 6519,8614 6519,8615 6521,8618 6525,8623 6526,8628 6521,8631 6517,8634 6520,8634 6525,8637 6526,8636 6528,8640 6533,8643 6534,8643 6531,8642 6532,8643 6535,8643 6535,8640 6531,8641 6531,8641 6534,8644 6537,8647 6541,8648 6536,8649 6537,8649 6542,8644 6546,8644 6546,13644 6548,13642 6549,13638 6548,13636 6549,11636 6549,11636 6554,11633 6554,11636 6554,11641 7554,11642 7558,11641 7553,11643 7556,11644 7556,11639 7556,11641 7558,11641 7559,11641 7563,11638 7560,11639 7564,11642 7569,12642 7574,7642 7576,7642 7574,7643 7577,7645 7577,7650 7576,7645 7576,7648 7576,7650 7581,7651 7576,7654 7581,7658 7581,7661 7583,7662 7584,7664 7586,7661 7586,7662 7589,7666 7585,7669 7585,7670 7585,7670 7587,7670 7587,7670 7591,7667 7595,7672 7595,7677 7600,7679 7597,7684 5597,7682 5600,7685 5601,7688 5601,7691 5604,7696 5605,7700 5607,7703 5602,7704 5602,7701 5606,7702 5607,7706 5609,7710 5614,7713 5610,7716 5615,7717 5616,7719 5621,7724 5621,7724 5618,3724 5623,3722 5625,3725 5626,3730 5628,3727 5633,3727 5636,3729 5638,6729 5639,6732 5642,8732 5644,8732 5649,8729 5650,8734 5645,8736 5644,8739 5644,8741 5645,8745 5650,8743 5652,8739 5651,8744 5652,8744 5653,8745 5649,8748 5651,8749 5652,8750 5655,8753 5660,8753 5662,8755 5660,8757 5657,8758 5654,8762 5659,8760 5660,8761 5664,8765 5669,8768 5669,8768 5669,8769 5673,8769 5678,8772 5678,8769 5683,8774 5683,8776 5687,8777 7687,8779 7691,10779 7686,10779 7686,10780 7686,15780 7690,15781 7695,15779 7699,15783 7702,15788 7705,15791 7705,15786 7709,15788 7707,15793 7710,17793 7711,17794 7712,17799 7713,17800 10713,17802 10713,17802 10715,17803 10715,17808 10716,17811 10717,17811 14717,17811 14722,17811 14722,17815 14725,17819 14726,17820 14727,17822 14727,17817 14731,17818 14731,17818 14729,17820 19729,17818 19725,17822 19728,17818 19723,17821 19720,17821 19725,17824 19725,17821 19728,17821 19725,17825 19725,17830 19725,17834 19729,17836 19730,17837 19730,17841 19725,17844 19730,17849 19734,17853 19734,17856 19737,17858 19732,17858 19732,17863 19732,17868 19733,17873 19735,17874 19740,17878 19742,17883 19742,17879 19747,551 1397,551 1398,552 1401,553 1401,553 1398,552 1398,555 1402,556 1406,557 1409,558 1413,558 1416,558 1418,558 1420,563 1421,566 3421,568 3421,570 3426,572 3429,5572 3433,5576 3433,5579 3436,5579 3441,5583 3444,5580 3445,5585 3450,5589 3453,5593 3454,5597 3459,610 1429,612 1431,607 1430,607 1430,609 1426,605 1425,607 1425,602 1420,604 1423,-2378 3502,-2377 3503,-2378 3507,-2373 3508,-2375 3512,-2370 3516,-2373 3517,-2369 3514,-2370 3517,-2367 3519,-2366 3524,-2366 3529,-2362 3534,-2365 3536,-2370 3534,-2370 3531,-2366 3528,-2370 3532,-2366 3535,-2361 3533,-2361 3537,-2361 3540,-2358 3541,-3358 3543,-3355 3544,-3355 3542,-3355 3541,-3352 3546,-3348 3548,-3350 3551,-3346 3553,-3347 3553,-3342 3548,-3337 3548,-3338 3547,-3338 3547,-3334 3552,-3333 3552,-3332 3550,-3331 3550,-3329 3550,-3326 3552,-3325 3554,-3320 3556,-3315 3560,-3313 3565,-3312 3560,-3315 3563,-3315 3559,-3318 3564,-3321 4564,-3321 4569,-3317 4568,-3312 4573,-3311 4576,-3311 4575,-3308 4571,-3304 4572,-3299 4576,701 4580,703 4582,708 4582,711 4583,715 4587,716 4591,721 4587,717 4590,715 4594,715 4594,719 4598,719 4600,720 4604,717 4606,718 8606,722 8604,726 8600,727 8605,731 8609,731 8609,733 8611,738 8611,739 8612,734 12612,734 12617,730 12622,729 12622,732 12625,-268 12627,-263 12627,-264 12625,-261 12622,-260 12622,-265 12625,-264 12622,-264 12624,736 12622,733 12623,734 12626,730 12628,731 12632,732 12637,730 12637,733 12634,732 12635,732 12635,734 12635,733 12636,731 12639,734 12639,733 12642,734 14642,736 14646,739 14651,743 14654,-2257 14651,-2252 14651,-2252 19651,-2249 19656,-2249 19653,-2245 19650,-2248 19651,-2243 19656,-2241 19661,-2238 19664,-7238 19668,-7236 19666,-7231 19661,-7231 19666,-7227 19671,-9227 19672,-9223 19676,-7223 19675,-7223 19677,-7218 19677,-7219 19677,-7216 19673,-7214 19677,-7210 19674,-7206 19671,-7205 19673,-7203 19677,-7206 19680,-7202 19680,-7197 19685,-7197 19686,-7196 16686,-7201 16687,-7201 12687,-7198 12682,-7198 12682,-7193 12682,2673 15591,2673 15594,2673 15597,2671 15599,2666 15601,2670 15606,2669 15607,2670 15607,2673 15602,2670 15604,2671 15601,2672 15602,2667 15600,2672 15602,2675 15598,2675 15600,2678 15600,2677 15602,2673 17602,2678 17602,2677 18602,2681 18606,2682 18611,2685 18616,2686 18612,2688 18611,2686 18615,2686 18612,2687 18609,2688 18608,2688 18609,2688 18613,2693 18615,2693 18620,2691 18620,2696 18620,2698 18619,2695 18622,2700 18625,2704 22625,2709 25625,2709 25626,2710 25628,2710 25629,2714 25625,2715 25625,2713 25627,2714 25630,2718 25635,2723 30635,2723 30639,2726 30634,2727 30637,2728 30639,2732 30639,-1268 30642,-1266 30646,-1269 30643,-1269 30642,-1271 30642,-1269 30643,-1269 30645,-1269 30648,-1267 30647,-1265 30644,-1269 30648,-1268 30644,-1269 30644,-1269 30642,-1266 30641,3734 30637,3739 30640,3743 30641,3748 30646,3753 30650,3751 30653,3751 30652,3756 30647,3757 30648,3759 30653,3761 30656,3762 30655,3762 30653,3763 30650,3766 30652,3770 30657,3770 30657,3770 30653,3773 30650,3776 30650,3778 30650,3774 30655,3775 30657,3776 30660,3781 30662,3785 30665,3790 30670,5790 30672,5794 30675,5798 30680,5803 30675,5802 30673,5801 30677,5803 30679,5808 30677,5805 34677,5810 34677,5811 34682,5812 34684,5816 39684,5816 39687,5814 39690,5810 39695,5811 39696,5816 39700,5821 39705,5824 39707,5826 39711,5828 39708,5829 39709,5834 39712,5838 39715,5839 39718,5840 39720,5839 39722,5839 39722,5835 42722,5833 44722,5829 44722,5828 44722,5833 44724,5835 44727,5835 44731,2835 44729,3835 44731,3836 44736,3841 44739,3839 44736,3839 44736,3836 44736,3837 44737,3841 44737,3842 44733,3840 44735,3843 44730,3842 44732,6842 44734,6841 44735,6846 44737,6848 44737,6851 44740,6850 45740,6853 45741,6853 45741,6848 45743,6852 45744,6857 45746,6855 45747,6853 45750,6857 45754,6859 45752,6863 45751,6861 45751,6861 45748,6858 45752,6861 45750,6858 45750,6862 45750,6862 45753,6864 45757,6861 45762,6864 45762,6867 45761,6872 45763,6877 45758,6882 45761,6883 47761,6886 47761,6888 47762,6893 47767,6897 48767,6897 48772,6902 48771,6903 48773,6904 48773,6904 48777,6899 52777,6899 52777,6903 52773,6903 52773,7903 52773,7908 52771,7903 52772,7904 52774,7899 52776,7895 52776,7895 52781,7894 52778,7898 52783,7902 52785,7906 52790,7907 52792,11907 52797,11908 52801,11911 52800,11916 52804,11911 52806,11913 52808,11913 52805,11913 52809,11909 52812,11911 52812,11908 52815,11913 52817,11917 52820,11918 52820,11922 52825,11926 52823,11931 52827,11931 52826,11934 52823,11936 52818,11938 52819,11940 52823,11943 52828,11938 52833,11940 52835,11944 52832,11941 52831,11936 52831,11936 52833,11934 52836,11938 52839,11940 52840,11943 52840,11943 52841,11945 52844,16945 52844,16942 52839,18942 52838,18945 49838,18950 49841,18950 49844,18951 49845,21951 49847,21956 49848,21961 49846,21961 49851,23961 49852,23961 49856,23966 49860,23969 49865,23965 49866,23970 49862,23975 49859,23975 49859,23978 44859,23979 44862,23981 44862,23984 44867,23980 44871,23983 44875,23988 44875,23992 44877,27992 44878,27989 44881,27985 44886,27986 44888,27984 44888,29984 44889,29984 44889,29985 44893,29990 44888,29994 44892,29997 44896,30001 44895,30002 44900,30003 44904,30004 44907,30008 44904,30009 44904,30010 44905,30010 44908,30007 44908,30011 44905,30014 44908,30016 44909,30021 44912,30023 44913,30025 44912,30024 44910,30022 44914,30026 44912,30025 44912,30029 44912,30029 44915,30033 44920,30038 44924,30043 44926,30047 44928,30043 44930,30047 44932,30050 44934,30050 48934,30046 48935,30051 48935,30051 48935,30055 51935,30054 51931,1610 18503,1614 18504,1616 18504,1619 20504,1619 20504,1619 20505,1620 20509,1620 20511,1618 20511,1619 20508,2619 20511,2615 20516,2612 20515,2612 20515,2617 20512,2622 20515,2617 22515,2620 22516,2622 22519,2626 22522,2624 22522,2619 22524,2623 22519,2621 22519,2622 22516,2620 22512,2622 22517,2622 22522,2626 22522,2630 22522,-370 22526,-1370 22531,-1375 22531,-1371 22527,-1366 22527,-1362 22531,-1361 22528,-1362 22524,-1367 22528,-1367 22530,-1367 22533,-1367 22535,-1363 22540,-1363 22536,-1363 22539,-1358 22541,-1358 22541,-1355 22543,-1355 22538,-1355 22541,-1356 22544,-1357 22548,-1354 22553,-1353 22557,-1353 22561,-1355 22562,-1352 22566,-1351 22568,-1349 22569,-1347 22568,-1346 22566,-1351 22565,-1347 22566,-1348 22567,-1351 22569,-1346 22565,-5346 22567,-3313 3565,-3311 4565,-3308 4568,-3304 4571,-3307 4572,-3307 4573,-3303 4573,-3304 4578,-3300 4578,-3301 4578,-3301 4583,-3301 4581,-3297 4585,-3295 4580,-3295 4575,-3295 4573,-3293 4575,-3290 4580,-3285 4580,-3284 4582,-3284 4581,-3280 4580,-3285 4579,-3285 4579,-3284 4584,-3288 4588,-3286 4588,-3283 4584,-3279 4584,-3278 4588,-3279 4588,-3274 4586,-3270 4589,-3270 4590,-3268 4587,-3270 4591,-3267 5591,-3265 5591,-3261 5592,-3259 5593,-3259 5590,-3258 5595,-3256 5599,-3253 5601,-3252 5600,-3252 5603,-3252 5603,-3255 5601,-3250 5600,-3247 5605,-3242 5606,-3241 5608,-3243 5612,-3242 5612,-3245 5614,-3242 5619,-3243 5623,-2243 10623,-2242 10626,-2247 10626,-2247 10630,-2244 10634,-2248 10639,-2248 10636,-2248 10641,-2244 10646,11598 14558,11594 14563,11596 14568,11597 14569,11600 18569,11601 18570,11599 18566,11602 18568,11607 18567,11611 18572,11614 18573,11612 18569,11615 18570,11614 18573,11617 18577,11621 18577,11617 18574,11615 18579,11619 18583,11615 18587,11615 18587,11620 18588,11621 18589,11617 18593,11620 18597,11622 18599,11626 18603,11621 18603,11625 18607,11628 18611,11630 18614,11630 18619,11633 18616,11633 18616,11635 18614,11634 18613,11636 18609,11638 18607,11642 18612,11641 18615,11646 18615,11648 18619,11652 18621,11654 18622,11653 18617,11648 18619,11650 18614,11646 18617,11648 18613,11648 18618,11650 18615,11647 18617,11649 18621,11653 18621,11656 18624,11656 18628,11659 18628,11660 18624,11662 18624,11662 18620,11663 18620,14663 18621,14665 18616,14662 18611,14662 18607,14665 18607,14670 18607,14674 17607,14676 17610,19676 17608,19681 17613,19681 17613,19686 17611,19687 17612,22687 17612,22684 17608,22682 17607,22686 17610,22690 17611,22692 17612,22690 17617,22693 17622,22696 17622,22698 17625,22703 17627,22699 17629,22698 17629,22702 17634,22705 17630,22707 17634,22708 17634,22710 17639,22712 17639,22713 17635,22712 17639,22715 17644,22720 17644,22720 17646,22723 17644,22723 17644,22728 17643,22729 17646,22725 17651,22725 17652,22725 17647,22730 17647,22733 17647,22734 17647,22733 17651,22737 17653,22737 17657,22735 17660,22738 17658,22742 17662,22747 17667,22752 17671,22751 17672,22749 17677,22751 17677,22753 17681,22754 17677,22759 17674,22763 17674,22768 17677,22773 17673,22774 17676,22774 17679,17774 16679,17772 16679,17770 16675,17772 16676,17771 16676,17770 16679,17775 16684,17774 16685,17776 16685,17780 16687,17781 16688,17786 16689,17790 16689,17793 16688,17797 16684,17800 16684,17799 16689,21799 16691,21799 16688,21804 16689,21804 16687,21804 16687,21808 16685,21809 16689,21813 16693,21813 16696,21817 16698,21817 16699,21819 16694,21824 16699,21824 16701,21827 16705,21823 16702,21825 16702,21827 16702,21827 16702,21828 16705,21832 16707,21835 16710,21838 16712,21841 16712,21839 19712,24839 19714,24838 19719,24838 19722,24833 19722,24831 21722,24832 21727,24829 21729,24832 21730,24837 21732,24838 21736,24842 21740,24842 21740,24844 21740,24846 21740,24848 21741,24851 21736,24851 21732,24852 21737,24849 21741,24847 21742,24845 21743,24849 21744,24852 21742,24856 21744,24860 21745,24860 21745,24864 21749,24864 21754,24865 21759,24865 21760,24870 21764,24871 21762,24871 21762,24876 21767,24881 21769,24883 21768,24883 21769,24886 21766,24886 21767,24891 21770,24894 21772,24894 21772,24899 21777,24902 21781,24897 21786,24894 21787,24895 21790,24899 21791,24899 21795,24903 21798,24903 21801,24905 21804,24906 21806,24910 21808,25910 17808,25905 17812,25906 17813,28906 17813,28906 17813,28911 17817,28912 17812,28916 17813,33916 17818,33916 17818,33916 17820,33912 17820,33915 17823,33915 17826,33910 17826,33914 17829,33910 17833,33910 17836,33913 17837,33918 17841,33923 17840,33920 17840,33919 17842,33922 17838,33925 17835,33923 17836,33920 17838,33916 17840,33917 17845,33912 17850,33912 21850,33916 21846,33917 21841,33918 21844,33922 21844,33923 21844,33927 21844,33928 21849,33933 21850,33937 21851,33937 21853,33940 21855,33939 21858,33944 21855,33945 24855,33946 24858,33950 24860,33951 24864,33952 24861,33957 24864,33959 24867,33954 24865,33959 24867,33963 24867,33961 24867,33963 24871,34963 24874,34967 24874,34967 24874,34969 24870,34965 24875,34965 25875,34969 25880,34974 25883,34972 25883,34973 25885,34976 25889,34979 25890,34981 25894,34984 25897,34989 25899,34986 25900,34990 25901,34990 25901,34993 25902,34996 25902,35000 25903,35001 25906,35006 25909,35007 29909,35009 29905,35008 29906,35008 29908,35012 29908,31012 29911,31017 29906,31017 29908,21054 31778,21054 31775,21059 31780,21057 31780,21059 31783,21059 31781,21064 29781,21065 29786,21070 29787,21074 29787,21079 29792,21082 29792,21083 29791,21085 29793,21086 29794,21086 29794,21088 29797,21085 29797,21085 29800,21083 29804,21088 29808,21088 29804,552 1401,554 1401,555 1404,555 1404,559 1409,561 1410,561 1412,561 1413,557 1414,561 1419,564 1417,565 1420,568 1421,573 1425,578 1426,583 1430,584 1432,587 1433,588 1433,592 1437,592 1438,592 1442,591 1444,596 1444,597 1449,592 1449,502 2350,503 2352,505 2349,508 2349,508 2350,506 2350,506 2353,511 2357,511 2359,511 2361,508 2362,512 3362,517 3365,4517 3366,4518 3366,4513 3367,4512 3370,4509 3365,4510 3370,4510 3371,4513 3371,4513 3374,4517 3373,4517 3375,4514 3375,4515 3374,4516 3378,4516 3383,4516 3387,516 3392,516 3393,521 3394,521 -1606,522 -1601,518 -1601,519 -1603,521 -1598,526 -1603,528 -1603,527 -1601,527 -1600,523 -1603,526 -1601,529 -1598,532 -1594,531 -1590,531 -1594,527 -1595,532 -1591,536 -1586,539 3414,541 3419,546 3419,551 3422,551 3427,553 3429,558 3432,557 3433,558 3438,559 3442,560 3445,556 3448,555 3446,559 3446,560 3442,560 3439,561 3442,563 3443,564 3448,562 3448,5562 3453,5560 3454,5563 3454,5565 3456,5562 3457,5557 3456,5557 -544,5558 -543,5561 -538,5562 -535,5563 -533,5563 -530,5568 -525,5568 -523,5572 -518,5567 -514,5571 -516,5571 -514,5571 -514,5572 -510,5575 -512,5578 -512,5579 -508,5581 -506,5584 -503,5579 -502,5581 -505,10581 -505,10583 -500,12583 -499,12587 -498,12587 -499,12588 -497,12589 -502,12589 -500,12594 -498,12592 -498,12595 -498,12600 -496,12604 -494,12609 2506,12611 5506,12614 5511,12615 5516,12617 5518,12620 5522,12620 5519,12623 5521,12621 5524,12626 5526,12625 5531,12625 5531,12627 5532,12632 5531,12635 5536,12636 7536,12641 7540,12642 7540,12647 7543,11909 52812,11911 52817,11912 52817,11917 52814,11918 52819,11920 52819,11923 52823,11928 52818,11924 52813,11928 52812,11929 54812,11931 54813,11927 54813,11929 54818,11929 54822,11931 54823,11935 54824,11931 54828,11931 54833,11930 54830,11931 54832,11935 54835,11939 54830,11942 54827,11942 54828,11943 54828,11946 54825,11943 54826,11948 54829,11952 54824,11952 54828,11954 54830,11955 54830,11953 54835,11958 59835,11959 59838,11960 59836,11965 59840,11965 59843,11970 59840,11974 59840,11971 59842,11975 59847,11976 59848,11981 59848,11986 59853,11987 63853,11992 63854,11993 65854,11995 65850,11998 65852,12003 65856,12000 65859,12002 65859,12006 65854,12011 65855,12013 65856,12017 65861,12022 65861,12022 65856,12022 65857,8022 65859,8026 65862,8030 65863,8026 65865,8030 65866,8026 65871,8026 65871,3026 65869,3021 65870,3023 65875,3028 65876,3033 65878,3038 65874,3039 65878,3039 65882,3043 65880,3044 65880,3043 65884,3043 65888,3047 65889,3047 65890,3047 65890,3047 63890,3043 63892,3046 63896,3041 63895,3039 63898,3034 63900,3035 63901,3032 63903,3034 63906,3036 63906,3034 63908,3034 63913,3036 63911,3037 63916,3039 63911,3041 63913,3045 63915,3047 63915,3045 63917,3046 63921,3046 63921,3049 63920,3053 63923,3050 63927,3055 63930,3058 63933,3058 63932,3058 63934,3053 63931,3054 63933,3058 63936,3063 63940,3063 63939,-937 63940,-940 63944,-938 63945,-938 63946,-934 63948,-935 63945,-932 63948,-928 63950,-927 63954,-922 67954,-918 67951,-917 67956,-915 67960,-914 67965,-912 67967,-914 67971,-914 67971,-918 67976,-916 67973,-911 67973,-909 67978,-906 67981,-903 67982,-900 67982,-899 67978,-895 67981,-892 67985,-890 67987,-885 67982,-884 67984,-883 67984,-880 67985,-879 67985,-874 67981,-871 67981,-871 67986,-868 67986,-868 67981,-865 67979,-864 70979,-859 70984,-856 70985,-856 70990,-855 70991,-857 70989,-859 70991,-856 70986,-854 70991,-849 70994,-849 70997,-852 71002,-851 71007,-851 71009,-850 71009,-846 71011,-843 71011,-842 71011,-839 71011,-837 71016,-837 71016,-833 71018,-835 71022,2165 71022,2166 71018,7166 71017,7163 71017,7164 71018,7162 71016,7166 71013,7166 71013,7171 71010,7175 71010,7173 71012,7176 71017,7174 71021,11174 71021,11171 66021,11176 66021,11181 66018,11181 66023,11186 66022,11182 66027,11184 63027,11186 63031,11187 63033,11191 63034,11188 63031,11189 63036,11184 63037,11185 63038,11187 66038,11187 66038,11189 66038,11191 66038,11189 66034,11192 66036,11197 66037,12197 66041,12200 66044,12203 66042,12206 66046,12204 66046,12205 66048,12209 66048,12212 66043,12216 66040,12213 66043,12218 63043,12223 63038,12227 63033,12227 63038,12231 63040,12233 63040,12235 63045,12235 63045,12230 63044,12235 68044,12237 68044,12235 68049,12231 68045,12226 68050,12229 68052,12234 68052,12231 68056,12236 68059,12236 68062,12241 70062,12241 70063,12244 70063,12245 70068,12247 70068,12248 70071,12251 70071,12252 70071,12251 70073,12248 70075,12253 70080,12256 70084,12257 70088,12256 70088,12256 70089,12251 70089,17251 70090,17247 70090,17249 70091,17249 70088,17252 70084,17256 70085,17260 70086,16260 70084,16261 70083,16256 70079,16257 70076,16258 70072,16258 70077,16262 70081,16260 70084,16263 70087,16263 70088,16267 70090,16267 70093,16267 70097,16267 70100,16267 70101,16270 70103,16270 70105,16270 70108,16274 70110,16274 70113,16275 70115,16277 70115,16273 70115,16274 70120,16279 70117,16284 70117,16288 69117,16287 69121,16287 69123,16288 69119,16288 69122,16292 69125,16292 69122,16290 69125,16288 69125,16290 69126,16295 69122,3037 63916,3042 63920,3047 63925,3048 63928,3053 63928,3056 63931,3056 63930,3052 63932,3051 63935,3056 63938,3055 63935,3059 63932,3059 63937,3061 63942,3065 63945,3069 63942,6069 63940,6064 63945,6067 63948,6067 63947,6068 63951,10068 63953,10072 63953,10071 63951,10071 63956,10071 63958,10075 63958,10079 63953,10082 63958,10084 63959,10086 63959,10090 63960,10094 63955,10099 63955,10101 63956,10099 63952,10099 63949,10103 63953,10106 63956,10108 63956,10109 63956,10114 63959,10118 63959,10120 63960,10122 63963,10122 63968,10125 63969,10125 64969,10130 64971,10130 64973,10134 64974,10134 64979,10139 64984,10139 64987,10142 64988,10137 64992,10140 64995,10141 65995,10142 65999,10145 66000,10142 66002,10145 66002,10144 66004,10149 66002,10153 66007,8153 66007,8155 66011,8155 66011,8155 66011,8156 66011,9156 66013,9158 66014,9160 66014,9165 66017,9169 66022,9170 66023,9170 66023,9170 66028,9171 66031,9175 66033,9175 66033,9173 66035,9177 66034,9177 66039,9177 66044,9177 66044,9173 66044,9171 66044,9174 66046,9177 66050,9177 66047,9180 66051,9180 66055,9184 66055,9184 66051,9187 66056,9184 66057,9187 66053,9187 66055,9192 66056,9195 66061,9195 66066,9195 66071,9200 66076,9195 66075,9200 66080,9200 66080,9202 66076,9204 66079,9202 66079,9198 66079,11198 66083,11199 66087,11199 66088,11204 66088,11206 66089,11206 66093,11211 66088,11211 66091,11206 71091,11205 71090,11207 71094,11207 71098,11211 71102,11210 71103,11211 71107,11212 71107,11216 71105,11216 71108,11216 71113,11217 71108,11220 71113,11217 71113,11217 72113,11218 72115,11220 72117,11220 72121,11221 72124,11225 72120,11229 72117,11226 72118,11230 72122,11230 72123,11232 72127,11236 72132,11241 72133,11246 72135,11250 72139,11247 72141,11252 72141,11256 72143,11259 75143,11258 75146,11261 75151,11265 75149,11269 75153,11270 75158,11273 75160,11274 75165,11270 75166,11270 75166,11274 75165,11279 75167,11283 75170,11286 75166,11285 75168,11282 75165,6282 75163,6283 75167,6288 75170,6293 75175,6290 75178,6292 75179,6292 75182,6293 75181,31996 25856,31998 25856,32003 25857,32007 25862,32007 25857,32009 25857,32010 25858,32015 25854,32014 25857,32019 25857,32021 25852,32024 25852,32024 25854,32026 25851,32028 25855,32032 25855,32028 25858,32031 25860,32031 25863,32026 25867,32029 25868,32029 25869,32034 25872,32035 25875,32040 25878,32042 25883,32043 25881,32045 25885,32048 25884,32052 25881,32056 25878,32056 25874,32059 25878,32063 25882,32066 25885,32067 25885,32070 25885,37070 25885,37072 25889,37075 25890,37075 25885,37080 25890,37080 25892,37084 25888,37086 25893,37090 25898,37091 25895,37096 25897,37101 25902,37096 25905,37101 25906,37101 25909,37102 25914,37100 25914,37104 25914,37109 25917,37111 25919,37111 25924,37113 25925,37118 25923,37122 25927,37123 25929,17800 10713,17805 10708,17808 10711,17813 10715,17813 13715,17808 13719,17804 13714,17807 13717,17808 13722,17810 13724,17811 13728,17816 13730,17820 13733,17822 13736,17823 13736,17824 13740,17824 13745,18767 22750,18768 22754,18773 22754,18775 22757,18779 22760,18784 22763,18781 22767,18776 22767,18776 22769,18778 22772,18774 22773,18770 22774,18774 22776,18774 22777,18770 22781,18771 26781,18768 26785,18770 26787,18775 26787,18770 26789,18773 26793,18778 26795,18783 26796,18785 26799,18785 26801,18789 26798,18794 26799,18794 26801,18789 26803,18793 26806,18795 31806,18791 31810,18794 31814,18797 31817,18802 31813,18806 31815,18806 31819,18810 31824,18807 31828,18812 31830,18813 31826,18815 31828,18816 31829,18821 31831,18821 31833,18822 31836,18822 31838,18826 31841,18828 31846,5666 501,5668 506,5669 1506,5672 1508,5674 1512,7674 1512,7679 1513,7679 1512,7684 1513,7689 1511,7686 1515,7691 1520,7689 520,7689 521,7690 524,7695 520,4695 521,4696 526,4698 526,4699 531,4702 531,4699 535,4702 538,4698 540,4699 4540,4702 4537,4707 4540,4707 4537,4709 4537,4711 4542,4713 4542,4718 4544,4720 4549,4716 4553,4717 4556,4722 4561,4726 4562,4726 4563,4731 4564,4735 4565,4735 4570,4733 4572,9733 4574,9736 4577,9736 577,9737 572,9737 569,9742 570,9747 575,9747 580,9748 1580,9747 1585,9747 1588,9747 1588,9747 1592,9747 1592,9751 1592,9754 1593,9751 1595,9756 1599,11756 1603,11759 1607,11756 1610,11754 1613,11749 1613,11750 4613,11749 2613,11746 2610,11749 2608,11752 2611,11754 2607,11759 2612,11762 2612,11763 2612,11764 2613,11765 2613,11760 2615,11757 2620,11752 2623,11748 2627,11748 2631,11751 2632,11751 2633,11754 2635,11758 2639,11758 2643,11760 2646,11763 2646,11767 2649,11762 2652,11760 2652,11756 2656,11752 4656,11749 4659,11754 4662,11759 4666,11764 4670,11761 4666,11756 4669,11756 4670,11761 4671,11762 4673,11765 4678,11768 4680,11768 7680,12768 7677,12771 7680,12771 7683,12776 7683,12777 7688,12779 7688,12779 7684,12781 7679,13781 7682,13781 7684,13776 7684,13779 7685,13784 7685,13787 7689,13784 7689,13787 7689,13791 7685,13791 7686,13787 7691,13788 7696,13790 7693,13790 7696,13791 6696,13796 6698,13798 6695,13797 6698,13799 6701,13799 6704,13803 6709,13804 6705,13799 6708,13804 6703,13807 6705,13807 6708,13809 6710,13812 6714,13814 6716,13817 6718,13819 6722,13821 6717,13826 6718,13828 6717,13828 6721,13831 6721,13831 6720,13834 6715,13837 6712,13837 6713,13842 6715,13847 6715,13847 6714,13847 6709,13848 6712,13852 6714,13854 6719,13857 6723,13859 6726,13861 6730,13859 6731,13855 6731,13855 6731,13856 6728,13857 6730,13862 6731,13865 6731,13863 6729,13868 6729,13866 11729,13867 11732,13871 11732,13873 11737,13872 11741,13870 11745,13874 11744,13871 11748,13870 11753,13871 11757,13871 14757,13875 14759,13878 14760,13881 14760,13879 10760,13875 10765,13879 10767,13880 10770,13876 10775,13880 10776,13880 10776,13882 10776,13883 14776,13888 14779,13888 14779,13893 14779,13898 17779,13903 17784,13898 17788,13894 17788,13896 17788,13900 21788,13903 21784,18903 21789,18899 21789,18900 21793,18901 21794,18905 21795,18908 21792,18913 21794,13913 21796,13911 21798,13916 21799,13916 21799,13918 21804,13916 21800,13912 21799,13915 21794,13916 21797,13921 21799,13916 21802,13918 21806,13919 21810,13921 21813,13924 21817,13927 21814,13932 21816,13934 21811,13936 21811,13934 21814,18934 21816,18929 21816,18934 21815,18933 21817,18932 21822,18936 21819,18938 16819,18933 16822,18933 16822,18937 16822,18937 16827,18940 16827,18945 16830,18947 16829,18950 19829,18949 19829,18949 19829,18946 19825,18947 19828,18946 19829,18943 19829,18943 19824,14943 19829,14939 19830,14942 19831,14946 19835,14946 22835,14942 22836,14946 22831,14950 22832,14952 22835,14947 22840,14951 22844,14951 22845,14947 22850,14948 22851,14951 22849,14956 22852,14957 22852,14957 22857,14962 22857,14965 22859,14970 22860,14968 22862,14972 22864,14977 22866,14974 22870,14975 20870,14976 20870,14979 20873,14984 20869,14989 20871,14993 20874,14993 20877,14994 20878,14995 20878,14997 20883,14998 20879,15001 20884,15001 20884,15003 20889,15006 20884,15009 20885,15009 20883,15007 20880,15011 20876,15008 20877,15009 20873,15010 20875,15009 20875,10009 20876,10012 20871,10013 21871,10017 21872,10012 21873,10010 21874,10008 21871,10012 21870,10013 21874,11607 14571,11608 14575,11612 15575,11613 15576,11613 15577,11618 15578,11622 15581,11624 15585,11627 18585,11631 18587,11634 18590,11634 18586,11634 18586,11636 18591,11635 18591,11636 18596,11636 18592,13636 18593,13640 18595,13642 18600,13641 18600,13641 18604,13642 18607,13643 18611,13648 18611,13651 18613,13655 18615,13656 18620,13651 18618,13651 18616,13654 18611,13651 18616,18651 18620,18656 18620,18661 18621,18657 18625,18661 18627,18663 18628,18666 18633,18661 18637,18665 18639,18665 18639,18667 18641,18669 18641,22669 18642,22673 18644,22676 18648,22681 18649,22682 18649,22682 18646,19682 18646,19684 18646,19685 20646,19690 20646,19690 20643,19686 20643,19686 20643,19690 20647,19690 20647,19689 20652,19692 20653,19692 20656,19697 20661,19698 20662,19703 20666,19707 20669,19707 20673,19708 20674,19709 20675,19709 20677,19710 20674,19715 20675,19717 20673,19721 20673,19720 20677,19718 20677,19716 20680,19718 20681,19718 20685,19722 20688,19725 20688,19729 20685,19728 20687,19728 20690,19732 20691,19735 20691,19739 20691,19744 20696,16744 20693,16746 20695,16748 20695,16748 20691,16746 20696,16750 20699,16755 20704,16755 20709,16760 20710,16763 20711,16763 20711,16765 20707,16767 20705,16771 20706,16771 20708,16775 20706,9653 7576,9654 7577,9659 7576,9659 7572,9655 7575,9660 7579,9660 7579,9660 7583,9661 7588,9663 7591,9666 7590,9662 7592,9665 7593,9669 7594,9668 80000)') WHERE p = 1; +UPDATE t1 SET g = ST_linefromtext('linestring(-5 -576,0 -576,0 -571,0 -571,5 -568,6 -564,6 -565,6 -563)') WHERE p = 2; +ROLLBACK; +connection control_purge; +# disable purge +START TRANSACTION WITH CONSISTENT SNAPSHOT; +connection default; +DELETE FROM t1 WHERE p = 3; +UPDATE t1 SET g = ST_linefromtext('linestring(448 -689,453 -684,451 -679,453 -677,458 -681,463 -681,468 -678,470 -676,470 -678,468 -675,472 -675,472 -675,474 -674,479 -676,477 -675,473 -676,475 1324,479 1319,484 1322,483 1323,486 1323,491 1328,492 1325,496 1325,498 1325,501 1330,498 1331,500 1331,504 1330,508 1329,512 1332,513 1337,518 1339,518 1339,513 1344,513 1344,512 1346,514 1351,515 1353,519 1358,518 1362,522 1365,525 1360,526 1362,527 1362,528 1367,525 1371,528 1366,532 1369,536 1374,539 1377,543 1379,539 1381,541 1382,543 1383,546 1388,549 1393,554 1393,554 1395,554 1392,550 1394,550 1392,546 1394,549 1397,550 1393,549 1394,554 1390,554 1391,549 1396,551 1396,547 1400,547 1402,551 1407,554 1412,554 1415,558 1418,463 -681,465 -677,465 -675,470 -670,470 -665,470 -660,470 -659,473 -656,476 -656,481 -655,482 -652,486 -654,486 -652,486 -648,491 -646,490 -651,494 -646,493 -644,493 -644,490 -644,491 2356,495 2359,495 2364,500 2359,503 5359,504 5364,509 5368,504 5367,499 5368,498 5371,498 5369,500 5370,504 5370,508 5370,511 5370,507 5374,508 5378,511 5382,507 5387,509 5389,512 5388,515 5393,520 5396,517 5397,517 5402,515 5404,520 5402,521 5405,525 5405,526 5408,530 7408,535 7413,533 7415,529 7412,532 7416,4532 7416,4534 7421,4533 7417,4536 7413,4536 7418,4540 3418,4545 3418,4549 3415,4551 3419,4554 3421,4559 3423,4559 3426,4557 3424,4561 3428,4558 3428,4563 3431,4565 3435,4569 3439,4569 3439,4569 3444,4567 3444,4572 3446,4577 3447,4581 3444,4581 3448,4584 3448,4579 3447,4580 3450,4583 3449,4583 3453,4587 3455,4588 3458,4593 3463,4598 3465,4601 3468,4598 3464,4598 3460,4593 5460,4595 5461,4600 5464,4600 5465,4601 5466,4606 5466,4608 5466,4605 5464,4608 5467,4607 5468,4609 5465,4614 5461,4618 5463,4621 5467,4623 5470,4622 5470,4622 5470,4625 6470,4627 6471,4627 6472,4627 6473,6627 6474,6625 6474,6628 6477,6633 6481,6633 6480,6637 6475,7637 6479,7638 6482,7643 6487,7644 6492,7647 6492,7648 6495,7646 6498,7650 6499,7646 6494,7644 6499,7644 6497,7644 6499,7647 6502,7649 6504,7650 6501,7647 6503,7649 6504,7650 6508,7651 6503,7652 6508,7655 6508,7650 6511,7655 6515,7658 6513,7663 6513,7665 6514,7669 6512,7667 6510,7664 6510,472 -675,477 -670,479 -666,482 -663,484 -668,484 -666,485 -664,481 -664,479 -659,482 -659,484 -658,483 -659,488 2341,493 2339,489 2338,491 2342,491 2346,494 2346,490 2348,493 2348,498 2349,498 2350,499 2349,502 2350,503 2348,506 2348,506 2348,507 2353,507 2355,504 2359,504 2364,504 2361,499 2365,502 2360,502 2358,503 2357,504 2353,504 2357,500 2356,497 2355,498 2355,500 2359,502 2361,505 2364,508 2364,506 2368,506 2370,504 2373,499 2373,496 2372,493 2377,497 2380,495 2383,496 7383,493 7386,497 7391,494 7387,495 7389,498 7392,498 7392,495 7395,493 7398,498 7401,498 7403,503 7400,498 8400,501 8401,503 8401,503 8401,501 10401,496 10396,491 10401,492 10399,493 10403,496 10403,491 10403,493 10407,489 10410,493 10407,489 10403,498 7403,497 7399,496 7403,500 7405,500 7407,503 7411,508 7415,511 7415,511 7420,515 7420,520 7423,523 7423,520 7427,523 7427,523 7427,522 7432,525 4432,527 4434,530 4437,534 4441,529 4446,529 4441,534 4436,537 4436,535 4437,532 4437,534 4432,535 4429,538 4430,542 4427,542 4431,538 4431,541 4431,541 4433,543 4433,545 4432,549 4428,552 4426,556 4427,557 4423,560 4427,561 4428,558 4430,559 4434,559 4432,561 4434,561 4437,563 4435,559 4430,561 4435,4561 4437,4566 4441,4568 4446,4568 4450,4569 4455,4565 4458,4561 4463,4561 9463,4564 9463,4565 9461,9565 9463,9560 9467,9560 9466,9555 9469,9555 9471,9559 9469,9557 9473,9553 9478,9555 9480,9557 9481,9557 9481,9557 9483,9562 9487,9558 9487,9558 9490,9561 9493,9562 9493,9557 9493,9560 9496,9555 9501,9553 9503,9553 9506,9557 9510,9558 9511,9561 9514,9563 9512,9568 9514,9567 9514,9567 13514,9570 13517,9566 13521,9571 13521,9571 13526,9573 13521,9571 13521,9576 10521,9580 10526,9582 10525,9584 10528,9584 10531,9584 10533,9589 10533,9588 10537,9588 10541,9589 10542,9593 10544,9595 10540,9597 10541,9600 10545,9601 15545,9603 15549,9605 15553,9601 15558,9601 15553,9605 15551,9605 15550,9605 15554,9607 15556,9605 15556,9604 15561,9607 15559,9603 15559,9603 15562,9604 15563,9608 15566,9612 15570,9617 15565,9622 15568,9627 15566,9628 15564,9629 15564,9633 15569,9636 15569,9634 15571,9634 15572,9636 15574,9634 15570,9629 15570,9631 15567,9629 15570,9626 15574,9626 15575,498 7401,502 7401,506 7397,506 7395,502 7398,497 7401,502 7402,505 7397,508 7400,504 7404,3504 7409,3505 7405,3508 7410,3511 7413,3511 7416,3511 7419,3511 7419,3513 7421,3517 7424,3519 7426,3520 11426,3523 11421,3527 11418,3530 11415,3530 11416,3533 11418,7533 11415,7531 11415,7531 11417,7536 11420,7541 11424,7543 11425,7543 11427,7543 11429,7540 11429,7542 11425,7541 11420,7542 11421,7542 11422,7540 11424,7540 11423,7543 11422,7546 11426,7550 11431,7553 11436,7555 16436,7553 16438,7558 16438,7559 16438,7560 16439,7565 16437,7560 16435,7563 16435,7566 16440,7566 16444,7564 16447,7559 16443,7561 16443,7566 16448,7570 16451,7574 16456,7578 16459,12578 16459,12578 20459,12577 20456,12581 20454,12585 20456,12585 20456,12585 20456,12583 20456,12579 20459,12580 20461,12580 20462,12580 20460,12585 20465,12586 20467,12590 20470,12590 20470,12589 20471,12584 20471,12589 20471,9589 20472,9594 20472,9595 20472,9596 20477,9598 20482,9603 20480,9608 20484,9613 20484,9610 20486,9608 20488,9608 20489,9610 20489,9614 20486,9619 20481,9620 20481,9618 21481,9621 21483,9626 21483,9628 21485,9623 21487,9622 21490,9626 21493,9621 21495,9626 21498,9622 21499,9624 21504,9625 21499,9629 21501,9633 21498,9637 21495,9639 21498,9644 21501,9557 9481,9560 9485,9561 9490,9563 9488,9560 9486,9558 9488,9561 9492,9563 9495,9567 9492,9567 9488,9564 9490,9559 9495,9559 9498,9557 9502,9562 9506,9564 9509,9569 9512,9569 9516,9569 9518,9569 9515,9571 9513,9571 9512,9573 9513,9578 9516,9581 9516,9585 11516,9585 11521,9590 10521,9586 10524,9589 10529,9589 10527,9589 10527,9594 10532,9594 10534,9598 10536,9598 10540,9600 10542,9604 10538,9607 10538,9609 10543,9613 10538,9613 10533,9613 10537,9610 10537,9614 10542,9609 10542,9610 10543,9610 10548,9611 10553,9616 7553,9620 7553,9621 7557,9618 7559,9618 7554,9622 7557,9622 7561,9622 7556,9622 7560,9619 7560,9620 7565,9622 7563,9627 7566,9630 7570,9630 7571,9632 7573,9637 7576,9639 7578,9640 7576,9640 7579,9640 7575,9642 7570,9646 7570,9651 7574,9653 7577,9652 7572,9653 7576,9653 7576,9651 7581,9656 7585,9660 7586,9659 7591,9657 7594,9661 7598,9664 7602,9668 12602,9673 12604,9676 12606,9679 12602,9682 12605,9677 12610,9674 12606,9674 12601,9674 12603,9672 9603,9668 9605,9671 9606,9668 9611,9668 9606,9671 9611,9675 9615,9677 9620,9678 9622,9679 9624,9684 9626,9685 9627,9685 9622,9685 9626,9689 9628,9694 9633,9699 9637,9699 9637,9704 9636,9708 9637,9709 9638,9707 9639,9705 9642,9707 9647,9710 9649,9711 9653,9716 9649,9716 9648,9720 9650,9721 9648,9723 9648,9726 4648,12726 4653,12731 4655,12734 4660,12730 4661,12733 4664,12733 4665,12735 4670,12737 4674,12741 4674,12738 4675,12740 4675,12737 4675,12742 4678,12743 4681,12746 4677,12751 4675,559 4430,563 4430,565 4435,566 4440,561 4445,562 4447,564 4450,561 4453,563 4453,561 4458,561 4458,562 4453,566 4454,571 4458,571 4460,574 4461,574 4464,579 4466,579 4470,582 4468,586 4470,590 4468,593 4468,594 4470,596 4474,591 4475,591 4480,594 4482,597 4486,593 4486,595 4486,598 4490,600 4492,3600 4497,3598 4497,3598 4494,3599 4493,3600 4497,3600 4494,3604 4498,3604 5498,3600 5497,3602 5493,3602 10493,8602 10498,8606 10494,8605 10495,8606 10496,8605 10500,8605 10500,8603 10499,8601 10502,8602 10505,8603 10501,8608 10503,8608 10508,8609 10503,8610 10505,8613 10504,8615 10506,8616 10508,8612 10513,8613 10517,8615 10520,8617 10521,8621 10524,8624 10524,8624 10524,8624 10519,8625 10514,8626 10519,502 7402,503 7399,506 7404,543 1379,548 1379,550 1380,553 1379,558 1376,556 1376,558 1372,559 1372,560 1377,565 1374,568 1375,568 1379,572 1382,570 1384,575 1386,576 1389,576 1394,579 1398,583 1403,586 1401,586 1401,591 1400,593 1402,598 1407,601 1412,546 1394,550 1396,553 1396,555 1394,4584 3448,4585 3450,4583 3450,4588 3451,4590 3449,4595 3449,4599 3454,4603 454,5603 458,5604 458,5605 453,5610 457,5614 459,5619 463,5621 466,5618 466,5623 465,5627 466,5625 471,5626 476,5630 479,5635 484,9635 488,9639 488,9641 483,9644 484,9649 484,5649 488,5649 492,5651 497,5656 497,5661 499,5665 504,5666 500,5666 497,5666 499,5666 499,5666 501,5670 502,5670 504,5670 507,5673 502,5677 506,4677 507,4682 509,4682 511,3682 510,3679 514,3683 510,3686 515,3684 518,3686 522,3689 527,3690 527,3688 529,3690 533,3692 530,3691 532,3695 529,3696 529,3701 533,3701 535,3699 540,9610 10543,9612 10545,9615 10548,9617 10548,9619 10550,9624 10548,9627 10549,9625 10553,10625 10553,10626 10555,500 7407,500 7407,500 7411,505 7413,505 7411,502 7415,504 7415,508 7411,511 7411,506 7412,506 7410,3506 7411,3507 7415,3509 7417,3511 7417,3513 7418,3516 7422,3518 7422,3518 7426,3513 7430,3515 7435,3520 7435,3521 7437,3526 9437,3526 9434,6526 9437,6526 9438,6526 9438,6527 9441,6528 9439,6523 9441,6518 9445,6522 9446,6526 9447,6529 9451,6529 9455,6530 9459,6532 9457,3532 9460,3536 9461,3537 9466,3541 9466,3544 9466,3546 9468,3549 9467,3553 9470,3551 9470,3551 9474,3552 9473,3547 9473,3547 9473,3547 9476,3552 9481,3553 9486,3555 9490,3556 9491,3559 9495,3560 9493,3563 9494,3563 9494,3565 9495,3565 10495,3568 10496,3573 10501,3574 10501,3576 10502,3578 10503,3578 10504,3580 10508,7580 10505,7578 10508,7578 10511,7578 10508,7581 10508,7582 10511,7577 10510,7577 10514,7573 10516,7578 10520,7580 10525,7581 10530,7585 10532,7590 10535,7594 10540,12594 10540,12591 10545,12595 10548,12595 10543,12597 10547,12597 10542,12595 10545,12595 10546,12600 10550,12605 10550,12606 10546,12604 10548,12605 12548,12605 12546,12607 12548,7607 12552,7611 12557,7608 12557,7608 12553,7611 12553,7610 15553,7608 15550,7610 15551,7607 14551,7607 14556,7606 14561,7602 14561,7602 14566,7601 14565,7606 14565,7605 14570,7608 14568,7609 14571,7613 14572,7614 14572,7616 14574,7613 14573,7615 14570,7618 14570,7615 14574,7617 14575,7614 14578,7616 14582,7617 14584,7617 14584,7618 14589,7622 14590,7619 14592,7624 14593,7628 14596,7632 14601,7627 14601,7629 14603,7629 14603,7630 14608,7631 14611,7626 14611,7628 14611,7628 14616,7624 14617,7619 14618,7624 14618,7626 16618,10626 16620,10624 16620,10629 16619,10633 16624,10636 16624,10638 16624,10643 16624,7643 16625,7643 16630,7643 16625,7647 16629,7648 16628,7649 16633,7650 16633,7650 16634,7645 16635,7646 16632,7642 16635,7643 16635,7643 16630,7638 16634,7640 21634,7645 21633,7650 21634,7651 21639,7652 21641,7655 21636,7651 21640,7654 21635,7655 21637,7660 21640,7656 21643,7661 21644,7663 21645,7667 21642,7669 21644,7674 21645,7674 21649,7677 21647,7672 22647,7672 22650,7667 22650,7667 22647,7671 22646,7672 22648,7673 22651,11673 22653,11672 22654,11670 22652,11671 22656,11673 22656,11674 22654,11678 22658,11678 22656,11675 22659,11680 22659,11685 22664,11687 22659,11687 22664,11687 22664,11692 22669,11696 22673,11701 22678,11696 22683,11696 22687,11691 22688,11695 22683,11691 22688,11696 22691,11695 22691,11700 22695,11702 22693,11705 22696,11710 22699,15710 22700,15712 22704,15707 22708,15712 22708,15715 22708,15720 22709,15725 22712,15723 22714,15724 22719,15727 22718,15727 22718,15731 22713,15730 22715,15734 22717,18734 22722,18729 22724,18725 22728,18729 22732,18733 22734,18736 22730,18740 22733,18740 22735,18742 22731,18741 22732,18744 22736,18749 22735,18754 22739,18754 22741,18756 22745,18758 22746,18760 22750,18764 22751,18764 22753,18764 22754,18767 22750,18767 22753,18767 22756,18772 22761,18777 22757,22777 22757,22780 22760,22776 22758,22776 22760,22772 22760,22775 22760,22777 22762,22774 22759,22775 22764,22772 22764,22767 22766,22768 22771,22771 22771,9589 10527,9593 10528,9598 10533,9600 10534,9597 10534,11597 10535,11602 10539,11603 10544,11598 10543,11601 10543,11605 10544,11609 10545,11611 10542,11615 10540,11615 10542,11616 10544,11619 10544,11621 10544,11623 10542,11619 10544,11620 10549,11616 10549,11618 10550,11619 10552,11622 10555,11622 10556,11623 10556,11621 10556,11625 10561,11625 10564,11625 10566,11628 10563,11630 10567,11628 10572,11626 10575,11628 10575,11632 11575,11636 11576,11638 11577,11638 11578,11638 11581,11639 11579,11643 11574,11646 11573,11650 11574,11647 11579,11648 11580,11653 11581,9571 9513,9571 9516,9571 9516,9574 9521,9572 9525,9573 9528,9573 9529,9578 9531,9583 9526,9581 9531,9576 9535,9578 9533,9583 9535,9583 9539,9587 9544,9590 14544,9595 14544,9598 14545,6598 14549,6598 14551,6599 14552,11599 14556,11602 14558,11598 14558,11598 14561,11602 14565,11603 14565,11603 14564,11603 14568,11604 14573,11605 14568,11607 14568,11607 14570,11607 14572,11607 14567,11611 14572,11611 14571,11607 14571,11609 14569,11605 14569,11606 14570,11606 14573,11607 14577,11610 14578,11609 16578,11609 16582,11607 16579,11605 16581,11606 16576,11605 11576,11608 11578,11610 11583,13610 11583,13614 11578,13616 11582,13617 11587,13617 11583,13621 11585,13626 11589,13621 11589,13621 11591,15621 11591,15625 11591,15630 11595,15631 11596,15634 11598,15638 11603,15642 11608,15643 11612,15642 11614,15646 16614,15648 16610,15648 16614,15648 16614,15647 16614,15652 16611,15654 16616,15655 16611,15651 16612,15655 16615,15659 16617,18659 16616,18660 16611,18660 16616,18664 16621,18668 16626,9673 12604,9674 12605,9676 12605,9679 12605,9682 12606,9680 12606,9680 12609,9681 12612,9684 12616,9688 12620,9691 12624,9686 12621,9686 12625,9686 12630,9684 12634,9686 12634,9687 12639,9686 12637,9683 12634,9685 12632,9689 12632,9689 12629,9692 12629,9692 12632,9695 12636,9693 12641,9692 12645,9692 16645,9694 16646,9698 16650,9698 16651,9693 16651,9693 16652,9693 16655,9692 16652,9693 16655,9689 16658,9689 16658,9692 16661,9696 16665,9698 14665,9701 14668,9702 14664,9703 14663,9702 14667,9707 14667,9711 14672,9716 14673,9719 14677,11719 14673,11720 14674,11721 14672,11725 14672,11729 14667,10729 18667,10732 18667,10727 18669,10730 18665,10732 18670,10737 18665,10737 18670,10742 18674,9742 18674,9741 18675,9742 18676,9746 18678,9751 18677,11751 18679,11751 18684,11753 18687,11757 18692,11757 18690,11761 18691,11761 18692,11766 18697,11769 18701,11771 18696,11774 18697,11774 18701,8613 10517,8611 10522,8611 10522,8616 10521,8619 10523,8622 10521,8623 10518,8623 10518,8624 10518,8624 10521,8629 10523,8633 10518,8635 10514,8640 10514,8642 10514,8646 10514,8647 10517,8644 13517,8649 13518,8653 13522,12653 13522,12653 13526,12657 18526,12653 18527,12657 18532,12660 18535,12656 18537,12660 18539,12658 18537,13658 18541,13657 18545,13657 18547,13660 18551,13665 18554,13665 18556,13665 18559,13665 18556,13668 18560,13672 18564,13672 18566,13676 18568,13676 18568,16676 18568,16681 18568,16678 18568,16682 18573,16681 18577,16686 18575,16686 18571,16686 18576,16684 18578,16684 18578,16681 18581,16684 18584,16683 18586,16687 18581,16682 18583,16677 18582,16676 18583,16681 18585,16679 14585,16677 14590,16682 14591,16686 14587,16691 14587,16696 14585,16696 14583,16697 14587,16702 14589,16704 14594,16699 14594,16704 14594,16704 14599,16705 14604,16708 14608,16713 15608,16717 15613,16721 15618,16721 15623,16724 15628,19724 15630,19726 15627,19729 15628,19725 15626,19720 15631,19724 15635,19728 15634,19729 15632,19730 15630,19733 15633,19734 15634,19736 15636,19741 15634,19739 15634,19744 15634,19749 15630,21749 15633,21747 15637,21749 15641,21749 15641,21745 15645,21748 15650,21749 15655,21751 15660,21753 15660,21755 15656,21752 15658,21751 15658,21753 15658,21754 15661,21754 15665,21754 15667,21757 15668,21753 16668,21753 16670,21757 16673,21759 16670,21756 16670,21760 16673,21757 16676,21761 16680,21765 16685,21768 16686,21769 16690,21769 16688,21769 16686,21766 16686,21768 16688,21773 16687,21778 16690,21781 16690,21780 16694,21780 16693,24780 16695,24777 16700,24782 16702,24787 16701,24787 16697,24787 16700,24792 16704,24787 16701,24788 16701,24789 16706,24792 16706,24797 16706,24800 16710,24805 16711,24805 16715,24810 16710,24809 16714,24813 16717,24817 16718,24817 16720,24819 16722,24815 16725,24812 16727,24811 16727,24814 16730,24819 16726,24821 16729,24826 16731,24830 16736,23830 16741,23826 16746,23827 16747,23829 16749,23833 16752,23835 11752,27835 11757,27837 11756,27834 11756,27835 11757,27838 11759,27833 11763,27834 11766,27839 11770,27844 11770,27849 11772,27849 11773,27849 11773,27854 11777,7581 10530,7582 10533,7581 10529,7583 10530,7584 10529,7584 10533,7582 10535,7586 10535,7589 10530,7592 10526,7592 10529,7589 10525,7592 10528,7596 10524,7600 10529,7602 10530,7599 10530,7594 10531,7598 10526,7601 10531,7605 10535,7609 10539,7612 10544,7610 10544,7612 10540,7608 10541,7610 15541,7613 15546,7617 15548,7618 15547,7620 15544,7620 15546,7621 15547,7624 15551,7628 15554,7631 15558,7631 15553,7636 15556,7637 15558,7637 15554,7641 15556,7644 15556,7648 15559,7651 15560,7647 15563,7650 15564,7650 15559,7652 15561,7650 15562,7651 15562,7651 15567,7655 15568,7653 15569,2653 15573,2657 15577,2662 15579,2663 15582,2663 15587,2665 15589,2669 15589,2669 15587,2673 15591,2673 15595,2677 15597,2677 15599,2680 15601,2683 15606,2687 15606,2683 15609,2688 15606,2692 15607,2693 15607,2698 15610,2698 15611,7698 15613,7702 15616,7704 15618,7699 19618,7703 19620,7698 19624,7698 19624,7701 19627,7699 19628,7704 19624,7708 19622,7712 19617,7714 19615,7710 19612,7715 20612,3715 24612,3720 28612,3724 28610,3727 28610,3728 28608,3725 28603,3729 28605,3733 28604,3734 28603,3737 32603,3739 32606,3740 32609,3739 32613,3738 32613,3735 32615,3739 31615,3739 31610,3743 31606,6743 31601,6743 31603,8743 31601,8743 31605,8748 35605,8748 35610,8752 35615,8751 35615,8752 35620,8755 35620,8760 35620,8765 35624,8760 35627,8764 35626,8761 35631,8763 35635,8767 35636,8767 35632,8767 35635,8771 35630,8775 35631,8778 35632,8775 35632,3775 35633,3775 35637,3774 35639,3772 35641,8772 35645,8772 35645,8773 35648,8768 35651,8764 35651,8769 40651,8764 40653,8767 40653,8770 40654,8771 40657,8775 40658,8777 40663,8779 40666,8783 40670,8783 40674,8787 40675,8789 40670,8789 40674,8792 40672,8795 40675,8796 40672,8800 40676,8800 40676,8800 40679,498 7392,503 7390,504 7390,507 7395,509 7395,509 7397,514 7400,6529 9451,6529 9451,6524 9451,6527 9452,6527 11452,6527 11456,6528 11457,6529 11458,6531 11461,6535 11463,6535 11467,6530 11472,6532 11472,10532 11473,10533 11473,10537 11476,10540 11473,10540 11473,10544 11474,10544 11474,10544 11472,10544 11470,10539 11475,10539 11478,10542 12478,10545 12483,10546 12488,10547 12492,10552 12493,10552 12490,10556 12490,10558 12493,10560 12495,10555 12496,10557 12491,10556 12491,10556 12490,10553 12494,10558 12497,10559 12502,10564 12505,21753 16670,21754 16672,26754 16674,26757 16676,26761 16679,26756 16682,26761 16683,26763 16684,26766 16689,26771 16692,28771 16687,28774 16687,28776 16692,28777 16695,28781 16695,28785 16690,28789 16691,28786 16688,28789 16690,28792 16688,28793 16687,28795 16690,28793 16695,28791 16692,28793 16695,28790 16696,28790 16700,28792 16700,28793 16701,28794 16701,28794 13701,28796 12701,28799 12701,28799 12706,28800 12701,28801 12705,28803 12708,28807 12708,28808 15708,28810 15712,28811 15709,28813 15709,28813 11709,28817 11709,7618 14589,7620 14587,7625 14589,7626 14584,7631 14586,7632 14588,7637 14589,7642 14592,536 1374,540 5374,542 5378,542 5383,-2458 5388,-2457 5388,-2455 5393,-2452 5393,-2452 5391,-2448 5389,-2448 5390,-2449 5393,-2445 5388,-2441 5392,-2436 5397,-2432 5397,-2430 5397,-3430 5399,-3429 5404,-3430 5405,-3427 5407,-3422 5409,-3421 5411,-3421 5411,-3421 5407,-3417 5410,-3418 5410,-3422 2410,-3417 2414,-3416 2418,-3412 3418,-3407 3422,-3407 3426,-3406 3429,-3404 3433,-3403 3435,-3398 3439,-2398 3441,-2399 3442,-2397 3446,-2395 3447,-2394 3443,-2398 3445,-2398 3443,-2393 3446,-2391 3450,-2387 3451,-2390 3455,-2385 3457,-2383 3457,-2382 3462,-2379 3467,-2384 3467,-2383 3467,-2381 3470,-2383 3471,-2385 3474,-2383 3479,-2383 3481,-2383 3479,-2382 3484,-2380 3489,-2385 3487,-2384 3490,-2384 3490,-2383 3492,-2383 3495,-2378 3499,-2377 3495,-2378 3498,-2375 3500,-2375 3505,-2373 3503,-2373 3505,-2374 3505,-2374 3506,-2369 3511,-2364 3516,-2361 3516,-2356 3520,-2354 3524,-2353 3529,-2356 3533,-2351 3538,-2354 3542,-2349 3545,-2349 3547,-2347 3550,-2352 3547,-2355 3551,-2353 3556,-2353 3556,-2349 3554,-2352 3553,-2351 3558,-2348 3554,-2346 3556,-2344 3559,-2347 -441,-2352 -437,-2348 -440,-2345 -435,-2343 -440,-2343 -436,-2339 -432,-2339 -431,-2337 -429,-2337 -434,-2341 -431,-2345 -427,-2349 -426,-2350 -422,-2348 -418,-2344 -415,-2349 -415,-2345 -413,-2345 3587,-2344 3583,-2344 3580,-2339 5580,-2335 5583,-2336 5582,-2331 5587,-2330 5582,-2329 5582,-2337 -434,-2333 -433,-2330 -2433,-2327 -2435,-2331 -2433,-2328 -2433,-2328 -2429,-2325 -2429,-2320 -2428,2680 -2428,2684 -2424,2685 576,2685 579,2682 582,2684 584,2679 584,2674 585,2671 587,2673 583,2673 581,2677 581,2680 580,2681 584,2684 580,2681 582,2685 585,2690 583,690 587,691 584,694 584,694 585,692 583,694 584,693 588,28793 16695,28791 16694,28793 16698,28797 16703,28798 16707,28797 16712,28797 16715,28795 16717,28799 16712,28795 16710,28800 16707,28805 16705,28807 16702,28802 16705,28803 16701,28805 16703,28803 16698,28803 16700,28805 16704,28809 16699,28812 16702,28808 16703,28813 16700,28817 16703,28819 16704,28816 16709,28812 16708,28809 16708,28809 16707,28814 16709,28812 16712,28807 16717,28807 16717,28809 16717,28807 16717,28811 16717,28814 16722,28815 16719,28819 16719,28819 16724,28819 16726,28814 16727,28814 16722,28817 16726,28820 16730,28821 16730,28816 16733,28821 16737,28823 16741,28818 16741,28822 16744,28819 16747,28815 16748,31815 16748,31819 16748,31817 16746,31818 16749,31819 16747,31817 16748,31820 16746,31816 18746,31820 18746,31815 18742,31815 18744,31818 18740,31819 18735,31824 18735,31829 18738,31834 18742,31837 18745,31837 18748,31842 18749,31847 18749,31851 18749,31854 18750,31854 18749,31852 18752,31847 18754,31850 18758,31855 22758,31857 22760,31861 22759,31859 22761,31856 22764,31856 22768,31856 22768,31856 22770,31858 22765,31863 22766,31862 22770,31860 22772,31856 22776,31861 22775,31866 22780,31870 22780,31871 22782,31871 22779,31866 22781,31870 22781,31870 22786,31873 22786,31877 25786,31877 25791,31877 25796,31880 25800,31882 25804,31885 25809,31885 25812,31886 25815,31888 25815,31890 25820,31890 25821,31889 25821,31885 25817,31889 25814,31887 25815,31890 25819,31892 25820,31896 25816,31897 25817,31902 25818,31904 25823,31908 25825,31910 25828,31914 25825,31909 25825,31912 25829,31907 25829,31911 25834,31912 25838,31911 25837,31914 25837,31918 25836,31918 25831,31914 25831,31912 25826,32912 25830,32915 25833,32911 26833,32912 26834,32915 26839,32913 26839,32915 26835,32917 26837,32922 26832,32924 26834,32926 26835,32921 26840,33921 26835,33923 26836,33927 26837,33925 26833,33926 26836,33931 26837,33929 26837,33932 26842,33934 26842,33935 26847,33940 26850,33935 26848,33931 28848,33929 28852,33925 28849,33927 28849,33929 28852,33927 28850,33929 28854,33931 28854,33935 28854,28935 28854,28935 28849,28938 28854,28942 28855,28944 28860,28942 28861,28941 28863,28942 28860,28942 28856,28947 28858,28951 28857,28953 28861,28953 28860,28956 28863,28957 31863,28957 31867,28960 31869,28962 31869,28964 31872,28965 31877,28969 31881,28965 31882,28967 31886,28969 31888,28964 31892,28960 31895,28961 31893,28966 31896,28967 31901,28963 31903,28961 31908,28964 31908,28964 31904,28960 31904,28961 31905,28960 31905,28965 31906,28966 31909,28967 28909,28967 28909,28970 28910,28966 28914,28965 28918,28966 28918,9626 21498,9621 21498,9622 21501,9618 21504,9621 21505,9624 24505,9622 24505,9625 24508,9626 24511,9631 24516,7631 24512,7631 24507,7632 24506,7635 24504,7638 24507,7636 24502,7639 24507,7644 24508,7648 24512,7648 24512,7650 24512,7651 24514,7655 24517,7659 27517,10659 27520,10661 27524,10664 27523,10666 27528,10666 27523,10665 27524,10667 27529,9667 27534,9670 27534,9668 27534,9667 27533,9670 27533,9670 27538,9670 27540,9675 27538,9679 27538,9683 27543,9680 27538,9682 27540,9685 27545,9683 27546,9683 27547,9678 27548,9680 27548,9684 27549,9685 27545,9690 27546,9690 27548,9692 27550,9697 27553,9698 27557,9702 27553,9702 27548,9702 27549,9706 27551,9701 27551,9701 27551,9697 27546,9696 27549,9697 27553,9699 27557,9698 27558,9696 27560,9701 27556,9705 27552,32912 25830,32913 25829,32916 25830,36916 25828,36916 25831,36916 25835,39916 25837,39911 25842,39913 30842,39910 30844,39910 30845,39908 30848,39911 30852,39913 30856,39918 30857,493 10403,498 10406,498 10406,493 10406,497 10404,493 10409,493 10414,497 10416,496 10418,499 10423,500 10427,505 10429,510 10429,515 10431,515 10433,515 10433,512 10434,5666 500,5666 500,5668 505,5669 509,8669 2509,9669 2505,9672 2505,9675 2509,9670 2510,14670 2513,14675 2512,14671 2512,14673 2513,14671 2517,14674 2515,14679 2520,14676 2524,17676 2519,17677 2520,17678 2523,10558 12497,13558 12492,13558 12490,13560 12494,13561 12499,13563 12503,13568 12508,13572 12512,13572 15512,13573 15515,13569 15518,13566 15522,13571 15522,13572 15522,13575 15527,13576 15532,13573 15534,13575 15535,13572 15538,13574 15541,13571 15546,13571 15541,13568 15541,11605 16581,11608 16576,11613 16575,11612 16577,7612 16581,7614 16582,7617 16587,7616 16591,7617 19591,7619 19595,7620 19598,7624 19598,7625 19599,7624 19595,7625 14595,7627 14597,7626 14599,7628 14604,7628 14605,7633 14610,7632 14615,7632 14620,7631 14621,7631 14621,7631 14621,7627 14621,7632 15621,7635 15626,7636 15627,7637 15631,7633 15636,7635 15636,7631 15631,7631 15631,7634 18631,7630 18632,7629 18633,7632 18630,7633 18631,7638 18632,7638 18632,7638 18633,7633 18638,7637 18642,7639 18639,7639 18641,7643 18643,7647 20643,7648 20647,7643 20643,7648 20640,7649 20645,7650 20641,7650 20642,7650 20645,5650 20646,5654 20646,5654 20643,5651 20645,5648 20645,5653 20650,5653 20650,5654 20653,5655 20655,5659 20660,5664 20664,5668 20669,5668 20672,5670 20677,5675 20677,5678 20677,5680 20678,5680 20680,5679 20680,5682 20683,5681 20681,5682 20682,5685 20682,5685 20687,5685 20691,5685 20694,5685 20696,5685 20698,5686 20697,5688 20698,5688 20697,5688 20696,5689 20696,5694 20701,5695 20700,5697 20704,5697 20708,5694 20708,5694 20708,5694 20713,5691 20713,1691 20713,1689 23713,1694 23714,1696 23714,593 1402,593 1406,595 1410,598 1413,603 1418,602 1422,601 1422,602 1418,606 1423,607 1424,603 1429,605 1433,609 1429,614 1429,610 1429,610 1429,614 1429,610 3429,612 3425,616 3429,620 3429,624 3432,628 3436,628 3436,628 3441,632 3441,628 3445,626 445,631 449,631 453,630 455,626 -1545,630 -1542,630 -1538,630 -1542,630 -1541,633 -1536,631 -1534,626 -1536,630 -1535,630 -1532,635 1468,637 1471,642 1476,642 1477,642 1478,643 1481,643 4481,638 7481,638 7483,643 7486,645 7484,9668 27534,9669 27537,9671 27538,9672 27539,9673 27544,9674 27544,9673 27546,9671 27546,9667 27542,9666 27546,9667 27543,9672 27544,9675 27548,9676 27546,9676 27541,9681 27538,9681 27540,9686 27544,9686 27547,9690 27544,9687 27545,9691 27549,9693 24549,9694 24546,9692 24548,9697 24553,9694 24555,9695 24560,9696 24555,9700 24551,9704 24547,9703 24549,9705 24551,9705 24554,9705 24554,9705 24557,9707 24561,9706 24557,9711 24562,9715 24566,9720 24568,9717 24569,9720 24573,9725 24573,9726 24575,9729 24577,9734 24575,9735 24578,9735 24582,9731 24583,9726 24586,9727 24586,9728 24589,9733 24592,9734 28592,9734 28592,13734 28594,13737 28595,13740 28595,13744 28598,13739 28600,13742 28601,13744 28597,13742 28602,13744 28602,13744 28598,13745 28603,13744 28608,13749 28609,13749 28609,13754 28606,13758 28610,13759 28609,13760 23609,13761 23611,13763 23616,13768 23618,13769 24618,13768 24617,13773 24613,13773 24613,13778 24617,13776 24620,13778 24619,13779 24620,13781 24625,13785 24625,13785 24622,16785 24617,16786 24617,16790 24617,16794 24622,16795 24626,16798 24630,16796 24631,16796 24636,16799 24638,16804 24637,16808 24637,16809 24632,16814 24627,16809 24627,16814 24632,16818 24628,16816 24627,16820 24622,16820 24627,16824 24632,16823 24637,16824 24642,16826 24644,16824 24648,16826 24648,16826 24652,16829 24652,16829 24656,16828 24651,16832 24653,16827 24648,16828 24645,16828 24647,16831 24645,16832 24649,16835 24653,16839 24656,16839 24654,16840 24659,16841 24658,16845 27658,16845 27658,16840 27659,16837 27659,19837 27654,19841 27654,19836 27657,19839 27659,19839 32659,19839 32659,19839 32664,19840 32668,19842 32671,19847 32671,19851 32673,19856 29673,19856 29670,19858 29675,19860 29676,19865 29677,19868 29677,19868 29674,19872 29675,19872 29674,19874 29669,19876 29667,19876 29670,19878 29675,19883 29675,19883 29675,19879 29676,19879 29673,19880 29674,19880 29679,19876 29676,19876 29677,19879 29673,19880 29677,19879 29678,19881 29681,19882 29683,19882 29681,19887 29681,19888 29681,19891 29684,19896 29688,14896 29689,14896 29693,14899 30693,14903 30698,14908 25698,14910 25698,14911 25698,14914 25699,14910 25695,14910 25696,14914 25697,14917 25692,14921 27692,14925 28692,14920 28694,14924 28698,14924 28699,11924 28697,11928 28692,11932 28687,11937 28691,11941 28694,11940 28699,11944 28701,11940 28701,11940 28701,11943 28699,11945 28703,11947 28706,11951 28711,11953 28714,11956 28709,11961 28708,11966 28703,11969 28705,11967 28709,11967 28714,11964 28719,11969 28719,14969 28720,14970 28717,14973 28714,14976 32714,14976 32711,14977 32711,14980 32709,14984 32709,14987 32711,14988 32715,14993 32719,14994 34719,14994 34721,12994 34724,12994 34726,12998 34727,13000 34729,13002 34729,17002 34732,16998 34736,16999 34735,17000 34740,16999 32740,17001 32745,17001 32741,17005 32746,17006 32751,17010 33751,17008 33754,17013 33758,17013 33760,17010 33759,17010 33759,17009 33762,17013 33766,17017 33766,17020 33762,17015 33766,17019 33762,17022 33762,17017 33766,17014 33762,17018 33767,17019 33764,17021 33764,17023 33764,17019 33764,17022 33760,17024 33758,17029 33759,17033 33760,17028 33764,17023 33764,17028 33769,17031 33774,17034 33778,17029 33780,17034 33783,17030 33785,17032 33781,17035 33776,17038 33775,17040 33775,17041 33778,17045 33778,17049 31778,17050 31782,17052 31780,17054 31781,17051 31783,17053 31783,17049 31779,17050 31779,21050 31782,21053 31783,21054 31778,21056 31781,22056 31786,22052 31783,22050 31786,31882 25804,31887 25800,31887 25801,9610 10543,9612 10548,9614 10553,9614 10558,9614 10553,9616 10556,9620 8556,9623 8554,9628 8559,9630 8564,9630 8568,9628 8566,9628 8570,9630 8574,9634 8574,9634 8570,9635 8569,9635 8566,9632 8568,9637 8571,9638 8572,9639 8568,9643 8568,9646 8572,9646 8570,9651 8575,9650 8578,9653 8581,9654 8583,9653 8586,9655 13586,7655 13586,7660 13591,4660 13590,4663 13590,4666 13592,4671 13597,4673 13596,4678 13599,4682 13600,4685 13601,4683 13603,4685 18603,4683 18604,4685 18606,4690 18608,4690 23608,4693 23606,4693 23606,4697 23603,4702 23608,4704 23613,4704 23615,4709 23614,4708 23615,4711 23619,4711 23619,4713 23622,4713 23626,4711 23630,4715 23631,4712 23635,4714 23640,4718 23640,4719 23642,4721 23640,4721 23639,4726 23644,4730 23648,4725 27648,4723 27648,4727 27651,4731 27654,4733 27656,4737 27657,4742 27660,4745 27661,4750 27660,4751 27664,4754 27659,4759 27659,4755 27664,4757 27665,4752 27665,4754 27667,4750 27670,4750 27674,4753 27678,4753 27682,4758 27682,4758 27683,4760 27679,4762 27679,4764 27682,4769 27678,4773 32678,4773 32675,4771 32675,4767 32679,4772 32684,4775 32684,4778 32684,4775 35684,4775 35679,4775 35680,4779 35683,4779 35683,4784 35683,4789 35680,4790 35685,4791 35687,4791 35688,4792 35683,4792 35688,4792 35688,4797 35690,4799 35693,4803 35692,4803 35694,4803 35695,4808 35695,4812 35698,4816 35702,4815 35706,4811 35711,4811 35708,4813 35710,4813 35710,4814 35714,4815 35718,4820 35722,4816 35719,4819 35719,4824 35722,4826 35719,4830 35724,4832 35728,4835 35725,4840 35726,4840 35729,4840 35733,4840 35733,4841 35732,4844 35728,4848 35730,4849 35733,4849 35734,4849 35736,4847 35737,4847 35738,4843 34738,4846 34739,9846 37739,9850 37743,9853 37745,9857 37749,9852 37752,9852 37751,9852 37748,9852 37751,9851 37753,9848 37756,9843 37759,9841 37759,9840 37764,9837 37767,9842 37764,9845 37764,9840 37765,9842 37770,9842 37774,9846 37775,9851 37778,9854 37783,9854 37779,8854 37783,8851 37787,8856 37791,8859 37794,8860 37793,8855 37794,8857 37798,8859 37797,8860 37797,8860 37802,8861 37804,8863 37804,8863 37805,8865 37808,8866 37811,8866 37811,8862 37811,8859 37811,8864 37816,8864 37816,8867 37817,8872 37819,8867 37822,8871 37819,8875 37817,8876 37819,8876 37822,8871 37818,8873 37823,8877 37822,8879 37820,8880 37824,8881 37826,8884 37825,8887 37827,8884 37829,6637 6475,6637 6471,6635 6469,6640 6474,6641 6478,11641 6476,11644 6471,11639 6467,11638 6464,11642 6464,11646 6459,11647 6462,550 1394,551 1395,552 1399,548 1401,552 1400,547 1405,551 1406,556 1407,558 1410,558 1411,560 1413,565 1418,561 1423,-2378 3499,-2378 3502,-2378 3504,-2374 3501,-2371 3505,-2367 3507,4607 5468,4611 5471,4614 5472,4619 8472,4621 8473,4624 8477,4629 8474,4633 8476,4635 8478,4638 8475,4640 3475,4642 3479,4645 5479,4645 5482,4644 5486,4641 5486,4639 5488,4635 5491,4631 5488,8631 5485,8635 4485,8630 4488,8628 4488,8630 4486,8635 7486,8640 7482,8641 8482,8642 8483,8643 8483,8643 8483,8640 8488,8641 8489,8638 8487,8641 8491,500 5370,502 5368,504 5369,504 5371,506 5375,505 5376,509 5381,509 5381,504 5380,505 5375,509 5379,513 5382,513 5382,515 5382,517 5379,3517 5381,3519 5381,3520 5384,3523 5387,3521 5388,3521 5390,3520 5385,3519 5380,4519 5383,4524 5387,4523 5392,4525 5389,4530 5384,4525 5384,4526 5386,4531 5390,4531 5387,4530 5389,4534 5388,4538 5391,4541 5386,4542 5390,7542 5393,7547 5398,7548 5399,7547 5397,7543 5401,7544 5405,7545 5403,7545 5408,7546 5409,7550 5414,3550 5416,3550 5417,3548 5417,3543 5417,3543 5412,3548 5412,548 5412,552 10412,555 10414,557 10410,560 10411,563 10416,2563 10418,2564 10422,2559 10426,2555 10423,2560 10421,2563 10418,2565 10419,2569 10421,2573 10421,2573 12421,2572 12425,2571 12428,2576 12428,2581 12433,2583 12435,2581 12434,2576 12439,2581 12442,2581 12443,2581 12438,2579 12442,2575 12447,2573 12445,2577 12445,2582 12441,2587 12436,2589 16436,2590 16433,2586 16437,2586 16439,2588 16434,2589 16436,2590 16433,2593 16434,2590 16432,2593 16432,2590 16437,2594 16439,2599 16442,2600 16447,2605 16450,2605 16454,2604 16451,2608 16447,2612 16442,2613 16446,2618 16451,2623 16455,2626 16457,2629 16457,2630 16460,2630 16460,2632 16464,2636 16464,2639 16467,2638 16471,2643 16476,2643 16479,2645 16484,2645 16481,2649 16482,2652 16480,2648 16476,2649 16476,2649 16481,2644 16485,6644 16488,6647 16488,6647 20488,6647 20493,6652 20497,6656 20498,6661 20503,6656 20507,6656 20511,6656 20512,7540 11429,9674 12603,11674 12599,11675 12594,11674 12599,11678 12601,11681 12603,13681 12603,13684 12603,13684 12603,13686 12603,13689 12603,13693 12605,13695 12601,13695 12603,13697 12602,13701 15602,13703 15603,13704 15601,13706 15597,13711 15598,13711 15603,13715 15603,13714 15600,13713 15598,13717 15603,13722 15605,13726 15607,13727 15612,13727 15612,13731 15614,13733 15616,13728 15616,13730 15617,13734 15614,13736 15617,13739 15614,13739 15617,13739 15617,13741 15619,13746 15624,13742 15624,13742 15626,13746 15626,13750 15623,13749 15621,13754 15626,12754 15627,12750 15627,12753 15624,12754 15624,12758 15629,12759 15624,12761 15627,12764 15632,12765 15637,12768 15635,12772 15640,12769 15636,12772 15634,12773 15634,12772 15634,12775 15635,12772 15640,12774 15641,12777 15641,12779 15646,12780 15642,12776 15640,12780 15640,12779 15638,12784 15642,12789 15643,12787 15644,12788 15649,12791 15649,12789 15648,12787 15648,12791 15650,7791 15655,7795 15655,7798 15658,7802 15659,7803 15655,7804 15654,2804 15652,2808 15648,2806 15652,2805 15652,2806 15657,2801 15657,2801 15658,2801 15655,2803 15654,2808 15658,2804 15653,2803 15656,2807 15656,2812 15658,2814 15657,2818 15658,2818 15660,2822 18660,2825 18664,2829 18668,2833 18663,2832 18668,2832 18668,2834 18671,2836 18672,2839 18677,2843 18680,2848 18675,2851 18677,2854 18681,2859 18685,2864 18690,2868 18694,2873 21694,2877 21694,2879 21693,2881 21693,2882 21696,2885 21697,2883 21701,2887 21702,2887 21702,2887 21697,6887 21701,6892 21702,6888 21707,3576 10502,3578 10506,3582 10508,3585 10508,3590 10512,3592 11512,3593 11514,3598 11514,3602 11514,3599 11515,3599 11516,3601 11520,3601 11519,3599 11522,3599 11519,3601 11517,3600 11515,3600 11517,3596 11519,3600 11521,3603 11525,3606 11528,3607 11532,3608 11536,3606 11541,3605 11541,3605 11542,3609 11537,3613 11538,3609 11538,3605 11538,3605 11542,3609 11546,3613 11541,3613 11546,3612 11547,3611 11551,3614 11548,3610 11550,3611 11555,3611 11559,3615 11559,3618 11563,3621 11564,3618 11567,3620 6567,3624 6567,3627 6570,3623 6572,3619 6576,3616 6577,3611 6578,3612 6579,3609 6578,3610 6582,3613 6586,3614 6586,3619 6584,3622 8584,3617 8582,3622 8587,3622 8592,3624 8592,3627 8587,3628 13587,3629 13589,3631 13594,3636 13589,3636 13590,3637 13587,3637 13591,3641 13596,3641 13597,3645 13602,3640 13601,3640 13602,3640 13606,3644 13606,3644 13609,3639 13612,3639 13612,3644 13610,3649 13615,3654 13618,3659 13618,3662 13618,3666 13620,3661 13625,3660 13630,3660 13634,3662 13635,3659 13637,3663 13638,3666 13638,3669 13635,6669 13635,6671 13631,6672 13631,6669 13631,6667 13629,6663 13629,6663 13627,6663 13627,6667 13630,6671 13630,6671 13630,6673 15630,6674 15631,6679 15632,6682 15629,6685 15629,6686 15631,6691 15633,11691 15630,11689 15629,11693 15632,11693 15627,11698 15627,11695 15626,11697 15629,14697 15628,14701 15631,14705 15632,14700 15632,17700 15635,17705 15640,17700 15642,17701 15638,17703 15640,17708 15641,17712 16641,17716 21641,17716 21645,17721 21645,17720 21650,17720 21653,17720 21653,17722 21653,17718 21654,17721 21657,17723 21657,17724 21657,17720 21659,17723 21663,17725 21660,17725 21661,17723 21661,17727 21665,17727 21665,17731 21669,17729 21671,17731 21671,17727 21671,17727 21667,17726 21670,17722 21671,17727 21671,17732 21671,17737 21671,17739 21674,17741 21676,17746 21680,17750 21683,17745 21681,17745 21678,17750 21679,17753 21681,17758 21677,17760 21682,17764 21681,17763 21681,17763 21684,17766 21680,17768 21684,17764 21688,17769 21691,17771 21695,17773 21691,17776 21690,17777 21695,17781 21695,17784 21695,17784 21695,17786 21699,14786 21695,14786 21692,14786 21690,14788 21691,14788 21696,14793 21698,14798 21701,14796 21699,14800 21702,14796 21704,14800 26704,14805 26699,14810 26700,14810 26698,14814 24698,14814 24702,14814 24705,14815 24700,14819 24703,14822 24705,14826 24710,14831 24709,14833 28709,14835 28710,14838 28708,14839 28708,14842 28709,14847 28713,14843 28714,14847 28712,14850 28717,14847 28713,14851 28711,14854 28706,14853 28702,14848 28697,14852 28702,14857 28706,14857 28710,14858 27710,14861 27711,14864 27714,17864 27715,17864 27716,17864 27713,17869 27715,17870 27719,17871 27720,17869 27720,17872 27724,17871 27729,17873 27729,17875 27733,17877 28733,17881 28730,17881 28727,17884 28728,17886 28733,17886 28734,17891 28735,19891 28735,19892 28731,19896 28732,19891 28736,19895 28740,19898 28737,22898 28738,22898 26738,22898 26733,22899 26738,22900 26738,22901 26742,22901 26744,22896 26744,22899 26746,22901 26751,22899 26754,22904 26756,22906 26761,22909 26761,22914 26766,22915 26765,22918 26768,22913 26768,22915 26763,22920 26763,22917 26764,22921 26765,22922 26769,22918 26764,22920 26765,22919 26768,26919 26771,26922 26774,26927 26779,26924 26778,26924 26780,26920 26782,26924 26787,26922 26788,26925 26792,26927 26787,26928 26790,26933 26794,26933 26795,26936 26795,26939 26800,26939 26798,26936 26798,26939 26795,26937 26795,26937 26793,26937 28793,26939 28791,26940 28793,26937 28796,26937 28797,26935 28798,26930 28798,26934 28802,26934 28807,26936 28811,26940 28812,26937 28815,26939 28814,26934 28812,26938 28817,26942 28822,26943 28822,26948 28822,26952 28824,26953 28824,26953 28829,26950 28834,26954 28839,26954 28839,26949 29839,21949 32839,21951 32838,21951 32843,21951 32844,21951 32849,21951 32854,21953 32854,24953 32852,24953 32851,24957 32853,24962 32854,24963 32849,24967 32847,24970 32849,24966 32849,24967 32852,24963 32856,24965 32860,24968 32861,24971 32860,24974 32860,24978 32863,24980 32859,24981 32864,24981 32868,24983 32866,24988 32866,24988 32869,24991 32874,24992 32878,24992 32881,24992 32877,24988 32880,24991 36880,24991 36883,24991 36885,24992 36889,24996 36894,24995 36894,24998 36894,24999 41894,25004 41899,25006 41900,25010 41905,25005 41909,25007 41912,25008 41916,25009 41919,25011 41917,25016 41919,25017 41916,25014 41919,25015 41919,25017 41919,25018 41924,25023 41927,25026 41928,25026 41929,25021 41926,25020 41926,25023 41928,25019 41933,25018 41932,638 7483,639 7484,640 7482,644 7484,646 7486,651 7486,554 1390,549 1391,547 1392,551 1397,3551 1394,3553 6394,3550 6399,3554 6399,3553 6403,3553 6400,3550 6403,3554 6398,3555 6402,3559 6403,3564 6405,3564 6410,3560 6412,3565 6412,3564 6407,3567 6407,3572 6410,3576 6412,3578 6413,3580 6414,11674 22654,11679 22654,11679 22654,11679 22656,11684 22658,11689 22661,11694 23661,11697 23658,11697 23661,11698 23664,11700 23667,11695 28667,11698 28671,11699 28672,11704 28675,12704 28671,12708 28669,12710 28673,12707 28678,12708 28678,12710 28677,12710 28677,12712 28675,12713 28679,12715 28676,12715 28680,12719 28681,12724 28678,12728 28673,12733 28676,12733 28673,12734 28673,12739 28677,12743 28679,12744 27679,12741 27680,12741 27680,12740 27682,12741 27678,12740 27680,7740 27684,7743 27686,7738 27683,7740 27683,7740 27686,7736 27690,7736 27693,7739 27691,7735 27686,7739 27686,7737 27686,7737 27688,7732 27689,7732 27689,7731 27684,7736 27689,7741 27692,7739 27697,7740 27702,7738 27703,7741 27706,7746 27704,2626 16457,2627 16460,2623 16461,2618 16461,2620 20461,2622 20457,2623 20457,2628 20457,2632 20462,2629 20462,2630 20462,2628 20457,2633 20460,2632 20460,2637 20460,2639 20457,2639 20457,2639 20461,2641 20460,2646 20460,2651 20461,2650 20461,2651 20464,2656 20460,2660 20463,2665 20464,2667 20464,2668 21464,2671 21468,2676 21471,2673 21476,2590 16437,2591 16434,2596 16436,4596 16438,4600 16439,4600 16439,4601 16439,4599 16435,4599 16440,4597 16441,4598 16446,4598 16447,4595 16445,4590 16447,4594 16447,4595 16447,4598 16447,4598 16449,4596 16451,4598 14451,4596 14456,4598 14457,4594 14452,4598 14457,5598 14457,5598 14458,2598 14463,2600 14463,2603 14464,2598 14465,2595 14470,2590 14467,2594 14470,2595 14471,2598 14473,2598 14473,2599 14473,1599 14474,1599 14472,1600 14467,1599 14470,1601 14468,1599 14463,1601 14461,1601 14461,1601 14466,1602 14468,1606 14473,1602 14473,1600 14475,1595 14478,1599 14479,1596 14479,1596 14484,1596 14488,1601 14489,1604 18489,1606 18492,1604 18492,1605 18496,1605 18496,1608 18501,1603 18498,1608 18500,1612 18497,1608 18492,1604 18494,1609 18497,1609 18499,1606 18499,1608 18501,1610 18503,1606 18499,1610 18500,1614 18501,1617 18497,1620 18498,1616 18501,1614 18496,1615 18500,1617 18497,1619 18498,1617 18501,1622 18506,1622 20506,1625 20506,1625 20509,1627 20513,1631 20514,1633 20519,1637 20520,1639 20525,1643 24525,1638 24520,1642 24520,1647 24525,1650 24529,1654 24530,1657 24533,1656 24538,1659 24542,1659 24545,1662 24550,1666 24551,1666 24552,1666 24557,1666 24562,1666 24565,1669 24568,1672 24569,1672 24569,1676 24566,1676 24570,1678 24565,1676 24567,1673 24567,1674 24572,1679 24577,1679 24578,1683 24581,1684 24586,1688 24590,1690 27590,1685 27594,1688 27594,1683 27594,1686 27597,1688 27600,1692 27599,1696 27600,1695 27604,1695 27609,1698 27610,1701 27610,1705 27609,1706 27605,1709 27600,1714 27600,1716 27602,1717 27601,1712 27597,1714 30597,1711 30600,1713 30600,1713 30604,1714 30604,1716 30602,1713 30605,1710 30606,1713 30609,1709 30607,1713 30604,1714 30609,1717 30609,1717 30613,1721 30615,2721 30620,2718 30623,4718 30628,4723 30624,4727 30619,4728 30618,4728 30615,4728 30619,4729 30618,4731 30622,4731 30625,4734 30625,4734 30630,4735 30627,4736 30631,4735 30636,4730 30641,4727 30641,4729 30646,4731 30650,4736 30651,4740 30648,4737 30648,4738 30647,4741 30649,5741 30646,5744 30648,5745 30651,10745 30651,13745 30653,13749 30651,13754 30652,13754 30657,13754 30657,13758 30653,13761 30656,13766 30655,13768 30659,13769 30662,13771 30659,13771 30661,13771 30665,13768 30670,13768 30667,13772 30670,13776 30672,13775 30672,13777 30675,13780 30679,13783 30677,13784 30678,13784 30674,13788 30674,13788 30678,13784 30678,13787 30683,13792 30683,13791 30679,13794 30679,13795 30682,13795 30686,13798 30691,13803 30692,13807 30694,13810 30694,13810 30692,13813 30694,13813 30689,13816 30689,13820 30689,13822 30692,13826 30696,13822 30701,13827 30704,13832 30707,13832 30707,13828 30707,13831 30712,13831 30709,13834 30706,12834 30707,12839 30703,12843 30707,12843 30703,12843 30706,12848 30710,12849 30715,12853 30713,12853 30716,12852 30718,12849 30721,12849 30719,12852 30719,12853 30714,12856 30712,12856 30714,12857 30719,12862 30720,12865 25720,12863 25723,12864 25724,12868 25729,12869 25731,12868 25736,12869 25739,12865 25737,12863 25739,12866 25743,12862 25747,12867 25747,12867 25748,12867 25748,12870 25748,12866 25748,12869 25749,12869 25751,12874 25754,12875 25758,12877 25761,12878 25763,21745 15645,21749 15645,21753 15646,21753 15648,21758 15652,21754 15654,21759 15654,21762 15658,21766 15663,21761 15663,21761 15665,21758 15666,21761 15668,21763 15666,21765 15662,21770 15666,21773 15671,12742 4678,12743 4682,12740 4687,12745 4692,12745 4688,12748 4689,12748 4692,12752 4696,12754 4697,12754 4700,12758 4703,12758 4703,12762 4704,12762 4709,12762 4711,12760 4713,12760 4717,12764 4713,12767 4712,12767 4712,12768 4715,12767 4720,12770 4716,12770 4712,2569 10421,2572 10423,2576 10424,2579 10428,2580 10423,2582 10424,2578 10422,2577 10426,2577 10428,2580 10433,2580 10433,2581 10432,2580 10435,2584 10435,2588 10439,2587 10444,2592 10445,2589 10446,2591 10447,2594 10446,2597 10445,2599 10440,2602 10443,2603 10443,2605 10444,2605 10449,2607 10449,2602 7449,2605 7449,2608 12449,2605 16449,2605 17449,2605 17450,2608 17454,2612 17459,2607 17459,2608 17456,2613 17457,2617 17459,6617 17462,6621 17467,6621 17468,6626 17464,6622 17465,6622 17465,6623 17469,6623 17466,6623 17467,6627 17466,6623 17466,6626 17463,6622 17468,6625 17464,6627 17468,6625 17463,6626 18463,6624 18463,6625 18464,6623 18468,6623 18469,6626 18470,6621 18466,6621 18467,6622 18467,6625 18464,6630 18468,6628 18469,6631 18472,6627 18477,6628 21477,6631 21481,6627 21486,6628 21490,6632 21494,6637 21496,6640 21491,6643 21491,6648 21490,1648 21492,1650 21489,1650 21487,1654 21488,1653 21489,1653 21492,1650 21493,1655 21493,1650 21493,1651 21490,1651 21490,1649 21493,1645 21498,1649 21494,1652 21495,1654 21500,1655 21495,1658 21492,1663 21496,1666 21500,1666 19500,1664 19504,1668 19508,1668 19512,1666 19516,1669 19518,1669 19518,1674 19520,1674 19525,1676 19525,1679 19526,1679 19526,1681 19526,1686 19526,1691 19529,1689 19529,1688 19529,1685 19524,1690 19528,1693 19531,1693 19531,1698 20531,1699 20536,1703 20538,1703 20538,1706 20541,1701 20545,1702 20550,1704 20547,1705 20544,1710 20548,1710 20551,1713 20555,1712 20559,1714 20562,1714 20563,1714 20565,1712 20567,1711 20570,1706 20571,1708 20571,1708 22571,6708 18571,6712 18571,6715 18573,6710 18577,6711 18579,6711 18579,6716 18578,6721 18580,6721 18582,6726 18587,6731 18588,6736 18587,6734 18587,6736 18590,6739 18594,6744 18597,6744 18602,6746 18606,6749 18606,6750 18609,6750 18610,6753 18605,6755 18610,6759 18613,6759 18613,6759 18617,6763 20617,6767 20621,6771 20625,6773 20628,6769 20629,4769 20633,5769 20635,5769 20637,5770 20640,5772 20643,5772 20646,5772 20644,5776 20641,5779 20643,5784 20642,5786 25642,5786 25645,5791 25647,3791 25651,3791 25652,3794 25648,3793 25644,3791 30644,3796 30649,3796 30654,3800 30655,3800 30657,3797 30657,3797 30659,3800 30661,3803 30661,3803 30657,3800 30652,3801 30652,3802 30653,3807 30654,3809 30657,3804 30656,3801 30657,3803 30657,3803 30658,3804 30663,4804 30663,4809 30665,9809 30665,9809 30669,9812 30673,9816 30676,9816 30676,9816 30677,9818 30682,9818 30683,9817 30687,9813 30692,9817 30692,9814 30693,9816 30693,9818 30697,9818 30699,9818 30696,9816 30694,9811 30694,9812 30694,9816 30697,9821 30700,9824 30702,9827 30707,9827 25707,9827 25711,9828 25709,9823 25713,9827 25712,9830 25714,9827 25712,9832 25717,9836 25719,9836 25722,11836 25725,11838 25727,14838 29727,14835 29728,14838 29724,14843 29724,19843 29724,19846 29728,19847 29732,19851 29737,19855 29738,19858 29735,19853 29735,19853 29737,19852 29739,19850 29744,19850 29744,19854 29747,19859 29752,19861 29750,19864 29751,19869 29752,19864 29756,19865 29757,19868 29758,19868 29758,19871 29763,19874 29764,19877 29766,19879 29763,19880 29763,19881 29765,19886 29765,19881 29765,19881 29768,19880 29773,19875 29775,19879 29776,19883 29776,19887 29781,19890 29784,19890 29789,19892 29784,19897 29785,19893 29785,22893 29787,22895 29792,22895 29788,22895 29789,22895 29793,22900 29793,25900 29790,25901 29794,25902 29794,25905 29794,25907 29798,25912 29799,25910 29804,25915 29809,25918 29807,25917 29808,25921 29808,25925 29812,25926 29816,25926 29819,25921 29821,25926 30821,25929 30823,25933 30822,25935 30823,25937 30818,25937 30818,25939 30819,25939 30824,25941 30819,25943 30823,25946 30824,25946 30829,25947 30829,25947 30830,25952 30833,25953 30831,25954 30836,25959 30836,25964 30836,25961 30836,25965 30837,25964 30835,29964 30839,29968 30842,31968 30847,31967 30844,31972 30844,31972 30840,31977 30839,31982 30842,31987 30844,31987 25844,31984 25848,31987 25848,31992 25845,31993 25846,31997 25846,31997 25849,31996 25851,31995 25855,32000 25858,31995 25859,31996 25856,31997 25858,31999 25858,31998 25858,32001 25859,32003 25863,32002 25866,32003 25867,32008 25867,32011 25870,32014 25875,32013 25874,34013 25873,34013 25876,34011 25878,34011 25880,34012 25885,34016 27885,34011 27884,39011 27888,39008 27884,39011 27879,39011 27876,39011 27880,39014 27879,39013 27879,39014 27879,39015 27882,39019 27886,39020 27888,39020 27893,39025 27895,39030 27896,39030 27896,39031 27892,39036 22892,39039 22894,39038 27894,39043 27895,39048 27900,39044 27905,39046 27907,39041 27910,39044 27910,39043 27915,-2382 3462,-2377 3465,-2373 3468,-2371 3469,1629 3470,1632 3472,1630 3469,5630 3473,5635 3474,5638 3474,5639 3469,5643 3473,5643 3473,5639 3477,5639 3477,5639 3480,5642 3479,5644 3481,5649 3480,2649 3485,2649 3485,2650 3489,2653 3491,506 5375,510 5380,513 5382,518 5384,522 5387,521 5384,524 5385,525 5382,523 5384,527 5384,527 5386,4527 5391,4528 5393,4533 2393,4534 2389,4537 2393,4538 2395,4541 2400,4543 2404,4544 2405,4548 3405,4553 3410,4556 3406,4561 3406,4558 3410,4559 3410,4558 3408,4558 3413,4563 3413,4561 3418,4563 3423,4565 3426,4565 3428,4570 3432,4570 3433,4574 3437,4579 3439,4583 3443,4578 3444,4582 3447,4583 3447,4585 3443,4590 3448,4586 3448,4588 3449,5588 3449,5589 3454,5593 3456,5591 3457,5591 3458,7591 3461,7594 3457,7596 3459,7591 3458,7590 3460,7593 3460,7593 3463,7590 3464,7586 3466,7581 3467,7580 3466,7580 3466,7585 3470,7585 3472,7589 3468,7589 3471,7594 3474,7599 3474,7600 3471,7603 3471,7606 3471,7606 3472,7606 3474,7606 3479,7609 3482,7612 6482,7614 6485,11614 6481,11619 6486,11624 6486,11621 6489,11623 6491,11628 6491,8628 6496,8632 6498,8629 6502,8632 6502,8627 6505,8631 6506,8633 6502,8633 6507,8631 6512,8631 6512,8626 6514,8621 6515,8620 6513,8615 6514,8611 6519,8612 6522,8613 6522,8616 6522,8611 6519,8614 6519,8615 6521,8618 6525,8623 6526,8628 6521,8631 6517,8634 6520,8634 6525,8637 6526,8636 6528,8640 6533,8643 6534,8643 6531,8642 6532,8643 6535,8643 6535,8640 6531,8641 6531,8641 6534,8644 6537,8647 6541,8648 6536,8649 6537,8649 6542,8644 6546,8644 6546,13644 6548,13642 6549,13638 6548,13636 6549,11636 6549,11636 6554,11633 6554,11636 6554,11641 7554,11642 7558,11641 7553,11643 7556,11644 7556,11639 7556,11641 7558,11641 7559,11641 7563,11638 7560,11639 7564,11642 7569,12642 7574,7642 7576,7642 7574,7643 7577,7645 7577,7650 7576,7645 7576,7648 7576,7650 7581,7651 7576,7654 7581,7658 7581,7661 7583,7662 7584,7664 7586,7661 7586,7662 7589,7666 7585,7669 7585,7670 7585,7670 7587,7670 7587,7670 7591,7667 7595,7672 7595,7677 7600,7679 7597,7684 5597,7682 5600,7685 5601,7688 5601,7691 5604,7696 5605,7700 5607,7703 5602,7704 5602,7701 5606,7702 5607,7706 5609,7710 5614,7713 5610,7716 5615,7717 5616,7719 5621,7724 5621,7724 5618,3724 5623,3722 5625,3725 5626,3730 5628,3727 5633,3727 5636,3729 5638,6729 5639,6732 5642,8732 5644,8732 5649,8729 5650,8734 5645,8736 5644,8739 5644,8741 5645,8745 5650,8743 5652,8739 5651,8744 5652,8744 5653,8745 5649,8748 5651,8749 5652,8750 5655,8753 5660,8753 5662,8755 5660,8757 5657,8758 5654,8762 5659,8760 5660,8761 5664,8765 5669,8768 5669,8768 5669,8769 5673,8769 5678,8772 5678,8769 5683,8774 5683,8776 5687,8777 7687,8779 7691,10779 7686,10779 7686,10780 7686,15780 7690,15781 7695,15779 7699,15783 7702,15788 7705,15791 7705,15786 7709,15788 7707,15793 7710,17793 7711,17794 7712,17799 7713,17800 10713,17802 10713,17802 10715,17803 10715,17808 10716,17811 10717,17811 14717,17811 14722,17811 14722,17815 14725,17819 14726,17820 14727,17822 14727,17817 14731,17818 14731,17818 14729,17820 19729,17818 19725,17822 19728,17818 19723,17821 19720,17821 19725,17824 19725,17821 19728,17821 19725,17825 19725,17830 19725,17834 19729,17836 19730,17837 19730,17841 19725,17844 19730,17849 19734,17853 19734,17856 19737,17858 19732,17858 19732,17863 19732,17868 19733,17873 19735,17874 19740,17878 19742,17883 19742,17879 19747,551 1397,551 1398,552 1401,553 1401,553 1398,552 1398,555 1402,556 1406,557 1409,558 1413,558 1416,558 1418,558 1420,563 1421,566 3421,568 3421,570 3426,572 3429,5572 3433,5576 3433,5579 3436,5579 3441,5583 3444,5580 3445,5585 3450,5589 3453,5593 3454,5597 3459,610 1429,612 1431,607 1430,607 1430,609 1426,605 1425,607 1425,602 1420,604 1423,-2378 3502,-2377 3503,-2378 3507,-2373 3508,-2375 3512,-2370 3516,-2373 3517,-2369 3514,-2370 3517,-2367 3519,-2366 3524,-2366 3529,-2362 3534,-2365 3536,-2370 3534,-2370 3531,-2366 3528,-2370 3532,-2366 3535,-2361 3533,-2361 3537,-2361 3540,-2358 3541,-3358 3543,-3355 3544,-3355 3542,-3355 3541,-3352 3546,-3348 3548,-3350 3551,-3346 3553,-3347 3553,-3342 3548,-3337 3548,-3338 3547,-3338 3547,-3334 3552,-3333 3552,-3332 3550,-3331 3550,-3329 3550,-3326 3552,-3325 3554,-3320 3556,-3315 3560,-3313 3565,-3312 3560,-3315 3563,-3315 3559,-3318 3564,-3321 4564,-3321 4569,-3317 4568,-3312 4573,-3311 4576,-3311 4575,-3308 4571,-3304 4572,-3299 4576,701 4580,703 4582,708 4582,711 4583,715 4587,716 4591,721 4587,717 4590,715 4594,715 4594,719 4598,719 4600,720 4604,717 4606,718 8606,722 8604,726 8600,727 8605,731 8609,731 8609,733 8611,738 8611,739 8612,734 12612,734 12617,730 12622,729 12622,732 12625,-268 12627,-263 12627,-264 12625,-261 12622,-260 12622,-265 12625,-264 12622,-264 12624,736 12622,733 12623,734 12626,730 12628,731 12632,732 12637,730 12637,733 12634,732 12635,732 12635,734 12635,733 12636,731 12639,734 12639,733 12642,734 14642,736 14646,739 14651,743 14654,-2257 14651,-2252 14651,-2252 19651,-2249 19656,-2249 19653,-2245 19650,-2248 19651,-2243 19656,-2241 19661,-2238 19664,-7238 19668,-7236 19666,-7231 19661,-7231 19666,-7227 19671,-9227 19672,-9223 19676,-7223 19675,-7223 19677,-7218 19677,-7219 19677,-7216 19673,-7214 19677,-7210 19674,-7206 19671,-7205 19673,-7203 19677,-7206 19680,-7202 19680,-7197 19685,-7197 19686,-7196 16686,-7201 16687,-7201 12687,-7198 12682,-7198 12682,-7193 12682,2673 15591,2673 15594,2673 15597,2671 15599,2666 15601,2670 15606,2669 15607,2670 15607,2673 15602,2670 15604,2671 15601,2672 15602,2667 15600,2672 15602,2675 15598,2675 15600,2678 15600,2677 15602,2673 17602,2678 17602,2677 18602,2681 18606,2682 18611,2685 18616,2686 18612,2688 18611,2686 18615,2686 18612,2687 18609,2688 18608,2688 18609,2688 18613,2693 18615,2693 18620,2691 18620,2696 18620,2698 18619,2695 18622,2700 18625,2704 22625,2709 25625,2709 25626,2710 25628,2710 25629,2714 25625,2715 25625,2713 25627,2714 25630,2718 25635,2723 30635,2723 30639,2726 30634,2727 30637,2728 30639,2732 30639,-1268 30642,-1266 30646,-1269 30643,-1269 30642,-1271 30642,-1269 30643,-1269 30645,-1269 30648,-1267 30647,-1265 30644,-1269 30648,-1268 30644,-1269 30644,-1269 30642,-1266 30641,3734 30637,3739 30640,3743 30641,3748 30646,3753 30650,3751 30653,3751 30652,3756 30647,3757 30648,3759 30653,3761 30656,3762 30655,3762 30653,3763 30650,3766 30652,3770 30657,3770 30657,3770 30653,3773 30650,3776 30650,3778 30650,3774 30655,3775 30657,3776 30660,3781 30662,3785 30665,3790 30670,5790 30672,5794 30675,5798 30680,5803 30675,5802 30673,5801 30677,5803 30679,5808 30677,5805 34677,5810 34677,5811 34682,5812 34684,5816 39684,5816 39687,5814 39690,5810 39695,5811 39696,5816 39700,5821 39705,5824 39707,5826 39711,5828 39708,5829 39709,5834 39712,5838 39715,5839 39718,5840 39720,5839 39722,5839 39722,5835 42722,5833 44722,5829 44722,5828 44722,5833 44724,5835 44727,5835 44731,2835 44729,3835 44731,3836 44736,3841 44739,3839 44736,3839 44736,3836 44736,3837 44737,3841 44737,3842 44733,3840 44735,3843 44730,3842 44732,6842 44734,6841 44735,6846 44737,6848 44737,6851 44740,6850 45740,6853 45741,6853 45741,6848 45743,6852 45744,6857 45746,6855 45747,6853 45750,6857 45754,6859 45752,6863 45751,6861 45751,6861 45748,6858 45752,6861 45750,6858 45750,6862 45750,6862 45753,6864 45757,6861 45762,6864 45762,6867 45761,6872 45763,6877 45758,6882 45761,6883 47761,6886 47761,6888 47762,6893 47767,6897 48767,6897 48772,6902 48771,6903 48773,6904 48773,6904 48777,6899 52777,6899 52777,6903 52773,6903 52773,7903 52773,7908 52771,7903 52772,7904 52774,7899 52776,7895 52776,7895 52781,7894 52778,7898 52783,7902 52785,7906 52790,7907 52792,11907 52797,11908 52801,11911 52800,11916 52804,11911 52806,11913 52808,11913 52805,11913 52809,11909 52812,11911 52812,11908 52815,11913 52817,11917 52820,11918 52820,11922 52825,11926 52823,11931 52827,11931 52826,11934 52823,11936 52818,11938 52819,11940 52823,11943 52828,11938 52833,11940 52835,11944 52832,11941 52831,11936 52831,11936 52833,11934 52836,11938 52839,11940 52840,11943 52840,11943 52841,11945 52844,16945 52844,16942 52839,18942 52838,18945 49838,18950 49841,18950 49844,18951 49845,21951 49847,21956 49848,21961 49846,21961 49851,23961 49852,23961 49856,23966 49860,23969 49865,23965 49866,23970 49862,23975 49859,23975 49859,23978 44859,23979 44862,23981 44862,23984 44867,23980 44871,23983 44875,23988 44875,23992 44877,27992 44878,27989 44881,27985 44886,27986 44888,27984 44888,29984 44889,29984 44889,29985 44893,29990 44888,29994 44892,29997 44896,30001 44895,30002 44900,30003 44904,30004 44907,30008 44904,30009 44904,30010 44905,30010 44908,30007 44908,30011 44905,30014 44908,30016 44909,30021 44912,30023 44913,30025 44912,30024 44910,30022 44914,30026 44912,30025 44912,30029 44912,30029 44915,30033 44920,30038 44924,30043 44926,30047 44928,30043 44930,30047 44932,30050 44934,30050 48934,30046 48935,30051 48935,30051 48935,30055 51935,30054 51931,1610 18503,1614 18504,1616 18504,1619 20504,1619 20504,1619 20505,1620 20509,1620 20511,1618 20511,1619 20508,2619 20511,2615 20516,2612 20515,2612 20515,2617 20512,2622 20515,2617 22515,2620 22516,2622 22519,2626 22522,2624 22522,2619 22524,2623 22519,2621 22519,2622 22516,2620 22512,2622 22517,2622 22522,2626 22522,2630 22522,-370 22526,-1370 22531,-1375 22531,-1371 22527,-1366 22527,-1362 22531,-1361 22528,-1362 22524,-1367 22528,-1367 22530,-1367 22533,-1367 22535,-1363 22540,-1363 22536,-1363 22539,-1358 22541,-1358 22541,-1355 22543,-1355 22538,-1355 22541,-1356 22544,-1357 22548,-1354 22553,-1353 22557,-1353 22561,-1355 22562,-1352 22566,-1351 22568,-1349 22569,-1347 22568,-1346 22566,-1351 22565,-1347 22566,-1348 22567,-1351 22569,-1346 22565,-5346 22567,-3313 3565,-3311 4565,-3308 4568,-3304 4571,-3307 4572,-3307 4573,-3303 4573,-3304 4578,-3300 4578,-3301 4578,-3301 4583,-3301 4581,-3297 4585,-3295 4580,-3295 4575,-3295 4573,-3293 4575,-3290 4580,-3285 4580,-3284 4582,-3284 4581,-3280 4580,-3285 4579,-3285 4579,-3284 4584,-3288 4588,-3286 4588,-3283 4584,-3279 4584,-3278 4588,-3279 4588,-3274 4586,-3270 4589,-3270 4590,-3268 4587,-3270 4591,-3267 5591,-3265 5591,-3261 5592,-3259 5593,-3259 5590,-3258 5595,-3256 5599,-3253 5601,-3252 5600,-3252 5603,-3252 5603,-3255 5601,-3250 5600,-3247 5605,-3242 5606,-3241 5608,-3243 5612,-3242 5612,-3245 5614,-3242 5619,-3243 5623,-2243 10623,-2242 10626,-2247 10626,-2247 10630,-2244 10634,-2248 10639,-2248 10636,-2248 10641,-2244 10646,11598 14558,11594 14563,11596 14568,11597 14569,11600 18569,11601 18570,11599 18566,11602 18568,11607 18567,11611 18572,11614 18573,11612 18569,11615 18570,11614 18573,11617 18577,11621 18577,11617 18574,11615 18579,11619 18583,11615 18587,11615 18587,11620 18588,11621 18589,11617 18593,11620 18597,11622 18599,11626 18603,11621 18603,11625 18607,11628 18611,11630 18614,11630 18619,11633 18616,11633 18616,11635 18614,11634 18613,11636 18609,11638 18607,11642 18612,11641 18615,11646 18615,11648 18619,11652 18621,11654 18622,11653 18617,11648 18619,11650 18614,11646 18617,11648 18613,11648 18618,11650 18615,11647 18617,11649 18621,11653 18621,11656 18624,11656 18628,11659 18628,11660 18624,11662 18624,11662 18620,11663 18620,14663 18621,14665 18616,14662 18611,14662 18607,14665 18607,14670 18607,14674 17607,14676 17610,19676 17608,19681 17613,19681 17613,19686 17611,19687 17612,22687 17612,22684 17608,22682 17607,22686 17610,22690 17611,22692 17612,22690 17617,22693 17622,22696 17622,22698 17625,22703 17627,22699 17629,22698 17629,22702 17634,22705 17630,22707 17634,22708 17634,22710 17639,22712 17639,22713 17635,22712 17639,22715 17644,22720 17644,22720 17646,22723 17644,22723 17644,22728 17643,22729 17646,22725 17651,22725 17652,22725 17647,22730 17647,22733 17647,22734 17647,22733 17651,22737 17653,22737 17657,22735 17660,22738 17658,22742 17662,22747 17667,22752 17671,22751 17672,22749 17677,22751 17677,22753 17681,22754 17677,22759 17674,22763 17674,22768 17677,22773 17673,22774 17676,22774 17679,17774 16679,17772 16679,17770 16675,17772 16676,17771 16676,17770 16679,17775 16684,17774 16685,17776 16685,17780 16687,17781 16688,17786 16689,17790 16689,17793 16688,17797 16684,17800 16684,17799 16689,21799 16691,21799 16688,21804 16689,21804 16687,21804 16687,21808 16685,21809 16689,21813 16693,21813 16696,21817 16698,21817 16699,21819 16694,21824 16699,21824 16701,21827 16705,21823 16702,21825 16702,21827 16702,21827 16702,21828 16705,21832 16707,21835 16710,21838 16712,21841 16712,21839 19712,24839 19714,24838 19719,24838 19722,24833 19722,24831 21722,24832 21727,24829 21729,24832 21730,24837 21732,24838 21736,24842 21740,24842 21740,24844 21740,24846 21740,24848 21741,24851 21736,24851 21732,24852 21737,24849 21741,24847 21742,24845 21743,24849 21744,24852 21742,24856 21744,24860 21745,24860 21745,24864 21749,24864 21754,24865 21759,24865 21760,24870 21764,24871 21762,24871 21762,24876 21767,24881 21769,24883 21768,24883 21769,24886 21766,24886 21767,24891 21770,24894 21772,24894 21772,24899 21777,24902 21781,24897 21786,24894 21787,24895 21790,24899 21791,24899 21795,24903 21798,24903 21801,24905 21804,24906 21806,24910 21808,25910 17808,25905 17812,25906 17813,28906 17813,28906 17813,28911 17817,28912 17812,28916 17813,33916 17818,33916 17818,33916 17820,33912 17820,33915 17823,33915 17826,33910 17826,33914 17829,33910 17833,33910 17836,33913 17837,33918 17841,33923 17840,33920 17840,33919 17842,33922 17838,33925 17835,33923 17836,33920 17838,33916 17840,33917 17845,33912 17850,33912 21850,33916 21846,33917 21841,33918 21844,33922 21844,33923 21844,33927 21844,33928 21849,33933 21850,33937 21851,33937 21853,33940 21855,33939 21858,33944 21855,33945 24855,33946 24858,33950 24860,33951 24864,33952 24861,33957 24864,33959 24867,33954 24865,33959 24867,33963 24867,33961 24867,33963 24871,34963 24874,34967 24874,34967 24874,34969 24870,34965 24875,34965 25875,34969 25880,34974 25883,34972 25883,34973 25885,34976 25889,34979 25890,34981 25894,34984 25897,34989 25899,34986 25900,34990 25901,34990 25901,34993 25902,34996 25902,35000 25903,35001 25906,35006 25909,35007 29909,35009 29905,35008 29906,35008 29908,35012 29908,31012 29911,31017 29906,31017 29908,21054 31778,21054 31775,21059 31780,21057 31780,21059 31783,21059 31781,21064 29781,21065 29786,21070 29787,21074 29787,21079 29792,21082 29792,21083 29791,21085 29793,21086 29794,21086 29794,21088 29797,21085 29797,21085 29800,21083 29804,21088 29808,21088 29804,552 1401,554 1401,555 1404,555 1404,559 1409,561 1410,561 1412,561 1413,557 1414,561 1419,564 1417,565 1420,568 1421,573 1425,578 1426,583 1430,584 1432,587 1433,588 1433,592 1437,592 1438,592 1442,591 1444,596 1444,597 1449,592 1449,502 2350,503 2352,505 2349,508 2349,508 2350,506 2350,506 2353,511 2357,511 2359,511 2361,508 2362,512 3362,517 3365,4517 3366,4518 3366,4513 3367,4512 3370,4509 3365,4510 3370,4510 3371,4513 3371,4513 3374,4517 3373,4517 3375,4514 3375,4515 3374,4516 3378,4516 3383,4516 3387,516 3392,516 3393,521 3394,521 -1606,522 -1601,518 -1601,519 -1603,521 -1598,526 -1603,528 -1603,527 -1601,527 -1600,523 -1603,526 -1601,529 -1598,532 -1594,531 -1590,531 -1594,527 -1595,532 -1591,536 -1586,539 3414,541 3419,546 3419,551 3422,551 3427,553 3429,558 3432,557 3433,558 3438,559 3442,560 3445,556 3448,555 3446,559 3446,560 3442,560 3439,561 3442,563 3443,564 3448,562 3448,5562 3453,5560 3454,5563 3454,5565 3456,5562 3457,5557 3456,5557 -544,5558 -543,5561 -538,5562 -535,5563 -533,5563 -530,5568 -525,5568 -523,5572 -518,5567 -514,5571 -516,5571 -514,5571 -514,5572 -510,5575 -512,5578 -512,5579 -508,5581 -506,5584 -503,5579 -502,5581 -505,10581 -505,10583 -500,12583 -499,12587 -498,12587 -499,12588 -497,12589 -502,12589 -500,12594 -498,12592 -498,12595 -498,12600 -496,12604 -494,12609 2506,12611 5506,12614 5511,12615 5516,12617 5518,12620 5522,12620 5519,12623 5521,12621 5524,12626 5526,12625 5531,12625 5531,12627 5532,12632 5531,12635 5536,12636 7536,12641 7540,12642 7540,12647 7543,11909 52812,11911 52817,11912 52817,11917 52814,11918 52819,11920 52819,11923 52823,11928 52818,11924 52813,11928 52812,11929 54812,11931 54813,11927 54813,11929 54818,11929 54822,11931 54823,11935 54824,11931 54828,11931 54833,11930 54830,11931 54832,11935 54835,11939 54830,11942 54827,11942 54828,11943 54828,11946 54825,11943 54826,11948 54829,11952 54824,11952 54828,11954 54830,11955 54830,11953 54835,11958 59835,11959 59838,11960 59836,11965 59840,11965 59843,11970 59840,11974 59840,11971 59842,11975 59847,11976 59848,11981 59848,11986 59853,11987 63853,11992 63854,11993 65854,11995 65850,11998 65852,12003 65856,12000 65859,12002 65859,12006 65854,12011 65855,12013 65856,12017 65861,12022 65861,12022 65856,12022 65857,8022 65859,8026 65862,8030 65863,8026 65865,8030 65866,8026 65871,8026 65871,3026 65869,3021 65870,3023 65875,3028 65876,3033 65878,3038 65874,3039 65878,3039 65882,3043 65880,3044 65880,3043 65884,3043 65888,3047 65889,3047 65890,3047 65890,3047 63890,3043 63892,3046 63896,3041 63895,3039 63898,3034 63900,3035 63901,3032 63903,3034 63906,3036 63906,3034 63908,3034 63913,3036 63911,3037 63916,3039 63911,3041 63913,3045 63915,3047 63915,3045 63917,3046 63921,3046 63921,3049 63920,3053 63923,3050 63927,3055 63930,3058 63933,3058 63932,3058 63934,3053 63931,3054 63933,3058 63936,3063 63940,3063 63939,-937 63940,-940 63944,-938 63945,-938 63946,-934 63948,-935 63945,-932 63948,-928 63950,-927 63954,-922 67954,-918 67951,-917 67956,-915 67960,-914 67965,-912 67967,-914 67971,-914 67971,-918 67976,-916 67973,-911 67973,-909 67978,-906 67981,-903 67982,-900 67982,-899 67978,-895 67981,-892 67985,-890 67987,-885 67982,-884 67984,-883 67984,-880 67985,-879 67985,-874 67981,-871 67981,-871 67986,-868 67986,-868 67981,-865 67979,-864 70979,-859 70984,-856 70985,-856 70990,-855 70991,-857 70989,-859 70991,-856 70986,-854 70991,-849 70994,-849 70997,-852 71002,-851 71007,-851 71009,-850 71009,-846 71011,-843 71011,-842 71011,-839 71011,-837 71016,-837 71016,-833 71018,-835 71022,2165 71022,2166 71018,7166 71017,7163 71017,7164 71018,7162 71016,7166 71013,7166 71013,7171 71010,7175 71010,7173 71012,7176 71017,7174 71021,11174 71021,11171 66021,11176 66021,11181 66018,11181 66023,11186 66022,11182 66027,11184 63027,11186 63031,11187 63033,11191 63034,11188 63031,11189 63036,11184 63037,11185 63038,11187 66038,11187 66038,11189 66038,11191 66038,11189 66034,11192 66036,11197 66037,12197 66041,12200 66044,12203 66042,12206 66046,12204 66046,12205 66048,12209 66048,12212 66043,12216 66040,12213 66043,12218 63043,12223 63038,12227 63033,12227 63038,12231 63040,12233 63040,12235 63045,12235 63045,12230 63044,12235 68044,12237 68044,12235 68049,12231 68045,12226 68050,12229 68052,12234 68052,12231 68056,12236 68059,12236 68062,12241 70062,12241 70063,12244 70063,12245 70068,12247 70068,12248 70071,12251 70071,12252 70071,12251 70073,12248 70075,12253 70080,12256 70084,12257 70088,12256 70088,12256 70089,12251 70089,17251 70090,17247 70090,17249 70091,17249 70088,17252 70084,17256 70085,17260 70086,16260 70084,16261 70083,16256 70079,16257 70076,16258 70072,16258 70077,16262 70081,16260 70084,16263 70087,16263 70088,16267 70090,16267 70093,16267 70097,16267 70100,16267 70101,16270 70103,16270 70105,16270 70108,16274 70110,16274 70113,16275 70115,16277 70115,16273 70115,16274 70120,16279 70117,16284 70117,16288 69117,16287 69121,16287 69123,16288 69119,16288 69122,16292 69125,16292 69122,16290 69125,16288 69125,16290 69126,16295 69122,3037 63916,3042 63920,3047 63925,3048 63928,3053 63928,3056 63931,3056 63930,3052 63932,3051 63935,3056 63938,3055 63935,3059 63932,3059 63937,3061 63942,3065 63945,3069 63942,6069 63940,6064 63945,6067 63948,6067 63947,6068 63951,10068 63953,10072 63953,10071 63951,10071 63956,10071 63958,10075 63958,10079 63953,10082 63958,10084 63959,10086 63959,10090 63960,10094 63955,10099 63955,10101 63956,10099 63952,10099 63949,10103 63953,10106 63956,10108 63956,10109 63956,10114 63959,10118 63959,10120 63960,10122 63963,10122 63968,10125 63969,10125 64969,10130 64971,10130 64973,10134 64974,10134 64979,10139 64984,10139 64987,10142 64988,10137 64992,10140 64995,10141 65995,10142 65999,10145 66000,10142 66002,10145 66002,10144 66004,10149 66002,10153 66007,8153 66007,8155 66011,8155 66011,8155 66011,8156 66011,9156 66013,9158 66014,9160 66014,9165 66017,9169 66022,9170 66023,9170 66023,9170 66028,9171 66031,9175 66033,9175 66033,9173 66035,9177 66034,9177 66039,9177 66044,9177 66044,9173 66044,9171 66044,9174 66046,9177 66050,9177 66047,9180 66051,9180 66055,9184 66055,9184 66051,9187 66056,9184 66057,9187 66053,9187 66055,9192 66056,9195 66061,9195 66066,9195 66071,9200 66076,9195 66075,9200 66080,9200 66080,9202 66076,9204 66079,9202 66079,9198 66079,11198 66083,11199 66087,11199 66088,11204 66088,11206 66089,11206 66093,11211 66088,11211 66091,11206 71091,11205 71090,11207 71094,11207 71098,11211 71102,11210 71103,11211 71107,11212 71107,11216 71105,11216 71108,11216 71113,11217 71108,11220 71113,11217 71113,11217 72113,11218 72115,11220 72117,11220 72121,11221 72124,11225 72120,11229 72117,11226 72118,11230 72122,11230 72123,11232 72127,11236 72132,11241 72133,11246 72135,11250 72139,11247 72141,11252 72141,11256 72143,11259 75143,11258 75146,11261 75151,11265 75149,11269 75153,11270 75158,11273 75160,11274 75165,11270 75166,11270 75166,11274 75165,11279 75167,11283 75170,11286 75166,11285 75168,11282 75165,6282 75163,6283 75167,6288 75170,6293 75175,6290 75178,6292 75179,6292 75182,6293 75181,31996 25856,31998 25856,32003 25857,32007 25862,32007 25857,32009 25857,32010 25858,32015 25854,32014 25857,32019 25857,32021 25852,32024 25852,32024 25854,32026 25851,32028 25855,32032 25855,32028 25858,32031 25860,32031 25863,32026 25867,32029 25868,32029 25869,32034 25872,32035 25875,32040 25878,32042 25883,32043 25881,32045 25885,32048 25884,32052 25881,32056 25878,32056 25874,32059 25878,32063 25882,32066 25885,32067 25885,32070 25885,37070 25885,37072 25889,37075 25890,37075 25885,37080 25890,37080 25892,37084 25888,37086 25893,37090 25898,37091 25895,37096 25897,37101 25902,37096 25905,37101 25906,37101 25909,37102 25914,37100 25914,37104 25914,37109 25917,37111 25919,37111 25924,37113 25925,37118 25923,37122 25927,37123 25929,17800 10713,17805 10708,17808 10711,17813 10715,17813 13715,17808 13719,17804 13714,17807 13717,17808 13722,17810 13724,17811 13728,17816 13730,17820 13733,17822 13736,17823 13736,17824 13740,17824 13745,18767 22750,18768 22754,18773 22754,18775 22757,18779 22760,18784 22763,18781 22767,18776 22767,18776 22769,18778 22772,18774 22773,18770 22774,18774 22776,18774 22777,18770 22781,18771 26781,18768 26785,18770 26787,18775 26787,18770 26789,18773 26793,18778 26795,18783 26796,18785 26799,18785 26801,18789 26798,18794 26799,18794 26801,18789 26803,18793 26806,18795 31806,18791 31810,18794 31814,18797 31817,18802 31813,18806 31815,18806 31819,18810 31824,18807 31828,18812 31830,18813 31826,18815 31828,18816 31829,18821 31831,18821 31833,18822 31836,18822 31838,18826 31841,18828 31846,5666 501,5668 506,5669 1506,5672 1508,5674 1512,7674 1512,7679 1513,7679 1512,7684 1513,7689 1511,7686 1515,7691 1520,7689 520,7689 521,7690 524,7695 520,4695 521,4696 526,4698 526,4699 531,4702 531,4699 535,4702 538,4698 540,4699 4540,4702 4537,4707 4540,4707 4537,4709 4537,4711 4542,4713 4542,4718 4544,4720 4549,4716 4553,4717 4556,4722 4561,4726 4562,4726 4563,4731 4564,4735 4565,4735 4570,4733 4572,9733 4574,9736 4577,9736 577,9737 572,9737 569,9742 570,9747 575,9747 580,9748 1580,9747 1585,9747 1588,9747 1588,9747 1592,9747 1592,9751 1592,9754 1593,9751 1595,9756 1599,11756 1603,11759 1607,11756 1610,11754 1613,11749 1613,11750 4613,11749 2613,11746 2610,11749 2608,11752 2611,11754 2607,11759 2612,11762 2612,11763 2612,11764 2613,11765 2613,11760 2615,11757 2620,11752 2623,11748 2627,11748 2631,11751 2632,11751 2633,11754 2635,11758 2639,11758 2643,11760 2646,11763 2646,11767 2649,11762 2652,11760 2652,11756 2656,11752 4656,11749 4659,11754 4662,11759 4666,11764 4670,11761 4666,11756 4669,11756 4670,11761 4671,11762 4673,11765 4678,11768 4680,11768 7680,12768 7677,12771 7680,12771 7683,12776 7683,12777 7688,12779 7688,12779 7684,12781 7679,13781 7682,13781 7684,13776 7684,13779 7685,13784 7685,13787 7689,13784 7689,13787 7689,13791 7685,13791 7686,13787 7691,13788 7696,13790 7693,13790 7696,13791 6696,13796 6698,13798 6695,13797 6698,13799 6701,13799 6704,13803 6709,13804 6705,13799 6708,13804 6703,13807 6705,13807 6708,13809 6710,13812 6714,13814 6716,13817 6718,13819 6722,13821 6717,13826 6718,13828 6717,13828 6721,13831 6721,13831 6720,13834 6715,13837 6712,13837 6713,13842 6715,13847 6715,13847 6714,13847 6709,13848 6712,13852 6714,13854 6719,13857 6723,13859 6726,13861 6730,13859 6731,13855 6731,13855 6731,13856 6728,13857 6730,13862 6731,13865 6731,13863 6729,13868 6729,13866 11729,13867 11732,13871 11732,13873 11737,13872 11741,13870 11745,13874 11744,13871 11748,13870 11753,13871 11757,13871 14757,13875 14759,13878 14760,13881 14760,13879 10760,13875 10765,13879 10767,13880 10770,13876 10775,13880 10776,13880 10776,13882 10776,13883 14776,13888 14779,13888 14779,13893 14779,13898 17779,13903 17784,13898 17788,13894 17788,13896 17788,13900 21788,13903 21784,18903 21789,18899 21789,18900 21793,18901 21794,18905 21795,18908 21792,18913 21794,13913 21796,13911 21798,13916 21799,13916 21799,13918 21804,13916 21800,13912 21799,13915 21794,13916 21797,13921 21799,13916 21802,13918 21806,13919 21810,13921 21813,13924 21817,13927 21814,13932 21816,13934 21811,13936 21811,13934 21814,18934 21816,18929 21816,18934 21815,18933 21817,18932 21822,18936 21819,18938 16819,18933 16822,18933 16822,18937 16822,18937 16827,18940 16827,18945 16830,18947 16829,18950 19829,18949 19829,18949 19829,18946 19825,18947 19828,18946 19829,18943 19829,18943 19824,14943 19829,14939 19830,14942 19831,14946 19835,14946 22835,14942 22836,14946 22831,14950 22832,14952 22835,14947 22840,14951 22844,14951 22845,14947 22850,14948 22851,14951 22849,14956 22852,14957 22852,14957 22857,14962 22857,14965 22859,14970 22860,14968 22862,14972 22864,14977 22866,14974 22870,14975 20870,14976 20870,14979 20873,14984 20869,14989 20871,14993 20874,14993 20877,14994 20878,14995 20878,14997 20883,14998 20879,15001 20884,15001 20884,15003 20889,15006 20884,15009 20885,15009 20883,15007 20880,15011 20876,15008 20877,15009 20873,15010 20875,15009 20875,10009 20876,10012 20871,10013 21871,10017 21872,10012 21873,10010 21874,10008 21871,10012 21870,10013 21874,11607 14571,11608 14575,11612 15575,11613 15576,11613 15577,11618 15578,11622 15581,11624 15585,11627 18585,11631 18587,11634 18590,11634 18586,11634 18586,11636 18591,11635 18591,11636 18596,11636 18592,13636 18593,13640 18595,13642 18600,13641 18600,13641 18604,13642 18607,13643 18611,13648 18611,13651 18613,13655 18615,13656 18620,13651 18618,13651 18616,13654 18611,13651 18616,18651 18620,18656 18620,18661 18621,18657 18625,18661 18627,18663 18628,18666 18633,18661 18637,18665 18639,18665 18639,18667 18641,18669 18641,22669 18642,22673 18644,22676 18648,22681 18649,22682 18649,22682 18646,19682 18646,19684 18646,19685 20646,19690 20646,19690 20643,19686 20643,19686 20643,19690 20647,19690 20647,19689 20652,19692 20653,19692 20656,19697 20661,19698 20662,19703 20666,19707 20669,19707 20673,19708 20674,19709 20675,19709 20677,19710 20674,19715 20675,19717 20673,19721 20673,19720 20677,19718 20677,19716 20680,19718 20681,19718 20685,19722 20688,19725 20688,19729 20685,19728 20687,19728 20690,19732 20691,19735 20691,19739 20691,19744 20696,16744 20693,16746 20695,16748 20695,16748 20691,16746 20696,16750 20699,16755 20704,16755 20709,16760 20710,16763 20711,16763 20711,16765 20707,16767 20705,16771 20706,16771 20708,16775 20706,9653 7576,9654 7577,9659 7576,9659 7572,9655 7575,9660 7579,9660 7579,9660 7583,9661 7588,9663 7591,9666 7590,9662 7592,9665 7593,9669 7594,9668 80000)') WHERE p = 1; +UPDATE t1 SET g = ST_linefromtext('linestring(-5 -576,0 -576,0 -571,0 -571,5 -568,6 -564,6 -565,6 -563)') WHERE p = 2; +ALTER TABLE t1 DROP INDEX spatial_idx, DROP INDEX prefix_idx; +connection control_purge; +# enable purge +COMMIT; +connection default; +DELETE FROM t1 WHERE p = 2; +InnoDB 0 transactions not purged +CREATE TABLE t2 ( +p INT PRIMARY KEY, +g1 POINT NOT NULL, +g2 POINT NOT NULL, +g3 LINESTRING NOT NULL, +g4 LINESTRING NOT NULL, +g5 GEOMETRY NOT NULL, +g6 GEOMETRY NOT NULL, +SPATIAL KEY (g1), +SPATIAL KEY (g2), +SPATIAL KEY (g3), +SPATIAL KEY (g4), +SPATIAL KEY (g5), +SPATIAL KEY (g6) +) ENGINE=InnoDB; +DROP TABLE t1,t2; +disconnect control_purge; diff --git a/mysql-test/suite/innodb_gis/r/types.result b/mysql-test/suite/innodb_gis/r/types.result new file mode 100644 index 00000000..674a4497 --- /dev/null +++ b/mysql-test/suite/innodb_gis/r/types.result @@ -0,0 +1,78 @@ +CREATE TABLE t_wl6455 ( i INT, g GEOMETRY NOT NULL) ENGINE=InnoDB; +SHOW CREATE TABLE t_wl6455; +Table Create Table +t_wl6455 CREATE TABLE `t_wl6455` ( + `i` int(11) DEFAULT NULL, + `g` geometry NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci +INSERT INTO t_wl6455 VALUES(1, POINT(1,1)); +INSERT INTO t_wl6455 VALUES(2, POINT(2,2)); +SET @mp = 'MULTIPOINT(0 0, 20 20, 60 60)'; +INSERT INTO t_wl6455 VALUES(3, ST_GeomFromText(@mp)); +INSERT INTO t_wl6455 VALUES(4, LINESTRING(POINT(1,1), POINT(4, 4))); +INSERT INTO t_wl6455 VALUES(5, LINESTRING(POINT(2,2), POINT(5, 5))); +SET @mls = 'MultiLineString((1 1,2 2,3 3),(4 4,5 5))'; +INSERT INTO t_wl6455 VALUES(6, ST_GeomFromText(@mls)); +SET @poly = 'Polygon((0 0,0 3,3 0,0 0),(1 1,1 2,2 1,1 1))'; +INSERT INTO t_wl6455 VALUES(7, ST_GeomFromText(@poly)); +SET @mpoly = 'MultiPolygon(((0 0,0 3,3 3,3 0,0 0),(1 1,1 2,2 2,2 1,1 1)))'; +INSERT INTO t_wl6455 VALUES(8, ST_GeomFromText(@mpoly)); +SET @gc = 'GeometryCollection(Point(1 1),LineString(2 2, 3 3))'; +INSERT INTO t_wl6455 VALUES(9, ST_GeomFromText(@gc)); +SELECT ST_AsText(g) FROM t_wl6455; +ST_AsText(g) +POINT(1 1) +POINT(2 2) +MULTIPOINT(0 0,20 20,60 60) +LINESTRING(1 1,4 4) +LINESTRING(2 2,5 5) +MULTILINESTRING((1 1,2 2,3 3),(4 4,5 5)) +POLYGON((0 0,0 3,3 0,0 0),(1 1,1 2,2 1,1 1)) +MULTIPOLYGON(((0 0,0 3,3 3,3 0,0 0),(1 1,1 2,2 2,2 1,1 1))) +GEOMETRYCOLLECTION(POINT(1 1),LINESTRING(2 2,3 3)) +CREATE INDEX i_p ON t_wl6455 (g(10)); +EXPLAIN SELECT ST_AsText(g) FROM t_wl6455 WHERE g = POINT(2,2); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t_wl6455 ref i_p i_p 12 const # Using where +SELECT ST_AsText(g) FROM t_wl6455 WHERE g = POINT(2,2); +ST_AsText(g) +POINT(2 2) +SET AUTOCOMMIT = 0; +INSERT INTO t_wl6455 VALUES(10, POINT(10,10)); +SELECT ST_AsText(g) FROM t_wl6455 WHERE g = POINT(10,10); +ST_AsText(g) +POINT(10 10) +ROLLBACK; +SELECT ST_AsText(g) FROM t_wl6455 WHERE g = POINT(10,10); +ST_AsText(g) +INSERT INTO t_wl6455 VALUES(10, POINT(10,10)); +COMMIT; +FLUSH TABLES; +INSERT INTO t_wl6455 VALUES(11, POINT(11,11)); +BEGIN; +INSERT INTO t_wl6455 VALUES(1, POINT(1,1)); +# restart +CHECK TABLE t_wl6455; +Table Op Msg_type Msg_text +test.t_wl6455 check status OK +SELECT ST_AsText(g) FROM t_wl6455; +ST_AsText(g) +POINT(1 1) +POINT(2 2) +MULTIPOINT(0 0,20 20,60 60) +LINESTRING(1 1,4 4) +LINESTRING(2 2,5 5) +MULTILINESTRING((1 1,2 2,3 3),(4 4,5 5)) +POLYGON((0 0,0 3,3 0,0 0),(1 1,1 2,2 1,1 1)) +MULTIPOLYGON(((0 0,0 3,3 3,3 0,0 0),(1 1,1 2,2 2,2 1,1 1))) +GEOMETRYCOLLECTION(POINT(1 1),LINESTRING(2 2,3 3)) +POINT(10 10) +POINT(11 11) +SELECT sc.name, sc.pos, sc.mtype +FROM information_schema.innodb_sys_columns sc +INNER JOIN information_schema.innodb_sys_tables st +ON sc.TABLE_ID=st.TABLE_ID +WHERE st.NAME='test/t_wl6455' AND sc.NAME='g'; +name pos mtype +g 1 14 +DROP TABLE t_wl6455; diff --git a/mysql-test/suite/innodb_gis/r/update_root.result b/mysql-test/suite/innodb_gis/r/update_root.result new file mode 100644 index 00000000..fe43fe79 --- /dev/null +++ b/mysql-test/suite/innodb_gis/r/update_root.result @@ -0,0 +1,23 @@ +create table t1 (c1 int, c2 geometry not null, spatial index (c2))engine=innodb; +create procedure insert_t1(IN total int) +begin +declare i int default 1; +while (i <= total) DO +insert into t1 values (i, Point(i, i)); +set i = i + 1; +end while; +end| +BEGIN; +CALL insert_t1(70000); +COMMIT; +BEGIN; +CALL insert_t1(90); +CALL insert_t1(90); +CALL insert_t1(83); +COMMIT; +insert into t1 values (0, Point(0.9, 0.9)); +check table t1; +Table Op Msg_type Msg_text +test.t1 check status OK +drop procedure insert_t1; +drop table t1; diff --git a/mysql-test/suite/innodb_gis/t/0.test b/mysql-test/suite/innodb_gis/t/0.test new file mode 100644 index 00000000..c482d881 --- /dev/null +++ b/mysql-test/suite/innodb_gis/t/0.test @@ -0,0 +1,44 @@ +--source include/have_innodb.inc +SET default_storage_engine=innodb; +--source include/gis_generic.inc +--source include/gis_keys.inc + +# +# Bug #15680 (SPATIAL key in innodb) +# +#--error ER_TABLE_CANT_HANDLE_SPKEYS +create table t1 (g geometry not null, spatial gk(g)) engine=innodb; + +DROP TABLE t1; + +# Test read uncommitted +create table t1 (c1 int, c2 geometry not null, spatial index (c2))engine=innodb; + +connect (a,localhost,root,,); +connection a; + +start transaction; +insert into t1 values(1, Point(1,1)); + + +connect (con1,localhost,root,,); +connection con1; +set @g1 = ST_GeomFromText('Polygon((0 0,0 100,100 100,100 0,0 0))'); +set transaction isolation level read uncommitted; +--disable_ps2_protocol +select count(*) from t1 where ST_Within(t1.c2, @g1); +--enable_ps2_protocol +disconnect con1; + +--source include/wait_until_disconnected.inc + +connection a; +commit; +disconnect a; +--source include/wait_until_disconnected.inc + +connection default; +drop table t1; + + + diff --git a/mysql-test/suite/innodb_gis/t/1.test b/mysql-test/suite/innodb_gis/t/1.test new file mode 100644 index 00000000..99651842 --- /dev/null +++ b/mysql-test/suite/innodb_gis/t/1.test @@ -0,0 +1,1441 @@ +#***************************************************************** +# The Orginal name of the testcase : gis.test +# The following are the modification done +# 1.SET default_storage_engine=InnoDB; +# 2.MyiSam to Innodb where ever is required. +# 3.Spatial index to Index as Innodb does not support +#***************************************************************** +--source include/have_innodb.inc +-- source include/have_geometry.inc + +SET default_storage_engine=InnoDB; +SET innodb_strict_mode=OFF; + +# +# Spatial objects +# + +CREATE TABLE gis_point (fid INTEGER NOT NULL PRIMARY KEY, g POINT); +CREATE TABLE gis_line (fid INTEGER NOT NULL PRIMARY KEY, g LINESTRING); +CREATE TABLE gis_polygon (fid INTEGER NOT NULL PRIMARY KEY, g POLYGON); +CREATE TABLE gis_multi_point (fid INTEGER NOT NULL PRIMARY KEY, g MULTIPOINT); +CREATE TABLE gis_multi_line (fid INTEGER NOT NULL PRIMARY KEY, g MULTILINESTRING); +CREATE TABLE gis_multi_polygon (fid INTEGER NOT NULL PRIMARY KEY, g MULTIPOLYGON); +CREATE TABLE gis_geometrycollection (fid INTEGER NOT NULL PRIMARY KEY, g GEOMETRYCOLLECTION); +CREATE TABLE gis_geometry (fid INTEGER NOT NULL PRIMARY KEY, g GEOMETRY); + +SHOW FIELDS FROM gis_point; +SHOW FIELDS FROM gis_line; +SHOW FIELDS FROM gis_polygon; +SHOW FIELDS FROM gis_multi_point; +SHOW FIELDS FROM gis_multi_line; +SHOW FIELDS FROM gis_multi_polygon; +SHOW FIELDS FROM gis_geometrycollection; +SHOW FIELDS FROM gis_geometry; + + +INSERT INTO gis_point VALUES +(101, ST_PointFromText('POINT(10 10)')), +(102, ST_PointFromText('POINT(20 10)')), +(103, ST_PointFromText('POINT(20 20)')), +(104, ST_PointFromWKB(ST_AsWKB(ST_PointFromText('POINT(10 20)')))); + +INSERT INTO gis_line VALUES +(105, ST_LineFromText('LINESTRING(0 0,0 10,10 0)')), +(106, ST_LineStringFromText('LINESTRING(10 10,20 10,20 20,10 20,10 10)')), +(107, ST_LineStringFromWKB(ST_AsWKB(LineString(Point(10, 10), Point(40, 10))))); + +INSERT INTO gis_polygon VALUES +(108, ST_PolygonFromText('POLYGON((10 10,20 10,20 20,10 20,10 10))')), +(109, ST_PolyFromText('POLYGON((0 0,50 0,50 50,0 50,0 0), (10 10,20 10,20 20,10 20,10 10))')), +(110, ST_PolyFromWKB(ST_AsWKB(Polygon(LineString(Point(0, 0), Point(30, 0), Point(30, 30), Point(0, 0)))))); + +INSERT INTO gis_multi_point VALUES +(111, ST_MultiPointFromText('MULTIPOINT(0 0,10 10,10 20,20 20)')), +(112, ST_MPointFromText('MULTIPOINT(1 1,11 11,11 21,21 21)')), +(113, ST_MPointFromWKB(ST_AsWKB(MultiPoint(Point(3, 6), Point(4, 10))))); + +INSERT INTO gis_multi_line VALUES +(114, ST_MultiLineStringFromText('MULTILINESTRING((10 48,10 21,10 0),(16 0,16 23,16 48))')), +(115, ST_MLineFromText('MULTILINESTRING((10 48,10 21,10 0))')), +(116, ST_MLineFromWKB(ST_AsWKB(MultiLineString(LineString(Point(1, 2), Point(3, 5)), LineString(Point(2, 5), Point(5, 8), Point(21, 7)))))); + + +INSERT INTO gis_multi_polygon VALUES +(117, ST_MultiPolygonFromText('MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))')), +(118, ST_MPolyFromText('MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))')), +(119, ST_MPolyFromWKB(ST_AsWKB(MultiPolygon(Polygon(LineString(Point(0, 3), Point(3, 3), Point(3, 0), Point(0, 3))))))); + +INSERT INTO gis_geometrycollection VALUES +(120, ST_GeomCollFromText('GEOMETRYCOLLECTION(POINT(0 0), LINESTRING(0 0,10 10))')), +(121, ST_GeometryFromWKB(ST_AsWKB(GeometryCollection(Point(44, 6), LineString(Point(3, 6), Point(7, 9)))))); + +INSERT into gis_geometry SELECT * FROM gis_point; +INSERT into gis_geometry SELECT * FROM gis_line; +INSERT into gis_geometry SELECT * FROM gis_polygon; +INSERT into gis_geometry SELECT * FROM gis_multi_point; +INSERT into gis_geometry SELECT * FROM gis_multi_line; +INSERT into gis_geometry SELECT * FROM gis_multi_polygon; +INSERT into gis_geometry SELECT * FROM gis_geometrycollection; + +SELECT fid, ST_AsText(g) FROM gis_point; +SELECT fid, ST_AsText(g) FROM gis_line; +SELECT fid, ST_AsText(g) FROM gis_polygon; +SELECT fid, ST_AsText(g) FROM gis_multi_point; +SELECT fid, ST_AsText(g) FROM gis_multi_line; +SELECT fid, ST_AsText(g) FROM gis_multi_polygon; +SELECT fid, ST_AsText(g) FROM gis_geometrycollection; +SELECT fid, ST_AsText(g) FROM gis_geometry; + +SELECT fid, ST_Dimension(g) FROM gis_geometry; +SELECT fid, ST_GeometryType(g) FROM gis_geometry; +SELECT fid, ST_IsEmpty(g) FROM gis_geometry; +SELECT fid, ST_AsText(ST_Envelope(g)) FROM gis_geometry; +--replace_column 9 # 10 # +explain extended select ST_Dimension(g), ST_GeometryType(g), ST_IsEmpty(g), ST_AsText(ST_Envelope(g)) from gis_geometry; + +SELECT fid, ST_X(g) FROM gis_point; +SELECT fid, ST_Y(g) FROM gis_point; +--replace_column 9 # 10 # +explain extended select ST_X(g),ST_Y(g) FROM gis_point; + +SELECT fid, ST_AsText(ST_StartPoint(g)) FROM gis_line; +SELECT fid, ST_AsText(ST_EndPoint(g)) FROM gis_line; +SELECT fid, ST_Length(g) FROM gis_line; +SELECT fid, ST_NumPoints(g) FROM gis_line; +SELECT fid, ST_AsText(ST_PointN(g, 2)) FROM gis_line; +SELECT fid, ST_IsClosed(g) FROM gis_line; +--replace_column 9 # 10 # +explain extended select ST_AsText(ST_StartPoint(g)),ST_AsText(ST_EndPoint(g)),ST_Length(g),ST_NumPoints(g),ST_AsText(ST_PointN(g, 2)),ST_IsClosed(g) FROM gis_line; + +SELECT fid, ST_AsText(ST_Centroid(g)) FROM gis_polygon; +SELECT fid, ST_Area(g) FROM gis_polygon; +SELECT fid, ST_AsText(ST_ExteriorRing(g)) FROM gis_polygon; +SELECT fid, ST_NumInteriorRings(g) FROM gis_polygon; +SELECT fid, ST_AsText(ST_InteriorRingN(g, 1)) FROM gis_polygon; +--replace_column 9 # 10 # +explain extended select ST_AsText(ST_Centroid(g)),ST_Area(g),ST_AsText(ST_ExteriorRing(g)),ST_NumInteriorRings(g),ST_AsText(ST_InteriorRingN(g, 1)) FROM gis_polygon; + +SELECT fid, ST_IsClosed(g) FROM gis_multi_line; + +SELECT fid, ST_AsText(ST_Centroid(g)) FROM gis_multi_polygon; +SELECT fid, ST_Area(g) FROM gis_multi_polygon; + +SELECT fid, ST_NumGeometries(g) from gis_multi_point; +SELECT fid, ST_NumGeometries(g) from gis_multi_line; +SELECT fid, ST_NumGeometries(g) from gis_multi_polygon; +SELECT fid, ST_NumGeometries(g) from gis_geometrycollection; +--replace_column 9 # 10 # +explain extended SELECT fid, ST_NumGeometries(g) from gis_multi_point; + +SELECT fid, ST_AsText(ST_GeometryN(g, 2)) from gis_multi_point; +SELECT fid, ST_AsText(ST_GeometryN(g, 2)) from gis_multi_line; +SELECT fid, ST_AsText(ST_GeometryN(g, 2)) from gis_multi_polygon; +SELECT fid, ST_AsText(ST_GeometryN(g, 2)) from gis_geometrycollection; +SELECT fid, ST_AsText(ST_GeometryN(g, 1)) from gis_geometrycollection; +--replace_column 9 # 10 # +explain extended SELECT fid, ST_AsText(ST_GeometryN(g, 2)) from gis_multi_point; + +SELECT g1.fid as first, g2.fid as second, +MBRWithin(g1.g, g2.g) as w, MBRContains(g1.g, g2.g) as c, MBROverlaps(g1.g, g2.g) as o, +MBREquals(g1.g, g2.g) as e, MBRDisjoint(g1.g, g2.g) as d, ST_Touches(g1.g, g2.g) as t, +MBRIntersects(g1.g, g2.g) as i, ST_Crosses(g1.g, g2.g) as r +FROM gis_geometrycollection g1, gis_geometrycollection g2 ORDER BY first, second; +--replace_column 9 # 10 # +explain extended SELECT g1.fid as first, g2.fid as second, +MBRWithin(g1.g, g2.g) as w, MBRContains(g1.g, g2.g) as c, MBROverlaps(g1.g, g2.g) as o, +MBREquals(g1.g, g2.g) as e, MBRDisjoint(g1.g, g2.g) as d, ST_Touches(g1.g, g2.g) as t, +MBRIntersects(g1.g, g2.g) as i, ST_Crosses(g1.g, g2.g) as r +FROM gis_geometrycollection g1, gis_geometrycollection g2 ORDER BY first, second; + +DROP TABLE gis_point, gis_line, gis_polygon, gis_multi_point, gis_multi_line, gis_multi_polygon, gis_geometrycollection, gis_geometry; + +# +# Check that ALTER TABLE doesn't loose geometry type +# +CREATE TABLE t1 ( + gp point, + ln linestring, + pg polygon, + mp multipoint, + mln multilinestring, + mpg multipolygon, + gc geometrycollection, + gm geometry +); + +SHOW FIELDS FROM t1; +ALTER TABLE t1 ADD fid INT NOT NULL; +SHOW FIELDS FROM t1; +DROP TABLE t1; + +SELECT ST_AsText(ST_GeometryFromWKB(ST_AsWKB(ST_GeometryFromText('POINT(1 4)')))); +explain extended SELECT ST_AsText(ST_GeometryFromWKB(ST_AsWKB(ST_GeometryFromText('POINT(1 4)')))); +explain extended SELECT ST_AsText(ST_GeometryFromWKB(ST_AsWKB(ST_PointFromText('POINT(1 4)')))); +SELECT ST_SRID(ST_GeomFromText('LineString(1 1,2 2)',101)); +explain extended SELECT ST_SRID(ST_GeomFromText('LineString(1 1,2 2)',101)); +#select ST_issimple(MultiPoint(Point(3, 6), Point(4, 10))), ST_issimple(Point(3, 6)),ST_issimple(ST_PolygonFromText('POLYGON((10 10,20 10,20 20,10 20,10 10))')),ST_issimple(ST_GeometryFromText('POINT(1 4)')), ST_issimple(ST_AsWKB(ST_GeometryFromText('POINT(1 4)'))); +explain extended select ST_issimple(MultiPoint(Point(3, 6), Point(4, 10))), ST_issimple(Point(3, 6)); + +create table t1 (a geometry not null); +insert into t1 values (ST_GeomFromText('Point(1 2)')); +-- error 1416 +insert into t1 values ('Garbage'); +-- error 1416 +insert IGNORE into t1 values ('Garbage'); + +# Now we support spatial index +alter table t1 add spatial index(a); + +drop table t1; + +# +# Bug #5219: problem with range optimizer +# + +create table t1(a geometry not null, index(a(5))); +insert into t1 values +(ST_GeomFromText('POINT(1 1)')), (ST_GeomFromText('POINT(3 3)')), +(ST_GeomFromText('POINT(4 4)')), (ST_GeomFromText('POINT(6 6)')); +select ST_AsText(a) from t1 where + MBRContains(ST_GeomFromText('Polygon((0 0, 0 2, 2 2, 2 0, 0 0))'), a) + or + MBRContains(ST_GeomFromText('Polygon((2 2, 2 5, 5 5, 5 2, 2 2))'), a); +select ST_AsText(a) from t1 where + MBRContains(ST_GeomFromText('Polygon((0 0, 0 2, 2 2, 2 0, 0 0))'), a) + and + MBRContains(ST_GeomFromText('Polygon((0 0, 0 7, 7 7, 7 0, 0 0))'), a); +drop table t1; + +CREATE TABLE t1 (Coordinates POINT NOT NULL, INDEX(Coordinates(10))); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(383293632 1754448)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(564952612 157516260)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(903994614 180726515)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(98128178 141127631)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(862547902 799334546)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(341989013 850270906)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(803302376 93039099)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(857439153 817431356)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(319757546 343162742)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(826341972 717484432)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(305066789 201736238)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(626068992 616241497)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(55789424 755830108)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(802874458 312435220)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(153795660 551723671)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(242207428 537089292)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(553478119 807160039)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(694605552 457472733)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(987886554 792733729)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(598600363 850434457)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(592068275 940589376)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(700705362 395370650)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(33628474 558144514)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(212802006 353386020)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(901307256 39143977)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(70870451 206374045)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(240880214 696939443)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(822615542 296669638)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(452769551 625489999)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(609104858 606565210)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(177213669 851312285)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(143654501 730691787)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(658472325 838260052)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(188164520 646358878)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(630993781 786764883)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(496793334 223062055)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(727354258 197498696)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(618432704 760982731)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(755643210 831234710)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(114368751 656950466)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(870378686 185239202)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(863324511 111258900)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(882178645 685940052)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(407928538 334948195)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(311430051 17033395)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(941513405 488643719)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(868345680 85167906)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(219335507 526818004)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(923427958 407500026)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(173176882 554421738)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(194264908 669970217)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(777483793 921619165)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(867468912 395916497)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(682601897 623112122)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(227151206 796970647)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(280062588 97529892)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(982209849 143387099)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(208788792 864388493)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(829327151 616717329)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(199336688 140757201)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(633750724 140850093)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(629400920 502096404)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(226017998 848736426)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(28914408 149445955)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(256236452 202091290)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(703867693 450501360)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(872061506 481351486)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(372120524 739530418)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(877267982 54722420)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(362642540 104419188)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(851693067 642705127)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(201949080 833902916)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(786092225 410737872)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(698291409 615419376)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(27455201 897628096)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(756176576 661205925)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(38478189 385577496)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(163302328 264496186)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(234313922 192216735)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(413942141 490550373)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(394308025 117809834)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(941051732 266369530)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(599161319 313172256)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(5899948 476429301)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(367894677 368542487)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(580848489 219587743)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(11247614 782797569)')); +drop table t1; + +create table t1 select ST_GeomFromWKB(POINT(1,3)); +show create table t1; +drop table t1; + +SET sql_mode = 'NO_ENGINE_SUBSTITUTION'; + +CREATE TABLE `t1` (`object_id` bigint(20) unsigned NOT NULL default '0', `geo` +geometry NOT NULL default '') ENGINE=InnoDB ; + +SET sql_mode = default; + +insert into t1 values ('85984',ST_GeomFromText('MULTIPOLYGON(((-115.006363 +36.305435,-114.992394 36.305202,-114.991219 36.305975,-114.991163 +36.306845,-114.989432 36.309452,-114.978275 36.312642,-114.977363 +36.311978,-114.975327 36.312344,-114.96502 36.31597,-114.963364 +36.313629,-114.961723 36.313721,-114.956398 36.316057,-114.951882 +36.320979,-114.947073 36.323475,-114.945207 36.326451,-114.945207 +36.326451,-114.944132 36.326061,-114.94003 36.326588,-114.924017 +36.334484,-114.923281 36.334146,-114.92564 36.331504,-114.94072 +36.319282,-114.945348 36.314812,-114.948091 36.314762,-114.951755 +36.316211,-114.952446 36.313883,-114.952644 36.309488,-114.944725 +36.313083,-114.93706 36.32043,-114.932478 36.323497,-114.924556 +36.327708,-114.922608 36.329715,-114.92009 36.328695,-114.912105 +36.323566,-114.901647 36.317952,-114.897436 36.313968,-114.895344 +36.309573,-114.891699 36.304398,-114.890569 36.303551,-114.886356 +36.302702,-114.885141 36.301351,-114.885709 36.297391,-114.892499 +36.290893,-114.902142 36.288974,-114.904941 36.288838,-114.905308 +36.289845,-114.906325 36.290395,-114.909916 36.289549,-114.914527 +36.287535,-114.918797 36.284423,-114.922982 36.279731,-114.924113 +36.277282,-114.924057 36.275817,-114.927733 36.27053,-114.929354 +36.269029,-114.929354 36.269029,-114.950856 36.268715,-114.950768 +36.264324,-114.960206 36.264293,-114.960301 36.268943,-115.006662 +36.268929,-115.008583 36.265619,-115.00665 36.264247,-115.006659 +36.246873,-115.006659 36.246873,-115.006838 36.247697,-115.010764 +36.247774,-115.015609 36.25113,-115.015765 36.254505,-115.029517 +36.254619,-115.038573 36.249317,-115.038573 36.249317,-115.023403 +36.25841,-115.023873 36.258994,-115.031845 36.259829,-115.03183 +36.261053,-115.025561 36.261095,-115.036417 36.274632,-115.033729 +36.276041,-115.032217 36.274851,-115.029845 36.273959,-115.029934 +36.274966,-115.025763 36.274896,-115.025406 36.281044,-115.028731 +36.284471,-115.036497 36.290377,-115.042071 36.291039,-115.026759 +36.298478,-115.008995 36.301966,-115.006363 36.305435),(-115.079835 +36.244369,-115.079735 36.260186,-115.076435 36.262369,-115.069758 +36.265,-115.070235 36.268757,-115.064542 36.268655,-115.061843 +36.269857,-115.062676 36.270693,-115.06305 36.272344,-115.059051 +36.281023,-115.05918 36.283008,-115.060591 36.285246,-115.061913 +36.290022,-115.062499 36.306353,-115.062499 36.306353,-115.060918 +36.30642,-115.06112 36.289779,-115.05713 36.2825,-115.057314 +36.279446,-115.060779 36.274659,-115.061366 36.27209,-115.057858 +36.26557,-115.055805 36.262883,-115.054688 36.262874,-115.047335 +36.25037,-115.044234 36.24637,-115.052434 36.24047,-115.061734 +36.23507,-115.061934 36.22677,-115.061934 36.22677,-115.061491 +36.225267,-115.062024 36.218194,-115.060134 36.218278,-115.060133 +36.210771,-115.057833 36.210771,-115.057433 36.196271,-115.062233 +36.196271,-115.062233 36.190371,-115.062233 36.190371,-115.065533 +36.190371,-115.071333 36.188571,-115.098331 36.188275,-115.098331 +36.188275,-115.098435 36.237569,-115.097535 36.240369,-115.097535 +36.240369,-115.093235 36.240369,-115.089135 36.240469,-115.083135 +36.240569,-115.083135 36.240569,-115.079835 +36.244369)))')),('85998',ST_GeomFromText('MULTIPOLYGON(((-115.333107 +36.264587,-115.333168 36.280638,-115.333168 36.280638,-115.32226 +36.280643,-115.322538 36.274311,-115.327222 36.274258,-115.32733 +36.263026,-115.330675 36.262984,-115.332132 36.264673,-115.333107 +36.264587),(-115.247239 36.247066,-115.247438 36.218267,-115.247438 +36.218267,-115.278525 36.219263,-115.278525 36.219263,-115.301545 +36.219559,-115.332748 36.219197,-115.332757 36.220041,-115.332757 +36.220041,-115.332895 36.233514,-115.349023 36.233479,-115.351489 +36.234475,-115.353681 36.237021,-115.357106 36.239789,-115.36519 +36.243331,-115.368156 36.243487,-115.367389 36.244902,-115.364553 +36.246014,-115.359219 36.24616,-115.356186 36.248025,-115.353347 +36.248004,-115.350813 36.249507,-115.339673 36.25387,-115.333069 +36.255018,-115.333069 36.255018,-115.333042 36.247767,-115.279039 +36.248666,-115.263639 36.247466,-115.263839 36.252766,-115.261439 +36.252666,-115.261439 36.247366,-115.247239 36.247066)))')); + +# Expected result is 115.31877315203187, but IA64 returns 115.31877315203188 +# due to fused multiply-add instructions. +--replace_result 115.29706047613604 115.2970604672862 36.23335611157958 36.23335610879993 +select object_id, ST_geometrytype(geo), ST_ISSIMPLE(GEO), ST_ASTEXT(ST_centroid(geo)) from +t1 where object_id=85998; + +# Expected result is 36.3310176346905, but IA64 returns 36.3310176346904 +# due to fused multiply-add instructions. +--replace_result 114.86854470090232 114.86854472054372 36.34725217627852 36.34725218253213 +select object_id, ST_geometrytype(geo), ST_ISSIMPLE(GEO), ST_ASTEXT(ST_centroid(geo)) from +t1 where object_id=85984; + +drop table t1; + +create table t1 (fl geometry not null); +--error ER_ILLEGAL_PARAMETER_DATA_TYPES2_FOR_OPERATION +insert into t1 values (1); +--error ER_ILLEGAL_PARAMETER_DATA_TYPES2_FOR_OPERATION +insert into t1 values (1.11); +--error 1416 +insert into t1 values ("qwerty"); +--error ER_BAD_NULL_ERROR +insert into t1 values (ST_pointfromtext('point(1,1)')); + +drop table t1; + +select (ST_asWKT(ST_geomfromwkb((0x000000000140240000000000004024000000000000)))); +select (ST_asWKT(ST_geomfromwkb((0x010100000000000000000024400000000000002440)))); + +--enable_metadata +create table t1 (g GEOMETRY); +select * from t1; +select ST_asbinary(g) from t1; +--disable_metadata +drop table t1; + +create table t1 (a TEXT, b GEOMETRY NOT NULL, INDEX(b(5))); +alter table t1 disable keys; +--error 1263 +load data infile '../../std_data/bad_gis_data.dat' into table t1; +alter table t1 enable keys; +drop table t1; + +# +# Bug #26038: is null and bad data +# + +create table t1 (a int, b blob); +insert into t1 values (1, ''), (2, NULL), (3, '1'); +select * from t1; + +--error ER_ILLEGAL_VALUE_FOR_TYPE +select + ST_geometryfromtext(b) IS NULL, ST_geometryfromwkb(b) IS NULL, ST_astext(b) IS NULL, + ST_aswkb(b) IS NULL, ST_geometrytype(b) IS NULL, ST_centroid(b) IS NULL, + ST_envelope(b) IS NULL, ST_startpoint(b) IS NULL, ST_endpoint(b) IS NULL, + ST_exteriorring(b) IS NULL, ST_pointn(b, 1) IS NULL, ST_geometryn(b, 1) IS NULL, + ST_interiorringn(b, 1) IS NULL, multipoint(b) IS NULL, ST_isempty(b) IS NULL, + ST_issimple(b) IS NULL, ST_isclosed(b) IS NULL, ST_dimension(b) IS NULL, + ST_numgeometries(b) IS NULL, ST_numinteriorrings(b) IS NULL, ST_numpoints(b) IS NULL, + ST_area(b) IS NULL, ST_length(b) IS NULL, ST_srid(b) IS NULL, ST_x(b) IS NULL, + ST_y(b) IS NULL +from t1; + +select + MBRwithin(b, b) IS NULL, MBRcontains(b, b) IS NULL, MBRoverlaps(b, b) IS NULL, + MBRequals(b, b) IS NULL, MBRdisjoint(b, b) IS NULL, ST_touches(b, b) IS NULL, + MBRintersects(b, b) IS NULL, ST_crosses(b, b) IS NULL +from t1; + +--error ER_ILLEGAL_VALUE_FOR_TYPE +select + point(b, b) IS NULL, linestring(b) IS NULL, polygon(b) IS NULL, multipoint(b) IS NULL, + multilinestring(b) IS NULL, multipolygon(b) IS NULL, + geometrycollection(b) IS NULL +from t1; + +drop table t1; + +# +# Bug #27164: Crash when mixing InnoDB and InnoDB Geospatial tables +# +CREATE TABLE t1(a POINT) ENGINE=InnoDB; +INSERT INTO t1 VALUES (NULL); +SELECT * FROM t1; +DROP TABLE t1; + +# +# Bug #30955 ST_geomfromtext() crasher +# +CREATE TABLE `t1` ( `col9` set('a'), `col89` date); +INSERT IGNORE INTO `t1` VALUES ('','0000-00-00'); +select ST_geomfromtext(col9,col89) as a from t1; +DROP TABLE t1; + +# +# Bug #31158 Spatial, Union, LONGBLOB vs BLOB bug (crops data) +# + +CREATE TABLE t1 ( + geomdata polygon NOT NULL, + KEY index_geom (geomdata(10)) +) ENGINE=InnoDB DEFAULT CHARSET=latin2 DELAY_KEY_WRITE=1 ROW_FORMAT=FIXED; + +CREATE TABLE t2 ( + geomdata polygon NOT NULL, + KEY index_geom (geomdata(10)) +) ENGINE=InnoDB DEFAULT CHARSET=latin2 DELAY_KEY_WRITE=1 ROW_FORMAT=FIXED; + +CREATE TABLE t3 +select + ST_aswkb(ws.geomdata) AS geomdatawkb + from + t1 ws +union + select + ST_aswkb(ws.geomdata) AS geomdatawkb + from + t2 ws; + +describe t3; + +drop table t1; +drop table t2; +drop table t3; + +# +# Bug #30284 spatial key corruption +# + +create table t1(col1 geometry default null,col15 geometrycollection not +null, index(col15(5)),index(col1(15)))engine=InnoDB; +# --error ER_CANT_CREATE_GEOMETRY_OBJECT +insert into t1 set col15 = ST_GeomFromText('POINT(6 5)'); +# --error ER_CANT_CREATE_GEOMETRY_OBJECT +insert into t1 set col15 = ST_GeomFromText('POINT(6 5)'); +check table t1 extended; +drop table t1; + +--echo End of 4.1 tests + +# +# Bug #12281 (Geometry: crash in trigger) +# + +create table t1 (s1 geometry not null,s2 char(100)); +create trigger t1_bu before update on t1 for each row set new.s1 = null; +--error 1048 +insert into t1 values (null,null); +drop table t1; + +# +# Bug #10499 (function creation with GEOMETRY datatype) +# +--disable_warnings +drop procedure if exists fn3; +--enable_warnings +create function fn3 () returns point deterministic return ST_GeomFromText("point(1 1)"); +show create function fn3; +select ST_astext(fn3()); +drop function fn3; + +# +# Bug #12267 (primary key over GIS) +# +create table t1(pt POINT); +alter table t1 add primary key pti(pt); +drop table t1; +create table t1(pt GEOMETRY); +--error 1170 +alter table t1 add primary key pti(pt); +alter table t1 add primary key pti(pt(20)); +drop table t1; + + +create table t1 select ST_GeomFromText('point(1 1)'); +desc t1; +drop table t1; + +# +# Bug #20691 (DEFAULT over NOT NULL field) +# +create table t1 (g geometry not null); +--error ER_CANT_CREATE_GEOMETRY_OBJECT +insert into t1 values(default); +drop table t1; + +# +# Bug #27300: create view with geometry functions lost columns types +# +CREATE TABLE t1 (a GEOMETRY); +CREATE VIEW v1 AS SELECT ST_GeomFromwkb(ST_ASBINARY(a)) FROM t1; +CREATE VIEW v2 AS SELECT a FROM t1; +DESCRIBE v1; +DESCRIBE v2; + +DROP VIEW v1,v2; +DROP TABLE t1; + +# +# Bug#24563: MBROverlaps does not seem to function propertly +# Bug#54888: MBROverlaps missing in 5.1? +# + +# Test all MBR* functions and their non-MBR-prefixed aliases, +# using shifted squares to verify the spatial relations. + +create table t1 (name VARCHAR(100), square GEOMETRY); + +INSERT INTO t1 VALUES("center", ST_GeomFromText('POLYGON (( 0 0, 0 2, 2 2, 2 0, 0 0))')); + +INSERT INTO t1 VALUES("small", ST_GeomFromText('POLYGON (( 0 0, 0 1, 1 1, 1 0, 0 0))')); +INSERT INTO t1 VALUES("big", ST_GeomFromText('POLYGON (( 0 0, 0 3, 3 3, 3 0, 0 0))')); + +INSERT INTO t1 VALUES("up", ST_GeomFromText('POLYGON (( 0 1, 0 3, 2 3, 2 1, 0 1))')); +INSERT INTO t1 VALUES("up2", ST_GeomFromText('POLYGON (( 0 2, 0 4, 2 4, 2 2, 0 2))')); +INSERT INTO t1 VALUES("up3", ST_GeomFromText('POLYGON (( 0 3, 0 5, 2 5, 2 3, 0 3))')); + +INSERT INTO t1 VALUES("down", ST_GeomFromText('POLYGON (( 0 -1, 0 1, 2 1, 2 -1, 0 -1))')); +INSERT INTO t1 VALUES("down2", ST_GeomFromText('POLYGON (( 0 -2, 0 0, 2 0, 2 -2, 0 -2))')); +INSERT INTO t1 VALUES("down3", ST_GeomFromText('POLYGON (( 0 -3, 0 -1, 2 -1, 2 -3, 0 -3))')); + +INSERT INTO t1 VALUES("right", ST_GeomFromText('POLYGON (( 1 0, 1 2, 3 2, 3 0, 1 0))')); +INSERT INTO t1 VALUES("right2", ST_GeomFromText('POLYGON (( 2 0, 2 2, 4 2, 4 0, 2 0))')); +INSERT INTO t1 VALUES("right3", ST_GeomFromText('POLYGON (( 3 0, 3 2, 5 2, 5 0, 3 0))')); + +INSERT INTO t1 VALUES("left", ST_GeomFromText('POLYGON (( -1 0, -1 2, 1 2, 1 0, -1 0))')); +INSERT INTO t1 VALUES("left2", ST_GeomFromText('POLYGON (( -2 0, -2 2, 0 2, 0 0, -2 0))')); +INSERT INTO t1 VALUES("left3", ST_GeomFromText('POLYGON (( -3 0, -3 2, -1 2, -1 0, -3 0))')); + +SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrcontains FROM t1 a1 JOIN t1 a2 ON MBRContains( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name; +SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrdisjoint FROM t1 a1 JOIN t1 a2 ON MBRDisjoint( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name; +SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrequals FROM t1 a1 JOIN t1 a2 ON MBREquals( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name; +SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrintersect FROM t1 a1 JOIN t1 a2 ON MBRIntersects( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name; +SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbroverlaps FROM t1 a1 JOIN t1 a2 ON MBROverlaps( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name; +SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrtouches FROM t1 a1 JOIN t1 a2 ON MBRTouches( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name; +SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrwithin FROM t1 a1 JOIN t1 a2 ON MBRWithin( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name; + +SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS MBRcontains FROM t1 a1 JOIN t1 a2 ON MBRContains( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name; +SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS MBRdisjoint FROM t1 a1 JOIN t1 a2 ON MBRDisjoint( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name; +SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS MBRequals FROM t1 a1 JOIN t1 a2 ON MBREquals( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name; +SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS intersects FROM t1 a1 JOIN t1 a2 ON MBRIntersects( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name; +SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS MBRoverlaps FROM t1 a1 JOIN t1 a2 ON MBROverlaps( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name; +SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS ST_touches FROM t1 a1 JOIN t1 a2 ON ST_Touches( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name; +SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS MBRwithin FROM t1 a1 JOIN t1 a2 ON MBRWithin( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name; + +# MBROverlaps needs a few more tests, with point and line dimensions + +SET @vert1 = ST_GeomFromText('POLYGON ((0 -2, 0 2, 0 -2))'); +SET @horiz1 = ST_GeomFromText('POLYGON ((-2 0, 2 0, -2 0))'); +SET @horiz2 = ST_GeomFromText('POLYGON ((-1 0, 3 0, -1 0))'); +SET @horiz3 = ST_GeomFromText('POLYGON ((2 0, 3 0, 2 0))'); +SET @point1 = ST_GeomFromText('POLYGON ((0 0))'); +SET @point2 = ST_GeomFromText('POLYGON ((-2 0))'); + +SELECT GROUP_CONCAT(a1.name ORDER BY a1.name) AS MBRoverlaps FROM t1 a1 WHERE MBROverlaps(a1.square, @vert1) GROUP BY a1.name; +SELECT GROUP_CONCAT(a1.name ORDER BY a1.name) AS MBRoverlaps FROM t1 a1 WHERE MBROverlaps(a1.square, @horiz1) GROUP BY a1.name; +SELECT MBROverlaps(@horiz1, @vert1) FROM DUAL; +SELECT MBROverlaps(@horiz1, @horiz2) FROM DUAL; +SELECT MBROverlaps(@horiz1, @horiz3) FROM DUAL; +SELECT MBROverlaps(@horiz1, @point1) FROM DUAL; +SELECT MBROverlaps(@horiz1, @point2) FROM DUAL; + +DROP TABLE t1; + +# +# Bug#28763: Selecting geometry fields in UNION caused server crash. +# +create table t1(f1 geometry, f2 polygon, f3 linestring); +select f1 from t1 union select f1 from t1; +insert into t1 (f2,f3) values (ST_GeomFromText('POLYGON((10 10,20 10,20 20,10 20,10 10))'), ST_GeomFromText('LINESTRING(0 0,1 1,2 2)')); +select ST_AsText(f2),ST_AsText(f3) from t1; +select ST_AsText(a) from (select f2 as a from t1 union select f3 from t1) t; +create table t2 as select f2 as a from t1 union select f3 from t1; +desc t2; +select ST_AsText(a) from t2; +drop table t1, t2; + +# +# Bug #29166: MYsql crash when query is run +# + +# The test query itself is not logged : too large output. +# The real test is the second query : see if the first hasn't crashed the +# server +--disable_query_log +--disable_result_log +SELECT ST_AsText(ST_GeometryFromText(CONCAT( + 'MULTIPOLYGON(((', + REPEAT ('-0.00000000001234567890123456789012 -0.123456789012345678,', 1000), + '-0.00000000001234567890123456789012 -0.123456789012345678', + ')))' +))) AS a; +--enable_result_log +--enable_query_log +SELECT 1; + +-- source include/gis_keys.inc + +# +# Bug #31155 gis types in union'd select cause crash +# + +create table `t1` (`col002` point)engine=InnoDB; +insert into t1 values (),(),(); +# --error ER_WRONG_ARGUMENTS +select min(`col002`) from t1 union select `col002` from t1; +drop table t1; + +--echo # +--echo # Bug #47780: crash when comparing GIS items from subquery +--echo # + +CREATE TABLE t1(a INT, b MULTIPOLYGON); +INSERT INTO t1 VALUES + (0, + ST_GEOMFROMTEXT( + 'multipolygon(((1 2,3 4,5 6,7 8,9 8,1 2,1 2),(7 6,5 4,3 2,1 2,3 4,7 6)))')); + +--echo # must not crash +--error ER_ILLEGAL_PARAMETER_DATA_TYPES2_FOR_OPERATION +SELECT 1 FROM t1 WHERE a <> (SELECT ST_GEOMETRYCOLLECTIONFROMWKB(b) FROM t1); + +DROP TABLE t1; + +--echo # +--echo # Bug #49250 : spatial btree index corruption and crash +--echo # Part one : spatial syntax check +--echo # + +--error ER_PARSE_ERROR +CREATE TABLE t1(col1 MULTIPOLYGON NOT NULL, + SPATIAL INDEX USING BTREE (col1)); +CREATE TABLE t2(col1 MULTIPOLYGON NOT NULL); +--error ER_PARSE_ERROR +CREATE SPATIAL INDEX USING BTREE ON t2(col); +--error ER_PARSE_ERROR +ALTER TABLE t2 ADD SPATIAL INDEX USING BTREE (col1); + +DROP TABLE t2; + +--echo End of 5.0 tests + + +# +# Bug #11335 View redefines column types +# +create table t1 (f1 tinyint(1), f2 char(1), f3 varchar(1), f4 geometry, f5 datetime); +create view v1 as select * from t1; +desc v1; +drop view v1; +drop table t1; + +# +# Bug#44684: valgrind reports invalid reads in +# Item_func_spatial_collection::val_str +# +--error ER_ILLEGAL_PARAMETER_DATA_TYPE_FOR_OPERATION +SELECT MultiPoint(12345,''); +#SELECT MultiPoint(123451,''); +#SELECT MultiPoint(1234512,''); +#SELECT MultiPoint(12345123,''); + +--error ER_ILLEGAL_VALUE_FOR_TYPE +#SELECT MultiLineString(12345,''); +#SELECT MultiLineString(123451,''); +#SELECT MultiLineString(1234512,''); +#SELECT MultiLineString(12345123,''); + +--error ER_ILLEGAL_VALUE_FOR_TYPE +#SELECT LineString(12345,''); +#SELECT LineString(123451,''); +#SELECT LineString(1234512,''); +#SELECT LineString(12345123,''); + +--error ER_ILLEGAL_VALUE_FOR_TYPE +#SELECT Polygon(12345,''); +#SELECT Polygon(123451,''); +#SELECT Polygon(1234512,''); +#SELECT Polygon(12345123,''); + +# +# Bug55531 crash with conversions of geometry types / strings +# +--error ER_ILLEGAL_PARAMETER_DATA_TYPE_FOR_OPERATION +SELECT 1 FROM (SELECT GREATEST(1,GEOMETRYCOLLECTION('00000','00000')) b FROM DUAL) AS d WHERE (LINESTRING(d.b)); + + +--echo # +--echo # BUG#51875: crash when loading data into geometry function ST_polyfromwkb +--echo # +SET @a=0x00000000030000000100000000000000000000000000144000000000000014400000000000001840000000000000184000000000000014400000000000001440; +SET @a=ST_POLYFROMWKB(@a); +SET @a=0x00000000030000000000000000000000000000000000144000000000000014400000000000001840000000000000184000000000000014400000000000001440; +SET @a=ST_POLYFROMWKB(@a); + + +# +# Bug #57321 crashes and valgrind errors from spatial types +# + +create table t1(a polygon NOT NULL)engine=InnoDB; +--error ER_TRUNCATED_WRONG_VALUE_FOR_FIELD +insert into t1 values (ST_geomfromtext("point(0 1)")); +--error ER_TRUNCATED_WRONG_VALUE_FOR_FIELD +insert into t1 values (ST_geomfromtext("point(1 0)")); +select * from (select polygon(t1.a) as p from t1 order by t1.a) d; +drop table t1; + + +--echo # +--echo # Test for bug #59888 "debug assertion when attempt to create spatial index +--echo # on char > 31 bytes". +--echo # +create table t1(a char(32) not null) engine=InnoDB; +#--error ER_SPATIAL_MUST_HAVE_GEOM_COL +create index i on t1 (a(5)); +drop table t1; + + +--echo End of 5.1 tests + +# +# Bug #50574 5.5.ST_x allows spatial indexes on non-spatial +# columns, causing crashes! +# Bug#11767480 SPATIAL INDEXES ON NON-SPATIAL COLUMNS +# CAUSE CRASHES. +# +CREATE TABLE t0 (a BINARY(32) NOT NULL); +#--error ER_SPATIAL_MUST_HAVE_GEOM_COL +CREATE UNIQUE INDEX i on t0 (a(10)); +INSERT INTO t0 VALUES (1); + +#--error ER_SPATIAL_MUST_HAVE_GEOM_COL +CREATE TABLE t1( + col0 BINARY NOT NULL, + col2 TIMESTAMP, + INDEX i1 (col0) +) ENGINE=InnoDB; + +# Test other ways to add indices +CREATE TABLE t2 ( + col0 BINARY NOT NULL, + col2 TIMESTAMP +) ENGINE=InnoDB; + +#--error ER_SPATIAL_MUST_HAVE_GEOM_COL +CREATE INDEX idx0 ON t1(col0); + +#--error ER_SPATIAL_MUST_HAVE_GEOM_COL +#ALTER TABLE t1 ADD INDEX i1 (col0); + +CREATE TABLE t3 ( + col0 INTEGER NOT NULL, + col1 POINT, + col2 POINT +); + +# --error ER_TOO_MANY_KEY_PARTS +--error ER_WRONG_ARGUMENTS +CREATE SPATIAL INDEX idx0 ON t2 (col1, col2); + + +CREATE TABLE t4 ( + col0 INTEGER NOT NULL, + col1 POINT, + col2 LINESTRING, + INDEX i1 (col1(5), col2(5)) +); + +# cleanup +DROP TABLE IF EXISTS t0, t1, t2, t3,t4; + + +--echo # +--echo # BUG#12414917 - ST_ISCLOSED() CRASHES ON 64-BIT BUILDS +--echo # +# --error ER_GIS_DATA_WRONG_ENDIANESS +SELECT ST_ISCLOSED(CONVERT(CONCAT(' ', 0x2), BINARY(20))); + +--echo # +--echo # BUG#12537203 - CRASH WHEN SUBSELECTING GLOBAL VARIABLES IN +--echo # GEOMETRY FUNCTION ARGUMENTS +--echo # +--replace_regex /non geometric .* value/non geometric '' value/ +--error ER_ILLEGAL_PARAMETER_DATA_TYPE_FOR_OPERATION +SELECT GEOMETRYCOLLECTION((SELECT @@OLD)); + + +--echo End of 5.1 tests + + +--echo # +--echo # Bug#11908153: CRASH AND/OR VALGRIND ERRORS IN FIELD_BLOB::GET_KEY_IMAGE +--echo # + +CREATE TABLE g1 +(a geometry NOT NULL, UNIQUE KEY i (a(151))) engine=InnoDB; + +INSERT INTO g1 VALUES (ST_geomfromtext('point(1 1)')); +INSERT INTO g1 VALUES (ST_geomfromtext('point(1 2)')); + +FLUSH TABLES; + +--error ER_ILLEGAL_PARAMETER_DATA_TYPES2_FOR_OPERATION +SELECT 1 FROM g1 +FORCE INDEX(i) WHERE a = date_sub(now(), interval 2808.4 year_month) +; + +DROP TABLE g1; + +--echo # +--echo # Bug#13013970 MORE CRASHES IN FIELD_BLOB::GET_KEY_IMAGE +--echo # + +CREATE TABLE g1(a TEXT NOT NULL, KEY(a(255))); + +INSERT INTO g1 VALUES ('a'),('a'); +SELECT 1 FROM g1 WHERE a >= ANY +(SELECT 1 FROM g1 WHERE a = ST_geomfromtext('') OR a) ; + +DROP TABLE g1; + +--echo End of 5.5 tests + + +# Conformance tests +# +# C.3.3 Geometry types and functions +# + +--disable_warnings +DROP DATABASE IF EXISTS gis_ogs; +--enable_warnings + +CREATE DATABASE gis_ogs; +USE gis_ogs; + +--echo # +--echo # C.3.3.1 Geometry types and functions schema construction +--echo # + +# TODO: WL#2377 +#CREATE TABLE spatial_ref_sys ( +#ST_srid INTEGER NOT NULL PRIMARY KEY, +#auth_name CHARACTER VARYING, +#auth_srid INTEGER, +#srtext CHARACTER VARYING(2048)); + +CREATE TABLE lakes ( + fid INTEGER NOT NULL PRIMARY KEY, + name CHARACTER VARYING(64), + shore POLYGON); + +CREATE TABLE road_segments ( + fid INTEGER NOT NULL PRIMARY KEY, + name CHARACTER VARYING(64), + aliases CHARACTER VARYING(64), + num_lanes INTEGER, + centerline LINESTRING); + +CREATE TABLE divided_routes ( + fid INTEGER NOT NULL PRIMARY KEY, + name CHARACTER VARYING(64), + num_lanes INTEGER, + centerlines MULTILINESTRING); + +CREATE TABLE forests ( + fid INTEGER NOT NULL PRIMARY KEY, + name CHARACTER VARYING(64), + boundary MULTIPOLYGON); + +CREATE TABLE bridges ( + fid INTEGER NOT NULL PRIMARY KEY, + name CHARACTER VARYING(64), + position POINT); + +CREATE TABLE streams ( + fid INTEGER NOT NULL PRIMARY KEY, + name CHARACTER VARYING(64), + centerline LINESTRING); + +CREATE TABLE buildings ( + fid INTEGER NOT NULL PRIMARY KEY, + address CHARACTER VARYING(64), + position POINT, + footprint POLYGON); + +CREATE TABLE ponds ( + fid INTEGER NOT NULL PRIMARY KEY, + name CHARACTER VARYING(64), + type CHARACTER VARYING(64), + shores MULTIPOLYGON); + +CREATE TABLE named_places ( + fid INTEGER NOT NULL PRIMARY KEY, + name CHARACTER VARYING(64), + boundary POLYGON); + +CREATE TABLE map_neatlines ( + fid INTEGER NOT NULL PRIMARY KEY, + neatline POLYGON); + +--echo # +--echo # C.3.3.2 Geometry types and functions schema data loading +--echo # + +# TODO: WL#2377 +#-- Spatial Reference System +#INSERT INTO spatial_ref_sys VALUES +#(101, 'POSC', 32214, 'PROJCS["UTM_ZONE_14N", +#GEOGCS["World Geodetic System 72", +#DATUM["WGS_72", +#ELLIPSOID["NWL_10D", 6378135, 298.26]], +#PRIMEM["Greenwich", 0], +#UNIT["Meter", 1.0]], +#PROJECTION["Transverse_Mercator"], +#PARAMETER["False_Easting", 500000.0], +#PARAMETER["False_Northing", 0.0], +#PARAMETER["Central_Meridian", -99.0], +#PARAMETER["Scale_Factor", 0.9996], +#PARAMETER["Latitude_of_origin", 0.0], +#UNIT["Meter", 1.0]]'); + +--echo # Lakes +INSERT INTO lakes VALUES ( +101, 'BLUE LAKE', +ST_PolyFromText( +'POLYGON( +(52 18,66 23,73 9,48 6,52 18), +(59 18,67 18,67 13,59 13,59 18) +)', +101)); + + +--echo # Road Segments + +INSERT INTO road_segments VALUES(102, 'Route 5', NULL, 2, +ST_LineFromText( +'LINESTRING( 0 18, 10 21, 16 23, 28 26, 44 31 )' ,101)); + +INSERT INTO road_segments VALUES(103, 'Route 5', 'Main Street', 4, +ST_LineFromText( +'LINESTRING( 44 31, 56 34, 70 38 )' ,101)); + +INSERT INTO road_segments VALUES(104, 'Route 5', NULL, 2, +ST_LineFromText( +'LINESTRING( 70 38, 72 48 )' ,101)); + +INSERT INTO road_segments VALUES(105, 'Main Street', NULL, 4, +ST_LineFromText( +'LINESTRING( 70 38, 84 42 )' ,101)); + +INSERT INTO road_segments VALUES(106, 'Dirt Road by Green Forest', NULL, +1, +ST_LineFromText( +'LINESTRING( 28 26, 28 0 )',101)); + +--echo # DividedRoutes + +INSERT INTO divided_routes VALUES(119, 'Route 75', 4, +ST_MLineFromText( +'MULTILINESTRING((10 48,10 21,10 0), +(16 0,16 23,16 48))', 101)); + +--echo # Forests + +INSERT INTO forests VALUES(109, 'Green Forest', +ST_MPolyFromText( +'MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26), +(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))', +101)); + +--echo # Bridges + +INSERT INTO bridges VALUES(110, 'Cam Bridge', ST_PointFromText( +'POINT( 44 31 )', 101)); + +--echo # Streams + +INSERT INTO streams VALUES(111, 'Cam Stream', +ST_LineFromText( +'LINESTRING( 38 48, 44 41, 41 36, 44 31, 52 18 )', 101)); + +INSERT INTO streams VALUES(112, NULL, +ST_LineFromText( +'LINESTRING( 76 0, 78 4, 73 9 )', 101)); + +--echo # Buildings + +INSERT INTO buildings VALUES(113, '123 Main Street', +ST_PointFromText( +'POINT( 52 30 )', 101), +ST_PolyFromText( +'POLYGON( ( 50 31, 54 31, 54 29, 50 29, 50 31) )', 101)); + +INSERT INTO buildings VALUES(114, '215 Main Street', +ST_PointFromText( +'POINT( 64 33 )', 101), +ST_PolyFromText( +'POLYGON( ( 66 34, 62 34, 62 32, 66 32, 66 34) )', 101)); + + +--echo # Ponds + +INSERT INTO ponds VALUES(120, NULL, 'Stock Pond', +ST_MPolyFromText( +'MULTIPOLYGON( ( ( 24 44, 22 42, 24 40, 24 44) ), +( ( 26 44, 26 40, 28 42, 26 44) ) )', 101)); + +--echo # Named Places + +INSERT INTO named_places VALUES(117, 'Ashton', +ST_PolyFromText( +'POLYGON( ( 62 48, 84 48, 84 30, 56 30, 56 34, 62 48) )', 101)); + +INSERT INTO named_places VALUES(118, 'Goose Island', +ST_PolyFromText( +'POLYGON( ( 67 13, 67 18, 59 18, 59 13, 67 13) )', 101)); + +--echo # Map Neatlines + +INSERT INTO map_neatlines VALUES(115, +ST_PolyFromText( +'POLYGON( ( 0 0, 0 48, 84 48, 84 0, 0 0 ) )', 101)); + +--echo # +--echo # C.3.3.3 Geometry types and functions schema test queries +--echo + +# TODO: WL#2377 +#--echo # Conformance Item T1 +#SELECT f_table_name +#FROM geometry_columns; +# +#--echo # Conformance Item T2 +#SELECT f_geometry_column +#FROM geometry_columns +#WHERE f_table_name = 'streams'; +# +#--echo # Conformance Item T3 +#SELECT coord_dimension +#FROM geometry_columns +#WHERE f_table_name = 'streams'; +# +#--echo # Conformance Item T4 +# +#SELECT ST_srid +#FROM geometry_columns +#WHERE f_table_name = 'streams'; +# +#--echo # Conformance Item T5 +# +#SELECT srtext +#FROM SPATIAL_REF_SYS +#WHERE ST_SRID = 101; +# + + +--echo # Conformance Item T6 +# TODO: ST_Dimension() alias +SELECT ST_Dimension(shore) +FROM lakes +WHERE name = 'Blue Lake'; + +--echo # Conformance Item T7 +# TODO: ST_GeometryType() alias +SELECT ST_GeometryType(centerlines) +FROM divided_routes +WHERE name = 'Route 75'; + +--echo # Conformance Item T8 +# TODO: ST_AsText() alias +SELECT ST_AsText(boundary) +FROM named_places +WHERE name = 'Goose Island'; + +--echo # Conformance Item T9 +# TODO: ST_AsBinary(), ST_PolyFromWKB() aliases +SELECT ST_AsText(ST_PolyFromWKB(ST_AsBinary(boundary),101)) +FROM named_places +WHERE name = 'Goose Island'; + +--echo # Conformance Item T10 +# TODO: ST_SRID() alias +SELECT ST_SRID(boundary) +FROM named_places +WHERE name = 'Goose Island'; + +--echo # Conformance Item T11 +# TODO: ST_IsEmpty() alias +SELECT ST_IsEmpty(centerline) +FROM road_segments +WHERE name = 'Route 5' +AND aliases = 'Main Street'; + +# FIXME: get wrong result:0, expected 1. +#--echo # Conformance Item T12 +# TODO: ST_IsSimple() alias +#SELECT ST_IsSimple(shore) +#FROM lakes +#WHERE name = 'Blue Lake'; + +# TODO: WL#2377 +#--echo # Conformance Item T13 +#SELECT ST_AsText(Boundary((boundary),101) +#FROM named_places +#WHERE name = 'Goose Island'; + +--echo # Conformance Item T14 +# TODO: ST_Envelope( ) alias +# FIXME: we get anticlockwise, GIS suggests clockwise +SELECT ST_AsText(ST_Envelope(boundary)) +FROM named_places +WHERE name = 'Goose Island'; + +--echo # Conformance Item T15 +# TODO: ST_X() alias +SELECT ST_X(position) +FROM bridges +WHERE name = 'Cam Bridge'; + +--echo # Conformance Item T16 +# TODO: ST_Y() alias +SELECT ST_Y(position) +FROM bridges +WHERE name = 'Cam Bridge'; + +--echo # Conformance Item T17 +# TODO: ST_StartPoint() alias +SELECT ST_AsText(ST_StartPoint(centerline)) +FROM road_segments +WHERE fid = 102; + +--echo # Conformance Item T18 +# TODO: ST_EndPoint +SELECT ST_AsText(ST_EndPoint(centerline)) +FROM road_segments +WHERE fid = 102; + +# TODO: WL#2377 +#--echo # Conformance Item T19 +# TODO: ST_LineFromWKB() alias +#SELECT ST_IsClosed(LineFromWKB(ST_AsBinary(Boundary(boundary)),ST_SRID(boundary))) +#FROM named_places +#WHERE name = 'Goose Island'; + +# TODO: WL#2377 +#--echo # Conformance Item T20 +#SELECT IsRing(LineFromWKB(ST_AsBinary(Boundary(boundary)),ST_SRID(boundary))) +#FROM named_places +#WHERE name = 'Goose Island'; + +--echo # Conformance Item T21 +# TODO: ST_Length() alias +SELECT ST_Length(centerline) +FROM road_segments +WHERE fid = 106; + +--echo # Conformance Item T22 +# TODO: ST_NumPoints() alias +SELECT ST_NumPoints(centerline) +FROM road_segments +WHERE fid = 102; + +--echo # Conformance Item T23 +# TODO: ST_PointN() alias +SELECT ST_AsText(ST_PointN(centerline, 1)) +FROM road_segments +WHERE fid = 102; + +--echo # Conformance Item T24 +# TODO: ST_Centroid() alias +SELECT ST_AsText(ST_Centroid(boundary)) +FROM named_places +WHERE name = 'Goose Island'; + +# TODO: WL#2377 +#--echo # Conformance Item T25 +#SELECT MBRContains(boundary, PointOnSurface(boundary)) +#FROM named_places +#WHERE name = 'Goose Island'; + +--echo # Conformance Item T26 +# TODO: ST_Area() alias +SELECT ST_Area(boundary) +FROM named_places +WHERE name = 'Goose Island'; + +--echo # Conformance Item T27 +# TODO: ST_ExteriorRing() alias +SELECT ST_AsText(ST_ExteriorRing(shore)) +FROM lakes +WHERE name = 'Blue Lake'; + +--echo # Conformance Item T28 +# TODO: ST_NumInteriorRings() alias +SELECT ST_NumInteriorRings(shore) +FROM lakes +WHERE name = 'Blue Lake'; + +--echo # Conformance Item T29 +# TODO: ST_InteriorRingN() alias +SELECT ST_AsText(ST_InteriorRingN(shore, 1)) +FROM lakes +WHERE name = 'Blue Lake'; + +--echo # Conformance Item T30 +# TODO: ST_NumGeometries() alias +SELECT ST_NumGeometries(centerlines) +FROM divided_routes +WHERE name = 'Route 75'; + +--echo # Conformance Item T31 +# TODO: ST_GeometryN() alias +SELECT ST_AsText(ST_GeometryN(centerlines, 2)) +FROM divided_routes +WHERE name = 'Route 75'; + +--echo # Conformance Item T32 +# TODO: ST_IsClosed() alias +SELECT ST_IsClosed(centerlines) +FROM divided_routes +WHERE name = 'Route 75'; + +--echo # Conformance Item T33 +# TODO: ST_Length() alias +SELECT ST_Length(centerlines) +FROM divided_routes +WHERE name = 'Route 75'; + +--echo # Conformance Item T34 +# TODO: ST_Centroid() alias +SELECT ST_AsText(ST_Centroid(shores)) +FROM ponds +WHERE fid = 120; + +# TODO: WL#2377 +#--echo # Conformance Item T35 +#SELECT MBRContains(shores, PointOnSurface(shores)) +#FROM ponds +#WHERE fid = 120; + +--echo # Conformance Item T36 +# TODO: ST_Area() alias +SELECT ST_Area(shores) +FROM ponds +WHERE fid = 120; + +--echo # Conformance Item T37 +# TODO: ST_PolyFromText() alias +# --error ER_GIS_DIFFERENT_SRIDS +SELECT ST_Equals(boundary, +ST_PolyFromText('POLYGON( ( 67 13, 67 18, 59 18, 59 13, 67 13) )',1)) +FROM named_places +WHERE name = 'Goose Island'; + +--echo # Conformance Item T37 +--echo # Geometry arguments' SRIDs must be identical. +SELECT ST_Equals(boundary, +ST_PolyFromText('POLYGON( ( 67 13, 67 18, 59 18, 59 13, 67 13) )',101)) +FROM named_places +WHERE name = 'Goose Island'; + + +--echo # Conformance Item T38 +SELECT ST_Disjoint(centerlines, boundary) +FROM divided_routes, named_places +WHERE divided_routes.name = 'Route 75' +AND named_places.name = 'Ashton'; + +--echo # Conformance Item T39 +SELECT ST_Touches(centerline, shore) +FROM streams, lakes +WHERE streams.name = 'Cam Stream' +AND lakes.name = 'Blue Lake'; + +# FIXME: wrong result: get 0, expected 1 +#--echo # Conformance Item T40 +#SELECT ST_Within(boundary, footprint) +#FROM named_places, buildings +#WHERE named_places.name = 'Ashton' +#AND buildings.address = '215 Main Street'; + +# FIXME: wrong result: get 0, expected 1 +#--echo # Conformance Item T41 +#SELECT ST_Overlaps(forests.boundary, named_places.boundary) +#FROM forests, named_places +#WHERE forests.name = 'Green Forest' +#AND named_places.name = 'Ashton'; + +--echo # Conformance Item T42 +# FIXME: TODO: ST_Crosses() alias +SELECT ST_Crosses(road_segments.centerline, divided_routes.centerlines) +FROM road_segments, divided_routes +WHERE road_segments.fid = 102 +AND divided_routes.name = 'Route 75'; + +--echo # Conformance Item T43 +SELECT ST_Intersects(road_segments.centerline, divided_routes.centerlines) +FROM road_segments, divided_routes +WHERE road_segments.fid = 102 +AND divided_routes.name = 'Route 75'; + +--echo # Conformance Item T44 +SELECT ST_Contains(forests.boundary, named_places.boundary) +FROM forests, named_places +WHERE forests.name = 'Green Forest' +AND named_places.name = 'Ashton'; + +# TODO: WL#2377 +#--echo # Conformance Item T45 +#SELECT Relate(forests.boundary, named_places.boundary, 'TTTTTTTTT') +#FROM forests, named_places +#WHERE forests.name = 'Green Forest' +#AND named_places.name = 'Ashton'; + +--echo # Conformance Item T46 +SELECT ST_Distance(position, boundary) +FROM bridges, named_places +WHERE bridges.name = 'Cam Bridge' +AND named_places.name = 'Ashton'; + +# FIXME: wrong result: NULL, expected 12 +#--echo # Conformance Item T47 +#SELECT ST_AsText(ST_Intersection(centerline, shore)) +#FROM streams, lakes +#WHERE streams.name = 'Cam Stream' +#AND lakes.name = 'Blue Lake'; + +--echo # Conformance Item T48 +SELECT ST_AsText(ST_Difference(named_places.boundary, forests.boundary)) +FROM named_places, forests +WHERE named_places.name = 'Ashton' +AND forests.name = 'Green Forest'; + +#--echo # Conformance Item T49 +SELECT ST_AsText(ST_Union(shore, boundary)) +FROM lakes, named_places +WHERE lakes.name = 'Blue Lake' +AND named_places.name = 'Goose Island'; + +--echo # Conformance Item T50 +SELECT ST_AsText(ST_SymDifference(shore, boundary)) +FROM lakes, named_places +WHERE lakes.name = 'Blue Lake' +AND named_places.name = 'Ashton'; + +--echo # Conformance Item T51 +SELECT count(*) +FROM buildings, bridges +WHERE ST_Contains(ST_Buffer(bridges.position, 15.0), buildings.footprint) = 1; + +# TODO: WL#2377 +#--echo # Conformance Item T52 +#SELECT ST_AsText(ConvexHull(shore)) +#FROM lakes +#WHERE lakes.name = 'Blue Lake'; + +DROP DATABASE gis_ogs; + +--echo # +--echo # Bug#13362660 ASSERTION `FIELD_POS < FIELD_COUNT' FAILED. IN PROTOCOL_TEXT::STORE +--echo # + +--error ER_ILLEGAL_PARAMETER_DATA_TYPE_FOR_OPERATION +SELECT ST_Union('', ''), md5(1); diff --git a/mysql-test/suite/innodb_gis/t/alter_spatial_index.test b/mysql-test/suite/innodb_gis/t/alter_spatial_index.test new file mode 100644 index 00000000..6f30b38b --- /dev/null +++ b/mysql-test/suite/innodb_gis/t/alter_spatial_index.test @@ -0,0 +1,806 @@ +# ****************************************************************** +# Test Alter table add spatial idex asc/desc comments +# Test error Alter table modify column with No not null option +# Test error Alter table modify column with null option +# Test table column having both indexes spatial and Btree +# Test error Alter table spatial index using hash/Btree +# Test modify column from point to multipoint,line to multiline +# Test modify column from mutipoint to point,multiline to line +# Test discard & import tablepsace +# spatial index on temp tables +# Unique constraint on spatial index column Geometry +# Unique constraint on spatial index column POINT +# Modify Engine Innodb to Myisam to InnoDB +# Check Foreign Key constraint on Point column +# Check Foreign Key constraint on Geometry column +# ****************************************************************** + +CALL mtr.add_suppression("but MariaDB is asking statistics for 2 columns. Have you mixed"); + +--source include/have_innodb.inc +--source include/have_geometry.inc + +let MYSQLD_DATADIR= `select @@datadir`; + +CREATE TABLE tab(c1 int NOT NULL PRIMARY KEY,c2 POINT NOT NULL, +c3 LINESTRING NOT NULL,c4 POLYGON NOT NULL,c5 GEOMETRY NOT NULL) +ENGINE=InnoDB; + +CREATE TABLE tab1(c1 int NOT NULL PRIMARY KEY,c2 MULTIPOINT NOT NULL, +c3 MULTILINESTRING NOT NULL,c4 MULTIPOLYGON NOT NULL,c5 GEOMETRY NOT NULL) +ENGINE=InnoDB; + +INSERT INTO tab1 SELECT * FROM tab; + +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(1,ST_GeomFromText('POINT(10 10)'),ST_GeomFromText('LINESTRING(5 5,20 20,30 30)'), +ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))'), +ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))')); + + +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(2,ST_GeomFromText('POINT(20 20)'),ST_GeomFromText('LINESTRING(20 20,30 30,40 40)'), +ST_GeomFromText('POLYGON((40 50,40 70,50 100,70 100,80 80,70 50,40 50))'), +ST_GeomFromText('POLYGON((40 50,40 70,50 100,70 100,80 80,70 50,40 50))')); + +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(3,ST_GeomFromText('POINT(4 4)'),ST_GeomFromText('LINESTRING(130 130,140 140,150 150)'), +ST_GeomFromText('POLYGON((7 1,6 2,6 3,10 3,10 1,7 1))'), +ST_GeomFromText('POLYGON((4 -2,5 -4,6 -5,7 -4,7 2,4 -2))')); + +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(4,ST_GeomFromText('POINT(50 50)'),ST_GeomFromText('LINESTRING(200 200,300 300,400 400)'), +ST_GeomFromText('POLYGON((300 300,400 400,500 500,300 500,300 400,300 300))'), +ST_GeomFromText('POLYGON((300 300,400 400,500 500,300 500,300 400,300 300))')); + +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(5,ST_GeomFromText('POINT(3 3)'),ST_GeomFromText('LINESTRING(400 400,500 500,600 700)'), +ST_GeomFromText('POLYGON((1010 1010,1020 1020,1030 1030,1040 1030,1020 1010,1010 1010))'), +ST_GeomFromText('POLYGON((1010 1010,1020 1020,1030 1030,1040 1030,1020 1010,1010 1010))')); + +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(6,ST_GeomFromText('POINT(3 3)'),ST_GeomFromText('LINESTRING(40 40,50 50,60 70)'), +ST_GeomFromText('POLYGON((2010 2010,2020 2020,2030 2030,2040 2030,2020 2010,2010 2010))'), +ST_GeomFromText('POLYGON((2010 2010,2020 2020,2030 2030,2040 2030,2020 2010,2010 2010))')); + +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(7,ST_GeomFromText('POINT(60 70)'),ST_GeomFromText('LINESTRING(40 40,50 50,60 70)'), +ST_GeomFromText('POLYGON((3010 3010,3020 3020,3030 3030,3040 3030,3020 3010,3010 3010))'), +ST_GeomFromText('POLYGON((3010 3010,3020 3020,3030 3030,3040 3030,3020 3010,3010 3010))')); + +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(8,ST_GeomFromText('POINT(0 0)'),ST_GeomFromText('LINESTRING(40 40,50 50,60 70)'), +ST_GeomFromText('POLYGON((3010 3010,3020 3020,3030 3030,3040 3030,3020 3010,3010 3010))'), +ST_GeomFromText('POLYGON((3010 3010,3020 3020,3030 3030,3040 3030,3020 3010,3010 3010))')); + + +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(9,ST_GeomFromText('POINT(120 120)'),ST_GeomFromText('LINESTRING(100 100,110 110,120 120)'), +ST_GeomFromText('POLYGON((4010 4010,4020 4020,4030 4030,4040 4030,4020 4010,4010 4010))'), +ST_GeomFromText('POLYGON((4010 4010,4020 4020,4030 4030,4040 4030,4020 4010,4010 4010))')); + + +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(10,ST_GeomFromText('POINT(160 160)'),ST_GeomFromText('LINESTRING(140 140,150 150,160 160)'), +ST_GeomFromText('POLYGON((5010 5010,5020 5020,5030 5030,5040 5030,5020 5010,5010 5010))'), +ST_GeomFromText('POLYGON((5010 5010,5020 5020,5030 5030,5040 5030,5020 5010,5010 5010))')); + + +--enable_info +ALTER TABLE tab ADD SPATIAL INDEX idx2(c2 ASC); + +ALTER TABLE tab ADD SPATIAL KEY idx3(c3 DESC); + +ALTER TABLE tab ADD SPATIAL INDEX idx4(c4 ASC) COMMENT 'testing spatial index on Polygon'; + +ALTER TABLE tab ADD SPATIAL KEY idx5(c5 ASC) COMMENT 'testing spatial index on Geometry'; + +ALTER TABLE tab ADD INDEX idx6(c4(10)) USING BTREE; +--disable_info + +# Test the MBRContains +SET @g1 = ST_GeomFromText( 'POLYGON((7 1,6 2,6 3,10 3,10 1,7 1))'); + +SELECT c1,ST_Astext(c2),ST_Astext(c4) FROM tab WHERE MBRContains(tab.c4, @g1); + +UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRContains(tab.c4, @g1); + +SELECT c1,ST_Astext(c2),ST_Astext(c4) FROM tab WHERE MBRContains(tab.c4, @g1); + +DELETE FROM tab WHERE MBRContains(tab.c4, @g1); + +SELECT c1,ST_Astext(c2),ST_Astext(c4) FROM tab WHERE MBRContains(tab.c4, @g1); + + +SET @g1 = ST_GeomFromText('LINESTRING( 300 300,400 400)'); + +SELECT c1,ST_Astext(c2),ST_Astext(c4) FROM tab WHERE MBRContains(tab.c4, @g1); + +UPDATE tab SET C2 = ST_GeomFromText('POINT(100 100)') +WHERE MBRContains(tab.c4, @g1); + +DELETE FROM tab WHERE MBRContains(tab.c4, @g1); + +# Test the MBRWithin +SET @g1 = ST_GeomFromText( 'POLYGON((1010 1010,1020 1020,1030 1030,1040 1030,1020 1010,1010 1010))'); + +SELECT c1,ST_AsText(c2),ST_Astext(c4) FROM tab WHERE MBRWithin(tab.c4, @g1); + +UPDATE tab SET C2 = ST_GeomFromText('POINT(200 200)') +WHERE MBRWithin(tab.c4, @g1); + +SELECT c1,ST_AsText(c2),ST_AsText(c4) FROM tab WHERE MBRWithin(tab.c4, @g1); + +DELETE FROM tab WHERE MBRWithin(tab.c4, @g1); + +--error ER_SPATIAL_CANT_HAVE_NULL +ALTER TABLE tab MODIFY COLUMN c2 MULTIPOINT; + +--error ER_SPATIAL_CANT_HAVE_NULL +ALTER TABLE tab MODIFY COLUMN c3 MULTILINESTRING; + +--error ER_SPATIAL_CANT_HAVE_NULL +ALTER TABLE tab MODIFY COLUMN c4 MULTIPOLYGON; + +--error ER_SPATIAL_CANT_HAVE_NULL +ALTER TABLE tab MODIFY COLUMN c3 MULTILINESTRING NULL; + +--error ER_SPATIAL_CANT_HAVE_NULL +ALTER TABLE tab MODIFY COLUMN c4 MULTIPOLYGON NULL; + +--error ER_SPATIAL_CANT_HAVE_NULL +ALTER TABLE tab MODIFY COLUMN c4 Geometry NULL; + +--error ER_SPATIAL_CANT_HAVE_NULL +ALTER TABLE tab CHANGE COLUMN c2 c22 POINT; + +--error ER_SPATIAL_CANT_HAVE_NULL +ALTER TABLE tab CHANGE COLUMN c3 c33 LINESTRING; + +--error ER_SPATIAL_CANT_HAVE_NULL +ALTER TABLE tab CHANGE COLUMN c4 c44 POLYGON; + +# --error ER_SPATIAL_MUST_HAVE_GEOM_COL +--error ER_WRONG_ARGUMENTS +ALTER TABLE tab add SPATIAL INDEX idx1(c1); + +--error ER_PARSE_ERROR +ALTER TABLE tab ADD SPATIAL INDEX idx6(c2 ASC) USING BTREE; + +--error ER_PARSE_ERROR +ALTER TABLE tab ADD SPATIAL INDEX idx6(c2 ASC) USING HASH; + +# --error ER_INVALID_USE_OF_NULL +# ALTER TABLE tab CHANGE c2 c2 MULTIPOINT NOT NULL FIRST, ALGORITHM=COPY; + +# --error ER_CANT_CREATE_GEOMETRY_OBJECT +# ALTER TABLE tab MODIFY COLUMN c3 MULTILINESTRING NOT NULL,ALGORITHM=COPY; + +# --error ER_CANT_CREATE_GEOMETRY_OBJECT +# ALTER TABLE tab MODIFY COLUMN c4 MULTIPOLYGON NOT NULL; + +SHOW CREATE TABLE tab; + +--replace_column 7 # +SHOW INDEX FROM tab; + +SET @g1 = ST_GeomFromText('POLYGON((20 20,30 30,40 40,50 50,40 50,30 40,30 30,20 20))'); + +SELECT c1,ST_Astext(c2),ST_Astext(c4) FROM tab WHERE ST_Crosses(tab.c4, @g1); + +UPDATE tab SET C2 = ST_GeomFromText('POINT(1000 1000)') +WHERE ST_Crosses(tab.c4, @g1); + +SELECT c1,ST_Astext(c2),ST_Astext(c4) FROM tab WHERE ST_Crosses(tab.c4, @g1); + +DELETE FROM tab WHERE ST_Crosses(tab.c4, @g1); + +--enable_info +ALTER TABLE tab CHANGE COLUMN c2 c22 POINT NOT NULL; + +ALTER TABLE tab CHANGE COLUMN c3 c33 LINESTRING NOT NULL; + +ALTER TABLE tab CHANGE COLUMN c4 c44 POLYGON NOT NULL; +--disable_info + +SHOW CREATE TABLE tab; + +--replace_column 7 # +SHOW INDEX FROM tab; + +--enable_info +ALTER TABLE tab CHANGE COLUMN c22 c2 POINT NOT NULL; + +ALTER TABLE tab CHANGE COLUMN c33 c3 LINESTRING NOT NULL; + +ALTER TABLE tab CHANGE COLUMN c44 c4 POLYGON NOT NULL; +--disable_info + +SHOW CREATE TABLE tab; + +--replace_column 7 # +SHOW INDEX FROM tab; + +ALTER TABLE tab DISABLE KEYS; + +SHOW WARNINGS; + +SET @g1 = ST_GeomFromText('POLYGON((5010 5010,5020 5020,5030 5030,5040 5030,5020 5010,5010 5010))'); + +SELECT c1,ST_Astext(c2),ST_Astext(c4) FROM tab WHERE MBREquals(tab.c4, @g1); + +UPDATE tab SET C2 = ST_GeomFromText('POINT(2000 2000)') +WHERE MBREquals(tab.c4, @g1); + +SELECT c1,ST_Astext(c2),ST_Astext(c4) FROM tab WHERE MBREquals(tab.c4, @g1); + +DELETE FROM tab WHERE MBREquals(tab.c4, @g1); + +SELECT c1,ST_Astext(c2),ST_Astext(c4) FROM tab WHERE MBREquals(tab.c4, @g1); + +--enable_info +ALTER TABLE tab DROP PRIMARY KEY; + +ALTER TABLE tab ADD PRIMARY KEY(c2) ; +--disable_info + +SET @g1 = ST_GeomFromText( 'POLYGON((0 0,0 30,30 40,40 50,50 30,0 0))'); + +SELECT c1,ST_Astext(c2),ST_Astext(c4) FROM tab WHERE ST_Touches(tab.c4, @g1); + +UPDATE tab SET C2 = ST_GeomFromText('POINT(3000 3000)') +WHERE ST_Touches(tab.c4, @g1); + +SELECT c1,ST_Astext(c2),ST_Astext(c4) FROM tab WHERE ST_Touches(tab.c4, @g1); + +DELETE FROM tab WHERE ST_Touches(tab.c4, @g1); + +SELECT c1,ST_Astext(c2),ST_Astext(c4) FROM tab WHERE ST_Touches(tab.c4, @g1); + +FLUSH TABLE tab FOR EXPORT; + +--copy_file $MYSQLD_DATADIR/test/tab.ibd $MYSQLD_DATADIR/test/tab.ibd.bk + +UNLOCK TABLES; + +ALTER TABLE tab DISCARD TABLESPACE; + +--disable_warnings + +--error ER_TABLESPACE_DISCARDED +SELECT c1,ST_Astext(c2),ST_Astext(c4) FROM tab; + +--copy_file $MYSQLD_DATADIR/test/tab.ibd.bk $MYSQLD_DATADIR/test/tab.ibd + +--remove_file $MYSQLD_DATADIR/test/tab.ibd.bk + +--disable_query_log + +--error ER_INTERNAL_ERROR +ALTER TABLE tab IMPORT TABLESPACE; + +ALTER TABLE tab DROP INDEX idx2; +ALTER TABLE tab DROP INDEX idx3; +ALTER TABLE tab DROP INDEX idx4; +ALTER TABLE tab DROP INDEX idx5; +ALTER TABLE tab DROP INDEX idx6; + +SHOW CREATE TABLE tab; +ALTER TABLE tab IMPORT TABLESPACE; +--enable_query_log + +CHECK TABLE tab; + +SELECT c1,ST_Astext(c2),ST_Astext(c4) FROM tab ORDER BY c1; + +SET @g1 = ST_GeomFromText('LINESTRING( 3010 3010,4010 4010,5010 5010)'); + +SELECT c1,ST_Astext(c2),ST_Astext(c4) FROM tab WHERE MBRIntersects(tab.c4, @g1) order by c1; + +--error ER_DUP_ENTRY +UPDATE tab SET c2 = ST_GeomFromText('POINT(4000 4000)') +WHERE MBRIntersects(tab.c4, @g1); + +# --error ER_CANT_CREATE_GEOMETRY_OBJECT +# UPDATE tab SET c4 = ST_GeomFromText('POINT(4000 4000)') +# WHERE MBRIntersects(tab.c4, @g1); + +SELECT c1,ST_Astext(c2),ST_Astext(c4) FROM tab WHERE MBRIntersects(tab.c4, @g1) ORDER BY c1; + +DELETE FROM tab WHERE MBRIntersects(tab.c4, @g1); + +SELECT c1,ST_Astext(c2),ST_Astext(c4) FROM tab WHERE MBROverlaps(tab.c4, @g1) ORDER BY c1; + +INSERT INTO tab SELECT * FROM tab1; + +--enable_info +ALTER TABLE tab DROP PRIMARY KEY; + +--disable_info + +# Check spatial index on temp tables +--error ER_ILLEGAL_PARAMETER_DATA_TYPES2_FOR_OPERATION +SET STATEMENT sql_mode = 'NO_ENGINE_SUBSTITUTION' FOR +CREATE TEMPORARY TABLE temp_tab AS SELECT * FROM tab where c1 = c2; + +SET STATEMENT sql_mode = 'NO_ENGINE_SUBSTITUTION' FOR +CREATE TEMPORARY TABLE temp_tab AS SELECT * FROM tab; + +INSERT INTO temp_tab SELECT * FROM tab; + +CREATE SPATIAL INDEX idx2 ON temp_tab(c2); + +CREATE SPATIAL INDEX idx3 ON temp_tab(c3); + +CREATE SPATIAL INDEX idx4 ON temp_tab(c4); + +CREATE SPATIAL INDEX idx5 ON temp_tab(c5); + +SHOW CREATE TABLE temp_tab; + +SET @g1 = ST_GeomFromText( 'POLYGON((7 1,6 2,6 3,10 3,10 1,7 1))'); + +SELECT c1,ST_Astext(c2),ST_Astext(c4) FROM temp_tab WHERE MBRContains(temp_tab.c4, @g1) ORDER BY c1; + +# The following comments will be removed once the patch is available +UPDATE temp_tab SET C2 = ST_GeomFromText('POINT(1000 1000)') +WHERE MBRContains(temp_tab.c4, @g1); + +SELECT c1,ST_Astext(c2),ST_Astext(c4) FROM temp_tab WHERE MBRContains(temp_tab.c4, @g1); + +# Sever crashes Here so commented, will be removed later +DELETE FROM temp_tab WHERE MBRContains(temp_tab.c4, @g1); + +SELECT c1,ST_Astext(c2),ST_Astext(c4) FROM temp_tab WHERE MBRContains(temp_tab.c4, @g1) ORDER BY c1; + +# Check Unique constraint on spatial index column POINT + +SHOW CREATE TABLE tab; + +--replace_column 7 # +SHOW INDEX FROM tab; + +DELETE FROM tab; + +--enable_info +ALTER TABLE tab ADD PRIMARY KEY(c2); + +CREATE SPATIAL INDEX idx2 ON tab(c2 ASC); + +ALTER TABLE tab ADD CONSTRAINT const_1 UNIQUE(c2); +--disable_info + +SHOW CREATE TABLE tab; + +--replace_column 7 # +SHOW INDEX FROM tab; + +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(1,ST_GeomFromText('POINT(10 10)'),ST_GeomFromText('LINESTRING(5 5,20 20,30 30)'), +ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))'), +ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))')); + +# Check Unique constraint on spatial index column Geometry + +DELETE FROM tab; + +--enable_info +ALTER TABLE tab DROP PRIMARY KEY ; + +ALTER TABLE tab DROP KEY const_1; + +ALTER TABLE tab ADD PRIMARY KEY(c5(10)); + +ALTER TABLE tab ADD CONSTRAINT const_1 UNIQUE(c5(10)); +--disable_info + +SHOW CREATE TABLE tab; + +--replace_column 7 # +SHOW INDEX FROM tab; + +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(1,ST_GeomFromText('POINT(10 10)'),ST_GeomFromText('LINESTRING(5 5,20 20,30 30)'), +ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))'), +ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))')); + +#cleanup +DROP TABLE tab,tab1,temp_tab; + +--enable_warnings + +# Check Modify POINT to GEOMETRY and GEOMETRY to POINT +CREATE TABLE tab(c1 int NOT NULL PRIMARY KEY,c2 POINT NOT NULL, +c3 LINESTRING NOT NULL,c4 POLYGON NOT NULL,c5 GEOMETRY NOT NULL) +ENGINE=InnoDB; + +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(1,ST_GeomFromText('POINT(10 10)'),ST_GeomFromText('LINESTRING(5 5,20 20,30 30)'), +ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))'), +ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))')); + + +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(2,ST_GeomFromText('POINT(20 20)'),ST_GeomFromText('LINESTRING(20 20,30 30,40 40)'), +ST_GeomFromText('POLYGON((40 50,40 70,50 100,70 100,80 80,70 50,40 50))'), +ST_GeomFromText('POLYGON((40 50,40 70,50 100,70 100,80 80,70 50,40 50))')); + +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(3,ST_GeomFromText('POINT(4 4)'),ST_GeomFromText('LINESTRING(130 130,140 140,150 150)'), +ST_GeomFromText('POLYGON((7 1,6 2,6 3,10 3,10 1,7 1))'), +ST_GeomFromText('POLYGON((4 -2,5 -4,6 -5,7 -4,7 2,4 -2))')); + +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(4,ST_GeomFromText('POINT(50 50)'),ST_GeomFromText('LINESTRING(200 200,300 300,400 400)'), +ST_GeomFromText('POLYGON((300 300,400 400,500 500,300 500,300 400,300 300))'), +ST_GeomFromText('POLYGON((300 300,400 400,500 500,300 500,300 400,300 300))')); + +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(5,ST_GeomFromText('POINT(3 3)'),ST_GeomFromText('LINESTRING(400 400,500 500,600 700)'), +ST_GeomFromText('POLYGON((1010 1010,1020 1020,1030 1030,1040 1030,1020 1010,1010 1010))'), +ST_GeomFromText('POLYGON((1010 1010,1020 1020,1030 1030,1040 1030,1020 1010,1010 1010))')); + +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(6,ST_GeomFromText('POINT(3 3)'),ST_GeomFromText('LINESTRING(40 40,50 50,60 70)'), +ST_GeomFromText('POLYGON((2010 2010,2020 2020,2030 2030,2040 2030,2020 2010,2010 2010))'), +ST_GeomFromText('POLYGON((2010 2010,2020 2020,2030 2030,2040 2030,2020 2010,2010 2010))')); + +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(7,ST_GeomFromText('POINT(60 70)'),ST_GeomFromText('LINESTRING(40 40,50 50,60 70)'), +ST_GeomFromText('POLYGON((3010 3010,3020 3020,3030 3030,3040 3030,3020 3010,3010 3010))'), +ST_GeomFromText('POLYGON((3010 3010,3020 3020,3030 3030,3040 3030,3020 3010,3010 3010))')); + +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(8,ST_GeomFromText('POINT(0 0)'),ST_GeomFromText('LINESTRING(40 40,50 50,60 70)'), +ST_GeomFromText('POLYGON((3010 3010,3020 3020,3030 3030,3040 3030,3020 3010,3010 3010))'), +ST_GeomFromText('POLYGON((3010 3010,3020 3020,3030 3030,3040 3030,3020 3010,3010 3010))')); + + +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(9,ST_GeomFromText('POINT(120 120)'),ST_GeomFromText('LINESTRING(100 100,110 110,120 120)'), +ST_GeomFromText('POLYGON((4010 4010,4020 4020,4030 4030,4040 4030,4020 4010,4010 4010))'), +ST_GeomFromText('POLYGON((4010 4010,4020 4020,4030 4030,4040 4030,4020 4010,4010 4010))')); + + +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(10,ST_GeomFromText('POINT(160 160)'),ST_GeomFromText('LINESTRING(140 140,150 150,160 160)'), +ST_GeomFromText('POLYGON((5010 5010,5020 5020,5030 5030,5040 5030,5020 5010,5010 5010))'), +ST_GeomFromText('POLYGON((5010 5010,5020 5020,5030 5030,5040 5030,5020 5010,5010 5010))')); + +ANALYZE TABLE tab; + +--enable_info +ALTER TABLE tab ADD SPATIAL INDEX idx2(c2 ASC); + +ALTER TABLE tab ADD SPATIAL KEY idx3(c3 DESC); + +ALTER TABLE tab ADD SPATIAL INDEX idx4(c4 ASC) COMMENT 'testing spatial index on Polygon'; + +ALTER TABLE tab ADD SPATIAL KEY idx5(c5 ASC) COMMENT 'testing spatial index on Geometry'; + +ALTER TABLE tab ADD INDEX idx6(c4(10)) USING BTREE; + + +ALTER TABLE tab MODIFY COLUMN c2 GEOMETRY NOT NULL; + +--error ER_TRUNCATED_WRONG_VALUE_FOR_FIELD +ALTER TABLE tab MODIFY COLUMN c3 POLYGON NOT NULL; + +ALTER TABLE tab add COLUMN c7 POINT NOT NULL; +--disable_info + +# instant add, supported +ALTER TABLE tab add COLUMN c8 POINT NOT NULL, ALGORITHM = INPLACE, LOCK=NONE; +SELECT HEX(c8) FROM tab; +BEGIN; +INSERT INTO tab SELECT 0,c2,c3,c4,c5, +ST_GeomFromText('POINT(67 89)'),ST_GeomFromText('POINT(67 89)') +FROM tab LIMIT 1; +SELECT HEX(c8) FROM tab; +ROLLBACK; + +ALTER TABLE tab add COLUMN c9 POINT NOT NULL AFTER c5, ALGORITHM = INPLACE, LOCK=NONE; +ALTER TABLE tab DROP COLUMN c9, ALGORITHM=INSTANT; + +SHOW CREATE TABLE tab; + +--replace_column 7 # +SHOW INDEX FROM tab; + +SET @g1 = ST_GeomFromText( 'POLYGON((7 1,6 2,6 3,10 3,10 1,7 1))'); + +UPDATE tab SET C2 = ST_GeomFromText('POINT(1000 1000)') +WHERE MBRContains(tab.c4, @g1); + +SELECT c1,ST_Astext(c2),ST_Astext(c4) FROM tab WHERE MBRContains(tab.c4, @g1) ORDER BY c1; + +DELETE FROM tab WHERE MBRContains(tab.c4, @g1); + +SELECT c1,ST_Astext(c2),ST_Astext(c4) FROM tab WHERE MBRContains(tab.c4, @g1) ORDER BY c1; + +--enable_info +# --error ER_CANT_CREATE_GEOMETRY_OBJECT +# ALTER TABLE tab MODIFY COLUMN c2 POLYGON NOT NULL; + +ALTER TABLE tab MODIFY COLUMN c4 GEOMETRY NOT NULL; +--disable_info + +SHOW CREATE TABLE tab; + +--replace_column 7 # +SHOW INDEX FROM tab; + +ANALYZE TABLE tab; + +SET @g1 = ST_GeomFromText('POLYGON((5010 5010,5020 5020,5030 5030,5040 5030,5020 5010,5010 5010))'); + +SET @g2 = ST_GeomFromText('LINESTRING(140 140,150 150,160 160)'); + +SELECT c1,ST_Astext(c2),ST_AsText(c3),ST_Astext(c4) FROM tab WHERE MBREquals(tab.c4, @g1) +AND MBREquals(tab.c3,@g2) ORDER BY c1; + +UPDATE tab SET C2 = ST_GeomFromText('POINT(2000 2000)') +WHERE MBREquals(tab.c4, @g1) AND MBREquals(tab.c3,@g2); + +SELECT c1,ST_Astext(c2),ST_AsText(c3),ST_Astext(c4) FROM tab WHERE MBREquals(tab.c4, @g1) +AND MBREquals(tab.c3,@g2) ORDER BY c1; + +DELETE FROM tab WHERE MBREquals(tab.c4, @g1) AND MBREquals(tab.c3,@g2); + +SELECT c1,ST_Astext(c2),ST_AsText(c3),ST_Astext(c4) FROM tab WHERE MBREquals(tab.c4, @g1) +AND MBREquals(tab.c3,@g2) ORDER BY c1; + +ANALYZE TABLE tab; + +SET @g1 = ST_GeomFromText('POLYGON((4010 4010,4020 4020,4030 4030,4040 4030,4020 4010,4010 4010))'); + +SET @g2 = ST_GeomFromText('LINESTRING(1 1,2 2,3 3)'); + +# When Point type data exist in the column allow DDL operation +--enable_info +ALTER TABLE tab MODIFY COLUMN c2 POINT NOT NULL; + +ALTER TABLE tab MODIFY COLUMN c4 POLYGON NOT NULL; +--disable_info + +SHOW CREATE TABLE tab; + +--replace_column 7 # +SHOW INDEX FROM tab; + +ANALYZE TABLE tab; + +SET @g1 = ST_GeomFromText( 'POLYGON((0 0,0 30,30 40,40 50,50 30,0 0))'); + +SET @g2 = ST_GeomFromText('LINESTRING(1 1,2 2,3 3)'); + +# Should be 0 rows affected +SELECT c1,ST_Astext(c2),ST_AsText(c3),ST_Astext(c4) FROM tab WHERE ST_Touches(tab.c4, @g1) +AND ST_Touches(tab.c3,@g2); + +# Should be 0 rows affected +UPDATE tab SET C2 = ST_GeomFromText('POINT(2000 2000)') +WHERE ST_Touches(tab.c4, @g1) AND ST_Touches(tab.c3,@g2); + +# Should be 0 rows affected +DELETE FROM tab WHERE ST_Touches(tab.c4, @g1) AND ST_Touches(tab.c3,@g2); + +# Should be 0 rows affected +SELECT c1,ST_Astext(c2),ST_AsText(c3),ST_Astext(c4) FROM tab WHERE ST_Touches(tab.c4, @g1) +AND ST_Touches(tab.c3,@g2); + +# should be 1 row affected +SELECT c1,ST_Astext(c2),ST_AsText(c3),ST_Astext(c4) FROM tab WHERE ST_Touches(tab.c4, @g1) +OR ST_Touches(tab.c3,@g2); + +# should be 1 row affected +UPDATE tab SET C2 = ST_GeomFromText('POINT(2000 2000)') +WHERE ST_Touches(tab.c4, @g1) OR ST_Touches(tab.c3,@g2); + +# should be 1 row affected +SELECT c1,ST_Astext(c2),ST_AsText(c3),ST_Astext(c4) FROM tab WHERE ST_Touches(tab.c4, @g1) +OR ST_Touches(tab.c3,@g2); + +# should be 1 row affected +DELETE FROM tab WHERE ST_Touches(tab.c4, @g1) OR ST_Touches(tab.c3,@g2); + +# Should be Empty set +SELECT c1,ST_Astext(c2),ST_AsText(c3),ST_Astext(c4) FROM tab WHERE ST_Touches(tab.c4, @g1) +OR ST_Touches(tab.c3,@g2); + +--enable_info +# --error ER_SPATIAL_MUST_HAVE_GEOM_COL +--error ER_WRONG_ARGUMENTS +ALTER TABLE tab MODIFY COLUMN c4 INT NOT NULL; + +# --error ER_SPATIAL_MUST_HAVE_GEOM_COL +--error ER_WRONG_ARGUMENTS +ALTER TABLE tab MODIFY COLUMN c4 BLOB NOT NULL; +--disable_info + +# Test InnoDB to Myisam to InnoDB +ALTER TABLE tab ENGINE Myisam; + +ALTER TABLE tab ENGINE InnoDB; + +ANALYZE TABLE tab; + +SET @g1 = ST_GeomFromText('POLYGON((1010 1010,1020 1020,1030 1030,1040 1030,1020 1010,1010 1010))'); + +SET @g2 = ST_GeomFromText('LINESTRING(400 400,500 500,600 700)'); + +SELECT c1,ST_AsText(c2),ST_AsText(c3),ST_Astext(c4) FROM tab WHERE MBRWithin(tab.c4, @g1) AND MBRWithin(tab.c3, @g2); + +# --error ER_CANT_CREATE_GEOMETRY_OBJECT +# UPDATE tab SET c2 = ST_GeomFromText('POINT(2000 2000)'), +# c3=ST_GeomFromText('POINT(2000 2000)') +# WHERE MBRWithin(tab.c4, @g1) AND MBRWithin(tab.c3, @g2); + +SET @g1 = ST_GeomFromText('POINT(2000 2000)'); + +SET @g2 = ST_GeomFromText('POINT(2000 2000)'); + +SELECT c1,ST_AsText(c2),ST_AsText(c3),ST_Astext(c4) FROM tab WHERE MBRWithin(tab.c2, @g1) AND MBRWithin(tab.c3, @g2); + +DELETE FROM tab WHERE MBRWithin(tab.c2, @g1) AND MBRWithin(tab.c3, @g2); + +SELECT c1,ST_AsText(c2),ST_AsText(c3),ST_Astext(c4) FROM tab WHERE MBRWithin(tab.c2, @g1) AND MBRWithin(tab.c3, @g2); + +#cleanup +DROP TABLE tab; + +# Check Foreign Key constraint on Point column +CREATE TABLE parent (id POINT, PRIMARY KEY(id)) ENGINE=InnoDB; + +CREATE TABLE child (id GEOMETRY NOT NULL, parent_id POINT NOT NULL) ENGINE=InnoDB; + +--enable_info +ALTER TABLE parent ADD SPATIAL INDEX idx1(id ASC); + +ALTER TABLE child ADD SPATIAL INDEX idx2(parent_id ASC); +--disable_info + +SHOW CREATE TABLE parent; + +SHOW CREATE TABLE child; + +SHOW INDEX FROM parent; + +--replace_column 7 # +SHOW INDEX FROM child; + +# --error ER_CANNOT_ADD_FOREIGN +--disable_result_log +--error ER_CANT_CREATE_TABLE +ALTER TABLE child ADD FOREIGN KEY(parent_id) REFERENCES parent(id) ; + +# --error ER_CANNOT_ADD_FOREIGN +--error ER_CANT_CREATE_TABLE +ALTER TABLE child ADD FOREIGN KEY(parent_id) REFERENCES parent(id) ON DELETE CASCADE ; +--enable_result_log + +#cleanup +DROP table child,parent; + +# Check Foreign Key constraint on Geometry column +CREATE TABLE parent (id GEOMETRY, PRIMARY KEY(id(10))) ENGINE=InnoDB; + +CREATE TABLE child (id GEOMETRY NOT NULL, parent_id GEOMETRY NOT NULL) ENGINE=InnoDB; + +--enable_info +ALTER TABLE parent ADD SPATIAL INDEX idx1(id ASC) ; + +ALTER TABLE child ADD SPATIAL INDEX idx2(parent_id ASC); +--disable_info + +SHOW CREATE TABLE parent; + +SHOW CREATE TABLE child; + +SHOW INDEX FROM parent; + +SHOW INDEX FROM child; + +--disable_result_log +# --error ER_BLOB_KEY_WITHOUT_LENGTH +--error ER_CANT_CREATE_TABLE +ALTER TABLE child ADD FOREIGN KEY(parent_id) REFERENCES parent(id) ; +--enable_result_log + +#cleanup +DROP table child,parent; + +# Check add spatial index when table already has rows (inplace). +create table t1 (c1 int) engine=innodb; +insert into t1 values(NULL); + +# Add spatial index fail, since geometry column can't be null. +--error ER_SPATIAL_CANT_HAVE_NULL +alter table t1 add b geometry, add spatial index(b), algorithm=inplace; + +# Add spatial index fail, since there's invalid geo data. +# The case has to be commented because it no longer fails and following cases +# don't expect the effect of such a statement. +--error ER_CANT_CREATE_GEOMETRY_OBJECT + alter table t1 add b geometry not null, add spatial index(b), algorithm=inplace; + +--enable_info +alter table t1 add b geometry not null default st_geomfromtext('POINT(0 0)'), +add spatial index(b), algorithm=inplace; +--disable_info +DROP table t1; + +# Check add spatial index when table already has rows (copy). +create table t1 (c1 int) engine=innodb; +insert into t1 values(NULL); + +# Add spatial index fail, since geometry column can't be null. +--error ER_SPATIAL_CANT_HAVE_NULL +alter table t1 add b geometry, add spatial index(b), algorithm=copy; + +# Add spatial index fail, since there's a NULL or invalid geo data. +--error ER_CANT_CREATE_GEOMETRY_OBJECT +alter table t1 add b geometry not null, add spatial index(b), algorithm=copy; + +alter table t1 add b geometry not null default st_geomfromtext('POINT(0 0)'), +add spatial index(b), algorithm=copy; +DROP table t1; + +--echo # +--echo # BUG#20111575 ALTER TABLE...ADD SPATIAL INDEX...LOCK NONE IS REFUSED +--echo # WITHOUT STATING A REASON +--echo # +CREATE TABLE t1(p point NOT NULL) ENGINE=innodb; +--error ER_ALTER_OPERATION_NOT_SUPPORTED_REASON +ALTER TABLE t1 ADD SPATIAL INDEX(p), LOCK=NONE; +ALTER TABLE t1 ADD SPATIAL INDEX(p); +--error ER_ALTER_OPERATION_NOT_SUPPORTED_REASON +ALTER TABLE t1 FORCE, LOCK=NONE; +DROP TABLE t1; + +create table t1 (p point not null default if(unix_timestamp()>10,POINT(1,1),LineString(Point(0,0),Point(1,1)))) ENGINE=innodb; +set timestamp=10; +--error ER_TRUNCATED_WRONG_VALUE_FOR_FIELD +insert into t1 values(default); +drop table t1; +SET timestamp=default; + +create table t1 (p point not null default if(unix_timestamp()>10,POINT(1,1),LineString(Point(0,0),Point(1,1)))) ENGINE=innodb; +set timestamp=10; +--error ER_TRUNCATED_WRONG_VALUE_FOR_FIELD +alter table t1 add column i int; +drop table t1; +SET timestamp=default; + +CREATE OR REPLACE TABLE t1 (a INT) ENGINE=InnoDB; +--error ER_CANT_CREATE_GEOMETRY_OBJECT +ALTER TABLE t1 ADD COLUMN b POINT DEFAULT '0'; +DROP TABLE t1; + +--echo # +--echo # MDEV-29520 heap-use-after-poison in row_merge_spatial_rows() +--echo # + +CREATE TABLE t +(a VARCHAR(8192), b POINT NOT NULL, PRIMARY KEY(a(8)), SPATIAL(b)) +ENGINE=InnoDB; +INSERT INTO t VALUES (REPEAT('MariaDB Corporation Ab ',351),POINT(0,0)); +ALTER TABLE t FORCE; + +# Cleanup +DROP TABLE t; + +--echo # +--echo # MDEV-29856 heap-use-after-poison in row_merge_spatial_rows() +--echo # with PRIMARY KEY on column prefix +--echo # + +CREATE TABLE t (id INT, f TEXT, s POINT NOT NULL, + PRIMARY KEY(id,f(1)), SPATIAL(s)) ENGINE=InnoDB; +INSERT INTO t VALUES +(1,REPEAT('x',8192),@p:=ST_GeomFromText('POINT(0 0)')),(2,'',@p); +ALTER TABLE t FORCE; +DROP TABLE t; + +--echo # End of 10.3 tests diff --git a/mysql-test/suite/innodb_gis/t/bug16236208.test b/mysql-test/suite/innodb_gis/t/bug16236208.test new file mode 100644 index 00000000..3a1fbefc --- /dev/null +++ b/mysql-test/suite/innodb_gis/t/bug16236208.test @@ -0,0 +1,64 @@ +#******************************************************** +# Bug 16236208 - GEOMETRY : SERVER CRASHES IN +# SEL_TREES_CAN_BE_ORED WHEN THE QUERY USES GIS COLS. +#******************************************************** + +--source include/have_geometry.inc +--source include/not_embedded.inc +--source include/have_innodb.inc + +--disable_warnings +DROP TABLE IF EXISTS linestring; +--enable_warnings + +CREATE TABLE linestring (pk INTEGER NOT NULL PRIMARY KEY, linestring_key +GEOMETRY NOT NULL, linestring_nokey GEOMETRY NOT NULL) ENGINE=InnoDB ; + +INSERT INTO linestring (pk, linestring_key, linestring_nokey) VALUES (1, +ST_GeomFromText('POINT(10 10) '), ST_GeomFromText('POINT(10 10) ')); + +INSERT INTO linestring (pk, linestring_key, linestring_nokey) VALUES (2, +ST_GeomFromText('LINESTRING(10 10,20 20,30 30)'), ST_GeomFromText('LINESTRING(10 +10,20 20,30 30)')); + +INSERT INTO linestring (pk, linestring_key, linestring_nokey) VALUES (3, +ST_GeomFromText('POLYGON((0 0,5 5,10 10,15 15,0 0),(10 10,20 20,30 30,40 40,10 +10))'), ST_GeomFromText('POLYGON((0 0,5 5,10 10,15 15,0 0),(10 10,20 20,30 30,40 +40,10 10))')); + +INSERT INTO linestring (pk, linestring_key, linestring_nokey) VALUES (4, +ST_GeomFromText('MULTIPOINT(0 0,5 5,10 10,20 20) '), ST_GeomFromText('MULTIPOINT(0 +0,5 5,10 10,20 20) ')); + +INSERT INTO linestring (pk, linestring_key, linestring_nokey) VALUES (5, +ST_GeomFromText('MULTILINESTRING((1 1,2 2,3 3),(10 10,20 20,30 30))'), +ST_GeomFromText('MULTILINESTRING((1 1,2 2,3 3),(10 10,20 20,30 30))')); + +INSERT INTO linestring (pk, linestring_key, linestring_nokey) VALUES (6, +ST_GeomFromText('MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 +9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))'), +ST_GeomFromText('MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 +9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))')); + +INSERT INTO linestring (pk, linestring_key, linestring_nokey) VALUES (7, +ST_GeomFromText('GEOMETRYCOLLECTION(POINT(0 0), LINESTRING(0 0,10 10))'), +ST_GeomFromText('GEOMETRYCOLLECTION(POINT(0 0), LINESTRING(0 0,10 10))')); + +CREATE INDEX linestring_index ON linestring(linestring_nokey(5)); +ALTER TABLE linestring ADD KEY (linestring_key(5)); + +SELECT ST_AsText(linestring_nokey) FROM linestring FORCE KEY ( +linestring_key ) WHERE ST_CONTAINS( ST_GeomFromText('POLYGON( ( 3923 2815 , 4246 +2122 , 4028 2971 , 4017 3019 , 3923 2815 ) )') , linestring_key ) AND +ST_WITHIN( ST_GeomFromText('POLYGON( ( 4135 3009 , 4914 3087 , 4236 3194 , 4091 +3036 , 4022 3004 , 4087 3004 , 3853 2825 , 3490 3118 , 3784 3141 , 4052 3072 +, 4205 2787 , 4024 2951 , 4076 3036 , 4041 3053 , 3789 3401 , 4080 3100 , +4169 2867 , 4056 3029 , 4715 3943 , 4052 3098 , 4035 3080 , 4013 3077 , 4218 +2915 , 3789 2980 , 4058 3046 , 4042 3043 , 4135 3009 ) )') , linestring_nokey +) AND ST_CONTAINS( ST_GeomFromText('POLYGON( ( 4082 2842 , 3678 3647 , 3420 3068 +, 4018 3030 , 4082 2842 ) )') , linestring_key ) OR ST_INTERSECTS( +ST_GeomFromText('MULTILINESTRING( ( 4147 2871 , 4072 3042 , 4081 3099 , 3796 +3021 , 4007 3463 ) , ( 4042 2808 , 4109 2816 , 3730 3673 ) )') , +linestring_key ) AND ST_Length( linestring_nokey ) > 1; + +DROP TABLE linestring; diff --git a/mysql-test/suite/innodb_gis/t/bug16266012.test b/mysql-test/suite/innodb_gis/t/bug16266012.test new file mode 100644 index 00000000..6d72e473 --- /dev/null +++ b/mysql-test/suite/innodb_gis/t/bug16266012.test @@ -0,0 +1,18 @@ +#******************************************************** +# Bug 16266012 - GEOMETRY : SERVER CRASHES IN +# COLLECTION_INIT_FROM_OPRESULT +#******************************************************** + +--source include/have_geometry.inc +--source include/not_embedded.inc +--source include/have_debug.inc +# --error ER_BOOST_GEOMETRY_OVERLAY_INVALID_INPUT_EXCEPTION +SELECT ST_WITHIN( LINESTRINGFROMTEXT(' LINESTRING( 5 9 , 3 4 , 4 1 , 4 +4 , 4 9 ) ') , ST_SYMDIFFERENCE( ST_UNION( ST_ENVELOPE( POLYGONFROMTEXT(' +POLYGON( ( 3 2 , 0 6 , 2 3 , 8 0 , 4 6 , 7 2 , 3 2 ) ) ') ) , +MULTIPOLYGONFROMTEXT(' +MULTIPOLYGON( ( ( 0 0 , 7 1 , 6 8 , 0 0 ) ) , ( ( 9 9 , 4 0 , 4 7 , 9 9) ) ) +') ) , ST_SYMDIFFERENCE( POLYGONFROMTEXT(' POLYGON( ( 9 9 , 6 5 , 2 3 , 9 9 +) ) ') , MULTIPOLYGONFROMTEXT(' MULTIPOLYGON( ( ( 2 2 , 5 2 , 5 2 , 2 6 , 2 +2 ) ) , ( ( 7 7 , 3 7 , 2 9 , 7 1 , 7 7 ) ) ) ') ) ) ); + diff --git a/mysql-test/suite/innodb_gis/t/bug17057168.test b/mysql-test/suite/innodb_gis/t/bug17057168.test new file mode 100644 index 00000000..5ca2c8b0 --- /dev/null +++ b/mysql-test/suite/innodb_gis/t/bug17057168.test @@ -0,0 +1,33 @@ +#******************************************************** +# Bug 17057168 - LARGE PERFORMANCE REGRESSION FOR INNODB +# GEOMETRY/SPATIAL INDEX LOOKUP +#******************************************************** +--source include/have_geometry.inc +--source include/not_embedded.inc +--source include/no_valgrind_without_big.inc +--source include/have_innodb.inc + +CREATE DATABASE geotest; +use geotest; +CREATE TABLE tmp (id int unsigned NOT NULL PRIMARY KEY); +INSERT INTO tmp VALUES (0), (1), (2), (3), (4), (5), (6), (7), (8), (9); +INSERT INTO tmp SELECT 10+id FROM tmp; +INSERT INTO tmp SELECT 20+id FROM tmp; +INSERT INTO tmp SELECT 40+id FROM tmp; +INSERT INTO tmp SELECT 80+id FROM tmp; + +CREATE TABLE t1 (id int unsigned NOT NULL auto_increment PRIMARY KEY, +location point, INDEX (location)) ENGINE=InnoDB; +INSERT INTO t1 (location) SELECT POINT(tmp1.id, tmp2.id) FROM tmp tmp1, +tmp tmp2 ORDER BY tmp1.id, tmp2.id; + +#Befor fix, the row number will be the total number of index recs, +#After fix, the row number will be 1. +EXPLAIN SELECT id, ST_AsText(location) FROM t1 WHERE location = POINT(1, +2); +SELECT id, ST_AsText(location) FROM t1 WHERE location = POINT(1, 2); + +DROP TABLE t1; +DROP TABLE tmp; + +DROP DATABASE geotest; diff --git a/mysql-test/suite/innodb_gis/t/check_rtree.test b/mysql-test/suite/innodb_gis/t/check_rtree.test new file mode 100644 index 00000000..09bba50d --- /dev/null +++ b/mysql-test/suite/innodb_gis/t/check_rtree.test @@ -0,0 +1,27 @@ +# This test case will test checking R-tree features. + +# Not supported in embedded +--source include/not_embedded.inc +--source include/have_debug.inc +--source include/have_innodb.inc + +# Create table with R-tree index. +create table t1 (i int, g geometry not null, spatial index (g))engine=innodb; + +# Turn on the geometry data print. +SET SESSION debug="+d,rtree_test_check_count"; + +# Insert values. +insert into t1 values (1, POINT(1,1)); +insert into t1 values (1, POINT(1.5,1.5)); +insert into t1 values (1, POINT(3,3)); +insert into t1 values (1, POINT(3.1,3.1)); +insert into t1 values (1, POINT(5,5)); + +CALL mtr.add_suppression("InnoDB: Flagged corruption of `g` in table `test`.`t1` in CHECK TABLE; Wrong count"); + +# Select by R-tree index. +check table t1; + +# Cleanup. +drop table t1; diff --git a/mysql-test/suite/innodb_gis/t/create_spatial_index.test b/mysql-test/suite/innodb_gis/t/create_spatial_index.test new file mode 100644 index 00000000..5278292b --- /dev/null +++ b/mysql-test/suite/innodb_gis/t/create_spatial_index.test @@ -0,0 +1,1183 @@ +# ********************************************************* +# Test Multiple Spatial Indexes on compression table +# Test spatial index with table having primary key column +# Test Spatial index with Create Index different clauses +# Test Spatial index with spatial relationship functions +# Test Spatial index with MBR spatial relationship functions +# Test Spatial index columns with DML & SELECT queries +# Test Spatial index with procedures +# Test Delete & Update & check status of the table +# Test spatial index with table have no primary key column +# Test spatial index with table have no auto_increment +# Test spatial index with check constraint +# ********************************************************** +--source include/have_innodb.inc +--source include/have_innodb_16k.inc +--source include/have_geometry.inc + +--disable_query_log +SET @save_innodb_read_only_compressed=@@GLOBAL.innodb_read_only_compressed; +SET GLOBAL innodb_read_only_compressed=OFF; +--enable_query_log + +# Check spatial index functionality on compress table with Primary key +CREATE TABLE tab(c1 int NOT NULL PRIMARY KEY,c2 POINT NOT NULL, +c3 LINESTRING NOT NULL,c4 POLYGON NOT NULL,c5 GEOMETRY NOT NULL) +ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8; + +# Check spatial index functionality with Create Index clause options +CREATE SPATIAL INDEX idx1 on tab(c2 ASC); +CREATE SPATIAL INDEX idx2 on tab(c3 DESC) COMMENT 'wl6968'; +CREATE SPATIAL INDEX idx3 on tab(c4 ASC) KEY_BLOCK_SIZE=8 ; +CREATE SPATIAL INDEX idx4 on tab(c5 DESC) KEY_BLOCK_SIZE=4 +COMMENT 'Spatial index on Geometry type column'; + +# Check index type +SHOW INDEXES FROM tab; + +# Populate some spatial data +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(1,ST_GeomFromText('POINT(10 10)'),ST_GeomFromText('LINESTRING(5 5,20 20,30 30)'), +ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))'), +ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))')); + + +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(2,ST_GeomFromText('POINT(20 20)'),ST_GeomFromText('LINESTRING(20 20,30 30,40 40)'), +ST_GeomFromText('POLYGON((40 50,40 70,50 100,70 100,80 80,70 50,40 50))'), +ST_GeomFromText('POLYGON((40 50,40 70,50 100,70 100,80 80,70 50,40 50))')); + + +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(3,ST_GeomFromText('POINT(4 4)'),ST_GeomFromText('LINESTRING(130 130,140 140,150 150)'), +ST_GeomFromText('POLYGON((7 1,6 2,6 3,10 3,10 1,7 1))'), +ST_GeomFromText('POLYGON((4 -2,5 -4,6 -5,7 -4,7 2,4 -2))')); + +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(4,ST_GeomFromText('POINT(50 50)'),ST_GeomFromText('LINESTRING(200 200,300 300,400 400)'), +ST_GeomFromText('POLYGON((300 300,400 400,500 500,300 500,300 400,300 300))'), +ST_GeomFromText('POLYGON((300 300,400 400,500 500,300 500,300 400,300 300))')); + +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(5,ST_GeomFromText('POINT(3 3)'),ST_GeomFromText('LINESTRING(400 400,500 500,600 700)'), +ST_GeomFromText('POLYGON((1010 1010,1020 1020,1030 1030,1040 1030,1020 1010,1010 1010))'), +ST_GeomFromText('POLYGON((1010 1010,1020 1020,1030 1030,1040 1030,1020 1010,1010 1010))')); + +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(6,ST_GeomFromText('POINT(3 3)'),ST_GeomFromText('LINESTRING(40 40,50 50,60 70)'), +ST_GeomFromText('POLYGON((2010 2010,2020 2020,2030 2030,2040 2030,2020 2010,2010 2010))'), +ST_GeomFromText('POLYGON((2010 2010,2020 2020,2030 2030,2040 2030,2020 2010,2010 2010))')); + +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(7,ST_GeomFromText('POINT(60 70)'),ST_GeomFromText('LINESTRING(40 40,50 50,60 70)'), +ST_GeomFromText('POLYGON((3010 3010,3020 3020,3030 3030,3040 3030,3020 3010,3010 3010))'), +ST_GeomFromText('POLYGON((3010 3010,3020 3020,3030 3030,3040 3030,3020 3010,3010 3010))')); + +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(8,ST_GeomFromText('POINT(0 0)'),ST_GeomFromText('LINESTRING(40 40,50 50,60 70)'), +ST_GeomFromText('POLYGON((3010 3010,3020 3020,3030 3030,3040 3030,3020 3010,3010 3010))'), +ST_GeomFromText('POLYGON((3010 3010,3020 3020,3030 3030,3040 3030,3020 3010,3010 3010))')); + + +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(9,ST_GeomFromText('POINT(120 120)'),ST_GeomFromText('LINESTRING(100 100,110 110,120 120)'), +ST_GeomFromText('POLYGON((4010 4010,4020 4020,4030 4030,4040 4030,4020 4010,4010 4010))'), +ST_GeomFromText('POLYGON((4010 4010,4020 4020,4030 4030,4040 4030,4020 4010,4010 4010))')); + + +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(10,ST_GeomFromText('POINT(160 160)'),ST_GeomFromText('LINESTRING(140 140,150 150,160 160)'), +ST_GeomFromText('POLYGON((5010 5010,5020 5020,5030 5030,5040 5030,5020 5010,5010 5010))'), +ST_GeomFromText('POLYGON((5010 5010,5020 5020,5030 5030,5040 5030,5020 5010,5010 5010))')); + +ANALYZE TABLE tab; + +# Check the spatial relationship between 2 GIS shapes + +# Test the MBRContains +SET @g1 = ST_GeomFromText( 'POLYGON((7 1,6 2,6 3,10 3,10 1,7 1))'); + +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRContains(tab.c4, @g1) ORDER BY c1; + +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRContains(tab.c4, @g1) ORDER BY c1; + +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRContains(tab.c4, @g1); + +EXPLAIN DELETE FROM tab WHERE MBRContains(tab.c4, @g1); + +SET @g1 = ST_GeomFromText('LINESTRING( 300 300,400 400)'); + +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRContains(tab.c4, @g1) ORDER BY c1; + +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRContains(tab.c4, @g1) ORDER BY c1; + +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRContains(tab.c4, @g1); + +EXPLAIN DELETE FROM tab WHERE MBRContains(tab.c4, @g1); + +# Test the MBRWithin +SET @g1 = ST_GeomFromText( 'POLYGON((30 30,40 40,50 50,30 50,30 40,30 30)) '); + +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRWithin(tab.c4, @g1) ORDER BY c1; + +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRWithin(tab.c4, @g1) ORDER BY c1; + +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRWithin(tab.c4, @g1); + +EXPLAIN DELETE FROM tab WHERE MBRWithin(tab.c4, @g1); + +# Test the ST_Crosses +SET @g1 = ST_GeomFromText('POLYGON((100 200,200 300,400 500,500 300,300 200,100 300,100 200))'); + +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE ST_Crosses(tab.c4, @g1) ORDER BY c1; + +SELECT c1,ST_Astext(c4) FROM tab WHERE ST_Crosses(tab.c4, @g1) ORDER BY c1; + +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE ST_Crosses(tab.c4, @g1); + +EXPLAIN DELETE FROM tab WHERE ST_Crosses(tab.c4, @g1); + +SET @g1 = ST_GeomFromText('LINESTRING( 10 10,30 30,40 40)'); + +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE ST_CRosses(tab.c4, @g1) ORDER BY c1; + +SELECT c1,ST_Astext(c4) FROM tab WHERE ST_Crosses(tab.c4, @g1) ORDER BY c1; + +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE ST_Crosses(tab.c4, @g1); + +EXPLAIN DELETE FROM tab WHERE ST_Crosses(tab.c4, @g1); + +# Test the MBRDisjoint +SET @g1 = ST_GeomFromText('POLYGON((4 -2,5 -4,6 -5,7 -4,7 2,4 -2))'); + +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRDisjoint(tab.c4, @g1) ORDER BY c1; + +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRDisjoint(tab.c4, @g1) ORDER BY c1; + +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRDisjoint(tab.c4, @g1); + +EXPLAIN DELETE FROM tab WHERE MBRDisjoint(tab.c4, @g1); + +# Test the MBREquals +SET @g1 = ST_GeomFromText('POLYGON((5010 5010,5020 5020,5030 5030,5040 5030,5020 5010,5010 5010))'); + +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBREquals(tab.c4, @g1) ORDER BY c1; + +SELECT c1,ST_Astext(c4) FROM tab WHERE MBREquals(tab.c4, @g1) ORDER BY c1; + +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBREquals(tab.c4, @g1); + +EXPLAIN DELETE FROM tab WHERE MBREquals(tab.c4, @g1); + +# Test the MBRintersects +SET @g1 = ST_GeomFromText( 'POLYGON((0 0,0 30,30 40,40 50,50 30,0 0))'); + +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRIntersects(tab.c4, @g1) ORDER BY c1; + +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRIntersects(tab.c4, @g1) ORDER BY c1; + +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRintersects(tab.c4, @g1); + +EXPLAIN DELETE FROM tab WHERE MBRintersects(tab.c4, @g1); + +SET @g1 = ST_GeomFromText('LINESTRING( 30 30,40 40,50 50)'); + +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRIntersects(tab.c4, @g1) ORDER BY c1; + +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRIntersects(tab.c4, @g1) ORDER BY c1; + +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRintersects(tab.c4, @g1); + +EXPLAIN DELETE FROM tab WHERE MBRintersects(tab.c4, @g1); + +# Test the Overelaps +SET @g1 = ST_GeomFromText( 'POLYGON((0 0,0 2,4 5,5 5,7 1,0 0 ))'); + +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBROverlaps(tab.c4, @g1) ORDER BY c1; + +SELECT c1,ST_Astext(c4) FROM tab WHERE MBROverlaps(tab.c4, @g1) ORDER BY c1; + +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBROverlaps(tab.c4, @g1); + +EXPLAIN DELETE FROM tab WHERE MBROverlaps(tab.c4, @g1); + +SET @g1 = ST_GeomFromText('LINESTRING(7 1,30 30,1010 3010,1010 2010,3010 3010,4010 4010,5010 5010 )'); + +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBROverlaps(tab.c4, @g1) ORDER BY c1; + +SELECT c1,ST_Astext(c4) FROM tab WHERE MBROverlaps(tab.c4, @g1) ORDER BY c1; + +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBROverlaps(tab.c4, @g1); + +EXPLAIN DELETE FROM tab WHERE MBROverlaps(tab.c4, @g1); + +# Test the ST_Touches +SET @g1 = ST_GeomFromText( 'POLYGON((0 0,0 30,30 40,40 50,50 30,0 0))'); + +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE ST_Touches(tab.c4, @g1) ORDER BY c1; + +SELECT c1,ST_Astext(c4) FROM tab WHERE ST_Touches(tab.c4, @g1) ORDER BY c1; + +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE ST_Touches(tab.c4, @g1); + +EXPLAIN DELETE FROM tab WHERE ST_Touches(tab.c4, @g1); + +SET @g1 = ST_GeomFromText('LINESTRING( 100 100,200 200,300 300)'); + +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE ST_Touches(tab.c4, @g1) ORDER BY c1; + +SELECT c1,ST_Astext(c4) FROM tab WHERE ST_Touches(tab.c4, @g1) ORDER BY c1; + +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE ST_Touches(tab.c4, @g1); + +EXPLAIN DELETE FROM tab WHERE ST_Touches(tab.c4, @g1); + +# Test the MBRContains +SET @g1 = ST_GeomFromText( 'POLYGON((7 1,6 2,6 3,10 3,10 1,7 1))'); + +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRContains(tab.c4, @g1) ORDER BY c1; + +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRContains(tab.c4, @g1) ORDER BY c1; + +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRContains(tab.c4, @g1); + +EXPLAIN DELETE FROM tab WHERE MBRContains(tab.c4, @g1); + +SET @g1 = ST_GeomFromText( 'POLYGON((30 30,40 40,50 50,30 50,30 40,30 30)) '); + +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRWithin(tab.c4, @g1) ORDER BY c1; + +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRWithin(tab.c4, @g1) ORDER BY c1; + +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRWithin(tab.c4, @g1); + +EXPLAIN DELETE FROM tab WHERE MBRWithin(tab.c4, @g1); + +# Test the MBRDisjoint +SET @g1 = ST_GeomFromText('POLYGON((4 -2,5 -4,6 -5,7 -4,7 2,4 -2))'); + +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRDisjoint(tab.c4, @g1) ORDER BY c1; + +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRDisjoint(tab.c4, @g1) ORDER BY c1; + +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRDisjoint(tab.c4, @g1); + +EXPLAIN DELETE FROM tab WHERE MBRDisjoint(tab.c4, @g1); + +# Test the MBREquals +SET @g1 = ST_GeomFromText('POLYGON((5010 5010,5020 5020,5030 5030,5040 5030,5020 5010,5010 5010))'); + +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBREquals(tab.c4, @g1) ORDER BY c1; + +SELECT c1,ST_Astext(c4) FROM tab WHERE MBREquals(tab.c4, @g1) ORDER BY c1; + +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBREquals(tab.c4, @g1); + +EXPLAIN DELETE FROM tab WHERE MBREquals(tab.c4, @g1); + +# Test the MBRintersects +SET @g1 = ST_GeomFromText( 'POLYGON((0 0,0 30,30 40,40 50,50 30,0 0))'); + +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRIntersects(tab.c4, @g1) ORDER BY c1; + +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRIntersects(tab.c4, @g1) ORDER BY c1; + +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRintersects(tab.c4, @g1); + +EXPLAIN DELETE FROM tab WHERE MBRintersects(tab.c4, @g1); + +SET @g1 = ST_GeomFromText('LINESTRING( 30 30,40 40,50 50)'); + +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRIntersects(tab.c4, @g1) ORDER BY c1; + +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRIntersects(tab.c4, @g1) ORDER BY c1; + +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRintersects(tab.c4, @g1); + +EXPLAIN DELETE FROM tab WHERE MBRintersects(tab.c4, @g1); + +# Test the MBROverelaps +SET @g1 = ST_GeomFromText( 'POLYGON((0 0,0 2,4 5,5 5,7 1,0 0 ))'); + +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBROverlaps(tab.c4, @g1) ORDER BY c1; + +SELECT c1,ST_Astext(c4) FROM tab WHERE MBROverlaps(tab.c4, @g1) ORDER BY c1; + +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBROverlaps(tab.c4, @g1); + +EXPLAIN DELETE FROM tab WHERE MBROverlaps(tab.c4, @g1); + +# Test the MBRTouches +SET @g1 = ST_GeomFromText( 'POLYGON((0 0,0 30,30 40,40 50,50 30,0 0))'); + +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRTouches(tab.c4, @g1) ORDER BY c1; + +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRTouches(tab.c4, @g1) ORDER BY c1; + +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRTouches(tab.c4, @g1); + +EXPLAIN DELETE FROM tab WHERE MBRTouches(tab.c4, @g1); + +# Test with Procedure +delimiter |; + +CREATE PROCEDURE proc_wl6968() +BEGIN + +SET @g1 = ST_GeomFromText( 'POLYGON((7 1,6 2,6 3,10 3,10 1,7 1))'); +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRContains(tab.c4, @g1) ORDER BY c1; +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRContains(tab.c4, @g1); +EXPLAIN DELETE FROM tab WHERE MBRContains(tab.c4, @g1); + +END | + +delimiter ;| + +CALL proc_wl6968(); + +# Test the Delete & Update +SET @g1 = ST_GeomFromText( 'POLYGON((7 1,6 2,6 3,10 3,10 1,7 1))'); + +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRContains(tab.c4, @g1) ORDER BY c1; + +DELETE FROM tab WHERE MBRContains(tab.c4, @g1); + +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRContains(tab.c4, @g1) ORDER BY c1; + +CHECK TABLE tab; + +SET @g1 = ST_GeomFromText('LINESTRING( 300 300,400 400)'); + +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRContains(tab.c4, @g1) ORDER BY c1; + +DELETE FROM tab WHERE MBRContains(tab.c4, @g1); + +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRContains(tab.c4, @g1) ORDER BY c1; + +CHECK TABLE tab; + +SET @g1 = ST_GeomFromText('POLYGON((100 200,1010 1010,1020 1020,500 300,300 200,100 300,100 200))'); + +SELECT c1,ST_Astext(c4) FROM tab WHERE ST_Crosses(tab.c4, @g1) ORDER BY c1; + +DELETE FROM tab WHERE ST_Crosses(tab.c4, @g1); + +SELECT c1,ST_Astext(c4) FROM tab WHERE ST_Crosses(tab.c4, @g1) ORDER BY c1; + +CHECK TABLE tab; + +SET @g1 = ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))'); + +SET @g2 = ST_GeomFromText( 'POLYGON((7 1,6 2,6 3,10 3,10 1,7 1))'); + +UPDATE tab SET C4 = @g2 WHERE ST_Crosses(tab.c4, @g1); + +SELECT c1,ST_Astext(c4) FROM tab WHERE ST_Crosses(tab.c4, @g2) ORDER BY c1; + +CHECK TABLE tab; + +# Cleanup +DROP TABLE tab; +DROP PROCEDURE proc_wl6968; + +# End of Testcase compress table with Primary key + +# Check spatial index functionality on compress table No Primary key +CREATE TABLE tab(c1 int ,c2 POINT NOT NULL, +c3 LINESTRING NOT NULL,c4 POLYGON NOT NULL,c5 GEOMETRY NOT NULL) +ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=16; + +# Check spatial index functionality with Create Index clause options +CREATE SPATIAL INDEX idx1 on tab(c2 ASC); +CREATE SPATIAL INDEX idx2 on tab(c3 DESC) COMMENT 'wl6968'; +CREATE SPATIAL INDEX idx3 on tab(c4 ASC) KEY_BLOCK_SIZE=2 ; +CREATE SPATIAL INDEX idx4 on tab(c5 DESC) KEY_BLOCK_SIZE=8 +COMMENT 'Spatial index on Geometry type column'; + +# Check index type +SHOW INDEXES FROM tab; + +# Populate some spatial data +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(1,ST_GeomFromText('POINT(10 10)'),ST_GeomFromText('LINESTRING(5 5,20 20,30 30)'), +ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))'), +ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))')); + + +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(2,ST_GeomFromText('POINT(20 20)'),ST_GeomFromText('LINESTRING(20 20,30 30,40 40)'), +ST_GeomFromText('POLYGON((40 50,40 70,50 100,70 100,80 80,70 50,40 50))'), +ST_GeomFromText('POLYGON((40 50,40 70,50 100,70 100,80 80,70 50,40 50))')); + + +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(3,ST_GeomFromText('POINT(4 4)'),ST_GeomFromText('LINESTRING(130 130,140 140,150 150)'), +ST_GeomFromText('POLYGON((7 1,6 2,6 3,10 3,10 1,7 1))'), +ST_GeomFromText('POLYGON((4 -2,5 -4,6 -5,7 -4,7 2,4 -2))')); + +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(4,ST_GeomFromText('POINT(50 50)'),ST_GeomFromText('LINESTRING(200 200,300 300,400 400)'), +ST_GeomFromText('POLYGON((300 300,400 400,500 500,300 500,300 400,300 300))'), +ST_GeomFromText('POLYGON((300 300,400 400,500 500,300 500,300 400,300 300))')); + +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(5,ST_GeomFromText('POINT(3 3)'),ST_GeomFromText('LINESTRING(400 400,500 500,600 700)'), +ST_GeomFromText('POLYGON((1010 1010,1020 1020,1030 1030,1040 1030,1020 1010,1010 1010))'), +ST_GeomFromText('POLYGON((1010 1010,1020 1020,1030 1030,1040 1030,1020 1010,1010 1010))')); + +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(6,ST_GeomFromText('POINT(3 3)'),ST_GeomFromText('LINESTRING(40 40,50 50,60 70)'), +ST_GeomFromText('POLYGON((2010 2010,2020 2020,2030 2030,2040 2030,2020 2010,2010 2010))'), +ST_GeomFromText('POLYGON((2010 2010,2020 2020,2030 2030,2040 2030,2020 2010,2010 2010))')); + +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(7,ST_GeomFromText('POINT(60 70)'),ST_GeomFromText('LINESTRING(40 40,50 50,60 70)'), +ST_GeomFromText('POLYGON((3010 3010,3020 3020,3030 3030,3040 3030,3020 3010,3010 3010))'), +ST_GeomFromText('POLYGON((3010 3010,3020 3020,3030 3030,3040 3030,3020 3010,3010 3010))')); + +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(8,ST_GeomFromText('POINT(0 0)'),ST_GeomFromText('LINESTRING(40 40,50 50,60 70)'), +ST_GeomFromText('POLYGON((3010 3010,3020 3020,3030 3030,3040 3030,3020 3010,3010 3010))'), +ST_GeomFromText('POLYGON((3010 3010,3020 3020,3030 3030,3040 3030,3020 3010,3010 3010))')); + + +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(9,ST_GeomFromText('POINT(120 120)'),ST_GeomFromText('LINESTRING(100 100,110 110,120 120)'), +ST_GeomFromText('POLYGON((4010 4010,4020 4020,4030 4030,4040 4030,4020 4010,4010 4010))'), +ST_GeomFromText('POLYGON((4010 4010,4020 4020,4030 4030,4040 4030,4020 4010,4010 4010))')); + + +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(10,ST_GeomFromText('POINT(160 160)'),ST_GeomFromText('LINESTRING(140 140,150 150,160 160)'), +ST_GeomFromText('POLYGON((5010 5010,5020 5020,5030 5030,5040 5030,5020 5010,5010 5010))'), +ST_GeomFromText('POLYGON((5010 5010,5020 5020,5030 5030,5040 5030,5020 5010,5010 5010))')); + +ANALYZE TABLE tab; + +# Check the spatial relationship between 2 GIS shapes + +# Test the MBRContains +SET @g1 = ST_GeomFromText( 'POLYGON((7 1,6 2,6 3,10 3,10 1,7 1))'); + +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRContains(tab.c4, @g1) ORDER BY c1; + +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRContains(tab.c4, @g1) ORDER BY c1; + +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRContains(tab.c4, @g1); + +EXPLAIN DELETE FROM tab WHERE MBRContains(tab.c4, @g1); + +SET @g1 = ST_GeomFromText('LINESTRING( 300 300,400 400)'); + +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRContains(tab.c4, @g1) ORDER BY c1; + +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRContains(tab.c4, @g1) ORDER BY c1; + +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRContains(tab.c4, @g1); + +EXPLAIN DELETE FROM tab WHERE MBRContains(tab.c4, @g1); + +# Test the MBRWithin +SET @g1 = ST_GeomFromText( 'POLYGON((30 30,40 40,50 50,30 50,30 40,30 30)) '); + +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRWithin(tab.c4, @g1) ORDER BY c1; + +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRWithin(tab.c4, @g1) ORDER BY c1; + +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRWithin(tab.c4, @g1); + +EXPLAIN DELETE FROM tab WHERE MBRWithin(tab.c4, @g1); + +# Test the ST_Crosses +SET @g1 = ST_GeomFromText('POLYGON((100 200,200 300,400 500,500 300,300 200,100 300,100 200))'); + +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE ST_Crosses(tab.c4, @g1) ORDER BY c1; + +SELECT c1,ST_Astext(c4) FROM tab WHERE ST_Crosses(tab.c4, @g1) ORDER BY c1; + +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE ST_Crosses(tab.c4, @g1); + +EXPLAIN DELETE FROM tab WHERE ST_Crosses(tab.c4, @g1); + +SET @g1 = ST_GeomFromText('LINESTRING( 10 10,30 30,40 40)'); + +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE ST_CRosses(tab.c4, @g1) ORDER BY c1; + +SELECT c1,ST_Astext(c4) FROM tab WHERE ST_Crosses(tab.c4, @g1) ORDER BY c1; + +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE ST_Crosses(tab.c4, @g1); + +EXPLAIN DELETE FROM tab WHERE ST_Crosses(tab.c4, @g1); + +# Test the MBRDisjoint +SET @g1 = ST_GeomFromText('POLYGON((4 -2,5 -4,6 -5,7 -4,7 2,4 -2))'); + +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRDisjoint(tab.c4, @g1) ORDER BY c1; + +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRDisjoint(tab.c4, @g1) ORDER BY c1; + +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRDisjoint(tab.c4, @g1); + +EXPLAIN DELETE FROM tab WHERE MBRDisjoint(tab.c4, @g1); + +# Test the MBREquals +SET @g1 = ST_GeomFromText('POLYGON((5010 5010,5020 5020,5030 5030,5040 5030,5020 5010,5010 5010))'); + +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBREquals(tab.c4, @g1) ORDER BY c1; + +SELECT c1,ST_Astext(c4) FROM tab WHERE MBREquals(tab.c4, @g1) ORDER BY c1; + +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBREquals(tab.c4, @g1); + +EXPLAIN DELETE FROM tab WHERE MBREquals(tab.c4, @g1); + +# Test the MBRintersects +SET @g1 = ST_GeomFromText( 'POLYGON((0 0,0 30,30 40,40 50,50 30,0 0))'); + +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRIntersects(tab.c4, @g1) ORDER BY c1; + +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRIntersects(tab.c4, @g1) ORDER BY c1; + +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRintersects(tab.c4, @g1); + +EXPLAIN DELETE FROM tab WHERE MBRintersects(tab.c4, @g1); + +SET @g1 = ST_GeomFromText('LINESTRING( 30 30,40 40,50 50)'); + +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRIntersects(tab.c4, @g1) ORDER BY c1; + +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRIntersects(tab.c4, @g1) ORDER BY c1; + +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRintersects(tab.c4, @g1); + +EXPLAIN DELETE FROM tab WHERE MBRintersects(tab.c4, @g1); + +# Test the Overelaps +SET @g1 = ST_GeomFromText( 'POLYGON((0 0,0 2,4 5,5 5,7 1,0 0 ))'); + +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBROverlaps(tab.c4, @g1) ORDER BY c1; + +SELECT c1,ST_Astext(c4) FROM tab WHERE MBROverlaps(tab.c4, @g1) ORDER BY c1; + +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBROverlaps(tab.c4, @g1); + +EXPLAIN DELETE FROM tab WHERE MBROverlaps(tab.c4, @g1); + +SET @g1 = ST_GeomFromText('LINESTRING(7 1,30 30,1010 3010,1010 2010,3010 3010,4010 4010,5010 5010 )'); + +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBROverlaps(tab.c4, @g1) ORDER BY c1; + +SELECT c1,ST_Astext(c4) FROM tab WHERE MBROverlaps(tab.c4, @g1) ORDER BY c1; + +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBROverlaps(tab.c4, @g1); + +EXPLAIN DELETE FROM tab WHERE MBROverlaps(tab.c4, @g1); + +# Test the ST_Touches +SET @g1 = ST_GeomFromText( 'POLYGON((0 0,0 30,30 40,40 50,50 30,0 0))'); + +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE ST_Touches(tab.c4, @g1) ORDER BY c1; + +SELECT c1,ST_Astext(c4) FROM tab WHERE ST_Touches(tab.c4, @g1) ORDER BY c1; + +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE ST_Touches(tab.c4, @g1); + +EXPLAIN DELETE FROM tab WHERE ST_Touches(tab.c4, @g1); + +SET @g1 = ST_GeomFromText('LINESTRING( 100 100,200 200,300 300)'); + +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE ST_Touches(tab.c4, @g1) ORDER BY c1; + +SELECT c1,ST_Astext(c4) FROM tab WHERE ST_Touches(tab.c4, @g1) ORDER BY c1; + +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE ST_Touches(tab.c4, @g1); + +EXPLAIN DELETE FROM tab WHERE ST_Touches(tab.c4, @g1); + +# Test the MBRContains +SET @g1 = ST_GeomFromText( 'POLYGON((7 1,6 2,6 3,10 3,10 1,7 1))'); + +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRContains(tab.c4, @g1) ORDER BY c1; + +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRContains(tab.c4, @g1) ORDER BY c1; + +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRContains(tab.c4, @g1); + +EXPLAIN DELETE FROM tab WHERE MBRContains(tab.c4, @g1); + +SET @g1 = ST_GeomFromText( 'POLYGON((30 30,40 40,50 50,30 50,30 40,30 30)) '); + +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRWithin(tab.c4, @g1) ORDER BY c1; + +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRWithin(tab.c4, @g1) ORDER BY c1; + +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRWithin(tab.c4, @g1); + +EXPLAIN DELETE FROM tab WHERE MBRWithin(tab.c4, @g1); + +# Test the MBRDisjoint +SET @g1 = ST_GeomFromText('POLYGON((4 -2,5 -4,6 -5,7 -4,7 2,4 -2))'); + +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRDisjoint(tab.c4, @g1) ORDER BY c1; + +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRDisjoint(tab.c4, @g1) ORDER BY c1; + +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRDisjoint(tab.c4, @g1); + +EXPLAIN DELETE FROM tab WHERE MBRDisjoint(tab.c4, @g1); + +# Test the MBREquals +SET @g1 = ST_GeomFromText('POLYGON((5010 5010,5020 5020,5030 5030,5040 5030,5020 5010,5010 5010))'); + +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBREquals(tab.c4, @g1) ORDER BY c1; + +SELECT c1,ST_Astext(c4) FROM tab WHERE MBREquals(tab.c4, @g1) ORDER BY c1; + +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBREquals(tab.c4, @g1); + +EXPLAIN DELETE FROM tab WHERE MBREquals(tab.c4, @g1); + +# Test the MBRintersects +SET @g1 = ST_GeomFromText( 'POLYGON((0 0,0 30,30 40,40 50,50 30,0 0))'); + +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRIntersects(tab.c4, @g1) ORDER BY c1; + +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRIntersects(tab.c4, @g1) ORDER BY c1; + +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRintersects(tab.c4, @g1); + +EXPLAIN DELETE FROM tab WHERE MBRintersects(tab.c4, @g1); + +SET @g1 = ST_GeomFromText('LINESTRING( 30 30,40 40,50 50)'); + +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRIntersects(tab.c4, @g1) ORDER BY c1; + +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRIntersects(tab.c4, @g1) ORDER BY c1; + +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRintersects(tab.c4, @g1); + +EXPLAIN DELETE FROM tab WHERE MBRintersects(tab.c4, @g1); + +# Test the MBROverelaps +SET @g1 = ST_GeomFromText( 'POLYGON((0 0,0 2,4 5,5 5,7 1,0 0 ))'); + +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBROverlaps(tab.c4, @g1) ORDER BY c1; + +SELECT c1,ST_Astext(c4) FROM tab WHERE MBROverlaps(tab.c4, @g1) ORDER BY c1; + +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBROverlaps(tab.c4, @g1); + +EXPLAIN DELETE FROM tab WHERE MBROverlaps(tab.c4, @g1); + +# Test the MBRTouches +SET @g1 = ST_GeomFromText( 'POLYGON((0 0,0 30,30 40,40 50,50 30,0 0))'); + +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRTouches(tab.c4, @g1) ORDER BY c1; + +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRTouches(tab.c4, @g1) ORDER BY c1; + +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRTouches(tab.c4, @g1); + +EXPLAIN DELETE FROM tab WHERE MBRTouches(tab.c4, @g1); + +# Test with Procedure +delimiter |; + +CREATE PROCEDURE proc_wl6968() +BEGIN + +SET @g1 = ST_GeomFromText('POLYGON((5010 5010,5020 5020,5030 5030,5040 5030,5020 5010,5010 5010))'); +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBREquals(tab.c4, @g1) ORDER BY c1; +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBREquals(tab.c4, @g1); +EXPLAIN DELETE FROM tab WHERE MBREquals(tab.c4, @g1); + +END | + +delimiter ;| + +CALL proc_wl6968(); + +# Test the Delete & Update +SET @g1 = ST_GeomFromText( 'POLYGON((30 30,40 40,50 50,30 50,30 40,30 30)) '); + +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRWithin(tab.c4, @g1) ORDER BY c1; + +DELETE FROM tab WHERE MBRWithin(tab.c4, @g1); + +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRWithin(tab.c4, @g1) ORDER BY c1; + +CHECK TABLE tab; + +SET @g1 = ST_GeomFromText('POLYGON((100 200,200 300,400 500,500 300,300 200,100 300,100 200))'); + +SELECT c1,ST_Astext(c4) FROM tab WHERE ST_Crosses(tab.c4, @g1) ORDER BY c1; + +DELETE FROM tab WHERE ST_Crosses(tab.c4, @g1); + +SELECT c1,ST_Astext(c4) FROM tab WHERE ST_Crosses(tab.c4, @g1) ORDER BY c1; + +SET @g1 = ST_GeomFromText( 'POLYGON((0 0,0 2,4 5,5 5,7 1,0 0 ))'); + +SET @g2 = ST_GeomFromText( 'POLYGON((1 1,2 2,3 3,10 3,5 1,1 1))'); + +UPDATE tab SET C4 = @g2 WHERE MBROverlaps(tab.c4, @g1); + +SELECT c1,ST_Astext(c4) FROM tab WHERE MBROverlaps(tab.c4, @g1) ORDER BY c1; + +CHECK TABLE tab; + +# Cleanup +DROP TABLE tab; +DROP PROCEDURE proc_wl6968; + +# End of Testcase compress table No Primary key + +# Check spatial index functionality on compress table with auto_increment +CREATE TABLE tab(c1 int AUTO_INCREMENT PRIMARY KEY,c2 POINT NOT NULL, +c3 LINESTRING NOT NULL,c4 POLYGON NOT NULL,c5 GEOMETRY NOT NULL) +ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=16; + +# Check spatial index functionality with Create Index clause options +CREATE SPATIAL INDEX idx1 on tab(c2 ASC); +CREATE SPATIAL INDEX idx2 on tab(c3 DESC) COMMENT 'wl6968'; +CREATE SPATIAL INDEX idx3 on tab(c4 ASC) KEY_BLOCK_SIZE=16 ; +CREATE SPATIAL INDEX idx4 on tab(c5 DESC) KEY_BLOCK_SIZE=16 +COMMENT 'Spatial index on Geometry type column'; + +# Check index type +SHOW INDEXES FROM tab; + +# Populate some spatial data +INSERT INTO tab(c2,c3,c4,c5) +VALUES(ST_GeomFromText('POINT(10 10)'),ST_GeomFromText('LINESTRING(5 5,20 20,30 30)'), +ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))'), +ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))')); + + +INSERT INTO tab(c2,c3,c4,c5) +VALUES(ST_GeomFromText('POINT(20 20)'),ST_GeomFromText('LINESTRING(20 20,30 30,40 40)'), +ST_GeomFromText('POLYGON((40 50,40 70,50 100,70 100,80 80,70 50,40 50))'), +ST_GeomFromText('POLYGON((40 50,40 70,50 100,70 100,80 80,70 50,40 50))')); + + +INSERT INTO tab(c2,c3,c4,c5) +VALUES(ST_GeomFromText('POINT(4 4)'),ST_GeomFromText('LINESTRING(130 130,140 140,150 150)'), +ST_GeomFromText('POLYGON((7 1,6 2,6 3,10 3,10 1,7 1))'), +ST_GeomFromText('POLYGON((4 -2,5 -4,6 -5,7 -4,7 2,4 -2))')); + +INSERT INTO tab(c2,c3,c4,c5) +VALUES(ST_GeomFromText('POINT(50 50)'),ST_GeomFromText('LINESTRING(200 200,300 300,400 400)'), +ST_GeomFromText('POLYGON((300 300,400 400,500 500,300 500,300 400,300 300))'), +ST_GeomFromText('POLYGON((300 300,400 400,500 500,300 500,300 400,300 300))')); + +INSERT INTO tab(c2,c3,c4,c5) +VALUES(ST_GeomFromText('POINT(3 3)'),ST_GeomFromText('LINESTRING(400 400,500 500,600 700)'), +ST_GeomFromText('POLYGON((1010 1010,1020 1020,1030 1030,1040 1030,1020 1010,1010 1010))'), +ST_GeomFromText('POLYGON((1010 1010,1020 1020,1030 1030,1040 1030,1020 1010,1010 1010))')); + +INSERT INTO tab(c2,c3,c4,c5) +VALUES(ST_GeomFromText('POINT(3 3)'),ST_GeomFromText('LINESTRING(40 40,50 50,60 70)'), +ST_GeomFromText('POLYGON((2010 2010,2020 2020,2030 2030,2040 2030,2020 2010,2010 2010))'), +ST_GeomFromText('POLYGON((2010 2010,2020 2020,2030 2030,2040 2030,2020 2010,2010 2010))')); + +INSERT INTO tab(c2,c3,c4,c5) +VALUES(ST_GeomFromText('POINT(60 70)'),ST_GeomFromText('LINESTRING(40 40,50 50,60 70)'), +ST_GeomFromText('POLYGON((3010 3010,3020 3020,3030 3030,3040 3030,3020 3010,3010 3010))'), +ST_GeomFromText('POLYGON((3010 3010,3020 3020,3030 3030,3040 3030,3020 3010,3010 3010))')); + +INSERT INTO tab(c2,c3,c4,c5) +VALUES(ST_GeomFromText('POINT(0 0)'),ST_GeomFromText('LINESTRING(40 40,50 50,60 70)'), +ST_GeomFromText('POLYGON((3010 3010,3020 3020,3030 3030,3040 3030,3020 3010,3010 3010))'), +ST_GeomFromText('POLYGON((3010 3010,3020 3020,3030 3030,3040 3030,3020 3010,3010 3010))')); + + +INSERT INTO tab(c2,c3,c4,c5) +VALUES(ST_GeomFromText('POINT(120 120)'),ST_GeomFromText('LINESTRING(100 100,110 110,120 120)'), +ST_GeomFromText('POLYGON((4010 4010,4020 4020,4030 4030,4040 4030,4020 4010,4010 4010))'), +ST_GeomFromText('POLYGON((4010 4010,4020 4020,4030 4030,4040 4030,4020 4010,4010 4010))')); + + +INSERT INTO tab(c2,c3,c4,c5) +VALUES(ST_GeomFromText('POINT(160 160)'),ST_GeomFromText('LINESTRING(140 140,150 150,160 160)'), +ST_GeomFromText('POLYGON((5010 5010,5020 5020,5030 5030,5040 5030,5020 5010,5010 5010))'), +ST_GeomFromText('POLYGON((5010 5010,5020 5020,5030 5030,5040 5030,5020 5010,5010 5010))')); + +ANALYZE TABLE tab; + +# Check the spatial relationship between 2 GIS shapes + +# Test the MBRContains +SET @g1 = ST_GeomFromText( 'POLYGON((7 1,6 2,6 3,10 3,10 1,7 1))'); + +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRContains(tab.c4, @g1) ORDER BY c1; + +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRContains(tab.c4, @g1) ORDER BY c1; + +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRContains(tab.c4, @g1); + +EXPLAIN DELETE FROM tab WHERE MBRContains(tab.c4, @g1); + +SET @g1 = ST_GeomFromText('LINESTRING( 300 300,400 400)'); + +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRContains(tab.c4, @g1) ORDER BY c1; + +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRContains(tab.c4, @g1) ORDER BY c1; + +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRContains(tab.c4, @g1); + +EXPLAIN DELETE FROM tab WHERE MBRContains(tab.c4, @g1); + +# Test the MBRWithin +SET @g1 = ST_GeomFromText( 'POLYGON((30 30,40 40,50 50,30 50,30 40,30 30)) '); + +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRWithin(tab.c4, @g1) ORDER BY c1; + +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRWithin(tab.c4, @g1) ORDER BY c1; + +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRWithin(tab.c4, @g1); + +EXPLAIN DELETE FROM tab WHERE MBRWithin(tab.c4, @g1); + +# Test the ST_Crosses +SET @g1 = ST_GeomFromText('POLYGON((100 200,200 300,400 500,500 300,300 200,100 300,100 200))'); + +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE ST_Crosses(tab.c4, @g1) ORDER BY c1; + +SELECT c1,ST_Astext(c4) FROM tab WHERE ST_Crosses(tab.c4, @g1) ORDER BY c1; + +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE ST_Crosses(tab.c4, @g1); + +EXPLAIN DELETE FROM tab WHERE ST_Crosses(tab.c4, @g1); + +SET @g1 = ST_GeomFromText('LINESTRING( 10 10,30 30,40 40)'); + +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE ST_CRosses(tab.c4, @g1) ORDER BY c1; + +SELECT c1,ST_Astext(c4) FROM tab WHERE ST_Crosses(tab.c4, @g1) ORDER BY c1; + +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE ST_Crosses(tab.c4, @g1); + +EXPLAIN DELETE FROM tab WHERE ST_Crosses(tab.c4, @g1); + +# Test the MBRDisjoint +SET @g1 = ST_GeomFromText('POLYGON((4 -2,5 -4,6 -5,7 -4,7 2,4 -2))'); + +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRDisjoint(tab.c4, @g1) ORDER BY c1; + +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRDisjoint(tab.c4, @g1) ORDER BY c1; + +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRDisjoint(tab.c4, @g1); + +EXPLAIN DELETE FROM tab WHERE MBRDisjoint(tab.c4, @g1); + +# Test the MBREquals +SET @g1 = ST_GeomFromText('POLYGON((5010 5010,5020 5020,5030 5030,5040 5030,5020 5010,5010 5010))'); + +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBREquals(tab.c4, @g1) ORDER BY c1; + +SELECT c1,ST_Astext(c4) FROM tab WHERE MBREquals(tab.c4, @g1) ORDER BY c1; + +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBREquals(tab.c4, @g1); + +EXPLAIN DELETE FROM tab WHERE MBREquals(tab.c4, @g1); + +# Test the MBRintersects +SET @g1 = ST_GeomFromText( 'POLYGON((0 0,0 30,30 40,40 50,50 30,0 0))'); + +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRIntersects(tab.c4, @g1) ORDER BY c1; + +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRIntersects(tab.c4, @g1) ORDER BY c1; + +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRintersects(tab.c4, @g1); + +EXPLAIN DELETE FROM tab WHERE MBRintersects(tab.c4, @g1); + +SET @g1 = ST_GeomFromText('LINESTRING( 30 30,40 40,50 50)'); + +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRIntersects(tab.c4, @g1) ORDER BY c1; + +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRIntersects(tab.c4, @g1) ORDER BY c1; + +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRintersects(tab.c4, @g1); + +EXPLAIN DELETE FROM tab WHERE MBRintersects(tab.c4, @g1); + +# Test the Overelaps +SET @g1 = ST_GeomFromText( 'POLYGON((0 0,0 2,4 5,5 5,7 1,0 0 ))'); + +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBROverlaps(tab.c4, @g1) ORDER BY c1; + +SELECT c1,ST_Astext(c4) FROM tab WHERE MBROverlaps(tab.c4, @g1) ORDER BY c1; + +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBROverlaps(tab.c4, @g1); + +EXPLAIN DELETE FROM tab WHERE MBROverlaps(tab.c4, @g1); + +SET @g1 = ST_GeomFromText('LINESTRING(7 1,30 30,1010 3010,1010 2010,3010 3010,4010 4010,5010 5010 )'); + +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBROverlaps(tab.c4, @g1) ORDER BY c1; + +SELECT c1,ST_Astext(c4) FROM tab WHERE MBROverlaps(tab.c4, @g1) ORDER BY c1; + +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBROverlaps(tab.c4, @g1); + +EXPLAIN DELETE FROM tab WHERE MBROverlaps(tab.c4, @g1); + +# Test the ST_Touches +SET @g1 = ST_GeomFromText( 'POLYGON((0 0,0 30,30 40,40 50,50 30,0 0))'); + +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE ST_Touches(tab.c4, @g1) ORDER BY c1; + +SELECT c1,ST_Astext(c4) FROM tab WHERE ST_Touches(tab.c4, @g1) ORDER BY c1; + +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE ST_Touches(tab.c4, @g1); + +EXPLAIN DELETE FROM tab WHERE ST_Touches(tab.c4, @g1); + +SET @g1 = ST_GeomFromText('LINESTRING( 100 100,200 200,300 300)'); + +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE ST_Touches(tab.c4, @g1) ORDER BY c1; + +SELECT c1,ST_Astext(c4) FROM tab WHERE ST_Touches(tab.c4, @g1) ORDER BY c1; + +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE ST_Touches(tab.c4, @g1); + +EXPLAIN DELETE FROM tab WHERE ST_Touches(tab.c4, @g1); + +# Test the MBRContains +SET @g1 = ST_GeomFromText( 'POLYGON((7 1,6 2,6 3,10 3,10 1,7 1))'); + +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRContains(tab.c4, @g1) ORDER BY c1; + +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRContains(tab.c4, @g1) ORDER BY c1; + +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRContains(tab.c4, @g1); + +EXPLAIN DELETE FROM tab WHERE MBRContains(tab.c4, @g1); + +SET @g1 = ST_GeomFromText( 'POLYGON((30 30,40 40,50 50,30 50,30 40,30 30)) '); + +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRWithin(tab.c4, @g1) ORDER BY c1; + +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRWithin(tab.c4, @g1) ORDER BY c1; + +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRWithin(tab.c4, @g1); + +EXPLAIN DELETE FROM tab WHERE MBRWithin(tab.c4, @g1); + +# Test the MBRDisjoint +SET @g1 = ST_GeomFromText('POLYGON((4 -2,5 -4,6 -5,7 -4,7 2,4 -2))'); + +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRDisjoint(tab.c4, @g1) ORDER BY c1; + +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRDisjoint(tab.c4, @g1) ORDER BY c1; + +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRDisjoint(tab.c4, @g1); + +EXPLAIN DELETE FROM tab WHERE MBRDisjoint(tab.c4, @g1); + +# Test the MBREquals +SET @g1 = ST_GeomFromText('POLYGON((5010 5010,5020 5020,5030 5030,5040 5030,5020 5010,5010 5010))'); + +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBREquals(tab.c4, @g1) ORDER BY c1; + +SELECT c1,ST_Astext(c4) FROM tab WHERE MBREquals(tab.c4, @g1) ORDER BY c1; + +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBREquals(tab.c4, @g1); + +EXPLAIN DELETE FROM tab WHERE MBREquals(tab.c4, @g1); + +# Test the MBRintersects +SET @g1 = ST_GeomFromText( 'POLYGON((0 0,0 30,30 40,40 50,50 30,0 0))'); + +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRIntersects(tab.c4, @g1) ORDER BY c1; + +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRIntersects(tab.c4, @g1) ORDER BY c1; + +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRintersects(tab.c4, @g1); + +EXPLAIN DELETE FROM tab WHERE MBRintersects(tab.c4, @g1); + +SET @g1 = ST_GeomFromText('LINESTRING( 30 30,40 40,50 50)'); + +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRIntersects(tab.c4, @g1) ORDER BY c1; + +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRIntersects(tab.c4, @g1) ORDER BY c1; + +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRintersects(tab.c4, @g1); + +EXPLAIN DELETE FROM tab WHERE MBRintersects(tab.c4, @g1); + +# Test the MBROverelaps +SET @g1 = ST_GeomFromText( 'POLYGON((0 0,0 2,4 5,5 5,7 1,0 0 ))'); + +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBROverlaps(tab.c4, @g1) ORDER BY c1; + +SELECT c1,ST_Astext(c4) FROM tab WHERE MBROverlaps(tab.c4, @g1) ORDER BY c1; + +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBROverlaps(tab.c4, @g1); + +EXPLAIN DELETE FROM tab WHERE MBROverlaps(tab.c4, @g1); + +# Test the MBRTouches +SET @g1 = ST_GeomFromText( 'POLYGON((0 0,0 30,30 40,40 50,50 30,0 0))'); + +EXPLAIN SELECT c1,ST_Astext(c4) FROM tab WHERE MBRTouches(tab.c4, @g1) ORDER BY c1; + +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRTouches(tab.c4, @g1) ORDER BY c1; + +EXPLAIN UPDATE tab SET C2 = ST_GeomFromText('POINT(0 0)') +WHERE MBRTouches(tab.c4, @g1); + +EXPLAIN DELETE FROM tab WHERE MBRTouches(tab.c4, @g1); + +# Test the Delete & Update +SET @g1 = ST_GeomFromText('POLYGON((5010 5010,5020 5020,5030 5030,5040 5030,5020 5010,5010 5010))'); + +SELECT c1,ST_Astext(c4) FROM tab WHERE MBREquals(tab.c4, @g1) ORDER BY c1; + +DELETE FROM tab WHERE MBREquals(tab.c4, @g1); + +SELECT c1,ST_Astext(c4) FROM tab WHERE MBREquals(tab.c4, @g1) ORDER BY c1; + +CHECK TABLE tab; + +SET @g1 = ST_GeomFromText( 'POLYGON((0 0,0 30,30 40,40 50,50 30,0 0))'); + +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRIntersects(tab.c4, @g1) ORDER BY c1; + +DELETE FROM tab WHERE MBRIntersects(tab.c4, @g1); +--disable_query_log +SET GLOBAL innodb_read_only_compressed=@save_innodb_read_only_compressed; +--enable_query_log + +SELECT c1,ST_Astext(c4) FROM tab WHERE MBRIntersects(tab.c4, @g1) ORDER BY c1; + +CHECK TABLE tab; + +# Cleanup +DROP TABLE tab; + +# End of Testcase compress table with Auto_increment + +# Test check constraint on spatial column +--error ER_ILLEGAL_PARAMETER_DATA_TYPES2_FOR_OPERATION +CREATE TABLE tab(c1 POINT NOT NULL,CONSTRAINT tab_const check(c1 > 0) ) ENGINE=InnoDB; +CREATE TABLE tab(c1 POINT NOT NULL,CONSTRAINT tab_const check(CAST(c1 AS BINARY) > 0) ) ENGINE=InnoDB; + +CREATE SPATIAL INDEX idx1 ON tab(c1) ; + +SHOW CREATE TABLE tab; + +SHOW INDEX FROM tab; + +set @g1 = ST_GeomFromText('POINT(-1 -2)'); + +SELECT ST_AsText(c1) FROM tab; + +DROP table tab; + +# repro case for bug#20451454 - FAILING ASSERTION: LOW_MATCH +# < DTUPLE_GET_N_FIELDS_CMP(TUPLE) +create table `t1`(`a` geometry not null,`b` linestring not null, +primary key (`b`(192),`a`(141)),spatial key (`b`)) engine=innodb; +insert into `t1` values( + point(1,1), + linestring(point(1,1),point(1,1)) +); + +--error ER_BAD_NULL_ERROR +insert into `t1` values +( + polygon( + linestring(point(1,1),point(1,1)), + linestring(point(1,1),point(11,1)) + ), + linestring(point(1,1),point(1,1)) +); +select 1 from t1 where st_intersects( + geometrycollection(point(1,-1)),b +); +drop table t1; + +# Reproduce case for updating statistic after droping stats info table. +CREATE TABLE t1(c1 POINT NOT NULL); +DROP TABLE mysql.innodb_table_stats; +CALL mtr.add_suppression("InnoDB: Table `mysql`.`innodb_table_stats` not found."); +CALL mtr.add_suppression("InnoDB: Fetch of persistent statistics requested for table `test`.`t1` but the required system tables mysql.innodb_table_stats and mysql.innodb_index_stats are not present or have unexpected structure. Using transient stats instead."); +CREATE SPATIAL INDEX idx2 ON t1(c1); + +DROP TABLE t1; +CREATE TABLE mysql.innodb_table_stats ( + database_name varchar(64) COLLATE utf8_bin NOT NULL, + table_name varchar(199) COLLATE utf8_bin NOT NULL, + last_update timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + n_rows bigint(20) unsigned NOT NULL, + clustered_index_size bigint(20) unsigned NOT NULL, + sum_of_other_index_sizes bigint(20) unsigned NOT NULL, + PRIMARY KEY (`database_name`,`table_name`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin STATS_PERSISTENT=0; diff --git a/mysql-test/suite/innodb_gis/t/geometry.test b/mysql-test/suite/innodb_gis/t/geometry.test new file mode 100644 index 00000000..4e8f0f72 --- /dev/null +++ b/mysql-test/suite/innodb_gis/t/geometry.test @@ -0,0 +1,686 @@ +#******************************************************** +# wl6455: GIS Datatypes covers the following tests. +# DDL: ALTER PRIMARY, DROP KEY,INDEX,COLUMN TYPE etc +# INSERT/SELECT operations with WKT & WKB functions +# SELECT/DELETE/UPDATE with =,>,< predicate conditions +# Datatypes with Procedure (IN/INOUT/OUT,Cursors,Trigger) +# Datatypes with Aggregate functions +# File Formts Compressed & Dynamic +# All Geometric functions. +#******************************************************** +--source include/have_geometry.inc +--source include/have_innodb.inc +--source include/have_partition.inc + +SET default_storage_engine=InnoDB; +SET innodb_strict_mode=OFF; +SET @save_innodb_stats_persistent=@@GLOBAL.innodb_stats_persistent; +SET GLOBAL innodb_stats_persistent=0; + +# +# Spatial objects +# + +CREATE TABLE gis_point (fid INTEGER NOT NULL PRIMARY KEY, g POINT) ENGINE=InnoDB; +CREATE TABLE gis_line (fid INTEGER NOT NULL PRIMARY KEY, g LINESTRING) ENGINE=InnoDB; +CREATE TABLE gis_polygon (fid INTEGER NOT NULL PRIMARY KEY, g POLYGON) ENGINE=InnoDB; +CREATE TABLE gis_multi_point (fid INTEGER NOT NULL PRIMARY KEY, g MULTIPOINT) ENGINE=InnoDB; +CREATE TABLE gis_multi_line (fid INTEGER NOT NULL PRIMARY KEY, g MULTILINESTRING) ENGINE=InnoDB; +CREATE TABLE gis_multi_polygon (fid INTEGER NOT NULL PRIMARY KEY, g MULTIPOLYGON) ENGINE=InnoDB; +CREATE TABLE gis_geometrycollection (fid INTEGER NOT NULL PRIMARY KEY, g GEOMETRYCOLLECTION) ENGINE=InnoDB; +CREATE TABLE gis_geometry (fid INTEGER NOT NULL PRIMARY KEY, g GEOMETRY) ENGINE=InnoDB; + +SHOW FIELDS FROM gis_point; +SHOW FIELDS FROM gis_line; +SHOW FIELDS FROM gis_polygon; +SHOW FIELDS FROM gis_multi_point; +SHOW FIELDS FROM gis_multi_line; +SHOW FIELDS FROM gis_multi_polygon; +SHOW FIELDS FROM gis_geometrycollection; +SHOW FIELDS FROM gis_geometry; + +--echo #INSERT using all WKT & WKB functions +INSERT INTO gis_point VALUES +(101, ST_PointFromText('POINT(10 10)')), +(102, ST_PointFromText('POINT(20 10)')), +(103, ST_PointFromText('POINT(20 20)')), +(104, ST_PointFromWKB(ST_AsWKB(ST_PointFromText('POINT(10 20)')))); + + +INSERT INTO gis_line VALUES +(105, ST_LineFromText('LINESTRING(0 0,0 10,10 0)')), +(106, ST_LineStringFromText('LINESTRING(10 10,20 10,20 20,10 20,10 10)')), +(107, ST_LineStringFromWKB(ST_AsWKB(LineString(Point(10, 10), Point(40, 10))))); + + +INSERT INTO gis_polygon VALUES +(108, ST_PolygonFromText('POLYGON((10 10,20 10,20 20,10 20,10 10))')), +(109, ST_PolyFromText('POLYGON((0 0,50 0,50 50,0 50,0 0), (10 10,20 10,20 20,10 20,10 10))')), +(110, ST_PolyFromWKB(ST_AsWKB(Polygon(LineString(Point(0, 0), Point(30, 0), Point(30, 30), Point(0, 0)))))); + + +INSERT INTO gis_multi_point VALUES +(111, ST_MultiPointFromText('MULTIPOINT(0 0,10 10,10 20,20 20)')), +(112, ST_MPointFromText('MULTIPOINT(1 1,11 11,11 21,21 21)')), +(113, ST_MPointFromWKB(ST_AsWKB(MultiPoint(Point(3, 6), Point(4, 10))))); + + +INSERT INTO gis_multi_line VALUES +(114, ST_MultiLineStringFromText('MULTILINESTRING((10 48,10 21,10 0),(16 0,16 23,16 48))')), +(115, ST_MLineFromText('MULTILINESTRING((10 48,10 21,10 0))')), +(116, ST_MLineFromWKB(ST_AsWKB(MultiLineString(LineString(Point(1, 2), Point(3, 5)), LineString(Point(2, 5), Point(5, 8), Point(21, 7)))))); + + +INSERT INTO gis_multi_polygon VALUES +(117, ST_MultiPolygonFromText('MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)), +((59 18,67 18,67 13,59 13,59 18)))')), +(118, ST_MPolyFromText('MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26), +(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))')), +(119, ST_MPolyFromWKB(ST_AsWKB(MultiPolygon(Polygon(LineString(Point(0, 3), Point(3, 3), Point(3, 0), Point(0, 3))))))); + + +INSERT INTO gis_geometrycollection VALUES +(120, ST_GeomCollFromText('GEOMETRYCOLLECTION(POINT(0 0), LINESTRING(0 0,10 10))')), +(121, ST_GeometryCollectionFromText('GEOMETRYCOLLECTION(POINT(10 10), LINESTRING(10 10,20 20))')), +(122, ST_GeometryFromWKB(ST_AsWKB(GeometryCollection(Point(44, 6), LineString(Point(3, 6), Point(7, 9)))))); + +--echo #check INSERT using SELECT query +INSERT into gis_geometry SELECT * FROM gis_point; +INSERT into gis_geometry SELECT * FROM gis_line; +INSERT into gis_geometry SELECT * FROM gis_polygon; +INSERT into gis_geometry SELECT * FROM gis_multi_point; +INSERT into gis_geometry SELECT * FROM gis_multi_line; +INSERT into gis_geometry SELECT * FROM gis_multi_polygon; +INSERT into gis_geometry SELECT * FROM gis_geometrycollection; + +--echo #check format coversion functions & spatial values +SELECT fid, ST_AsText(g) FROM gis_point; +SELECT fid, ST_AsText(g) FROM gis_line; +SELECT fid, ST_AsText(g) FROM gis_polygon; +SELECT fid, ST_AsText(g) FROM gis_multi_point; +SELECT fid, ST_AsText(g) FROM gis_multi_line; +SELECT fid, ST_AsText(g) FROM gis_multi_polygon; +SELECT fid, ST_AsText(g) FROM gis_geometrycollection; +SELECT fid, ST_AsText(g) FROM gis_geometry; + +--echo #2.1 check DDL functionality on GIS datatypes +CREATE TABLE tab(c1 POINT,c2 LINESTRING,c3 POLYGON,C4 MULTIPOINT,c5 MULTILINESTRING , +c6 MULTIPOLYGON,c7 GEOMETRYCOLLECTION ,c8 GEOMETRY) ENGINE=InnoDB; + +--echo #check information schema for all the columns refer to 14, except POINT which is 15 +SELECT sc.name, sc.pos, sc.mtype +FROM information_schema.innodb_sys_columns sc +INNER JOIN information_schema.innodb_sys_tables st +ON sc.TABLE_ID=st.TABLE_ID +WHERE st.NAME='test/tab' +ORDER BY sc.name; + +--echo #check Perform convesrion before INSERT using WKT functions +SET @c1=ST_PointFromText('POINT(10 10)'); +SET @c2=ST_LineFromText('LINESTRING(10 10,20 20,30 30)'); +SET @c3=ST_PolyFromText('POLYGON((0 0,5 5,10 10,15 15,0 0),(10 10,20 20,30 30,40 40,10 10))'); +SET @c4=ST_MPointFromText('MULTIPOINT(0 0,5 5,10 10,20 20)'); +SET @c5=ST_MLineFromText('MULTILINESTRING((1 1,2 2,3 3),(10 10,20 20,30 30))'); +SET @c6=ST_MPolyFromText('MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))'); +SET @c7=ST_GeomCollFromText('GEOMETRYCOLLECTION(POINT(0 0), LINESTRING(0 0,10 10))'); +SET @c8=ST_GeomCollFromText('GeometryCollection(Point(1 1),LineString(2 2, 3 3))'); + +--echo #Insert the spatial values +INSERT INTO tab VALUES(@c1,@c2,@c3,@c4,@c5,@c6,@c7,@c8); + +--echo #check index on GIS datatypes +CREATE INDEX idx1 on tab(c2(5) DESC) USING BTREE; +CREATE INDEX idx3 on tab(c3(5) ASC) USING BTREE; +CREATE UNIQUE INDEX idx2 on tab(c8(5) ASC) ; + +--echo #check equality predicate on the index columns +--replace_column 9 # +EXPLAIN SELECT ST_ASText(c1),ST_AsText(c2),ST_AsText(c8) FROM tab +WHERE c2=ST_LineFromText('LINESTRING(10 10,20 20,30 30)'); + +--echo #check index with WKB function +--replace_column 9 # +EXPLAIN SELECT ST_ASText(c1),ST_AsText(c2),ST_AsText(c8) +FROM tab WHERE c2=ST_LineStringFromWKB(ST_AsWKB(ST_LineFromText('LINESTRING(10 10,20 20,30 30)'))); + +--echo #check index with WKT function +--replace_column 9 # +EXPLAIN SELECT ST_ASText(c1),ST_AsText(c2),ST_AsText(c8) FROM tab +WHERE c3=ST_PolyFromText('POLYGON((0 0,5 5,10 10,15 15,0 0),(10 10,20 20,30 30,40 40,10 10))'); + +--echo #check index with WKB function +--replace_column 9 # +EXPLAIN SELECT ST_ASText(c1),ST_AsText(c2),ST_AsText(c8) +FROM tab +WHERE c3=ST_PolyFromWKB(ST_AsWkB(ST_PolyFromText('POLYGON((0 0,5 5,10 10,15 15,0 0),(10 10,20 20,30 30,40 40,10 10))'))); + +--echo #check index with WKT function +--replace_column 9 # +EXPLAIN SELECT ST_ASText(c1),ST_AsText(c2),ST_AsText(c8) FROM tab +WHERE c8=ST_GeomCollFromText('GeometryCollection(Point(1 1),LineString(2 2, 3 3))'); + +--echo #check index with WKB function +--replace_column 9 # +EXPLAIN SELECT ST_ASText(c1),ST_AsText(c2),ST_AsText(c8) +FROM tab +WHERE c8=ST_GeometryFromWKB(ST_AsWKB(ST_GeomCollFromText('GeometryCollection(Point(1 1),LineString(2 2, 3 3))'))); + +#--echo #check range predicate on the index columns +#--replace_column 9 # +#--error ER_WRONG_ARGUMENTS +#EXPLAIN SELECT ST_ASText(c1),ST_AsText(c2),ST_AsText(c8) FROM tab +#WHERE c2>=ST_LineFromText('LINESTRING(10 10,20 20,30 30)'); +# +#--replace_column 9 # +#--error ER_WRONG_ARGUMENTS +#EXPLAIN SELECT ST_ASText(c1),ST_AsText(c2),ST_AsText(c8) FROM tab +#WHERE c3>=ST_PolyFromText('POLYGON((0 0,5 5,10 10,15 15,0 0),(10 10,20 20,30 30,40 40,10 10))'); +# +#--replace_column 9 # +#--error ER_WRONG_ARGUMENTS +#EXPLAIN SELECT ST_ASText(c1),ST_AsText(c2),ST_AsText(c8) FROM tab +#WHERE c8>=ST_GeomCollFromText('GeometryCollection(Point(1 1),LineString(2 2, 3 3))'); + +--echo #check index with DELETE operation +--replace_column 9 # +EXPLAIN DELETE FROM tab +WHERE c8=ST_GeometryFromWKB(ST_AsWKB(ST_GeomCollFromText('GeometryCollection(Point(1 1),LineString(2 2, 3 3))'))); + + +--echo #check the spatial values +SELECT ST_AsText(c1) FROM tab; +SELECT ST_AsText(c2) FROM tab; +SELECT ST_AsText(c3) FROM tab; +SELECT ST_AsText(c4) FROM tab; +SELECT ST_AsText(c5) FROM tab; +SELECT ST_AsText(c6) FROM tab; +SELECT ST_AsText(c7) FROM tab; +SELECT ST_AsText(c8) From tab; + +--echo #check by modify the column type +ALTER TABLE tab MODIFY COLUMN c1 Geometry; +ALTER TABLE tab MODIFY COLUMN c2 Geometry; +ALTER TABLE tab MODIFY COLUMN c3 Geometry; +ALTER TABLE tab MODIFY COLUMN c4 Geometry; +ALTER TABLE tab MODIFY COLUMN c5 Geometry; +ALTER TABLE tab MODIFY COLUMN c6 Geometry; +ALTER TABLE tab MODIFY COLUMN c7 Geometry; + +--echo #check column datatypes +SHOW FIELDS FROM tab; + +--echo #check the data after modify +SELECT ST_AsText(c1) FROM tab; +SELECT ST_AsText(c2) FROM tab; +SELECT ST_AsText(c3) FROM tab; +SELECT ST_AsText(c4) FROM tab; +SELECT ST_AsText(c5) FROM tab; +SELECT ST_AsText(c6) FROM tab; +SELECT ST_AsText(c7) FROM tab; +SELECT ST_AsText(c8) From tab; + +--echo #check by modify the column type +ALTER TABLE tab MODIFY COLUMN c1 POINT; +ALTER TABLE tab MODIFY COLUMN c2 LINESTRING; +ALTER TABLE tab MODIFY COLUMN c3 POLYGON; +ALTER TABLE tab MODIFY COLUMN c4 MULTIPOINT; +ALTER TABLE tab MODIFY COLUMN c5 MULTILINESTRING; +ALTER TABLE tab MODIFY COLUMN c6 MULTIPOLYGON; +ALTER TABLE tab MODIFY COLUMN c7 GEOMETRYCOLLECTION; + +--echo #check column datatypes +SHOW FIELDS FROM tab; + +--echo #check the data after modify +SELECT ST_AsText(c1) FROM tab; +SELECT ST_AsText(c2) FROM tab; +SELECT ST_AsText(c3) FROM tab; +SELECT ST_AsText(c4) FROM tab; +SELECT ST_AsText(c5) FROM tab; +SELECT ST_AsText(c6) FROM tab; +SELECT ST_AsText(c7) FROM tab; +SELECT ST_AsText(c8) From tab; + +--echo #check change the column type +ALTER TABLE tab MODIFY COLUMN c1 BLOB; + +--echo #check column datatypes +SHOW CREATE TABLE tab; + +--echo #check the data after modify +SELECT ST_AsText(c1) FROM tab; + +--echo #change the column name +ALTER TABLE tab CHANGE COLUMN c1 c0 GEOMETRY ; + + +--echo #check column datatypes +SHOW FIELDS FROM tab; + +--echo #add primary key +ALTER TABLE tab ADD PRIMARY KEY pk2(c8(5)); + +--echo #check columns +SHOW FIELDS FROM tab; + +--echo #drop key +ALTER TABLE tab DROP PRIMARY KEY; + +--echo #check columns +SHOW FIELDS FROM tab; + +--echo #cleanup the table +TRUNCATE TABLE tab; + +--echo #check with procedures + +delimiter |; + +--echo #crate proc with INOUT params +CREATE PROCEDURE geom_insert(IN c1 POINT,IN c2 LINESTRING,IN c3 POLYGON, +IN c4 MULTIPOINT,IN c5 MULTILINESTRING, IN c6 MULTIPOLYGON,IN c7 GEOMETRYCOLLECTION, +IN c8 GEOMETRY) +BEGIN +INSERT INTO tab VALUES(@c1,@c2,@c3,@c4,@c5,@c6,@c7,@c8); +END | + +delimiter ;| + +--echo #set the spatial values +SET @c1=ST_PointFromText('POINT(10 10)'); +SET @c2=ST_LineFromText('LINESTRING(10 10,20 20,30 30)'); +SET @c3=ST_PolyFromText('POLYGON((0 0,5 5,10 10,15 15,0 0),(10 10,20 20,30 30,40 40,10 10))'); +SET @c4=ST_MPointFromText('MULTIPOINT(0 0,5 5,10 10,20 20)'); +SET @c5=ST_MLineFromText('MULTILINESTRING((1 1,2 2,3 3),(10 10,20 20,30 30))'); +SET @c6=ST_MPolyFromText('MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))'); +SET @c7=ST_GeomCollFromText('GEOMETRYCOLLECTION(POINT(0 0), LINESTRING(0 0,10 10))'); +SET @c8=ST_GeomCollFromText('GeometryCollection(Point(1 1),LineString(2 2, 3 3))'); + +--echo #call the proc +CALL geom_insert(@c1,@c2,@c3,@c4,@c5,@c6,@c7,@c8); + +--echo #check the values ofter proc call +SELECT ST_AsText(c0) FROM tab; +SELECT ST_AsText(c2) FROM tab; +SELECT ST_AsText(c3) FROM tab; +SELECT ST_AsText(c4) FROM tab; +SELECT ST_AsText(c5) FROM tab; +SELECT ST_AsText(c6) FROM tab; +SELECT ST_AsText(c7) FROM tab; +SELECT ST_AsText(c8) From tab; + + +--echo #set the input spatial value +SET @c9=ST_GeomCollFromText('GeometryCollection(Point(1 1),LineString(2 2, 3 3))'); + +delimiter |; + +--echo #crate a proc with INOUT params and pass a value. +CREATE PROCEDURE geominout(INOUT c9 GEOMETRY) +BEGIN + +SELECT ST_AsText(@c9); +SET c9=ST_GeomCollFromText('GeometryCollection(Point(10 10),LineString(20 20, 30 30))'); + +END| + +delimiter ;| + +--echo #call the proc and then change the spatial value of c8 +CALL geominout(@c9); + +--echo #now check the out spatial values should be changed to new values +SELECT ST_AsText(@c9); + +#check GIS datatype with Triggers + +--echo #delete the records +TRUNCATE TABLE tab; + +--echo #create another table same as tab +CREATE TABLE tab2 AS SELECT * FROM tab; + +--echo #check the table definition +SHOW CREATE TABLE tab2; + + +delimiter |; + +--echo #create a tigger and populate the values into tab2 +CREATE TRIGGER geom_trigger AFTER INSERT ON tab +FOR EACH ROW +BEGIN + INSERT INTO tab2 VALUES (@c1,@c2,@c3,@c4,@c5,@c6,@c7,@c8); +END| + +delimiter ;| + +--echo #set the spatial values +SET @c1=ST_PointFromText('POINT(10 10)'); +SET @c2=ST_LineFromText('LINESTRING(10 10,20 20,30 30)'); +SET @c3=ST_PolyFromText('POLYGON((0 0,5 5,10 10,15 15,0 0),(10 10,20 20,30 30,40 40,10 10))'); +SET @c4=ST_MPointFromText('MULTIPOINT(0 0,5 5,10 10,20 20)'); +SET @c5=ST_MLineFromText('MULTILINESTRING((1 1,2 2,3 3),(10 10,20 20,30 30))'); +SET @c6=ST_MPolyFromText('MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))'); +SET @c7=ST_GeomCollFromText('GEOMETRYCOLLECTION(POINT(0 0), LINESTRING(0 0,10 10))'); +SET @c8=ST_GeomCollFromText('GeometryCollection(Point(1 1),LineString(2 2, 3 3))'); + +--echo #Insert the spatial values +INSERT INTO tab VALUES(@c1,@c2,@c3,@c4,@c5,@c6,@c7,@c8); + +--echo #check the values whether populated +SELECT ST_AsText(c0) FROM tab2; +SELECT ST_AsText(c2) FROM tab2; +SELECT ST_AsText(c3) FROM tab2; +SELECT ST_AsText(c4) FROM tab2; +SELECT ST_AsText(c5) FROM tab2; +SELECT ST_AsText(c6) FROM tab2; +SELECT ST_AsText(c7) FROM tab2; +SELECT ST_AsText(c8) From tab2; + +--echo #check Cursor with Geometry + +delimiter |; + +CREATE PROCEDURE geom_cursor() +BEGIN + DECLARE v GEOMETRY; + DECLARE c CURSOR FOR SELECT c8 FROM tab2; + + OPEN c; + FETCH c INTO v; + CLOSE c; + + SELECT ST_AsText(v); +END| + +delimiter ;| + +--echo # the following line was commented due the Bug#16282246 +--echo # Once it is fixed, the comment will be removed. +--echo # right now bug fixing date is unknown. +#CALL geom_cursor(); + +--echo check self join +SELECT ST_AsText(a.c0),ST_AsText(a.c2),ST_AsText(a.c3) +FROM tab a,tab2 b WHERE a.c0=b.c0 AND a.c2=b.c2 +AND a.c3=b.c3 AND a.c4=b.c4 AND a.c5=b.c5 AND a.c6=b.c6 +AND a.c7=b.c7 AND a.c8=b.c8; + +--echo #check equi join +SELECT ST_AsText(a.c2),ST_AsText(b.c2) FROM tab a,tab2 b WHERE a.c2=b.c2; + +--echo #check DELETE stmt with Where clause and a constant predicate +DELETE FROM tab +WHERE c8=ST_GeometryFromWKB(ST_AsWKB(ST_GeomCollFromText('GeometryCollection(Point(1 1),LineString(2 2, 3 3))'))); + +SELECT * FROM tab; + +--echo #check UPDATE stmt with Where clause and a constant predicate +SET @c8=ST_GeomCollFromText('GeometryCollection(Point(10 10),LineString(20 20, 30 30))'); +UPDATE tab2 SET c8=@c8 +WHERE c2=ST_LineStringFromWKB(ST_AsWKB(ST_LineFromText('LINESTRING(10 10,20 20,30 30)'))); + +--echo #check the column should be modified to LINESTRING(10 10,20 20,30 30) +SELECT ST_AsText(c8) From tab2; + +--echo #check GIS datatypes with aggregate functions +SELECT COUNT(ST_AsText(g)) FROM gis_point; +SELECT COUNT(ST_AsText(g)) FROM gis_line; +SELECT COUNT(ST_AsText(g)) FROM gis_polygon; +SELECT COUNT(ST_AsText(g)) FROM gis_multi_point; +SELECT COUNT(ST_AsText(g)) FROM gis_multi_line; +SELECT COUNT(ST_AsText(g)) FROM gis_multi_polygon; +SELECT COUNT(ST_AsText(g)) FROM gis_geometrycollection; +SELECT COUNT(ST_AsText(g)) FROM gis_geometry; + +SELECT SUM(ST_AsText(g)) FROM gis_point; +SELECT SUM(ST_AsText(g)) FROM gis_line; +SELECT AVG(ST_AsText(g)) FROM gis_polygon; +--echo #here it show some string value no meaning +SELECT MAX(ST_AsText(g)) FROM gis_multi_point; +--echo #here it show some string value no meaning +SELECT MIN(ST_AsText(g)) FROM gis_multi_line; +SELECT STD(ST_AsText(g)) FROM gis_multi_polygon; +SELECT COUNT(ST_AsText(g)) FROM gis_geometrycollection; +SELECT AVG(ST_AsText(g)) FROM gis_geometry; + +--disable_warnings +--echo #check Datatypes with compression tables + +CREATE TABLE tab3(c1 POINT,c2 LINESTRING,c3 POLYGON,C4 MULTIPOINT,c5 MULTILINESTRING , +c6 MULTIPOLYGON,c7 GEOMETRYCOLLECTION ,c8 GEOMETRY) ENGINE=InnoDB +KEY_BLOCK_SIZE=8 ROW_FORMAT=COMPRESSED; + +--echo #check file format +SHOW CREATE TABLE tab3; + +ALTER TABLE tab3 KEY_BLOCK_SIZE=16 ROW_FORMAT=Dynamic; + +--echo #check file format +SHOW CREATE TABLE tab3; + +--echo #check information schema for all the columns refer to 14, except POINT which is 15 +SELECT sc.name, sc.pos, sc.mtype +FROM information_schema.innodb_sys_columns sc +INNER JOIN information_schema.innodb_sys_tables st +ON sc.TABLE_ID=st.TABLE_ID +WHERE st.NAME='test/tab3' +ORDER BY sc.name; + +--echo #check Perform convesrion before INSERT using WKT functions +SET @c1=ST_PointFromText('POINT(10 10)'); +SET @c2=ST_LineFromText('LINESTRING(10 10,20 20,30 30)'); +SET @c3=ST_PolyFromText('POLYGON((0 0,5 5,10 10,15 15,0 0),(10 10,20 20,30 30,40 40,10 10))'); +SET @c4=ST_MPointFromText('MULTIPOINT(0 0,5 5,10 10,20 20)'); +SET @c5=ST_MLineFromText('MULTILINESTRING((1 1,2 2,3 3),(10 10,20 20,30 30))'); +SET @c6=ST_MPolyFromText('MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))'); +SET @c7=ST_GeomCollFromText('GEOMETRYCOLLECTION(POINT(0 0), LINESTRING(0 0,10 10))'); +SET @c8=ST_GeomCollFromText('GeometryCollection(Point(1 1),LineString(2 2, 3 3))'); + +--echo #Insert the spatial values +INSERT INTO tab3 VALUES(@c1,@c2,@c3,@c4,@c5,@c6,@c7,@c8); + +--echo #check index on GIS datatypes +CREATE INDEX idx1 on tab3(c2(5) DESC) USING BTREE; +CREATE INDEX idx3 on tab3(c3(5) ASC) USING BTREE; +CREATE UNIQUE INDEX idx2 on tab3(c8(5) ASC) ; + +--enable_warnings + +--echo #check equality predicate on the index columns +--replace_column 9 # +EXPLAIN SELECT ST_ASText(c1),ST_AsText(c2),ST_AsText(c8) FROM tab3 +WHERE c2=ST_LineFromText('LINESTRING(10 10,20 20,30 30)'); + +--echo #check index with WKB function +--replace_column 9 # +EXPLAIN SELECT ST_ASText(c1),ST_AsText(c2),ST_AsText(c8) +FROM tab3 WHERE c2=ST_LineStringFromWKB(ST_AsWKB(ST_LineFromText('LINESTRING(10 10,20 20,30 30)'))); + +--echo #check index with WKT function +--replace_column 9 # +EXPLAIN SELECT ST_ASText(c1),ST_AsText(c2),ST_AsText(c8) FROM tab3 +WHERE c3=ST_PolyFromText('POLYGON((0 0,5 5,10 10,15 15,0 0),(10 10,20 20,30 30,40 40,10 10))'); + +--echo #check index with WKB function +--replace_column 9 # +EXPLAIN SELECT ST_ASText(c1),ST_AsText(c2),ST_AsText(c8) +FROM tab3 +WHERE c3=ST_PolyFromWKB(ST_AsWkB(ST_PolyFromText('POLYGON((0 0,5 5,10 10,15 15,0 0),(10 10,20 20,30 30,40 40,10 10))'))); + +--echo #check index with WKT function +--replace_column 9 # +EXPLAIN SELECT ST_ASText(c1),ST_AsText(c2),ST_AsText(c8) FROM tab3 +WHERE c8=ST_GeomCollFromText('GeometryCollection(Point(1 1),LineString(2 2, 3 3))'); + +--echo #check index with WKB function +--replace_column 9 # +EXPLAIN SELECT ST_ASText(c1),ST_AsText(c2),ST_AsText(c8) +FROM tab3 +WHERE c8=ST_GeometryFromWKB(ST_AsWKB(ST_GeomCollFromText('GeometryCollection(Point(1 1),LineString(2 2, 3 3))'))); + +# --echo #check range predicate on the index columns +# --replace_column 9 # +# --error ER_WRONG_ARGUMENTS +# EXPLAIN SELECT ST_ASText(c1),ST_AsText(c2),ST_AsText(c8) FROM tab3 +# WHERE c2>=ST_LineFromText('LINESTRING(10 10,20 20,30 30)'); +# +# --replace_column 9 # +# --error ER_WRONG_ARGUMENTS +# EXPLAIN SELECT ST_ASText(c1),ST_AsText(c2),ST_AsText(c8) FROM tab3 +# WHERE c3>=ST_PolyFromText('POLYGON((0 0,5 5,10 10,15 15,0 0),(10 10,20 20,30 30,40 40,10 10))'); + +# --replace_column 9 # +# --error ER_WRONG_ARGUMENTS +# EXPLAIN SELECT ST_ASText(c1),ST_AsText(c2),ST_AsText(c8) FROM tab3 +# WHERE c8>=ST_GeomCollFromText('GeometryCollection(Point(1 1),LineString(2 2, 3 3))'); + +--echo #check index with DELETE operation +--replace_column 9 # +EXPLAIN DELETE FROM tab3 +WHERE c8=ST_GeometryFromWKB(ST_AsWKB(ST_GeomCollFromText('GeometryCollection(Point(1 1),LineString(2 2, 3 3))'))); + + +--echo #check the spatial values +SELECT ST_AsText(c1) FROM tab3; +SELECT ST_AsText(c2) FROM tab3; +SELECT ST_AsText(c3) FROM tab3; +SELECT ST_AsText(c4) FROM tab3; +SELECT ST_AsText(c5) FROM tab3; +SELECT ST_AsText(c6) FROM tab3; +SELECT ST_AsText(c7) FROM tab3; +SELECT ST_AsText(c8) From tab3; + +--echo #check with Row_format = Dynamic +--disable_warnings +ALTER TABLE tab3 ROW_FORMAT=Dynamic; +--enable_warnings + +--echo #check file format +SHOW CREATE TABLE tab3; + +--echo #check index with WKB function +--replace_column 9 # +EXPLAIN SELECT ST_ASText(c1),ST_AsText(c2),ST_AsText(c8) +FROM tab3 WHERE c2=ST_LineStringFromWKB(ST_AsWKB(ST_LineFromText('LINESTRING(10 10,20 20,30 30)'))); + +--echo #check index with WKT function +--replace_column 9 # +EXPLAIN SELECT ST_ASText(c1),ST_AsText(c2),ST_AsText(c8) FROM tab3 +WHERE c3=ST_PolyFromText('POLYGON((0 0,5 5,10 10,15 15,0 0),(10 10,20 20,30 30,40 40,10 10))'); + + + +--echo #check the Geometry property functions +SELECT fid, ST_Dimension(g) FROM gis_geometry; +SELECT fid, ST_GeometryType(g) FROM gis_geometry; +SELECT fid, ST_IsEmpty(g) FROM gis_geometry; +SELECT fid, ST_AsText(ST_Envelope(g)) FROM gis_geometry; +--replace_column 9 # +explain extended select ST_Dimension(g), ST_GeometryType(g), ST_IsEmpty(g), ST_AsText(ST_Envelope(g)) from gis_geometry; + +--echo #check Geometry point functions +SELECT fid, ST_X(g) FROM gis_point; +SELECT fid, ST_Y(g) FROM gis_point; +--replace_column 9 # +explain extended select ST_X(g),ST_Y(g) FROM gis_point; + +SELECT fid, ST_AsText(ST_StartPoint(g)) FROM gis_line; +SELECT fid, ST_AsText(ST_EndPoint(g)) FROM gis_line; +SELECT fid, ST_Length(g) FROM gis_line; +SELECT fid, ST_NumPoints(g) FROM gis_line; +SELECT fid, ST_AsText(ST_PointN(g, 2)) FROM gis_line; +SELECT fid, ST_IsClosed(g) FROM gis_line; +--replace_column 9 # +explain extended select ST_AsText(ST_StartPoint(g)),ST_AsText(ST_EndPoint(g)), +ST_Length(g),ST_NumPoints(g),ST_AsText(ST_PointN(g, 2)),ST_IsClosed(g) FROM gis_line; + +SELECT fid, ST_AsText(ST_Centroid(g)) FROM gis_polygon; +SELECT fid, ST_Area(g) FROM gis_polygon; +SELECT fid, ST_AsText(ST_ExteriorRing(g)) FROM gis_polygon; +SELECT fid, ST_NumInteriorRings(g) FROM gis_polygon; +SELECT fid, ST_AsText(ST_InteriorRingN(g, 1)) FROM gis_polygon; +--replace_column 9 # +explain extended select ST_AsText(ST_Centroid(g)),ST_Area(g),ST_AsText(ST_ExteriorRing(g)), +ST_NumInteriorRings(g),ST_AsText(ST_InteriorRingN(g, 1)) FROM gis_polygon; + +SELECT fid, ST_IsClosed(g) FROM gis_multi_line; + +SELECT fid, ST_AsText(ST_Centroid(g)) FROM gis_multi_polygon; +SELECT fid, ST_Area(g) FROM gis_multi_polygon; + +SELECT fid, ST_NumGeometries(g) from gis_multi_point; +SELECT fid, ST_NumGeometries(g) from gis_multi_line; +SELECT fid, ST_NumGeometries(g) from gis_multi_polygon; +SELECT fid, ST_NumGeometries(g) from gis_geometrycollection; +--replace_column 9 # +explain extended SELECT fid, ST_NumGeometries(g) from gis_multi_point; + +SELECT fid, ST_AsText(ST_GeometryN(g, 2)) from gis_multi_point; +SELECT fid, ST_AsText(ST_GeometryN(g, 2)) from gis_multi_line; +SELECT fid, ST_AsText(ST_GeometryN(g, 2)) from gis_multi_polygon; +SELECT fid, ST_AsText(ST_GeometryN(g, 2)) from gis_geometrycollection; +SELECT fid, ST_AsText(ST_GeometryN(g, 1)) from gis_geometrycollection; +--replace_column 9 # +explain extended SELECT fid, ST_AsText(ST_GeometryN(g, 2)) from gis_multi_point; + +SELECT g1.fid as first, g2.fid as second, +MBRWithin(g1.g, g2.g) as w, MBRContains(g1.g, g2.g) as c, MBROverlaps(g1.g, g2.g) as o, +MBREquals(g1.g, g2.g) as e, MBRDisjoint(g1.g, g2.g) as d, ST_Touches(g1.g, g2.g) as t, +MBRIntersects(g1.g, g2.g) as i, ST_Crosses(g1.g, g2.g) as r +FROM gis_geometrycollection g1, gis_geometrycollection g2 ORDER BY first, second; +--replace_column 9 # +explain extended SELECT g1.fid as first, g2.fid as second, +MBRWithin(g1.g, g2.g) as w, MBRContains(g1.g, g2.g) as c, MBROverlaps(g1.g, g2.g) as o, +MBREquals(g1.g, g2.g) as e, MBRDisjoint(g1.g, g2.g) as d, ST_Touches(g1.g, g2.g) as t, +MBRIntersects(g1.g, g2.g) as i, ST_Crosses(g1.g, g2.g) as r +FROM gis_geometrycollection g1, gis_geometrycollection g2 ORDER BY first, second; + +--echo # check support of Foreign Key constraint +CREATE TABLE parent (id GEOMETRY NOT NULL,PRIMARY KEY (id(10))) ENGINE=INNODB; + +--error ER_CANT_CREATE_TABLE +CREATE TABLE child (id GEOMETRY, parent_id GEOMETRY, + INDEX par_ind (parent_id(10)), + FOREIGN KEY (parent_id(10)) REFERENCES parent(id) + ON DELETE CASCADE +) ENGINE=INNODB; + +--echo #check partition table support +--error 1178 +CREATE TABLE emp2( + id GEOMETRY NOT NULL, + store_name VARCHAR(30), + parts VARCHAR(30), + store_id GEOMETRY +) +PARTITION BY LIST(store_id) ( + PARTITION pNorth VALUES IN (10,20,30) , + PARTITION pEast VALUES IN (40,50,60) , + PARTITION pWest VALUES IN (70,80,100) +); + +--echo #check start transaction commit & Rollback +START TRANSACTION; +DELETE FROM tab3; +SELECT * FROM tab3; +ROLLBACK; + +SELECT COUNT(*) FROM tab3; + +START TRANSACTION; +DELETE FROM tab3; +COMMIT; + +SELECT * FROM tab3; + +DROP TABLE gis_point, gis_line, gis_polygon, gis_multi_point; +DROP TABLE gis_multi_line, gis_multi_polygon; +DROP TABLE gis_geometrycollection, gis_geometry; +DROP TABLE tab,tab2,tab3,parent; +DROP PROCEDURE geominout; +DROP PROCEDURE geom_insert; +DROP PROCEDURE geom_cursor; + +SET GLOBAL innodb_stats_persistent=@save_innodb_stats_persistent; diff --git a/mysql-test/suite/innodb_gis/t/gis.test b/mysql-test/suite/innodb_gis/t/gis.test new file mode 100644 index 00000000..b27e1852 --- /dev/null +++ b/mysql-test/suite/innodb_gis/t/gis.test @@ -0,0 +1,1445 @@ +# This is a testcase copied from mysql-test/main/gis.test + +--source include/have_innodb.inc +-- source include/have_geometry.inc +--source include/have_sequence.inc + +SET default_storage_engine=InnoDB; +SET @save_innodb_stats_persistent=@@GLOBAL.innodb_stats_persistent; +SET GLOBAL innodb_stats_persistent=0; + +# +# Spatial objects +# + +CREATE TABLE gis_point (fid INTEGER NOT NULL PRIMARY KEY, g POINT); +CREATE TABLE gis_line (fid INTEGER NOT NULL PRIMARY KEY, g LINESTRING); +CREATE TABLE gis_polygon (fid INTEGER NOT NULL PRIMARY KEY, g POLYGON); +CREATE TABLE gis_multi_point (fid INTEGER NOT NULL PRIMARY KEY, g MULTIPOINT); +CREATE TABLE gis_multi_line (fid INTEGER NOT NULL PRIMARY KEY, g MULTILINESTRING); +CREATE TABLE gis_multi_polygon (fid INTEGER NOT NULL PRIMARY KEY, g MULTIPOLYGON); +CREATE TABLE gis_geometrycollection (fid INTEGER NOT NULL PRIMARY KEY, g GEOMETRYCOLLECTION); +CREATE TABLE gis_geometry (fid INTEGER NOT NULL PRIMARY KEY, g GEOMETRY); + +SHOW FIELDS FROM gis_point; +SHOW FIELDS FROM gis_line; +SHOW FIELDS FROM gis_polygon; +SHOW FIELDS FROM gis_multi_point; +SHOW FIELDS FROM gis_multi_line; +SHOW FIELDS FROM gis_multi_polygon; +SHOW FIELDS FROM gis_geometrycollection; +SHOW FIELDS FROM gis_geometry; + + +INSERT INTO gis_point VALUES +(101, ST_PointFromText('POINT(10 10)')), +(102, ST_PointFromText('POINT(20 10)')), +(103, ST_PointFromText('POINT(20 20)')), +(104, ST_PointFromWKB(ST_AsWKB(ST_PointFromText('POINT(10 20)')))); + +INSERT INTO gis_line VALUES +(105, ST_LineFromText('LINESTRING(0 0,0 10,10 0)')), +(106, ST_LineStringFromText('LINESTRING(10 10,20 10,20 20,10 20,10 10)')), +(107, ST_LineStringFromWKB(ST_AsWKB(LineString(Point(10, 10), Point(40, 10))))); + +INSERT INTO gis_polygon VALUES +(108, ST_PolygonFromText('POLYGON((10 10,20 10,20 20,10 20,10 10))')), +(109, ST_PolyFromText('POLYGON((0 0,50 0,50 50,0 50,0 0), (10 10,20 10,20 20,10 20,10 10))')), +(110, ST_PolyFromWKB(ST_AsWKB(Polygon(LineString(Point(0, 0), Point(30, 0), Point(30, 30), Point(0, 0)))))); + +INSERT INTO gis_multi_point VALUES +(111, ST_MultiPointFromText('MULTIPOINT(0 0,10 10,10 20,20 20)')), +(112, ST_MPointFromText('MULTIPOINT(1 1,11 11,11 21,21 21)')), +(113, ST_MPointFromWKB(ST_AsWKB(MultiPoint(Point(3, 6), Point(4, 10))))); + +INSERT INTO gis_multi_line VALUES +(114, ST_MultiLineStringFromText('MULTILINESTRING((10 48,10 21,10 0),(16 0,16 23,16 48))')), +(115, ST_MLineFromText('MULTILINESTRING((10 48,10 21,10 0))')), +(116, ST_MLineFromWKB(ST_AsWKB(MultiLineString(LineString(Point(1, 2), Point(3, 5)), LineString(Point(2, 5), Point(5, 8), Point(21, 7)))))); + + +INSERT INTO gis_multi_polygon VALUES +(117, ST_MultiPolygonFromText('MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))')), +(118, ST_MPolyFromText('MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))')), +(119, ST_MPolyFromWKB(ST_AsWKB(MultiPolygon(Polygon(LineString(Point(0, 3), Point(3, 3), Point(3, 0), Point(0, 3))))))); + +INSERT INTO gis_geometrycollection VALUES +(120, ST_GeomCollFromText('GEOMETRYCOLLECTION(POINT(0 0), LINESTRING(0 0,10 10))')), +(121, ST_GeometryFromWKB(ST_AsWKB(GeometryCollection(Point(44, 6), LineString(Point(3, 6), Point(7, 9)))))); + +INSERT into gis_geometry SELECT * FROM gis_point; +INSERT into gis_geometry SELECT * FROM gis_line; +INSERT into gis_geometry SELECT * FROM gis_polygon; +INSERT into gis_geometry SELECT * FROM gis_multi_point; +INSERT into gis_geometry SELECT * FROM gis_multi_line; +INSERT into gis_geometry SELECT * FROM gis_multi_polygon; +INSERT into gis_geometry SELECT * FROM gis_geometrycollection; + +SELECT fid, ST_AsText(g) FROM gis_point; +SELECT fid, ST_AsText(g) FROM gis_line; +SELECT fid, ST_AsText(g) FROM gis_polygon; +SELECT fid, ST_AsText(g) FROM gis_multi_point; +SELECT fid, ST_AsText(g) FROM gis_multi_line; +SELECT fid, ST_AsText(g) FROM gis_multi_polygon; +SELECT fid, ST_AsText(g) FROM gis_geometrycollection; +SELECT fid, ST_AsText(g) FROM gis_geometry; + +SELECT fid, ST_Dimension(g) FROM gis_geometry; +SELECT fid, ST_GeometryType(g) FROM gis_geometry; +SELECT fid, ST_IsEmpty(g) FROM gis_geometry; +SELECT fid, ST_AsText(ST_Envelope(g)) FROM gis_geometry; +--replace_column 9 # +explain extended select ST_Dimension(g), ST_GeometryType(g), ST_IsEmpty(g), ST_AsText(ST_Envelope(g)) from gis_geometry; + +SELECT fid, ST_X(g) FROM gis_point; +SELECT fid, ST_Y(g) FROM gis_point; +--replace_column 9 # +explain extended select ST_X(g),ST_Y(g) FROM gis_point; + +SELECT fid, ST_AsText(ST_StartPoint(g)) FROM gis_line; +SELECT fid, ST_AsText(ST_EndPoint(g)) FROM gis_line; +SELECT fid, ST_Length(g) FROM gis_line; +SELECT fid, ST_NumPoints(g) FROM gis_line; +SELECT fid, ST_AsText(ST_PointN(g, 2)) FROM gis_line; +SELECT fid, ST_IsClosed(g) FROM gis_line; +--replace_column 9 # +explain extended select ST_AsText(ST_StartPoint(g)),ST_AsText(ST_EndPoint(g)),ST_Length(g),ST_NumPoints(g),ST_AsText(ST_PointN(g, 2)),ST_IsClosed(g) FROM gis_line; + +SELECT fid, ST_AsText(ST_Centroid(g)) FROM gis_polygon; +SELECT fid, ST_Area(g) FROM gis_polygon; +SELECT fid, ST_AsText(ST_ExteriorRing(g)) FROM gis_polygon; +SELECT fid, ST_NumInteriorRings(g) FROM gis_polygon; +SELECT fid, ST_AsText(ST_InteriorRingN(g, 1)) FROM gis_polygon; +--replace_column 9 # +explain extended select ST_AsText(ST_Centroid(g)),ST_Area(g),ST_AsText(ST_ExteriorRing(g)),ST_NumInteriorRings(g),ST_AsText(ST_InteriorRingN(g, 1)) FROM gis_polygon; + +SELECT fid, ST_IsClosed(g) FROM gis_multi_line; + +SELECT fid, ST_AsText(ST_Centroid(g)) FROM gis_multi_polygon; +SELECT fid, ST_Area(g) FROM gis_multi_polygon; + +SELECT fid, ST_NumGeometries(g) from gis_multi_point; +SELECT fid, ST_NumGeometries(g) from gis_multi_line; +SELECT fid, ST_NumGeometries(g) from gis_multi_polygon; +SELECT fid, ST_NumGeometries(g) from gis_geometrycollection; +--replace_column 9 # +explain extended SELECT fid, ST_NumGeometries(g) from gis_multi_point; + +SELECT fid, ST_AsText(ST_GeometryN(g, 2)) from gis_multi_point; +SELECT fid, ST_AsText(ST_GeometryN(g, 2)) from gis_multi_line; +SELECT fid, ST_AsText(ST_GeometryN(g, 2)) from gis_multi_polygon; +SELECT fid, ST_AsText(ST_GeometryN(g, 2)) from gis_geometrycollection; +SELECT fid, ST_AsText(ST_GeometryN(g, 1)) from gis_geometrycollection; +--replace_column 9 # +explain extended SELECT fid, ST_AsText(ST_GeometryN(g, 2)) from gis_multi_point; + +SELECT g1.fid as first, g2.fid as second, +MBRWithin(g1.g, g2.g) as w, MBRContains(g1.g, g2.g) as c, MBROverlaps(g1.g, g2.g) as o, +MBREquals(g1.g, g2.g) as e, MBRDisjoint(g1.g, g2.g) as d, ST_Touches(g1.g, g2.g) as t, +MBRIntersects(g1.g, g2.g) as i, ST_Crosses(g1.g, g2.g) as r +FROM gis_geometrycollection g1, gis_geometrycollection g2 ORDER BY first, second; +--replace_column 9 # +explain extended SELECT g1.fid as first, g2.fid as second, +MBRWithin(g1.g, g2.g) as w, MBRContains(g1.g, g2.g) as c, MBROverlaps(g1.g, g2.g) as o, +MBREquals(g1.g, g2.g) as e, MBRDisjoint(g1.g, g2.g) as d, ST_Touches(g1.g, g2.g) as t, +MBRIntersects(g1.g, g2.g) as i, ST_Crosses(g1.g, g2.g) as r +FROM gis_geometrycollection g1, gis_geometrycollection g2 ORDER BY first, second; + +DROP TABLE gis_point, gis_line, gis_polygon, gis_multi_point, gis_multi_line, gis_multi_polygon, gis_geometrycollection, gis_geometry; + +# +# Check that ALTER TABLE doesn't loose geometry type +# +CREATE TABLE t1 ( + gp point, + ln linestring, + pg polygon, + mp multipoint, + mln multilinestring, + mpg multipolygon, + gc geometrycollection, + gm geometry +); + +SHOW FIELDS FROM t1; +ALTER TABLE t1 ADD fid INT NOT NULL; +SHOW FIELDS FROM t1; +DROP TABLE t1; + +SELECT ST_AsText(ST_GeometryFromWKB(ST_AsWKB(ST_GeometryFromText('POINT(1 4)')))); +explain extended SELECT ST_AsText(ST_GeometryFromWKB(ST_AsWKB(ST_GeometryFromText('POINT(1 4)')))); +explain extended SELECT ST_AsText(ST_GeometryFromWKB(ST_AsWKB(ST_PointFromText('POINT(1 4)')))); +SELECT ST_SRID(ST_GeomFromText('LineString(1 1,2 2)',101)); +explain extended SELECT ST_SRID(ST_GeomFromText('LineString(1 1,2 2)',101)); +#select ST_issimple(MultiPoint(Point(3, 6), Point(4, 10))), ST_issimple(Point(3, 6)),ST_issimple(ST_PolygonFromText('POLYGON((10 10,20 10,20 20,10 20,10 10))')),ST_issimple(ST_GeometryFromText('POINT(1 4)')), ST_issimple(ST_AsWKB(ST_GeometryFromText('POINT(1 4)'))); +explain extended select ST_issimple(MultiPoint(Point(3, 6), Point(4, 10))), ST_issimple(Point(3, 6)); + +create table t1 (a geometry not null); +insert into t1 values (ST_GeomFromText('Point(1 2)')); +-- error 1416 +insert into t1 values ('Garbage'); +-- error 1416 +insert IGNORE into t1 values ('Garbage'); +alter table t1 add spatial index(a); + +drop table t1; + +# +# Bug #5219: problem with range optimizer +# + +create table t1(a geometry not null, spatial index(a)); +insert into t1 values +(ST_GeomFromText('POINT(1 1)')), (ST_GeomFromText('POINT(3 3)')), +(ST_GeomFromText('POINT(4 4)')), (ST_GeomFromText('POINT(6 6)')); +select ST_AsText(a) from t1 where + MBRContains(ST_GeomFromText('Polygon((0 0, 0 2, 2 2, 2 0, 0 0))'), a) + or + MBRContains(ST_GeomFromText('Polygon((2 2, 2 5, 5 5, 5 2, 2 2))'), a); +select ST_AsText(a) from t1 where + MBRContains(ST_GeomFromText('Polygon((0 0, 0 2, 2 2, 2 0, 0 0))'), a) + and + MBRContains(ST_GeomFromText('Polygon((0 0, 0 7, 7 7, 7 0, 0 0))'), a); +drop table t1; + +CREATE TABLE t1 (Coordinates POINT NOT NULL, SPATIAL INDEX(Coordinates)); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(383293632 1754448)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(564952612 157516260)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(903994614 180726515)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(98128178 141127631)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(862547902 799334546)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(341989013 850270906)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(803302376 93039099)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(857439153 817431356)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(319757546 343162742)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(826341972 717484432)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(305066789 201736238)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(626068992 616241497)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(55789424 755830108)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(802874458 312435220)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(153795660 551723671)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(242207428 537089292)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(553478119 807160039)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(694605552 457472733)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(987886554 792733729)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(598600363 850434457)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(592068275 940589376)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(700705362 395370650)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(33628474 558144514)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(212802006 353386020)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(901307256 39143977)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(70870451 206374045)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(240880214 696939443)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(822615542 296669638)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(452769551 625489999)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(609104858 606565210)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(177213669 851312285)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(143654501 730691787)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(658472325 838260052)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(188164520 646358878)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(630993781 786764883)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(496793334 223062055)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(727354258 197498696)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(618432704 760982731)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(755643210 831234710)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(114368751 656950466)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(870378686 185239202)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(863324511 111258900)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(882178645 685940052)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(407928538 334948195)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(311430051 17033395)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(941513405 488643719)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(868345680 85167906)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(219335507 526818004)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(923427958 407500026)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(173176882 554421738)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(194264908 669970217)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(777483793 921619165)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(867468912 395916497)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(682601897 623112122)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(227151206 796970647)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(280062588 97529892)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(982209849 143387099)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(208788792 864388493)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(829327151 616717329)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(199336688 140757201)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(633750724 140850093)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(629400920 502096404)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(226017998 848736426)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(28914408 149445955)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(256236452 202091290)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(703867693 450501360)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(872061506 481351486)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(372120524 739530418)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(877267982 54722420)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(362642540 104419188)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(851693067 642705127)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(201949080 833902916)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(786092225 410737872)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(698291409 615419376)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(27455201 897628096)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(756176576 661205925)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(38478189 385577496)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(163302328 264496186)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(234313922 192216735)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(413942141 490550373)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(394308025 117809834)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(941051732 266369530)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(599161319 313172256)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(5899948 476429301)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(367894677 368542487)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(580848489 219587743)')); +INSERT INTO t1 VALUES(ST_GeomFromText('POINT(11247614 782797569)')); +drop table t1; + +create table t1 select ST_GeomFromWKB(POINT(1,3)); +show create table t1; +drop table t1; + +SET sql_mode = 'NO_ENGINE_SUBSTITUTION'; +CREATE TABLE `t1` (`object_id` bigint(20) unsigned NOT NULL default '0', `geo` +geometry NOT NULL default ''); +SET sql_mode = default; + +insert into t1 values ('85984',ST_GeomFromText('MULTIPOLYGON(((-115.006363 +36.305435,-114.992394 36.305202,-114.991219 36.305975,-114.991163 +36.306845,-114.989432 36.309452,-114.978275 36.312642,-114.977363 +36.311978,-114.975327 36.312344,-114.96502 36.31597,-114.963364 +36.313629,-114.961723 36.313721,-114.956398 36.316057,-114.951882 +36.320979,-114.947073 36.323475,-114.945207 36.326451,-114.945207 +36.326451,-114.944132 36.326061,-114.94003 36.326588,-114.924017 +36.334484,-114.923281 36.334146,-114.92564 36.331504,-114.94072 +36.319282,-114.945348 36.314812,-114.948091 36.314762,-114.951755 +36.316211,-114.952446 36.313883,-114.952644 36.309488,-114.944725 +36.313083,-114.93706 36.32043,-114.932478 36.323497,-114.924556 +36.327708,-114.922608 36.329715,-114.92009 36.328695,-114.912105 +36.323566,-114.901647 36.317952,-114.897436 36.313968,-114.895344 +36.309573,-114.891699 36.304398,-114.890569 36.303551,-114.886356 +36.302702,-114.885141 36.301351,-114.885709 36.297391,-114.892499 +36.290893,-114.902142 36.288974,-114.904941 36.288838,-114.905308 +36.289845,-114.906325 36.290395,-114.909916 36.289549,-114.914527 +36.287535,-114.918797 36.284423,-114.922982 36.279731,-114.924113 +36.277282,-114.924057 36.275817,-114.927733 36.27053,-114.929354 +36.269029,-114.929354 36.269029,-114.950856 36.268715,-114.950768 +36.264324,-114.960206 36.264293,-114.960301 36.268943,-115.006662 +36.268929,-115.008583 36.265619,-115.00665 36.264247,-115.006659 +36.246873,-115.006659 36.246873,-115.006838 36.247697,-115.010764 +36.247774,-115.015609 36.25113,-115.015765 36.254505,-115.029517 +36.254619,-115.038573 36.249317,-115.038573 36.249317,-115.023403 +36.25841,-115.023873 36.258994,-115.031845 36.259829,-115.03183 +36.261053,-115.025561 36.261095,-115.036417 36.274632,-115.033729 +36.276041,-115.032217 36.274851,-115.029845 36.273959,-115.029934 +36.274966,-115.025763 36.274896,-115.025406 36.281044,-115.028731 +36.284471,-115.036497 36.290377,-115.042071 36.291039,-115.026759 +36.298478,-115.008995 36.301966,-115.006363 36.305435),(-115.079835 +36.244369,-115.079735 36.260186,-115.076435 36.262369,-115.069758 +36.265,-115.070235 36.268757,-115.064542 36.268655,-115.061843 +36.269857,-115.062676 36.270693,-115.06305 36.272344,-115.059051 +36.281023,-115.05918 36.283008,-115.060591 36.285246,-115.061913 +36.290022,-115.062499 36.306353,-115.062499 36.306353,-115.060918 +36.30642,-115.06112 36.289779,-115.05713 36.2825,-115.057314 +36.279446,-115.060779 36.274659,-115.061366 36.27209,-115.057858 +36.26557,-115.055805 36.262883,-115.054688 36.262874,-115.047335 +36.25037,-115.044234 36.24637,-115.052434 36.24047,-115.061734 +36.23507,-115.061934 36.22677,-115.061934 36.22677,-115.061491 +36.225267,-115.062024 36.218194,-115.060134 36.218278,-115.060133 +36.210771,-115.057833 36.210771,-115.057433 36.196271,-115.062233 +36.196271,-115.062233 36.190371,-115.062233 36.190371,-115.065533 +36.190371,-115.071333 36.188571,-115.098331 36.188275,-115.098331 +36.188275,-115.098435 36.237569,-115.097535 36.240369,-115.097535 +36.240369,-115.093235 36.240369,-115.089135 36.240469,-115.083135 +36.240569,-115.083135 36.240569,-115.079835 +36.244369)))')),('85998',ST_GeomFromText('MULTIPOLYGON(((-115.333107 +36.264587,-115.333168 36.280638,-115.333168 36.280638,-115.32226 +36.280643,-115.322538 36.274311,-115.327222 36.274258,-115.32733 +36.263026,-115.330675 36.262984,-115.332132 36.264673,-115.333107 +36.264587),(-115.247239 36.247066,-115.247438 36.218267,-115.247438 +36.218267,-115.278525 36.219263,-115.278525 36.219263,-115.301545 +36.219559,-115.332748 36.219197,-115.332757 36.220041,-115.332757 +36.220041,-115.332895 36.233514,-115.349023 36.233479,-115.351489 +36.234475,-115.353681 36.237021,-115.357106 36.239789,-115.36519 +36.243331,-115.368156 36.243487,-115.367389 36.244902,-115.364553 +36.246014,-115.359219 36.24616,-115.356186 36.248025,-115.353347 +36.248004,-115.350813 36.249507,-115.339673 36.25387,-115.333069 +36.255018,-115.333069 36.255018,-115.333042 36.247767,-115.279039 +36.248666,-115.263639 36.247466,-115.263839 36.252766,-115.261439 +36.252666,-115.261439 36.247366,-115.247239 36.247066)))')); + +# Expected result is 115.31877315203187, but IA64 returns 115.31877315203188 +# due to fused multiply-add instructions. +--replace_result 115.29706047613604 115.2970604672862 36.23335611157958 36.23335610879993 +select object_id, ST_geometrytype(geo), ST_ISSIMPLE(GEO), ST_ASTEXT(ST_centroid(geo)) from +t1 where object_id=85998; + +# Expected result is 36.3310176346905, but IA64 returns 36.3310176346904 +# due to fused multiply-add instructions. +--replace_result 114.86854470090232 114.86854472054372 36.34725217627852 36.34725218253213 +select object_id, ST_geometrytype(geo), ST_ISSIMPLE(GEO), ST_ASTEXT(ST_centroid(geo)) from +t1 where object_id=85984; + +drop table t1; + +create table t1 (fl geometry not null); +--error ER_ILLEGAL_PARAMETER_DATA_TYPES2_FOR_OPERATION +insert into t1 values (1); +--error ER_ILLEGAL_PARAMETER_DATA_TYPES2_FOR_OPERATION +insert into t1 values (1.11); +--error 1416 +insert into t1 values ("qwerty"); +--error 1048 +insert into t1 values (ST_pointfromtext('point(1,1)')); + +drop table t1; + +select (ST_asWKT(ST_geomfromwkb((0x000000000140240000000000004024000000000000)))); +select (ST_asWKT(ST_geomfromwkb((0x010100000000000000000024400000000000002440)))); + +--enable_metadata +create table t1 (g GEOMETRY); +select * from t1; +select ST_asbinary(g) from t1; +--disable_metadata +drop table t1; + +create table t1 (a TEXT, b GEOMETRY NOT NULL, SPATIAL KEY(b)); +alter table t1 disable keys; +--error 1263 +load data infile '../../std_data/bad_gis_data.dat' into table t1; +alter table t1 enable keys; +drop table t1; + +# +# Bug #26038: is null and bad data +# + +create table t1 (a int, b blob); +insert into t1 values (1, ''), (2, NULL), (3, '1'); +select * from t1; + +--error ER_ILLEGAL_VALUE_FOR_TYPE +select + ST_geometryfromtext(b) IS NULL, ST_geometryfromwkb(b) IS NULL, ST_astext(b) IS NULL, + ST_aswkb(b) IS NULL, ST_geometrytype(b) IS NULL, ST_centroid(b) IS NULL, + ST_envelope(b) IS NULL, ST_startpoint(b) IS NULL, ST_endpoint(b) IS NULL, + ST_exteriorring(b) IS NULL, ST_pointn(b, 1) IS NULL, ST_geometryn(b, 1) IS NULL, + ST_interiorringn(b, 1) IS NULL, multipoint(b) IS NULL, ST_isempty(b) IS NULL, + ST_issimple(b) IS NULL, ST_isclosed(b) IS NULL, ST_dimension(b) IS NULL, + ST_numgeometries(b) IS NULL, ST_numinteriorrings(b) IS NULL, ST_numpoints(b) IS NULL, + ST_area(b) IS NULL, ST_length(b) IS NULL, ST_srid(b) IS NULL, ST_x(b) IS NULL, + ST_y(b) IS NULL +from t1; + +select + MBRwithin(b, b) IS NULL, MBRcontains(b, b) IS NULL, MBRoverlaps(b, b) IS NULL, + MBRequals(b, b) IS NULL, MBRdisjoint(b, b) IS NULL, ST_touches(b, b) IS NULL, + MBRintersects(b, b) IS NULL, ST_crosses(b, b) IS NULL +from t1; + +--error ER_ILLEGAL_VALUE_FOR_TYPE +select + point(b, b) IS NULL, linestring(b) IS NULL, polygon(b) IS NULL, multipoint(b) IS NULL, + multilinestring(b) IS NULL, multipolygon(b) IS NULL, + geometrycollection(b) IS NULL +from t1; + +drop table t1; + +# +# Bug #27164: Crash when mixing InnoDB and MyISAM Geospatial tables +# +CREATE TABLE t1(a POINT) ENGINE=MyISAM; +INSERT INTO t1 VALUES (NULL); +SELECT * FROM t1; +DROP TABLE t1; + +# +# Bug #30955 ST_geomfromtext() crasher +# +CREATE TABLE `t1` ( `col9` set('a'), `col89` date); +INSERT IGNORE INTO `t1` VALUES ('','0000-00-00'); +select ST_geomfromtext(col9,col89) as a from t1; +DROP TABLE t1; + +# +# Bug #31158 Spatial, Union, LONGBLOB vs BLOB bug (crops data) +# + +CREATE TABLE t1 ( + geomdata polygon NOT NULL, + SPATIAL KEY index_geom (geomdata) +) ENGINE=MyISAM DEFAULT CHARSET=latin2 DELAY_KEY_WRITE=1 ROW_FORMAT=FIXED; + +CREATE TABLE t2 ( + geomdata polygon NOT NULL, + SPATIAL KEY index_geom (geomdata) +) ENGINE=MyISAM DEFAULT CHARSET=latin2 DELAY_KEY_WRITE=1 ROW_FORMAT=FIXED; + +CREATE TABLE t3 +select + ST_aswkb(ws.geomdata) AS geomdatawkb + from + t1 ws +union + select + ST_aswkb(ws.geomdata) AS geomdatawkb + from + t2 ws; + +describe t3; + +drop table t1; +drop table t2; +drop table t3; + +# +# Bug #30284 spatial key corruption +# + +create table t1(col1 geometry default null,col15 geometrycollection not +null,spatial index(col15),index(col1(15)))engine=innodb; +# --error ER_CANT_CREATE_GEOMETRY_OBJECT +insert into t1 set col15 = ST_GeomFromText('POINT(6 5)'); +# --error ER_CANT_CREATE_GEOMETRY_OBJECT +insert into t1 set col15 = ST_GeomFromText('POINT(6 5)'); +check table t1 extended; +drop table t1; + +--echo End of 4.1 tests + +# +# Bug #12281 (Geometry: crash in trigger) +# + +create table t1 (s1 geometry not null,s2 char(100)); +create trigger t1_bu before update on t1 for each row set new.s1 = null; +--error 1048 +insert into t1 values (null,null); +drop table t1; + +# +# Bug #10499 (function creation with GEOMETRY datatype) +# +--disable_warnings +drop procedure if exists fn3; +--enable_warnings +create function fn3 () returns point deterministic return ST_GeomFromText("point(1 1)"); +show create function fn3; +select ST_astext(fn3()); +drop function fn3; + +# +# Bug #12267 (primary key over GIS) +# +create table t1(pt POINT); +alter table t1 add primary key pti(pt); +drop table t1; +create table t1(pt GEOMETRY); +--error 1170 +alter table t1 add primary key pti(pt); +alter table t1 add primary key pti(pt(20)); +drop table t1; + + +create table t1 select ST_GeomFromText('point(1 1)'); +desc t1; +drop table t1; + +# +# Bug #20691 (DEFAULT over NOT NULL field) +# +create table t1 (g geometry not null); +--error ER_CANT_CREATE_GEOMETRY_OBJECT +insert into t1 values(default); +drop table t1; + +# +# Bug #27300: create view with geometry functions lost columns types +# +CREATE TABLE t1 (a GEOMETRY); +CREATE VIEW v1 AS SELECT ST_GeomFromwkb(ST_ASBINARY(a)) FROM t1; +CREATE VIEW v2 AS SELECT a FROM t1; +DESCRIBE v1; +DESCRIBE v2; + +DROP VIEW v1,v2; +DROP TABLE t1; + +# +# Bug#24563: MBROverlaps does not seem to function propertly +# Bug#54888: MBROverlaps missing in 5.1? +# + +# Test all MBR* functions and their non-MBR-prefixed aliases, +# using shifted squares to verify the spatial relations. + +create table t1 (name VARCHAR(100), square GEOMETRY); + +INSERT INTO t1 VALUES("center", ST_GeomFromText('POLYGON (( 0 0, 0 2, 2 2, 2 0, 0 0))')); + +INSERT INTO t1 VALUES("small", ST_GeomFromText('POLYGON (( 0 0, 0 1, 1 1, 1 0, 0 0))')); +INSERT INTO t1 VALUES("big", ST_GeomFromText('POLYGON (( 0 0, 0 3, 3 3, 3 0, 0 0))')); + +INSERT INTO t1 VALUES("up", ST_GeomFromText('POLYGON (( 0 1, 0 3, 2 3, 2 1, 0 1))')); +INSERT INTO t1 VALUES("up2", ST_GeomFromText('POLYGON (( 0 2, 0 4, 2 4, 2 2, 0 2))')); +INSERT INTO t1 VALUES("up3", ST_GeomFromText('POLYGON (( 0 3, 0 5, 2 5, 2 3, 0 3))')); + +INSERT INTO t1 VALUES("down", ST_GeomFromText('POLYGON (( 0 -1, 0 1, 2 1, 2 -1, 0 -1))')); +INSERT INTO t1 VALUES("down2", ST_GeomFromText('POLYGON (( 0 -2, 0 0, 2 0, 2 -2, 0 -2))')); +INSERT INTO t1 VALUES("down3", ST_GeomFromText('POLYGON (( 0 -3, 0 -1, 2 -1, 2 -3, 0 -3))')); + +INSERT INTO t1 VALUES("right", ST_GeomFromText('POLYGON (( 1 0, 1 2, 3 2, 3 0, 1 0))')); +INSERT INTO t1 VALUES("right2", ST_GeomFromText('POLYGON (( 2 0, 2 2, 4 2, 4 0, 2 0))')); +INSERT INTO t1 VALUES("right3", ST_GeomFromText('POLYGON (( 3 0, 3 2, 5 2, 5 0, 3 0))')); + +INSERT INTO t1 VALUES("left", ST_GeomFromText('POLYGON (( -1 0, -1 2, 1 2, 1 0, -1 0))')); +INSERT INTO t1 VALUES("left2", ST_GeomFromText('POLYGON (( -2 0, -2 2, 0 2, 0 0, -2 0))')); +INSERT INTO t1 VALUES("left3", ST_GeomFromText('POLYGON (( -3 0, -3 2, -1 2, -1 0, -3 0))')); + +SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrcontains FROM t1 a1 JOIN t1 a2 ON MBRContains( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name; +SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrdisjoint FROM t1 a1 JOIN t1 a2 ON MBRDisjoint( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name; +SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrequals FROM t1 a1 JOIN t1 a2 ON MBREquals( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name; +SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrintersect FROM t1 a1 JOIN t1 a2 ON MBRIntersects( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name; +SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbroverlaps FROM t1 a1 JOIN t1 a2 ON MBROverlaps( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name; +SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrtouches FROM t1 a1 JOIN t1 a2 ON MBRTouches( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name; +SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS mbrwithin FROM t1 a1 JOIN t1 a2 ON MBRWithin( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name; + +SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS MBRcontains FROM t1 a1 JOIN t1 a2 ON MBRContains( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name; +SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS MBRdisjoint FROM t1 a1 JOIN t1 a2 ON MBRDisjoint( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name; +SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS MBRequals FROM t1 a1 JOIN t1 a2 ON MBREquals( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name; +SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS intersects FROM t1 a1 JOIN t1 a2 ON MBRIntersects( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name; +SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS MBRoverlaps FROM t1 a1 JOIN t1 a2 ON MBROverlaps( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name; +SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS ST_touches FROM t1 a1 JOIN t1 a2 ON ST_Touches( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name; +SELECT GROUP_CONCAT(a2.name ORDER BY a2.name) AS MBRwithin FROM t1 a1 JOIN t1 a2 ON MBRWithin( a1.square, a2.square) WHERE a1.name = "center" GROUP BY a1.name; + +# MBROverlaps needs a few more tests, with point and line dimensions + +SET @vert1 = ST_GeomFromText('POLYGON ((0 -2, 0 2, 0 -2))'); +SET @horiz1 = ST_GeomFromText('POLYGON ((-2 0, 2 0, -2 0))'); +SET @horiz2 = ST_GeomFromText('POLYGON ((-1 0, 3 0, -1 0))'); +SET @horiz3 = ST_GeomFromText('POLYGON ((2 0, 3 0, 2 0))'); +SET @point1 = ST_GeomFromText('POLYGON ((0 0))'); +SET @point2 = ST_GeomFromText('POLYGON ((-2 0))'); + +SELECT GROUP_CONCAT(a1.name ORDER BY a1.name) AS MBRoverlaps FROM t1 a1 WHERE MBROverlaps(a1.square, @vert1) GROUP BY a1.name; +SELECT GROUP_CONCAT(a1.name ORDER BY a1.name) AS MBRoverlaps FROM t1 a1 WHERE MBROverlaps(a1.square, @horiz1) GROUP BY a1.name; +SELECT MBROverlaps(@horiz1, @vert1) FROM DUAL; +SELECT MBROverlaps(@horiz1, @horiz2) FROM DUAL; +SELECT MBROverlaps(@horiz1, @horiz3) FROM DUAL; +SELECT MBROverlaps(@horiz1, @point1) FROM DUAL; +SELECT MBROverlaps(@horiz1, @point2) FROM DUAL; + +DROP TABLE t1; + +# +# Bug#28763: Selecting geometry fields in UNION caused server crash. +# +create table t1(f1 geometry, f2 polygon, f3 linestring); +select f1 from t1 union select f1 from t1; +insert into t1 (f2,f3) values (ST_GeomFromText('POLYGON((10 10,20 10,20 20,10 20,10 10))'), ST_GeomFromText('LINESTRING(0 0,1 1,2 2)')); +select ST_AsText(f2),ST_AsText(f3) from t1; +select ST_AsText(a) from (select f2 as a from t1 union select f3 from t1) t; +create table t2 as select f2 as a from t1 union select f3 from t1; +desc t2; +select ST_AsText(a) from t2; +drop table t1, t2; + +# +# Bug #29166: MYsql crash when query is run +# + +# The test query itself is not logged : too large output. +# The real test is the second query : see if the first hasn't crashed the +# server +--disable_query_log +--disable_result_log +SELECT ST_AsText(ST_GeometryFromText(CONCAT( + 'MULTIPOLYGON(((', + REPEAT ('-0.00000000001234567890123456789012 -0.123456789012345678,', 1000), + '-0.00000000001234567890123456789012 -0.123456789012345678', + ')))' +))) AS a; +--enable_result_log +--enable_query_log +SELECT 1; + +-- source include/gis_keys.inc + +# +# Bug #31155 gis types in union'd select cause crash +# + +create table `t1` (`col002` point)engine=innodb; +insert into t1 values (),(),(); +# --error ER_WRONG_ARGUMENTS +select min(`col002`) from t1 union select `col002` from t1; +drop table t1; + +--echo # +--echo # Bug #47780: crash when comparing GIS items from subquery +--echo # + +CREATE TABLE t1(a INT, b MULTIPOLYGON); +INSERT INTO t1 VALUES + (0, + ST_GEOMFROMTEXT( + 'multipolygon(((1 2,3 4,5 6,7 8,9 8,1 2,1 2),(7 6,5 4,3 2,1 2,3 4,7 6)))')); + +--echo # must not crash +--error ER_ILLEGAL_PARAMETER_DATA_TYPES2_FOR_OPERATION +SELECT 1 FROM t1 WHERE a <> (SELECT ST_GEOMETRYCOLLECTIONFROMWKB(b) FROM t1); + +DROP TABLE t1; + +--echo # +--echo # Bug #49250 : spatial btree index corruption and crash +--echo # Part one : spatial syntax check +--echo # + +--error ER_PARSE_ERROR +CREATE TABLE t1(col1 MULTIPOLYGON NOT NULL, + SPATIAL INDEX USING BTREE (col1)); +CREATE TABLE t2(col1 MULTIPOLYGON NOT NULL); +--error ER_PARSE_ERROR +CREATE SPATIAL INDEX USING BTREE ON t2(col); +--error ER_PARSE_ERROR +ALTER TABLE t2 ADD SPATIAL INDEX USING BTREE (col1); + +DROP TABLE t2; + +--echo End of 5.0 tests + + +# +# Bug #11335 View redefines column types +# +create table t1 (f1 tinyint(1), f2 char(1), f3 varchar(1), f4 geometry, f5 datetime); +create view v1 as select * from t1; +desc v1; +drop view v1; +drop table t1; + +# +# Bug#44684: valgrind reports invalid reads in +# Item_func_spatial_collection::val_str +# +--error ER_ILLEGAL_PARAMETER_DATA_TYPE_FOR_OPERATION +SELECT MultiPoint(12345,''); +#SELECT MultiPoint(123451,''); +#SELECT MultiPoint(1234512,''); +#SELECT MultiPoint(12345123,''); + +--error ER_ILLEGAL_VALUE_FOR_TYPE +#SELECT MultiLineString(12345,''); +#SELECT MultiLineString(123451,''); +#SELECT MultiLineString(1234512,''); +#SELECT MultiLineString(12345123,''); + +--error ER_ILLEGAL_VALUE_FOR_TYPE +#SELECT LineString(12345,''); +#SELECT LineString(123451,''); +#SELECT LineString(1234512,''); +#SELECT LineString(12345123,''); + +--error ER_ILLEGAL_VALUE_FOR_TYPE +#SELECT Polygon(12345,''); +#SELECT Polygon(123451,''); +#SELECT Polygon(1234512,''); +#SELECT Polygon(12345123,''); + +# +# Bug55531 crash with conversions of geometry types / strings +# +--error ER_ILLEGAL_PARAMETER_DATA_TYPE_FOR_OPERATION +SELECT 1 FROM (SELECT GREATEST(1,GEOMETRYCOLLECTION('00000','00000')) b FROM DUAL) AS d WHERE (LINESTRING(d.b)); + + +--echo # +--echo # BUG#51875: crash when loading data into geometry function ST_polyfromwkb +--echo # +SET @a=0x00000000030000000100000000000000000000000000144000000000000014400000000000001840000000000000184000000000000014400000000000001440; +SET @a=ST_POLYFROMWKB(@a); +SET @a=0x00000000030000000000000000000000000000000000144000000000000014400000000000001840000000000000184000000000000014400000000000001440; +SET @a=ST_POLYFROMWKB(@a); + + +# +# Bug #57321 crashes and valgrind errors from spatial types +# + +create table t1(a polygon NOT NULL)engine=innodb; +# --error ER_CANT_CREATE_GEOMETRY_OBJECT +--error ER_TRUNCATED_WRONG_VALUE_FOR_FIELD +insert into t1 values (ST_geomfromtext("point(0 1)")); +# --error ER_CANT_CREATE_GEOMETRY_OBJECT +--error ER_TRUNCATED_WRONG_VALUE_FOR_FIELD +insert into t1 values (ST_geomfromtext("point(1 0)")); +select * from (select polygon(t1.a) as p from t1 order by t1.a) d; +drop table t1; + + +--echo # +--echo # Test for bug #59888 "debug assertion when attempt to create spatial index +--echo # on char > 31 bytes". +--echo # +create table t1(a char(32) not null) engine=innodb; +# --error ER_SPATIAL_MUST_HAVE_GEOM_COL +--error ER_WRONG_ARGUMENTS +create spatial index i on t1 (a); +drop table t1; + + +--echo End of 5.1 tests + +# +# Bug #50574 5.5.ST_x allows spatial indexes on non-spatial +# columns, causing crashes! +# Bug#11767480 SPATIAL INDEXES ON NON-SPATIAL COLUMNS +# CAUSE CRASHES. +# +CREATE TABLE t0 (a BINARY(32) NOT NULL); +# --error ER_SPATIAL_MUST_HAVE_GEOM_COL +--error ER_WRONG_ARGUMENTS +CREATE SPATIAL INDEX i on t0 (a); +INSERT INTO t0 VALUES (1); + +# --error ER_SPATIAL_MUST_HAVE_GEOM_COL +--error ER_WRONG_ARGUMENTS +CREATE TABLE t1( + col0 BINARY NOT NULL, + col2 TIMESTAMP, + SPATIAL INDEX i1 (col0) +) ENGINE=MyISAM; + +# Test other ways to add indices +CREATE TABLE t1 ( + col0 BINARY NOT NULL, + col2 TIMESTAMP +) ENGINE=MyISAM; + +# --error ER_SPATIAL_MUST_HAVE_GEOM_COL +--error ER_WRONG_ARGUMENTS +CREATE SPATIAL INDEX idx0 ON t1(col0); + +# --error ER_SPATIAL_MUST_HAVE_GEOM_COL +--error ER_WRONG_ARGUMENTS +ALTER TABLE t1 ADD SPATIAL INDEX i1 (col0); + +CREATE TABLE t2 ( + col0 INTEGER NOT NULL, + col1 POINT, + col2 POINT +); + +# --error ER_TOO_MANY_KEY_PARTS +--error ER_WRONG_ARGUMENTS +CREATE SPATIAL INDEX idx0 ON t2 (col1, col2); + +# --error ER_TOO_MANY_KEY_PARTS +--error ER_WRONG_ARGUMENTS +CREATE TABLE t3 ( + col0 INTEGER NOT NULL, + col1 POINT, + col2 LINESTRING, + SPATIAL INDEX i1 (col1, col2) +); + +# cleanup +DROP TABLE t0, t1, t2; + + +--echo # +--echo # BUG#12414917 - ST_ISCLOSED() CRASHES ON 64-BIT BUILDS +--echo # +# --error ER_GIS_DATA_WRONG_ENDIANESS +SELECT ST_ISCLOSED(CONVERT(CONCAT(' ', 0x2), BINARY(20))); + +--echo # +--echo # BUG#12537203 - CRASH WHEN SUBSELECTING GLOBAL VARIABLES IN +--echo # GEOMETRY FUNCTION ARGUMENTS +--echo # +--replace_regex /non geometric .* value/non geometric '' value/ +--error ER_ILLEGAL_PARAMETER_DATA_TYPE_FOR_OPERATION +SELECT GEOMETRYCOLLECTION((SELECT @@OLD)); + + +--echo End of 5.1 tests + + +--echo # +--echo # Bug#11908153: CRASH AND/OR VALGRIND ERRORS IN FIELD_BLOB::GET_KEY_IMAGE +--echo # + +CREATE TABLE g1 +(a geometry NOT NULL, UNIQUE KEY i (a(151))) engine=innodb; + +INSERT INTO g1 VALUES (ST_geomfromtext('point(1 1)')); +INSERT INTO g1 VALUES (ST_geomfromtext('point(1 2)')); + +FLUSH TABLES; + +--error ER_ILLEGAL_PARAMETER_DATA_TYPES2_FOR_OPERATION +SELECT 1 FROM g1 +FORCE INDEX(i) WHERE a = date_sub(now(), interval 2808.4 year_month) +; + +DROP TABLE g1; + +--echo # +--echo # Bug#13013970 MORE CRASHES IN FIELD_BLOB::GET_KEY_IMAGE +--echo # + +CREATE TABLE g1(a TEXT NOT NULL, KEY(a(255))); + +INSERT INTO g1 VALUES ('a'),('a'); +SELECT 1 FROM g1 WHERE a >= ANY +(SELECT 1 FROM g1 WHERE a = ST_geomfromtext('') OR a) ; + +DROP TABLE g1; + +--echo End of 5.5 tests + + +# Conformance tests +# +# C.3.3 Geometry types and functions +# + +--disable_warnings +DROP DATABASE IF EXISTS gis_ogs; +--enable_warnings + +CREATE DATABASE gis_ogs; +USE gis_ogs; + +--echo # +--echo # C.3.3.1 Geometry types and functions schema construction +--echo # + +# TODO: WL#2377 +#CREATE TABLE spatial_ref_sys ( +#ST_srid INTEGER NOT NULL PRIMARY KEY, +#auth_name CHARACTER VARYING, +#auth_srid INTEGER, +#srtext CHARACTER VARYING(2048)); + +CREATE TABLE lakes ( + fid INTEGER NOT NULL PRIMARY KEY, + name CHARACTER VARYING(64), + shore POLYGON); + +CREATE TABLE road_segments ( + fid INTEGER NOT NULL PRIMARY KEY, + name CHARACTER VARYING(64), + aliases CHARACTER VARYING(64), + num_lanes INTEGER, + centerline LINESTRING); + +CREATE TABLE divided_routes ( + fid INTEGER NOT NULL PRIMARY KEY, + name CHARACTER VARYING(64), + num_lanes INTEGER, + centerlines MULTILINESTRING); + +CREATE TABLE forests ( + fid INTEGER NOT NULL PRIMARY KEY, + name CHARACTER VARYING(64), + boundary MULTIPOLYGON); + +CREATE TABLE bridges ( + fid INTEGER NOT NULL PRIMARY KEY, + name CHARACTER VARYING(64), + position POINT); + +CREATE TABLE streams ( + fid INTEGER NOT NULL PRIMARY KEY, + name CHARACTER VARYING(64), + centerline LINESTRING); + +CREATE TABLE buildings ( + fid INTEGER NOT NULL PRIMARY KEY, + address CHARACTER VARYING(64), + position POINT, + footprint POLYGON); + +CREATE TABLE ponds ( + fid INTEGER NOT NULL PRIMARY KEY, + name CHARACTER VARYING(64), + type CHARACTER VARYING(64), + shores MULTIPOLYGON); + +CREATE TABLE named_places ( + fid INTEGER NOT NULL PRIMARY KEY, + name CHARACTER VARYING(64), + boundary POLYGON); + +CREATE TABLE map_neatlines ( + fid INTEGER NOT NULL PRIMARY KEY, + neatline POLYGON); + +--echo # +--echo # C.3.3.2 Geometry types and functions schema data loading +--echo # + +# TODO: WL#2377 +#-- Spatial Reference System +#INSERT INTO spatial_ref_sys VALUES +#(101, 'POSC', 32214, 'PROJCS["UTM_ZONE_14N", +#GEOGCS["World Geodetic System 72", +#DATUM["WGS_72", +#ELLIPSOID["NWL_10D", 6378135, 298.26]], +#PRIMEM["Greenwich", 0], +#UNIT["Meter", 1.0]], +#PROJECTION["Transverse_Mercator"], +#PARAMETER["False_Easting", 500000.0], +#PARAMETER["False_Northing", 0.0], +#PARAMETER["Central_Meridian", -99.0], +#PARAMETER["Scale_Factor", 0.9996], +#PARAMETER["Latitude_of_origin", 0.0], +#UNIT["Meter", 1.0]]'); + +--echo # Lakes +INSERT INTO lakes VALUES ( +101, 'BLUE LAKE', +ST_PolyFromText( +'POLYGON( +(52 18,66 23,73 9,48 6,52 18), +(59 18,67 18,67 13,59 13,59 18) +)', +101)); + + +--echo # Road Segments + +INSERT INTO road_segments VALUES(102, 'Route 5', NULL, 2, +ST_LineFromText( +'LINESTRING( 0 18, 10 21, 16 23, 28 26, 44 31 )' ,101)); + +INSERT INTO road_segments VALUES(103, 'Route 5', 'Main Street', 4, +ST_LineFromText( +'LINESTRING( 44 31, 56 34, 70 38 )' ,101)); + +INSERT INTO road_segments VALUES(104, 'Route 5', NULL, 2, +ST_LineFromText( +'LINESTRING( 70 38, 72 48 )' ,101)); + +INSERT INTO road_segments VALUES(105, 'Main Street', NULL, 4, +ST_LineFromText( +'LINESTRING( 70 38, 84 42 )' ,101)); + +INSERT INTO road_segments VALUES(106, 'Dirt Road by Green Forest', NULL, +1, +ST_LineFromText( +'LINESTRING( 28 26, 28 0 )',101)); + +--echo # DividedRoutes + +INSERT INTO divided_routes VALUES(119, 'Route 75', 4, +ST_MLineFromText( +'MULTILINESTRING((10 48,10 21,10 0), +(16 0,16 23,16 48))', 101)); + +--echo # Forests + +INSERT INTO forests VALUES(109, 'Green Forest', +ST_MPolyFromText( +'MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26), +(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18)))', +101)); + +--echo # Bridges + +INSERT INTO bridges VALUES(110, 'Cam Bridge', ST_PointFromText( +'POINT( 44 31 )', 101)); + +--echo # Streams + +INSERT INTO streams VALUES(111, 'Cam Stream', +ST_LineFromText( +'LINESTRING( 38 48, 44 41, 41 36, 44 31, 52 18 )', 101)); + +INSERT INTO streams VALUES(112, NULL, +ST_LineFromText( +'LINESTRING( 76 0, 78 4, 73 9 )', 101)); + +--echo # Buildings + +INSERT INTO buildings VALUES(113, '123 Main Street', +ST_PointFromText( +'POINT( 52 30 )', 101), +ST_PolyFromText( +'POLYGON( ( 50 31, 54 31, 54 29, 50 29, 50 31) )', 101)); + +INSERT INTO buildings VALUES(114, '215 Main Street', +ST_PointFromText( +'POINT( 64 33 )', 101), +ST_PolyFromText( +'POLYGON( ( 66 34, 62 34, 62 32, 66 32, 66 34) )', 101)); + + +--echo # Ponds + +INSERT INTO ponds VALUES(120, NULL, 'Stock Pond', +ST_MPolyFromText( +'MULTIPOLYGON( ( ( 24 44, 22 42, 24 40, 24 44) ), +( ( 26 44, 26 40, 28 42, 26 44) ) )', 101)); + +--echo # Named Places + +INSERT INTO named_places VALUES(117, 'Ashton', +ST_PolyFromText( +'POLYGON( ( 62 48, 84 48, 84 30, 56 30, 56 34, 62 48) )', 101)); + +INSERT INTO named_places VALUES(118, 'Goose Island', +ST_PolyFromText( +'POLYGON( ( 67 13, 67 18, 59 18, 59 13, 67 13) )', 101)); + +--echo # Map Neatlines + +INSERT INTO map_neatlines VALUES(115, +ST_PolyFromText( +'POLYGON( ( 0 0, 0 48, 84 48, 84 0, 0 0 ) )', 101)); + +--echo # +--echo # C.3.3.3 Geometry types and functions schema test queries +--echo + +# TODO: WL#2377 +#--echo # Conformance Item T1 +#SELECT f_table_name +#FROM geometry_columns; +# +#--echo # Conformance Item T2 +#SELECT f_geometry_column +#FROM geometry_columns +#WHERE f_table_name = 'streams'; +# +#--echo # Conformance Item T3 +#SELECT coord_dimension +#FROM geometry_columns +#WHERE f_table_name = 'streams'; +# +#--echo # Conformance Item T4 +# +#SELECT ST_srid +#FROM geometry_columns +#WHERE f_table_name = 'streams'; +# +#--echo # Conformance Item T5 +# +#SELECT srtext +#FROM SPATIAL_REF_SYS +#WHERE ST_SRID = 101; +# + + +--echo # Conformance Item T6 +# TODO: ST_Dimension() alias +SELECT ST_Dimension(shore) +FROM lakes +WHERE name = 'Blue Lake'; + +--echo # Conformance Item T7 +# TODO: ST_GeometryType() alias +SELECT ST_GeometryType(centerlines) +FROM divided_routes +WHERE name = 'Route 75'; + +--echo # Conformance Item T8 +# TODO: ST_AsText() alias +SELECT ST_AsText(boundary) +FROM named_places +WHERE name = 'Goose Island'; + +--echo # Conformance Item T9 +# TODO: ST_AsBinary(), ST_PolyFromWKB() aliases +SELECT ST_AsText(ST_PolyFromWKB(ST_AsBinary(boundary),101)) +FROM named_places +WHERE name = 'Goose Island'; + +--echo # Conformance Item T10 +# TODO: ST_SRID() alias +SELECT ST_SRID(boundary) +FROM named_places +WHERE name = 'Goose Island'; + +--echo # Conformance Item T11 +# TODO: ST_IsEmpty() alias +SELECT ST_IsEmpty(centerline) +FROM road_segments +WHERE name = 'Route 5' +AND aliases = 'Main Street'; + +# FIXME: get wrong result:0, expected 1. +#--echo # Conformance Item T12 +# TODO: ST_IsSimple() alias +#SELECT ST_IsSimple(shore) +#FROM lakes +#WHERE name = 'Blue Lake'; + +# TODO: WL#2377 +#--echo # Conformance Item T13 +#SELECT ST_AsText(Boundary((boundary),101) +#FROM named_places +#WHERE name = 'Goose Island'; + +--echo # Conformance Item T14 +# TODO: ST_Envelope( ) alias +# FIXME: we get anticlockwise, GIS suggests clockwise +SELECT ST_AsText(ST_Envelope(boundary)) +FROM named_places +WHERE name = 'Goose Island'; + +--echo # Conformance Item T15 +# TODO: ST_X() alias +SELECT ST_X(position) +FROM bridges +WHERE name = 'Cam Bridge'; + +--echo # Conformance Item T16 +# TODO: ST_Y() alias +SELECT ST_Y(position) +FROM bridges +WHERE name = 'Cam Bridge'; + +--echo # Conformance Item T17 +# TODO: ST_StartPoint() alias +SELECT ST_AsText(ST_StartPoint(centerline)) +FROM road_segments +WHERE fid = 102; + +--echo # Conformance Item T18 +# TODO: ST_EndPoint +SELECT ST_AsText(ST_EndPoint(centerline)) +FROM road_segments +WHERE fid = 102; + +# TODO: WL#2377 +#--echo # Conformance Item T19 +# TODO: ST_LineFromWKB() alias +#SELECT ST_IsClosed(LineFromWKB(ST_AsBinary(Boundary(boundary)),ST_SRID(boundary))) +#FROM named_places +#WHERE name = 'Goose Island'; + +# TODO: WL#2377 +#--echo # Conformance Item T20 +#SELECT IsRing(LineFromWKB(ST_AsBinary(Boundary(boundary)),ST_SRID(boundary))) +#FROM named_places +#WHERE name = 'Goose Island'; + +--echo # Conformance Item T21 +# TODO: ST_Length() alias +SELECT ST_Length(centerline) +FROM road_segments +WHERE fid = 106; + +--echo # Conformance Item T22 +# TODO: ST_NumPoints() alias +SELECT ST_NumPoints(centerline) +FROM road_segments +WHERE fid = 102; + +--echo # Conformance Item T23 +# TODO: ST_PointN() alias +SELECT ST_AsText(ST_PointN(centerline, 1)) +FROM road_segments +WHERE fid = 102; + +--echo # Conformance Item T24 +# TODO: ST_Centroid() alias +SELECT ST_AsText(ST_Centroid(boundary)) +FROM named_places +WHERE name = 'Goose Island'; + +# TODO: WL#2377 +#--echo # Conformance Item T25 +#SELECT MBRContains(boundary, PointOnSurface(boundary)) +#FROM named_places +#WHERE name = 'Goose Island'; + +--echo # Conformance Item T26 +# TODO: ST_Area() alias +SELECT ST_Area(boundary) +FROM named_places +WHERE name = 'Goose Island'; + +--echo # Conformance Item T27 +# TODO: ST_ExteriorRing() alias +SELECT ST_AsText(ST_ExteriorRing(shore)) +FROM lakes +WHERE name = 'Blue Lake'; + +--echo # Conformance Item T28 +# TODO: ST_NumInteriorRings() alias +SELECT ST_NumInteriorRings(shore) +FROM lakes +WHERE name = 'Blue Lake'; + +--echo # Conformance Item T29 +# TODO: ST_InteriorRingN() alias +SELECT ST_AsText(ST_InteriorRingN(shore, 1)) +FROM lakes +WHERE name = 'Blue Lake'; + +--echo # Conformance Item T30 +# TODO: ST_NumGeometries() alias +SELECT ST_NumGeometries(centerlines) +FROM divided_routes +WHERE name = 'Route 75'; + +--echo # Conformance Item T31 +# TODO: ST_GeometryN() alias +SELECT ST_AsText(ST_GeometryN(centerlines, 2)) +FROM divided_routes +WHERE name = 'Route 75'; + +--echo # Conformance Item T32 +# TODO: ST_IsClosed() alias +SELECT ST_IsClosed(centerlines) +FROM divided_routes +WHERE name = 'Route 75'; + +--echo # Conformance Item T33 +# TODO: ST_Length() alias +SELECT ST_Length(centerlines) +FROM divided_routes +WHERE name = 'Route 75'; + +--echo # Conformance Item T34 +# TODO: ST_Centroid() alias +SELECT ST_AsText(ST_Centroid(shores)) +FROM ponds +WHERE fid = 120; + +# TODO: WL#2377 +#--echo # Conformance Item T35 +#SELECT MBRContains(shores, PointOnSurface(shores)) +#FROM ponds +#WHERE fid = 120; + +--echo # Conformance Item T36 +# TODO: ST_Area() alias +SELECT ST_Area(shores) +FROM ponds +WHERE fid = 120; + +--echo # Conformance Item T37 +# TODO: ST_PolyFromText() alias +SELECT ST_Equals(boundary, +ST_PolyFromText('POLYGON( ( 67 13, 67 18, 59 18, 59 13, 67 13) )',101)) +FROM named_places +WHERE name = 'Goose Island'; + +--echo # Conformance Item T38 +SELECT ST_Disjoint(centerlines, boundary) +FROM divided_routes, named_places +WHERE divided_routes.name = 'Route 75' +AND named_places.name = 'Ashton'; + +--echo # Conformance Item T39 +SELECT ST_Touches(centerline, shore) +FROM streams, lakes +WHERE streams.name = 'Cam Stream' +AND lakes.name = 'Blue Lake'; + +# FIXME: wrong result: get 0, expected 1 +#--echo # Conformance Item T40 +#SELECT ST_Within(boundary, footprint) +#FROM named_places, buildings +#WHERE named_places.name = 'Ashton' +#AND buildings.address = '215 Main Street'; + +# FIXME: wrong result: get 0, expected 1 +#--echo # Conformance Item T41 +#SELECT ST_Overlaps(forests.boundary, named_places.boundary) +#FROM forests, named_places +#WHERE forests.name = 'Green Forest' +#AND named_places.name = 'Ashton'; + +--echo # Conformance Item T42 +# FIXME: TODO: ST_Crosses() alias +SELECT ST_Crosses(road_segments.centerline, divided_routes.centerlines) +FROM road_segments, divided_routes +WHERE road_segments.fid = 102 +AND divided_routes.name = 'Route 75'; + +--echo # Conformance Item T43 +SELECT ST_Intersects(road_segments.centerline, divided_routes.centerlines) +FROM road_segments, divided_routes +WHERE road_segments.fid = 102 +AND divided_routes.name = 'Route 75'; + +--echo # Conformance Item T44 +SELECT ST_Contains(forests.boundary, named_places.boundary) +FROM forests, named_places +WHERE forests.name = 'Green Forest' +AND named_places.name = 'Ashton'; + +# TODO: WL#2377 +#--echo # Conformance Item T45 +#SELECT Relate(forests.boundary, named_places.boundary, 'TTTTTTTTT') +#FROM forests, named_places +#WHERE forests.name = 'Green Forest' +#AND named_places.name = 'Ashton'; + +--echo # Conformance Item T46 +SELECT ST_Distance(position, boundary) +FROM bridges, named_places +WHERE bridges.name = 'Cam Bridge' +AND named_places.name = 'Ashton'; + +# FIXME: wrong result: NULL, expected 12 +#--echo # Conformance Item T47 +#SELECT ST_AsText(ST_Intersection(centerline, shore)) +#FROM streams, lakes +#WHERE streams.name = 'Cam Stream' +#AND lakes.name = 'Blue Lake'; + +--echo # Conformance Item T48 +SELECT ST_AsText(ST_Difference(named_places.boundary, forests.boundary)) +FROM named_places, forests +WHERE named_places.name = 'Ashton' +AND forests.name = 'Green Forest'; + +#--echo # Conformance Item T49 +SELECT ST_AsText(ST_Union(shore, boundary)) +FROM lakes, named_places +WHERE lakes.name = 'Blue Lake' +AND named_places.name = 'Goose Island'; + +--echo # Conformance Item T50 +SELECT ST_AsText(ST_SymDifference(shore, boundary)) +FROM lakes, named_places +WHERE lakes.name = 'Blue Lake' +AND named_places.name = 'Ashton'; + +--echo # Conformance Item T51 +SELECT count(*) +FROM buildings, bridges +WHERE ST_Contains(ST_Buffer(bridges.position, 15.0), buildings.footprint) = 1; + +# TODO: WL#2377 +#--echo # Conformance Item T52 +#SELECT ST_AsText(ConvexHull(shore)) +#FROM lakes +#WHERE lakes.name = 'Blue Lake'; + +--echo # +--echo # Bug#13362660 ASSERTION `FIELD_POS < FIELD_COUNT' FAILED. IN PROTOCOL_TEXT::STORE +--echo # + +--error ER_ILLEGAL_PARAMETER_DATA_TYPE_FOR_OPERATION +SELECT ST_Union('', ''), md5(1); + +--echo # +--echo # MDEV-25758 InnoDB spatial indexes miss large geometry +--echo # fields after MDEV-25459 +--echo # +CREATE TABLE t1(l LINESTRING NOT NULL, SPATIAL INDEX(l))ENGINE=InnoDB; +SELECT GROUP_CONCAT(CONCAT(seq, ' ', seq) SEPARATOR ',') INTO @g FROM seq_0_to_504; +INSERT INTO t1 SET l=ST_GeomFromText(CONCAT('LINESTRING(',@g,',0 0)')); +SELECT COUNT(*) FROM t1 WHERE MBRIntersects(GeomFromText('Polygon((0 0,0 10,10 10,10 0,0 0))'), l); +DROP TABLE t1; + +DROP DATABASE gis_ogs; + +SET GLOBAL innodb_stats_persistent=@save_innodb_stats_persistent; diff --git a/mysql-test/suite/innodb_gis/t/gis_split_inf.test b/mysql-test/suite/innodb_gis/t/gis_split_inf.test new file mode 100644 index 00000000..addd2dbd --- /dev/null +++ b/mysql-test/suite/innodb_gis/t/gis_split_inf.test @@ -0,0 +1,27 @@ +--source include/have_innodb.inc + +create table t1(a geometrycollection not null,spatial key(a))engine=innodb; + +--error ER_GIS_INVALID_DATA,ER_BAD_NULL_ERROR +insert into t1(a) values( geometrycollection(multipolygon(polygon(linestring(point(-14,98), point(-14,98)), linestring(point(-97,64), point(-70,99), point(-97,64)), linestring(point(143851215403059150000000000000000000000.000000,13040009882500140000000000000000000000.000000), point(-73,85), point(-88,-29)))), multipolygon(polygon(linestring(point(41,95), point(4294967298,2050)), linestring(point(-61,85), point(-75,93), point(14,-2), point(1,84), point(-61,85)), linestring(point(-62,52), point(39,5), point(-18,12), point(-62,52))), polygon(linestring(point(-77,1), point(66,61), point(-77,1)), linestring(point(18446744073709551615,1125899906842622), point(-72,49), point(24,-66), point(82,73), point(68,22))), polygon(linestring(point(1048576,17179869181), point(-18,95), point(-90,-3), point(-33,82), point(20,-85)), linestring(point(-43,-97), point(-7,-3), point(39,-82), point(-65,-58), point(-43,-97)), linestring(point(44,-34), point(-69,58), point(44,-34)), linestring(point(57,-13), point(-17,74), point(57,-13)), linestring(point(3,71), point(-58,81), point(3,71)), linestring(point(9,25), point(77,-71), point(8388607,67108864), point(46,46), point(9,25)), linestring(point(98,-82), point(98,-82))))) ) ; + +insert into t1(a) values( geometrycollection(multilinestring(linestring(point(39,-60), point(-62,-11), point(-24,35), point(54,1)), linestring(point(-4,69), point(-22,-64), point(1.694824e+308,5.688896e+307), point(-33,-58), point(-64,-80), point(-15,-44), point(40,54)), linestring(point(-86,-54), point(11,41), point(-46,-38), point(-21,-8), point(10,70), point(-81,22), point(-46,-100)), linestring(point(-30,-48), point(50,58), point(-53,92), point(10,41), point(-46,-8)), linestring(point(-65,34), point(-92,93), point(-33,-74), point(75,-28)), linestring(point(25,-55), point(22,-10), point(-42,0), point(-86,-59), point(2,-37), point(63,-44), point(-55,-22)), linestring(point(28,0), point(-94,99), point(-32,-86)), linestring(point(9,-12), point(16,9), point(80,-73)), linestring(point(6,-55), point(83,-4)), linestring(point(-15,21), point(144115188075855876,16777212), point(-85,-31), point(-90,-50)), linestring(point(-33,33), point(21,90), point(-89,32)), linestring(point(16,24), point(73,-13), point(25,-48), point(71,52), point(-54,-78), point(-84,59), point(53,29)), linestring(point(-15,-81), point(83,43), point(-71,33), point(-8,0), point(84,-54), point(-35,38), point(-10,-50)), linestring(point(38,-50), point(20,-2), point(-57,-92)), linestring(point(5,-93), point(231601833467477080000000000000000000000.000000,51914987457169239000000000000000000000.000000), point(-94,62))), point(2,0)) ) ; +insert into t1(a) values( geometrycollection(multilinestring(linestring(point(80,-15), point(65,-57), point(-59,16), point(22,-67)), linestring(point(20,-55), point(-38,-64), point(19,-53), point(-63,-36), point(56,-37)), linestring(point(27,-8), point(-85,-75), point(4398046511106,2251799813685245)), linestring(point(45,32), point(-79,46))), multilinestring(linestring(point(8,-4), point(40,-38), point(100,95), point(5,-80), point(82,88)), linestring(point(-14,30), point(-94,51), point(-16,-29), point(37,-97), point(-26,92)), linestring(point(32,34), point(83,-23), point(-55,57), point(-15,90), point(32,-50), point(-20,-73), point(77,28)), linestring(point(4,88), point(87,74), point(-67,-58)), linestring(point(5.660747e+307,6.385657e+307), point(-58,-15), point(1.172095e+308,1.448533e+308)), linestring(point(-21,-37), point(-52,79), point(-16,-76), point(-65,-94), point(36,7), point(37,74), point(100,-57)), linestring(point(-23,-82), point(-73,23), point(18,-34)), linestring(point(20,-51), point(93,62), point(-65,84)), linestring(point(-48,31), point(-69,-96)), linestring(point(-5,78), point(10,-99), point(36,-33)), linestring(point(-84,55), point(96,1), point(-98,-29), point(-15,81), point(-27,-6), point(58,-32), point(54,-16)), linestring(point(2,5), point(2199023255553,8192)), linestring(point(12,-78), point(-97,-83)), linestring(point(-74,79), point(35,-56), point(50,95)), linestring(point(28,16), point(-39,-40), point(48,-3)), linestring(point(2199023255550,-65539), point(62,-25), point(94,-62)), linestring(point(-74,83), point(-18,75), point(91,17), point(-11,-48), point(30,100)), linestring(point(57,-13), point(88,-45)), linestring(point(20,-64), point(-37,13), point(20,35))), point(-3,-4)) ) ; +--error ER_GIS_INVALID_DATA,ER_BAD_NULL_ERROR +insert into t1(a) values( geometrycollection(multipolygon(polygon(linestring(point(-34,19), point(-25,92), point(61921390294166805000000000000000000000.000000,319674749161701840000000000000000000000.000000), point(56,50), point(-34,19)), linestring(point(-26,-58), point(99,-50), point(34,-20), point(-26,-58)), linestring(point(-42,45), point(-63,-7), point(5,-89), point(-97,36), point(-42,45)), linestring(point(94,11), point(-71,4), point(94,11)), linestring(point(16,25), point(4,-33), point(-45,-33), point(-64,-77), point(16,25)), linestring(point(19,45), point(36,45), point(-83,-96), point(19,45)), linestring(point(85,-31), point(-87,52), point(85,-31))), polygon(linestring(point(55,-88), point(63,-12), point(55,-88)), linestring(point(-49,10), point(-49,10)), linestring(point(-51,-32), point(-51,-32)))), multipolygon(polygon(linestring(point(-21,-8), point(66,-58), point(100,-27), point(-21,-8)), linestring(point(-29,-13), point(-29,-13))), polygon(linestring(point(91307574660224730000000000000000000000.000000,101214152547755520000000000000000000000.000000), point(89,64), point(77,87), point(66,29), point(-71,-53)), linestring(point(38,-78), point(-43,-90), point(37,20), point(81,65), point(38,-78))), polygon(linestring(point(51,0), point(-62,8), point(-11,22), point(51,0)), linestring(point(-4,-44), point(6,82), point(-19,-90), point(131,32)))), point(-4,-7)) ) ; +insert into t1(a) values( geometrycollection(point(10,9), linestring(point(2305843009213693955,-1125899906842621), point(78,15)), multipoint(point(-1,3), point(4,-6))) ) ; +--error ER_GIS_INVALID_DATA,ER_BAD_NULL_ERROR +insert into t1(a) values( geometrycollection(polygon(linestring(point(0,13), point(-12,5), point(0,13)), linestring(point(11,-2), point(6,6), point(20,-14), point(-3,-10), point(1.330588e+308,2.666476e+307)), linestring(point(16382,67), point(7,4)), linestring(point(2,7), point(-14,15), point(2,7)), linestring(point(-14,12), point(-8,-8), point(-17,-2), point(-14,12)), linestring(point(-20,-10), point(-8,-13), point(-19,-17), point(13,-3), point(-20,-10)), linestring(point(-5,13), point(7,-9), point(6,8), point(-5,13))), linestring(point(-87,19), point(-64,51), point(-16,12)), multipoint(point(-1,-10), point(2,-10), point(3.670354e+307,2.501459e+307))) ) ; +insert into t1(a) values( geometrycollection(linestring(point(85,-29), point(15,84), point(39,-92), point(-99,19)), multilinestring(linestring(point(63,10), point(-47,95), point(10,-49), point(16,-65), point(-98,40), point(25,44), point(-55,-92)), linestring(point(5.266810e+307,6.648813e+307), point(47,33), point(-15,-13), point(-92,-58), point(36,73)), linestring(point(77,-56), point(-53,-10), point(-28,76), point(-51,6), point(51,-31), point(-95,81), point(92,26)), linestring(point(-91,7), point(58,53)), linestring(point(18,5), point(18,40), point(71,89), point(7.898707e+307,1.202585e+308), point(53,100)), linestring(point(-60,-18), point(-10,-31), point(-6,-25), point(-57,-95), point(16,77)))) ) ; +--error ER_GIS_INVALID_DATA,ER_BAD_NULL_ERROR +insert into t1(a) values( geometrycollection(polygon(linestring(point(-9,0), point(-17,-15), point(-9,0)), linestring(point(-11,1), point(18,12), point(15,3), point(7,0), point(-11,1)), linestring(point(19,5), point(19,5)), linestring(point(17,-11), point(8,4), point(17,-11)), linestring(point(14914539334033432000000000000000000000.000000,127247994336690690000000000000000000000.000000), point(-14,-7), point(13,-2))), point(-4,-7), polygon(linestring(point(-18,9), point(11,-1), point(-18,9)), linestring(point(9,-3), point(9,-3)), linestring(point(-7,-9), point(9,-11), point(11,14), point(1.663324e+308,1.572127e+308)), linestring(point(-15,4), point(18,12), point(7,2), point(-15,4)), linestring(point(-15,-18), point(-20,-15), point(1152921504606846972,34359738370))), polygon(linestring(point(-5,-19), point(-11,11), point(10,5), point(-7,13), point(-5,-19)), linestring(point(-8,-6), point(-4,16), point(-8,-6)), linestring(point(-6,-10), point(3,-12), point(-6,-10)), linestring(point(-16,1), point(20,-12), point(-16,1)), linestring(point(-8,5), point(-20,-4), point(4,1), point(-6,-6), point(-8,5)), linestring(point(-8,-11), point(-5,-14), point(-8,-11)), linestring(point(3,-16), point(-15,-13), point(1.166708e+308,1.901147e+307), point(-8,6), point(3,-16))), point(0,-5)) ) ; +insert into t1(a) values( geometrycollection(linestring(point(-33,99), point(99,-87), point(38,-79), point(33,-39), point(-91,-8), point(46,-87))) ) ; + +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; + +drop table t1; diff --git a/mysql-test/suite/innodb_gis/t/gis_split_nan.test b/mysql-test/suite/innodb_gis/t/gis_split_nan.test new file mode 100644 index 00000000..fa452518 --- /dev/null +++ b/mysql-test/suite/innodb_gis/t/gis_split_nan.test @@ -0,0 +1,269 @@ +--source include/have_innodb.inc +--source include/have_geometry.inc +--source include/innodb_page_size.inc + +############################################################################################ +# Creating the spatial objects # +############################################################################################ + +--echo # Creating the spatial objects +USE test; + +CREATE TABLE gis_point (fid INTEGER NOT NULL PRIMARY KEY, g POINT); +CREATE TABLE gis_linestring (fid INTEGER NOT NULL PRIMARY KEY, g LINESTRING); +CREATE TABLE gis_polygon (fid INTEGER NOT NULL PRIMARY KEY, g POLYGON); +CREATE TABLE gis_multi_point (fid INTEGER NOT NULL PRIMARY KEY, g MULTIPOINT); +CREATE TABLE gis_multi_linestring (fid INTEGER NOT NULL PRIMARY KEY, g MULTILINESTRING); +CREATE TABLE gis_multi_polygon (fid INTEGER NOT NULL PRIMARY KEY, g MULTIPOLYGON); +CREATE TABLE gis_geometrycollection (fid INTEGER NOT NULL PRIMARY KEY, g GEOMETRYCOLLECTION); + +############################################################################################ +# Inserting the values specific to the spatial objects # +############################################################################################ + +--echo # Inserting POINT Geometry Values +INSERT INTO gis_point VALUES + (101, ST_POINTFROMTEXT('POINT(0 0)')), + (102, ST_POINTFROMTEXT('POINT(1 0)')), + (103, ST_POINTFROMTEXT('POINT(0 1)')), + (104, ST_POINTFROMTEXT('POINT(1 1)')), + (105, ST_POINTFROMTEXT('POINT(-1 1)')); + +INSERT INTO gis_point VALUES + (106, ST_POINTFROMWKB(POINT(0,0))), + (107, ST_POINTFROMWKB(POINT(10,0))), + (108, ST_POINTFROMWKB(POINT(0,10))), + (109, ST_POINTFROMWKB(POINT(-10,0))), + (110, ST_POINTFROMWKB(POINT(0,-10))); + +INSERT INTO gis_point VALUES + (111, ST_POINTFROMWKB(ST_ASWKB(ST_POINTFROMTEXT('POINT(1 1)')))), + (112, ST_POINTFROMWKB(ST_ASWKB(ST_POINTFROMTEXT('POINT(1e308 1e308)')))), + (113, ST_POINTFROMWKB(ST_ASWKB(ST_POINTFROMTEXT('POINT(1e308 -1e308)')))), + (114, ST_POINTFROMWKB(ST_ASWKB(ST_POINTFROMTEXT('POINT(-1e308 1e308)')))), + (115, ST_POINTFROMWKB(ST_ASWKB(ST_POINTFROMTEXT('POINT(-1e308 -1e308)')))); + +--echo # Inserting LINESTRING Geometry Values +INSERT INTO gis_linestring VALUES + (201, ST_LINEFROMTEXT('LINESTRING(0 0,5 5)')), + (202, ST_LINEFROMTEXT('LINESTRING(0 0,2 2,4 4)')), + (203, ST_LINEFROMTEXT('LINESTRING(0 0,5 5,10 10)')); + +INSERT INTO gis_linestring VALUES + (204, ST_LINESTRINGFROMTEXT('LINESTRING(10 10,5 5)')), + (205, ST_LINESTRINGFROMTEXT('LINESTRING(0 0,12 12,24 24)')), + (206, ST_LINESTRINGFROMTEXT('LINESTRING(0 0,50 50,100 100)')); + +INSERT INTO gis_linestring VALUES + (207, ST_LINEFROMWKB(LINESTRING(POINT(0,0), POINT(5,5)))), + (208, ST_LINEFROMWKB(LINESTRING(POINT(0,0), POINT(-5,-5), POINT(-10,10)))), + (209, ST_LINEFROMWKB(LINESTRING(POINT(0,0), POINT(2,2), POINT(4,4), POINT(6,6), POINT(8,8)))); + +INSERT INTO gis_linestring VALUES + (210, ST_LINESTRINGFROMWKB(LINESTRING(POINT(0,0), POINT(5,5)))), + (211, ST_LINESTRINGFROMWKB(LINESTRING(POINT(0,0), POINT(-50,-50), POINT(10,-10)))), + (212, ST_LINESTRINGFROMWKB(LINESTRING(POINT(0,0), POINT(1e308,1e308), POINT(1e308,-1e308)))); + +INSERT INTO gis_linestring VALUES + (213, ST_LINEFROMWKB(ST_ASWKB(ST_LINEFROMTEXT('LINESTRING(1e308 1e308,1e308 -1e308)')))), + (214, ST_LINEFROMWKB(ST_ASWKB(ST_LINEFROMTEXT('LINESTRING(1 1,2 2,3 3,4 4,5 5,6 6,7 7,8 8,9 9)')))), + (215, ST_LINESTRINGFROMWKB(ST_ASWKB(ST_LINESTRINGFROMTEXT('LINESTRING(10 10,10 -10,-10 -10,-10 10,10 10)')))); + +--echo # Inserting POLYGON Geometry Values +INSERT INTO gis_polygon VALUES + (301, ST_POLYFROMTEXT('POLYGON((0 0,0 5,5 5,0 0))')), + (302, ST_POLYFROMTEXT('POLYGON((0 0,0 5,5 5,5 0,0 0))')), + (303, ST_POLYFROMTEXT('POLYGON((0 0,0 10,10 10,10 0,0 0))')); + +INSERT INTO gis_polygon VALUES + (304, ST_POLYGONFROMTEXT('POLYGON((0 0,0 50,50 50,50 0,0 0))')), + (305, ST_POLYGONFROMTEXT('POLYGON((0 0,0 10,10 10,10 0,0 0,0 0,0 0),(4 4,4 6,6 6,6 4,4 4))')), + (306, ST_POLYGONFROMTEXT('POLYGON((0 0,0 10,10 10,10 0,0 0,0 0,0 0),(2 2,2 4,4 4,4 2,2 2),(6 6,6 8,8 8,8 6,6 6))')); + +INSERT INTO gis_polygon VALUES + (307, ST_POLYFROMWKB(POLYGON(LINESTRING(POINT(0,0), POINT(0,5), POINT(5,5), POINT(0,0))))), + (308, ST_POLYFROMWKB(POLYGON(LINESTRING(POINT(0,0), POINT(0,15), POINT(15,15), POINT(15,0), POINT(0,0))))), + (309, ST_POLYFROMWKB(POLYGON(LINESTRING(POINT(0,0), POINT(0,10), POINT(10,10), POINT(10,0), POINT(0,0)), + LINESTRING(POINT(4,4), POINT(4,6), POINT(6,6), POINT(6,4), POINT(4,4))))); + +INSERT INTO gis_polygon VALUES + (310, ST_POLYGONFROMWKB(POLYGON(LINESTRING(POINT(0,0), POINT(0,5), POINT(5,5), POINT(0,0))))), + (311, ST_POLYGONFROMWKB(POLYGON(LINESTRING(POINT(10,10), POINT(10,15), POINT(15,15), POINT(15,10), POINT(10,10))))), + (312, ST_POLYGONFROMWKB(POLYGON(LINESTRING(POINT(10,10), POINT(10,20), POINT(20,20), POINT(20,10), POINT(10,10)), + LINESTRING(POINT(14,14), POINT(14,16), POINT(16,16), POINT(16,14), POINT(14,14))))); + +INSERT INTO gis_polygon VALUES + (313, ST_POLYFROMWKB(ST_ASWKB(ST_POLYFROMTEXT('POLYGON((0 0,0 10,10 10,10 0,0 0,0 0,5 5,0 0))')))), + (314, ST_POLYFROMWKB(ST_ASWKB(ST_POLYGONFROMTEXT('POLYGON((10 0,10 10,0 10,-10 10,-10 0,-10 -10,0 10,10 -10,10 0))')))), + (315, ST_POLYGONFROMWKB(ST_ASWKB(ST_POLYGONFROMTEXT('POLYGON((0 0,0 10,10 10,10 0,0 0,0 0,0 0),(2 2,2 4,4 4,4 2,2 2),(6 6,6 8,8 8,8 6,6 6))')))); + +--echo # Inserting MULTIPOINT Geometry Values +INSERT INTO gis_multi_point VALUES + (401, ST_GEOMFROMTEXT('MULTIPOINT(0 0)')), + (402, ST_GEOMFROMTEXT('MULTIPOINT(0 0,2 2,4 4)')), + (403, ST_GEOMFROMTEXT('MULTIPOINT(0 0,5 5,10 10)')); + +INSERT INTO gis_multi_point VALUES + (404, ST_GEOMFROMTEXT('MULTIPOINT(0 0,100 100)')), + (405, ST_GEOMFROMTEXT('MULTIPOINT(0 0,1e308 1e308)')), + (406, ST_GEOMFROMTEXT('MULTIPOINT(1e308 1e308,1e308 -1e308,-1e308 1e308,-1e308 -1e308)')); + +INSERT INTO gis_multi_point VALUES + (407, ST_GEOMFROMWKB(MULTIPOINT(POINT(0,0)))), + (408, ST_GEOMFROMWKB(MULTIPOINT(POINT(0,0), POINT(10,10)))), + (409, ST_GEOMFROMWKB(MULTIPOINT(POINT(0,0), POINT(2,2), POINT(4,4), POINT(6,6)))); + +INSERT INTO gis_multi_point VALUES + (410, ST_GEOMFROMWKB(MULTIPOINT(POINT(0,0)))), + (411, ST_GEOMFROMWKB(MULTIPOINT(POINT(0,0), POINT(1e308,1e308)))), + (412, ST_GEOMFROMWKB(MULTIPOINT(POINT(1e308,1e308), POINT(-1e308,1e308), POINT(1e308,-1e308), POINT(-1e308,-1e308)))); + +INSERT INTO gis_multi_point VALUES + (413, ST_GEOMFROMWKB(ST_ASWKB(ST_GEOMFROMTEXT('MULTIPOINT(0 0)')))), + (414, ST_GEOMFROMWKB(ST_ASWKB(ST_GEOMFROMTEXT('MULTIPOINT(0 0,1e308 1e308,-1e308 -1e308)')))), + (415, ST_GEOMFROMWKB(ST_ASWKB(ST_GEOMFROMTEXT('MULTIPOINT(1e308 1e308,1e308 -1e308,-1e308 1e308,-1e308 -1e308,1e308 1e308)')))); + +--echo # Inserting MULTILINESTRING Geometry Values +INSERT INTO gis_multi_linestring VALUES + (501, ST_GEOMFROMTEXT('MULTILINESTRING((0 0,2 2))')), + (502, ST_GEOMFROMTEXT('MULTILINESTRING((0 0,2 2,4 4))')), + (503, ST_GEOMFROMTEXT('MULTILINESTRING((0 0,2 2,4 4),(6 6,8 8,10 10))')); + +INSERT INTO gis_multi_linestring VALUES + (504, ST_GEOMFROMTEXT('MULTILINESTRING((0 0,100 100,-100 -100))')), + (505, ST_GEOMFROMTEXT('MULTILINESTRING((1e308 1e308,-1e308 -1e308))')), + (506, ST_GEOMFROMTEXT('MULTILINESTRING((1e308 1e308,-1e308 -1e308),(1e308 -1e308,-1e308 1e308))')); + +INSERT INTO gis_multi_linestring VALUES + (507, ST_GEOMFROMWKB(MULTILINESTRING(LINESTRING(POINT(0,0), POINT(2,2))))), + (508, ST_GEOMFROMWKB(MULTILINESTRING(LINESTRING(POINT(0,0), POINT(12,12), POINT(24,24))))), + (509, ST_GEOMFROMWKB(MULTILINESTRING(LINESTRING(POINT(0,0), POINT(2,2), POINT(4,4)), + LINESTRING(POINT(6,6), POINT(8,8), POINT(10,10))))); + +INSERT INTO gis_multi_linestring VALUES + (510, ST_GEOMFROMWKB(MULTILINESTRING(LINESTRING(POINT(0,0), POINT(2,2), POINT(4,4))))), + (511, ST_GEOMFROMWKB(MULTILINESTRING(LINESTRING(POINT(0,0), POINT(1,1), POINT(2,2))))), + (512, ST_GEOMFROMWKB(MULTILINESTRING(LINESTRING(POINT(0,0), POINT(12,12), POINT(24,24)), + LINESTRING(POINT(36,36), POINT(48,48), POINT(50,50))))); + +INSERT INTO gis_multi_linestring VALUES + (513, ST_GEOMFROMWKB(ST_ASWKB(ST_GEOMFROMTEXT('MULTILINESTRING((0 0,10 10),(0 10,10 0))')))), + (514, ST_GEOMFROMWKB(ST_ASWKB(ST_GEOMFROMTEXT('MULTILINESTRING((0 0,10 10,-10 10,0 0),(0 0,-10 -10,10 -10,0 0))')))), + (515, ST_GEOMFROMWKB(ST_ASWKB(ST_GEOMFROMTEXT('MULTILINESTRING((0 0,0 100),(0 0,100 0),(0 0,0 -100),(0 0,-100 0))')))); + +--echo # Inserting MULTIPOLGYON Geometry Values +INSERT INTO gis_multi_polygon VALUES + (601, ST_GEOMFROMTEXT('MULTIPOLYGON(((0 0,0 5,5 5,0 0)))')), + (602, ST_GEOMFROMTEXT('MULTIPOLYGON(((0 0,0 5,5 5,0 0)),((5 5,5 10,10 10,5 5)))')), + (603, ST_GEOMFROMTEXT('MULTIPOLYGON(((0 0,0 10,10 10,10 0,0 0,0 0,0 0),(4 4,4 6,6 6,6 4,4 4)))')); + +INSERT INTO gis_multi_polygon VALUES + (604, ST_GEOMFROMTEXT('MULTIPOLYGON(((0 0,0 5,5 5,0 0)))')), + (605, ST_GEOMFROMTEXT('MULTIPOLYGON(((0 0,0 10,10 10,10 0,0 0,0 0,0 0),(4 4,4 6,6 6,6 4,4 4)),((0 0,0 -2,-2 -2,0 0)))')), + (606, ST_GEOMFROMTEXT('MULTIPOLYGON(((0 0,5 5,-5 5,0 0)),((0 0,-5 -5,5 -5,0 0)))')); + +INSERT INTO gis_multi_polygon VALUES + (607, ST_GEOMFROMWKB(MULTIPOLYGON(POLYGON(LINESTRING(POINT(0,0), POINT(5,0), POINT(5,5), POINT(0,5), POINT(0,0)))))), + (608, ST_GEOMFROMWKB(MULTIPOLYGON(POLYGON(LINESTRING(POINT(0,0), POINT(10,0), POINT(10,10), POINT(0,10), POINT(0,0)), + LINESTRING(POINT(4,4), POINT(4,6), POINT(6,6), POINT(6,4), POINT(4,4)))))), + (609, ST_GEOMFROMWKB(MULTIPOLYGON(POLYGON(LINESTRING(POINT(0,0), POINT(5,0), POINT(5,5), POINT(0,5), POINT(0,0))), + POLYGON(LINESTRING(POINT(0,0), POINT(-5,0), POINT(-5,-5), POINT(0,-5), POINT(0,0)))))); + +INSERT INTO gis_multi_polygon VALUES + (610, ST_GEOMFROMWKB(MULTIPOLYGON(POLYGON(LINESTRING(POINT(0,0), POINT(-5,0), POINT(-5,-5), POINT(0,-5), POINT(0,0)))))), + (611, ST_GEOMFROMWKB(MULTIPOLYGON(POLYGON(LINESTRING(POINT(10,10), POINT(20,10), POINT(20,20), POINT(10,20), POINT(10,10)), + LINESTRING(POINT(14,14), POINT(14,16), POINT(16,16), POINT(16,14), POINT(14,14)))))), + (612, ST_GEOMFROMWKB(MULTIPOLYGON(POLYGON(LINESTRING(POINT(0,0), POINT(0,10), POINT(10,10), POINT(10,0), POINT(0,0)), + LINESTRING(POINT(4,4), POINT(4,6), POINT(6,6), POINT(6,4), POINT(4,4))), + POLYGON(LINESTRING(POINT(0,0), POINT(-5,0), POINT(-5,-5), POINT(0,-5), POINT(0,0)))))); + +INSERT INTO gis_multi_polygon VALUES + (613, ST_GEOMFROMWKB(ST_ASWKB(ST_GEOMFROMTEXT('MULTIPOLYGON(((0 0,5 5,5 -5,0 0)),((0 0,-5 5,-5 -5,0 0)))')))), + (614, ST_GEOMFROMWKB(ST_ASWKB(ST_GEOMFROMTEXT('MULTIPOLYGON(((0 0,10 10,-10 10,0 0)),((0 0,-10 -10,10 -10,0 0)))')))), + (615, ST_GEOMFROMWKB(ST_ASWKB(ST_GEOMFROMTEXT('MULTIPOLYGON(((0 0,5 5,10 0,5 -5,0 0)))')))); + +--echo # Inserting GEOMETRYCOLLECTION Geometry Values +INSERT INTO gis_geometrycollection VALUES + (701, ST_GEOMCOLLFROMTEXT('GEOMETRYCOLLECTION(POINT(0 0))')), + (702, ST_GEOMCOLLFROMTEXT('GEOMETRYCOLLECTION(POINT(0 0), LINESTRING(0 0,10 10))')), + (703, ST_GEOMCOLLFROMTEXT('GEOMETRYCOLLECTION(POINT(5 5), POLYGON((0 0,0 10,10 10,10 0,0 0)))')); + +INSERT INTO gis_geometrycollection VALUES + (704, ST_GEOMETRYCOLLECTIONFROMTEXT('GEOMETRYCOLLECTION(POINT(0 0), LINESTRING(0 0,10 10))')), + (705, ST_GEOMETRYCOLLECTIONFROMTEXT('GEOMETRYCOLLECTION(POINT(0 0),' + 'LINESTRING(0 0,10 10),' + 'POLYGON((0 0,0 10,10 10,10 0,0 0,0 0, 0 0)))')), + (706, ST_GEOMETRYCOLLECTIONFROMTEXT('GEOMETRYCOLLECTION(MULTIPOINT(0 0,5 5,10 10),' + 'MULTILINESTRING((0 0,10 10),(0 10,10 0)),' + 'MULTIPOLYGON(((0 0,0 10,10 10,10 0,0 0)),' + '((0 0,-10 0,-10 -10,0 -10,0 0))))')); + +INSERT INTO gis_geometrycollection VALUES + (707, ST_GEOMCOLLFROMWKB(GEOMETRYCOLLECTION(POINT(0,0)))), + (708, ST_GEOMCOLLFROMWKB(GEOMETRYCOLLECTION(POINT(0,0), + LINESTRING(POINT(0,0), POINT(2,2), POINT(4,4), POINT(6,6), POINT(8,8)), + POLYGON(LINESTRING(POINT(0,0), POINT(0,10), POINT(10,10), POINT(10,0), POINT(0,0)), + LINESTRING(POINT(4,4), POINT(4,6), POINT(6,6), POINT(6,4), POINT(4,4)))))), + (709, ST_GEOMCOLLFROMWKB(GEOMETRYCOLLECTION(MULTIPOINT(POINT(0,0), POINT(5,5), POINT(10,10)), + MULTILINESTRING(LINESTRING(POINT(0,0), POINT(2,2), POINT(4,4), POINT(6,6), POINT(8,8)), + LINESTRING(POINT(10,10), POINT(5,5), POINT(0,10))), + MULTIPOLYGON(POLYGON(LINESTRING(POINT(0,0), POINT(0,10), POINT(10,10), POINT(10,0), POINT(0,0)), + LINESTRING(POINT(4,4), POINT(4,6), POINT(6,6), POINT(6,4), POINT(4,4))), + POLYGON(LINESTRING(POINT(0,0), POINT(-10,0), POINT(-10,-10), POINT(0,0))))))); + +INSERT INTO gis_geometrycollection VALUES + (710, ST_GEOMETRYCOLLECTIONFROMWKB(GEOMETRYCOLLECTION(POINT(0,0), + LINESTRING(POINT(0,0), POINT(100,100))))), + (711, ST_GEOMETRYCOLLECTIONFROMWKB(GEOMETRYCOLLECTION(POINT(10,10), + LINESTRING(POINT(10,10), POINT(12,12), POINT(14,14), POINT(16,16), POINT(18,18)), + POLYGON(LINESTRING(POINT(0,0), POINT(0,10), POINT(10,10), POINT(10,0), POINT(0,0)), + LINESTRING(POINT(4,4), POINT(4,6), POINT(6,6), POINT(6,4), POINT(4,4)))))), + (712, ST_GEOMETRYCOLLECTIONFROMWKB(GEOMETRYCOLLECTION(MULTIPOINT(POINT(10,10), POINT(15,15), POINT(20,20)), + MULTILINESTRING(LINESTRING(POINT(0,0), POINT(2,2), POINT(4,4), POINT(6,6), POINT(8,8)), + LINESTRING(POINT(10,10), POINT(5,5), POINT(0,10))), + MULTIPOLYGON(POLYGON(LINESTRING(POINT(0,0), POINT(0,10), POINT(10,10), POINT(10,0), POINT(0,0)), + LINESTRING(POINT(4,4), POINT(4,6), POINT(6,6), POINT(6,4), POINT(4,4))), + POLYGON(LINESTRING(POINT(0,0), POINT(-10,0), POINT(-10,-10), POINT(0,0))))))); + +INSERT INTO gis_geometrycollection VALUES + (713, ST_GEOMCOLLFROMWKB(ST_ASWKB(ST_GEOMCOLLFROMTEXT('GEOMETRYCOLLECTION(' + 'POINT(0 0),' + 'LINESTRING(0 0,10 10),' + 'POLYGON((0 0,0 10,10 10,10 0,0 0)),' + 'MULTIPOINT(0 0,2 2,4 4,6 6,8 8,10 10),' + 'MULTILINESTRING((0 0,10 10),(0 10,10 0)),' + 'MULTIPOLYGON(((0 0,0 5,5 5,5 0,0 0)),((5 5,5 10,10 10,10 5,5 5))))')))); + +############################################################################################ +# Checking spatial index with geometry data # +############################################################################################ + +--echo # Creating a table with spatial index column +CREATE TABLE geom_index (fid INTEGER NOT NULL PRIMARY KEY, g GEOMETRY NOT NULL, SPATIAL INDEX(g)); + +--echo # Inserting geometry values +INSERT INTO geom_index SELECT * FROM gis_point; + +INSERT INTO geom_index SELECT * FROM gis_linestring; + +INSERT INTO geom_index SELECT * FROM gis_polygon; + +INSERT INTO geom_index SELECT * FROM gis_multi_point; + +INSERT INTO geom_index SELECT * FROM gis_multi_linestring; + +INSERT INTO geom_index SELECT * FROM gis_multi_polygon; + +INSERT INTO geom_index SELECT * FROM gis_geometrycollection; + +check table geom_index; + +--echo # Final cleanup +DROP TABLE gis_point; +DROP TABLE gis_linestring; +DROP TABLE gis_polygon; +DROP TABLE gis_multi_point; +DROP TABLE gis_multi_linestring; +DROP TABLE gis_multi_polygon; +DROP TABLE gis_geometrycollection; +DROP TABLE geom_index; diff --git a/mysql-test/suite/innodb_gis/t/innodb_gis_rtree.test b/mysql-test/suite/innodb_gis/t/innodb_gis_rtree.test new file mode 100644 index 00000000..53e12994 --- /dev/null +++ b/mysql-test/suite/innodb_gis/t/innodb_gis_rtree.test @@ -0,0 +1,3 @@ +-- source include/innodb_page_size.inc +-- source include/innodb_row_format.inc +-- source ../../../main/gis-rtree.test diff --git a/mysql-test/suite/innodb_gis/t/kill_server.test b/mysql-test/suite/innodb_gis/t/kill_server.test new file mode 100644 index 00000000..d6657c74 --- /dev/null +++ b/mysql-test/suite/innodb_gis/t/kill_server.test @@ -0,0 +1,67 @@ +# WL#6745 InnoDB R-tree support +# This test case will test R-tree multi level split. + +# Not supported in embedded +--source include/not_embedded.inc + +--source include/have_innodb.inc +--source include/big_test.inc +let $restart_noprint=2; + +# Create table with R-tree index. +create table t1 (c1 int, c2 geometry not null, spatial index (c2))engine=innodb; + +# Insert enough values to let R-tree split. +delimiter |; +create procedure insert_t1(IN total int) +begin + declare i int default 1; + while (i <= total) DO + insert into t1 values (i, Point(i, i)); + set i = i + 1; + end while; +end| +delimiter ;| + +# Test level 1 rtree. +CALL insert_t1(5000); +select count(*) from t1; + +# Check table. +check table t1; + +# Test level 2 rtree. +truncate table t1; +CALL insert_t1(10000); +select count(*) from t1; + +drop index c2 on t1; + +create spatial index idx on t1(c2); + +show create table t1; + +# Check table. +check table t1; + +# Test level 3 rtree. +truncate table t1; + +# Test crash recovery. +# +# + +call mtr.add_suppression("InnoDB: A copy of page \[page id: space=[0-9]+, page number=[0-9]+\] in the doublewrite buffer slot [0-9]+ is not within space bounds"); + +# Test rtree enlarge recovery. +START TRANSACTION; +CALL insert_t1(5000); + +COMMIT; + +--let $shutdown_timeout=0 +--source include/restart_mysqld.inc + +# Clean up. +drop procedure insert_t1; +drop table t1; diff --git a/mysql-test/suite/innodb_gis/t/multi_pk.test b/mysql-test/suite/innodb_gis/t/multi_pk.test new file mode 100644 index 00000000..1be919d1 --- /dev/null +++ b/mysql-test/suite/innodb_gis/t/multi_pk.test @@ -0,0 +1,82 @@ +# WL#6745 InnoDB R-tree support +# This test case will test R-tree split. + +# Not supported in embedded +--source include/not_embedded.inc + +--source include/have_innodb.inc +--source include/have_debug.inc +--source include/big_test.inc +--source include/not_valgrind.inc +# This test often times out with MSAN +--source include/not_msan.inc + +# Create table with R-tree index. +create table t1 (c1 int, c2 varchar(255), c3 geometry not null, primary key(c1, c2), spatial index (c3))engine=innodb; + +# Insert enough values to let R-tree split. +delimiter |; + +create function rand_string(str_length tinyint unsigned, str_type tinyint unsigned) returns varchar(255) +begin + declare counter int unsigned default 0; + declare const_chars varchar(64) default '0123456789'; + declare result varchar(255) default ''; + + if str_type = 1 then + set const_chars = '0123456789'; + elseif str_type = 2 then + set const_chars = 'abcdefghijklmnopqrstuvwxyz'; + elseif str_type = 3 then + set const_chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; + elseif str_type = 4 then + set const_chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; + elseif str_type = 5 then + set const_chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; + else + set const_chars = '0123456789'; + end if; + + while counter < str_length do + set result = concat(result,substr(const_chars,ceil(rand()*(length(const_chars)-1)),1)); + set counter = counter + 1; + end while; + + return result; +end| + +create procedure insert_t1(IN total int) +begin + declare i int default 1; + declare i2 int default 1; + declare str varchar(100) default ''; + declare dup_key int default 1; + while i <= total DO + set i2 = floor(0+(rand()*100)); + set str = rand_string(i2, 5); + select count(*) into dup_key from t1 where c2 = str and c1 = i; + while dup_key <> 0 do + set i2 = floor(0+(rand()*100)); + set str = rand_string(i2, 5); + select count(*) into dup_key from t1 where c2 = str and c1 = i; + end while; + insert into t1 values (i, str, Point(i, i)); + set i = i + 1; + end while; +end| + +delimiter ;| + +CALL insert_t1(10000); +check table t1; + +start transaction; +CALL insert_t1(30000); +rollback; +check table t1; + +# Clean up. +drop procedure insert_t1; +drop function rand_string; +drop table t1; + diff --git a/mysql-test/suite/innodb_gis/t/point_basic.test b/mysql-test/suite/innodb_gis/t/point_basic.test new file mode 100644 index 00000000..f6bc6d23 --- /dev/null +++ b/mysql-test/suite/innodb_gis/t/point_basic.test @@ -0,0 +1,859 @@ +#******************************************************** +# wl6942: Store certain GIS data type in the row rather +# than as BLOB. +# +#******************************************************** + +--source include/have_geometry.inc +--source include/have_innodb.inc + + +--echo # +--echo # Test for basic POINT operation +--echo # +CREATE TABLE gis_point(p1 POINT, p2 POINT) ENGINE=InnoDB; +INSERT INTO gis_point VALUES +(ST_PointFromText('POINT(0 0)'), ST_PointFromText('POINT(0 0)')), +(ST_PointFromText('POINT(10 -20)'), ST_PointFromText('POINT(10 -20)')), +(ST_PointFromText('POINT(3.1415926 3.535897)'), ST_PointFromText('POINT(-3.932626 -3.488272)')), +(ST_PointFromText('POINT(-111.9876 234.1357)'), ST_PointFromText('POINT(-957.1914 958.1919)')); +SELECT ST_X(p1), ST_Y(p2) FROM gis_point; +DROP TABLE gis_point; + + +--echo # +--echo # Test when POINT is not on any indexes +--echo # +CREATE TABLE gis_point(p1 POINT, p2 POINT) ENGINE=InnoDB; +INSERT INTO gis_point VALUES +(ST_PointFromText('POINT(100.32374832 101.23741821)'), ST_PointFromText('POINT(100.32374832 101.23741821)')), +(ST_PointFromText('POINT(105.34523342 103.18492302)'), ST_PointFromText('POINT(100.32374832 101.23741821)')), +(ST_PointFromText('POINT(100.32374832 101.23741821)'), ST_PointFromText('POINT(200.32247328 101.86728201)')), +(ST_PointFromText('POINT(100.32374832 101.23741821)'), ST_PointFromText('POINT(100.32374832 101.98527111)')); + +--replace_column 9 # +EXPLAIN SELECT ST_AsText(p1), ST_AsText(p2) FROM gis_point GROUP BY p1, p2; +SELECT ST_AsText(p1), ST_AsText(p2) FROM gis_point GROUP BY p1, p2; + +SELECT ST_AsText(p1) FROM gis_point WHERE p1 = p2; +SELECT ST_AsText(p1), ST_AsText(p2) FROM gis_point WHERE p1 = ST_PointFromText('POINT(100.32374832 101.23741821)'); +SELECT ST_AsText(p1), ST_AsText(p2) FROM gis_point WHERE p2 = ST_PointFromText('POINT(200.32247328 101.86728201)'); + +DROP TABLE gis_point; + + +--echo # +--echo # Test some ALTER TABLE operations on POINT tables +--echo # + +CREATE TABLE t1 ( + p POINT NOT NULL, + g GEOMETRY NOT NULL +) ENGINE=InnoDB; + +INSERT INTO t1 VALUES(ST_PointFromText('POINT(0 1)'), ST_PointFromText('POINT(10 11)')); +INSERT INTO t1 VALUES(ST_PointFromText('POINT(1 1)'), ST_PointFromText('POINT(10 12)')); +INSERT INTO t1 VALUES(ST_PointFromText('POINT(1 0)'), ST_PointFromText('POINT(10 13)')); +INSERT INTO t1 VALUES(ST_PointFromText('POINT(0 0)'), ST_PointFromText('POINT(10 14)')); + +SELECT ST_AsText(p), ST_AsText(g) FROM t1; + +SELECT c.name, c.mtype, c.prtype, c.len +FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS c +JOIN INFORMATION_SCHEMA.INNODB_SYS_TABLES t +ON c.table_id = t.table_id +WHERE t.name='test/t1' AND c.name IN ('p','g'); + +ALTER TABLE t1 ADD COLUMN p1 POINT, ADD COLUMN p2 POINT, ADD KEY(p); +SELECT c.name, c.mtype, c.prtype, c.len +FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS c +JOIN INFORMATION_SCHEMA.INNODB_SYS_TABLES t +ON c.table_id = t.table_id +WHERE t.name='test/t1' AND c.name IN ('p','g','p1','p2'); + +--echo # NOT NULL POINT will use '' +SELECT count(*) AS `Expect 4` FROM t1 WHERE p1 = ''; +SELECT count(*) AS `Expect 4` FROM t1 WHERE p2 = ''; + +SELECT ST_AsText(p), ST_AsText(p1) FROM t1 WHERE p = p1; +SELECT ST_AsText(p), ST_AsText(p1) FROM t1 WHERE p = p2; + +ALTER TABLE t1 DROP COLUMN p2; + +--echo # NULLABLE POINT will use NULL +ALTER TABLE t1 ADD COLUMN p2 POINT, ADD KEY(p2); +SELECT c.name, c.mtype, c.prtype, c.len +FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS c +JOIN INFORMATION_SCHEMA.INNODB_SYS_TABLES t +ON c.table_id = t.table_id +WHERE t.name='test/t1' AND c.name IN ('p','g','p1','p2'); + +SELECT count(*) AS `Expect 4` FROM t1 WHERE p2 IS NULL; +UPDATE t1 SET p2 = ST_PointFromText('POINT(10 20)'); +UPDATE t1 SET p1 = ST_PointFromText('POINT(10 20)'); + +ALTER TABLE t1 DROP COLUMN p2; +SELECT c.name, c.mtype, c.prtype, c.len +FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS c +JOIN INFORMATION_SCHEMA.INNODB_SYS_TABLES t +ON c.table_id = t.table_id +WHERE t.name='test/t1' AND c.name IN ('p','g','p1','p2'); + +SELECT ST_AsText(p), ST_AsText(p1) FROM t1 WHERE p = p1; + +INSERT INTO t1 VALUES (ST_PointFromText('POINT(0.5 0.5)'), ST_PointFromText('POINT(0 1)'), ST_PointFromText('POINT(10 19)')); +SELECT ST_AsText(p1) FROM t1; +DELETE FROM t1 WHERE p1 = ST_PointFromText('POINT(10 19)'); +SELECT ST_AsText(p1) FROM t1; + +--echo # Add spatial keys on the table +--error ER_SPATIAL_CANT_HAVE_NULL +ALTER TABLE t1 ADD SPATIAL(p), ADD SPATIAL(p1); +SELECT c.name, c.mtype, c.prtype, c.len +FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS c +JOIN INFORMATION_SCHEMA.INNODB_SYS_TABLES t +ON c.table_id = t.table_id +WHERE t.name='test/t1' AND c.name IN ('p','g','p1'); + +SELECT ST_AsText(p), ST_AsText(p1) FROM t1 WHERE p1 = ST_PointFromText('POINT(10 30)'); +SELECT ST_AsText(p), ST_AsText(p1) FROM t1 WHERE p1 = ST_PointFromText('POINT(10 20)'); + +SELECT ST_AsText(p), ST_AsText(p1) FROM t1 WHERE MBRWithin(p1, ST_GeomFromText('POLYGON((5 5, 20 5, 20 21, 5 21, 5 5))')); +SELECT ST_AsText(p), ST_AsText(p1) FROM t1 WHERE MBRWithin(p, ST_GeomFromText('POLYGON((-1 0.5, -1 -0.5, 1 -0.5, 1 0.5, -1 0.5))')); + +--echo # Drop spatial keys on the table +--error ER_CANT_DROP_FIELD_OR_KEY +ALTER TABLE t1 DROP KEY p, DROP KEY p1; +SELECT c.name, c.mtype, c.prtype, c.len +FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS c +JOIN INFORMATION_SCHEMA.INNODB_SYS_TABLES t +ON c.table_id = t.table_id +WHERE t.name='test/t1' AND c.name IN ('p','g','p1'); + +SELECT ST_AsText(p), ST_AsText(p1) FROM t1 WHERE p1 = ST_PointFromText('POINT(10 30)'); +SELECT ST_AsText(p), ST_AsText(p1) FROM t1 WHERE p1 = ST_PointFromText('POINT(10 20)'); + +SELECT ST_AsText(p), ST_AsText(p1) FROM t1 WHERE MBRWithin(p1, ST_GeomFromText('POLYGON((5 5, 20 5, 20 21, 5 21, 5 5))')); +SELECT ST_AsText(p), ST_AsText(p1) FROM t1 WHERE MBRWithin(p, ST_GeomFromText('POLYGON((-1 0.5, -1 -0.5, 1 -0.5, 1 0.5, -1 0.5))')); + +TRUNCATE t1; + +ALTER TABLE t1 DROP COLUMN p, DROP COLUMN p1; +SELECT c.name, c.mtype, c.prtype, c.len +FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS c +JOIN INFORMATION_SCHEMA.INNODB_SYS_TABLES t +ON c.table_id = t.table_id +WHERE t.name='test/t1' AND c.name IN ('p','g','p1'); + +ALTER TABLE t1 ADD COLUMN p POINT, ADD COLUMN p1 POINT; +SELECT c.name, c.mtype, c.prtype, c.len +FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS c +JOIN INFORMATION_SCHEMA.INNODB_SYS_TABLES t +ON c.table_id = t.table_id +WHERE t.name='test/t1' AND c.name IN ('p','g','p1'); + +SHOW CREATE TABLE t1; + +INSERT INTO t1 VALUES(ST_PointFromText('POINT(0.5 0.5)'), ST_PointFromText('POINT(0 1)'), ST_PointFromText('POINT(10 19)')); +INSERT INTO t1 VALUES(ST_PointFromText('POINT(0.6 0.6)'), ST_PointFromText('POINT(1 1)'), ST_PointFromText('POINT(10 20)')); +INSERT INTO t1 VALUES(ST_PointFromText('POINT(0.7 0.7)'), ST_PointFromText('POINT(1 0)'), ST_PointFromText('POINT(10 21)')); +INSERT INTO t1 VALUES(ST_PointFromText('POINT(0.8 0.8)'), ST_PointFromText('POINT(0 0)'), ST_PointFromText('POINT(10 22)')); + +SELECT ST_AsText(p), ST_AsText(p1) FROM t1 WHERE p1 = ST_PointFromText('POINT(10 30)'); +SELECT ST_AsText(p), ST_AsText(p1) FROM t1 WHERE p1 = ST_PointFromText('POINT(10 20)'); + +SELECT ST_AsText(p), ST_AsText(p1) FROM t1 WHERE MBRWithin(p1, ST_GeomFromText('POLYGON((5 5, 20 5, 20 21, 5 21, 5 5))')); +SELECT ST_AsText(p), ST_AsText(p1) FROM t1 WHERE MBRWithin(p, ST_GeomFromText('POLYGON((-1 0.5, -1 -0.5, 1 -0.5, 1 0.5, -1 0.5))')); + +ALTER TABLE t1 DROP COLUMN p1, ADD COLUMN p1 POINT, CHANGE COLUMN p pp POINT AFTER p1; +SELECT c.name, c.mtype, c.prtype, c.len +FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS c +JOIN INFORMATION_SCHEMA.INNODB_SYS_TABLES t +ON c.table_id = t.table_id +WHERE t.name='test/t1' AND c.name IN ('pp','g','p1'); + +UPDATE t1 SET p1 = ST_PointFromText('POINT(5 5)'); + +SELECT ST_AsText(pp), ST_AsText(p1) FROM t1; + +--error ER_SPATIAL_CANT_HAVE_NULL +ALTER TABLE t1 ADD SPATIAL(p1), ADD SPATIAL(pp), ALGORITHM = COPY; +SELECT c.name, c.mtype, c.prtype, c.len +FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS c +JOIN INFORMATION_SCHEMA.INNODB_SYS_TABLES t +ON c.table_id = t.table_id +WHERE t.name='test/t1' AND c.name IN ('pp','g','p1'); + +SELECT ST_AsText(pp), ST_AsText(p1) FROM t1 WHERE p1 = ST_PointFromText('POINT(10 30)'); +SELECT ST_AsText(pp), ST_AsText(p1) FROM t1 WHERE p1 = ST_PointFromText('POINT(10 20)'); + +SELECT ST_AsText(pp), ST_AsText(p1) FROM t1 WHERE MBRWithin(p1, ST_GeomFromText('POLYGON((5 5, 20 5, 20 21, 5 21, 5 5))')) ORDER BY pp; +SELECT ST_AsText(pp), ST_AsText(p1) FROM t1 WHERE MBRWithin(pp, ST_GeomFromText('POLYGON((-1 0.5, -1 -0.5, 1 -0.5, 1 0.5, -1 0.5))')) ORDER BY pp; + +DROP TABLE t1; + + +--echo # +--echo # Test when the POINT is on B-TREE +--echo # +CREATE TABLE gis_point(fid INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT, p POINT, KEY(p)) ENGINE=InnoDB STATS_PERSISTENT=0; + +INSERT INTO gis_point VALUES +(101, ST_PointFromText('POINT(10 10)')), +(102, ST_PointFromText('POINT(20 10)')), +(103, ST_PointFromText('POINT(20 20)')), +(104, ST_PointFromWKB(ST_AsWKB(ST_PointFromText('POINT(10 20)')))); + +SELECT ST_AsText(p) FROM gis_point; +SELECT ST_AsText(p) FROM gis_point WHERE p = ST_PointFromText('POINT(20 20)'); + +INSERT INTO gis_point VALUES +(201, ST_PointFromText('POINT(100.32374832 101.23741821)')), +(202, ST_PointFromText('POINT(102.43287328 100.23489233)')), +(203, ST_PointFromText('POINT(101.43284962 100.45892392)')), +(204, ST_PointFromWKB(ST_AsWKB(ST_PointFromText('POINT(103.43718640 105.248206478)')))), +(205, ST_PointFromText('POINT(101.43284962 100.45892392)')), +(206, ST_PointFromWKB(ST_AsWKB(ST_PointFromText('POINT(103.43718640 105.248206478)')))); + +-- echo 'The ORDER BY will use filesort' +--replace_column 9 # +EXPLAIN SELECT ST_AsText(p) FROM gis_point ORDER BY p; +SELECT ST_AsText(p) FROM gis_point ORDER BY p; + +SELECT ST_AsText(p), COUNT(*) FROM gis_point GROUP BY p; + +TRUNCATE gis_point; + +INSERT INTO gis_point VALUES +(101, ST_PointFromText('POINT(10 10)')), +(102, ST_PointFromText('POINT(20 10)')), +(103, ST_PointFromText('POINT(20 20)')), +(104, ST_PointFromWKB(ST_AsWKB(ST_PointFromText('POINT(10 20)')))); + +--echo # Check if we can create prefix index on POINT +ALTER TABLE gis_point ADD COLUMN g POINT, ADD KEY(g(8)); + +INSERT INTO gis_point VALUES +(105, ST_PointFromText('POINT(25 15)'), ST_PointFromText('POINT(100 100)')), +(106, ST_PointFromText('POINT(25 25)'), ST_PointFromText('POINT(110 110)')); + +SELECT ST_AsText(p) FROM gis_point; +SELECT ST_AsText(p), ST_AsText(g) FROM gis_point WHERE g IS NULL; + +UPDATE gis_point SET g = ST_PointFromText('POINT(200 200)') WHERE g IS NULL OR g = ST_PointFromText('POINT(110 110)'); +SELECT ST_AsText(g) FROM gis_point WHERE g IS NULL OR g = ST_PointFromText('POINT(200 200)'); + +--echo # Check the information schema tables +SELECT table_name, column_name, data_type, column_type FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name='gis_point' AND (column_name = 'p' OR column_name = 'g'); + +SELECT c.name, c.mtype, c.prtype, c.len +FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS c +JOIN INFORMATION_SCHEMA.INNODB_SYS_TABLES t +ON c.table_id = t.table_id +WHERE t.name LIKE 'test/g%' AND c.name IN ('p','g'); + +SELECT length(p) FROM gis_point; + +ALTER TABLE gis_point DROP COLUMN g, ALGORITHM = COPY; + +TRUNCATE gis_point; + +INSERT INTO gis_point VALUES +(101, ST_PointFromText('POINT(10 10)')), +(102, ST_PointFromText('POINT(20 10)')), +(103, ST_PointFromText('POINT(20 20)')), +(104, ST_PointFromWKB(ST_AsWKB(ST_PointFromText('POINT(10 20)')))); + +--echo # Check if we can create prefix index on POINT +ALTER TABLE gis_point ADD COLUMN g POINT, ADD KEY(g(8)); + +INSERT INTO gis_point VALUES +(105, ST_PointFromText('POINT(25 15)'), ST_PointFromText('POINT(100 100)')), +(106, ST_PointFromText('POINT(25 25)'), ST_PointFromText('POINT(110 110)')); + +SELECT ST_AsText(p) FROM gis_point; +SELECT ST_AsText(p), ST_AsText(g) FROM gis_point WHERE g IS NULL; + +UPDATE gis_point SET g = ST_PointFromText('POINT(200 200)') WHERE g IS NULL OR g = ST_PointFromText('POINT(110 110)'); +SELECT ST_AsText(g) FROM gis_point WHERE g IS NULL OR g = ST_PointFromText('POINT(200 200)'); + +CHECK TABLE gis_point; + +SELECT c.name, c.mtype, c.prtype, c.len +FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS c +JOIN INFORMATION_SCHEMA.INNODB_SYS_TABLES t +ON c.table_id = t.table_id +WHERE t.name='test/gis_point' AND c.name IN ('p','g'); + +DROP TABLE gis_point; + +--echo # +--echo # Check the mtype of other geometry data types should be 15 +--echo # +CREATE TABLE g ( + geom GEOMETRY NOT NULL, + l LINESTRING NOT NULL, + poly POLYGON NOT NULL, + mp MULTIPOINT NOT NULL, + ml MULTILINESTRING NOT NULL, + mpoly MULTIPOLYGON NOT NULL, + gc GEOMETRYCOLLECTION NOT NULL +) ENGINE=InnoDB; +SELECT c.name, c.mtype, c.prtype, c.len +FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS c +JOIN INFORMATION_SCHEMA.INNODB_SYS_TABLES t +ON c.table_id = t.table_id +WHERE t.name='test/g'; + +DROP TABLE g; + +--echo # +--echo # check the mtype and len with CREATE TABLE AS +--echo # + +CREATE TABLE t1 ( + p POINT NOT NULL, + g GEOMETRY NOT NULL +) ENGINE=InnoDB; + + +INSERT INTO t1 VALUES(ST_PointFromText('POINT(10 10)'),ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))')); + +CREATE TABLE t2 ENGINE=InnoDB AS SELECT * FROM t1; + +# Check the mtype and len of the table +SELECT t.name, c.name, c.mtype, c.prtype, c.len +FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS c +JOIN INFORMATION_SCHEMA.INNODB_SYS_TABLES t +ON c.table_id = t.table_id +WHERE t.name LIKE 'test/t%' AND c.name IN ('p','g'); + +# Cleanup +DROP TABLE t1,t2; + +--echo # +--echo # Test when POINT is used in spatial index +--echo # +SET @ls1 = ST_GeomFromText('LINESTRING(0 20, 10 0)'); +SET @ls2 = ST_GeomFromText('LINESTRING(0 0, 10 20)'); +SET @ls3 = ST_GeomFromText('LINESTRING(20 -40, 21 -42)'); +SET @ls4 = ST_GeomFromText('LINESTRING(20 -42, 21 -40)'); +SET @poly1 = ST_GeomFromText('POLYGON((2 2, 2 10, 10 10, 10 2, 2 2))'); +SET @poly2 = ST_GeomFromText('POLYGON((0 0, -5 0, -4 -1, -6 -15, -3 -15, 0 0))'); +SET @poly3 = ST_GeomFromText('POLYGON((10.0 10.0, 20.5 20, 20.5 50, 32.0 64.0, 32.3 64.6, 5 60, 10 10))'); +SET @poly4 = ST_GeomFromText('POLYGON((0 10, -10 10, -10 -10, 0 -10, 0 10))'); +SET @p1 = ST_PointFromText('POINT(0 0)'); +SET @mpoly = ST_GeomFromText('MULTIPOLYGON(((3 3, 3 16, 16 16, 16 3, 3 3)), ((10 10, 10 50, 50 50, 50 10, 10 10)))'); + +CREATE TABLE gis_point (p1 POINT NOT NULL, p2 POINT NOT NULL, SPATIAL KEY k1 (p1), SPATIAL KEY k2 (p2)) ENGINE=InnoDB; + +INSERT INTO gis_point VALUES +(ST_PointFromText('POINT(1 2)'), ST_PointFromText('POINT(-1 -3)')), +(ST_PointFromText('POINT(2 4)'), ST_PointFromText('POINT(-2 -6)')), +(ST_PointFromText('POINT(3 6)'), ST_PointFromText('POINT(-3 -9)')), +(ST_PointFromText('POINT(4 8)'), ST_PointFromText('POINT(-4 -12)')), +(ST_PointFromText('POINT(5 10)'), ST_PointFromText('POINT(-5 -15)')), +(ST_PointFromText('POINT(6 12)'), ST_PointFromText('POINT(-6 -18)')), +(ST_PointFromText('POINT(7 14)'), ST_PointFromText('POINT(-7 -21)')), +(ST_PointFromText('POINT(8 16)'), ST_PointFromText('POINT(0 0)')), +(ST_PointFromText('POINT(9 18)'), ST_PointFromText('POINT(-4 2)')), +(ST_PointFromText('POINT(10 21)'), ST_PointFromText('POINT(-6 3)')), +(ST_PointFromText('POINT(20.5 41)'), ST_PointFromText('POINT(-8 4)')), +(ST_PointFromText('POINT(26.25 57)'), ST_PointFromText('POINT(1 2)')), +(ST_PointFromText('POINT(32.1234 64.2468)'), ST_PointFromText('POINT(-1 -1)')); + +CREATE TABLE gis_point1 SELECT * FROM gis_point; + +# Check the mtype and len of the table, should be 14,25 +SELECT c.name, c.mtype, c.prtype, c.len +FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS c +JOIN INFORMATION_SCHEMA.INNODB_SYS_TABLES t +ON c.table_id = t.table_id +WHERE t.name='test/gis_point' AND c.name IN ('p1','p2'); + +SELECT ST_AsText(p1), ST_AsText(p2) FROM gis_point1; +SELECT ST_AsText(p1) FROM gis_point1 WHERE ST_Intersection(@ls1, @ls2) = p1; +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBRWithin(p1, @poly1); +SELECT ST_AsText(p2) FROM gis_point1 WHERE ST_Contains(@poly2, p2); +SELECT ST_AsText(p2) FROM gis_point1 WHERE ST_Equals(p2, @p1); +SELECT ST_AsText(p1) FROM gis_point1 WHERE ST_Touches(@poly3, p1) AND MBRWithin(p2, @poly4); +SELECT ST_AsText(p1) FROM gis_point1 WHERE ST_Contains(@mpoly, p1); +SELECT ST_AsText(p1) FROM gis_point1 WHERE ST_Contains(@mpoly, p1) AND NOT MBRWithin(p1, @mpoly); + +--echo # Check functions that use MBR, with line type data +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBRIntersects(p1, @ls1); +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBRWithin(p1, @ls1); +SELECT ST_AsText(p1) FROM gis_point1 WHERE ST_Touches(p1, @ls1); +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBRDisjoint(p1, @ls1); + +--echo # No matching records +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBREquals(p1, @ls1); +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBRContains(p1, @ls1); +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBROverlaps(p1, @ls3); +SELECT ST_AsText(p1) FROM gis_point1 WHERE ST_Crosses(p1, @ls1); + +--echo # Check functions that use MBR, with polygon type data +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBRIntersects(p1, @poly1); +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBRWithin(p1, @poly1); +SELECT ST_AsText(p1) FROM gis_point1 WHERE ST_Touches(p1, @poly1); +SELECT ST_AsText(p1) FROM gis_point1 WHERE ST_Crosses(p1, @poly1); +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBRDisjoint(p1, @poly1); + +--echo # No matching records +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBREquals(p1, @poly1); +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBRContains(p1, @poly1); +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBROverlaps(p1, @poly1); + +--echo # Check functions that use MBR, with point type data +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBRIntersects(p1, @p1); +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBRWithin(p1, @p1); +SELECT ST_AsText(p1) FROM gis_point1 WHERE ST_Touches(p1, @p1); +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBREquals(p1, @p1); +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBRContains(p1, @p1); +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBRDisjoint(p1, @p1); + +--echo # No matching records +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBROverlaps(p1, @p1); +SELECT ST_AsText(p1) FROM gis_point1 WHERE ST_Crosses(p1, @p1); + +--echo # Check with MBR functions point type data +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBRIntersects(p1, @p1); +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBRWithin(p1, @p1); +SELECT ST_AsText(p1) FROM gis_point1 WHERE ST_Touches(p1, @p1); +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBRContains(p1, @p1); +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBRDisjoint(p1, @p1); +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBRequals(p1, @p1); + +--echo # No matching records +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBROverlaps(p1, @p1); + +--echo # Check with MBR functions point polygon data +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBRIntersects(p1, @p1); +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBRWithin(p1, @p1); +SELECT ST_AsText(p1) FROM gis_point1 WHERE ST_Touches(p1, @p1); +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBRContains(p1, @p1); +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBRDisjoint(p1, @p1); +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBRequals(p1, @p1); + +--echo # No matching records +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBROverlaps(p1, @p1); + +--echo # Check with MBR functions polygon type data +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBRIntersects(p1, @poly1); +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBRWithin(p1, @poly1); +SELECT ST_AsText(p1) FROM gis_point1 WHERE ST_Touches(p1, @poly1); +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBRDisjoint(p1, @poly1); + +--echo # No matching records +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBROverlaps(p1, @poly1); +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBRContains(p1, @poly1); +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBRequals(p1, @poly1); + +--echo # Check with MBR functions line type data +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBRIntersects(p1, @ls1); +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBRWithin(p1, @ls1); +SELECT ST_AsText(p1) FROM gis_point1 WHERE ST_Touches(p1, @ls1); +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBRDisjoint(p1, @ls1); +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBRequals(p1, @ls1); + +--echo # No matching records +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBROverlaps(p1, @ls1); +SELECT ST_AsText(p1) FROM gis_point1 WHERE MBRContains(p1, @ls1); + +DROP TABLE gis_point1; + +SELECT ST_AsText(p1), ST_AsText(p2) FROM gis_point; +SELECT ST_AsText(p1) FROM gis_point WHERE ST_Intersection(@ls1, @ls2) = p1; +SELECT ST_AsText(p1) FROM gis_point WHERE MBRWithin(p1, @poly1); +SELECT ST_AsText(p2) FROM gis_point WHERE ST_Contains(@poly2, p2); +SELECT ST_AsText(p2) FROM gis_point WHERE ST_Equals(p2, @p1); +SELECT ST_AsText(p1) FROM gis_point WHERE ST_Touches(@poly3, p1) AND MBRWithin(p2, @poly4); +SELECT ST_AsText(p1) FROM gis_point WHERE ST_Contains(@mpoly, p1); +SELECT ST_AsText(p1) FROM gis_point WHERE ST_Contains(@mpoly, p1) AND NOT MBRWithin(p1, @mpoly); + +--echo # Check functions that use MBR, with line type data +SELECT ST_AsText(p1) FROM gis_point WHERE MBRIntersects(p1, @ls1); +SELECT ST_AsText(p1) FROM gis_point WHERE MBRWithin(p1, @ls1); +SELECT ST_AsText(p1) FROM gis_point WHERE ST_Touches(p1, @ls1); +SELECT ST_AsText(p1) FROM gis_point WHERE MBRDisjoint(p1, @ls1); + +--echo # No matching records +SELECT ST_AsText(p1) FROM gis_point WHERE MBREquals(p1, @ls1); +SELECT ST_AsText(p1) FROM gis_point WHERE MBRContains(p1, @ls1); +SELECT ST_AsText(p1) FROM gis_point WHERE MBROverlaps(p1, @ls3); +SELECT ST_AsText(p1) FROM gis_point WHERE ST_Crosses(p1, @ls1); + +--echo # Check functions that use MBR, with polygon type data +SELECT ST_AsText(p1) FROM gis_point WHERE MBRIntersects(p1, @poly1); +SELECT ST_AsText(p1) FROM gis_point WHERE MBRWithin(p1, @poly1); +SELECT ST_AsText(p1) FROM gis_point WHERE ST_Touches(p1, @poly1); +SELECT ST_AsText(p1) FROM gis_point WHERE ST_Crosses(p1, @poly1); +SELECT ST_AsText(p1) FROM gis_point WHERE MBRDisjoint(p1, @poly1); + +--echo # No matching records +SELECT ST_AsText(p1) FROM gis_point WHERE MBREquals(p1, @poly1); +SELECT ST_AsText(p1) FROM gis_point WHERE MBRContains(p1, @poly1); +SELECT ST_AsText(p1) FROM gis_point WHERE MBROverlaps(p1, @poly1); + +--echo # Check functions that use MBR, with point type data +SELECT ST_AsText(p1) FROM gis_point WHERE MBRIntersects(p1, @p1); +SELECT ST_AsText(p1) FROM gis_point WHERE MBRWithin(p1, @p1); +SELECT ST_AsText(p1) FROM gis_point WHERE ST_Touches(p1, @p1); +SELECT ST_AsText(p1) FROM gis_point WHERE MBREquals(p1, @p1); +SELECT ST_AsText(p1) FROM gis_point WHERE MBRContains(p1, @p1); +SELECT ST_AsText(p1) FROM gis_point WHERE MBRDisjoint(p1, @p1); + +--echo # No matching records +SELECT ST_AsText(p1) FROM gis_point WHERE MBROverlaps(p1, @p1); +SELECT ST_AsText(p1) FROM gis_point WHERE ST_Crosses(p1, @p1); + +--echo # Check with MBR functions point type data +SELECT ST_AsText(p1) FROM gis_point WHERE MBRIntersects(p1, @p1); +SELECT ST_AsText(p1) FROM gis_point WHERE MBRWithin(p1, @p1); +SELECT ST_AsText(p1) FROM gis_point WHERE ST_Touches(p1, @p1); +SELECT ST_AsText(p1) FROM gis_point WHERE MBRContains(p1, @p1); +SELECT ST_AsText(p1) FROM gis_point WHERE MBRDisjoint(p1, @p1); +SELECT ST_AsText(p1) FROM gis_point WHERE MBRequals(p1, @p1); + +--echo # No matching records +SELECT ST_AsText(p1) FROM gis_point WHERE MBROverlaps(p1, @p1); + +--echo # Check with MBR functions point polygon data +SELECT ST_AsText(p1) FROM gis_point WHERE MBRIntersects(p1, @p1); +SELECT ST_AsText(p1) FROM gis_point WHERE MBRWithin(p1, @p1); +SELECT ST_AsText(p1) FROM gis_point WHERE ST_Touches(p1, @p1); +SELECT ST_AsText(p1) FROM gis_point WHERE MBRContains(p1, @p1); +SELECT ST_AsText(p1) FROM gis_point WHERE MBRDisjoint(p1, @p1); +SELECT ST_AsText(p1) FROM gis_point WHERE MBRequals(p1, @p1); + +--echo # No matching records +SELECT ST_AsText(p1) FROM gis_point WHERE MBROverlaps(p1, @p1); + +--echo # Check with MBR functions polygon type data +SELECT ST_AsText(p1) FROM gis_point WHERE MBRIntersects(p1, @poly1); +SELECT ST_AsText(p1) FROM gis_point WHERE MBRWithin(p1, @poly1); +SELECT ST_AsText(p1) FROM gis_point WHERE ST_Touches(p1, @poly1); +SELECT ST_AsText(p1) FROM gis_point WHERE MBRDisjoint(p1, @poly1); + +--echo # No matching records +SELECT ST_AsText(p1) FROM gis_point WHERE MBROverlaps(p1, @poly1); +SELECT ST_AsText(p1) FROM gis_point WHERE MBRContains(p1, @poly1); +SELECT ST_AsText(p1) FROM gis_point WHERE MBRequals(p1, @poly1); + +--echo # Check with MBR functions line type data +SELECT ST_AsText(p1) FROM gis_point WHERE MBRIntersects(p1, @ls1); +SELECT ST_AsText(p1) FROM gis_point WHERE MBRWithin(p1, @ls1); +SELECT ST_AsText(p1) FROM gis_point WHERE ST_Touches(p1, @ls1); +SELECT ST_AsText(p1) FROM gis_point WHERE MBRDisjoint(p1, @ls1); +SELECT ST_AsText(p1) FROM gis_point WHERE MBRequals(p1, @ls1); + +--echo # No matching records +SELECT ST_AsText(p1) FROM gis_point WHERE MBROverlaps(p1, @ls1); +SELECT ST_AsText(p1) FROM gis_point WHERE MBRContains(p1, @ls1); + +--echo # Modify the storage engine to Myisam, Check the spatial functions +ALTER TABLE gis_point ENGINE Myisam; + +--echo # Check functions that use MBR, with line type data +SELECT ST_AsText(p1) FROM gis_point WHERE MBRIntersects(p1, @ls1); +SELECT ST_AsText(p1) FROM gis_point WHERE MBRWithin(p1, @ls1); +SELECT ST_AsText(p1) FROM gis_point WHERE ST_Touches(p1, @ls1); +SELECT ST_AsText(p1) FROM gis_point WHERE MBRDisjoint(p1, @ls1); + +--echo # No matching records +SELECT ST_AsText(p1) FROM gis_point WHERE MBREquals(p1, @ls1); +SELECT ST_AsText(p1) FROM gis_point WHERE MBRContains(p1, @ls1); +SELECT ST_AsText(p1) FROM gis_point WHERE MBROverlaps(p1, @ls3); +SELECT ST_AsText(p1) FROM gis_point WHERE ST_Crosses(p1, @ls1); + +--echo # Check functions that use MBR, with polygon type data +SELECT ST_AsText(p1) FROM gis_point WHERE MBRIntersects(p1, @poly1); +SELECT ST_AsText(p1) FROM gis_point WHERE MBRWithin(p1, @poly1); +SELECT ST_AsText(p1) FROM gis_point WHERE ST_Touches(p1, @poly1); +SELECT ST_AsText(p1) FROM gis_point WHERE ST_Crosses(p1, @poly1); +SELECT ST_AsText(p1) FROM gis_point WHERE MBRDisjoint(p1, @poly1); + +--echo # No matching records +SELECT ST_AsText(p1) FROM gis_point WHERE MBREquals(p1, @poly1); +SELECT ST_AsText(p1) FROM gis_point WHERE MBRContains(p1, @poly1); +SELECT ST_AsText(p1) FROM gis_point WHERE MBROverlaps(p1, @poly1); + +--echo # Check functions that use MBR, with point type data +SELECT ST_AsText(p1) FROM gis_point WHERE MBRIntersects(p1, @p1); +SELECT ST_AsText(p1) FROM gis_point WHERE MBRWithin(p1, @p1); +SELECT ST_AsText(p1) FROM gis_point WHERE ST_Touches(p1, @p1); +SELECT ST_AsText(p1) FROM gis_point WHERE MBREquals(p1, @p1); +SELECT ST_AsText(p1) FROM gis_point WHERE MBRContains(p1, @p1); +SELECT ST_AsText(p1) FROM gis_point WHERE MBRDisjoint(p1, @p1); + +--echo # No matching records +SELECT ST_AsText(p1) FROM gis_point WHERE MBROverlaps(p1, @p1); +SELECT ST_AsText(p1) FROM gis_point WHERE ST_Crosses(p1, @p1); + +--echo # Check with MBR functions point type data +SELECT ST_AsText(p1) FROM gis_point WHERE MBRIntersects(p1, @p1); +SELECT ST_AsText(p1) FROM gis_point WHERE MBRWithin(p1, @p1); +SELECT ST_AsText(p1) FROM gis_point WHERE ST_Touches(p1, @p1); +SELECT ST_AsText(p1) FROM gis_point WHERE MBRContains(p1, @p1); +SELECT ST_AsText(p1) FROM gis_point WHERE MBRDisjoint(p1, @p1); +SELECT ST_AsText(p1) FROM gis_point WHERE MBRequals(p1, @p1); + +--echo # No matching records +SELECT ST_AsText(p1) FROM gis_point WHERE MBROverlaps(p1, @p1); + +--echo # Check with MBR functions point polygon data +SELECT ST_AsText(p1) FROM gis_point WHERE MBRIntersects(p1, @p1); +SELECT ST_AsText(p1) FROM gis_point WHERE MBRWithin(p1, @p1); +SELECT ST_AsText(p1) FROM gis_point WHERE ST_Touches(p1, @p1); +SELECT ST_AsText(p1) FROM gis_point WHERE MBRContains(p1, @p1); +SELECT ST_AsText(p1) FROM gis_point WHERE MBRDisjoint(p1, @p1); +SELECT ST_AsText(p1) FROM gis_point WHERE MBRequals(p1, @p1); + +--echo # No matching records +SELECT ST_AsText(p1) FROM gis_point WHERE MBROverlaps(p1, @p1); + +--echo # Check with MBR functions polygon type data +SELECT ST_AsText(p1) FROM gis_point WHERE MBRIntersects(p1, @poly1); +SELECT ST_AsText(p1) FROM gis_point WHERE MBRWithin(p1, @poly1); +SELECT ST_AsText(p1) FROM gis_point WHERE ST_Touches(p1, @poly1); +SELECT ST_AsText(p1) FROM gis_point WHERE MBRDisjoint(p1, @poly1); + +--echo # No matching records +SELECT ST_AsText(p1) FROM gis_point WHERE MBROverlaps(p1, @poly1); +SELECT ST_AsText(p1) FROM gis_point WHERE MBRContains(p1, @poly1); +SELECT ST_AsText(p1) FROM gis_point WHERE MBRequals(p1, @poly1); + +--echo # Check with MBR functions line type data +SELECT ST_AsText(p1) FROM gis_point WHERE MBRIntersects(p1, @ls1); +SELECT ST_AsText(p1) FROM gis_point WHERE MBRWithin(p1, @ls1); +SELECT ST_AsText(p1) FROM gis_point WHERE ST_Touches(p1, @ls1); +SELECT ST_AsText(p1) FROM gis_point WHERE MBRDisjoint(p1, @ls1); +SELECT ST_AsText(p1) FROM gis_point WHERE MBRequals(p1, @ls1); + +--echo # No matching records +SELECT ST_AsText(p1) FROM gis_point WHERE MBROverlaps(p1, @ls1); +SELECT ST_AsText(p1) FROM gis_point WHERE MBRContains(p1, @ls1); + +--echo # Modify the storage engine to InnoDB again, do following testing +ALTER TABLE gis_point ENGINE InnoDB; + +CHECK TABLE gis_point; + +-- echo The ORDER BY for spatial index will use filesort +--replace_column 9 # +EXPLAIN SELECT ST_AsText(p1), ST_AsText(p2) FROM gis_point ORDER BY p1, p2; +SELECT ST_AsText(p1), ST_AsText(p2) FROM gis_point ORDER BY p1, p2; + +-- echo Try to do IDU on the table and verify the result +DELETE FROM gis_point WHERE ST_Equals(p2, ST_PointFromText('POINT(-8 4)')); + +INSERT INTO gis_point VALUES(ST_PointFromText('POINT(20.5 -41)'), ST_PointFromText('POINT(8 -4)')); + +SELECT ST_AsText(p1) AS 'Expect (32.1234 64.2468)' FROM gis_point WHERE ST_Touches(@poly3, p1) AND MBRWithin(p2, @poly4); + +UPDATE gis_point SET p1 = ST_PointFromText('POINT(20.5 41)'), p2 = ST_PointFromText('POINT(-8 4)') WHERE ST_Intersection(@ls3, @ls4) = p1; + +SELECT ST_AsText(p1) AS 'Expect (32.1234 64.2468) AND (20.5 41)' FROM gis_point WHERE ST_Touches(@poly3, p1) AND MBRWithin(p2, @poly4); + +CHECK TABLE gis_point; + +-- echo Use a trx to test the IDU on the table and verify the result +START TRANSACTION; + +DELETE FROM gis_point WHERE ST_Equals(p2, ST_PointFromText('POINT(-8 4)')); + +INSERT INTO gis_point VALUES(ST_PointFromText('POINT(20.5 -41)'), ST_PointFromText('POINT(8 -4)')); + +SELECT ST_AsText(p1) AS 'Expect (32.1234 64.2468)' FROM gis_point WHERE ST_Touches(@poly3, p1) AND MBRWithin(p2, @poly4); + +UPDATE gis_point SET p1 = ST_PointFromText('POINT(20.5 49)'), p2 = ST_PointFromText('POINT(-8 4)') WHERE ST_Intersection(@ls3, @ls4) = p1; + +SELECT ST_AsText(p1) AS 'Expect (32.1234 64.2468) AND (20.5 49)' FROM gis_point WHERE ST_Touches(@poly3, p1) AND MBRWithin(p2, @poly4); + +ROLLBACK; + +SELECT ST_AsText(p1) AS 'Expect (32.1234 64.2468) AND (20.5 41)' FROM gis_point WHERE ST_Touches(@poly3, p1) AND MBRWithin(p2, @poly4); + +CHECK TABLE gis_point; + +DROP TABLE gis_point; + + + +--echo # +--echo # Test inserting/updating different type data into POINT field +--echo # + +CREATE TABLE gis_point (i INT, p POINT) ENGINE=InnoDB; +CREATE TABLE geom (i INT, g GEOMETRY NOT NULL, SPATIAL KEY(g)) ENGINE=InnoDB; + +INSERT INTO gis_point VALUES(0, ST_PointFromText('POINT(1 1)')); +INSERT INTO gis_point VALUES(1, ST_PointFromText('POINT(2 2)')); +INSERT INTO gis_point VALUES(2, NULL); + +ALTER TABLE gis_point ADD COLUMN j INT, ALGORITHM = COPY; + +SELECT t.name, c.name, c.mtype, c.prtype, c.len +FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS c +JOIN INFORMATION_SCHEMA.INNODB_SYS_TABLES t +ON c.table_id = t.table_id +WHERE t.name='test/gis_point' AND c.name='p'; + +SELECT i, ST_AsText(p) FROM gis_point; + +UPDATE gis_point SET p = NULL WHERE p = ST_PointFromText('POINT(1 1)'); +UPDATE gis_point SET p = ST_PointFromText('POINT(1 2)') WHERE p = ST_PointFromText('POINT(2 2)'); +UPDATE gis_point SET p = ST_PointFromText('POINT(1 1)') WHERE p IS NULL; + +SELECT i, ST_AsText(p) FROM gis_point; + +INSERT INTO geom VALUES(0, ST_PointFromText('POINT(0 0)')); +INSERT INTO geom VALUES(1, ST_PointFromText('POINT(10 10)')); +INSERT INTO geom VALUES(2, ST_GeomFromText('POLYGON((7 1,6 2,6 3,10 3,10 1,7 1))')); + +SELECT ST_AsText(g) FROM geom; + +SELECT ST_AsText(p) FROM gis_point; + +DELETE FROM geom WHERE g = ST_GeomFromText('POLYGON((7 1,6 2,6 3,10 3,10 1,7 1))'); +--echo From GEOMETRY to POINT, now ALL the data are POINT +ALTER TABLE geom MODIFY g POINT NOT NULL; +SHOW CREATE TABLE geom; +SELECT ST_AsText(g) FROM geom; + +--echo From POINT to GEOMETRY, all data are POINT +ALTER TABLE geom MODIFY g GEOMETRY NOT NULL; +SHOW CREATE TABLE geom; + +TRUNCATE TABLE geom; + +--echo From GEOMETRY to POINT, the table is empty +ALTER TABLE geom MODIFY g POINT NOT NULL; +SHOW CREATE TABLE geom; +SELECT ST_AsText(g) FROM geom; + +CHECK TABLE gis_point; +CHECK TABLE geom; + +DROP TABLE gis_point, geom; + + + +--echo # +--echo # Test when a geom field, such as POINT, is also a primary key +--echo # + +CREATE TABLE t1 ( + a INT NOT NULL, + p POINT NOT NULL, + l LINESTRING NOT NULL, + g GEOMETRY NOT NULL, + PRIMARY KEY(p), + SPATIAL KEY `idx2` (p), + SPATIAL KEY `idx3` (l), + SPATIAL KEY `idx4` (g) +) ENGINE=InnoDB; + +INSERT INTO t1 VALUES( +1, ST_GeomFromText('POINT(10 10)'), +ST_GeomFromText('LINESTRING(1 1, 5 5, 10 10)'), +ST_GeomFromText('POLYGON((30 30, 40 40, 50 50, 30 50, 30 40, 30 30))')); + +INSERT INTO t1 VALUES( +2, ST_GeomFromText('POINT(20 20)'), +ST_GeomFromText('LINESTRING(2 3, 7 8, 9 10, 15 16)'), +ST_GeomFromText('POLYGON((10 30, 30 40, 40 50, 40 30, 30 20, 10 30))')); + +SELECT a, ST_AsText(p), ST_AsText(l), ST_AsText(g) FROM t1; + +--replace_column 9 # +EXPLAIN UPDATE t1 SET p = ST_GeomFromText('POINT(30 30)') WHERE p = ST_GeomFromText('POINT(20 20)'); +UPDATE t1 SET p = ST_GeomFromText('POINT(30 30)') WHERE p = ST_GeomFromText('POINT(20 20)'); + +# Once Bug 18265942 - GIS: INNODB WOULD GET POSSIBLE WRONG FIND_FLAG FOR SELECT FROM SERVER is fixed, we can test all the following statements commented out. +#SELECT ST_AsText(p) FROM t1 WHERE MBRWithin(p, ST_GeomFromText('POLYGON((25 25, 25 35, 35 35, 35 25, 25 25))')); +#UPDATE t1 SET p = ST_GeomFromText('POINT(15 15)') WHERE MBRWithin(p, ST_GeomFromText('POLYGON((25 25, 25 35, 35 35, 35 25, 25 25))')); +#DELETE FROM t1 WHERE MBRWithin(p, ST_GeomFromText('LINESTRING(15 15, 15 25, 25 25, 35 15, 15 15)')); +#SELECT a, ST_AsText(p), ST_AsText(l), ST_AsText(g) FROM t1; +#INSERT INTO t1 VALUES( +#3, ST_GeomFromText('POINT(25 25)'), +#ST_GeomFromText('LINESTRING(2 3, 7 8, 9 10, 15 16)'), +#ST_GeomFromText('POLYGON((10 30, 30 40, 40 50, 40 30, 30 20, 10 30))')); +#UPDATE t1 SET p = ST_GeomFromText('POINT(50 50)'), l = ST_GeomFromText('LINESTRING(20 20, 21 21, 22 22, 23 23)') WHERE MBRWithin(g, ST_GeomFromText('LINESTRING(25 25, 25 50, 50 50, 50 25, 25 25)')); + +SELECT a, ST_AsText(p), ST_AsText(l), ST_AsText(g) FROM t1; + +ALTER TABLE t1 DROP PRIMARY KEY; +ALTER TABLE t1 ADD PRIMARY KEY(a); + +SELECT a, ST_AsText(p), ST_AsText(l), ST_AsText(g) FROM t1; + +ALTER TABLE t1 DROP PRIMARY KEY; +ALTER TABLE t1 ADD PRIMARY KEY(p); + +SELECT a, ST_AsText(p), ST_AsText(l), ST_AsText(g) FROM t1; + +SHOW CREATE TABLE t1; + +# Also waiting for Bug 18265942 +#UPDATE t1 SET p = ST_PointFromText('POINT(20 20)') WHERE ST_Equals(p, ST_PointFromText('POINT(30 30)')); +#INSERT INTO t1 VALUES( +#3, ST_GeomFromText('POINT(25 25)'), +#ST_GeomFromText('LINESTRING(2 3, 7 8, 9 10, 15 16)'), +#ST_GeomFromText('POLYGON((10 30, 30 40, 40 50, 40 30, 30 20, 10 30))')); + +SELECT a, ST_AsText(p), ST_AsText(l), ST_AsText(g) FROM t1; + +ALTER TABLE t1 DROP PRIMARY KEY; +ALTER TABLE t1 ADD PRIMARY KEY(p); + +--replace_column 9 # +EXPLAIN SELECT a, ST_AsText(p) FROM t1 WHERE a = 2 AND p = ST_GeomFromText('POINT(30 30)'); +SELECT a, ST_AsText(p) FROM t1 WHERE a = 2 AND p = ST_GeomFromText('POINT(30 30)'); + +SELECT a, ST_AsText(p), ST_AsText(l), ST_AsText(g) FROM t1; + +CHECK TABLE t1; + +DROP TABLE t1; + +--echo # +--echo # Test for foreign keys. +--echo # +CREATE TABLE parent(p POINT, PRIMARY KEY(p)) ENGINE=InnoDB; +CREATE TABLE child(p POINT NOT NULL) ENGINE=InnoDB; +ALTER TABLE parent ADD SPATIAL INDEX idx1(p ASC); +ALTER TABLE child ADD SPATIAL INDEX idx2(p ASC); +SHOW CREATE TABLE parent; +SHOW CREATE TABLE child; + +--error ER_CANT_CREATE_TABLE +ALTER TABLE child ADD FOREIGN KEY(p) REFERENCES parent(p); +show warnings; + +ALTER TABLE parent DROP INDEX idx1; +--error ER_CANNOT_ADD_FOREIGN,ER_CANT_CREATE_TABLE +ALTER TABLE child ADD FOREIGN KEY(p) REFERENCES parent(p); +show warnings; + +ALTER TABLE child DROP INDEX idx2; +--error ER_CANNOT_ADD_FOREIGN,ER_CANT_CREATE_TABLE +ALTER TABLE child ADD FOREIGN KEY(p) REFERENCES parent(p); +show warnings; + +DROP TABLE child, parent; + +--echo # +--echo # Bug#28763: Selecting geometry fields in UNION caused server crash. +--echo # +CREATE TABLE t1(f1 GEOMETRY, f2 POINT, f3 GEOMETRY) ENGINE=InnoDB; +SELECT f1 FROM t1 UNION SELECT f1 FROM t1; +INSERT INTO t1 (f2,f3) VALUES (ST_GeomFromText('POINT(1 1)'), + ST_GeomFromText('POINT(2 2)')); +SELECT ST_AsText(f2),ST_AsText(f3) FROM t1; +SELECT ST_AsText(a) FROM (SELECT f2 AS a FROM t1 UNION SELECT f3 FROM t1) t; +CREATE TABLE t2 AS SELECT f2 AS a FROM t1 UNION SELECT f3 FROM t1; +DESC t2; +SELECT ST_AsText(a) FROM t2; +DROP TABLE t1, t2; + diff --git a/mysql-test/suite/innodb_gis/t/point_big.test b/mysql-test/suite/innodb_gis/t/point_big.test new file mode 100644 index 00000000..d46fc5d9 --- /dev/null +++ b/mysql-test/suite/innodb_gis/t/point_big.test @@ -0,0 +1,322 @@ +#******************************************************** +# wl6942: Store certain GIS data type in the row rather +# than as BLOB. +# +#******************************************************** + +--source include/have_geometry.inc +--source include/have_innodb.inc + +--source include/not_embedded.inc +--source include/big_test.inc +--source include/not_valgrind.inc + +--echo # +--echo # Test when the POINT is on B-TREE +--echo # +CREATE TABLE t1(fid INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT, p POINT, KEY(p)) ENGINE=InnoDB; + +INSERT INTO t1 VALUES +(101, ST_PointFromText('POINT(10 10)')), +(102, ST_PointFromText('POINT(20 10)')), +(103, ST_PointFromText('POINT(20 20)')), +(104, ST_PointFromWKB(ST_AsWKB(ST_PointFromText('POINT(10 20)')))); + +SELECT ST_AsText(p) FROM t1; +SELECT ST_AsText(p) FROM t1 WHERE p = ST_PointFromText('POINT(20 20)'); + +INSERT INTO t1 VALUES +(201, ST_PointFromText('POINT(100.32374832 101.23741821)')), +(202, ST_PointFromText('POINT(102.43287328 100.23489233)')), +(203, ST_PointFromText('POINT(101.43284962 100.45892392)')), +(204, ST_PointFromWKB(ST_AsWKB(ST_PointFromText('POINT(103.43718640 105.248206478)')))), +(205, ST_PointFromText('POINT(101.43284962 100.45892392)')), +(206, ST_PointFromWKB(ST_AsWKB(ST_PointFromText('POINT(103.43718640 105.248206478)')))); + +SELECT ST_AsText(p), COUNT(*) FROM t1 GROUP BY p; + +TRUNCATE t1; + +SELECT * FROM t1; + +INSERT INTO t1(p) VALUES(ST_PointFromText('POINT(10 10)')), +(ST_PointFromText('POINT(10 20)')), +(ST_PointFromText('POINT(10 40)')), +(ST_PointFromText('POINT(10 60)')), +(ST_PointFromText('POINT(20 15)')), +(ST_PointFromText('POINT(30 10)')), +(ST_PointFromText('POINT(40 10)')), +(ST_PointFromText('POINT(50 10)')), +(ST_PointFromText('POINT(60 5)')), +(ST_PointFromText('POINT(60 10)')), +(ST_PointFromText('POINT(60 20)')), +(ST_PointFromText('POINT(60 100)')), +(ST_PointFromText('POINT(100 100)')), +(ST_PointFromText('POINT(80 60)')), +(ST_PointFromText('POINT(81 50)')), +(ST_PointFromText('POINT(82 70)')), +(ST_PointFromText('POINT(83 30)')), +(ST_PointFromText('POINT(20 100)')), +(ST_PointFromText('POINT(150 2000)')), +(ST_PointFromText('POINT(109 230)')), +(ST_PointFromText('POINT(280 250)')), +(ST_PointFromText('POINT(176 175)')), +(ST_PointFromText('POINT(200 10)')), +(NULL), +(NULL); + +SELECT ST_AsText(p) FROM t1; +SELECT COUNT(*) FROM t1; + +SELECT ST_AsText(p) FROM t1; +SELECT COUNT(*) FROM t1; + +INSERT INTO t1(p) SELECT p FROM t1; +INSERT INTO t1(p) SELECT p FROM t1; +INSERT INTO t1(p) SELECT p FROM t1; +INSERT INTO t1(p) SELECT p FROM t1; +INSERT INTO t1(p) SELECT p FROM t1; +INSERT INTO t1(p) SELECT p FROM t1; +INSERT INTO t1(p) SELECT p FROM t1; +INSERT INTO t1(p) SELECT p FROM t1; +INSERT INTO t1(p) SELECT p FROM t1; +INSERT INTO t1(p) SELECT p FROM t1; +INSERT INTO t1(p) SELECT p FROM t1; +INSERT INTO t1(p) SELECT p FROM t1; + +CHECK TABLE t1; + +SELECT COUNT(*) FROM t1; +SELECT ST_AsText(p), COUNT(*) FROM t1 GROUP BY p; +SELECT COUNT(*) FROM t1 WHERE p = ST_PointFromText('POINT(280 250)'); +DELETE FROM t1 WHERE p = ST_PointFromText('POINT(280 250)'); +SELECT COUNT(*) FROM t1 WHERE p = ST_PointFromText('POINT(280 250)'); +SELECT COUNT(*) FROM t1 WHERE p = ST_PointFromText('POINT(60 5)'); +DELETE FROM t1 WHERE P = ST_PointFromText('POINT(60 5)'); +SELECT COUNT(*) FROM t1 WHERE p = ST_PointFromText('POINT(60 5)'); + +SELECT ST_AsText(p), COUNT(*) FROM t1 WHERE p = ST_PointFromText('POINT(60 10)') OR p = ST_PointFromText('POINT(60 20)') OR p = ST_PointFromText('POINT(60 30)') GROUP BY p; +UPDATE t1 SET p = ST_PointFromText('POINT(101 102)') WHERE p = ST_PointFromText('POINT(60 10)') OR p = ST_PointFromText('POINT(60 20)') OR p = ST_PointFromText('POINT(60 30)'); +SELECT ST_AsText(p), COUNT(*) FROM t1 WHERE p = ST_PointFromText('POINT(60 10)') OR p = ST_PointFromText('POINT(60 20)') OR p = ST_PointFromText('POINT(60 30)') GROUP BY p; +SELECT COUNT(*) FROM t1 WHERE p = ST_PointFromText('POINT(101 102)'); + +SELECT COUNT(*) FROM t1 WHERE p IS NULL; +UPDATE t1 SET p = ST_PointFromText('POINT(160 160)') WHERE p IS NULL; +SELECT COUNT(*) FROM t1 WHERE p IS NULL; +SELECT COUNT(*) FROM t1 WHERE p = ST_PointFromText('POINT(160 160)'); + +SELECT ST_AsText(p), COUNT(*) FROM t1 GROUP BY p; +SELECT COUNT(*) FROM t1; + +CHECK TABLE t1; + +DROP TABLE t1; + + +--echo # +--echo # Test when POINT is used in spatial index +--echo # +SET @ls1 = ST_GeomFromText('LINESTRING(0 20, 10 0)'); +SET @ls2 = ST_GeomFromText('LINESTRING(0 0, 10 20)'); +SET @ls3 = ST_GeomFromText('LINESTRING(20 -40, 21 -42)'); +SET @ls4 = ST_GeomFromText('LINESTRING(20 -42, 21 -40)'); +SET @poly1 = ST_GeomFromText('POLYGON((2 2, 2 10, 10 10, 10 2, 2 2))'); +SET @poly2 = ST_GeomFromText('POLYGON((0 0, -5 0, -4 -1, -6 -15, -3 -15, 0 0))'); +SET @poly3 = ST_GeomFromText('POLYGON((10.0 10.0, 20.5 20, 20.5 50, 32.0 64.0, 32.3 64.6, 5 60, 10 10))'); +SET @poly4 = ST_GeomFromText('POLYGON((0 10, -10 10, -10 -10, 0 -10, 0 10))'); +SET @p1 = ST_PointFromText('POINT(0 0)'); +SET @mpoly = ST_GeomFromText('MULTIPOLYGON(((3 3, 3 16, 16 16, 16 3, 3 3)), ((10 10, 10 50, 50 50, 50 10, 10 10)))'); + +CREATE TABLE gis_point (p1 POINT NOT NULL, p2 POINT NOT NULL, SPATIAL KEY k1 (p1), SPATIAL KEY k2 (p2)) ENGINE=InnoDB; + +INSERT INTO gis_point VALUES +(ST_PointFromText('POINT(1 2)'), ST_PointFromText('POINT(-1 -3)')), +(ST_PointFromText('POINT(2 4)'), ST_PointFromText('POINT(-2 -6)')), +(ST_PointFromText('POINT(3 6)'), ST_PointFromText('POINT(-3 -9)')), +(ST_PointFromText('POINT(4 8)'), ST_PointFromText('POINT(-4 -12)')), +(ST_PointFromText('POINT(5 10)'), ST_PointFromText('POINT(-5 -15)')), +(ST_PointFromText('POINT(6 12)'), ST_PointFromText('POINT(-6 -18)')), +(ST_PointFromText('POINT(7 14)'), ST_PointFromText('POINT(-7 -21)')), +(ST_PointFromText('POINT(8 16)'), ST_PointFromText('POINT(0 0)')), +(ST_PointFromText('POINT(9 18)'), ST_PointFromText('POINT(-4 2)')), +(ST_PointFromText('POINT(10 21)'), ST_PointFromText('POINT(-6 3)')), +(ST_PointFromText('POINT(20.5 41)'), ST_PointFromText('POINT(-8 4)')), +(ST_PointFromText('POINT(26.25 57)'), ST_PointFromText('POINT(1 2)')), +(ST_PointFromText('POINT(32.1234 64.2468)'), ST_PointFromText('POINT(-1 -1)')); + +-- echo 'The ORDER BY for spatial index will use filesort' +--replace_column 9 # +EXPLAIN SELECT ST_AsText(p1), ST_AsText(p2) FROM gis_point ORDER BY p1, p2; +SELECT ST_AsText(p1), ST_AsText(p2) FROM gis_point ORDER BY p1, p2; + +-- echo 'Try to do IDU on the table and verify the result' +DELETE FROM gis_point WHERE ST_Equals(p2, ST_PointFromText('POINT(-8 4)')); + +INSERT INTO gis_point VALUES(ST_PointFromText('POINT(20.5 -41)'), ST_PointFromText('POINT(8 -4)')); + +SELECT ST_AsText(p1) AS 'Expect (32.1234 64.2468)' FROM gis_point WHERE ST_TOUCHES(@poly3, p1) AND MBRWithin(p2, @poly4); + +UPDATE gis_point SET p1 = ST_PointFromText('POINT(20.5 41)'), p2 = ST_PointFromText('POINT(-8 4)') WHERE ST_Intersection(@ls3, @ls4) = p1; + +SELECT ST_AsText(p1) AS 'Expect (32.1234 64.2468) AND (20.5 41)' FROM gis_point WHERE ST_TOUCHES(@poly3, p1) AND MBRWithin(p2, @poly4); + +CHECK TABLE gis_point; + +-- echo ============================================================ +-- echo Use a trx to test the IDU on the table and verify the result +-- echo ============================================================ + +START TRANSACTION; + +DELETE FROM gis_point WHERE ST_Equals(p2, ST_PointFromText('POINT(-8 4)')); + +INSERT INTO gis_point VALUES(ST_PointFromText('POINT(20.5 -41)'), ST_PointFromText('POINT(8 -4)')); + +SELECT ST_AsText(p1) AS 'Expect (32.1234 64.2468)' FROM gis_point WHERE ST_TOUCHES(@poly3, p1) AND MBRWithin(p2, @poly4); + +UPDATE gis_point SET p1 = ST_PointFromText('POINT(20.5 49)'), p2 = ST_PointFromText('POINT(-8 4)') WHERE ST_Intersection(@ls3, @ls4) = p1; + +SELECT ST_AsText(p1) AS 'Expect (32.1234 64.2468) AND (20.5 49)' FROM gis_point WHERE ST_TOUCHES(@poly3, p1) AND MBRWithin(p2, @poly4); + +ROLLBACK; + +SELECT ST_AsText(p1) AS 'Expect (32.1234 64.2468) AND (20.5 41)' FROM gis_point WHERE ST_TOUCHES(@poly3, p1) AND MBRWithin(p2, @poly4); + +CHECK TABLE gis_point; + +-- echo ======================================================= +-- echo Enlarge the table by inserting the same data and verify +-- echo ======================================================= + +INSERT INTO gis_point SELECT * FROM gis_point; +INSERT INTO gis_point SELECT * FROM gis_point; +INSERT INTO gis_point SELECT * FROM gis_point; +INSERT INTO gis_point SELECT * FROM gis_point; +INSERT INTO gis_point SELECT * FROM gis_point; +INSERT INTO gis_point SELECT * FROM gis_point; +INSERT INTO gis_point SELECT * FROM gis_point; +INSERT INTO gis_point SELECT * FROM gis_point; +INSERT INTO gis_point SELECT * FROM gis_point; +INSERT INTO gis_point SELECT * FROM gis_point; + +CHECK TABLE gis_point; + +SELECT COUNT(*), ST_AsText(p1), ST_AsText(p2) FROM gis_point GROUP BY p1, p2; + +SELECT COUNT(*), ST_AsText(p1) FROM gis_point WHERE ST_Intersection(@ls1, @ls2) = p1 GROUP BY p1; +SELECT COUNT(*), ST_AsText(p1) FROM gis_point WHERE MBRWithin(p1, @poly1) GROUP BY p1; +SELECT COUNT(*), ST_AsText(p2) FROM gis_point WHERE ST_Contains(@poly2, p2) GROUP BY p2; +SELECT COUNT(*), ST_AsText(p2) FROM gis_point WHERE ST_Equals(p2, @p1) GROUP BY p2; +SELECT COUNT(*), ST_AsText(p1) FROM gis_point WHERE ST_TOUCHES(@poly3, p1) AND MBRWithin(p2, @poly4) GROUP BY p1; +SELECT COUNT(*), ST_AsText(p1), ST_AsText(p2) FROM gis_point WHERE ST_Contains(@mpoly, p1) GROUP BY p1, p2; +SELECT COUNT(*), ST_AsText(p1), ST_AsText(p2) FROM gis_point WHERE ST_Contains(@mpoly, p1) AND NOT MBRWithin(p1, @mpoly) GROUP BY p1, p2; + +-- echo ====================================================================== +-- echo Build another new table with the same schema, will insert data from this table to the orignal one +-- echo ====================================================================== + +CREATE TABLE p(p1 POINT NOT NULL, p2 POINT NOT NULL, SPATIAL INDEX k1(p2)) ENGINE=InnoDB; + +INSERT INTO p VALUES(ST_PointFromText('POINT(1000 -1000)'), ST_PointFromText('POINT(-201 203.56)')); +INSERT INTO p VALUES(ST_PointFromText('POINT(20.5 43.9832)'), ST_PointFromText('POINT(-0 0)')); +INSERT INTO p VALUES(ST_PointFromText('POINT(-4.2 -6.98)'), ST_PointFromText('POINT(-120.5 343.9832)')); + +INSERT INTO p SELECT * FROM p WHERE MBRWithin(p1, ST_GeomFromText('POLYGON((0 0, 0 2000, 2000 2000, 2000 -2000, 0 -2000, 0 0))')); +INSERT INTO p SELECT * FROM p WHERE MBRWithin(p1, ST_GeomFromText('POLYGON((0 0, -10 0, -100 -100, 0 -50, 0 0))')); + +SELECT COUNT(*), ST_AsText(p1), ST_AsText(p2) FROM p GROUP BY p1, p2; + +INSERT INTO gis_point SELECT * FROM p; +INSERT INTO gis_point SELECT * FROM p; +INSERT INTO gis_point SELECT * FROM p; +INSERT INTO gis_point SELECT * FROM p; +INSERT INTO gis_point SELECT * FROM p; +INSERT INTO gis_point SELECT * FROM p; +INSERT INTO gis_point SELECT * FROM p; + +CHECK TABLE gis_point; + +SELECT COUNT(*), ST_AsText(p1), ST_AsText(p2) FROM gis_point GROUP BY p1, p2; + +SELECT COUNT(*), ST_AsText(p1) FROM gis_point WHERE ST_TOUCHES(@poly3, p1) AND MBRWithin(p2, @poly4) GROUP BY p1; + +SELECT COUNT(*), ST_AsText(p2) FROM gis_point WHERE MBRWithin(p2, @poly2) GROUP BY p2; + +DROP TABLE p; + +-- echo ================================ +-- echo Use a trx to test IUD and verify +-- echo ================================ + +# Temporarily disabled the following test case, since the ROLLBACK and +# some other DML would cost too much of time. We could test them until +# we have optimized the UNDO, etc. + +#START TRANSACTION; + +#-- echo 'To remove (-2 -6), (-1 -3)' +#DELETE FROM gis_point WHERE ST_Contains(ST_GeomFromText('POLYGON((-8 -8, 4 -7, 1 1, 0 -1, -2 -2, -8 -8))') , p2); + +#SELECT COUNT(*), ST_AsText(p2) FROM gis_point WHERE ST_Contains(@poly2, p2) GROUP BY p2; + +#-- echo 'To set (-1 -1) to (-5.12 -10.84)' +#UPDATE gis_point SET p2 = ST_PointFromText('POINT(-5.12 -10.84)') WHERE ST_Intersection(ST_GeomFromText('LINESTRING(-3 4, -2 0, 0.5 -2.5, 5 0)'), ST_GeomFromText('LINESTRING(0.6 0.6, -10 -10)')) = p2; + +#SELECT COUNT(*), ST_AsText(p2) FROM gis_point WHERE MBRWithin(p2, @poly2) GROUP BY p2; + +#-- echo 'To insert several (-3.6 -4.05) (-1 -1) +#INSERT INTO gis_point VALUES +#(ST_PointFromText('POINT(10.1 2.6)'), ST_PointFromText('POINT(-1 -1)')), +#(ST_PointFromText('POINT(100.99 -2.53)'), ST_PointFromText('POINT(-3.6 -4.05)')), +#(ST_PointFromText('POINT(13.62 3.87)'), ST_PointFromText('POINT(-1 -1)')), +#(ST_PointFromText('POINT(-36.3 0.34)'), ST_PointFromText('POINT(-1 -1)')), +#(ST_PointFromText('POINT(1.04 25.6)'), ST_PointFromText('POINT(-3.6 -4.05)')); + +#SELECT COUNT(*), ST_AsText(p2) FROM gis_point WHERE MBRWithin(p2, @poly2) GROUP BY p2; + +#SELECT COUNT(*), ST_AsText(p2) FROM gis_point WHERE ST_Contains(ST_GeomFromText('POLYGON((-0.999 -0.999, -6 -1, -6 -7, -0.99999 -0.99999, -0.999 -0.999))'), p2) GROUP BY p2; + +#ROLLBACK; + +#CHECK TABLE gis_point; + +-- echo ============================================= +-- echo Delete those rows selected from another table +-- echo ============================================= + +SELECT COUNT(*), ST_AsText(p1), ST_AsText(p2) FROM gis_point GROUP BY p1, p2; + +UPDATE gis_point SET p2 = ST_PointFromText('POINT(2000 2000)') WHERE ST_Contains(ST_GeomFromText('POLYGON((-100 100, -400 100, -400 400, -100 400, -100 100))'), p2) OR ST_Contains(ST_GeomFromText('POLYGON((-0.0001 -0.0002, -0.0001 0.00002, 0.00000005 0.000001, 0.0000025 -0.001, -0.0001 -0.0002))'), p2); + +CHECK TABLE gis_point; + +-- echo 'To remove all the just updated rows' +DELETE FROM gis_point WHERE ST_Intersection(ST_GeomFromText('LINESTRING(1800 1900, 2200 2100)'), ST_GeomFromText('LINESTRING(0 0, 2001 2001)')) = p2; + +INSERT INTO gis_point VALUES +(ST_PointFromText('POINT(8 16)'), ST_PointFromText('POINT(0 0)')), +(ST_PointFromText('POINT(8 16)'), ST_PointFromText('POINT(0 0)')); + +-- echo ====================================================================== +-- echo Following results should be almost the same with those at the beginning +-- echo ====================================================================== + +SELECT COUNT(*), ST_AsText(p1), ST_AsText(p2) FROM gis_point GROUP BY p1, p2; +SELECT COUNT(*), ST_AsText(p1), ST_AsText(p2) +FROM gis_point +WHERE ST_Contains(ST_GeomFromText('POLYGON((-1000 -1000, -1000 1000, 1000 1000, 1001 -1001, -1000 -1000))'), p1) +GROUP BY p1, p2; + +SELECT ST_AsText(p1), ST_AsText(p2) FROM gis_point GROUP BY p1, p2; +SELECT COUNT(*), ST_AsText(p1) FROM gis_point WHERE ST_Intersection(@ls1, @ls2) = p1 GROUP BY p1; +SELECT COUNT(*), ST_AsText(p1) FROM gis_point WHERE MBRWithin(p1, @poly1) GROUP BY p1; +SELECT COUNT(*), ST_AsText(p2) FROM gis_point WHERE ST_Contains(@poly2, p2) GROUP BY p2; +SELECT COUNT(*), ST_AsText(p2) FROM gis_point WHERE ST_Equals(p2, @p1) GROUP BY p2; +SELECT COUNT(*), ST_AsText(p1) FROM gis_point WHERE ST_TOUCHES(@poly3, p1) AND MBRWithin(p2, @poly4) GROUP BY p1; +SELECT COUNT(*), ST_AsText(p1), ST_AsText(p2) FROM gis_point WHERE ST_Contains(@mpoly, p1) GROUP BY p1, p2; +SELECT COUNT(*), ST_AsText(p1), ST_AsText(p2) FROM gis_point WHERE ST_Contains(@mpoly, p1) AND NOT MBRWithin(p1, @mpoly) GROUP BY p1, p2; + +CHECK TABLE gis_point; + +DROP TABLE gis_point; + diff --git a/mysql-test/suite/innodb_gis/t/precise.test b/mysql-test/suite/innodb_gis/t/precise.test new file mode 100644 index 00000000..3ddfc936 --- /dev/null +++ b/mysql-test/suite/innodb_gis/t/precise.test @@ -0,0 +1,146 @@ +-- source include/have_innodb.inc +-- source include/have_geometry.inc + + +# +# Spatial objects +# + +--disable_warnings +DROP TABLE IF EXISTS t1; +--enable_warnings + +select 1, ST_Intersects(ST_GeomFromText('POLYGON((0 0,20 0,20 20,0 20,0 0))'), ST_GeomFromText('POLYGON((10 10,30 10,30 30,10 30,10 10))')); +select 0, ST_Intersects(ST_GeomFromText('POLYGON((0 0,20 10,10 30, 0 0))'), ST_GeomFromText('POLYGON((10 40, 40 50, 20 70, 10 40))')); +select 1, ST_Intersects(ST_GeomFromText('POLYGON((0 0,20 10,10 30, 0 0))'), ST_GeomFromText('POINT(10 10)')); +select 1, ST_Intersects(ST_GeomFromText('POLYGON((0 0,20 10,10 30, 0 0))'), ST_GeomFromText('POLYGON((10 10,30 20,20 40, 10 10))')); +select 0, ST_Within(ST_GeomFromText('POLYGON((0 0,20 10,10 30, 0 0))'), ST_GeomFromText('POLYGON((10 10,30 20,20 40, 10 10))')); +select 1, ST_Within(ST_GeomFromText('POLYGON((1 1,20 10,10 30, 1 1))'), ST_GeomFromText('POLYGON((0 0,30 5,10 40, 0 0))')); + + +create table t1 (g point)engine=innodb; +insert into t1 values +(ST_GeomFromText('POINT(2 2)')), (ST_GeomFromText('POINT(2 4)')), (ST_GeomFromText('POINT(2 6)')), (ST_GeomFromText('POINT(2 8)')), +(ST_GeomFromText('POINT(4 2)')), (ST_GeomFromText('POINT(4 4)')), (ST_GeomFromText('POINT(4 6)')), (ST_GeomFromText('POINT(4 8)')), +(ST_GeomFromText('POINT(6 2)')), (ST_GeomFromText('POINT(6 4)')), (ST_GeomFromText('POINT(6 6)')), (ST_GeomFromText('POINT(6 8)')), +(ST_GeomFromText('POINT(8 2)')), (ST_GeomFromText('POINT(8 4)')), (ST_GeomFromText('POINT(8 6)')), (ST_GeomFromText('POINT(8 8)')); + +select ST_astext(g) from t1 where ST_Within(g, ST_GeomFromText('POLYGON((5 1, 7 1, 7 7, 5 7, 3 3, 5 3, 5 1))')); +select 'Contains'; +select ST_astext(g) from t1 where ST_Contains(ST_GeomFromText('POLYGON((5 1, 7 1, 7 7, 5 7, 3 3, 5 3, 5 1))'), g); +select 'Intersects'; +select ST_astext(g) from t1 where ST_Intersects(ST_GeomFromText('POLYGON((5 1, 7 1, 7 7, 5 7, 3 3, 5 3, 5 1))'), g); +select 'Contains'; +select ST_astext(g) from t1 where ST_Contains(ST_GeomFromText('POLYGON((5 1, 7 1, 7 7, 5 7, 3 3, 5 3, 5 1))'), g); +select 'Contains2'; +select ST_astext(g) from t1 where ST_Contains(ST_GeomFromText('POLYGON((5 1, 7 1, 7 7, 5 7, 3 3, 5 3, 5 1), (5.01 3.01, 6 5, 9 5, 8 3, 5.01 3.01))'), g); + +DROP TABLE t1; + +select 0, ST_Within(ST_GeomFromText('LINESTRING(15 15, 50 50, 60 60)'), ST_GeomFromText('POLYGON((10 10,30 20,20 40, 10 10))')); +select 1, ST_Within(ST_GeomFromText('LINESTRING(15 15, 16 16)'), ST_GeomFromText('POLYGON((10 10,30 20,20 40, 10 10))')); + + +select 1, ST_Intersects(ST_GeomFromText('LINESTRING(15 15, 50 50)'), ST_GeomFromText('LINESTRING(50 15, 15 50)')); +select 1, ST_Intersects(ST_GeomFromText('LINESTRING(15 15, 50 50)'), ST_GeomFromText('LINESTRING(16 16, 51 51)')); + +select 1, ST_Intersects(ST_GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), ST_GeomFromText('POLYGON((50 5, 55 10, 0 45, 50 5))')); + +select ST_astext(ST_Union(ST_geometryfromtext('point(1 1)'), ST_geometryfromtext('polygon((0 0, 2 0, 1 2, 0 0))'))); +select ST_astext(ST_Intersection(ST_geometryfromtext('point(1 1)'), ST_geometryfromtext('polygon((0 0, 2 0, 1 2, 0 0))'))); + +select ST_Intersects(ST_GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), ST_GeomFromText('POLYGON((50 5, 55 10, 0 45, 50 5))')); +select ST_contains(ST_GeomFromText('MULTIPOLYGON(((0 0, 0 5, 5 5, 5 0, 0 0)), ((6 6, 6 11, 11 11, 11 6, 6 6)))'), ST_GeomFromText('POINT(5 10)')); +select ST_Disjoint(ST_GeomFromText('POLYGON((0 0, 0 5, 5 5, 5 0, 0 0))'), ST_GeomFromText('POLYGON((10 10, 10 15, 15 15, 15 10, 10 10))')); +select ST_Disjoint(ST_GeomFromText('POLYGON((0 0, 0 5, 5 5, 5 0, 0 0))'), ST_GeomFromText('POLYGON((10 10, 10 4, 4 4, 4 10, 10 10))')); +select ST_Overlaps(ST_GeomFromText('POLYGON((0 0, 0 5, 5 5, 5 0, 0 0))'), ST_GeomFromText('POLYGON((10 10, 10 4, 4 4, 4 10, 10 10))')); +select ST_Overlaps(ST_GeomFromText('POLYGON((0 0, 0 5, 5 5, 5 0, 0 0))'), ST_GeomFromText('POLYGON((1 1, 1 4, 4 4, 4 1, 1 1))')); + +# Distance tests +select ST_DISTANCE(ST_geomfromtext('polygon((0 0, 1 2, 2 1, 0 0))'), ST_geomfromtext('polygon((2 2, 3 4, 4 3, 2 2))')); +select ST_DISTANCE(ST_geomfromtext('polygon((0 0, 1 2, 2 1, 0 0))'), ST_geomfromtext('linestring(0 1, 1 0)')); +select ST_DISTANCE(ST_geomfromtext('polygon((0 0, 3 6, 6 3, 0 0))'), ST_geomfromtext('polygon((2 2, 3 4, 4 3, 2 2))')); +select ST_DISTANCE(ST_geomfromtext('polygon((0 0, 3 6, 6 3, 0 0),(2 2, 3 4, 4 3, 2 2))'), ST_geomfromtext('point(3 3)')); +select ST_DISTANCE(ST_geomfromtext('linestring(0 0, 3 6, 6 3, 0 0)'), ST_geomfromtext('polygon((2 2, 3 4, 4 3, 2 2))')); + + +# Operations tests +--replace_result 23.85542168674699 23.855421686746986 7.999999999999999 8 +select ST_astext(ST_Intersection(ST_GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), ST_GeomFromText('POLYGON((50 5, 55 10, 0 45, 50 5))'))); +--replace_result 23.85542168674699 23.855421686746986 +select ST_astext(ST_Intersection(ST_GeomFromText('LINESTRING(0 0, 50 45, 40 50, 0 0)'), ST_GeomFromText('LINESTRING(50 5, 55 10, 0 45, 50 5)'))); +select ST_astext(ST_Intersection(ST_GeomFromText('LINESTRING(0 0, 50 45, 40 50)'), ST_GeomFromText('LINESTRING(50 5, 55 10, 0 45)'))); +select ST_astext(ST_Intersection(ST_GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), ST_GeomFromText('POINT(20 20)'))); +select ST_astext(ST_Intersection(ST_GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), ST_GeomFromText('LINESTRING(-10 -10, 200 200)'))); +--replace_result 7.999999999999999 8 +select ST_astext(ST_Intersection(ST_GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), ST_GeomFromText('LINESTRING(-10 -10, 200 200, 199 201, -11 -9)'))); +--replace_result 7.999999999999999 8 +select ST_astext(ST_UNION(ST_GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), ST_GeomFromText('LINESTRING(-10 -10, 200 200, 199 201, -11 -9)'))); + +select ST_astext(ST_intersection(ST_geomfromtext('polygon((0 0, 1 0, 0 1, 0 0))'), ST_geomfromtext('polygon((0 0, 1 1, 0 2, 0 0))'))); + +select ST_astext(ST_symdifference(ST_geomfromtext('polygon((0 0, 1 0, 0 1, 0 0))'), ST_geomfromtext('polygon((0 0, 1 1, 0 2, 0 0))'))); +--replace_result 7.999999999999999 8 +select ST_astext(ST_UNION(ST_GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), ST_GeomFromText('LINESTRING(-10 -10, 200 200, 199 201, -11 -9)'))); + +# Buffer() tests +--replace_regex /([0-9]+\.[0-9]{4})[0-9]*/\1/ +select ST_astext(ST_buffer(ST_geometryfromtext('point(1 1)'), 1)); +create table t1(geom geometrycollection)engine=innodb; +# --error ER_CANT_CREATE_GEOMETRY_OBJECT +# insert into t1 values (ST_geomfromtext('POLYGON((0 0, 10 10, 0 8, 0 0))')); +# --error ER_CANT_CREATE_GEOMETRY_OBJECT +# insert into t1 values (ST_geomfromtext('POLYGON((1 1, 10 10, 0 8, 1 1))')); +--replace_regex /([0-9]+\.[0-9]{4})[0-9]*/\1/ +select ST_astext(geom), ST_area(geom),ST_area(ST_buffer(geom,2)) from t1; +select ST_NUMPOINTS(ST_EXTERIORRING(ST_buffer(geom,2))) from t1; + +set @geom=ST_geomfromtext('LINESTRING(2 1, 4 2, 2 3, 2 5)'); +set @buff=ST_buffer(@geom,1); +select ST_NUMPOINTS(ST_EXTERIORRING(@buff)) from t1; + +# cleanup +DROP TABLE t1; + +#ST_Touches tests +select st_touches(ST_geomfromtext('point(0 0)'), ST_geomfromtext('point(1 1)')); +select st_touches(ST_geomfromtext('point(1 1)'), ST_geomfromtext('point(1 1)')); +select st_touches(ST_geomfromtext('polygon((0 0, 2 2, 0 4, 0 0))'), ST_geomfromtext('point(1 1)')); +select st_touches(ST_geomfromtext('polygon((0 0, 2 2, 0 4, 0 0))'), ST_geomfromtext('point(1 0)')); +select st_touches(ST_geomfromtext('polygon((0 0, 2 2, 0 4, 0 0))'), ST_geomfromtext('point(1 2)')); +select st_touches(ST_geomfromtext('polygon((0 0, 2 2, 0 4, 0 0))'), ST_geomfromtext('polygon((1 1.2, 1 0, 2 0, 1 1.2))')); +select st_touches(ST_geomfromtext('polygon((0 0, 2 2, 0 4, 0 0))'), ST_geomfromtext('polygon((1 1, 1 0, 2 0, 1 1))')); + +#Equals test +SELECT ST_Equals(ST_PolyFromText('POLYGON((67 13, 67 18, 67 18, 59 18, 59 13, 67 13) )'),ST_PolyFromText('POLYGON((67 13, 67 18, 59 19, 59 13, 59 13, 67 13) )')) as result; +SELECT ST_Equals(ST_PolyFromText('POLYGON((67 13, 67 18, 67 18, 59 18, 59 13, 67 13) )'),ST_PolyFromText('POLYGON((67 13, 67 18, 59 18, 59 13, 59 13, 67 13) )')) as result; +SELECT ST_Equals(ST_PointFromText('POINT (12 13)'),ST_PointFromText('POINT (12 13)')) as result; + + +--echo # +--echo # BUG#11755628/47429: INTERSECTION FUNCTION CRASHED MYSQLD +--echo # BUG#11759650/51979: UNION/INTERSECTION OF POLYGONS CRASHES MYSQL +--echo # + +SELECT ST_ASTEXT(ST_UNION(ST_GEOMFROMTEXT('POLYGON((525000 183300,525400 +183300,525400 18370, 525000 183700,525000 183300))'), +ST_geomfromtext('POLYGON((525298.67 183511.53,525296.57 +183510.39,525296.42 183510.31,525289.11 183506.62,525283.17 +183503.47,525280.98 183502.26,525278.63 183500.97,525278.39 +183500.84,525276.79 183500,525260.7 183491.55,525263.95 +183484.75,525265.58 183481.95,525278.97 183488.73,525276.5 +183493.45,525275.5 183495.7,525280.35 183498.2,525282.3 +183499.1,525282.2 183499.3,525283.55 183500,525301.75 +183509.35,525304.45 183504.25,525307.85 183504.95,525304.5 +183510.83,525302.81 183513.8,525298.67 183511.53),(525275.06 +183489.89,525272.06 183488.37,525268.94 183494.51,525271.94 +183496.03,525275.06 183489.89),(525263.26 183491.55,525266.15 +183493.04,525269.88 183485.82,525266.99 183484.33,525263.26 +183491.55))'))) st_u; + +SET @a=0x0000000001030000000200000005000000000000000000000000000000000000000000000000002440000000000000000000000000000024400000000000002440000000000000000000000000000024400000000000000000000000000000000000000000000000000000F03F000000000000F03F0000000000000040000000000000F03F00000000000000400000000000000040000000000000F03F0000000000000040000000000000F03F000000000000F03F; +--error ER_ILLEGAL_PARAMETER_DATA_TYPE_FOR_OPERATION +SELECT ST_ASTEXT(ST_TOUCHES(@a, ST_GEOMFROMTEXT('point(0 0)'))) t; + + +--source include/gis_debug.inc diff --git a/mysql-test/suite/innodb_gis/t/repeatable_spatial.test b/mysql-test/suite/innodb_gis/t/repeatable_spatial.test new file mode 100644 index 00000000..3152911b --- /dev/null +++ b/mysql-test/suite/innodb_gis/t/repeatable_spatial.test @@ -0,0 +1,241 @@ +# ***************************************************************** +# Test spatial index with isolation level Repeatable Read on DML +# This will also test the no phantom rows happens +# Check the COUNT(*) and SELECT results before & after COMMIT in +# the last con1 statment +# Test at con1: Global Repeatable Read con2 : Sess Read Committed +# Test at con1: Sess Repeatable Read con2 : Sess Read Committed +# ***************************************************************** +--source include/have_innodb.inc +--source include/have_geometry.inc +--source include/not_embedded.inc + +# Test Repeatable Read & Read committed at Global, Session levels +CREATE TABLE tab(c1 int NOT NULL PRIMARY KEY,c2 POINT NOT NULL, +c3 LINESTRING NOT NULL,c4 POLYGON NOT NULL,c5 GEOMETRY NOT NULL) +ENGINE=InnoDB; + +ALTER TABLE tab ADD SPATIAL INDEX idx2(c2 ASC); + +ALTER TABLE tab ADD SPATIAL KEY idx3(c3 DESC); + +ALTER TABLE tab ADD SPATIAL INDEX idx4(c4 ASC) COMMENT 'testing spatial index on Polygon'; + +ALTER TABLE tab ADD SPATIAL KEY idx5(c5 ASC) COMMENT 'testing spatial index on Geometry'; + +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(1,ST_GeomFromText('POINT(10 10)'),ST_GeomFromText('LINESTRING(5 5,20 20,30 30)'), +ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))'), +ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))')); + +# 1 record is expected +SELECT c1,ST_AsText(c2),ST_AsText(c3),ST_AsText(c4),ST_AsText(c5) FROM tab; + +# Record count should be 1 +SELECT COUNT(*) FROM tab; + +--echo "In connection 1" +connect (con1,localhost,root,,); +connection con1; + +SET GLOBAL TRANSACTION ISOLATION LEVEL REPEATABLE READ; + +SELECT @@tx_isolation; + +# Record count should be 1 +SELECT COUNT(*) FROM tab; + +# 1 record is expected +SELECT c1,ST_AsText(c2),ST_AsText(c3),ST_AsText(c4),ST_AsText(c5) FROM tab; + +--echo "In connection 2" +connect (con2,localhost,root,,); +connection con2; + +SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED; + +SELECT @@tx_isolation; + +START TRANSACTION; + +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(2,ST_GeomFromText('POINT(20 20)'),ST_GeomFromText('LINESTRING(20 20,30 30,40 40)'), +ST_GeomFromText('POLYGON((40 50,40 70,50 100,70 100,80 80,70 50,40 50))'), +ST_GeomFromText('POLYGON((40 50,40 70,50 100,70 100,80 80,70 50,40 50))')); + +SET @g1 = ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))'); +SET @g2 = ST_GeomFromText('POINT(10 10)'); + +# Record should be updated +UPDATE tab SET C5 = ST_GeomFromText('POLYGON((300 300,400 400,500 500,300 500,300 400,300 300))') +WHERE MBREquals(tab.c4, @g1) AND MBREquals(tab.c2, @g2); + +--echo "In connection 1" +connection con1; + +SET @g3 = ST_GeomFromText('POLYGON((40 50,40 70,50 100,70 100,80 80,70 50,40 50))'); + +# No record is expected (No phantom row) +SELECT c1,ST_AsText(c2),ST_AsText(c4),ST_AsText(c5) FROM tab WHERE MBREquals(tab.c5, @g3); + +# Record count should be 1 +SELECT COUNT(*) FROM tab; + +START TRANSACTION; + +# Record count should be 1 +SELECT COUNT(*) FROM tab; + +--echo "In connection 2" +connection con2; + +# Record count should be 2 +SELECT COUNT(*) FROM tab; + +COMMIT; + +disconnect con2; +--source include/wait_until_disconnected.inc + +--echo "In connection 1" +connection con1; + +# Record count should be 1 +SELECT COUNT(*) FROM tab; + +SET @g4 = ST_GeomFromText('POLYGON((300 300,400 400,500 500,300 500,300 400,300 300))'); + +# No records are expected (No phantom row) +SELECT ST_AsText(c5) FROM tab WHERE MBREquals(tab.c5, @g4); + +COMMIT; + +# The updated record is expected +SELECT ST_AsText(c5) FROM tab WHERE MBREquals(tab.c5, @g4); + +# Record count should be 2 +SELECT COUNT(*) FROM tab; + +# 2 records are expected +SELECT c1,ST_AsText(c2),ST_AsText(c4),ST_AsText(c5) FROM tab; + +disconnect con1; +--source include/wait_until_disconnected.inc + +--connection default +DROP TABLE tab; + +# Test Repeatable Read & Read committed at Session levels +CREATE TABLE tab(c1 int NOT NULL PRIMARY KEY,c2 POINT NOT NULL, +c3 LINESTRING NOT NULL,c4 POLYGON NOT NULL,c5 GEOMETRY NOT NULL) +ENGINE=InnoDB; + +ALTER TABLE tab ADD SPATIAL INDEX idx2(c2 ASC); + +ALTER TABLE tab ADD SPATIAL KEY idx3(c3 DESC); + +ALTER TABLE tab ADD SPATIAL INDEX idx4(c4 ASC) COMMENT 'testing spatial index on Polygon'; + +ALTER TABLE tab ADD SPATIAL KEY idx5(c5 ASC) COMMENT 'testing spatial index on Geometry'; + +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(1,ST_GeomFromText('POINT(10 10)'),ST_GeomFromText('LINESTRING(5 5,20 20,30 30)'), +ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))'), +ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))')); + +# 1 record is expected +SELECT c1,ST_AsText(c2),ST_AsText(c3),ST_AsText(c4),ST_AsText(c5) FROM tab; + +# Record count should be 1 +SELECT COUNT(*) FROM tab; + +--echo "In connection 1" +connect (con1,localhost,root,,); +connection con1; + +SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ; + +SELECT @@tx_isolation; + +# Record count should be 1 +SELECT COUNT(*) FROM tab; + +# 1 record is expected +SELECT c1,ST_AsText(c2),ST_AsText(c3),ST_AsText(c4),ST_AsText(c5) FROM tab; + +--echo "In connection 2" +connect (con2,localhost,root,,); +connection con2; + +SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED; + +SELECT @@tx_isolation; + +START TRANSACTION; + +INSERT INTO tab(c1,c2,c3,c4,c5) +VALUES(2,ST_GeomFromText('POINT(20 20)'),ST_GeomFromText('LINESTRING(20 20,30 30,40 40)'), +ST_GeomFromText('POLYGON((40 50,40 70,50 100,70 100,80 80,70 50,40 50))'), +ST_GeomFromText('POLYGON((40 50,40 70,50 100,70 100,80 80,70 50,40 50))')); + +SET @g1 = ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))'); +SET @g2 = ST_GeomFromText('POINT(10 10)'); + +# Record should be updated +UPDATE tab SET C5 = ST_GeomFromText('POLYGON((300 300,400 400,500 500,300 500,300 400,300 300))') +WHERE MBREquals(tab.c4, @g1) AND MBREquals(tab.c2, @g2); + +--echo "In connection 1" +connection con1; + +SET @g3 = ST_GeomFromText('POLYGON((40 50,40 70,50 100,70 100,80 80,70 50,40 50))'); + +# No record is expected (No phantom row) +SELECT c1,ST_AsText(c2),ST_AsText(c4),ST_AsText(c5) FROM tab WHERE MBREquals(tab.c5, @g3); + +# Record count should be 1 +SELECT COUNT(*) FROM tab; + +START TRANSACTION; + +# Record count should be 1 +SELECT COUNT(*) FROM tab; + +--echo "In connection 2" +connection con2; + +# Record count should be 2 +SELECT COUNT(*) FROM tab; + +COMMIT; + +disconnect con2; +--source include/wait_until_disconnected.inc + +--echo "In connection 1" +connection con1; + +# Record count should be 1 +SELECT COUNT(*) FROM tab; + +SET @g4 = ST_GeomFromText('POLYGON((300 300,400 400,500 500,300 500,300 400,300 300))'); + +# No records are expected (No phantom row) +SELECT ST_AsText(c5) FROM tab WHERE MBREquals(tab.c5, @g4); + +COMMIT; + +# The updated record is expected +SELECT ST_AsText(c5) FROM tab WHERE MBREquals(tab.c5, @g4); + +# Record count should be 2 +SELECT COUNT(*) FROM tab; + +# 2 records are expected +SELECT c1,ST_AsText(c2),ST_AsText(c4),ST_AsText(c5) FROM tab; + +disconnect con1; +--source include/wait_until_disconnected.inc + +--connection default +DROP TABLE tab; diff --git a/mysql-test/suite/innodb_gis/t/rollback.test b/mysql-test/suite/innodb_gis/t/rollback.test new file mode 100644 index 00000000..fcfe71e2 --- /dev/null +++ b/mysql-test/suite/innodb_gis/t/rollback.test @@ -0,0 +1,477 @@ +# WL 6609. Testing insertion rollback +--source include/have_innodb.inc +--source include/not_embedded.inc +--source include/have_debug.inc +--source include/have_innodb_16k.inc +# Valgrind can hang or return spurious messages on DBUG_SUICIDE +--source include/not_valgrind.inc +# Avoid CrashReporter popup on Mac +--source include/not_crashrep.inc +--source include/have_innodb_16k.inc + +CREATE TABLE t4 (id bigint(12) unsigned NOT NULL auto_increment, + c2 varchar(15) collate utf8_bin default NULL, + c1 varchar(15) collate utf8_bin default NULL, + c3 varchar(10) collate utf8_bin default NULL, + spatial_point point NOT NULL, + PRIMARY KEY(id), + SPATIAL KEY (spatial_point) + )ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin; + +INSERT INTO t4 (c2, c1, c3, spatial_point) VALUES + ('y', 's', 'j', ST_GeomFromText('POINT(167 74)')), + ('r', 'n', 'd', ST_GeomFromText('POINT(215 118)')), + ('g', 'n', 'e', ST_GeomFromText('POINT(203 98)')), + ('h', 'd', 'd', ST_GeomFromText('POINT(54 193)')), + ('r', 'x', 'y', ST_GeomFromText('POINT(47 69)')), + ('t', 'q', 'r', ST_GeomFromText('POINT(109 42)')), + ('a', 'z', 'd', ST_GeomFromText('POINT(0 154)')), + ('x', 'v', 'o', ST_GeomFromText('POINT(174 131)')), + ('b', 'r', 'a', ST_GeomFromText('POINT(114 253)')), + ('x', 'z', 'i', ST_GeomFromText('POINT(163 21)')), + ('w', 'p', 'i', ST_GeomFromText('POINT(42 102)')), + ('g', 'j', 'j', ST_GeomFromText('POINT(170 133)')), + ('m', 'g', 'n', ST_GeomFromText('POINT(28 22)')), + ('b', 'z', 'h', ST_GeomFromText('POINT(174 28)')), + ('q', 'k', 'f', ST_GeomFromText('POINT(233 73)')), + ('w', 'w', 'a', ST_GeomFromText('POINT(124 200)')), + ('t', 'j', 'w', ST_GeomFromText('POINT(252 101)')), + ('d', 'r', 'd', ST_GeomFromText('POINT(98 18)')), + ('w', 'o', 'y', ST_GeomFromText('POINT(165 31)')), + ('y', 'h', 't', ST_GeomFromText('POINT(14 220)')), + ('d', 'p', 'u', ST_GeomFromText('POINT(223 196)')), + ('g', 'y', 'g', ST_GeomFromText('POINT(207 96)')), + ('x', 'm', 'n', ST_GeomFromText('POINT(214 3)')), + ('g', 'v', 'e', ST_GeomFromText('POINT(140 205)')), + ('g', 'm', 'm', ST_GeomFromText('POINT(10 236)')), + ('i', 'r', 'j', ST_GeomFromText('POINT(137 228)')), + ('w', 's', 'p', ST_GeomFromText('POINT(115 6)')), + ('o', 'n', 'k', ST_GeomFromText('POINT(158 129)')), + ('j', 'h', 'l', ST_GeomFromText('POINT(129 72)')), + ('f', 'x', 'l', ST_GeomFromText('POINT(139 207)')), + ('u', 'd', 'n', ST_GeomFromText('POINT(125 109)')), + ('b', 'a', 'z', ST_GeomFromText('POINT(30 32)')), + ('m', 'h', 'o', ST_GeomFromText('POINT(251 251)')), + ('f', 'r', 'd', ST_GeomFromText('POINT(243 211)')), + ('b', 'd', 'r', ST_GeomFromText('POINT(232 80)')), + ('g', 'k', 'v', ST_GeomFromText('POINT(15 100)')), + ('i', 'f', 'c', ST_GeomFromText('POINT(109 66)')), + ('r', 't', 'j', ST_GeomFromText('POINT(178 6)')), + ('y', 'n', 'f', ST_GeomFromText('POINT(233 211)')), + ('f', 'y', 'm', ST_GeomFromText('POINT(99 16)')), + ('z', 'q', 'l', ST_GeomFromText('POINT(39 49)')), + ('j', 'c', 'r', ST_GeomFromText('POINT(75 187)')), + ('c', 'y', 'y', ST_GeomFromText('POINT(246 253)')), + ('w', 'u', 'd', ST_GeomFromText('POINT(56 190)')), + ('n', 'q', 'm', ST_GeomFromText('POINT(73 149)')), + ('d', 'y', 'a', ST_GeomFromText('POINT(134 6)')), + ('z', 's', 'w', ST_GeomFromText('POINT(216 225)')), + ('d', 'u', 'k', ST_GeomFromText('POINT(132 70)')), + ('f', 'v', 't', ST_GeomFromText('POINT(187 141)')), + ('r', 'r', 'a', ST_GeomFromText('POINT(152 39)')), + ('y', 'p', 'o', ST_GeomFromText('POINT(45 27)')), + ('p', 'n', 'm', ST_GeomFromText('POINT(228 148)')), + ('e', 'g', 'e', ST_GeomFromText('POINT(88 81)')), + ('m', 'a', 'h', ST_GeomFromText('POINT(35 29)')), + ('m', 'h', 'f', ST_GeomFromText('POINT(30 71)')), + ('h', 'k', 'i', ST_GeomFromText('POINT(244 78)')), + ('z', 'v', 'd', ST_GeomFromText('POINT(241 38)')), + ('q', 'l', 'j', ST_GeomFromText('POINT(13 71)')), + ('s', 'p', 'g', ST_GeomFromText('POINT(108 38)')), + ('q', 's', 'j', ST_GeomFromText('POINT(92 101)')), + ('l', 'h', 'g', ST_GeomFromText('POINT(120 78)')), + ('w', 't', 'b', ST_GeomFromText('POINT(193 109)')), + ('b', 's', 's', ST_GeomFromText('POINT(223 211)')), + ('w', 'w', 'y', ST_GeomFromText('POINT(122 42)')), + ('q', 'c', 'c', ST_GeomFromText('POINT(104 102)')), + ('w', 'g', 'n', ST_GeomFromText('POINT(213 120)')), + ('p', 'q', 'a', ST_GeomFromText('POINT(247 148)')), + ('c', 'z', 'e', ST_GeomFromText('POINT(18 106)')), + ('z', 'u', 'n', ST_GeomFromText('POINT(70 133)')), + ('j', 'n', 'x', ST_GeomFromText('POINT(232 13)')), + ('e', 'h', 'f', ST_GeomFromText('POINT(22 135)')), + ('w', 'l', 'f', ST_GeomFromText('POINT(9 180)')), + ('a', 'v', 'q', ST_GeomFromText('POINT(163 228)')), + ('i', 'z', 'o', ST_GeomFromText('POINT(180 100)')), + ('e', 'c', 'l', ST_GeomFromText('POINT(182 231)')), + ('c', 'k', 'o', ST_GeomFromText('POINT(19 60)')), + ('q', 'f', 'p', ST_GeomFromText('POINT(79 95)')), + ('m', 'd', 'r', ST_GeomFromText('POINT(3 127)')), + ('m', 'e', 't', ST_GeomFromText('POINT(136 154)')), + ('w', 'w', 'w', ST_GeomFromText('POINT(102 15)')), + ('l', 'n', 'q', ST_GeomFromText('POINT(71 196)')), + ('p', 'k', 'c', ST_GeomFromText('POINT(47 139)')), + ('j', 'o', 'r', ST_GeomFromText('POINT(177 128)')), + ('j', 'q', 'a', ST_GeomFromText('POINT(170 6)')), + ('b', 'a', 'o', ST_GeomFromText('POINT(63 211)')), + ('g', 's', 'o', ST_GeomFromText('POINT(144 251)')), + ('w', 'u', 'w', ST_GeomFromText('POINT(221 214)')), + ('g', 'a', 'm', ST_GeomFromText('POINT(14 102)')), + ('u', 'q', 'z', ST_GeomFromText('POINT(86 200)')), + ('k', 'a', 'm', ST_GeomFromText('POINT(144 222)')), + ('j', 'u', 'r', ST_GeomFromText('POINT(216 142)')), + ('q', 'k', 'v', ST_GeomFromText('POINT(121 236)')), + ('p', 'o', 'r', ST_GeomFromText('POINT(108 102)')), + ('b', 'd', 'x', ST_GeomFromText('POINT(127 198)')), + ('k', 's', 'a', ST_GeomFromText('POINT(2 150)')), + ('f', 'm', 'f', ST_GeomFromText('POINT(160 191)')), + ('q', 'y', 'x', ST_GeomFromText('POINT(98 111)')), + ('o', 'f', 'm', ST_GeomFromText('POINT(232 218)')), + ('c', 'w', 'j', ST_GeomFromText('POINT(156 165)')), + ('s', 'q', 'v', ST_GeomFromText('POINT(98 161)')); +INSERT INTO t4 (c2, c1, c3, spatial_point) VALUES + ('f', 'y', 'p', ST_GeomFromText('POINT(109 235)')), + ('b', 'e', 'v', ST_GeomFromText('POINT(20 48)')), + ('i', 'u', 'f', ST_GeomFromText('POINT(15 55)')), + ('o', 'r', 'z', ST_GeomFromText('POINT(105 64)')), + ('a', 'p', 'a', ST_GeomFromText('POINT(142 236)')), + ('g', 'i', 'k', ST_GeomFromText('POINT(10 49)')), + ('x', 'z', 'x', ST_GeomFromText('POINT(192 200)')), + ('c', 'v', 'r', ST_GeomFromText('POINT(94 168)')), + ('y', 'z', 'e', ST_GeomFromText('POINT(141 51)')), + ('h', 'm', 'd', ST_GeomFromText('POINT(35 251)')), + ('v', 'm', 'q', ST_GeomFromText('POINT(44 90)')), + ('j', 'l', 'z', ST_GeomFromText('POINT(67 237)')), + ('i', 'v', 'a', ST_GeomFromText('POINT(75 14)')), + ('b', 'q', 't', ST_GeomFromText('POINT(153 33)')), + ('e', 'm', 'a', ST_GeomFromText('POINT(247 49)')), + ('l', 'y', 'g', ST_GeomFromText('POINT(56 203)')), + ('v', 'o', 'r', ST_GeomFromText('POINT(90 54)')), + ('r', 'n', 'd', ST_GeomFromText('POINT(135 83)')), + ('j', 't', 'u', ST_GeomFromText('POINT(174 239)')), + ('u', 'n', 'g', ST_GeomFromText('POINT(104 191)')), + ('p', 'q', 'y', ST_GeomFromText('POINT(63 171)')), + ('o', 'q', 'p', ST_GeomFromText('POINT(192 103)')), + ('f', 'x', 'e', ST_GeomFromText('POINT(244 30)')), + ('n', 'x', 'c', ST_GeomFromText('POINT(92 103)')), + ('r', 'q', 'z', ST_GeomFromText('POINT(166 20)')), + ('s', 'a', 'j', ST_GeomFromText('POINT(137 205)')), + ('z', 't', 't', ST_GeomFromText('POINT(99 134)')), + ('o', 'm', 'j', ST_GeomFromText('POINT(217 3)')), + ('n', 'h', 'j', ST_GeomFromText('POINT(211 17)')), + ('v', 'v', 'a', ST_GeomFromText('POINT(41 137)')), + ('q', 'o', 'j', ST_GeomFromText('POINT(5 92)')), + ('z', 'y', 'e', ST_GeomFromText('POINT(175 212)')), + ('j', 'z', 'h', ST_GeomFromText('POINT(224 194)')), + ('a', 'g', 'm', ST_GeomFromText('POINT(31 119)')), + ('p', 'c', 'f', ST_GeomFromText('POINT(17 221)')), + ('t', 'h', 'k', ST_GeomFromText('POINT(26 203)')), + ('u', 'w', 'p', ST_GeomFromText('POINT(47 185)')), + ('z', 'a', 'c', ST_GeomFromText('POINT(61 133)')), + ('u', 'k', 'a', ST_GeomFromText('POINT(210 115)')), + ('k', 'f', 'h', ST_GeomFromText('POINT(125 113)')), + ('t', 'v', 'y', ST_GeomFromText('POINT(12 239)')), + ('u', 'v', 'd', ST_GeomFromText('POINT(90 24)')), + ('m', 'y', 'w', ST_GeomFromText('POINT(25 243)')), + ('d', 'n', 'g', ST_GeomFromText('POINT(122 92)')), + ('z', 'm', 'f', ST_GeomFromText('POINT(235 110)')), + ('q', 'd', 'f', ST_GeomFromText('POINT(233 217)')), + ('a', 'v', 'u', ST_GeomFromText('POINT(69 59)')), + ('x', 'k', 'p', ST_GeomFromText('POINT(240 14)')), + ('i', 'v', 'r', ST_GeomFromText('POINT(154 42)')), + ('w', 'h', 'l', ST_GeomFromText('POINT(178 156)')), + ('d', 'h', 'n', ST_GeomFromText('POINT(65 157)')), + ('c', 'k', 'z', ST_GeomFromText('POINT(62 33)')), + ('e', 'l', 'w', ST_GeomFromText('POINT(162 1)')), + ('r', 'f', 'i', ST_GeomFromText('POINT(127 71)')), + ('q', 'm', 'c', ST_GeomFromText('POINT(63 118)')), + ('c', 'h', 'u', ST_GeomFromText('POINT(205 203)')), + ('d', 't', 'p', ST_GeomFromText('POINT(234 87)')), + ('s', 'g', 'h', ST_GeomFromText('POINT(149 34)')), + ('o', 'b', 'q', ST_GeomFromText('POINT(159 179)')), + ('k', 'u', 'f', ST_GeomFromText('POINT(202 254)')), + ('u', 'f', 'g', ST_GeomFromText('POINT(70 15)')), + ('x', 's', 'b', ST_GeomFromText('POINT(25 181)')), + ('s', 'c', 'g', ST_GeomFromText('POINT(252 17)')), + ('a', 'c', 'f', ST_GeomFromText('POINT(89 67)')), + ('r', 'e', 'q', ST_GeomFromText('POINT(55 54)')), + ('f', 'i', 'k', ST_GeomFromText('POINT(178 230)')), + ('p', 'e', 'l', ST_GeomFromText('POINT(198 28)')), + ('w', 'o', 'd', ST_GeomFromText('POINT(204 189)')), + ('c', 'a', 'g', ST_GeomFromText('POINT(230 178)')), + ('r', 'o', 'e', ST_GeomFromText('POINT(61 116)')), + ('w', 'a', 'a', ST_GeomFromText('POINT(178 237)')), + ('v', 'd', 'e', ST_GeomFromText('POINT(70 85)')), + ('k', 'c', 'e', ST_GeomFromText('POINT(147 118)')), + ('d', 'q', 't', ST_GeomFromText('POINT(218 77)')), + ('k', 'g', 'f', ST_GeomFromText('POINT(192 113)')), + ('w', 'n', 'e', ST_GeomFromText('POINT(92 124)')), + ('r', 'm', 'q', ST_GeomFromText('POINT(130 65)')), + ('o', 'r', 'r', ST_GeomFromText('POINT(174 233)')), + ('k', 'n', 't', ST_GeomFromText('POINT(175 147)')), + ('q', 'm', 'r', ST_GeomFromText('POINT(18 208)')), + ('l', 'd', 'i', ST_GeomFromText('POINT(13 104)')), + ('w', 'o', 'y', ST_GeomFromText('POINT(207 39)')), + ('p', 'u', 'o', ST_GeomFromText('POINT(114 31)')), + ('y', 'a', 'p', ST_GeomFromText('POINT(106 59)')), + ('a', 'x', 'z', ST_GeomFromText('POINT(17 57)')), + ('v', 'h', 'x', ST_GeomFromText('POINT(170 13)')), + ('t', 's', 'u', ST_GeomFromText('POINT(84 18)')), + ('z', 'z', 'f', ST_GeomFromText('POINT(250 197)')), + ('l', 'z', 't', ST_GeomFromText('POINT(59 80)')), + ('j', 'g', 's', ST_GeomFromText('POINT(54 26)')), + ('g', 'v', 'm', ST_GeomFromText('POINT(89 98)')), + ('q', 'v', 'b', ST_GeomFromText('POINT(39 240)')), + ('x', 'k', 'v', ST_GeomFromText('POINT(246 207)')), + ('k', 'u', 'i', ST_GeomFromText('POINT(105 111)')), + ('w', 'z', 's', ST_GeomFromText('POINT(235 8)')), + ('d', 'd', 'd', ST_GeomFromText('POINT(105 4)')), + ('c', 'z', 'q', ST_GeomFromText('POINT(13 140)')), + ('m', 'k', 'i', ST_GeomFromText('POINT(208 120)')), + ('g', 'a', 'g', ST_GeomFromText('POINT(9 182)')), + ('z', 'j', 'r', ST_GeomFromText('POINT(149 153)')), + ('h', 'f', 'g', ST_GeomFromText('POINT(81 236)')), + ('m', 'e', 'q', ST_GeomFromText('POINT(209 215)')), + ('c', 'h', 'y', ST_GeomFromText('POINT(235 70)')), + ('i', 'e', 'g', ST_GeomFromText('POINT(138 26)')), + ('m', 't', 'u', ST_GeomFromText('POINT(119 237)')), + ('o', 'w', 's', ST_GeomFromText('POINT(193 166)')), + ('f', 'm', 'q', ST_GeomFromText('POINT(85 96)')), + ('x', 'l', 'x', ST_GeomFromText('POINT(58 115)')), + ('x', 'q', 'u', ST_GeomFromText('POINT(108 210)')), + ('b', 'h', 'i', ST_GeomFromText('POINT(250 139)')), + ('y', 'd', 'x', ST_GeomFromText('POINT(199 135)')), + ('w', 'h', 'p', ST_GeomFromText('POINT(247 233)')), + ('p', 'z', 't', ST_GeomFromText('POINT(148 249)')), + ('q', 'a', 'u', ST_GeomFromText('POINT(174 78)')), + ('v', 't', 'm', ST_GeomFromText('POINT(70 228)')), + ('t', 'n', 'f', ST_GeomFromText('POINT(123 2)')), + ('x', 't', 'b', ST_GeomFromText('POINT(35 50)')), + ('r', 'j', 'f', ST_GeomFromText('POINT(200 51)')), + ('s', 'q', 'o', ST_GeomFromText('POINT(23 184)')), + ('u', 'v', 'z', ST_GeomFromText('POINT(7 113)')), + ('v', 'u', 'l', ST_GeomFromText('POINT(145 190)')), + ('o', 'k', 'i', ST_GeomFromText('POINT(161 122)')), + ('l', 'y', 'e', ST_GeomFromText('POINT(17 232)')), + ('t', 'b', 'e', ST_GeomFromText('POINT(120 50)')), + ('e', 's', 'u', ST_GeomFromText('POINT(254 1)')), + ('d', 'd', 'u', ST_GeomFromText('POINT(167 140)')), + ('o', 'b', 'x', ST_GeomFromText('POINT(186 237)')), + ('m', 's', 's', ST_GeomFromText('POINT(172 149)')), + ('t', 'y', 'a', ST_GeomFromText('POINT(149 85)')), + ('x', 't', 'r', ST_GeomFromText('POINT(10 165)')), + ('g', 'c', 'e', ST_GeomFromText('POINT(95 165)')), + ('e', 'e', 'z', ST_GeomFromText('POINT(98 65)')), + ('f', 'v', 'i', ST_GeomFromText('POINT(149 144)')), + ('o', 'p', 'm', ST_GeomFromText('POINT(233 67)')), + ('t', 'u', 'b', ST_GeomFromText('POINT(109 215)')), + ('o', 'o', 'b', ST_GeomFromText('POINT(130 48)')), + ('e', 'm', 'h', ST_GeomFromText('POINT(88 189)')), + ('e', 'v', 'y', ST_GeomFromText('POINT(55 29)')), + ('e', 't', 'm', ST_GeomFromText('POINT(129 55)')), + ('p', 'p', 'i', ST_GeomFromText('POINT(126 222)')), + ('c', 'i', 'c', ST_GeomFromText('POINT(19 158)')), + ('c', 'b', 's', ST_GeomFromText('POINT(13 19)')), + ('u', 'y', 'a', ST_GeomFromText('POINT(114 5)')), + ('a', 'o', 'f', ST_GeomFromText('POINT(227 232)')), + ('t', 'c', 'z', ST_GeomFromText('POINT(63 62)')), + ('d', 'o', 'k', ST_GeomFromText('POINT(48 228)')), + ('x', 'c', 'e', ST_GeomFromText('POINT(204 2)')), + ('e', 'e', 'g', ST_GeomFromText('POINT(125 43)')), + ('o', 'r', 'f', ST_GeomFromText('POINT(171 140)')); +INSERT INTO t4 (c2, c1, c3, spatial_point) VALUES + ('b', 'c', 'e', ST_GeomFromText('POINT(41 137)')), + ('p', 'y', 'k', ST_GeomFromText('POINT(50 22)')), + ('s', 'c', 'h', ST_GeomFromText('POINT(208 173)')), + ('x', 'u', 'l', ST_GeomFromText('POINT(199 175)')), + ('s', 'r', 'h', ST_GeomFromText('POINT(85 192)')), + ('j', 'k', 'u', ST_GeomFromText('POINT(18 25)')), + ('p', 'w', 'h', ST_GeomFromText('POINT(152 197)')), + ('e', 'd', 'c', ST_GeomFromText('POINT(229 3)')), + ('o', 'x', 'k', ST_GeomFromText('POINT(187 155)')), + ('o', 'b', 'k', ST_GeomFromText('POINT(208 150)')), + ('d', 'a', 'j', ST_GeomFromText('POINT(70 87)')), + ('f', 'e', 'k', ST_GeomFromText('POINT(156 96)')), + ('u', 'y', 'p', ST_GeomFromText('POINT(239 193)')), + ('n', 'v', 'p', ST_GeomFromText('POINT(223 98)')), + ('z', 'j', 'r', ST_GeomFromText('POINT(87 89)')), + ('h', 'x', 'x', ST_GeomFromText('POINT(92 0)')), + ('r', 'v', 'r', ST_GeomFromText('POINT(159 139)')), + ('v', 'g', 'g', ST_GeomFromText('POINT(16 229)')), + ('z', 'k', 'u', ST_GeomFromText('POINT(99 52)')), + ('p', 'p', 'o', ST_GeomFromText('POINT(105 125)')), + ('w', 'h', 'y', ST_GeomFromText('POINT(105 154)')), + ('v', 'y', 'z', ST_GeomFromText('POINT(134 238)')), + ('x', 'o', 'o', ST_GeomFromText('POINT(178 88)')), + ('z', 'w', 'd', ST_GeomFromText('POINT(123 60)')), + ('q', 'f', 'u', ST_GeomFromText('POINT(64 90)')), + ('s', 'n', 't', ST_GeomFromText('POINT(50 138)')), + ('v', 'p', 't', ST_GeomFromText('POINT(114 91)')), + ('a', 'o', 'n', ST_GeomFromText('POINT(78 43)')), + ('k', 'u', 'd', ST_GeomFromText('POINT(185 161)')), + ('w', 'd', 'n', ST_GeomFromText('POINT(25 92)')), + ('k', 'w', 'a', ST_GeomFromText('POINT(59 238)')), + ('t', 'c', 'f', ST_GeomFromText('POINT(65 87)')), + ('g', 's', 'p', ST_GeomFromText('POINT(238 126)')), + ('d', 'n', 'y', ST_GeomFromText('POINT(107 173)')), + ('l', 'a', 'w', ST_GeomFromText('POINT(125 152)')), + ('m', 'd', 'j', ST_GeomFromText('POINT(146 53)')), + ('q', 'm', 'c', ST_GeomFromText('POINT(217 187)')), + ('i', 'r', 'r', ST_GeomFromText('POINT(6 113)')), + ('e', 'j', 'b', ST_GeomFromText('POINT(37 83)')), + ('w', 'w', 'h', ST_GeomFromText('POINT(83 199)')), + ('k', 'b', 's', ST_GeomFromText('POINT(170 64)')), + ('s', 'b', 'c', ST_GeomFromText('POINT(163 130)')), + ('c', 'h', 'a', ST_GeomFromText('POINT(141 3)')), + ('k', 'j', 'u', ST_GeomFromText('POINT(143 76)')), + ('r', 'h', 'o', ST_GeomFromText('POINT(243 92)')), + ('i', 'd', 'b', ST_GeomFromText('POINT(205 13)')), + ('r', 'y', 'q', ST_GeomFromText('POINT(138 8)')), + ('m', 'o', 'i', ST_GeomFromText('POINT(36 45)')), + ('v', 'g', 'm', ST_GeomFromText('POINT(0 40)')), + ('f', 'e', 'i', ST_GeomFromText('POINT(76 6)')), + ('c', 'q', 'q', ST_GeomFromText('POINT(115 248)')), + ('x', 'c', 'i', ST_GeomFromText('POINT(29 74)')), + ('l', 's', 't', ST_GeomFromText('POINT(83 18)')), + ('t', 't', 'a', ST_GeomFromText('POINT(26 168)')), + ('u', 'n', 'x', ST_GeomFromText('POINT(200 110)')), + ('j', 'b', 'd', ST_GeomFromText('POINT(216 136)')), + ('s', 'p', 'w', ST_GeomFromText('POINT(38 156)')), + ('f', 'b', 'v', ST_GeomFromText('POINT(29 186)')), + ('v', 'e', 'r', ST_GeomFromText('POINT(149 40)')), + ('v', 't', 'm', ST_GeomFromText('POINT(184 24)')), + ('y', 'g', 'a', ST_GeomFromText('POINT(219 105)')), + ('s', 'f', 'i', ST_GeomFromText('POINT(114 130)')), + ('e', 'q', 'h', ST_GeomFromText('POINT(203 135)')), + ('h', 'g', 'b', ST_GeomFromText('POINT(9 208)')), + ('o', 'l', 'r', ST_GeomFromText('POINT(245 79)')), + ('s', 's', 'v', ST_GeomFromText('POINT(238 198)')), + ('w', 'w', 'z', ST_GeomFromText('POINT(209 232)')), + ('v', 'd', 'n', ST_GeomFromText('POINT(30 193)')), + ('q', 'w', 'k', ST_GeomFromText('POINT(133 18)')), + ('o', 'h', 'o', ST_GeomFromText('POINT(42 140)')), + ('f', 'f', 'h', ST_GeomFromText('POINT(145 1)')), + ('u', 's', 'r', ST_GeomFromText('POINT(70 62)')), + ('x', 'n', 'q', ST_GeomFromText('POINT(33 86)')), + ('u', 'p', 'v', ST_GeomFromText('POINT(232 220)')), + ('z', 'e', 'a', ST_GeomFromText('POINT(130 69)')), + ('r', 'u', 'z', ST_GeomFromText('POINT(243 241)')), + ('b', 'n', 't', ST_GeomFromText('POINT(120 12)')), + ('u', 'f', 's', ST_GeomFromText('POINT(190 212)')), + ('a', 'd', 'q', ST_GeomFromText('POINT(235 191)')), + ('f', 'q', 'm', ST_GeomFromText('POINT(176 2)')), + ('n', 'c', 's', ST_GeomFromText('POINT(218 163)')), + ('e', 'm', 'h', ST_GeomFromText('POINT(163 108)')), + ('c', 'f', 'l', ST_GeomFromText('POINT(220 115)')), + ('c', 'v', 'q', ST_GeomFromText('POINT(66 45)')), + ('w', 'v', 'x', ST_GeomFromText('POINT(251 220)')), + ('f', 'w', 'z', ST_GeomFromText('POINT(146 149)')), + ('h', 'n', 'h', ST_GeomFromText('POINT(148 128)')), + ('y', 'k', 'v', ST_GeomFromText('POINT(28 110)')), + ('c', 'x', 'q', ST_GeomFromText('POINT(13 13)')), + ('e', 'd', 's', ST_GeomFromText('POINT(91 190)')), + ('c', 'w', 'c', ST_GeomFromText('POINT(10 231)')), + ('u', 'j', 'n', ST_GeomFromText('POINT(250 21)')), + ('w', 'n', 'x', ST_GeomFromText('POINT(141 69)')), + ('f', 'p', 'y', ST_GeomFromText('POINT(228 246)')), + ('d', 'q', 'f', ST_GeomFromText('POINT(194 22)')), + ('d', 'z', 'l', ST_GeomFromText('POINT(233 181)')), + ('c', 'a', 'q', ST_GeomFromText('POINT(183 96)')), + ('m', 'i', 'd', ST_GeomFromText('POINT(117 226)')), + ('z', 'y', 'y', ST_GeomFromText('POINT(62 81)')), + ('g', 'v', 'm', ST_GeomFromText('POINT(66 158)')); + + +start transaction; + +# following insertion will result in a node split +INSERT INTO t4 (c2, c1, c3, spatial_point) VALUES + ('f', 'x', 'p', ST_GeomFromText('POINT(92 181)')); + +# Test rollback, this will result above split being rolled back, btr_compress +# gets called +rollback; + +INSERT INTO t4 (c2, c1, c3, spatial_point) VALUES + ('f', 'x', 'p', ST_GeomFromText('POINT(92 181)')); + +# create overlap on the bounding box in parent +INSERT INTO t4 (c2, c1, c3, spatial_point) VALUES ('n', 'x', 'p', ST_GeomFromText('POINT(0 1280)')); + + +INSERT INTO t4 (c2, c1, c3, spatial_point) VALUES ('n', 'x', 'p', ST_GeomFromText('POINT(45 1280)')); + +# Add a row in the cross section of the 2 bounding box +INSERT INTO t4 VALUES (1280, 'n', 'x', 'p', ST_GeomFromText('POINT(44 253)')); + +# Delete this new point +DELETE FROM t4 WHERE id = 1280; + +INSERT INTO t4 VALUES (1280, 'n', 'x', 'p', ST_GeomFromText('POINT(44 253)')); + +start transaction; +DELETE FROM t4 WHERE id = 1280; +rollback; + +# Test MBR increase +start transaction; +INSERT INTO t4 (c2, c1, c3, spatial_point) VALUES + ('m', 'u', 'p', ST_GeomFromText('POINT(1192 1181)')); +rollback; + +DROP TABLE t4; + +# Test externally stored update rollback. +LET $file_per_table='on'; + +--disable_warnings +eval SET GLOBAL innodb_file_per_table=$file_per_table; +--enable_warnings + +create table t1(i int primary key, +a geometry not null, spatial index(a)) row_format=dynamic engine=innodb; + +insert into t1 values(1, st_geomfromtext(concat('multilinestring(','(-4286 -5983,52762 -5983,52762 79876,-4286 79876,-4286 -5983)',',','(-4286 -5983,52762 -5983,52762 79876,-4286 79876,-4286 -5983)',',','(-768 -136,-771 2864,-772 2860,-777 2862,-775 2858,-775 2863,-770 2866,-765 2871,-761 2874,-759 2878,-759 2883,-759 2886,-758 2886,-758 2886,-755 2890,-752 2890,-751 2890,1249 2890,1250 2892,1251 2892,1251 2892,1256 2897,1259 2894,1256 2899,1253 2904,1256 2904,1257 2906,1252 2910,1253 2910,1256 2912,1255 2913,1260 2911,1256 2913,1255 2918,1257 2921,1259 2925,1262 2922,1263 2923,1266 2926,1268 2929,1269 2932,1273 2937,1277 2942,1282 2942,1284 2939,1287 2935,1290 2935,1293 2938,1296 2940,1299 2942,1302 2947,1307 2952,1311 2956,1312 2958,1307 2956,1311 2955,1307 2956,1307 2960,1307 2962,1311 2965,1315 2967,1314 2968,1319 2969,1322 2973,1324 2978,1323 2977,1327 2982,1330 7982,1332 7985,1332 7986,1332 7988,1328 7991,1328 7991,1328 7991,1253 2910,1249 2908,1251 2908,1253 2913,1253 2909,1256 2914,1255 2916,1259 2919,1261 2923,1262 2923,1266 2925,1270 2930,1270 2932,1267 2929,1269 2929,1269 2931,1269 2926,1265 1926,1270 1926,1274 1926,1274 1929,1269 1929,1270 1931,1272 1935,1269 1935,1273 1938,1278 1938,1278 1938,1280 1943,1275 1948,1276 1951,1279 1948,1280 1952,1281 1952,1286 1954,1290 1958,1290 1963,1294 1964,1298 1962,1298 1958,1302 1963,1302 1967,1307 -2033,1311 -2030,1307 -2030,1310 -2025,1314 -2020,1317 -1020,1321 -1016,1321 -1018,1321 -1015,1326 -1016,1324 -1016,1327 -1011,1326 -1007,1326 -1002,1326 -1004,1321 -1004,1321 -1003,1324 -1008,1328 -1007,1328 -1003,1333 -999,1336 -998,1339 -997,1337 -996,1340 -2996,1335 -3000,1339 -2996,1343 -2995,1346 -2990,1341 -2990,1345 -2991,1345 -2995,1269 2931,1269 2936,1271 2941,1275 2941,6275 2943,6274 2943,6279 2939,6274 2942,6274 2946,6275 2947,6276 2948,6280 2947,6282 2951,6287 2952,6287 2956,6289 2959,6294 4959,6298 4964,6302 4965,6300 6965,6305 6965,11305 6967,11305 6967,11310 6966,11310 6966,11314 6964,11318 6969,11318 6972,11323 6974,11328 6977,11329 6979,11333 6982,11337 6982,11334 6982,11337 6983,11341 6988,11345 6991,11349 6992,11353 6993,11353 6996,11353 7000,11356 7000,11353 6000,11350 6002,11353 6004,11354 6007,11356 6009,11358 6009,11359 6011,11363 6016,11365 6013,11369 6015,11372 6017,11377 6022,11381 6025,11382 9025,11385 9029,11390 9024,11389 9020,11391 9020,11389 9016,11394 12016,11397 12021,11400 12021,11405 12024,11405 8024,11403 8029,11403 8032,11401 8033,11406 8032,11402 8027,11406 8027,11410 8029,11408 8030,11408 8035,11413 8035,11418 8038,11423 8038,11428 8036,11428 8037,11433 8033,11435 8032,6435 8035,6439 8036,6440 8034,6441 8039,6442 8043,6446 8045,6451 12045,6454 12050,6454 12049,6455 12054,6457 12057,6458 12060,6461 13060,6466 13060,6467 13065,6467 13070,6465 13073,6465 13073,6466 13077,6463 16077,6465 16081,6468 16077,6471 16077,6475 16078,6475 16080,6470 16082,6465 16084,6465 16088,6470 16091,6471 16091,6469 16089,6473 16091,6477 16091,6477 16093,6480 16098,6476 16099,6478 16099,6481 16100,6486 16105,6486 16110,6488 16105,6485 16107,6487 16108,6484 16104,6485 16101,6488 16101,6489 16103,6493 16105,6493 16108,6490 16110,6487 16113,6492 16116,6495 16118,6499 16123,6497 16124,6496 16127,6498 16132,6497 16134,6499 16138,6503 16143,6502 16138,6500 16140,6502 16144,6502 16146,6503 16150,6498 16151,6500 16154,6495 16154,6494 16154,6499 16156,7499 16158,7504 16161,7507 16166,7503 16163,7505 16163,7508 16163,7511 16165,7514 16162,7517 16165,7519 16166,7524 16165,7527 16168,7529 16172,7534 16172,7534 16177,7539 16179,7537 16179,7538 16184,7538 16185,7538 16189,7540 16191,7540 16193,7541 16193,7545 16197,7550 16199,7554 16204,7558 16208,7559 16211,7560 16214,7564 16216,7563 16215,7558 16219,7558 16216,7555 16221,7559 16223,7559 16224,7559 16226,7561 16231,7558 16235,7553 16240,7552 16236,7557 16234,7552 16236,7554 16238,7557 16239,7552 16243,7553 16243,7555 16243,7555 14243,7558 14248,7559 14243,7559 14239,7561 14241,7561 14243,7561 14248,7562 14250,7566 14254,7570 14254,7575 14256,7575 14259,7576 14259,7579 14259,7583 14257,7583 14257,7583 14253,7584 14249,7579 14247,7576 14245,7579 14250,7577 14253,7582 14256,7582 14257,7578 14253,7575 14252,7577 14255,7578 14255,7578 14256,7581 14257,7584 14252,7588 14252,7592 14249,7592 18249,7588 18253,7590 18255,7592 18259,7596 18254,7601 18255,7601 17255,7605 17256,7610 17258,7613 17261,7617 17262,7619 17266,7617 17267,7621 17268,7623 17272,7626 17272,7626 17277,7625 17282,7620 17281,7617 17284,7618 17287,7617 17283,7616 17281,7621 17279,7624 17281,7624 17282,7624 17279,7628 17279,7628 17280,7633 17284,7637 17280,7638 17280,7638 17281,7641 17282,7641 17282,7638 17283,7638 17284,7643 17280,7647 17281,7652 17285,7656 17285,7658 17288,7660 17290,7661 17292,7664 17297,7666 17302,7663 17304,7664 17300,7659 17303,7661 17303,7657 17307,7659 17307,8659 17310,8661 17313,8664 17314,8665 17313,8665 17309,8669 17313,8671 17316,8670 17320,8668 17320,3668 17323,3665 17324,3661 17329,3661 17331,1661 17332,1661 17333,1663 17338,1668 17333,1663 17333,1667 17331,1668 17331,1664 17334,1666 17337,1665 17337,6499 16138,6503 18138,10503 18142,10503 18142,10505 21142,10502 21144,10502 21142,10504 21141,10504 21139,10508 21140,10512 21141,10512 21143,10515 21144,10517 21147,10517 21143,10519 21143,10519 21146,10519 21142,10519 21142,10522 21141,10523 21141,10523 21145,10523 21149,10527 21153,10531 21154,10534 21158,10531 21158,10527 21160,10532 21165,10534 21165,10531 21165,10533 21162,10529 21163,10532 21160,10534 21163,10535 21161,10540 25161,10538 25164,10538 25166,10540 25171,10543 25171,10547 25175,10547 25175,10550 25178,10552 25182,10556 25177,10558 25181,10558 25183,10563 25187,10564 25183,10560 25188,10565 25188,10569 25191,10573 25195,10575 25199,7581 14257,7585 14257,7586 14257,7588 14254,7590 14255,7593 14256,7590 14260,7595 14263,7595 14259,7597 14256,7598 14261,7598 14258,7599 14261,7600 14261,7602 14258,7602 14258,7598 14259,7598 14264,7600 14267,7601 17267,7597 17268,7602 17273,7605 17276,7605 17276,7603 17279,7604 17279,7608 17278,7613 17282,7615 17285,7617 17288,2617 17288,2617 17289,2620 17289,2620 17285,-1380 17288,-1382 17287,-1384 17292,-1384 17294,-1380 17295,-1380 17297,-1380 17299,-1375 17303,-1372 17303,-1373 17298,-1368 13298,-1365 13301,-1366 13297,-1371 13295,-1371 13298,-1371 13298,-1375 13301,-1378 13302,-1378 13302,-1377 13302,-1374 13301,-1373 13306,-1370 13311,-1371 13307,-1366 13307,-1365 13309,11349 6992,11352 6992,11354 6997,11356 7002,11356 7007,11359 7010,11354 7005,9354 7009,9356 7011,9359 7016,9360 7014,9360 7015,9363 8015,9367 11015,9370 11012,9367 11012,9368 11016,9363 11017,9360 11018,9364 11021,9359 11016,11402 8027,11399 8029,11400 8033,11401 8034,11405 8029,11407 8027,11410 8029,12410 8033,12414 8035,12412 8040,12415 8040,12416 8045,12421 8042,12426 8037,12424 8042,12427 8042,12430 8044,12434 8046,12430 8048,12434 8045,9434 8045,9439 8043,9442 8043,9442 8045,9442 8040,9442 8035,9438 8038,9440 8039,9445 8036,9446 8039,9441 8043,12441 8047,12440 8048,12444 8052,12445 8057,12450 8053,12452 8053,12448 8054,12443 8058,12441 8063,12444 8067,12449 8067,12448 8071,12451 8076,12454 8073,17454 8073,17457 8074,17459 8079,17463 8079,17461 8080,17464 4080,17467 4085,17463 4085,17463 4088,17462 4090,17464 4095,17468 4094,17464 4097,17464 4093,17466 4088,17469 4092,17470 4094,17472 4089,17470 4090,17473 4089,17478 4094,17474 4091,17477 4095,17482 4100,17487 4103,17492 4101,17492 4104,17493 4101,17495 4106,17497 4106,17502 4111,17505 4111,17504 4113,17505 4115,17509 4119,17504 4123,17505 4127,17503 4131,17503 4126,17504 4126,17506 4129,17501 4132,17502 4133,17499 4133,17503 5133,17503 5135,17498 5134,21498 5134,21498 5131,21498 5133,21497 5138,21501 5140,21502 5138,21502 5141,21505 5136,21501 5139,21501 5141,21505 5146,21510 5151,21510 5155,21512 5156,21508 5159,21508 5163,21512 5167,21517 5169,21521 5173,21519 5172,21517 5172,21515 5172,21515 5173,21516 5172,21515 5169,21516 5170,21516 5170,21516 5168,21520 5172,21523 5172,21525 5174,21522 5176,21523 5180,21527 5176,21527 5177,21527 5178,21531 5183,21533 5181,21538 5176,21539 5179,21544 9179,21544 9184,21547 9186,21548 9184,21553 9188,21553 9193,21554 9195,21556 9200,21556 9201,21555 9201,21556 9205,21561 9205,21556 9202,21561 9203,22561 9204,22566 9204,22561 9208,22559 9210,22564 9207,22560 9205,22560 9208,22564 9210,22567 9214,22569 9218,22572 9222,22576 9218,23576 9222,24576 9220,24574 9224,24569 9228,24569 9228,6481 16100,6483 16101,6486 16104,6485 16108,8485 16110,8486 16115,8482 16110,8483 16115,8485 16110,8486 16106,8487 16103,8490 16106,8486 16107,8487 16104,8487 16104,8492 16108,8493 17108,8488 17108,8490 17110,8494 17114,8495 17113,8495 17117,8498 17117,8503 17122,8498 17124,8498 17128,8494 17129,8496 17134,8496 17134,8497 17135,8498 17135,8501 17135,8502 17132,8506 17132,8501 17130,8505 17131,21515 5169,21518 5164,21523 5160,21528 5162,21530 8162,21532 8164,21536 8165,21536 8168,21540 8169,21543 8165,25543 8169,25545 8173,25549 8169,29549 8174,29546 8177,29547 8172,29552 8177,29552 8180,29557 8180,29558 8175,34558 8180,34558 8176,34555 8179,34556 8181,7584 14249,7586 14250,7588 14252,7591 14256,7587 14257,7590 14257,7592 17257,7597 17261,7601 17265,7605 17268,7606 17273,7610 17268,7612 17270,7612 17271,7615 17266,7617 17266,7622 17270,7627 17272,7627 19272,7631 19277,7636 19279,7636 19280,7636 19285,7637 19287,7639 19290,7644 19295,7647 19291,7649 19296,7653 19296,7653 19291,7656 19292,7657 19292,7653 19292,7653 19297,7652 19297,7648 19299,7647 19303,7647 19304,7649 19307,7654 19309,7651 21309,7653 21309,7657 21313,7659 21309,7662 21310,7666 21314,7663 21314,7663 21317,7658 21317,7661 21321,7666 21323,7667 21328,7662 21333,7663 21328,7667 21332,7669 21334,7671 21330,7674 21326,7675 21331,7679 21336,7681 21338,7681 21342,7681 21342,7677 21345,7682 21346,3682 21348,3680 21350,3681 21351,3680 21349,3681 21349,3686 21350,8686 21355,8682 21354,8685 21350,8681 21345,8684 21350,8683 21353,8681 21356,8681 21358,8684 21361,8684 21364,8684 21367,8685 21363,8685 21365,8685 21362,8688 21358,8690 21359,8687 21364,8687 21364,8689 21361,8691 21356,8696 21353,8696 21352,8699 21352,8699 21357,8703 21358,8706 21353,8708 21358,17503 4126,17505 4129,20505 4133,20510 4133,20515 4128,21515 4129,21516 9129,21519 9131,21524 9134,21522 9135,21522 9138,21518 9137,21516 9138,21516 9138,21515 12138,21516 12142,21518 12146,21513 12144,21517 12149,21521 12144,21521 12148,21523 12151,21527 12148,21527 12143,21528 12148,21528 12145,21533 12149,21534 12152,21537 12155,21532 7155,21536 7153,21540 7157,21536 7154,21540 7154,21539 7157,21539 7160,21542 7160,21547 7164,21551 7168,21554 9168,21556 9168,21556 9169,21559 9166,21561 9169,21565 9171,21568 9176,21565 9181,21567 9180,23567 9178,23570 9181,23575 9181,23571 9181,20571 9176,20574 9179,20569 9182,20569 9184,20570 9189,20565 9191,20562 9195,20559 9196,20559 9201,20563 9197,20564 9193,20565 9197,20565 9200,20565 9200,20563 9201,20559 9205,20564 13205,20560 13207,20560 13212,20555 13213,20558 13217,20554 13217,20558 13219,20559 13222,20561 13223,20561 13226,20561 13231,20562 13232,20567 13235,20564 13239,20560 13239,20560 13236,20560 13236,20560 13237,20564 13241,24564 13241,28564 13242,28564 13240,28561 13237,28561 13240,28562 13243,28563 13243,28560 13248,28559 13248,28559 9248,28562 9245,28564 9241,28567 9245,28568 9240,28568 9245,28571 9247,28571 9248,28574 9253,28572 9256,28576 9257,28577 9257,28574 9257,10564 25183,10566 25188,10567 25190,10568 25186,10569 25187,10570 25188,10573 25185,10568 25185,10570 25187,10573 25191,10573 25193,10578 25193,10578 25198,10581 25202,10582 25206,10578 25206,10579 25211,10580 25206,10582 25208,12426 8037,12427 8042,12432 8047,12437 8047,12435 8051,12435 9051,12432 9054,12433 9056,12435 9061,12438 9062,12435 9062,12438 9067,12434 9071,12431 9075,12436 11075,12436 11075,12441 11080,12445 11085,12449 11089,12445 11091,12442 11091,12442 11093,12442 11093,12443 11098,12439 11098,12440 11099,7440 11104,7442 11107,7446 11110,7446 11114,7451 6114,7452 6110,11452 6105,11452 6104,11454 6103,11459 6106,11462 6107,13462 6107,13458 6104,12458 9104,17458 9109,17458 9110,17460 9113,17465 12113,17468 12112,17468 12114,17466 12111,17470 12116,17469 12119,17472 12123,17470 12118,17474 12118,17476 12120,13476 12121,13480 17121,13480 17125,13484 17123,13489 17122,13489 17125,13487 17127,13487 17132,13486 17131,13491 17136,13491 17139,13495 17144,13496 17147,13496 21147,13498 21149,13498 21154,16498 21159,16503 21162,16504 26162,16509 26160,16509 26163,16509 26162,16514 26159,16518 26163,16522 26158,16518 30158,16516 30161,16516 30164,16517 30169,16520 30167,16525 30168,16528 30170,17528 30170,17532 30175,17533 30177,17533 30182,17536 30186,17537 30189,17540 30193,20540 30193,20541 30196,20541 30197,20542 30196,20544 30195,20548 30200,20553 30199,20557 30201,20561 30206,20565 30210,20566 30209,20568 30214,20568 30217,20563 30217,20563 30218,20565 30222,20567 30222,20572 30225,20567 29225,20570 29225,20570 29230,20573 29231,20571 29230,20569 29232,20570 29236,17504 4123,17505 4127,17508 5127,17505 5131,17505 5135,17509 5140,17508 5142,17510 5139,17515 5141,17517 5144,17522 5144,17524 5146,17529 5147,17529 5152,17533 8152,17533 8150,17537 8153,17532 8158,17533 11158,17536 11163,17540 16163,17540 16165,17542 16168,17542 16171,17542 16171,17547 16167,17548 16170,17550 16170,17545 16175,17549 16178,17549 16179,17549 16179,20549 16181,20551 16186,20549 15186,20550 15186,20547 15188,20550 15184,20546 15186,20545 15191,20548 15190,20552 15193,20557 15195,20552 15196,20557 15193,20562 15196,20562 15199,20567 15202,20563 15207,20564 15207,20564 15209,20568 15209,20571 13209,20573 13209,20576 13211,20577 13216,20574 14216,20570 14215,20568 17215,20568 17216,20570 17218,20575 17218,20580 16218,20583 16215,20586 16217,20581 16220,20582 16224,20585 16224,20588 16229,20590 16231,20592 16235,20595 16232,20595 16234,20598 16238,20603 16240,20607 16236,20608 16236,20608 16239,20611 21239,20613 21244,20614 21246,20612 21244,20612 21242,20615 21239,20616 21241,20621 21242,17621 21244,17626 21245,17629 21244,15629 21239,15632 21240,15636 21245,15637 21247,15639 21244,15637 21245,15642 21245,15647 21244,15646 21248,15650 21252,15653 21247,15651 21250,15649 21250,15645 21250,19645 21253,19648 21256,19647 21253,19643 21249,19646 21249,19648 21245,19650 21242,19647 21240,19652 21240,14652 21240,14657 21243,14659 21244,14664 21241,14659 21239,14654 21240,14651 21244,14647 21246,14647 21249,14650 21247,14651 21252,14651 21255,14649 21258,14652 21262,14655 21262,14652 21260,14653 21255,14653 21255,14653 21257,14656 21258,14651 21258,14653 21261,14654 21263,14654 21264,14659 21267,14660 21263,14664 21264,14666 26264,14661 26266,14661 26263,14661 26264,14666 26265,14667 26265,14665 26263,14669 26263,14667 26263,14669 26261,14667 26263,14671 26261,14671 26263,12671 26264,12672 26266,12677 26269,17677 26269,17673 26271,17676 26271,17676 26273,17681 26278,17685 26278,21536 8168,21539 8171,21543 8169,21538 8170,21541 8170,21544 8171,21548 8166,21548 8168,21552 8171,21555 8173,21558 8168,21557 8168,21562 8163,21559 8168,21559 8172,21564 8177,21569 8175,21568 8175,21573 8178,21575 8180,21570 8183,21570 8186,21566 8184,21569 8185,21569 8187,25569 8190,25571 8193,25575 8193,25576 8194,25576 13194,25580 13194,25584 13196,25589 13197,25592 13200,25595 13205,25592 17205,25593 17209,25594 17213,27594 17209,27592 17213,27590 17212,27592 17217,27592 17220,27596 17224,27599 17227,27603 17232,27603 17227,27605 17229,28605 17230,28607 17234,28609 17230,28610 17231,28610 17236,28611 17238,28613 17241,28614 17241,28615 17243,28616 18243,28618 18246,28618 18246,28622 18246,28627 18246,28632 18245,27632 18245,27634 18245,27633 18244,27638 18245,-1366 13297,-1365 13299,-1362 13303,-1362 13300,-1361 13304,-1366 13308,-1368 13304,-1368 13306,-1367 13309,-1363 13313,-1358 13313,-1353 13318,-1351 13319,-1347 13323,-1343 13318,-1343 13322,-1340 13317,-1337 13318,-1337 13322,-1337 13324,-1335 13327,-1339 13328,-339 13328,-334 13333,-331 13336,-327 13338,-326 13340,-326 13342,-321 13340,-318 13343,-317 11343,-312 11345,-307 11349,-311 11353,-314 11350,-311 11353,-313 11349,-308 11352,-313 11347,-308 11351,-306 9351,-306 9351,-306 9351,-301 9355,-301 9356,-299 9359,-297 9355,-297 9354,-296 9359,-294 9364,-290 9360,-294 9355,-289 9357,-291 9353,-286 9355,-4286 9351,-4283 9347,-4281 9344,-4281 9344,-4280 9342,-4280 9342,-4280 9339,-4277 9335,-4274 9333,-4274 9335,-4269 9336,-4265 9339,-4260 9340,-4256 9339,-4251 9336,-4251 9339,-4249 9344,-4254 9344,-4255 9348,-4253 7348,-4251 7352,-4247 7354,-4243 7357,-4242 7357,-4240 7362,-4240 7367,-4235 7371,-3235 7371,-3230 7376,-3225 7375,-3221 7372,-3223 7369,-3223 7371,-3223 7369,-3225 7364,-3220 7364,-3218 11364,-3218 11368,-3215 11369,-3210 11372,-3210 11369,-3208 11373,-3207 11377,-3207 11381,-3209 11384,-3209 11383,-1209 11379,-1211 11383,-1209 11383,-1205 11379,-1200 11384,-1197 11379,-1195 11375,-1197 11376,-1192 11377,-1192 11379,-1192 11384,-1188 11382,-1186 11382,-1181 11384,-1180 11388,-1176 11389,-1171 11388,-1171 11393,-1169 11393,-1164 11398,-1162 11393,-1158 11392,-1155 11395,-1155 11397,-155 16397,-156 16401,-156 16406,-158 16409,-158 16412,-158 16414,-160 16415,-158 20415,2842 20411,2847 20413,2848 20417,2848 20417,2848 20412,2850 20407,2850 20403,2846 20408,2847 20406,2849 20406,2854 20402,2858 20403,2863 23403,2858 23402,2855 23405,2858 23400,2857 23400,2852 26400,2849 26404,2850 26406,2855 26410,2859 26415,2863 26411,2866 26411,2866 26411,2866 26412,2868 26415,2868 26419,2868 26423,2873 26424,2876 26425,14656 21258,14661 21260,14664 21262,14664 22262,14662 22267,14662 22268,14662 22268,14658 22273,14660 22278,14658 22277,14659 22278,14660 22283,14661 22281,14661 22285,14661 22288,14664 22290,14659 22295,14662 22298,14663 22301,14667 22301,14668 22301,14673 22303,14678 22306,14681 22302,14686 22299,14686 22301,14683 22304,14686 22305,14687 22301,14689 25301,14684 25301,14684 25299,14685 25300,14685 25301,14685 24301,14688 24301,14693 24303,14693 24298,14693 24298,14688 24299,14689 24297,14690 24299,14690 24302,14690 24302,14686 24303,14686 24306,14688 24302,8492 16108,8494 16113,8498 16116,8495 16116,8496 16116,8499 16116,8504 20116,8508 20119,8508 20119,8507 20119,8509 20123,8509 20127,8512 20128,8514 20130,8519 20135,8522 20136,8522 20136,8524 20138,8524 20141,8528 20142,8526 20145,8530 20141,8530 20145,8532 20149,8531 20151,8536 20155,8535 20154,8539 20154,8539 20149,8539 20149,8543 20146,8540 25146,8538 23146,8540 23149,8540 23149,8545 23151,8546 23152,8551 23152,8555 23152,8559 23153,8561 23153,10561 18153,10561 18153,12561 18158,12564 18159,12566 18163,12567 18165,12564 18165,12568 20165,12570 20170,12575 20173,12579 20177,12576 20177,12579 20176,12584 20176,12583 20181,12585 20182,12583 20186,12582 20187,12585 20192,12582 20194,12584 20198,12586 20198,12581 20201,12582 20204,12581 20206,13581 20209,13586 20211,13586 20216,13589 20217,13589 20213,13586 20215,13588 20213,13592 20215,13596 20216,13596 20221,13600 20221,13598 20224,13595 20221,13598 20226,13602 20229,15602 20232,15606 20232,15611 20232,15610 20232,15613 20235,15617 20239,15612 20234,15612 20233,15615 20237,15617 20233,15619 20234,15619 20229,15623 25229,15624 25229,20624 25228,20628 25229,20631 25234,20630 25239,20634 25241,20632 25244,20636 25240,20634 25237,20639 25236,20634 25241,7590 14257,7592 14260,7592 14262,7592 14265,7595 14266,7600 14263,7600 14268,7604 14270,7609 14274,7611 14275,7615 14275,7620 14277,7620 14276,7625 14277,7625 14277,7628 14281,7628 14286,7630 14284,7630 14284,8543 20146,8542 20148,8546 20150,8550 20152,8550 20153,8550 20158,8545 20156,8545 20157,8550 20157,8550 20155,8550 20157,8553 20161,8557 20161,8557 20165,8560 20161,8563 20159,8568 20154,8570 20158,8573 20161,8573 20166,8577 20168,8580 20171,8584 20173,8585 20175,8580 20180,8582 20183,8582 20188,8582 20188,8585 20193,8588 20198,8589 20199,8591 20197,8594 20198,8596 20196,8592 23196,8597 25196,8601 25199,8601 25203,8604 25202,8604 25202,8599 25205,8601 25210,8601 25206,8603 25206,8606 25206,8605 25211,8609 25211,8613 25208,8614 25205,8619 25208,8619 25210,8621 25214,8619 29214,8615 29218,8616 29219,8617 29217,8622 29222,11622 29225,11624 29229,11623 29230,9623 29225,9621 29224,9625 29227,9628 29227,9624 29232,9626 29237,9631 29241,9634 29245,9635 29248,9638 29253,9643 29258,9646 29258,9647 29255,9648 29253,9650 29258,9648 29262,9647 29262,9642 29267,9646 29267,14646 29269,14650 29274,14655 29279,14654 29277,14655 29275,14653 29276,14655 29273,14656 29269,14653 29272,14656 29272,14656 29274,14660 29276,14663 29276,14660 29278,14659 29281,14659 29276,14661 29272,14656 29273,14657 29274,14652 29270,14654 29274,14657 29270,14659 29272,14655 29275,14657 29270,14659 32270,14660 32270,14662 32273,14665 32277,12665 32279,12670 32279,12670 32277,12670 32274,12672 32277,12677 32282,12682 32285,12678 32289,12674 32291,12677 32287,12679 32287,12683 32292,12685 32292,12680 32289,12682 32294,12683 32299,12687 32298,12692 32300,12695 32305,12699 32310,12703 32311,12704 32312,21515 5172,21516 5175,21518 5175,21513 5177,21516 5182,21520 5186,21525 5185,21529 5185,21528 5186,21530 5181,21533 5178,21537 5183,21537 5183,26537 5183,26534 5183,26539 5183,26542 5178,26542 5176,26544 5176,26546 5177,26548 5175,26549 5178,26548 5181,26548 5184,26553 10184,26557 10179,26559 10175,26563 10171,26563 10173,26564 10170,26568 10169,26572 10171,26577 10171,26581 10169,26577 10173,26573 10169,26575 10171,26578 12171,26576 12175,26576 12180,26581 12183,26577 12183,26580 12184,26582 12181,26582 12182,26583 12182,26588 12186,26590 12191,26593 12193,26593 12198,26598 12198,26602 12193,26602 12193,26604 12195,26607 12195,26611 12196,26615 12196,26615 12200,21534 12152,21534 12152,21537 12147,21540 12147,21545 12150,21545 12145,21548 12150,21549 12152,21544 12152,21544 12150,21547 12153,21552 12152,21553 12157,20553 12161,20553 12156,20556 12152,15556 12157,15559 12160,15557 12163,15561 12163,15564 12166,15565 12165,15561 12161,15559 12163,15559 12168,-4274 9335,-4274 9339,-4276 9341,-4276 9344,-4273 9341,-4271 9341,-4266 9342,-4266 9339,-4269 9335,-4265 9339,-4263 9342,-4259 9345,-4254 9345,-4250 9340,-4250 9335,-4245 9338,-4242 9341,-4240 9341,-3240 9346,-3242 9349,-3241 9351,-3239 9352,-3238 9355,-3237 9358,-3233 9356,-3232 9358,-3233 9358,-3228 9363,-3228 9364,-3223 9369,-3226 9369,-3224 9373,-3222 9378,-3217 9379,-3215 9384,-3215 9384,-3215 9389,-3215 9394,-3215 9390,-3210 9385,-210 9386,-207 9389,-208 9389,1328 -1007,1328 -1010,1329 -1013,1334 -1018,1339 -1013,1344 -1013,1346 -1013,1350 -1015,1351 -2015,1353 -2016,1353 -2011,1350 -2016,1350 -2013,1354 -2010,1356 -2005,1359 -2007,1364 -2005,1363 -2005,1365 -2000,1362 -1999,1365 -1998,1366 -1998,1362 -1994,1364 -1989,1365 -1988,3668 17323,3665 17327,3663 17332,3666 17337,3667 17341,11433 8033,11434 8035,11434 8031,11437 8031,11437 8032,11441 8033,11439 8033,11442 8036,11445 8037,11448 8038,11452 8043,11454 8047,11456 8047,11459 8044,11454 8049,11457 8051,11460 8052,11463 8055,11458 8057,1346 -2990,1346 -2986,1350 -2982,1347 -2986,1352 -2983,1352 -5983,1355 -5979,1358 -5974,1354 -5970,1356 -5965,1360 -5964,1362 -5960,1364 -5960,1364 -5960,1369 -5960,1364 -5963,1369 -5960,1374 -5957,1378 -5952,1380 -5951,1384 -5951,1380 -5948,1380 -5944,1384 -5942,1387 -5945,5387 -5949,5391 -5950,5395 -5950,5395 -5951,5395 -5949,5400 -5954,5404 -5953,5402 -5958,7402 -5958,7403 -5963,7404 -5960,7404 -5959,11363 6016,11359 6018,11364 6023,11365 6024,11365 6023,11369 6025,11373 6020,11378 6020,11377 6024,11379 6029,11383 6033,11384 6034,11388 6037,11389 6041,11394 6043,11396 6048,11401 6048,11402 6050,11406 6052,11404 6054,11409 6058,11413 6059,11415 6060,11411 6065,11416 6068,11420 6073,11415 6076,11416 6078,11419 6083,11423 6085,11428 6086,11430 6086,11432 11086,11437 11091,11432 11088,11429 11086,11432 11086,11427 11090,11427 11095,11429 11092,11427 11092,11431 11087,11433 11088,11436 11090,11436 11091,11436 11096,11439 11099,11440 11099,11440 11095,11445 11097,15445 11102,15445 11102,15441 11099,15445 11100,15445 11102,15443 11106,15445 11110,15450 11107,15453 11110,15457 11110,15457 11115,15459 11119,15460 11117,15465 11117,15465 11120,15464 11123,15463 11124,15460 11124,15460 16124,15458 16127,15462 16122,15466 16126,15462 16131,15465 16133,15463 16135,15462 16136,15462 16140,15466 16142,15468 16147,15468 16147,15471 16149,15471 16147,15475 12147,15477 12150,15480 12147,15484 12144,15487 12145,15490 12147,15492 12149,15494 12150,15496 12153,15497 12155,15499 12150,15499 12147,15500 12143,15504 12146,15499 12150,15500 12150,15500 12152,15505 12153,15506 12157,15506 12157,15508 12158,15512 12159,19512 12162,19513 12159,19511 12163,19512 12162,19517 12167,19520 12167,19522 12168,19525 12171,19525 12172,19525 12175,19526 12172,19526 12172,19526 17172,19527 17175,19528 17176,19529 17179,19529 17178,19533 17181,19532 17183,19532 17179,19537 17174,19539 19174,19538 19171,19542 19172,19547 15172,7641 17282,7646 17284,7649 17284,7652 17284,7654 17285,7650 17289,7647 17291,7645 17296,7649 17297,7650 17294,7653 17294,7653 17298,7656 17303,7658 17308,7662 17313,7666 17308,7664 17313,7669 17313,7669 17313,7669 17316,7667 17313,7667 18313,7663 18314,7661 18316,7662 18317,7657 18318,7662 18315,7658 18316,7661 18318,7661 18322,7664 18317,7667 18315,7671 18315,7675 18315,7674 18315,7670 18316,11670 18316,16670 18321,16673 18321,16678 18322,16682 18327,16683 18332,16686 18334,16690 18334,16688 18336,16685 23336,16688 23337,14688 23338,14692 23337,14694 23338,14697 23339,14697 23342,14698 23342,14698 23343,14698 23348,14693 23350,14694 23347,14695 23347,14696 26347,14692 23347,14692 23347,14693 23350,14693 23351,14698 23355,18698 23352,18698 23356,18702 23360,18701 23362,18699 23363,18701 23363,18702 23366,18699 23366,18694 23370,18699 23370,18702 23374,18707 23378,18706 23380,18706 23381,22706 23384,22706 23385,22705 23389,22706 23384,22706 23384,22706 23384,22710 23380,22713 23381,22718 23386,22716 23390,22712 23390,22708 23390,22705 23392,22704 23397,25704 23402,25704 23402,25706 23404,25710 23404,22710 18404,22707 18402,22704 18403,22704 18406,22704 18411,22704 18411,22704 18410,22709 18410,22709 18407,22704 18405,22703 18405,22707 18405,20707 18409,20709 18412,20710 18411,20712 18414,20712 18414,20712 18412,20712 18416,20714 18412,20717 18417,20720 18419,20715 18421,20718 18422,20723 18425,20723 18430,20723 18434,20725 18435,20724 18437,20724 18433,20726 18433,20731 18437,20732 18437,20730 18438,20735 18440,20739 18438,20734 18438,20739 18437,20739 18437,20744 18439,20749 18438,20750 18434,20753 18436,20754 18431,20754 18432,20758 18433,20762 18438,20764 18443,20766 18447,20766 18450,20767 18451,20768 18451,20769 18448,20770 18452,20774 18456,20777 18458,20781 18462,20782 18463,20785 18468,17785 21468,17784 21473,17782 21477,17787 21481,17783 21482,17785 26482,17788 26482,17788 26482,17791 26479,17794 26483,17790 26483,22790 26483,22790 26479,20583 16215,20585 16220,20589 16225,20590 20225,20592 20222,23592 20227,22592 20229,22597 20233,22600 20233,22603 20237,22604 20240,22599 20241,22595 18241,22595 18242,22598 18243,22602 18247,22605 18252,22601 18256,22598 18255,22600 18257,22604 18258,22609 18261,22608 18261,22606 18264,22608 18261,22605 18265,24605 18262,24608 18263,24611 18267,24608 18267,24613 18271,24615 18272,24610 18273,24614 18272,24619 18276,24621 18281,24625 18276,24622 18280,24622 18282,24621 18279,24622 18277,24627 18279,24631 18284,24634 18289,24634 18292,24634 18294,24636 18299,24639 18294,24644 18295,24647 18298,24647 18301,24643 18303,24643 18306,24639 18311,24636 18315,24641 18317,24645 18317,24648 18319,24649 18323,24649 18328,24652 18330,24652 18329,24652 18327,24655 18322,24656 18319,24658 18319,24661 18320,24664 18316,24660 18320,24657 18318,24657 18320,24659 18325,24660 18327,24661 18323,24656 18327,24652 18323,24654 23323,24658 28323,24660 28318,24665 28319,24666 28323,24668 28325,24668 28328,24672 28325,24667 28328,24668 28325,24670 28326,24665 28330,24668 28334,24672 28336,24672 28336,24668 28339,24672 28340,24672 28338,24674 28341,24675 28346,24675 28351,24677 28356,24679 28357,24681 28356,24677 28360,24680 28355,24684 28354,24688 28356,24688 28351,24690 28356,24686 28361,24691 28364,24692 28364,24692 28365,24692 31365,24693 31370,21693 31370,21692 35370,21688 35372,21692 35377,21695 35377,21697 35377,21698 35379,21698 35374,21701 35375,21701 35379,21703 35380,21708 35383,21706 36383,21709 36383,16709 36383,16710 36386,16715 36382,16711 36386,16706 36388,16706 39388,16706 39383,16706 39379,16711 39379,16711 39376,16714 39381,16716 39386,16717 39389,16717 39391,16720 39391,16723 39387,17723 39392,17726 43392,17722 43396,19722 43399,19724 43394,19727 43391,19725 43395,19723 43398,19726 46398,19730 46400,19730 46403,19730 46405,19734 46407,19734 46410,19733 46407,19728 46412,19726 46416,19726 50416,19723 50417,19723 50416,19718 50420,19719 50424,19718 50429,19713 50433,19715 50437,19718 50442,19719 50442,19718 50444,19719 50439,19721 50443,18721 50444,18721 50446,18721 50450,18726 50451,18727 50453,18722 50451,18727 50456,18729 50455,18731 50458,18726 50458,18728 50458,18730 50463,18730 50460,18729 50456,18727 50460,18730 50462,18734 50457,18739 50455,18744 50457,18744 50461,18748 50461,18748 50466,18745 50468,18749 50463,18750 50468,18754 50472,18754 50472,18759 50472,18760 50468,18763 50473,18760 50477,18762 50477,18766 50481,18769 50483,18769 50481,18772 50482,18776 50482,18779 50486,18779 50489,18781 50489,18783 50494,18786 50496,18786 50495,18786 50498,18784 50499,18784 50499,21784 50504,21788 50502,21785 49502,21790 49501,21790 49498,21795 49494,21800 49494,21801 49495,21801 49500,21797 49505,21799 46505,21802 46508,21798 46513,21799 46516,21802 46516,21805 46519,21800 46524,21805 46527,21804 46528,21801 47528,21801 47531,21804 47533,21804 47529,21804 47534,21809 47538,21808 47538,21812 47540,21812 47535,21813 47532,21810 52532,21812 52535,21817 52536,21820 52536,21824 52541,21828 52545,19828 52545,19829 52547,19829 52551,19833 52555,19831 52552,19826 52557,17826 52562,17827 52567,17830 52568,17830 52572,17830 52575,17830 52575,17830 52574,17831 52578,17827 52582,17827 55582,17829 55583,17834 55583,17839 56583,17843 56579,17846 56580,17850 56584,17848 56588,17853 56592,17851 56596,17856 56596,17856 56600,17851 56601,17856 56601,17856 56604,20856 56604,20861 56601,20865 56596,20865 56597,20866 56597,20869 56602,20871 56603,20874 56607,20871 56605,20872 56610,20874 56613,20874 56612,20876 56617,20876 56622,20876 56626,20876 56621,20879 56623,20880 56627,20883 56624,20880 56629,20880 56629,20881 56630,20884 56630,20884 56635,20881 56636,20879 56637,20876 56632,20879 56629,20881 56633,20878 56634,20879 56634,20879 56637,20879 56642,20884 56638,20879 56639,20884 56634,20885 56631,20886 56633,20889 56632,20894 56627,20894 56631,20894 56631,20898 56632,20903 56632,20908 56630,20907 56633,20907 56636,20903 56641,20904 56641,20904 56637,20900 56639,20905 56642,20910 56643,20905 56648,20910 56653,20915 56654,20910 56659,20910 56663,20910 56664,20912 56664,20912 56666,20917 56670,20922 56670,20918 56673,20920 56675,20920 56677,20920 56677,20921 56681,20926 56677,20931 56677,20934 56680,20934 56684,20936 56689,20938 56689,20938 56690,20940 56695,20935 56696,20939 56697,20939 56699,20940 56696,20941 56694,20940 56698,20945 56700,20947 56702,20947 56707,20950 56712,20954 56713,20950 56710,20952 56706,20955 56704,20957 56708,20953 56709,20951 56714,20953 56716,20957 56720,20957 56722,20959 56725,20958 56727,20959 56728,20962 56731,20963 56736,20965 56741,20965 56740,20967 56742,20969 56737,20969 56742,20974 56744,20979 56744,20978 56745,20974 56748,20970 57748,20972 57749,20974 57751,20971 57754,20972 57752,20977 57755,20981 57758,20981 57763,20981 57765,20984 57765,20982 57767,20982 57763,20987 55763,20989 55767,20991 55770,20987 55771,20988 55774,20988 55777,20991 55775,21991 55778,21996 55778,22000 55783,22001 55783,22005 55783,22010 55785,17010 55781,17011 55783,20011 55778,20015 55783,20018 55786,20015 55791,20015 55795,20019 55792,20019 55792,20021 55792,20022 55788,20023 55783,20028 55786,25028 55790,26028 55795,26029 55790,26030 57790,26033 57794,26032 57798,26036 57802,26039 57805,26042 57805,26046 57810,26050 57811,26054 57815,26054 57819,26050 57819,26055 57820,26060 57822,26063 57823,26066 57826,26068 57824,26073 57826,26077 57831,26082 57831,26078 57836,26082 57839,26084 57839,26086 57834,26082 57834,26083 57835,26082 57840,26083 57844,26086 57843,26083 57846,22083 57849,22084 57847,22089 57847,22094 57848,22094 57853,22094 57850,22095 59850,22095 59855,22098 59858,22099 63858,22099 63861,21099 63861,21104 63862,19104 63862,19108 63864,19109 63864,19112 63868,19113 63873,19117 63876,19121 63875,19116 63877,19115 63882,19117 63878,19122 63883,19125 63884,19129 63879,19133 63879,19135 63874,19139 63871,19136 63871,19136 63873,19140 63868,19140 63873,19144 63877,20144 63879,20144 63876,20146 63880,20148 63878,20149 63877,20149 63879,20150 63882,20155 63886,20155 64886,20159 64884,20160 64884,20161 64887,20160 64887,20164 64887,12677 32287,12677 32292,12679 32297,12678 32298,12682 32294,12687 32294,12682 32296,12682 32296,12683 32298,12683 32301,12682 32305,12685 32309,12686 32311,12686 32316,12691 32311,12692 32316,12692 32312,12697 32314,12700 32319,12705 32322,12706 32327,12704 32329,12705 32332,12702 32334,12707 32338,12703 28338,12704 28340,12700 28345,12702 28345,12702 28345,12701 28348,12704 28349,12704 28345,12709 28342,12709 28343,12714 28347,12718 28351,12723 28352,12727 28353,12730 28355,12728 28353,12733 25353,15733 25353,15736 25355,15740 25356,15745 25356,15747 25351,15752 25353,15752 25354,15754 25354,15754 25353,15759 25352,15763 25352,15764 25357,15759 25352,15761 27352,15760 27354,15760 27354,15760 27355,15762 27357,15762 27354,15759 27354,15759 27354,15763 27358,15767 32358,15764 32360,15769 32360,15767 32360,15765 37360,15770 37362,15772 37363,15774 37367,15779 37363,15780 37359,15779 37363,15782 37366,15780 37370,15775 37370,15778 37365,15781 37360,15785 37356,15785 39356,15789 39358,15789 39360,15794 39365,15794 39370,15797 39375,15797 39380,15799 39379,15804 39376,15805 39377,15807 39380,15808 39385,15809 39386,15807 39386,15809 39386,15810 39389,15815 39392,15820 39392,15819 39396,15820 39398,15820 39395,15825 39400,15823 39405,15824 39403,15829 39403,15834 39406,15836 39411,15831 39415,15832 39415,15833 39415,15838 39417,15839 39419,15839 39414,15842 39413,15846 39418,15843 39420,15842 39423,15839 39420,15840 39422,15839 39420,15842 39415,15846 39410,17846 39415,17845 39411,17847 39416,17849 39420,18849 39424,18847 41424,18852 41424,18849 41429,18849 41432,18848 43432,18852 43433,18855 43433,18859 43435,18855 47435,18858 47440,18861 47435,18866 47435,18866 47439,18869 47442,18871 47445,18873 47445,21873 47445,21876 47444,21873 47449,21878 47451,21883 47456,21880 47454,21880 47454,21880 47457,21883 47459,21887 47464,21890 47465,21893 47467,21894 47464,16894 47462,16899 47457,16898 47455,16893 47456,16897 47458,16896 47455,16898 47459,16900 47464,16903 47469,16908 47471,16903 47474,16901 47473,16906 47473,16901 47478,16904 47479,16906 47475,16906 47474,16907 47475,16906 47479,16901 47482,16901 47482,16905 47486,16908 47487,16911 47490,16915 47490,16917 47492,16921 47497,16926 47498,19525 12175,19525 12176,19521 12177,19522 12181,19525 14181,19521 14181,19519 14185,19519 14189,19524 14192,19527 14192,19529 14196,19534 14200,19535 14205,19538 14208,19540 14204,19545 14207,19545 14207,19547 14210,19550 15210,19554 15210,19555 15210,19555 15213,19560 15213,19562 15212,19564 15213,19569 15210,19570 15214,19573 15214,23573 15217,28573 17217,28574 17220,28574 17219,28574 17224,28576 17229,28577 17233,28577 17236,28579 17236,28580 17238,28584 17243,28588 17248,28587 17252,28587 17252,28582 17255,29582 17259,29577 17260,29578 17262,29583 17257,29585 17257,29586 17260,29586 17265,29590 17267,29593 17267,29594 17267,29599 21267,29603 21271,29603 21272,29605 21274,29607 21276,29612 26276,29613 26279,29616 26280,29621 26277,29621 26277,29623 26282,29626 26285,29631 26289,29628 26289,29632 26290,29637 26294,29642 26290,29646 26292,29648 26291,29649 26288,29653 26293,29655 26292,29655 26293,12702 28345,12703 28348,12698 27348,12699 27349,12698 27354,12700 27354,12700 27355,12703 27360,12703 27361,12700 27362,12704 27367,12701 27371,12706 27376,12710 27372,12710 27373,12710 27368,12715 27370,12713 27374,12716 27378,12716 27380,12714 27379,12719 27374,12718 27373,12722 27376,12724 27376,12729 27371,12733 27372,12733 27377,12735 27373,12735 27374,12737 27378,12739 27379,12742 27381,12739 27381,12739 27376,12743 27378,12743 27379,9743 27375,9744 32375,9745 32377,9746 32374,9746 32372,9750 37372,9752 37375,9754 37375,9751 37377,9755 37379,9759 37379,9763 37383,9766 37385,9767 37382,9768 37383,9765 40383,9770 40378,9770 40382,9775 40384,9777 40386,9782 40391,9778 40395,9773 40395,9778 40397,9779 40399,9781 40402,9781 40398,9781 40393,9780 40396,9782 40399,9785 40398,9786 40395,9789 40390,9793 40387,9798 40390,9803 40394,9805 40397,9800 40400,9795 40402,9800 40403,9802 40407,9807 40410,9806 40407,9807 40403,9812 40400,9814 40403,9819 40403,9819 40400,9822 40405,9824 40405,9822 40408,9827 40410,9831 40413,9831 40413,9826 40412,9827 40417,9832 40418,9832 40416,9833 41416,9833 41421,9834 41416,9838 41416,9838 41421,9840 41422,9844 41424,9839 41424,9843 41427,9845 41430,9849 41430,9849 41425,9852 41423,9855 41426,9858 41429,9860 41434,9862 41436,9866 41441,9868 41436,9869 41434,9871 41434,9875 41437,9877 41437,9881 41438,9883 41438,9879 41438,20903 56641,20898 56644,20903 56647,20901 56649,20903 56645,20905 56650,20909 53650,20905 53650,20910 53652,20907 53655,20912 53652,20916 53656,20917 53656,20912 53661,20912 53660,23912 53663,23912 53663,23909 53663,23912 53665,23913 53669,23911 53669,23915 53669,23912 53671,23916 53670,23917 53675,23922 53680,23927 53683,23930 53688,23935 53689,23935 53691,23935 53691,23931 53692,23931 53694,27931 53693,27933 53695,27937 53695,27942 53699,27947 53701,27949 53703,27949 53704,27949 53708,27952 55708,27953 55710,27949 55710,27953 55710,27958 55713,27959 55718,27960 55722,27962 55725,27965 55730,27965 55732,27968 55730,27969 55733,27972 55733,27975 55734,27975 55734,27979 55737,27981 55733,27982 55732,32982 55732,32979 55734,32978 55737,32978 55738,32974 55742,32977 55746,32981 55750,32985 55746,32983 55747,32987 55750,32992 55751,32995 55751,32998 55751,32998 55753,32998 55753,32993 55753,32995 55757,32999 55758,33002 55760,33002 55761,33005 55766,33005 55767,33000 55764,32997 55767,32997 55771,33001 55773,32998 55777,33001 55777,33005 55776,33004 55776,33009 55781,33014 55786,33014 55790,33015 55790,33016 55790,33015 55786,34015 55787,34019 55790,34019 55791,34021 55793,34017 55793,34019 55796,34016 55797,34020 55793,34020 55796,34023 55792,34023 54792,34025 54797,34028 54800,34029 54799,34029 54795,34034 54796,34036 54797,34041 54792,36041 54797,36045 54801,36048 54803,36051 54804,36053 54806,11439 8033,11441 8038,11441 8039,11441 8040,11445 8035,11441 8035,11442 8039,11438 8035,11438 8035,11443 8039,16443 8038,16444 8038,14444 8040,14448 12040,14451 12036,14455 12038,14455 12041,14456 12046,14459 12049,14457 12051,14458 12046,14458 12047,14459 12042,14464 12042,14465 12047,14470 12050,14471 12055,14471 12058,14468 12060,14473 10060,14477 7060,14477 7062,14474 7062,14474 7067,16474 7063,16471 7065,16474 7067,16471 7072,16471 7068,16476 7066,16481 7069,16482 7072,16487 7072,16487 7077,16488 7077,16493 7076,16493 7079,16497 7079,16500 7079,16502 7079,16502 7079,16505 7075,16504 7080,16501 7077,16497 7079,16501 7081,16497 7080,16496 7084,16500 7086,16495 7087,16498 7084,16501 7087,16496 7087,16496 7083,17496 7083,17500 7083,17505 7088,9860 41434,9864 41435,9864 41435,9865 42435,9860 42435,9862 42436,9863 42434,9863 42430,9862 40430,9863 40427,9863 40428,20608 16239,20605 16242,20610 16237,20614 16237,20615 16242,20611 16242,20612 16245,20609 16244,20604 16242,22604 16237,22608 16239,22607 16240,22610 16244,22610 16241,22615 16246,22616 16246,22614 16251,22616 16251,22617 16249,22619 16254,22623 16252,22618 16255,22618 16259,22620 16262,22615 16262,22618 16263,22622 16263,22626 16265,22629 16266,22628 16269,22633 16267,22636 16268,22636 16267,22641 16269,22646 16269,22645 16271,22646 16273,22650 16271,22655 16274,22655 16277,22658 16279,22660 16280,22658 16280,22661 20280,22663 20282,19663 20285,19658 20288,19658 20292,19661 20295,19666 20298,19670 20301,19671 20301,19675 20301,19677 20306,19675 20311,19674 20315,19678 20318,19677 20314,19680 20315,19682 20310,19684 20314,19683 20316,19687 20315,19688 20316,19688 20319,19693 20319,19698 20322,19702 20323,19698 20323,19702 21323,19707 22323,8508 20119,8509 20119,8510 20116,8515 20113,8518 20115,8519 20116,8516 20120,8520 20119,8520 20118,8525 20123,8527 20125,8527 20125,8528 20123,8530 20126,8533 20123,8535 20127,8532 20132,8534 20136,8538 20138,8542 20141,8537 20143,8537 20145,8542 20145,8547 21145,8548 24145,8552 24145,8557 24150,8560 24147,8562 24151,8566 24156,8569 24160,8574 24156,8579 24159,8584 24164,8587 24164,8585 24167,8588 24170,8591 24171,8589 24172,8590 24176,8595 24177,8593 24174,8596 24178,8600 24179,8603 24175,8602 24178,9602 24182,9605 24177,9609 24178,9610 24182,9608 24178,9603 24183,9606 24188,9608 24193,9609 24195,9614 24196,9616 24197,9618 24201,9618 24205,9613 24209,9612 24214,9608 24211,9603 24216,9607 24221,9611 24221,9615 24217,9617 24217,9618 24221,9623 24225,9623 24225,9626 24225,9630 24225,9630 24222,9626 24223,9626 22223,9627 22223,9626 22226,9629 22228,9632 22228,9636 22225,9638 22226,9639 22227,9634 22230,9634 22231,9639 22235,9639 22240,9641 22242,9642 22246,9647 22249,9652 22250,9655 22255,9651 22256,9652 22253,9652 22256,9652 22261,9655 22262,9657 22257,9659 22261,9659 22261,9657 22264,9657 22261,9656 22264,9661 22267,9662 22270,12662 22270,12665 22265,12669 22270,12669 22270,12673 22269,11356 7007,11361 7010,11361 7010,11357 7014,11356 7015,12356 7020,12357 7015,12361 7017,11361 7018,11364 7017,11359 7018,11355 7017,11354 7020,11357 7020,11361 7023,11364 12023,11368 12028,11368 12029,11371 12030,11372 12034,14372 12034,14372 12039,14372 12042,14376 12045,14381 12047,14379 12047,14381 12049,14384 12054,14385 12051,14388 12056,14384 12056,14384 12061,14381 12058,14386 12062,14386 12059,14391 12059,14396 12060,14397 12060,14398 12056,14403 12051,14408 12052,14410 12057,14409 12057,14414 12053,14414 12051,14415 12051,14420 12049,14423 12048,14427 12044,14427 12044,14425 10044,14421 10049,14424 11049,14426 11054,14427 11059,14429 11064,14433 11064,14434 11064,14437 11065,14441 11068,14444 11072,14445 11076,13445 12076,13445 12077,13445 12081,13444 14081,13446 14081,13446 14078,13449 14083,13447 14084,13450 14085,13452 14090,13453 14087,13456 14084,13457 14083,13461 14081,13463 14082,12463 14082,12463 14087,12463 14087,12464 14087,8464 14087,8465 14083,8465 14080,8467 14085,8472 14085,8473 14085,8476 14090,8474 14094,8475 14094,8480 14094,8481 14099,8476 14103,8476 14107,8480 14111,8483 14116,8488 14120,8488 14118,8488 14120,8483 14115,8481 14118,8485 17118,8485 17114,8488 17110,8488 17115,8484 21115,8484 21118,8486 21120,8487 21120,8482 21115,8487 21118,8490 21122,8494 21127,8497 21132,8497 21133,8500 23133,8503 23135,8507 23135,8508 23132,8511 23129,8512 23125,8517 23126,8522 23125,8527 23129,8522 23131,8527 23132,8530 23132,8531 23128,8533 23132,8533 23134,8533 23139,8533 23144,8536 23143,8537 23146,8533 23146,8533 23149,8537 23152,8533 23157,8530 23158,8532 23162,8536 23162,8536 23165,8536 23165,8540 23170,8544 23171,8548 23169,8547 23173,8551 23176,8552 23173,8548 23169,8553 23173,8553 23170,8548 23173,8549 23173,8546 22173,8547 22174,8551 22177,8550 22179,8552 22183,8553 22183,8553 22184,8557 22185,6557 22185,13598 20226,13601 20227,13604 20229,13608 20233,13610 20234,13605 20237,17605 20237,17610 20242,17605 20242,17602 20241,14602 20241,18602 20236,18606 20239,18606 20244,18608 20241,16608 20245,16611 20240,16615 20239,16610 20234,16611 20232,16613 20235,16608 20235,16608 20239,16613 20242,19734 46410,19734 46410,19738 46414,19737 46414,19735 46415,19737 46418,19741 46421,19744 46423,23912 53671,23908 53673,27908 53675,27913 54675,27917 58675,27921 58677,27925 58678,27930 58678,27926 58683,27930 58686,27931 58691,27931 58695,27934 58700,27936 58699,27936 58699,27941 58695,27942 58695,27947 58699,27952 58699,27954 58703,27957 58704,27962 58708,27958 58706,27959 58703,27962 58703,27967 58706,27967 58701,27965 58701,27962 58702,27966 58703,27971 58704,27976 58706,27980 58709,27980 58712,27975 58711,27971 58716,27971 58713,27968 58712,27968 58712,27971 58711,27968 58713,27968 58710,27969 58708,27972 58706,27976 58711,27978 58716,27979 58716,27983 58718,27978 58718,27981 58719,27981 58723,27986 58725,27986 58728,27986 58731,27991 58734,27996 58738,27993 58736,27995 58732,31995 58736,31990 58735,31993 58738,31990 58734,31995 58729,31996 58729,31999 58731,31994 58726,31996 58731,12463 14087,12465 14090,12465 14093,12463 14090,12463 14095,12461 14092,12464 14093,12459 14091,12459 14091,12459 14091,12459 14096,12461 14100,12458 14103,12457 14101,12452 14101,12452 14106,12453 14103,12453 17103,12455 17104,15455 17104,15460 17108,15463 17104,15458 17108,18458 17108,21458 17105,21461 17105,21464 17110,21467 17115,21464 17120,21464 17120,21468 17123,21470 17126,21465 21126,21461 21126,21464 21128,21464 21132,21468 21137,21471 21142,21475 21146,21471 21146,21476 21147,21473 21151,21475 25151,21475 25152,21477 25153,21481 29153,21479 29158,21484 29162,21488 29162,21490 29165,21487 29170,21488 29167,21489 29162,21493 29164,21493 29169,21498 29169,21499 29164,21495 29167,21498 29167,23498 29170,23498 29169,23503 29172,23505 29171,23510 29167,23514 29164,28514 29168,28514 29172,28514 29174,28512 29172,28513 29176,28518 29179,28518 29182,28521 29177,28521 29179,28519 29179,28517 29179,28515 29177,28519 29177,28519 29179,28524 29184,28527 29183,28527 29185,28523 29187,28523 29184,28525 29189,28522 29189,28518 29186,28523 29189,28519 29189,28521 29189,28526 29193,28529 29193,28529 29196,28534 29200,28538 32200,28537 30200,28539 30202,33539 30207,33539 30209,33534 30205,33535 30208,33536 30208,33538 30213,33538 30214,33542 30218,33545 30221,33548 30222,33551 30225,33552 30227,33554 30231,33555 30233,33560 30228,33563 30225,33564 30229,33565 34229,33565 34234,33570 34231,33572 34235,33572 34239,33573 34243,33578 34239,33579 34243,33574 34247,33573 34247,33576 34243,33573 37243,33573 37246,33568 37241,33568 37244,33573 37239,33578 33239,33574 33241,33574 33239,33578 38239,33583 38242,33587 38242,33590 38242,33594 38243,33596 38247,33599 38248,33599 38252,33595 38252,33598 38257,33603 38258,33604 37258,33609 37255,33604 37257,33607 37262,33607 37265,33609 37266,33614 37271,33614 37276,33616 37278,33616 38278,33616 38282,33621 38284,33621 38288,33621 38285,33618 38289,33616 38291,33616 38294,33611 38296,33608 38301,33610 38305,33610 38300,33612 38303,33617 38308,33621 38309,33625 38305,33630 38307,33634 42307,33636 42310,33638 42314,33634 42312,33631 42315,33631 42315,27931 58691,27936 58693,27937 58695,27940 58700,27943 58703,27943 58708,27946 58709,27950 58711,27950 58714,29950 58718,29951 58723,29947 58728,29947 58732,29950 58727,29950 58727,29955 58730,29960 58734,29964 58732,29961 58734,29963 58735,29968 58739,29968 58741,34968 58739,34971 58739,34972 58739,34973 58740,34968 58741,34970 58743,34974 58745,34977 58749,34979 58744,39979 58745,39979 58742,39978 58744,39982 58748,39983 58744,39983 58744,39979 58747,39979 58752,39983 58757,39982 58759,39985 58759,39986 58759,39983 60759,39986 60762,39990 60767,39994 60770,39994 60770,39997 60770,39997 60770,40000 60775,40002 60775,40003 60779,40007 60784,40008 60787,40011 60788,40015 60788,40016 60790,40016 60792,40021 60788,40025 60788,40030 60788,40026 60786,40027 60786,40030 60787,40032 60792,40037 60795,40032 60800,40032 60799,40035 64799,40035 64801,40036 64806,40041 64803,40037 64805,40038 64801,40040 64804,40036 64804,40040 64805,40045 64810,40048 64811,40051 64813,40051 64817,13491 17139,13486 18139,13489 18139,13494 20139,13492 20138,13494 20141,13499 20145,13499 20145,13499 20148,13503 20149,13500 20149,13505 20151,9367 11012,12367 11015,12369 11011,12364 11012,12364 11015,12359 11011,12354 11011,12354 11014,12359 11017,12356 11015,12361 11015,12361 12015,12365 12016,12369 8016,12374 8021,12373 8025,11373 8021,11368 8021,11373 8024,12700 27362,13700 27363,13705 27364,13710 27368,13705 27369,13707 27367,13707 27371,13709 27375,13712 27377,13714 27373,13712 27376,13714 27379,13713 27382,13718 27384,13713 27380,13713 27385,13711 27386,13715 27386,13719 27386,13719 27389,15719 27394,15724 27398,15729 27400,15734 27401,15734 27401,15729 27396,15732 27396,15735 27397,15734 27399,15733 27400,15729 27400,15734 27400,15729 27405,15734 27405,15739 27408,15739 27408,15741 27412,15743 27416,15743 27416,15740 27416,16740 31416,16743 31421,16738 31425,16742 31430,16742 31435,16743 31439,16743 31444,16741 31449,16746 31450,16747 31455,16742 31459,16738 31463,16742 31466,16742 31471,16742 31471,16742 31471,16744 31475,16749 36475,16749 36473,16753 36478,16757 36474,16761 36477,16759 36478,16761 36481,16760 36484,16761 36485,16760 36486,16765 36491,16766 36494,16771 36498,16769 36501,16771 37501,16774 37504,16769 37507,16769 37507,16772 37503,16772 37508,16774 37511,16774 37510,18774 37515,18777 37515,18772 37512,18775 37514,18777 37517,18778 37519,18779 37517,18776 37517,18778 37520,18780 37520,18785 37522,18785 37526,18787 37523,18786 37520,18790 38520,18789 38520,18792 38522,18797 38527,18802 38529,20802 38534,20804 38535,20803 38540,20802 38539,20806 38543,20811 38546,20814 38543,20812 38541,20808 38546,20811 38544,20815 38539,20816 38535,20818 38531,20815 38531,20814 38528,20814 38533,20817 38536,20816 38539,20821 38540,20818 38542,20820 38540,20816 38540,20821 38540,20823 38541,20828 38541,20831 38546,20836 38547,20836 38548,20835 38553,20835 37553,20835 37558,20837 37558,20842 37560,20846 37561,20846 37564,20849 37569,20854 37564,20854 37565,20850 37566,20852 38566,20856 39566,20861 39566,20863 39562,20867 39566,20872 39567,20868 39566,20873 39568,20876 39573,20876 39573,20880 39575,20884 39579,20885 39580,20889 39580,20891 39584,20888 38584,20889 38587,20890 38592,20891 37592,20892 37597,20894 35597,20895 35600,20897 35603,20899 35605,16678 18322,16681 18323,16682 18323,16686 18328,16690 18326,16693 18331,11693 18335,11692 18332,11695 18332,11698 18335,11703 18335,11703 18336,11702 18339,11698 18344,11702 18349,11705 18353,11704 18357,11707 18360,11707 18359,11711 18358,11716 18358,11713 18358,11712 18360,11710 18360,11710 18362,11710 18362,11710 18367,11710 18366,11707 18366,11706 18365,11710 18369,11715 18371,11714 18374,11712 18376,11711 18377,11711 18379,11712 18384,11715 18385,11711 18385,11714 18387,11717 18389,11718 18386,11721 19386,11723 19391,11722 19395,11722 19396,11723 19398,11726 19398,11729 19403,11733 19408,11736 19407,11733 19411,6733 19407,6735 19402,6738 19402,6743 19406,6746 19406,6742 19411,6742 19414,6742 19414,6746 19419,6746 19423,6746 19418,6749 19418,6747 19418,6748 19420,6748 19424,6748 19424,6751 19427,6751 19429,6752 19429,9752 19426,9754 19428,9759 19430,9756 19431,9751 19435,9753 19440,9757 19445,9755 19443,9757 19448,9757 19448,9759 19451,9763 19451,9766 19454,9766 19456,9770 19459,9770 19462,9770 19466,9766 19467,9771 19468,9772 19468,9769 19469,9768 19470,9770 19470,9774 19473,9778 19470,9781 19470,9786 19471,9789 19471,9789 19473,9792 19478,9795 19475,9800 19478,1256 2899,1260 -1101,1256 -1097,1255 -1093,1255 -1094,1259 -1089,1260 -89,2260 -84,2258 -84,2263 -88,2267 -89,2268 -91,2269 -86,2272 -86,2272 -82,2273 -77,2276 -79,2281 -81,2283 -79,2287 -75,2292 1925,2297 1930,2299 1930,2303 1932,2308 1937,2308 1936,2313 1937,2315 1934,2316 1935,2311 1936,2316 1937,2319 1938,2322 1940,2327 1940,2331 1940,2327 1943,2329 1945,2331 1950,2336 1950,2339 1954,2338 1954,7338 1954,7337 1958,7341 1960,7341 1964,8550 20152,8554 20152,8553 15152,8550 15152,8554 15154,8552 15149,8552 15153,8556 15151,8556 15148,8552 15152,8547 15149,8552 15154,8552 15155,8553 15156,8550 15156,8553 15160,8556 15164,8558 15163,8561 15163,8563 15167,8559 15169,8559 15166,8564 15167,8568 15171,8572 16171,8572 16173,8574 16170,8571 16174,8575 16174,8576 16174,8576 16174,8580 16178,8579 16183,8574 16184,8576 16184,7576 16186,7572 16181,7577 16181,7577 16185,7578 16190,7583 16185,7583 16185,7587 16185,12587 19185,12582 19188,12587 19193,12587 19195,10534 21158,10538 21162,10540 19162,10543 19158,10547 19158,10551 19160,10551 19158,10554 19158,10553 19157,10555 19157,10555 19154,10552 19156,10553 19161,10555 19166,10558 19165,10560 19165,10561 19165,10561 19165,10564 19166,10567 19164,10570 19162,10575 19165,10577 19164,10577 19168,10578 19168,10574 19171,10574 19172,10571 19175,10573 19178,6503 16143,6507 16146,6509 16142,6510 16142,6510 16143,6512 16143,6514 16146,6517 16148,6522 16143,6525 16143,6530 16143,6534 16146,6531 16144,8490 16106,8490 16106,8492 16109,8489 16110,8491 16106,8487 16109,8488 16104,8490 17104,8495 17108,8490 17109,8493 17108,8498 17111,8500 17111,8500 17109,8501 17113,8506 17118,8506 17118,8506 17123,4506 17125,4511 17123,4516 17126,4514 17125,4519 17124,4520 17126,4525 17129,4530 17124,4526 17124,4528 17124,4533 17127,4535 17127,4531 16127,4531 16124,4534 16124,4538 16125,2538 16130,2539 16131,2544 16133,2544 16129,2540 16129,2545 16129,2550 16126,7550 16126,7555 16128,7559 16124,7559 16129,7560 16132,7561 16128,7566 16132,9566 16136,9568 16136,9573 16141,9570 16144,9571 16146,9573 16150,9577 16153,9581 16148,9579 16153,9584 16157,9586 16160,9581 16162,9578 16165,10578 16162,10579 16163,10574 18163,10570 18164,10568 18164,10570 18169,10572 18170,10575 18170,10575 18175,10579 18176,10580 18176,10585 18176,10581 20176,10586 20178,10587 20178,10585 20179,10585 20177,10581 20178,10584 20183,10586 20187,10590 20187,10591 20190,10587 20188,10591 20187,10591 20192,10592 20191,10597 20195,10602 20194,10602 20195,10607 20197,10607 20198,13607 20201,13607 20200,13607 20204,13604 20204,13605 20209,13607 20209,13612 20214,13615 20218,13615 20218,13619 20220,13624 20224,13628 20219,18628 20216,18630 20213,18635 20213,18632 20211,18629 20211,18632 20215,18632 20216,18632 20217,18632 20217,18627 20214,18630 20209,18633 20212,18636 20212,18638 20217,18643 20222,22643 20219,22643 20219,22644 20219,22644 20214,22645 20216,22645 21216,22646 21220,22642 21224,22642 21221,22641 21224,22638 21229,22641 21232,22642 21235,22643 21238,22644 21236,22649 21237,22704 18411,22704 18412,22699 18412,22696 18416,22701 18412,22703 18416,22698 18416,22693 18418,22695 18422,22698 18422,22700 18426,22705 18427,22706 18427,22708 18432,22708 18432,22704 18431,22709 18427,22709 18432,22709 18436,22713 21436,22718 21438,22719 21437,22721 21440,22725 21443,22727 21445,22724 21450,22724 21451,22727 21453,22730 21453,22730 21458,22734 21460,22738 21464,20738 21464,20742 21465,22742 21465,22741 21464,22736 21464,22738 21464,22742 21460,22742 21460,22744 21458,22743 21458,22741 21455,22741 21460,22739 21456,22739 21458,22734 23458,22732 23458,22733 23463,22731 23467,22731 23469,22736 23472,22739 23472,22742 23471,22744 23471,24744 23466,24744 23468,24739 23471,24742 23474,24747 23478,24747 23481,24747 23483,24747 23486,24751 25486,24753 25489,24758 25493,24762 25497,24764 25499,24769 25496,24773 25498,24777 25499,24779 25503,24782 25500,24782 25498,24777 25498,24779 25495,24775 25495,24776 25495,24777 25495,24781 25500,24778 25503,24778 25499,24780 25500,24777 22500,24775 22505,24777 22505,24777 22501,24778 22502,24778 22505,24774 22509,24776 22509,24776 22509,24781 22509,24784 22511,24780 22513,24780 22514,24783 22515,24786 22520,24786 22520,24791 22518,24788 22517,24791 22522,24794 22525,24791 22524,24791 22528,24789 22530,24794 22530,24799 22525,24795 22524,24798 22520,24796 22516,24801 22511,24803 22516,24804 22521,24804 22526,24806 22524,24805 22524,24809 22529,24810 22531,24813 22536,24817 22536,24815 22535,24810 22530,24815 22530,24816 22530,24818 22531,24818 22531,24818 22533,24822 22533,24820 22530,24816 22529,24820 22532,24822 22533,24822 27533,24823 27536,24826 27540,24829 27541,24832 27546,24833 27549,24832 27553,24833 27552,24833 27551,24836 27551,24839 27554,24841 27554,24841 27556,24842 27559,24847 27557,24847 27562,24842 27566,24840 27564,24842 27568,24844 27563,25844 27565,25847 27569,25848 27564,25851 27561,25855 27559,25856 27556,25852 27556,25857 27561,25857 27564,25858 27564,25863 27567,25868 27567,25871 27564,25872 27565,25875 27570,25877 27573,25878 27575,25879 27574,25884 27579,25887 27577,25886 27579,25882 27582,25882 27578,25882 27582,25884 27578,25887 27583,25891 27584,25895 27582,25895 27582,25898 27583,25900 27580,11433 8033,11435 8037,11439 8040,11444 8044,11439 8048,11441 8045,11446 8044,11446 8039,11451 8038,11451 8043,11450 8046,11451 8046,11447 8049,11443 8052,11445 8057,11441 8058,11439 8060,11444 8056,11445 8053,11448 8053,11450 8049,11455 8044,11453 8042,11454 8044,11451 8049,11453 8049,11458 8052,11459 8055,11457 8053,11460 8053,11461 8055,11465 9055,11466 9056,12466 9058,12467 9054,12472 4054,12467 4056,12467 4059,12470 4058,12468 4060,14468 4064,14467 4063,14471 4060,14473 4062,14471 4067,14468 4072,14471 4076,14466 4077,14467 4074,14472 4075,14472 4080,14476 4085,14476 4090,14481 4090,14485 4091,14490 4095,14493 4095,14495 4100,14492 4100,14497 4102,14499 4100,14501 4101,14500 4106,14500 4107,14496 4108,14495 4110,14494 7110,33625 38305,38625 38310,38625 38315,38623 38318,38625 38317,38629 38318,38632 38313,38634 38313,38639 38314,38640 38317,38644 38320,38649 38321,38647 38317,38647 38322,38643 38324,38640 38319,38645 38319,38646 38319,38645 38316,38644 38318,38646 38319,38644 38324,38647 38328,38652 38325,38649 38328,38651 38332,40651 43332,40651 43335,40655 43335,40652 43339,40652 43339,40654 43336,40654 43337,40657 43333,40656 43335,40656 43338,40656 43343,40656 43341,40659 43346,45659 43348,45664 43350,45666 43346,45665 43351,45669 43355,45673 43355,45674 43359,50674 43360,50678 43363,50678 43364,50679 43367,50682 43371,50687 43374,50690 43374,50690 43377,50693 43377,50698 43382,50693 43386,50689 43386,50692 43390,50695 43392,50699 43392,50704 43397,50707 43395,50711 43391,50706 43393,50709 43393,50711 43395,50710 43397,50714 43394,50718 43394,50715 43394,50717 43399,50722 43403,50724 43407,50728 43407,50730 43408,47730 43403,47730 43404,47733 43408,47737 43409,47735 43414,47738 43416,47741 43416,47744 43421,47743 43422,47748 43424,47753 43419,47754 43420,47749 43419,52749 43423,52751 43421,52753 43421,52750 43426,52752 43428,52748 43430,52748 43426,52747 43431,52744 43431,52748 43435,52748 43435,52750 45435,52753 45440,52753 45440,52757 45442,52761 45447,52758 45447,52761 45447,52761 45452,52758 45454,52758 45455,52758 45456,52761 45460,52759 45458,52755 45463,52759 45464,52756 45461,52756 45462,52758 45467,52760 45470,52759 45469,52762 45473,52762 45474,15617 20233,15612 20238,15611 20242,15613 20237,15617 20238,15618 20239,15621 20236,15623 20240,15622 20240,15622 20245,15623 20244,15628 20242,15628 20247,15625 20246,15628 20250,15630 24250,15632 24251,15634 24253,15629 24252,15633 24250,15629 24250,15633 24248,15629 24248,15634 24248,15636 24253,15640 24253,15643 24257,15639 24254,15642 24257,15643 26257,15648 26255,15643 26256,15641 26258,15646 26262,15646 26263,15651 26263,15648 26267,15653 27267,15656 27270,15660 27272,15662 29272,15658 29276,15658 29277,15658 29272,15663 29274,15663 29274,17663 29274,17663 29279,17668 29283,17671 29285,17670 29287,17675 29289,17676 29293,17679 29296,17682 29297,17685 29299,17686 29300,17687 29305,17685 33305,17686 33310,17687 33310,17689 33306,17687 34306,17691 34304,17694 34306,17696 34306,17695 34309,17691 34314,17691 34311,17692 34306,17696 34310,17700 34310,17697 34312,17699 34316,17704 34318,17701 34318,17705 34322,17704 34321,17706 34319,17706 34319,17702 34316,17707 37316,17710 37318,19710 37313,19705 37313,19708 37308,19712 37310,19710 37312,19711 37307,19711 37307,19714 37310,19718 37312,19719 37309,19723 37312,19727 37315,19729 37317,19731 37322,19734 37323,19735 37324,19737 37322,19742 37326,19740 37331,19745 37335,19742 37335,19742 37340,19745 37341,19749 37341,19749 37342,19752 37347,19757 37347,19762 37345,19764 37341,19768 37345,19769 37350,19771 37355,19773 33355,19770 33360,19765 33364,19769 33364,19773 33365,22773 33364,22771 33360,22775 38360,22779 38364,22780 38369,22782 38371,22784 38371,22789 40371,22792 40375,22789 40375,22789 40377,22793 40376,23793 40378,23795 41378,23791 41378,23792 41378,23796 41382,23798 41383,22798 41386,22799 41390,22804 41390,22804 41391,22808 41391,22812 41393,22814 39393,22819 39393,22821 39395,22823 39397,22828 36397,22832 36392,22832 36393,22836 36396,22836 36401,22838 36402,19838 36403,19837 36408,19841 36408,19843 36409,19845 36404,19847 36405,19847 36408,19847 36411,19848 36413,19850 36415,19845 36419,19841 36417,19843 36419,19843 36419,19846 36424,19848 36425,19850 36425,19845 36425,19846 36425,19848 36430,19852 36430,19849 36435,19846 36440,19851 36440,19846 36438,19848 36439,19844 36442,19845 36446,19841 36448,19841 36449,19841 38449,19841 38452,19846 38455,19848 38458,19852 42458,19856 42462,19859 42463,19859 42465,19861 42462,19862 42463,19864 42463,19867 42467,19870 42470,19871 42468,21871 42467,26871 42464,26867 42466,26872 42463,26872 42464,26874 42463,26879 42466,26882 42466,26883 42471,26879 42476,26878 42477,27878 42479,27882 42479,27883 42480,27886 42483,27887 42487,27885 42484,27887 42483,27890 42484,27890 42485,22890 42486,22890 42489,22890 42491,22895 42494,22897 42498,22899 42502,22901 42502,22896 42503,22892 42498,22896 42498,22891 42502,22892 42505,22897 42507,22898 42511,22903 42515,22906 42510,22911 42513,17911 42508,17915 42512,17918 42509,17913 44509,17915 44514,17919 44510,17923 44514,17927 44510,17927 44513,17927 44517,17928 44521,21928 44517,21930 44516,21931 44513,21929 44513,21933 44517,21934 44519,21933 44520,21934 44520,21937 44520,21938 44520,21943 44520,21938 44523,21940 44527,21936 44532,21941 44536,21942 44541,21937 44545,21938 44545,21938 44545,21940 44543,21937 44538,21941 44543,21938 44547,21938 44547,21938 44547,21937 44551,21937 44551,21933 44556,21935 44554,21937 44558,21940 44562,21944 44564,21949 44561,21952 44566,21955 44568,21960 44569,21963 44571,21963 44571,21965 44574,25965 44579,25967 44584,25967 44584,25970 44588,22970 41588,22970 41586,22975 41585,22974 41589,22970 41593,22966 41598,22965 41598,22970 41598,22965 41601,22965 41604,22965 46604,22968 46604,27968 46602,27968 46602,25968 46601,25967 45601,25968 45602,25971 45607,25975 45610,25979 45614,25977 45612,25975 45609,26975 45609,26980 46609,26979 46613,26982 46610,26982 46611,26980 46615,26982 46616,26985 46616,26986 46617,26987 46615,30987 46617,30987 46622,30986 46626,30988 46629,30989 46627,17671 29285,17673 26285,17677 26286,17678 26285,17681 26289,15681 26292,15685 26297,10685 26297,10689 26301,10689 26297,10693 26300,10695 26301,10691 26297,10696 26299,10696 26304,10692 26306,10688 26301,10690 26302,10690 26307,10686 26305,10684 26309,10686 26312,10691 26313,10688 26318,10683 26320,10684 26325,10683 26328,14683 26328,14680 21328,14681 21331,14683 21335,14680 21333,14677 21333,14682 25333,14684 25334,14689 25338,14693 25338,14698 25341,14696 25342,18696 25343,20696 25345,20699 25349,20702 25346,20703 25351,20703 25351,20704 25351,20704 25354,20700 26354,20705 26352,20706 26351,20706 26351,20703 26354,20708 26354,20712 26355,20712 26352,20717 26349,20717 26346,20722 26351,20727 26353,20729 26348,20734 26353,24734 26349,24729 26349,24729 26352,24725 26349,24725 26353,24726 26353,24729 26355,24729 26357,24732 26359,24735 26362,24735 26364,24730 26364,24730 26363,24734 26365,24739 26368,24739 26364,24739 26366,24739 26367,24734 26370,24735 26365,24732 26367,24732 26369,24729 26372,24728 26370,24726 26365,24728 26368,24731 26370,24734 26375,24738 26378,24733 26378,24733 26381,24729 26381,13496 17147,13491 17152,13495 17148,13496 17146,13498 17141,13498 17145,13501 17147,13502 17149,13502 17153,13505 17149,13505 17152,13500 17149,13496 20149,13492 20150,13497 20155,8497 20151,8501 20153,8502 20156,8506 20159,8503 20159,12503 19159,12503 19159,12505 19164,12500 19159,12500 19164,12500 15164,12503 15169,12508 15168,12511 15170,12514 15170,12510 15169,12512 15172,12512 15172,12515 15172,12519 15175,12522 15176,12525 15180,12528 15184,23912 53663,23915 53661,28915 53666,28914 53667,28918 53664,28921 53667,28922 53667,28924 53670,28925 53674,28926 53674,28927 53672,28922 53676,28924 53677,28927 53678,28932 56678,28934 56682,28935 56683,28936 56688,28938 56688,28934 56691,28938 56693,28942 56690,28939 56694,28939 56698,28942 56695,28946 56698,28950 56701,28953 56706,28954 56706,28949 56708,28950 56708,28953 56709,28958 56706,28960 56709,28965 56707,28965 56707,28965 56705,28963 56709,28966 59709,28969 59710,28973 59711,28977 59715,28977 59717,28982 59719,28981 59715,28985 59718,28986 59718,33986 59721,35986 59723,35990 59723,35990 61723,35993 61726,35995 61728,35998 61724,36000 61721,36004 61723,36002 61718,36007 61718,36010 61719,36010 61721,36010 61721,36010 61721,36015 61721,36018 61716,36022 61717,36024 61718,36025 61723,36029 61722,36031 61726,36035 61722,36040 62722,36042 62722,36044 62722,36049 62724,36051 62720,36053 62723,36052 62719,36055 62717,36056 62712,36059 62714,36058 67714,36059 67716,40059 67716,40063 67719,40067 67722,40069 67726,40065 67724,40067 67721,40067 67722,40071 67721,40075 67726,37075 67730,37076 67733,37076 67736,37072 67741,37072 67741,37072 67744,37076 67744,37079 67745,37081 67750,37082 67750,37082 67753,37082 67753,37083 67752,37081 67753,37084 67753,37087 67757,37087 67758,37083 67753,37084 67758,37084 67761,37088 67759,37091 67762,37088 67762,37090 67767,37090 72767,37090 72771,37085 72771,37089 72774,38089 71774,38090 71771,38086 71771,38086 71774,38086 71777,38089 71782,38089 71782,38087 71780,38092 71782,38087 71785,38083 71783,38081 71781,38078 71781,38078 71783,38076 71786,38075 71787,38078 71783,38079 71781,38081 71781,41081 71783,41081 71778,41082 71778,41085 71783,41085 71783,41088 71785,41083 71789,41083 71794,41088 71796,41088 71796,41092 71798,41095 71794,41095 71789,41098 71790,41093 71790,41091 71795,41092 71796,41087 71798,41084 71796,41086 71797,41084 71799,41084 71795,41086 71798,41085 71799,41089 71803,41085 71804,41083 71802,41083 71803,41079 71803,41081 71808,41081 71809,41083 71810,41083 71809,41085 71810,41082 71814,41087 71817,41089 71818,41086 71813,41083 71813,39083 71816,39083 71814,39085 71814,39083 71814,39086 71818,39087 71820,39087 71824,39091 71826,39096 71829,39098 74829,39102 74830,39107 74833,39110 74836,39115 74835,39115 74836,39115 74838,39115 74835,39119 74838,39117 74840,39121 74840,39125 74843,39121 74848,39122 77848,39122 77844,39123 77848,39126 77851,39131 77855,39136 77857,39132 77857,39135 78857,39135 78859,39136 78864,39133 78865,39135 78866,39139 79866,39142 79870,39147 79872,39146 79872,39150 79876,39150 78876,39154 78879,39154 75879,39154 75881,39158 75881,39157 75884,39160 75884,39155 75884,39160 75889,39156 75891,39158 75888,39163 75891,39163 75894,39166 75891,39166 75895,39167 75900,39170 75901,39170 75906,35170 75907,35171 75911,35176 75906,35172 75908,35173 75908,35178 75908,35175 75909,35170 75908,35170 75903,35168 75904,35173 75906,35178 75903,35179 75904,35179 75908,35182 75905,35184 71905,35188 71902,35185 71904,35186 71907,35187 71908,35189 71903,35191 71905,35195 71900,35197 71904,35198 71909,35200 71907,35199 71903,35201 71900,40201 71896,25028 55790,25029 55785,28029 55789,28031 55790,28032 55790,28037 55794,28042 55793,28043 55798,28046 55803,30046 55803,30051 55806,30050 55810,30049 55810,30049 55812,30049 55816,30054 55820,2545 16129,2540 16133,2542 16137,2542 16139,2544 16138,2545 16139,7545 16136,7546 16139,7541 16142,7542 16142,7543 20142,7547 20143,11547 20143,11550 20139,11555 20139,11556 20137,11552 20142,11555 24142,11556 24145,11559 24140,11563 24143,11567 24139,16567 24136,16567 24139,16572 24142,16573 24147,14573 24143,14574 24147,14570 24145,14573 24150,14569 24150,14570 24145,14573 24149,14575 24150,14575 24154,14579 24149,14579 24153,14576 24157,14576 24152,14571 24149,14571 24152,14575 24150,14572 24151,15572 24153,15575 24149,15577 24154,15582 24151,15582 24153,15586 24156,15587 24152,15588 24157,15590 24162,15590 24166,15590 24166,20590 24166,17590 24169,17595 24171,17597 24172,17599 24172,17595 24174,17599 24178,17599 24181,18599 24184,18594 24187,18597 24187,18593 24189,18597 24192,18601 24192,18599 24197,18599 24197,18603 24200,18605 24204,18600 24205,18605 24201,18605 24197,18610 24202,18608 24205,18611 24204,18613 24208,18617 24203,22617 24205,22619 29205,22622 31205,22622 31209,22623 31214,22624 31212,22627 31214,22623 31214,22626 31215,22629 31214,22633 31218,22631 31221,22630 31223,22632 31227,21937 44551,21935 44555,21939 44551,21934 44553,21936 44554,21933 44556,21935 44552,21935 44553,21939 44548,21939 44551,21939 44551,21938 44555,21938 44558,21938 44559,21941 44559,21945 44558,19945 44562,19942 44560,19943 44561,19939 44565,19940 44561,19939 44556,19935 44557,9770 19466,9773 19471,9775 19471,9770 19471,9770 19468,9770 19467,9772 19466,9772 19468,9774 19469,9775 19472,12775 19470,12773 19466,12773 19467,12773 19464,12773 19466,12776 19461,12779 19461,12779 19465,12780 19465,12782 19460,12781 19458,12776 19461,12776 19461,12777 19463,12778 19466,12776 19466,12780 19463,12780 19466,12785 19468,12789 19473,12788 19477,12793 19475,12798 19480,12802 19482,12803 24482,12802 24484,16802 24486,16806 28486,16808 28486,16812 28490,16812 28494,16815 28498,16816 28498,16818 28502,16818 28504,16819 28509,19819 28513,19819 28510,19821 28515,19816 28510,19811 28510,19811 28511,19809 28511,19810 28510,19813 28515,22813 28510,22818 28514,22818 28515,22815 28516,22818 28514,22819 28514)',')'))); + +#1 Test update with diff mbr. +start transaction; +update t1 set a=st_geomfromtext(concat('multilinestring(','(-4287 -5983,52762 -5983,52762 79876,-4286 79876,-4286 -5983)',',','(-768 -136,-771 2864,-772 2860,-777 2862,-775 2858,-775 2863,-770 2866,-765 2871,-761 2874,-759 2878,-759 2883,-759 2886,-758 2886,-758 2886,-755 2890,-752 2890,-751 2890,1249 2890,1250 2892,1251 2892,1251 2892,1256 2897,1259 2894,1256 2899,1253 2904,1256 2904,1257 2906,1252 2910,1253 2910,1256 2912,1255 2913,1260 2911,1256 2913,1255 2918,1257 2921,1259 2925,1262 2922,1263 2923,1266 2926,1268 2929,1269 2932,1273 2937,1277 2942,1282 2942,1284 2939,1287 2935,1290 2935,1293 2938,1296 2940,1299 2942,1302 2947,1307 2952,1311 2956,1312 2958,1307 2956,1311 2955,1307 2956,1307 2960,1307 2962,1311 2965,1315 2967,1314 2968,1319 2969,1322 2973,1324 2978,1323 2977,1327 2982,1330 7982,1332 7985,1332 7986,1332 7988,1328 7991,1328 7991,1328 7991,1253 2910,1249 2908,1251 2908,1253 2913,1253 2909,1256 2914,1255 2916,1259 2919,1261 2923,1262 2923,1266 2925,1270 2930,1270 2932,1267 2929,1269 2929,1269 2931,1269 2926,1265 1926,1270 1926,1274 1926,1274 1929,1269 1929,1270 1931,1272 1935,1269 1935,1273 1938,1278 1938,1278 1938,1280 1943,1275 1948,1276 1951,1279 1948,1280 1952,1281 1952,1286 1954,1290 1958,1290 1963,1294 1964,1298 1962,1298 1958,1302 1963,1302 1967,1307 -2033,1311 -2030,1307 -2030,1310 -2025,1314 -2020,1317 -1020,1321 -1016,1321 -1018,1321 -1015,1326 -1016,1324 -1016,1327 -1011,1326 -1007,1326 -1002,1326 -1004,1321 -1004,1321 -1003,1324 -1008,1328 -1007,1328 -1003,1333 -999,1336 -998,1339 -997,1337 -996,1340 -2996,1335 -3000,1339 -2996,1343 -2995,1346 -2990,1341 -2990,1345 -2991,1345 -2995,1269 2931,1269 2936,1271 2941,1275 2941,6275 2943,6274 2943,6279 2939,6274 2942,6274 2946,6275 2947,6276 2948,6280 2947,6282 2951,6287 2952,6287 2956,6289 2959,6294 4959,6298 4964,6302 4965,6300 6965,6305 6965,11305 6967,11305 6967,11310 6966,11310 6966,11314 6964,11318 6969,11318 6972,11323 6974,11328 6977,11329 6979,11333 6982,11337 6982,11334 6982,11337 6983,11341 6988,11345 6991,11349 6992,11353 6993,11353 6996,11353 7000,11356 7000,11353 6000,11350 6002,11353 6004,11354 6007,11356 6009,11358 6009,11359 6011,11363 6016,11365 6013,11369 6015,11372 6017,11377 6022,11381 6025,11382 9025,11385 9029,11390 9024,11389 9020,11391 9020,11389 9016,11394 12016,11397 12021,11400 12021,11405 12024,11405 8024,11403 8029,11403 8032,11401 8033,11406 8032,11402 8027,11406 8027,11410 8029,11408 8030,11408 8035,11413 8035,11418 8038,11423 8038,11428 8036,11428 8037,11433 8033,11435 8032,6435 8035,6439 8036,6440 8034,6441 8039,6442 8043,6446 8045,6451 12045,6454 12050,6454 12049,6455 12054,6457 12057,6458 12060,6461 13060,6466 13060,6467 13065,6467 13070,6465 13073,6465 13073,6466 13077,6463 16077,6465 16081,6468 16077,6471 16077,6475 16078,6475 16080,6470 16082,6465 16084,6465 16088,6470 16091,6471 16091,6469 16089,6473 16091,6477 16091,6477 16093,6480 16098,6476 16099,6478 16099,6481 16100,6486 16105,6486 16110,6488 16105,6485 16107,6487 16108,6484 16104,6485 16101,6488 16101,6489 16103,6493 16105,6493 16108,6490 16110,6487 16113,6492 16116,6495 16118,6499 16123,6497 16124,6496 16127,6498 16132,6497 16134,6499 16138,6503 16143,6502 16138,6500 16140,6502 16144,6502 16146,6503 16150,6498 16151,6500 16154,6495 16154,6494 16154,6499 16156,7499 16158,7504 16161,7507 16166,7503 16163,7505 16163,7508 16163,7511 16165,7514 16162,7517 16165,7519 16166,7524 16165,7527 16168,7529 16172,7534 16172,7534 16177,7539 16179,7537 16179,7538 16184,7538 16185,7538 16189,7540 16191,7540 16193,7541 16193,7545 16197,7550 16199,7554 16204,7558 16208,7559 16211,7560 16214,7564 16216,7563 16215,7558 16219,7558 16216,7555 16221,7559 16223,7559 16224,7559 16226,7561 16231,7558 16235,7553 16240,7552 16236,7557 16234,7552 16236,7554 16238,7557 16239,7552 16243,7553 16243,7555 16243,7555 14243,7558 14248,7559 14243,7559 14239,7561 14241,7561 14243,7561 14248,7562 14250,7566 14254,7570 14254,7575 14256,7575 14259,7576 14259,7579 14259,7583 14257,7583 14257,7583 14253,7584 14249,7579 14247,7576 14245,7579 14250,7577 14253,7582 14256,7582 14257,7578 14253,7575 14252,7577 14255,7578 14255,7578 14256,7581 14257,7584 14252,7588 14252,7592 14249,7592 18249,7588 18253,7590 18255,7592 18259,7596 18254,7601 18255,7601 17255,7605 17256,7610 17258,7613 17261,7617 17262,7619 17266,7617 17267,7621 17268,7623 17272,7626 17272,7626 17277,7625 17282,7620 17281,7617 17284,7618 17287,7617 17283,7616 17281,7621 17279,7624 17281,7624 17282,7624 17279,7628 17279,7628 17280,7633 17284,7637 17280,7638 17280,7638 17281,7641 17282,7641 17282,7638 17283,7638 17284,7643 17280,7647 17281,7652 17285,7656 17285,7658 17288,7660 17290,7661 17292,7664 17297,7666 17302,7663 17304,7664 17300,7659 17303,7661 17303,7657 17307,7659 17307,8659 17310,8661 17313,8664 17314,8665 17313,8665 17309,8669 17313,8671 17316,8670 17320,8668 17320,3668 17323,3665 17324,3661 17329,3661 17331,1661 17332,1661 17333,1663 17338,1668 17333,1663 17333,1667 17331,1668 17331,1664 17334,1666 17337,1665 17337,6499 16138,6503 18138,10503 18142,10503 18142,10505 21142,10502 21144,10502 21142,10504 21141,10504 21139,10508 21140,10512 21141,10512 21143,10515 21144,10517 21147,10517 21143,10519 21143,10519 21146,10519 21142,10519 21142,10522 21141,10523 21141,10523 21145,10523 21149,10527 21153,10531 21154,10534 21158,10531 21158,10527 21160,10532 21165,10534 21165,10531 21165,10533 21162,10529 21163,10532 21160,10534 21163,10535 21161,10540 25161,10538 25164,10538 25166,10540 25171,10543 25171,10547 25175,10547 25175,10550 25178,10552 25182,10556 25177,10558 25181,10558 25183,10563 25187,10564 25183,10560 25188,10565 25188,10569 25191,10573 25195,10575 25199,7581 14257,7585 14257,7586 14257,7588 14254,7590 14255,7593 14256,7590 14260,7595 14263,7595 14259,7597 14256,7598 14261,7598 14258,7599 14261,7600 14261,7602 14258,7602 14258,7598 14259,7598 14264,7600 14267,7601 17267,7597 17268,7602 17273,7605 17276,7605 17276,7603 17279,7604 17279,7608 17278,7613 17282,7615 17285,7617 17288,2617 17288,2617 17289,2620 17289,2620 17285,-1380 17288,-1382 17287,-1384 17292,-1384 17294,-1380 17295,-1380 17297,-1380 17299,-1375 17303,-1372 17303,-1373 17298,-1368 13298,-1365 13301,-1366 13297,-1371 13295,-1371 13298,-1371 13298,-1375 13301,-1378 13302,-1378 13302,-1377 13302,-1374 13301,-1373 13306,-1370 13311,-1371 13307,-1366 13307,-1365 13309,11349 6992,11352 6992,11354 6997,11356 7002,11356 7007,11359 7010,11354 7005,9354 7009,9356 7011,9359 7016,9360 7014,9360 7015,9363 8015,9367 11015,9370 11012,9367 11012,9368 11016,9363 11017,9360 11018,9364 11021,9359 11016,11402 8027,11399 8029,11400 8033,11401 8034,11405 8029,11407 8027,11410 8029,12410 8033,12414 8035,12412 8040,12415 8040,12416 8045,12421 8042,12426 8037,12424 8042,12427 8042,12430 8044,12434 8046,12430 8048,12434 8045,9434 8045,9439 8043,9442 8043,9442 8045,9442 8040,9442 8035,9438 8038,9440 8039,9445 8036,9446 8039,9441 8043,12441 8047,12440 8048,12444 8052,12445 8057,12450 8053,12452 8053,12448 8054,12443 8058,12441 8063,12444 8067,12449 8067,12448 8071,12451 8076,12454 8073,17454 8073,17457 8074,17459 8079,17463 8079,17461 8080,17464 4080,17467 4085,17463 4085,17463 4088,17462 4090,17464 4095,17468 4094,17464 4097,17464 4093,17466 4088,17469 4092,17470 4094,17472 4089,17470 4090,17473 4089,17478 4094,17474 4091,17477 4095,17482 4100,17487 4103,17492 4101,17492 4104,17493 4101,17495 4106,17497 4106,17502 4111,17505 4111,17504 4113,17505 4115,17509 4119,17504 4123,17505 4127,17503 4131,17503 4126,17504 4126,17506 4129,17501 4132,17502 4133,17499 4133,17503 5133,17503 5135,17498 5134,21498 5134,21498 5131,21498 5133,21497 5138,21501 5140,21502 5138,21502 5141,21505 5136,21501 5139,21501 5141,21505 5146,21510 5151,21510 5155,21512 5156,21508 5159,21508 5163,21512 5167,21517 5169,21521 5173,21519 5172,21517 5172,21515 5172,21515 5173,21516 5172,21515 5169,21516 5170,21516 5170,21516 5168,21520 5172,21523 5172,21525 5174,21522 5176,21523 5180,21527 5176,21527 5177,21527 5178,21531 5183,21533 5181,21538 5176,21539 5179,21544 9179,21544 9184,21547 9186,21548 9184,21553 9188,21553 9193,21554 9195,21556 9200,21556 9201,21555 9201,21556 9205,21561 9205,21556 9202,21561 9203,22561 9204,22566 9204,22561 9208,22559 9210,22564 9207,22560 9205,22560 9208,22564 9210,22567 9214,22569 9218,22572 9222,22576 9218,23576 9222,24576 9220,24574 9224,24569 9228,24569 9228,6481 16100,6483 16101,6486 16104,6485 16108,8485 16110,8486 16115,8482 16110,8483 16115,8485 16110,8486 16106,8487 16103,8490 16106,8486 16107,8487 16104,8487 16104,8492 16108,8493 17108,8488 17108,8490 17110,8494 17114,8495 17113,8495 17117,8498 17117,8503 17122,8498 17124,8498 17128,8494 17129,8496 17134,8496 17134,8497 17135,8498 17135,8501 17135,8502 17132,8506 17132,8501 17130,8505 17131,21515 5169,21518 5164,21523 5160,21528 5162,21530 8162,21532 8164,21536 8165,21536 8168,21540 8169,21543 8165,25543 8169,25545 8173,25549 8169,29549 8174,29546 8177,29547 8172,29552 8177,29552 8180,29557 8180,29558 8175,34558 8180,34558 8176,34555 8179,34556 8181,7584 14249,7586 14250,7588 14252,7591 14256,7587 14257,7590 14257,7592 17257,7597 17261,7601 17265,7605 17268,7606 17273,7610 17268,7612 17270,7612 17271,7615 17266,7617 17266,7622 17270,7627 17272,7627 19272,7631 19277,7636 19279,7636 19280,7636 19285,7637 19287,7639 19290,7644 19295,7647 19291,7649 19296,7653 19296,7653 19291,7656 19292,7657 19292,7653 19292,7653 19297,7652 19297,7648 19299,7647 19303,7647 19304,7649 19307,7654 19309,7651 21309,7653 21309,7657 21313,7659 21309,7662 21310,7666 21314,7663 21314,7663 21317,7658 21317,7661 21321,7666 21323,7667 21328,7662 21333,7663 21328,7667 21332,7669 21334,7671 21330,7674 21326,7675 21331,7679 21336,7681 21338,7681 21342,7681 21342,7677 21345,7682 21346,3682 21348,3680 21350,3681 21351,3680 21349,3681 21349,3686 21350,8686 21355,8682 21354,8685 21350,8681 21345,8684 21350,8683 21353,8681 21356,8681 21358,8684 21361,8684 21364,8684 21367,8685 21363,8685 21365,8685 21362,8688 21358,8690 21359,8687 21364,8687 21364,8689 21361,8691 21356,8696 21353,8696 21352,8699 21352,8699 21357,8703 21358,8706 21353,8708 21358,17503 4126,17505 4129,20505 4133,20510 4133,20515 4128,21515 4129,21516 9129,21519 9131,21524 9134,21522 9135,21522 9138,21518 9137,21516 9138,21516 9138,21515 12138,21516 12142,21518 12146,21513 12144,21517 12149,21521 12144,21521 12148,21523 12151,21527 12148,21527 12143,21528 12148,21528 12145,21533 12149,21534 12152,21537 12155,21532 7155,21536 7153,21540 7157,21536 7154,21540 7154,21539 7157,21539 7160,21542 7160,21547 7164,21551 7168,21554 9168,21556 9168,21556 9169,21559 9166,21561 9169,21565 9171,21568 9176,21565 9181,21567 9180,23567 9178,23570 9181,23575 9181,23571 9181,20571 9176,20574 9179,20569 9182,20569 9184,20570 9189,20565 9191,20562 9195,20559 9196,20559 9201,20563 9197,20564 9193,20565 9197,20565 9200,20565 9200,20563 9201,20559 9205,20564 13205,20560 13207,20560 13212,20555 13213,20558 13217,20554 13217,20558 13219,20559 13222,20561 13223,20561 13226,20561 13231,20562 13232,20567 13235,20564 13239,20560 13239,20560 13236,20560 13236,20560 13237,20564 13241,24564 13241,28564 13242,28564 13240,28561 13237,28561 13240,28562 13243,28563 13243,28560 13248,28559 13248,28559 9248,28562 9245,28564 9241,28567 9245,28568 9240,28568 9245,28571 9247,28571 9248,28574 9253,28572 9256,28576 9257,28577 9257,28574 9257,10564 25183,10566 25188,10567 25190,10568 25186,10569 25187,10570 25188,10573 25185,10568 25185,10570 25187,10573 25191,10573 25193,10578 25193,10578 25198,10581 25202,10582 25206,10578 25206,10579 25211,10580 25206,10582 25208,12426 8037,12427 8042,12432 8047,12437 8047,12435 8051,12435 9051,12432 9054,12433 9056,12435 9061,12438 9062,12435 9062,12438 9067,12434 9071,12431 9075,12436 11075,12436 11075,12441 11080,12445 11085,12449 11089,12445 11091,12442 11091,12442 11093,12442 11093,12443 11098,12439 11098,12440 11099,7440 11104,7442 11107,7446 11110,7446 11114,7451 6114,7452 6110,11452 6105,11452 6104,11454 6103,11459 6106,11462 6107,13462 6107,13458 6104,12458 9104,17458 9109,17458 9110,17460 9113,17465 12113,17468 12112,17468 12114,17466 12111,17470 12116,17469 12119,17472 12123,17470 12118,17474 12118,17476 12120,13476 12121,13480 17121,13480 17125,13484 17123,13489 17122,13489 17125,13487 17127,13487 17132,13486 17131,13491 17136,13491 17139,13495 17144,13496 17147,13496 21147,13498 21149,13498 21154,16498 21159,16503 21162,16504 26162,16509 26160,16509 26163,16509 26162,16514 26159,16518 26163,16522 26158,16518 30158,16516 30161,16516 30164,16517 30169,16520 30167,16525 30168,16528 30170,17528 30170,17532 30175,17533 30177,17533 30182,17536 30186,17537 30189,17540 30193,20540 30193,20541 30196,20541 30197,20542 30196,20544 30195,20548 30200,20553 30199,20557 30201,20561 30206,20565 30210,20566 30209,20568 30214,20568 30217,20563 30217,20563 30218,20565 30222,20567 30222,20572 30225,20567 29225,20570 29225,20570 29230,20573 29231,20571 29230,20569 29232,20570 29236,17504 4123,17505 4127,17508 5127,17505 5131,17505 5135,17509 5140,17508 5142,17510 5139,17515 5141,17517 5144,17522 5144,17524 5146,17529 5147,17529 5152,17533 8152,17533 8150,17537 8153,17532 8158,17533 11158,17536 11163,17540 16163,17540 16165,17542 16168,17542 16171,17542 16171,17547 16167,17548 16170,17550 16170,17545 16175,17549 16178,17549 16179,17549 16179,20549 16181,20551 16186,20549 15186,20550 15186,20547 15188,20550 15184,20546 15186,20545 15191,20548 15190,20552 15193,20557 15195,20552 15196,20557 15193,20562 15196,20562 15199,20567 15202,20563 15207,20564 15207,20564 15209,20568 15209,20571 13209,20573 13209,20576 13211,20577 13216,20574 14216,20570 14215,20568 17215,20568 17216,20570 17218,20575 17218,20580 16218,20583 16215,20586 16217,20581 16220,20582 16224,20585 16224,20588 16229,20590 16231,20592 16235,20595 16232,20595 16234,20598 16238,20603 16240,20607 16236,20608 16236,20608 16239,20611 21239,20613 21244,20614 21246,20612 21244,20612 21242,20615 21239,20616 21241,20621 21242,17621 21244,17626 21245,17629 21244,15629 21239,15632 21240,15636 21245,15637 21247,15639 21244,15637 21245,15642 21245,15647 21244,15646 21248,15650 21252,15653 21247,15651 21250,15649 21250,15645 21250,19645 21253,19648 21256,19647 21253,19643 21249,19646 21249,19648 21245,19650 21242,19647 21240,19652 21240,14652 21240,14657 21243,14659 21244,14664 21241,14659 21239,14654 21240,14651 21244,14647 21246,14647 21249,14650 21247,14651 21252,14651 21255,14649 21258,14652 21262,14655 21262,14652 21260,14653 21255,14653 21255,14653 21257,14656 21258,14651 21258,14653 21261,14654 21263,14654 21264,14659 21267,14660 21263,14664 21264,14666 26264,14661 26266,14661 26263,14661 26264,14666 26265,14667 26265,14665 26263,14669 26263,14667 26263,14669 26261,14667 26263,14671 26261,14671 26263,12671 26264,12672 26266,12677 26269,17677 26269,17673 26271,17676 26271,17676 26273,17681 26278,17685 26278,21536 8168,21539 8171,21543 8169,21538 8170,21541 8170,21544 8171,21548 8166,21548 8168,21552 8171,21555 8173,21558 8168,21557 8168,21562 8163,21559 8168,21559 8172,21564 8177,21569 8175,21568 8175,21573 8178,21575 8180,21570 8183,21570 8186,21566 8184,21569 8185,21569 8187,25569 8190,25571 8193,25575 8193,25576 8194,25576 13194,25580 13194,25584 13196,25589 13197,25592 13200,25595 13205,25592 17205,25593 17209,25594 17213,27594 17209,27592 17213,27590 17212,27592 17217,27592 17220,27596 17224,27599 17227,27603 17232,27603 17227,27605 17229,28605 17230,28607 17234,28609 17230,28610 17231,28610 17236,28611 17238,28613 17241,28614 17241,28615 17243,28616 18243,28618 18246,28618 18246,28622 18246,28627 18246,28632 18245,27632 18245,27634 18245,27633 18244,27638 18245,-1366 13297,-1365 13299,-1362 13303,-1362 13300,-1361 13304,-1366 13308,-1368 13304,-1368 13306,-1367 13309,-1363 13313,-1358 13313,-1353 13318,-1351 13319,-1347 13323,-1343 13318,-1343 13322,-1340 13317,-1337 13318,-1337 13322,-1337 13324,-1335 13327,-1339 13328,-339 13328,-334 13333,-331 13336,-327 13338,-326 13340,-326 13342,-321 13340,-318 13343,-317 11343,-312 11345,-307 11349,-311 11353,-314 11350,-311 11353,-313 11349,-308 11352,-313 11347,-308 11351,-306 9351,-306 9351,-306 9351,-301 9355,-301 9356,-299 9359,-297 9355,-297 9354,-296 9359,-294 9364,-290 9360,-294 9355,-289 9357,-291 9353,-286 9355,-4286 9351,-4283 9347,-4281 9344,-4281 9344,-4280 9342,-4280 9342,-4280 9339,-4277 9335,-4274 9333,-4274 9335,-4269 9336,-4265 9339,-4260 9340,-4256 9339,-4251 9336,-4251 9339,-4249 9344,-4254 9344,-4255 9348,-4253 7348,-4251 7352,-4247 7354,-4243 7357,-4242 7357,-4240 7362,-4240 7367,-4235 7371,-3235 7371,-3230 7376,-3225 7375,-3221 7372,-3223 7369,-3223 7371,-3223 7369,-3225 7364,-3220 7364,-3218 11364,-3218 11368,-3215 11369,-3210 11372,-3210 11369,-3208 11373,-3207 11377,-3207 11381,-3209 11384,-3209 11383,-1209 11379,-1211 11383,-1209 11383,-1205 11379,-1200 11384,-1197 11379,-1195 11375,-1197 11376,-1192 11377,-1192 11379,-1192 11384,-1188 11382,-1186 11382,-1181 11384,-1180 11388,-1176 11389,-1171 11388,-1171 11393,-1169 11393,-1164 11398,-1162 11393,-1158 11392,-1155 11395,-1155 11397,-155 16397,-156 16401,-156 16406,-158 16409,-158 16412,-158 16414,-160 16415,-158 20415,2842 20411,2847 20413,2848 20417,2848 20417,2848 20412,2850 20407,2850 20403,2846 20408,2847 20406,2849 20406,2854 20402,2858 20403,2863 23403,2858 23402,2855 23405,2858 23400,2857 23400,2852 26400,2849 26404,2850 26406,2855 26410,2859 26415,2863 26411,2866 26411,2866 26411,2866 26412,2868 26415,2868 26419,2868 26423,2873 26424,2876 26425,14656 21258,14661 21260,14664 21262,14664 22262,14662 22267,14662 22268,14662 22268,14658 22273,14660 22278,14658 22277,14659 22278,14660 22283,14661 22281,14661 22285,14661 22288,14664 22290,14659 22295,14662 22298,14663 22301,14667 22301,14668 22301,14673 22303,14678 22306,14681 22302,14686 22299,14686 22301,14683 22304,14686 22305,14687 22301,14689 25301,14684 25301,14684 25299,14685 25300,14685 25301,14685 24301,14688 24301,14693 24303,14693 24298,14693 24298,14688 24299,14689 24297,14690 24299,14690 24302,14690 24302,14686 24303,14686 24306,14688 24302,8492 16108,8494 16113,8498 16116,8495 16116,8496 16116,8499 16116,8504 20116,8508 20119,8508 20119,8507 20119,8509 20123,8509 20127,8512 20128,8514 20130,8519 20135,8522 20136,8522 20136,8524 20138,8524 20141,8528 20142,8526 20145,8530 20141,8530 20145,8532 20149,8531 20151,8536 20155,8535 20154,8539 20154,8539 20149,8539 20149,8543 20146,8540 25146,8538 23146,8540 23149,8540 23149,8545 23151,8546 23152,8551 23152,8555 23152,8559 23153,8561 23153,10561 18153,10561 18153,12561 18158,12564 18159,12566 18163,12567 18165,12564 18165,12568 20165,12570 20170,12575 20173,12579 20177,12576 20177,12579 20176,12584 20176,12583 20181,12585 20182,12583 20186,12582 20187,12585 20192,12582 20194,12584 20198,12586 20198,12581 20201,12582 20204,12581 20206,13581 20209,13586 20211,13586 20216,13589 20217,13589 20213,13586 20215,13588 20213,13592 20215,13596 20216,13596 20221,13600 20221,13598 20224,13595 20221,13598 20226,13602 20229,15602 20232,15606 20232,15611 20232,15610 20232,15613 20235,15617 20239,15612 20234,15612 20233,15615 20237,15617 20233,15619 20234,15619 20229,15623 25229,15624 25229,20624 25228,20628 25229,20631 25234,20630 25239,20634 25241,20632 25244,20636 25240,20634 25237,20639 25236,20634 25241,7590 14257,7592 14260,7592 14262,7592 14265,7595 14266,7600 14263,7600 14268,7604 14270,7609 14274,7611 14275,7615 14275,7620 14277,7620 14276,7625 14277,7625 14277,7628 14281,7628 14286,7630 14284,7630 14284,8543 20146,8542 20148,8546 20150,8550 20152,8550 20153,8550 20158,8545 20156,8545 20157,8550 20157,8550 20155,8550 20157,8553 20161,8557 20161,8557 20165,8560 20161,8563 20159,8568 20154,8570 20158,8573 20161,8573 20166,8577 20168,8580 20171,8584 20173,8585 20175,8580 20180,8582 20183,8582 20188,8582 20188,8585 20193,8588 20198,8589 20199,8591 20197,8594 20198,8596 20196,8592 23196,8597 25196,8601 25199,8601 25203,8604 25202,8604 25202,8599 25205,8601 25210,8601 25206,8603 25206,8606 25206,8605 25211,8609 25211,8613 25208,8614 25205,8619 25208,8619 25210,8621 25214,8619 29214,8615 29218,8616 29219,8617 29217,8622 29222,11622 29225,11624 29229,11623 29230,9623 29225,9621 29224,9625 29227,9628 29227,9624 29232,9626 29237,9631 29241,9634 29245,9635 29248,9638 29253,9643 29258,9646 29258,9647 29255,9648 29253,9650 29258,9648 29262,9647 29262,9642 29267,9646 29267,14646 29269,14650 29274,14655 29279,14654 29277,14655 29275,14653 29276,14655 29273,14656 29269,14653 29272,14656 29272,14656 29274,14660 29276,14663 29276,14660 29278,14659 29281,14659 29276,14661 29272,14656 29273,14657 29274,14652 29270,14654 29274,14657 29270,14659 29272,14655 29275,14657 29270,14659 32270,14660 32270,14662 32273,14665 32277,12665 32279,12670 32279,12670 32277,12670 32274,12672 32277,12677 32282,12682 32285,12678 32289,12674 32291,12677 32287,12679 32287,12683 32292,12685 32292,12680 32289,12682 32294,12683 32299,12687 32298,12692 32300,12695 32305,12699 32310,12703 32311,12704 32312,21515 5172,21516 5175,21518 5175,21513 5177,21516 5182,21520 5186,21525 5185,21529 5185,21528 5186,21530 5181,21533 5178,21537 5183,21537 5183,26537 5183,26534 5183,26539 5183,26542 5178,26542 5176,26544 5176,26546 5177,26548 5175,26549 5178,26548 5181,26548 5184,26553 10184,26557 10179,26559 10175,26563 10171,26563 10173,26564 10170,26568 10169,26572 10171,26577 10171,26581 10169,26577 10173,26573 10169,26575 10171,26578 12171,26576 12175,26576 12180,26581 12183,26577 12183,26580 12184,26582 12181,26582 12182,26583 12182,26588 12186,26590 12191,26593 12193,26593 12198,26598 12198,26602 12193,26602 12193,26604 12195,26607 12195,26611 12196,26615 12196,26615 12200,21534 12152,21534 12152,21537 12147,21540 12147,21545 12150,21545 12145,21548 12150,21549 12152,21544 12152,21544 12150,21547 12153,21552 12152,21553 12157,20553 12161,20553 12156,20556 12152,15556 12157,15559 12160,15557 12163,15561 12163,15564 12166,15565 12165,15561 12161,15559 12163,15559 12168,-4274 9335,-4274 9339,-4276 9341,-4276 9344,-4273 9341,-4271 9341,-4266 9342,-4266 9339,-4269 9335,-4265 9339,-4263 9342,-4259 9345,-4254 9345,-4250 9340,-4250 9335,-4245 9338,-4242 9341,-4240 9341,-3240 9346,-3242 9349,-3241 9351,-3239 9352,-3238 9355,-3237 9358,-3233 9356,-3232 9358,-3233 9358,-3228 9363,-3228 9364,-3223 9369,-3226 9369,-3224 9373,-3222 9378,-3217 9379,-3215 9384,-3215 9384,-3215 9389,-3215 9394,-3215 9390,-3210 9385,-210 9386,-207 9389,-208 9389,1328 -1007,1328 -1010,1329 -1013,1334 -1018,1339 -1013,1344 -1013,1346 -1013,1350 -1015,1351 -2015,1353 -2016,1353 -2011,1350 -2016,1350 -2013,1354 -2010,1356 -2005,1359 -2007,1364 -2005,1363 -2005,1365 -2000,1362 -1999,1365 -1998,1366 -1998,1362 -1994,1364 -1989,1365 -1988,3668 17323,3665 17327,3663 17332,3666 17337,3667 17341,11433 8033,11434 8035,11434 8031,11437 8031,11437 8032,11441 8033,11439 8033,11442 8036,11445 8037,11448 8038,11452 8043,11454 8047,11456 8047,11459 8044,11454 8049,11457 8051,11460 8052,11463 8055,11458 8057,1346 -2990,1346 -2986,1350 -2982,1347 -2986,1352 -2983,1352 -5983,1355 -5979,1358 -5974,1354 -5970,1356 -5965,1360 -5964,1362 -5960,1364 -5960,1364 -5960,1369 -5960,1364 -5963,1369 -5960,1374 -5957,1378 -5952,1380 -5951,1384 -5951,1380 -5948,1380 -5944,1384 -5942,1387 -5945,5387 -5949,5391 -5950,5395 -5950,5395 -5951,5395 -5949,5400 -5954,5404 -5953,5402 -5958,7402 -5958,7403 -5963,7404 -5960,7404 -5959,11363 6016,11359 6018,11364 6023,11365 6024,11365 6023,11369 6025,11373 6020,11378 6020,11377 6024,11379 6029,11383 6033,11384 6034,11388 6037,11389 6041,11394 6043,11396 6048,11401 6048,11402 6050,11406 6052,11404 6054,11409 6058,11413 6059,11415 6060,11411 6065,11416 6068,11420 6073,11415 6076,11416 6078,11419 6083,11423 6085,11428 6086,11430 6086,11432 11086,11437 11091,11432 11088,11429 11086,11432 11086,11427 11090,11427 11095,11429 11092,11427 11092,11431 11087,11433 11088,11436 11090,11436 11091,11436 11096,11439 11099,11440 11099,11440 11095,11445 11097,15445 11102,15445 11102,15441 11099,15445 11100,15445 11102,15443 11106,15445 11110,15450 11107,15453 11110,15457 11110,15457 11115,15459 11119,15460 11117,15465 11117,15465 11120,15464 11123,15463 11124,15460 11124,15460 16124,15458 16127,15462 16122,15466 16126,15462 16131,15465 16133,15463 16135,15462 16136,15462 16140,15466 16142,15468 16147,15468 16147,15471 16149,15471 16147,15475 12147,15477 12150,15480 12147,15484 12144,15487 12145,15490 12147,15492 12149,15494 12150,15496 12153,15497 12155,15499 12150,15499 12147,15500 12143,15504 12146,15499 12150,15500 12150,15500 12152,15505 12153,15506 12157,15506 12157,15508 12158,15512 12159,19512 12162,19513 12159,19511 12163,19512 12162,19517 12167,19520 12167,19522 12168,19525 12171,19525 12172,19525 12175,19526 12172,19526 12172,19526 17172,19527 17175,19528 17176,19529 17179,19529 17178,19533 17181,19532 17183,19532 17179,19537 17174,19539 19174,19538 19171,19542 19172,19547 15172,7641 17282,7646 17284,7649 17284,7652 17284,7654 17285,7650 17289,7647 17291,7645 17296,7649 17297,7650 17294,7653 17294,7653 17298,7656 17303,7658 17308,7662 17313,7666 17308,7664 17313,7669 17313,7669 17313,7669 17316,7667 17313,7667 18313,7663 18314,7661 18316,7662 18317,7657 18318,7662 18315,7658 18316,7661 18318,7661 18322,7664 18317,7667 18315,7671 18315,7675 18315,7674 18315,7670 18316,11670 18316,16670 18321,16673 18321,16678 18322,16682 18327,16683 18332,16686 18334,16690 18334,16688 18336,16685 23336,16688 23337,14688 23338,14692 23337,14694 23338,14697 23339,14697 23342,14698 23342,14698 23343,14698 23348,14693 23350,14694 23347,14695 23347,14696 26347,14692 23347,14692 23347,14693 23350,14693 23351,14698 23355,18698 23352,18698 23356,18702 23360,18701 23362,18699 23363,18701 23363,18702 23366,18699 23366,18694 23370,18699 23370,18702 23374,18707 23378,18706 23380,18706 23381,22706 23384,22706 23385,22705 23389,22706 23384,22706 23384,22706 23384,22710 23380,22713 23381,22718 23386,22716 23390,22712 23390,22708 23390,22705 23392,22704 23397,25704 23402,25704 23402,25706 23404,25710 23404,22710 18404,22707 18402,22704 18403,22704 18406,22704 18411,22704 18411,22704 18410,22709 18410,22709 18407,22704 18405,22703 18405,22707 18405,20707 18409,20709 18412,20710 18411,20712 18414,20712 18414,20712 18412,20712 18416,20714 18412,20717 18417,20720 18419,20715 18421,20718 18422,20723 18425,20723 18430,20723 18434,20725 18435,20724 18437,20724 18433,20726 18433,20731 18437,20732 18437,20730 18438,20735 18440,20739 18438,20734 18438,20739 18437,20739 18437,20744 18439,20749 18438,20750 18434,20753 18436,20754 18431,20754 18432,20758 18433,20762 18438,20764 18443,20766 18447,20766 18450,20767 18451,20768 18451,20769 18448,20770 18452,20774 18456,20777 18458,20781 18462,20782 18463,20785 18468,17785 21468,17784 21473,17782 21477,17787 21481,17783 21482,17785 26482,17788 26482,17788 26482,17791 26479,17794 26483,17790 26483,22790 26483,22790 26479,20583 16215,20585 16220,20589 16225,20590 20225,20592 20222,23592 20227,22592 20229,22597 20233,22600 20233,22603 20237,22604 20240,22599 20241,22595 18241,22595 18242,22598 18243,22602 18247,22605 18252,22601 18256,22598 18255,22600 18257,22604 18258,22609 18261,22608 18261,22606 18264,22608 18261,22605 18265,24605 18262,24608 18263,24611 18267,24608 18267,24613 18271,24615 18272,24610 18273,24614 18272,24619 18276,24621 18281,24625 18276,24622 18280,24622 18282,24621 18279,24622 18277,24627 18279,24631 18284,24634 18289,24634 18292,24634 18294,24636 18299,24639 18294,24644 18295,24647 18298,24647 18301,24643 18303,24643 18306,24639 18311,24636 18315,24641 18317,24645 18317,24648 18319,24649 18323,24649 18328,24652 18330,24652 18329,24652 18327,24655 18322,24656 18319,24658 18319,24661 18320,24664 18316,24660 18320,24657 18318,24657 18320,24659 18325,24660 18327,24661 18323,24656 18327,24652 18323,24654 23323,24658 28323,24660 28318,24665 28319,24666 28323,24668 28325,24668 28328,24672 28325,24667 28328,24668 28325,24670 28326,24665 28330,24668 28334,24672 28336,24672 28336,24668 28339,24672 28340,24672 28338,24674 28341,24675 28346,24675 28351,24677 28356,24679 28357,24681 28356,24677 28360,24680 28355,24684 28354,24688 28356,24688 28351,24690 28356,24686 28361,24691 28364,24692 28364,24692 28365,24692 31365,24693 31370,21693 31370,21692 35370,21688 35372,21692 35377,21695 35377,21697 35377,21698 35379,21698 35374,21701 35375,21701 35379,21703 35380,21708 35383,21706 36383,21709 36383,16709 36383,16710 36386,16715 36382,16711 36386,16706 36388,16706 39388,16706 39383,16706 39379,16711 39379,16711 39376,16714 39381,16716 39386,16717 39389,16717 39391,16720 39391,16723 39387,17723 39392,17726 43392,17722 43396,19722 43399,19724 43394,19727 43391,19725 43395,19723 43398,19726 46398,19730 46400,19730 46403,19730 46405,19734 46407,19734 46410,19733 46407,19728 46412,19726 46416,19726 50416,19723 50417,19723 50416,19718 50420,19719 50424,19718 50429,19713 50433,19715 50437,19718 50442,19719 50442,19718 50444,19719 50439,19721 50443,18721 50444,18721 50446,18721 50450,18726 50451,18727 50453,18722 50451,18727 50456,18729 50455,18731 50458,18726 50458,18728 50458,18730 50463,18730 50460,18729 50456,18727 50460,18730 50462,18734 50457,18739 50455,18744 50457,18744 50461,18748 50461,18748 50466,18745 50468,18749 50463,18750 50468,18754 50472,18754 50472,18759 50472,18760 50468,18763 50473,18760 50477,18762 50477,18766 50481,18769 50483,18769 50481,18772 50482,18776 50482,18779 50486,18779 50489,18781 50489,18783 50494,18786 50496,18786 50495,18786 50498,18784 50499,18784 50499,21784 50504,21788 50502,21785 49502,21790 49501,21790 49498,21795 49494,21800 49494,21801 49495,21801 49500,21797 49505,21799 46505,21802 46508,21798 46513,21799 46516,21802 46516,21805 46519,21800 46524,21805 46527,21804 46528,21801 47528,21801 47531,21804 47533,21804 47529,21804 47534,21809 47538,21808 47538,21812 47540,21812 47535,21813 47532,21810 52532,21812 52535,21817 52536,21820 52536,21824 52541,21828 52545,19828 52545,19829 52547,19829 52551,19833 52555,19831 52552,19826 52557,17826 52562,17827 52567,17830 52568,17830 52572,17830 52575,17830 52575,17830 52574,17831 52578,17827 52582,17827 55582,17829 55583,17834 55583,17839 56583,17843 56579,17846 56580,17850 56584,17848 56588,17853 56592,17851 56596,17856 56596,17856 56600,17851 56601,17856 56601,17856 56604,20856 56604,20861 56601,20865 56596,20865 56597,20866 56597,20869 56602,20871 56603,20874 56607,20871 56605,20872 56610,20874 56613,20874 56612,20876 56617,20876 56622,20876 56626,20876 56621,20879 56623,20880 56627,20883 56624,20880 56629,20880 56629,20881 56630,20884 56630,20884 56635,20881 56636,20879 56637,20876 56632,20879 56629,20881 56633,20878 56634,20879 56634,20879 56637,20879 56642,20884 56638,20879 56639,20884 56634,20885 56631,20886 56633,20889 56632,20894 56627,20894 56631,20894 56631,20898 56632,20903 56632,20908 56630,20907 56633,20907 56636,20903 56641,20904 56641,20904 56637,20900 56639,20905 56642,20910 56643,20905 56648,20910 56653,20915 56654,20910 56659,20910 56663,20910 56664,20912 56664,20912 56666,20917 56670,20922 56670,20918 56673,20920 56675,20920 56677,20920 56677,20921 56681,20926 56677,20931 56677,20934 56680,20934 56684,20936 56689,20938 56689,20938 56690,20940 56695,20935 56696,20939 56697,20939 56699,20940 56696,20941 56694,20940 56698,20945 56700,20947 56702,20947 56707,20950 56712,20954 56713,20950 56710,20952 56706,20955 56704,20957 56708,20953 56709,20951 56714,20953 56716,20957 56720,20957 56722,20959 56725,20958 56727,20959 56728,20962 56731,20963 56736,20965 56741,20965 56740,20967 56742,20969 56737,20969 56742,20974 56744,20979 56744,20978 56745,20974 56748,20970 57748,20972 57749,20974 57751,20971 57754,20972 57752,20977 57755,20981 57758,20981 57763,20981 57765,20984 57765,20982 57767,20982 57763,20987 55763,20989 55767,20991 55770,20987 55771,20988 55774,20988 55777,20991 55775,21991 55778,21996 55778,22000 55783,22001 55783,22005 55783,22010 55785,17010 55781,17011 55783,20011 55778,20015 55783,20018 55786,20015 55791,20015 55795,20019 55792,20019 55792,20021 55792,20022 55788,20023 55783,20028 55786,25028 55790,26028 55795,26029 55790,26030 57790,26033 57794,26032 57798,26036 57802,26039 57805,26042 57805,26046 57810,26050 57811,26054 57815,26054 57819,26050 57819,26055 57820,26060 57822,26063 57823,26066 57826,26068 57824,26073 57826,26077 57831,26082 57831,26078 57836,26082 57839,26084 57839,26086 57834,26082 57834,26083 57835,26082 57840,26083 57844,26086 57843,26083 57846,22083 57849,22084 57847,22089 57847,22094 57848,22094 57853,22094 57850,22095 59850,22095 59855,22098 59858,22099 63858,22099 63861,21099 63861,21104 63862,19104 63862,19108 63864,19109 63864,19112 63868,19113 63873,19117 63876,19121 63875,19116 63877,19115 63882,19117 63878,19122 63883,19125 63884,19129 63879,19133 63879,19135 63874,19139 63871,19136 63871,19136 63873,19140 63868,19140 63873,19144 63877,20144 63879,20144 63876,20146 63880,20148 63878,20149 63877,20149 63879,20150 63882,20155 63886,20155 64886,20159 64884,20160 64884,20161 64887,20160 64887,20164 64887,12677 32287,12677 32292,12679 32297,12678 32298,12682 32294,12687 32294,12682 32296,12682 32296,12683 32298,12683 32301,12682 32305,12685 32309,12686 32311,12686 32316,12691 32311,12692 32316,12692 32312,12697 32314,12700 32319,12705 32322,12706 32327,12704 32329,12705 32332,12702 32334,12707 32338,12703 28338,12704 28340,12700 28345,12702 28345,12702 28345,12701 28348,12704 28349,12704 28345,12709 28342,12709 28343,12714 28347,12718 28351,12723 28352,12727 28353,12730 28355,12728 28353,12733 25353,15733 25353,15736 25355,15740 25356,15745 25356,15747 25351,15752 25353,15752 25354,15754 25354,15754 25353,15759 25352,15763 25352,15764 25357,15759 25352,15761 27352,15760 27354,15760 27354,15760 27355,15762 27357,15762 27354,15759 27354,15759 27354,15763 27358,15767 32358,15764 32360,15769 32360,15767 32360,15765 37360,15770 37362,15772 37363,15774 37367,15779 37363,15780 37359,15779 37363,15782 37366,15780 37370,15775 37370,15778 37365,15781 37360,15785 37356,15785 39356,15789 39358,15789 39360,15794 39365,15794 39370,15797 39375,15797 39380,15799 39379,15804 39376,15805 39377,15807 39380,15808 39385,15809 39386,15807 39386,15809 39386,15810 39389,15815 39392,15820 39392,15819 39396,15820 39398,15820 39395,15825 39400,15823 39405,15824 39403,15829 39403,15834 39406,15836 39411,15831 39415,15832 39415,15833 39415,15838 39417,15839 39419,15839 39414,15842 39413,15846 39418,15843 39420,15842 39423,15839 39420,15840 39422,15839 39420,15842 39415,15846 39410,17846 39415,17845 39411,17847 39416,17849 39420,18849 39424,18847 41424,18852 41424,18849 41429,18849 41432,18848 43432,18852 43433,18855 43433,18859 43435,18855 47435,18858 47440,18861 47435,18866 47435,18866 47439,18869 47442,18871 47445,18873 47445,21873 47445,21876 47444,21873 47449,21878 47451,21883 47456,21880 47454,21880 47454,21880 47457,21883 47459,21887 47464,21890 47465,21893 47467,21894 47464,16894 47462,16899 47457,16898 47455,16893 47456,16897 47458,16896 47455,16898 47459,16900 47464,16903 47469,16908 47471,16903 47474,16901 47473,16906 47473,16901 47478,16904 47479,16906 47475,16906 47474,16907 47475,16906 47479,16901 47482,16901 47482,16905 47486,16908 47487,16911 47490,16915 47490,16917 47492,16921 47497,16926 47498,19525 12175,19525 12176,19521 12177,19522 12181,19525 14181,19521 14181,19519 14185,19519 14189,19524 14192,19527 14192,19529 14196,19534 14200,19535 14205,19538 14208,19540 14204,19545 14207,19545 14207,19547 14210,19550 15210,19554 15210,19555 15210,19555 15213,19560 15213,19562 15212,19564 15213,19569 15210,19570 15214,19573 15214,23573 15217,28573 17217,28574 17220,28574 17219,28574 17224,28576 17229,28577 17233,28577 17236,28579 17236,28580 17238,28584 17243,28588 17248,28587 17252,28587 17252,28582 17255,29582 17259,29577 17260,29578 17262,29583 17257,29585 17257,29586 17260,29586 17265,29590 17267,29593 17267,29594 17267,29599 21267,29603 21271,29603 21272,29605 21274,29607 21276,29612 26276,29613 26279,29616 26280,29621 26277,29621 26277,29623 26282,29626 26285,29631 26289,29628 26289,29632 26290,29637 26294,29642 26290,29646 26292,29648 26291,29649 26288,29653 26293,29655 26292,29655 26293,12702 28345,12703 28348,12698 27348,12699 27349,12698 27354,12700 27354,12700 27355,12703 27360,12703 27361,12700 27362,12704 27367,12701 27371,12706 27376,12710 27372,12710 27373,12710 27368,12715 27370,12713 27374,12716 27378,12716 27380,12714 27379,12719 27374,12718 27373,12722 27376,12724 27376,12729 27371,12733 27372,12733 27377,12735 27373,12735 27374,12737 27378,12739 27379,12742 27381,12739 27381,12739 27376,12743 27378,12743 27379,9743 27375,9744 32375,9745 32377,9746 32374,9746 32372,9750 37372,9752 37375,9754 37375,9751 37377,9755 37379,9759 37379,9763 37383,9766 37385,9767 37382,9768 37383,9765 40383,9770 40378,9770 40382,9775 40384,9777 40386,9782 40391,9778 40395,9773 40395,9778 40397,9779 40399,9781 40402,9781 40398,9781 40393,9780 40396,9782 40399,9785 40398,9786 40395,9789 40390,9793 40387,9798 40390,9803 40394,9805 40397,9800 40400,9795 40402,9800 40403,9802 40407,9807 40410,9806 40407,9807 40403,9812 40400,9814 40403,9819 40403,9819 40400,9822 40405,9824 40405,9822 40408,9827 40410,9831 40413,9831 40413,9826 40412,9827 40417,9832 40418,9832 40416,9833 41416,9833 41421,9834 41416,9838 41416,9838 41421,9840 41422,9844 41424,9839 41424,9843 41427,9845 41430,9849 41430,9849 41425,9852 41423,9855 41426,9858 41429,9860 41434,9862 41436,9866 41441,9868 41436,9869 41434,9871 41434,9875 41437,9877 41437,9881 41438,9883 41438,9879 41438,20903 56641,20898 56644,20903 56647,20901 56649,20903 56645,20905 56650,20909 53650,20905 53650,20910 53652,20907 53655,20912 53652,20916 53656,20917 53656,20912 53661,20912 53660,23912 53663,23912 53663,23909 53663,23912 53665,23913 53669,23911 53669,23915 53669,23912 53671,23916 53670,23917 53675,23922 53680,23927 53683,23930 53688,23935 53689,23935 53691,23935 53691,23931 53692,23931 53694,27931 53693,27933 53695,27937 53695,27942 53699,27947 53701,27949 53703,27949 53704,27949 53708,27952 55708,27953 55710,27949 55710,27953 55710,27958 55713,27959 55718,27960 55722,27962 55725,27965 55730,27965 55732,27968 55730,27969 55733,27972 55733,27975 55734,27975 55734,27979 55737,27981 55733,27982 55732,32982 55732,32979 55734,32978 55737,32978 55738,32974 55742,32977 55746,32981 55750,32985 55746,32983 55747,32987 55750,32992 55751,32995 55751,32998 55751,32998 55753,32998 55753,32993 55753,32995 55757,32999 55758,33002 55760,33002 55761,33005 55766,33005 55767,33000 55764,32997 55767,32997 55771,33001 55773,32998 55777,33001 55777,33005 55776,33004 55776,33009 55781,33014 55786,33014 55790,33015 55790,33016 55790,33015 55786,34015 55787,34019 55790,34019 55791,34021 55793,34017 55793,34019 55796,34016 55797,34020 55793,34020 55796,34023 55792,34023 54792,34025 54797,34028 54800,34029 54799,34029 54795,34034 54796,34036 54797,34041 54792,36041 54797,36045 54801,36048 54803,36051 54804,36053 54806,11439 8033,11441 8038,11441 8039,11441 8040,11445 8035,11441 8035,11442 8039,11438 8035,11438 8035,11443 8039,16443 8038,16444 8038,14444 8040,14448 12040,14451 12036,14455 12038,14455 12041,14456 12046,14459 12049,14457 12051,14458 12046,14458 12047,14459 12042,14464 12042,14465 12047,14470 12050,14471 12055,14471 12058,14468 12060,14473 10060,14477 7060,14477 7062,14474 7062,14474 7067,16474 7063,16471 7065,16474 7067,16471 7072,16471 7068,16476 7066,16481 7069,16482 7072,16487 7072,16487 7077,16488 7077,16493 7076,16493 7079,16497 7079,16500 7079,16502 7079,16502 7079,16505 7075,16504 7080,16501 7077,16497 7079,16501 7081,16497 7080,16496 7084,16500 7086,16495 7087,16498 7084,16501 7087,16496 7087,16496 7083,17496 7083,17500 7083,17505 7088,9860 41434,9864 41435,9864 41435,9865 42435,9860 42435,9862 42436,9863 42434,9863 42430,9862 40430,9863 40427,9863 40428,20608 16239,20605 16242,20610 16237,20614 16237,20615 16242,20611 16242,20612 16245,20609 16244,20604 16242,22604 16237,22608 16239,22607 16240,22610 16244,22610 16241,22615 16246,22616 16246,22614 16251,22616 16251,22617 16249,22619 16254,22623 16252,22618 16255,22618 16259,22620 16262,22615 16262,22618 16263,22622 16263,22626 16265,22629 16266,22628 16269,22633 16267,22636 16268,22636 16267,22641 16269,22646 16269,22645 16271,22646 16273,22650 16271,22655 16274,22655 16277,22658 16279,22660 16280,22658 16280,22661 20280,22663 20282,19663 20285,19658 20288,19658 20292,19661 20295,19666 20298,19670 20301,19671 20301,19675 20301,19677 20306,19675 20311,19674 20315,19678 20318,19677 20314,19680 20315,19682 20310,19684 20314,19683 20316,19687 20315,19688 20316,19688 20319,19693 20319,19698 20322,19702 20323,19698 20323,19702 21323,19707 22323,8508 20119,8509 20119,8510 20116,8515 20113,8518 20115,8519 20116,8516 20120,8520 20119,8520 20118,8525 20123,8527 20125,8527 20125,8528 20123,8530 20126,8533 20123,8535 20127,8532 20132,8534 20136,8538 20138,8542 20141,8537 20143,8537 20145,8542 20145,8547 21145,8548 24145,8552 24145,8557 24150,8560 24147,8562 24151,8566 24156,8569 24160,8574 24156,8579 24159,8584 24164,8587 24164,8585 24167,8588 24170,8591 24171,8589 24172,8590 24176,8595 24177,8593 24174,8596 24178,8600 24179,8603 24175,8602 24178,9602 24182,9605 24177,9609 24178,9610 24182,9608 24178,9603 24183,9606 24188,9608 24193,9609 24195,9614 24196,9616 24197,9618 24201,9618 24205,9613 24209,9612 24214,9608 24211,9603 24216,9607 24221,9611 24221,9615 24217,9617 24217,9618 24221,9623 24225,9623 24225,9626 24225,9630 24225,9630 24222,9626 24223,9626 22223,9627 22223,9626 22226,9629 22228,9632 22228,9636 22225,9638 22226,9639 22227,9634 22230,9634 22231,9639 22235,9639 22240,9641 22242,9642 22246,9647 22249,9652 22250,9655 22255,9651 22256,9652 22253,9652 22256,9652 22261,9655 22262,9657 22257,9659 22261,9659 22261,9657 22264,9657 22261,9656 22264,9661 22267,9662 22270,12662 22270,12665 22265,12669 22270,12669 22270,12673 22269,11356 7007,11361 7010,11361 7010,11357 7014,11356 7015,12356 7020,12357 7015,12361 7017,11361 7018,11364 7017,11359 7018,11355 7017,11354 7020,11357 7020,11361 7023,11364 12023,11368 12028,11368 12029,11371 12030,11372 12034,14372 12034,14372 12039,14372 12042,14376 12045,14381 12047,14379 12047,14381 12049,14384 12054,14385 12051,14388 12056,14384 12056,14384 12061,14381 12058,14386 12062,14386 12059,14391 12059,14396 12060,14397 12060,14398 12056,14403 12051,14408 12052,14410 12057,14409 12057,14414 12053,14414 12051,14415 12051,14420 12049,14423 12048,14427 12044,14427 12044,14425 10044,14421 10049,14424 11049,14426 11054,14427 11059,14429 11064,14433 11064,14434 11064,14437 11065,14441 11068,14444 11072,14445 11076,13445 12076,13445 12077,13445 12081,13444 14081,13446 14081,13446 14078,13449 14083,13447 14084,13450 14085,13452 14090,13453 14087,13456 14084,13457 14083,13461 14081,13463 14082,12463 14082,12463 14087,12463 14087,12464 14087,8464 14087,8465 14083,8465 14080,8467 14085,8472 14085,8473 14085,8476 14090,8474 14094,8475 14094,8480 14094,8481 14099,8476 14103,8476 14107,8480 14111,8483 14116,8488 14120,8488 14118,8488 14120,8483 14115,8481 14118,8485 17118,8485 17114,8488 17110,8488 17115,8484 21115,8484 21118,8486 21120,8487 21120,8482 21115,8487 21118,8490 21122,8494 21127,8497 21132,8497 21133,8500 23133,8503 23135,8507 23135,8508 23132,8511 23129,8512 23125,8517 23126,8522 23125,8527 23129,8522 23131,8527 23132,8530 23132,8531 23128,8533 23132,8533 23134,8533 23139,8533 23144,8536 23143,8537 23146,8533 23146,8533 23149,8537 23152,8533 23157,8530 23158,8532 23162,8536 23162,8536 23165,8536 23165,8540 23170,8544 23171,8548 23169,8547 23173,8551 23176,8552 23173,8548 23169,8553 23173,8553 23170,8548 23173,8549 23173,8546 22173,8547 22174,8551 22177,8550 22179,8552 22183,8553 22183,8553 22184,8557 22185,6557 22185,13598 20226,13601 20227,13604 20229,13608 20233,13610 20234,13605 20237,17605 20237,17610 20242,17605 20242,17602 20241,14602 20241,18602 20236,18606 20239,18606 20244,18608 20241,16608 20245,16611 20240,16615 20239,16610 20234,16611 20232,16613 20235,16608 20235,16608 20239,16613 20242,19734 46410,19734 46410,19738 46414,19737 46414,19735 46415,19737 46418,19741 46421,19744 46423,23912 53671,23908 53673,27908 53675,27913 54675,27917 58675,27921 58677,27925 58678,27930 58678,27926 58683,27930 58686,27931 58691,27931 58695,27934 58700,27936 58699,27936 58699,27941 58695,27942 58695,27947 58699,27952 58699,27954 58703,27957 58704,27962 58708,27958 58706,27959 58703,27962 58703,27967 58706,27967 58701,27965 58701,27962 58702,27966 58703,27971 58704,27976 58706,27980 58709,27980 58712,27975 58711,27971 58716,27971 58713,27968 58712,27968 58712,27971 58711,27968 58713,27968 58710,27969 58708,27972 58706,27976 58711,27978 58716,27979 58716,27983 58718,27978 58718,27981 58719,27981 58723,27986 58725,27986 58728,27986 58731,27991 58734,27996 58738,27993 58736,27995 58732,31995 58736,31990 58735,31993 58738,31990 58734,31995 58729,31996 58729,31999 58731,31994 58726,31996 58731,12463 14087,12465 14090,12465 14093,12463 14090,12463 14095,12461 14092,12464 14093,12459 14091,12459 14091,12459 14091,12459 14096,12461 14100,12458 14103,12457 14101,12452 14101,12452 14106,12453 14103,12453 17103,12455 17104,15455 17104,15460 17108,15463 17104,15458 17108,18458 17108,21458 17105,21461 17105,21464 17110,21467 17115,21464 17120,21464 17120,21468 17123,21470 17126,21465 21126,21461 21126,21464 21128,21464 21132,21468 21137,21471 21142,21475 21146,21471 21146,21476 21147,21473 21151,21475 25151,21475 25152,21477 25153,21481 29153,21479 29158,21484 29162,21488 29162,21490 29165,21487 29170,21488 29167,21489 29162,21493 29164,21493 29169,21498 29169,21499 29164,21495 29167,21498 29167,23498 29170,23498 29169,23503 29172,23505 29171,23510 29167,23514 29164,28514 29168,28514 29172,28514 29174,28512 29172,28513 29176,28518 29179,28518 29182,28521 29177,28521 29179,28519 29179,28517 29179,28515 29177,28519 29177,28519 29179,28524 29184,28527 29183,28527 29185,28523 29187,28523 29184,28525 29189,28522 29189,28518 29186,28523 29189,28519 29189,28521 29189,28526 29193,28529 29193,28529 29196,28534 29200,28538 32200,28537 30200,28539 30202,33539 30207,33539 30209,33534 30205,33535 30208,33536 30208,33538 30213,33538 30214,33542 30218,33545 30221,33548 30222,33551 30225,33552 30227,33554 30231,33555 30233,33560 30228,33563 30225,33564 30229,33565 34229,33565 34234,33570 34231,33572 34235,33572 34239,33573 34243,33578 34239,33579 34243,33574 34247,33573 34247,33576 34243,33573 37243,33573 37246,33568 37241,33568 37244,33573 37239,33578 33239,33574 33241,33574 33239,33578 38239,33583 38242,33587 38242,33590 38242,33594 38243,33596 38247,33599 38248,33599 38252,33595 38252,33598 38257,33603 38258,33604 37258,33609 37255,33604 37257,33607 37262,33607 37265,33609 37266,33614 37271,33614 37276,33616 37278,33616 38278,33616 38282,33621 38284,33621 38288,33621 38285,33618 38289,33616 38291,33616 38294,33611 38296,33608 38301,33610 38305,33610 38300,33612 38303,33617 38308,33621 38309,33625 38305,33630 38307,33634 42307,33636 42310,33638 42314,33634 42312,33631 42315,33631 42315,27931 58691,27936 58693,27937 58695,27940 58700,27943 58703,27943 58708,27946 58709,27950 58711,27950 58714,29950 58718,29951 58723,29947 58728,29947 58732,29950 58727,29950 58727,29955 58730,29960 58734,29964 58732,29961 58734,29963 58735,29968 58739,29968 58741,34968 58739,34971 58739,34972 58739,34973 58740,34968 58741,34970 58743,34974 58745,34977 58749,34979 58744,39979 58745,39979 58742,39978 58744,39982 58748,39983 58744,39983 58744,39979 58747,39979 58752,39983 58757,39982 58759,39985 58759,39986 58759,39983 60759,39986 60762,39990 60767,39994 60770,39994 60770,39997 60770,39997 60770,40000 60775,40002 60775,40003 60779,40007 60784,40008 60787,40011 60788,40015 60788,40016 60790,40016 60792,40021 60788,40025 60788,40030 60788,40026 60786,40027 60786,40030 60787,40032 60792,40037 60795,40032 60800,40032 60799,40035 64799,40035 64801,40036 64806,40041 64803,40037 64805,40038 64801,40040 64804,40036 64804,40040 64805,40045 64810,40048 64811,40051 64813,40051 64817,13491 17139,13486 18139,13489 18139,13494 20139,13492 20138,13494 20141,13499 20145,13499 20145,13499 20148,13503 20149,13500 20149,13505 20151,9367 11012,12367 11015,12369 11011,12364 11012,12364 11015,12359 11011,12354 11011,12354 11014,12359 11017,12356 11015,12361 11015,12361 12015,12365 12016,12369 8016,12374 8021,12373 8025,11373 8021,11368 8021,11373 8024,12700 27362,13700 27363,13705 27364,13710 27368,13705 27369,13707 27367,13707 27371,13709 27375,13712 27377,13714 27373,13712 27376,13714 27379,13713 27382,13718 27384,13713 27380,13713 27385,13711 27386,13715 27386,13719 27386,13719 27389,15719 27394,15724 27398,15729 27400,15734 27401,15734 27401,15729 27396,15732 27396,15735 27397,15734 27399,15733 27400,15729 27400,15734 27400,15729 27405,15734 27405,15739 27408,15739 27408,15741 27412,15743 27416,15743 27416,15740 27416,16740 31416,16743 31421,16738 31425,16742 31430,16742 31435,16743 31439,16743 31444,16741 31449,16746 31450,16747 31455,16742 31459,16738 31463,16742 31466,16742 31471,16742 31471,16742 31471,16744 31475,16749 36475,16749 36473,16753 36478,16757 36474,16761 36477,16759 36478,16761 36481,16760 36484,16761 36485,16760 36486,16765 36491,16766 36494,16771 36498,16769 36501,16771 37501,16774 37504,16769 37507,16769 37507,16772 37503,16772 37508,16774 37511,16774 37510,18774 37515,18777 37515,18772 37512,18775 37514,18777 37517,18778 37519,18779 37517,18776 37517,18778 37520,18780 37520,18785 37522,18785 37526,18787 37523,18786 37520,18790 38520,18789 38520,18792 38522,18797 38527,18802 38529,20802 38534,20804 38535,20803 38540,20802 38539,20806 38543,20811 38546,20814 38543,20812 38541,20808 38546,20811 38544,20815 38539,20816 38535,20818 38531,20815 38531,20814 38528,20814 38533,20817 38536,20816 38539,20821 38540,20818 38542,20820 38540,20816 38540,20821 38540,20823 38541,20828 38541,20831 38546,20836 38547,20836 38548,20835 38553,20835 37553,20835 37558,20837 37558,20842 37560,20846 37561,20846 37564,20849 37569,20854 37564,20854 37565,20850 37566,20852 38566,20856 39566,20861 39566,20863 39562,20867 39566,20872 39567,20868 39566,20873 39568,20876 39573,20876 39573,20880 39575,20884 39579,20885 39580,20889 39580,20891 39584,20888 38584,20889 38587,20890 38592,20891 37592,20892 37597,20894 35597,20895 35600,20897 35603,20899 35605,16678 18322,16681 18323,16682 18323,16686 18328,16690 18326,16693 18331,11693 18335,11692 18332,11695 18332,11698 18335,11703 18335,11703 18336,11702 18339,11698 18344,11702 18349,11705 18353,11704 18357,11707 18360,11707 18359,11711 18358,11716 18358,11713 18358,11712 18360,11710 18360,11710 18362,11710 18362,11710 18367,11710 18366,11707 18366,11706 18365,11710 18369,11715 18371,11714 18374,11712 18376,11711 18377,11711 18379,11712 18384,11715 18385,11711 18385,11714 18387,11717 18389,11718 18386,11721 19386,11723 19391,11722 19395,11722 19396,11723 19398,11726 19398,11729 19403,11733 19408,11736 19407,11733 19411,6733 19407,6735 19402,6738 19402,6743 19406,6746 19406,6742 19411,6742 19414,6742 19414,6746 19419,6746 19423,6746 19418,6749 19418,6747 19418,6748 19420,6748 19424,6748 19424,6751 19427,6751 19429,6752 19429,9752 19426,9754 19428,9759 19430,9756 19431,9751 19435,9753 19440,9757 19445,9755 19443,9757 19448,9757 19448,9759 19451,9763 19451,9766 19454,9766 19456,9770 19459,9770 19462,9770 19466,9766 19467,9771 19468,9772 19468,9769 19469,9768 19470,9770 19470,9774 19473,9778 19470,9781 19470,9786 19471,9789 19471,9789 19473,9792 19478,9795 19475,9800 19478,1256 2899,1260 -1101,1256 -1097,1255 -1093,1255 -1094,1259 -1089,1260 -89,2260 -84,2258 -84,2263 -88,2267 -89,2268 -91,2269 -86,2272 -86,2272 -82,2273 -77,2276 -79,2281 -81,2283 -79,2287 -75,2292 1925,2297 1930,2299 1930,2303 1932,2308 1937,2308 1936,2313 1937,2315 1934,2316 1935,2311 1936,2316 1937,2319 1938,2322 1940,2327 1940,2331 1940,2327 1943,2329 1945,2331 1950,2336 1950,2339 1954,2338 1954,7338 1954,7337 1958,7341 1960,7341 1964,8550 20152,8554 20152,8553 15152,8550 15152,8554 15154,8552 15149,8552 15153,8556 15151,8556 15148,8552 15152,8547 15149,8552 15154,8552 15155,8553 15156,8550 15156,8553 15160,8556 15164,8558 15163,8561 15163,8563 15167,8559 15169,8559 15166,8564 15167,8568 15171,8572 16171,8572 16173,8574 16170,8571 16174,8575 16174,8576 16174,8576 16174,8580 16178,8579 16183,8574 16184,8576 16184,7576 16186,7572 16181,7577 16181,7577 16185,7578 16190,7583 16185,7583 16185,7587 16185,12587 19185,12582 19188,12587 19193,12587 19195,10534 21158,10538 21162,10540 19162,10543 19158,10547 19158,10551 19160,10551 19158,10554 19158,10553 19157,10555 19157,10555 19154,10552 19156,10553 19161,10555 19166,10558 19165,10560 19165,10561 19165,10561 19165,10564 19166,10567 19164,10570 19162,10575 19165,10577 19164,10577 19168,10578 19168,10574 19171,10574 19172,10571 19175,10573 19178,6503 16143,6507 16146,6509 16142,6510 16142,6510 16143,6512 16143,6514 16146,6517 16148,6522 16143,6525 16143,6530 16143,6534 16146,6531 16144,8490 16106,8490 16106,8492 16109,8489 16110,8491 16106,8487 16109,8488 16104,8490 17104,8495 17108,8490 17109,8493 17108,8498 17111,8500 17111,8500 17109,8501 17113,8506 17118,8506 17118,8506 17123,4506 17125,4511 17123,4516 17126,4514 17125,4519 17124,4520 17126,4525 17129,4530 17124,4526 17124,4528 17124,4533 17127,4535 17127,4531 16127,4531 16124,4534 16124,4538 16125,2538 16130,2539 16131,2544 16133,2544 16129,2540 16129,2545 16129,2550 16126,7550 16126,7555 16128,7559 16124,7559 16129,7560 16132,7561 16128,7566 16132,9566 16136,9568 16136,9573 16141,9570 16144,9571 16146,9573 16150,9577 16153,9581 16148,9579 16153,9584 16157,9586 16160,9581 16162,9578 16165,10578 16162,10579 16163,10574 18163,10570 18164,10568 18164,10570 18169,10572 18170,10575 18170,10575 18175,10579 18176,10580 18176,10585 18176,10581 20176,10586 20178,10587 20178,10585 20179,10585 20177,10581 20178,10584 20183,10586 20187,10590 20187,10591 20190,10587 20188,10591 20187,10591 20192,10592 20191,10597 20195,10602 20194,10602 20195,10607 20197,10607 20198,13607 20201,13607 20200,13607 20204,13604 20204,13605 20209,13607 20209,13612 20214,13615 20218,13615 20218,13619 20220,13624 20224,13628 20219,18628 20216,18630 20213,18635 20213,18632 20211,18629 20211,18632 20215,18632 20216,18632 20217,18632 20217,18627 20214,18630 20209,18633 20212,18636 20212,18638 20217,18643 20222,22643 20219,22643 20219,22644 20219,22644 20214,22645 20216,22645 21216,22646 21220,22642 21224,22642 21221,22641 21224,22638 21229,22641 21232,22642 21235,22643 21238,22644 21236,22649 21237,22704 18411,22704 18412,22699 18412,22696 18416,22701 18412,22703 18416,22698 18416,22693 18418,22695 18422,22698 18422,22700 18426,22705 18427,22706 18427,22708 18432,22708 18432,22704 18431,22709 18427,22709 18432,22709 18436,22713 21436,22718 21438,22719 21437,22721 21440,22725 21443,22727 21445,22724 21450,22724 21451,22727 21453,22730 21453,22730 21458,22734 21460,22738 21464,20738 21464,20742 21465,22742 21465,22741 21464,22736 21464,22738 21464,22742 21460,22742 21460,22744 21458,22743 21458,22741 21455,22741 21460,22739 21456,22739 21458,22734 23458,22732 23458,22733 23463,22731 23467,22731 23469,22736 23472,22739 23472,22742 23471,22744 23471,24744 23466,24744 23468,24739 23471,24742 23474,24747 23478,24747 23481,24747 23483,24747 23486,24751 25486,24753 25489,24758 25493,24762 25497,24764 25499,24769 25496,24773 25498,24777 25499,24779 25503,24782 25500,24782 25498,24777 25498,24779 25495,24775 25495,24776 25495,24777 25495,24781 25500,24778 25503,24778 25499,24780 25500,24777 22500,24775 22505,24777 22505,24777 22501,24778 22502,24778 22505,24774 22509,24776 22509,24776 22509,24781 22509,24784 22511,24780 22513,24780 22514,24783 22515,24786 22520,24786 22520,24791 22518,24788 22517,24791 22522,24794 22525,24791 22524,24791 22528,24789 22530,24794 22530,24799 22525,24795 22524,24798 22520,24796 22516,24801 22511,24803 22516,24804 22521,24804 22526,24806 22524,24805 22524,24809 22529,24810 22531,24813 22536,24817 22536,24815 22535,24810 22530,24815 22530,24816 22530,24818 22531,24818 22531,24818 22533,24822 22533,24820 22530,24816 22529,24820 22532,24822 22533,24822 27533,24823 27536,24826 27540,24829 27541,24832 27546,24833 27549,24832 27553,24833 27552,24833 27551,24836 27551,24839 27554,24841 27554,24841 27556,24842 27559,24847 27557,24847 27562,24842 27566,24840 27564,24842 27568,24844 27563,25844 27565,25847 27569,25848 27564,25851 27561,25855 27559,25856 27556,25852 27556,25857 27561,25857 27564,25858 27564,25863 27567,25868 27567,25871 27564,25872 27565,25875 27570,25877 27573,25878 27575,25879 27574,25884 27579,25887 27577,25886 27579,25882 27582,25882 27578,25882 27582,25884 27578,25887 27583,25891 27584,25895 27582,25895 27582,25898 27583,25900 27580,11433 8033,11435 8037,11439 8040,11444 8044,11439 8048,11441 8045,11446 8044,11446 8039,11451 8038,11451 8043,11450 8046,11451 8046,11447 8049,11443 8052,11445 8057,11441 8058,11439 8060,11444 8056,11445 8053,11448 8053,11450 8049,11455 8044,11453 8042,11454 8044,11451 8049,11453 8049,11458 8052,11459 8055,11457 8053,11460 8053,11461 8055,11465 9055,11466 9056,12466 9058,12467 9054,12472 4054,12467 4056,12467 4059,12470 4058,12468 4060,14468 4064,14467 4063,14471 4060,14473 4062,14471 4067,14468 4072,14471 4076,14466 4077,14467 4074,14472 4075,14472 4080,14476 4085,14476 4090,14481 4090,14485 4091,14490 4095,14493 4095,14495 4100,14492 4100,14497 4102,14499 4100,14501 4101,14500 4106,14500 4107,14496 4108,14495 4110,14494 7110,33625 38305,38625 38310,38625 38315,38623 38318,38625 38317,38629 38318,38632 38313,38634 38313,38639 38314,38640 38317,38644 38320,38649 38321,38647 38317,38647 38322,38643 38324,38640 38319,38645 38319,38646 38319,38645 38316,38644 38318,38646 38319,38644 38324,38647 38328,38652 38325,38649 38328,38651 38332,40651 43332,40651 43335,40655 43335,40652 43339,40652 43339,40654 43336,40654 43337,40657 43333,40656 43335,40656 43338,40656 43343,40656 43341,40659 43346,45659 43348,45664 43350,45666 43346,45665 43351,45669 43355,45673 43355,45674 43359,50674 43360,50678 43363,50678 43364,50679 43367,50682 43371,50687 43374,50690 43374,50690 43377,50693 43377,50698 43382,50693 43386,50689 43386,50692 43390,50695 43392,50699 43392,50704 43397,50707 43395,50711 43391,50706 43393,50709 43393,50711 43395,50710 43397,50714 43394,50718 43394,50715 43394,50717 43399,50722 43403,50724 43407,50728 43407,50730 43408,47730 43403,47730 43404,47733 43408,47737 43409,47735 43414,47738 43416,47741 43416,47744 43421,47743 43422,47748 43424,47753 43419,47754 43420,47749 43419,52749 43423,52751 43421,52753 43421,52750 43426,52752 43428,52748 43430,52748 43426,52747 43431,52744 43431,52748 43435,52748 43435,52750 45435,52753 45440,52753 45440,52757 45442,52761 45447,52758 45447,52761 45447,52761 45452,52758 45454,52758 45455,52758 45456,52761 45460,52759 45458,52755 45463,52759 45464,52756 45461,52756 45462,52758 45467,52760 45470,52759 45469,52762 45473,52762 45474,15617 20233,15612 20238,15611 20242,15613 20237,15617 20238,15618 20239,15621 20236,15623 20240,15622 20240,15622 20245,15623 20244,15628 20242,15628 20247,15625 20246,15628 20250,15630 24250,15632 24251,15634 24253,15629 24252,15633 24250,15629 24250,15633 24248,15629 24248,15634 24248,15636 24253,15640 24253,15643 24257,15639 24254,15642 24257,15643 26257,15648 26255,15643 26256,15641 26258,15646 26262,15646 26263,15651 26263,15648 26267,15653 27267,15656 27270,15660 27272,15662 29272,15658 29276,15658 29277,15658 29272,15663 29274,15663 29274,17663 29274,17663 29279,17668 29283,17671 29285,17670 29287,17675 29289,17676 29293,17679 29296,17682 29297,17685 29299,17686 29300,17687 29305,17685 33305,17686 33310,17687 33310,17689 33306,17687 34306,17691 34304,17694 34306,17696 34306,17695 34309,17691 34314,17691 34311,17692 34306,17696 34310,17700 34310,17697 34312,17699 34316,17704 34318,17701 34318,17705 34322,17704 34321,17706 34319,17706 34319,17702 34316,17707 37316,17710 37318,19710 37313,19705 37313,19708 37308,19712 37310,19710 37312,19711 37307,19711 37307,19714 37310,19718 37312,19719 37309,19723 37312,19727 37315,19729 37317,19731 37322,19734 37323,19735 37324,19737 37322,19742 37326,19740 37331,19745 37335,19742 37335,19742 37340,19745 37341,19749 37341,19749 37342,19752 37347,19757 37347,19762 37345,19764 37341,19768 37345,19769 37350,19771 37355,19773 33355,19770 33360,19765 33364,19769 33364,19773 33365,22773 33364,22771 33360,22775 38360,22779 38364,22780 38369,22782 38371,22784 38371,22789 40371,22792 40375,22789 40375,22789 40377,22793 40376,23793 40378,23795 41378,23791 41378,23792 41378,23796 41382,23798 41383,22798 41386,22799 41390,22804 41390,22804 41391,22808 41391,22812 41393,22814 39393,22819 39393,22821 39395,22823 39397,22828 36397,22832 36392,22832 36393,22836 36396,22836 36401,22838 36402,19838 36403,19837 36408,19841 36408,19843 36409,19845 36404,19847 36405,19847 36408,19847 36411,19848 36413,19850 36415,19845 36419,19841 36417,19843 36419,19843 36419,19846 36424,19848 36425,19850 36425,19845 36425,19846 36425,19848 36430,19852 36430,19849 36435,19846 36440,19851 36440,19846 36438,19848 36439,19844 36442,19845 36446,19841 36448,19841 36449,19841 38449,19841 38452,19846 38455,19848 38458,19852 42458,19856 42462,19859 42463,19859 42465,19861 42462,19862 42463,19864 42463,19867 42467,19870 42470,19871 42468,21871 42467,26871 42464,26867 42466,26872 42463,26872 42464,26874 42463,26879 42466,26882 42466,26883 42471,26879 42476,26878 42477,27878 42479,27882 42479,27883 42480,27886 42483,27887 42487,27885 42484,27887 42483,27890 42484,27890 42485,22890 42486,22890 42489,22890 42491,22895 42494,22897 42498,22899 42502,22901 42502,22896 42503,22892 42498,22896 42498,22891 42502,22892 42505,22897 42507,22898 42511,22903 42515,22906 42510,22911 42513,17911 42508,17915 42512,17918 42509,17913 44509,17915 44514,17919 44510,17923 44514,17927 44510,17927 44513,17927 44517,17928 44521,21928 44517,21930 44516,21931 44513,21929 44513,21933 44517,21934 44519,21933 44520,21934 44520,21937 44520,21938 44520,21943 44520,21938 44523,21940 44527,21936 44532,21941 44536,21942 44541,21937 44545,21938 44545,21938 44545,21940 44543,21937 44538,21941 44543,21938 44547,21938 44547,21938 44547,21937 44551,21937 44551,21933 44556,21935 44554,21937 44558,21940 44562,21944 44564,21949 44561,21952 44566,21955 44568,21960 44569,21963 44571,21963 44571,21965 44574,25965 44579,25967 44584,25967 44584,25970 44588,22970 41588,22970 41586,22975 41585,22974 41589,22970 41593,22966 41598,22965 41598,22970 41598,22965 41601,22965 41604,22965 46604,22968 46604,27968 46602,27968 46602,25968 46601,25967 45601,25968 45602,25971 45607,25975 45610,25979 45614,25977 45612,25975 45609,26975 45609,26980 46609,26979 46613,26982 46610,26982 46611,26980 46615,26982 46616,26985 46616,26986 46617,26987 46615,30987 46617,30987 46622,30986 46626,30988 46629,30989 46627,17671 29285,17673 26285,17677 26286,17678 26285,17681 26289,15681 26292,15685 26297,10685 26297,10689 26301,10689 26297,10693 26300,10695 26301,10691 26297,10696 26299,10696 26304,10692 26306,10688 26301,10690 26302,10690 26307,10686 26305,10684 26309,10686 26312,10691 26313,10688 26318,10683 26320,10684 26325,10683 26328,14683 26328,14680 21328,14681 21331,14683 21335,14680 21333,14677 21333,14682 25333,14684 25334,14689 25338,14693 25338,14698 25341,14696 25342,18696 25343,20696 25345,20699 25349,20702 25346,20703 25351,20703 25351,20704 25351,20704 25354,20700 26354,20705 26352,20706 26351,20706 26351,20703 26354,20708 26354,20712 26355,20712 26352,20717 26349,20717 26346,20722 26351,20727 26353,20729 26348,20734 26353,24734 26349,24729 26349,24729 26352,24725 26349,24725 26353,24726 26353,24729 26355,24729 26357,24732 26359,24735 26362,24735 26364,24730 26364,24730 26363,24734 26365,24739 26368,24739 26364,24739 26366,24739 26367,24734 26370,24735 26365,24732 26367,24732 26369,24729 26372,24728 26370,24726 26365,24728 26368,24731 26370,24734 26375,24738 26378,24733 26378,24733 26381,24729 26381,13496 17147,13491 17152,13495 17148,13496 17146,13498 17141,13498 17145,13501 17147,13502 17149,13502 17153,13505 17149,13505 17152,13500 17149,13496 20149,13492 20150,13497 20155,8497 20151,8501 20153,8502 20156,8506 20159,8503 20159,12503 19159,12503 19159,12505 19164,12500 19159,12500 19164,12500 15164,12503 15169,12508 15168,12511 15170,12514 15170,12510 15169,12512 15172,12512 15172,12515 15172,12519 15175,12522 15176,12525 15180,12528 15184,23912 53663,23915 53661,28915 53666,28914 53667,28918 53664,28921 53667,28922 53667,28924 53670,28925 53674,28926 53674,28927 53672,28922 53676,28924 53677,28927 53678,28932 56678,28934 56682,28935 56683,28936 56688,28938 56688,28934 56691,28938 56693,28942 56690,28939 56694,28939 56698,28942 56695,28946 56698,28950 56701,28953 56706,28954 56706,28949 56708,28950 56708,28953 56709,28958 56706,28960 56709,28965 56707,28965 56707,28965 56705,28963 56709,28966 59709,28969 59710,28973 59711,28977 59715,28977 59717,28982 59719,28981 59715,28985 59718,28986 59718,33986 59721,35986 59723,35990 59723,35990 61723,35993 61726,35995 61728,35998 61724,36000 61721,36004 61723,36002 61718,36007 61718,36010 61719,36010 61721,36010 61721,36010 61721,36015 61721,36018 61716,36022 61717,36024 61718,36025 61723,36029 61722,36031 61726,36035 61722,36040 62722,36042 62722,36044 62722,36049 62724,36051 62720,36053 62723,36052 62719,36055 62717,36056 62712,36059 62714,36058 67714,36059 67716,40059 67716,40063 67719,40067 67722,40069 67726,40065 67724,40067 67721,40067 67722,40071 67721,40075 67726,37075 67730,37076 67733,37076 67736,37072 67741,37072 67741,37072 67744,37076 67744,37079 67745,37081 67750,37082 67750,37082 67753,37082 67753,37083 67752,37081 67753,37084 67753,37087 67757,37087 67758,37083 67753,37084 67758,37084 67761,37088 67759,37091 67762,37088 67762,37090 67767,37090 72767,37090 72771,37085 72771,37089 72774,38089 71774,38090 71771,38086 71771,38086 71774,38086 71777,38089 71782,38089 71782,38087 71780,38092 71782,38087 71785,38083 71783,38081 71781,38078 71781,38078 71783,38076 71786,38075 71787,38078 71783,38079 71781,38081 71781,41081 71783,41081 71778,41082 71778,41085 71783,41085 71783,41088 71785,41083 71789,41083 71794,41088 71796,41088 71796,41092 71798,41095 71794,41095 71789,41098 71790,41093 71790,41091 71795,41092 71796,41087 71798,41084 71796,41086 71797,41084 71799,41084 71795,41086 71798,41085 71799,41089 71803,41085 71804,41083 71802,41083 71803,41079 71803,41081 71808,41081 71809,41083 71810,41083 71809,41085 71810,41082 71814,41087 71817,41089 71818,41086 71813,41083 71813,39083 71816,39083 71814,39085 71814,39083 71814,39086 71818,39087 71820,39087 71824,39091 71826,39096 71829,39098 74829,39102 74830,39107 74833,39110 74836,39115 74835,39115 74836,39115 74838,39115 74835,39119 74838,39117 74840,39121 74840,39125 74843,39121 74848,39122 77848,39122 77844,39123 77848,39126 77851,39131 77855,39136 77857,39132 77857,39135 78857,39135 78859,39136 78864,39133 78865,39135 78866,39139 79866,39142 79870,39147 79872,39146 79872,39150 79876,39150 78876,39154 78879,39154 75879,39154 75881,39158 75881,39157 75884,39160 75884,39155 75884,39160 75889,39156 75891,39158 75888,39163 75891,39163 75894,39166 75891,39166 75895,39167 75900,39170 75901,39170 75906,35170 75907,35171 75911,35176 75906,35172 75908,35173 75908,35178 75908,35175 75909,35170 75908,35170 75903,35168 75904,35173 75906,35178 75903,35179 75904,35179 75908,35182 75905,35184 71905,35188 71902,35185 71904,35186 71907,35187 71908,35189 71903,35191 71905,35195 71900,35197 71904,35198 71909,35200 71907,35199 71903,35201 71900,40201 71896,25028 55790,25029 55785,28029 55789,28031 55790,28032 55790,28037 55794,28042 55793,28043 55798,28046 55803,30046 55803,30051 55806,30050 55810,30049 55810,30049 55812,30049 55816,30054 55820,2545 16129,2540 16133,2542 16137,2542 16139,2544 16138,2545 16139,7545 16136,7546 16139,7541 16142,7542 16142,7543 20142,7547 20143,11547 20143,11550 20139,11555 20139,11556 20137,11552 20142,11555 24142,11556 24145,11559 24140,11563 24143,11567 24139,16567 24136,16567 24139,16572 24142,16573 24147,14573 24143,14574 24147,14570 24145,14573 24150,14569 24150,14570 24145,14573 24149,14575 24150,14575 24154,14579 24149,14579 24153,14576 24157,14576 24152,14571 24149,14571 24152,14575 24150,14572 24151,15572 24153,15575 24149,15577 24154,15582 24151,15582 24153,15586 24156,15587 24152,15588 24157,15590 24162,15590 24166,15590 24166,20590 24166,17590 24169,17595 24171,17597 24172,17599 24172,17595 24174,17599 24178,17599 24181,18599 24184,18594 24187,18597 24187,18593 24189,18597 24192,18601 24192,18599 24197,18599 24197,18603 24200,18605 24204,18600 24205,18605 24201,18605 24197,18610 24202,18608 24205,18611 24204,18613 24208,18617 24203,22617 24205,22619 29205,22622 31205,22622 31209,22623 31214,22624 31212,22627 31214,22623 31214,22626 31215,22629 31214,22633 31218,22631 31221,22630 31223,22632 31227,21937 44551,21935 44555,21939 44551,21934 44553,21936 44554,21933 44556,21935 44552,21935 44553,21939 44548,21939 44551,21939 44551,21938 44555,21938 44558,21938 44559,21941 44559,21945 44558,19945 44562,19942 44560,19943 44561,19939 44565,19940 44561,19939 44556,19935 44557,9770 19466,9773 19471,9775 19471,9770 19471,9770 19468,9770 19467,9772 19466,9772 19468,9774 19469,9775 19472,12775 19470,12773 19466,12773 19467,12773 19464,12773 19466,12776 19461,12779 19461,12779 19465,12780 19465,12782 19460,12781 19458,12776 19461,12776 19461,12777 19463,12778 19466,12776 19466,12780 19463,12780 19466,12785 19468,12789 19473,12788 19477,12793 19475,12798 19480,12802 19482,12803 24482,12802 24484,16802 24486,16806 28486,16808 28486,16812 28490,16812 28494,16815 28498,16816 28498,16818 28502,16818 28504,16819 28509,19819 28513,19819 28510,19821 28515,19816 28510,19811 28510,19811 28511,19809 28511,19810 28510,19813 28515,22813 28510,22818 28514,22818 28515,22815 28516,22818 28514,22819 79878)',')')) where i = 1; +rollback; + +#1 Test update with same mbr, should do nothing. +start transaction; +update t1 set a=st_geomfromtext(concat('multilinestring(','(-4286 -5983,52762 -5983,52762 79876,-4286 79876,-4286 -5983)',',','(-768 -136,-771 2864,-772 2860,-777 2862,-775 2858,-775 2863,-770 2866,-765 2871,-761 2874,-759 2878,-759 2883,-759 2886,-758 2886,-758 2886,-755 2890,-752 2890,-751 2890,1249 2890,1250 2892,1251 2892,1251 2892,1256 2897,1259 2894,1256 2899,1253 2904,1256 2904,1257 2906,1252 2910,1253 2910,1256 2912,1255 2913,1260 2911,1256 2913,1255 2918,1257 2921,1259 2925,1262 2922,1263 2923,1266 2926,1268 2929,1269 2932,1273 2937,1277 2942,1282 2942,1284 2939,1287 2935,1290 2935,1293 2938,1296 2940,1299 2942,1302 2947,1307 2952,1311 2956,1312 2958,1307 2956,1311 2955,1307 2956,1307 2960,1307 2962,1311 2965,1315 2967,1314 2968,1319 2969,1322 2973,1324 2978,1323 2977,1327 2982,1330 7982,1332 7985,1332 7986,1332 7988,1328 7991,1328 7991,1328 7991,1253 2910,1249 2908,1251 2908,1253 2913,1253 2909,1256 2914,1255 2916,1259 2919,1261 2923,1262 2923,1266 2925,1270 2930,1270 2932,1267 2929,1269 2929,1269 2931,1269 2926,1265 1926,1270 1926,1274 1926,1274 1929,1269 1929,1270 1931,1272 1935,1269 1935,1273 1938,1278 1938,1278 1938,1280 1943,1275 1948,1276 1951,1279 1948,1280 1952,1281 1952,1286 1954,1290 1958,1290 1963,1294 1964,1298 1962,1298 1958,1302 1963,1302 1967,1307 -2033,1311 -2030,1307 -2030,1310 -2025,1314 -2020,1317 -1020,1321 -1016,1321 -1018,1321 -1015,1326 -1016,1324 -1016,1327 -1011,1326 -1007,1326 -1002,1326 -1004,1321 -1004,1321 -1003,1324 -1008,1328 -1007,1328 -1003,1333 -999,1336 -998,1339 -997,1337 -996,1340 -2996,1335 -3000,1339 -2996,1343 -2995,1346 -2990,1341 -2990,1345 -2991,1345 -2995,1269 2931,1269 2936,1271 2941,1275 2941,6275 2943,6274 2943,6279 2939,6274 2942,6274 2946,6275 2947,6276 2948,6280 2947,6282 2951,6287 2952,6287 2956,6289 2959,6294 4959,6298 4964,6302 4965,6300 6965,6305 6965,11305 6967,11305 6967,11310 6966,11310 6966,11314 6964,11318 6969,11318 6972,11323 6974,11328 6977,11329 6979,11333 6982,11337 6982,11334 6982,11337 6983,11341 6988,11345 6991,11349 6992,11353 6993,11353 6996,11353 7000,11356 7000,11353 6000,11350 6002,11353 6004,11354 6007,11356 6009,11358 6009,11359 6011,11363 6016,11365 6013,11369 6015,11372 6017,11377 6022,11381 6025,11382 9025,11385 9029,11390 9024,11389 9020,11391 9020,11389 9016,11394 12016,11397 12021,11400 12021,11405 12024,11405 8024,11403 8029,11403 8032,11401 8033,11406 8032,11402 8027,11406 8027,11410 8029,11408 8030,11408 8035,11413 8035,11418 8038,11423 8038,11428 8036,11428 8037,11433 8033,11435 8032,6435 8035,6439 8036,6440 8034,6441 8039,6442 8043,6446 8045,6451 12045,6454 12050,6454 12049,6455 12054,6457 12057,6458 12060,6461 13060,6466 13060,6467 13065,6467 13070,6465 13073,6465 13073,6466 13077,6463 16077,6465 16081,6468 16077,6471 16077,6475 16078,6475 16080,6470 16082,6465 16084,6465 16088,6470 16091,6471 16091,6469 16089,6473 16091,6477 16091,6477 16093,6480 16098,6476 16099,6478 16099,6481 16100,6486 16105,6486 16110,6488 16105,6485 16107,6487 16108,6484 16104,6485 16101,6488 16101,6489 16103,6493 16105,6493 16108,6490 16110,6487 16113,6492 16116,6495 16118,6499 16123,6497 16124,6496 16127,6498 16132,6497 16134,6499 16138,6503 16143,6502 16138,6500 16140,6502 16144,6502 16146,6503 16150,6498 16151,6500 16154,6495 16154,6494 16154,6499 16156,7499 16158,7504 16161,7507 16166,7503 16163,7505 16163,7508 16163,7511 16165,7514 16162,7517 16165,7519 16166,7524 16165,7527 16168,7529 16172,7534 16172,7534 16177,7539 16179,7537 16179,7538 16184,7538 16185,7538 16189,7540 16191,7540 16193,7541 16193,7545 16197,7550 16199,7554 16204,7558 16208,7559 16211,7560 16214,7564 16216,7563 16215,7558 16219,7558 16216,7555 16221,7559 16223,7559 16224,7559 16226,7561 16231,7558 16235,7553 16240,7552 16236,7557 16234,7552 16236,7554 16238,7557 16239,7552 16243,7553 16243,7555 16243,7555 14243,7558 14248,7559 14243,7559 14239,7561 14241,7561 14243,7561 14248,7562 14250,7566 14254,7570 14254,7575 14256,7575 14259,7576 14259,7579 14259,7583 14257,7583 14257,7583 14253,7584 14249,7579 14247,7576 14245,7579 14250,7577 14253,7582 14256,7582 14257,7578 14253,7575 14252,7577 14255,7578 14255,7578 14256,7581 14257,7584 14252,7588 14252,7592 14249,7592 18249,7588 18253,7590 18255,7592 18259,7596 18254,7601 18255,7601 17255,7605 17256,7610 17258,7613 17261,7617 17262,7619 17266,7617 17267,7621 17268,7623 17272,7626 17272,7626 17277,7625 17282,7620 17281,7617 17284,7618 17287,7617 17283,7616 17281,7621 17279,7624 17281,7624 17282,7624 17279,7628 17279,7628 17280,7633 17284,7637 17280,7638 17280,7638 17281,7641 17282,7641 17282,7638 17283,7638 17284,7643 17280,7647 17281,7652 17285,7656 17285,7658 17288,7660 17290,7661 17292,7664 17297,7666 17302,7663 17304,7664 17300,7659 17303,7661 17303,7657 17307,7659 17307,8659 17310,8661 17313,8664 17314,8665 17313,8665 17309,8669 17313,8671 17316,8670 17320,8668 17320,3668 17323,3665 17324,3661 17329,3661 17331,1661 17332,1661 17333,1663 17338,1668 17333,1663 17333,1667 17331,1668 17331,1664 17334,1666 17337,1665 17337,6499 16138,6503 18138,10503 18142,10503 18142,10505 21142,10502 21144,10502 21142,10504 21141,10504 21139,10508 21140,10512 21141,10512 21143,10515 21144,10517 21147,10517 21143,10519 21143,10519 21146,10519 21142,10519 21142,10522 21141,10523 21141,10523 21145,10523 21149,10527 21153,10531 21154,10534 21158,10531 21158,10527 21160,10532 21165,10534 21165,10531 21165,10533 21162,10529 21163,10532 21160,10534 21163,10535 21161,10540 25161,10538 25164,10538 25166,10540 25171,10543 25171,10547 25175,10547 25175,10550 25178,10552 25182,10556 25177,10558 25181,10558 25183,10563 25187,10564 25183,10560 25188,10565 25188,10569 25191,10573 25195,10575 25199,7581 14257,7585 14257,7586 14257,7588 14254,7590 14255,7593 14256,7590 14260,7595 14263,7595 14259,7597 14256,7598 14261,7598 14258,7599 14261,7600 14261,7602 14258,7602 14258,7598 14259,7598 14264,7600 14267,7601 17267,7597 17268,7602 17273,7605 17276,7605 17276,7603 17279,7604 17279,7608 17278,7613 17282,7615 17285,7617 17288,2617 17288,2617 17289,2620 17289,2620 17285,-1380 17288,-1382 17287,-1384 17292,-1384 17294,-1380 17295,-1380 17297,-1380 17299,-1375 17303,-1372 17303,-1373 17298,-1368 13298,-1365 13301,-1366 13297,-1371 13295,-1371 13298,-1371 13298,-1375 13301,-1378 13302,-1378 13302,-1377 13302,-1374 13301,-1373 13306,-1370 13311,-1371 13307,-1366 13307,-1365 13309,11349 6992,11352 6992,11354 6997,11356 7002,11356 7007,11359 7010,11354 7005,9354 7009,9356 7011,9359 7016,9360 7014,9360 7015,9363 8015,9367 11015,9370 11012,9367 11012,9368 11016,9363 11017,9360 11018,9364 11021,9359 11016,11402 8027,11399 8029,11400 8033,11401 8034,11405 8029,11407 8027,11410 8029,12410 8033,12414 8035,12412 8040,12415 8040,12416 8045,12421 8042,12426 8037,12424 8042,12427 8042,12430 8044,12434 8046,12430 8048,12434 8045,9434 8045,9439 8043,9442 8043,9442 8045,9442 8040,9442 8035,9438 8038,9440 8039,9445 8036,9446 8039,9441 8043,12441 8047,12440 8048,12444 8052,12445 8057,12450 8053,12452 8053,12448 8054,12443 8058,12441 8063,12444 8067,12449 8067,12448 8071,12451 8076,12454 8073,17454 8073,17457 8074,17459 8079,17463 8079,17461 8080,17464 4080,17467 4085,17463 4085,17463 4088,17462 4090,17464 4095,17468 4094,17464 4097,17464 4093,17466 4088,17469 4092,17470 4094,17472 4089,17470 4090,17473 4089,17478 4094,17474 4091,17477 4095,17482 4100,17487 4103,17492 4101,17492 4104,17493 4101,17495 4106,17497 4106,17502 4111,17505 4111,17504 4113,17505 4115,17509 4119,17504 4123,17505 4127,17503 4131,17503 4126,17504 4126,17506 4129,17501 4132,17502 4133,17499 4133,17503 5133,17503 5135,17498 5134,21498 5134,21498 5131,21498 5133,21497 5138,21501 5140,21502 5138,21502 5141,21505 5136,21501 5139,21501 5141,21505 5146,21510 5151,21510 5155,21512 5156,21508 5159,21508 5163,21512 5167,21517 5169,21521 5173,21519 5172,21517 5172,21515 5172,21515 5173,21516 5172,21515 5169,21516 5170,21516 5170,21516 5168,21520 5172,21523 5172,21525 5174,21522 5176,21523 5180,21527 5176,21527 5177,21527 5178,21531 5183,21533 5181,21538 5176,21539 5179,21544 9179,21544 9184,21547 9186,21548 9184,21553 9188,21553 9193,21554 9195,21556 9200,21556 9201,21555 9201,21556 9205,21561 9205,21556 9202,21561 9203,22561 9204,22566 9204,22561 9208,22559 9210,22564 9207,22560 9205,22560 9208,22564 9210,22567 9214,22569 9218,22572 9222,22576 9218,23576 9222,24576 9220,24574 9224,24569 9228,24569 9228,6481 16100,6483 16101,6486 16104,6485 16108,8485 16110,8486 16115,8482 16110,8483 16115,8485 16110,8486 16106,8487 16103,8490 16106,8486 16107,8487 16104,8487 16104,8492 16108,8493 17108,8488 17108,8490 17110,8494 17114,8495 17113,8495 17117,8498 17117,8503 17122,8498 17124,8498 17128,8494 17129,8496 17134,8496 17134,8497 17135,8498 17135,8501 17135,8502 17132,8506 17132,8501 17130,8505 17131,21515 5169,21518 5164,21523 5160,21528 5162,21530 8162,21532 8164,21536 8165,21536 8168,21540 8169,21543 8165,25543 8169,25545 8173,25549 8169,29549 8174,29546 8177,29547 8172,29552 8177,29552 8180,29557 8180,29558 8175,34558 8180,34558 8176,34555 8179,34556 8181,7584 14249,7586 14250,7588 14252,7591 14256,7587 14257,7590 14257,7592 17257,7597 17261,7601 17265,7605 17268,7606 17273,7610 17268,7612 17270,7612 17271,7615 17266,7617 17266,7622 17270,7627 17272,7627 19272,7631 19277,7636 19279,7636 19280,7636 19285,7637 19287,7639 19290,7644 19295,7647 19291,7649 19296,7653 19296,7653 19291,7656 19292,7657 19292,7653 19292,7653 19297,7652 19297,7648 19299,7647 19303,7647 19304,7649 19307,7654 19309,7651 21309,7653 21309,7657 21313,7659 21309,7662 21310,7666 21314,7663 21314,7663 21317,7658 21317,7661 21321,7666 21323,7667 21328,7662 21333,7663 21328,7667 21332,7669 21334,7671 21330,7674 21326,7675 21331,7679 21336,7681 21338,7681 21342,7681 21342,7677 21345,7682 21346,3682 21348,3680 21350,3681 21351,3680 21349,3681 21349,3686 21350,8686 21355,8682 21354,8685 21350,8681 21345,8684 21350,8683 21353,8681 21356,8681 21358,8684 21361,8684 21364,8684 21367,8685 21363,8685 21365,8685 21362,8688 21358,8690 21359,8687 21364,8687 21364,8689 21361,8691 21356,8696 21353,8696 21352,8699 21352,8699 21357,8703 21358,8706 21353,8708 21358,17503 4126,17505 4129,20505 4133,20510 4133,20515 4128,21515 4129,21516 9129,21519 9131,21524 9134,21522 9135,21522 9138,21518 9137,21516 9138,21516 9138,21515 12138,21516 12142,21518 12146,21513 12144,21517 12149,21521 12144,21521 12148,21523 12151,21527 12148,21527 12143,21528 12148,21528 12145,21533 12149,21534 12152,21537 12155,21532 7155,21536 7153,21540 7157,21536 7154,21540 7154,21539 7157,21539 7160,21542 7160,21547 7164,21551 7168,21554 9168,21556 9168,21556 9169,21559 9166,21561 9169,21565 9171,21568 9176,21565 9181,21567 9180,23567 9178,23570 9181,23575 9181,23571 9181,20571 9176,20574 9179,20569 9182,20569 9184,20570 9189,20565 9191,20562 9195,20559 9196,20559 9201,20563 9197,20564 9193,20565 9197,20565 9200,20565 9200,20563 9201,20559 9205,20564 13205,20560 13207,20560 13212,20555 13213,20558 13217,20554 13217,20558 13219,20559 13222,20561 13223,20561 13226,20561 13231,20562 13232,20567 13235,20564 13239,20560 13239,20560 13236,20560 13236,20560 13237,20564 13241,24564 13241,28564 13242,28564 13240,28561 13237,28561 13240,28562 13243,28563 13243,28560 13248,28559 13248,28559 9248,28562 9245,28564 9241,28567 9245,28568 9240,28568 9245,28571 9247,28571 9248,28574 9253,28572 9256,28576 9257,28577 9257,28574 9257,10564 25183,10566 25188,10567 25190,10568 25186,10569 25187,10570 25188,10573 25185,10568 25185,10570 25187,10573 25191,10573 25193,10578 25193,10578 25198,10581 25202,10582 25206,10578 25206,10579 25211,10580 25206,10582 25208,12426 8037,12427 8042,12432 8047,12437 8047,12435 8051,12435 9051,12432 9054,12433 9056,12435 9061,12438 9062,12435 9062,12438 9067,12434 9071,12431 9075,12436 11075,12436 11075,12441 11080,12445 11085,12449 11089,12445 11091,12442 11091,12442 11093,12442 11093,12443 11098,12439 11098,12440 11099,7440 11104,7442 11107,7446 11110,7446 11114,7451 6114,7452 6110,11452 6105,11452 6104,11454 6103,11459 6106,11462 6107,13462 6107,13458 6104,12458 9104,17458 9109,17458 9110,17460 9113,17465 12113,17468 12112,17468 12114,17466 12111,17470 12116,17469 12119,17472 12123,17470 12118,17474 12118,17476 12120,13476 12121,13480 17121,13480 17125,13484 17123,13489 17122,13489 17125,13487 17127,13487 17132,13486 17131,13491 17136,13491 17139,13495 17144,13496 17147,13496 21147,13498 21149,13498 21154,16498 21159,16503 21162,16504 26162,16509 26160,16509 26163,16509 26162,16514 26159,16518 26163,16522 26158,16518 30158,16516 30161,16516 30164,16517 30169,16520 30167,16525 30168,16528 30170,17528 30170,17532 30175,17533 30177,17533 30182,17536 30186,17537 30189,17540 30193,20540 30193,20541 30196,20541 30197,20542 30196,20544 30195,20548 30200,20553 30199,20557 30201,20561 30206,20565 30210,20566 30209,20568 30214,20568 30217,20563 30217,20563 30218,20565 30222,20567 30222,20572 30225,20567 29225,20570 29225,20570 29230,20573 29231,20571 29230,20569 29232,20570 29236,17504 4123,17505 4127,17508 5127,17505 5131,17505 5135,17509 5140,17508 5142,17510 5139,17515 5141,17517 5144,17522 5144,17524 5146,17529 5147,17529 5152,17533 8152,17533 8150,17537 8153,17532 8158,17533 11158,17536 11163,17540 16163,17540 16165,17542 16168,17542 16171,17542 16171,17547 16167,17548 16170,17550 16170,17545 16175,17549 16178,17549 16179,17549 16179,20549 16181,20551 16186,20549 15186,20550 15186,20547 15188,20550 15184,20546 15186,20545 15191,20548 15190,20552 15193,20557 15195,20552 15196,20557 15193,20562 15196,20562 15199,20567 15202,20563 15207,20564 15207,20564 15209,20568 15209,20571 13209,20573 13209,20576 13211,20577 13216,20574 14216,20570 14215,20568 17215,20568 17216,20570 17218,20575 17218,20580 16218,20583 16215,20586 16217,20581 16220,20582 16224,20585 16224,20588 16229,20590 16231,20592 16235,20595 16232,20595 16234,20598 16238,20603 16240,20607 16236,20608 16236,20608 16239,20611 21239,20613 21244,20614 21246,20612 21244,20612 21242,20615 21239,20616 21241,20621 21242,17621 21244,17626 21245,17629 21244,15629 21239,15632 21240,15636 21245,15637 21247,15639 21244,15637 21245,15642 21245,15647 21244,15646 21248,15650 21252,15653 21247,15651 21250,15649 21250,15645 21250,19645 21253,19648 21256,19647 21253,19643 21249,19646 21249,19648 21245,19650 21242,19647 21240,19652 21240,14652 21240,14657 21243,14659 21244,14664 21241,14659 21239,14654 21240,14651 21244,14647 21246,14647 21249,14650 21247,14651 21252,14651 21255,14649 21258,14652 21262,14655 21262,14652 21260,14653 21255,14653 21255,14653 21257,14656 21258,14651 21258,14653 21261,14654 21263,14654 21264,14659 21267,14660 21263,14664 21264,14666 26264,14661 26266,14661 26263,14661 26264,14666 26265,14667 26265,14665 26263,14669 26263,14667 26263,14669 26261,14667 26263,14671 26261,14671 26263,12671 26264,12672 26266,12677 26269,17677 26269,17673 26271,17676 26271,17676 26273,17681 26278,17685 26278,21536 8168,21539 8171,21543 8169,21538 8170,21541 8170,21544 8171,21548 8166,21548 8168,21552 8171,21555 8173,21558 8168,21557 8168,21562 8163,21559 8168,21559 8172,21564 8177,21569 8175,21568 8175,21573 8178,21575 8180,21570 8183,21570 8186,21566 8184,21569 8185,21569 8187,25569 8190,25571 8193,25575 8193,25576 8194,25576 13194,25580 13194,25584 13196,25589 13197,25592 13200,25595 13205,25592 17205,25593 17209,25594 17213,27594 17209,27592 17213,27590 17212,27592 17217,27592 17220,27596 17224,27599 17227,27603 17232,27603 17227,27605 17229,28605 17230,28607 17234,28609 17230,28610 17231,28610 17236,28611 17238,28613 17241,28614 17241,28615 17243,28616 18243,28618 18246,28618 18246,28622 18246,28627 18246,28632 18245,27632 18245,27634 18245,27633 18244,27638 18245,-1366 13297,-1365 13299,-1362 13303,-1362 13300,-1361 13304,-1366 13308,-1368 13304,-1368 13306,-1367 13309,-1363 13313,-1358 13313,-1353 13318,-1351 13319,-1347 13323,-1343 13318,-1343 13322,-1340 13317,-1337 13318,-1337 13322,-1337 13324,-1335 13327,-1339 13328,-339 13328,-334 13333,-331 13336,-327 13338,-326 13340,-326 13342,-321 13340,-318 13343,-317 11343,-312 11345,-307 11349,-311 11353,-314 11350,-311 11353,-313 11349,-308 11352,-313 11347,-308 11351,-306 9351,-306 9351,-306 9351,-301 9355,-301 9356,-299 9359,-297 9355,-297 9354,-296 9359,-294 9364,-290 9360,-294 9355,-289 9357,-291 9353,-286 9355,-4286 9351,-4283 9347,-4281 9344,-4281 9344,-4280 9342,-4280 9342,-4280 9339,-4277 9335,-4274 9333,-4274 9335,-4269 9336,-4265 9339,-4260 9340,-4256 9339,-4251 9336,-4251 9339,-4249 9344,-4254 9344,-4255 9348,-4253 7348,-4251 7352,-4247 7354,-4243 7357,-4242 7357,-4240 7362,-4240 7367,-4235 7371,-3235 7371,-3230 7376,-3225 7375,-3221 7372,-3223 7369,-3223 7371,-3223 7369,-3225 7364,-3220 7364,-3218 11364,-3218 11368,-3215 11369,-3210 11372,-3210 11369,-3208 11373,-3207 11377,-3207 11381,-3209 11384,-3209 11383,-1209 11379,-1211 11383,-1209 11383,-1205 11379,-1200 11384,-1197 11379,-1195 11375,-1197 11376,-1192 11377,-1192 11379,-1192 11384,-1188 11382,-1186 11382,-1181 11384,-1180 11388,-1176 11389,-1171 11388,-1171 11393,-1169 11393,-1164 11398,-1162 11393,-1158 11392,-1155 11395,-1155 11397,-155 16397,-156 16401,-156 16406,-158 16409,-158 16412,-158 16414,-160 16415,-158 20415,2842 20411,2847 20413,2848 20417,2848 20417,2848 20412,2850 20407,2850 20403,2846 20408,2847 20406,2849 20406,2854 20402,2858 20403,2863 23403,2858 23402,2855 23405,2858 23400,2857 23400,2852 26400,2849 26404,2850 26406,2855 26410,2859 26415,2863 26411,2866 26411,2866 26411,2866 26412,2868 26415,2868 26419,2868 26423,2873 26424,2876 26425,14656 21258,14661 21260,14664 21262,14664 22262,14662 22267,14662 22268,14662 22268,14658 22273,14660 22278,14658 22277,14659 22278,14660 22283,14661 22281,14661 22285,14661 22288,14664 22290,14659 22295,14662 22298,14663 22301,14667 22301,14668 22301,14673 22303,14678 22306,14681 22302,14686 22299,14686 22301,14683 22304,14686 22305,14687 22301,14689 25301,14684 25301,14684 25299,14685 25300,14685 25301,14685 24301,14688 24301,14693 24303,14693 24298,14693 24298,14688 24299,14689 24297,14690 24299,14690 24302,14690 24302,14686 24303,14686 24306,14688 24302,8492 16108,8494 16113,8498 16116,8495 16116,8496 16116,8499 16116,8504 20116,8508 20119,8508 20119,8507 20119,8509 20123,8509 20127,8512 20128,8514 20130,8519 20135,8522 20136,8522 20136,8524 20138,8524 20141,8528 20142,8526 20145,8530 20141,8530 20145,8532 20149,8531 20151,8536 20155,8535 20154,8539 20154,8539 20149,8539 20149,8543 20146,8540 25146,8538 23146,8540 23149,8540 23149,8545 23151,8546 23152,8551 23152,8555 23152,8559 23153,8561 23153,10561 18153,10561 18153,12561 18158,12564 18159,12566 18163,12567 18165,12564 18165,12568 20165,12570 20170,12575 20173,12579 20177,12576 20177,12579 20176,12584 20176,12583 20181,12585 20182,12583 20186,12582 20187,12585 20192,12582 20194,12584 20198,12586 20198,12581 20201,12582 20204,12581 20206,13581 20209,13586 20211,13586 20216,13589 20217,13589 20213,13586 20215,13588 20213,13592 20215,13596 20216,13596 20221,13600 20221,13598 20224,13595 20221,13598 20226,13602 20229,15602 20232,15606 20232,15611 20232,15610 20232,15613 20235,15617 20239,15612 20234,15612 20233,15615 20237,15617 20233,15619 20234,15619 20229,15623 25229,15624 25229,20624 25228,20628 25229,20631 25234,20630 25239,20634 25241,20632 25244,20636 25240,20634 25237,20639 25236,20634 25241,7590 14257,7592 14260,7592 14262,7592 14265,7595 14266,7600 14263,7600 14268,7604 14270,7609 14274,7611 14275,7615 14275,7620 14277,7620 14276,7625 14277,7625 14277,7628 14281,7628 14286,7630 14284,7630 14284,8543 20146,8542 20148,8546 20150,8550 20152,8550 20153,8550 20158,8545 20156,8545 20157,8550 20157,8550 20155,8550 20157,8553 20161,8557 20161,8557 20165,8560 20161,8563 20159,8568 20154,8570 20158,8573 20161,8573 20166,8577 20168,8580 20171,8584 20173,8585 20175,8580 20180,8582 20183,8582 20188,8582 20188,8585 20193,8588 20198,8589 20199,8591 20197,8594 20198,8596 20196,8592 23196,8597 25196,8601 25199,8601 25203,8604 25202,8604 25202,8599 25205,8601 25210,8601 25206,8603 25206,8606 25206,8605 25211,8609 25211,8613 25208,8614 25205,8619 25208,8619 25210,8621 25214,8619 29214,8615 29218,8616 29219,8617 29217,8622 29222,11622 29225,11624 29229,11623 29230,9623 29225,9621 29224,9625 29227,9628 29227,9624 29232,9626 29237,9631 29241,9634 29245,9635 29248,9638 29253,9643 29258,9646 29258,9647 29255,9648 29253,9650 29258,9648 29262,9647 29262,9642 29267,9646 29267,14646 29269,14650 29274,14655 29279,14654 29277,14655 29275,14653 29276,14655 29273,14656 29269,14653 29272,14656 29272,14656 29274,14660 29276,14663 29276,14660 29278,14659 29281,14659 29276,14661 29272,14656 29273,14657 29274,14652 29270,14654 29274,14657 29270,14659 29272,14655 29275,14657 29270,14659 32270,14660 32270,14662 32273,14665 32277,12665 32279,12670 32279,12670 32277,12670 32274,12672 32277,12677 32282,12682 32285,12678 32289,12674 32291,12677 32287,12679 32287,12683 32292,12685 32292,12680 32289,12682 32294,12683 32299,12687 32298,12692 32300,12695 32305,12699 32310,12703 32311,12704 32312,21515 5172,21516 5175,21518 5175,21513 5177,21516 5182,21520 5186,21525 5185,21529 5185,21528 5186,21530 5181,21533 5178,21537 5183,21537 5183,26537 5183,26534 5183,26539 5183,26542 5178,26542 5176,26544 5176,26546 5177,26548 5175,26549 5178,26548 5181,26548 5184,26553 10184,26557 10179,26559 10175,26563 10171,26563 10173,26564 10170,26568 10169,26572 10171,26577 10171,26581 10169,26577 10173,26573 10169,26575 10171,26578 12171,26576 12175,26576 12180,26581 12183,26577 12183,26580 12184,26582 12181,26582 12182,26583 12182,26588 12186,26590 12191,26593 12193,26593 12198,26598 12198,26602 12193,26602 12193,26604 12195,26607 12195,26611 12196,26615 12196,26615 12200,21534 12152,21534 12152,21537 12147,21540 12147,21545 12150,21545 12145,21548 12150,21549 12152,21544 12152,21544 12150,21547 12153,21552 12152,21553 12157,20553 12161,20553 12156,20556 12152,15556 12157,15559 12160,15557 12163,15561 12163,15564 12166,15565 12165,15561 12161,15559 12163,15559 12168,-4274 9335,-4274 9339,-4276 9341,-4276 9344,-4273 9341,-4271 9341,-4266 9342,-4266 9339,-4269 9335,-4265 9339,-4263 9342,-4259 9345,-4254 9345,-4250 9340,-4250 9335,-4245 9338,-4242 9341,-4240 9341,-3240 9346,-3242 9349,-3241 9351,-3239 9352,-3238 9355,-3237 9358,-3233 9356,-3232 9358,-3233 9358,-3228 9363,-3228 9364,-3223 9369,-3226 9369,-3224 9373,-3222 9378,-3217 9379,-3215 9384,-3215 9384,-3215 9389,-3215 9394,-3215 9390,-3210 9385,-210 9386,-207 9389,-208 9389,1328 -1007,1328 -1010,1329 -1013,1334 -1018,1339 -1013,1344 -1013,1346 -1013,1350 -1015,1351 -2015,1353 -2016,1353 -2011,1350 -2016,1350 -2013,1354 -2010,1356 -2005,1359 -2007,1364 -2005,1363 -2005,1365 -2000,1362 -1999,1365 -1998,1366 -1998,1362 -1994,1364 -1989,1365 -1988,3668 17323,3665 17327,3663 17332,3666 17337,3667 17341,11433 8033,11434 8035,11434 8031,11437 8031,11437 8032,11441 8033,11439 8033,11442 8036,11445 8037,11448 8038,11452 8043,11454 8047,11456 8047,11459 8044,11454 8049,11457 8051,11460 8052,11463 8055,11458 8057,1346 -2990,1346 -2986,1350 -2982,1347 -2986,1352 -2983,1352 -5983,1355 -5979,1358 -5974,1354 -5970,1356 -5965,1360 -5964,1362 -5960,1364 -5960,1364 -5960,1369 -5960,1364 -5963,1369 -5960,1374 -5957,1378 -5952,1380 -5951,1384 -5951,1380 -5948,1380 -5944,1384 -5942,1387 -5945,5387 -5949,5391 -5950,5395 -5950,5395 -5951,5395 -5949,5400 -5954,5404 -5953,5402 -5958,7402 -5958,7403 -5963,7404 -5960,7404 -5959,11363 6016,11359 6018,11364 6023,11365 6024,11365 6023,11369 6025,11373 6020,11378 6020,11377 6024,11379 6029,11383 6033,11384 6034,11388 6037,11389 6041,11394 6043,11396 6048,11401 6048,11402 6050,11406 6052,11404 6054,11409 6058,11413 6059,11415 6060,11411 6065,11416 6068,11420 6073,11415 6076,11416 6078,11419 6083,11423 6085,11428 6086,11430 6086,11432 11086,11437 11091,11432 11088,11429 11086,11432 11086,11427 11090,11427 11095,11429 11092,11427 11092,11431 11087,11433 11088,11436 11090,11436 11091,11436 11096,11439 11099,11440 11099,11440 11095,11445 11097,15445 11102,15445 11102,15441 11099,15445 11100,15445 11102,15443 11106,15445 11110,15450 11107,15453 11110,15457 11110,15457 11115,15459 11119,15460 11117,15465 11117,15465 11120,15464 11123,15463 11124,15460 11124,15460 16124,15458 16127,15462 16122,15466 16126,15462 16131,15465 16133,15463 16135,15462 16136,15462 16140,15466 16142,15468 16147,15468 16147,15471 16149,15471 16147,15475 12147,15477 12150,15480 12147,15484 12144,15487 12145,15490 12147,15492 12149,15494 12150,15496 12153,15497 12155,15499 12150,15499 12147,15500 12143,15504 12146,15499 12150,15500 12150,15500 12152,15505 12153,15506 12157,15506 12157,15508 12158,15512 12159,19512 12162,19513 12159,19511 12163,19512 12162,19517 12167,19520 12167,19522 12168,19525 12171,19525 12172,19525 12175,19526 12172,19526 12172,19526 17172,19527 17175,19528 17176,19529 17179,19529 17178,19533 17181,19532 17183,19532 17179,19537 17174,19539 19174,19538 19171,19542 19172,19547 15172,7641 17282,7646 17284,7649 17284,7652 17284,7654 17285,7650 17289,7647 17291,7645 17296,7649 17297,7650 17294,7653 17294,7653 17298,7656 17303,7658 17308,7662 17313,7666 17308,7664 17313,7669 17313,7669 17313,7669 17316,7667 17313,7667 18313,7663 18314,7661 18316,7662 18317,7657 18318,7662 18315,7658 18316,7661 18318,7661 18322,7664 18317,7667 18315,7671 18315,7675 18315,7674 18315,7670 18316,11670 18316,16670 18321,16673 18321,16678 18322,16682 18327,16683 18332,16686 18334,16690 18334,16688 18336,16685 23336,16688 23337,14688 23338,14692 23337,14694 23338,14697 23339,14697 23342,14698 23342,14698 23343,14698 23348,14693 23350,14694 23347,14695 23347,14696 26347,14692 23347,14692 23347,14693 23350,14693 23351,14698 23355,18698 23352,18698 23356,18702 23360,18701 23362,18699 23363,18701 23363,18702 23366,18699 23366,18694 23370,18699 23370,18702 23374,18707 23378,18706 23380,18706 23381,22706 23384,22706 23385,22705 23389,22706 23384,22706 23384,22706 23384,22710 23380,22713 23381,22718 23386,22716 23390,22712 23390,22708 23390,22705 23392,22704 23397,25704 23402,25704 23402,25706 23404,25710 23404,22710 18404,22707 18402,22704 18403,22704 18406,22704 18411,22704 18411,22704 18410,22709 18410,22709 18407,22704 18405,22703 18405,22707 18405,20707 18409,20709 18412,20710 18411,20712 18414,20712 18414,20712 18412,20712 18416,20714 18412,20717 18417,20720 18419,20715 18421,20718 18422,20723 18425,20723 18430,20723 18434,20725 18435,20724 18437,20724 18433,20726 18433,20731 18437,20732 18437,20730 18438,20735 18440,20739 18438,20734 18438,20739 18437,20739 18437,20744 18439,20749 18438,20750 18434,20753 18436,20754 18431,20754 18432,20758 18433,20762 18438,20764 18443,20766 18447,20766 18450,20767 18451,20768 18451,20769 18448,20770 18452,20774 18456,20777 18458,20781 18462,20782 18463,20785 18468,17785 21468,17784 21473,17782 21477,17787 21481,17783 21482,17785 26482,17788 26482,17788 26482,17791 26479,17794 26483,17790 26483,22790 26483,22790 26479,20583 16215,20585 16220,20589 16225,20590 20225,20592 20222,23592 20227,22592 20229,22597 20233,22600 20233,22603 20237,22604 20240,22599 20241,22595 18241,22595 18242,22598 18243,22602 18247,22605 18252,22601 18256,22598 18255,22600 18257,22604 18258,22609 18261,22608 18261,22606 18264,22608 18261,22605 18265,24605 18262,24608 18263,24611 18267,24608 18267,24613 18271,24615 18272,24610 18273,24614 18272,24619 18276,24621 18281,24625 18276,24622 18280,24622 18282,24621 18279,24622 18277,24627 18279,24631 18284,24634 18289,24634 18292,24634 18294,24636 18299,24639 18294,24644 18295,24647 18298,24647 18301,24643 18303,24643 18306,24639 18311,24636 18315,24641 18317,24645 18317,24648 18319,24649 18323,24649 18328,24652 18330,24652 18329,24652 18327,24655 18322,24656 18319,24658 18319,24661 18320,24664 18316,24660 18320,24657 18318,24657 18320,24659 18325,24660 18327,24661 18323,24656 18327,24652 18323,24654 23323,24658 28323,24660 28318,24665 28319,24666 28323,24668 28325,24668 28328,24672 28325,24667 28328,24668 28325,24670 28326,24665 28330,24668 28334,24672 28336,24672 28336,24668 28339,24672 28340,24672 28338,24674 28341,24675 28346,24675 28351,24677 28356,24679 28357,24681 28356,24677 28360,24680 28355,24684 28354,24688 28356,24688 28351,24690 28356,24686 28361,24691 28364,24692 28364,24692 28365,24692 31365,24693 31370,21693 31370,21692 35370,21688 35372,21692 35377,21695 35377,21697 35377,21698 35379,21698 35374,21701 35375,21701 35379,21703 35380,21708 35383,21706 36383,21709 36383,16709 36383,16710 36386,16715 36382,16711 36386,16706 36388,16706 39388,16706 39383,16706 39379,16711 39379,16711 39376,16714 39381,16716 39386,16717 39389,16717 39391,16720 39391,16723 39387,17723 39392,17726 43392,17722 43396,19722 43399,19724 43394,19727 43391,19725 43395,19723 43398,19726 46398,19730 46400,19730 46403,19730 46405,19734 46407,19734 46410,19733 46407,19728 46412,19726 46416,19726 50416,19723 50417,19723 50416,19718 50420,19719 50424,19718 50429,19713 50433,19715 50437,19718 50442,19719 50442,19718 50444,19719 50439,19721 50443,18721 50444,18721 50446,18721 50450,18726 50451,18727 50453,18722 50451,18727 50456,18729 50455,18731 50458,18726 50458,18728 50458,18730 50463,18730 50460,18729 50456,18727 50460,18730 50462,18734 50457,18739 50455,18744 50457,18744 50461,18748 50461,18748 50466,18745 50468,18749 50463,18750 50468,18754 50472,18754 50472,18759 50472,18760 50468,18763 50473,18760 50477,18762 50477,18766 50481,18769 50483,18769 50481,18772 50482,18776 50482,18779 50486,18779 50489,18781 50489,18783 50494,18786 50496,18786 50495,18786 50498,18784 50499,18784 50499,21784 50504,21788 50502,21785 49502,21790 49501,21790 49498,21795 49494,21800 49494,21801 49495,21801 49500,21797 49505,21799 46505,21802 46508,21798 46513,21799 46516,21802 46516,21805 46519,21800 46524,21805 46527,21804 46528,21801 47528,21801 47531,21804 47533,21804 47529,21804 47534,21809 47538,21808 47538,21812 47540,21812 47535,21813 47532,21810 52532,21812 52535,21817 52536,21820 52536,21824 52541,21828 52545,19828 52545,19829 52547,19829 52551,19833 52555,19831 52552,19826 52557,17826 52562,17827 52567,17830 52568,17830 52572,17830 52575,17830 52575,17830 52574,17831 52578,17827 52582,17827 55582,17829 55583,17834 55583,17839 56583,17843 56579,17846 56580,17850 56584,17848 56588,17853 56592,17851 56596,17856 56596,17856 56600,17851 56601,17856 56601,17856 56604,20856 56604,20861 56601,20865 56596,20865 56597,20866 56597,20869 56602,20871 56603,20874 56607,20871 56605,20872 56610,20874 56613,20874 56612,20876 56617,20876 56622,20876 56626,20876 56621,20879 56623,20880 56627,20883 56624,20880 56629,20880 56629,20881 56630,20884 56630,20884 56635,20881 56636,20879 56637,20876 56632,20879 56629,20881 56633,20878 56634,20879 56634,20879 56637,20879 56642,20884 56638,20879 56639,20884 56634,20885 56631,20886 56633,20889 56632,20894 56627,20894 56631,20894 56631,20898 56632,20903 56632,20908 56630,20907 56633,20907 56636,20903 56641,20904 56641,20904 56637,20900 56639,20905 56642,20910 56643,20905 56648,20910 56653,20915 56654,20910 56659,20910 56663,20910 56664,20912 56664,20912 56666,20917 56670,20922 56670,20918 56673,20920 56675,20920 56677,20920 56677,20921 56681,20926 56677,20931 56677,20934 56680,20934 56684,20936 56689,20938 56689,20938 56690,20940 56695,20935 56696,20939 56697,20939 56699,20940 56696,20941 56694,20940 56698,20945 56700,20947 56702,20947 56707,20950 56712,20954 56713,20950 56710,20952 56706,20955 56704,20957 56708,20953 56709,20951 56714,20953 56716,20957 56720,20957 56722,20959 56725,20958 56727,20959 56728,20962 56731,20963 56736,20965 56741,20965 56740,20967 56742,20969 56737,20969 56742,20974 56744,20979 56744,20978 56745,20974 56748,20970 57748,20972 57749,20974 57751,20971 57754,20972 57752,20977 57755,20981 57758,20981 57763,20981 57765,20984 57765,20982 57767,20982 57763,20987 55763,20989 55767,20991 55770,20987 55771,20988 55774,20988 55777,20991 55775,21991 55778,21996 55778,22000 55783,22001 55783,22005 55783,22010 55785,17010 55781,17011 55783,20011 55778,20015 55783,20018 55786,20015 55791,20015 55795,20019 55792,20019 55792,20021 55792,20022 55788,20023 55783,20028 55786,25028 55790,26028 55795,26029 55790,26030 57790,26033 57794,26032 57798,26036 57802,26039 57805,26042 57805,26046 57810,26050 57811,26054 57815,26054 57819,26050 57819,26055 57820,26060 57822,26063 57823,26066 57826,26068 57824,26073 57826,26077 57831,26082 57831,26078 57836,26082 57839,26084 57839,26086 57834,26082 57834,26083 57835,26082 57840,26083 57844,26086 57843,26083 57846,22083 57849,22084 57847,22089 57847,22094 57848,22094 57853,22094 57850,22095 59850,22095 59855,22098 59858,22099 63858,22099 63861,21099 63861,21104 63862,19104 63862,19108 63864,19109 63864,19112 63868,19113 63873,19117 63876,19121 63875,19116 63877,19115 63882,19117 63878,19122 63883,19125 63884,19129 63879,19133 63879,19135 63874,19139 63871,19136 63871,19136 63873,19140 63868,19140 63873,19144 63877,20144 63879,20144 63876,20146 63880,20148 63878,20149 63877,20149 63879,20150 63882,20155 63886,20155 64886,20159 64884,20160 64884,20161 64887,20160 64887,20164 64887,12677 32287,12677 32292,12679 32297,12678 32298,12682 32294,12687 32294,12682 32296,12682 32296,12683 32298,12683 32301,12682 32305,12685 32309,12686 32311,12686 32316,12691 32311,12692 32316,12692 32312,12697 32314,12700 32319,12705 32322,12706 32327,12704 32329,12705 32332,12702 32334,12707 32338,12703 28338,12704 28340,12700 28345,12702 28345,12702 28345,12701 28348,12704 28349,12704 28345,12709 28342,12709 28343,12714 28347,12718 28351,12723 28352,12727 28353,12730 28355,12728 28353,12733 25353,15733 25353,15736 25355,15740 25356,15745 25356,15747 25351,15752 25353,15752 25354,15754 25354,15754 25353,15759 25352,15763 25352,15764 25357,15759 25352,15761 27352,15760 27354,15760 27354,15760 27355,15762 27357,15762 27354,15759 27354,15759 27354,15763 27358,15767 32358,15764 32360,15769 32360,15767 32360,15765 37360,15770 37362,15772 37363,15774 37367,15779 37363,15780 37359,15779 37363,15782 37366,15780 37370,15775 37370,15778 37365,15781 37360,15785 37356,15785 39356,15789 39358,15789 39360,15794 39365,15794 39370,15797 39375,15797 39380,15799 39379,15804 39376,15805 39377,15807 39380,15808 39385,15809 39386,15807 39386,15809 39386,15810 39389,15815 39392,15820 39392,15819 39396,15820 39398,15820 39395,15825 39400,15823 39405,15824 39403,15829 39403,15834 39406,15836 39411,15831 39415,15832 39415,15833 39415,15838 39417,15839 39419,15839 39414,15842 39413,15846 39418,15843 39420,15842 39423,15839 39420,15840 39422,15839 39420,15842 39415,15846 39410,17846 39415,17845 39411,17847 39416,17849 39420,18849 39424,18847 41424,18852 41424,18849 41429,18849 41432,18848 43432,18852 43433,18855 43433,18859 43435,18855 47435,18858 47440,18861 47435,18866 47435,18866 47439,18869 47442,18871 47445,18873 47445,21873 47445,21876 47444,21873 47449,21878 47451,21883 47456,21880 47454,21880 47454,21880 47457,21883 47459,21887 47464,21890 47465,21893 47467,21894 47464,16894 47462,16899 47457,16898 47455,16893 47456,16897 47458,16896 47455,16898 47459,16900 47464,16903 47469,16908 47471,16903 47474,16901 47473,16906 47473,16901 47478,16904 47479,16906 47475,16906 47474,16907 47475,16906 47479,16901 47482,16901 47482,16905 47486,16908 47487,16911 47490,16915 47490,16917 47492,16921 47497,16926 47498,19525 12175,19525 12176,19521 12177,19522 12181,19525 14181,19521 14181,19519 14185,19519 14189,19524 14192,19527 14192,19529 14196,19534 14200,19535 14205,19538 14208,19540 14204,19545 14207,19545 14207,19547 14210,19550 15210,19554 15210,19555 15210,19555 15213,19560 15213,19562 15212,19564 15213,19569 15210,19570 15214,19573 15214,23573 15217,28573 17217,28574 17220,28574 17219,28574 17224,28576 17229,28577 17233,28577 17236,28579 17236,28580 17238,28584 17243,28588 17248,28587 17252,28587 17252,28582 17255,29582 17259,29577 17260,29578 17262,29583 17257,29585 17257,29586 17260,29586 17265,29590 17267,29593 17267,29594 17267,29599 21267,29603 21271,29603 21272,29605 21274,29607 21276,29612 26276,29613 26279,29616 26280,29621 26277,29621 26277,29623 26282,29626 26285,29631 26289,29628 26289,29632 26290,29637 26294,29642 26290,29646 26292,29648 26291,29649 26288,29653 26293,29655 26292,29655 26293,12702 28345,12703 28348,12698 27348,12699 27349,12698 27354,12700 27354,12700 27355,12703 27360,12703 27361,12700 27362,12704 27367,12701 27371,12706 27376,12710 27372,12710 27373,12710 27368,12715 27370,12713 27374,12716 27378,12716 27380,12714 27379,12719 27374,12718 27373,12722 27376,12724 27376,12729 27371,12733 27372,12733 27377,12735 27373,12735 27374,12737 27378,12739 27379,12742 27381,12739 27381,12739 27376,12743 27378,12743 27379,9743 27375,9744 32375,9745 32377,9746 32374,9746 32372,9750 37372,9752 37375,9754 37375,9751 37377,9755 37379,9759 37379,9763 37383,9766 37385,9767 37382,9768 37383,9765 40383,9770 40378,9770 40382,9775 40384,9777 40386,9782 40391,9778 40395,9773 40395,9778 40397,9779 40399,9781 40402,9781 40398,9781 40393,9780 40396,9782 40399,9785 40398,9786 40395,9789 40390,9793 40387,9798 40390,9803 40394,9805 40397,9800 40400,9795 40402,9800 40403,9802 40407,9807 40410,9806 40407,9807 40403,9812 40400,9814 40403,9819 40403,9819 40400,9822 40405,9824 40405,9822 40408,9827 40410,9831 40413,9831 40413,9826 40412,9827 40417,9832 40418,9832 40416,9833 41416,9833 41421,9834 41416,9838 41416,9838 41421,9840 41422,9844 41424,9839 41424,9843 41427,9845 41430,9849 41430,9849 41425,9852 41423,9855 41426,9858 41429,9860 41434,9862 41436,9866 41441,9868 41436,9869 41434,9871 41434,9875 41437,9877 41437,9881 41438,9883 41438,9879 41438,20903 56641,20898 56644,20903 56647,20901 56649,20903 56645,20905 56650,20909 53650,20905 53650,20910 53652,20907 53655,20912 53652,20916 53656,20917 53656,20912 53661,20912 53660,23912 53663,23912 53663,23909 53663,23912 53665,23913 53669,23911 53669,23915 53669,23912 53671,23916 53670,23917 53675,23922 53680,23927 53683,23930 53688,23935 53689,23935 53691,23935 53691,23931 53692,23931 53694,27931 53693,27933 53695,27937 53695,27942 53699,27947 53701,27949 53703,27949 53704,27949 53708,27952 55708,27953 55710,27949 55710,27953 55710,27958 55713,27959 55718,27960 55722,27962 55725,27965 55730,27965 55732,27968 55730,27969 55733,27972 55733,27975 55734,27975 55734,27979 55737,27981 55733,27982 55732,32982 55732,32979 55734,32978 55737,32978 55738,32974 55742,32977 55746,32981 55750,32985 55746,32983 55747,32987 55750,32992 55751,32995 55751,32998 55751,32998 55753,32998 55753,32993 55753,32995 55757,32999 55758,33002 55760,33002 55761,33005 55766,33005 55767,33000 55764,32997 55767,32997 55771,33001 55773,32998 55777,33001 55777,33005 55776,33004 55776,33009 55781,33014 55786,33014 55790,33015 55790,33016 55790,33015 55786,34015 55787,34019 55790,34019 55791,34021 55793,34017 55793,34019 55796,34016 55797,34020 55793,34020 55796,34023 55792,34023 54792,34025 54797,34028 54800,34029 54799,34029 54795,34034 54796,34036 54797,34041 54792,36041 54797,36045 54801,36048 54803,36051 54804,36053 54806,11439 8033,11441 8038,11441 8039,11441 8040,11445 8035,11441 8035,11442 8039,11438 8035,11438 8035,11443 8039,16443 8038,16444 8038,14444 8040,14448 12040,14451 12036,14455 12038,14455 12041,14456 12046,14459 12049,14457 12051,14458 12046,14458 12047,14459 12042,14464 12042,14465 12047,14470 12050,14471 12055,14471 12058,14468 12060,14473 10060,14477 7060,14477 7062,14474 7062,14474 7067,16474 7063,16471 7065,16474 7067,16471 7072,16471 7068,16476 7066,16481 7069,16482 7072,16487 7072,16487 7077,16488 7077,16493 7076,16493 7079,16497 7079,16500 7079,16502 7079,16502 7079,16505 7075,16504 7080,16501 7077,16497 7079,16501 7081,16497 7080,16496 7084,16500 7086,16495 7087,16498 7084,16501 7087,16496 7087,16496 7083,17496 7083,17500 7083,17505 7088,9860 41434,9864 41435,9864 41435,9865 42435,9860 42435,9862 42436,9863 42434,9863 42430,9862 40430,9863 40427,9863 40428,20608 16239,20605 16242,20610 16237,20614 16237,20615 16242,20611 16242,20612 16245,20609 16244,20604 16242,22604 16237,22608 16239,22607 16240,22610 16244,22610 16241,22615 16246,22616 16246,22614 16251,22616 16251,22617 16249,22619 16254,22623 16252,22618 16255,22618 16259,22620 16262,22615 16262,22618 16263,22622 16263,22626 16265,22629 16266,22628 16269,22633 16267,22636 16268,22636 16267,22641 16269,22646 16269,22645 16271,22646 16273,22650 16271,22655 16274,22655 16277,22658 16279,22660 16280,22658 16280,22661 20280,22663 20282,19663 20285,19658 20288,19658 20292,19661 20295,19666 20298,19670 20301,19671 20301,19675 20301,19677 20306,19675 20311,19674 20315,19678 20318,19677 20314,19680 20315,19682 20310,19684 20314,19683 20316,19687 20315,19688 20316,19688 20319,19693 20319,19698 20322,19702 20323,19698 20323,19702 21323,19707 22323,8508 20119,8509 20119,8510 20116,8515 20113,8518 20115,8519 20116,8516 20120,8520 20119,8520 20118,8525 20123,8527 20125,8527 20125,8528 20123,8530 20126,8533 20123,8535 20127,8532 20132,8534 20136,8538 20138,8542 20141,8537 20143,8537 20145,8542 20145,8547 21145,8548 24145,8552 24145,8557 24150,8560 24147,8562 24151,8566 24156,8569 24160,8574 24156,8579 24159,8584 24164,8587 24164,8585 24167,8588 24170,8591 24171,8589 24172,8590 24176,8595 24177,8593 24174,8596 24178,8600 24179,8603 24175,8602 24178,9602 24182,9605 24177,9609 24178,9610 24182,9608 24178,9603 24183,9606 24188,9608 24193,9609 24195,9614 24196,9616 24197,9618 24201,9618 24205,9613 24209,9612 24214,9608 24211,9603 24216,9607 24221,9611 24221,9615 24217,9617 24217,9618 24221,9623 24225,9623 24225,9626 24225,9630 24225,9630 24222,9626 24223,9626 22223,9627 22223,9626 22226,9629 22228,9632 22228,9636 22225,9638 22226,9639 22227,9634 22230,9634 22231,9639 22235,9639 22240,9641 22242,9642 22246,9647 22249,9652 22250,9655 22255,9651 22256,9652 22253,9652 22256,9652 22261,9655 22262,9657 22257,9659 22261,9659 22261,9657 22264,9657 22261,9656 22264,9661 22267,9662 22270,12662 22270,12665 22265,12669 22270,12669 22270,12673 22269,11356 7007,11361 7010,11361 7010,11357 7014,11356 7015,12356 7020,12357 7015,12361 7017,11361 7018,11364 7017,11359 7018,11355 7017,11354 7020,11357 7020,11361 7023,11364 12023,11368 12028,11368 12029,11371 12030,11372 12034,14372 12034,14372 12039,14372 12042,14376 12045,14381 12047,14379 12047,14381 12049,14384 12054,14385 12051,14388 12056,14384 12056,14384 12061,14381 12058,14386 12062,14386 12059,14391 12059,14396 12060,14397 12060,14398 12056,14403 12051,14408 12052,14410 12057,14409 12057,14414 12053,14414 12051,14415 12051,14420 12049,14423 12048,14427 12044,14427 12044,14425 10044,14421 10049,14424 11049,14426 11054,14427 11059,14429 11064,14433 11064,14434 11064,14437 11065,14441 11068,14444 11072,14445 11076,13445 12076,13445 12077,13445 12081,13444 14081,13446 14081,13446 14078,13449 14083,13447 14084,13450 14085,13452 14090,13453 14087,13456 14084,13457 14083,13461 14081,13463 14082,12463 14082,12463 14087,12463 14087,12464 14087,8464 14087,8465 14083,8465 14080,8467 14085,8472 14085,8473 14085,8476 14090,8474 14094,8475 14094,8480 14094,8481 14099,8476 14103,8476 14107,8480 14111,8483 14116,8488 14120,8488 14118,8488 14120,8483 14115,8481 14118,8485 17118,8485 17114,8488 17110,8488 17115,8484 21115,8484 21118,8486 21120,8487 21120,8482 21115,8487 21118,8490 21122,8494 21127,8497 21132,8497 21133,8500 23133,8503 23135,8507 23135,8508 23132,8511 23129,8512 23125,8517 23126,8522 23125,8527 23129,8522 23131,8527 23132,8530 23132,8531 23128,8533 23132,8533 23134,8533 23139,8533 23144,8536 23143,8537 23146,8533 23146,8533 23149,8537 23152,8533 23157,8530 23158,8532 23162,8536 23162,8536 23165,8536 23165,8540 23170,8544 23171,8548 23169,8547 23173,8551 23176,8552 23173,8548 23169,8553 23173,8553 23170,8548 23173,8549 23173,8546 22173,8547 22174,8551 22177,8550 22179,8552 22183,8553 22183,8553 22184,8557 22185,6557 22185,13598 20226,13601 20227,13604 20229,13608 20233,13610 20234,13605 20237,17605 20237,17610 20242,17605 20242,17602 20241,14602 20241,18602 20236,18606 20239,18606 20244,18608 20241,16608 20245,16611 20240,16615 20239,16610 20234,16611 20232,16613 20235,16608 20235,16608 20239,16613 20242,19734 46410,19734 46410,19738 46414,19737 46414,19735 46415,19737 46418,19741 46421,19744 46423,23912 53671,23908 53673,27908 53675,27913 54675,27917 58675,27921 58677,27925 58678,27930 58678,27926 58683,27930 58686,27931 58691,27931 58695,27934 58700,27936 58699,27936 58699,27941 58695,27942 58695,27947 58699,27952 58699,27954 58703,27957 58704,27962 58708,27958 58706,27959 58703,27962 58703,27967 58706,27967 58701,27965 58701,27962 58702,27966 58703,27971 58704,27976 58706,27980 58709,27980 58712,27975 58711,27971 58716,27971 58713,27968 58712,27968 58712,27971 58711,27968 58713,27968 58710,27969 58708,27972 58706,27976 58711,27978 58716,27979 58716,27983 58718,27978 58718,27981 58719,27981 58723,27986 58725,27986 58728,27986 58731,27991 58734,27996 58738,27993 58736,27995 58732,31995 58736,31990 58735,31993 58738,31990 58734,31995 58729,31996 58729,31999 58731,31994 58726,31996 58731,12463 14087,12465 14090,12465 14093,12463 14090,12463 14095,12461 14092,12464 14093,12459 14091,12459 14091,12459 14091,12459 14096,12461 14100,12458 14103,12457 14101,12452 14101,12452 14106,12453 14103,12453 17103,12455 17104,15455 17104,15460 17108,15463 17104,15458 17108,18458 17108,21458 17105,21461 17105,21464 17110,21467 17115,21464 17120,21464 17120,21468 17123,21470 17126,21465 21126,21461 21126,21464 21128,21464 21132,21468 21137,21471 21142,21475 21146,21471 21146,21476 21147,21473 21151,21475 25151,21475 25152,21477 25153,21481 29153,21479 29158,21484 29162,21488 29162,21490 29165,21487 29170,21488 29167,21489 29162,21493 29164,21493 29169,21498 29169,21499 29164,21495 29167,21498 29167,23498 29170,23498 29169,23503 29172,23505 29171,23510 29167,23514 29164,28514 29168,28514 29172,28514 29174,28512 29172,28513 29176,28518 29179,28518 29182,28521 29177,28521 29179,28519 29179,28517 29179,28515 29177,28519 29177,28519 29179,28524 29184,28527 29183,28527 29185,28523 29187,28523 29184,28525 29189,28522 29189,28518 29186,28523 29189,28519 29189,28521 29189,28526 29193,28529 29193,28529 29196,28534 29200,28538 32200,28537 30200,28539 30202,33539 30207,33539 30209,33534 30205,33535 30208,33536 30208,33538 30213,33538 30214,33542 30218,33545 30221,33548 30222,33551 30225,33552 30227,33554 30231,33555 30233,33560 30228,33563 30225,33564 30229,33565 34229,33565 34234,33570 34231,33572 34235,33572 34239,33573 34243,33578 34239,33579 34243,33574 34247,33573 34247,33576 34243,33573 37243,33573 37246,33568 37241,33568 37244,33573 37239,33578 33239,33574 33241,33574 33239,33578 38239,33583 38242,33587 38242,33590 38242,33594 38243,33596 38247,33599 38248,33599 38252,33595 38252,33598 38257,33603 38258,33604 37258,33609 37255,33604 37257,33607 37262,33607 37265,33609 37266,33614 37271,33614 37276,33616 37278,33616 38278,33616 38282,33621 38284,33621 38288,33621 38285,33618 38289,33616 38291,33616 38294,33611 38296,33608 38301,33610 38305,33610 38300,33612 38303,33617 38308,33621 38309,33625 38305,33630 38307,33634 42307,33636 42310,33638 42314,33634 42312,33631 42315,33631 42315,27931 58691,27936 58693,27937 58695,27940 58700,27943 58703,27943 58708,27946 58709,27950 58711,27950 58714,29950 58718,29951 58723,29947 58728,29947 58732,29950 58727,29950 58727,29955 58730,29960 58734,29964 58732,29961 58734,29963 58735,29968 58739,29968 58741,34968 58739,34971 58739,34972 58739,34973 58740,34968 58741,34970 58743,34974 58745,34977 58749,34979 58744,39979 58745,39979 58742,39978 58744,39982 58748,39983 58744,39983 58744,39979 58747,39979 58752,39983 58757,39982 58759,39985 58759,39986 58759,39983 60759,39986 60762,39990 60767,39994 60770,39994 60770,39997 60770,39997 60770,40000 60775,40002 60775,40003 60779,40007 60784,40008 60787,40011 60788,40015 60788,40016 60790,40016 60792,40021 60788,40025 60788,40030 60788,40026 60786,40027 60786,40030 60787,40032 60792,40037 60795,40032 60800,40032 60799,40035 64799,40035 64801,40036 64806,40041 64803,40037 64805,40038 64801,40040 64804,40036 64804,40040 64805,40045 64810,40048 64811,40051 64813,40051 64817,13491 17139,13486 18139,13489 18139,13494 20139,13492 20138,13494 20141,13499 20145,13499 20145,13499 20148,13503 20149,13500 20149,13505 20151,9367 11012,12367 11015,12369 11011,12364 11012,12364 11015,12359 11011,12354 11011,12354 11014,12359 11017,12356 11015,12361 11015,12361 12015,12365 12016,12369 8016,12374 8021,12373 8025,11373 8021,11368 8021,11373 8024,12700 27362,13700 27363,13705 27364,13710 27368,13705 27369,13707 27367,13707 27371,13709 27375,13712 27377,13714 27373,13712 27376,13714 27379,13713 27382,13718 27384,13713 27380,13713 27385,13711 27386,13715 27386,13719 27386,13719 27389,15719 27394,15724 27398,15729 27400,15734 27401,15734 27401,15729 27396,15732 27396,15735 27397,15734 27399,15733 27400,15729 27400,15734 27400,15729 27405,15734 27405,15739 27408,15739 27408,15741 27412,15743 27416,15743 27416,15740 27416,16740 31416,16743 31421,16738 31425,16742 31430,16742 31435,16743 31439,16743 31444,16741 31449,16746 31450,16747 31455,16742 31459,16738 31463,16742 31466,16742 31471,16742 31471,16742 31471,16744 31475,16749 36475,16749 36473,16753 36478,16757 36474,16761 36477,16759 36478,16761 36481,16760 36484,16761 36485,16760 36486,16765 36491,16766 36494,16771 36498,16769 36501,16771 37501,16774 37504,16769 37507,16769 37507,16772 37503,16772 37508,16774 37511,16774 37510,18774 37515,18777 37515,18772 37512,18775 37514,18777 37517,18778 37519,18779 37517,18776 37517,18778 37520,18780 37520,18785 37522,18785 37526,18787 37523,18786 37520,18790 38520,18789 38520,18792 38522,18797 38527,18802 38529,20802 38534,20804 38535,20803 38540,20802 38539,20806 38543,20811 38546,20814 38543,20812 38541,20808 38546,20811 38544,20815 38539,20816 38535,20818 38531,20815 38531,20814 38528,20814 38533,20817 38536,20816 38539,20821 38540,20818 38542,20820 38540,20816 38540,20821 38540,20823 38541,20828 38541,20831 38546,20836 38547,20836 38548,20835 38553,20835 37553,20835 37558,20837 37558,20842 37560,20846 37561,20846 37564,20849 37569,20854 37564,20854 37565,20850 37566,20852 38566,20856 39566,20861 39566,20863 39562,20867 39566,20872 39567,20868 39566,20873 39568,20876 39573,20876 39573,20880 39575,20884 39579,20885 39580,20889 39580,20891 39584,20888 38584,20889 38587,20890 38592,20891 37592,20892 37597,20894 35597,20895 35600,20897 35603,20899 35605,16678 18322,16681 18323,16682 18323,16686 18328,16690 18326,16693 18331,11693 18335,11692 18332,11695 18332,11698 18335,11703 18335,11703 18336,11702 18339,11698 18344,11702 18349,11705 18353,11704 18357,11707 18360,11707 18359,11711 18358,11716 18358,11713 18358,11712 18360,11710 18360,11710 18362,11710 18362,11710 18367,11710 18366,11707 18366,11706 18365,11710 18369,11715 18371,11714 18374,11712 18376,11711 18377,11711 18379,11712 18384,11715 18385,11711 18385,11714 18387,11717 18389,11718 18386,11721 19386,11723 19391,11722 19395,11722 19396,11723 19398,11726 19398,11729 19403,11733 19408,11736 19407,11733 19411,6733 19407,6735 19402,6738 19402,6743 19406,6746 19406,6742 19411,6742 19414,6742 19414,6746 19419,6746 19423,6746 19418,6749 19418,6747 19418,6748 19420,6748 19424,6748 19424,6751 19427,6751 19429,6752 19429,9752 19426,9754 19428,9759 19430,9756 19431,9751 19435,9753 19440,9757 19445,9755 19443,9757 19448,9757 19448,9759 19451,9763 19451,9766 19454,9766 19456,9770 19459,9770 19462,9770 19466,9766 19467,9771 19468,9772 19468,9769 19469,9768 19470,9770 19470,9774 19473,9778 19470,9781 19470,9786 19471,9789 19471,9789 19473,9792 19478,9795 19475,9800 19478,1256 2899,1260 -1101,1256 -1097,1255 -1093,1255 -1094,1259 -1089,1260 -89,2260 -84,2258 -84,2263 -88,2267 -89,2268 -91,2269 -86,2272 -86,2272 -82,2273 -77,2276 -79,2281 -81,2283 -79,2287 -75,2292 1925,2297 1930,2299 1930,2303 1932,2308 1937,2308 1936,2313 1937,2315 1934,2316 1935,2311 1936,2316 1937,2319 1938,2322 1940,2327 1940,2331 1940,2327 1943,2329 1945,2331 1950,2336 1950,2339 1954,2338 1954,7338 1954,7337 1958,7341 1960,7341 1964,8550 20152,8554 20152,8553 15152,8550 15152,8554 15154,8552 15149,8552 15153,8556 15151,8556 15148,8552 15152,8547 15149,8552 15154,8552 15155,8553 15156,8550 15156,8553 15160,8556 15164,8558 15163,8561 15163,8563 15167,8559 15169,8559 15166,8564 15167,8568 15171,8572 16171,8572 16173,8574 16170,8571 16174,8575 16174,8576 16174,8576 16174,8580 16178,8579 16183,8574 16184,8576 16184,7576 16186,7572 16181,7577 16181,7577 16185,7578 16190,7583 16185,7583 16185,7587 16185,12587 19185,12582 19188,12587 19193,12587 19195,10534 21158,10538 21162,10540 19162,10543 19158,10547 19158,10551 19160,10551 19158,10554 19158,10553 19157,10555 19157,10555 19154,10552 19156,10553 19161,10555 19166,10558 19165,10560 19165,10561 19165,10561 19165,10564 19166,10567 19164,10570 19162,10575 19165,10577 19164,10577 19168,10578 19168,10574 19171,10574 19172,10571 19175,10573 19178,6503 16143,6507 16146,6509 16142,6510 16142,6510 16143,6512 16143,6514 16146,6517 16148,6522 16143,6525 16143,6530 16143,6534 16146,6531 16144,8490 16106,8490 16106,8492 16109,8489 16110,8491 16106,8487 16109,8488 16104,8490 17104,8495 17108,8490 17109,8493 17108,8498 17111,8500 17111,8500 17109,8501 17113,8506 17118,8506 17118,8506 17123,4506 17125,4511 17123,4516 17126,4514 17125,4519 17124,4520 17126,4525 17129,4530 17124,4526 17124,4528 17124,4533 17127,4535 17127,4531 16127,4531 16124,4534 16124,4538 16125,2538 16130,2539 16131,2544 16133,2544 16129,2540 16129,2545 16129,2550 16126,7550 16126,7555 16128,7559 16124,7559 16129,7560 16132,7561 16128,7566 16132,9566 16136,9568 16136,9573 16141,9570 16144,9571 16146,9573 16150,9577 16153,9581 16148,9579 16153,9584 16157,9586 16160,9581 16162,9578 16165,10578 16162,10579 16163,10574 18163,10570 18164,10568 18164,10570 18169,10572 18170,10575 18170,10575 18175,10579 18176,10580 18176,10585 18176,10581 20176,10586 20178,10587 20178,10585 20179,10585 20177,10581 20178,10584 20183,10586 20187,10590 20187,10591 20190,10587 20188,10591 20187,10591 20192,10592 20191,10597 20195,10602 20194,10602 20195,10607 20197,10607 20198,13607 20201,13607 20200,13607 20204,13604 20204,13605 20209,13607 20209,13612 20214,13615 20218,13615 20218,13619 20220,13624 20224,13628 20219,18628 20216,18630 20213,18635 20213,18632 20211,18629 20211,18632 20215,18632 20216,18632 20217,18632 20217,18627 20214,18630 20209,18633 20212,18636 20212,18638 20217,18643 20222,22643 20219,22643 20219,22644 20219,22644 20214,22645 20216,22645 21216,22646 21220,22642 21224,22642 21221,22641 21224,22638 21229,22641 21232,22642 21235,22643 21238,22644 21236,22649 21237,22704 18411,22704 18412,22699 18412,22696 18416,22701 18412,22703 18416,22698 18416,22693 18418,22695 18422,22698 18422,22700 18426,22705 18427,22706 18427,22708 18432,22708 18432,22704 18431,22709 18427,22709 18432,22709 18436,22713 21436,22718 21438,22719 21437,22721 21440,22725 21443,22727 21445,22724 21450,22724 21451,22727 21453,22730 21453,22730 21458,22734 21460,22738 21464,20738 21464,20742 21465,22742 21465,22741 21464,22736 21464,22738 21464,22742 21460,22742 21460,22744 21458,22743 21458,22741 21455,22741 21460,22739 21456,22739 21458,22734 23458,22732 23458,22733 23463,22731 23467,22731 23469,22736 23472,22739 23472,22742 23471,22744 23471,24744 23466,24744 23468,24739 23471,24742 23474,24747 23478,24747 23481,24747 23483,24747 23486,24751 25486,24753 25489,24758 25493,24762 25497,24764 25499,24769 25496,24773 25498,24777 25499,24779 25503,24782 25500,24782 25498,24777 25498,24779 25495,24775 25495,24776 25495,24777 25495,24781 25500,24778 25503,24778 25499,24780 25500,24777 22500,24775 22505,24777 22505,24777 22501,24778 22502,24778 22505,24774 22509,24776 22509,24776 22509,24781 22509,24784 22511,24780 22513,24780 22514,24783 22515,24786 22520,24786 22520,24791 22518,24788 22517,24791 22522,24794 22525,24791 22524,24791 22528,24789 22530,24794 22530,24799 22525,24795 22524,24798 22520,24796 22516,24801 22511,24803 22516,24804 22521,24804 22526,24806 22524,24805 22524,24809 22529,24810 22531,24813 22536,24817 22536,24815 22535,24810 22530,24815 22530,24816 22530,24818 22531,24818 22531,24818 22533,24822 22533,24820 22530,24816 22529,24820 22532,24822 22533,24822 27533,24823 27536,24826 27540,24829 27541,24832 27546,24833 27549,24832 27553,24833 27552,24833 27551,24836 27551,24839 27554,24841 27554,24841 27556,24842 27559,24847 27557,24847 27562,24842 27566,24840 27564,24842 27568,24844 27563,25844 27565,25847 27569,25848 27564,25851 27561,25855 27559,25856 27556,25852 27556,25857 27561,25857 27564,25858 27564,25863 27567,25868 27567,25871 27564,25872 27565,25875 27570,25877 27573,25878 27575,25879 27574,25884 27579,25887 27577,25886 27579,25882 27582,25882 27578,25882 27582,25884 27578,25887 27583,25891 27584,25895 27582,25895 27582,25898 27583,25900 27580,11433 8033,11435 8037,11439 8040,11444 8044,11439 8048,11441 8045,11446 8044,11446 8039,11451 8038,11451 8043,11450 8046,11451 8046,11447 8049,11443 8052,11445 8057,11441 8058,11439 8060,11444 8056,11445 8053,11448 8053,11450 8049,11455 8044,11453 8042,11454 8044,11451 8049,11453 8049,11458 8052,11459 8055,11457 8053,11460 8053,11461 8055,11465 9055,11466 9056,12466 9058,12467 9054,12472 4054,12467 4056,12467 4059,12470 4058,12468 4060,14468 4064,14467 4063,14471 4060,14473 4062,14471 4067,14468 4072,14471 4076,14466 4077,14467 4074,14472 4075,14472 4080,14476 4085,14476 4090,14481 4090,14485 4091,14490 4095,14493 4095,14495 4100,14492 4100,14497 4102,14499 4100,14501 4101,14500 4106,14500 4107,14496 4108,14495 4110,14494 7110,33625 38305,38625 38310,38625 38315,38623 38318,38625 38317,38629 38318,38632 38313,38634 38313,38639 38314,38640 38317,38644 38320,38649 38321,38647 38317,38647 38322,38643 38324,38640 38319,38645 38319,38646 38319,38645 38316,38644 38318,38646 38319,38644 38324,38647 38328,38652 38325,38649 38328,38651 38332,40651 43332,40651 43335,40655 43335,40652 43339,40652 43339,40654 43336,40654 43337,40657 43333,40656 43335,40656 43338,40656 43343,40656 43341,40659 43346,45659 43348,45664 43350,45666 43346,45665 43351,45669 43355,45673 43355,45674 43359,50674 43360,50678 43363,50678 43364,50679 43367,50682 43371,50687 43374,50690 43374,50690 43377,50693 43377,50698 43382,50693 43386,50689 43386,50692 43390,50695 43392,50699 43392,50704 43397,50707 43395,50711 43391,50706 43393,50709 43393,50711 43395,50710 43397,50714 43394,50718 43394,50715 43394,50717 43399,50722 43403,50724 43407,50728 43407,50730 43408,47730 43403,47730 43404,47733 43408,47737 43409,47735 43414,47738 43416,47741 43416,47744 43421,47743 43422,47748 43424,47753 43419,47754 43420,47749 43419,52749 43423,52751 43421,52753 43421,52750 43426,52752 43428,52748 43430,52748 43426,52747 43431,52744 43431,52748 43435,52748 43435,52750 45435,52753 45440,52753 45440,52757 45442,52761 45447,52758 45447,52761 45447,52761 45452,52758 45454,52758 45455,52758 45456,52761 45460,52759 45458,52755 45463,52759 45464,52756 45461,52756 45462,52758 45467,52760 45470,52759 45469,52762 45473,52762 45474,15617 20233,15612 20238,15611 20242,15613 20237,15617 20238,15618 20239,15621 20236,15623 20240,15622 20240,15622 20245,15623 20244,15628 20242,15628 20247,15625 20246,15628 20250,15630 24250,15632 24251,15634 24253,15629 24252,15633 24250,15629 24250,15633 24248,15629 24248,15634 24248,15636 24253,15640 24253,15643 24257,15639 24254,15642 24257,15643 26257,15648 26255,15643 26256,15641 26258,15646 26262,15646 26263,15651 26263,15648 26267,15653 27267,15656 27270,15660 27272,15662 29272,15658 29276,15658 29277,15658 29272,15663 29274,15663 29274,17663 29274,17663 29279,17668 29283,17671 29285,17670 29287,17675 29289,17676 29293,17679 29296,17682 29297,17685 29299,17686 29300,17687 29305,17685 33305,17686 33310,17687 33310,17689 33306,17687 34306,17691 34304,17694 34306,17696 34306,17695 34309,17691 34314,17691 34311,17692 34306,17696 34310,17700 34310,17697 34312,17699 34316,17704 34318,17701 34318,17705 34322,17704 34321,17706 34319,17706 34319,17702 34316,17707 37316,17710 37318,19710 37313,19705 37313,19708 37308,19712 37310,19710 37312,19711 37307,19711 37307,19714 37310,19718 37312,19719 37309,19723 37312,19727 37315,19729 37317,19731 37322,19734 37323,19735 37324,19737 37322,19742 37326,19740 37331,19745 37335,19742 37335,19742 37340,19745 37341,19749 37341,19749 37342,19752 37347,19757 37347,19762 37345,19764 37341,19768 37345,19769 37350,19771 37355,19773 33355,19770 33360,19765 33364,19769 33364,19773 33365,22773 33364,22771 33360,22775 38360,22779 38364,22780 38369,22782 38371,22784 38371,22789 40371,22792 40375,22789 40375,22789 40377,22793 40376,23793 40378,23795 41378,23791 41378,23792 41378,23796 41382,23798 41383,22798 41386,22799 41390,22804 41390,22804 41391,22808 41391,22812 41393,22814 39393,22819 39393,22821 39395,22823 39397,22828 36397,22832 36392,22832 36393,22836 36396,22836 36401,22838 36402,19838 36403,19837 36408,19841 36408,19843 36409,19845 36404,19847 36405,19847 36408,19847 36411,19848 36413,19850 36415,19845 36419,19841 36417,19843 36419,19843 36419,19846 36424,19848 36425,19850 36425,19845 36425,19846 36425,19848 36430,19852 36430,19849 36435,19846 36440,19851 36440,19846 36438,19848 36439,19844 36442,19845 36446,19841 36448,19841 36449,19841 38449,19841 38452,19846 38455,19848 38458,19852 42458,19856 42462,19859 42463,19859 42465,19861 42462,19862 42463,19864 42463,19867 42467,19870 42470,19871 42468,21871 42467,26871 42464,26867 42466,26872 42463,26872 42464,26874 42463,26879 42466,26882 42466,26883 42471,26879 42476,26878 42477,27878 42479,27882 42479,27883 42480,27886 42483,27887 42487,27885 42484,27887 42483,27890 42484,27890 42485,22890 42486,22890 42489,22890 42491,22895 42494,22897 42498,22899 42502,22901 42502,22896 42503,22892 42498,22896 42498,22891 42502,22892 42505,22897 42507,22898 42511,22903 42515,22906 42510,22911 42513,17911 42508,17915 42512,17918 42509,17913 44509,17915 44514,17919 44510,17923 44514,17927 44510,17927 44513,17927 44517,17928 44521,21928 44517,21930 44516,21931 44513,21929 44513,21933 44517,21934 44519,21933 44520,21934 44520,21937 44520,21938 44520,21943 44520,21938 44523,21940 44527,21936 44532,21941 44536,21942 44541,21937 44545,21938 44545,21938 44545,21940 44543,21937 44538,21941 44543,21938 44547,21938 44547,21938 44547,21937 44551,21937 44551,21933 44556,21935 44554,21937 44558,21940 44562,21944 44564,21949 44561,21952 44566,21955 44568,21960 44569,21963 44571,21963 44571,21965 44574,25965 44579,25967 44584,25967 44584,25970 44588,22970 41588,22970 41586,22975 41585,22974 41589,22970 41593,22966 41598,22965 41598,22970 41598,22965 41601,22965 41604,22965 46604,22968 46604,27968 46602,27968 46602,25968 46601,25967 45601,25968 45602,25971 45607,25975 45610,25979 45614,25977 45612,25975 45609,26975 45609,26980 46609,26979 46613,26982 46610,26982 46611,26980 46615,26982 46616,26985 46616,26986 46617,26987 46615,30987 46617,30987 46622,30986 46626,30988 46629,30989 46627,17671 29285,17673 26285,17677 26286,17678 26285,17681 26289,15681 26292,15685 26297,10685 26297,10689 26301,10689 26297,10693 26300,10695 26301,10691 26297,10696 26299,10696 26304,10692 26306,10688 26301,10690 26302,10690 26307,10686 26305,10684 26309,10686 26312,10691 26313,10688 26318,10683 26320,10684 26325,10683 26328,14683 26328,14680 21328,14681 21331,14683 21335,14680 21333,14677 21333,14682 25333,14684 25334,14689 25338,14693 25338,14698 25341,14696 25342,18696 25343,20696 25345,20699 25349,20702 25346,20703 25351,20703 25351,20704 25351,20704 25354,20700 26354,20705 26352,20706 26351,20706 26351,20703 26354,20708 26354,20712 26355,20712 26352,20717 26349,20717 26346,20722 26351,20727 26353,20729 26348,20734 26353,24734 26349,24729 26349,24729 26352,24725 26349,24725 26353,24726 26353,24729 26355,24729 26357,24732 26359,24735 26362,24735 26364,24730 26364,24730 26363,24734 26365,24739 26368,24739 26364,24739 26366,24739 26367,24734 26370,24735 26365,24732 26367,24732 26369,24729 26372,24728 26370,24726 26365,24728 26368,24731 26370,24734 26375,24738 26378,24733 26378,24733 26381,24729 26381,13496 17147,13491 17152,13495 17148,13496 17146,13498 17141,13498 17145,13501 17147,13502 17149,13502 17153,13505 17149,13505 17152,13500 17149,13496 20149,13492 20150,13497 20155,8497 20151,8501 20153,8502 20156,8506 20159,8503 20159,12503 19159,12503 19159,12505 19164,12500 19159,12500 19164,12500 15164,12503 15169,12508 15168,12511 15170,12514 15170,12510 15169,12512 15172,12512 15172,12515 15172,12519 15175,12522 15176,12525 15180,12528 15184,23912 53663,23915 53661,28915 53666,28914 53667,28918 53664,28921 53667,28922 53667,28924 53670,28925 53674,28926 53674,28927 53672,28922 53676,28924 53677,28927 53678,28932 56678,28934 56682,28935 56683,28936 56688,28938 56688,28934 56691,28938 56693,28942 56690,28939 56694,28939 56698,28942 56695,28946 56698,28950 56701,28953 56706,28954 56706,28949 56708,28950 56708,28953 56709,28958 56706,28960 56709,28965 56707,28965 56707,28965 56705,28963 56709,28966 59709,28969 59710,28973 59711,28977 59715,28977 59717,28982 59719,28981 59715,28985 59718,28986 59718,33986 59721,35986 59723,35990 59723,35990 61723,35993 61726,35995 61728,35998 61724,36000 61721,36004 61723,36002 61718,36007 61718,36010 61719,36010 61721,36010 61721,36010 61721,36015 61721,36018 61716,36022 61717,36024 61718,36025 61723,36029 61722,36031 61726,36035 61722,36040 62722,36042 62722,36044 62722,36049 62724,36051 62720,36053 62723,36052 62719,36055 62717,36056 62712,36059 62714,36058 67714,36059 67716,40059 67716,40063 67719,40067 67722,40069 67726,40065 67724,40067 67721,40067 67722,40071 67721,40075 67726,37075 67730,37076 67733,37076 67736,37072 67741,37072 67741,37072 67744,37076 67744,37079 67745,37081 67750,37082 67750,37082 67753,37082 67753,37083 67752,37081 67753,37084 67753,37087 67757,37087 67758,37083 67753,37084 67758,37084 67761,37088 67759,37091 67762,37088 67762,37090 67767,37090 72767,37090 72771,37085 72771,37089 72774,38089 71774,38090 71771,38086 71771,38086 71774,38086 71777,38089 71782,38089 71782,38087 71780,38092 71782,38087 71785,38083 71783,38081 71781,38078 71781,38078 71783,38076 71786,38075 71787,38078 71783,38079 71781,38081 71781,41081 71783,41081 71778,41082 71778,41085 71783,41085 71783,41088 71785,41083 71789,41083 71794,41088 71796,41088 71796,41092 71798,41095 71794,41095 71789,41098 71790,41093 71790,41091 71795,41092 71796,41087 71798,41084 71796,41086 71797,41084 71799,41084 71795,41086 71798,41085 71799,41089 71803,41085 71804,41083 71802,41083 71803,41079 71803,41081 71808,41081 71809,41083 71810,41083 71809,41085 71810,41082 71814,41087 71817,41089 71818,41086 71813,41083 71813,39083 71816,39083 71814,39085 71814,39083 71814,39086 71818,39087 71820,39087 71824,39091 71826,39096 71829,39098 74829,39102 74830,39107 74833,39110 74836,39115 74835,39115 74836,39115 74838,39115 74835,39119 74838,39117 74840,39121 74840,39125 74843,39121 74848,39122 77848,39122 77844,39123 77848,39126 77851,39131 77855,39136 77857,39132 77857,39135 78857,39135 78859,39136 78864,39133 78865,39135 78866,39139 79866,39142 79870,39147 79872,39146 79872,39150 79876,39150 78876,39154 78879,39154 75879,39154 75881,39158 75881,39157 75884,39160 75884,39155 75884,39160 75889,39156 75891,39158 75888,39163 75891,39163 75894,39166 75891,39166 75895,39167 75900,39170 75901,39170 75906,35170 75907,35171 75911,35176 75906,35172 75908,35173 75908,35178 75908,35175 75909,35170 75908,35170 75903,35168 75904,35173 75906,35178 75903,35179 75904,35179 75908,35182 75905,35184 71905,35188 71902,35185 71904,35186 71907,35187 71908,35189 71903,35191 71905,35195 71900,35197 71904,35198 71909,35200 71907,35199 71903,35201 71900,40201 71896,25028 55790,25029 55785,28029 55789,28031 55790,28032 55790,28037 55794,28042 55793,28043 55798,28046 55803,30046 55803,30051 55806,30050 55810,30049 55810,30049 55812,30049 55816,30054 55820,2545 16129,2540 16133,2542 16137,2542 16139,2544 16138,2545 16139,7545 16136,7546 16139,7541 16142,7542 16142,7543 20142,7547 20143,11547 20143,11550 20139,11555 20139,11556 20137,11552 20142,11555 24142,11556 24145,11559 24140,11563 24143,11567 24139,16567 24136,16567 24139,16572 24142,16573 24147,14573 24143,14574 24147,14570 24145,14573 24150,14569 24150,14570 24145,14573 24149,14575 24150,14575 24154,14579 24149,14579 24153,14576 24157,14576 24152,14571 24149,14571 24152,14575 24150,14572 24151,15572 24153,15575 24149,15577 24154,15582 24151,15582 24153,15586 24156,15587 24152,15588 24157,15590 24162,15590 24166,15590 24166,20590 24166,17590 24169,17595 24171,17597 24172,17599 24172,17595 24174,17599 24178,17599 24181,18599 24184,18594 24187,18597 24187,18593 24189,18597 24192,18601 24192,18599 24197,18599 24197,18603 24200,18605 24204,18600 24205,18605 24201,18605 24197,18610 24202,18608 24205,18611 24204,18613 24208,18617 24203,22617 24205,22619 29205,22622 31205,22622 31209,22623 31214,22624 31212,22627 31214,22623 31214,22626 31215,22629 31214,22633 31218,22631 31221,22630 31223,22632 31227,21937 44551,21935 44555,21939 44551,21934 44553,21936 44554,21933 44556,21935 44552,21935 44553,21939 44548,21939 44551,21939 44551,21938 44555,21938 44558,21938 44559,21941 44559,21945 44558,19945 44562,19942 44560,19943 44561,19939 44565,19940 44561,19939 44556,19935 44557,9770 19466,9773 19471,9775 19471,9770 19471,9770 19468,9770 19467,9772 19466,9772 19468,9774 19469,9775 19472,12775 19470,12773 19466,12773 19467,12773 19464,12773 19466,12776 19461,12779 19461,12779 19465,12780 19465,12782 19460,12781 19458,12776 19461,12776 19461,12777 19463,12778 19466,12776 19466,12780 19463,12780 19466,12785 19468,12789 19473,12788 19477,12793 19475,12798 19480,12802 19482,12803 24482,12802 24484,16802 24486,16806 28486,16808 28486,16812 28490,16812 28494,16815 28498,16816 28498,16818 28502,16818 28504,16819 28509,19819 28513,19819 28510,19821 28515,19816 28510,19811 28510,19811 28511,19809 28511,19810 28510,19813 28515,22813 28510,22818 28514,22818 28515,22815 28516,22818 28514,22819 28514)',')')) where i = 1; +rollback; + +check table t1; + +drop table t1; + +--disable_warnings +SET GLOBAL innodb_file_per_table=default; +--enable_warnings + +# Test partial update rollback. +create table t1(i int primary key, +a geometry not null, b geometry not null, +c int, +spatial index(a),key(a(25)),key(b(25)), +unique key (c), +spatial index(b))engine=innodb; + +insert into t1 values(0, point(0,0), point(0,0), 0); +insert into t1 values(1, point(1,1), point(1,1), 1); +insert into t1 values(2, point(2,2), point(2,2), 2); +insert into t1 values(3, point(3,3), point(3,3), 3); +insert into t1 values(4, point(4,4), point(4,4), 4); + +start transaction; +# It's a partial update, hit dup key error, rollback. +--error ER_DUP_ENTRY +update t1 set a=point(5,5), b=point(5,5), c=5 where i < 3; +rollback; + +# Test partial update rollback after recovered. +# Crash the server in partial update. +--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect +set session debug="+d,row_mysql_crash_if_error"; +--error 2013 +update t1 set a=point(5,5), b=point(5,5), c=5 where i < 3; + +--enable_reconnect +--source include/wait_until_connected_again.inc +--disable_reconnect + +insert into t1 values(5, point(5,5), point(5,5), 5); + +drop table t1; diff --git a/mysql-test/suite/innodb_gis/t/rt_precise.test b/mysql-test/suite/innodb_gis/t/rt_precise.test new file mode 100644 index 00000000..2f155814 --- /dev/null +++ b/mysql-test/suite/innodb_gis/t/rt_precise.test @@ -0,0 +1,74 @@ +#***************************************************************** +# This was a Myisam testcase, converted to InnoDB +# Since Innodb does not support the spatial key, hence converted +# Orginal name of the testcase : gis_rt_precise.test +#***************************************************************** +--source include/have_innodb.inc +-- source include/have_geometry.inc +SET default_storage_engine=InnoDB; + +# +# test of rtree (using with spatial data) +# +--disable_warnings +DROP TABLE IF EXISTS t1; +--enable_warnings + +CREATE TABLE t1 ( + fid INT NOT NULL AUTO_INCREMENT PRIMARY KEY, + g GEOMETRY NOT NULL, + KEY gis_key(g(5)) +) ENGINE=InnoDB; + +SHOW CREATE TABLE t1; + +--disable_query_log +let $1=150; +let $2=150; +while ($1) +{ + eval INSERT INTO t1 (g) VALUES (ST_GeomFromText('LineString($1 $1, $2 $2)')); + dec $1; + inc $2; +} +--enable_query_log + +SELECT count(*) FROM t1; + +ANALYZE TABLE t1; + +--replace_column 9 # +EXPLAIN SELECT fid, ST_AsText(g) FROM t1 WHERE ST_Within(g, ST_GeomFromText('Polygon((140 140,160 140,160 160,140 140))')); +SELECT fid, ST_AsText(g) FROM t1 WHERE ST_Within(g, ST_GeomFromText('Polygon((140 140,160 140,160 160,140 160,140 140))')) ORDER BY fid; + +DROP TABLE t1; + +CREATE TABLE t1 ( + fid INT NOT NULL AUTO_INCREMENT PRIMARY KEY, + g GEOMETRY NOT NULL +) ENGINE=InnoDB; + +--disable_query_log +let $1=10; +while ($1) +{ + let $2=10; + while ($2) + { + eval INSERT INTO t1 (g) VALUES (LineString(Point($1 * 10 - 9, $2 * 10 - 9), Point($1 * 10, $2 * 10))); + dec $2; + } + dec $1; +} +--enable_query_log + +#--error 1464 +ALTER TABLE t1 ADD SPATIAL KEY(g); +SHOW CREATE TABLE t1; +SELECT count(*) FROM t1; +SELECT fid, ST_AsText(g) FROM t1 WHERE ST_Within(g, + ST_GeomFromText('Polygon((40 40,60 40,60 60,40 40))')) ORDER BY fid; + +DROP TABLE t1; + +--echo End of 5.5 tests. diff --git a/mysql-test/suite/innodb_gis/t/rtree.test b/mysql-test/suite/innodb_gis/t/rtree.test new file mode 100644 index 00000000..98931e70 --- /dev/null +++ b/mysql-test/suite/innodb_gis/t/rtree.test @@ -0,0 +1,853 @@ +# WL#6745 InnoDB R-tree support +# This test case will test basic R-tree support features. + +# Not supported in embedded +--source include/not_embedded.inc + +--source include/have_innodb.inc + +# Create table with R-tree index. +create table t1 (i int, g geometry not null, spatial index (g))engine=innodb; + +# Insert values. +insert into t1 values (1, POINT(1,1)); +insert into t1 values (1, POINT(1.5,1.5)); +insert into t1 values (1, POINT(3,3)); +insert into t1 values (1, POINT(3.1,3.1)); +insert into t1 values (1, POINT(5,5)); + +analyze table t1; + +# Select by R-tree index. +set @g1 = ST_GeomFromText('Polygon((0 0,0 3,3 3,3 0,0 0))'); +explain select ST_astext(t1.g) from t1 where MBRWithin(t1.g, @g1); +select ST_astext(t1.g) from t1 where MBRWithin(t1.g, @g1); + +# Delete values. +set @g1 = ST_GeomFromText('Polygon((0 0,0 3,3 3,3 0,0 0))'); +delete from t1 where MBRWithin(t1.g, @g1); +check table t1; + +select ST_astext(t1.g) from t1; + +# Update values. +set @g1 = ST_GeomFromText('Polygon((5 5,5 5,5 5,5 5,5 5))'); +update t1 set g = POINT(2,2) where MBRWithin(t1.g, @g1); +check table t1; + +select ST_astext(t1.g) from t1; + +# Show index. +--replace_column 7 # +show indexes from t1; + +# Cleanup. +drop table t1; + +# Test functions. +create table t1 (name VARCHAR(100), square GEOMETRY not null, spatial index (square))engine=innodb; + + +INSERT INTO t1 VALUES("small", ST_GeomFromText('POLYGON (( 0 0, 0 1, 1 1, 1 0, 0 0))')); +INSERT INTO t1 VALUES("big", ST_GeomFromText('POLYGON (( 0 0, 0 3, 3 3, 3 0, 0 0))')); + +INSERT INTO t1 VALUES("up", ST_GeomFromText('POLYGON (( 0 1, 0 3, 2 3, 2 1, 0 1))')); +INSERT INTO t1 VALUES("up2", ST_GeomFromText('POLYGON (( 0 2, 0 4, 2 4, 2 2, 0 2))')); +INSERT INTO t1 VALUES("up3", ST_GeomFromText('POLYGON (( 0 3, 0 5, 2 5, 2 3, 0 3))')); + +INSERT INTO t1 VALUES("down", ST_GeomFromText('POLYGON (( 0 -1, 0 1, 2 1, 2 -1, 0 -1))')); +INSERT INTO t1 VALUES("down2", ST_GeomFromText('POLYGON (( 0 -2, 0 0, 2 0, 2 -2, 0 -2))')); +INSERT INTO t1 VALUES("down3", ST_GeomFromText('POLYGON (( 0 -3, 0 -1, 2 -1, 2 -3, 0 -3))')); + +INSERT INTO t1 VALUES("right", ST_GeomFromText('POLYGON (( 1 0, 1 2, 3 2, 3 0, 1 0))')); +INSERT INTO t1 VALUES("right2", ST_GeomFromText('POLYGON (( 2 0, 2 2, 4 2, 4 0, 2 0))')); +INSERT INTO t1 VALUES("right3", ST_GeomFromText('POLYGON (( 3 0, 3 2, 5 2, 5 0, 3 0))')); + +INSERT INTO t1 VALUES("left", ST_GeomFromText('POLYGON (( -1 0, -1 2, 1 2, 1 0, -1 0))')); +INSERT INTO t1 VALUES("left2", ST_GeomFromText('POLYGON (( -2 0, -2 2, 0 2, 0 0, -2 0))')); +INSERT INTO t1 VALUES("left3", ST_GeomFromText('POLYGON (( -3 0, -3 2, -1 2, -1 0, -3 0))')); + +SET @p = ST_GeomFromText('POLYGON (( 0 0, 0 2, 2 2, 2 0, 0 0))'); +SELECT name, ST_AsText(square) from t1 where MBRContains(@p, square); +SELECT name, ST_AsText(square) from t1 where MBRDisjoint(@p, square); +SELECT name, ST_AsText(square) from t1 where MBREquals(@p, square); +SELECT name, ST_AsText(square) from t1 where MBRIntersects(@p, square); +SELECT name, ST_AsText(square) from t1 where MBROverlaps(@p, square); +SELECT name, ST_AsText(square) from t1 where MBRTouches(@p, square); +SELECT name, ST_AsText(square) from t1 where MBRWithin(@p, square); + +# MBROverlaps needs a few more tests, with point and line dimensions + +SET @vert1 = ST_GeomFromText('POLYGON ((0 -2, 0 2, 0 -2))'); +SET @horiz1 = ST_GeomFromText('POLYGON ((-2 0, 2 0, -2 0))'); +SET @horiz2 = ST_GeomFromText('POLYGON ((-1 0, 3 0, -1 0))'); +SET @horiz3 = ST_GeomFromText('POLYGON ((2 0, 3 0, 2 0))'); +SET @point1 = ST_GeomFromText('POLYGON ((0 0))'); +SET @point2 = ST_GeomFromText('POLYGON ((-2 0))'); + +SELECT GROUP_CONCAT(a1.name ORDER BY a1.name) AS MBRoverlaps FROM t1 a1 WHERE MBROverlaps(a1.square, @vert1) GROUP BY a1.name; +SELECT GROUP_CONCAT(a1.name ORDER BY a1.name) AS MBRoverlaps FROM t1 a1 WHERE MBROverlaps(a1.square, @horiz1) GROUP BY a1.name; +SELECT MBROverlaps(@horiz1, @vert1) FROM DUAL; +SELECT MBROverlaps(@horiz1, @horiz2) FROM DUAL; +SELECT MBROverlaps(@horiz1, @horiz3) FROM DUAL; +SELECT MBROverlaps(@horiz1, @point1) FROM DUAL; +SELECT MBROverlaps(@horiz1, @point2) FROM DUAL; + +DROP TABLE t1; + +# Inplace create spatial index is not supported +create table t1 (i int not null, g geometry not null)engine=innodb; + +# Insert values. +insert into t1 values (1, POINT(1,1)); +insert into t1 values (2, POINT(1.5,1.5)); +insert into t1 values (3, POINT(3,3)); +insert into t1 values (4, POINT(3.1,3.1)); +insert into t1 values (5, POINT(5,5)); + +# alter table t1 add primary key(i), algorithm=inplace; +alter table t1 add primary key(i); +alter table t1 drop primary key; + +# create spatial index idx on t1(g) algorithm=inplace; +create spatial index idx on t1(g); + +create spatial index idx2 on t1(g); + +# alter table t1 add primary key(i), algorithm=inplace; +alter table t1 add primary key(i); + +show create table t1; + +drop index idx on t1; + +drop table t1; + +#Test multi pk table. +create table t1 (i int, i2 char(10), g geometry not null, primary key (i, i2), spatial index (g))engine=innodb; + +# Insert values. +insert into t1 values (1, "111", POINT(1,1)); +insert into t1 values (2, "222", POINT(1.5,1.5)); +insert into t1 values (3, "333", POINT(3,3)); +insert into t1 values (4, "444", POINT(3.1,3.1)); +insert into t1 values (5, "555", POINT(5,5)); + +analyze table t1; + +# Select by R-tree index. +set @g1 = ST_GeomFromText('Polygon((0 0,0 3,3 3,3 0,0 0))'); +explain select ST_astext(t1.g) from t1 where MBRWithin(t1.g, @g1); +select ST_astext(t1.g) from t1 where MBRWithin(t1.g, @g1); + +# Delete values. +set @g1 = ST_GeomFromText('Polygon((0 0,0 3,3 3,3 0,0 0))'); +delete from t1 where MBRWithin(t1.g, @g1); +check table t1; + +select ST_astext(t1.g) from t1; + +# Update values. +set @g1 = ST_GeomFromText('Polygon((5 5,5 5,5 5,5 5,5 5))'); +update t1 set g = POINT(2,2) where MBRWithin(t1.g, @g1); +check table t1; + +select ST_astext(t1.g) from t1; + +# Show index. +--replace_column 7 # +show indexes from t1; + +# Cleanup. +drop table t1; + +CREATE TABLE `t1` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `way` geometry NOT NULL, + PRIMARY KEY (`id`), + SPATIAL KEY `way` (`way`) +) ENGINE=InnoDB; + +INSERT INTO t1 SET way = ST_GeomFromText('POINT(1 1)'); +INSERT INTO t1 SET way = ST_GeomFromText('POINT(1 2)'); +INSERT INTO t1 SET way = ST_GeomFromText('POINT(1 3)'); +INSERT INTO t1 SET way = ST_GeomFromText('POINT(1 4)'); +INSERT INTO t1 SET way = ST_GeomFromText('POINT(1 5)'); +INSERT INTO t1 SET way = ST_GeomFromText('POINT(2 1)'); +INSERT INTO t1 SET way = ST_GeomFromText('POINT(2 2)'); +INSERT INTO t1 SET way = ST_GeomFromText('POINT(2 3)'); +INSERT INTO t1 SET way = ST_GeomFromText('POINT(2 4)'); +INSERT INTO t1 SET way = ST_GeomFromText('POINT(2 5)'); +INSERT INTO t1 SET way = ST_GeomFromText('POINT(3 1)'); +INSERT INTO t1 SET way = ST_GeomFromText('POINT(3 2)'); +INSERT INTO t1 SET way = ST_GeomFromText('POINT(3 3)'); +INSERT INTO t1 SET way = ST_GeomFromText('POINT(3 4)'); +INSERT INTO t1 SET way = ST_GeomFromText('POINT(3 5)'); +INSERT INTO t1 SET way = ST_GeomFromText('POINT(4 1)'); +INSERT INTO t1 SET way = ST_GeomFromText('POINT(4 2)'); +INSERT INTO t1 SET way = ST_GeomFromText('POINT(4 3)'); +INSERT INTO t1 SET way = ST_GeomFromText('POINT(4 4)'); +INSERT INTO t1 SET way = ST_GeomFromText('POINT(4 5)'); +INSERT INTO t1 SET way = ST_GeomFromText('POINT(5 1)'); +INSERT INTO t1 SET way = ST_GeomFromText('POINT(5 2)'); +INSERT INTO t1 SET way = ST_GeomFromText('POINT(5 3)'); +INSERT INTO t1 SET way = ST_GeomFromText('POINT(5 4)'); +INSERT INTO t1 SET way = ST_GeomFromText('POINT(5 5)'); + +SELECT COUNT(*) + FROM t1 + WHERE ST_CONTAINS(ST_GeomFromText('POLYGON((2 2,4 2, 4 4, 2 4, 2 2))'),way); + +OPTIMIZE TABLE t1; + +SELECT COUNT(*) + FROM t1 + WHERE ST_CONTAINS(ST_GeomFromText('POLYGON((2 2,4 2, 4 4, 2 4, 2 2))'),way); + + +DROP TABLE t1; + +# Check the update with unchanged MBR optimization. +# Create table with R-tree index. +CREATE TABLE t1( i INT, g GEOMETRY NOT NULL, SPATIAL INDEX (g)) ENGINE=InnoDB; + +# Insert values. +INSERT INTO t1 VALUES(1, LINESTRING(POINT(1,1), POINT(4, 4))); +INSERT INTO t1 VALUES(2, LINESTRING(POINT(2,2), POINT(5, 5))); + +# Update value. +UPDATE t1 SET g = LINESTRING(POINT(1,1), POINT(2,2), POINT(3,3), POINT(4,4)) + WHERE i = 1; +UPDATE t1 SET g = LINESTRING(POINT(1,1), POINT(2,2), POINT(3,3), POINT(8,8)) + WHERE i = 2; + + +CHECK TABLE t1; + +DELETE FROM t1 + WHERE ST_CONTAINS(ST_GeomFromText('POLYGON((0 0,4 0, 4 4, 0 4, 0 0))'),g); + +DROP TABLE t1; + +# Test with real world data. +CREATE TABLE address ( + address_id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT, + address VARCHAR(50) NOT NULL, + address2 VARCHAR(50) DEFAULT NULL, + district VARCHAR(20) NOT NULL, + city_id SMALLINT UNSIGNED NOT NULL, + postal_code VARCHAR(10) DEFAULT NULL, + phone VARCHAR(20) NOT NULL, + location GEOMETRY NOT NULL, + last_update TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + PRIMARY KEY (address_id), + SPATIAL KEY `idx_location` (location) +)ENGINE=InnoDB DEFAULT CHARSET=utf8; + +SET AUTOCOMMIT=0; +INSERT INTO `address` VALUES (1,'47 MySakila Drive',NULL,'Alberta',300,'','',0x0000000001010000003E0A325D63345CC0761FDB8D99D94840,'2014-09-25 22:30:27'), +(2,'28 MySQL Boulevard',NULL,'QLD',576,'','',0x0000000001010000008E10D4DF812463404EE08C5022A23BC0,'2014-09-25 22:30:09'), +(3,'23 Workhaven Lane',NULL,'Alberta',300,'','14033335568',0x000000000101000000CDC4196863345CC01DEE7E7099D94840,'2014-09-25 22:30:27'), +(4,'1411 Lillydale Drive',NULL,'QLD',576,'','6172235589',0x0000000001010000005B0DE4341F26634042D6AE6422A23BC0,'2014-09-25 22:30:09'), +(5,'1913 Hanoi Way','','Nagasaki',463,'35200','28303384290',0x00000000010100000028D1370E21376040ABB58BC45F944040,'2014-09-25 22:31:53'), +(6,'1121 Loja Avenue','','California',449,'17886','838635286649',0x0000000001010000003C94579D8B525DC0E860472DDE0D4140,'2014-09-25 22:34:01'), +(7,'692 Joliet Street','','Attika',38,'83579','448477190408',0x000000000101000000076F59CF5AB737404105D1A45EFD4240,'2014-09-25 22:31:07'), +(8,'1566 Inegl Manor','','Mandalay',349,'53561','705814003527',0x00000000010100000006240626DCD857403C45B357C4753540,'2014-09-25 22:32:18'), +(9,'53 Idfu Parkway','','Nantou',361,'42399','10655648674',0x0000000001010000001F813FFC7C2A5E40357A354069EA3740,'2014-09-25 22:33:16'), +(10,'1795 Santiago de Compostela Way','','Texas',295,'18743','860452626434',0x00000000010100000050502F9D7BE058C0D0CF7932A4813B40,'2014-09-25 22:33:55'), +(11,'900 Santiago de Compostela Parkway','','Central Serbia',280,'93896','716571220373',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:34:11'), +(12,'478 Joliet Way','','Hamilton',200,'77948','657282285970',0x000000000101000000DC84D61E11E9654072B7353344E442C0,'2014-09-25 22:32:22'), +(13,'613 Korolev Drive','','Masqat',329,'45844','380657522649',0x00000000010100000001023164D04B4D40CEAC003A279D3740,'2014-09-25 22:32:29'), +(14,'1531 Sal Drive','','Esfahan',162,'53628','648856936185',0x000000000101000000DE0951195AD64940635A400D84534040,'2014-09-25 22:31:36'), +(15,'1542 Tarlac Parkway','','Kanagawa',440,'1027','635297277345',0x000000000101000000B4CDE8A27C6B61406B7D361724C74140,'2014-09-25 22:31:53'), +(16,'808 Bhopal Manor','','Haryana',582,'10672','465887807014',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:31:30'), +(17,'270 Amroha Parkway','','Osmaniye',384,'29610','695479687538',0x0000000001010000001F436C55B71F4240A11408967E894240,'2014-09-25 22:33:27'), +(18,'770 Bydgoszcz Avenue','','California',120,'16266','517338314235',0x0000000001010000006D63A2F7FC515EC04C040539835A4340,'2014-09-25 22:33:47'), +(19,'419 Iligan Lane','','Madhya Pradesh',76,'72878','990911107354',0x000000000101000000B7B01303C9595340E6F10FB633413740,'2014-09-25 22:31:13'), +(20,'360 Toulouse Parkway','','England',495,'54308','949312333307',0x000000000101000000860FDBCCD7DBE63FFDCFAB4BD7C44940,'2014-09-25 22:33:40'), +(21,'270 Toulon Boulevard','','Kalmykia',156,'81766','407752414682',0x000000000101000000FD0BA947BF204640316D495865274740,'2014-09-25 22:32:48'), +(22,'320 Brest Avenue','','Kaduna',252,'43331','747791594069',0x0000000001010000006D3425FECDC01D40623FD532630B2540,'2014-09-25 22:32:25'), +(23,'1417 Lancaster Avenue','','Northern Cape',267,'72192','272572357893',0x000000000101000000FEE8E5C127C338404DED56E075BB3CC0,'2014-09-25 22:33:03'), +(24,'1688 Okara Way','','Nothwest Border Prov',327,'21954','144453869132',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:30'), +(25,'262 A Corua (La Corua) Parkway','','Dhaka',525,'34418','892775750063',0x000000000101000000F13790E4A87A5640E7F6370DF63F3840,'2014-09-25 22:30:12'), +(26,'28 Charlotte Amalie Street','','Rabat-Sal-Zammour-Z',443,'37551','161968374323',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:16'), +(27,'1780 Hino Boulevard','','Liepaja',303,'7716','902731229323',0x000000000101000000360F1604450435403CA3AD4A22424C40,'2014-09-25 22:31:58'), +(28,'96 Tafuna Way','','Crdoba',128,'99865','934730187245',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:05'), +(29,'934 San Felipe de Puerto Plata Street','','Sind',472,'99780','196495945706',0x0000000001010000008E6B8D52D3285140D58E876302F53B40,'2014-09-25 22:32:31'), +(30,'18 Duisburg Boulevard','','',121,'58327','998009777982',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:31:08'), +(31,'217 Botshabelo Place','','Southern Mindanao',138,'49521','665356572025',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:36'), +(32,'1425 Shikarpur Manor','','Bihar',346,'65599','678220867005',0x0000000001010000007F9F16284E9E55408201840F25603940,'2014-09-25 22:31:20'), +(33,'786 Aurora Avenue','','Yamaguchi',474,'65750','18461860151',0x000000000101000000E712584AA05E6040D15735ADB9FA4040,'2014-09-25 22:31:53'), +(34,'1668 Anpolis Street','','Taipei',316,'50199','525255540978',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:33:15'), +(35,'33 Gorontalo Way','','West Bengali',257,'30348','745994947458',0x0000000001010000001A828879FB17564061585936CEAB3640,'2014-09-25 22:31:18'), +(36,'176 Mandaluyong Place','','Uttar Pradesh',239,'65213','627705991774',0x00000000010100000073309B0043A553409E3AA0B657743940,'2014-09-25 22:31:17'), +(37,'127 Purnea (Purnia) Manor','','Piemonte',17,'79388','911872220378',0x0000000001010000002A2B97D75B382140F2892B1D62744640,'2014-09-25 22:31:42'), +(38,'61 Tama Street','','Okayama',284,'94065','708403338270',0x0000000001010000001F7013A488B86040670696C8AA4A4140,'2014-09-25 22:31:49'), +(39,'391 Callao Drive','','Midi-Pyrnes',544,'34021','440512153169',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:31:01'), +(40,'334 Munger (Monghyr) Lane','','Markazi',31,'38145','481183273622',0x000000000101000000737275B636D848404B958334BE0B4140,'2014-09-25 22:31:36'), +(41,'1440 Fukuyama Loop','','Henan',362,'47929','912257250465',0x0000000001010000005E3CCD1319225C405886DD1C537F4040,'2014-09-25 22:30:40'), +(42,'269 Cam Ranh Parkway','','Chisinau',115,'34689','489783829737',0x000000000101000000AD97F0958ADB3C40CCD47F31B6804740,'2014-09-25 22:32:15'), +(43,'306 Antofagasta Place','','Esprito Santo',569,'3989','378318851631',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:23'), +(44,'671 Graz Street','','Oriental',353,'94399','680768868518',0x00000000010100000083F7FAFFDD7707C0F7B7BA5285954140,'2014-09-25 22:32:16'), +(45,'42 Brindisi Place','','Yerevan',586,'16744','42384721397',0x000000000101000000281BC528BE4146403BD400EF2E174440,'2014-09-25 22:30:08'), +(46,'1632 Bislig Avenue','','Nonthaburi',394,'61117','471675840679',0x000000000101000000935C59FDEC1F5940D5D0611976D32B40,'2014-09-25 22:33:20'), +(47,'1447 Imus Way','','Tahiti',167,'48942','539758313890',0x00000000010100000090CE0A56E6B562C059BB9289008E31C0,'2014-09-25 22:31:02'), +(48,'1998 Halifax Drive','','Lipetsk',308,'76022','177727722820',0x00000000010100000087985CD60EC943409F1738EA324D4A40,'2014-09-25 22:32:54'), +(49,'1718 Valencia Street','','Antofagasta',27,'37359','675292816413',0x0000000001010000007E82D5A24F9951C0C46B4DA901A737C0,'2014-09-25 22:30:29'), +(50,'46 Pjatigorsk Lane','','Moscow (City)',343,'23616','262076994845',0x0000000001010000009C51F355F2C4424002E3CFA6D9DF4B40,'2014-09-25 22:32:55'), +(51,'686 Garland Manor','','Cear',247,'52535','69493378813',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:19'), +(52,'909 Garland Manor','','Tatarstan',367,'69367','705800322606',0x000000000101000000376DC66988E949402CA85E6D7BD14B40,'2014-09-25 22:32:55'), +(53,'725 Isesaki Place','','Mekka',237,'74428','876295323994',0x000000000101000000213361455799434061EB0896D98A3540,'2014-09-25 22:33:00'), +(54,'115 Hidalgo Parkway','','Khartum',379,'80168','307703950263',0x00000000010100000004503173263D40404D0DD9E5004A2F40,'2014-09-25 22:33:11'), +(55,'1135 Izumisano Parkway','','California',171,'48150','171822533480',0x0000000001010000009763C3E4D75B5DC0799A2732CE0B4140,'2014-09-25 22:33:50'), +(56,'939 Probolinggo Loop','','Galicia',1,'4166','680428310138',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:33:08'), +(57,'17 Kabul Boulevard','','Chiba',355,'38594','697760867968',0x000000000101000000EB257CA5E27C61406F70D86C9BED4140,'2014-09-25 22:31:51'), +(58,'1964 Allappuzha (Alleppey) Street','','Yamaguchi',227,'48980','920811325222',0x000000000101000000C2572A5E1B876040D19A7A38DC144140,'2014-09-25 22:31:47'), +(59,'1697 Kowloon and New Kowloon Loop','','Moskova',49,'57807','499352017190',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:47'), +(60,'1668 Saint Louis Place','','Tahiti',397,'39072','347487831378',0x0000000001010000006FF3C64921B262C0F8F47DDD8E8931C0,'2014-09-25 22:31:02'), +(61,'943 Tokat Street','','Vaduz',560,'45428','889318963672',0x0000000001010000007F784C93080B23400341800C1D924740,'2014-09-25 22:31:58'), +(62,'1114 Liepaja Street','','Sarawak',282,'69226','212869228936',0x000000000101000000047FAE6C55955B408285DDC199E9F83F,'2014-09-25 22:32:00'), +(63,'1213 Ranchi Parkway','','Karnataka',350,'94352','800024380485',0x000000000101000000000080279AD7C641AA21BB1CC0202B40,'2014-09-25 22:31:21'), +(64,'81 Hodeida Way','','Rajasthan',231,'55561','250767749542',0x0000000001010000000A09BDA36BF25240F8B138526CEB3A40,'2014-09-25 22:31:17'), +(65,'915 Ponce Place','','Basel-Stadt',56,'83980','1395251317',0x0000000001010000000D6146C2084B1E40E58B07A579C74740,'2014-09-25 22:33:12'), +(66,'1717 Guadalajara Lane','','Missouri',441,'85505','914090181665',0x000000000101000000A926D247AA8C56C0A456F3774A504340,'2014-09-25 22:33:59'), +(67,'1214 Hanoi Way','','Nebraska',306,'67055','491001136577',0x000000000101000000D6671888AF2A58C0C0E2152DE5684440,'2014-09-25 22:33:56'), +(68,'1966 Amroha Avenue','','Sichuan',139,'70385','333489324603',0x0000000001010000000A7778190FE05A402F6013E346373F40,'2014-09-25 22:30:32'), +(69,'698 Otsu Street','','Cayenne',105,'71110','409983924481',0x000000000101000000D879C0E1AA2A4AC0D57EC6E0BCBB1340,'2014-09-25 22:31:02'), +(70,'1150 Kimchon Manor','','Skne ln',321,'96109','663449333709',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:33:11'), +(71,'1586 Guaruj Place','','Hunan',579,'5135','947233365992',0x000000000101000000AD3A06BFE83F5C4083047B0217DA3B40,'2014-09-25 22:30:46'), +(72,'57 Arlington Manor','','Madhya Pradesh',475,'48960','990214419142',0x0000000001010000008E6D63FDB069534027D9EA724A6E3940,'2014-09-25 22:31:27'), +(73,'1031 Daugavpils Parkway','','Bchar',63,'59025','107137400143',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:29:59'), +(74,'1124 Buenaventura Drive','','Mekka',13,'6856','407733804223',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:59'), +(75,'492 Cam Ranh Street','','Eastern Visayas',61,'50805','565018274456',0x0000000001010000007500C45D3D335F40B90265AE675B2540,'2014-09-25 22:32:34'), +(76,'89 Allappuzha (Alleppey) Manor','','National Capital Reg',517,'75444','255800440636',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:39'), +(77,'1947 Poos de Caldas Boulevard','','Chiayi',114,'60951','427454485876',0x0000000001010000002F06C54524195E40B4475E8C37763740,'2014-09-25 22:33:14'), +(78,'1206 Dos Quebradas Place','','So Paulo',431,'20207','241832790687',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:21'), +(79,'1551 Rampur Lane','','Changhwa',108,'72394','251164340471',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:33:14'), +(80,'602 Paarl Street','','Pavlodar',402,'98889','896314772871',0x000000000101000000359078C34740534032D010E912234A40,'2014-09-25 22:31:55'), +(81,'1692 Ede Loop','','So Paulo',30,'9223','918711376618',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:16'), +(82,'936 Salzburg Lane','','Uttar Pradesh',425,'96709','875756771675',0x0000000001010000000C0EE5FAAD4F5440CBF8F71917383A40,'2014-09-25 22:31:24'), +(83,'586 Tete Way','','Kanagawa',256,'1079','18581624103',0x000000000101000000783B0CF79B716140E96D22E989A74140,'2014-09-25 22:31:48'), +(84,'1888 Kabul Drive','','Oyo & Osun',217,'20936','701457319790',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:24'), +(85,'320 Baiyin Parkway','','Mahajanga',319,'37307','223664661973',0x000000000101000000EAFD90C888284740CDC75AE8EF6E2FC0,'2014-09-25 22:31:59'), +(86,'927 Baha Blanca Parkway','','Krim',479,'9495','821972242086',0x000000000101000000417DCB9C2E0E4140BC29406F857A4640,'2014-09-25 22:33:33'), +(87,'929 Tallahassee Loop','','Gauteng',497,'74671','800716535041',0x000000000101000000647F8FB05E6B3C407F60D8ABD9403AC0,'2014-09-25 22:33:06'), +(88,'125 Citt del Vaticano Boulevard','','Puebla',40,'67912','48417642933',0x000000000101000000536232B0E99B58C03D0D18247DE83240,'2014-09-25 22:32:02'), +(89,'1557 Ktahya Boulevard','','England',88,'88002','720998247660',0x0000000001010000001B43A5B67908FCBF439D03159FE54A40,'2014-09-25 22:33:36'), +(90,'870 Ashqelon Loop','','Songkhla',489,'84931','135117278909',0x000000000101000000E82510C017265940115A6A1899CB1C40,'2014-09-25 22:33:20'), +(91,'1740 Portoviejo Avenue','','Sucre',480,'29932','198123170793',0x000000000101000000C4AD275F75D952C07A51BB5F059C2240,'2014-09-25 22:30:53'), +(92,'1942 Ciparay Parkway','','Cheju',113,'82624','978987363654',0x00000000010100000048F13B97F3A25F40358EA2186AB34040,'2014-09-25 22:33:06'), +(93,'1926 El Alto Avenue','','Buenos Aires',289,'75543','846225459260',0x000000000101000000AD05AC0B2EFA4CC0C5D0A057F27541C0,'2014-09-25 22:30:05'), +(94,'1952 Chatsworth Drive','','Guangdong',332,'25958','991562402283',0x000000000101000000A5F386A08F085D406DF65157885A3840,'2014-09-25 22:30:40'), +(95,'1370 Le Mans Avenue','','Brunei and Muara',53,'52163','345679835036',0x00000000010100000013E85D06ADBC5C402A0E5652DDC21340,'2014-09-25 22:30:23'), +(96,'984 Effon-Alaiye Avenue','','Gois',183,'17119','132986892228',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:17'), +(97,'832 Nakhon Sawan Manor','','Inner Mongolia',592,'49021','275595571388',0x000000000101000000535C55F6DDAD5E400000001D69FABC41,'2014-09-25 22:30:50'), +(98,'152 Kitwe Parkway','','Caraga',82,'53182','835433605312',0x000000000101000000DF652BD43F945F4006CAB788396E2040,'2014-09-25 22:32:35'), +(99,'1697 Tanauan Lane','','Punjab',399,'22870','4764773857',0x000000000101000000CA97063447E95240B933B852742A4040,'2014-09-25 22:31:22'), +(100,'1308 Arecibo Way','','Georgia',41,'30695','6171054059',0x000000000101000000FC00FFEF637E54C0BD9EF9E648BC4040,'2014-09-25 22:33:43'), +(101,'1599 Plock Drive','','Tete',534,'71986','817248913162',0x000000000101000000DC77561C18CB4040B443577D092830C0,'2014-09-25 22:32:18'), +(102,'669 Firozabad Loop','','Abu Dhabi',12,'92265','412903167998',0x0000000001010000009C76E73F5AE14B404AD05FE811313840,'2014-09-25 22:33:35'), +(103,'588 Vila Velha Manor','','Kyongsangbuk',268,'51540','333339908719',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:33:07'), +(104,'1913 Kamakura Place','','Lipetsk',238,'97287','942570536750',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:49'), +(105,'733 Mandaluyong Place','','Asir',2,'77459','196568435814',0x0000000001010000007823980FAD404540798FD89365373240,'2014-09-25 22:32:59'), +(106,'659 Vaduz Drive','','Ha Darom',34,'49708','709935135487',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:31:40'), +(107,'1177 Jelets Way','','Kwara & Kogi',220,'3305','484292626944',0x0000000001010000001767672CF53712407E3E25427E192140,'2014-09-25 22:32:24'), +(108,'1386 Yangor Avenue','','Provence-Alpes-Cte',543,'80720','449216226468',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:31:01'), +(109,'454 Nakhon Sawan Boulevard','','Funafuti',173,'76383','963887147572',0x0000000001010000005822ABB636666640FF74A84B6B0C21C0,'2014-09-25 22:33:31'), +(110,'1867 San Juan Bautista Tuxtepec Avenue','','Ivanovo',225,'78311','547003310357',0x000000000101000000BC6DF0CF567C4440E2B034F0A37F4C40,'2014-09-25 22:32:48'), +(111,'1532 Dzerzinsk Way','','Buenos Aires',334,'9599','330838016880',0x000000000101000000BF93BB74385D4DC0E207420D3A5541C0,'2014-09-25 22:30:06'), +(112,'1002 Ahmadnagar Manor','','Mxico',213,'93026','371490777743',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:07'), +(113,'682 Junan Way','','North West',273,'30418','622255216127',0x000000000101000000714683CAAEAA3A406AEDC73725DA3AC0,'2014-09-25 22:33:04'), +(114,'804 Elista Drive','','Hubei',159,'61069','379804592943',0x0000000001010000009E013FF4EE5E5B40E7E099D0245F3E40,'2014-09-25 22:30:33'), +(115,'1378 Alvorada Avenue','','Distrito Federal',102,'75834','272234298332',0x0000000001010000000C3444BA44B850C047B1378CDDF92440,'2014-09-25 22:34:03'), +(116,'793 Cam Ranh Avenue','','California',292,'87057','824370924746',0x00000000010100000003AF3B82C0885DC0610212A859594140,'2014-09-25 22:33:55'), +(117,'1079 Tel Aviv-Jaffa Boulevard','','Sucre',132,'10885','358178933857',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:34:04'), +(118,'442 Rae Bareli Place','','Nordrhein-Westfalen',148,'24321','886636413768',0x000000000101000000C19EC085860F1B40E37ED12F5BB74940,'2014-09-25 22:31:04'), +(119,'1107 Nakhon Sawan Avenue','','Mxico',365,'75149','867546627903',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:11'), +(120,'544 Malm Parkway','','Central Java',403,'63502','386759646229',0x0000000001010000003AEF5A9D77575B4026F103A106C51BC0,'2014-09-25 22:31:34'), +(121,'1967 Sincelejo Place','','Gujarat',176,'73644','577812616052',0x00000000010100000059912CBBBB2B52408DBC074378373740,'2014-09-25 22:31:16'), +(122,'333 Goinia Way','','Texas',185,'78625','909029256431',0x0000000001010000002AE67BA1DB3F58C0E46B2AE67B5F4040,'2014-09-25 22:33:51'), +(123,'1987 Coacalco de Berriozbal Loop','','al-Qalyubiya',476,'96065','787654415858',0x000000000101000000595AFC5C23403F40AFBA698E07203E40,'2014-09-25 22:30:58'), +(124,'241 Mosul Lane','','Risaralda',147,'76157','765345144779',0x000000000101000000983A23A5B4EA52C06155BDFC4E5B1340,'2014-09-25 22:30:52'), +(125,'211 Chiayi Drive','','Uttar Pradesh',164,'58186','665993880048',0x000000000101000000A44BA4D961C1534007F247AC20C73A40,'2014-09-25 22:31:15'), +(126,'1175 Tanauan Way','','Lima',305,'64615','937222955822',0x000000000101000000848A60D2CE4153C0E5417A8A1C1628C0,'2014-09-25 22:32:33'), +(127,'117 Boa Vista Way','','Uttar Pradesh',566,'6804','677976133614',0x00000000010100000085364AA8AAC0544086BAFE1312513940,'2014-09-25 22:31:29'), +(128,'848 Tafuna Manor','','Ktahya',281,'45142','614935229095',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:33:27'), +(129,'569 Baicheng Lane','','Gauteng',85,'60304','490211944645',0x000000000101000000D71E51FC73423C4048AE51C543363AC0,'2014-09-25 22:33:02'), +(130,'1666 Qomsheh Drive','','So Paulo',410,'66255','582835362905',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:20'), +(131,'801 Hagonoy Drive','','Smolensk',484,'8439','237426099212',0x0000000001010000001EB814A122054040BB8509FE12644B40,'2014-09-25 22:32:57'), +(132,'1050 Garden Grove Avenue','','Slaskie',236,'4999','973047364353',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:42'), +(133,'1854 Tieli Street','','Shandong',302,'15819','509492324775',0x0000000001010000007A820E0492FE5C408F0475255D3A4240,'2014-09-25 22:30:39'), +(134,'758 Junan Lane','','Gois',190,'82639','935448624185',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:18'), +(135,'1752 So Leopoldo Parkway','','Taka-Karpatia',345,'14014','252265130067',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:33:32'), +(136,'898 Belm Manor','','Free State',87,'49757','707169393853',0x000000000101000000ED4CFCAC8DB43A409EAC623B29453DC0,'2014-09-25 22:33:02'), +(137,'261 Saint Louis Way','','Coahuila de Zaragoza',541,'83401','321944036800',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:13'), +(138,'765 Southampton Drive','','al-Qalyubiya',421,'4285','23712411567',0x0000000001010000001BEB877DA7343F409FBC7E77E12D3E40,'2014-09-25 22:30:57'), +(139,'943 Johannesburg Avenue','','Maharashtra',417,'5892','90921003005',0x000000000101000000F27A3029BE7652405E2ADB2C03853240,'2014-09-25 22:31:24'), +(140,'788 Atinsk Street','','Karnataka',211,'81691','146497509724',0x0000000001010000000000801B1998C64157A945E977E62E40,'2014-09-25 22:31:17'), +(141,'1749 Daxian Place','','Gelderland',29,'11044','963369996279',0x000000000101000000E4CE96BDB6E0174000B0952B171C4A40,'2014-09-25 22:32:20'), +(142,'1587 Sullana Lane','','Inner Mongolia',207,'85769','468060467018',0x000000000101000000870CF505BEE95B407422669BC0674440,'2014-09-25 22:30:35'), +(143,'1029 Dzerzinsk Manor','','Ynlin',542,'57519','33173584456',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:33:16'), +(144,'1666 Beni-Mellal Place','','Tennessee',123,'13377','9099941466',0x00000000010100000005D1A45E01D755C084CCDFCECF434240,'2014-09-25 22:33:48'), +(145,'928 Jaffna Loop','','Hiroshima',172,'93762','581852137991',0x0000000001010000002F2988CBBBAB6040E2FF33EFDD3D4140,'2014-09-25 22:31:45'), +(146,'483 Ljubertsy Parkway','','Scotland',149,'60562','581174211853',0x000000000101000000C53E5CCD95CC07C0FAFD518A0C3C4C40,'2014-09-25 22:33:36'), +(147,'374 Bat Yam Boulevard','','Kilis',266,'97700','923261616249',0x000000000101000000184FF344C68E4240FD55DBA8A95B4240,'2014-09-25 22:33:26'), +(148,'1027 Songkhla Manor','','Minsk',340,'30861','563660187896',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:13'), +(149,'999 Sanaa Loop','','Gauteng',491,'3439','918032330119',0x0000000001010000000E0D309864193C40F234AA1D0F7939C0,'2014-09-25 22:33:05'), +(150,'879 Newcastle Way','','Michigan',499,'90732','206841104594',0x000000000101000000916A8E62EFC154C08244C99A474A4540,'2014-09-25 22:34:01'), +(151,'1337 Lincoln Parkway','','Saitama',555,'99457','597815221267',0x0000000001010000005E0E6036A6746140456227614BEE4140,'2014-09-25 22:31:55'), +(152,'1952 Pune Lane','','Saint-Denis',442,'92150','354615066969',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:46'), +(153,'782 Mosul Street','','Massachusetts',94,'25545','885899703621',0x000000000101000000E9C4D44C2DC151C0D1686105AE0A4540,'2014-09-25 22:33:46'), +(154,'781 Shimonoseki Drive','','Michoacn de Ocampo',202,'95444','632316273199',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:06'), +(155,'1560 Jelets Boulevard','','Shandong',291,'77777','189446090264',0x00000000010100000018D57D5B0B6A5D40ADDA3521AD184240,'2014-09-25 22:30:38'), +(156,'1963 Moscow Place','','Assam',354,'64863','761379480249',0x000000000101000000203BB9F04D2C57405D595826B2593A40,'2014-09-25 22:31:21'), +(157,'456 Escobar Way','','Jakarta Raya',232,'36061','719202533520',0x000000000101000000DDC2A9C516B65A4095CCFB49C6DB18C0,'2014-09-25 22:31:33'), +(158,'798 Cianjur Avenue','','Shanxi',590,'76990','499408708580',0x00000000010100000013D6C6D889BF5B409B4BBBE2F3824140,'2014-09-25 22:30:49'), +(159,'185 Novi Sad Place','','Bern',72,'41778','904253967161',0x00000000010100000000D0BC772FCA1D40377D2C335B794740,'2014-09-25 22:33:13'), +(160,'1367 Yantai Manor','','Ondo & Ekiti',381,'21294','889538496300',0x000000000101000000C25E72ED555514408A7A1C61ACAA1C40,'2014-09-25 22:32:26'), +(161,'1386 Nakhon Sawan Boulevard','','Pyongyang-si',420,'53502','368899174225',0x000000000101000000F4BA8FED46705F40A55F6C6B55844340,'2014-09-25 22:32:28'), +(162,'369 Papeete Way','','North Carolina',187,'66639','170117068815',0x000000000101000000C49D66DCAFF253C07A2D324B4C094240,'2014-09-25 22:33:52'), +(163,'1440 Compton Place','','North Austria',307,'81037','931059836497',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:10'), +(164,'1623 Baha Blanca Manor','','Moskova',310,'81511','149981248346',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:54'), +(165,'97 Shimoga Avenue','','Tel Aviv',533,'44660','177167004331',0x0000000001010000009A56AFC7E96341403192E2885A0A4040,'2014-09-25 22:31:41'), +(166,'1740 Le Mans Loop','','Pays de la Loire',297,'22853','168476538960',0x000000000101000000452A8C2D04B9D23F0000006AB82DBD41,'2014-09-25 22:31:01'), +(167,'1287 Xiangfan Boulevard','','Gifu',253,'57844','819416131190',0x0000000001010000006AE514D3BB1B61408141D2A755B54140,'2014-09-25 22:31:48'), +(168,'842 Salzburg Lane','','Adana',529,'3313','697151428760',0x0000000001010000007207A0072DD5414093228D6555A64240,'2014-09-25 22:33:29'), +(169,'154 Tallahassee Loop','','Xinxiang',199,'62250','935508855935',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:34'), +(170,'710 San Felipe del Progreso Avenue','','Lilongwe',304,'76901','843801144113',0x00000000010100000089C855D1C4E44040501D064E11EF2BC0,'2014-09-25 22:31:59'), +(171,'1540 Wroclaw Drive','','Maharashtra',107,'62686','182363341674',0x0000000001010000004E10D0D8F2D253407CFB294476F23340,'2014-09-25 22:31:14'), +(172,'475 Atinsk Way','','Gansu',240,'59571','201705577290',0x0000000001010000007872970E678C59405544978114404340,'2014-09-25 22:30:36'), +(173,'1294 Firozabad Drive','','Jiangxi',407,'70618','161801569569',0x000000000101000000EED7F8A7AF775C402332079C00943B40,'2014-09-25 22:30:40'), +(174,'1877 Ezhou Lane','','Rajasthan',550,'63337','264541743403',0x00000000010100000029722DFF466C52401969F34938923840,'2014-09-25 22:31:28'), +(175,'316 Uruapan Street','','Perak',223,'58194','275788967899',0x0000000001010000005A3629BB4F4559400AC5B18927561240,'2014-09-25 22:31:59'), +(176,'29 Pyongyang Loop','','Batman',58,'47753','734780743462',0x0000000001010000001C430070EC9044403C8963B895F14240,'2014-09-25 22:33:23'), +(177,'1010 Klerksdorp Way','','Steiermark',186,'6802','493008546874',0x000000000101000000CFEE35A90DE72E409C0425BB88884740,'2014-09-25 22:30:10'), +(178,'1848 Salala Boulevard','','Miranda',373,'25220','48265851133',0x0000000001010000006D08E984ABB150C02F90FBB1A43B2440,'2014-09-25 22:34:04'), +(179,'431 Xiangtan Avenue','','Kerala',18,'4854','230250973122',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:31:10'), +(180,'757 Rustenburg Avenue','','Skikda',483,'89668','506134035434',0x000000000101000000BFD76BD509A31B4063867C8626704240,'2014-09-25 22:30:01'), +(181,'146 Johannesburg Way','','Tamaulipas',330,'54132','953689007081',0x0000000001010000003C45B357446058C0EAD621ED35E13940,'2014-09-25 22:32:09'), +(182,'1891 Rizhao Boulevard','','So Paulo',456,'47288','391065549876',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:21'), +(183,'1089 Iwatsuki Avenue','','Kirov',270,'35109','866092335135',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:50'), +(184,'1410 Benin City Parkway','','Risaralda',405,'29747','104150372603',0x0000000001010000007C4F9B278DEC52C0795BE9B5D9401340,'2014-09-25 22:30:52'), +(185,'682 Garden Grove Place','','Tennessee',333,'67497','72136330362',0x0000000001010000004204C188228356C06B4F24F323934140,'2014-09-25 22:33:57'), +(186,'533 al-Ayn Boulevard','','California',126,'8862','662227486184',0x000000000101000000BF2264C5158E5DC08533AE6EABF24040,'2014-09-25 22:33:48'), +(187,'1839 Szkesfehrvr Parkway','','Gois',317,'55709','947468818183',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:20'), +(188,'741 Ambattur Manor','','Noord-Brabant',438,'43310','302590383819',0x000000000101000000699E6D7F78371540EF0D74A37ED94940,'2014-09-25 22:32:21'), +(189,'927 Barcelona Street','','Chaharmahal va Bakht',467,'65121','951486492670',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:31:38'), +(190,'435 0 Way','','West Bengali',195,'74750','760171523969',0x000000000101000000D9846A3906075640037168DB7A0F3640,'2014-09-25 22:31:16'), +(191,'140 Chiayi Parkway','','Sumy',506,'38982','855863906434',0x0000000001010000002C43C1317066414051BB5F05F8754940,'2014-09-25 22:33:34'), +(192,'1166 Changhwa Street','','Caraga',62,'58852','650752094490',0x0000000001010000009DB756201F715F40F53E9F1221832140,'2014-09-25 22:32:34'), +(193,'891 Novi Sad Manor','','Ontario',383,'5379','247646995453',0x0000000001010000005E49F25C5FB653C0DE6AE74537F34540,'2014-09-25 22:30:28'), +(194,'605 Rio Claro Parkway','','Tabora',513,'49348','352469351088',0x0000000001010000004E8B0B51CF694040DF67017F9D1014C0,'2014-09-25 22:33:18'), +(195,'1077 San Felipe de Puerto Plata Place','','Rostov-na-Donu',369,'65387','812824036424',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:56'), +(196,'9 San Miguel de Tucumn Manor','','Uttar Pradesh',169,'90845','956188728558',0x00000000010100000067DBC424B7995340A461E75C40263B40,'2014-09-25 22:31:15'), +(197,'447 Surakarta Loop','','Nyanza',271,'10428','940830176580',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:31:56'), +(198,'345 Oshawa Boulevard','','Tokyo-to',204,'32114','104491201771',0x000000000101000000FB5E9E29CF6C61404BFCF61A27D64140,'2014-09-25 22:31:45'), +(199,'1792 Valle de la Pascua Place','','Nordrhein-Westfalen',477,'15540','419419591240',0x000000000101000000E9BD8CBD720C204056725F18FA6F4940,'2014-09-25 22:31:06'), +(200,'1074 Binzhou Manor','','Baden-Wrttemberg',325,'36490','331132568928',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:31:05'), +(201,'817 Bradford Loop','','Jiangsu',109,'89459','264286442804',0x000000000101000000C3E1BB830EFD5D4006B243A10AC63F40,'2014-09-25 22:30:31'), +(202,'955 Bamenda Way','','Ondo & Ekiti',218,'1545','768481779568',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:24'), +(203,'1149 A Corua (La Corua) Boulevard','','Haiphong',194,'95824','470884141195',0x0000000001010000007573F1B7BDAB5A4050A0997164DD3440,'2014-09-25 22:34:06'), +(204,'387 Mwene-Ditu Drive','','Ahal',35,'8073','764477681869',0x000000000101000000B0253F3D11314D40A538A2D68FFA4240,'2014-09-25 22:33:30'), +(205,'68 Molodetno Manor','','Nordrhein-Westfalen',575,'4662','146640639760',0x000000000101000000EEF3739E0C691D40FE486CD2C8B84940,'2014-09-25 22:31:06'), +(206,'642 Nador Drive','','Maharashtra',77,'3924','369050085652',0x000000000101000000559D7A4908F25240E010AAD4EC0B3540,'2014-09-25 22:31:13'), +(207,'1688 Nador Lane','','Sulawesi Utara',184,'61613','652218196731',0x000000000101000000E358727044945E4093F139C148B9E83F,'2014-09-25 22:31:32'), +(208,'1215 Pyongyang Parkway','','Usak',557,'25238','646237101779',0x000000000101000000019E59B7E6673D40735E08DE35564340,'2014-09-25 22:33:30'), +(209,'1679 Antofagasta Street','','Alto Paran',122,'86599','905903574913',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:32'), +(210,'1304 s-Hertogenbosch Way','','Santa Catarina',83,'10925','90336226227',0x000000000101000000BDEAB765768848C05755D40561EB3AC0,'2014-09-25 22:30:16'), +(211,'850 Salala Loop','','Kitaa',371,'10800','403404780639',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:31:07'), +(212,'624 Oshawa Boulevard','','West Bengali',51,'89959','49677664184',0x0000000001010000000FBCB5A7BF315640EA7CD34F93383940,'2014-09-25 22:31:11'), +(213,'43 Dadu Avenue','','Rajasthan',74,'4855','95666951770',0x000000000101000000BCF957A0A7A852404046E5CBB0583940,'2014-09-25 22:31:12'), +(214,'751 Lima Loop','','Aden',7,'99405','756460337785',0x0000000001010000005ECF21BAB1844640A9007388138F2940,'2014-09-25 22:34:08'), +(215,'1333 Haldia Street','','Jilin',174,'82161','408304391718',0x00000000010100000007A51E5844345F404CE71E6D77974640,'2014-09-25 22:30:33'), +(216,'660 Jedda Boulevard','','Washington',65,'25053','168758068397',0x00000000010100000009EEF60FD88C5EC03C331C2A21CE4740,'2014-09-25 22:33:45'), +(217,'1001 Miyakonojo Lane','','Taizz',518,'67924','584316724815',0x0000000001010000006642DD51AD024640782C1103B8282B40,'2014-09-25 22:34:11'), +(218,'226 Brest Manor','','California',508,'2299','785881412500',0x000000000101000000CF9F36AA53825EC0B54D96FF35AF4240,'2014-09-25 22:34:02'), +(219,'1229 Valencia Parkway','','Haskovo',498,'99124','352679173732',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:24'), +(220,'1201 Qomsheh Manor','','Gois',28,'21464','873492228462',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:15'), +(221,'866 Shivapuri Manor','','Uttar Pradesh',448,'22474','778502731092',0x000000000101000000940BDF0C48A4534072648ADE4E953C40,'2014-09-25 22:31:26'), +(222,'1168 Najafabad Parkway','','Kabol',251,'40301','886649065861',0x0000000001010000009173AC9C074B51408EBDCDD199434140,'2014-09-25 22:29:59'), +(223,'1244 Allappuzha (Alleppey) Place','','Buenos Aires',567,'20657','991802825778',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:08'), +(224,'1842 Luzinia Boulevard','','Zanzibar West',593,'94420','706878974831',0x00000000010100000045E169E855994340B62C5F97E1A718C0,'2014-09-25 22:33:19'), +(225,'1926 Gingoog Street','','Sisilia',511,'22824','469738825391',0x0000000001010000004DD9E907758D2E40719AF4ADC58A4240,'2014-09-25 22:31:44'), +(226,'810 Palghat (Palakkad) Boulevard','','Jaroslavl',235,'73431','516331171356',0x00000000010100000069D48DC1D4EF43400294D0A79FD04C40,'2014-09-25 22:32:49'), +(227,'1820 Maring Parkway','','Punjab',324,'88307','99760893676',0x0000000001010000001E053EF5FE5E52406C617193AC4A4040,'2014-09-25 22:32:30'), +(228,'60 Poos de Caldas Street','','Rajasthan',243,'82338','963063788669',0x00000000010100000069EED7536140524079605B9AB6443A40,'2014-09-25 22:31:18'), +(229,'1014 Loja Manor','','Tamil Nadu',22,'66851','460795526514',0x000000000101000000803E366E560A5440A1212DDF44322A40,'2014-09-25 22:31:10'), +(230,'201 Effon-Alaiye Way','','Asuncin',37,'64344','684192903087',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:31'), +(231,'430 Alessandria Loop','','Saarland',439,'47446','669828224459',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:31:06'), +(232,'754 Valencia Place','','Phnom Penh',406,'87911','594319417514',0x0000000001010000009093D3E89F3A5A40AACCDE63FA1F2740,'2014-09-25 22:30:25'), +(233,'356 Olomouc Manor','','Gois',26,'93323','22326410776',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:15'), +(234,'1256 Bislig Boulevard','','Botosani',86,'50598','479007229460',0x00000000010100000085059C4AABAA3A408DAC46C032E04740,'2014-09-25 22:32:46'), +(235,'954 Kimchon Place','','West Bengali',559,'42420','541327526474',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:31:28'), +(236,'885 Yingkou Manor','','Kaduna',596,'31390','588964509072',0x00000000010100000006CF296D16E41E4038E3EAB6FA382640,'2014-09-25 22:32:28'), +(237,'1736 Cavite Place','','Qina',216,'98775','431770603551',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:56'), +(238,'346 Skikda Parkway','','Hawalli',233,'90628','630424482919',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:31:57'), +(239,'98 Stara Zagora Boulevard','','Valle',96,'76448','610173756082',0x00000000010100000084CD4AA4FE4153C0DB9953138E0A0F40,'2014-09-25 22:30:51'), +(240,'1479 Rustenburg Boulevard','','Southern Tagalog',527,'18727','727785483194',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:40'), +(241,'647 A Corua (La Corua) Street','','Chollanam',357,'36971','792557457753',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:33:07'), +(242,'1964 Gijn Manor','','Karnataka',473,'14408','918119601885',0x000000000101000000BBC3DCA458E45240DA4246F6F7DC2B40,'2014-09-25 22:31:26'), +(243,'47 Syktyvkar Lane','','West Java',118,'22236','63937119031',0x000000000101000000EDABBC2E8DB05A40C3C1397E037E1AC0,'2014-09-25 22:31:31'), +(244,'1148 Saarbrcken Parkway','','Fukushima',226,'1921','137773001988',0x000000000101000000AD8ACB4C449C614053F8229001874240,'2014-09-25 22:31:47'), +(245,'1103 Bilbays Parkway','','Hubei',578,'87660','279979529227',0x000000000101000000A76ED34444095C401234C1CB67054040,'2014-09-25 22:30:45'), +(246,'1246 Boksburg Parkway','','Hebei',422,'28349','890283544295',0x000000000101000000B66A323EA7E55D40E508BE0E41F74340,'2014-09-25 22:30:41'), +(247,'1483 Pathankot Street','','Tucumn',454,'37288','686015532180',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:06'), +(248,'582 Papeete Loop','','Central Visayas',294,'27722','569868543137',0x0000000001010000001F189BB1C3FC5E407DC4F9E5DD9E2440,'2014-09-25 22:32:38'), +(249,'300 Junan Street','','Kyonggi',553,'81314','890289150158',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:33:08'), +(250,'829 Grand Prairie Way','','Paran',328,'6461','741070712873',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:20'), +(251,'1473 Changhwa Parkway','','Mxico',124,'75933','266798132374',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:03'), +(252,'1309 Weifang Street','','Florida',520,'57338','435785045362',0x000000000101000000EC0CF8A1F71155C0995A006432703E40,'2014-09-25 22:34:02'), +(253,'1760 Oshawa Manor','','Tianjin',535,'38140','56257502250',0x000000000101000000FBBD5EAB4E4B5D40EB0A6C8434924340,'2014-09-25 22:30:43'), +(254,'786 Stara Zagora Way','','Oyo & Osun',390,'98332','716256596301',0x000000000101000000DB45E22F77770F4073C8BC44AB691F40,'2014-09-25 22:32:27'), +(255,'1966 Tonghae Street','','Anhalt Sachsen',198,'36481','567359279425',0x0000000001010000000000009825D59D41450A0A2879C84940,'2014-09-25 22:31:05'), +(256,'1497 Yuzhou Drive','','England',312,'3433','246810237916',0x000000000101000000CC4642B68718C0BFCA822E8617C14940,'2014-09-25 22:33:37'), +(258,'752 Ondo Loop','','Miyazaki',338,'32474','134673576619',0x00000000010100000048AD8B36226260408871EDFABBBB3F40,'2014-09-25 22:31:50'), +(259,'1338 Zalantun Lane','','Minas Gerais',413,'45403','840522972766',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:21'), +(260,'127 Iwakuni Boulevard','','Central Luzon',192,'20777','987442542471',0x0000000001010000000E6954E0E42E5E40AF05627E13AB2D40,'2014-09-25 22:32:37'), +(261,'51 Laredo Avenue','','Sagaing',342,'68146','884536620568',0x0000000001010000008720BD97B1C85740D4D7F335CB1B3640,'2014-09-25 22:32:18'), +(262,'771 Yaound Manor','','Sofala',64,'86768','245477603573',0x000000000101000000103345CA606B414046CB2665F7D733C0,'2014-09-25 22:32:17'), +(263,'532 Toulon Street','','Santiago',460,'69517','46871694740',0x000000000101000000ECD33B269CAC51C09AB67F65A5733340,'2014-09-25 22:30:55'), +(264,'1027 Banjul Place','','West Bengali',197,'50390','538241037443',0x000000000101000000FE14223BCA1A5640AC6F6072A3EE3640,'2014-09-25 22:31:16'), +(265,'1158 Mandi Bahauddin Parkway','','Shanxi',136,'98484','276555730211',0x000000000101000000ECC84741A6525C40A93C7084FB0B4440,'2014-09-25 22:30:32'), +(266,'862 Xintai Lane','','Cagayan Valley',548,'30065','265153400632',0x00000000010100000015580053866E5E408A5CCBBFF19C3140,'2014-09-25 22:32:41'), +(267,'816 Cayenne Parkway','','Manab',414,'93629','282874611748',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:56'), +(268,'1831 Nam Dinh Loop','','National Capital Reg',323,'51990','322888976727',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:38'), +(269,'446 Kirovo-Tepetsk Lane','','Osaka',203,'19428','303967439816',0x0000000001010000008D94D2D8C3F36040608CED5AE7554140,'2014-09-25 22:31:45'), +(270,'682 Halisahar Place','','Severn Morava',378,'20536','475553436330',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:54'), +(271,'1587 Loja Manor','','Salzburg',447,'5410','621625204422',0x0000000001010000002C83C53C86162A405886DD1C53E64740,'2014-09-25 22:30:10'), +(272,'1762 Paarl Parkway','','Hunan',298,'53928','192459639410',0x00000000010100000067333D177CDB5B40DBA8A9C024B03B40,'2014-09-25 22:30:39'), +(273,'1519 Ilorin Place','','Kerala',395,'49298','357445645426',0x0000000001010000000C4FF921002A5340BD772F52838C2540,'2014-09-25 22:31:21'), +(274,'920 Kumbakonam Loop','','California',446,'75090','685010736240',0x00000000010100000012EF4ADCF4695EC01B95E535C0564240,'2014-09-25 22:34:00'), +(275,'906 Goinia Way','','Wielkopolskie',255,'83565','701767622697',0x0000000001010000007FA2B2614D1732404064366D6BE14940,'2014-09-25 22:32:42'), +(276,'1675 Xiangfan Manor','','Tamil Nadu',283,'11763','271149517630',0x00000000010100000042B687180AD95340EE4108C897EC2540,'2014-09-25 22:31:20'), +(277,'85 San Felipe de Puerto Plata Drive','','Shandong',584,'46063','170739645687',0x000000000101000000EA605859365C5E40EF1010DDFDBC4240,'2014-09-25 22:30:48'), +(278,'144 South Hill Loop','','Guanajuato',445,'2012','45387294817',0x0000000001010000002B84D558424C59C0699B2CFF6B923440,'2014-09-25 22:32:11'), +(279,'1884 Shikarpur Avenue','','Haryana',263,'85548','959949395183',0x0000000001010000002CE395DA413F5340EB460EC7A9B03D40,'2014-09-25 22:31:19'), +(280,'1980 Kamjanets-Podilskyi Street','','Illinois',404,'89502','874337098891',0x000000000101000000167CE420B26556C0B7966EB7C9584440,'2014-09-25 22:33:57'), +(281,'1944 Bamenda Way','','Michigan',573,'24645','75975221996',0x000000000101000000B8B64B76C7C154C0EF254344203D4540,'2014-09-25 22:34:03'), +(282,'556 Baybay Manor','','Oyo & Osun',374,'55802','363982224739',0x000000000101000000F5C6FFD3C30E1140FC30E7BE41502040,'2014-09-25 22:32:25'), +(283,'457 Tongliao Loop','','Bursa',222,'56254','880756161823',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:33:25'), +(284,'600 Bradford Street','','East Azerbaidzan',514,'96204','117592274996',0x000000000101000000EE4E2D115E25474044FF5FD09D0A4340,'2014-09-25 22:31:40'), +(285,'1006 Santa Brbara dOeste Manor','','Ondo & Ekiti',389,'36229','85059738746',0x000000000101000000FBC67CE5E6581640531A7B40EAC81C40,'2014-09-25 22:32:26'), +(286,'1308 Sumy Loop','','Fujian',175,'30657','583021225407',0x000000000101000000DC7AF25597D35D409617AAACB70F3A40,'2014-09-25 22:30:34'), +(287,'1405 Chisinau Place','','Ponce',411,'8160','62781725285',0x000000000101000000974341DF4CA750C03F219628D6023240,'2014-09-25 22:32:45'), +(288,'226 Halifax Street','','Xinxiang',277,'58492','790651020929',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:38'), +(289,'1279 Udine Parkway','','Edo & Delta',69,'75860','195003555232',0x000000000101000000FFB7EDD68D8216408FF4B3A217571940,'2014-09-25 22:32:23'), +(290,'1336 Benin City Drive','','Shiga',386,'46044','341242939532',0x000000000101000000D5810761C9FB60401B07A8BA91804140,'2014-09-25 22:31:53'), +(291,'1155 Liaocheng Place','','Oyo & Osun',152,'22650','558236142492',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:23'), +(292,'1993 Tabuk Lane','','Tamil Nadu',522,'64221','648482415405',0x0000000001010000002AF3A0EA210854407F94C78965D92940,'2014-09-25 22:31:27'), +(293,'86 Higashiosaka Lane','','Guanajuato',563,'33768','957128697225',0x0000000001010000002DAF5C6F1B4C59C07F34F7EBA9643440,'2014-09-25 22:32:14'), +(294,'1912 Allende Manor','','Kowloon and New Kowl',279,'58124','172262454487',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:31:09'), +(295,'544 Tarsus Boulevard','','Gurico',562,'53145','892523334',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:34:05'), +(296,'1936 Cuman Avenue','','Virginia',433,'61195','976798660411',0x000000000101000000FD7B3A6840FC53C065F4ED6EAFA24240,'2014-09-25 22:33:58'), +(297,'1192 Tongliao Street','','Sharja',470,'19065','350970907017',0x000000000101000000AA27F38FBEB44B4053E68B625E563940,'2014-09-25 22:33:35'), +(298,'44 Najafabad Way','','Baskimaa',146,'61391','96604821070',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:33:08'), +(299,'32 Pudukkottai Lane','','Ohio',140,'38834','967274728547',0x000000000101000000077AA86D430C55C0409C2C5A25E14340,'2014-09-25 22:33:49'), +(300,'661 Chisinau Lane','','Pietari',274,'8856','816436065431',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:51'), +(301,'951 Stara Zagora Manor','','Punjab',400,'98573','429925609431',0x0000000001010000001E296C50C51953405651723DC0533E40,'2014-09-25 22:31:22'), +(302,'922 Vila Velha Loop','','Maharashtra',9,'4085','510737228015',0x000000000101000000738F5B8242AF5240612129D835183340,'2014-09-25 22:31:10'), +(303,'898 Jining Lane','','Pohjois-Pohjanmaa',387,'40070','161643343536',0x0000000001010000003DFB80F6D9773940C8D0B183CA405040,'2014-09-25 22:31:00'), +(304,'1635 Kuwana Boulevard','','Hiroshima',205,'52137','710603868323',0x000000000101000000AA944330B38E6040247035FCB8324140,'2014-09-25 22:31:46'), +(305,'41 El Alto Parkway','','Maharashtra',398,'56883','51917807050',0x000000000101000000D487E41A55315340BC3088FEBF443340,'2014-09-25 22:31:22'), +(306,'1883 Maikop Lane','','Kaliningrad',254,'68469','96110042435',0x00000000010100000020DF94A8CD82344015D918856E5A4B40,'2014-09-25 22:32:50'), +(307,'1908 Gaziantep Place','','Liaoning',536,'58979','108053751300',0x0000000001010000004DAA6C0EC6E65E408E9F7C30DF344540,'2014-09-25 22:30:43'), +(308,'687 Alessandria Parkway','','Sanaa',455,'57587','407218522294',0x0000000001010000000C60257A741A4640854A123A9EB52E40,'2014-09-25 22:34:10'), +(309,'827 Yuncheng Drive','','Callao',99,'79047','504434452842',0x000000000101000000C2514DA48F4753C0271CD544FA1C28C0,'2014-09-25 22:32:32'), +(310,'913 Coacalco de Berriozbal Loop','','Texas',33,'42141','262088367001',0x00000000010100000023371EC7EA4658C0A86851442B5E4040,'2014-09-25 22:33:43'), +(311,'715 So Bernardo do Campo Lane','','Kedah',507,'84804','181179321332',0x000000000101000000D8DBC1E3361F5940520DFB3DB1961640,'2014-09-25 22:32:00'), +(312,'1354 Siegen Street','','Rio de Janeiro',25,'80184','573441801529',0x0000000001010000009146054EB62846C0FCA0D398B50137C0,'2014-09-25 22:30:15'), +(313,'1191 Sungai Petani Boulevard','','Missouri',262,'9668','983259819766',0x00000000010100000055890D7107A557C0CB7564F6C38C4340,'2014-09-25 22:33:54'), +(314,'1224 Huejutla de Reyes Boulevard','','Lombardia',91,'70923','806016930576',0x000000000101000000D85B6F40F06D24405EEE38EA8DC44640,'2014-09-25 22:31:43'), +(315,'543 Bergamo Avenue','','Minas Gerais',215,'59686','103602195112',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:18'), +(316,'746 Joliet Lane','','Kursk',286,'94878','688485191923',0x00000000010100000085949F54FB174240E0DCBAF660DE4940,'2014-09-25 22:32:52'), +(317,'780 Kimberley Way','','Tabuk',515,'17032','824396883951',0x0000000001010000001BD47E6B274942408B53AD8559663C40,'2014-09-25 22:33:00'), +(318,'1774 Yaound Place','','Hubei',166,'91400','613124286867',0x0000000001010000002A00C633E8B15C404C63C5BA027D3E40,'2014-09-25 22:30:33'), +(319,'1957 Yantai Lane','','So Paulo',490,'59255','704948322302',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:22'), +(320,'1542 Lubumbashi Boulevard','','Tel Aviv',57,'62472','508800331065',0x000000000101000000765F84DF3C6041403CAB60AF0B034040,'2014-09-25 22:31:41'), +(321,'651 Pathankot Loop','','Maharashtra',336,'59811','139378397418',0x0000000001010000002198FE8062A952408AC168FBFCD23040,'2014-09-25 22:31:20'), +(322,'1359 Zhoushan Parkway','','Streymoyar',545,'29763','46568045367',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:59'), +(323,'1769 Iwaki Lane','','Kujawsko-Pomorskie',97,'25787','556100547674',0x000000000101000000487B7203F4013240837EF0EBD18F4A40,'2014-09-25 22:32:41'), +(324,'1145 Vilnius Manor','','Mxico',451,'73170','674805712553',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:12'), +(325,'1892 Nabereznyje Telny Lane','','Tutuila',516,'28396','478229987054',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:02'), +(326,'470 Boksburg Street','','Central',81,'97960','908029859266',0x000000000101000000DAE78C83263855405BE21291AB023B40,'2014-09-25 22:32:19'), +(327,'1427 A Corua (La Corua) Place','','Buenos Aires',45,'85799','972574862516',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:04'), +(328,'479 San Felipe del Progreso Avenue','','Morelos',130,'54949','869051782691',0x000000000101000000C87E710484BC58C039FD8F02FACD3240,'2014-09-25 22:32:04'), +(329,'867 Benin City Avenue','','Henan',591,'78543','168884817145',0x000000000101000000A0F2F972B05D5C405D68531AD6144140,'2014-09-25 22:30:50'), +(330,'981 Kumbakonam Place','','Distrito Federal',89,'87611','829116184079',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:17'), +(331,'1016 Iwakuni Street','','St George',269,'49833','961370847344',0x000000000101000000A1DC11A9C49C4EC0D11B936A44512A40,'2014-09-25 22:32:59'), +(332,'663 Baha Blanca Parkway','','Adana',5,'33463','834418779292',0x000000000101000000BE72182719AA4140CCD1E3F736804240,'2014-09-25 22:33:22'), +(333,'1860 Taguig Loop','','West Java',119,'59550','38158430589',0x00000000010100000042ACA34FD0E55A40D698C6E52ED81BC0,'2014-09-25 22:31:32'), +(334,'1816 Bydgoszcz Loop','','Dhaka',234,'64308','965273813662',0x000000000101000000A717C627AE7C564080BD1D3C6EEB3840,'2014-09-25 22:30:12'), +(335,'587 Benguela Manor','','Illinois',42,'91590','165450987037',0x00000000010100000097CEE2207C1456C0DDEFABCD5AE14440,'2014-09-25 22:33:44'), +(336,'430 Kumbakonam Drive','','Santa F',457,'28814','105470691550',0x00000000010100000004C1882249304DC055DF54FF7B4E41C0,'2014-09-25 22:30:07'), +(337,'1838 Tabriz Lane','','Dhaka',143,'1195','38988715447',0x0000000001010000001A5D948F139A5640C4D21B49DDB53740,'2014-09-25 22:30:12'), +(338,'431 Szkesfehrvr Avenue','','Baki',48,'57828','119501405123',0x000000000101000000A77686A92DF248400FAECACF57304440,'2014-09-25 22:30:11'), +(339,'503 Sogamoso Loop','','Sumqayit',505,'49812','834626715837',0x0000000001010000006C83C94395D548402C8EB9217C4B4440,'2014-09-25 22:30:11'), +(340,'507 Smolensk Loop','','Sousse',492,'22971','80303246192',0x000000000101000000298EA8F52346254075DA649EA6E94140,'2014-09-25 22:33:21'), +(341,'1920 Weifang Avenue','','Uttar Pradesh',427,'15643','869507847714',0x0000000001010000001F3EFA70DAC153407410CF6D1DCF3C40,'2014-09-25 22:31:25'), +(342,'124 al-Manama Way','','Hiroshima',382,'52368','647899404952',0x0000000001010000004BE07B244AA760407B0ED18D55354140,'2014-09-25 22:31:52'), +(343,'1443 Mardan Street','','Western Cape',392,'31483','231383037471',0x000000000101000000FB6074D42CF73240B0B03B3833DA40C0,'2014-09-25 22:33:05'), +(344,'1909 Benguela Lane','','Henan',581,'19913','624138001031',0x000000000101000000F4AD6AA480775C4066EB2AEE89A74140,'2014-09-25 22:30:47'), +(345,'68 Ponce Parkway','','Hanoi',201,'85926','870635127812',0x0000000001010000005DF525C0D5755A4000F61B3746063540,'2014-09-25 22:34:06'), +(346,'1217 Konotop Avenue','','Gelderland',151,'504','718917251754',0x000000000101000000F438679F22A2164019B4EB3944044A40,'2014-09-25 22:32:20'), +(347,'1293 Nam Dinh Way','','Roraima',84,'71583','697656479977',0x0000000001010000008EE6C8CA2F564EC0D9C23DE0CB8E0640,'2014-09-25 22:30:17'), +(348,'785 Vaduz Street','','Baja California',335,'36170','895616862749',0x0000000001010000000D61EB0816DD5CC07DB328475C504040,'2014-09-25 22:32:10'), +(349,'1516 Escobar Drive','','Tongatapu',370,'46069','64536069371',0x0000000001010000009132987575E665C0BE11DDB3AE2335C0,'2014-09-25 22:33:20'), +(350,'1628 Nagareyama Lane','','Central',453,'60079','20064292617',0x00000000010100000019A5F04520C14CC029006B7AF55639C0,'2014-09-25 22:32:32'), +(351,'1157 Nyeri Loop','','Adygea',320,'56380','262744791493',0x000000000101000000AC91B8228C0D4440EBD10AC2CB4D4640,'2014-09-25 22:32:55'), +(352,'1673 Tangail Drive','','Daugavpils',137,'26857','627924259271',0x0000000001010000004377A45588883A40E580B80611F14B40,'2014-09-25 22:31:57'), +(353,'381 Kabul Way','','Taipei',209,'87272','55477302294',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:33:15'), +(354,'953 Hodeida Street','','Southern Tagalog',221,'18841','53912826864',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:37'), +(355,'469 Nakhon Sawan Street','','Tuvassia',531,'58866','689199636560',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:58'), +(356,'1378 Beira Loop','','Krasnojarsk',597,'40792','840957664136',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:58'), +(357,'1641 Changhwa Place','','Nord-Ouest',52,'37636','256546485220',0x000000000101000000103B53E8BC4A2440A4C0A7DEBFD61740,'2014-09-25 22:30:25'), +(358,'1698 Southport Loop','','Hidalgo',393,'49009','754358349853',0x0000000001010000007AB82E46EEAE58C03DED951EF21D3440,'2014-09-25 22:32:11'), +(359,'519 Nyeri Manor','','So Paulo',461,'37650','764680915323',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:21'), +(360,'619 Hunuco Avenue','','Shimane',331,'81508','142596392389',0x000000000101000000A09ADC399EA160405B1D4AFE71BC4140,'2014-09-25 22:31:50'), +(361,'45 Aparecida de Goinia Place','','Madhya Pradesh',464,'7431','650496654258',0x0000000001010000009E0CE94BCA345440C9FDB38B0E953840,'2014-09-25 22:31:26'), +(362,'482 Kowloon and New Kowloon Manor','','Bratislava',90,'97056','738968474939',0x00000000010100000070DC18F1531B3140BDB90908F7124840,'2014-09-25 22:33:02'), +(363,'604 Bern Place','','Jharkhand',429,'5373','620719383725',0x000000000101000000799F9916AB55554037CC86EB07593740,'2014-09-25 22:31:25'), +(364,'1623 Kingstown Drive','','Buenos Aires',20,'91299','296394569728',0x000000000101000000791563AAAA2A4DC0E4839ECDAA6A41C0,'2014-09-25 22:30:04'), +(365,'1009 Zanzibar Lane','','Arecibo',32,'64875','102396298916',0x000000000101000000FBBD5EABCEAD50C0E9787187F2783240,'2014-09-25 22:32:45'), +(366,'114 Jalib al-Shuyukh Manor','','Centre',585,'60440','845378657301',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:25'), +(367,'1163 London Parkway','','Par',66,'6066','675120358494',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:16'), +(368,'1658 Jastrzebie-Zdrj Loop','','Central',372,'96584','568367775448',0x0000000001010000002B73A900CEEF4240660811BA956FB9BF,'2014-09-25 22:31:56'), +(369,'817 Laredo Avenue','','Jalisco',188,'77449','151249681135',0x000000000101000000F00BF9B113D959C03E4EE2BDB4AA3440,'2014-09-25 22:32:06'), +(370,'1565 Tangail Manor','','Okinawa',377,'45750','634445428822',0x000000000101000000D94C744CCCAA5F4045A1C096B2C53940,'2014-09-25 22:31:52'), +(371,'1912 Emeishan Drive','','Balikesir',50,'33050','99883471275',0x000000000101000000F1074D5CD8E23B400B2A053818D34340,'2014-09-25 22:33:22'), +(372,'230 Urawa Drive','','Andhra Pradesh',8,'2738','166898395731',0x0000000001010000008B04AE869F515340B2930BDF0C402F40,'2014-09-25 22:31:09'), +(373,'1922 Miraj Way','','Esfahan',356,'13203','320471479776',0x00000000010100000017050B71F6AE494026231DD434514040,'2014-09-25 22:31:37'), +(374,'433 Florencia Street','','Chihuahua',250,'91330','561729882725',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:08'), +(375,'1049 Matamoros Parkway','','Karnataka',191,'69640','960505250340',0x0000000001010000007923F3C89F355340386744696F563140,'2014-09-25 22:31:16'), +(376,'1061 Ede Avenue','','Southern Tagalog',98,'57810','333390595558',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:35'), +(377,'154 Oshawa Manor','','East Java',415,'72771','440365973660',0x00000000010100000005B93077D24D5C4065074B2B74041FC0,'2014-09-25 22:31:34'), +(378,'1191 Tandil Drive','','Southern Tagalog',523,'6362','45554316010',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:40'), +(379,'1133 Rizhao Avenue','','Pernambuco',572,'2800','600264533987',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:23'), +(380,'1519 Santiago de los Caballeros Loop','','East Kasai',348,'22025','409315295763',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:53'), +(381,'1618 Olomouc Manor','','Kurgan',285,'26385','96846695220',0x000000000101000000B1694A5755555040EA8FD552E5B94B40,'2014-09-25 22:32:51'), +(382,'220 Hidalgo Drive','','Kermanshah',265,'45298','342720754566',0x0000000001010000004E7A843F6888474008605EDB36284140,'2014-09-25 22:31:37'), +(383,'686 Donostia-San Sebastin Lane','','Guangdong',471,'97390','71857599858',0x000000000101000000F90A1C1A60845C400FDB711EA98B3640,'2014-09-25 22:30:42'), +(384,'97 Mogiljov Lane','','Gujarat',73,'89294','924815207181',0x000000000101000000B4F116FEC209524097DB076A42C63540,'2014-09-25 22:31:11'), +(385,'1642 Charlotte Amalie Drive','','Slaskie',549,'75442','821476736117',0x000000000101000000DDC4DA2967F73240D5D6E3198F114940,'2014-09-25 22:32:44'), +(386,'1368 Maracabo Boulevard','','',493,'32716','934352415130',0x000000000101000000731074B4AA8A4FC050920953EF2E3240,'2014-09-25 22:30:03'), +(387,'401 Sucre Boulevard','','New Hampshire',322,'25007','486395999608',0x000000000101000000817FA54E1BDD51C013718456717F4540,'2014-09-25 22:33:56'), +(388,'368 Hunuco Boulevard','','Namibe',360,'17165','106439158941',0x000000000101000000B5858CECEF4D28404D8EF11769642EC0,'2014-09-25 22:30:03'), +(389,'500 Lincoln Parkway','','Jiangsu',210,'95509','550306965159',0x0000000001010000003C399E2A3AC15D404409449957CB4040,'2014-09-25 22:30:35'), +(390,'102 Chapra Drive','','Ibaragi',521,'14073','776031833752',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:31:54'), +(391,'1793 Meixian Place','','Hmelnytskyi',258,'33535','619966287415',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:33:31'), +(392,'514 Ife Way','','Shaba',315,'69973','900235712074',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:53'), +(393,'717 Changzhou Lane','','Southern Tagalog',104,'21615','426255288071',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:36'), +(394,'753 Ilorin Avenue','','Sichuan',157,'3656','464511145118',0x0000000001010000008531D8C3CDD8594059D70D805D883D40,'2014-09-25 22:30:32'), +(395,'1337 Mit Ghamr Avenue','','Nakhon Sawan',358,'29810','175283210378',0x0000000001010000009A588572C70859404D237722D2682F40,'2014-09-25 22:33:19'), +(396,'767 Pyongyang Drive','','Osaka',229,'83536','667736124769',0x000000000101000000149A7F4FC7EA6040A02413A6DE2F4140,'2014-09-25 22:31:48'), +(397,'614 Pak Kret Street','','Addis Abeba',6,'27796','47808359842',0x0000000001010000009F84E3439A5F43402233BCFEC90C2240,'2014-09-25 22:30:59'), +(398,'954 Lapu-Lapu Way','','Moskova',278,'8816','737229003916',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:51'), +(399,'331 Bydgoszcz Parkway','','Asturia',181,'966','537374465982',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:33:09'), +(400,'1152 Citrus Heights Manor','','al-Qadarif',15,'5239','765957414528',0x00000000010100000084F6459D14B14140AA36EE83E2112C40,'2014-09-25 22:33:11'), +(401,'168 Cianjur Manor','','Saitama',228,'73824','679095087143',0x000000000101000000DEA925C2EB75614032005471E3F94140,'2014-09-25 22:31:48'), +(402,'616 Hagonoy Avenue','','Krasnojarsk',39,'46043','604177838256',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:47'), +(403,'1190 0 Place','','Rio Grande do Sul',44,'10417','841876514789',0x0000000001010000002347DF49B00D4BC086151340D6543FC0,'2014-09-25 22:30:16'), +(404,'734 Bchar Place','','Punjab',375,'30586','280578750435',0x0000000001010000006D3B6D8D885C5240C4A40925DDCE3E40,'2014-09-25 22:32:31'), +(405,'530 Lausanne Lane','','Texas',135,'11067','775235029633',0x0000000001010000009C830C89A03358C0E2D3F7753B644040,'2014-09-25 22:33:49'), +(406,'454 Patiala Lane','','Fukushima',276,'13496','794553031307',0x000000000101000000EC3D4B46448C614091306711E5BB4240,'2014-09-25 22:31:49'), +(407,'1346 Mysore Drive','','Bretagne',92,'61507','516647474029',0x0000000001010000004474BE8EEEEE11C070010DDBBB3F4840,'2014-09-25 22:31:00'), +(408,'990 Etawah Loop','','Tamil Nadu',564,'79940','206169448769',0x000000000101000000D54B42D8DF3C5340FE518A0C61A72440,'2014-09-25 22:31:29'), +(409,'1266 Laredo Parkway','','Saitama',380,'7664','1483365694',0x000000000101000000FBD97EE8F87361403BA5283C0DF44140,'2014-09-25 22:31:52'), +(410,'88 Nagaon Manor','','Buenos Aires',524,'86868','779461480495',0x000000000101000000CA3736960B914DC0D78A91802CA942C0,'2014-09-25 22:30:07'), +(411,'264 Bhimavaram Manor','','St Thomas',111,'54749','302526949177',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:34:08'), +(412,'1639 Saarbrcken Drive','','North West',437,'9827','328494873422',0x00000000010100000015CB8866F93D3B40E48AE65CE5AA39C0,'2014-09-25 22:33:05'), +(413,'692 Amroha Drive','','Northern',230,'35575','359478883004',0x00000000010100000027648CB47900544098E777503F562340,'2014-09-25 22:33:10'), +(414,'1936 Lapu-Lapu Parkway','','Bauchi & Gombe',141,'7122','653436985797',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:23'), +(415,'432 Garden Grove Street','','Ontario',430,'65630','615964523510',0x0000000001010000003E867DF1FBDB53C05900AEBF80EF4540,'2014-09-25 22:30:28'), +(416,'1445 Carmen Parkway','','West Java',117,'70809','598912394463',0x000000000101000000957950F550C55A40B3BFA21122171BC0,'2014-09-25 22:31:30'), +(417,'791 Salinas Street','','Punjab',208,'40509','129953030512',0x000000000101000000579E9B911CFA524075D256804A883F40,'2014-09-25 22:31:17'), +(418,'126 Acua Parkway','','West Bengali',71,'58888','480039662421',0x000000000101000000C3013E89191056404E9F7829D01A3840,'2014-09-25 22:31:11'), +(419,'397 Sunnyvale Avenue','','Guanajuato',19,'55566','680851640676',0x000000000101000000754419059C2F59C02409C21550EA3440,'2014-09-25 22:32:01'), +(420,'992 Klerksdorp Loop','','Utrecht',23,'33711','855290087237',0x000000000101000000C1DFD4ACD88C15404FDC3BB4D9134A40,'2014-09-25 22:32:19'), +(421,'966 Arecibo Loop','','Sind',134,'94018','15273765306',0x000000000101000000BE9B1320AFF15040D93400659DBB3A40,'2014-09-25 22:32:30'), +(422,'289 Santo Andr Manor','','al-Sharqiya',16,'72410','214976066017',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:59'), +(423,'437 Chungho Drive','','Puerto Plata',450,'59489','491271355190',0x000000000101000000225A86930FAC51C0082692431FCB3340,'2014-09-25 22:30:55'), +(424,'1948 Bayugan Parkway','','Bihar',264,'60622','987306329957',0x0000000001010000007613211A82E45540D685C4E2DC893940,'2014-09-25 22:31:19'), +(425,'1866 al-Qatif Avenue','','California',155,'89420','546793516940',0x000000000101000000B4EE7AC4C3815DC0165D28AAC8084140,'2014-09-25 22:33:50'), +(426,'1661 Abha Drive','','Tamil Nadu',416,'14400','270456873752',0x000000000101000000D3B36A2192B45340FBC5111038C32440,'2014-09-25 22:31:23'), +(427,'1557 Cape Coral Parkway','','Hubei',293,'46875','368284120423',0x00000000010100000034CC1A06BDEA5B402D5A25FD62314040,'2014-09-25 22:30:38'), +(428,'1727 Matamoros Place','','Sawhaj',465,'78813','129673677866',0x00000000010100000083E38D27DDB13F40555BA093948E3A40,'2014-09-25 22:30:57'), +(429,'1269 Botosani Manor','','Guangdong',468,'47394','736517327853',0x000000000101000000C8E1DDDB3ED65C40281B20E230C83640,'2014-09-25 22:30:42'), +(430,'355 Vitria de Santo Anto Way','','Oaxaca',452,'81758','548003849552',0x0000000001010000000363D8BC050858C0503750E09D163240,'2014-09-25 22:32:13'), +(431,'1596 Acua Parkway','','Jharkhand',418,'70425','157133457169',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:31:24'), +(432,'259 Ipoh Drive','','So Paulo',189,'64964','419009857119',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:18'), +(433,'1823 Hoshiarpur Lane','','Komi',510,'33191','307133768620',0x000000000101000000C6DA8420AC674940DD9ACF1495D64E40,'2014-09-25 22:32:57'), +(434,'1404 Taguig Drive','','Okayama',547,'87212','572068624538',0x000000000101000000205D11A1F6BF6040BFE90203AD864140,'2014-09-25 22:31:54'), +(435,'740 Udaipur Lane','','Nizni Novgorod',150,'33505','497288595103',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:47'), +(436,'287 Cuautla Boulevard','','Chuquisaca',501,'72736','82619513349',0x0000000001010000002A0B15D2D05050C049C44ABB870833C0,'2014-09-25 22:30:14'), +(437,'1766 Almirante Brown Street','','KwaZulu-Natal',364,'63104','617567598243',0x000000000101000000FDAB7DF090EE3D40488D64EA09C23BC0,'2014-09-25 22:33:04'), +(438,'596 Huixquilucan Place','','Nampula',351,'65892','342709348083',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:17'), +(439,'1351 Aparecida de Goinia Parkway','','Northern Mindanao',391,'41775','959834530529',0x000000000101000000DAFF006B55F55E40898C58D5DC4F2040,'2014-09-25 22:32:38'), +(440,'722 Bradford Lane','','Shandong',249,'90920','746251338300',0x000000000101000000653E7B890CB55D4078A0A932E7954140,'2014-09-25 22:30:37'), +(441,'983 Santa F Way','','British Colombia',565,'47472','145720452260',0x000000000101000000719CCA58A3C75EC0EEE7B92AF59F4840,'2014-09-25 22:30:28'), +(442,'1245 Ibirit Way','','La Romana',290,'40926','331888642162',0x0000000001010000006D59BE2E433E51C04FC87322666D3240,'2014-09-25 22:30:54'), +(443,'1836 Korla Parkway','','Copperbelt',272,'55405','689681677428',0x000000000101000000064257C796363C40BB7EC16ED89A29C0,'2014-09-25 22:34:11'), +(444,'231 Kaliningrad Place','','Lombardia',70,'57833','575081026569',0x0000000001010000007A185A9D9C552340A77E390E17D94640,'2014-09-25 22:31:42'), +(445,'495 Bhimavaram Lane','','Maharashtra',144,'3','82088937724',0x0000000001010000003EE1911DC0B15240B39943520BE73440,'2014-09-25 22:31:15'), +(446,'1924 Shimonoseki Drive','','Batna',59,'52625','406784385440',0x000000000101000000347CB03154B21840DF814B112AC74140,'2014-09-25 22:29:59'), +(447,'105 Dzerzinsk Manor','','Inner Mongolia',540,'48570','240776414296',0x000000000101000000F1C05B7BFA905E40F5EC03DA67CE4540,'2014-09-25 22:30:44'), +(448,'614 Denizli Parkway','','Rio Grande do Sul',486,'29444','876491807547',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:22'), +(449,'1289 Belm Boulevard','','Tartumaa',530,'88306','237368926031',0x00000000010100000079680EFF9FB93A406C7E575FB8304D40,'2014-09-25 22:30:58'), +(450,'203 Tambaram Street','','Buenos Aires',161,'73942','411549550611',0x000000000101000000E753C72AA5604DC0438CD7BCAA2A41C0,'2014-09-25 22:30:05'), +(451,'1704 Tambaram Manor','','West Bengali',554,'2834','39463554936',0x000000000101000000A4E9A2D755065640F598EDAFC3793640,'2014-09-25 22:31:28'), +(452,'207 Cuernavaca Loop','','Tatarstan',352,'52671','782900030287',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:55'), +(453,'319 Springs Loop','','Baijeri',160,'99552','72524459905',0x0000000001010000006A62CB3C0304264081FEE7D5A5CB4840,'2014-09-25 22:31:05'), +(454,'956 Nam Dinh Manor','','Kerman',481,'21872','474047727727',0x000000000101000000F16206CF29D74B40CFA91A738D733D40,'2014-09-25 22:31:39'), +(455,'1947 Paarl Way','','Central Java',509,'23636','834061016202',0x000000000101000000C4D78D2D3AB55B40AC996B8775391EC0,'2014-09-25 22:31:35'), +(456,'814 Simferopol Loop','','Sinaloa',154,'48745','524567129902',0x000000000101000000954330B3F42F5BC090CCD9F115313A40,'2014-09-25 22:32:05'), +(457,'535 Ahmadnagar Manor','','Abu Dhabi',3,'41136','985109775584',0x000000000101000000D3E6EE29EF2E4B4099C6E52E78773840,'2014-09-25 22:33:34'), +(458,'138 Caracas Boulevard','','Zulia',326,'16790','974433019532',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:34:04'), +(459,'251 Florencia Drive','','Michoacn de Ocampo',556,'16119','118011831565',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:13'), +(460,'659 Gatineau Boulevard','','La Paz',153,'28587','205524798287',0x00000000010100000017E7B9CFBB0B51C0A029858ABB7B30C0,'2014-09-25 22:30:13'), +(461,'1889 Valparai Way','','Ziguinchor',600,'75559','670370974122',0x00000000010100000020E1C50C9E4530C0FC219111AB2A2940,'2014-09-25 22:33:01'), +(462,'1485 Bratislava Place','','Illinois',435,'83183','924663855568',0x000000000101000000A081A2C30D4656C04453D1B3B4224540,'2014-09-25 22:33:59'), +(463,'935 Aden Boulevard','','Central Java',532,'64709','335052544020',0x000000000101000000C7139C55FA485B40BEE435655D7A1BC0,'2014-09-25 22:31:35'), +(464,'76 Kermanshah Manor','','Esfahan',423,'23343','762361821578',0x000000000101000000FF66182DF6EE4940A60BB1FA23014040,'2014-09-25 22:31:37'), +(465,'734 Tanshui Avenue','','Caquet',170,'70664','366776723320',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:52'), +(466,'118 Jaffna Loop','','Northern Mindanao',182,'10447','325526730021',0x00000000010100000028B27B9777475F40BAEA4B80ABAA2140,'2014-09-25 22:32:36'), +(467,'1621 Tongliao Avenue','','Irkutsk',558,'22173','209342540247',0x000000000101000000C7269E584CE95940E56A1ACA3F604A40,'2014-09-25 22:32:58'), +(468,'1844 Usak Avenue','','Nova Scotia',196,'84461','164414772677',0x0000000001010000004205871744C94FC0162B0F779A524640,'2014-09-25 22:30:27'), +(469,'1872 Toulon Loop','','OHiggins',428,'7939','928809465153',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:30'), +(470,'1088 Ibirit Place','','Jalisco',595,'88502','49084281333',0x0000000001010000007820578FA0D859C06AE514D33BB93440,'2014-09-25 22:32:15'), +(471,'1322 Mosul Parkway','','Shandong',145,'95400','268053970382',0x0000000001010000002856574F779F5D402425E2523ABB4240,'2014-09-25 22:30:32'), +(472,'1447 Chatsworth Place','','Chihuahua',129,'41545','769370126331',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:04'), +(473,'1257 Guadalajara Street','','Karnataka',78,'33599','195337700615',0x000000000101000000052049A4C8ED5240E702F2800DD33040,'2014-09-25 22:31:14'), +(474,'1469 Plock Lane','','Galicia',388,'95835','622884741180',0x000000000101000000FB44F9DDCF741FC0ED9A90D6182B4540,'2014-09-25 22:33:09'), +(475,'434 Ourense (Orense) Manor','','Hodeida',206,'14122','562370137426',0x000000000101000000F56FF2B62D7A4540DF80E03B7B982D40,'2014-09-25 22:34:10'), +(476,'270 Tambaram Parkway','','Gauteng',244,'9668','248446668735',0x0000000001010000005B5540EB2B0B3C4082412D61C8333AC0,'2014-09-25 22:33:03'), +(477,'1786 Salinas Place','','Nam Ha',359,'66546','206060652238',0x00000000010100000044BD851A2A7E5A40C2DB8310908D3440,'2014-09-25 22:34:07'), +(478,'1078 Stara Zagora Drive','','Aceh',301,'69221','932992626595',0x00000000010100000034057CC8A5495840D2C9ADA470B81440,'2014-09-25 22:31:33'), +(479,'1854 Okara Boulevard','','Drenthe',158,'42123','131912793873',0x0000000001010000006E8AC745B5A01B40947BCBE6BB634A40,'2014-09-25 22:32:21'), +(480,'421 Yaound Street','','Sumy',385,'11363','726875628268',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:33:33'), +(481,'1153 Allende Way','','Qubec',179,'20336','856872225376',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:26'), +(482,'808 Naala-Porto Parkway','','England',500,'41060','553452430707',0x0000000001010000000E6036A6CC4201C0B9D7930A74B44A40,'2014-09-25 22:33:41'), +(483,'632 Usolje-Sibirskoje Parkway','','Ha Darom',36,'73085','667648979883',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:31:41'), +(484,'98 Pyongyang Boulevard','','Ohio',11,'88749','191958435142',0x0000000001010000008AB1A778376154C0990524AB6C8A4440,'2014-09-25 22:33:42'), +(485,'984 Novoterkassk Loop','','Gaziantep',180,'28165','435118527255',0x000000000101000000CAAF7A1BF6B04240AA8889BC9B874240,'2014-09-25 22:33:25'), +(486,'64 Korla Street','','Mwanza',347,'25145','510383179153',0x0000000001010000002A28FB9DDC7B40402EBB719C252204C0,'2014-09-25 22:33:17'), +(487,'1785 So Bernardo do Campo Street','','Veracruz',125,'71182','684529463244',0x000000000101000000A1551CBD509C57C0141F44D72A223240,'2014-09-25 22:32:04'), +(488,'698 Jelets Boulevard','','Denizli',142,'2596','975185523021',0x000000000101000000EECD6F9868163D40B226BB3E18E34240,'2014-09-25 22:33:24'), +(489,'1297 Alvorada Parkway','','Ningxia',587,'11839','508348602835',0x0000000001010000001583D1F679915A4029876066E93B4340,'2014-09-25 22:30:49'), +(490,'1909 Dayton Avenue','','Guangdong',469,'88513','702955450528',0x0000000001010000007BE0BE6955655C405457998466E43840,'2014-09-25 22:30:42'), +(491,'1789 Saint-Denis Parkway','','Coahuila de Zaragoza',4,'8268','936806643983',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:01'), +(492,'185 Mannheim Lane','','Stavropol',408,'23661','589377568313',0x000000000101000000333E82D19B87454024592CEA38064640,'2014-09-25 22:32:56'), +(493,'184 Mandaluyong Street','','Baja California Sur',288,'94239','488425406814',0x000000000101000000173B2BB3D2935BC078F6F0C05B233840,'2014-09-25 22:32:09'), +(494,'591 Sungai Petani Drive','','Okayama',376,'46400','37247325001',0x0000000001010000001966B2C9EBBD60404CC054D8B1544140,'2014-09-25 22:31:51'), +(495,'656 Matamoros Drive','','Boyac',487,'19489','17305839123',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:53'), +(496,'775 ostka Drive','','al-Daqahliya',337,'22358','171973024401',0x000000000101000000FC4DCD8A4D423F403EDF60B9EFB63E40,'2014-09-25 22:30:57'), +(497,'1013 Tabuk Boulevard','','West Bengali',261,'96203','158399646978',0x0000000001010000005D1B857F6C1B5640793BC269C1F53640,'2014-09-25 22:31:19'), +(498,'319 Plock Parkway','','Istanbul',504,'26101','854259976812',0x000000000101000000B6EFF6C54A453D40277E3100F97A4440,'2014-09-25 22:33:28'), +(499,'1954 Kowloon and New Kowloon Way','','Chimborazo',434,'63667','898559280434',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:56'), +(500,'362 Rajkot Lane','','Gansu',47,'98030','962020153680',0x0000000001010000004F6FEB13E50A5A4028733D1B03464240,'2014-09-25 22:30:31'), +(501,'1060 Tandil Lane','','Shandong',432,'72349','211256301880',0x000000000101000000CAB61D6423DD5D40ADF1E379BAB64140,'2014-09-25 22:30:41'), +(502,'1515 Korla Way','','England',589,'57197','959467760895',0x0000000001010000004C42D8DFC852F1BFBA826DC493FA4A40,'2014-09-25 22:33:42'), +(503,'1416 San Juan Bautista Tuxtepec Avenue','','Zufar',444,'50592','144206758053',0x000000000101000000A6684018D30B4B40078662E1DA033140,'2014-09-25 22:32:29'), +(504,'1 Valle de Santiago Avenue','','Apulia',93,'86208','465897838272',0x000000000101000000CAFED4D3A2EF3140584D7C5AEA504440,'2014-09-25 22:31:43'), +(505,'519 Brescia Parkway','','East Java',318,'69504','793996678771',0x000000000101000000A3C794B487E15B400A230736F8841EC0,'2014-09-25 22:31:33'), +(506,'414 Mandaluyong Street','','Lubelskie',314,'16370','52709222667',0x0000000001010000000FE6C0BC1191364020F0C000C2A04940,'2014-09-25 22:32:43'), +(507,'1197 Sokoto Boulevard','','West Bengali',478,'87687','868602816371',0x000000000101000000109546CC6C1B56408F0FC4C3C5B53A40,'2014-09-25 22:31:27'), +(508,'496 Celaya Drive','','Nagano',552,'90797','759586584889',0x000000000101000000254E3805034961402486D3388A334240,'2014-09-25 22:31:54'), +(509,'786 Matsue Way','','Illinois',245,'37469','111177206479',0x0000000001010000000F3B9D75570556C0FA91C77839C34440,'2014-09-25 22:33:54'), +(510,'48 Maracabo Place','','Central Luzon',519,'1570','82671830126',0x000000000101000000223999B8D53A5E408D87AD8F3D2D2F40,'2014-09-25 22:32:39'), +(511,'1152 al-Qatif Lane','','Kalimantan Barat',412,'44816','131370665218',0x000000000101000000107FA88F9B545B4021037976F9D69FBF,'2014-09-25 22:31:34'), +(512,'1269 Ipoh Avenue','','Eskisehir',163,'54674','402630109080',0x000000000101000000E9D32AFA43853E40767D303A6AE34340,'2014-09-25 22:33:24'), +(513,'758 Korolev Parkway','','Andhra Pradesh',568,'75474','441628280920',0x00000000010100000031DA99F859285440AF528BD2EF843040,'2014-09-25 22:31:29'), +(514,'1747 Rustenburg Place','','Bihar',110,'51369','442673923363',0x0000000001010000000BFD5DE9C62E554041C4BC7D0CC83940,'2014-09-25 22:31:14'), +(515,'886 Tonghae Place','','Volgograd',259,'19450','711928348157',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:50'), +(516,'1574 Goinia Boulevard','','Heilongjiang',502,'39529','59634255214',0x00000000010100000017128B73AFBF5F40C5ECC094DC514740,'2014-09-25 22:30:43'), +(517,'548 Uruapan Street','','Ontario',312,'35653','879347453467',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:33:38'), +(519,'962 Tama Loop','','',583,'65952','282667506728',0x000000000101000000FA545FA722DD6440AA7A9EE4B321E1BF,'2014-09-25 22:32:19'), +(520,'1778 Gijn Manor','','Hubei',594,'35156','288910576761',0x000000000101000000E358727044305C40A58A3D0F49104040,'2014-09-25 22:30:50'), +(521,'568 Dhule (Dhulia) Loop','','Coquimbo',127,'92568','602101369463',0x0000000001010000000000804A296FC5C1DDA85F330AC13EC0,'2014-09-25 22:30:30'), +(522,'1768 Udine Loop','','Battambang',60,'32347','448876499197',0x000000000101000000708802C7AFCC59402ABC15D396342A40,'2014-09-25 22:30:24'), +(523,'608 Birgunj Parkway','','Taipei',116,'400','627425618482',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:33:14'), +(524,'680 A Corua (La Corua) Manor','','Sivas',482,'49806','158326114853',0x000000000101000000936EF02A10824240F2F6D676C9DF4340,'2014-09-25 22:33:28'), +(525,'1949 Sanya Street','','Gumma',224,'61244','132100972047',0x000000000101000000943F29A406696140E4CA8FAE88284240,'2014-09-25 22:31:47'), +(526,'617 Klerksdorp Place','','Khanh Hoa',366,'94707','574973479129',0x0000000001010000004A1751C96F4C5B4032F504D37A7D2840,'2014-09-25 22:34:07'), +(527,'1993 0 Loop','','Liaoning',588,'41214','25865528181',0x000000000101000000B65E1D119D8E5E40171A3ED818554440,'2014-09-25 22:30:49'), +(528,'1176 Southend-on-Sea Manor','','Southern Tagalog',458,'81651','236679267178',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:39'), +(529,'600 Purnea (Purnia) Avenue','','Nghe An',571,'18043','638409958875',0x000000000101000000962364204F6C5A407A6D365662AC3240,'2014-09-25 22:34:07'), +(530,'1003 Qinhuangdao Street','','West Java',419,'25972','35533115997',0x0000000001010000005EA516A55FDC5A40A21639FA4E3A1AC0,'2014-09-25 22:31:35'), +(531,'1986 Sivas Place','','Friuli-Venezia Giuli',551,'95775','182059202712',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:31:44'), +(532,'1427 Tabuk Place','','Florida',101,'31342','214756839122',0x0000000001010000003C702942C57C54C02A5D555117903A40,'2014-09-25 22:33:47'), +(533,'556 Asuncin Way','','Mogiljov',339,'35364','338244023543',0x0000000001010000006B6DD04D51583E40673513C259F54A40,'2014-09-25 22:30:13'), +(534,'486 Ondo Parkway','','Benguela',67,'35202','105882218332',0x000000000101000000BD83E9C59ACF2A40B9FA56900B2729C0,'2014-09-25 22:30:02'), +(535,'635 Brest Manor','','Andhra Pradesh',75,'40899','80593242951',0x00000000010100000079FA52897C615440D2C9ADA4708A3040,'2014-09-25 22:31:13'), +(536,'166 Jinchang Street','','Buenos Aires',165,'86760','717566026669',0x0000000001010000003EB896242A434DC0E0771DBB556D41C0,'2014-09-25 22:30:05'), +(537,'958 Sagamihara Lane','','Mie',287,'88408','427274926505',0x000000000101000000BED29E37BA1761409B5F837467884140,'2014-09-25 22:31:50'), +(538,'1817 Livorno Way','','Khanh Hoa',100,'79401','478380208348',0x000000000101000000944A78422F4A5B40236D3E09C7D72740,'2014-09-25 22:34:05'), +(539,'1332 Gaziantep Lane','','Shandong',80,'22813','383353187467',0x000000000101000000BC2F1D2911815D4074B0A316EFAE4240,'2014-09-25 22:30:31'), +(540,'949 Allende Lane','','Uttar Pradesh',24,'67521','122981120653',0x0000000001010000008C91DBE5119E534039A8B34934E73C40,'2014-09-25 22:31:11'), +(541,'195 Ilorin Street','','Chari-Baguirmi',363,'49250','8912935608',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:29'), +(542,'193 Bhusawal Place','','Kang-won',539,'9750','745267607502',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:33:07'), +(543,'43 Vilnius Manor','','Colorado',42,'79814','484500282381',0x0000000001010000009389004C3E355AC0D03582435EDD4340,'2014-09-25 22:33:44'), +(544,'183 Haiphong Street','','Jilin',46,'69953','488600270038',0x000000000101000000AFA3607C87B45E4038A85890C1CD4640,'2014-09-25 22:30:30'), +(545,'163 Augusta-Richmond County Loop','','Carabobo',561,'33030','754579047924',0x000000000101000000CC0C1B657D0051C06B7F677BF4522440,'2014-09-25 22:34:05'), +(546,'191 Jos Azueta Parkway','','Ruse',436,'13629','932156667696',0x00000000010100000067A9ABF188F83940CD6CA1759EED4540,'2014-09-25 22:30:23'), +(547,'379 Lublin Parkway','','Toscana',309,'74568','921960450089',0x00000000010100000090920D5AFEA62440CC13BEADAAC54540,'2014-09-25 22:31:44'), +(548,'1658 Cuman Loop','','Sumatera Selatan',396,'51309','784907335610',0x00000000010100000018D75306E9885A40E8209EDB3A4E01C0,'2014-09-25 22:31:34'), +(549,'454 Qinhuangdao Drive','','Tadla-Azilal',68,'25866','786270036240',0x000000000101000000419479F53B6619C04F09E3022B2B4040,'2014-09-25 22:32:16'), +(550,'1715 Okayama Street','','So Paulo',485,'55676','169352919175',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:22'), +(551,'182 Nukualofa Drive','','Sumy',275,'15414','426346224043',0x00000000010100000079F71109F099404055BBCBEAC29E4940,'2014-09-25 22:33:32'), +(552,'390 Wroclaw Way','','Hainan',462,'5753','357593328658',0x000000000101000000F70FD88B57605B40364E5480393E3240,'2014-09-25 22:30:41'), +(553,'1421 Quilmes Lane','','Ishikawa',260,'19151','135407755975',0x0000000001010000008F9F32A30414614053AEF02E174C4240,'2014-09-25 22:31:49'), +(554,'947 Trshavn Place','','Central Luzon',528,'841','50898428626',0x000000000101000000C56DD9C644265E4002B5BD82D9F52E40,'2014-09-25 22:32:40'), +(555,'1764 Jalib al-Shuyukh Parkway','','Galicia',459,'77642','84794532510',0x00000000010100000090FFB8B3651721C09DB23FF5B4704540,'2014-09-25 22:33:10'), +(556,'346 Cam Ranh Avenue','','Zhejiang',599,'39976','978430786151',0x000000000101000000A0E63FFF188D5E4056DBA8A9C0023E40,'2014-09-25 22:30:51'), +(557,'1407 Pachuca de Soto Place','','Rio Grande do Sul',21,'26284','380077794770',0x000000000101000000A3CEDC43C28449C0608209922DFD3DC0,'2014-09-25 22:30:14'), +(558,'904 Clarksville Drive','','Zhejiang',193,'52234','955349440539',0x000000000101000000E5886B6BFA2A5E4038E04E7D7B7A3E40,'2014-09-25 22:30:34'), +(559,'1917 Kumbakonam Parkway','','Vojvodina',368,'11892','698182547686',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:34:11'), +(560,'1447 Imus Place','','Gujarat',426,'12905','62127829280',0x000000000101000000667F4523C4B25140819C8B1AA74A3640,'2014-09-25 22:31:25'), +(561,'1497 Fengshan Drive','','KwaZulu-Natal',112,'63022','368738360376',0x000000000101000000938FDD054AE43E402AF97DA42DEB3DC0,'2014-09-25 22:33:03'), +(562,'869 Shikarpur Way','','England',496,'57380','590764256785',0x000000000101000000894FF003460D08C0828472ECEAD24A40,'2014-09-25 22:33:40'), +(563,'1059 Yuncheng Avenue','','Vilna',570,'47498','107092893983',0x00000000010100000046B82462A5473940BA0ACE8536584B40,'2014-09-25 22:31:58'), +(564,'505 Madiun Boulevard','','Dolnoslaskie',577,'97271','970638808606',0x000000000101000000F0D46D9A8808314023A93B05AF914940,'2014-09-25 22:32:44'), +(565,'1741 Hoshiarpur Boulevard','','al-Sharqiya',79,'22372','855066328617',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:30:56'), +(566,'1229 Varanasi (Benares) Manor','','Buenos Aires',43,'40195','817740355461',0x00000000010100000014DA28A1AA2A4DC02E156580555541C0,'2014-09-25 22:30:04'), +(567,'1894 Boa Vista Way','','Texas',178,'77464','239357986667',0x000000000101000000C1D1448EE32858C0AD8D0CCDD0744040,'2014-09-25 22:33:51'), +(568,'1342 Sharja Way','','Sokoto & Kebbi & Zam',488,'93655','946114054231',0x0000000001010000005B087250C2F41440E711ED74311F2A40,'2014-09-25 22:32:27'), +(569,'1342 Abha Boulevard','','Bukarest',95,'10714','997453607116',0x000000000101000000924FD9FA331B3A40B1CBA61254374640,'2014-09-25 22:32:46'), +(570,'415 Pune Avenue','','Shandong',580,'44274','203202500108',0x000000000101000000CC3857DE1F705D408F26CDD545F34140,'2014-09-25 22:30:47'), +(571,'1746 Faaa Way','','Huanuco',214,'32515','863080561151',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:33'), +(572,'539 Hami Way','','Tokat',538,'52196','525518075499',0x0000000001010000006F302F1BF8464240AD7B759F2D284440,'2014-09-25 22:33:29'), +(573,'1407 Surakarta Manor','','Moskova',466,'33224','324346485054',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:56'), +(574,'502 Mandi Bahauddin Parkway','','Anzotegui',55,'15992','618156722572',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:34:03'), +(575,'1052 Pathankot Avenue','','Sichuan',299,'77397','128499386727',0x000000000101000000AA054026E3F05940CCC12275F18F3D40,'2014-09-25 22:30:39'), +(576,'1351 Sousse Lane','','Coahuila de Zaragoza',341,'37815','203804046132',0x0000000001010000006AB86D84EA5A59C027AA12C028E83A40,'2014-09-25 22:32:10'), +(577,'1501 Pangkal Pinang Avenue','','Mazowieckie',409,'943','770864062795',0x0000000001010000001646C4DED5B43340308AD46AFE454A40,'2014-09-25 22:32:43'), +(578,'1405 Hagonoy Avenue','','Slaskie',133,'86587','867287719310',0x0000000001010000002431F77FC41F3340F5B06197F2654940,'2014-09-25 22:32:42'), +(579,'521 San Juan Bautista Tuxtepec Place','','Qaraghandy',598,'95093','844018348565',0x0000000001010000006848CB3711F15040E32A604C44E44740,'2014-09-25 22:31:56'), +(580,'923 Tangail Boulevard','','Tokyo-to',10,'33384','315528269898',0x00000000010100000078E5C468A76B6140C3A27D079ADA4140,'2014-09-25 22:31:45'), +(581,'186 Skikda Lane','','Morelos',131,'89422','14465669789',0x00000000010100000048C2BE9DC4CE58C0DA3DD4111BED3240,'2014-09-25 22:32:05'), +(582,'1568 Celaya Parkway','','Kaohsiung',168,'34750','278669994384',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:33:15'), +(583,'1489 Kakamigahara Lane','','Taipei',526,'98883','29341849811',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:33:16'), +(584,'1819 Alessandria Loop','','Campeche',103,'53829','377633994405',0x0000000001010000008636A5611DF556C0374F1A0F5BA53240,'2014-09-25 22:32:02'), +(585,'1208 Tama Loop','','Ninawa',344,'73605','954786054144',0x000000000101000000314F9DFD378F4540961EF23BF22A4240,'2014-09-25 22:31:40'), +(586,'951 Springs Lane','','Central Mindanao',219,'96115','165164761435',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:37'), +(587,'760 Miyakonojo Drive','','Guerrero',246,'64682','294449058179',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:32:08'), +(588,'966 Asuncin Way','','Hidalgo',212,'62703','995527378381',0x000000000101000000EBBD4230D89A58C0E30632F1FD233540,'2014-09-25 22:32:07'), +(589,'1584 Ljubertsy Lane','','England',494,'22954','285710089439',0x00000000010100000035385B8AF577F6BF8C7560EFB4734940,'2014-09-25 22:33:38'), +(590,'247 Jining Parkway','','Banjul',54,'53446','170115379190',0x0000000001010000001BE4E434FA9330C08A8F4FC8CEE72A40,'2014-09-25 22:31:04'), +(591,'773 Dallas Manor','','Buenos Aires',424,'12664','914466027044',0x00000000010100000009C3802557204DC0B75CA21FB25C41C0,'2014-09-25 22:30:06'), +(592,'1923 Stara Zagora Lane','','Nantou',546,'95179','182178609211',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:33:17'), +(593,'1402 Zanzibar Boulevard','','Guanajuato',106,'71102','387448063440',0x000000000101000000FCB7DCAA353459C05CA8A1B206863440,'2014-09-25 22:32:03'), +(594,'1464 Kursk Parkway','','Shandong',574,'17381','338758048786',0x0000000001010000008CA2073E86C65D40055669E6245B4240,'2014-09-25 22:30:44'), +(595,'1074 Sanaa Parkway','','Loja',311,'22474','154124128457',0x00000000010100000092DBE51112CD53C00EF96706F1F10FC0,'2014-09-25 22:30:55'), +(596,'1759 Niznekamsk Avenue','','al-Manama',14,'39414','864392582257',0x000000000101000000044D9539A74A49401224004922373A40,'2014-09-25 22:30:11'), +(597,'32 Liaocheng Way','','Minas Gerais',248,'1944','410877354933',0x000000000101000000C2757BFFD5AC45C0424F1432A1C335C0,'2014-09-25 22:30:19'), +(598,'42 Fontana Avenue','','Fejr',512,'14684','437829801725',0x00000000010100000000000000000000000000000000000000,'2014-09-25 22:31:09'), +(599,'1895 Zhezqazghan Drive','','California',177,'36693','137809746111',0x0000000001010000003EC7ECD1407C5DC057FA1A930FE34040,'2014-09-25 22:33:51'), +(600,'1837 Kaduna Parkway','','Inner Mongolia',241,'82580','640843562301',0x000000000101000000D61A4AEDC5465C400E64E2FB87834440,'2014-09-25 22:30:37'), +(601,'844 Bucuresti Place','','Liaoning',242,'36603','935952366111',0x000000000101000000B88086EDDD6D5E407CED9925018D4340,'2014-09-25 22:30:37'), +(602,'1101 Bucuresti Boulevard','','West Greece',401,'97661','199514580428',0x000000000101000000AAC1EA7E04BC3540E65F26E5491F4340,'2014-09-25 22:31:07'), +(603,'1103 Quilmes Boulevard','','Piura',503,'52137','644021380889',0x000000000101000000AD9685C0DB2B54C09B012EC8969D13C0,'2014-09-25 22:32:34'), +(604,'1331 Usak Boulevard','','Vaud',296,'61960','145308717464',0x000000000101000000CE273CB203881A40205734E72A424740,'2014-09-25 22:33:14'), +(605,'1325 Fukuyama Street','','Heilongjiang',537,'27107','288241215394',0x00000000010100000017540A70700160401E1C47077F7D4740,'2014-09-25 22:30:44'); +COMMIT; + +DROP TABLE address; diff --git a/mysql-test/suite/innodb_gis/t/rtree_add_index.test b/mysql-test/suite/innodb_gis/t/rtree_add_index.test new file mode 100644 index 00000000..81755124 --- /dev/null +++ b/mysql-test/suite/innodb_gis/t/rtree_add_index.test @@ -0,0 +1,16 @@ +--source include/have_innodb.inc + +CREATE TABLE t1 (g MULTIPOINT NOT NULL) ENGINE=InnoDB; +INSERT INTO t1 VALUES (''); + +connect purge_control,localhost,root; +START TRANSACTION WITH CONSISTENT SNAPSHOT; +connection default; + +DELETE FROM t1; + +ALTER TABLE t1 ADD SPATIAL INDEX (g); + +disconnect purge_control; +--source ../../innodb/include/wait_all_purged.inc +DROP TABLE t1; diff --git a/mysql-test/suite/innodb_gis/t/rtree_compress.test b/mysql-test/suite/innodb_gis/t/rtree_compress.test new file mode 100644 index 00000000..e667ec8e --- /dev/null +++ b/mysql-test/suite/innodb_gis/t/rtree_compress.test @@ -0,0 +1,60 @@ +# WL#6745 InnoDB R-tree support +# This test case will test R-tree split. + +# Not supported in embedded +--source include/not_embedded.inc + +--source include/innodb_page_size_small.inc +--source include/have_debug.inc +--source include/big_test.inc +# Valgrind takes too much time on PB2 even in the --big-test runs. +--source include/not_valgrind.inc + +create table t1 (c1 int, c2 geometry not null, spatial index (c2))engine=innodb ROW_FORMAT=COMPRESSED; + +# Insert enough values to let R-tree split. +insert into t1 values(1, Point(1,1)); +insert into t1 values(2, Point(2,2)); +insert into t1 values(3, Point(3,3)); +insert into t1 values(4, Point(4,4)); +insert into t1 values(5, Point(5,5)); +insert into t1 values(6, Point(6,6)); +insert into t1 values(7, Point(7,7)); +insert into t1 values(8, Point(8,8)); +insert into t1 values(9, Point(9,9)); + +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +start transaction; +insert into t1 select * from t1; +select count(*) from t1; +rollback; + +check table t1; + +select count(*) from t1; + +set @g1 = ST_GeomFromText('Polygon((0 0,0 100,100 100,100 0,0 0))'); +select count(*) from t1 where MBRWithin(t1.c2, @g1); + +set @g1 = ST_GeomFromText('Polygon((10 10,10 800,800 800,800 10,10 10))'); +select count(*) from t1 where MBRWithin(t1.c2, @g1); + +SET @saved_dbug = @@SESSION.debug_dbug; +SET DEBUG='+d,page_copy_rec_list_start_compress_fail'; +delete from t1; +select count(*) from t1 where MBRWithin(t1.c2, @g1); +SET debug_dbug = @saved_dbug; + +--source ../../innodb/include/wait_all_purged.inc + +# Clean up. +drop table t1; diff --git a/mysql-test/suite/innodb_gis/t/rtree_compress2.test b/mysql-test/suite/innodb_gis/t/rtree_compress2.test new file mode 100644 index 00000000..051fcfca --- /dev/null +++ b/mysql-test/suite/innodb_gis/t/rtree_compress2.test @@ -0,0 +1,44 @@ +# WL#6745 InnoDB R-tree support +# This test case will test R-tree multi level split. + +# Restarting is not supported in embedded +--source include/not_embedded.inc + +--source include/innodb_page_size_small.inc +--source include/big_test.inc +# Valgrind takes too much time on PB2 even in the --big-test runs. +--source include/not_valgrind.inc +let $restart_noprint=2; + +SET GLOBAL innodb_file_per_table=1; + +# Create table with R-tree index. +create table t1 (c1 int, c2 geometry not null, spatial index (c2))engine=innodb ROW_FORMAT=COMPRESSED; + +# Insert enough values to let R-tree split. +delimiter |; +create procedure insert_t1(IN total int) +begin + declare i int default 1; + while (i <= total) DO + insert into t1 values (i, Point(i, i)); + set i = i + 1; + end while; +end| +delimiter ;| + +# Test level 3 rtree. +begin; +CALL insert_t1(70000); +commit; + +--let $shutdown_timeout=0 +--source include/restart_mysqld.inc + +check table t1; +select count(*) from t1; +delete from t1; + +# Clean up. +drop procedure insert_t1; +drop table t1; diff --git a/mysql-test/suite/innodb_gis/t/rtree_concurrent_srch.test b/mysql-test/suite/innodb_gis/t/rtree_concurrent_srch.test new file mode 100644 index 00000000..c4a6448f --- /dev/null +++ b/mysql-test/suite/innodb_gis/t/rtree_concurrent_srch.test @@ -0,0 +1,430 @@ +# WL#6745 InnoDB R-tree support +# This test case will test R-tree split. + +--source include/have_innodb.inc +--source include/have_debug.inc +--source include/have_debug_sync.inc +--source include/big_test.inc + +# Create table with R-tree index. +create table t1 (c1 int, c2 geometry not null, spatial index (c2))engine=innodb; + +# Insert enough values to let R-tree split. +insert into t1 values(1, Point(1,1)); +insert into t1 values(2, Point(2,2)); +insert into t1 values(3, Point(3,3)); +insert into t1 values(4, Point(4,4)); +insert into t1 values(5, Point(5,5)); +insert into t1 values(6, Point(6,6)); +insert into t1 values(7, Point(7,7)); +insert into t1 values(8, Point(8,8)); +insert into t1 values(9, Point(9,9)); + +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; + +insert into t1 select * from t1; +insert into t1 select * from t1; + +connect (a,localhost,root,,); +SET debug_dbug='+d,rtr_pcur_move_to_next_return'; + +set session transaction isolation level serializable; +set @g1 = ST_GeomFromText('Polygon((0 0,0 100,100 100,100 0,0 0))'); +SET DEBUG_SYNC = 'RESET'; +SET DEBUG_SYNC = 'row_search_for_mysql_before_return SIGNAL started WAIT_FOR go_ahead'; +--send select count(*) from t1 where MBRWithin(t1.c2, @g1); + +connect (con1,localhost,root,,); +set session transaction isolation level serializable; + +SET DEBUG_SYNC = 'now WAIT_FOR started'; +insert into t1 select * from t1; +SET DEBUG_SYNC = 'now SIGNAL go_ahead'; + +connection a; +reap; +select count(*) from t1 where MBRWithin(t1.c2, @g1); + +connection default; +insert into t1 select * from t1; +insert into t1 select * from t1; + +set @g1 = ST_GeomFromText('Polygon((0 0,0 100,100 100,100 0,0 0))'); +select count(*) from t1 where MBRWithin(t1.c2, @g1); + +set @g1 = ST_GeomFromText('Polygon((10 10,10 800,800 800,800 10,10 10))'); +select count(*) from t1 where MBRWithin(t1.c2, @g1); + +set session transaction isolation level serializable; + +truncate t1; + +# Test on predicate locking +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(2 2, 150 150)')); +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(3 3, 160 160)')); +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(4 4, 170 170)')); +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(5 5, 180 180)')); +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(6 6, 190 190)')); +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(7 7, 200 200)')); +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(8 8, 210 210)')); + +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; + +# Connection 'a' will place predicate lock on almost all pages +connection a; +set session transaction isolation level serializable; +select @@tx_isolation; +start transaction; +set @g1 = ST_GeomFromText('Polygon((100 100, 100 110, 110 110, 110 100, 100 100))'); +select count(*) from t1 where MBRwithin(t1.c2, @g1); + +# The split will replicate locks across pages +connect (b,localhost,root,,); +set session transaction isolation level serializable; +set session innodb_lock_wait_timeout = 1; + +select @@tx_isolation; + +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; + +# FIXME: Put this back once we sort out the shrink business +#insert into t1 select * from t1; + +connection a; +commit; + +connection default; +select count(*) from t1; + +# Insert a record that would be in the search range +insert into t1 values (105, Point(105, 105)); + +# Connection 'a' will place predicate lock on almost all pages +connection a; +start transaction; +set @g1 = ST_GeomFromText('Polygon((100 100, 100 110, 110 110, 110 100, 100 100))'); +select count(*) from t1 where MBRwithin(t1.c2, @g1); + +connection b; +select @@innodb_lock_wait_timeout; +select @@tx_isolation; + +--error ER_LOCK_WAIT_TIMEOUT +insert into t1 select * from t1; +select count(*) from t1; + +connection a; +select sleep(2); +commit; + +#==================Test predicates on "MBRIntersects"========================== +connection default; +truncate t1; + +# Test on predicate locking +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(2 2, 150 150)')); +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(3 3, 160 160)')); +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(4 4, 170 170)')); +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(5 5, 180 180)')); +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(6 6, 190 190)')); +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(7 7, 200 200)')); +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(8 8, 210 210)')); + +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; + +# Connection 'a' will place predicate lock on almost all pages +connection a; +set session transaction isolation level serializable; +select @@tx_isolation; +start transaction; +set @g1 = ST_GeomFromText('Polygon((100 100, 100 110, 110 110, 110 100, 100 100))'); +select count(*) from t1 where MBRwithin(t1.c2, @g1); + +# The split will replicate locks across pages +connection b; +set session transaction isolation level serializable; +set session innodb_lock_wait_timeout = 1; + +select @@tx_isolation; + +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; + +connection a; +commit; + +connection default; +select count(*) from t1; + +# Insert a record that would be in the search range +insert into t1 values (105, Point(105, 105)); + +# Connection 'a' will place predicate lock on almost all pages +connection a; +start transaction; +set @g1 = ST_GeomFromText('Polygon((100 100, 100 110, 110 110, 110 100, 100 100))'); +select count(*) from t1 where MBRwithin(t1.c2, @g1); +select count(*) from t1 where MBRIntersects(t1.c2, @g1); + +connection b; +select @@innodb_lock_wait_timeout; +select @@tx_isolation; + +# this should conflict with the "MBRIntersects" predicate lock in session "a" +--error ER_LOCK_WAIT_TIMEOUT +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(8 105, 200 105)')); +select count(*) from t1; + +connection a; +select sleep(2); +commit; + +#==================Test predicate lock on "delete"========================== +connection default; +truncate t1; + +# Test on predicate locking +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(2 2, 150 150)')); +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(3 3, 160 160)')); +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(5 5, 180 180)')); +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(6 6, 190 190)')); +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(7 7, 200 200)')); +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(8 8, 210 210)')); + +# Connection default will place predicate lock on follow range +set @g1 = ST_GeomFromText('Polygon((3 3, 3 5, 5 5, 5 3, 3 3))'); +start transaction; +delete from t1 where MBRWithin(t1.c2, @g1); + +connection a; +set session innodb_lock_wait_timeout = 1; +select @@innodb_lock_wait_timeout; +--error ER_LOCK_WAIT_TIMEOUT +insert into t1 values(4, Point(4,4)); + +connection default; +rollback; + +#==================Test predicate lock on "select for update"================== +connection default; +truncate t1; + +# Test on predicate locking +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(2 2, 150 150)')); +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(3 3, 160 160)')); +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(5 5, 180 180)')); +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(6 6, 190 190)')); +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(7 7, 200 200)')); +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(8 8, 210 210)')); + +# Connection default will place predicate lock on follow range +set @g1 = ST_GeomFromText('Polygon((3 3, 3 5, 5 5, 5 3, 3 3))'); +start transaction; +select count(*) from t1 where MBRWithin(t1.c2, @g1) for update; + +connection a; +set session innodb_lock_wait_timeout = 1; +select @@innodb_lock_wait_timeout; +--error ER_LOCK_WAIT_TIMEOUT +insert into t1 values(4, Point(4,4)); + +connection default; +rollback; +#==================Test predicates replicate through split ================= +connection default; +truncate t1; + +delimiter |; +create procedure insert_t1(IN start int, IN total int) +begin + declare i int default 1; + set i = start; + while (i <= total) DO + insert into t1 values (i, Point(i, i)); + set i = i + 1; + end while; +end| +delimiter ;| + +CALL insert_t1(0, 1000); + +# Connection 'a' will place predicate lock on root and last leaf page +connection a; +set session transaction isolation level serializable; +select @@tx_isolation; +start transaction; +set @g1 = ST_GeomFromText('Polygon((800 800, 800 1000, 1000 1000, 1000 800, 800 800))'); +select count(*) from t1 where MBRwithin(t1.c2, @g1); + +# Connection 'b' will split the last leaf page, so the predicate +# lock should replicate +connection b; + +CALL insert_t1(1001, 2000); + +# This insert goes to the new page after split, it should be blocked +set session transaction isolation level serializable; +set session innodb_lock_wait_timeout = 1; +# Insert a record that would be in the search range +--error ER_LOCK_WAIT_TIMEOUT +insert into t1 values (1200, Point(950, 950)); + +connection a; +select sleep(2); +commit; +disconnect a; +disconnect b; + +# Clean up. +connection default; +drop table t1; + +drop procedure insert_t1; + +#============ Test row locks ======================= +create table t1 (c1 int, c2 geometry not null, spatial index (c2))engine=innodb; + + +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(2 2, 150 150)')); +INSERT INTO t1 VALUES (2, ST_GeomFromText('LineString(3 3, 160 160)')); +INSERT INTO t1 VALUES (2, ST_GeomFromText('LineString(4 4, 170 170)')); +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(5 5, 180 180)')); +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(6 6, 190 190)')); +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(7 7, 200 200)')); +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(8 8, 210 210)')); + +connect (a,localhost,root,,); +SET SESSION debug_dbug='+d,rtr_pcur_move_to_next_return'; + +set transaction isolation level serializable; +start transaction; +set @g1 = ST_GeomFromText('Polygon((100 100, 100 110, 110 110, 110 100, 100 100))'); +select count(*) from t1 where MBRwithin(t1.c2, @g1); + +connect (b,localhost,root,,); + +# This should be successful +delete from t1 where c1 = 1; + +connection a; +commit; +set transaction isolation level serializable; +start transaction; +set @g1 = ST_GeomFromText('Polygon((0 0, 0 300, 300 300, 300 0, 0 0))'); +select count(*) from t1 where MBRwithin(t1.c2, @g1); + +connection b; + +set session innodb_lock_wait_timeout = 1; +--error ER_LOCK_WAIT_TIMEOUT +delete from t1 where c1 = 2; + +# Clean up. +connection a; +commit; + +connection default; +drop table t1; +SET DEBUG_SYNC= 'RESET'; + +# Test btr_discard_page adjust concurrent search path +create table t1 (c1 int, c2 geometry not null, spatial index (c2))engine=innodb; + +start transaction; +insert into t1 values(1, Point(1,1)); +insert into t1 values(2, Point(2,2)); +insert into t1 values(3, Point(3,3)); +insert into t1 values(4, Point(4,4)); +insert into t1 values(5, Point(5,5)); +insert into t1 values(6, Point(6,6)); +insert into t1 values(7, Point(7,7)); +insert into t1 values(8, Point(8,8)); +insert into t1 values(9, Point(9,9)); + +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; + +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; + +insert into t1 select * from t1; + +select count(*) from t1; + +connection b; +set @g1 = ST_GeomFromText('Polygon((0 0,0 100,100 100,100 0,0 0))'); +set transaction isolation level read uncommitted; +SET DEBUG_SYNC= 'row_search_for_mysql_before_return SIGNAL siga WAIT_FOR sigb'; +send select count(*) from t1 where MBRWithin(t1.c2, @g1); + +connection default; +SET DEBUG_SYNC= 'now WAIT_FOR siga'; +rollback; +SET DEBUG_SYNC= 'now SIGNAL sigb'; + +connection b; +--reap +select count(*) from t1 where MBRWithin(t1.c2, @g1); + +connection default; +DROP TABLE t1; +SET DEBUG_SYNC = 'RESET'; + +create table t1 (c1 int, c2 geometry not null, spatial index (c2))engine=innodb; +insert into t1 values(100, point(100, 100)); + +delimiter |; +create procedure insert_t1(IN total int) +begin + declare i int default 1; + while (i <= total) DO + insert into t1 values (i, Point(i, i)); + set i = i + 1; + end while; +end| +delimiter ;| + +start transaction; + +CALL insert_t1(100); + +connection a; +set @g1 = ST_GeomFromText('Polygon((0 0,0 1000,1000 1000,1000 0,0 0))'); +SET DEBUG_SYNC= 'rtr_pcur_move_to_next_return SIGNAL siga WAIT_FOR sigb'; +--send select count(*) from t1 where MBRWithin(t1.c2, @g1); + +connection default; +SET DEBUG_SYNC= 'now WAIT_FOR siga'; +rollback; + +SET DEBUG_SYNC= 'now SIGNAL sigb'; + +connection a; +reap; + +connection default; +drop procedure insert_t1; +DROP TABLE t1; + +disconnect a; +disconnect b; + +connection default; +SET DEBUG_SYNC = 'RESET'; diff --git a/mysql-test/suite/innodb_gis/t/rtree_create_inplace.test b/mysql-test/suite/innodb_gis/t/rtree_create_inplace.test new file mode 100644 index 00000000..ef3f0171 --- /dev/null +++ b/mysql-test/suite/innodb_gis/t/rtree_create_inplace.test @@ -0,0 +1,49 @@ +# This is to test create GIS index with algorithm=inplace. + +--source include/have_innodb.inc +--source include/have_debug.inc +--source include/no_valgrind_without_big.inc + +# Create table with geometry column +CREATE TABLE t1 (c1 INT, c2 GEOMETRY NOT NULL, c3 GEOMETRY NOT NULL) ENGINE=INNODB; + +# Insert enough values +INSERT INTO t1 VALUES(1, Point(1,1), ST_GeomFromText('POLYGON (( 0 -1, 0 1, 2 1, 2 -1, 0 -1))')); +INSERT INTO t1 VALUES(2, Point(2,2), ST_GeomFromText('POLYGON (( 0 -3, 0 -1, 2 -1, 2 -3, 0 -3))')); +INSERT INTO t1 VALUES(3, Point(3,3), ST_GeomFromText('POLYGON (( 1 0, 1 2, 3 2, 3 0, 1 0))')); +INSERT INTO t1 VALUES(4, Point(4,4), ST_GeomFromText('POLYGON (( -3 0, -3 2, -1 2, -1 0, -3 0))')); +INSERT INTO t1 VALUES(5, Point(5,5), ST_GeomFromText('POLYGON (( 0 0, 0 1, 1 1, 1 0, 0 0))')); +INSERT INTO t1 VALUES(6, Point(6,6), ST_GeomFromText('POLYGON (( 2 0, 2 2, 4 2, 4 0, 2 0))')); +INSERT INTO t1 VALUES(7, Point(7,7), ST_GeomFromText('POLYGON (( 0 3, 0 5, 2 5, 2 3, 0 3))')); +INSERT INTO t1 VALUES(8, Point(8,8), ST_GeomFromText('POLYGON (( 0 1, 0 3, 2 3, 2 1, 0 1))')); +INSERT INTO t1 VALUES(9, Point(9,9), ST_GeomFromText('POLYGON (( 0 0, 0 3, 3 3, 3 0, 0 0))')); + +INSERT INTO t1 SELECT * FROM t1; +INSERT INTO t1 SELECT * FROM t1; +INSERT INTO t1 SELECT * FROM t1; +INSERT INTO t1 SELECT * FROM t1; + +INSERT INTO t1 SELECT * FROM t1; +INSERT INTO t1 SELECT * FROM t1; +INSERT INTO t1 SELECT * FROM t1; +INSERT INTO t1 SELECT * FROM t1; +INSERT INTO t1 SELECT * FROM t1; + +# create spatial index +CREATE SPATIAL INDEX idx ON t1(c2); + +SELECT COUNT(*) FROM t1; + +SET @g1 = ST_GeomFromText('Polygon((0 0,0 100,100 100,100 0,0 0))'); +SELECT COUNT(*) FROM t1 WHERE MBRWithin(t1.c2, @g1); + +SET @g1 = ST_GeomFromText('Polygon((10 10,10 800,800 800,800 10,10 10))'); +SELECT COUNT(*) FROM t1 WHERE MBRWithin(t1.c2, @g1); + +ALTER TABLE t1 DROP INDEX idx, ADD SPATIAL INDEX idx3(c2); + +SET SESSION debug="+d,row_merge_instrument_log_check_flush"; +ALTER TABLE t1 DROP INDEX idx3, ADD SPATIAL INDEX idx4(c2), ADD SPATIAL INDEX idx5(c3); + +# Clean up. +DROP TABLE t1; diff --git a/mysql-test/suite/innodb_gis/t/rtree_debug.test b/mysql-test/suite/innodb_gis/t/rtree_debug.test new file mode 100644 index 00000000..580f3cf4 --- /dev/null +++ b/mysql-test/suite/innodb_gis/t/rtree_debug.test @@ -0,0 +1,74 @@ +# WL#6745 InnoDB R-tree support +# This test case will test R-tree multi level split. + +--source include/have_innodb.inc +--source include/big_test.inc +--source include/not_valgrind.inc +--source include/have_debug.inc + +# Create table with R-tree index. +create table t1 (c1 int, c2 geometry not null, spatial index (c2))engine=innodb; + +# Insert enough values to let R-tree split. +delimiter |; +create procedure insert_t1(IN total int) +begin + declare i int default 1; + while (i <= total) DO + insert into t1 values + (i, Point(i, i)), + (i + 1, Point(i + 1, i + 1)), + (i + 2, Point(i + 2, i + 2)), + (i + 3, Point(i + 3, i + 3)), + (i + 4, Point(i + 4, i + 4)), + (i + 5, Point(i + 5, i + 5)), + (i + 6, Point(i + 6, i + 6)), + (i + 7, Point(i + 7, i + 7)), + (i + 8, Point(i + 8, i + 8)), + (i + 9, Point(i + 9, i + 9)); + set i = i + 10; + end while; +end| +delimiter ;| + +# Test level 1 rtree. +CALL insert_t1(5000); +select count(*) from t1; + +# Check table. +check table t1; + +# Test level 2 rtree. +truncate table t1; +CALL insert_t1(10000); +select count(*) from t1; + +drop index c2 on t1; + +create spatial index idx on t1(c2); + +show create table t1; + +SET @save_dbug = @@SESSION.debug_dbug; +SET debug_dbug='+d,row_merge_ins_spatial_fail'; +--error ER_GET_ERRNO +create spatial index idx2 on t1(c2); +SET @@SESSION.debug_dbug = @save_dbug; +show create table t1; + +# Check table. +check table t1; + +# Test level 3 rtree. +truncate table t1; +CALL insert_t1(100000); +select count(*) from t1; + +# Check table. +check table t1; + +truncate table t1; + +# Clean up. +drop procedure insert_t1; +drop table t1; diff --git a/mysql-test/suite/innodb_gis/t/rtree_drop_index.test b/mysql-test/suite/innodb_gis/t/rtree_drop_index.test new file mode 100644 index 00000000..ac23ebb6 --- /dev/null +++ b/mysql-test/suite/innodb_gis/t/rtree_drop_index.test @@ -0,0 +1,33 @@ +--source include/have_innodb.inc +--source include/have_debug.inc +--source include/not_embedded.inc + +--echo # +--echo # Bug #21899444 INNODB: ASSERT FAILURE (COL->ORD_PART) +--echo # IN DICT_COL_GET_SPATIAL_STATUS() + +connect purge_control,localhost,root; +START TRANSACTION WITH CONSISTENT SNAPSHOT; +connection default; + +CREATE TABLE t1 ( + p INT NOT NULL AUTO_INCREMENT, + g LINESTRING NOT NULL, + PRIMARY KEY(p) +) ENGINE=InnoDB ROW_FORMAT=dynamic; + +ALTER TABLE t1 ADD INDEX`si`(g(500)); +INSERT INTO t1(g) VALUES(ST_linefromtext(concat('linestring','(18 106,19 106,24 111,27 108,32 104,37 107,42 107,44 112,44 116,40 118,43 114,46 114,42 118,44 123,45 123,49 123,53 119,50 123,50 124,54 126,58 125,59 126,64 127,65 127,69 131,74 132,75 135,78 139,2078 141,2075 143,2077 143,2079 143,2084 143,2085 147,2090 -1853,2086 -1852,2086 -1856,2089 -1852,2093 -1850,2090 -1851,2090 -1852,2091 -1851,2092 -1850,2097 -1847,2102 -1848,2100 -1852,2100 -1852,7100 -1851,7103 -1850,7104 -1847,7109 -1842,65 127,67 131,66 131,61 132,61 133,62 137,65 1137,2065 1135,2061 1135,2064 1135,5064 1135,5066 1135,5070 1136,5070 1141,5071 1138,5074 1141,5075 1141,5074 1137,5076 1137,5071 1139,5066 1142,5065 2142,5068 2147,5073 2151,5069 2156,5071 2157,5072 2162,5074 2165,5069 2169,5072 2169,5076 2173,5074 2169,5078 2169,5076 2170,76 2175,74 2179,75 2184,80 2188,83 2190,87 2189,84 2193,87 2189,86 2190,87 2195,87 2200,87 1200,85 1202,86 1199,87 1200,87 1201,91 1206,92 1204,94 1204,98 1206,102 1208,105 1211,102 1216,105 1220,109 1224,110 1224,114 1225,117 1224,118 1229,117 1232,122 1237,123 1236,120 1235,124 1237,121 1236,122 1240,126 1244,127 1246,126 1249,125 5249,123 5251,127 5251,131 5251,135 5256,138 5257,135 5257,139 5257,138 5258,141 5260,146 5260,146 5260,143 10260,147 10265,151 10270,156 10266,157 10269,162 10273,166 12273,168 12274,163 12270,168 12275,170 12277,170 12277,-3830 12277,-3825 12277,-3824 12278,-3825 12276,-3825 12278,-3822 12277,-3825 12275,-3829 12278,-3828 12275,-3824 12280,-3827 12280,-3826 12282,-3822 12283,-3822 12286,-3820 12288,-3818 12289,-3816 12294,-3817 12297,-3819 12300,-3816 12297,-3813 12295,-3811 12299,-3811 12297,-3806 12298,-3806 12298,-3804 12301,-3801 12306,-3803 17306,-3803 17306,-3798 17306,-3803 17310,-3801 17314,-3798 17317,-3797 17317,-797 17321,-797 17323,-796 17325,-793 17326,-792 17322,-789 17327,-784 17331,-780 17335,-776 17339,-774 17339,-771 17342,-770 17345,-765 17348,-765 17349,-763 17353,-760 17350,-760 22350,-756 22346,-752 22349,-748 22352,-752 22348,-748 22347,-746 22345,-745 27345,-743 27346,257 27350,260 27349,261 27352,266 27348,266 22348,269 22347,271 22347,272 22347,273 22348,273 22352,278 22348,279 22344,282 22345,282 22342,283 22347,283 22347,288 22349,292 22347,292 22348,293 22348,298 22348,303 22351,306 22352,309 22352,308 22354,310 22356,311 22361,311 22358,311 22360,311 22360,315 22356,320 22358,325 22363,326 22366,321 22371,318 22373,318 22375,314 22375,316 22375,321 22376,321 22376,322 22372,32 104,36 109,40 114,40 113,40 117,44 119,49 123,49 126,49 129,53 133,50 137,50 139,49 137,48 138,43 138,42 139,46 142,46 138,41 139,45 141,4045 5141,4045 5146,4042 5147,4043 10147,4041 10150,4042 10152,4045 10152,4041 10156,4041 10152,4041 10152,4046 10153,4049 10156,4046 10155,4051 10157,4055 10159,4055 10160,4056 10161,4055 10166,4054 10169,4054 10172,4054 15172,4051 15176,4047 15177,4049 15174,4047 15176,4047 15176,4046 15177,4046 15180,4043 15184,4043 15187,4038 15190,4040 15194,4040 15199,4045 15196,4047 15197,4050 15200,4050 15204,4050 15208,4047 15212,4047 15215,4049 15216,4046 15218,4042 15223,4042 15228,4042 15232,4047 15235,4050 15236,4050 15239,4051 15243,4053 15243,4050 17243,4052 17243,4052 18243,4057 18247,4061 18249,4064 18249,4067 20249,4067 20250,4067 20255,4066 20259,4066 20259,4067 20255,4069 20256,4071 20258,4072 20254,4067 20257,4067 20260,4069 20265,4065 20267,4069 20266,4070 20267,4071 20264,4074 20259,4070 20264,4073 20260,4074 20263,4077 20268,4082 20271,4084 20273,4084 20277,4081 18277,4085 18279,4086 18276,4087 18273,4087 18275,4092 18277,4093 18279,4093 18280,4095 18280,4091 18283,4092 18281,4094 18283,4090 18287,4094 18287,138 5257,138 5255,138 5258,-1862 5254,-1860 5256,-1856 5258,-1851 5255,-1850 5260,-1847 5260,-1847 5263,-1847 5258,-1850 5257,-1850 5259,-1851 5257,-1855 5258,-1853 5261,-1849 5261,-1849 5258,-1849 5259,-1845 5264,-1847 5264,-1850 5268,-1852 5266,-1853 5270,-1856 5265,-1852 5262,-1847 5263,-1842 5263,-1842 5260,-1842 5265,-1841 5265,-1844 5265,-1842 5270,-1837 5274,-1838 5279,-1843 5275,-1842 5280,-1838 5281,-1838 5285,-1833 5285,-1828 5288,-1824 5289,-1828 5291,-1831 5291,-1826 5291,-1830 5293,-1826 5296,-1822 5301,-1826 5302,-1826 5302,-1826 5302,-1825 5297,-1820 5299,-1816 5303,-1816 5299,-3811 12299,-3809 12302,-3806 12302,-3806 12302,-3803 12304,-3798 12304,-3797 12304,-3793 12306,-3788 12306,-3783 12309,-3816 12294,-3811 12299,-3809 12297,7100 -1851,7098 -1854,7102 -1854,7107 -1856,7107 -1858,7110 -1854,7110 -1851,7113 -1851,7115 -1851,7120 -1851,7123 -1847,7124 -1852,7125 -1852,7127 -1852,7131 -1852,7129 1148,7129 1145,7133 1150,7137 1148,7138 1147,7143 1149,7147 1154,8147 1155,8152 3155,8147 3157,8143 3158,8144 3160,8144 3164,11144 3167,11146 3167,11148 3163,11152 3161,11148 3159,11149 3163,11150 3161,11151 3166,11154 3171,11154 3170,8144 3160,8144 3163,8144 3166,8145 3166,8146 3171,8146 3174,8144 3174,8144 3174,8145 3176,8141 3180,3141 3182,7141 3183,7141 7183,7136 7185,7136 7185,7133 7187,7136 7187,7131 7190,7136 7194,7137 7197,7141 7196,7139 7199,12139 7200,12143 7200,12143 7199,12144 7203,12145 7200,12141 7200,12136 7195,12136 7191,12137 7191,12137 7196,12139 7197,12140 7197,12137 7201,12140 7204,12140 7209,12143 7209,12145 7210,12147 7214,12148 9214,12152 9218,12149 9218,12149 9221,12149 9220,12150 9222,12153 10222,12153 10226,12156 10227,12159 10223,12160 10220,12161 10225,12161 10227,12163 10224,12163 10223,12158 10224,12158 10227,12158 10231,12155 12231,12157 12226,7136 7185,7139 7189,7139 7189,7139 7188,7137 7191,7139 7191,7140 7189,7143 7191,7144 7189,7144 7190,7149 7193,7152 7194,7154 7198,7153 7203,7148 7207,12148 7209,12146 7209,12145 7213,12140 7217,12139 7219,12141 7219,12138 7218,12143 7218,13143 7220,13140 7224,13142 7228,13137 7231,13142 7235,13146 7239,13149 7243,13148 7247,13150 7248,13155 7249,13155 7253,13155 7253,13155 7258,13157 7260,13162 7255,13159 7255,13163 7258,13164 7258,13164 7263,13167 7264,13167 8264,13165 8265,13169 8265,13171 13265,13175 13261,13176 13259,13176 13259,13180 13262,13181 13262,13183 13262,13188 13265,13191 13267,13191 13265,13194 13267,13191 13269,13192 13264,13196 13269,13198 13272,13200 13272,13202 13270,13207 11270,13211 11270,13211 11273,13213 11274,13217 11275,13222 11276,13222 11272,13226 11274,13231 11277,13233 11282,13236 11284,13238 11284,13236 11286,13236 11288,13236 11283,13236 11284,13238 11289,13241 11292,13244 11292,13245 11289,13241 11294,13244 11298,13249 11301,320 22358,324 24358,328 24358,327 24363,326 24359,327 24361,329 24365,334 24367,-666 24367,-670 24368,49 123,46 127,46 129,49 131,49 136,47 135,45 138,3045 135,3042 138,3044 139,3044 144,3049 144,3053 142,3055 137,3058 136,3053 139,3048 142,7048 138,7048 3138,7048 3139,7048 3140,7050 3145,7053 1145,7050 1146,7053 5146,7048 5150,7047 5146,10047 5147,10043 5147,10047 5147,10050 5152,10052 5155,10054 5156,10056 5157,10056 5159,10058 5162,10062 5164,10062 5169,10066 9169,10068 9168,10063 9164,10063 9169,10061 9171,14061 9172,14061 9174,282 22342,287 22347,288 22347,288 22343,285 22339,280 22338,278 22341,279 25341,284 25343,13241 11294,13246 11296,13243 11296,13244 11291,13245 11291,13244 11291,13246 11295,13251 11300,13253 11305,13253 11306,13258 11305,13255 11306,13256 11309,13256 11311,13261 11307,13265 11303,13267 11305,13270 11301,13275 11298,13271 11300,15271 11302,15276 11306,15279 11303,15284 11305,15286 11305,15289 11307,15290 11302,15292 11305,15296 11309,15297 11313,15298 11316,15300 11317,15304 11320,15306 11324,15306 11320,15307 11320,15312 11320,15313 11319,15317 11317,15315 11321,15317 11323,15317 11328,15319 11333,15322 11336,15322 11337,15322 11337,15324 11341,15324 11345,15325 14345,15328 13345,17328 13346,17333 13349,17337 13354,17338 13358,17342 13358,17346 13353,17348 13353,17345 13353,17348 13354,17347 13354,17347 13354,17347 13355,22347 13358,22349 13355,22351 13355,22356 13354,22358 13354,22361 13355,22362 13355,22358 13355,22359 13359,22364 13364,22369 13369,22372 13373,22376 13371,22377 13371,22377 13369,22381 13374,22386 13379,22387 13376,22387 13380,22392 13378,22390 13374,22392 13378,22391 13378,22391 13375,22392 13378,22390 13380,22393 13382,22398 13387,22398 10387,22402 10391,22399 10392,22400 10392,22400 10394,22404 10391,22403 15391,22405 15392,22407 15392,22412 15387,22412 15390,22412 15394,22408 15396,26408 15398,26407 20398,26411 20402,26415 20406,26417 20411,26420 20407,26422 20407,31422 16407,31421 16405,31421 16410,31423 16410,31426 16414,31426 16410,31430 16415,31430 16418,31435 16419,31437 16420,31438 16422,31438 16425,31438 16425,31441 16427,31439 16431,31441 16436,36441 16436,36443 18436,36442 18437,36440 18440,36440 18436,36440 18440,36442 18445,36443 18446,36447 18451,37447 23451,37452 23456,37456 23455,37458 23459,37456 23461,37458 23463,37460 23466,37464 23469,37460 23474,37462 23476,37461 26476,37466 26479,37470 26483,37471 26488,37474 26489,37474 26485,37474 26483,37474 26488,37470 26492,37474 26497,37474 26499,37478 26495,37483 26499,37483 26501,37488 26496,37491 26499,37495 26495,37500 26496,37500 26497,37500 26501,37497 26499,37497 26499,37495 26504,37498 26504,37494 26509,37497 26514,37495 26515,37498 26514,37503 26514,37508 26512,37510 26516,37511 26519,37509 26523,37506 26528,37507 26532,37512 26536,37513 26538,37510 26542,37512 26544,37517 26543,37522 26546,37527 26551,37525 26555,37529 26558,37524 26563,37524 26562,37527 26562,37522 26562,37522 26559,37526 26561,37522 26559,37523 26561,37523 26556,37524 26558,40524 26560,40524 26563,40521 26567,40525 26566,40527 26568,40532 26572,40534 26569,40533 26565,40531 26565,40535 26569,40535 26570,40539 26572,40544 26575,40543 26575,40544 26579,40548 26584,40549 26581,40553 26585,40556 26590,40552 22590,40557 22594,40556 22595,40561 22592,40561 22593,40565 22593,40568 22593,40573 22588,40570 22590,40570 22591,40570 22588,40573 22590,40573 22593,40568 22593,40567 22597,40567 22599,40571 22599,40574 22600,40574 22604,42574 22607,42577 22607,42577 22612,42579 22616,38579 22619,38580 22617,38580 22614,38575 22619,38579 22619,38579 18619,38582 18614,38582 18617,38586 18622,38590 18625,38590 18622,38594 18621,38596 18616,38597 18614,38597 18618,38600 21618,38601 21618,38605 21620,38607 25620,38611 25620,38608 25617,38608 25621,38608 25625,38611 25623,38615 25623,38615 25620,38616 25622,38619 25624,38620 25625,38620 26625,38623 26627,38623 26627,311 22358,311 22359,-1689 22360,2311 27360,2312 27360,2312 27360,2317 27362,2317 27362,2319 27359,2319 27364,2318 27359,2321 27364,2326 27367,2325 27371,2326 27373,2326 27373,2325 27377,2329 27377,2327 27377,2330 27379,2333 27379,2331 27379,2331 27381,2336 27381,6336 27382,6336 27383,40527 26568,40531 26572,40533 26574,40538 26576,40533 26580,40538 26585,40539 26588,40536 26583,40540 26587,40539 26588,40535 26593,40540 26594,40544 26597,40548 26602,40548 26601,40549 26602,40547 26602,40548 26603,40553 26606,40548 26606,40548 26603,40551 26608,40556 26612,40559 26616,40554 26619,40556 26619,40556 26623,42556 26623,42556 26624,42560 26624,42562 26626,42563 26630,42564 26630,42564 26634,42559 26635,42562 26635,42565 26637,42562 26638,42564 26642,42564 26641,42568 26641,42572 26641,42572 29641,42574 29642,39574 29641,39574 34641,39576 34643,39581 34638,39578 34638,39574 34642,39574 34645,39572 35645,34572 35648,34577 35651,39577 35655,43577 35659,43580 35655,43575 35658,43578 35658,43581 35662,43577 39662,43572 39658,43572 39661,43572 39664,43572 39666,43576 39670,43577 39667,43580 39671,43576 39673,43573 39673,43574 39677,43569 39679,43567 39679,43568 39683,43563 39686,43566 39690,43566 39692,43568 39694,43568 39695,41568 39691,41570 39692,41571 39692,41571 39693,41571 39698,41571 39698,41574 39698,41569 39698,41570 39699,41570 39704,41572 39709,41573 39712,41578 39713,41579 39717,41584 39719,41585 39720,-1850 5268,-1845 5268,-1847 5266,-1842 5268,-1840 5263,-1845 5264,-1843 5264,-1839 8264,-1839 8267,-1839 8272,-1838 8276,-1834 8273,-1834 8273,-1833 8274,-1837 8279,-1836 8283,-1834 8286,-1836 8282,-1834 8279,-1835 8279,-1834 8280,-1836 8283,-1841 8288,-1846 8289,-1843 8286,-1838 8286,-1841 8285,-1838 8285,-1834 8288,-1829 8291,-1825 8286,-1825 8289,-1825 8287,-1824 8291,-1822 8294,-1821 8298,-1818 8300,-1818 8296,-1814 8296,-1811 8295,-1808 8292,1192 8296,1192 8297,1195 11297,1192 11301,1195 11305,1197 11300,1193 11300,1193 11296,1193 11293,1194 11294,1199 11292,1204 11292,1205 11294,1210 11292,1208 11288,1204 11290,1205 11289,1207 8289,1202 8284,1204 8282,1204 8281,1206 8281,1208 8281,1212 8283,1212 13283,1213 13287,1213 13290,1216 13293,1214 13289,1217 13286,1212 13291,1208 13288,1208 13292,1209 13297,1208 13296,1204 13298,1205 13303,1209 13308,1204 13308,1209 13304,1210 13304,1214 13309,1214 13314,1215 13314,1219 13314,1219 13319,1224 13320,1229 13321,1232 13325,1233 13329,1231 13329,1234 13334,-2766 13336,-2769 13337,-2765 13340,-2762 13345,-2760 13342,2240 13342,2238 13342,2242 13342,2246 13345,2246 13346,2244 13348,2239 13348,2240 13351,2240 13352,2245 13357,2248 13357,2243 13362,2247 13362,2248 13362,2252 13363,2256 13363,2256 13363,2260 13367,2255 13372,2251 13369,2251 13369,2252 13372,2249 13376,2254 13378,2255 13382,2259 13379,2262 13379,2267 13381,2262 13381,2262 13383,2265 13383,2269 13385,2270 13386,2271 13389,2267 13391,2271 13386,2275 13391,2273 13392,2275 13387,2277 13390,2274 13390,2275 13394,2280 13395,2280 11395,2281 14395,2279 14400,2277 14403,2273 14406,2274 16406,2274 16410,2279 16410,2284 16411,2280 16409,2280 16409,2282 16409,2282 16411,2282 16412,2280 16413,3280 16418,3284 16418,3285 16423,3289 16423,3292 16427,3294 16429,3296 16431,3297 16436,3298 16435,3303 16435,3305 16434,3305 16436,3305 16436,3309 16437,3309 16438,3308 16439,3308 16439,3306 16444,3302 16441,-1698 16437,-1703 16438,-1699 16438,-1697 16438,-1698 16439,-1695 16436,-1690 16441,-1687 16446,-1683 16450,-1682 16451,-1684 16453,-1682 16457,-1682 16457,-1686 16460,-1681 16459,-1680 16456,-1677 16460,-1681 16461,-1679 16464,-1674 16465,-1673 16469,-1669 16471,-1669 16476,-1665 16474,-1665 16478,-1664 16478,-1664 16479,-1661 16474,-1656 16471,-1655 11471,-1660 11473,-1663 11475,-1666 11480,3334 15480,3338 15476,3342 15471,3345 15471,3345 15470,3350 15469,3347 15474,3351 15476,3352 15473,3353 15476,3350 15477,3350 15479,3351 15482,3352 15484,3351 15487,3353 15487,3358 15487,3353 15486,1217 13286,1222 13291,1222 13291,1225 13286,1229 13286,1231 13281,1235 13280,1236 13281,1241 13282,1245 13285,1247 13285,1247 13287,1250 13287,1247 13290,1247 13295,1247 13298,1252 13301,1249 13304,1252 13304,3252 13304,3247 13304,3249 13308,3254 13308,3257 13308,3261 17308,3261 17309,3261 17306,3259 17305,3262 17310,3263 17308,3262 17311,3259 17314,3259 17314,3257 17309,3254 17309,3253 17309,3255 17310,3253 17312,3255 17312,3255 17312,3256 17307,3257 17307,3256 17311,3256 17313,3255 17317,3251 17317,3248 17321,3253 17325,3256 17326,3258 17324,3258 17327,3263 17322,7263 17325,7265 17328,7263 17330,7265 17333,7270 17333,7273 17333,7278 17336,4278 21336,4278 21340,4279 21340,4281 21340,4286 24340,4290 24343,9290 24347,9294 24349,9296 24347,9298 25347,9301 25348,9301 25348,9304 25353,9303 25357,9303 25352,11303 25355,11304 25358,11307 25358,11312 25358,11312 25361,11310 25365,11313 25365,11314 25369,11319 25371,11321 25371,11325 25366,11329 25365,11330 25366,11329 25370,11330 25365,11334 25367,11338 25366,11343 25363,11348 25359,11345 25356,11348 25357,11349 25358,11349 25358,11352 25360,11356 30360,11360 30365,11360 30365,11362 30365,11367 30367,11368 30369,15368 30370,15373 30371,15376 30373,14376 30378,14377 30383,14381 30378,14386 30380,14388 30382,14391 30385,14393 31385,16393 31389,16396 31394,16396 31397,16392 31400,16395 31405,16398 31409,16398 31413,16397 31415,16396 31417,16401 31418,16401 31422,16402 31419,16407 31420,16411 31419,16406 31423,18406 31427,18411 31432,18415 28432,18417 28437,18418 28441,18414 28438,18417 28435,18416 28439,18420 28442,18423 28447,18427 28444,21427 28445,21428 28450,22428 28455,22432 28457,22436 28458,22441 28458,22445 28463,22448 28468,22451 28465,22456 28468,22453 28468,22458 28471,22463 28473,22460 28475,22459 28472,22463 28476,22464 28472,22468 28468,22468 28471,25468 28466,25471 28468,25473 28464,25473 28464,25475 29464,25476 29466,25479 29461,25476 29462,25476 29464,25478 29464,25483 29461,25484 29460,25486 29458,25486 29462,25490 29460,25495 26460,25498 26463,25495 26468,25495 26472,25495 26472,25499 26474,25504 26476,25504 26478,25509 26476,25513 26479,25514 26481,25519 26477,25519 26480,25518 26481,25519 26484,25524 26483,25527 26484,25522 26484,25526 26487,25528 26492,25533 26496,25535 26498,25535 26498,25539 26503,25542 26504,25543 26505,25547 26510,25552 26510,25551 26508,25550 26512,25553 26510,25557 26510,25554 26511,25552 26508,25556 26505,25556 26506,25560 26506,25560 26507,25560 26506,25565 26501,25567 26504,25569 26504,25568 26508,25571 26508,25571 26511,25576 26511,25581 26516,25581 26519,25582 26521,25585 26522,25588 26527,25588 26526,25584 26530,25587 26534,25589 26529,25593 26533,25598 26538,25599 26540,25599 26540,25599 26540,25604 26543,25603 26543,25603 26538,25606 26538,25609 26540,25611 26542,25612 26547,25612 26547,25612 26548,25617 25548,25612 25548,25613 25547,25616 25545,25616 25549,25618 25551,25620 25555,25620 25551,25622 25550,25625 25551,25622 25555,25619 25557,25617 25556,25622 28556,25625 28551,25630 28546,25634 28548,25639 28553,25643 28553,25638 25553,25634 25553,25634 25557,25639 25557,25643 25558,25644 25553,25646 25556,25647 25560,25650 25562,25650 30562,25650 30562,25650 30564,25650 30566,25652 30570,25656 30571,25661 31571,25662 31575,25663 31579,25662 31579,25665 31581,25666 31584,25671 31582,25674 31581,25674 31584,25676 31584,25673 31587,25678 31586,25679 31581,30679 31584,30675 31589,30680 31590,35680 31590,35675 31589,35677 31591,35680 31590,35681 31587,35684 31588,35685 31589,35689 31592,35689 31593,35692 31597,35696 31597,35700 34597,35699 34599,35703 34604,35703 34606,35702 34601,35705 34603,35705 34606,35708 34603,35713 34604,35717 34603,35719 34608,35715 34608,35711 34608,35713 34609,35714 34605,35714 34610,35714 34614,35718 34616,35719 34617,35722 34618,35722 34621,35725 34625,35725 34626,35725 34629,35725 34631,35725 34635,35730 34636,35727 34638,35731 34640,35735 34642,35739 34645,35741 34645,35742 34649,35738 34649,35738 34645,35741 34647,38741 34650,38741 37650,38742 37646,38746 37651,38749 37652,38753 37653,38753 37657,38757 37656,38756 37660,38761 37660,38765 37660,38760 37660,38759 37660,38760 41660,38760 41660,38762 41665,38757 41667,43757 41669,43752 41674,43752 41677,43757 41672,43758 41677,45758 41680,45758 41679,45762 41683,45765 41683,45769 41683,45770 41684,45768 46684,45773 46688,45776 46692,45774 46694,45775 46697,45778 46695,45776 46698,45774 46702,45779 46702,45784 46704,45787 46706,45791 46711,45786 46707,45790 46711,45793 46715,45796 46719,45799 46724,45797 46728,45802 46726,45797 46729,45801 46733,45802 46733,45803 46732,45804 46732,45805 46732,45808 46735,45810 46740,45810 46744,2326 27373,2322 27377,2323 27379,2325 27383,2325 27382,2322 27382,2323 27382,5323 23382,5325 23385,5329 23386,5330 23390,5335 23392,5330 23392,5330 23395,5329 23395,5333 23399,5333 23402,5338 23405,5339 23405,5334 23406,5329 23401,5332 23403,5330 23407,5333 23409,5328 20409,5324 20411,5324 20414,5329 20416,5328 20421,5325 20421,5329 20424,5330 20424,5335 21424,5331 21427,5333 21431,5334 21433,5329 21434,5330 21437,5333 21440,5338 21437,5338 21440,5334 21441,5333 21438,5329 26438,5332 26435,5335 26439,5337 26440,5338 26444,5342 26439,5342 26442,5345 26440,5349 26438,5352 26442,5349 26445,5348 30445,5350 30447,5350 30444,5354 30444,5359 30443,5363 30445,5367 30446,5367 30448,5367 30453,5371 30455,5371 30453,5373 30458,5375 30461,5380 30463,5384 30463,5383 30459,5384 30459,5383 30459,5385 30460,5390 30459,5392 30464,5394 30464,5389 30465,5393 30469,5391 30469,5391 30469,5395 30474,5396 30470,5399 30470,5401 30467,5401 30468,5404 30470,5400 30465,5401 30462,5403 30467,5404 30467,5409 30469,5412 30473,5412 30477,5407 30481,8407 30486,8408 30489,8410 30490,8410 30489,8413 30490,8414 30493,8414 30496,8419 30501,8420 30502,8415 30507,13415 30509,13411 30506,13414 30507,13412 30511,13412 30515,13417 30518,13419 30523,13418 30527,13422 30529,13418 30531,13413 35531,13409 35531,13413 35532,13417 35537,13419 35533,13423 35529,13424 35529,13423 35524,13428 35525,13433 35526,13438 35530,13443 35531,13448 35531,13452 35532,13455 35536,13457 35536,13452 35536,13455 35539,13452 35535,13457 35540,13457 35544,18457 35546,18460 35547,22460 35546,22465 35550,22466 35554,22468 35552,22473 35555,22471 35559,22470 35564,22472 35564,22470 35569,22474 35569,22474 35571,22477 35573,22482 35576,22487 35580,22488 35583,22489 35585,22493 35585,22496 35585,25496 35586,25493 35582,25494 35585,25498 35585,25496 35585,25498 35587,25503 35591,25503 35593,25499 35590,25499 35591,25495 35591,26495 35595,29495 35591,29495 35593,29498 35597,29498 35601,29500 35606,29501 30606,29502 30603,29505 30603,29510 30606,29511 30606,29514 30607,29516 30610,29518 30608,3259 17305,3263 17304,3267 17303,3271 17308,3269 17312,3269 17313,3274 17315,3277 17315,3282 17311,3285 17313,3283 17309,3278 17310,3275 17315,3275 17317,3276 17322,3280 17324,3280 17324,3276 17325,3277 17325,3276 17328,3278 17324,3273 17329,3277 17331,3280 17326,3281 17328,3276 17324,3277 17324,3277 17322,3277 17321,3277 17321,3281 17323,3282 17327,3282 17332,3287 17335,3288 17335,3288 17338,3290 17337,3294 17340,3294 17341,3299 17341,3299 12341,3299 12342,3304 12339,3301 14339,3305 14340,3307 14341,3311 14343,3313 14343,3314 16343,3310 16341,3310 16346,3312 16348,3311 16349,4311 16346,4316 16348,4321 16344,4324 16348,4322 16349,4323 16346,4323 16346,4326 16350,4322 16354,4323 16356,4325 16361,4325 16358,4322 16362,4325 20362,4325 20366,4322 20367,4326 20372,4326 20374,4331 20373,4333 20373,4338 20376,4339 20379,4341 20382,4338 20384,4339 20386,4340 20383,4340 20383,4335 20388,4336 20390,4341 20390,4346 20391,4348 20391,4349 20393,37497 26499,37494 26496,37496 26500,37496 26501,37499 26506,37497 26502,37498 26502,37500 29502,37500 29507,37505 29508,37506 33508,37508 33513,37513 33518,37517 33522,37516 33520,37521 33521,37521 33525,37516 33530,37519 33528,37520 33528,37524 33530,37527 33530,37525 33527,37528 33530,37533 33533,37534 38533,37536 38536,22358 13355,25358 13360,25361 13358,25362 13362,25362 13362,25365 13365,25363 13367,25359 13369,25357 13374,25360 13374,2247 13362,2252 13366,2254 13363,2257 13363,2261 13358,2264 13354,2264 13356,2269 13361,2272 13363,2274 13363,2275 13363,2273 13362,2274 13365,2278 13365,2280 13370,2284 13366,2284 13365,2289 13368,2290 13366,2293 13368,2298 13373,2298 13372,2295 13375,271 22347,273 22350,4273 22347,4269 22348,4270 22350,4271 22355,4272 22360,4276 22363,4281 22365,4284 24365,4279 24365,4282 24365,4285 24365,4287 24364,4289 24362,4294 24360,4295 24362,4298 24365,4301 24369,1301 24370,1301 24371,1305 24375,1305 24376,1307 24377,1312 24380,1314 24382,1318 24380,1316 24382,1316 24387,1318 24387,1318 29387,1321 29387,1316 29383,1320 29386,1321 29389,1326 29389,1327 29389,2327 29394,2327 29394,2332 29393,-666 24367,-663 24368,-661 24368,-656 24371,-653 24372,-649 24372,-647 24374,-643 24370,-638 24375,-635 24380,-638 24382,-638 24384,-638 24384,-636 24388,-637 24390,-632 24386,-630 24386,-629 24386,371 24389,376 24394,374 24392,377 24397,3377 24400,6377 24405,6378 24408,6373 24406,6370 24406,6375 24403,6370 24403,6375 24403,6379 24406,6374 24409,6378 24411,6380 24412,6378 24415,6378 24419,6383 24423,6385 24425,6387 24428,6390 24433,6386 24430,6386 24435,6387 24436,6388 24440,6387 24444,6383 29444,6383 29447,6386 29451,6382 29446,6387 29447,6390 29452,6393 29452,6397 29455,6400 29459,6400 29463,6397 29467,6393 29467,6395 29470,6397 29473,6399 29468,6394 29467,6397 29470,6396 29473,6396 29470,6393 29465,6389 29469,6390 29470,6389 29465,6389 29468,6392 29470,6388 33470,6390 33466,6391 33466,6392 33467,6394 33467,322 22372,322 22374,323 22377,327 22378,331 22382,330 22383,332 22386,333 22383,331 22383,330 22387,332 22391,332 22396,337 22397,339 22394,340 22399,340 22398,340 22396,343 22396,343 22396,341 22400,342 22404,343 22402,348 22403,345 22407,347 22411,342 22411,345 22413,340 22417,345 22417,348 22422,348 22426,351 22427,352 22432,352 22436,4352 22438,4353 22442,4354 22444,4354 22447,4357 22449,4360 22450,4364 22450,4367 22451,4369 22453,4366 22455,4369 22453,4373 22458,4377 22459,4380 22459,4380 22464,4385 22467,4385 22467,4390 22469,4385 22469,4385 22472,25571 26508,25574 26507,25578 26512,25581 26512,25581 26512,25583 26508,25583 26513,25587 26516,25589 26515,25590 26515,25591 26517,25589 26520,25587 26522,23587 26526,23585 26531,23589 26534,23592 26538,24592 26543,24588 26545,24593 26547,24598 26543,24598 26548,24602 26545,24598 26540,24600 26545,24600 26548,24600 31548,24605 31549,24608 31551,24613 31552,24615 36552,24616 36557,24619 36557,24622 36560,24622 36564,24627 35564,24627 35569,24632 35569,25632 35570,25635 35569,25636 35573,25636 35573,25638 35576,25641 35580,25641 35583,25641 35588,25642 40588,20642 40593,20645 40593,20650 40595,20651 40591,20651 40594,20648 40591,20648 40591,20652 40596,20652 40596,20656 40597,20656 40600,20656 40601,20659 40598,20662 40597,20662 40597,20663 40600,20668 40601,20665 40606,1215 13314,1214 13319,1212 13317,1209 13312,1210 13312,1211 13317,6211 13320,6214 13320,6216 13320,6211 13323,6214 13318,6214 13323,6214 13324,6216 13319,6219 13323,6218 13321,6219 13321,6218 13326,6221 13329,6225 13331,6230 13335,6231 13339,6231 13343,6235 13338,6234 13342,6234 13344,6236 13345,25524 26483,25521 26484,25524 26489,25527 26487,25529 26484,25530 26482,25534 27482,25539 27486,25537 27488,25541 27483,25544 27486,25547 27490,25550 27491,25550 27491,25554 27486,25559 27486,25563 27489,25561 27489,25563 27493,25561 27491,25563 27493,25563 27495,25564 27497,25563 27497,25563 27497,25558 27498,25563 27499,25565 27503,25567 27503,25569 27503,25567 27504,25565 27505,25565 27505,25565 27505,25566 27505,25570 27501,25570 27497,25574 27498,25570 32498,25570 32501,25573 32501,25576 32497,25576 32498,25577 32501,25579 32503,25583 32504,25588 32507,25592 32512,25596 32507,25599 32507,25594 32503,25597 32506,25597 32510,25594 32509,25594 32510,25596 32513,25592 32513,25594 32515,25594 32520,25598 32520,25602 32517,25603 32518,27603 32520,27607 32523,27608 31523,27613 31527,27615 31527,30615 31530,30617 31530,30618 31532,30619 31536,30623 31537,30623 31538,30625 31538,30626 31541,30627 31541,30624 31540,30623 31540,30624 31545,34624 31546,34619 31543,34623 31545,34624 31549,34624 31548,34626 31550,34626 31555,34626 31551,34628 31555,34633 31555,34636 31559,34634 31564,34636 31564,34639 31562,34639 31560,36639 31555,36636 27555,41636 27557,41640 27554,41644 27558,41647 27559,41648 27555,41653 27555,41658 27555,41658 27552,41658 27552,41660 27550,41656 27554,41661 27558,41664 27561,41667 27566,41662 27562,41663 27563,41663 27565,41662 27569,41661 27569,41664 27571,41664 27567,41659 30567,41660 30565,41660 30561,41665 30566,41664 30561,41664 30561,41664 30562,41664 30563,41660 30558,1312 24380,4312 25380,4315 25384,4315 25385,4319 25383,4322 25388,6322 25387,6322 25387,6326 25392,6321 25397,6324 25397,6324 25401,6319 25404,9319 25405,9314 25400,9312 25402,9310 25403,9313 25403,9313 25403,9316 25400,9319 25401,4319 25396,8319 25398,8315 25400,8315 25396,8315 25397,8311 25398,8307 25394,8309 25394,8311 25397,8315 25402,8310 25403,11310 25365,11311 25365,11316 25370,11320 25375,11325 25375,11325 25380,11325 25382,11326 25378,14326 25380,14328 25382,14331 25383,14334 25385,14336 25386,19336 25386,19336 25389,19332 25390,19332 25391,19335 25388,19338 25391,19342 25393,19340 25393,19345 25396,19345 25394,19347 25394,19349 25393,19351 25397,19350 25398,19348 25399,19349 25403,19352 25399,19350 25402,19354 25400,19353 25405,23353 25402,23354 25402,23356 25405,23358 25409,23360 25413,23363 25414,23367 25412,23365 25411,23367 25414,23363 25413,23367 25416,23367 25416,23370 25418,24370 25414,24370 25419,24373 27419,24378 27419,24380 27416,24380 27412,24380 27410,24380 27406,24376 27406,24374 27410,24370 27414,24370 27415,24371 27420,24375 27415,24378 27411,24375 27415,24378 27418,24382 27421,24383 27426,24383 27425,24385 27430,24390 27431,24394 27432,24395 27436,24399 30436,24400 30439,24404 30443,24403 30439,24406 30438,24410 30442,24406 30446,24408 30445,24403 30445,24408 30442,24412 30446,24416 30446,24416 30449,19416 30449,19416 30447,19418 30452,19420 30453,19423 30458,15423 30462,15423 30464,15425 30466,16425 30467,16424 30471,16421 30474,16426 30474,16428 30476,16428 30476,16424 30474,16424 33474,16425 33474,16427 33477,16425 33479,16426 33477,16422 33480,16425 33482,16430 33479,16430 33478,16429 33482,16424 33482,16427 33484,16430 33488,16431 33488,16434 33488,16435 33491,16432 33487,16436 37487,16434 37490,16438 37485,16443 37482,16446 37480,16447 37480,16447 37482,16451 37478,16454 37479,16458 37479,16454 37479,16454 37482,16459 37486,16460 37491,16463 37495,16464 37492,16465 37493,16466 37494,16468 37497,16468 37501,16468 37501,16473 37503,16473 37503,16473 37498,16476 37494,21476 33494,21473 33493,21476 33489,21478 33491,21478 33496,21478 33492,21480 33496,21483 33501,21484 33504,21483 33500,21484 33505,21484 33505,21488 35505,21491 35505,21494 35506,21496 35510,21492 35506,21492 35509,21489 35514,21490 35517,21487 35519,23487 35523,23485 35528,23487 35533,23483 35534,23487 35535,23488 35537,23493 35539,23495 35542,23495 35546,23495 35550,23491 35549,23488 35552,23492 35555,23495 35560,23500 35559,23496 35557,4322 16354,4317 16358,4318 16358,4320 16363,4315 16363,4315 16362,4316 20362,4320 20365,4323 20363,4326 20366,4329 20367,4332 20370,4337 20374,4338 20375,4333 20375,4338 20375,4341 20377,4342 20377,4342 20378,4343 20381,4346 20386,4346 20386,4346 20386,4346 20386,4349 20390,4352 20395,4354 20396,4355 20400,4358 20400,4360 20401,4360 20404,4363 20405,4368 20406,4372 20411,4371 20416,4367 20417,4364 20422,4367 20420,4372 20425,4373 20422,4374 20418,4377 20418,4381 20422,4382 20423,4384 20418,4389 20421,4385 20423,4390 20423,4390 20425,4392 20429,4396 20434,41574 39698,41578 39702,41576 39704,45576 39704,45575 39709,45577 39713,45581 39715,45581 39718,45583 39721,45578 39726,47578 39722,47581 39719,47586 39722,47586 39726,47589 39730,47592 39733,47597 39733,47593 39733,47596 39735,47597 39735,47595 39735,47591 39739,47593 39744,47593 39747,4074 20263,4077 20268,4079 20268,4078 20271,4078 22271,4083 22276,4087 22272,4088 22275,4086 22279,4082 22280,4084 22282,4086 22277,4082 22277,4087 22281,4090 22281,4092 22281,4092 22286,4094 22287,4097 22290,4097 22291,4095 22286,4095 22288,4095 22293,4095 22288,4092 22285,4089 22286,4090 22286,4095 22281,4100 22286,4103 22285,4104 22288,4104 22289,4107 22294,4112 22292,4117 22290,4120 22295,120 22300,121 22303,122 22300,122 22300,121 26300,125 26303,129 26303,127 26305,127 26306,132 26306,132 26307,136 26307,141 26309,140 26311,143 26313,140 26314,145 26318,149 26318,153 26321,153 29321,158 29326,158 29329,162 29324,162 34324,165 34329,168 34328,167 34332,169 34333,173 34334,173 34336,177 34338,178 34340,178 34344,182 34348,177 34348,182 34348,184 34353,184 34358,181 34360,183 34365,187 34365,192 34365,197 34367,199 34366,203 34368,205 34368,202 34363,204 34360,1204 34360,1205 34364,1205 30364,1205 30359,1206 30361,1207 30364,1210 30366,1210 30366,1214 30367,1218 30372,1219 30375,1214 30379,1214 30384,1217 30382,1222 30383,1223 30382,1225 30380,1228 30379,1231 30383,1232 30383,1235 30384,1237 30388,1242 30386,1244 30389,2244 30392,2241 30395,2245 30397,2245 30399,2244 30394,2242 30395,2246 32395,2246 32395,2249 32398,2251 32393,5251 32390,5251 32395,5255 32399,5255 32397,5257 32397,5257 32401,5261 32406,5261 32411,5266 32412,5271 32416,5273 32419,5276 32420,5281 32422,5279 32425,6279 33425,6284 33429,6284 33430,6282 33431,6282 33428,6286 33425,6288 32425,6288 32421,6286 32424,6288 32424,11288 32427,11292 32425,11292 32429,11290 32434,11286 32437,11286 32437,11283 32442,11278 32442,11279 32443,11283 32445,11284 32445,11283 32448,13283 32447,13287 32442,16287 32446,16282 32445,16283 32445,16284 32448,16285 32448,16284 32446,16286 32443,16290 32446,16291 32446,16292 32450,16291 32450,16291 32450,16291 32445,16287 32447,16288 32452,16287 32457,16291 36457,16289 36462,16293 36462,16294 36462,16297 36462,16301 36464,16306 36469,16310 36467,16310 36463,16313 36459,16312 36460,16313 36465,16313 36469,16308 36470,16309 36468,16314 36470,16319 41470,16322 41471,16325 44471,16330 44471,16330 44471,16330 44473,16330 44474,16335 44479,16332 44477,8414 30496,8415 30497,8419 30497,8414 30501,8416 30500,8418 30495,8421 35495,8423 35494,8427 35497,8429 35499,8432 35499,8436 35503,8438 35503,8443 35505,8440 35508,8443 35509,8440 35509,8440 35511,8441 35515,8445 35511,8448 35512,8443 35517,8443 35519,8442 35524,8444 35526,8441 35527,8436 35527,8433 35523,8429 35527,8430 35530,8431 35532,8429 35533,8433 35535,8437 32535,8435 32536,8439 32536,8436 32539,9436 32542,9434 32537,9429 32534,9429 32534,9433 32537,9433 32542,9429 32543,9434 32538,9436 32538,9436 34538,7436 34538,7438 34543,7439 34543,7439 34543,7439 34548,7438 34549,7438 34552,7438 34553,7438 34556,11438 34561,11434 34559,11436 34555,7436 34553,7436 34549,120 1235,124 1239,125 1236,125 1238,129 1235,128 1235,125 1236,123 1239,128 2239,132 2242,131 2242,135 2242,140 2242,145 2247,146 2252,144 2253,146 2248,144 2245,146 2244,150 2249,155 2245,159 2242,160 2243,160 2245,155 2244,156 2245,3156 2246,3159 2248,3159 2250,3164 2254,3165 2257,3166 2255,3169 2257,3171 2262,3169 2263,3174 2268,3177 2273,3174 2276,3178 2275,3173 2279,3177 2276,3180 2279,3182 2284,3185 2289,5185 2286,5185 2288,5181 2286,5185 2288,5184 2293,5187 2293,5187 2297,5190 2299,5187 2299,5185 2300,5181 6300,5182 6297,5187 6300,5189 6298,5191 6296,5193 6296,5193 6296,5195 6297,5195 6300,5197 6297,5195 6300,5190 6302,5191 6306,5192 6308,5195 6312,24395 27436,24391 27437,24393 27433,24398 27436,24398 27437,16286 32443,21286 32443,21286 32444,21282 32448,21283 32446,21283 32448,21285 32451,21281 32456,21282 32458,21282 32463,21282 32468,21284 32470,21289 32471,21287 32471,21287 32469,21287 32474,21284 32477,21288 32482,21291 32482,21291 32486,21296 32485,21299 32486,21301 32487,21303 32484,21301 32482,21305 32487,21310 32491,21312 32495,21313 32491,21315 32495,21312 32495,21314 32498,21316 32501,21311 32506,21311 32508,21312 32513,21317 32516,21319 32516,21324 32516,21327 32521,21328 32526,21332 32527,21328 36527,21331 41527,21336 41527,21334 41531,21337 41533,21335 41535,21339 41540,21340 41540,21343 41536,25343 41539,25340 41542,25337 41542,25337 41545,25335 41542,25335 41543,25335 46543,25339 46548,30339 46551,30340 46556,30343 46557,30342 46553,30337 46556,30341 46561,30337 46565,30336 46563,30338 46564,24373 27419,24373 27421,24375 27424,24377 27425,24377 27430,24374 27435,24379 27437,24384 27432,24385 27434,24382 27437,24381 27442,24381 31442,24381 33442,20381 33439,20383 34439,20382 34440,20378 34444,20381 34446,20381 34442,20384 34443,20388 34446,20392 34447,20393 34442,20393 34447,20396 29447,20395 29443,20399 29443,20400 29439,20399 29436,20404 29439,20409 29440,20410 29440,20410 29444,20408 29445,20413 29448,20413 29451,20412 29455,20413 29458,20418 29461,20413 29463,20415 29464,20416 29464,20416 29463,20416 29463,20418 29464,20414 29465,20418 29463,20413 29460,20413 26460,20418 26458,20421 26459,20421 26461,20421 26460,43578 35658,43578 35654,43578 35658,43578 35660,43583 35661,43583 35659,43583 35662,43579 35663,43583 35661,43587 35666,25625 25551,25629 25551,25630 25554,25630 25559,25632 25560,25627 25561,25623 25557,25623 25559,25624 25561,26624 25566,26627 25566,29627 25571,29626 25574,29625 25575,29622 25579,29625 25583,29630 25588,29632 25589,29635 25591,29635 25594,29637 25598,29642 25596,29643 25597,29644 25597,29649 25598,29654 25602,29656 25602,29661 25603,29661 25601,29664 26601,29666 26604,29665 26604,29668 26607,29672 26607,29669 26611,29671 26616,29674 26613,29679 26616,29680 26616,29681 26615,29682 26619,29679 26617,29684 26622,29686 26624,29689 26624,29690 26628,29691 26630,29693 26625,29694 26620,29698 26617,29703 29617,29707 29616,29706 29620,29709 29623,34709 29626,34710 29628,34710 29627,2282 16411,2283 16412,2283 16412,2287 16417,2292 16421,2297 16421,2298 16426,2303 16426,2304 16429,2309 11429,2313 11432,2308 14432,2308 14431,2311 14433,2310 14437,2308 14438,2309 14440,2311 14440,2309 14443,2312 14443,2314 14447,2314 14452,2314 14450,2309 14451,2309 14451,2309 14456,2313 14461,2313 14461,2309 19461,2309 19461,2311 19462,2315 19465,2318 19465,2321 19462,2317 19464,2321 19467,2322 19467,2322 19469,2322 19469,2320 19464,2321 19462,2322 19461,2327 19466,2327 19461,2322 19461,2322 19463,2317 19467,2318 19471,2102 -1848,2107 -1848,2111 -1846,2114 1154,2114 1156,2115 1157,2114 6157,2116 6162,2121 6165,2124 6170,2121 6175,2124 6179,2124 6183,2128 6178,2126 6179,2125 6178,2126 6181,2122 10181,2127 10186,2128 10189,2130 10188,2130 10191,2127 11191,2127 11195,2131 11196,2132 11192,2131 11197,2135 11201,2135 11203,2139 11199,2142 11203,2143 11204,2147 11208,2142 11210,2142 11211,2147 11212,2150 11217,2150 11219,2151 11219,2152 11222,2152 11222,2148 11224,2150 11220,2150 11223,2146 11218,2143 11219,2140 11221,2143 11218,2140 11219,2140 11223,2145 11225,2147 11226,2152 11226,2155 11224,2157 11229,2157 11229,2153 11233,2153 11238,2149 11239,7149 10239,7154 10241,7157 10241,7162 10243,7164 10248,7164 10251,7169 10253,7171 10253,7172 10257,7177 10260,7182 10256,7187 10260,7191 8260,7195 8256,7200 8258,7204 8258,7203 8261,7203 8262,7205 8266,7209 8270,7209 8273,7214 8273,7214 8276,7210 8276,7211 8276,7213 8279,7218 8278,7222 8283,7223 8279,7220 10279,7221 10283,7223 10284,7228 10286,7230 10290,7231 10290,7231 10293,7232 10294,7232 10297,7234 10299,7229 10295,7226 10294,7221 10293,7223 10295,7228 10299,7229 10303,7232 10307,7232 10311,7233 10316,7234 9316,7239 9318,7244 9321,7241 9326,7241 9328,7238 9331,7235 9330,7237 9335,7236 9335,7236 9337,7236 9338,7231 14338,7230 14333,7232 14338,7237 18338,4082 22280,4081 22280,6081 22283,6076 22285,6076 22289,6078 22286,6080 22287,6084 22292,6084 22293,6085 22293,6086 22291,6091 22294,6092 22293,9092 22290,9095 22294,9096 22295,9096 22297,9091 22292,9096 22295,9098 22290,9094 18290,9097 18290,9096 18294,9099 18292,9098 18297,9103 18299,9103 18302,9103 18305,9100 18301,9102 18302,9106 18305,9102 18310,9101 18306,9103 18308,9103 18312,9107 18310,9107 18315,9107 18320,9111 18322,9111 18326,9113 18329,9111 18329,9116 18329,9121 18329,9121 18332,9123 18331,9124 18332,9125 18328,9127 18325,9125 18328,9128 18329,9133 18329,9136 18333,9141 18337,9142 18342,9143 18340,9148 18344,9152 18341,9150 18346,9149 18341,9149 18341,9154 18343,9158 18345,9161 18346,9161 18347,9163 18352,9164 18352,9162 18349,9165 18352,9165 18351,9165 18352,9165 18356,9163 18352,9167 18353,9167 18349,9168 18351,9168 18347,9173 18347,9175 18347,9179 18348,9182 18349,9187 18352,9186 18357,9189 18360,9192 18360,9196 18362,13196 18367,13196 18369,13196 18371,13199 18374,13194 18374,13197 18375,13200 18377,13205 18380,13210 18384,13209 18379,13209 18374,13213 18375,13216 20375,13212 20375,13215 20375,13211 20375,13211 20372,13208 20373,13204 20373,13204 20369,13205 20369,13207 20366,13212 20367,13216 20367,13221 20372,13222 20377,13225 20381,13226 20386,13230 20383,9230 20388,9228 20384,9228 20386,9223 20389,9223 20392,4223 20397,4223 20396,4225 20399,4222 20404,4220 20408,4220 20411,4223 20416,4227 20421,4230 20418,4234 20421,4232 20422,4236 20423,4238 20423,4239 20423,4235 20427,4231 20427,4230 20426,4228 20428,4232 20427,4232 20431,4236 20433,4241 20431,4241 22431,4236 22436,4239 22437,4239 22439,4236 22443,4232 22439,4236 22444,4236 22446,4239 22447,4239 22452,4241 22454,4245 22457,4245 22460,4250 22462,4251 22465,4253 22465,4249 22465,4251 22460,4251 22464,4255 22469,4257 22473,4256 22478,4259 22479,4260 22480,4257 22485,6257 22489,6260 22490,6260 22493,6262 22496,6262 22500,6267 22495,6271 22495,6276 22491,6276 22489,6281 22487,6286 22490,6289 22490,6294 22490,6294 22489,6292 22485,6292 22489,6288 22489,6288 22494,6288 22496,6286 22497,6288 22501,6292 22500,5292 22503,5292 22503,5296 22508,5295 22510,5300 22510,5305 22513,5302 22514,5306 22510,5309 22513,5313 27513,5313 27513,5317 27513,5322 22513,5326 22517,6326 22516,6323 22518,6323 22523,6320 22523,6321 22526,6323 22531,6323 22531,6324 22532,6324 22532,6325 22529,6321 22531,6323 22534,6328 22534,6329 22530,6324 22527,10324 22522,10319 22524,10315 22520,10314 22525,10311 22525,10307 22526,10304 22531,10306 22527,10306 22528,10309 22530,10312 27530,10312 27534,10312 27534,10307 27536,10307 27532,11307 27531,11307 27533,11308 27535,11303 27531,11298 27532,11294 27534,11294 27534,11299 27538,11297 27542,11302 27547,11306 27547,11311 27549,11313 30549,11317 30551,11313 30546,11316 30541,11316 30540,11319 30545,11318 30546,11323 30550,11326 30554,11326 34554,11330 34558,11331 34558,11333 34558,11332 34561,11328 34561,11331 34562,11336 34562,11336 34567,11340 34570,11342 34569,11345 34568,11344 34569,11345 34571,11349 34574,15349 34574,15354 34569,15359 34566,15362 34571,15363 34576,15367 34577,15368 34577,15371 34581,15374 34576,15379 34574,15383 34579,15384 34584,15387 34583,17387 34578,17392 34578,17391 34578,17396 34573,17397 34578,17397 34580,17397 39580,17402 39584,17397 39587,17402 39587,17406 39582,17403 39587,17407 39589,17409 39592,17406 39592,17409 39595,17409 39599,17412 39603,17416 39608,17417 39608,17417 39608,17421 39607,17422 39609,17424 39608,17427 39604,17425 39605,17426 39609,17423 39611,17422 39610,17425 39613,17428 39618,17428 39619,17429 39616,17432 39616,13432 39615,13432 39617,13432 39617,13432 44617,13434 44621,13434 44623,13439 44627,13442 44632,13442 44635,13440 44631,13442 44631,13445 44635,13447 44639,13445 44637,13445 44638,13450 44639,13454 44644,13457 44644,13459 44642,15459 44639,15457 44644,15461 44644,15462 44642,15459 44645,15459 44647,15463 44650,15458 44651,15459 44653,15461 44657,15463 44661,15463 44661,15463 44663,15467 44666,15472 44668,15474 44664,15470 44668,15471 44670,15473 44674,15475 44675,-3806 12298,-3804 12301,-3805 13301,-3804 13296,-3808 13292,-3809 13295,-3806 13300,-3804 13297,-3801 13301,-3801 13302,-3796 18302,-3801 18306,-3799 18311,-3802 18311,-3799 18312,-3801 18314,-3796 18319,-3795 18322,-3791 18321,-3786 18320,-3786 18321,-3784 18321,-3782 18321,-3781 18324,-3782 18325,-3783 18320,-3788 18324,-1788 18324,-1788 18329,-1784 18333,-1784 18334,-1781 18329,-1777 18334,-6777 18337,-6774 18339,-6776 18341,-6781 18341,-6779 18341,-6779 18343,-6779 18339,-6777 18343,-6782 18338,-6779 18341,-6778 18341,-6776 18336,-6776 18333,-6776 18333,-6780 18338,-6784 18338,-6787 18335,-6786 18336,-6781 22336,-6781 22335,-6778 22331,-6777 22326,-6777 22331,-6777 22335,-6772 22335,-6774 22340,-6769 22341,-6767 22337,-6767 22335,-6767 22335,-6767 22333,-6767 22336,-6762 22331,-6759 22331,-6764 22332,-6765 22334,-6767 22339,-6762 22334,-6760 22334,-6760 22334,-6758 22337,-6754 22341,-6754 22342,-6750 22339,-4750 22343,-4747 22343,-4752 22343,-4751 22344,-4749 22345,-4745 22348,-4740 22353,-4736 22358,-4738 22363,-4740 22358,21336 41527,21334 41527,21330 41526,21330 41526,21333 41529,21328 41529,21329 41530,21326 41532,21328 41532,21324 41537,21328 41532,21330 41535,21334 41532,21336 40532,21334 40536,21339 40534,21341 40534,21344 40534,21346 40532,21350 40532,21353 40535,21357 40539,21359 40542,21360 40546,21355 40546,21360 40547,21359 40550,21356 40551,21356 40550,21357 40550,21361 40554,21358 45554,21362 45556,21366 45553,21370 45557,21374 45556,21377 45553,22377 45549,22382 45549,22382 45552,22386 45557,22387 45557,22388 45553,22392 45557,24392 45561,22392 45558,22397 45561,22399 45558,22398 45561,22400 45564,22400 45569,22404 45573,22406 45577,22406 45581,22404 45581,22407 45582,22409 45579,22409 45575,22409 45579,22407 45579,22402 45582,22402 45582,22404 45587,22406 45587,22406 45589,22411 45589,22413 45590,22417 45591,22417 45592,22422 45587,22425 45583,22428 50583,22428 50585,22428 50585,22430 50588,22435 50590,22435 50585,22435 50590,22439 50595,22440 50590,22445 50587,22442 50584,22442 50586,22443 54586,22443 54590,22446 54595,22448 54597,22448 59597,22444 59593,22449 59596,22449 59599,22452 59600,22457 59600,22458 59605,22457 59602,22462 59603,22463 59604,22461 59605,22458 59602,22457 59601,22457 59601,22455 59605,25455 59606,25457 59611,25462 59613,25464 59614,25467 59617,25472 59612,25476 59613,25478 59610,25482 59615,25482 59616,25486 59612,25483 59614,25487 59619,25492 59623,25497 59625,146 2252,150 2249,150 2249,152 2254,157 2249,158 2253,157 2252,161 2255,159 3255,161 3258,161 3255,163 3255,168 3259,168 3259,172 3263,167 3267,172 3271,172 3272,172 3274,175 3278,179 3282,181 3283,184 3280,185 3282,187 3282,191 3284,192 3286,191 6286,193 6289,198 6285,195 6290,194 6289,195 6289,199 6293,200 6288,198 6290,202 6291,207 6296,212 6301,215 6301,216 6301,211 6304,212 6304,216 6309,216 6304,214 6308,213 6308,211 6305,212 6309,217 6314,220 6317,224 6322,222 6327,220 6323,41573 39712,41572 39709,41576 40709,41580 40714,41576 40717,36576 40717,36577 40719,36582 40716,36585 40721,36590 43721,36585 43721,36582 43724,36585 43729,36590 43731,36590 43730,15289 11307,15285 11312,15286 11315,15289 11315,15294 11315,15295 11316,15296 13316,38742 37646,38743 37650,38745 37655,38744 37658,38739 37659,38737 37662,38742 37662,38745 37657,38748 37662,38748 37662,38752 37667,38753 37667,38748 37669,38748 37668,38752 37673,38754 37674,38756 37676,38758 37674,38760 37679,38760 37675,38758 37675,38763 37675,38767 37674,38772 40674,38767 40679,38772 40683,38774 44683,38778 44686,38780 44690,38780 44690,38779 44695,38782 44700,38780 44695,38775 44696,38775 44696,38775 44696,38779 44699,38783 44696,38784 44696,38786 44692,38786 44692,38786 44696,38791 44698,38793 44699,38795 44703,38800 44708,38803 44708,38807 44709,38802 44706,38806 44708,38809 44709,36809 44709,36814 44704,36813 44705,36814 44705,36816 44709,36811 44712,36812 48712,36811 48717,36815 48721,36816 51721,36818 51717,36822 51720,40822 51715,40827 51712,40830 51716,40829 51719,40832 51723,40835 51724,40840 51721,40841 51721,40836 51725,40841 51730,40846 51734,40848 51738,40849 51740,40851 51743,40854 51745,40855 51746,40857 51750,40857 51746,40861 51748,40866 51751,40862 51750,40866 51750,40869 51752,40865 51752,40863 51755,40858 51757,40855 51753,40855 51758,40852 51758,40853 51760,40857 51761,40855 51757,40852 51760,40853 51761,40855 51762,40858 51757,40859 51756,40863 51757,40863 51759,40860 51764,40859 51764,40854 51768,40850 51765,40852 51767,40852 51767,40848 51772,40852 51776,40854 51778,40852 51778,43852 51778,43854 52778,43856 52781,43859 52781,43859 52776,37512 26536,37517 26531,37520 26535,37520 26540,37522 26544,37527 26544,37532 26549,37537 26544,37540 26549,37545 26544,37549 26547,37549 26550,37548 26551,37549 26553,37546 26553,37546 26553,37549 26556,37549 26559,37552 26559,37556 26564,37560 26559,37561 26561,37565 26565,41565 26565,41569 26568,41571 26573,41571 26573,41576 29573,41571 29573,41573 29576,41573 29578,46573 29578,46569 29582,45569 29583,45572 29583,45568 29583,45573 29581,45575 29578,45571 29581,45572 29584,45572 29585,45576 29585,45578 29588,45581 29591,45582 29593,45582 29598,45584 29597,45589 29600,45585 29605,45589 33605,45593 36605,45594 36607,45599 36609,45600 36604,45604 36604,45604 36608,45604 36607,45608 36610,50608 36613,50611 36609,50614 36609,50619 36605,50624 36605,50625 36606,50625 36605,50629 36606,50624 36608,50625 36610,50626 36610,50629 36608,50627 36610,50628 36614,50632 36618,46632 34618,46632 35618,46636 35622,46636 35617,46637 35620,46639 35619,46643 35620,46645 35625,46643 35630,46648 35635,46648 35640,46649 35643,46651 35647,46655 35650,46652 35655,46657 35656,46658 35657,46662 35660,46659 35663,46662 35664,46665 35663,46667 35667,46667 35663,46670 35666,46672 35671,46674 35671,47674 35668,47676 35672,47677 35673,47677 35678,47677 35677,47677 35677,47677 35682,47672 35683,47671 35683,49671 35685,49674 35689,49677 35692,49675 35692,54675 35697,54678 35699,54674 35699,54670 35701,54670 35700,54675 35703,54676 34703,54676 34703,54679 34706,54683 34708,54688 34706,54688 34707,54685 34702,54687 34702,54692 34707,54687 36707,54687 36706,54682 36707,54685 38707,54680 38710,54680 38714,54677 38714,54679 38719,54682 38720,54687 38716,54688 38717,54692 38722,54697 38726,54699 38727,54700 38724,54702 38720,52702 38719,52702 38719,52702 38721,52702 38725,52704 38726,52706 38728,52707 38729,52711 38728,52711 35728,52713 35733,52712 35737,52712 35739,52713 35742,52713 35745,52708 35745,52710 39745,52713 39749,52716 39748,52721 39749,52720 39753,52716 39756,52716 40756,47716 40757,47717 40761,47722 40761,47722 40761,47722 40766,47726 40769,47728 40772,47733 40777,47731 40773,50731 40777,51731 40779,51733 40782,51734 40786,51737 40784,51741 41784,51739 41783,51739 41785,51739 41785,51736 41789,51731 41789,52731 41790,52735 41791,52738 41790,52742 41789,52746 41785,52747 41785,52745 41785,52750 41782,52753 41786,52753 41787,52758 41792,52754 42792,52749 42793,52752 42794,52756 42791,52757 42790,52762 42793,52766 42797,52766 42797,52769 42802,52774 42806,52774 42805,52771 42807,52774 42807,52770 42808,52771 42811,52767 42811,52766 42812,52767 42817,52771 42817,52771 42817,52775 42815,52779 42811,52779 42812,52780 42815,52776 42818,52774 42818,52777 42822,52780 42823,52781 42827,52776 42829,52780 42832,54780 42835,54780 42840,2135 11201,2140 11203,2137 11204,2140 11209,2142 11213,2147 11211,2145 11213,2145 11213,2150 11218,2150 11221,2153 11225,2157 13225,2162 13228,2167 13231,2171 13232,2167 13229,2168 13233,2171 13237,2173 13239,2168 13234,2168 13235,2173 13235,2175 13234,2177 13235,2177 13234,2179 13229,2179 13226,2180 13226,2177 13226,2177 13231,2180 13231,2181 10231,2176 10233,2177 10232,2180 10235,2185 10237,2182 10240,6182 10240,6184 10244,6182 10242,6183 10243,6185 10246,6190 10244,6194 10244,6194 10247,6192 10247,6192 10252,6195 10256,6194 10260,6195 9260,6195 9260,6195 9264,6199 9269,6204 9272,6199 9268,6201 9268,6203 9265,6208 9268,6204 9270,6204 9275,6201 9279,6201 9281,6201 9286,6206 9281,6206 9277,6202 9281,6200 9285,6202 9288,6198 9290,7198 9293,7200 9297,7201 9297,7205 9298,7209 9298,7209 9299,8209 9302,8214 10302,8218 10306,8222 10308,8226 10313,8231 10313,8235 10318,8237 10318,8237 10323,8233 10326,8233 10327,8237 10325,8238 10328,8238 10330,8234 10330,11234 10332,11236 10333,11241 10337,14241 10338,14240 10338,14237 10339,14238 10337,14237 10339,14242 10339,14246 10339,14250 10339,14250 10339,14251 10337,14254 10337,14256 10334,14256 10332,14252 10336,14255 10340,14259 10342,14262 10347,11148 3159,11153 3163,11154 3162,11154 3165,11158 3167,11161 3172,11162 3175,11162 3176,11166 3179,11166 3181,11171 3185,11176 3180,11178 3179,11176 3181,11179 3183,11174 3182,52776 42818,52778 42822,52777 42822,52782 42817,52783 42822,52784 42823,52789 42826,52789 42823,56789 42828,56786 42829,56786 42832,56789 42836,56789 42835,56785 42838,56786 42843,51786 42844,51788 42846,51790 42847,51794 42842,51796 42842,51801 42846,53801 42849,53806 42849,53809 42852,53812 42850,53817 42846,53817 42848,53818 42853,53822 42856,53823 42854,53826 42858,53825 42860,53826 42860,53826 42864,53830 42868,53835 42873,53839 42873,53841 42872,53841 42876,53841 42879,53841 42884,53836 42888,53836 42889,53836 44889,53833 44889,53835 44893,53838 44897,53842 44897,53844 44900,53844 44904,53845 44905,53850 44903,53853 44904,53858 44906,53856 44907,53861 44909,53856 44913,53858 44916,53863 44916,53868 44918,53867 43918,53869 43921,53869 43919,53867 43919,53862 43918,53860 43923,53864 43928,53869 43930,53874 43933,53874 43932,53874 43932,53875 43930,53877 43928,53878 43924,53883 43927,55883 43929,55883 43925,55879 43929,55881 43929,55884 43928,55881 43928,55882 43929,55883 45929,55883 45933,55883 45936,55884 45941,55884 45941,55886 45946,55882 45948,55883 45952,55888 45956,55890 45957,55894 45953,55892 45954,55897 45950,55893 45954,55896 45956,55892 45955,55897 45959,55899 45961,55899 45961,55894 45962,55898 45957,55893 49957,55896 47957,55894 47956,55898 47960,55901 47964,55901 47967,55901 47970,55896 47973,55898 47969,55894 47974,55895 47975,55891 47976,55896 47979,55899 47984,55902 47983,55897 47987,55899 47989,55904 47992,55904 47993,55905 47997,55902 48001,55902 48003,55907 48000,55910 47998,55915 47999,55911 47994,55906 47998,55910 48003,55914 48000,55918 48000,55914 48000,55919 48000,55921 48003,55921 48007,55924 48007,55919 48010,55922 48005,55927 48009,55928 48008,55928 48008,55930 48012,55925 48012,55925 48016,54925 48014,54922 48018,54922 44018,54926 44013,54929 44012,54932 44016,55932 44017,55935 44017,55936 44020,55937 44022,55936 44020,55939 44015,55944 44018,55945 44022,55947 44023,55950 44024,55953 44020,55956 44023,53867 43919,53871 43921,52871 43921,53871 43923,53876 43923,53881 43923,53880 43927,53882 43931,53886 43936,53884 43937,53879 43934,53879 43937,53877 43939,53878 43938,53879 43942,53880 43947,53881 43948,53884 45948,53884 45949,53882 45953,53883 45954,53878 45956,53880 45953,53885 45958,53885 45958,53886 45957,53886 48957,53886 48962,53891 48962,53892 48964,53897 48965,49897 48962,49902 48965,49906 48967,49902 48967,49904 48971,49901 48967,49904 48970,54904 48971,54904 48971,54904 48975,54909 48979,54907 48975,54910 48975,54906 48971,54909 48973,54911 48975,54915 48978,54920 48978,54923 48981,54918 48984,54921 48984,56921 48984,56926 48986,56924 48981,56929 48980,56932 48979,56932 48977,56936 48979,56937 48981,56937 48982,61937 48984,61937 48980,61934 51980,61935 51981,61935 51984,61935 51984,61931 51986,5329 23395,5331 23395,5333 23390,5337 23392,5340 23395,5345 27395,5345 27397,5350 27398,5355 27399,5356 27402,6356 27405,6360 27407,6361 27406,6364 27402,6366 26402,6371 26402,6371 26402,6372 26405,6370 26405,6375 26406,6380 26411,6385 26413,6387 26414,6388 26419,6390 26419,6391 26424,6393 30424,6390 30429,6390 30432,6390 30430,6394 30434,6394 30437,6394 30441,6396 30442,6398 30439,6399 30436,6404 30435,6405 30435,6400 30435,6405 30440,6404 30443,6405 30447,6409 30447,6411 30447,6412 30448,6417 30446,6421 30450,6418 30448,6417 30444,6418 30449,6420 30451,6425 30456,6426 30456,6425 30458,6426 30458,6426 34458,6427 34459,6432 39459,6434 39462,6434 39467,6439 39470,6443 39467,6444 39468,6449 39473,6451 39476,6452 39481,6452 39479,6452 39476,8452 39476,8456 39478,8460 39480,10460 39482,10455 39482,10456 39484,10460 39484,10463 39484,10468 39486,10473 39482,10475 39484,10475 39486,10476 39488,10477 39492,10475 39494,10480 39499,10476 39501,10479 39506,10480 39510,10475 39508,10480 39513,10481 39516,10481 39516,10485 39521,10487 39522,10490 39523,10490 39520,10493 39520,10496 44520,10491 44519,10491 44524,10492 44520,10497 44525,10499 44525,10502 44527,10500 44531,10502 44535,10506 44535,10511 44532,13511 44536,13513 44533,13510 44535,13507 44540,13511 44543,13515 44548,13517 44549,13522 44550,13525 42550,13520 42551,13522 42553,13525 42552,13529 42557,13529 42558,13524 42559,13525 42559,13525 42562,13520 42564,13523 42567,15523 42569,15523 42572,15524 42577,15529 42577,15530 42582,15532 42584,15532 42588,15531 42587,15531 42592,15530 42587,15530 42583,15533 42583,15536 47583,15532 47583,15535 47587,15534 47590,15536 47594,11536 47590,11533 47590,11529 47590,11533 47592,11533 47592,11533 47593,11537 47598,11538 47603,11538 47603,11538 47605,11541 47609,11544 47613,14544 47614,14539 47610,14537 47610,14537 47614,14535 50614,14537 50619,14539 50619,14540 50623,14538 50623,14537 50619,25599 26540,25599 26541,25599 26544,25594 26542,25599 26543,25596 26544,25597 26543,25598 26543,25593 26544,25588 26542,25593 26545,25595 26544,25596 26544,25599 26541,25594 26544,25592 26549,25593 26548,25597 26549,25596 26550,25594 26551,25590 26550,25594 26554,25597 26550,25598 26552,25593 26555,25598 22555,25599 22557,25604 22559,25605 22558,25606 22562,25605 22559,25605 22564,30605 22569,30610 22571,30610 22575,30609 22575,30609 22576,30609 22581,30605 22581,30610 22583,30610 22584,30613 22579,30613 22581,30616 22577,30619 22577,30621 22580,30621 22585,30626 22590,30628 22593,30629 22598,30626 22603,30628 22606,30629 22607,30629 22604,30627 22606,30632 22608,30633 22608,30636 22612,30641 17612,30642 17614,30647 17614,30651 17615,30654 17610,30655 17607,30658 17611,30653 17610,30654 17606,30654 17607,30659 17606,30660 17611,30658 17616,30659 17616,30664 17619,30665 17621,30665 17620,30667 17621,30671 17624,30673 17624,30673 17624,30678 17627,30675 17632,30675 17635,30678 17640,30681 17643,30686 17639,30691 17641,30696 19641,30699 19640,30700 19640,30696 19645,30698 19643,30699 19645,30702 19646,30703 19649,30699 19651,30704 19648,30706 19652,30709 19653,30709 19655,30709 19655,30712 19657,30708 19658,30705 19660,30700 19662,30701 19663,30706 19664,30711 19663,30707 19667,30704 19670,30708 19672,30709 19673,30711 19673,30711 19674,30713 19678,30718 19682,30723 20682,30721 20686,30725 20691,30726 20693,30729 20695,30728 20690,30730 20692,30733 20694,30736 20692,30736 20691,30740 20694,30741 20695,30741 20697,30746 20700,30747 20702,30750 20701,30751 20698,30753 24698,30749 24701,30748 24703,30746 24704,30747 29704,30747 29705,30749 29707,30752 29712,30757 29712,30760 34712,30760 34716,30763 34716,30759 34713,30759 34717,30763 34717,30758 34717,30757 34721,30760 34726,30758 34726,30763 34727,30763 34727,30764 34727,30759 34729,30759 34732,30762 34734,30757 34735,30761 34736,30759 34736,30762 34738,30757 34733,30760 34735,30762 34737,30760 34736,30765 34733,32765 34737,32768 34737,32765 34740,32765 34742,32768 34747,32772 34751,32772 34752,32777 34749,32782 34751,32783 33751,32783 33746,36783 33749,36783 33754,36786 33756,36787 33755,36787 33758,36791 33754,36796 33754,36801 33756,36801 33758,36801 33762,36802 33765,36802 33765,36806 33770,33806 33772,33806 33777,33809 33777,33814 33780,33814 33785,33818 33782,33821 33784,33826 33781,33822 33781,33824 33783,33822 33784,33826 33787,33823 33792,33827 33795,33828 33798,33829 33799,33833 33801,33833 33801,33836 33805,33839 33809,33842 33805,33847 33810,33845 32810,33847 32808,33849 32812,33851 32815,33849 32818,33849 32822,33847 32822,33847 32826,33850 32831,33854 32836,33857 32833,33856 32828,33859 32829,33860 32832,33857 32834,33857 32830,33855 32830,33857 32830,33855 32834,33859 32829,33859 32833,33862 32836,33864 32837,33864 32839,33866 32837,33869 32835,33872 32840,33874 37840,33879 37845,33881 37850,33881 37855,33886 37856,33891 37860,33896 37860,33893 37863,33894 38863,33896 38859,28896 38864,28899 39864,33899 39869,33896 39871,33898 39875,33902 39873,33902 39875,33907 39879,33912 39884,33908 39887,33908 39888,33905 39890,33909 39895,33911 39896,33908 39900,33912 39901,33915 39902,33915 39902,33915 39902,33910 39907,33910 39904,33914 39903,33912 39906,33916 39909,33920 39909,33922 39912,33923 39916,33928 39916,33931 39918,33932 39919,33935 39915,33936 39912,33934 39909,35934 39914,35931 39915,35935 39917,35939 39920,35939 39915,35940 39911,35944 39916,35944 39911,35944 39908,35945 39904,35945 39908,35945 39912,35950 39915,35955 39917,38955 39916,38960 39921,38962 39920,38962 39920,38967 39922,38967 39924,38970 39928,38975 39928,38973 39928,38977 39931,38980 39934,38984 39936,38982 39939,38983 39942,38985 39943,38987 39945,38992 41945,38988 41950,38989 41954,38992 41958,38992 41962,38992 41965,38993 41970,38997 41970,38997 41970,38994 41974,38994 41979,38997 41979,38999 41982,38994 41980,38998 41985,38998 41984,5334 23406,5330 23406,5325 23403,9325 23404,12325 23408,12325 23408,12322 23406,13322 23411,13325 23416,13326 23412,13322 23414,13327 23419,13328 23422,13329 23425,13333 23422,13337 23424,23491 35549,23490 35544,23494 35546,23499 35548,23495 35549,21495 35553,21490 35556,21492 35558,21492 35556,21494 35559,21494 35564,21494 35566,21499 35566,21502 35562,21502 35567,17502 35568,17506 35573,17507 35574,17511 35578,17512 35583,17513 35588,18513 35591,18514 35592,18515 35594,18513 35596,16513 35601,16513 37601,16513 37602,16511 37604,16513 37609,16514 37611,16518 37616,16522 34616,16524 34613,16528 34615,16528 34620,16533 34624,16535 34627,16538 34628,16539 34630,16539 34631,16542 34628,16542 34633,16544 34638,16547 38638,16547 38640,16543 38645,16543 38640,16540 38640,16543 38640,16542 38641,16546 38646,16541 38649,16541 38645,18541 38648,18544 38648,18544 38653,18544 38656,18549 38651,18547 38651,18550 38656,18547 38658,23547 38663,23544 38664,23548 38668,23548 38670,28548 38672,28549 38669,28549 38673,28545 38669,28549 38670,28554 38670,28557 38674,28560 38669,28562 38674,28562 38669,28561 38669,28564 38671,28569 38671,38779 44699,38780 44695,38778 44698,38783 44700,38785 44700,38781 44701,38782 44696,38786 44691,38789 44692,38794 44692,38799 44688,38799 44693,38803 44697,38808 44697,38806 44697,38806 44700,38803 44702,38803 44706,38802 44707,38807 48707,38808 48707,38806 48707,38810 48712,38810 48709,38810 48711,38810 48711,38806 48707,38802 48710,38803 48706,38805 48711,38810 48711,38805 48709,38809 48710,38809 48710,38814 48707,38815 48703,38816 48703,38816 48704,38820 48704,38822 48709,38820 48710,38818 48714,38822 48716,38822 48719,38827 48722,38828 48727,38832 48725,38830 48730,38831 48726,38832 48724,38829 48728,8431 35532,8431 35537,4431 35532,4434 35537,4438 35537,4439 35533,4443 35535,4442 35530,4445 35527,4449 35527,4453 35530,4458 35530,4459 39530,4460 39531,4461 39531,4464 39531,4468 39531,4470 39534,4465 39534,4465 39532,4469 39532,4471 39537,4466 39538,4470 39539,4473 39540,4476 39540,4480 39543,4485 39548,4483 39546,4484 39547,4484 39549,4484 39551,4486 39553,4486 39554,4487 39551,4483 39553,4486 39554,4490 39556,4493 39557,4498 39561,4494 39562,-4749 22345,-4752 22345,-4748 22348,-4744 22351,-4740 22356,-4741 22358,-4739 22361,-4734 22359,-4730 25359,-4730 25360,-4725 25360,-4727 25360,-4727 25361,-6727 25360,-6729 25365,-6730 25365,-6727 25365,-6731 25364,-6730 27364,-6727 27366,-6723 27367,-3723 27363,-3719 27368,-3720 27371,-3718 27366,-3717 27369,-3716 27369,-3714 27372,-3711 27370,-3712 27371,-3712 27370,-3710 27375,-3708 27377,-3707 27382,-3706 27385,-3706 27389,-3705 32389,-3704 32392,-3704 32392,-3699 32391,-3699 32395,-3694 32399,-3694 32400,-3695 32404,-3695 32408,-3693 32410,-3693 32410,-3697 32410,-3692 32413,-3691 32418,-3686 32420,-3683 32425,-3681 32420,-3678 32424,-3673 32424,-3676 32427,-3673 32426,-3671 32426,-3676 33426,-3678 33428,-3676 33428,-3679 33428,-3679 33433,-3677 33434,-3676 33438,-3681 33440,1319 33444,1321 33441,1325 33444,1329 33439,1326 33444,1326 33439,1327 33439,1327 33440,1332 33444,1333 33449,1338 33453,1338 33450,1343 33450,1347 33454,1346 33457,1346 33455,1342 33459,1341 33462,1346 33462,1347 33463,1343 33463,1344 33462,1348 33457,1347 33460,1352 33464,1356 33468,1361 33469,1363 33468,1365 33469,1368 33472,1369 33475,-2631 33478,-2633 33483,-2629 33486,-2632 34486,-2628 36486,-2625 36488,-2621 36488,-2624 36488,-2622 36492,-2624 36491,-2629 36491,-2627 36496,-2623 36499,-2628 36502,-2631 36506,-2626 36506,-2622 36506,-2622 36509,-2619 36514,-2624 36512,-2621 36510,-2619 36510,-2619 36508,-2617 36512,-2615 36512,-2615 36513,-2615 36511,-2615 36506,-2612 36507,-2609 36511,-2606 37511,-2606 37508,-2610 37505,-2607 37508,-2602 37512,-2599 37512,-2595 37510,-2597 37511,-2592 37515,-2597 37514,-2592 37519,-2592 37524,-2592 37526,-2594 37521,-2594 37516,-2591 36516,-2588 36517,-2589 36513,-2586 36514,-2584 36514,-2583 36516,-2579 36514,-2578 36518,-2578 35518,-2575 35519,-2577 35519,-2578 35524,-2578 35529,-2578 35532,-2578 35534,-2580 35537,-2584 35541,-2586 35542,-2587 35544,-2585 35540,-2585 35544,-2584 35543,-2580 35548,-2576 35550,-2571 35553,-2567 35555,-2565 35560,-2560 35560,-2557 35564,-2553 35564,-5553 36564,-5548 36564,-5544 36565,-5547 36565,-5545 36570,-5542 36565,-5543 36566,-5543 36568,-5543 36570,-5540 36575,-5537 36577,-5535 36581,-5532 36580,-5528 36575,-5526 38575,-5526 38576,-5526 38571,-5522 38571,-5518 38576,-5514 42576,-5510 42581,-5512 42583,-5512 42582,-5507 42582,-5510 42585,-2510 42589,-2511 42592,-2508 42594,-2506 42597,-2503 42598,-2503 42603,-2498 42608,-2501 42611,-2500 42616,-2502 42613,-2502 42616,-4502 42616,-4502 42620,-4502 42622,-4506 42619,-4509 42621,-4511 42624,-4515 42625,-4510 42625,-4507 42628,-4502 42624,-4501 42629,-4505 45629,-4503 45630,-4499 45631,-4496 45630,-4497 45628,-4495 45630,-4494 46630,-4491 46634,-4487 46629,-4483 46631,21336 40532,21341 40533,21346 40534,21346 40536,21345 40536,21346 40536,21345 40536,21344 40538,21347 40543,21348 40543,21351 40540,21351 40542,21348 40545,21351 40546,21352 40546,21353 40546,21358 40546,21359 40545,21359 40550,21357 40555,21362 40560,21364 40555,21363 40555,21364 40560,25364 40564,25365 40566,25368 40566,25371 45566,25372 45567,25372 45562,25376 45564,25381 42564,25385 42560,25389 42564,25389 42568,25393 42572,25390 42572,28390 42569,28389 42570,28385 42574,28386 42576,28389 42577,31389 42578,31385 42582,31387 42582,31390 42578,31391 42579,31392 42576,29392 42580,29396 42582,29398 43582,29402 43584,29406 43585,29407 43587,29411 43592,29413 43594,29414 43595,25414 43600,25412 43595,25415 43599,25420 43602,25418 43604,25423 43599,25426 43599,25429 43602,25434 42602,25429 42604,25432 42600,25435 42605,25436 47605,25440 50605,25441 50610,25439 50614,25444 50617,25447 50621,25444 50624,25444 50626,25445 50627,25450 50632,25450 50628,25451 50630,25451 50632,25454 50633,25458 50637,25462 50641,25463 50640,25463 51640,25467 51644,25469 51649,25473 51650,25474 51653,25475 51654,26475 51658,26475 51662,26474 51665,26476 51665,26481 51661,26483 55661,26485 55664,30485 55667,30485 55670,30489 55671,30489 55668,30491 55670,30492 55670,30493 55675,30497 55675,30501 55671,30503 55676,30500 55677,30498 55672,30494 55675,30499 55676,30500 55676,30505 55681,30501 55684,30496 55685,30500 55685,30502 55687,30506 55692,30507 55693,30506 55692,30511 55693,30516 55694,30514 55699,30514 55701,30512 55701,34512 55705,34516 55708,34520 55704,34518 56704,34519 56704,34520 56706,34517 56706,34515 56701,34519 59701,34522 59706,34522 59708,34522 59713,34526 59715,34528 59717,34533 59712,34538 59715,34538 59717,34541 59717,34546 59720,34548 59721,34552 63721,34547 63726,34549 63728,34554 63726,34556 63726,34557 63721,34556 63725,34561 63730,34558 63730,37558 63725,37561 63729,37565 63724,37569 63720,37573 63718,37578 63722,37577 63718,37579 63720,37579 63722,37580 63719,37580 63720,37579 63724,37574 63725,37574 63727,37576 63725,37581 63729,37583 63732,37586 63732,37590 63737,37592 63734,37597 63731,37600 63730,37596 63731,37596 63733,37600 63733,37601 63735,37596 63735,37591 63732,37596 63733,37601 63738,37602 63733,37599 63738,37594 63740,37598 63744,37603 63745,37605 63747,37607 63752,37607 63756,37603 63757,37603 63761,37604 63761,37608 63758,37609 63762,37604 63764,37604 63764,41604 63765,41600 63761,41599 63761,41600 63766,41596 63766,41599 63766,41601 63770,41604 63768,41608 63768,41611 63772,41614 63767,41609 63763,41612 63765,41615 63760,38615 63764,38615 63768,38618 63768,35618 63769,35618 63774,35617 63775,35618 63776,35613 63775,35615 63780,35612 63782,35613 63779,35614 63775,35618 63774,35619 63776,35624 63778,35624 63780,35629 63785,35629 63780,35626 63781,35624 63782,35629 63784,35634 63787,35638 63782,35634 63783,35634 63778,35633 63777,35638 63782,35641 63786,35644 63791,35648 63793,35647 63793,35649 63797,35653 63801,35654 63804,35654 63804,35656 63804,35655 63806,35658 63810,35658 63805,35662 63805,35657 67805,35658 67808,35660 67811,35664 67808,35660 67803,35658 67803,35661 67803,35663 67808,35666 67810,35670 67814,35669 67813,35669 67816,37669 67820,37664 67820,2275 13363,2278 16363,2274 16363,2275 16362,2279 16362,2282 16362,2287 16366,2284 16366,4284 16366,4286 16371,4290 16375,4294 18375,4295 18377,9295 18381,9296 18381,9299 18382,9303 18379,9305 19379,9308 19375,8308 19380,8312 19380,38746 37651,38749 37652,38754 37653,38757 37656,38753 37661,38753 37661,38758 37663,38763 37664,38763 42664,38768 42666,38765 42668,38770 42664,38767 42659,38768 42659,38773 42654,38771 42659,38775 42661,41775 42663,41778 42665,41781 42669,41782 42667,41779 42669,41784 42672,41781 42672,41783 42672,41780 42672,41783 42675,41784 42675,41788 42676,41792 42677,41792 42675,41793 42680,41793 42676,41796 42681,41801 42685,41804 42684,41806 42685,41804 42690,41802 42692,41805 42696,41800 42697,41802 42698,41804 42700,41809 42704,41813 42705,36813 42708,36813 42704,36810 42703,36811 42705,40811 42706,40815 46706,40816 46708,40820 46708,40818 46712,40822 46717,40825 46720,40829 46724,40827 46727,40831 46727,40833 46731,40829 46733,40830 46733,36830 46738,36830 46741,36834 46744,36831 46749,36826 46748,36822 46748,36824 46751,36819 46755,36823 46758,36823 46762,36824 46766,36822 46769,36826 46772,36831 46774,36828 42774,36833 42776,36833 42777,36838 42782)'))); +INSERT INTO t1(g) VALUES (ST_linefromtext(concat('linestring','(20 110, 21 110, 26 115, 29 112, 34 108, 39 111, 44 111, 46 116, 46 120, 42 122, 45 118, 48 118, 44 122, 46 127, 47 127, 51 127, 55 123, 52 127, 52 128, 56 130, 60 129, 61 130, 66 131, 67 131, 71 135, 76 136, 77 139, 80 143, 2080 145, 2077 147, 2079 147, 2081 147, 2086 147, 2087 151, 2092 -1849, 2088 -1848, 2088 -1852, 2091 -1848, 2095 -1846, 2092 -1847, 2092 -1848, 2093 -1847, 2094 -1846, 2099 -1843, 2104 -1844, 2102 -1848, 2102 -1848, 7102 -1847, 7105 -1846, 7106 -1843, 7111 -1838, 67 131, 69 135, 68 135, 63 136, 63 137, 64 141, 67 1141, 2067 1139, 2063 1139, 2066 1139, 5066 1139, 5068 1139, 5072 1140, 5072 1145, 5073 1142, 5076 1145, 5077 1145, 5076 1141, 5078 1141, 5073 1143, 5068 1146, 5067 2146, 5070 2151, 5075 2155, 5071 2160, 5073 2161, 5074 2166, 5076 2169, 5071 2173, 5074 2173, 5078 2177, 5076 2173, 5080 2173, 5078 2174, 78 2179, 76 2183, 77 2188, 82 2192, 85 2194, 89 2193, 86 2197, 89 2193, 88 2194, 89 2199, 89 2204, 89 1204, 87 1206, 88 1203, 89 1204, 89 1205, 93 1210, 94 1208, 96 1208, 100 1210, 104 1212, 107 1215, 104 1220, 107 1224, 111 1228, 112 1228, 116 1229, 119 1228, 120 1233, 119 1236, 124 1241, 125 1240, 122 1239, 126 1241, 123 1240, 124 1244, 128 1248, 129 1250, 128 1253, 127 5253, 125 5255, 129 5255, 133 5255, 137 5260, 140 5261, 137 5261, 141 5261, 140 5262, 143 5264, 148 5264, 148 5264, 145 10264, 149 10269, 153 10274, 158 10270, 159 10273, 164 10277, 168 12277, 170 12278, 165 12274, 170 12279, 172 12281, 172 12281, -3828 12281, -3823 12281, -3822 12282, -3823 12280, -3823 12282, -3820 12281, -3823 12279, -3827 12282, -3826 12279, -3822 12284, -3825 12284, -3824 12286, -3820 12287, -3820 12290, -3818 12292, -3816 12293, -3814 12298, -3815 12301, -3817 12304, -3814 12301, -3811 12299, -3809 12303, -3809 12301, -3804 12302, -3804 12302, -3802 12305, -3799 12310, -3801 17310, -3801 17310, -3796 17310, -3801 17314, -3799 17318, -3796 17321, -3795 17321, -795 17325, -795 17327, -794 17329, -791 17330, -790 17326, -787 17331, -782 17335, -778 17339, -774 17343, -772 17343, -769 17346, -768 17349, -763 17352, -763 17353, -761 17357, -758 17354, -758 22354, -754 22350, -750 22353, -746 22356, -750 22352, -746 22351, -744 22349, -743 27349, -741 27350, 259 27354, 262 27353, 263 27356, 268 27352, 268 22352, 271 22351, 273 22351, 274 22351, 275 22352, 275 22356, 280 22352, 281 22348, 284 22349, 284 22346, 285 22351, 285 22351, 290 22353, 294 22351, 294 22352, 295 22352, 300 22352, 305 22355, 308 22356, 311 22356, 310 22358, 312 22360, 313 22365, 313 22362, 313 22364, 313 22364, 317 22360, 322 22362, 327 22367, 328 22370, 323 22375, 320 22377, 320 22379, 316 22379, 318 22379, 323 22380, 323 22380, 324 22376, 34 108, 38 113, 42 118, 42 117, 42 121, 46 123, 51 127, 51 130, 51 133, 55 137, 52 141, 52 143, 51 141, 50 142, 45 142, 44 143, 48 146, 48 142, 43 143, 47 145, 4047 5145, 4047 5150, 4044 5151, 4045 10151, 4043 10154, 4044 10156, 4047 10156, 4043 10160, 4043 10156, 4043 10156, 4048 10157, 4051 10160, 4048 10159, 4053 10161, 4057 10163, 4057 10164, 4058 10165, 4057 10170, 4056 10173, 4056 10176, 4056 15176, 4053 15180, 4049 15181, 4051 15178, 4049 15180, 4049 15180, 4048 15181, 4048 15184, 4045 15188, 4045 15191, 4040 15194, 4042 15198, 4042 15203, 4047 15200, 4049 15201, 4052 15204, 4052 15208, 4052 15212, 4049 15216, 4049 15219, 4051 15220, 4048 15222, 4044 15227, 4044 15232, 4044 15236, 4049 15239, 4052 15240, 4052 15243, 4053 15247, 4055 15247, 4052 17247, 4054 17247, 4054 18247, 4059 18251, 4063 18253, 4066 18253, 4069 20253, 4069 20254, 4069 20259, 4068 20263, 4068 20263, 4069 20259, 4071 20260, 4073 20262, 4074 20258, 4069 20261, 4069 20264, 4071 20269, 4067 20271, 4071 20270, 4072 20271, 4073 20268, 4076 20263, 4072 20268, 4075 20264, 4076 20267, 4079 20272, 4084 20275, 4086 20277, 4086 20281, 4083 18281, 4087 18283, 4088 18280, 4089 18277, 4089 18279, 4094 18281, 4095 18283, 4095 18284, 4097 18284, 4093 18287, 4094 18285, 4096 18287, 4092 18291, 4096 18291, 140 5261, 140 5259, 140 5262, -1860 5258, -1858 5260, -1854 5262, -1849 5259, -1848 5264, -1845 5264, -1845 5267, -1845 5262, -1848 5261, -1848 5263, -1849 5261, -1853 5262, -1851 5265, -1847 5265, -1847 5262, -1847 5263, -1843 5268, -1845 5268, -1848 5272, -1850 5270, -1851 5274, -1854 5269, -1850 5266, -1845 5267, -1840 5267, -1840 5264, -1840 5269, -1839 5269, -1842 5269, -1840 5274, -1835 5278, -1836 5283, -1841 5279, -1840 5284, -1836 5285, -1836 5289, -1831 5289, -1826 5292, -1822 5293, -1826 5295, -1829 5295, -1824 5295, -1828 5297, -1824 5300, -1820 5305, -1824 5306, -1824 5306, -1824 5306, -1823 5301, -1818 5303, -1814 5307, -1814 5303, -3809 12303, -3807 12306, -3804 12306, -3804 12306, -3801 12308, -3796 12308, -3795 12308, -3791 12310, -3786 12310, -3781 12313, -3814 12298, -3809 12303, -3807 12301, 7102 -1847, 7100 -1850, 7104 -1850, 7109 -1852, 7109 -1854, 7112 -1850, 7112 -1847, 7115 -1847, 7117 -1847, 7122 -1847, 7125 -1843, 7126 -1848, 7127 -1848, 7129 -1848, 7133 -1848, 7131 1152, 7131 1149, 7135 1154, 7139 1152, 7140 1151, 7145 1153, 7149 1158, 8149 1159, 8154 3159, 8149 3161, 8145 3162, 8146 3164, 8146 3168, 11146 3171, 11148 3171, 11150 3167, 11154 3165, 11150 3163, 11151 3167, 11152 3165, 11153 3170, 11156 3175, 11156 3174, 8146 3164, 8146 3167, 8146 3170, 8147 3170, 8148 3175, 8148 3178, 8146 3178, 8146 3178, 8147 3180, 8143 3184, 3143 3186, 7143 3187, 7143 7187, 7138 7189, 7138 7189, 7135 7191, 7138 7191, 7133 7194, 7138 7198, 7139 7201, 7143 7200, 7141 7203, 12141 7204, 12145 7204, 12145 7203, 12146 7207, 12147 7204, 12143 7204, 12138 7199, 12138 7195, 12139 7195, 12139 7200, 12141 7201, 12142 7201, 12139 7205, 12142 7208, 12142 7213, 12145 7213, 12147 7214, 12149 7218, 12150 9218, 12154 9222, 12151 9222, 12151 9225, 12151 9224, 12152 9226, 12155 10226, 12155 10230, 12158 10231, 12161 10227, 12162 10224, 12163 10229, 12163 10231, 12165 10228, 12165 10227, 12160 10228, 12160 10231, 12160 10235, 12157 12235, 12159 12230, 7138 7189, 7141 7193, 7141 7193, 7141 7192, 7139 7195, 7141 7195, 7142 7193, 7145 7195, 7146 7193, 7146 7194, 7151 7197, 7154 7198, 7156 7202, 7155 7207, 7150 7211, 12150 7213, 12148 7213, 12147 7217, 12142 7221, 12141 7223, 12143 7223, 12140 7222, 12145 7222, 13145 7224, 13142 7228, 13144 7232, 13139 7235, 13144 7239, 13148 7243, 13151 7247, 13150 7251, 13152 7252, 13157 7253, 13157 7257, 13157 7257, 13157 7262, 13159 7264, 13164 7259, 13161 7259, 13165 7262, 13166 7262, 13166 7267, 13169 7268, 13169 8268, 13167 8269, 13171 8269, 13173 13269, 13177 13265, 13178 13263, 13178 13263, 13182 13266, 13183 13266, 13185 13266, 13190 13269, 13193 13271, 13193 13269, 13196 13271, 13193 13273, 13194 13268, 13198 13273, 13200 13276, 13202 13276, 13204 13274, 13209 11274, 13213 11274, 13213 11277, 13215 11278, 13219 11279, 13224 11280, 13224 11276, 13228 11278, 13233 11281, 13235 11286, 13238 11288, 13240 11288, 13238 11290, 13238 11292, 13238 11287, 13238 11288, 13240 11293, 13243 11296, 13246 11296, 13247 11293, 13243 11298, 13246 11302, 13251 11305, 322 22362, 326 24362, 330 24362, 329 24367, 328 24363, 329 24365, 331 24369, 336 24371, -664 24371, -668 24372, 51 127, 48 131, 48 133, 51 135, 51 140, 49 139, 47 142, 3047 139, 3044 142, 3046 143, 3046 148, 3051 148, 3055 146, 3057 141, 3060 140, 3055 143, 3050 146, 7050 142, 7050 3142, 7050 3143, 7050 3144, 7052 3149, 7055 1149, 7052 1150, 7055 5150, 7050 5154, 7049 5150, 10049 5151, 10045 5151, 10049 5151, 10052 5156, 10054 5159, 10056 5160, 10058 5161, 10058 5163, 10060 5166, 10064 5168, 10064 5173, 10068 9173, 10070 9172, 10065 9168, 10065 9173, 10063 9175, 14063 9176, 14063 9178, 284 22346, 289 22351, 290 22351, 290 22347, 287 22343, 282 22342, 280 22345, 281 25345, 286 25347, 13243 11298, 13248 11300, 13245 11300, 13246 11295, 13247 11295, 13246 11295, 13248 11299, 13253 11304, 13255 11309, 13255 11310, 13260 11309, 13257 11310, 13258 11313, 13258 11315, 13263 11311, 13267 11307, 13269 11309, 13272 11305, 13277 11302, 13273 11304, 15273 11306, 15278 11310, 15281 11307, 15286 11309, 15288 11309, 15291 11311, 15292 11306, 15294 11309, 15298 11313, 15299 11317, 15300 11320, 15302 11321, 15306 11324, 15308 11328, 15308 11324, 15309 11324, 15314 11324, 15315 11323, 15319 11321, 15317 11325, 15319 11327, 15319 11332, 15321 11337, 15324 11340, 15324 11341, 15324 11341, 15326 11345, 15326 11349, 15327 14349, 15330 13349, 17330 13350, 17335 13353, 17339 13358, 17340 13362, 17344 13362, 17348 13357, 17350 13357, 17347 13357, 17350 13358, 17349 13358, 17349 13358, 17349 13359, 22349 13362, 22351 13359, 22353 13359, 22358 13358, 22360 13358, 22363 13359, 22364 13359, 22360 13359, 22361 13363, 22366 13368, 22371 13373, 22374 13377, 22378 13375, 22379 13375, 22379 13373, 22383 13378, 22388 13383, 22389 13380, 22389 13384, 22394 13382, 22392 13378, 22394 13382, 22393 13382, 22393 13379, 22394 13382, 22392 13384, 22395 13386, 22400 13391, 22400 10391, 22404 10395, 22401 10396, 22402 10396, 22402 10398, 22406 10395, 22405 15395, 22407 15396, 22409 15396, 22414 15391, 22414 15394, 22414 15398, 22410 15400, 26410 15402, 26409 20402, 26413 20406, 26417 20410, 26419 20415, 26422 20411, 26424 20411, 31424 16411, 31423 16409, 31423 16414, 31425 16414, 31428 16418, 31428 16414, 31432 16419, 31432 16422, 31437 16423, 31439 16424, 31440 16426, 31440 16429, 31440 16429, 31443 16431, 31441 16435, 31443 16440, 36443 16440, 36445 18440, 36444 18441, 36442 18444, 36442 18440, 36442 18444, 36444 18449, 36445 18450, 36449 18455, 37449 23455, 37454 23460, 37458 23459, 37460 23463, 37458 23465, 37460 23467, 37462 23470, 37466 23473, 37462 23478, 37464 23480, 37463 26480, 37468 26483, 37472 26487, 37473 26492, 37476 26493, 37476 26489, 37476 26487, 37476 26492, 37472 26496, 37476 26501, 37476 26503, 37480 26499, 37485 26503, 37485 26505, 37490 26500, 37493 26503, 37497 26499, 37502 26500, 37502 26501, 37502 26505, 37499 26503, 37499 26503, 37497 26508, 37500 26508, 37496 26513, 37499 26518, 37497 26519, 37500 26518, 37505 26518, 37510 26516, 37512 26520, 37513 26523, 37511 26527, 37508 26532, 37509 26536, 37514 26540, 37515 26542, 37512 26546, 37514 26548, 37519 26547, 37524 26550, 37529 26555, 37527 26559, 37531 26562, 37526 26567, 37526 26566, 37529 26566, 37524 26566, 37524 26563, 37528 26565, 37524 26563, 37525 26565, 37525 26560, 37526 26562, 40526 26564, 40526 26567, 40523 26571, 40527 26570, 40529 26572, 40534 26576, 40536 26573, 40535 26569, 40533 26569, 40537 26573, 40537 26574, 40541 26576, 40546 26579, 40545 26579, 40546 26583, 40550 26588, 40551 26585, 40555 26589, 40558 26594, 40554 22594, 40559 22598, 40558 22599, 40563 22596, 40563 22597, 40567 22597, 40570 22597, 40575 22592, 40572 22594, 40572 22595, 40572 22592, 40575 22594, 40575 22597, 40570 22597, 40569 22601, 40569 22603, 40573 22603, 40576 22604, 40576 22608, 42576 22611, 42579 22611, 42579 22616, 42581 22620, 38581 22623, 38582 22621, 38582 22618, 38577 22623, 38581 22623, 38581 18623, 38584 18618, 38584 18621, 38588 18626, 38592 18629, 38592 18626, 38596 18625, 38598 18620, 38599 18618, 38599 18622, 38602 21622, 38603 21622, 38607 21624, 38609 25624, 38613 25624, 38610 25621, 38610 25625, 38610 25629, 38613 25627, 38617 25627, 38617 25624, 38618 25626, 38621 25628, 38622 25629, 38622 26629, 38625 26631, 38625 26631, 313 22362, 313 22363, -1687 22364, 2313 27364, 2314 27364, 2314 27364, 2319 27366, 2319 27366, 2321 27363, 2321 27368, 2320 27363, 2323 27368, 2328 27371, 2327 27375, 2328 27377, 2328 27377, 2327 27381, 2331 27381, 2329 27381, 2332 27383, 2335 27383, 2333 27383, 2333 27385, 2338 27385, 6338 27386, 6338 27387, 40529 26572, 40533 26576, 40535 26578, 40540 26580, 40535 26584, 40540 26589, 40541 26592, 40538 26587, 40542 26591, 40541 26592, 40537 26597, 40542 26598, 40546 26601, 40550 26606, 40550 26605, 40551 26606, 40549 26606, 40550 26607, 40555 26610, 40550 26610, 40550 26607, 40553 26612, 40558 26616, 40561 26620, 40556 26623, 40558 26623, 40558 26627, 42558 26627, 42558 26628, 42562 26628, 42564 26630, 42565 26634, 42566 26634, 42566 26638, 42561 26639, 42564 26639, 42567 26641, 42564 26642, 42566 26646, 42566 26645, 42570 26645, 42574 26645, 42574 29645, 42576 29646, 39576 29645, 39576 34645, 39578 34647, 39583 34642, 39580 34642, 39576 34646, 39576 34649, 39574 35649, 34574 35652, 34579 35655, 39579 35659, 43579 35663, 43582 35659, 43577 35662, 43580 35662, 43583 35666, 43579 39666, 43574 39662, 43574 39665, 43574 39668, 43574 39670, 43578 39674, 43579 39671, 43582 39675, 43578 39677, 43575 39677, 43576 39681, 43571 39683, 43569 39683, 43570 39687, 43565 39690, 43568 39694, 43568 39696, 43570 39698, 43570 39699, 41570 39695, 41572 39696, 41573 39696, 41573 39697, 41573 39702, 41573 39702, 41576 39702, 41571 39702, 41572 39703, 41572 39708, 41574 39713, 41575 39716, 41580 39717, 41581 39721, 41586 39723, 41587 39724, -1848 5272, -1843 5272, -1845 5270, -1840 5272, -1838 5267, -1843 5268, -1841 5268, -1837 8268, -1837 8271, -1837 8276, -1836 8280, -1832 8277, -1832 8277, -1831 8278, -1835 8283, -1834 8287, -1832 8290, -1834 8286, -1832 8283, -1833 8283, -1832 8284, -1834 8287, -1839 8292, -1844 8293, -1841 8290, -1836 8290, -1839 8289, -1836 8289, -1832 8292, -1827 8295, -1823 8290, -1823 8293, -1823 8291, -1822 8295, -1820 8298, -1819 8302, -1816 8304, -1816 8300, -1812 8300, -1809 8299, -1806 8296, 1194 8300, 1194 8301, 1197 11301, 1194 11305, 1197 11309, 1199 11304, 1195 11304, 1195 11300, 1195 11297, 1196 11298, 1201 11296, 1206 11296, 1207 11298, 1212 11296, 1210 11292, 1206 11294, 1207 11293, 1209 8293, 1204 8288, 1206 8286, 1206 8285, 1208 8285, 1210 8285, 1214 8287, 1214 13287, 1215 13291, 1215 13294, 1218 13297, 1216 13293, 1219 13290, 1214 13295, 1210 13292, 1210 13296, 1211 13301, 1210 13300, 1206 13302, 1207 13307, 1211 13312, 1206 13312, 1211 13308, 1212 13308, 1216 13313, 1216 13318, 1217 13318, 1221 13318, 1221 13323, 1226 13324, 1231 13325, 1234 13329, 1235 13333, 1233 13333, 1236 13338, -2764 13340, -2767 13341, -2763 13344, -2760 13349, -2758 13346, 2242 13346, 2240 13346, 2244 13346, 2248 13349, 2248 13350, 2246 13352, 2241 13352, 2242 13355, 2242 13356, 2247 13361, 2250 13361, 2245 13366, 2249 13366, 2250 13366, 2254 13367, 2258 13367, 2258 13367, 2262 13371, 2257 13376, 2253 13373, 2253 13373, 2254 13376, 2251 13380, 2256 13382, 2257 13386, 2261 13383, 2264 13383, 2269 13385, 2264 13385, 2264 13387, 2267 13387, 2271 13389, 2272 13390, 2273 13393, 2269 13395, 2273 13390, 2277 13395, 2275 13396, 2277 13391, 2279 13394, 2276 13394, 2277 13398, 2282 13399, 2282 11399, 2283 14399, 2281 14404, 2279 14407, 2275 14410, 2276 16410, 2276 16414, 2281 16414, 2286 16415, 2282 16413, 2282 16413, 2284 16413, 2284 16415, 2284 16416, 2282 16417, 3282 16422, 3286 16422, 3287 16427, 3291 16427, 3294 16431, 3296 16433, 3298 16435, 3299 16440, 3300 16439, 3305 16439, 3307 16438, 3307 16440, 3307 16440, 3311 16441, 3311 16442, 3310 16443, 3310 16443, 3308 16448, 3304 16445, -1696 16441, -1701 16442, -1697 16442, -1695 16442, -1696 16443, -1693 16440, -1688 16445, -1685 16450, -1681 16454, -1680 16455, -1682 16457, -1680 16461, -1680 16461, -1684 16464, -1679 16463, -1678 16460, -1675 16464, -1679 16465, -1677 16468, -1672 16469, -1671 16473, -1667 16475, -1667 16480, -1663 16478, -1663 16482, -1662 16482, -1662 16483, -1659 16478, -1654 16475, -1653 11475, -1658 11477, -1661 11479, -1664 11484, 3336 15484, 3340 15480, 3344 15475, 3347 15475, 3347 15474, 3352 15473, 3349 15478, 3353 15480, 3354 15477, 3355 15480, 3352 15481, 3352 15483, 3353 15486, 3354 15488, 3353 15491, 3355 15491, 3360 15491, 3355 15490, 1219 13290, 1224 13295, 1224 13295, 1227 13290, 1231 13290, 1233 13285, 1237 13284, 1238 13285, 1243 13286, 1247 13289, 1249 13289, 1249 13291, 1252 13291, 1249 13294, 1249 13299, 1249 13302, 1254 13305, 1251 13308, 1254 13308, 3254 13308, 3249 13308, 3251 13312, 3256 13312, 3259 13312, 3263 17312, 3263 17313, 3263 17310, 3261 17309, 3264 17314, 3265 17312, 3264 17315, 3261 17318, 3261 17318, 3259 17313, 3256 17313, 3255 17313, 3257 17314, 3255 17316, 3257 17316, 3257 17316, 3258 17311, 3259 17311, 3258 17315, 3258 17317, 3257 17321, 3253 17321, 3250 17325, 3255 17329, 3258 17330, 3260 17328, 3260 17331, 3265 17326, 7265 17329, 7267 17332, 7265 17334, 7267 17337, 7272 17337, 7275 17337, 7280 17340, 4280 21340, 4280 21344, 4281 21344, 4283 21344, 4288 24344, 4292 24347, 9292 24351, 9296 24353, 9298 24351, 9300 25351, 9303 25352, 9303 25352, 9306 25357, 9305 25361, 9305 25356, 11305 25359, 11306 25362, 11309 25362, 11314 25362, 11314 25365, 11312 25369, 11315 25369, 11316 25373, 11321 25375, 11323 25375, 11327 25370, 11331 25369, 11332 25370, 11331 25374, 11332 25369, 11336 25371, 11340 25370, 11345 25367, 11350 25363, 11347 25360, 11350 25361, 11351 25362, 11351 25362, 11354 25364, 11358 30364, 11362 30369, 11362 30369, 11364 30369, 11369 30371, 11370 30373, 15370 30374, 15375 30375, 15378 30377, 14378 30382, 14379 30387, 14383 30382, 14388 30384, 14390 30386, 14393 30389, 14395 31389, 16395 31393, 16398 31398, 16398 31401, 16394 31404, 16397 31409, 16400 31413, 16400 31417, 16399 31419, 16398 31421, 16403 31422, 16403 31426, 16404 31423, 16409 31424, 16413 31423, 16408 31427, 18408 31431, 18413 31436, 18417 28436, 18419 28441, 18420 28445, 18416 28442, 18419 28439, 18418 28443, 18422 28446, 18425 28451, 18429 28448, 21429 28449, 21430 28454, 22430 28459, 22434 28461, 22438 28462, 22443 28462, 22447 28467, 22450 28472, 22453 28469, 22458 28472, 22455 28472, 22460 28475, 22465 28477, 22462 28479, 22461 28476, 22465 28480, 22466 28476, 22470 28472, 22470 28475, 25470 28470, 25473 28472, 25475 28468, 25475 28468, 25477 29468, 25478 29470, 25481 29465, 25478 29466, 25478 29468, 25480 29468, 25485 29465, 25486 29464, 25488 29462, 25488 29466, 25492 29464, 25497 26464, 25500 26467, 25497 26472, 25497 26476, 25497 26476, 25501 26478, 25506 26480, 25506 26482, 25511 26480, 25515 26483, 25516 26485, 25521 26481, 25521 26484, 25520 26485, 25521 26488, 25526 26487, 25529 26488, 25524 26488, 25528 26491, 25530 26496, 25535 26500, 25537 26502, 25537 26502, 25541 26507, 25544 26508, 25545 26509, 25549 26514, 25554 26514, 25553 26512, 25552 26516, 25555 26514, 25559 26514, 25556 26515, 25554 26512, 25558 26509, 25558 26510, 25562 26510, 25562 26511, 25562 26510, 25567 26505, 25569 26508, 25571 26508, 25570 26512, 25573 26512, 25573 26515, 25578 26515, 25583 26520, 25583 26523, 25584 26525, 25587 26526, 25590 26531, 25590 26530, 25586 26534, 25589 26538, 25591 26533, 25595 26537, 25600 26542, 25601 26544, 25601 26544, 25601 26544, 25606 26547, 25605 26547, 25605 26542, 25608 26542, 25611 26544, 25613 26546, 25614 26551, 25614 26551, 25614 26552, 25619 25552, 25614 25552, 25615 25551, 25618 25549, 25618 25553, 25620 25555, 25622 25559, 25622 25555, 25624 25554, 25627 25555, 25624 25559, 25621 25561, 25619 25560, 25624 28560, 25627 28555, 25632 28550, 25636 28552, 25641 28557, 25645 28557, 25640 25557, 25636 25557, 25636 25561, 25641 25561, 25645 25562, 25646 25557, 25648 25560, 25649 25564, 25652 25566, 25652 30566, 25652 30566, 25652 30568, 25652 30570, 25654 30574, 25658 30575, 25663 31575, 25664 31579, 25665 31583, 25664 31583, 25667 31585, 25668 31588, 25673 31586, 25676 31585, 25676 31588, 25678 31588, 25675 31591, 25680 31590, 25681 31585, 30681 31588, 30677 31593, 30682 31594, 35682 31594, 35677 31593, 35679 31595, 35682 31594, 35683 31591, 35686 31592, 35687 31593, 35691 31596, 35691 31597, 35694 31601, 35698 31601, 35702 34601, 35701 34603, 35705 34608, 35705 34610, 35704 34605, 35707 34607, 35707 34610, 35710 34607, 35715 34608, 35719 34607, 35721 34612, 35717 34612, 35713 34612, 35715 34613, 35716 34609, 35716 34614, 35716 34618, 35720 34620, 35721 34621, 35724 34622, 35724 34625, 35727 34629, 35727 34630, 35727 34633, 35727 34635, 35727 34639, 35732 34640, 35729 34642, 35733 34644, 35737 34646, 35741 34649, 35743 34649, 35744 34653, 35740 34653, 35740 34649, 35743 34651, 38743 34654, 38743 37654, 38744 37650, 38748 37655, 38751 37656, 38755 37657, 38755 37661, 38759 37660, 38758 37664, 38763 37664, 38767 37664, 38762 37664, 38761 37664, 38762 41664, 38762 41664, 38764 41669, 38759 41671, 43759 41673, 43754 41678, 43754 41681, 43759 41676, 43760 41681, 45760 41684, 45760 41683, 45764 41687, 45767 41687, 45771 41687, 45772 41688, 45770 46688, 45775 46692, 45778 46696, 45776 46698, 45777 46701, 45780 46699, 45778 46702, 45776 46706, 45781 46706, 45786 46708, 45789 46710, 45793 46715, 45788 46711, 45792 46715, 45795 46719, 45798 46723, 45801 46728, 45799 46732, 45804 46730, 45799 46733, 45803 46737, 45804 46737, 45805 46736, 45806 46736, 45807 46736, 45810 46739, 45812 46744, 45812 46748, 2328 27377, 2324 27381, 2325 27383, 2327 27387, 2327 27386, 2324 27386, 2325 27386, 5325 23386, 5327 23389, 5331 23390, 5332 23394, 5337 23396, 5332 23396, 5332 23399, 5331 23399, 5335 23403, 5335 23406, 5340 23409, 5341 23409, 5336 23410, 5331 23405, 5334 23407, 5332 23411, 5335 23413, 5330 20413, 5326 20415, 5326 20418, 5331 20420, 5330 20425, 5327 20425, 5331 20428, 5332 20428, 5337 21428, 5333 21431, 5335 21435, 5336 21437, 5331 21438, 5332 21441, 5335 21444, 5340 21441, 5340 21444, 5336 21445, 5335 21442, 5331 26442, 5334 26439, 5337 26443, 5339 26444, 5340 26448, 5344 26443, 5344 26446, 5347 26444, 5351 26442, 5354 26446, 5351 26449, 5350 30449, 5352 30451, 5352 30448, 5356 30448, 5361 30447, 5365 30449, 5369 30450, 5369 30452, 5369 30457, 5373 30459, 5373 30457, 5375 30462, 5377 30465, 5382 30467, 5386 30467, 5385 30463, 5386 30463, 5385 30463, 5387 30464, 5392 30463, 5394 30468, 5396 30468, 5391 30469, 5395 30473, 5393 30473, 5393 30473, 5397 30478, 5398 30474, 5401 30474, 5403 30471, 5403 30472, 5406 30474, 5402 30469, 5403 30466, 5405 30471, 5406 30471, 5411 30473, 5414 30477, 5414 30481, 5409 30485, 8409 30490, 8410 30493, 8412 30494, 8412 30493, 8415 30494, 8416 30497, 8416 30500, 8421 30505, 8422 30506, 8417 30511, 13417 30513, 13413 30510, 13416 30511, 13414 30515, 13414 30519, 13419 30522, 13421 30527, 13420 30531, 13424 30533, 13420 30535, 13415 35535, 13411 35535, 13415 35536, 13419 35541, 13421 35537, 13425 35533, 13426 35533, 13425 35528, 13430 35529, 13435 35530, 13440 35534, 13445 35535, 13450 35535, 13454 35536, 13457 35540, 13459 35540, 13454 35540, 13457 35543, 13454 35539, 13459 35544, 13459 35548, 18459 35550, 18462 35551, 22462 35550, 22467 35554, 22468 35558, 22470 35556, 22475 35559, 22473 35563, 22472 35568, 22474 35568, 22472 35573, 22476 35573, 22476 35575, 22479 35577, 22484 35580, 22489 35584, 22490 35587, 22491 35589, 22495 35589, 22498 35589, 25498 35590, 25495 35586, 25496 35589, 25500 35589, 25498 35589, 25500 35591, 25505 35595, 25505 35597, 25501 35594, 25501 35595, 25497 35595, 26497 35599, 29497 35595, 29497 35597, 29500 35601, 29500 35605, 29502 35610, 29503 30610, 29504 30607, 29507 30607, 29512 30610, 29513 30610, 29516 30611, 29518 30614, 29520 30612, 3261 17309, 3265 17308, 3269 17307, 3273 17312, 3271 17316, 3271 17317, 3276 17319, 3279 17319, 3284 17315, 3287 17317, 3285 17313, 3280 17314, 3277 17319, 3277 17321, 3278 17326, 3282 17328, 3282 17328, 3278 17329, 3279 17329, 3278 17332, 3280 17328, 3275 17333, 3279 17335, 3282 17330, 3283 17332, 3278 17328, 3279 17328, 3279 17326, 3279 17325, 3279 17325, 3283 17327, 3284 17331, 3284 17336, 3289 17339, 3290 17339, 3290 17342, 3292 17341, 3296 17344, 3296 17345, 3301 17345, 3301 12345, 3301 12346, 3306 12343, 3303 14343, 3307 14344, 3309 14345, 3313 14347, 3315 14347, 3316 16347, 3312 16345, 3312 16350, 3314 16352, 3313 16353, 4313 16350, 4318 16352, 4323 16348, 4326 16352, 4324 16353, 4325 16350, 4325 16350, 4328 16354, 4324 16358, 4325 16360, 4327 16365, 4327 16362, 4324 16366, 4327 20366, 4327 20370, 4324 20371, 4328 20376, 4328 20378, 4333 20377, 4335 20377, 4340 20380, 4341 20383, 4343 20386, 4340 20388, 4341 20390, 4342 20387, 4342 20387, 4337 20392, 4338 20394, 4343 20394, 4348 20395, 4350 20395, 4351 20397, 37499 26503, 37496 26500, 37498 26504, 37498 26505, 37501 26510, 37499 26506, 37500 26506, 37502 29506, 37502 29511, 37507 29512, 37508 33512, 37510 33517, 37515 33522, 37519 33526, 37518 33524, 37523 33525, 37523 33529, 37518 33534, 37521 33532, 37522 33532, 37526 33534, 37529 33534, 37527 33531, 37530 33534, 37535 33537, 37536 38537, 37538 38540, 22360 13359, 25360 13364, 25363 13362, 25364 13366, 25364 13366, 25367 13369, 25365 13371, 25361 13373, 25359 13378, 25362 13378, 2249 13366, 2254 13370, 2256 13367, 2259 13367, 2263 13362, 2266 13358, 2266 13360, 2271 13365, 2274 13367, 2276 13367, 2277 13367, 2275 13366, 2276 13369, 2280 13369, 2282 13374, 2286 13370, 2286 13369, 2291 13372, 2292 13370, 2295 13372, 2300 13377, 2300 13376, 2297 13379, 273 22351, 275 22354, 4275 22351, 4271 22352, 4272 22354, 4273 22359, 4274 22364, 4278 22367, 4283 22369, 4286 24369, 4281 24369, 4284 24369, 4287 24369, 4289 24368, 4291 24366, 4296 24364, 4297 24366, 4300 24369, 4303 24373, 1303 24374, 1303 24375, 1307 24379, 1307 24380, 1309 24381, 1314 24384, 1316 24386, 1320 24384, 1318 24386, 1318 24391, 1320 24391, 1320 29391, 1323 29391, 1318 29387, 1322 29390, 1323 29393, 1328 29393, 1329 29393, 2329 29398, 2329 29398, 2334 29397, -664 24371, -661 24372, -659 24372, -654 24375, -651 24376, -647 24376, -645 24378, -641 24374, -636 24379, -633 24384, -636 24386, -636 24388, -636 24388, -634 24392, -635 24394, -630 24390, -628 24390, -627 24390, 373 24393, 378 24398, 376 24396, 379 24401, 3379 24404, 6379 24409, 6380 24412, 6375 24410, 6372 24410, 6377 24407, 6372 24407, 6377 24407, 6381 24410, 6376 24413, 6380 24415, 6382 24416, 6380 24419, 6380 24423, 6385 24427, 6387 24429, 6389 24432, 6392 24437, 6388 24434, 6388 24439, 6389 24440, 6390 24444, 6389 24448, 6385 29448, 6385 29451, 6388 29455, 6384 29450, 6389 29451, 6392 29456, 6395 29456, 6399 29459, 6402 29463, 6402 29467, 6399 29471, 6395 29471, 6397 29474, 6399 29477, 6401 29472, 6396 29471, 6399 29474, 6398 29477, 6398 29474, 6395 29469, 6391 29473, 6392 29474, 6391 29469, 6391 29472, 6394 29474, 6390 33474, 6392 33470, 6393 33470, 6394 33471, 6396 33471, 324 22376, 324 22378, 325 22381, 329 22382, 333 22386, 332 22387, 334 22390, 335 22387, 333 22387, 332 22391, 334 22395, 334 22400, 339 22401, 341 22398, 342 22403, 342 22402, 342 22400, 345 22400, 345 22400, 343 22404, 344 22408, 345 22406, 350 22407, 347 22411, 349 22415, 344 22415, 347 22417, 342 22421, 347 22421, 350 22426, 350 22430, 353 22431, 354 22436, 354 22440, 4354 22442, 4355 22446, 4356 22448, 4356 22451, 4359 22453, 4362 22454, 4366 22454, 4369 22455, 4371 22457, 4368 22459, 4371 22457, 4375 22462, 4379 22463, 4382 22463, 4382 22468, 4387 22471, 4387 22471, 4392 22473, 4387 22473, 4387 22476, 25573 26512, 25576 26511, 25580 26516, 25583 26516, 25583 26516, 25585 26512, 25585 26517, 25589 26520, 25591 26519, 25592 26519, 25593 26521, 25591 26524, 25589 26526, 23589 26530, 23587 26535, 23591 26538, 23594 26542, 24594 26547, 24590 26549, 24595 26551, 24600 26547, 24600 26552, 24604 26549, 24600 26544, 24602 26549, 24602 26552, 24602 31552, 24607 31553, 24610 31555, 24615 31556, 24617 36556, 24618 36561, 24621 36561, 24624 36564, 24624 36568, 24629 35568, 24629 35573, 24634 35573, 25634 35574, 25637 35573, 25638 35577, 25638 35577, 25640 35580, 25643 35584, 25643 35587, 25643 35592, 25644 40592, 20644 40597, 20647 40597, 20652 40599, 20653 40595, 20653 40598, 20650 40595, 20650 40595, 20654 40600, 20654 40600, 20658 40601, 20658 40604, 20658 40605, 20661 40602, 20664 40601, 20664 40601, 20665 40604, 20670 40605, 20667 40610, 1217 13318, 1216 13323, 1214 13321, 1211 13316, 1212 13316, 1213 13321, 6213 13324, 6216 13324, 6218 13324, 6213 13327, 6216 13322, 6216 13327, 6216 13328, 6218 13323, 6221 13327, 6220 13325, 6221 13325, 6220 13330, 6223 13333, 6227 13335, 6232 13339, 6233 13343, 6233 13347, 6237 13342, 6236 13346, 6236 13348, 6238 13349, 25526 26487, 25523 26488, 25526 26493, 25529 26491, 25531 26488, 25532 26486, 25536 27486, 25541 27490, 25539 27492, 25543 27487, 25546 27490, 25549 27494, 25552 27495, 25552 27495, 25556 27490, 25561 27490, 25565 27493, 25563 27493, 25565 27497, 25563 27495, 25565 27497, 25565 27499, 25566 27501, 25565 27501, 25565 27501, 25560 27502, 25565 27503, 25567 27507, 25569 27507, 25571 27507, 25569 27508, 25567 27509, 25567 27509, 25567 27509, 25568 27509, 25572 27505, 25572 27501, 25576 27502, 25572 32502, 25572 32505, 25575 32505, 25578 32501, 25578 32502, 25579 32505, 25581 32507, 25585 32508, 25590 32511, 25594 32516, 25598 32511, 25601 32511, 25596 32507, 25599 32510, 25599 32514, 25596 32513, 25596 32514, 25598 32517, 25594 32517, 25596 32519, 25596 32524, 25600 32524, 25604 32521, 25605 32522, 27605 32524, 27609 32527, 27610 31527, 27615 31531, 27617 31531, 30617 31534, 30619 31534, 30620 31536, 30621 31540, 30625 31541, 30625 31542, 30627 31542, 30628 31545, 30629 31545, 30626 31544, 30625 31544, 30626 31549, 34626 31550, 34621 31547, 34625 31549, 34626 31553, 34626 31552, 34628 31554, 34628 31559, 34628 31555, 34630 31559, 34635 31559, 34638 31563, 34636 31568, 34638 31568, 34641 31566, 34641 31564, 36641 31559, 36638 27559, 41638 27561, 41642 27558, 41646 27562, 41649 27563, 41650 27559, 41655 27559, 41660 27559, 41660 27556, 41660 27556, 41662 27554, 41658 27558, 41663 27562, 41666 27565, 41669 27570, 41664 27566, 41665 27567, 41665 27569, 41664 27573, 41663 27573, 41666 27575, 41666 27571, 41661 30571, 41662 30569, 41662 30565, 41667 30570, 41666 30565, 41666 30565, 41666 30566, 41666 30567, 41662 30562, 1314 24384, 4314 25384, 4317 25388, 4317 25389, 4321 25387, 4324 25392, 6324 25391, 6324 25391, 6328 25396, 6323 25401, 6326 25401, 6326 25405, 6321 25408, 9321 25409, 9316 25404, 9314 25406, 9312 25407, 9315 25407, 9315 25407, 9318 25404, 9321 25405, 4321 25400, 8321 25402, 8317 25404, 8317 25400, 8317 25401, 8313 25402, 8309 25398, 8311 25398, 8313 25401, 8317 25406, 8312 25407, 11312 25369, 11313 25369, 11318 25374, 11322 25379, 11327 25379, 11327 25384, 11327 25386, 11328 25382, 14328 25384, 14330 25386, 14333 25387, 14336 25389, 14338 25390, 19338 25390, 19338 25393, 19334 25394, 19334 25395, 19337 25392, 19340 25395, 19344 25397, 19342 25397, 19347 25400, 19347 25398, 19349 25398, 19351 25397, 19353 25401, 19352 25402, 19350 25403, 19351 25407, 19354 25403, 19352 25406, 19356 25404, 19355 25409, 23355 25406, 23356 25406, 23358 25409, 23360 25413, 23362 25417, 23365 25418, 23369 25416, 23367 25415, 23369 25418, 23365 25417, 23369 25420, 23369 25420, 23372 25422, 24372 25418, 24372 25423, 24375 27423, 24380 27423, 24382 27420, 24382 27416, 24382 27414, 24382 27410, 24378 27410, 24376 27414, 24372 27418, 24372 27419, 24373 27424, 24377 27419, 24380 27415, 24377 27419, 24380 27422, 24384 27425, 24385 27430, 24385 27429, 24387 27434, 24392 27435, 24396 27436, 24397 27440, 24401 30440, 24402 30443, 24406 30447, 24405 30443, 24408 30442, 24412 30446, 24408 30450, 24410 30449, 24405 30449, 24410 30446, 24414 30450, 24418 30450, 24418 30453, 19418 30453, 19418 30451, 19420 30456, 19422 30457, 19425 30462, 15425 30466, 15425 30468, 15427 30470, 16427 30471, 16426 30475, 16423 30478, 16428 30478, 16430 30480, 16430 30480, 16426 30478, 16426 33478, 16427 33478, 16429 33481, 16427 33483, 16428 33481, 16424 33484, 16427 33486, 16432 33483, 16432 33482, 16431 33486, 16426 33486, 16429 33488, 16432 33492, 16433 33492, 16436 33492, 16437 33495, 16434 33491, 16438 37491, 16436 37494, 16440 37489, 16445 37486, 16448 37484, 16449 37484, 16449 37486, 16453 37482, 16456 37483, 16460 37483, 16456 37483, 16456 37486, 16461 37490, 16462 37495, 16465 37499, 16466 37496, 16467 37497, 16468 37498, 16470 37501, 16470 37505, 16470 37505, 16475 37507, 16475 37507, 16475 37502, 16478 37498, 21478 33498, 21475 33497, 21478 33493, 21480 33495, 21480 33500, 21480 33496, 21482 33500, 21485 33505, 21486 33508, 21485 33504, 21486 33509, 21486 33509, 21490 35509, 21493 35509, 21496 35510, 21498 35514, 21494 35510, 21494 35513, 21491 35518, 21492 35521, 21489 35523, 23489 35527, 23487 35532, 23489 35537, 23485 35538, 23489 35539, 23490 35541, 23495 35543, 23497 35546, 23497 35550, 23497 35554, 23493 35553, 23490 35556, 23494 35559, 23497 35564, 23502 35563, 23498 35561, 4324 16358, 4319 16362, 4320 16362, 4322 16367, 4317 16367, 4317 16366, 4318 20366, 4322 20369, 4325 20367, 4328 20370, 4331 20371, 4334 20374, 4339 20378, 4340 20379, 4335 20379, 4340 20379, 4343 20381, 4344 20381, 4344 20382, 4345 20385, 4348 20390, 4348 20390, 4348 20390, 4348 20390, 4351 20394, 4354 20399, 4356 20400, 4357 20404, 4360 20404, 4362 20405, 4362 20408, 4365 20409, 4370 20410, 4374 20415, 4373 20420, 4369 20421, 4366 20426, 4369 20424, 4374 20429, 4375 20426, 4376 20422, 4379 20422, 4383 20426, 4384 20427, 4386 20422, 4391 20425, 4387 20427, 4392 20427, 4392 20429, 4394 20433, 4398 20438, 41576 39702, 41580 39706, 41578 39708, 45578 39708, 45577 39713, 45579 39717, 45583 39719, 45583 39722, 45585 39725, 45580 39730, 47580 39726, 47583 39723, 47588 39726, 47588 39730, 47591 39734, 47594 39737, 47599 39737, 47595 39737, 47598 39739, 47599 39739, 47597 39739, 47593 39743, 47595 39748, 47595 39751, 4076 20267, 4079 20272, 4081 20272, 4080 20275, 4080 22275, 4085 22280, 4089 22276, 4090 22279, 4088 22283, 4084 22284, 4086 22286, 4088 22281, 4084 22281, 4089 22285, 4092 22285, 4094 22285, 4094 22290, 4096 22291, 4099 22294, 4099 22295, 4097 22290, 4097 22292, 4097 22297, 4097 22292, 4094 22289, 4091 22290, 4092 22290, 4097 22285, 4102 22290, 4105 22289, 4106 22292, 4106 22293, 4109 22298, 4114 22296, 4119 22294, 4122 22299, 122 22304, 123 22307, 124 22304, 124 22304, 123 26304, 127 26307, 131 26307, 129 26309, 129 26310, 134 26310, 134 26311, 138 26311, 143 26313, 142 26315, 145 26317, 142 26318, 147 26322, 151 26322, 155 26325, 155 29325, 160 29330, 160 29333, 164 29328, 164 34328, 167 34333, 170 34332, 169 34336, 171 34337, 175 34338, 175 34340, 179 34342, 180 34344, 180 34348, 184 34352, 179 34352, 184 34352, 186 34357, 186 34362, 183 34364, 185 34369, 189 34369, 194 34369, 199 34371, 201 34370, 205 34372, 207 34372, 204 34367, 206 34364, 1206 34364, 1207 34368, 1207 30368, 1207 30363, 1208 30365, 1209 30368, 1212 30370, 1212 30370, 1216 30371, 1220 30376, 1221 30379, 1216 30383, 1216 30388, 1219 30386, 1224 30387, 1225 30386, 1227 30384, 1230 30383, 1233 30387, 1234 30387, 1237 30388, 1239 30392, 1244 30390, 1246 30393, 2246 30396, 2243 30399, 2247 30401, 2247 30403, 2246 30398, 2244 30399, 2248 32399, 2248 32399, 2251 32402, 2253 32397, 5253 32394, 5253 32399, 5257 32403, 5257 32401, 5259 32401, 5259 32405, 5263 32410, 5263 32415, 5268 32416, 5273 32420, 5275 32423, 5278 32424, 5283 32426, 5281 32429, 6281 33429, 6286 33433, 6286 33434, 6284 33435, 6284 33432, 6288 33429, 6290 32429, 6290 32425, 6288 32428, 6290 32428, 11290 32431, 11294 32429, 11294 32433, 11292 32438, 11288 32441, 11288 32441, 11285 32446, 11280 32446, 11281 32447, 11285 32449, 11286 32449, 11285 32452, 13285 32451, 13289 32446, 16289 32450, 16284 32449, 16285 32449, 16286 32452, 16287 32452, 16286 32450, 16288 32447, 16292 32450, 16293 32450, 16294 32454, 16293 32454, 16293 32454, 16293 32449, 16289 32451, 16290 32456, 16289 32461, 16293 36461, 16291 36466, 16295 36466, 16296 36466, 16299 36466, 16303 36468, 16308 36473, 16312 36471, 16312 36467, 16315 36463, 16314 36464, 16315 36469, 16315 36473, 16310 36474, 16311 36472, 16316 36474, 16321 41474, 16324 41475, 16327 44475, 16332 44475, 16332 44475, 16332 44477, 16332 44478, 16337 44483, 16334 44481, 8416 30500, 8417 30501, 8421 30501, 8416 30505, 8418 30504, 8420 30499, 8423 35499, 8425 35498, 8429 35501, 8431 35503, 8434 35503, 8438 35507, 8440 35507, 8445 35509, 8442 35512, 8445 35513, 8442 35513, 8442 35515, 8443 35519, 8447 35515, 8450 35516, 8445 35521, 8445 35523, 8444 35528, 8446 35530, 8443 35531, 8438 35531, 8435 35527, 8431 35531, 8432 35534, 8433 35536, 8431 35537, 8435 35539, 8439 32539, 8437 32540, 8441 32540, 8438 32543, 9438 32546, 9436 32541, 9431 32538, 9431 32538, 9435 32541, 9435 32546, 9431 32547, 9436 32542, 9438 32542, 9438 34542, 7438 34542, 7440 34547, 7441 34547, 7441 34547, 7441 34552, 7440 34553, 7440 34556, 7440 34557, 7440 34560, 11440 34565, 11436 34563, 11438 34559, 7438 34557, 7438 34553, 122 1239, 126 1243, 127 1240, 127 1242, 131 1239, 130 1239, 127 1240, 125 1243, 130 2243, 134 2246, 133 2246, 137 2246, 142 2246, 147 2251, 148 2256, 146 2257, 148 2252, 146 2249, 148 2248, 152 2253, 157 2249, 161 2246, 162 2247, 162 2249, 157 2248, 158 2249, 3158 2250, 3161 2252, 3161 2254, 3166 2258, 3167 2261, 3168 2259, 3171 2261, 3173 2266, 3171 2267, 3176 2272, 3179 2277, 3176 2280, 3180 2279, 3175 2283, 3179 2280, 3182 2283, 3184 2288, 3187 2293, 5187 2290, 5187 2292, 5183 2290, 5187 2292, 5186 2297, 5189 2297, 5189 2301, 5192 2303, 5189 2303, 5187 2304, 5183 6304, 5184 6301, 5189 6304, 5191 6302, 5193 6300, 5195 6300, 5195 6300, 5197 6301, 5197 6304, 5199 6301, 5197 6304, 5192 6306, 5193 6310, 5194 6312, 5197 6316, 24397 27440, 24393 27441, 24395 27437, 24400 27440, 24400 27441, 16288 32447, 21288 32447, 21288 32448, 21284 32452, 21285 32450, 21285 32452, 21287 32455, 21283 32460, 21284 32462, 21284 32467, 21284 32472, 21286 32474, 21291 32475, 21289 32475, 21289 32473, 21289 32478, 21286 32481, 21290 32486, 21293 32486, 21293 32490, 21298 32489, 21301 32490, 21303 32491, 21305 32488, 21303 32486, 21307 32491, 21312 32495, 21314 32499, 21315 32495, 21317 32499, 21314 32499, 21316 32502, 21318 32505, 21313 32510, 21313 32512, 21314 32517, 21319 32520, 21321 32520, 21326 32520, 21329 32525, 21330 32530, 21334 32531, 21330 36531, 21333 41531, 21338 41531, 21336 41535, 21339 41537, 21337 41539, 21341 41544, 21342 41544, 21345 41540, 25345 41543, 25342 41546, 25339 41546, 25339 41549, 25337 41546, 25337 41547, 25337 46547, 25341 46552, 30341 46555, 30342 46560, 30345 46561, 30344 46557, 30339 46560, 30343 46565, 30339 46569, 30338 46567, 30340 46568, 24375 27423, 24375 27425, 24377 27428, 24379 27429, 24379 27434, 24376 27439, 24381 27441, 24386 27436, 24387 27438, 24384 27441, 24383 27446, 24383 31446, 24383 33446, 20383 33443, 20385 34443, 20384 34444, 20380 34448, 20383 34450, 20383 34446, 20386 34447, 20390 34450, 20394 34451, 20395 34446, 20395 34451, 20398 29451, 20397 29447, 20401 29447, 20402 29443, 20401 29440, 20406 29443, 20411 29444, 20412 29444, 20412 29448, 20410 29449, 20415 29452, 20415 29455, 20414 29459, 20415 29462, 20420 29465, 20415 29467, 20417 29468, 20418 29468, 20418 29467, 20418 29467, 20420 29468, 20416 29469, 20420 29467, 20415 29464, 20415 26464, 20420 26462, 20423 26463, 20423 26465, 20423 26464, 43580 35662, 43580 35658, 43580 35662, 43580 35664, 43585 35665, 43585 35663, 43585 35666, 43581 35667, 43585 35665, 43589 35670, 25627 25555, 25631 25555, 25632 25558, 25632 25563, 25634 25564, 25629 25565, 25625 25561, 25625 25563, 25626 25565, 26626 25570, 26629 25570, 29629 25575, 29628 25578, 29627 25579, 29624 25583, 29627 25587, 29632 25592, 29634 25593, 29637 25595, 29637 25598, 29639 25602, 29644 25600, 29645 25601, 29646 25601, 29651 25602, 29656 25606, 29658 25606, 29663 25607, 29663 25605, 29666 26605, 29668 26608, 29667 26608, 29670 26611, 29674 26611, 29671 26615, 29673 26620, 29676 26617, 29681 26620, 29682 26620, 29683 26619, 29684 26623, 29681 26621, 29686 26626, 29688 26628, 29691 26628, 29692 26632, 29693 26634, 29695 26629, 29696 26624, 29700 26621, 29705 29621, 29709 29620, 29708 29624, 29711 29627, 34711 29630, 34712 29632, 34712 29631, 2284 16415, 2285 16416, 2285 16416, 2289 16421, 2294 16425, 2299 16425, 2300 16430, 2305 16430, 2306 16433, 2311 11433, 2315 11436, 2310 14436, 2310 14435, 2313 14437, 2312 14441, 2310 14442, 2311 14444, 2313 14444, 2311 14447, 2314 14447, 2316 14451, 2316 14456, 2316 14454, 2311 14455, 2311 14455, 2311 14460, 2315 14465, 2315 14465, 2311 19465, 2311 19465, 2313 19466, 2317 19469, 2320 19469, 2323 19466, 2319 19468, 2323 19471, 2324 19471, 2324 19473, 2324 19473, 2322 19468, 2323 19466, 2324 19465, 2329 19470, 2329 19465, 2324 19465, 2324 19467, 2319 19471, 2320 19475, 2104 -1844, 2109 -1844, 2113 -1842, 2116 1158, 2116 1160, 2117 1161, 2116 6161, 2118 6166, 2123 6169, 2126 6174, 2123 6179, 2126 6183, 2126 6187, 2130 6182, 2128 6183, 2127 6182, 2128 6185, 2124 10185, 2129 10190, 2130 10193, 2132 10192, 2132 10195, 2129 11195, 2129 11199, 2133 11200, 2134 11196, 2133 11201, 2137 11205, 2137 11207, 2141 11203, 2144 11207, 2145 11208, 2149 11212, 2144 11214, 2144 11215, 2149 11216, 2152 11221, 2152 11223, 2153 11223, 2154 11226, 2154 11226, 2150 11228, 2152 11224, 2152 11227, 2148 11222, 2145 11223, 2142 11225, 2145 11222, 2142 11223, 2142 11227, 2147 11229, 2149 11230, 2154 11230, 2157 11228, 2159 11233, 2159 11233, 2155 11237, 2155 11242, 2151 11243, 7151 10243, 7156 10245, 7159 10245, 7164 10247, 7166 10252, 7166 10255, 7171 10257, 7173 10257, 7174 10261, 7179 10264, 7184 10260, 7189 10264, 7193 8264, 7197 8260, 7202 8262, 7206 8262, 7205 8265, 7205 8266, 7207 8270, 7211 8274, 7211 8277, 7216 8277, 7216 8280, 7212 8280, 7213 8280, 7215 8283, 7220 8282, 7224 8287, 7225 8283, 7222 10283, 7223 10287, 7225 10288, 7230 10290, 7232 10294, 7233 10294, 7233 10297, 7234 10298, 7234 10301, 7236 10303, 7231 10299, 7228 10298, 7223 10297, 7225 10299, 7230 10303, 7231 10307, 7234 10311, 7234 10315, 7235 10320, 7236 9320, 7241 9322, 7246 9325, 7243 9330, 7243 9332, 7240 9335, 7237 9334, 7239 9339, 7238 9339, 7238 9341, 7238 9342, 7233 14342, 7232 14337, 7234 14342, 7239 18342, 4084 22284, 4083 22284, 6083 22287, 6078 22289, 6078 22293, 6080 22290, 6082 22291, 6086 22296, 6086 22297, 6087 22297, 6088 22295, 6093 22298, 6094 22297, 9094 22294, 9097 22298, 9098 22299, 9098 22301, 9093 22296, 9098 22299, 9100 22294, 9096 18294, 9099 18294, 9098 18298, 9101 18296, 9100 18301, 9105 18303, 9105 18306, 9105 18309, 9102 18305, 9104 18306, 9108 18309, 9104 18314, 9103 18310, 9105 18312, 9105 18316, 9109 18314, 9109 18319, 9109 18324, 9113 18326, 9113 18330, 9115 18333, 9113 18333, 9118 18333, 9123 18333, 9123 18336, 9125 18335, 9126 18336, 9127 18332, 9129 18329, 9127 18332, 9130 18333, 9135 18333, 9138 18337, 9143 18341, 9144 18346, 9145 18344, 9150 18348, 9154 18345, 9152 18350, 9151 18345, 9151 18345, 9156 18347, 9160 18349, 9163 18350, 9163 18351, 9165 18356, 9166 18356, 9164 18353, 9167 18356, 9167 18355, 9167 18356, 9167 18360, 9165 18356, 9169 18357, 9169 18353, 9170 18355, 9170 18351, 9175 18351, 9177 18351, 9181 18352, 9184 18353, 9189 18356, 9188 18361, 9191 18364, 9194 18364, 9198 18366, 13198 18371, 13198 18373, 13198 18375, 13201 18378, 13196 18378, 13199 18379, 13202 18381, 13207 18384, 13212 18388, 13211 18383, 13211 18378, 13215 18379, 13218 20379, 13214 20379, 13217 20379, 13213 20379, 13213 20376, 13210 20377, 13206 20377, 13206 20373, 13207 20373, 13209 20370, 13214 20371, 13218 20371, 13223 20376, 13224 20381, 13227 20385, 13228 20390, 13232 20387, 9232 20392, 9230 20388, 9230 20390, 9225 20393, 9225 20396, 4225 20401, 4225 20400, 4227 20403, 4224 20408, 4222 20412, 4222 20415, 4225 20420, 4229 20425, 4232 20422, 4236 20425, 4234 20426, 4238 20427, 4240 20427, 4241 20427, 4237 20431, 4233 20431, 4232 20430, 4230 20432, 4234 20431, 4234 20435, 4238 20437, 4243 20435, 4243 22435, 4238 22440, 4241 22441, 4241 22443, 4238 22447, 4234 22443, 4238 22448, 4238 22450, 4241 22451, 4241 22456, 4243 22458, 4247 22461, 4247 22464, 4252 22466, 4253 22469, 4255 22469, 4251 22469, 4253 22464, 4253 22468, 4257 22473, 4259 22477, 4258 22482, 4261 22483, 4262 22484, 4259 22489, 6259 22493, 6262 22494, 6262 22497, 6264 22500, 6264 22504, 6269 22499, 6273 22499, 6278 22495, 6278 22493, 6283 22491, 6288 22494, 6291 22494, 6296 22494, 6296 22493, 6294 22489, 6294 22493, 6290 22493, 6290 22498, 6290 22500, 6288 22501, 6290 22505, 6294 22504, 5294 22507, 5294 22507, 5298 22512, 5297 22514, 5302 22514, 5307 22517, 5304 22518, 5308 22514, 5311 22517, 5315 27517, 5315 27517, 5319 27517, 5324 22517, 5328 22521, 6328 22520, 6325 22522, 6325 22527, 6322 22527, 6323 22530, 6325 22535, 6325 22535, 6326 22536, 6326 22536, 6327 22533, 6323 22535, 6325 22538, 6330 22538, 6331 22534, 6326 22531, 10326 22526, 10321 22528, 10317 22524, 10316 22529, 10313 22529, 10309 22530, 10306 22535, 10308 22531, 10308 22532, 10311 22534, 10314 27534, 10314 27538, 10314 27538, 10309 27540, 10309 27536, 11309 27535, 11309 27537, 11310 27539, 11305 27535, 11300 27536, 11296 27538, 11296 27538, 11301 27542, 11299 27546, 11304 27551, 11308 27551, 11313 27553, 11315 30553, 11319 30555, 11315 30550, 11318 30545, 11318 30544, 11321 30549, 11320 30550, 11325 30554, 11328 30558, 11328 34558, 11332 34562, 11333 34562, 11335 34562, 11334 34565, 11330 34565, 11333 34566, 11338 34566, 11338 34571, 11342 34574, 11344 34573, 11347 34572, 11346 34573, 11347 34575, 11351 34578, 15351 34578, 15356 34573, 15361 34570, 15364 34575, 15365 34580, 15369 34581, 15370 34581, 15373 34585, 15376 34580, 15381 34578, 15385 34583, 15386 34588, 15389 34587, 17389 34582, 17394 34582, 17393 34582, 17398 34577, 17399 34582, 17399 34584, 17399 39584, 17404 39588, 17399 39591, 17404 39591, 17408 39586, 17405 39591, 17409 39593, 17411 39596, 17408 39596, 17411 39599, 17411 39603, 17414 39607, 17418 39612, 17419 39612, 17419 39612, 17423 39611, 17424 39613, 17426 39612, 17429 39608, 17427 39609, 17428 39613, 17425 39615, 17424 39614, 17427 39617, 17430 39622, 17430 39623, 17431 39620, 17434 39620, 13434 39619, 13434 39621, 13434 39621, 13434 44621, 13436 44625, 13436 44627, 13441 44631, 13444 44636, 13444 44639, 13442 44635, 13444 44635, 13447 44639, 13449 44643, 13447 44641, 13447 44642, 13452 44643, 13456 44648, 13459 44648, 13461 44646, 15461 44643, 15459 44648, 15463 44648, 15464 44646, 15461 44649, 15461 44651, 15465 44654, 15460 44655, 15461 44657, 15463 44661, 15465 44665, 15465 44665, 15465 44667, 15469 44670, 15474 44672, 15476 44668, 15472 44672, 15473 44674, 15475 44678, 15477 44679, -3804 12302, -3802 12305, -3803 13305, -3802 13300, -3806 13296, -3807 13299, -3804 13304, -3802 13301, -3799 13305, -3799 13306, -3794 18306, -3799 18310, -3797 18315, -3800 18315, -3797 18316, -3799 18318, -3794 18323, -3793 18326, -3789 18325, -3784 18324, -3784 18325, -3782 18325, -3780 18325, -3779 18328, -3780 18329, -3781 18324, -3786 18328, -1786 18328, -1786 18333, -1782 18337, -1782 18338, -1779 18333, -1775 18338, -6775 18341, -6772 18343, -6774 18345, -6779 18345, -6777 18345, -6777 18347, -6777 18343, -6775 18347, -6780 18342, -6777 18345, -6776 18345, -6774 18340, -6774 18337, -6774 18337, -6778 18342, -6782 18342, -6785 18339, -6784 18340, -6779 22340, -6779 22339, -6776 22335, -6775 22330, -6775 22335, -6775 22339, -6770 22339, -6772 22344, -6767 22345, -6765 22341, -6765 22339, -6765 22339, -6765 22337, -6765 22340, -6760 22335, -6757 22335, -6762 22336, -6763 22338, -6765 22343, -6760 22338, -6758 22338, -6758 22338, -6756 22341, -6752 22345, -6752 22346, -6748 22343, -4748 22347, -4745 22347, -4750 22347, -4749 22348, -4747 22349, -4743 22352, -4738 22357, -4734 22362, -4736 22367, -4738 22362, 21338 41531, 21336 41531, 21332 41530, 21332 41530, 21335 41533, 21330 41533, 21331 41534, 21328 41536, 21330 41536, 21326 41541, 21330 41536, 21332 41539, 21336 41536, 21338 40536, 21336 40540, 21341 40538, 21343 40538, 21346 40538, 21348 40536, 21352 40536, 21355 40539, 21359 40543, 21361 40546, 21362 40550, 21357 40550, 21362 40551, 21361 40554, 21358 40555, 21358 40554, 21359 40554, 21363 40558, 21360 45558, 21364 45560, 21368 45557, 21372 45561, 21376 45560, 21379 45557, 22379 45553, 22384 45553, 22384 45556, 22388 45561, 22389 45561, 22390 45557, 22394 45561, 24394 45565, 22394 45562, 22399 45565, 22401 45562, 22400 45565, 22402 45568, 22402 45573, 22406 45577, 22408 45581, 22408 45585, 22406 45585, 22409 45586, 22411 45583, 22411 45579, 22411 45583, 22409 45583, 22404 45586, 22404 45586, 22406 45591, 22408 45591, 22408 45593, 22413 45593, 22415 45594, 22419 45595, 22419 45596, 22424 45591, 22427 45587, 22430 50587, 22430 50589, 22430 50589, 22432 50592, 22437 50594, 22437 50589, 22437 50594, 22441 50599, 22442 50594, 22447 50591, 22444 50588, 22444 50590, 22445 54590, 22445 54594, 22448 54599, 22450 54601, 22450 59601, 22446 59597, 22451 59600, 22451 59603, 22454 59604, 22459 59604, 22460 59609, 22459 59606, 22464 59607, 22465 59608, 22463 59609, 22460 59606, 22459 59605, 22459 59605, 22457 59609, 25457 59610, 25459 59615, 25464 59617, 25466 59618, 25469 59621, 25474 59616, 25478 59617, 25480 59614, 25484 59619, 25484 59620, 25488 59616, 25485 59618, 25489 59623, 25494 59627, 25499 59629, 148 2256, 152 2253, 152 2253, 154 2258, 159 2253, 160 2257, 159 2256, 163 2259, 161 3259, 163 3262, 163 3259, 165 3259, 170 3263, 170 3263, 174 3267, 169 3271, 174 3275, 174 3276, 174 3278, 177 3282, 181 3286, 183 3287, 186 3284, 187 3286, 189 3286, 193 3288, 194 3290, 193 6290, 195 6293, 200 6289, 197 6294, 196 6293, 197 6293, 201 6297, 202 6292, 200 6294, 204 6295, 209 6300, 214 6305, 217 6305, 218 6305, 213 6308, 214 6308, 218 6313, 218 6308, 216 6312, 215 6312, 213 6309, 214 6313, 219 6318, 222 6321, 226 6326, 224 6331, 222 6327, 41575 39716, 41574 39713, 41578 40713, 41582 40718, 41578 40721, 36578 40721, 36579 40723, 36584 40720, 36587 40725, 36592 43725, 36587 43725, 36584 43728, 36587 43733, 36592 43735, 36592 43734, 15291 11311, 15287 11316, 15288 11319, 15291 11319, 15296 11319, 15297 11320, 15298 13320, 38744 37650, 38745 37654, 38747 37659, 38746 37662, 38741 37663, 38739 37666, 38744 37666, 38747 37661, 38750 37666, 38750 37666, 38754 37671, 38755 37671, 38750 37673, 38750 37672, 38754 37677, 38756 37678, 38758 37680, 38760 37678, 38762 37683, 38762 37679, 38760 37679, 38765 37679, 38769 37678, 38774 40678, 38769 40683, 38774 40687, 38776 44687, 38780 44690, 38782 44694, 38782 44694, 38781 44699, 38784 44704, 38782 44699, 38777 44700, 38777 44700, 38777 44700, 38781 44703, 38785 44700, 38786 44700, 38788 44696, 38788 44696, 38788 44700, 38793 44702, 38795 44703, 38797 44707, 38802 44712, 38805 44712, 38809 44713, 38804 44710, 38808 44712, 38811 44713, 36811 44713, 36816 44708, 36815 44709, 36816 44709, 36818 44713, 36813 44716, 36814 48716, 36813 48721, 36817 48725, 36818 51725, 36820 51721, 36824 51724, 40824 51719, 40829 51716, 40832 51720, 40831 51723, 40834 51727, 40837 51728, 40842 51725, 40843 51725, 40838 51729, 40843 51734, 40848 51738, 40850 51742, 40851 51744, 40853 51747, 40856 51749, 40857 51750, 40859 51754, 40859 51750, 40863 51752, 40868 51755, 40864 51754, 40868 51754, 40871 51756, 40867 51756, 40865 51759, 40860 51761, 40857 51757, 40857 51762, 40854 51762, 40855 51764, 40859 51765, 40857 51761, 40854 51764, 40855 51765, 40857 51766, 40860 51761, 40861 51760, 40865 51761, 40865 51763, 40862 51768, 40861 51768, 40856 51772, 40852 51769, 40854 51771, 40854 51771, 40850 51776, 40854 51780, 40856 51782, 40854 51782, 43854 51782, 43856 52782, 43858 52785, 43861 52785, 43861 52780, 37514 26540, 37519 26535, 37522 26539, 37522 26544, 37524 26548, 37529 26548, 37534 26553, 37539 26548, 37542 26553, 37547 26548, 37551 26551, 37551 26554, 37550 26555, 37551 26557, 37548 26557, 37548 26557, 37551 26560, 37551 26563, 37554 26563, 37558 26568, 37562 26563, 37563 26565, 37567 26569, 41567 26569, 41571 26572, 41573 26577, 41573 26577, 41578 29577, 41573 29577, 41575 29580, 41575 29582, 46575 29582, 46571 29586, 45571 29587, 45574 29587, 45570 29587, 45575 29585, 45577 29582, 45573 29585, 45574 29588, 45574 29589, 45578 29589, 45580 29592, 45583 29595, 45584 29597, 45584 29602, 45586 29601, 45591 29604, 45587 29609, 45591 33609, 45595 36609, 45596 36611, 45601 36613, 45602 36608, 45606 36608, 45606 36612, 45606 36611, 45610 36614, 50610 36617, 50613 36613, 50616 36613, 50621 36609, 50626 36609, 50627 36610, 50627 36609, 50631 36610, 50626 36612, 50627 36614, 50628 36614, 50631 36612, 50629 36614, 50630 36618, 50634 36622, 46634 34622, 46634 35622, 46638 35626, 46638 35621, 46639 35624, 46641 35623, 46645 35624, 46647 35629, 46645 35634, 46650 35639, 46650 35644, 46651 35647, 46653 35651, 46657 35654, 46654 35659, 46659 35660, 46660 35661, 46664 35664, 46661 35667, 46664 35668, 46667 35667, 46669 35671, 46669 35667, 46672 35670, 46674 35675, 46676 35675, 47676 35672, 47678 35676, 47679 35677, 47679 35682, 47679 35681, 47679 35681, 47679 35686, 47674 35687, 47673 35687, 49673 35689, 49676 35693, 49679 35696, 49677 35696, 54677 35701, 54680 35703, 54676 35703, 54672 35705, 54672 35704, 54677 35707, 54678 34707, 54678 34707, 54681 34710, 54685 34712, 54690 34710, 54690 34711, 54687 34706, 54689 34706, 54694 34711, 54689 36711, 54689 36710, 54684 36711, 54687 38711, 54682 38714, 54682 38718, 54679 38718, 54681 38723, 54684 38724, 54689 38720, 54690 38721, 54694 38726, 54699 38730, 54701 38731, 54702 38728, 54704 38724, 52704 38723, 52704 38723, 52704 38725, 52704 38729, 52706 38730, 52708 38732, 52709 38733, 52713 38732, 52713 35732, 52715 35737, 52714 35741, 52714 35743, 52715 35746, 52715 35749, 52710 35749, 52712 39749, 52715 39753, 52718 39752, 52723 39753, 52722 39757, 52718 39760, 52718 40760, 47718 40761, 47719 40765, 47724 40765, 47724 40765, 47724 40770, 47728 40773, 47730 40776, 47735 40781, 47733 40777, 50733 40781, 51733 40783, 51735 40786, 51736 40790, 51739 40788, 51743 41788, 51741 41787, 51741 41789, 51741 41789, 51738 41793, 51733 41793, 52733 41794, 52737 41795, 52740 41794, 52744 41793, 52748 41789, 52749 41789, 52747 41789, 52752 41786, 52755 41790, 52755 41791, 52760 41796, 52756 42796, 52751 42797, 52754 42798, 52758 42795, 52759 42794, 52764 42797, 52768 42801, 52768 42801, 52771 42806, 52776 42810, 52776 42809, 52773 42811, 52776 42811, 52772 42812, 52773 42815, 52769 42815, 52768 42816, 52769 42821, 52773 42821, 52773 42821, 52777 42819, 52781 42815, 52781 42816, 52782 42819, 52778 42822, 52776 42822, 52779 42826, 52782 42827, 52783 42831, 52778 42833, 52782 42836, 54782 42839, 54782 42844, 2137 11205, 2142 11207, 2139 11208, 2142 11213, 2144 11217, 2149 11215, 2147 11217, 2147 11217, 2152 11222, 2152 11225, 2155 11229, 2159 13229, 2164 13232, 2169 13235, 2173 13236, 2169 13233, 2170 13237, 2173 13241, 2175 13243, 2170 13238, 2170 13239, 2175 13239, 2177 13238, 2179 13239, 2179 13238, 2181 13233, 2181 13230, 2182 13230, 2179 13230, 2179 13235, 2182 13235, 2183 10235, 2178 10237, 2179 10236, 2182 10239, 2187 10241, 2184 10244, 6184 10244, 6186 10248, 6184 10246, 6185 10247, 6187 10250, 6192 10248, 6196 10248, 6196 10251, 6194 10251, 6194 10256, 6197 10260, 6196 10264, 6197 9264, 6197 9264, 6197 9268, 6201 9273, 6206 9276, 6201 9272, 6203 9272, 6205 9269, 6210 9272, 6206 9274, 6206 9279, 6203 9283, 6203 9285, 6203 9290, 6208 9285, 6208 9281, 6204 9285, 6202 9289, 6204 9292, 6200 9294, 7200 9297, 7202 9301, 7203 9301, 7207 9302, 7211 9302, 7211 9303, 8211 9306, 8216 10306, 8220 10310, 8224 10312, 8228 10317, 8233 10317, 8237 10322, 8239 10322, 8239 10327, 8235 10330, 8235 10331, 8239 10329, 8240 10332, 8240 10334, 8236 10334, 11236 10336, 11238 10337, 11243 10341, 14243 10342, 14242 10342, 14239 10343, 14240 10341, 14239 10343, 14244 10343, 14248 10343, 14252 10343, 14252 10343, 14253 10341, 14256 10341, 14258 10338, 14258 10336, 14254 10340, 14257 10344, 14261 10346, 14264 10351, 11150 3163, 11155 3167, 11156 3166, 11156 3169, 11160 3171, 11163 3176, 11164 3179, 11164 3180, 11168 3183, 11168 3185, 11173 3189, 11178 3184, 11180 3183, 11178 3185, 11181 3187, 11176 3186, 52778 42822, 52780 42826, 52779 42826, 52784 42821, 52785 42826, 52786 42827, 52791 42830, 52791 42827, 56791 42832, 56788 42833, 56788 42836, 56791 42840, 56791 42839, 56787 42842, 56788 42847, 51788 42848, 51790 42850, 51792 42851, 51796 42846, 51798 42846, 51803 42850, 53803 42853, 53808 42853, 53811 42856, 53814 42854, 53819 42850, 53819 42852, 53820 42857, 53824 42860, 53825 42858, 53828 42862, 53827 42864, 53828 42864, 53828 42868, 53832 42872, 53837 42877, 53841 42877, 53843 42876, 53843 42880, 53843 42883, 53843 42888, 53838 42892, 53838 42893, 53838 44893, 53835 44893, 53837 44897, 53840 44901, 53844 44901, 53846 44904, 53846 44908, 53847 44909, 53852 44907, 53855 44908, 53860 44910, 53858 44911, 53863 44913, 53858 44917, 53860 44920, 53865 44920, 53870 44922, 53869 43922, 53871 43925, 53871 43923, 53869 43923, 53864 43922, 53862 43927, 53866 43932, 53871 43934, 53876 43937, 53876 43936, 53876 43936, 53877 43934, 53879 43932, 53880 43928, 53885 43931, 55885 43933, 55885 43929, 55881 43933, 55883 43933, 55886 43932, 55883 43932, 55884 43933, 55885 45933, 55885 45937, 55885 45940, 55886 45945, 55886 45945, 55888 45950, 55884 45952, 55885 45956, 55890 45960, 55892 45961, 55896 45957, 55894 45958, 55899 45954, 55895 45958, 55898 45960, 55894 45959, 55899 45963, 55901 45965, 55901 45965, 55896 45966, 55900 45961, 55895 49961, 55898 47961, 55896 47960, 55900 47964, 55903 47968, 55903 47971, 55903 47974, 55898 47977, 55900 47973, 55896 47978, 55897 47979, 55893 47980, 55898 47983, 55901 47988, 55904 47987, 55899 47991, 55901 47993, 55906 47996, 55906 47997, 55907 48001, 55904 48005, 55904 48007, 55909 48004, 55912 48002, 55917 48003, 55913 47998, 55908 48002, 55912 48007, 55916 48004, 55920 48004, 55916 48004, 55921 48004, 55923 48007, 55923 48011, 55926 48011, 55921 48014, 55924 48009, 55929 48013, 55930 48012, 55930 48012, 55932 48016, 55927 48016, 55927 48020, 54927 48018, 54924 48022, 54924 44022, 54928 44017, 54931 44016, 54934 44020, 55934 44021, 55937 44021, 55938 44024, 55939 44026, 55938 44024, 55941 44019, 55946 44022, 55947 44026, 55949 44027, 55952 44028, 55955 44024, 55958 44027, 53869 43923, 53873 43925, 52873 43925, 53873 43927, 53878 43927, 53883 43927, 53882 43931, 53884 43935, 53888 43940, 53886 43941, 53881 43938, 53881 43941, 53879 43943, 53880 43942, 53881 43946, 53882 43951, 53883 43952, 53886 45952, 53886 45953, 53884 45957, 53885 45958, 53880 45960, 53882 45957, 53887 45962, 53887 45962, 53888 45961, 53888 48961, 53888 48966, 53893 48966, 53894 48968, 53899 48969, 49899 48966, 49904 48969, 49908 48971, 49904 48971, 49906 48975, 49903 48971, 49906 48974, 54906 48975, 54906 48975, 54906 48979, 54911 48983, 54909 48979, 54912 48979, 54908 48975, 54911 48977, 54913 48979, 54917 48982, 54922 48982, 54925 48985, 54920 48988, 54923 48988, 56923 48988, 56928 48990, 56926 48985, 56931 48984, 56934 48983, 56934 48981, 56938 48983, 56939 48985, 56939 48986, 61939 48988, 61939 48984, 61936 51984, 61937 51985, 61937 51988, 61937 51988, 61933 51990, 5331 23399, 5333 23399, 5335 23394, 5339 23396, 5342 23399, 5347 27399, 5347 27401, 5352 27402, 5357 27403, 5358 27406, 6358 27409, 6362 27411, 6363 27410, 6366 27406, 6368 26406, 6373 26406, 6373 26406, 6374 26409, 6372 26409, 6377 26410, 6382 26415, 6387 26417, 6389 26418, 6390 26423, 6392 26423, 6393 26428, 6395 30428, 6392 30433, 6392 30436, 6392 30434, 6396 30438, 6396 30441, 6396 30445, 6398 30446, 6400 30443, 6401 30440, 6406 30439, 6407 30439, 6402 30439, 6407 30444, 6406 30447, 6407 30451, 6411 30451, 6413 30451, 6414 30452, 6419 30450, 6423 30454, 6420 30452, 6419 30448, 6420 30453, 6422 30455, 6427 30460, 6428 30460, 6427 30462, 6428 30462, 6428 34462, 6429 34463, 6434 39463, 6436 39466, 6436 39471, 6441 39474, 6445 39471, 6446 39472, 6451 39477, 6453 39480, 6454 39485, 6454 39483, 6454 39480, 8454 39480, 8458 39482, 8462 39484, 10462 39486, 10457 39486, 10458 39488, 10462 39488, 10465 39488, 10470 39490, 10475 39486, 10477 39488, 10477 39490, 10478 39492, 10479 39496, 10477 39498, 10482 39503, 10478 39505, 10481 39510, 10482 39514, 10477 39512, 10482 39517, 10483 39520, 10483 39520, 10487 39525, 10489 39526, 10492 39527, 10492 39524, 10495 39524, 10498 44524, 10493 44523, 10493 44528, 10494 44524, 10499 44529, 10501 44529, 10504 44531, 10502 44535, 10504 44539, 10508 44539, 10513 44536, 13513 44540, 13515 44537, 13512 44539, 13509 44544, 13513 44547, 13517 44552, 13519 44553, 13524 44554, 13527 42554, 13522 42555, 13524 42557, 13527 42556, 13531 42561, 13531 42562, 13526 42563, 13527 42563, 13527 42566, 13522 42568, 13525 42571, 15525 42573, 15525 42576, 15526 42581, 15531 42581, 15532 42586, 15534 42588, 15534 42592, 15533 42591, 15533 42596, 15532 42591, 15532 42587, 15535 42587, 15538 47587, 15534 47587, 15537 47591, 15536 47594, 15538 47598, 11538 47594, 11535 47594, 11531 47594, 11535 47596, 11535 47596, 11535 47597, 11539 47602, 11540 47607, 11540 47607, 11540 47609, 11543 47613, 11546 47617, 14546 47618, 14541 47614, 14539 47614, 14539 47618, 14537 50618, 14539 50623, 14541 50623, 14542 50627, 14540 50627, 14539 50623, 25601 26544, 25601 26545, 25601 26548, 25596 26546, 25601 26547, 25598 26548, 25599 26547, 25600 26547, 25595 26548, 25590 26546, 25595 26549, 25597 26548, 25598 26548, 25601 26545, 25596 26548, 25594 26553, 25595 26552, 25599 26553, 25598 26554, 25596 26555, 25592 26554, 25596 26558, 25599 26554, 25600 26556, 25595 26559, 25600 22559, 25601 22561, 25606 22563, 25607 22562, 25608 22566, 25607 22563, 25607 22568, 30607 22573, 30612 22575, 30612 22579, 30611 22579, 30611 22580, 30611 22585, 30607 22585, 30612 22587, 30612 22588, 30615 22583, 30615 22585, 30618 22581, 30621 22581, 30623 22584, 30623 22589, 30628 22594, 30630 22597, 30631 22602, 30628 22607, 30630 22610, 30631 22611, 30631 22608, 30629 22610, 30634 22612, 30635 22612, 30638 22616, 30643 17616, 30644 17618, 30649 17618, 30653 17619, 30656 17614, 30657 17611, 30660 17615, 30655 17614, 30656 17610, 30656 17611, 30661 17610, 30662 17615, 30660 17620, 30661 17620, 30666 17623, 30667 17625, 30667 17624, 30669 17625, 30673 17628, 30675 17628, 30675 17628, 30680 17631, 30677 17636, 30677 17639, 30680 17644, 30683 17647, 30688 17643, 30693 17645, 30698 19645, 30701 19644, 30702 19644, 30698 19649, 30700 19647, 30701 19649, 30704 19650, 30705 19653, 30701 19655, 30706 19652, 30708 19656, 30711 19657, 30711 19659, 30711 19659, 30714 19661, 30710 19662, 30707 19664, 30702 19666, 30703 19667, 30708 19668, 30713 19667, 30709 19671, 30706 19674, 30710 19676, 30711 19677, 30713 19677, 30713 19678, 30715 19682, 30720 19686, 30725 20686, 30723 20690, 30727 20695, 30728 20697, 30731 20699, 30730 20694, 30732 20696, 30735 20698, 30738 20696, 30738 20695, 30742 20698, 30743 20699, 30743 20701, 30748 20704, 30749 20706, 30752 20705, 30753 20702, 30755 24702, 30751 24705, 30750 24707, 30748 24708, 30749 29708, 30749 29709, 30751 29711, 30754 29716, 30759 29716, 30762 34716, 30762 34720, 30765 34720, 30761 34717, 30761 34721, 30765 34721, 30760 34721, 30759 34725, 30762 34730, 30760 34730, 30765 34731, 30765 34731, 30766 34731, 30761 34733, 30761 34736, 30764 34738, 30759 34739, 30763 34740, 30761 34740, 30764 34742, 30759 34737, 30762 34739, 30764 34741, 30762 34740, 30767 34737, 32767 34741, 32770 34741, 32767 34744, 32767 34746, 32770 34751, 32774 34755, 32774 34756, 32779 34753, 32784 34755, 32785 33755, 32785 33750, 36785 33753, 36785 33758, 36788 33760, 36789 33759, 36789 33762, 36793 33758, 36798 33758, 36803 33760, 36803 33762, 36803 33766, 36804 33769, 36804 33769, 36808 33774, 33808 33776, 33808 33781, 33811 33781, 33816 33784, 33816 33789, 33820 33786, 33823 33788, 33828 33785, 33824 33785, 33826 33787, 33824 33788, 33828 33791, 33825 33796, 33829 33799, 33830 33802, 33831 33803, 33835 33805, 33835 33805, 33838 33809, 33841 33813, 33844 33809, 33849 33814, 33847 32814, 33849 32812, 33851 32816, 33853 32819, 33851 32822, 33851 32826, 33849 32826, 33849 32830, 33852 32835, 33856 32840, 33859 32837, 33858 32832, 33861 32833, 33862 32836, 33859 32838, 33859 32834, 33857 32834, 33859 32834, 33857 32838, 33861 32833, 33861 32837, 33864 32840, 33866 32841, 33866 32843, 33868 32841, 33871 32839, 33874 32844, 33876 37844, 33881 37849, 33883 37854, 33883 37859, 33888 37860, 33893 37864, 33898 37864, 33895 37867, 33896 38867, 33898 38863, 28898 38868, 28901 39868, 33901 39873, 33898 39875, 33900 39879, 33904 39877, 33904 39879, 33909 39883, 33914 39888, 33910 39891, 33910 39892, 33907 39894, 33911 39899, 33913 39900, 33910 39904, 33914 39905, 33917 39906, 33917 39906, 33917 39906, 33912 39911, 33912 39908, 33916 39907, 33914 39910, 33918 39913, 33922 39913, 33924 39916, 33925 39920, 33930 39920, 33933 39922, 33934 39923, 33937 39919, 33938 39916, 33936 39913, 35936 39918, 35933 39919, 35937 39921, 35941 39924, 35941 39919, 35942 39915, 35946 39920, 35946 39915, 35946 39912, 35947 39908, 35947 39912, 35947 39916, 35952 39919, 35957 39921, 38957 39920, 38962 39925, 38964 39924, 38964 39924, 38969 39926, 38969 39928, 38972 39932, 38977 39932, 38975 39932, 38979 39935, 38982 39938, 38986 39940, 38984 39943, 38985 39946, 38987 39947, 38989 39949, 38994 41949, 38990 41954, 38991 41958, 38994 41962, 38994 41966, 38994 41969, 38995 41974, 38999 41974, 38999 41974, 38996 41978, 38996 41983, 38999 41983, 39001 41986, 38996 41984, 39000 41989, 39000 41988, 5336 23410, 5332 23410, 5327 23407, 9327 23408, 12327 23412, 12327 23412, 12324 23410, 13324 23415, 13327 23420, 13328 23416, 13324 23418, 13329 23423, 13330 23426, 13331 23429, 13335 23426, 13339 23428, 23493 35553, 23492 35548, 23496 35550, 23501 35552, 23497 35553, 21497 35557, 21492 35560, 21494 35562, 21494 35560, 21496 35563, 21496 35568, 21496 35570, 21501 35570, 21504 35566, 21504 35571, 17504 35572, 17508 35577, 17509 35578, 17513 35582, 17514 35587, 17515 35592, 18515 35595, 18516 35596, 18517 35598, 18515 35600, 16515 35605, 16515 37605, 16515 37606, 16513 37608, 16515 37613, 16516 37615, 16520 37620, 16524 34620, 16526 34617, 16530 34619, 16530 34624, 16535 34628, 16537 34631, 16540 34632, 16541 34634, 16541 34635, 16544 34632, 16544 34637, 16546 34642, 16549 38642, 16549 38644, 16545 38649, 16545 38644, 16542 38644, 16545 38644, 16544 38645, 16548 38650, 16543 38653, 16543 38649, 18543 38652, 18546 38652, 18546 38657, 18546 38660, 18551 38655, 18549 38655, 18552 38660, 18549 38662, 23549 38667, 23546 38668, 23550 38672, 23550 38674, 28550 38676, 28551 38673, 28551 38677, 28547 38673, 28551 38674, 28556 38674, 28559 38678, 28562 38673, 28564 38678, 28564 38673, 28563 38673, 28566 38675, 28571 38675, 38781 44703, 38782 44699, 38780 44702, 38785 44704, 38787 44704, 38783 44705, 38784 44700, 38788 44695, 38791 44696, 38796 44696, 38801 44692, 38801 44697, 38805 44701, 38810 44701, 38808 44701, 38808 44704, 38805 44706, 38805 44710, 38804 44711, 38809 48711, 38810 48711, 38808 48711, 38812 48716, 38812 48713, 38812 48715, 38812 48715, 38808 48711, 38804 48714, 38805 48710, 38807 48715, 38812 48715, 38807 48713, 38811 48714, 38811 48714, 38816 48711, 38817 48707, 38818 48707, 38818 48708, 38822 48708, 38824 48713, 38822 48714, 38820 48718, 38824 48720, 38824 48723, 38829 48726, 38830 48731, 38834 48729, 38832 48734, 38833 48730, 38834 48728, 38831 48732, 8433 35536, 8433 35541, 4433 35536, 4436 35541, 4440 35541, 4441 35537, 4445 35539, 4444 35534, 4447 35531, 4451 35531, 4455 35534, 4460 35534, 4461 39534, 4462 39535, 4463 39535, 4466 39535, 4470 39535, 4472 39538, 4467 39538, 4467 39536, 4471 39536, 4473 39541, 4468 39542, 4472 39543, 4475 39544, 4478 39544, 4482 39547, 4487 39552, 4485 39550, 4486 39551, 4486 39553, 4486 39555, 4488 39557, 4488 39558, 4489 39555, 4485 39557, 4488 39558, 4492 39560, 4495 39561, 4500 39565, 4496 39566, -4747 22349, -4750 22349, -4746 22352, -4742 22355, -4738 22360, -4739 22362, -4737 22365, -4732 22363, -4728 25363, -4728 25364, -4723 25364, -4725 25364, -4725 25365, -6725 25364, -6727 25369, -6728 25369, -6725 25369, -6729 25368, -6728 27368, -6725 27370, -6721 27371, -3721 27367, -3717 27372, -3718 27375, -3716 27370, -3715 27373, -3714 27373, -3712 27376, -3709 27374, -3710 27375, -3710 27374, -3708 27379, -3706 27381, -3705 27386, -3704 27389, -3704 27393, -3703 32393, -3702 32396, -3702 32396, -3697 32395, -3697 32399, -3692 32403, -3692 32404, -3693 32408, -3693 32412, -3691 32414, -3691 32414, -3695 32414, -3690 32417, -3689 32422, -3684 32424, -3681 32429, -3679 32424, -3676 32428, -3671 32428, -3674 32431, -3671 32430, -3669 32430, -3674 33430, -3676 33432, -3674 33432, -3677 33432, -3677 33437, -3675 33438, -3674 33442, -3679 33444, 1321 33448, 1323 33445, 1327 33448, 1331 33443, 1328 33448, 1328 33443, 1329 33443, 1329 33444, 1334 33448, 1335 33453, 1340 33457, 1340 33454, 1345 33454, 1349 33458, 1348 33461, 1348 33459, 1344 33463, 1343 33466, 1348 33466, 1349 33467, 1345 33467, 1346 33466, 1350 33461, 1349 33464, 1354 33468, 1358 33472, 1363 33473, 1365 33472, 1367 33473, 1370 33476, 1371 33479, -2629 33482, -2631 33487, -2627 33490, -2630 34490, -2626 36490, -2623 36492, -2619 36492, -2622 36492, -2620 36496, -2622 36495, -2627 36495, -2625 36500, -2621 36503, -2626 36506, -2629 36510, -2624 36510, -2620 36510, -2620 36513, -2617 36518, -2622 36516, -2619 36514, -2617 36514, -2617 36512, -2615 36516, -2613 36516, -2613 36517, -2613 36515, -2613 36510, -2610 36511, -2607 36515, -2604 37515, -2604 37512, -2608 37509, -2605 37512, -2600 37516, -2597 37516, -2593 37514, -2595 37515, -2590 37519, -2595 37518, -2590 37523, -2590 37528, -2590 37530, -2592 37525, -2592 37520, -2589 36520, -2586 36521, -2587 36517, -2584 36518, -2582 36518, -2581 36520, -2577 36518, -2576 36522, -2576 35522, -2573 35523, -2575 35523, -2576 35528, -2576 35533, -2576 35536, -2576 35538, -2578 35541, -2582 35545, -2584 35546, -2585 35548, -2583 35544, -2583 35548, -2582 35547, -2578 35552, -2574 35554, -2569 35557, -2565 35559, -2563 35564, -2558 35564, -2555 35568, -2551 35568, -5551 36568, -5546 36568, -5542 36569, -5545 36569, -5543 36574, -5540 36569, -5541 36570, -5541 36572, -5541 36574, -5538 36579, -5535 36581, -5533 36585, -5530 36584, -5526 36579, -5524 38579, -5524 38580, -5524 38575, -5520 38575, -5516 38580, -5512 42580, -5508 42585, -5510 42587, -5510 42586, -5505 42586, -5508 42589, -2508 42593, -2509 42596, -2506 42598, -2504 42601, -2501 42602, -2501 42607, -2496 42612, -2499 42615, -2498 42620, -2500 42617, -2500 42620, -4500 42620, -4500 42624, -4500 42626, -4504 42623, -4507 42625, -4509 42628, -4513 42629, -4508 42629, -4505 42632, -4500 42628, -4499 42633, -4503 45633, -4501 45634, -4497 45635, -4494 45634, -4495 45632, -4493 45634, -4492 46634, -4489 46638, -4485 46633, -4481 46635, 21338 40536, 21343 40537, 21348 40538, 21348 40540, 21347 40540, 21348 40540, 21347 40540, 21346 40542, 21349 40547, 21350 40547, 21353 40544, 21353 40546, 21350 40549, 21353 40550, 21354 40550, 21355 40550, 21360 40550, 21361 40549, 21361 40554, 21359 40559, 21364 40564, 21366 40559, 21365 40559, 21366 40564, 25366 40568, 25367 40570, 25370 40570, 25373 45570, 25374 45571, 25374 45566, 25378 45568, 25383 42568, 25387 42564, 25391 42568, 25391 42572, 25395 42576, 25392 42576, 28392 42573, 28391 42574, 28387 42578, 28388 42580, 28391 42581, 31391 42582, 31387 42586, 31389 42586, 31392 42582, 31393 42583, 31394 42580, 29394 42584, 29398 42586, 29400 43586, 29404 43588, 29408 43589, 29409 43591, 29413 43596, 29415 43598, 29416 43599, 25416 43604, 25414 43599, 25417 43603, 25422 43606, 25420 43608, 25425 43603, 25428 43603, 25431 43606, 25436 42606, 25431 42608, 25434 42604, 25437 42609, 25438 47609, 25442 50609, 25443 50614, 25441 50618, 25446 50621, 25449 50625, 25446 50628, 25446 50630, 25447 50631, 25452 50636, 25452 50632, 25453 50634, 25453 50636, 25456 50637, 25460 50641, 25464 50645, 25465 50644, 25465 51644, 25469 51648, 25471 51653, 25475 51654, 25476 51657, 25477 51658, 26477 51662, 26477 51666, 26476 51669, 26478 51669, 26483 51665, 26485 55665, 26487 55668, 30487 55671, 30487 55674, 30491 55675, 30491 55672, 30493 55674, 30494 55674, 30495 55679, 30499 55679, 30503 55675, 30505 55680, 30502 55681, 30500 55676, 30496 55679, 30501 55680, 30502 55680, 30507 55685, 30503 55688, 30498 55689, 30502 55689, 30504 55691, 30508 55696, 30509 55697, 30508 55696, 30513 55697, 30518 55698, 30516 55703, 30516 55705, 30514 55705, 34514 55709, 34518 55712, 34522 55708, 34520 56708, 34521 56708, 34522 56710, 34519 56710, 34517 56705, 34521 59705, 34524 59710, 34524 59712, 34524 59717, 34528 59719, 34530 59721, 34535 59716, 34540 59719, 34540 59721, 34543 59721, 34548 59724, 34550 59725, 34554 63725, 34549 63730, 34551 63732, 34556 63730, 34558 63730, 34559 63725, 34558 63729, 34563 63734, 34560 63734, 37560 63729, 37563 63733, 37567 63728, 37571 63724, 37575 63722, 37580 63726, 37579 63722, 37581 63724, 37581 63726, 37582 63723, 37582 63724, 37581 63728, 37576 63729, 37576 63731, 37578 63729, 37583 63733, 37585 63736, 37588 63736, 37592 63741, 37594 63738, 37599 63735, 37602 63734, 37598 63735, 37598 63737, 37602 63737, 37603 63739, 37598 63739, 37593 63736, 37598 63737, 37603 63742, 37604 63737, 37601 63742, 37596 63744, 37600 63748, 37605 63749, 37607 63751, 37609 63756, 37609 63760, 37605 63761, 37605 63765, 37606 63765, 37610 63762, 37611 63766, 37606 63768, 37606 63768, 41606 63769, 41602 63765, 41601 63765, 41602 63770, 41598 63770, 41601 63770, 41603 63774, 41606 63772, 41610 63772, 41613 63776, 41616 63771, 41611 63767, 41614 63769, 41617 63764, 38617 63768, 38617 63772, 38620 63772, 35620 63773, 35620 63778, 35619 63779, 35620 63780, 35615 63779, 35617 63784, 35614 63786, 35615 63783, 35616 63779, 35620 63778, 35621 63780, 35626 63782, 35626 63784, 35631 63789, 35631 63784, 35628 63785, 35626 63786, 35631 63788, 35636 63791, 35640 63786, 35636 63787, 35636 63782, 35635 63781, 35640 63786, 35643 63790, 35646 63795, 35650 63797, 35649 63797, 35651 63801, 35655 63805, 35656 63808, 35656 63808, 35658 63808, 35657 63810, 35660 63814, 35660 63809, 35664 63809, 35659 67809, 35660 67812, 35662 67815, 35666 67812, 35662 67807, 35660 67807, 35663 67807, 35665 67812, 35668 67814, 35672 67818, 35671 67817, 35671 67820, 37671 67824, 37666 67824, 2277 13367, 2280 16367, 2276 16367, 2277 16366, 2281 16366, 2284 16366, 2289 16370, 2286 16370, 4286 16370, 4288 16375, 4292 16379, 4296 18379, 4297 18381, 9297 18385, 9298 18385, 9301 18386, 9305 18383, 9307 19383, 9310 19379, 8310 19384, 8314 19384, 38748 37655, 38751 37656, 38756 37657, 38759 37660, 38755 37665, 38755 37665, 38760 37667, 38765 37668, 38765 42668, 38770 42670, 38767 42672, 38772 42668, 38769 42663, 38770 42663, 38775 42658, 38773 42663, 38777 42665, 41777 42667, 41780 42669, 41783 42673, 41784 42671, 41781 42673, 41786 42676, 41783 42676, 41785 42676, 41782 42676, 41785 42679, 41786 42679, 41790 42680, 41794 42681, 41794 42679, 41795 42684, 41795 42680, 41798 42685, 41803 42689, 41806 42688, 41808 42689, 41806 42694, 41804 42696, 41807 42700, 41802 42701, 41804 42702, 41806 42704, 41811 42708, 41815 42709, 36815 42712, 36815 42708, 36812 42707, 36813 42709, 40813 42710, 40817 46710, 40818 46712, 40822 46712, 40820 46716, 40824 46721, 40827 46724, 40831 46728, 40829 46731, 40833 46731, 40835 46735, 40831 46737, 40832 46737, 36832 46742, 36832 46745, 36836 46748, 36833 46753, 36828 46752, 36824 46752, 36826 46755, 36821 46759, 36825 46762, 36825 46766, 36826 46770, 36824 46773, 36828 46776, 36833 46778, 36830 42778, 36835 42780, 36835 42781, 36840 42786)'))); +UPDATE t1 SET g = ST_linefromtext('linestring(-5 -576,0 -576,0 -571,0 -571,5 -568,6 -564,6 -565,6 -563)') WHERE p = 2; + +alter table t1 drop index `si`; + +connection purge_control; +COMMIT; +disconnect purge_control; +connection default; + +set global innodb_fast_shutdown = 0; +--source include/restart_mysqld.inc +drop table t1; diff --git a/mysql-test/suite/innodb_gis/t/rtree_estimate.test b/mysql-test/suite/innodb_gis/t/rtree_estimate.test new file mode 100644 index 00000000..7038799a --- /dev/null +++ b/mysql-test/suite/innodb_gis/t/rtree_estimate.test @@ -0,0 +1,80 @@ +# +# BUG#21245805 HA_INNOBASE::RECORDS_IN_RANGE() RETURNS CONSTANT FOR SPATIAL INDEXES +# + +--source include/have_innodb.inc +--source include/have_debug.inc + +CREATE TABLE t1 ( + g GEOMETRY NOT NULL +) ENGINE=InnoDB; + +ALTER TABLE t1 ADD SPATIAL(g); + +SET @g1 = ST_GeomFromText('POINT(10 10)'); +SET @g2 = ST_GeomFromText('POLYGON((5 5, 20 5, 20 21, 5 21, 5 5))'); +SET @g3 = ST_GeomFromText('POLYGON((1.79769e+308 1.79769e+308, 20 5, -1.79769e+308 -1.79769e+308, 1.79769e+308 1.79769e+308))'); + + +# Test empty table +EXPLAIN SELECT ST_AsText(g) FROM t1 WHERE MBRContains(g, @g1); +SELECT ST_AsText(g) FROM t1 WHERE MBRWithin(g, @g1); + +# Insert gis data +INSERT INTO t1 VALUES(@g1); +INSERT INTO t1 VALUES(@g2); +INSERT INTO t1 VALUES(@g3); + +SELECT ST_AsText(g) FROM t1; + +ANALYZE TABLE t1; + +# Test g1 +EXPLAIN SELECT ST_AsText(g) FROM t1 WHERE MBRContains(g, @g1); +SELECT ST_AsText(g) FROM t1 WHERE MBRWithin(g, @g1); + +EXPLAIN SELECT ST_AsText(g) FROM t1 WHERE MBRDisjoint(g, @g1); +SELECT ST_AsText(g) FROM t1 WHERE MBRWithin(g, @g1); + +EXPLAIN SELECT ST_AsText(g) FROM t1 WHERE MBREquals(g, @g1); +SELECT ST_AsText(g) FROM t1 WHERE MBRWithin(g, @g1); + +EXPLAIN SELECT ST_AsText(g) FROM t1 WHERE MBRIntersects(g, @g1); +SELECT ST_AsText(g) FROM t1 WHERE MBRWithin(g, @g1); + +EXPLAIN SELECT ST_AsText(g) FROM t1 WHERE MBRWithin(g, @g1); +SELECT ST_AsText(g) FROM t1 WHERE MBRWithin(g, @g1); + +# Test g2 +EXPLAIN SELECT ST_AsText(g) FROM t1 WHERE MBRContains(g, @g2); +SELECT ST_AsText(g) FROM t1 WHERE MBRWithin(g, @g2); + +EXPLAIN SELECT ST_AsText(g) FROM t1 WHERE MBRDisjoint(g, @g2); +SELECT ST_AsText(g) FROM t1 WHERE MBRWithin(g, @g2); + +EXPLAIN SELECT ST_AsText(g) FROM t1 WHERE MBREquals(g, @g2); +SELECT ST_AsText(g) FROM t1 WHERE MBRWithin(g, @g2); + +EXPLAIN SELECT ST_AsText(g) FROM t1 WHERE MBRIntersects(g, @g2); +SELECT ST_AsText(g) FROM t1 WHERE MBRWithin(g, @g2); + +EXPLAIN SELECT ST_AsText(g) FROM t1 WHERE MBRWithin(g, @g2); +SELECT ST_AsText(g) FROM t1 WHERE MBRWithin(g, @g2); + +# Test g3 +EXPLAIN SELECT ST_AsText(g) FROM t1 WHERE MBRContains(g, @g3); +SELECT ST_AsText(g) FROM t1 WHERE MBRWithin(g, @g3); + +EXPLAIN SELECT ST_AsText(g) FROM t1 WHERE MBRDisjoint(g, @g3); +SELECT ST_AsText(g) FROM t1 WHERE MBRWithin(g, @g3); + +EXPLAIN SELECT ST_AsText(g) FROM t1 WHERE MBREquals(g, @g3); +SELECT ST_AsText(g) FROM t1 WHERE MBRWithin(g, @g3); + +EXPLAIN SELECT ST_AsText(g) FROM t1 WHERE MBRIntersects(g, @g3); +SELECT ST_AsText(g) FROM t1 WHERE MBRWithin(g, @g3); + +EXPLAIN SELECT ST_AsText(g) FROM t1 WHERE MBRWithin(g, @g3); +SELECT ST_AsText(g) FROM t1 WHERE MBRWithin(g, @g3); + +DROP TABLE t1; diff --git a/mysql-test/suite/innodb_gis/t/rtree_multi_pk.test b/mysql-test/suite/innodb_gis/t/rtree_multi_pk.test new file mode 100644 index 00000000..f606e569 --- /dev/null +++ b/mysql-test/suite/innodb_gis/t/rtree_multi_pk.test @@ -0,0 +1,112 @@ +# WL#6745 InnoDB R-tree support +# This test case will test basic R-tree support features. + +--source include/have_innodb.inc + +# Create table with R-tree index. +create table t1 (i int, i2 char(10), g geometry not null, primary key (i, i2), spatial index (g))engine=innodb; + +# Insert values. +insert into t1 values (1, "111", POINT(1,1)); +insert into t1 values (2, "222", POINT(1.5,1.5)); +insert into t1 values (3, "333", POINT(3,3)); +insert into t1 values (4, "444", POINT(3.1,3.1)); +insert into t1 values (5, "555", POINT(5,5)); + +analyze table t1; + +# Select by R-tree index. +set @g1 = ST_GeomFromText('Polygon((0 0,0 3,3 3,3 0,0 0))'); +explain select ST_astext(t1.g) from t1 where MBRWithin(t1.g, @g1); +select ST_astext(t1.g) from t1 where MBRWithin(t1.g, @g1); + +# Delete values. +set @g1 = ST_GeomFromText('Polygon((0 0,0 3,3 3,3 0,0 0))'); +delete from t1 where MBRWithin(t1.g, @g1); +check table t1; + +select ST_astext(t1.g) from t1; + +# Update values. +set @g1 = ST_GeomFromText('Polygon((5 5,5 5,5 5,5 5,5 5))'); +update t1 set g = POINT(2,2) where MBRWithin(t1.g, @g1); +check table t1; + +select ST_astext(t1.g) from t1; + +# Show index. +--replace_column 7 # +show indexes from t1; + +# Cleanup. +drop table t1; + +# Test functions. +create table t1 (name VARCHAR(100), square GEOMETRY not null, spatial index (square))engine=innodb; + + +INSERT INTO t1 VALUES("small", ST_GeomFromText('POLYGON (( 0 0, 0 1, 1 1, 1 0, 0 0))')); +INSERT INTO t1 VALUES("big", ST_GeomFromText('POLYGON (( 0 0, 0 3, 3 3, 3 0, 0 0))')); + +INSERT INTO t1 VALUES("up", ST_GeomFromText('POLYGON (( 0 1, 0 3, 2 3, 2 1, 0 1))')); +INSERT INTO t1 VALUES("up2", ST_GeomFromText('POLYGON (( 0 2, 0 4, 2 4, 2 2, 0 2))')); +INSERT INTO t1 VALUES("up3", ST_GeomFromText('POLYGON (( 0 3, 0 5, 2 5, 2 3, 0 3))')); + +INSERT INTO t1 VALUES("down", ST_GeomFromText('POLYGON (( 0 -1, 0 1, 2 1, 2 -1, 0 -1))')); +INSERT INTO t1 VALUES("down2", ST_GeomFromText('POLYGON (( 0 -2, 0 0, 2 0, 2 -2, 0 -2))')); +INSERT INTO t1 VALUES("down3", ST_GeomFromText('POLYGON (( 0 -3, 0 -1, 2 -1, 2 -3, 0 -3))')); + +INSERT INTO t1 VALUES("right", ST_GeomFromText('POLYGON (( 1 0, 1 2, 3 2, 3 0, 1 0))')); +INSERT INTO t1 VALUES("right2", ST_GeomFromText('POLYGON (( 2 0, 2 2, 4 2, 4 0, 2 0))')); +INSERT INTO t1 VALUES("right3", ST_GeomFromText('POLYGON (( 3 0, 3 2, 5 2, 5 0, 3 0))')); + +INSERT INTO t1 VALUES("left", ST_GeomFromText('POLYGON (( -1 0, -1 2, 1 2, 1 0, -1 0))')); +INSERT INTO t1 VALUES("left2", ST_GeomFromText('POLYGON (( -2 0, -2 2, 0 2, 0 0, -2 0))')); +INSERT INTO t1 VALUES("left3", ST_GeomFromText('POLYGON (( -3 0, -3 2, -1 2, -1 0, -3 0))')); + +SET @p = ST_GeomFromText('POLYGON (( 0 0, 0 2, 2 2, 2 0, 0 0))'); +SELECT name, ST_AsText(square) from t1 where MBRContains(@p, square); +SELECT name, ST_AsText(square) from t1 where MBRDisjoint(@p, square); +SELECT name, ST_AsText(square) from t1 where MBREquals(@p, square); +SELECT name, ST_AsText(square) from t1 where MBRIntersects(@p, square); +SELECT name, ST_AsText(square) from t1 where MBROverlaps(@p, square); +SELECT name, ST_AsText(square) from t1 where MBRTouches(@p, square); +SELECT name, ST_AsText(square) from t1 where MBRWithin(@p, square); + +# MBROverlaps needs a few more tests, with point and line dimensions + +SELECT GROUP_CONCAT(a1.name ORDER BY a1.name) AS MBRoverlaps FROM t1 a1 WHERE MBROverlaps(a1.square, @vert1) GROUP BY a1.name; +SELECT GROUP_CONCAT(a1.name ORDER BY a1.name) AS MBRoverlaps FROM t1 a1 WHERE MBROverlaps(a1.square, @horiz1) GROUP BY a1.name; +SELECT MBROverlaps(@horiz1, @vert1) FROM DUAL; +SELECT MBROverlaps(@horiz1, @horiz2) FROM DUAL; +SELECT MBROverlaps(@horiz1, @horiz3) FROM DUAL; +SELECT MBROverlaps(@horiz1, @point1) FROM DUAL; +SELECT MBROverlaps(@horiz1, @point2) FROM DUAL; + +DROP TABLE t1; + +# Inplace create spatial index is not supported +create table t1 (i int not null, g geometry not null)engine=innodb; + +# Insert values. +insert into t1 values (1, POINT(1,1)); +insert into t1 values (2, POINT(1.5,1.5)); +insert into t1 values (3, POINT(3,3)); +insert into t1 values (4, POINT(3.1,3.1)); +insert into t1 values (5, POINT(5,5)); + +alter table t1 add primary key(i), algorithm=inplace; +alter table t1 drop primary key; + +create spatial index idx on t1(g) algorithm=inplace; + +create spatial index idx2 on t1(g); + +alter table t1 add primary key(i), algorithm=inplace; + +show create table t1; + +drop index idx on t1; + +drop table t1; + diff --git a/mysql-test/suite/innodb_gis/t/rtree_purge.test b/mysql-test/suite/innodb_gis/t/rtree_purge.test new file mode 100644 index 00000000..cab86aa6 --- /dev/null +++ b/mysql-test/suite/innodb_gis/t/rtree_purge.test @@ -0,0 +1,28 @@ +# This test case will test R-tree purge. + +--source include/innodb_page_size.inc +--source include/have_sequence.inc +--source include/not_valgrind.inc +# This test often times out with MSAN +--source include/not_msan.inc + +create table t ( + b point not null,d point not null, spatial key (d),spatial key (b) +) engine=innodb; + +--disable_query_log +set @p=point(1,1); +let $n=200; +while ($n) { +begin; +insert into t select @p,@p from seq_1_to_130; +delete from t; +commit; +dec $n; +} +--enable_query_log + +--source ../../innodb/include/wait_all_purged.inc + +# Clean up. +drop table t; diff --git a/mysql-test/suite/innodb_gis/t/rtree_recovery.test b/mysql-test/suite/innodb_gis/t/rtree_recovery.test new file mode 100644 index 00000000..d995048c --- /dev/null +++ b/mysql-test/suite/innodb_gis/t/rtree_recovery.test @@ -0,0 +1,78 @@ +# WL#6745 InnoDB R-tree support +# This test case test R-tree crash/recovery. + +# Restart is not supported in embedded +--source include/not_embedded.inc +--source include/have_innodb.inc +--source include/no_valgrind_without_big.inc + +# Do a clean shutdown and restart so that the redo log is cleaned up from previous tests. +--source include/restart_mysqld.inc + +# Create table with R-tree index. +create table t1 (c1 int, c2 geometry not null, spatial index (c2))engine=innodb; + +# Insert enough values to let R-tree split. +delimiter |; +create procedure insert_t1(IN total int) +begin + declare i int default 1; + while (i <= total) DO + insert into t1 values (i, Point(i, i)); + set i = i + 1; + end while; +end| +delimiter ;| + +# Update values +delimiter |; +create procedure update_t1(IN total int) +begin + declare i int default 1; + while (i <= total) DO + update t1 set c2 = Point(i + 10000, i + 10000) where c2 = Point(i, i); + set i = i + 1; + end while; +end| +delimiter ;| + + +# Test crash recovery. +# + +# Test level 1 rtree. +CALL insert_t1(367); +COMMIT; + +--let $shutdown_timeout=0 +--source include/restart_mysqld.inc + +# Check table. +check table t1; + +# Clean up. +drop table t1; + +# Test crash recovery on point spatial index. +create table t1 (c1 int, c2 point not null, spatial index (c2))engine=innodb; + +# Some DML on point spatial index. +CALL insert_t1(367); +CALL update_t1(367); + +SET @poly1 = ST_GeomFromText('POLYGON((10000 10000, 10000 10350, 10350 10350, 10350 10000, 10000 10000))'); +delete from t1 where ST_Contains(@poly1, c2); +COMMIT; + +--source include/restart_mysqld.inc + +# Check table. +check table t1; + +select count(*) from t1; +select c1, ST_astext(c2) from t1; + +# Clean up. +drop procedure insert_t1; +drop procedure update_t1; +drop table t1; diff --git a/mysql-test/suite/innodb_gis/t/rtree_rollback1.test b/mysql-test/suite/innodb_gis/t/rtree_rollback1.test new file mode 100644 index 00000000..3dea75bc --- /dev/null +++ b/mysql-test/suite/innodb_gis/t/rtree_rollback1.test @@ -0,0 +1,51 @@ +# WL#6745 InnoDB R-tree support +# This test case will test R-tree split. + +--source include/have_innodb.inc +--source include/big_test.inc +--source include/not_valgrind.inc +--source include/have_innodb_16k.inc + +# Create table with R-tree index. +create table t1 (c1 int, c2 geometry not null, spatial index (c2))engine=innodb; + +# Insert enough values to let R-tree split. +insert into t1 values(1, Point(1,1)); +insert into t1 values(2, Point(2,2)); +insert into t1 values(3, Point(3,3)); +insert into t1 values(4, Point(4,4)); +insert into t1 values(5, Point(5,5)); +insert into t1 values(6, Point(6,6)); +insert into t1 values(7, Point(7,7)); +insert into t1 values(8, Point(8,8)); +insert into t1 values(9, Point(9,9)); + +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +start transaction; +insert into t1 select * from t1; +select count(*) from t1; +rollback; +check table t1; + +select count(*) from t1; + +set @g1 = ST_GeomFromText('Polygon((0 0,0 100,100 100,100 0,0 0))'); +select count(*) from t1 where MBRWithin(t1.c2, @g1); + +set @g1 = ST_GeomFromText('Polygon((10 10,10 800,800 800,800 10,10 10))'); +select count(*) from t1 where MBRWithin(t1.c2, @g1); + +# Clean up. +drop table t1; + diff --git a/mysql-test/suite/innodb_gis/t/rtree_rollback2.test b/mysql-test/suite/innodb_gis/t/rtree_rollback2.test new file mode 100644 index 00000000..78b251bd --- /dev/null +++ b/mysql-test/suite/innodb_gis/t/rtree_rollback2.test @@ -0,0 +1,31 @@ +# WL#6745 InnoDB R-tree support +# This test case will test R-tree split. + +--source include/have_innodb.inc +--source include/big_test.inc +--source include/not_valgrind.inc + +# Create table with R-tree index. +create table t1 (c1 int, c2 geometry not null, spatial index (c2))engine=innodb; + +# Insert enough values to let R-tree split. +delimiter |; +create procedure insert_t1(IN total int) +begin + declare i int default 1; + while (i <= total) DO + insert into t1 values (i, Point(i, i)); + set i = i + 1; + end while; +end| +delimiter ;| + +start transaction; +CALL insert_t1(70000); +rollback; +check table t1; + +# Clean up. +drop procedure insert_t1; +drop table t1; + diff --git a/mysql-test/suite/innodb_gis/t/rtree_search.test b/mysql-test/suite/innodb_gis/t/rtree_search.test new file mode 100644 index 00000000..6bbd84a2 --- /dev/null +++ b/mysql-test/suite/innodb_gis/t/rtree_search.test @@ -0,0 +1,141 @@ +# WL#6968 InnoDB R-tree cursor support + +# Not supported in embedded +--source include/not_embedded.inc +--source include/not_valgrind.inc + +--source include/have_innodb.inc + +# Create table with R-tree index. +create table t1 (c1 int, c2 geometry not null, spatial index (c2))engine=innodb; + +# Insert enough values to let R-tree split. +delimiter |; +create procedure insert_t1(IN total int) +begin + declare i int default 1; + while (i <= total) DO + insert into t1 values (i, Point(i, i)); + set i = i + 1; + end while; +end| +delimiter ;| + +# Test level 1 rtree. +CALL insert_t1(1000); +select count(*) from t1; + +set @g1 = ST_GeomFromText('Polygon((0 0,0 1000,1000 1000,1000 0,0 0))'); + +select count(*) from t1 where MBRWithin(t1.c2, @g1); + +set @g1 = ST_GeomFromText('Polygon((0 0,0 100,100 100,100 0,0 0))'); +select count(*) from t1 where MBRWithin(t1.c2, @g1); + +set @g1 = ST_GeomFromText('Polygon((10 10,10 800,800 800,800 10,10 10))'); +select count(*) from t1 where MBRWithin(t1.c2, @g1); + +set @g1 = ST_GeomFromText('Polygon((100 100,100 800,800 800,800 100,100 100))'); +select count(*) from t1 where MBRWithin(t1.c2, @g1); + +#SET @save_dbug= @@session.debug_dbug; +#SET debug_dbug = '+d,rtr_pessimistic_position'; +#select count(*) from t1 where MBRWithin(t1.c2, @g1); +#SET debug_dbug = @save_dbug; + +# Equality search +set @g1 = ST_GeomFromText('Point(1 1)'); +select count(*) from t1 where MBRequals(t1.c2, @g1); + +# MBRDisjoint search +set @g1 = ST_GeomFromText('Polygon((0 0,0 100,100 100,100 0,0 0))'); +select count(*) from t1 where MBRdisjoint(t1.c2, @g1); + +# Clean up. +DROP PROCEDURE insert_t1; + +truncate t1; + +let $1=150; +let $2=150; +while ($1) +{ + eval INSERT INTO t1 VALUES ($1, ST_GeomFromText('LineString($1 $1, $2 $2)')); + dec $1; + inc $2; +} + +select count(*) from t1; + +set @g1 = ST_GeomFromText('Polygon((0 0,0 1000,1000 1000,1000 0,0 0))'); +select count(*) from t1 where MBRwithin(t1.c2, @g1); +truncate t1; + +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(2 2, 150 150)')); +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(3 3, 160 160)')); +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(4 4, 170 170)')); +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(5 5, 180 180)')); +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(6 6, 190 190)')); +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(7 7, 200 200)')); +INSERT INTO t1 VALUES (1, ST_GeomFromText('LineString(8 8, 210 210)')); + +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; +insert into t1 select * from t1; + +# Testing "MBRtouches" +# This is apparently now treated as "intersects" +set @g1 = ST_GeomFromText('Polygon((0 0,0 2, 2 2, 2 0, 0 0))'); +select count(*) from t1 where MBRtouches(t1.c2, @g1); + +set @g1 = ST_GeomFromText('Polygon((0 0,0 200,200 200,200 0,0 0))'); +select count(*) from t1 where MBRWithin(t1.c2, @g1); + +# Test MBRequals +set @g1 = ST_GeomFromText('LineString(2 2, 150 150)'); +select count(*) from t1 where MBRequals(t1.c2, @g1); + +# Test store procedure with open cursor +set @g1 = ST_GeomFromText('Polygon((0 0,0 200,200 200,200 0,0 0))'); +create table t3 (a int) engine = innodb; + +delimiter |; + +CREATE PROCEDURE curdemo() +BEGIN + DECLARE done INT DEFAULT FALSE; + DECLARE a INT; + + DECLARE cur1 CURSOR FOR SELECT c1 from t1 where MBRWithin(t1.c2, @g1); + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + + OPEN cur1; + read_loop: LOOP + FETCH cur1 INTO a; + IF done THEN + LEAVE read_loop; + END IF; + INSERT INTO test.t3 VALUES (a); +END LOOP; + +CLOSE cur1; +END| + +delimiter ;| + +call curdemo(); + +select count(*) from t3; + +drop procedure curdemo; +drop table t3; +drop table t1; + diff --git a/mysql-test/suite/innodb_gis/t/rtree_split.test b/mysql-test/suite/innodb_gis/t/rtree_split.test new file mode 100644 index 00000000..a23315dc --- /dev/null +++ b/mysql-test/suite/innodb_gis/t/rtree_split.test @@ -0,0 +1,90 @@ +# WL#6745 InnoDB R-tree support +# This test case will test R-tree split, mostly on duplicate records. + +# Not supported in embedded +--source include/not_embedded.inc + +--source include/have_innodb.inc +--source include/big_test.inc +--source include/not_valgrind.inc +--source include/have_debug.inc +--source include/have_sequence.inc +let $restart_noprint=2; + +# Create table with R-tree index. +create table t1 (c1 int, c2 geometry not null, spatial index (c2))engine=innodb; + +begin; +# Insert enough values to let R-tree split. +insert into t1 select @s:=1+(seq mod 9), point(@s, @s) +from seq_1_to_576; + +#Check second round spliting. +SET @saved_dbug = @@SESSION.debug_dbug; +SET debug_dbug = '+d,rtr_page_need_second_split'; +insert into t1 select @s:=1+(seq mod 9), point(@s, @s) +from seq_1_to_576; +SET debug_dbug = @saved_dbug; +rollback; + +insert into t1 select @s:=1+(seq mod 9), point(@s, @s) +from seq_1_to_2304; +begin; +insert into t1 select @s:=1+(seq mod 9), point(@s, @s) +from seq_1_to_2304; +rollback; +check table t1; +insert into t1 select @s:=1+(seq mod 9), point(@s, @s) +from seq_1_to_71424; +check table t1; + +select count(*) from t1; + +set @g1 = ST_GeomFromText('Polygon((0 0,0 100,100 100,100 0,0 0))'); +select count(*) from t1 where MBRWithin(t1.c2, @g1); + +set @g1 = ST_GeomFromText('Polygon((10 10,10 800,800 800,800 10,10 10))'); +select count(*) from t1 where MBRWithin(t1.c2, @g1); + +drop index c2 on t1; + +# Test create index with algorithm=inplace +--enable_info +create spatial index idx2 on t1(c2); +--disable_info + +show create table t1; + +# test read only case +let $restart_parameters = --innodb-read-only; +--source include/restart_mysqld.inc +set @g1 = ST_GeomFromText('Polygon((0 0,0 100,100 100,100 0,0 0))'); +select count(*) from t1 where MBRWithin(t1.c2, @g1); +set @g1 = ST_GeomFromText('Polygon((2 2,2 800,800 800,800 2,2 2))'); +select count(*) from t1 where MBRWithin(t1.c2, @g1); + +let $restart_parameters =; +--source include/restart_mysqld.inc + +set @g1 = ST_GeomFromText('Polygon((0 0,0 100,100 100,100 0,0 0))'); +select count(*) from t1 where MBRWithin(t1.c2, @g1); +set @g1 = ST_GeomFromText('Polygon((2 2,2 800,800 800,800 2,2 2))'); +select count(*) from t1 where MBRWithin(t1.c2, @g1); + +# Clean up. +drop table t1; + +--echo # +--echo # MDEV-30400 Assertion height == btr_page_get_level ... on INSERT +--echo # + +CREATE TABLE t1 (c POINT NOT NULL,SPATIAL (c)) ENGINE=InnoDB; +SET @save_limit=@@GLOBAL.innodb_limit_optimistic_insert_debug; +SET GLOBAL innodb_limit_optimistic_insert_debug=2; +BEGIN; +INSERT INTO t1 SELECT POINTFROMTEXT ('POINT(0 0)') FROM seq_1_to_6; +ROLLBACK; +SET GLOBAL innodb_limit_optimistic_insert_debug=@save_limit; +DROP TABLE t1; + +--echo # End of 10.6 tests diff --git a/mysql-test/suite/innodb_gis/t/rtree_temporary.test b/mysql-test/suite/innodb_gis/t/rtree_temporary.test new file mode 100644 index 00000000..e541d7c2 --- /dev/null +++ b/mysql-test/suite/innodb_gis/t/rtree_temporary.test @@ -0,0 +1,31 @@ +--source include/have_innodb.inc +--source include/have_sequence.inc + +--echo # +--echo # MDEV-27417 Spatial index tries to update +--echo # change buffer bookkeeping page +--echo # +CREATE TEMPORARY TABLE t1 (c POINT NOT NULL, SPATIAL(c)) ENGINE=InnoDB; +INSERT INTO t1 SELECT PointFromText('POINT(0 0)') FROM seq_1_to_366; +DROP TABLE t1; + +--echo # +--echo # MDEV-28478 Assertion mtr->get_log_mode() == MTR_LOG_NO_REDO +--echo # +CREATE TEMPORARY TABLE t1 (c POINT NOT NULL,SPATIAL (c)) ENGINE=InnoDB; +INSERT INTO t1 SELECT POINT(0,0) FROM seq_1_to_366; +INSERT INTO t1 VALUES (POINT(1e-270,1e-130)); +DROP TABLE t1; + +--echo # +--echo # MDEV-29507 InnoDB: Failing assertion: table->n_rec_locks == 0 +--echo # + +connect con1,localhost,root,,; +CREATE TEMPORARY TABLE t (c POINT NOT NULL,SPATIAL (c)) ENGINE=InnoDB; +INSERT INTO t SELECT POINTFROMTEXT ('POINT(0 0)') FROM seq_1_to_500; +XA BEGIN 'a'; +DELETE FROM t ORDER BY c; +disconnect con1; + +--echo # End of 10.3 tests diff --git a/mysql-test/suite/innodb_gis/t/rtree_undo.test b/mysql-test/suite/innodb_gis/t/rtree_undo.test new file mode 100644 index 00000000..962ff780 --- /dev/null +++ b/mysql-test/suite/innodb_gis/t/rtree_undo.test @@ -0,0 +1,99 @@ +# +# BUG#21340268 INNODB: BOGUS CHECK FOR MAXIMUM RECORD LENGTH WITH SPATIAL KEY +# BUG#21508582 UNDO LOG DOES NOT CONTAIN ENOUGH INFORMATION ON SPATIAL COLUMNS +# + +--source include/innodb_row_format.inc +--source include/count_sessions.inc + +connect (control_purge,localhost,root,,); +connection default; + +let $prefix_size = 767; +let $index = 3; + +while ($index) { +CREATE TABLE t1 ( + p INT NOT NULL AUTO_INCREMENT, + g LINESTRING NOT NULL, + PRIMARY KEY(p) +) ENGINE=InnoDB; + +if ($index == 3) { + eval ALTER TABLE t1 ADD INDEX prefix_idx (g($prefix_size)); +} + +if ($index == 2) { + ALTER TABLE t1 ADD SPATIAL INDEX spatial_idx (g); +} + +if ($index == 1) { + ALTER TABLE t1 ADD SPATIAL INDEX spatial_idx (g); + eval ALTER TABLE t1 ADD INDEX prefix_idx (g($prefix_size)); +} + +INSERT INTO t1(g) VALUES(ST_linefromtext('linestring(-5 -576,0 -576,0 -571,0 -571,5 -568,6 -564,6 -565,6 -563)')); +INSERT INTO t1(g) VALUES(ST_linefromtext(concat('linestring','(18 106,19 106,24 111,27 108,32 104,37 107,42 107,44 112,44 116,40 118,43 114,46 114,42 118,44 123,45 123,49 123,53 119,50 123,50 124,54 126,58 125,59 126,64 127,65 127,69 131,74 132,75 135,78 139,2078 141,2075 143,2077 143,2079 143,2084 143,2085 147,2090 -1853,2086 -1852,2086 -1856,2089 -1852,2093 -1850,2090 -1851,2090 -1852,2091 -1851,2092 -1850,2097 -1847,2102 -1848,2100 -1852,2100 -1852,7100 -1851,7103 -1850,7104 -1847,7109 -1842,65 127,67 131,66 131,61 132,61 133,62 137,65 1137,2065 1135,2061 1135,2064 1135,5064 1135,5066 1135,5070 1136,5070 1141,5071 1138,5074 1141,5075 1141,5074 1137,5076 1137,5071 1139,5066 1142,5065 2142,5068 2147,5073 2151,5069 2156,5071 2157,5072 2162,5074 2165,5069 2169,5072 2169,5076 2173,5074 2169,5078 2169,5076 2170,76 2175,74 2179,75 2184,80 2188,83 2190,87 2189,84 2193,87 2189,86 2190,87 2195,87 2200,87 1200,85 1202,86 1199,87 1200,87 1201,91 1206,92 1204,94 1204,98 1206,102 1208,105 1211,102 1216,105 1220,109 1224,110 1224,114 1225,117 1224,118 1229,117 1232,122 1237,123 1236,120 1235,124 1237,121 1236,122 1240,126 1244,127 1246,126 1249,125 5249,123 5251,127 5251,131 5251,135 5256,138 5257,135 5257,139 5257,138 5258,141 5260,146 5260,146 5260,143 10260,147 10265,151 10270,156 10266,157 10269,162 10273,166 12273,168 12274,163 12270,168 12275,170 12277,170 12277,-3830 12277,-3825 12277,-3824 12278,-3825 12276,-3825 12278,-3822 12277,-3825 12275,-3829 12278,-3828 12275,-3824 12280,-3827 12280,-3826 12282,-3822 12283,-3822 12286,-3820 12288,-3818 12289,-3816 12294,-3817 12297,-3819 12300,-3816 12297,-3813 12295,-3811 12299,-3811 12297,-3806 12298,-3806 12298,-3804 12301,-3801 12306,-3803 17306,-3803 17306,-3798 17306,-3803 17310,-3801 17314,-3798 17317,-3797 17317,-797 17321,-797 17323,-796 17325,-793 17326,-792 17322,-789 17327,-784 17331,-780 17335,-776 17339,-774 17339,-771 17342,-770 17345,-765 17348,-765 17349,-763 17353,-760 17350,-760 22350,-756 22346,-752 22349,-748 22352,-752 22348,-748 22347,-746 22345,-745 27345,-743 27346,257 27350,260 27349,261 27352,266 27348,266 22348,269 22347,271 22347,272 22347,273 22348,273 22352,278 22348,279 22344,282 22345,282 22342,283 22347,283 22347,288 22349,292 22347,292 22348,293 22348,298 22348,303 22351,306 22352,309 22352,308 22354,310 22356,311 22361,311 22358,311 22360,311 22360,315 22356,320 22358,325 22363,326 22366,321 22371,318 22373,318 22375,314 22375,316 22375,321 22376,321 22376,322 22372,32 104,36 109,40 114,40 113,40 117,44 119,49 123,49 126,49 129,53 133,50 137,50 139,49 137,48 138,43 138,42 139,46 142,46 138,41 139,45 141,4045 5141,4045 5146,4042 5147,4043 10147,4041 10150,4042 10152,4045 10152,4041 10156,4041 10152,4041 10152,4046 10153,4049 10156,4046 10155,4051 10157,4055 10159,4055 10160,4056 10161,4055 10166,4054 10169,4054 10172,4054 15172,4051 15176,4047 15177,4049 15174,4047 15176,4047 15176,4046 15177,4046 15180,4043 15184,4043 15187,4038 15190,4040 15194,4040 15199,4045 15196,4047 15197,4050 15200,4050 15204,4050 15208,4047 15212,4047 15215,4049 15216,4046 15218,4042 15223,4042 15228,4042 15232,4047 15235,4050 15236,4050 15239,4051 15243,4053 15243,4050 17243,4052 17243,4052 18243,4057 18247,4061 18249,4064 18249,4067 20249,4067 20250,4067 20255,4066 20259,4066 20259,4067 20255,4069 20256,4071 20258,4072 20254,4067 20257,4067 20260,4069 20265,4065 20267,4069 20266,4070 20267,4071 20264,4074 20259,4070 20264,4073 20260,4074 20263,4077 20268,4082 20271,4084 20273,4084 20277,4081 18277,4085 18279,4086 18276,4087 18273,4087 18275,4092 18277,4093 18279,4093 18280,4095 18280,4091 18283,4092 18281,4094 18283,4090 18287,4094 18287,138 5257,138 5255,138 5258,-1862 5254,-1860 5256,-1856 5258,-1851 5255,-1850 5260,-1847 5260,-1847 5263,-1847 5258,-1850 5257,-1850 5259,-1851 5257,-1855 5258,-1853 5261,-1849 5261,-1849 5258,-1849 5259,-1845 5264,-1847 5264,-1850 5268,-1852 5266,-1853 5270,-1856 5265,-1852 5262,-1847 5263,-1842 5263,-1842 5260,-1842 5265,-1841 5265,-1844 5265,-1842 5270,-1837 5274,-1838 5279,-1843 5275,-1842 5280,-1838 5281,-1838 5285,-1833 5285,-1828 5288,-1824 5289,-1828 5291,-1831 5291,-1826 5291,-1830 5293,-1826 5296,-1822 5301,-1826 5302,-1826 5302,-1826 5302,-1825 5297,-1820 5299,-1816 5303,-1816 5299,-3811 12299,-3809 12302,-3806 12302,-3806 12302,-3803 12304,-3798 12304,-3797 12304,-3793 12306,-3788 12306,-3783 12309,-3816 12294,-3811 12299,-3809 12297,7100 -1851,7098 -1854,7102 -1854,7107 -1856,7107 -1858,7110 -1854,7110 -1851,7113 -1851,7115 -1851,7120 -1851,7123 -1847,7124 -1852,7125 -1852,7127 -1852,7131 -1852,7129 1148,7129 1145,7133 1150,7137 1148,7138 1147,7143 1149,7147 1154,8147 1155,8152 3155,8147 3157,8143 3158,8144 3160,8144 3164,11144 3167,11146 3167,11148 3163,11152 3161,11148 3159,11149 3163,11150 3161,11151 3166,11154 3171,11154 3170,8144 3160,8144 3163,8144 3166,8145 3166,8146 3171,8146 3174,8144 3174,8144 3174,8145 3176,8141 3180,3141 3182,7141 3183,7141 7183,7136 7185,7136 7185,7133 7187,7136 7187,7131 7190,7136 7194,7137 7197,7141 7196,7139 7199,12139 7200,12143 7200,12143 7199,12144 7203,12145 7200,12141 7200,12136 7195,12136 7191,12137 7191,12137 7196,12139 7197,12140 7197,12137 7201,12140 7204,12140 7209,12143 7209,12145 7210,12147 7214,12148 9214,12152 9218,12149 9218,12149 9221,12149 9220,12150 9222,12153 10222,12153 10226,12156 10227,12159 10223,12160 10220,12161 10225,12161 10227,12163 10224,12163 10223,12158 10224,12158 10227,12158 10231,12155 12231,12157 12226,7136 7185,7139 7189,7139 7189,7139 7188,7137 7191,7139 7191,7140 7189,7143 7191,7144 7189,7144 7190,7149 7193,7152 7194,7154 7198,7153 7203,7148 7207,12148 7209,12146 7209,12145 7213,12140 7217,12139 7219,12141 7219,12138 7218,12143 7218,13143 7220,13140 7224,13142 7228,13137 7231,13142 7235,13146 7239,13149 7243,13148 7247,13150 7248,13155 7249,13155 7253,13155 7253,13155 7258,13157 7260,13162 7255,13159 7255,13163 7258,13164 7258,13164 7263,13167 7264,13167 8264,13165 8265,13169 8265,13171 13265,13175 13261,13176 13259,13176 13259,13180 13262,13181 13262,13183 13262,13188 13265,13191 13267,13191 13265,13194 13267,13191 13269,13192 13264,13196 13269,13198 13272,13200 13272,13202 13270,13207 11270,13211 11270,13211 11273,13213 11274,13217 11275,13222 11276,13222 11272,13226 11274,13231 11277,13233 11282,13236 11284,13238 11284,13236 11286,13236 11288,13236 11283,13236 11284,13238 11289,13241 11292,13244 11292,13245 11289,13241 11294,13244 11298,13249 11301,320 22358,324 24358,328 24358,327 24363,326 24359,327 24361,329 24365,334 24367,-666 24367,-670 24368,49 123,46 127,46 129,49 131,49 136,47 135,45 138,3045 135,3042 138,3044 139,3044 144,3049 144,3053 142,3055 137,3058 136,3053 139,3048 142,7048 138,7048 3138,7048 3139,7048 3140,7050 3145,7053 1145,7050 1146,7053 5146,7048 5150,7047 5146,10047 5147,10043 5147,10047 5147,10050 5152,10052 5155,10054 5156,10056 5157,10056 5159,10058 5162,10062 5164,10062 5169,10066 9169,10068 9168,10063 9164,10063 9169,10061 9171,14061 9172,14061 9174,282 22342,287 22347,288 22347,288 22343,285 22339,280 22338,278 22341,279 25341,284 25343,13241 11294,13246 11296,13243 11296,13244 11291,13245 11291,13244 11291,13246 11295,13251 11300,13253 11305,13253 11306,13258 11305,13255 11306,13256 11309,13256 11311,13261 11307,13265 11303,13267 11305,13270 11301,13275 11298,13271 11300,15271 11302,15276 11306,15279 11303,15284 11305,15286 11305,15289 11307,15290 11302,15292 11305,15296 11309,15297 11313,15298 11316,15300 11317,15304 11320,15306 11324,15306 11320,15307 11320,15312 11320,15313 11319,15317 11317,15315 11321,15317 11323,15317 11328,15319 11333,15322 11336,15322 11337,15322 11337,15324 11341,15324 11345,15325 14345,15328 13345,17328 13346,17333 13349,17337 13354,17338 13358,17342 13358,17346 13353,17348 13353,17345 13353,17348 13354,17347 13354,17347 13354,17347 13355,22347 13358,22349 13355,22351 13355,22356 13354,22358 13354,22361 13355,22362 13355,22358 13355,22359 13359,22364 13364,22369 13369,22372 13373,22376 13371,22377 13371,22377 13369,22381 13374,22386 13379,22387 13376,22387 13380,22392 13378,22390 13374,22392 13378,22391 13378,22391 13375,22392 13378,22390 13380,22393 13382,22398 13387,22398 10387,22402 10391,22399 10392,22400 10392,22400 10394,22404 10391,22403 15391,22405 15392,22407 15392,22412 15387,22412 15390,22412 15394,22408 15396,26408 15398,26407 20398,26411 20402,26415 20406,26417 20411,26420 20407,26422 20407,31422 16407,31421 16405,31421 16410,31423 16410,31426 16414,31426 16410,31430 16415,31430 16418,31435 16419,31437 16420,31438 16422,31438 16425,31438 16425,31441 16427,31439 16431,31441 16436,36441 16436,36443 18436,36442 18437,36440 18440,36440 18436,36440 18440,36442 18445,36443 18446,36447 18451,37447 23451,37452 23456,37456 23455,37458 23459,37456 23461,37458 23463,37460 23466,37464 23469,37460 23474,37462 23476,37461 26476,37466 26479,37470 26483,37471 26488,37474 26489,37474 26485,37474 26483,37474 26488,37470 26492,37474 26497,37474 26499,37478 26495,37483 26499,37483 26501,37488 26496,37491 26499,37495 26495,37500 26496,37500 26497,37500 26501,37497 26499,37497 26499,37495 26504,37498 26504,37494 26509,37497 26514,37495 26515,37498 26514,37503 26514,37508 26512,37510 26516,37511 26519,37509 26523,37506 26528,37507 26532,37512 26536,37513 26538,37510 26542,37512 26544,37517 26543,37522 26546,37527 26551,37525 26555,37529 26558,37524 26563,37524 26562,37527 26562,37522 26562,37522 26559,37526 26561,37522 26559,37523 26561,37523 26556,37524 26558,40524 26560,40524 26563,40521 26567,40525 26566,40527 26568,40532 26572,40534 26569,40533 26565,40531 26565,40535 26569,40535 26570,40539 26572,40544 26575,40543 26575,40544 26579,40548 26584,40549 26581,40553 26585,40556 26590,40552 22590,40557 22594,40556 22595,40561 22592,40561 22593,40565 22593,40568 22593,40573 22588,40570 22590,40570 22591,40570 22588,40573 22590,40573 22593,40568 22593,40567 22597,40567 22599,40571 22599,40574 22600,40574 22604,42574 22607,42577 22607,42577 22612,42579 22616,38579 22619,38580 22617,38580 22614,38575 22619,38579 22619,38579 18619,38582 18614,38582 18617,38586 18622,38590 18625,38590 18622,38594 18621,38596 18616,38597 18614,38597 18618,38600 21618,38601 21618,38605 21620,38607 25620,38611 25620,38608 25617,38608 25621,38608 25625,38611 25623,38615 25623,38615 25620,38616 25622,38619 25624,38620 25625,38620 26625,38623 26627,38623 26627,311 22358,311 22359,-1689 22360,2311 27360,2312 27360,2312 27360,2317 27362,2317 27362,2319 27359,2319 27364,2318 27359,2321 27364,2326 27367,2325 27371,2326 27373,2326 27373,2325 27377,2329 27377,2327 27377,2330 27379,2333 27379,2331 27379,2331 27381,2336 27381,6336 27382,6336 27383,40527 26568,40531 26572,40533 26574,40538 26576,40533 26580,40538 26585,40539 26588,40536 26583,40540 26587,40539 26588,40535 26593,40540 26594,40544 26597,40548 26602,40548 26601,40549 26602,40547 26602,40548 26603,40553 26606,40548 26606,40548 26603,40551 26608,40556 26612,40559 26616,40554 26619,40556 26619,40556 26623,42556 26623,42556 26624,42560 26624,42562 26626,42563 26630,42564 26630,42564 26634,42559 26635,42562 26635,42565 26637,42562 26638,42564 26642,42564 26641,42568 26641,42572 26641,42572 29641,42574 29642,39574 29641,39574 34641,39576 34643,39581 34638,39578 34638,39574 34642,39574 34645,39572 35645,34572 35648,34577 35651,39577 35655,43577 35659,43580 35655,43575 35658,43578 35658,43581 35662,43577 39662,43572 39658,43572 39661,43572 39664,43572 39666,43576 39670,43577 39667,43580 39671,43576 39673,43573 39673,43574 39677,43569 39679,43567 39679,43568 39683,43563 39686,43566 39690,43566 39692,43568 39694,43568 39695,41568 39691,41570 39692,41571 39692,41571 39693,41571 39698,41571 39698,41574 39698,41569 39698,41570 39699,41570 39704,41572 39709,41573 39712,41578 39713,41579 39717,41584 39719,41585 39720,-1850 5268,-1845 5268,-1847 5266,-1842 5268,-1840 5263,-1845 5264,-1843 5264,-1839 8264,-1839 8267,-1839 8272,-1838 8276,-1834 8273,-1834 8273,-1833 8274,-1837 8279,-1836 8283,-1834 8286,-1836 8282,-1834 8279,-1835 8279,-1834 8280,-1836 8283,-1841 8288,-1846 8289,-1843 8286,-1838 8286,-1841 8285,-1838 8285,-1834 8288,-1829 8291,-1825 8286,-1825 8289,-1825 8287,-1824 8291,-1822 8294,-1821 8298,-1818 8300,-1818 8296,-1814 8296,-1811 8295,-1808 8292,1192 8296,1192 8297,1195 11297,1192 11301,1195 11305,1197 11300,1193 11300,1193 11296,1193 11293,1194 11294,1199 11292,1204 11292,1205 11294,1210 11292,1208 11288,1204 11290,1205 11289,1207 8289,1202 8284,1204 8282,1204 8281,1206 8281,1208 8281,1212 8283,1212 13283,1213 13287,1213 13290,1216 13293,1214 13289,1217 13286,1212 13291,1208 13288,1208 13292,1209 13297,1208 13296,1204 13298,1205 13303,1209 13308,1204 13308,1209 13304,1210 13304,1214 13309,1214 13314,1215 13314,1219 13314,1219 13319,1224 13320,1229 13321,1232 13325,1233 13329,1231 13329,1234 13334,-2766 13336,-2769 13337,-2765 13340,-2762 13345,-2760 13342,2240 13342,2238 13342,2242 13342,2246 13345,2246 13346,2244 13348,2239 13348,2240 13351,2240 13352,2245 13357,2248 13357,2243 13362,2247 13362,2248 13362,2252 13363,2256 13363,2256 13363,2260 13367,2255 13372,2251 13369,2251 13369,2252 13372,2249 13376,2254 13378,2255 13382,2259 13379,2262 13379,2267 13381,2262 13381,2262 13383,2265 13383,2269 13385,2270 13386,2271 13389,2267 13391,2271 13386,2275 13391,2273 13392,2275 13387,2277 13390,2274 13390,2275 13394,2280 13395,2280 11395,2281 14395,2279 14400,2277 14403,2273 14406,2274 16406,2274 16410,2279 16410,2284 16411,2280 16409,2280 16409,2282 16409,2282 16411,2282 16412,2280 16413,3280 16418,3284 16418,3285 16423,3289 16423,3292 16427,3294 16429,3296 16431,3297 16436,3298 16435,3303 16435,3305 16434,3305 16436,3305 16436,3309 16437,3309 16438,3308 16439,3308 16439,3306 16444,3302 16441,-1698 16437,-1703 16438,-1699 16438,-1697 16438,-1698 16439,-1695 16436,-1690 16441,-1687 16446,-1683 16450,-1682 16451,-1684 16453,-1682 16457,-1682 16457,-1686 16460,-1681 16459,-1680 16456,-1677 16460,-1681 16461,-1679 16464,-1674 16465,-1673 16469,-1669 16471,-1669 16476,-1665 16474,-1665 16478,-1664 16478,-1664 16479,-1661 16474,-1656 16471,-1655 11471,-1660 11473,-1663 11475,-1666 11480,3334 15480,3338 15476,3342 15471,3345 15471,3345 15470,3350 15469,3347 15474,3351 15476,3352 15473,3353 15476,3350 15477,3350 15479,3351 15482,3352 15484,3351 15487,3353 15487,3358 15487,3353 15486,1217 13286,1222 13291,1222 13291,1225 13286,1229 13286,1231 13281,1235 13280,1236 13281,1241 13282,1245 13285,1247 13285,1247 13287,1250 13287,1247 13290,1247 13295,1247 13298,1252 13301,1249 13304,1252 13304,3252 13304,3247 13304,3249 13308,3254 13308,3257 13308,3261 17308,3261 17309,3261 17306,3259 17305,3262 17310,3263 17308,3262 17311,3259 17314,3259 17314,3257 17309,3254 17309,3253 17309,3255 17310,3253 17312,3255 17312,3255 17312,3256 17307,3257 17307,3256 17311,3256 17313,3255 17317,3251 17317,3248 17321,3253 17325,3256 17326,3258 17324,3258 17327,3263 17322,7263 17325,7265 17328,7263 17330,7265 17333,7270 17333,7273 17333,7278 17336,4278 21336,4278 21340,4279 21340,4281 21340,4286 24340,4290 24343,9290 24347,9294 24349,9296 24347,9298 25347,9301 25348,9301 25348,9304 25353,9303 25357,9303 25352,11303 25355,11304 25358,11307 25358,11312 25358,11312 25361,11310 25365,11313 25365,11314 25369,11319 25371,11321 25371,11325 25366,11329 25365,11330 25366,11329 25370,11330 25365,11334 25367,11338 25366,11343 25363,11348 25359,11345 25356,11348 25357,11349 25358,11349 25358,11352 25360,11356 30360,11360 30365,11360 30365,11362 30365,11367 30367,11368 30369,15368 30370,15373 30371,15376 30373,14376 30378,14377 30383,14381 30378,14386 30380,14388 30382,14391 30385,14393 31385,16393 31389,16396 31394,16396 31397,16392 31400,16395 31405,16398 31409,16398 31413,16397 31415,16396 31417,16401 31418,16401 31422,16402 31419,16407 31420,16411 31419,16406 31423,18406 31427,18411 31432,18415 28432,18417 28437,18418 28441,18414 28438,18417 28435,18416 28439,18420 28442,18423 28447,18427 28444,21427 28445,21428 28450,22428 28455,22432 28457,22436 28458,22441 28458,22445 28463,22448 28468,22451 28465,22456 28468,22453 28468,22458 28471,22463 28473,22460 28475,22459 28472,22463 28476,22464 28472,22468 28468,22468 28471,25468 28466,25471 28468,25473 28464,25473 28464,25475 29464,25476 29466,25479 29461,25476 29462,25476 29464,25478 29464,25483 29461,25484 29460,25486 29458,25486 29462,25490 29460,25495 26460,25498 26463,25495 26468,25495 26472,25495 26472,25499 26474,25504 26476,25504 26478,25509 26476,25513 26479,25514 26481,25519 26477,25519 26480,25518 26481,25519 26484,25524 26483,25527 26484,25522 26484,25526 26487,25528 26492,25533 26496,25535 26498,25535 26498,25539 26503,25542 26504,25543 26505,25547 26510,25552 26510,25551 26508,25550 26512,25553 26510,25557 26510,25554 26511,25552 26508,25556 26505,25556 26506,25560 26506,25560 26507,25560 26506,25565 26501,25567 26504,25569 26504,25568 26508,25571 26508,25571 26511,25576 26511,25581 26516,25581 26519,25582 26521,25585 26522,25588 26527,25588 26526,25584 26530,25587 26534,25589 26529,25593 26533,25598 26538,25599 26540,25599 26540,25599 26540,25604 26543,25603 26543,25603 26538,25606 26538,25609 26540,25611 26542,25612 26547,25612 26547,25612 26548,25617 25548,25612 25548,25613 25547,25616 25545,25616 25549,25618 25551,25620 25555,25620 25551,25622 25550,25625 25551,25622 25555,25619 25557,25617 25556,25622 28556,25625 28551,25630 28546,25634 28548,25639 28553,25643 28553,25638 25553,25634 25553,25634 25557,25639 25557,25643 25558,25644 25553,25646 25556,25647 25560,25650 25562,25650 30562,25650 30562,25650 30564,25650 30566,25652 30570,25656 30571,25661 31571,25662 31575,25663 31579,25662 31579,25665 31581,25666 31584,25671 31582,25674 31581,25674 31584,25676 31584,25673 31587,25678 31586,25679 31581,30679 31584,30675 31589,30680 31590,35680 31590,35675 31589,35677 31591,35680 31590,35681 31587,35684 31588,35685 31589,35689 31592,35689 31593,35692 31597,35696 31597,35700 34597,35699 34599,35703 34604,35703 34606,35702 34601,35705 34603,35705 34606,35708 34603,35713 34604,35717 34603,35719 34608,35715 34608,35711 34608,35713 34609,35714 34605,35714 34610,35714 34614,35718 34616,35719 34617,35722 34618,35722 34621,35725 34625,35725 34626,35725 34629,35725 34631,35725 34635,35730 34636,35727 34638,35731 34640,35735 34642,35739 34645,35741 34645,35742 34649,35738 34649,35738 34645,35741 34647,38741 34650,38741 37650,38742 37646,38746 37651,38749 37652,38753 37653,38753 37657,38757 37656,38756 37660,38761 37660,38765 37660,38760 37660,38759 37660,38760 41660,38760 41660,38762 41665,38757 41667,43757 41669,43752 41674,43752 41677,43757 41672,43758 41677,45758 41680,45758 41679,45762 41683,45765 41683,45769 41683,45770 41684,45768 46684,45773 46688,45776 46692,45774 46694,45775 46697,45778 46695,45776 46698,45774 46702,45779 46702,45784 46704,45787 46706,45791 46711,45786 46707,45790 46711,45793 46715,45796 46719,45799 46724,45797 46728,45802 46726,45797 46729,45801 46733,45802 46733,45803 46732,45804 46732,45805 46732,45808 46735,45810 46740,45810 46744,2326 27373,2322 27377,2323 27379,2325 27383,2325 27382,2322 27382,2323 27382,5323 23382,5325 23385,5329 23386,5330 23390,5335 23392,5330 23392,5330 23395,5329 23395,5333 23399,5333 23402,5338 23405,5339 23405,5334 23406,5329 23401,5332 23403,5330 23407,5333 23409,5328 20409,5324 20411,5324 20414,5329 20416,5328 20421,5325 20421,5329 20424,5330 20424,5335 21424,5331 21427,5333 21431,5334 21433,5329 21434,5330 21437,5333 21440,5338 21437,5338 21440,5334 21441,5333 21438,5329 26438,5332 26435,5335 26439,5337 26440,5338 26444,5342 26439,5342 26442,5345 26440,5349 26438,5352 26442,5349 26445,5348 30445,5350 30447,5350 30444,5354 30444,5359 30443,5363 30445,5367 30446,5367 30448,5367 30453,5371 30455,5371 30453,5373 30458,5375 30461,5380 30463,5384 30463,5383 30459,5384 30459,5383 30459,5385 30460,5390 30459,5392 30464,5394 30464,5389 30465,5393 30469,5391 30469,5391 30469,5395 30474,5396 30470,5399 30470,5401 30467,5401 30468,5404 30470,5400 30465,5401 30462,5403 30467,5404 30467,5409 30469,5412 30473,5412 30477,5407 30481,8407 30486,8408 30489,8410 30490,8410 30489,8413 30490,8414 30493,8414 30496,8419 30501,8420 30502,8415 30507,13415 30509,13411 30506,13414 30507,13412 30511,13412 30515,13417 30518,13419 30523,13418 30527,13422 30529,13418 30531,13413 35531,13409 35531,13413 35532,13417 35537,13419 35533,13423 35529,13424 35529,13423 35524,13428 35525,13433 35526,13438 35530,13443 35531,13448 35531,13452 35532,13455 35536,13457 35536,13452 35536,13455 35539,13452 35535,13457 35540,13457 35544,18457 35546,18460 35547,22460 35546,22465 35550,22466 35554,22468 35552,22473 35555,22471 35559,22470 35564,22472 35564,22470 35569,22474 35569,22474 35571,22477 35573,22482 35576,22487 35580,22488 35583,22489 35585,22493 35585,22496 35585,25496 35586,25493 35582,25494 35585,25498 35585,25496 35585,25498 35587,25503 35591,25503 35593,25499 35590,25499 35591,25495 35591,26495 35595,29495 35591,29495 35593,29498 35597,29498 35601,29500 35606,29501 30606,29502 30603,29505 30603,29510 30606,29511 30606,29514 30607,29516 30610,29518 30608,3259 17305,3263 17304,3267 17303,3271 17308,3269 17312,3269 17313,3274 17315,3277 17315,3282 17311,3285 17313,3283 17309,3278 17310,3275 17315,3275 17317,3276 17322,3280 17324,3280 17324,3276 17325,3277 17325,3276 17328,3278 17324,3273 17329,3277 17331,3280 17326,3281 17328,3276 17324,3277 17324,3277 17322,3277 17321,3277 17321,3281 17323,3282 17327,3282 17332,3287 17335,3288 17335,3288 17338,3290 17337,3294 17340,3294 17341,3299 17341,3299 12341,3299 12342,3304 12339,3301 14339,3305 14340,3307 14341,3311 14343,3313 14343,3314 16343,3310 16341,3310 16346,3312 16348,3311 16349,4311 16346,4316 16348,4321 16344,4324 16348,4322 16349,4323 16346,4323 16346,4326 16350,4322 16354,4323 16356,4325 16361,4325 16358,4322 16362,4325 20362,4325 20366,4322 20367,4326 20372,4326 20374,4331 20373,4333 20373,4338 20376,4339 20379,4341 20382,4338 20384,4339 20386,4340 20383,4340 20383,4335 20388,4336 20390,4341 20390,4346 20391,4348 20391,4349 20393,37497 26499,37494 26496,37496 26500,37496 26501,37499 26506,37497 26502,37498 26502,37500 29502,37500 29507,37505 29508,37506 33508,37508 33513,37513 33518,37517 33522,37516 33520,37521 33521,37521 33525,37516 33530,37519 33528,37520 33528,37524 33530,37527 33530,37525 33527,37528 33530,37533 33533,37534 38533,37536 38536,22358 13355,25358 13360,25361 13358,25362 13362,25362 13362,25365 13365,25363 13367,25359 13369,25357 13374,25360 13374,2247 13362,2252 13366,2254 13363,2257 13363,2261 13358,2264 13354,2264 13356,2269 13361,2272 13363,2274 13363,2275 13363,2273 13362,2274 13365,2278 13365,2280 13370,2284 13366,2284 13365,2289 13368,2290 13366,2293 13368,2298 13373,2298 13372,2295 13375,271 22347,273 22350,4273 22347,4269 22348,4270 22350,4271 22355,4272 22360,4276 22363,4281 22365,4284 24365,4279 24365,4282 24365,4285 24365,4287 24364,4289 24362,4294 24360,4295 24362,4298 24365,4301 24369,1301 24370,1301 24371,1305 24375,1305 24376,1307 24377,1312 24380,1314 24382,1318 24380,1316 24382,1316 24387,1318 24387,1318 29387,1321 29387,1316 29383,1320 29386,1321 29389,1326 29389,1327 29389,2327 29394,2327 29394,2332 29393,-666 24367,-663 24368,-661 24368,-656 24371,-653 24372,-649 24372,-647 24374,-643 24370,-638 24375,-635 24380,-638 24382,-638 24384,-638 24384,-636 24388,-637 24390,-632 24386,-630 24386,-629 24386,371 24389,376 24394,374 24392,377 24397,3377 24400,6377 24405,6378 24408,6373 24406,6370 24406,6375 24403,6370 24403,6375 24403,6379 24406,6374 24409,6378 24411,6380 24412,6378 24415,6378 24419,6383 24423,6385 24425,6387 24428,6390 24433,6386 24430,6386 24435,6387 24436,6388 24440,6387 24444,6383 29444,6383 29447,6386 29451,6382 29446,6387 29447,6390 29452,6393 29452,6397 29455,6400 29459,6400 29463,6397 29467,6393 29467,6395 29470,6397 29473,6399 29468,6394 29467,6397 29470,6396 29473,6396 29470,6393 29465,6389 29469,6390 29470,6389 29465,6389 29468,6392 29470,6388 33470,6390 33466,6391 33466,6392 33467,6394 33467,322 22372,322 22374,323 22377,327 22378,331 22382,330 22383,332 22386,333 22383,331 22383,330 22387,332 22391,332 22396,337 22397,339 22394,340 22399,340 22398,340 22396,343 22396,343 22396,341 22400,342 22404,343 22402,348 22403,345 22407,347 22411,342 22411,345 22413,340 22417,345 22417,348 22422,348 22426,351 22427,352 22432,352 22436,4352 22438,4353 22442,4354 22444,4354 22447,4357 22449,4360 22450,4364 22450,4367 22451,4369 22453,4366 22455,4369 22453,4373 22458,4377 22459,4380 22459,4380 22464,4385 22467,4385 22467,4390 22469,4385 22469,4385 22472,25571 26508,25574 26507,25578 26512,25581 26512,25581 26512,25583 26508,25583 26513,25587 26516,25589 26515,25590 26515,25591 26517,25589 26520,25587 26522,23587 26526,23585 26531,23589 26534,23592 26538,24592 26543,24588 26545,24593 26547,24598 26543,24598 26548,24602 26545,24598 26540,24600 26545,24600 26548,24600 31548,24605 31549,24608 31551,24613 31552,24615 36552,24616 36557,24619 36557,24622 36560,24622 36564,24627 35564,24627 35569,24632 35569,25632 35570,25635 35569,25636 35573,25636 35573,25638 35576,25641 35580,25641 35583,25641 35588,25642 40588,20642 40593,20645 40593,20650 40595,20651 40591,20651 40594,20648 40591,20648 40591,20652 40596,20652 40596,20656 40597,20656 40600,20656 40601,20659 40598,20662 40597,20662 40597,20663 40600,20668 40601,20665 40606,1215 13314,1214 13319,1212 13317,1209 13312,1210 13312,1211 13317,6211 13320,6214 13320,6216 13320,6211 13323,6214 13318,6214 13323,6214 13324,6216 13319,6219 13323,6218 13321,6219 13321,6218 13326,6221 13329,6225 13331,6230 13335,6231 13339,6231 13343,6235 13338,6234 13342,6234 13344,6236 13345,25524 26483,25521 26484,25524 26489,25527 26487,25529 26484,25530 26482,25534 27482,25539 27486,25537 27488,25541 27483,25544 27486,25547 27490,25550 27491,25550 27491,25554 27486,25559 27486,25563 27489,25561 27489,25563 27493,25561 27491,25563 27493,25563 27495,25564 27497,25563 27497,25563 27497,25558 27498,25563 27499,25565 27503,25567 27503,25569 27503,25567 27504,25565 27505,25565 27505,25565 27505,25566 27505,25570 27501,25570 27497,25574 27498,25570 32498,25570 32501,25573 32501,25576 32497,25576 32498,25577 32501,25579 32503,25583 32504,25588 32507,25592 32512,25596 32507,25599 32507,25594 32503,25597 32506,25597 32510,25594 32509,25594 32510,25596 32513,25592 32513,25594 32515,25594 32520,25598 32520,25602 32517,25603 32518,27603 32520,27607 32523,27608 31523,27613 31527,27615 31527,30615 31530,30617 31530,30618 31532,30619 31536,30623 31537,30623 31538,30625 31538,30626 31541,30627 31541,30624 31540,30623 31540,30624 31545,34624 31546,34619 31543,34623 31545,34624 31549,34624 31548,34626 31550,34626 31555,34626 31551,34628 31555,34633 31555,34636 31559,34634 31564,34636 31564,34639 31562,34639 31560,36639 31555,36636 27555,41636 27557,41640 27554,41644 27558,41647 27559,41648 27555,41653 27555,41658 27555,41658 27552,41658 27552,41660 27550,41656 27554,41661 27558,41664 27561,41667 27566,41662 27562,41663 27563,41663 27565,41662 27569,41661 27569,41664 27571,41664 27567,41659 30567,41660 30565,41660 30561,41665 30566,41664 30561,41664 30561,41664 30562,41664 30563,41660 30558,1312 24380,4312 25380,4315 25384,4315 25385,4319 25383,4322 25388,6322 25387,6322 25387,6326 25392,6321 25397,6324 25397,6324 25401,6319 25404,9319 25405,9314 25400,9312 25402,9310 25403,9313 25403,9313 25403,9316 25400,9319 25401,4319 25396,8319 25398,8315 25400,8315 25396,8315 25397,8311 25398,8307 25394,8309 25394,8311 25397,8315 25402,8310 25403,11310 25365,11311 25365,11316 25370,11320 25375,11325 25375,11325 25380,11325 25382,11326 25378,14326 25380,14328 25382,14331 25383,14334 25385,14336 25386,19336 25386,19336 25389,19332 25390,19332 25391,19335 25388,19338 25391,19342 25393,19340 25393,19345 25396,19345 25394,19347 25394,19349 25393,19351 25397,19350 25398,19348 25399,19349 25403,19352 25399,19350 25402,19354 25400,19353 25405,23353 25402,23354 25402,23356 25405,23358 25409,23360 25413,23363 25414,23367 25412,23365 25411,23367 25414,23363 25413,23367 25416,23367 25416,23370 25418,24370 25414,24370 25419,24373 27419,24378 27419,24380 27416,24380 27412,24380 27410,24380 27406,24376 27406,24374 27410,24370 27414,24370 27415,24371 27420,24375 27415,24378 27411,24375 27415,24378 27418,24382 27421,24383 27426,24383 27425,24385 27430,24390 27431,24394 27432,24395 27436,24399 30436,24400 30439,24404 30443,24403 30439,24406 30438,24410 30442,24406 30446,24408 30445,24403 30445,24408 30442,24412 30446,24416 30446,24416 30449,19416 30449,19416 30447,19418 30452,19420 30453,19423 30458,15423 30462,15423 30464,15425 30466,16425 30467,16424 30471,16421 30474,16426 30474,16428 30476,16428 30476,16424 30474,16424 33474,16425 33474,16427 33477,16425 33479,16426 33477,16422 33480,16425 33482,16430 33479,16430 33478,16429 33482,16424 33482,16427 33484,16430 33488,16431 33488,16434 33488,16435 33491,16432 33487,16436 37487,16434 37490,16438 37485,16443 37482,16446 37480,16447 37480,16447 37482,16451 37478,16454 37479,16458 37479,16454 37479,16454 37482,16459 37486,16460 37491,16463 37495,16464 37492,16465 37493,16466 37494,16468 37497,16468 37501,16468 37501,16473 37503,16473 37503,16473 37498,16476 37494,21476 33494,21473 33493,21476 33489,21478 33491,21478 33496,21478 33492,21480 33496,21483 33501,21484 33504,21483 33500,21484 33505,21484 33505,21488 35505,21491 35505,21494 35506,21496 35510,21492 35506,21492 35509,21489 35514,21490 35517,21487 35519,23487 35523,23485 35528,23487 35533,23483 35534,23487 35535,23488 35537,23493 35539,23495 35542,23495 35546,23495 35550,23491 35549,23488 35552,23492 35555,23495 35560,23500 35559,23496 35557,4322 16354,4317 16358,4318 16358,4320 16363,4315 16363,4315 16362,4316 20362,4320 20365,4323 20363,4326 20366,4329 20367,4332 20370,4337 20374,4338 20375,4333 20375,4338 20375,4341 20377,4342 20377,4342 20378,4343 20381,4346 20386,4346 20386,4346 20386,4346 20386,4349 20390,4352 20395,4354 20396,4355 20400,4358 20400,4360 20401,4360 20404,4363 20405,4368 20406,4372 20411,4371 20416,4367 20417,4364 20422,4367 20420,4372 20425,4373 20422,4374 20418,4377 20418,4381 20422,4382 20423,4384 20418,4389 20421,4385 20423,4390 20423,4390 20425,4392 20429,4396 20434,41574 39698,41578 39702,41576 39704,45576 39704,45575 39709,45577 39713,45581 39715,45581 39718,45583 39721,45578 39726,47578 39722,47581 39719,47586 39722,47586 39726,47589 39730,47592 39733,47597 39733,47593 39733,47596 39735,47597 39735,47595 39735,47591 39739,47593 39744,47593 39747,4074 20263,4077 20268,4079 20268,4078 20271,4078 22271,4083 22276,4087 22272,4088 22275,4086 22279,4082 22280,4084 22282,4086 22277,4082 22277,4087 22281,4090 22281,4092 22281,4092 22286,4094 22287,4097 22290,4097 22291,4095 22286,4095 22288,4095 22293,4095 22288,4092 22285,4089 22286,4090 22286,4095 22281,4100 22286,4103 22285,4104 22288,4104 22289,4107 22294,4112 22292,4117 22290,4120 22295,120 22300,121 22303,122 22300,122 22300,121 26300,125 26303,129 26303,127 26305,127 26306,132 26306,132 26307,136 26307,141 26309,140 26311,143 26313,140 26314,145 26318,149 26318,153 26321,153 29321,158 29326,158 29329,162 29324,162 34324,165 34329,168 34328,167 34332,169 34333,173 34334,173 34336,177 34338,178 34340,178 34344,182 34348,177 34348,182 34348,184 34353,184 34358,181 34360,183 34365,187 34365,192 34365,197 34367,199 34366,203 34368,205 34368,202 34363,204 34360,1204 34360,1205 34364,1205 30364,1205 30359,1206 30361,1207 30364,1210 30366,1210 30366,1214 30367,1218 30372,1219 30375,1214 30379,1214 30384,1217 30382,1222 30383,1223 30382,1225 30380,1228 30379,1231 30383,1232 30383,1235 30384,1237 30388,1242 30386,1244 30389,2244 30392,2241 30395,2245 30397,2245 30399,2244 30394,2242 30395,2246 32395,2246 32395,2249 32398,2251 32393,5251 32390,5251 32395,5255 32399,5255 32397,5257 32397,5257 32401,5261 32406,5261 32411,5266 32412,5271 32416,5273 32419,5276 32420,5281 32422,5279 32425,6279 33425,6284 33429,6284 33430,6282 33431,6282 33428,6286 33425,6288 32425,6288 32421,6286 32424,6288 32424,11288 32427,11292 32425,11292 32429,11290 32434,11286 32437,11286 32437,11283 32442,11278 32442,11279 32443,11283 32445,11284 32445,11283 32448,13283 32447,13287 32442,16287 32446,16282 32445,16283 32445,16284 32448,16285 32448,16284 32446,16286 32443,16290 32446,16291 32446,16292 32450,16291 32450,16291 32450,16291 32445,16287 32447,16288 32452,16287 32457,16291 36457,16289 36462,16293 36462,16294 36462,16297 36462,16301 36464,16306 36469,16310 36467,16310 36463,16313 36459,16312 36460,16313 36465,16313 36469,16308 36470,16309 36468,16314 36470,16319 41470,16322 41471,16325 44471,16330 44471,16330 44471,16330 44473,16330 44474,16335 44479,16332 44477,8414 30496,8415 30497,8419 30497,8414 30501,8416 30500,8418 30495,8421 35495,8423 35494,8427 35497,8429 35499,8432 35499,8436 35503,8438 35503,8443 35505,8440 35508,8443 35509,8440 35509,8440 35511,8441 35515,8445 35511,8448 35512,8443 35517,8443 35519,8442 35524,8444 35526,8441 35527,8436 35527,8433 35523,8429 35527,8430 35530,8431 35532,8429 35533,8433 35535,8437 32535,8435 32536,8439 32536,8436 32539,9436 32542,9434 32537,9429 32534,9429 32534,9433 32537,9433 32542,9429 32543,9434 32538,9436 32538,9436 34538,7436 34538,7438 34543,7439 34543,7439 34543,7439 34548,7438 34549,7438 34552,7438 34553,7438 34556,11438 34561,11434 34559,11436 34555,7436 34553,7436 34549,120 1235,124 1239,125 1236,125 1238,129 1235,128 1235,125 1236,123 1239,128 2239,132 2242,131 2242,135 2242,140 2242,145 2247,146 2252,144 2253,146 2248,144 2245,146 2244,150 2249,155 2245,159 2242,160 2243,160 2245,155 2244,156 2245,3156 2246,3159 2248,3159 2250,3164 2254,3165 2257,3166 2255,3169 2257,3171 2262,3169 2263,3174 2268,3177 2273,3174 2276,3178 2275,3173 2279,3177 2276,3180 2279,3182 2284,3185 2289,5185 2286,5185 2288,5181 2286,5185 2288,5184 2293,5187 2293,5187 2297,5190 2299,5187 2299,5185 2300,5181 6300,5182 6297,5187 6300,5189 6298,5191 6296,5193 6296,5193 6296,5195 6297,5195 6300,5197 6297,5195 6300,5190 6302,5191 6306,5192 6308,5195 6312,24395 27436,24391 27437,24393 27433,24398 27436,24398 27437,16286 32443,21286 32443,21286 32444,21282 32448,21283 32446,21283 32448,21285 32451,21281 32456,21282 32458,21282 32463,21282 32468,21284 32470,21289 32471,21287 32471,21287 32469,21287 32474,21284 32477,21288 32482,21291 32482,21291 32486,21296 32485,21299 32486,21301 32487,21303 32484,21301 32482,21305 32487,21310 32491,21312 32495,21313 32491,21315 32495,21312 32495,21314 32498,21316 32501,21311 32506,21311 32508,21312 32513,21317 32516,21319 32516,21324 32516,21327 32521,21328 32526,21332 32527,21328 36527,21331 41527,21336 41527,21334 41531,21337 41533,21335 41535,21339 41540,21340 41540,21343 41536,25343 41539,25340 41542,25337 41542,25337 41545,25335 41542,25335 41543,25335 46543,25339 46548,30339 46551,30340 46556,30343 46557,30342 46553,30337 46556,30341 46561,30337 46565,30336 46563,30338 46564,24373 27419,24373 27421,24375 27424,24377 27425,24377 27430,24374 27435,24379 27437,24384 27432,24385 27434,24382 27437,24381 27442,24381 31442,24381 33442,20381 33439,20383 34439,20382 34440,20378 34444,20381 34446,20381 34442,20384 34443,20388 34446,20392 34447,20393 34442,20393 34447,20396 29447,20395 29443,20399 29443,20400 29439,20399 29436,20404 29439,20409 29440,20410 29440,20410 29444,20408 29445,20413 29448,20413 29451,20412 29455,20413 29458,20418 29461,20413 29463,20415 29464,20416 29464,20416 29463,20416 29463,20418 29464,20414 29465,20418 29463,20413 29460,20413 26460,20418 26458,20421 26459,20421 26461,20421 26460,43578 35658,43578 35654,43578 35658,43578 35660,43583 35661,43583 35659,43583 35662,43579 35663,43583 35661,43587 35666,25625 25551,25629 25551,25630 25554,25630 25559,25632 25560,25627 25561,25623 25557,25623 25559,25624 25561,26624 25566,26627 25566,29627 25571,29626 25574,29625 25575,29622 25579,29625 25583,29630 25588,29632 25589,29635 25591,29635 25594,29637 25598,29642 25596,29643 25597,29644 25597,29649 25598,29654 25602,29656 25602,29661 25603,29661 25601,29664 26601,29666 26604,29665 26604,29668 26607,29672 26607,29669 26611,29671 26616,29674 26613,29679 26616,29680 26616,29681 26615,29682 26619,29679 26617,29684 26622,29686 26624,29689 26624,29690 26628,29691 26630,29693 26625,29694 26620,29698 26617,29703 29617,29707 29616,29706 29620,29709 29623,34709 29626,34710 29628,34710 29627,2282 16411,2283 16412,2283 16412,2287 16417,2292 16421,2297 16421,2298 16426,2303 16426,2304 16429,2309 11429,2313 11432,2308 14432,2308 14431,2311 14433,2310 14437,2308 14438,2309 14440,2311 14440,2309 14443,2312 14443,2314 14447,2314 14452,2314 14450,2309 14451,2309 14451,2309 14456,2313 14461,2313 14461,2309 19461,2309 19461,2311 19462,2315 19465,2318 19465,2321 19462,2317 19464,2321 19467,2322 19467,2322 19469,2322 19469,2320 19464,2321 19462,2322 19461,2327 19466,2327 19461,2322 19461,2322 19463,2317 19467,2318 19471,2102 -1848,2107 -1848,2111 -1846,2114 1154,2114 1156,2115 1157,2114 6157,2116 6162,2121 6165,2124 6170,2121 6175,2124 6179,2124 6183,2128 6178,2126 6179,2125 6178,2126 6181,2122 10181,2127 10186,2128 10189,2130 10188,2130 10191,2127 11191,2127 11195,2131 11196,2132 11192,2131 11197,2135 11201,2135 11203,2139 11199,2142 11203,2143 11204,2147 11208,2142 11210,2142 11211,2147 11212,2150 11217,2150 11219,2151 11219,2152 11222,2152 11222,2148 11224,2150 11220,2150 11223,2146 11218,2143 11219,2140 11221,2143 11218,2140 11219,2140 11223,2145 11225,2147 11226,2152 11226,2155 11224,2157 11229,2157 11229,2153 11233,2153 11238,2149 11239,7149 10239,7154 10241,7157 10241,7162 10243,7164 10248,7164 10251,7169 10253,7171 10253,7172 10257,7177 10260,7182 10256,7187 10260,7191 8260,7195 8256,7200 8258,7204 8258,7203 8261,7203 8262,7205 8266,7209 8270,7209 8273,7214 8273,7214 8276,7210 8276,7211 8276,7213 8279,7218 8278,7222 8283,7223 8279,7220 10279,7221 10283,7223 10284,7228 10286,7230 10290,7231 10290,7231 10293,7232 10294,7232 10297,7234 10299,7229 10295,7226 10294,7221 10293,7223 10295,7228 10299,7229 10303,7232 10307,7232 10311,7233 10316,7234 9316,7239 9318,7244 9321,7241 9326,7241 9328,7238 9331,7235 9330,7237 9335,7236 9335,7236 9337,7236 9338,7231 14338,7230 14333,7232 14338,7237 18338,4082 22280,4081 22280,6081 22283,6076 22285,6076 22289,6078 22286,6080 22287,6084 22292,6084 22293,6085 22293,6086 22291,6091 22294,6092 22293,9092 22290,9095 22294,9096 22295,9096 22297,9091 22292,9096 22295,9098 22290,9094 18290,9097 18290,9096 18294,9099 18292,9098 18297,9103 18299,9103 18302,9103 18305,9100 18301,9102 18302,9106 18305,9102 18310,9101 18306,9103 18308,9103 18312,9107 18310,9107 18315,9107 18320,9111 18322,9111 18326,9113 18329,9111 18329,9116 18329,9121 18329,9121 18332,9123 18331,9124 18332,9125 18328,9127 18325,9125 18328,9128 18329,9133 18329,9136 18333,9141 18337,9142 18342,9143 18340,9148 18344,9152 18341,9150 18346,9149 18341,9149 18341,9154 18343,9158 18345,9161 18346,9161 18347,9163 18352,9164 18352,9162 18349,9165 18352,9165 18351,9165 18352,9165 18356,9163 18352,9167 18353,9167 18349,9168 18351,9168 18347,9173 18347,9175 18347,9179 18348,9182 18349,9187 18352,9186 18357,9189 18360,9192 18360,9196 18362,13196 18367,13196 18369,13196 18371,13199 18374,13194 18374,13197 18375,13200 18377,13205 18380,13210 18384,13209 18379,13209 18374,13213 18375,13216 20375,13212 20375,13215 20375,13211 20375,13211 20372,13208 20373,13204 20373,13204 20369,13205 20369,13207 20366,13212 20367,13216 20367,13221 20372,13222 20377,13225 20381,13226 20386,13230 20383,9230 20388,9228 20384,9228 20386,9223 20389,9223 20392,4223 20397,4223 20396,4225 20399,4222 20404,4220 20408,4220 20411,4223 20416,4227 20421,4230 20418,4234 20421,4232 20422,4236 20423,4238 20423,4239 20423,4235 20427,4231 20427,4230 20426,4228 20428,4232 20427,4232 20431,4236 20433,4241 20431,4241 22431,4236 22436,4239 22437,4239 22439,4236 22443,4232 22439,4236 22444,4236 22446,4239 22447,4239 22452,4241 22454,4245 22457,4245 22460,4250 22462,4251 22465,4253 22465,4249 22465,4251 22460,4251 22464,4255 22469,4257 22473,4256 22478,4259 22479,4260 22480,4257 22485,6257 22489,6260 22490,6260 22493,6262 22496,6262 22500,6267 22495,6271 22495,6276 22491,6276 22489,6281 22487,6286 22490,6289 22490,6294 22490,6294 22489,6292 22485,6292 22489,6288 22489,6288 22494,6288 22496,6286 22497,6288 22501,6292 22500,5292 22503,5292 22503,5296 22508,5295 22510,5300 22510,5305 22513,5302 22514,5306 22510,5309 22513,5313 27513,5313 27513,5317 27513,5322 22513,5326 22517,6326 22516,6323 22518,6323 22523,6320 22523,6321 22526,6323 22531,6323 22531,6324 22532,6324 22532,6325 22529,6321 22531,6323 22534,6328 22534,6329 22530,6324 22527,10324 22522,10319 22524,10315 22520,10314 22525,10311 22525,10307 22526,10304 22531,10306 22527,10306 22528,10309 22530,10312 27530,10312 27534,10312 27534,10307 27536,10307 27532,11307 27531,11307 27533,11308 27535,11303 27531,11298 27532,11294 27534,11294 27534,11299 27538,11297 27542,11302 27547,11306 27547,11311 27549,11313 30549,11317 30551,11313 30546,11316 30541,11316 30540,11319 30545,11318 30546,11323 30550,11326 30554,11326 34554,11330 34558,11331 34558,11333 34558,11332 34561,11328 34561,11331 34562,11336 34562,11336 34567,11340 34570,11342 34569,11345 34568,11344 34569,11345 34571,11349 34574,15349 34574,15354 34569,15359 34566,15362 34571,15363 34576,15367 34577,15368 34577,15371 34581,15374 34576,15379 34574,15383 34579,15384 34584,15387 34583,17387 34578,17392 34578,17391 34578,17396 34573,17397 34578,17397 34580,17397 39580,17402 39584,17397 39587,17402 39587,17406 39582,17403 39587,17407 39589,17409 39592,17406 39592,17409 39595,17409 39599,17412 39603,17416 39608,17417 39608,17417 39608,17421 39607,17422 39609,17424 39608,17427 39604,17425 39605,17426 39609,17423 39611,17422 39610,17425 39613,17428 39618,17428 39619,17429 39616,17432 39616,13432 39615,13432 39617,13432 39617,13432 44617,13434 44621,13434 44623,13439 44627,13442 44632,13442 44635,13440 44631,13442 44631,13445 44635,13447 44639,13445 44637,13445 44638,13450 44639,13454 44644,13457 44644,13459 44642,15459 44639,15457 44644,15461 44644,15462 44642,15459 44645,15459 44647,15463 44650,15458 44651,15459 44653,15461 44657,15463 44661,15463 44661,15463 44663,15467 44666,15472 44668,15474 44664,15470 44668,15471 44670,15473 44674,15475 44675,-3806 12298,-3804 12301,-3805 13301,-3804 13296,-3808 13292,-3809 13295,-3806 13300,-3804 13297,-3801 13301,-3801 13302,-3796 18302,-3801 18306,-3799 18311,-3802 18311,-3799 18312,-3801 18314,-3796 18319,-3795 18322,-3791 18321,-3786 18320,-3786 18321,-3784 18321,-3782 18321,-3781 18324,-3782 18325,-3783 18320,-3788 18324,-1788 18324,-1788 18329,-1784 18333,-1784 18334,-1781 18329,-1777 18334,-6777 18337,-6774 18339,-6776 18341,-6781 18341,-6779 18341,-6779 18343,-6779 18339,-6777 18343,-6782 18338,-6779 18341,-6778 18341,-6776 18336,-6776 18333,-6776 18333,-6780 18338,-6784 18338,-6787 18335,-6786 18336,-6781 22336,-6781 22335,-6778 22331,-6777 22326,-6777 22331,-6777 22335,-6772 22335,-6774 22340,-6769 22341,-6767 22337,-6767 22335,-6767 22335,-6767 22333,-6767 22336,-6762 22331,-6759 22331,-6764 22332,-6765 22334,-6767 22339,-6762 22334,-6760 22334,-6760 22334,-6758 22337,-6754 22341,-6754 22342,-6750 22339,-4750 22343,-4747 22343,-4752 22343,-4751 22344,-4749 22345,-4745 22348,-4740 22353,-4736 22358,-4738 22363,-4740 22358,21336 41527,21334 41527,21330 41526,21330 41526,21333 41529,21328 41529,21329 41530,21326 41532,21328 41532,21324 41537,21328 41532,21330 41535,21334 41532,21336 40532,21334 40536,21339 40534,21341 40534,21344 40534,21346 40532,21350 40532,21353 40535,21357 40539,21359 40542,21360 40546,21355 40546,21360 40547,21359 40550,21356 40551,21356 40550,21357 40550,21361 40554,21358 45554,21362 45556,21366 45553,21370 45557,21374 45556,21377 45553,22377 45549,22382 45549,22382 45552,22386 45557,22387 45557,22388 45553,22392 45557,24392 45561,22392 45558,22397 45561,22399 45558,22398 45561,22400 45564,22400 45569,22404 45573,22406 45577,22406 45581,22404 45581,22407 45582,22409 45579,22409 45575,22409 45579,22407 45579,22402 45582,22402 45582,22404 45587,22406 45587,22406 45589,22411 45589,22413 45590,22417 45591,22417 45592,22422 45587,22425 45583,22428 50583,22428 50585,22428 50585,22430 50588,22435 50590,22435 50585,22435 50590,22439 50595,22440 50590,22445 50587,22442 50584,22442 50586,22443 54586,22443 54590,22446 54595,22448 54597,22448 59597,22444 59593,22449 59596,22449 59599,22452 59600,22457 59600,22458 59605,22457 59602,22462 59603,22463 59604,22461 59605,22458 59602,22457 59601,22457 59601,22455 59605,25455 59606,25457 59611,25462 59613,25464 59614,25467 59617,25472 59612,25476 59613,25478 59610,25482 59615,25482 59616,25486 59612,25483 59614,25487 59619,25492 59623,25497 59625,146 2252,150 2249,150 2249,152 2254,157 2249,158 2253,157 2252,161 2255,159 3255,161 3258,161 3255,163 3255,168 3259,168 3259,172 3263,167 3267,172 3271,172 3272,172 3274,175 3278,179 3282,181 3283,184 3280,185 3282,187 3282,191 3284,192 3286,191 6286,193 6289,198 6285,195 6290,194 6289,195 6289,199 6293,200 6288,198 6290,202 6291,207 6296,212 6301,215 6301,216 6301,211 6304,212 6304,216 6309,216 6304,214 6308,213 6308,211 6305,212 6309,217 6314,220 6317,224 6322,222 6327,220 6323,41573 39712,41572 39709,41576 40709,41580 40714,41576 40717,36576 40717,36577 40719,36582 40716,36585 40721,36590 43721,36585 43721,36582 43724,36585 43729,36590 43731,36590 43730,15289 11307,15285 11312,15286 11315,15289 11315,15294 11315,15295 11316,15296 13316,38742 37646,38743 37650,38745 37655,38744 37658,38739 37659,38737 37662,38742 37662,38745 37657,38748 37662,38748 37662,38752 37667,38753 37667,38748 37669,38748 37668,38752 37673,38754 37674,38756 37676,38758 37674,38760 37679,38760 37675,38758 37675,38763 37675,38767 37674,38772 40674,38767 40679,38772 40683,38774 44683,38778 44686,38780 44690,38780 44690,38779 44695,38782 44700,38780 44695,38775 44696,38775 44696,38775 44696,38779 44699,38783 44696,38784 44696,38786 44692,38786 44692,38786 44696,38791 44698,38793 44699,38795 44703,38800 44708,38803 44708,38807 44709,38802 44706,38806 44708,38809 44709,36809 44709,36814 44704,36813 44705,36814 44705,36816 44709,36811 44712,36812 48712,36811 48717,36815 48721,36816 51721,36818 51717,36822 51720,40822 51715,40827 51712,40830 51716,40829 51719,40832 51723,40835 51724,40840 51721,40841 51721,40836 51725,40841 51730,40846 51734,40848 51738,40849 51740,40851 51743,40854 51745,40855 51746,40857 51750,40857 51746,40861 51748,40866 51751,40862 51750,40866 51750,40869 51752,40865 51752,40863 51755,40858 51757,40855 51753,40855 51758,40852 51758,40853 51760,40857 51761,40855 51757,40852 51760,40853 51761,40855 51762,40858 51757,40859 51756,40863 51757,40863 51759,40860 51764,40859 51764,40854 51768,40850 51765,40852 51767,40852 51767,40848 51772,40852 51776,40854 51778,40852 51778,43852 51778,43854 52778,43856 52781,43859 52781,43859 52776,37512 26536,37517 26531,37520 26535,37520 26540,37522 26544,37527 26544,37532 26549,37537 26544,37540 26549,37545 26544,37549 26547,37549 26550,37548 26551,37549 26553,37546 26553,37546 26553,37549 26556,37549 26559,37552 26559,37556 26564,37560 26559,37561 26561,37565 26565,41565 26565,41569 26568,41571 26573,41571 26573,41576 29573,41571 29573,41573 29576,41573 29578,46573 29578,46569 29582,45569 29583,45572 29583,45568 29583,45573 29581,45575 29578,45571 29581,45572 29584,45572 29585,45576 29585,45578 29588,45581 29591,45582 29593,45582 29598,45584 29597,45589 29600,45585 29605,45589 33605,45593 36605,45594 36607,45599 36609,45600 36604,45604 36604,45604 36608,45604 36607,45608 36610,50608 36613,50611 36609,50614 36609,50619 36605,50624 36605,50625 36606,50625 36605,50629 36606,50624 36608,50625 36610,50626 36610,50629 36608,50627 36610,50628 36614,50632 36618,46632 34618,46632 35618,46636 35622,46636 35617,46637 35620,46639 35619,46643 35620,46645 35625,46643 35630,46648 35635,46648 35640,46649 35643,46651 35647,46655 35650,46652 35655,46657 35656,46658 35657,46662 35660,46659 35663,46662 35664,46665 35663,46667 35667,46667 35663,46670 35666,46672 35671,46674 35671,47674 35668,47676 35672,47677 35673,47677 35678,47677 35677,47677 35677,47677 35682,47672 35683,47671 35683,49671 35685,49674 35689,49677 35692,49675 35692,54675 35697,54678 35699,54674 35699,54670 35701,54670 35700,54675 35703,54676 34703,54676 34703,54679 34706,54683 34708,54688 34706,54688 34707,54685 34702,54687 34702,54692 34707,54687 36707,54687 36706,54682 36707,54685 38707,54680 38710,54680 38714,54677 38714,54679 38719,54682 38720,54687 38716,54688 38717,54692 38722,54697 38726,54699 38727,54700 38724,54702 38720,52702 38719,52702 38719,52702 38721,52702 38725,52704 38726,52706 38728,52707 38729,52711 38728,52711 35728,52713 35733,52712 35737,52712 35739,52713 35742,52713 35745,52708 35745,52710 39745,52713 39749,52716 39748,52721 39749,52720 39753,52716 39756,52716 40756,47716 40757,47717 40761,47722 40761,47722 40761,47722 40766,47726 40769,47728 40772,47733 40777,47731 40773,50731 40777,51731 40779,51733 40782,51734 40786,51737 40784,51741 41784,51739 41783,51739 41785,51739 41785,51736 41789,51731 41789,52731 41790,52735 41791,52738 41790,52742 41789,52746 41785,52747 41785,52745 41785,52750 41782,52753 41786,52753 41787,52758 41792,52754 42792,52749 42793,52752 42794,52756 42791,52757 42790,52762 42793,52766 42797,52766 42797,52769 42802,52774 42806,52774 42805,52771 42807,52774 42807,52770 42808,52771 42811,52767 42811,52766 42812,52767 42817,52771 42817,52771 42817,52775 42815,52779 42811,52779 42812,52780 42815,52776 42818,52774 42818,52777 42822,52780 42823,52781 42827,52776 42829,52780 42832,54780 42835,54780 42840,2135 11201,2140 11203,2137 11204,2140 11209,2142 11213,2147 11211,2145 11213,2145 11213,2150 11218,2150 11221,2153 11225,2157 13225,2162 13228,2167 13231,2171 13232,2167 13229,2168 13233,2171 13237,2173 13239,2168 13234,2168 13235,2173 13235,2175 13234,2177 13235,2177 13234,2179 13229,2179 13226,2180 13226,2177 13226,2177 13231,2180 13231,2181 10231,2176 10233,2177 10232,2180 10235,2185 10237,2182 10240,6182 10240,6184 10244,6182 10242,6183 10243,6185 10246,6190 10244,6194 10244,6194 10247,6192 10247,6192 10252,6195 10256,6194 10260,6195 9260,6195 9260,6195 9264,6199 9269,6204 9272,6199 9268,6201 9268,6203 9265,6208 9268,6204 9270,6204 9275,6201 9279,6201 9281,6201 9286,6206 9281,6206 9277,6202 9281,6200 9285,6202 9288,6198 9290,7198 9293,7200 9297,7201 9297,7205 9298,7209 9298,7209 9299,8209 9302,8214 10302,8218 10306,8222 10308,8226 10313,8231 10313,8235 10318,8237 10318,8237 10323,8233 10326,8233 10327,8237 10325,8238 10328,8238 10330,8234 10330,11234 10332,11236 10333,11241 10337,14241 10338,14240 10338,14237 10339,14238 10337,14237 10339,14242 10339,14246 10339,14250 10339,14250 10339,14251 10337,14254 10337,14256 10334,14256 10332,14252 10336,14255 10340,14259 10342,14262 10347,11148 3159,11153 3163,11154 3162,11154 3165,11158 3167,11161 3172,11162 3175,11162 3176,11166 3179,11166 3181,11171 3185,11176 3180,11178 3179,11176 3181,11179 3183,11174 3182,52776 42818,52778 42822,52777 42822,52782 42817,52783 42822,52784 42823,52789 42826,52789 42823,56789 42828,56786 42829,56786 42832,56789 42836,56789 42835,56785 42838,56786 42843,51786 42844,51788 42846,51790 42847,51794 42842,51796 42842,51801 42846,53801 42849,53806 42849,53809 42852,53812 42850,53817 42846,53817 42848,53818 42853,53822 42856,53823 42854,53826 42858,53825 42860,53826 42860,53826 42864,53830 42868,53835 42873,53839 42873,53841 42872,53841 42876,53841 42879,53841 42884,53836 42888,53836 42889,53836 44889,53833 44889,53835 44893,53838 44897,53842 44897,53844 44900,53844 44904,53845 44905,53850 44903,53853 44904,53858 44906,53856 44907,53861 44909,53856 44913,53858 44916,53863 44916,53868 44918,53867 43918,53869 43921,53869 43919,53867 43919,53862 43918,53860 43923,53864 43928,53869 43930,53874 43933,53874 43932,53874 43932,53875 43930,53877 43928,53878 43924,53883 43927,55883 43929,55883 43925,55879 43929,55881 43929,55884 43928,55881 43928,55882 43929,55883 45929,55883 45933,55883 45936,55884 45941,55884 45941,55886 45946,55882 45948,55883 45952,55888 45956,55890 45957,55894 45953,55892 45954,55897 45950,55893 45954,55896 45956,55892 45955,55897 45959,55899 45961,55899 45961,55894 45962,55898 45957,55893 49957,55896 47957,55894 47956,55898 47960,55901 47964,55901 47967,55901 47970,55896 47973,55898 47969,55894 47974,55895 47975,55891 47976,55896 47979,55899 47984,55902 47983,55897 47987,55899 47989,55904 47992,55904 47993,55905 47997,55902 48001,55902 48003,55907 48000,55910 47998,55915 47999,55911 47994,55906 47998,55910 48003,55914 48000,55918 48000,55914 48000,55919 48000,55921 48003,55921 48007,55924 48007,55919 48010,55922 48005,55927 48009,55928 48008,55928 48008,55930 48012,55925 48012,55925 48016,54925 48014,54922 48018,54922 44018,54926 44013,54929 44012,54932 44016,55932 44017,55935 44017,55936 44020,55937 44022,55936 44020,55939 44015,55944 44018,55945 44022,55947 44023,55950 44024,55953 44020,55956 44023,53867 43919,53871 43921,52871 43921,53871 43923,53876 43923,53881 43923,53880 43927,53882 43931,53886 43936,53884 43937,53879 43934,53879 43937,53877 43939,53878 43938,53879 43942,53880 43947,53881 43948,53884 45948,53884 45949,53882 45953,53883 45954,53878 45956,53880 45953,53885 45958,53885 45958,53886 45957,53886 48957,53886 48962,53891 48962,53892 48964,53897 48965,49897 48962,49902 48965,49906 48967,49902 48967,49904 48971,49901 48967,49904 48970,54904 48971,54904 48971,54904 48975,54909 48979,54907 48975,54910 48975,54906 48971,54909 48973,54911 48975,54915 48978,54920 48978,54923 48981,54918 48984,54921 48984,56921 48984,56926 48986,56924 48981,56929 48980,56932 48979,56932 48977,56936 48979,56937 48981,56937 48982,61937 48984,61937 48980,61934 51980,61935 51981,61935 51984,61935 51984,61931 51986,5329 23395,5331 23395,5333 23390,5337 23392,5340 23395,5345 27395,5345 27397,5350 27398,5355 27399,5356 27402,6356 27405,6360 27407,6361 27406,6364 27402,6366 26402,6371 26402,6371 26402,6372 26405,6370 26405,6375 26406,6380 26411,6385 26413,6387 26414,6388 26419,6390 26419,6391 26424,6393 30424,6390 30429,6390 30432,6390 30430,6394 30434,6394 30437,6394 30441,6396 30442,6398 30439,6399 30436,6404 30435,6405 30435,6400 30435,6405 30440,6404 30443,6405 30447,6409 30447,6411 30447,6412 30448,6417 30446,6421 30450,6418 30448,6417 30444,6418 30449,6420 30451,6425 30456,6426 30456,6425 30458,6426 30458,6426 34458,6427 34459,6432 39459,6434 39462,6434 39467,6439 39470,6443 39467,6444 39468,6449 39473,6451 39476,6452 39481,6452 39479,6452 39476,8452 39476,8456 39478,8460 39480,10460 39482,10455 39482,10456 39484,10460 39484,10463 39484,10468 39486,10473 39482,10475 39484,10475 39486,10476 39488,10477 39492,10475 39494,10480 39499,10476 39501,10479 39506,10480 39510,10475 39508,10480 39513,10481 39516,10481 39516,10485 39521,10487 39522,10490 39523,10490 39520,10493 39520,10496 44520,10491 44519,10491 44524,10492 44520,10497 44525,10499 44525,10502 44527,10500 44531,10502 44535,10506 44535,10511 44532,13511 44536,13513 44533,13510 44535,13507 44540,13511 44543,13515 44548,13517 44549,13522 44550,13525 42550,13520 42551,13522 42553,13525 42552,13529 42557,13529 42558,13524 42559,13525 42559,13525 42562,13520 42564,13523 42567,15523 42569,15523 42572,15524 42577,15529 42577,15530 42582,15532 42584,15532 42588,15531 42587,15531 42592,15530 42587,15530 42583,15533 42583,15536 47583,15532 47583,15535 47587,15534 47590,15536 47594,11536 47590,11533 47590,11529 47590,11533 47592,11533 47592,11533 47593,11537 47598,11538 47603,11538 47603,11538 47605,11541 47609,11544 47613,14544 47614,14539 47610,14537 47610,14537 47614,14535 50614,14537 50619,14539 50619,14540 50623,14538 50623,14537 50619,25599 26540,25599 26541,25599 26544,25594 26542,25599 26543,25596 26544,25597 26543,25598 26543,25593 26544,25588 26542,25593 26545,25595 26544,25596 26544,25599 26541,25594 26544,25592 26549,25593 26548,25597 26549,25596 26550,25594 26551,25590 26550,25594 26554,25597 26550,25598 26552,25593 26555,25598 22555,25599 22557,25604 22559,25605 22558,25606 22562,25605 22559,25605 22564,30605 22569,30610 22571,30610 22575,30609 22575,30609 22576,30609 22581,30605 22581,30610 22583,30610 22584,30613 22579,30613 22581,30616 22577,30619 22577,30621 22580,30621 22585,30626 22590,30628 22593,30629 22598,30626 22603,30628 22606,30629 22607,30629 22604,30627 22606,30632 22608,30633 22608,30636 22612,30641 17612,30642 17614,30647 17614,30651 17615,30654 17610,30655 17607,30658 17611,30653 17610,30654 17606,30654 17607,30659 17606,30660 17611,30658 17616,30659 17616,30664 17619,30665 17621,30665 17620,30667 17621,30671 17624,30673 17624,30673 17624,30678 17627,30675 17632,30675 17635,30678 17640,30681 17643,30686 17639,30691 17641,30696 19641,30699 19640,30700 19640,30696 19645,30698 19643,30699 19645,30702 19646,30703 19649,30699 19651,30704 19648,30706 19652,30709 19653,30709 19655,30709 19655,30712 19657,30708 19658,30705 19660,30700 19662,30701 19663,30706 19664,30711 19663,30707 19667,30704 19670,30708 19672,30709 19673,30711 19673,30711 19674,30713 19678,30718 19682,30723 20682,30721 20686,30725 20691,30726 20693,30729 20695,30728 20690,30730 20692,30733 20694,30736 20692,30736 20691,30740 20694,30741 20695,30741 20697,30746 20700,30747 20702,30750 20701,30751 20698,30753 24698,30749 24701,30748 24703,30746 24704,30747 29704,30747 29705,30749 29707,30752 29712,30757 29712,30760 34712,30760 34716,30763 34716,30759 34713,30759 34717,30763 34717,30758 34717,30757 34721,30760 34726,30758 34726,30763 34727,30763 34727,30764 34727,30759 34729,30759 34732,30762 34734,30757 34735,30761 34736,30759 34736,30762 34738,30757 34733,30760 34735,30762 34737,30760 34736,30765 34733,32765 34737,32768 34737,32765 34740,32765 34742,32768 34747,32772 34751,32772 34752,32777 34749,32782 34751,32783 33751,32783 33746,36783 33749,36783 33754,36786 33756,36787 33755,36787 33758,36791 33754,36796 33754,36801 33756,36801 33758,36801 33762,36802 33765,36802 33765,36806 33770,33806 33772,33806 33777,33809 33777,33814 33780,33814 33785,33818 33782,33821 33784,33826 33781,33822 33781,33824 33783,33822 33784,33826 33787,33823 33792,33827 33795,33828 33798,33829 33799,33833 33801,33833 33801,33836 33805,33839 33809,33842 33805,33847 33810,33845 32810,33847 32808,33849 32812,33851 32815,33849 32818,33849 32822,33847 32822,33847 32826,33850 32831,33854 32836,33857 32833,33856 32828,33859 32829,33860 32832,33857 32834,33857 32830,33855 32830,33857 32830,33855 32834,33859 32829,33859 32833,33862 32836,33864 32837,33864 32839,33866 32837,33869 32835,33872 32840,33874 37840,33879 37845,33881 37850,33881 37855,33886 37856,33891 37860,33896 37860,33893 37863,33894 38863,33896 38859,28896 38864,28899 39864,33899 39869,33896 39871,33898 39875,33902 39873,33902 39875,33907 39879,33912 39884,33908 39887,33908 39888,33905 39890,33909 39895,33911 39896,33908 39900,33912 39901,33915 39902,33915 39902,33915 39902,33910 39907,33910 39904,33914 39903,33912 39906,33916 39909,33920 39909,33922 39912,33923 39916,33928 39916,33931 39918,33932 39919,33935 39915,33936 39912,33934 39909,35934 39914,35931 39915,35935 39917,35939 39920,35939 39915,35940 39911,35944 39916,35944 39911,35944 39908,35945 39904,35945 39908,35945 39912,35950 39915,35955 39917,38955 39916,38960 39921,38962 39920,38962 39920,38967 39922,38967 39924,38970 39928,38975 39928,38973 39928,38977 39931,38980 39934,38984 39936,38982 39939,38983 39942,38985 39943,38987 39945,38992 41945,38988 41950,38989 41954,38992 41958,38992 41962,38992 41965,38993 41970,38997 41970,38997 41970,38994 41974,38994 41979,38997 41979,38999 41982,38994 41980,38998 41985,38998 41984,5334 23406,5330 23406,5325 23403,9325 23404,12325 23408,12325 23408,12322 23406,13322 23411,13325 23416,13326 23412,13322 23414,13327 23419,13328 23422,13329 23425,13333 23422,13337 23424,23491 35549,23490 35544,23494 35546,23499 35548,23495 35549,21495 35553,21490 35556,21492 35558,21492 35556,21494 35559,21494 35564,21494 35566,21499 35566,21502 35562,21502 35567,17502 35568,17506 35573,17507 35574,17511 35578,17512 35583,17513 35588,18513 35591,18514 35592,18515 35594,18513 35596,16513 35601,16513 37601,16513 37602,16511 37604,16513 37609,16514 37611,16518 37616,16522 34616,16524 34613,16528 34615,16528 34620,16533 34624,16535 34627,16538 34628,16539 34630,16539 34631,16542 34628,16542 34633,16544 34638,16547 38638,16547 38640,16543 38645,16543 38640,16540 38640,16543 38640,16542 38641,16546 38646,16541 38649,16541 38645,18541 38648,18544 38648,18544 38653,18544 38656,18549 38651,18547 38651,18550 38656,18547 38658,23547 38663,23544 38664,23548 38668,23548 38670,28548 38672,28549 38669,28549 38673,28545 38669,28549 38670,28554 38670,28557 38674,28560 38669,28562 38674,28562 38669,28561 38669,28564 38671,28569 38671,38779 44699,38780 44695,38778 44698,38783 44700,38785 44700,38781 44701,38782 44696,38786 44691,38789 44692,38794 44692,38799 44688,38799 44693,38803 44697,38808 44697,38806 44697,38806 44700,38803 44702,38803 44706,38802 44707,38807 48707,38808 48707,38806 48707,38810 48712,38810 48709,38810 48711,38810 48711,38806 48707,38802 48710,38803 48706,38805 48711,38810 48711,38805 48709,38809 48710,38809 48710,38814 48707,38815 48703,38816 48703,38816 48704,38820 48704,38822 48709,38820 48710,38818 48714,38822 48716,38822 48719,38827 48722,38828 48727,38832 48725,38830 48730,38831 48726,38832 48724,38829 48728,8431 35532,8431 35537,4431 35532,4434 35537,4438 35537,4439 35533,4443 35535,4442 35530,4445 35527,4449 35527,4453 35530,4458 35530,4459 39530,4460 39531,4461 39531,4464 39531,4468 39531,4470 39534,4465 39534,4465 39532,4469 39532,4471 39537,4466 39538,4470 39539,4473 39540,4476 39540,4480 39543,4485 39548,4483 39546,4484 39547,4484 39549,4484 39551,4486 39553,4486 39554,4487 39551,4483 39553,4486 39554,4490 39556,4493 39557,4498 39561,4494 39562,-4749 22345,-4752 22345,-4748 22348,-4744 22351,-4740 22356,-4741 22358,-4739 22361,-4734 22359,-4730 25359,-4730 25360,-4725 25360,-4727 25360,-4727 25361,-6727 25360,-6729 25365,-6730 25365,-6727 25365,-6731 25364,-6730 27364,-6727 27366,-6723 27367,-3723 27363,-3719 27368,-3720 27371,-3718 27366,-3717 27369,-3716 27369,-3714 27372,-3711 27370,-3712 27371,-3712 27370,-3710 27375,-3708 27377,-3707 27382,-3706 27385,-3706 27389,-3705 32389,-3704 32392,-3704 32392,-3699 32391,-3699 32395,-3694 32399,-3694 32400,-3695 32404,-3695 32408,-3693 32410,-3693 32410,-3697 32410,-3692 32413,-3691 32418,-3686 32420,-3683 32425,-3681 32420,-3678 32424,-3673 32424,-3676 32427,-3673 32426,-3671 32426,-3676 33426,-3678 33428,-3676 33428,-3679 33428,-3679 33433,-3677 33434,-3676 33438,-3681 33440,1319 33444,1321 33441,1325 33444,1329 33439,1326 33444,1326 33439,1327 33439,1327 33440,1332 33444,1333 33449,1338 33453,1338 33450,1343 33450,1347 33454,1346 33457,1346 33455,1342 33459,1341 33462,1346 33462,1347 33463,1343 33463,1344 33462,1348 33457,1347 33460,1352 33464,1356 33468,1361 33469,1363 33468,1365 33469,1368 33472,1369 33475,-2631 33478,-2633 33483,-2629 33486,-2632 34486,-2628 36486,-2625 36488,-2621 36488,-2624 36488,-2622 36492,-2624 36491,-2629 36491,-2627 36496,-2623 36499,-2628 36502,-2631 36506,-2626 36506,-2622 36506,-2622 36509,-2619 36514,-2624 36512,-2621 36510,-2619 36510,-2619 36508,-2617 36512,-2615 36512,-2615 36513,-2615 36511,-2615 36506,-2612 36507,-2609 36511,-2606 37511,-2606 37508,-2610 37505,-2607 37508,-2602 37512,-2599 37512,-2595 37510,-2597 37511,-2592 37515,-2597 37514,-2592 37519,-2592 37524,-2592 37526,-2594 37521,-2594 37516,-2591 36516,-2588 36517,-2589 36513,-2586 36514,-2584 36514,-2583 36516,-2579 36514,-2578 36518,-2578 35518,-2575 35519,-2577 35519,-2578 35524,-2578 35529,-2578 35532,-2578 35534,-2580 35537,-2584 35541,-2586 35542,-2587 35544,-2585 35540,-2585 35544,-2584 35543,-2580 35548,-2576 35550,-2571 35553,-2567 35555,-2565 35560,-2560 35560,-2557 35564,-2553 35564,-5553 36564,-5548 36564,-5544 36565,-5547 36565,-5545 36570,-5542 36565,-5543 36566,-5543 36568,-5543 36570,-5540 36575,-5537 36577,-5535 36581,-5532 36580,-5528 36575,-5526 38575,-5526 38576,-5526 38571,-5522 38571,-5518 38576,-5514 42576,-5510 42581,-5512 42583,-5512 42582,-5507 42582,-5510 42585,-2510 42589,-2511 42592,-2508 42594,-2506 42597,-2503 42598,-2503 42603,-2498 42608,-2501 42611,-2500 42616,-2502 42613,-2502 42616,-4502 42616,-4502 42620,-4502 42622,-4506 42619,-4509 42621,-4511 42624,-4515 42625,-4510 42625,-4507 42628,-4502 42624,-4501 42629,-4505 45629,-4503 45630,-4499 45631,-4496 45630,-4497 45628,-4495 45630,-4494 46630,-4491 46634,-4487 46629,-4483 46631,21336 40532,21341 40533,21346 40534,21346 40536,21345 40536,21346 40536,21345 40536,21344 40538,21347 40543,21348 40543,21351 40540,21351 40542,21348 40545,21351 40546,21352 40546,21353 40546,21358 40546,21359 40545,21359 40550,21357 40555,21362 40560,21364 40555,21363 40555,21364 40560,25364 40564,25365 40566,25368 40566,25371 45566,25372 45567,25372 45562,25376 45564,25381 42564,25385 42560,25389 42564,25389 42568,25393 42572,25390 42572,28390 42569,28389 42570,28385 42574,28386 42576,28389 42577,31389 42578,31385 42582,31387 42582,31390 42578,31391 42579,31392 42576,29392 42580,29396 42582,29398 43582,29402 43584,29406 43585,29407 43587,29411 43592,29413 43594,29414 43595,25414 43600,25412 43595,25415 43599,25420 43602,25418 43604,25423 43599,25426 43599,25429 43602,25434 42602,25429 42604,25432 42600,25435 42605,25436 47605,25440 50605,25441 50610,25439 50614,25444 50617,25447 50621,25444 50624,25444 50626,25445 50627,25450 50632,25450 50628,25451 50630,25451 50632,25454 50633,25458 50637,25462 50641,25463 50640,25463 51640,25467 51644,25469 51649,25473 51650,25474 51653,25475 51654,26475 51658,26475 51662,26474 51665,26476 51665,26481 51661,26483 55661,26485 55664,30485 55667,30485 55670,30489 55671,30489 55668,30491 55670,30492 55670,30493 55675,30497 55675,30501 55671,30503 55676,30500 55677,30498 55672,30494 55675,30499 55676,30500 55676,30505 55681,30501 55684,30496 55685,30500 55685,30502 55687,30506 55692,30507 55693,30506 55692,30511 55693,30516 55694,30514 55699,30514 55701,30512 55701,34512 55705,34516 55708,34520 55704,34518 56704,34519 56704,34520 56706,34517 56706,34515 56701,34519 59701,34522 59706,34522 59708,34522 59713,34526 59715,34528 59717,34533 59712,34538 59715,34538 59717,34541 59717,34546 59720,34548 59721,34552 63721,34547 63726,34549 63728,34554 63726,34556 63726,34557 63721,34556 63725,34561 63730,34558 63730,37558 63725,37561 63729,37565 63724,37569 63720,37573 63718,37578 63722,37577 63718,37579 63720,37579 63722,37580 63719,37580 63720,37579 63724,37574 63725,37574 63727,37576 63725,37581 63729,37583 63732,37586 63732,37590 63737,37592 63734,37597 63731,37600 63730,37596 63731,37596 63733,37600 63733,37601 63735,37596 63735,37591 63732,37596 63733,37601 63738,37602 63733,37599 63738,37594 63740,37598 63744,37603 63745,37605 63747,37607 63752,37607 63756,37603 63757,37603 63761,37604 63761,37608 63758,37609 63762,37604 63764,37604 63764,41604 63765,41600 63761,41599 63761,41600 63766,41596 63766,41599 63766,41601 63770,41604 63768,41608 63768,41611 63772,41614 63767,41609 63763,41612 63765,41615 63760,38615 63764,38615 63768,38618 63768,35618 63769,35618 63774,35617 63775,35618 63776,35613 63775,35615 63780,35612 63782,35613 63779,35614 63775,35618 63774,35619 63776,35624 63778,35624 63780,35629 63785,35629 63780,35626 63781,35624 63782,35629 63784,35634 63787,35638 63782,35634 63783,35634 63778,35633 63777,35638 63782,35641 63786,35644 63791,35648 63793,35647 63793,35649 63797,35653 63801,35654 63804,35654 63804,35656 63804,35655 63806,35658 63810,35658 63805,35662 63805,35657 67805,35658 67808,35660 67811,35664 67808,35660 67803,35658 67803,35661 67803,35663 67808,35666 67810,35670 67814,35669 67813,35669 67816,37669 67820,37664 67820,2275 13363,2278 16363,2274 16363,2275 16362,2279 16362,2282 16362,2287 16366,2284 16366,4284 16366,4286 16371,4290 16375,4294 18375,4295 18377,9295 18381,9296 18381,9299 18382,9303 18379,9305 19379,9308 19375,8308 19380,8312 19380,38746 37651,38749 37652,38754 37653,38757 37656,38753 37661,38753 37661,38758 37663,38763 37664,38763 42664,38768 42666,38765 42668,38770 42664,38767 42659,38768 42659,38773 42654,38771 42659,38775 42661,41775 42663,41778 42665,41781 42669,41782 42667,41779 42669,41784 42672,41781 42672,41783 42672,41780 42672,41783 42675,41784 42675,41788 42676,41792 42677,41792 42675,41793 42680,41793 42676,41796 42681,41801 42685,41804 42684,41806 42685,41804 42690,41802 42692,41805 42696,41800 42697,41802 42698,41804 42700,41809 42704,41813 42705,36813 42708,36813 42704,36810 42703,36811 42705,40811 42706,40815 46706,40816 46708,40820 46708,40818 46712,40822 46717,40825 46720,40829 46724,40827 46727,40831 46727,40833 46731,40829 46733,40830 46733,36830 46738,36830 46741,36834 46744,36831 46749,36826 46748,36822 46748,36824 46751,36819 46755,36823 46758,36823 46762,36824 46766,36822 46769,36826 46772,36831 46774,36828 42774,36833 42776,36833 42777,36838 42782)'))); +INSERT INTO t1(g) VALUES (ST_linefromtext(concat('linestring','(20 110, 21 110, 26 115, 29 112, 34 108, 39 111, 44 111, 46 116, 46 120, 42 122, 45 118, 48 118, 44 122, 46 127, 47 127, 51 127, 55 123, 52 127, 52 128, 56 130, 60 129, 61 130, 66 131, 67 131, 71 135, 76 136, 77 139, 80 143, 2080 145, 2077 147, 2079 147, 2081 147, 2086 147, 2087 151, 2092 -1849, 2088 -1848, 2088 -1852, 2091 -1848, 2095 -1846, 2092 -1847, 2092 -1848, 2093 -1847, 2094 -1846, 2099 -1843, 2104 -1844, 2102 -1848, 2102 -1848, 7102 -1847, 7105 -1846, 7106 -1843, 7111 -1838, 67 131, 69 135, 68 135, 63 136, 63 137, 64 141, 67 1141, 2067 1139, 2063 1139, 2066 1139, 5066 1139, 5068 1139, 5072 1140, 5072 1145, 5073 1142, 5076 1145, 5077 1145, 5076 1141, 5078 1141, 5073 1143, 5068 1146, 5067 2146, 5070 2151, 5075 2155, 5071 2160, 5073 2161, 5074 2166, 5076 2169, 5071 2173, 5074 2173, 5078 2177, 5076 2173, 5080 2173, 5078 2174, 78 2179, 76 2183, 77 2188, 82 2192, 85 2194, 89 2193, 86 2197, 89 2193, 88 2194, 89 2199, 89 2204, 89 1204, 87 1206, 88 1203, 89 1204, 89 1205, 93 1210, 94 1208, 96 1208, 100 1210, 104 1212, 107 1215, 104 1220, 107 1224, 111 1228, 112 1228, 116 1229, 119 1228, 120 1233, 119 1236, 124 1241, 125 1240, 122 1239, 126 1241, 123 1240, 124 1244, 128 1248, 129 1250, 128 1253, 127 5253, 125 5255, 129 5255, 133 5255, 137 5260, 140 5261, 137 5261, 141 5261, 140 5262, 143 5264, 148 5264, 148 5264, 145 10264, 149 10269, 153 10274, 158 10270, 159 10273, 164 10277, 168 12277, 170 12278, 165 12274, 170 12279, 172 12281, 172 12281, -3828 12281, -3823 12281, -3822 12282, -3823 12280, -3823 12282, -3820 12281, -3823 12279, -3827 12282, -3826 12279, -3822 12284, -3825 12284, -3824 12286, -3820 12287, -3820 12290, -3818 12292, -3816 12293, -3814 12298, -3815 12301, -3817 12304, -3814 12301, -3811 12299, -3809 12303, -3809 12301, -3804 12302, -3804 12302, -3802 12305, -3799 12310, -3801 17310, -3801 17310, -3796 17310, -3801 17314, -3799 17318, -3796 17321, -3795 17321, -795 17325, -795 17327, -794 17329, -791 17330, -790 17326, -787 17331, -782 17335, -778 17339, -774 17343, -772 17343, -769 17346, -768 17349, -763 17352, -763 17353, -761 17357, -758 17354, -758 22354, -754 22350, -750 22353, -746 22356, -750 22352, -746 22351, -744 22349, -743 27349, -741 27350, 259 27354, 262 27353, 263 27356, 268 27352, 268 22352, 271 22351, 273 22351, 274 22351, 275 22352, 275 22356, 280 22352, 281 22348, 284 22349, 284 22346, 285 22351, 285 22351, 290 22353, 294 22351, 294 22352, 295 22352, 300 22352, 305 22355, 308 22356, 311 22356, 310 22358, 312 22360, 313 22365, 313 22362, 313 22364, 313 22364, 317 22360, 322 22362, 327 22367, 328 22370, 323 22375, 320 22377, 320 22379, 316 22379, 318 22379, 323 22380, 323 22380, 324 22376, 34 108, 38 113, 42 118, 42 117, 42 121, 46 123, 51 127, 51 130, 51 133, 55 137, 52 141, 52 143, 51 141, 50 142, 45 142, 44 143, 48 146, 48 142, 43 143, 47 145, 4047 5145, 4047 5150, 4044 5151, 4045 10151, 4043 10154, 4044 10156, 4047 10156, 4043 10160, 4043 10156, 4043 10156, 4048 10157, 4051 10160, 4048 10159, 4053 10161, 4057 10163, 4057 10164, 4058 10165, 4057 10170, 4056 10173, 4056 10176, 4056 15176, 4053 15180, 4049 15181, 4051 15178, 4049 15180, 4049 15180, 4048 15181, 4048 15184, 4045 15188, 4045 15191, 4040 15194, 4042 15198, 4042 15203, 4047 15200, 4049 15201, 4052 15204, 4052 15208, 4052 15212, 4049 15216, 4049 15219, 4051 15220, 4048 15222, 4044 15227, 4044 15232, 4044 15236, 4049 15239, 4052 15240, 4052 15243, 4053 15247, 4055 15247, 4052 17247, 4054 17247, 4054 18247, 4059 18251, 4063 18253, 4066 18253, 4069 20253, 4069 20254, 4069 20259, 4068 20263, 4068 20263, 4069 20259, 4071 20260, 4073 20262, 4074 20258, 4069 20261, 4069 20264, 4071 20269, 4067 20271, 4071 20270, 4072 20271, 4073 20268, 4076 20263, 4072 20268, 4075 20264, 4076 20267, 4079 20272, 4084 20275, 4086 20277, 4086 20281, 4083 18281, 4087 18283, 4088 18280, 4089 18277, 4089 18279, 4094 18281, 4095 18283, 4095 18284, 4097 18284, 4093 18287, 4094 18285, 4096 18287, 4092 18291, 4096 18291, 140 5261, 140 5259, 140 5262, -1860 5258, -1858 5260, -1854 5262, -1849 5259, -1848 5264, -1845 5264, -1845 5267, -1845 5262, -1848 5261, -1848 5263, -1849 5261, -1853 5262, -1851 5265, -1847 5265, -1847 5262, -1847 5263, -1843 5268, -1845 5268, -1848 5272, -1850 5270, -1851 5274, -1854 5269, -1850 5266, -1845 5267, -1840 5267, -1840 5264, -1840 5269, -1839 5269, -1842 5269, -1840 5274, -1835 5278, -1836 5283, -1841 5279, -1840 5284, -1836 5285, -1836 5289, -1831 5289, -1826 5292, -1822 5293, -1826 5295, -1829 5295, -1824 5295, -1828 5297, -1824 5300, -1820 5305, -1824 5306, -1824 5306, -1824 5306, -1823 5301, -1818 5303, -1814 5307, -1814 5303, -3809 12303, -3807 12306, -3804 12306, -3804 12306, -3801 12308, -3796 12308, -3795 12308, -3791 12310, -3786 12310, -3781 12313, -3814 12298, -3809 12303, -3807 12301, 7102 -1847, 7100 -1850, 7104 -1850, 7109 -1852, 7109 -1854, 7112 -1850, 7112 -1847, 7115 -1847, 7117 -1847, 7122 -1847, 7125 -1843, 7126 -1848, 7127 -1848, 7129 -1848, 7133 -1848, 7131 1152, 7131 1149, 7135 1154, 7139 1152, 7140 1151, 7145 1153, 7149 1158, 8149 1159, 8154 3159, 8149 3161, 8145 3162, 8146 3164, 8146 3168, 11146 3171, 11148 3171, 11150 3167, 11154 3165, 11150 3163, 11151 3167, 11152 3165, 11153 3170, 11156 3175, 11156 3174, 8146 3164, 8146 3167, 8146 3170, 8147 3170, 8148 3175, 8148 3178, 8146 3178, 8146 3178, 8147 3180, 8143 3184, 3143 3186, 7143 3187, 7143 7187, 7138 7189, 7138 7189, 7135 7191, 7138 7191, 7133 7194, 7138 7198, 7139 7201, 7143 7200, 7141 7203, 12141 7204, 12145 7204, 12145 7203, 12146 7207, 12147 7204, 12143 7204, 12138 7199, 12138 7195, 12139 7195, 12139 7200, 12141 7201, 12142 7201, 12139 7205, 12142 7208, 12142 7213, 12145 7213, 12147 7214, 12149 7218, 12150 9218, 12154 9222, 12151 9222, 12151 9225, 12151 9224, 12152 9226, 12155 10226, 12155 10230, 12158 10231, 12161 10227, 12162 10224, 12163 10229, 12163 10231, 12165 10228, 12165 10227, 12160 10228, 12160 10231, 12160 10235, 12157 12235, 12159 12230, 7138 7189, 7141 7193, 7141 7193, 7141 7192, 7139 7195, 7141 7195, 7142 7193, 7145 7195, 7146 7193, 7146 7194, 7151 7197, 7154 7198, 7156 7202, 7155 7207, 7150 7211, 12150 7213, 12148 7213, 12147 7217, 12142 7221, 12141 7223, 12143 7223, 12140 7222, 12145 7222, 13145 7224, 13142 7228, 13144 7232, 13139 7235, 13144 7239, 13148 7243, 13151 7247, 13150 7251, 13152 7252, 13157 7253, 13157 7257, 13157 7257, 13157 7262, 13159 7264, 13164 7259, 13161 7259, 13165 7262, 13166 7262, 13166 7267, 13169 7268, 13169 8268, 13167 8269, 13171 8269, 13173 13269, 13177 13265, 13178 13263, 13178 13263, 13182 13266, 13183 13266, 13185 13266, 13190 13269, 13193 13271, 13193 13269, 13196 13271, 13193 13273, 13194 13268, 13198 13273, 13200 13276, 13202 13276, 13204 13274, 13209 11274, 13213 11274, 13213 11277, 13215 11278, 13219 11279, 13224 11280, 13224 11276, 13228 11278, 13233 11281, 13235 11286, 13238 11288, 13240 11288, 13238 11290, 13238 11292, 13238 11287, 13238 11288, 13240 11293, 13243 11296, 13246 11296, 13247 11293, 13243 11298, 13246 11302, 13251 11305, 322 22362, 326 24362, 330 24362, 329 24367, 328 24363, 329 24365, 331 24369, 336 24371, -664 24371, -668 24372, 51 127, 48 131, 48 133, 51 135, 51 140, 49 139, 47 142, 3047 139, 3044 142, 3046 143, 3046 148, 3051 148, 3055 146, 3057 141, 3060 140, 3055 143, 3050 146, 7050 142, 7050 3142, 7050 3143, 7050 3144, 7052 3149, 7055 1149, 7052 1150, 7055 5150, 7050 5154, 7049 5150, 10049 5151, 10045 5151, 10049 5151, 10052 5156, 10054 5159, 10056 5160, 10058 5161, 10058 5163, 10060 5166, 10064 5168, 10064 5173, 10068 9173, 10070 9172, 10065 9168, 10065 9173, 10063 9175, 14063 9176, 14063 9178, 284 22346, 289 22351, 290 22351, 290 22347, 287 22343, 282 22342, 280 22345, 281 25345, 286 25347, 13243 11298, 13248 11300, 13245 11300, 13246 11295, 13247 11295, 13246 11295, 13248 11299, 13253 11304, 13255 11309, 13255 11310, 13260 11309, 13257 11310, 13258 11313, 13258 11315, 13263 11311, 13267 11307, 13269 11309, 13272 11305, 13277 11302, 13273 11304, 15273 11306, 15278 11310, 15281 11307, 15286 11309, 15288 11309, 15291 11311, 15292 11306, 15294 11309, 15298 11313, 15299 11317, 15300 11320, 15302 11321, 15306 11324, 15308 11328, 15308 11324, 15309 11324, 15314 11324, 15315 11323, 15319 11321, 15317 11325, 15319 11327, 15319 11332, 15321 11337, 15324 11340, 15324 11341, 15324 11341, 15326 11345, 15326 11349, 15327 14349, 15330 13349, 17330 13350, 17335 13353, 17339 13358, 17340 13362, 17344 13362, 17348 13357, 17350 13357, 17347 13357, 17350 13358, 17349 13358, 17349 13358, 17349 13359, 22349 13362, 22351 13359, 22353 13359, 22358 13358, 22360 13358, 22363 13359, 22364 13359, 22360 13359, 22361 13363, 22366 13368, 22371 13373, 22374 13377, 22378 13375, 22379 13375, 22379 13373, 22383 13378, 22388 13383, 22389 13380, 22389 13384, 22394 13382, 22392 13378, 22394 13382, 22393 13382, 22393 13379, 22394 13382, 22392 13384, 22395 13386, 22400 13391, 22400 10391, 22404 10395, 22401 10396, 22402 10396, 22402 10398, 22406 10395, 22405 15395, 22407 15396, 22409 15396, 22414 15391, 22414 15394, 22414 15398, 22410 15400, 26410 15402, 26409 20402, 26413 20406, 26417 20410, 26419 20415, 26422 20411, 26424 20411, 31424 16411, 31423 16409, 31423 16414, 31425 16414, 31428 16418, 31428 16414, 31432 16419, 31432 16422, 31437 16423, 31439 16424, 31440 16426, 31440 16429, 31440 16429, 31443 16431, 31441 16435, 31443 16440, 36443 16440, 36445 18440, 36444 18441, 36442 18444, 36442 18440, 36442 18444, 36444 18449, 36445 18450, 36449 18455, 37449 23455, 37454 23460, 37458 23459, 37460 23463, 37458 23465, 37460 23467, 37462 23470, 37466 23473, 37462 23478, 37464 23480, 37463 26480, 37468 26483, 37472 26487, 37473 26492, 37476 26493, 37476 26489, 37476 26487, 37476 26492, 37472 26496, 37476 26501, 37476 26503, 37480 26499, 37485 26503, 37485 26505, 37490 26500, 37493 26503, 37497 26499, 37502 26500, 37502 26501, 37502 26505, 37499 26503, 37499 26503, 37497 26508, 37500 26508, 37496 26513, 37499 26518, 37497 26519, 37500 26518, 37505 26518, 37510 26516, 37512 26520, 37513 26523, 37511 26527, 37508 26532, 37509 26536, 37514 26540, 37515 26542, 37512 26546, 37514 26548, 37519 26547, 37524 26550, 37529 26555, 37527 26559, 37531 26562, 37526 26567, 37526 26566, 37529 26566, 37524 26566, 37524 26563, 37528 26565, 37524 26563, 37525 26565, 37525 26560, 37526 26562, 40526 26564, 40526 26567, 40523 26571, 40527 26570, 40529 26572, 40534 26576, 40536 26573, 40535 26569, 40533 26569, 40537 26573, 40537 26574, 40541 26576, 40546 26579, 40545 26579, 40546 26583, 40550 26588, 40551 26585, 40555 26589, 40558 26594, 40554 22594, 40559 22598, 40558 22599, 40563 22596, 40563 22597, 40567 22597, 40570 22597, 40575 22592, 40572 22594, 40572 22595, 40572 22592, 40575 22594, 40575 22597, 40570 22597, 40569 22601, 40569 22603, 40573 22603, 40576 22604, 40576 22608, 42576 22611, 42579 22611, 42579 22616, 42581 22620, 38581 22623, 38582 22621, 38582 22618, 38577 22623, 38581 22623, 38581 18623, 38584 18618, 38584 18621, 38588 18626, 38592 18629, 38592 18626, 38596 18625, 38598 18620, 38599 18618, 38599 18622, 38602 21622, 38603 21622, 38607 21624, 38609 25624, 38613 25624, 38610 25621, 38610 25625, 38610 25629, 38613 25627, 38617 25627, 38617 25624, 38618 25626, 38621 25628, 38622 25629, 38622 26629, 38625 26631, 38625 26631, 313 22362, 313 22363, -1687 22364, 2313 27364, 2314 27364, 2314 27364, 2319 27366, 2319 27366, 2321 27363, 2321 27368, 2320 27363, 2323 27368, 2328 27371, 2327 27375, 2328 27377, 2328 27377, 2327 27381, 2331 27381, 2329 27381, 2332 27383, 2335 27383, 2333 27383, 2333 27385, 2338 27385, 6338 27386, 6338 27387, 40529 26572, 40533 26576, 40535 26578, 40540 26580, 40535 26584, 40540 26589, 40541 26592, 40538 26587, 40542 26591, 40541 26592, 40537 26597, 40542 26598, 40546 26601, 40550 26606, 40550 26605, 40551 26606, 40549 26606, 40550 26607, 40555 26610, 40550 26610, 40550 26607, 40553 26612, 40558 26616, 40561 26620, 40556 26623, 40558 26623, 40558 26627, 42558 26627, 42558 26628, 42562 26628, 42564 26630, 42565 26634, 42566 26634, 42566 26638, 42561 26639, 42564 26639, 42567 26641, 42564 26642, 42566 26646, 42566 26645, 42570 26645, 42574 26645, 42574 29645, 42576 29646, 39576 29645, 39576 34645, 39578 34647, 39583 34642, 39580 34642, 39576 34646, 39576 34649, 39574 35649, 34574 35652, 34579 35655, 39579 35659, 43579 35663, 43582 35659, 43577 35662, 43580 35662, 43583 35666, 43579 39666, 43574 39662, 43574 39665, 43574 39668, 43574 39670, 43578 39674, 43579 39671, 43582 39675, 43578 39677, 43575 39677, 43576 39681, 43571 39683, 43569 39683, 43570 39687, 43565 39690, 43568 39694, 43568 39696, 43570 39698, 43570 39699, 41570 39695, 41572 39696, 41573 39696, 41573 39697, 41573 39702, 41573 39702, 41576 39702, 41571 39702, 41572 39703, 41572 39708, 41574 39713, 41575 39716, 41580 39717, 41581 39721, 41586 39723, 41587 39724, -1848 5272, -1843 5272, -1845 5270, -1840 5272, -1838 5267, -1843 5268, -1841 5268, -1837 8268, -1837 8271, -1837 8276, -1836 8280, -1832 8277, -1832 8277, -1831 8278, -1835 8283, -1834 8287, -1832 8290, -1834 8286, -1832 8283, -1833 8283, -1832 8284, -1834 8287, -1839 8292, -1844 8293, -1841 8290, -1836 8290, -1839 8289, -1836 8289, -1832 8292, -1827 8295, -1823 8290, -1823 8293, -1823 8291, -1822 8295, -1820 8298, -1819 8302, -1816 8304, -1816 8300, -1812 8300, -1809 8299, -1806 8296, 1194 8300, 1194 8301, 1197 11301, 1194 11305, 1197 11309, 1199 11304, 1195 11304, 1195 11300, 1195 11297, 1196 11298, 1201 11296, 1206 11296, 1207 11298, 1212 11296, 1210 11292, 1206 11294, 1207 11293, 1209 8293, 1204 8288, 1206 8286, 1206 8285, 1208 8285, 1210 8285, 1214 8287, 1214 13287, 1215 13291, 1215 13294, 1218 13297, 1216 13293, 1219 13290, 1214 13295, 1210 13292, 1210 13296, 1211 13301, 1210 13300, 1206 13302, 1207 13307, 1211 13312, 1206 13312, 1211 13308, 1212 13308, 1216 13313, 1216 13318, 1217 13318, 1221 13318, 1221 13323, 1226 13324, 1231 13325, 1234 13329, 1235 13333, 1233 13333, 1236 13338, -2764 13340, -2767 13341, -2763 13344, -2760 13349, -2758 13346, 2242 13346, 2240 13346, 2244 13346, 2248 13349, 2248 13350, 2246 13352, 2241 13352, 2242 13355, 2242 13356, 2247 13361, 2250 13361, 2245 13366, 2249 13366, 2250 13366, 2254 13367, 2258 13367, 2258 13367, 2262 13371, 2257 13376, 2253 13373, 2253 13373, 2254 13376, 2251 13380, 2256 13382, 2257 13386, 2261 13383, 2264 13383, 2269 13385, 2264 13385, 2264 13387, 2267 13387, 2271 13389, 2272 13390, 2273 13393, 2269 13395, 2273 13390, 2277 13395, 2275 13396, 2277 13391, 2279 13394, 2276 13394, 2277 13398, 2282 13399, 2282 11399, 2283 14399, 2281 14404, 2279 14407, 2275 14410, 2276 16410, 2276 16414, 2281 16414, 2286 16415, 2282 16413, 2282 16413, 2284 16413, 2284 16415, 2284 16416, 2282 16417, 3282 16422, 3286 16422, 3287 16427, 3291 16427, 3294 16431, 3296 16433, 3298 16435, 3299 16440, 3300 16439, 3305 16439, 3307 16438, 3307 16440, 3307 16440, 3311 16441, 3311 16442, 3310 16443, 3310 16443, 3308 16448, 3304 16445, -1696 16441, -1701 16442, -1697 16442, -1695 16442, -1696 16443, -1693 16440, -1688 16445, -1685 16450, -1681 16454, -1680 16455, -1682 16457, -1680 16461, -1680 16461, -1684 16464, -1679 16463, -1678 16460, -1675 16464, -1679 16465, -1677 16468, -1672 16469, -1671 16473, -1667 16475, -1667 16480, -1663 16478, -1663 16482, -1662 16482, -1662 16483, -1659 16478, -1654 16475, -1653 11475, -1658 11477, -1661 11479, -1664 11484, 3336 15484, 3340 15480, 3344 15475, 3347 15475, 3347 15474, 3352 15473, 3349 15478, 3353 15480, 3354 15477, 3355 15480, 3352 15481, 3352 15483, 3353 15486, 3354 15488, 3353 15491, 3355 15491, 3360 15491, 3355 15490, 1219 13290, 1224 13295, 1224 13295, 1227 13290, 1231 13290, 1233 13285, 1237 13284, 1238 13285, 1243 13286, 1247 13289, 1249 13289, 1249 13291, 1252 13291, 1249 13294, 1249 13299, 1249 13302, 1254 13305, 1251 13308, 1254 13308, 3254 13308, 3249 13308, 3251 13312, 3256 13312, 3259 13312, 3263 17312, 3263 17313, 3263 17310, 3261 17309, 3264 17314, 3265 17312, 3264 17315, 3261 17318, 3261 17318, 3259 17313, 3256 17313, 3255 17313, 3257 17314, 3255 17316, 3257 17316, 3257 17316, 3258 17311, 3259 17311, 3258 17315, 3258 17317, 3257 17321, 3253 17321, 3250 17325, 3255 17329, 3258 17330, 3260 17328, 3260 17331, 3265 17326, 7265 17329, 7267 17332, 7265 17334, 7267 17337, 7272 17337, 7275 17337, 7280 17340, 4280 21340, 4280 21344, 4281 21344, 4283 21344, 4288 24344, 4292 24347, 9292 24351, 9296 24353, 9298 24351, 9300 25351, 9303 25352, 9303 25352, 9306 25357, 9305 25361, 9305 25356, 11305 25359, 11306 25362, 11309 25362, 11314 25362, 11314 25365, 11312 25369, 11315 25369, 11316 25373, 11321 25375, 11323 25375, 11327 25370, 11331 25369, 11332 25370, 11331 25374, 11332 25369, 11336 25371, 11340 25370, 11345 25367, 11350 25363, 11347 25360, 11350 25361, 11351 25362, 11351 25362, 11354 25364, 11358 30364, 11362 30369, 11362 30369, 11364 30369, 11369 30371, 11370 30373, 15370 30374, 15375 30375, 15378 30377, 14378 30382, 14379 30387, 14383 30382, 14388 30384, 14390 30386, 14393 30389, 14395 31389, 16395 31393, 16398 31398, 16398 31401, 16394 31404, 16397 31409, 16400 31413, 16400 31417, 16399 31419, 16398 31421, 16403 31422, 16403 31426, 16404 31423, 16409 31424, 16413 31423, 16408 31427, 18408 31431, 18413 31436, 18417 28436, 18419 28441, 18420 28445, 18416 28442, 18419 28439, 18418 28443, 18422 28446, 18425 28451, 18429 28448, 21429 28449, 21430 28454, 22430 28459, 22434 28461, 22438 28462, 22443 28462, 22447 28467, 22450 28472, 22453 28469, 22458 28472, 22455 28472, 22460 28475, 22465 28477, 22462 28479, 22461 28476, 22465 28480, 22466 28476, 22470 28472, 22470 28475, 25470 28470, 25473 28472, 25475 28468, 25475 28468, 25477 29468, 25478 29470, 25481 29465, 25478 29466, 25478 29468, 25480 29468, 25485 29465, 25486 29464, 25488 29462, 25488 29466, 25492 29464, 25497 26464, 25500 26467, 25497 26472, 25497 26476, 25497 26476, 25501 26478, 25506 26480, 25506 26482, 25511 26480, 25515 26483, 25516 26485, 25521 26481, 25521 26484, 25520 26485, 25521 26488, 25526 26487, 25529 26488, 25524 26488, 25528 26491, 25530 26496, 25535 26500, 25537 26502, 25537 26502, 25541 26507, 25544 26508, 25545 26509, 25549 26514, 25554 26514, 25553 26512, 25552 26516, 25555 26514, 25559 26514, 25556 26515, 25554 26512, 25558 26509, 25558 26510, 25562 26510, 25562 26511, 25562 26510, 25567 26505, 25569 26508, 25571 26508, 25570 26512, 25573 26512, 25573 26515, 25578 26515, 25583 26520, 25583 26523, 25584 26525, 25587 26526, 25590 26531, 25590 26530, 25586 26534, 25589 26538, 25591 26533, 25595 26537, 25600 26542, 25601 26544, 25601 26544, 25601 26544, 25606 26547, 25605 26547, 25605 26542, 25608 26542, 25611 26544, 25613 26546, 25614 26551, 25614 26551, 25614 26552, 25619 25552, 25614 25552, 25615 25551, 25618 25549, 25618 25553, 25620 25555, 25622 25559, 25622 25555, 25624 25554, 25627 25555, 25624 25559, 25621 25561, 25619 25560, 25624 28560, 25627 28555, 25632 28550, 25636 28552, 25641 28557, 25645 28557, 25640 25557, 25636 25557, 25636 25561, 25641 25561, 25645 25562, 25646 25557, 25648 25560, 25649 25564, 25652 25566, 25652 30566, 25652 30566, 25652 30568, 25652 30570, 25654 30574, 25658 30575, 25663 31575, 25664 31579, 25665 31583, 25664 31583, 25667 31585, 25668 31588, 25673 31586, 25676 31585, 25676 31588, 25678 31588, 25675 31591, 25680 31590, 25681 31585, 30681 31588, 30677 31593, 30682 31594, 35682 31594, 35677 31593, 35679 31595, 35682 31594, 35683 31591, 35686 31592, 35687 31593, 35691 31596, 35691 31597, 35694 31601, 35698 31601, 35702 34601, 35701 34603, 35705 34608, 35705 34610, 35704 34605, 35707 34607, 35707 34610, 35710 34607, 35715 34608, 35719 34607, 35721 34612, 35717 34612, 35713 34612, 35715 34613, 35716 34609, 35716 34614, 35716 34618, 35720 34620, 35721 34621, 35724 34622, 35724 34625, 35727 34629, 35727 34630, 35727 34633, 35727 34635, 35727 34639, 35732 34640, 35729 34642, 35733 34644, 35737 34646, 35741 34649, 35743 34649, 35744 34653, 35740 34653, 35740 34649, 35743 34651, 38743 34654, 38743 37654, 38744 37650, 38748 37655, 38751 37656, 38755 37657, 38755 37661, 38759 37660, 38758 37664, 38763 37664, 38767 37664, 38762 37664, 38761 37664, 38762 41664, 38762 41664, 38764 41669, 38759 41671, 43759 41673, 43754 41678, 43754 41681, 43759 41676, 43760 41681, 45760 41684, 45760 41683, 45764 41687, 45767 41687, 45771 41687, 45772 41688, 45770 46688, 45775 46692, 45778 46696, 45776 46698, 45777 46701, 45780 46699, 45778 46702, 45776 46706, 45781 46706, 45786 46708, 45789 46710, 45793 46715, 45788 46711, 45792 46715, 45795 46719, 45798 46723, 45801 46728, 45799 46732, 45804 46730, 45799 46733, 45803 46737, 45804 46737, 45805 46736, 45806 46736, 45807 46736, 45810 46739, 45812 46744, 45812 46748, 2328 27377, 2324 27381, 2325 27383, 2327 27387, 2327 27386, 2324 27386, 2325 27386, 5325 23386, 5327 23389, 5331 23390, 5332 23394, 5337 23396, 5332 23396, 5332 23399, 5331 23399, 5335 23403, 5335 23406, 5340 23409, 5341 23409, 5336 23410, 5331 23405, 5334 23407, 5332 23411, 5335 23413, 5330 20413, 5326 20415, 5326 20418, 5331 20420, 5330 20425, 5327 20425, 5331 20428, 5332 20428, 5337 21428, 5333 21431, 5335 21435, 5336 21437, 5331 21438, 5332 21441, 5335 21444, 5340 21441, 5340 21444, 5336 21445, 5335 21442, 5331 26442, 5334 26439, 5337 26443, 5339 26444, 5340 26448, 5344 26443, 5344 26446, 5347 26444, 5351 26442, 5354 26446, 5351 26449, 5350 30449, 5352 30451, 5352 30448, 5356 30448, 5361 30447, 5365 30449, 5369 30450, 5369 30452, 5369 30457, 5373 30459, 5373 30457, 5375 30462, 5377 30465, 5382 30467, 5386 30467, 5385 30463, 5386 30463, 5385 30463, 5387 30464, 5392 30463, 5394 30468, 5396 30468, 5391 30469, 5395 30473, 5393 30473, 5393 30473, 5397 30478, 5398 30474, 5401 30474, 5403 30471, 5403 30472, 5406 30474, 5402 30469, 5403 30466, 5405 30471, 5406 30471, 5411 30473, 5414 30477, 5414 30481, 5409 30485, 8409 30490, 8410 30493, 8412 30494, 8412 30493, 8415 30494, 8416 30497, 8416 30500, 8421 30505, 8422 30506, 8417 30511, 13417 30513, 13413 30510, 13416 30511, 13414 30515, 13414 30519, 13419 30522, 13421 30527, 13420 30531, 13424 30533, 13420 30535, 13415 35535, 13411 35535, 13415 35536, 13419 35541, 13421 35537, 13425 35533, 13426 35533, 13425 35528, 13430 35529, 13435 35530, 13440 35534, 13445 35535, 13450 35535, 13454 35536, 13457 35540, 13459 35540, 13454 35540, 13457 35543, 13454 35539, 13459 35544, 13459 35548, 18459 35550, 18462 35551, 22462 35550, 22467 35554, 22468 35558, 22470 35556, 22475 35559, 22473 35563, 22472 35568, 22474 35568, 22472 35573, 22476 35573, 22476 35575, 22479 35577, 22484 35580, 22489 35584, 22490 35587, 22491 35589, 22495 35589, 22498 35589, 25498 35590, 25495 35586, 25496 35589, 25500 35589, 25498 35589, 25500 35591, 25505 35595, 25505 35597, 25501 35594, 25501 35595, 25497 35595, 26497 35599, 29497 35595, 29497 35597, 29500 35601, 29500 35605, 29502 35610, 29503 30610, 29504 30607, 29507 30607, 29512 30610, 29513 30610, 29516 30611, 29518 30614, 29520 30612, 3261 17309, 3265 17308, 3269 17307, 3273 17312, 3271 17316, 3271 17317, 3276 17319, 3279 17319, 3284 17315, 3287 17317, 3285 17313, 3280 17314, 3277 17319, 3277 17321, 3278 17326, 3282 17328, 3282 17328, 3278 17329, 3279 17329, 3278 17332, 3280 17328, 3275 17333, 3279 17335, 3282 17330, 3283 17332, 3278 17328, 3279 17328, 3279 17326, 3279 17325, 3279 17325, 3283 17327, 3284 17331, 3284 17336, 3289 17339, 3290 17339, 3290 17342, 3292 17341, 3296 17344, 3296 17345, 3301 17345, 3301 12345, 3301 12346, 3306 12343, 3303 14343, 3307 14344, 3309 14345, 3313 14347, 3315 14347, 3316 16347, 3312 16345, 3312 16350, 3314 16352, 3313 16353, 4313 16350, 4318 16352, 4323 16348, 4326 16352, 4324 16353, 4325 16350, 4325 16350, 4328 16354, 4324 16358, 4325 16360, 4327 16365, 4327 16362, 4324 16366, 4327 20366, 4327 20370, 4324 20371, 4328 20376, 4328 20378, 4333 20377, 4335 20377, 4340 20380, 4341 20383, 4343 20386, 4340 20388, 4341 20390, 4342 20387, 4342 20387, 4337 20392, 4338 20394, 4343 20394, 4348 20395, 4350 20395, 4351 20397, 37499 26503, 37496 26500, 37498 26504, 37498 26505, 37501 26510, 37499 26506, 37500 26506, 37502 29506, 37502 29511, 37507 29512, 37508 33512, 37510 33517, 37515 33522, 37519 33526, 37518 33524, 37523 33525, 37523 33529, 37518 33534, 37521 33532, 37522 33532, 37526 33534, 37529 33534, 37527 33531, 37530 33534, 37535 33537, 37536 38537, 37538 38540, 22360 13359, 25360 13364, 25363 13362, 25364 13366, 25364 13366, 25367 13369, 25365 13371, 25361 13373, 25359 13378, 25362 13378, 2249 13366, 2254 13370, 2256 13367, 2259 13367, 2263 13362, 2266 13358, 2266 13360, 2271 13365, 2274 13367, 2276 13367, 2277 13367, 2275 13366, 2276 13369, 2280 13369, 2282 13374, 2286 13370, 2286 13369, 2291 13372, 2292 13370, 2295 13372, 2300 13377, 2300 13376, 2297 13379, 273 22351, 275 22354, 4275 22351, 4271 22352, 4272 22354, 4273 22359, 4274 22364, 4278 22367, 4283 22369, 4286 24369, 4281 24369, 4284 24369, 4287 24369, 4289 24368, 4291 24366, 4296 24364, 4297 24366, 4300 24369, 4303 24373, 1303 24374, 1303 24375, 1307 24379, 1307 24380, 1309 24381, 1314 24384, 1316 24386, 1320 24384, 1318 24386, 1318 24391, 1320 24391, 1320 29391, 1323 29391, 1318 29387, 1322 29390, 1323 29393, 1328 29393, 1329 29393, 2329 29398, 2329 29398, 2334 29397, -664 24371, -661 24372, -659 24372, -654 24375, -651 24376, -647 24376, -645 24378, -641 24374, -636 24379, -633 24384, -636 24386, -636 24388, -636 24388, -634 24392, -635 24394, -630 24390, -628 24390, -627 24390, 373 24393, 378 24398, 376 24396, 379 24401, 3379 24404, 6379 24409, 6380 24412, 6375 24410, 6372 24410, 6377 24407, 6372 24407, 6377 24407, 6381 24410, 6376 24413, 6380 24415, 6382 24416, 6380 24419, 6380 24423, 6385 24427, 6387 24429, 6389 24432, 6392 24437, 6388 24434, 6388 24439, 6389 24440, 6390 24444, 6389 24448, 6385 29448, 6385 29451, 6388 29455, 6384 29450, 6389 29451, 6392 29456, 6395 29456, 6399 29459, 6402 29463, 6402 29467, 6399 29471, 6395 29471, 6397 29474, 6399 29477, 6401 29472, 6396 29471, 6399 29474, 6398 29477, 6398 29474, 6395 29469, 6391 29473, 6392 29474, 6391 29469, 6391 29472, 6394 29474, 6390 33474, 6392 33470, 6393 33470, 6394 33471, 6396 33471, 324 22376, 324 22378, 325 22381, 329 22382, 333 22386, 332 22387, 334 22390, 335 22387, 333 22387, 332 22391, 334 22395, 334 22400, 339 22401, 341 22398, 342 22403, 342 22402, 342 22400, 345 22400, 345 22400, 343 22404, 344 22408, 345 22406, 350 22407, 347 22411, 349 22415, 344 22415, 347 22417, 342 22421, 347 22421, 350 22426, 350 22430, 353 22431, 354 22436, 354 22440, 4354 22442, 4355 22446, 4356 22448, 4356 22451, 4359 22453, 4362 22454, 4366 22454, 4369 22455, 4371 22457, 4368 22459, 4371 22457, 4375 22462, 4379 22463, 4382 22463, 4382 22468, 4387 22471, 4387 22471, 4392 22473, 4387 22473, 4387 22476, 25573 26512, 25576 26511, 25580 26516, 25583 26516, 25583 26516, 25585 26512, 25585 26517, 25589 26520, 25591 26519, 25592 26519, 25593 26521, 25591 26524, 25589 26526, 23589 26530, 23587 26535, 23591 26538, 23594 26542, 24594 26547, 24590 26549, 24595 26551, 24600 26547, 24600 26552, 24604 26549, 24600 26544, 24602 26549, 24602 26552, 24602 31552, 24607 31553, 24610 31555, 24615 31556, 24617 36556, 24618 36561, 24621 36561, 24624 36564, 24624 36568, 24629 35568, 24629 35573, 24634 35573, 25634 35574, 25637 35573, 25638 35577, 25638 35577, 25640 35580, 25643 35584, 25643 35587, 25643 35592, 25644 40592, 20644 40597, 20647 40597, 20652 40599, 20653 40595, 20653 40598, 20650 40595, 20650 40595, 20654 40600, 20654 40600, 20658 40601, 20658 40604, 20658 40605, 20661 40602, 20664 40601, 20664 40601, 20665 40604, 20670 40605, 20667 40610, 1217 13318, 1216 13323, 1214 13321, 1211 13316, 1212 13316, 1213 13321, 6213 13324, 6216 13324, 6218 13324, 6213 13327, 6216 13322, 6216 13327, 6216 13328, 6218 13323, 6221 13327, 6220 13325, 6221 13325, 6220 13330, 6223 13333, 6227 13335, 6232 13339, 6233 13343, 6233 13347, 6237 13342, 6236 13346, 6236 13348, 6238 13349, 25526 26487, 25523 26488, 25526 26493, 25529 26491, 25531 26488, 25532 26486, 25536 27486, 25541 27490, 25539 27492, 25543 27487, 25546 27490, 25549 27494, 25552 27495, 25552 27495, 25556 27490, 25561 27490, 25565 27493, 25563 27493, 25565 27497, 25563 27495, 25565 27497, 25565 27499, 25566 27501, 25565 27501, 25565 27501, 25560 27502, 25565 27503, 25567 27507, 25569 27507, 25571 27507, 25569 27508, 25567 27509, 25567 27509, 25567 27509, 25568 27509, 25572 27505, 25572 27501, 25576 27502, 25572 32502, 25572 32505, 25575 32505, 25578 32501, 25578 32502, 25579 32505, 25581 32507, 25585 32508, 25590 32511, 25594 32516, 25598 32511, 25601 32511, 25596 32507, 25599 32510, 25599 32514, 25596 32513, 25596 32514, 25598 32517, 25594 32517, 25596 32519, 25596 32524, 25600 32524, 25604 32521, 25605 32522, 27605 32524, 27609 32527, 27610 31527, 27615 31531, 27617 31531, 30617 31534, 30619 31534, 30620 31536, 30621 31540, 30625 31541, 30625 31542, 30627 31542, 30628 31545, 30629 31545, 30626 31544, 30625 31544, 30626 31549, 34626 31550, 34621 31547, 34625 31549, 34626 31553, 34626 31552, 34628 31554, 34628 31559, 34628 31555, 34630 31559, 34635 31559, 34638 31563, 34636 31568, 34638 31568, 34641 31566, 34641 31564, 36641 31559, 36638 27559, 41638 27561, 41642 27558, 41646 27562, 41649 27563, 41650 27559, 41655 27559, 41660 27559, 41660 27556, 41660 27556, 41662 27554, 41658 27558, 41663 27562, 41666 27565, 41669 27570, 41664 27566, 41665 27567, 41665 27569, 41664 27573, 41663 27573, 41666 27575, 41666 27571, 41661 30571, 41662 30569, 41662 30565, 41667 30570, 41666 30565, 41666 30565, 41666 30566, 41666 30567, 41662 30562, 1314 24384, 4314 25384, 4317 25388, 4317 25389, 4321 25387, 4324 25392, 6324 25391, 6324 25391, 6328 25396, 6323 25401, 6326 25401, 6326 25405, 6321 25408, 9321 25409, 9316 25404, 9314 25406, 9312 25407, 9315 25407, 9315 25407, 9318 25404, 9321 25405, 4321 25400, 8321 25402, 8317 25404, 8317 25400, 8317 25401, 8313 25402, 8309 25398, 8311 25398, 8313 25401, 8317 25406, 8312 25407, 11312 25369, 11313 25369, 11318 25374, 11322 25379, 11327 25379, 11327 25384, 11327 25386, 11328 25382, 14328 25384, 14330 25386, 14333 25387, 14336 25389, 14338 25390, 19338 25390, 19338 25393, 19334 25394, 19334 25395, 19337 25392, 19340 25395, 19344 25397, 19342 25397, 19347 25400, 19347 25398, 19349 25398, 19351 25397, 19353 25401, 19352 25402, 19350 25403, 19351 25407, 19354 25403, 19352 25406, 19356 25404, 19355 25409, 23355 25406, 23356 25406, 23358 25409, 23360 25413, 23362 25417, 23365 25418, 23369 25416, 23367 25415, 23369 25418, 23365 25417, 23369 25420, 23369 25420, 23372 25422, 24372 25418, 24372 25423, 24375 27423, 24380 27423, 24382 27420, 24382 27416, 24382 27414, 24382 27410, 24378 27410, 24376 27414, 24372 27418, 24372 27419, 24373 27424, 24377 27419, 24380 27415, 24377 27419, 24380 27422, 24384 27425, 24385 27430, 24385 27429, 24387 27434, 24392 27435, 24396 27436, 24397 27440, 24401 30440, 24402 30443, 24406 30447, 24405 30443, 24408 30442, 24412 30446, 24408 30450, 24410 30449, 24405 30449, 24410 30446, 24414 30450, 24418 30450, 24418 30453, 19418 30453, 19418 30451, 19420 30456, 19422 30457, 19425 30462, 15425 30466, 15425 30468, 15427 30470, 16427 30471, 16426 30475, 16423 30478, 16428 30478, 16430 30480, 16430 30480, 16426 30478, 16426 33478, 16427 33478, 16429 33481, 16427 33483, 16428 33481, 16424 33484, 16427 33486, 16432 33483, 16432 33482, 16431 33486, 16426 33486, 16429 33488, 16432 33492, 16433 33492, 16436 33492, 16437 33495, 16434 33491, 16438 37491, 16436 37494, 16440 37489, 16445 37486, 16448 37484, 16449 37484, 16449 37486, 16453 37482, 16456 37483, 16460 37483, 16456 37483, 16456 37486, 16461 37490, 16462 37495, 16465 37499, 16466 37496, 16467 37497, 16468 37498, 16470 37501, 16470 37505, 16470 37505, 16475 37507, 16475 37507, 16475 37502, 16478 37498, 21478 33498, 21475 33497, 21478 33493, 21480 33495, 21480 33500, 21480 33496, 21482 33500, 21485 33505, 21486 33508, 21485 33504, 21486 33509, 21486 33509, 21490 35509, 21493 35509, 21496 35510, 21498 35514, 21494 35510, 21494 35513, 21491 35518, 21492 35521, 21489 35523, 23489 35527, 23487 35532, 23489 35537, 23485 35538, 23489 35539, 23490 35541, 23495 35543, 23497 35546, 23497 35550, 23497 35554, 23493 35553, 23490 35556, 23494 35559, 23497 35564, 23502 35563, 23498 35561, 4324 16358, 4319 16362, 4320 16362, 4322 16367, 4317 16367, 4317 16366, 4318 20366, 4322 20369, 4325 20367, 4328 20370, 4331 20371, 4334 20374, 4339 20378, 4340 20379, 4335 20379, 4340 20379, 4343 20381, 4344 20381, 4344 20382, 4345 20385, 4348 20390, 4348 20390, 4348 20390, 4348 20390, 4351 20394, 4354 20399, 4356 20400, 4357 20404, 4360 20404, 4362 20405, 4362 20408, 4365 20409, 4370 20410, 4374 20415, 4373 20420, 4369 20421, 4366 20426, 4369 20424, 4374 20429, 4375 20426, 4376 20422, 4379 20422, 4383 20426, 4384 20427, 4386 20422, 4391 20425, 4387 20427, 4392 20427, 4392 20429, 4394 20433, 4398 20438, 41576 39702, 41580 39706, 41578 39708, 45578 39708, 45577 39713, 45579 39717, 45583 39719, 45583 39722, 45585 39725, 45580 39730, 47580 39726, 47583 39723, 47588 39726, 47588 39730, 47591 39734, 47594 39737, 47599 39737, 47595 39737, 47598 39739, 47599 39739, 47597 39739, 47593 39743, 47595 39748, 47595 39751, 4076 20267, 4079 20272, 4081 20272, 4080 20275, 4080 22275, 4085 22280, 4089 22276, 4090 22279, 4088 22283, 4084 22284, 4086 22286, 4088 22281, 4084 22281, 4089 22285, 4092 22285, 4094 22285, 4094 22290, 4096 22291, 4099 22294, 4099 22295, 4097 22290, 4097 22292, 4097 22297, 4097 22292, 4094 22289, 4091 22290, 4092 22290, 4097 22285, 4102 22290, 4105 22289, 4106 22292, 4106 22293, 4109 22298, 4114 22296, 4119 22294, 4122 22299, 122 22304, 123 22307, 124 22304, 124 22304, 123 26304, 127 26307, 131 26307, 129 26309, 129 26310, 134 26310, 134 26311, 138 26311, 143 26313, 142 26315, 145 26317, 142 26318, 147 26322, 151 26322, 155 26325, 155 29325, 160 29330, 160 29333, 164 29328, 164 34328, 167 34333, 170 34332, 169 34336, 171 34337, 175 34338, 175 34340, 179 34342, 180 34344, 180 34348, 184 34352, 179 34352, 184 34352, 186 34357, 186 34362, 183 34364, 185 34369, 189 34369, 194 34369, 199 34371, 201 34370, 205 34372, 207 34372, 204 34367, 206 34364, 1206 34364, 1207 34368, 1207 30368, 1207 30363, 1208 30365, 1209 30368, 1212 30370, 1212 30370, 1216 30371, 1220 30376, 1221 30379, 1216 30383, 1216 30388, 1219 30386, 1224 30387, 1225 30386, 1227 30384, 1230 30383, 1233 30387, 1234 30387, 1237 30388, 1239 30392, 1244 30390, 1246 30393, 2246 30396, 2243 30399, 2247 30401, 2247 30403, 2246 30398, 2244 30399, 2248 32399, 2248 32399, 2251 32402, 2253 32397, 5253 32394, 5253 32399, 5257 32403, 5257 32401, 5259 32401, 5259 32405, 5263 32410, 5263 32415, 5268 32416, 5273 32420, 5275 32423, 5278 32424, 5283 32426, 5281 32429, 6281 33429, 6286 33433, 6286 33434, 6284 33435, 6284 33432, 6288 33429, 6290 32429, 6290 32425, 6288 32428, 6290 32428, 11290 32431, 11294 32429, 11294 32433, 11292 32438, 11288 32441, 11288 32441, 11285 32446, 11280 32446, 11281 32447, 11285 32449, 11286 32449, 11285 32452, 13285 32451, 13289 32446, 16289 32450, 16284 32449, 16285 32449, 16286 32452, 16287 32452, 16286 32450, 16288 32447, 16292 32450, 16293 32450, 16294 32454, 16293 32454, 16293 32454, 16293 32449, 16289 32451, 16290 32456, 16289 32461, 16293 36461, 16291 36466, 16295 36466, 16296 36466, 16299 36466, 16303 36468, 16308 36473, 16312 36471, 16312 36467, 16315 36463, 16314 36464, 16315 36469, 16315 36473, 16310 36474, 16311 36472, 16316 36474, 16321 41474, 16324 41475, 16327 44475, 16332 44475, 16332 44475, 16332 44477, 16332 44478, 16337 44483, 16334 44481, 8416 30500, 8417 30501, 8421 30501, 8416 30505, 8418 30504, 8420 30499, 8423 35499, 8425 35498, 8429 35501, 8431 35503, 8434 35503, 8438 35507, 8440 35507, 8445 35509, 8442 35512, 8445 35513, 8442 35513, 8442 35515, 8443 35519, 8447 35515, 8450 35516, 8445 35521, 8445 35523, 8444 35528, 8446 35530, 8443 35531, 8438 35531, 8435 35527, 8431 35531, 8432 35534, 8433 35536, 8431 35537, 8435 35539, 8439 32539, 8437 32540, 8441 32540, 8438 32543, 9438 32546, 9436 32541, 9431 32538, 9431 32538, 9435 32541, 9435 32546, 9431 32547, 9436 32542, 9438 32542, 9438 34542, 7438 34542, 7440 34547, 7441 34547, 7441 34547, 7441 34552, 7440 34553, 7440 34556, 7440 34557, 7440 34560, 11440 34565, 11436 34563, 11438 34559, 7438 34557, 7438 34553, 122 1239, 126 1243, 127 1240, 127 1242, 131 1239, 130 1239, 127 1240, 125 1243, 130 2243, 134 2246, 133 2246, 137 2246, 142 2246, 147 2251, 148 2256, 146 2257, 148 2252, 146 2249, 148 2248, 152 2253, 157 2249, 161 2246, 162 2247, 162 2249, 157 2248, 158 2249, 3158 2250, 3161 2252, 3161 2254, 3166 2258, 3167 2261, 3168 2259, 3171 2261, 3173 2266, 3171 2267, 3176 2272, 3179 2277, 3176 2280, 3180 2279, 3175 2283, 3179 2280, 3182 2283, 3184 2288, 3187 2293, 5187 2290, 5187 2292, 5183 2290, 5187 2292, 5186 2297, 5189 2297, 5189 2301, 5192 2303, 5189 2303, 5187 2304, 5183 6304, 5184 6301, 5189 6304, 5191 6302, 5193 6300, 5195 6300, 5195 6300, 5197 6301, 5197 6304, 5199 6301, 5197 6304, 5192 6306, 5193 6310, 5194 6312, 5197 6316, 24397 27440, 24393 27441, 24395 27437, 24400 27440, 24400 27441, 16288 32447, 21288 32447, 21288 32448, 21284 32452, 21285 32450, 21285 32452, 21287 32455, 21283 32460, 21284 32462, 21284 32467, 21284 32472, 21286 32474, 21291 32475, 21289 32475, 21289 32473, 21289 32478, 21286 32481, 21290 32486, 21293 32486, 21293 32490, 21298 32489, 21301 32490, 21303 32491, 21305 32488, 21303 32486, 21307 32491, 21312 32495, 21314 32499, 21315 32495, 21317 32499, 21314 32499, 21316 32502, 21318 32505, 21313 32510, 21313 32512, 21314 32517, 21319 32520, 21321 32520, 21326 32520, 21329 32525, 21330 32530, 21334 32531, 21330 36531, 21333 41531, 21338 41531, 21336 41535, 21339 41537, 21337 41539, 21341 41544, 21342 41544, 21345 41540, 25345 41543, 25342 41546, 25339 41546, 25339 41549, 25337 41546, 25337 41547, 25337 46547, 25341 46552, 30341 46555, 30342 46560, 30345 46561, 30344 46557, 30339 46560, 30343 46565, 30339 46569, 30338 46567, 30340 46568, 24375 27423, 24375 27425, 24377 27428, 24379 27429, 24379 27434, 24376 27439, 24381 27441, 24386 27436, 24387 27438, 24384 27441, 24383 27446, 24383 31446, 24383 33446, 20383 33443, 20385 34443, 20384 34444, 20380 34448, 20383 34450, 20383 34446, 20386 34447, 20390 34450, 20394 34451, 20395 34446, 20395 34451, 20398 29451, 20397 29447, 20401 29447, 20402 29443, 20401 29440, 20406 29443, 20411 29444, 20412 29444, 20412 29448, 20410 29449, 20415 29452, 20415 29455, 20414 29459, 20415 29462, 20420 29465, 20415 29467, 20417 29468, 20418 29468, 20418 29467, 20418 29467, 20420 29468, 20416 29469, 20420 29467, 20415 29464, 20415 26464, 20420 26462, 20423 26463, 20423 26465, 20423 26464, 43580 35662, 43580 35658, 43580 35662, 43580 35664, 43585 35665, 43585 35663, 43585 35666, 43581 35667, 43585 35665, 43589 35670, 25627 25555, 25631 25555, 25632 25558, 25632 25563, 25634 25564, 25629 25565, 25625 25561, 25625 25563, 25626 25565, 26626 25570, 26629 25570, 29629 25575, 29628 25578, 29627 25579, 29624 25583, 29627 25587, 29632 25592, 29634 25593, 29637 25595, 29637 25598, 29639 25602, 29644 25600, 29645 25601, 29646 25601, 29651 25602, 29656 25606, 29658 25606, 29663 25607, 29663 25605, 29666 26605, 29668 26608, 29667 26608, 29670 26611, 29674 26611, 29671 26615, 29673 26620, 29676 26617, 29681 26620, 29682 26620, 29683 26619, 29684 26623, 29681 26621, 29686 26626, 29688 26628, 29691 26628, 29692 26632, 29693 26634, 29695 26629, 29696 26624, 29700 26621, 29705 29621, 29709 29620, 29708 29624, 29711 29627, 34711 29630, 34712 29632, 34712 29631, 2284 16415, 2285 16416, 2285 16416, 2289 16421, 2294 16425, 2299 16425, 2300 16430, 2305 16430, 2306 16433, 2311 11433, 2315 11436, 2310 14436, 2310 14435, 2313 14437, 2312 14441, 2310 14442, 2311 14444, 2313 14444, 2311 14447, 2314 14447, 2316 14451, 2316 14456, 2316 14454, 2311 14455, 2311 14455, 2311 14460, 2315 14465, 2315 14465, 2311 19465, 2311 19465, 2313 19466, 2317 19469, 2320 19469, 2323 19466, 2319 19468, 2323 19471, 2324 19471, 2324 19473, 2324 19473, 2322 19468, 2323 19466, 2324 19465, 2329 19470, 2329 19465, 2324 19465, 2324 19467, 2319 19471, 2320 19475, 2104 -1844, 2109 -1844, 2113 -1842, 2116 1158, 2116 1160, 2117 1161, 2116 6161, 2118 6166, 2123 6169, 2126 6174, 2123 6179, 2126 6183, 2126 6187, 2130 6182, 2128 6183, 2127 6182, 2128 6185, 2124 10185, 2129 10190, 2130 10193, 2132 10192, 2132 10195, 2129 11195, 2129 11199, 2133 11200, 2134 11196, 2133 11201, 2137 11205, 2137 11207, 2141 11203, 2144 11207, 2145 11208, 2149 11212, 2144 11214, 2144 11215, 2149 11216, 2152 11221, 2152 11223, 2153 11223, 2154 11226, 2154 11226, 2150 11228, 2152 11224, 2152 11227, 2148 11222, 2145 11223, 2142 11225, 2145 11222, 2142 11223, 2142 11227, 2147 11229, 2149 11230, 2154 11230, 2157 11228, 2159 11233, 2159 11233, 2155 11237, 2155 11242, 2151 11243, 7151 10243, 7156 10245, 7159 10245, 7164 10247, 7166 10252, 7166 10255, 7171 10257, 7173 10257, 7174 10261, 7179 10264, 7184 10260, 7189 10264, 7193 8264, 7197 8260, 7202 8262, 7206 8262, 7205 8265, 7205 8266, 7207 8270, 7211 8274, 7211 8277, 7216 8277, 7216 8280, 7212 8280, 7213 8280, 7215 8283, 7220 8282, 7224 8287, 7225 8283, 7222 10283, 7223 10287, 7225 10288, 7230 10290, 7232 10294, 7233 10294, 7233 10297, 7234 10298, 7234 10301, 7236 10303, 7231 10299, 7228 10298, 7223 10297, 7225 10299, 7230 10303, 7231 10307, 7234 10311, 7234 10315, 7235 10320, 7236 9320, 7241 9322, 7246 9325, 7243 9330, 7243 9332, 7240 9335, 7237 9334, 7239 9339, 7238 9339, 7238 9341, 7238 9342, 7233 14342, 7232 14337, 7234 14342, 7239 18342, 4084 22284, 4083 22284, 6083 22287, 6078 22289, 6078 22293, 6080 22290, 6082 22291, 6086 22296, 6086 22297, 6087 22297, 6088 22295, 6093 22298, 6094 22297, 9094 22294, 9097 22298, 9098 22299, 9098 22301, 9093 22296, 9098 22299, 9100 22294, 9096 18294, 9099 18294, 9098 18298, 9101 18296, 9100 18301, 9105 18303, 9105 18306, 9105 18309, 9102 18305, 9104 18306, 9108 18309, 9104 18314, 9103 18310, 9105 18312, 9105 18316, 9109 18314, 9109 18319, 9109 18324, 9113 18326, 9113 18330, 9115 18333, 9113 18333, 9118 18333, 9123 18333, 9123 18336, 9125 18335, 9126 18336, 9127 18332, 9129 18329, 9127 18332, 9130 18333, 9135 18333, 9138 18337, 9143 18341, 9144 18346, 9145 18344, 9150 18348, 9154 18345, 9152 18350, 9151 18345, 9151 18345, 9156 18347, 9160 18349, 9163 18350, 9163 18351, 9165 18356, 9166 18356, 9164 18353, 9167 18356, 9167 18355, 9167 18356, 9167 18360, 9165 18356, 9169 18357, 9169 18353, 9170 18355, 9170 18351, 9175 18351, 9177 18351, 9181 18352, 9184 18353, 9189 18356, 9188 18361, 9191 18364, 9194 18364, 9198 18366, 13198 18371, 13198 18373, 13198 18375, 13201 18378, 13196 18378, 13199 18379, 13202 18381, 13207 18384, 13212 18388, 13211 18383, 13211 18378, 13215 18379, 13218 20379, 13214 20379, 13217 20379, 13213 20379, 13213 20376, 13210 20377, 13206 20377, 13206 20373, 13207 20373, 13209 20370, 13214 20371, 13218 20371, 13223 20376, 13224 20381, 13227 20385, 13228 20390, 13232 20387, 9232 20392, 9230 20388, 9230 20390, 9225 20393, 9225 20396, 4225 20401, 4225 20400, 4227 20403, 4224 20408, 4222 20412, 4222 20415, 4225 20420, 4229 20425, 4232 20422, 4236 20425, 4234 20426, 4238 20427, 4240 20427, 4241 20427, 4237 20431, 4233 20431, 4232 20430, 4230 20432, 4234 20431, 4234 20435, 4238 20437, 4243 20435, 4243 22435, 4238 22440, 4241 22441, 4241 22443, 4238 22447, 4234 22443, 4238 22448, 4238 22450, 4241 22451, 4241 22456, 4243 22458, 4247 22461, 4247 22464, 4252 22466, 4253 22469, 4255 22469, 4251 22469, 4253 22464, 4253 22468, 4257 22473, 4259 22477, 4258 22482, 4261 22483, 4262 22484, 4259 22489, 6259 22493, 6262 22494, 6262 22497, 6264 22500, 6264 22504, 6269 22499, 6273 22499, 6278 22495, 6278 22493, 6283 22491, 6288 22494, 6291 22494, 6296 22494, 6296 22493, 6294 22489, 6294 22493, 6290 22493, 6290 22498, 6290 22500, 6288 22501, 6290 22505, 6294 22504, 5294 22507, 5294 22507, 5298 22512, 5297 22514, 5302 22514, 5307 22517, 5304 22518, 5308 22514, 5311 22517, 5315 27517, 5315 27517, 5319 27517, 5324 22517, 5328 22521, 6328 22520, 6325 22522, 6325 22527, 6322 22527, 6323 22530, 6325 22535, 6325 22535, 6326 22536, 6326 22536, 6327 22533, 6323 22535, 6325 22538, 6330 22538, 6331 22534, 6326 22531, 10326 22526, 10321 22528, 10317 22524, 10316 22529, 10313 22529, 10309 22530, 10306 22535, 10308 22531, 10308 22532, 10311 22534, 10314 27534, 10314 27538, 10314 27538, 10309 27540, 10309 27536, 11309 27535, 11309 27537, 11310 27539, 11305 27535, 11300 27536, 11296 27538, 11296 27538, 11301 27542, 11299 27546, 11304 27551, 11308 27551, 11313 27553, 11315 30553, 11319 30555, 11315 30550, 11318 30545, 11318 30544, 11321 30549, 11320 30550, 11325 30554, 11328 30558, 11328 34558, 11332 34562, 11333 34562, 11335 34562, 11334 34565, 11330 34565, 11333 34566, 11338 34566, 11338 34571, 11342 34574, 11344 34573, 11347 34572, 11346 34573, 11347 34575, 11351 34578, 15351 34578, 15356 34573, 15361 34570, 15364 34575, 15365 34580, 15369 34581, 15370 34581, 15373 34585, 15376 34580, 15381 34578, 15385 34583, 15386 34588, 15389 34587, 17389 34582, 17394 34582, 17393 34582, 17398 34577, 17399 34582, 17399 34584, 17399 39584, 17404 39588, 17399 39591, 17404 39591, 17408 39586, 17405 39591, 17409 39593, 17411 39596, 17408 39596, 17411 39599, 17411 39603, 17414 39607, 17418 39612, 17419 39612, 17419 39612, 17423 39611, 17424 39613, 17426 39612, 17429 39608, 17427 39609, 17428 39613, 17425 39615, 17424 39614, 17427 39617, 17430 39622, 17430 39623, 17431 39620, 17434 39620, 13434 39619, 13434 39621, 13434 39621, 13434 44621, 13436 44625, 13436 44627, 13441 44631, 13444 44636, 13444 44639, 13442 44635, 13444 44635, 13447 44639, 13449 44643, 13447 44641, 13447 44642, 13452 44643, 13456 44648, 13459 44648, 13461 44646, 15461 44643, 15459 44648, 15463 44648, 15464 44646, 15461 44649, 15461 44651, 15465 44654, 15460 44655, 15461 44657, 15463 44661, 15465 44665, 15465 44665, 15465 44667, 15469 44670, 15474 44672, 15476 44668, 15472 44672, 15473 44674, 15475 44678, 15477 44679, -3804 12302, -3802 12305, -3803 13305, -3802 13300, -3806 13296, -3807 13299, -3804 13304, -3802 13301, -3799 13305, -3799 13306, -3794 18306, -3799 18310, -3797 18315, -3800 18315, -3797 18316, -3799 18318, -3794 18323, -3793 18326, -3789 18325, -3784 18324, -3784 18325, -3782 18325, -3780 18325, -3779 18328, -3780 18329, -3781 18324, -3786 18328, -1786 18328, -1786 18333, -1782 18337, -1782 18338, -1779 18333, -1775 18338, -6775 18341, -6772 18343, -6774 18345, -6779 18345, -6777 18345, -6777 18347, -6777 18343, -6775 18347, -6780 18342, -6777 18345, -6776 18345, -6774 18340, -6774 18337, -6774 18337, -6778 18342, -6782 18342, -6785 18339, -6784 18340, -6779 22340, -6779 22339, -6776 22335, -6775 22330, -6775 22335, -6775 22339, -6770 22339, -6772 22344, -6767 22345, -6765 22341, -6765 22339, -6765 22339, -6765 22337, -6765 22340, -6760 22335, -6757 22335, -6762 22336, -6763 22338, -6765 22343, -6760 22338, -6758 22338, -6758 22338, -6756 22341, -6752 22345, -6752 22346, -6748 22343, -4748 22347, -4745 22347, -4750 22347, -4749 22348, -4747 22349, -4743 22352, -4738 22357, -4734 22362, -4736 22367, -4738 22362, 21338 41531, 21336 41531, 21332 41530, 21332 41530, 21335 41533, 21330 41533, 21331 41534, 21328 41536, 21330 41536, 21326 41541, 21330 41536, 21332 41539, 21336 41536, 21338 40536, 21336 40540, 21341 40538, 21343 40538, 21346 40538, 21348 40536, 21352 40536, 21355 40539, 21359 40543, 21361 40546, 21362 40550, 21357 40550, 21362 40551, 21361 40554, 21358 40555, 21358 40554, 21359 40554, 21363 40558, 21360 45558, 21364 45560, 21368 45557, 21372 45561, 21376 45560, 21379 45557, 22379 45553, 22384 45553, 22384 45556, 22388 45561, 22389 45561, 22390 45557, 22394 45561, 24394 45565, 22394 45562, 22399 45565, 22401 45562, 22400 45565, 22402 45568, 22402 45573, 22406 45577, 22408 45581, 22408 45585, 22406 45585, 22409 45586, 22411 45583, 22411 45579, 22411 45583, 22409 45583, 22404 45586, 22404 45586, 22406 45591, 22408 45591, 22408 45593, 22413 45593, 22415 45594, 22419 45595, 22419 45596, 22424 45591, 22427 45587, 22430 50587, 22430 50589, 22430 50589, 22432 50592, 22437 50594, 22437 50589, 22437 50594, 22441 50599, 22442 50594, 22447 50591, 22444 50588, 22444 50590, 22445 54590, 22445 54594, 22448 54599, 22450 54601, 22450 59601, 22446 59597, 22451 59600, 22451 59603, 22454 59604, 22459 59604, 22460 59609, 22459 59606, 22464 59607, 22465 59608, 22463 59609, 22460 59606, 22459 59605, 22459 59605, 22457 59609, 25457 59610, 25459 59615, 25464 59617, 25466 59618, 25469 59621, 25474 59616, 25478 59617, 25480 59614, 25484 59619, 25484 59620, 25488 59616, 25485 59618, 25489 59623, 25494 59627, 25499 59629, 148 2256, 152 2253, 152 2253, 154 2258, 159 2253, 160 2257, 159 2256, 163 2259, 161 3259, 163 3262, 163 3259, 165 3259, 170 3263, 170 3263, 174 3267, 169 3271, 174 3275, 174 3276, 174 3278, 177 3282, 181 3286, 183 3287, 186 3284, 187 3286, 189 3286, 193 3288, 194 3290, 193 6290, 195 6293, 200 6289, 197 6294, 196 6293, 197 6293, 201 6297, 202 6292, 200 6294, 204 6295, 209 6300, 214 6305, 217 6305, 218 6305, 213 6308, 214 6308, 218 6313, 218 6308, 216 6312, 215 6312, 213 6309, 214 6313, 219 6318, 222 6321, 226 6326, 224 6331, 222 6327, 41575 39716, 41574 39713, 41578 40713, 41582 40718, 41578 40721, 36578 40721, 36579 40723, 36584 40720, 36587 40725, 36592 43725, 36587 43725, 36584 43728, 36587 43733, 36592 43735, 36592 43734, 15291 11311, 15287 11316, 15288 11319, 15291 11319, 15296 11319, 15297 11320, 15298 13320, 38744 37650, 38745 37654, 38747 37659, 38746 37662, 38741 37663, 38739 37666, 38744 37666, 38747 37661, 38750 37666, 38750 37666, 38754 37671, 38755 37671, 38750 37673, 38750 37672, 38754 37677, 38756 37678, 38758 37680, 38760 37678, 38762 37683, 38762 37679, 38760 37679, 38765 37679, 38769 37678, 38774 40678, 38769 40683, 38774 40687, 38776 44687, 38780 44690, 38782 44694, 38782 44694, 38781 44699, 38784 44704, 38782 44699, 38777 44700, 38777 44700, 38777 44700, 38781 44703, 38785 44700, 38786 44700, 38788 44696, 38788 44696, 38788 44700, 38793 44702, 38795 44703, 38797 44707, 38802 44712, 38805 44712, 38809 44713, 38804 44710, 38808 44712, 38811 44713, 36811 44713, 36816 44708, 36815 44709, 36816 44709, 36818 44713, 36813 44716, 36814 48716, 36813 48721, 36817 48725, 36818 51725, 36820 51721, 36824 51724, 40824 51719, 40829 51716, 40832 51720, 40831 51723, 40834 51727, 40837 51728, 40842 51725, 40843 51725, 40838 51729, 40843 51734, 40848 51738, 40850 51742, 40851 51744, 40853 51747, 40856 51749, 40857 51750, 40859 51754, 40859 51750, 40863 51752, 40868 51755, 40864 51754, 40868 51754, 40871 51756, 40867 51756, 40865 51759, 40860 51761, 40857 51757, 40857 51762, 40854 51762, 40855 51764, 40859 51765, 40857 51761, 40854 51764, 40855 51765, 40857 51766, 40860 51761, 40861 51760, 40865 51761, 40865 51763, 40862 51768, 40861 51768, 40856 51772, 40852 51769, 40854 51771, 40854 51771, 40850 51776, 40854 51780, 40856 51782, 40854 51782, 43854 51782, 43856 52782, 43858 52785, 43861 52785, 43861 52780, 37514 26540, 37519 26535, 37522 26539, 37522 26544, 37524 26548, 37529 26548, 37534 26553, 37539 26548, 37542 26553, 37547 26548, 37551 26551, 37551 26554, 37550 26555, 37551 26557, 37548 26557, 37548 26557, 37551 26560, 37551 26563, 37554 26563, 37558 26568, 37562 26563, 37563 26565, 37567 26569, 41567 26569, 41571 26572, 41573 26577, 41573 26577, 41578 29577, 41573 29577, 41575 29580, 41575 29582, 46575 29582, 46571 29586, 45571 29587, 45574 29587, 45570 29587, 45575 29585, 45577 29582, 45573 29585, 45574 29588, 45574 29589, 45578 29589, 45580 29592, 45583 29595, 45584 29597, 45584 29602, 45586 29601, 45591 29604, 45587 29609, 45591 33609, 45595 36609, 45596 36611, 45601 36613, 45602 36608, 45606 36608, 45606 36612, 45606 36611, 45610 36614, 50610 36617, 50613 36613, 50616 36613, 50621 36609, 50626 36609, 50627 36610, 50627 36609, 50631 36610, 50626 36612, 50627 36614, 50628 36614, 50631 36612, 50629 36614, 50630 36618, 50634 36622, 46634 34622, 46634 35622, 46638 35626, 46638 35621, 46639 35624, 46641 35623, 46645 35624, 46647 35629, 46645 35634, 46650 35639, 46650 35644, 46651 35647, 46653 35651, 46657 35654, 46654 35659, 46659 35660, 46660 35661, 46664 35664, 46661 35667, 46664 35668, 46667 35667, 46669 35671, 46669 35667, 46672 35670, 46674 35675, 46676 35675, 47676 35672, 47678 35676, 47679 35677, 47679 35682, 47679 35681, 47679 35681, 47679 35686, 47674 35687, 47673 35687, 49673 35689, 49676 35693, 49679 35696, 49677 35696, 54677 35701, 54680 35703, 54676 35703, 54672 35705, 54672 35704, 54677 35707, 54678 34707, 54678 34707, 54681 34710, 54685 34712, 54690 34710, 54690 34711, 54687 34706, 54689 34706, 54694 34711, 54689 36711, 54689 36710, 54684 36711, 54687 38711, 54682 38714, 54682 38718, 54679 38718, 54681 38723, 54684 38724, 54689 38720, 54690 38721, 54694 38726, 54699 38730, 54701 38731, 54702 38728, 54704 38724, 52704 38723, 52704 38723, 52704 38725, 52704 38729, 52706 38730, 52708 38732, 52709 38733, 52713 38732, 52713 35732, 52715 35737, 52714 35741, 52714 35743, 52715 35746, 52715 35749, 52710 35749, 52712 39749, 52715 39753, 52718 39752, 52723 39753, 52722 39757, 52718 39760, 52718 40760, 47718 40761, 47719 40765, 47724 40765, 47724 40765, 47724 40770, 47728 40773, 47730 40776, 47735 40781, 47733 40777, 50733 40781, 51733 40783, 51735 40786, 51736 40790, 51739 40788, 51743 41788, 51741 41787, 51741 41789, 51741 41789, 51738 41793, 51733 41793, 52733 41794, 52737 41795, 52740 41794, 52744 41793, 52748 41789, 52749 41789, 52747 41789, 52752 41786, 52755 41790, 52755 41791, 52760 41796, 52756 42796, 52751 42797, 52754 42798, 52758 42795, 52759 42794, 52764 42797, 52768 42801, 52768 42801, 52771 42806, 52776 42810, 52776 42809, 52773 42811, 52776 42811, 52772 42812, 52773 42815, 52769 42815, 52768 42816, 52769 42821, 52773 42821, 52773 42821, 52777 42819, 52781 42815, 52781 42816, 52782 42819, 52778 42822, 52776 42822, 52779 42826, 52782 42827, 52783 42831, 52778 42833, 52782 42836, 54782 42839, 54782 42844, 2137 11205, 2142 11207, 2139 11208, 2142 11213, 2144 11217, 2149 11215, 2147 11217, 2147 11217, 2152 11222, 2152 11225, 2155 11229, 2159 13229, 2164 13232, 2169 13235, 2173 13236, 2169 13233, 2170 13237, 2173 13241, 2175 13243, 2170 13238, 2170 13239, 2175 13239, 2177 13238, 2179 13239, 2179 13238, 2181 13233, 2181 13230, 2182 13230, 2179 13230, 2179 13235, 2182 13235, 2183 10235, 2178 10237, 2179 10236, 2182 10239, 2187 10241, 2184 10244, 6184 10244, 6186 10248, 6184 10246, 6185 10247, 6187 10250, 6192 10248, 6196 10248, 6196 10251, 6194 10251, 6194 10256, 6197 10260, 6196 10264, 6197 9264, 6197 9264, 6197 9268, 6201 9273, 6206 9276, 6201 9272, 6203 9272, 6205 9269, 6210 9272, 6206 9274, 6206 9279, 6203 9283, 6203 9285, 6203 9290, 6208 9285, 6208 9281, 6204 9285, 6202 9289, 6204 9292, 6200 9294, 7200 9297, 7202 9301, 7203 9301, 7207 9302, 7211 9302, 7211 9303, 8211 9306, 8216 10306, 8220 10310, 8224 10312, 8228 10317, 8233 10317, 8237 10322, 8239 10322, 8239 10327, 8235 10330, 8235 10331, 8239 10329, 8240 10332, 8240 10334, 8236 10334, 11236 10336, 11238 10337, 11243 10341, 14243 10342, 14242 10342, 14239 10343, 14240 10341, 14239 10343, 14244 10343, 14248 10343, 14252 10343, 14252 10343, 14253 10341, 14256 10341, 14258 10338, 14258 10336, 14254 10340, 14257 10344, 14261 10346, 14264 10351, 11150 3163, 11155 3167, 11156 3166, 11156 3169, 11160 3171, 11163 3176, 11164 3179, 11164 3180, 11168 3183, 11168 3185, 11173 3189, 11178 3184, 11180 3183, 11178 3185, 11181 3187, 11176 3186, 52778 42822, 52780 42826, 52779 42826, 52784 42821, 52785 42826, 52786 42827, 52791 42830, 52791 42827, 56791 42832, 56788 42833, 56788 42836, 56791 42840, 56791 42839, 56787 42842, 56788 42847, 51788 42848, 51790 42850, 51792 42851, 51796 42846, 51798 42846, 51803 42850, 53803 42853, 53808 42853, 53811 42856, 53814 42854, 53819 42850, 53819 42852, 53820 42857, 53824 42860, 53825 42858, 53828 42862, 53827 42864, 53828 42864, 53828 42868, 53832 42872, 53837 42877, 53841 42877, 53843 42876, 53843 42880, 53843 42883, 53843 42888, 53838 42892, 53838 42893, 53838 44893, 53835 44893, 53837 44897, 53840 44901, 53844 44901, 53846 44904, 53846 44908, 53847 44909, 53852 44907, 53855 44908, 53860 44910, 53858 44911, 53863 44913, 53858 44917, 53860 44920, 53865 44920, 53870 44922, 53869 43922, 53871 43925, 53871 43923, 53869 43923, 53864 43922, 53862 43927, 53866 43932, 53871 43934, 53876 43937, 53876 43936, 53876 43936, 53877 43934, 53879 43932, 53880 43928, 53885 43931, 55885 43933, 55885 43929, 55881 43933, 55883 43933, 55886 43932, 55883 43932, 55884 43933, 55885 45933, 55885 45937, 55885 45940, 55886 45945, 55886 45945, 55888 45950, 55884 45952, 55885 45956, 55890 45960, 55892 45961, 55896 45957, 55894 45958, 55899 45954, 55895 45958, 55898 45960, 55894 45959, 55899 45963, 55901 45965, 55901 45965, 55896 45966, 55900 45961, 55895 49961, 55898 47961, 55896 47960, 55900 47964, 55903 47968, 55903 47971, 55903 47974, 55898 47977, 55900 47973, 55896 47978, 55897 47979, 55893 47980, 55898 47983, 55901 47988, 55904 47987, 55899 47991, 55901 47993, 55906 47996, 55906 47997, 55907 48001, 55904 48005, 55904 48007, 55909 48004, 55912 48002, 55917 48003, 55913 47998, 55908 48002, 55912 48007, 55916 48004, 55920 48004, 55916 48004, 55921 48004, 55923 48007, 55923 48011, 55926 48011, 55921 48014, 55924 48009, 55929 48013, 55930 48012, 55930 48012, 55932 48016, 55927 48016, 55927 48020, 54927 48018, 54924 48022, 54924 44022, 54928 44017, 54931 44016, 54934 44020, 55934 44021, 55937 44021, 55938 44024, 55939 44026, 55938 44024, 55941 44019, 55946 44022, 55947 44026, 55949 44027, 55952 44028, 55955 44024, 55958 44027, 53869 43923, 53873 43925, 52873 43925, 53873 43927, 53878 43927, 53883 43927, 53882 43931, 53884 43935, 53888 43940, 53886 43941, 53881 43938, 53881 43941, 53879 43943, 53880 43942, 53881 43946, 53882 43951, 53883 43952, 53886 45952, 53886 45953, 53884 45957, 53885 45958, 53880 45960, 53882 45957, 53887 45962, 53887 45962, 53888 45961, 53888 48961, 53888 48966, 53893 48966, 53894 48968, 53899 48969, 49899 48966, 49904 48969, 49908 48971, 49904 48971, 49906 48975, 49903 48971, 49906 48974, 54906 48975, 54906 48975, 54906 48979, 54911 48983, 54909 48979, 54912 48979, 54908 48975, 54911 48977, 54913 48979, 54917 48982, 54922 48982, 54925 48985, 54920 48988, 54923 48988, 56923 48988, 56928 48990, 56926 48985, 56931 48984, 56934 48983, 56934 48981, 56938 48983, 56939 48985, 56939 48986, 61939 48988, 61939 48984, 61936 51984, 61937 51985, 61937 51988, 61937 51988, 61933 51990, 5331 23399, 5333 23399, 5335 23394, 5339 23396, 5342 23399, 5347 27399, 5347 27401, 5352 27402, 5357 27403, 5358 27406, 6358 27409, 6362 27411, 6363 27410, 6366 27406, 6368 26406, 6373 26406, 6373 26406, 6374 26409, 6372 26409, 6377 26410, 6382 26415, 6387 26417, 6389 26418, 6390 26423, 6392 26423, 6393 26428, 6395 30428, 6392 30433, 6392 30436, 6392 30434, 6396 30438, 6396 30441, 6396 30445, 6398 30446, 6400 30443, 6401 30440, 6406 30439, 6407 30439, 6402 30439, 6407 30444, 6406 30447, 6407 30451, 6411 30451, 6413 30451, 6414 30452, 6419 30450, 6423 30454, 6420 30452, 6419 30448, 6420 30453, 6422 30455, 6427 30460, 6428 30460, 6427 30462, 6428 30462, 6428 34462, 6429 34463, 6434 39463, 6436 39466, 6436 39471, 6441 39474, 6445 39471, 6446 39472, 6451 39477, 6453 39480, 6454 39485, 6454 39483, 6454 39480, 8454 39480, 8458 39482, 8462 39484, 10462 39486, 10457 39486, 10458 39488, 10462 39488, 10465 39488, 10470 39490, 10475 39486, 10477 39488, 10477 39490, 10478 39492, 10479 39496, 10477 39498, 10482 39503, 10478 39505, 10481 39510, 10482 39514, 10477 39512, 10482 39517, 10483 39520, 10483 39520, 10487 39525, 10489 39526, 10492 39527, 10492 39524, 10495 39524, 10498 44524, 10493 44523, 10493 44528, 10494 44524, 10499 44529, 10501 44529, 10504 44531, 10502 44535, 10504 44539, 10508 44539, 10513 44536, 13513 44540, 13515 44537, 13512 44539, 13509 44544, 13513 44547, 13517 44552, 13519 44553, 13524 44554, 13527 42554, 13522 42555, 13524 42557, 13527 42556, 13531 42561, 13531 42562, 13526 42563, 13527 42563, 13527 42566, 13522 42568, 13525 42571, 15525 42573, 15525 42576, 15526 42581, 15531 42581, 15532 42586, 15534 42588, 15534 42592, 15533 42591, 15533 42596, 15532 42591, 15532 42587, 15535 42587, 15538 47587, 15534 47587, 15537 47591, 15536 47594, 15538 47598, 11538 47594, 11535 47594, 11531 47594, 11535 47596, 11535 47596, 11535 47597, 11539 47602, 11540 47607, 11540 47607, 11540 47609, 11543 47613, 11546 47617, 14546 47618, 14541 47614, 14539 47614, 14539 47618, 14537 50618, 14539 50623, 14541 50623, 14542 50627, 14540 50627, 14539 50623, 25601 26544, 25601 26545, 25601 26548, 25596 26546, 25601 26547, 25598 26548, 25599 26547, 25600 26547, 25595 26548, 25590 26546, 25595 26549, 25597 26548, 25598 26548, 25601 26545, 25596 26548, 25594 26553, 25595 26552, 25599 26553, 25598 26554, 25596 26555, 25592 26554, 25596 26558, 25599 26554, 25600 26556, 25595 26559, 25600 22559, 25601 22561, 25606 22563, 25607 22562, 25608 22566, 25607 22563, 25607 22568, 30607 22573, 30612 22575, 30612 22579, 30611 22579, 30611 22580, 30611 22585, 30607 22585, 30612 22587, 30612 22588, 30615 22583, 30615 22585, 30618 22581, 30621 22581, 30623 22584, 30623 22589, 30628 22594, 30630 22597, 30631 22602, 30628 22607, 30630 22610, 30631 22611, 30631 22608, 30629 22610, 30634 22612, 30635 22612, 30638 22616, 30643 17616, 30644 17618, 30649 17618, 30653 17619, 30656 17614, 30657 17611, 30660 17615, 30655 17614, 30656 17610, 30656 17611, 30661 17610, 30662 17615, 30660 17620, 30661 17620, 30666 17623, 30667 17625, 30667 17624, 30669 17625, 30673 17628, 30675 17628, 30675 17628, 30680 17631, 30677 17636, 30677 17639, 30680 17644, 30683 17647, 30688 17643, 30693 17645, 30698 19645, 30701 19644, 30702 19644, 30698 19649, 30700 19647, 30701 19649, 30704 19650, 30705 19653, 30701 19655, 30706 19652, 30708 19656, 30711 19657, 30711 19659, 30711 19659, 30714 19661, 30710 19662, 30707 19664, 30702 19666, 30703 19667, 30708 19668, 30713 19667, 30709 19671, 30706 19674, 30710 19676, 30711 19677, 30713 19677, 30713 19678, 30715 19682, 30720 19686, 30725 20686, 30723 20690, 30727 20695, 30728 20697, 30731 20699, 30730 20694, 30732 20696, 30735 20698, 30738 20696, 30738 20695, 30742 20698, 30743 20699, 30743 20701, 30748 20704, 30749 20706, 30752 20705, 30753 20702, 30755 24702, 30751 24705, 30750 24707, 30748 24708, 30749 29708, 30749 29709, 30751 29711, 30754 29716, 30759 29716, 30762 34716, 30762 34720, 30765 34720, 30761 34717, 30761 34721, 30765 34721, 30760 34721, 30759 34725, 30762 34730, 30760 34730, 30765 34731, 30765 34731, 30766 34731, 30761 34733, 30761 34736, 30764 34738, 30759 34739, 30763 34740, 30761 34740, 30764 34742, 30759 34737, 30762 34739, 30764 34741, 30762 34740, 30767 34737, 32767 34741, 32770 34741, 32767 34744, 32767 34746, 32770 34751, 32774 34755, 32774 34756, 32779 34753, 32784 34755, 32785 33755, 32785 33750, 36785 33753, 36785 33758, 36788 33760, 36789 33759, 36789 33762, 36793 33758, 36798 33758, 36803 33760, 36803 33762, 36803 33766, 36804 33769, 36804 33769, 36808 33774, 33808 33776, 33808 33781, 33811 33781, 33816 33784, 33816 33789, 33820 33786, 33823 33788, 33828 33785, 33824 33785, 33826 33787, 33824 33788, 33828 33791, 33825 33796, 33829 33799, 33830 33802, 33831 33803, 33835 33805, 33835 33805, 33838 33809, 33841 33813, 33844 33809, 33849 33814, 33847 32814, 33849 32812, 33851 32816, 33853 32819, 33851 32822, 33851 32826, 33849 32826, 33849 32830, 33852 32835, 33856 32840, 33859 32837, 33858 32832, 33861 32833, 33862 32836, 33859 32838, 33859 32834, 33857 32834, 33859 32834, 33857 32838, 33861 32833, 33861 32837, 33864 32840, 33866 32841, 33866 32843, 33868 32841, 33871 32839, 33874 32844, 33876 37844, 33881 37849, 33883 37854, 33883 37859, 33888 37860, 33893 37864, 33898 37864, 33895 37867, 33896 38867, 33898 38863, 28898 38868, 28901 39868, 33901 39873, 33898 39875, 33900 39879, 33904 39877, 33904 39879, 33909 39883, 33914 39888, 33910 39891, 33910 39892, 33907 39894, 33911 39899, 33913 39900, 33910 39904, 33914 39905, 33917 39906, 33917 39906, 33917 39906, 33912 39911, 33912 39908, 33916 39907, 33914 39910, 33918 39913, 33922 39913, 33924 39916, 33925 39920, 33930 39920, 33933 39922, 33934 39923, 33937 39919, 33938 39916, 33936 39913, 35936 39918, 35933 39919, 35937 39921, 35941 39924, 35941 39919, 35942 39915, 35946 39920, 35946 39915, 35946 39912, 35947 39908, 35947 39912, 35947 39916, 35952 39919, 35957 39921, 38957 39920, 38962 39925, 38964 39924, 38964 39924, 38969 39926, 38969 39928, 38972 39932, 38977 39932, 38975 39932, 38979 39935, 38982 39938, 38986 39940, 38984 39943, 38985 39946, 38987 39947, 38989 39949, 38994 41949, 38990 41954, 38991 41958, 38994 41962, 38994 41966, 38994 41969, 38995 41974, 38999 41974, 38999 41974, 38996 41978, 38996 41983, 38999 41983, 39001 41986, 38996 41984, 39000 41989, 39000 41988, 5336 23410, 5332 23410, 5327 23407, 9327 23408, 12327 23412, 12327 23412, 12324 23410, 13324 23415, 13327 23420, 13328 23416, 13324 23418, 13329 23423, 13330 23426, 13331 23429, 13335 23426, 13339 23428, 23493 35553, 23492 35548, 23496 35550, 23501 35552, 23497 35553, 21497 35557, 21492 35560, 21494 35562, 21494 35560, 21496 35563, 21496 35568, 21496 35570, 21501 35570, 21504 35566, 21504 35571, 17504 35572, 17508 35577, 17509 35578, 17513 35582, 17514 35587, 17515 35592, 18515 35595, 18516 35596, 18517 35598, 18515 35600, 16515 35605, 16515 37605, 16515 37606, 16513 37608, 16515 37613, 16516 37615, 16520 37620, 16524 34620, 16526 34617, 16530 34619, 16530 34624, 16535 34628, 16537 34631, 16540 34632, 16541 34634, 16541 34635, 16544 34632, 16544 34637, 16546 34642, 16549 38642, 16549 38644, 16545 38649, 16545 38644, 16542 38644, 16545 38644, 16544 38645, 16548 38650, 16543 38653, 16543 38649, 18543 38652, 18546 38652, 18546 38657, 18546 38660, 18551 38655, 18549 38655, 18552 38660, 18549 38662, 23549 38667, 23546 38668, 23550 38672, 23550 38674, 28550 38676, 28551 38673, 28551 38677, 28547 38673, 28551 38674, 28556 38674, 28559 38678, 28562 38673, 28564 38678, 28564 38673, 28563 38673, 28566 38675, 28571 38675, 38781 44703, 38782 44699, 38780 44702, 38785 44704, 38787 44704, 38783 44705, 38784 44700, 38788 44695, 38791 44696, 38796 44696, 38801 44692, 38801 44697, 38805 44701, 38810 44701, 38808 44701, 38808 44704, 38805 44706, 38805 44710, 38804 44711, 38809 48711, 38810 48711, 38808 48711, 38812 48716, 38812 48713, 38812 48715, 38812 48715, 38808 48711, 38804 48714, 38805 48710, 38807 48715, 38812 48715, 38807 48713, 38811 48714, 38811 48714, 38816 48711, 38817 48707, 38818 48707, 38818 48708, 38822 48708, 38824 48713, 38822 48714, 38820 48718, 38824 48720, 38824 48723, 38829 48726, 38830 48731, 38834 48729, 38832 48734, 38833 48730, 38834 48728, 38831 48732, 8433 35536, 8433 35541, 4433 35536, 4436 35541, 4440 35541, 4441 35537, 4445 35539, 4444 35534, 4447 35531, 4451 35531, 4455 35534, 4460 35534, 4461 39534, 4462 39535, 4463 39535, 4466 39535, 4470 39535, 4472 39538, 4467 39538, 4467 39536, 4471 39536, 4473 39541, 4468 39542, 4472 39543, 4475 39544, 4478 39544, 4482 39547, 4487 39552, 4485 39550, 4486 39551, 4486 39553, 4486 39555, 4488 39557, 4488 39558, 4489 39555, 4485 39557, 4488 39558, 4492 39560, 4495 39561, 4500 39565, 4496 39566, -4747 22349, -4750 22349, -4746 22352, -4742 22355, -4738 22360, -4739 22362, -4737 22365, -4732 22363, -4728 25363, -4728 25364, -4723 25364, -4725 25364, -4725 25365, -6725 25364, -6727 25369, -6728 25369, -6725 25369, -6729 25368, -6728 27368, -6725 27370, -6721 27371, -3721 27367, -3717 27372, -3718 27375, -3716 27370, -3715 27373, -3714 27373, -3712 27376, -3709 27374, -3710 27375, -3710 27374, -3708 27379, -3706 27381, -3705 27386, -3704 27389, -3704 27393, -3703 32393, -3702 32396, -3702 32396, -3697 32395, -3697 32399, -3692 32403, -3692 32404, -3693 32408, -3693 32412, -3691 32414, -3691 32414, -3695 32414, -3690 32417, -3689 32422, -3684 32424, -3681 32429, -3679 32424, -3676 32428, -3671 32428, -3674 32431, -3671 32430, -3669 32430, -3674 33430, -3676 33432, -3674 33432, -3677 33432, -3677 33437, -3675 33438, -3674 33442, -3679 33444, 1321 33448, 1323 33445, 1327 33448, 1331 33443, 1328 33448, 1328 33443, 1329 33443, 1329 33444, 1334 33448, 1335 33453, 1340 33457, 1340 33454, 1345 33454, 1349 33458, 1348 33461, 1348 33459, 1344 33463, 1343 33466, 1348 33466, 1349 33467, 1345 33467, 1346 33466, 1350 33461, 1349 33464, 1354 33468, 1358 33472, 1363 33473, 1365 33472, 1367 33473, 1370 33476, 1371 33479, -2629 33482, -2631 33487, -2627 33490, -2630 34490, -2626 36490, -2623 36492, -2619 36492, -2622 36492, -2620 36496, -2622 36495, -2627 36495, -2625 36500, -2621 36503, -2626 36506, -2629 36510, -2624 36510, -2620 36510, -2620 36513, -2617 36518, -2622 36516, -2619 36514, -2617 36514, -2617 36512, -2615 36516, -2613 36516, -2613 36517, -2613 36515, -2613 36510, -2610 36511, -2607 36515, -2604 37515, -2604 37512, -2608 37509, -2605 37512, -2600 37516, -2597 37516, -2593 37514, -2595 37515, -2590 37519, -2595 37518, -2590 37523, -2590 37528, -2590 37530, -2592 37525, -2592 37520, -2589 36520, -2586 36521, -2587 36517, -2584 36518, -2582 36518, -2581 36520, -2577 36518, -2576 36522, -2576 35522, -2573 35523, -2575 35523, -2576 35528, -2576 35533, -2576 35536, -2576 35538, -2578 35541, -2582 35545, -2584 35546, -2585 35548, -2583 35544, -2583 35548, -2582 35547, -2578 35552, -2574 35554, -2569 35557, -2565 35559, -2563 35564, -2558 35564, -2555 35568, -2551 35568, -5551 36568, -5546 36568, -5542 36569, -5545 36569, -5543 36574, -5540 36569, -5541 36570, -5541 36572, -5541 36574, -5538 36579, -5535 36581, -5533 36585, -5530 36584, -5526 36579, -5524 38579, -5524 38580, -5524 38575, -5520 38575, -5516 38580, -5512 42580, -5508 42585, -5510 42587, -5510 42586, -5505 42586, -5508 42589, -2508 42593, -2509 42596, -2506 42598, -2504 42601, -2501 42602, -2501 42607, -2496 42612, -2499 42615, -2498 42620, -2500 42617, -2500 42620, -4500 42620, -4500 42624, -4500 42626, -4504 42623, -4507 42625, -4509 42628, -4513 42629, -4508 42629, -4505 42632, -4500 42628, -4499 42633, -4503 45633, -4501 45634, -4497 45635, -4494 45634, -4495 45632, -4493 45634, -4492 46634, -4489 46638, -4485 46633, -4481 46635, 21338 40536, 21343 40537, 21348 40538, 21348 40540, 21347 40540, 21348 40540, 21347 40540, 21346 40542, 21349 40547, 21350 40547, 21353 40544, 21353 40546, 21350 40549, 21353 40550, 21354 40550, 21355 40550, 21360 40550, 21361 40549, 21361 40554, 21359 40559, 21364 40564, 21366 40559, 21365 40559, 21366 40564, 25366 40568, 25367 40570, 25370 40570, 25373 45570, 25374 45571, 25374 45566, 25378 45568, 25383 42568, 25387 42564, 25391 42568, 25391 42572, 25395 42576, 25392 42576, 28392 42573, 28391 42574, 28387 42578, 28388 42580, 28391 42581, 31391 42582, 31387 42586, 31389 42586, 31392 42582, 31393 42583, 31394 42580, 29394 42584, 29398 42586, 29400 43586, 29404 43588, 29408 43589, 29409 43591, 29413 43596, 29415 43598, 29416 43599, 25416 43604, 25414 43599, 25417 43603, 25422 43606, 25420 43608, 25425 43603, 25428 43603, 25431 43606, 25436 42606, 25431 42608, 25434 42604, 25437 42609, 25438 47609, 25442 50609, 25443 50614, 25441 50618, 25446 50621, 25449 50625, 25446 50628, 25446 50630, 25447 50631, 25452 50636, 25452 50632, 25453 50634, 25453 50636, 25456 50637, 25460 50641, 25464 50645, 25465 50644, 25465 51644, 25469 51648, 25471 51653, 25475 51654, 25476 51657, 25477 51658, 26477 51662, 26477 51666, 26476 51669, 26478 51669, 26483 51665, 26485 55665, 26487 55668, 30487 55671, 30487 55674, 30491 55675, 30491 55672, 30493 55674, 30494 55674, 30495 55679, 30499 55679, 30503 55675, 30505 55680, 30502 55681, 30500 55676, 30496 55679, 30501 55680, 30502 55680, 30507 55685, 30503 55688, 30498 55689, 30502 55689, 30504 55691, 30508 55696, 30509 55697, 30508 55696, 30513 55697, 30518 55698, 30516 55703, 30516 55705, 30514 55705, 34514 55709, 34518 55712, 34522 55708, 34520 56708, 34521 56708, 34522 56710, 34519 56710, 34517 56705, 34521 59705, 34524 59710, 34524 59712, 34524 59717, 34528 59719, 34530 59721, 34535 59716, 34540 59719, 34540 59721, 34543 59721, 34548 59724, 34550 59725, 34554 63725, 34549 63730, 34551 63732, 34556 63730, 34558 63730, 34559 63725, 34558 63729, 34563 63734, 34560 63734, 37560 63729, 37563 63733, 37567 63728, 37571 63724, 37575 63722, 37580 63726, 37579 63722, 37581 63724, 37581 63726, 37582 63723, 37582 63724, 37581 63728, 37576 63729, 37576 63731, 37578 63729, 37583 63733, 37585 63736, 37588 63736, 37592 63741, 37594 63738, 37599 63735, 37602 63734, 37598 63735, 37598 63737, 37602 63737, 37603 63739, 37598 63739, 37593 63736, 37598 63737, 37603 63742, 37604 63737, 37601 63742, 37596 63744, 37600 63748, 37605 63749, 37607 63751, 37609 63756, 37609 63760, 37605 63761, 37605 63765, 37606 63765, 37610 63762, 37611 63766, 37606 63768, 37606 63768, 41606 63769, 41602 63765, 41601 63765, 41602 63770, 41598 63770, 41601 63770, 41603 63774, 41606 63772, 41610 63772, 41613 63776, 41616 63771, 41611 63767, 41614 63769, 41617 63764, 38617 63768, 38617 63772, 38620 63772, 35620 63773, 35620 63778, 35619 63779, 35620 63780, 35615 63779, 35617 63784, 35614 63786, 35615 63783, 35616 63779, 35620 63778, 35621 63780, 35626 63782, 35626 63784, 35631 63789, 35631 63784, 35628 63785, 35626 63786, 35631 63788, 35636 63791, 35640 63786, 35636 63787, 35636 63782, 35635 63781, 35640 63786, 35643 63790, 35646 63795, 35650 63797, 35649 63797, 35651 63801, 35655 63805, 35656 63808, 35656 63808, 35658 63808, 35657 63810, 35660 63814, 35660 63809, 35664 63809, 35659 67809, 35660 67812, 35662 67815, 35666 67812, 35662 67807, 35660 67807, 35663 67807, 35665 67812, 35668 67814, 35672 67818, 35671 67817, 35671 67820, 37671 67824, 37666 67824, 2277 13367, 2280 16367, 2276 16367, 2277 16366, 2281 16366, 2284 16366, 2289 16370, 2286 16370, 4286 16370, 4288 16375, 4292 16379, 4296 18379, 4297 18381, 9297 18385, 9298 18385, 9301 18386, 9305 18383, 9307 19383, 9310 19379, 8310 19384, 8314 19384, 38748 37655, 38751 37656, 38756 37657, 38759 37660, 38755 37665, 38755 37665, 38760 37667, 38765 37668, 38765 42668, 38770 42670, 38767 42672, 38772 42668, 38769 42663, 38770 42663, 38775 42658, 38773 42663, 38777 42665, 41777 42667, 41780 42669, 41783 42673, 41784 42671, 41781 42673, 41786 42676, 41783 42676, 41785 42676, 41782 42676, 41785 42679, 41786 42679, 41790 42680, 41794 42681, 41794 42679, 41795 42684, 41795 42680, 41798 42685, 41803 42689, 41806 42688, 41808 42689, 41806 42694, 41804 42696, 41807 42700, 41802 42701, 41804 42702, 41806 42704, 41811 42708, 41815 42709, 36815 42712, 36815 42708, 36812 42707, 36813 42709, 40813 42710, 40817 46710, 40818 46712, 40822 46712, 40820 46716, 40824 46721, 40827 46724, 40831 46728, 40829 46731, 40833 46731, 40835 46735, 40831 46737, 40832 46737, 36832 46742, 36832 46745, 36836 46748, 36833 46753, 36828 46752, 36824 46752, 36826 46755, 36821 46759, 36825 46762, 36825 46766, 36826 46770, 36824 46773, 36828 46776, 36833 46778, 36830 42778, 36835 42780, 36835 42781, 36840 42786)'))); +BEGIN; + +DELETE FROM t1 WHERE p = 3; +UPDATE t1 SET g = ST_linefromtext('linestring(448 -689,453 -684,451 -679,453 -677,458 -681,463 -681,468 -678,470 -676,470 -678,468 -675,472 -675,472 -675,474 -674,479 -676,477 -675,473 -676,475 1324,479 1319,484 1322,483 1323,486 1323,491 1328,492 1325,496 1325,498 1325,501 1330,498 1331,500 1331,504 1330,508 1329,512 1332,513 1337,518 1339,518 1339,513 1344,513 1344,512 1346,514 1351,515 1353,519 1358,518 1362,522 1365,525 1360,526 1362,527 1362,528 1367,525 1371,528 1366,532 1369,536 1374,539 1377,543 1379,539 1381,541 1382,543 1383,546 1388,549 1393,554 1393,554 1395,554 1392,550 1394,550 1392,546 1394,549 1397,550 1393,549 1394,554 1390,554 1391,549 1396,551 1396,547 1400,547 1402,551 1407,554 1412,554 1415,558 1418,463 -681,465 -677,465 -675,470 -670,470 -665,470 -660,470 -659,473 -656,476 -656,481 -655,482 -652,486 -654,486 -652,486 -648,491 -646,490 -651,494 -646,493 -644,493 -644,490 -644,491 2356,495 2359,495 2364,500 2359,503 5359,504 5364,509 5368,504 5367,499 5368,498 5371,498 5369,500 5370,504 5370,508 5370,511 5370,507 5374,508 5378,511 5382,507 5387,509 5389,512 5388,515 5393,520 5396,517 5397,517 5402,515 5404,520 5402,521 5405,525 5405,526 5408,530 7408,535 7413,533 7415,529 7412,532 7416,4532 7416,4534 7421,4533 7417,4536 7413,4536 7418,4540 3418,4545 3418,4549 3415,4551 3419,4554 3421,4559 3423,4559 3426,4557 3424,4561 3428,4558 3428,4563 3431,4565 3435,4569 3439,4569 3439,4569 3444,4567 3444,4572 3446,4577 3447,4581 3444,4581 3448,4584 3448,4579 3447,4580 3450,4583 3449,4583 3453,4587 3455,4588 3458,4593 3463,4598 3465,4601 3468,4598 3464,4598 3460,4593 5460,4595 5461,4600 5464,4600 5465,4601 5466,4606 5466,4608 5466,4605 5464,4608 5467,4607 5468,4609 5465,4614 5461,4618 5463,4621 5467,4623 5470,4622 5470,4622 5470,4625 6470,4627 6471,4627 6472,4627 6473,6627 6474,6625 6474,6628 6477,6633 6481,6633 6480,6637 6475,7637 6479,7638 6482,7643 6487,7644 6492,7647 6492,7648 6495,7646 6498,7650 6499,7646 6494,7644 6499,7644 6497,7644 6499,7647 6502,7649 6504,7650 6501,7647 6503,7649 6504,7650 6508,7651 6503,7652 6508,7655 6508,7650 6511,7655 6515,7658 6513,7663 6513,7665 6514,7669 6512,7667 6510,7664 6510,472 -675,477 -670,479 -666,482 -663,484 -668,484 -666,485 -664,481 -664,479 -659,482 -659,484 -658,483 -659,488 2341,493 2339,489 2338,491 2342,491 2346,494 2346,490 2348,493 2348,498 2349,498 2350,499 2349,502 2350,503 2348,506 2348,506 2348,507 2353,507 2355,504 2359,504 2364,504 2361,499 2365,502 2360,502 2358,503 2357,504 2353,504 2357,500 2356,497 2355,498 2355,500 2359,502 2361,505 2364,508 2364,506 2368,506 2370,504 2373,499 2373,496 2372,493 2377,497 2380,495 2383,496 7383,493 7386,497 7391,494 7387,495 7389,498 7392,498 7392,495 7395,493 7398,498 7401,498 7403,503 7400,498 8400,501 8401,503 8401,503 8401,501 10401,496 10396,491 10401,492 10399,493 10403,496 10403,491 10403,493 10407,489 10410,493 10407,489 10403,498 7403,497 7399,496 7403,500 7405,500 7407,503 7411,508 7415,511 7415,511 7420,515 7420,520 7423,523 7423,520 7427,523 7427,523 7427,522 7432,525 4432,527 4434,530 4437,534 4441,529 4446,529 4441,534 4436,537 4436,535 4437,532 4437,534 4432,535 4429,538 4430,542 4427,542 4431,538 4431,541 4431,541 4433,543 4433,545 4432,549 4428,552 4426,556 4427,557 4423,560 4427,561 4428,558 4430,559 4434,559 4432,561 4434,561 4437,563 4435,559 4430,561 4435,4561 4437,4566 4441,4568 4446,4568 4450,4569 4455,4565 4458,4561 4463,4561 9463,4564 9463,4565 9461,9565 9463,9560 9467,9560 9466,9555 9469,9555 9471,9559 9469,9557 9473,9553 9478,9555 9480,9557 9481,9557 9481,9557 9483,9562 9487,9558 9487,9558 9490,9561 9493,9562 9493,9557 9493,9560 9496,9555 9501,9553 9503,9553 9506,9557 9510,9558 9511,9561 9514,9563 9512,9568 9514,9567 9514,9567 13514,9570 13517,9566 13521,9571 13521,9571 13526,9573 13521,9571 13521,9576 10521,9580 10526,9582 10525,9584 10528,9584 10531,9584 10533,9589 10533,9588 10537,9588 10541,9589 10542,9593 10544,9595 10540,9597 10541,9600 10545,9601 15545,9603 15549,9605 15553,9601 15558,9601 15553,9605 15551,9605 15550,9605 15554,9607 15556,9605 15556,9604 15561,9607 15559,9603 15559,9603 15562,9604 15563,9608 15566,9612 15570,9617 15565,9622 15568,9627 15566,9628 15564,9629 15564,9633 15569,9636 15569,9634 15571,9634 15572,9636 15574,9634 15570,9629 15570,9631 15567,9629 15570,9626 15574,9626 15575,498 7401,502 7401,506 7397,506 7395,502 7398,497 7401,502 7402,505 7397,508 7400,504 7404,3504 7409,3505 7405,3508 7410,3511 7413,3511 7416,3511 7419,3511 7419,3513 7421,3517 7424,3519 7426,3520 11426,3523 11421,3527 11418,3530 11415,3530 11416,3533 11418,7533 11415,7531 11415,7531 11417,7536 11420,7541 11424,7543 11425,7543 11427,7543 11429,7540 11429,7542 11425,7541 11420,7542 11421,7542 11422,7540 11424,7540 11423,7543 11422,7546 11426,7550 11431,7553 11436,7555 16436,7553 16438,7558 16438,7559 16438,7560 16439,7565 16437,7560 16435,7563 16435,7566 16440,7566 16444,7564 16447,7559 16443,7561 16443,7566 16448,7570 16451,7574 16456,7578 16459,12578 16459,12578 20459,12577 20456,12581 20454,12585 20456,12585 20456,12585 20456,12583 20456,12579 20459,12580 20461,12580 20462,12580 20460,12585 20465,12586 20467,12590 20470,12590 20470,12589 20471,12584 20471,12589 20471,9589 20472,9594 20472,9595 20472,9596 20477,9598 20482,9603 20480,9608 20484,9613 20484,9610 20486,9608 20488,9608 20489,9610 20489,9614 20486,9619 20481,9620 20481,9618 21481,9621 21483,9626 21483,9628 21485,9623 21487,9622 21490,9626 21493,9621 21495,9626 21498,9622 21499,9624 21504,9625 21499,9629 21501,9633 21498,9637 21495,9639 21498,9644 21501,9557 9481,9560 9485,9561 9490,9563 9488,9560 9486,9558 9488,9561 9492,9563 9495,9567 9492,9567 9488,9564 9490,9559 9495,9559 9498,9557 9502,9562 9506,9564 9509,9569 9512,9569 9516,9569 9518,9569 9515,9571 9513,9571 9512,9573 9513,9578 9516,9581 9516,9585 11516,9585 11521,9590 10521,9586 10524,9589 10529,9589 10527,9589 10527,9594 10532,9594 10534,9598 10536,9598 10540,9600 10542,9604 10538,9607 10538,9609 10543,9613 10538,9613 10533,9613 10537,9610 10537,9614 10542,9609 10542,9610 10543,9610 10548,9611 10553,9616 7553,9620 7553,9621 7557,9618 7559,9618 7554,9622 7557,9622 7561,9622 7556,9622 7560,9619 7560,9620 7565,9622 7563,9627 7566,9630 7570,9630 7571,9632 7573,9637 7576,9639 7578,9640 7576,9640 7579,9640 7575,9642 7570,9646 7570,9651 7574,9653 7577,9652 7572,9653 7576,9653 7576,9651 7581,9656 7585,9660 7586,9659 7591,9657 7594,9661 7598,9664 7602,9668 12602,9673 12604,9676 12606,9679 12602,9682 12605,9677 12610,9674 12606,9674 12601,9674 12603,9672 9603,9668 9605,9671 9606,9668 9611,9668 9606,9671 9611,9675 9615,9677 9620,9678 9622,9679 9624,9684 9626,9685 9627,9685 9622,9685 9626,9689 9628,9694 9633,9699 9637,9699 9637,9704 9636,9708 9637,9709 9638,9707 9639,9705 9642,9707 9647,9710 9649,9711 9653,9716 9649,9716 9648,9720 9650,9721 9648,9723 9648,9726 4648,12726 4653,12731 4655,12734 4660,12730 4661,12733 4664,12733 4665,12735 4670,12737 4674,12741 4674,12738 4675,12740 4675,12737 4675,12742 4678,12743 4681,12746 4677,12751 4675,559 4430,563 4430,565 4435,566 4440,561 4445,562 4447,564 4450,561 4453,563 4453,561 4458,561 4458,562 4453,566 4454,571 4458,571 4460,574 4461,574 4464,579 4466,579 4470,582 4468,586 4470,590 4468,593 4468,594 4470,596 4474,591 4475,591 4480,594 4482,597 4486,593 4486,595 4486,598 4490,600 4492,3600 4497,3598 4497,3598 4494,3599 4493,3600 4497,3600 4494,3604 4498,3604 5498,3600 5497,3602 5493,3602 10493,8602 10498,8606 10494,8605 10495,8606 10496,8605 10500,8605 10500,8603 10499,8601 10502,8602 10505,8603 10501,8608 10503,8608 10508,8609 10503,8610 10505,8613 10504,8615 10506,8616 10508,8612 10513,8613 10517,8615 10520,8617 10521,8621 10524,8624 10524,8624 10524,8624 10519,8625 10514,8626 10519,502 7402,503 7399,506 7404,543 1379,548 1379,550 1380,553 1379,558 1376,556 1376,558 1372,559 1372,560 1377,565 1374,568 1375,568 1379,572 1382,570 1384,575 1386,576 1389,576 1394,579 1398,583 1403,586 1401,586 1401,591 1400,593 1402,598 1407,601 1412,546 1394,550 1396,553 1396,555 1394,4584 3448,4585 3450,4583 3450,4588 3451,4590 3449,4595 3449,4599 3454,4603 454,5603 458,5604 458,5605 453,5610 457,5614 459,5619 463,5621 466,5618 466,5623 465,5627 466,5625 471,5626 476,5630 479,5635 484,9635 488,9639 488,9641 483,9644 484,9649 484,5649 488,5649 492,5651 497,5656 497,5661 499,5665 504,5666 500,5666 497,5666 499,5666 499,5666 501,5670 502,5670 504,5670 507,5673 502,5677 506,4677 507,4682 509,4682 511,3682 510,3679 514,3683 510,3686 515,3684 518,3686 522,3689 527,3690 527,3688 529,3690 533,3692 530,3691 532,3695 529,3696 529,3701 533,3701 535,3699 540,9610 10543,9612 10545,9615 10548,9617 10548,9619 10550,9624 10548,9627 10549,9625 10553,10625 10553,10626 10555,500 7407,500 7407,500 7411,505 7413,505 7411,502 7415,504 7415,508 7411,511 7411,506 7412,506 7410,3506 7411,3507 7415,3509 7417,3511 7417,3513 7418,3516 7422,3518 7422,3518 7426,3513 7430,3515 7435,3520 7435,3521 7437,3526 9437,3526 9434,6526 9437,6526 9438,6526 9438,6527 9441,6528 9439,6523 9441,6518 9445,6522 9446,6526 9447,6529 9451,6529 9455,6530 9459,6532 9457,3532 9460,3536 9461,3537 9466,3541 9466,3544 9466,3546 9468,3549 9467,3553 9470,3551 9470,3551 9474,3552 9473,3547 9473,3547 9473,3547 9476,3552 9481,3553 9486,3555 9490,3556 9491,3559 9495,3560 9493,3563 9494,3563 9494,3565 9495,3565 10495,3568 10496,3573 10501,3574 10501,3576 10502,3578 10503,3578 10504,3580 10508,7580 10505,7578 10508,7578 10511,7578 10508,7581 10508,7582 10511,7577 10510,7577 10514,7573 10516,7578 10520,7580 10525,7581 10530,7585 10532,7590 10535,7594 10540,12594 10540,12591 10545,12595 10548,12595 10543,12597 10547,12597 10542,12595 10545,12595 10546,12600 10550,12605 10550,12606 10546,12604 10548,12605 12548,12605 12546,12607 12548,7607 12552,7611 12557,7608 12557,7608 12553,7611 12553,7610 15553,7608 15550,7610 15551,7607 14551,7607 14556,7606 14561,7602 14561,7602 14566,7601 14565,7606 14565,7605 14570,7608 14568,7609 14571,7613 14572,7614 14572,7616 14574,7613 14573,7615 14570,7618 14570,7615 14574,7617 14575,7614 14578,7616 14582,7617 14584,7617 14584,7618 14589,7622 14590,7619 14592,7624 14593,7628 14596,7632 14601,7627 14601,7629 14603,7629 14603,7630 14608,7631 14611,7626 14611,7628 14611,7628 14616,7624 14617,7619 14618,7624 14618,7626 16618,10626 16620,10624 16620,10629 16619,10633 16624,10636 16624,10638 16624,10643 16624,7643 16625,7643 16630,7643 16625,7647 16629,7648 16628,7649 16633,7650 16633,7650 16634,7645 16635,7646 16632,7642 16635,7643 16635,7643 16630,7638 16634,7640 21634,7645 21633,7650 21634,7651 21639,7652 21641,7655 21636,7651 21640,7654 21635,7655 21637,7660 21640,7656 21643,7661 21644,7663 21645,7667 21642,7669 21644,7674 21645,7674 21649,7677 21647,7672 22647,7672 22650,7667 22650,7667 22647,7671 22646,7672 22648,7673 22651,11673 22653,11672 22654,11670 22652,11671 22656,11673 22656,11674 22654,11678 22658,11678 22656,11675 22659,11680 22659,11685 22664,11687 22659,11687 22664,11687 22664,11692 22669,11696 22673,11701 22678,11696 22683,11696 22687,11691 22688,11695 22683,11691 22688,11696 22691,11695 22691,11700 22695,11702 22693,11705 22696,11710 22699,15710 22700,15712 22704,15707 22708,15712 22708,15715 22708,15720 22709,15725 22712,15723 22714,15724 22719,15727 22718,15727 22718,15731 22713,15730 22715,15734 22717,18734 22722,18729 22724,18725 22728,18729 22732,18733 22734,18736 22730,18740 22733,18740 22735,18742 22731,18741 22732,18744 22736,18749 22735,18754 22739,18754 22741,18756 22745,18758 22746,18760 22750,18764 22751,18764 22753,18764 22754,18767 22750,18767 22753,18767 22756,18772 22761,18777 22757,22777 22757,22780 22760,22776 22758,22776 22760,22772 22760,22775 22760,22777 22762,22774 22759,22775 22764,22772 22764,22767 22766,22768 22771,22771 22771,9589 10527,9593 10528,9598 10533,9600 10534,9597 10534,11597 10535,11602 10539,11603 10544,11598 10543,11601 10543,11605 10544,11609 10545,11611 10542,11615 10540,11615 10542,11616 10544,11619 10544,11621 10544,11623 10542,11619 10544,11620 10549,11616 10549,11618 10550,11619 10552,11622 10555,11622 10556,11623 10556,11621 10556,11625 10561,11625 10564,11625 10566,11628 10563,11630 10567,11628 10572,11626 10575,11628 10575,11632 11575,11636 11576,11638 11577,11638 11578,11638 11581,11639 11579,11643 11574,11646 11573,11650 11574,11647 11579,11648 11580,11653 11581,9571 9513,9571 9516,9571 9516,9574 9521,9572 9525,9573 9528,9573 9529,9578 9531,9583 9526,9581 9531,9576 9535,9578 9533,9583 9535,9583 9539,9587 9544,9590 14544,9595 14544,9598 14545,6598 14549,6598 14551,6599 14552,11599 14556,11602 14558,11598 14558,11598 14561,11602 14565,11603 14565,11603 14564,11603 14568,11604 14573,11605 14568,11607 14568,11607 14570,11607 14572,11607 14567,11611 14572,11611 14571,11607 14571,11609 14569,11605 14569,11606 14570,11606 14573,11607 14577,11610 14578,11609 16578,11609 16582,11607 16579,11605 16581,11606 16576,11605 11576,11608 11578,11610 11583,13610 11583,13614 11578,13616 11582,13617 11587,13617 11583,13621 11585,13626 11589,13621 11589,13621 11591,15621 11591,15625 11591,15630 11595,15631 11596,15634 11598,15638 11603,15642 11608,15643 11612,15642 11614,15646 16614,15648 16610,15648 16614,15648 16614,15647 16614,15652 16611,15654 16616,15655 16611,15651 16612,15655 16615,15659 16617,18659 16616,18660 16611,18660 16616,18664 16621,18668 16626,9673 12604,9674 12605,9676 12605,9679 12605,9682 12606,9680 12606,9680 12609,9681 12612,9684 12616,9688 12620,9691 12624,9686 12621,9686 12625,9686 12630,9684 12634,9686 12634,9687 12639,9686 12637,9683 12634,9685 12632,9689 12632,9689 12629,9692 12629,9692 12632,9695 12636,9693 12641,9692 12645,9692 16645,9694 16646,9698 16650,9698 16651,9693 16651,9693 16652,9693 16655,9692 16652,9693 16655,9689 16658,9689 16658,9692 16661,9696 16665,9698 14665,9701 14668,9702 14664,9703 14663,9702 14667,9707 14667,9711 14672,9716 14673,9719 14677,11719 14673,11720 14674,11721 14672,11725 14672,11729 14667,10729 18667,10732 18667,10727 18669,10730 18665,10732 18670,10737 18665,10737 18670,10742 18674,9742 18674,9741 18675,9742 18676,9746 18678,9751 18677,11751 18679,11751 18684,11753 18687,11757 18692,11757 18690,11761 18691,11761 18692,11766 18697,11769 18701,11771 18696,11774 18697,11774 18701,8613 10517,8611 10522,8611 10522,8616 10521,8619 10523,8622 10521,8623 10518,8623 10518,8624 10518,8624 10521,8629 10523,8633 10518,8635 10514,8640 10514,8642 10514,8646 10514,8647 10517,8644 13517,8649 13518,8653 13522,12653 13522,12653 13526,12657 18526,12653 18527,12657 18532,12660 18535,12656 18537,12660 18539,12658 18537,13658 18541,13657 18545,13657 18547,13660 18551,13665 18554,13665 18556,13665 18559,13665 18556,13668 18560,13672 18564,13672 18566,13676 18568,13676 18568,16676 18568,16681 18568,16678 18568,16682 18573,16681 18577,16686 18575,16686 18571,16686 18576,16684 18578,16684 18578,16681 18581,16684 18584,16683 18586,16687 18581,16682 18583,16677 18582,16676 18583,16681 18585,16679 14585,16677 14590,16682 14591,16686 14587,16691 14587,16696 14585,16696 14583,16697 14587,16702 14589,16704 14594,16699 14594,16704 14594,16704 14599,16705 14604,16708 14608,16713 15608,16717 15613,16721 15618,16721 15623,16724 15628,19724 15630,19726 15627,19729 15628,19725 15626,19720 15631,19724 15635,19728 15634,19729 15632,19730 15630,19733 15633,19734 15634,19736 15636,19741 15634,19739 15634,19744 15634,19749 15630,21749 15633,21747 15637,21749 15641,21749 15641,21745 15645,21748 15650,21749 15655,21751 15660,21753 15660,21755 15656,21752 15658,21751 15658,21753 15658,21754 15661,21754 15665,21754 15667,21757 15668,21753 16668,21753 16670,21757 16673,21759 16670,21756 16670,21760 16673,21757 16676,21761 16680,21765 16685,21768 16686,21769 16690,21769 16688,21769 16686,21766 16686,21768 16688,21773 16687,21778 16690,21781 16690,21780 16694,21780 16693,24780 16695,24777 16700,24782 16702,24787 16701,24787 16697,24787 16700,24792 16704,24787 16701,24788 16701,24789 16706,24792 16706,24797 16706,24800 16710,24805 16711,24805 16715,24810 16710,24809 16714,24813 16717,24817 16718,24817 16720,24819 16722,24815 16725,24812 16727,24811 16727,24814 16730,24819 16726,24821 16729,24826 16731,24830 16736,23830 16741,23826 16746,23827 16747,23829 16749,23833 16752,23835 11752,27835 11757,27837 11756,27834 11756,27835 11757,27838 11759,27833 11763,27834 11766,27839 11770,27844 11770,27849 11772,27849 11773,27849 11773,27854 11777,7581 10530,7582 10533,7581 10529,7583 10530,7584 10529,7584 10533,7582 10535,7586 10535,7589 10530,7592 10526,7592 10529,7589 10525,7592 10528,7596 10524,7600 10529,7602 10530,7599 10530,7594 10531,7598 10526,7601 10531,7605 10535,7609 10539,7612 10544,7610 10544,7612 10540,7608 10541,7610 15541,7613 15546,7617 15548,7618 15547,7620 15544,7620 15546,7621 15547,7624 15551,7628 15554,7631 15558,7631 15553,7636 15556,7637 15558,7637 15554,7641 15556,7644 15556,7648 15559,7651 15560,7647 15563,7650 15564,7650 15559,7652 15561,7650 15562,7651 15562,7651 15567,7655 15568,7653 15569,2653 15573,2657 15577,2662 15579,2663 15582,2663 15587,2665 15589,2669 15589,2669 15587,2673 15591,2673 15595,2677 15597,2677 15599,2680 15601,2683 15606,2687 15606,2683 15609,2688 15606,2692 15607,2693 15607,2698 15610,2698 15611,7698 15613,7702 15616,7704 15618,7699 19618,7703 19620,7698 19624,7698 19624,7701 19627,7699 19628,7704 19624,7708 19622,7712 19617,7714 19615,7710 19612,7715 20612,3715 24612,3720 28612,3724 28610,3727 28610,3728 28608,3725 28603,3729 28605,3733 28604,3734 28603,3737 32603,3739 32606,3740 32609,3739 32613,3738 32613,3735 32615,3739 31615,3739 31610,3743 31606,6743 31601,6743 31603,8743 31601,8743 31605,8748 35605,8748 35610,8752 35615,8751 35615,8752 35620,8755 35620,8760 35620,8765 35624,8760 35627,8764 35626,8761 35631,8763 35635,8767 35636,8767 35632,8767 35635,8771 35630,8775 35631,8778 35632,8775 35632,3775 35633,3775 35637,3774 35639,3772 35641,8772 35645,8772 35645,8773 35648,8768 35651,8764 35651,8769 40651,8764 40653,8767 40653,8770 40654,8771 40657,8775 40658,8777 40663,8779 40666,8783 40670,8783 40674,8787 40675,8789 40670,8789 40674,8792 40672,8795 40675,8796 40672,8800 40676,8800 40676,8800 40679,498 7392,503 7390,504 7390,507 7395,509 7395,509 7397,514 7400,6529 9451,6529 9451,6524 9451,6527 9452,6527 11452,6527 11456,6528 11457,6529 11458,6531 11461,6535 11463,6535 11467,6530 11472,6532 11472,10532 11473,10533 11473,10537 11476,10540 11473,10540 11473,10544 11474,10544 11474,10544 11472,10544 11470,10539 11475,10539 11478,10542 12478,10545 12483,10546 12488,10547 12492,10552 12493,10552 12490,10556 12490,10558 12493,10560 12495,10555 12496,10557 12491,10556 12491,10556 12490,10553 12494,10558 12497,10559 12502,10564 12505,21753 16670,21754 16672,26754 16674,26757 16676,26761 16679,26756 16682,26761 16683,26763 16684,26766 16689,26771 16692,28771 16687,28774 16687,28776 16692,28777 16695,28781 16695,28785 16690,28789 16691,28786 16688,28789 16690,28792 16688,28793 16687,28795 16690,28793 16695,28791 16692,28793 16695,28790 16696,28790 16700,28792 16700,28793 16701,28794 16701,28794 13701,28796 12701,28799 12701,28799 12706,28800 12701,28801 12705,28803 12708,28807 12708,28808 15708,28810 15712,28811 15709,28813 15709,28813 11709,28817 11709,7618 14589,7620 14587,7625 14589,7626 14584,7631 14586,7632 14588,7637 14589,7642 14592,536 1374,540 5374,542 5378,542 5383,-2458 5388,-2457 5388,-2455 5393,-2452 5393,-2452 5391,-2448 5389,-2448 5390,-2449 5393,-2445 5388,-2441 5392,-2436 5397,-2432 5397,-2430 5397,-3430 5399,-3429 5404,-3430 5405,-3427 5407,-3422 5409,-3421 5411,-3421 5411,-3421 5407,-3417 5410,-3418 5410,-3422 2410,-3417 2414,-3416 2418,-3412 3418,-3407 3422,-3407 3426,-3406 3429,-3404 3433,-3403 3435,-3398 3439,-2398 3441,-2399 3442,-2397 3446,-2395 3447,-2394 3443,-2398 3445,-2398 3443,-2393 3446,-2391 3450,-2387 3451,-2390 3455,-2385 3457,-2383 3457,-2382 3462,-2379 3467,-2384 3467,-2383 3467,-2381 3470,-2383 3471,-2385 3474,-2383 3479,-2383 3481,-2383 3479,-2382 3484,-2380 3489,-2385 3487,-2384 3490,-2384 3490,-2383 3492,-2383 3495,-2378 3499,-2377 3495,-2378 3498,-2375 3500,-2375 3505,-2373 3503,-2373 3505,-2374 3505,-2374 3506,-2369 3511,-2364 3516,-2361 3516,-2356 3520,-2354 3524,-2353 3529,-2356 3533,-2351 3538,-2354 3542,-2349 3545,-2349 3547,-2347 3550,-2352 3547,-2355 3551,-2353 3556,-2353 3556,-2349 3554,-2352 3553,-2351 3558,-2348 3554,-2346 3556,-2344 3559,-2347 -441,-2352 -437,-2348 -440,-2345 -435,-2343 -440,-2343 -436,-2339 -432,-2339 -431,-2337 -429,-2337 -434,-2341 -431,-2345 -427,-2349 -426,-2350 -422,-2348 -418,-2344 -415,-2349 -415,-2345 -413,-2345 3587,-2344 3583,-2344 3580,-2339 5580,-2335 5583,-2336 5582,-2331 5587,-2330 5582,-2329 5582,-2337 -434,-2333 -433,-2330 -2433,-2327 -2435,-2331 -2433,-2328 -2433,-2328 -2429,-2325 -2429,-2320 -2428,2680 -2428,2684 -2424,2685 576,2685 579,2682 582,2684 584,2679 584,2674 585,2671 587,2673 583,2673 581,2677 581,2680 580,2681 584,2684 580,2681 582,2685 585,2690 583,690 587,691 584,694 584,694 585,692 583,694 584,693 588,28793 16695,28791 16694,28793 16698,28797 16703,28798 16707,28797 16712,28797 16715,28795 16717,28799 16712,28795 16710,28800 16707,28805 16705,28807 16702,28802 16705,28803 16701,28805 16703,28803 16698,28803 16700,28805 16704,28809 16699,28812 16702,28808 16703,28813 16700,28817 16703,28819 16704,28816 16709,28812 16708,28809 16708,28809 16707,28814 16709,28812 16712,28807 16717,28807 16717,28809 16717,28807 16717,28811 16717,28814 16722,28815 16719,28819 16719,28819 16724,28819 16726,28814 16727,28814 16722,28817 16726,28820 16730,28821 16730,28816 16733,28821 16737,28823 16741,28818 16741,28822 16744,28819 16747,28815 16748,31815 16748,31819 16748,31817 16746,31818 16749,31819 16747,31817 16748,31820 16746,31816 18746,31820 18746,31815 18742,31815 18744,31818 18740,31819 18735,31824 18735,31829 18738,31834 18742,31837 18745,31837 18748,31842 18749,31847 18749,31851 18749,31854 18750,31854 18749,31852 18752,31847 18754,31850 18758,31855 22758,31857 22760,31861 22759,31859 22761,31856 22764,31856 22768,31856 22768,31856 22770,31858 22765,31863 22766,31862 22770,31860 22772,31856 22776,31861 22775,31866 22780,31870 22780,31871 22782,31871 22779,31866 22781,31870 22781,31870 22786,31873 22786,31877 25786,31877 25791,31877 25796,31880 25800,31882 25804,31885 25809,31885 25812,31886 25815,31888 25815,31890 25820,31890 25821,31889 25821,31885 25817,31889 25814,31887 25815,31890 25819,31892 25820,31896 25816,31897 25817,31902 25818,31904 25823,31908 25825,31910 25828,31914 25825,31909 25825,31912 25829,31907 25829,31911 25834,31912 25838,31911 25837,31914 25837,31918 25836,31918 25831,31914 25831,31912 25826,32912 25830,32915 25833,32911 26833,32912 26834,32915 26839,32913 26839,32915 26835,32917 26837,32922 26832,32924 26834,32926 26835,32921 26840,33921 26835,33923 26836,33927 26837,33925 26833,33926 26836,33931 26837,33929 26837,33932 26842,33934 26842,33935 26847,33940 26850,33935 26848,33931 28848,33929 28852,33925 28849,33927 28849,33929 28852,33927 28850,33929 28854,33931 28854,33935 28854,28935 28854,28935 28849,28938 28854,28942 28855,28944 28860,28942 28861,28941 28863,28942 28860,28942 28856,28947 28858,28951 28857,28953 28861,28953 28860,28956 28863,28957 31863,28957 31867,28960 31869,28962 31869,28964 31872,28965 31877,28969 31881,28965 31882,28967 31886,28969 31888,28964 31892,28960 31895,28961 31893,28966 31896,28967 31901,28963 31903,28961 31908,28964 31908,28964 31904,28960 31904,28961 31905,28960 31905,28965 31906,28966 31909,28967 28909,28967 28909,28970 28910,28966 28914,28965 28918,28966 28918,9626 21498,9621 21498,9622 21501,9618 21504,9621 21505,9624 24505,9622 24505,9625 24508,9626 24511,9631 24516,7631 24512,7631 24507,7632 24506,7635 24504,7638 24507,7636 24502,7639 24507,7644 24508,7648 24512,7648 24512,7650 24512,7651 24514,7655 24517,7659 27517,10659 27520,10661 27524,10664 27523,10666 27528,10666 27523,10665 27524,10667 27529,9667 27534,9670 27534,9668 27534,9667 27533,9670 27533,9670 27538,9670 27540,9675 27538,9679 27538,9683 27543,9680 27538,9682 27540,9685 27545,9683 27546,9683 27547,9678 27548,9680 27548,9684 27549,9685 27545,9690 27546,9690 27548,9692 27550,9697 27553,9698 27557,9702 27553,9702 27548,9702 27549,9706 27551,9701 27551,9701 27551,9697 27546,9696 27549,9697 27553,9699 27557,9698 27558,9696 27560,9701 27556,9705 27552,32912 25830,32913 25829,32916 25830,36916 25828,36916 25831,36916 25835,39916 25837,39911 25842,39913 30842,39910 30844,39910 30845,39908 30848,39911 30852,39913 30856,39918 30857,493 10403,498 10406,498 10406,493 10406,497 10404,493 10409,493 10414,497 10416,496 10418,499 10423,500 10427,505 10429,510 10429,515 10431,515 10433,515 10433,512 10434,5666 500,5666 500,5668 505,5669 509,8669 2509,9669 2505,9672 2505,9675 2509,9670 2510,14670 2513,14675 2512,14671 2512,14673 2513,14671 2517,14674 2515,14679 2520,14676 2524,17676 2519,17677 2520,17678 2523,10558 12497,13558 12492,13558 12490,13560 12494,13561 12499,13563 12503,13568 12508,13572 12512,13572 15512,13573 15515,13569 15518,13566 15522,13571 15522,13572 15522,13575 15527,13576 15532,13573 15534,13575 15535,13572 15538,13574 15541,13571 15546,13571 15541,13568 15541,11605 16581,11608 16576,11613 16575,11612 16577,7612 16581,7614 16582,7617 16587,7616 16591,7617 19591,7619 19595,7620 19598,7624 19598,7625 19599,7624 19595,7625 14595,7627 14597,7626 14599,7628 14604,7628 14605,7633 14610,7632 14615,7632 14620,7631 14621,7631 14621,7631 14621,7627 14621,7632 15621,7635 15626,7636 15627,7637 15631,7633 15636,7635 15636,7631 15631,7631 15631,7634 18631,7630 18632,7629 18633,7632 18630,7633 18631,7638 18632,7638 18632,7638 18633,7633 18638,7637 18642,7639 18639,7639 18641,7643 18643,7647 20643,7648 20647,7643 20643,7648 20640,7649 20645,7650 20641,7650 20642,7650 20645,5650 20646,5654 20646,5654 20643,5651 20645,5648 20645,5653 20650,5653 20650,5654 20653,5655 20655,5659 20660,5664 20664,5668 20669,5668 20672,5670 20677,5675 20677,5678 20677,5680 20678,5680 20680,5679 20680,5682 20683,5681 20681,5682 20682,5685 20682,5685 20687,5685 20691,5685 20694,5685 20696,5685 20698,5686 20697,5688 20698,5688 20697,5688 20696,5689 20696,5694 20701,5695 20700,5697 20704,5697 20708,5694 20708,5694 20708,5694 20713,5691 20713,1691 20713,1689 23713,1694 23714,1696 23714,593 1402,593 1406,595 1410,598 1413,603 1418,602 1422,601 1422,602 1418,606 1423,607 1424,603 1429,605 1433,609 1429,614 1429,610 1429,610 1429,614 1429,610 3429,612 3425,616 3429,620 3429,624 3432,628 3436,628 3436,628 3441,632 3441,628 3445,626 445,631 449,631 453,630 455,626 -1545,630 -1542,630 -1538,630 -1542,630 -1541,633 -1536,631 -1534,626 -1536,630 -1535,630 -1532,635 1468,637 1471,642 1476,642 1477,642 1478,643 1481,643 4481,638 7481,638 7483,643 7486,645 7484,9668 27534,9669 27537,9671 27538,9672 27539,9673 27544,9674 27544,9673 27546,9671 27546,9667 27542,9666 27546,9667 27543,9672 27544,9675 27548,9676 27546,9676 27541,9681 27538,9681 27540,9686 27544,9686 27547,9690 27544,9687 27545,9691 27549,9693 24549,9694 24546,9692 24548,9697 24553,9694 24555,9695 24560,9696 24555,9700 24551,9704 24547,9703 24549,9705 24551,9705 24554,9705 24554,9705 24557,9707 24561,9706 24557,9711 24562,9715 24566,9720 24568,9717 24569,9720 24573,9725 24573,9726 24575,9729 24577,9734 24575,9735 24578,9735 24582,9731 24583,9726 24586,9727 24586,9728 24589,9733 24592,9734 28592,9734 28592,13734 28594,13737 28595,13740 28595,13744 28598,13739 28600,13742 28601,13744 28597,13742 28602,13744 28602,13744 28598,13745 28603,13744 28608,13749 28609,13749 28609,13754 28606,13758 28610,13759 28609,13760 23609,13761 23611,13763 23616,13768 23618,13769 24618,13768 24617,13773 24613,13773 24613,13778 24617,13776 24620,13778 24619,13779 24620,13781 24625,13785 24625,13785 24622,16785 24617,16786 24617,16790 24617,16794 24622,16795 24626,16798 24630,16796 24631,16796 24636,16799 24638,16804 24637,16808 24637,16809 24632,16814 24627,16809 24627,16814 24632,16818 24628,16816 24627,16820 24622,16820 24627,16824 24632,16823 24637,16824 24642,16826 24644,16824 24648,16826 24648,16826 24652,16829 24652,16829 24656,16828 24651,16832 24653,16827 24648,16828 24645,16828 24647,16831 24645,16832 24649,16835 24653,16839 24656,16839 24654,16840 24659,16841 24658,16845 27658,16845 27658,16840 27659,16837 27659,19837 27654,19841 27654,19836 27657,19839 27659,19839 32659,19839 32659,19839 32664,19840 32668,19842 32671,19847 32671,19851 32673,19856 29673,19856 29670,19858 29675,19860 29676,19865 29677,19868 29677,19868 29674,19872 29675,19872 29674,19874 29669,19876 29667,19876 29670,19878 29675,19883 29675,19883 29675,19879 29676,19879 29673,19880 29674,19880 29679,19876 29676,19876 29677,19879 29673,19880 29677,19879 29678,19881 29681,19882 29683,19882 29681,19887 29681,19888 29681,19891 29684,19896 29688,14896 29689,14896 29693,14899 30693,14903 30698,14908 25698,14910 25698,14911 25698,14914 25699,14910 25695,14910 25696,14914 25697,14917 25692,14921 27692,14925 28692,14920 28694,14924 28698,14924 28699,11924 28697,11928 28692,11932 28687,11937 28691,11941 28694,11940 28699,11944 28701,11940 28701,11940 28701,11943 28699,11945 28703,11947 28706,11951 28711,11953 28714,11956 28709,11961 28708,11966 28703,11969 28705,11967 28709,11967 28714,11964 28719,11969 28719,14969 28720,14970 28717,14973 28714,14976 32714,14976 32711,14977 32711,14980 32709,14984 32709,14987 32711,14988 32715,14993 32719,14994 34719,14994 34721,12994 34724,12994 34726,12998 34727,13000 34729,13002 34729,17002 34732,16998 34736,16999 34735,17000 34740,16999 32740,17001 32745,17001 32741,17005 32746,17006 32751,17010 33751,17008 33754,17013 33758,17013 33760,17010 33759,17010 33759,17009 33762,17013 33766,17017 33766,17020 33762,17015 33766,17019 33762,17022 33762,17017 33766,17014 33762,17018 33767,17019 33764,17021 33764,17023 33764,17019 33764,17022 33760,17024 33758,17029 33759,17033 33760,17028 33764,17023 33764,17028 33769,17031 33774,17034 33778,17029 33780,17034 33783,17030 33785,17032 33781,17035 33776,17038 33775,17040 33775,17041 33778,17045 33778,17049 31778,17050 31782,17052 31780,17054 31781,17051 31783,17053 31783,17049 31779,17050 31779,21050 31782,21053 31783,21054 31778,21056 31781,22056 31786,22052 31783,22050 31786,31882 25804,31887 25800,31887 25801,9610 10543,9612 10548,9614 10553,9614 10558,9614 10553,9616 10556,9620 8556,9623 8554,9628 8559,9630 8564,9630 8568,9628 8566,9628 8570,9630 8574,9634 8574,9634 8570,9635 8569,9635 8566,9632 8568,9637 8571,9638 8572,9639 8568,9643 8568,9646 8572,9646 8570,9651 8575,9650 8578,9653 8581,9654 8583,9653 8586,9655 13586,7655 13586,7660 13591,4660 13590,4663 13590,4666 13592,4671 13597,4673 13596,4678 13599,4682 13600,4685 13601,4683 13603,4685 18603,4683 18604,4685 18606,4690 18608,4690 23608,4693 23606,4693 23606,4697 23603,4702 23608,4704 23613,4704 23615,4709 23614,4708 23615,4711 23619,4711 23619,4713 23622,4713 23626,4711 23630,4715 23631,4712 23635,4714 23640,4718 23640,4719 23642,4721 23640,4721 23639,4726 23644,4730 23648,4725 27648,4723 27648,4727 27651,4731 27654,4733 27656,4737 27657,4742 27660,4745 27661,4750 27660,4751 27664,4754 27659,4759 27659,4755 27664,4757 27665,4752 27665,4754 27667,4750 27670,4750 27674,4753 27678,4753 27682,4758 27682,4758 27683,4760 27679,4762 27679,4764 27682,4769 27678,4773 32678,4773 32675,4771 32675,4767 32679,4772 32684,4775 32684,4778 32684,4775 35684,4775 35679,4775 35680,4779 35683,4779 35683,4784 35683,4789 35680,4790 35685,4791 35687,4791 35688,4792 35683,4792 35688,4792 35688,4797 35690,4799 35693,4803 35692,4803 35694,4803 35695,4808 35695,4812 35698,4816 35702,4815 35706,4811 35711,4811 35708,4813 35710,4813 35710,4814 35714,4815 35718,4820 35722,4816 35719,4819 35719,4824 35722,4826 35719,4830 35724,4832 35728,4835 35725,4840 35726,4840 35729,4840 35733,4840 35733,4841 35732,4844 35728,4848 35730,4849 35733,4849 35734,4849 35736,4847 35737,4847 35738,4843 34738,4846 34739,9846 37739,9850 37743,9853 37745,9857 37749,9852 37752,9852 37751,9852 37748,9852 37751,9851 37753,9848 37756,9843 37759,9841 37759,9840 37764,9837 37767,9842 37764,9845 37764,9840 37765,9842 37770,9842 37774,9846 37775,9851 37778,9854 37783,9854 37779,8854 37783,8851 37787,8856 37791,8859 37794,8860 37793,8855 37794,8857 37798,8859 37797,8860 37797,8860 37802,8861 37804,8863 37804,8863 37805,8865 37808,8866 37811,8866 37811,8862 37811,8859 37811,8864 37816,8864 37816,8867 37817,8872 37819,8867 37822,8871 37819,8875 37817,8876 37819,8876 37822,8871 37818,8873 37823,8877 37822,8879 37820,8880 37824,8881 37826,8884 37825,8887 37827,8884 37829,6637 6475,6637 6471,6635 6469,6640 6474,6641 6478,11641 6476,11644 6471,11639 6467,11638 6464,11642 6464,11646 6459,11647 6462,550 1394,551 1395,552 1399,548 1401,552 1400,547 1405,551 1406,556 1407,558 1410,558 1411,560 1413,565 1418,561 1423,-2378 3499,-2378 3502,-2378 3504,-2374 3501,-2371 3505,-2367 3507,4607 5468,4611 5471,4614 5472,4619 8472,4621 8473,4624 8477,4629 8474,4633 8476,4635 8478,4638 8475,4640 3475,4642 3479,4645 5479,4645 5482,4644 5486,4641 5486,4639 5488,4635 5491,4631 5488,8631 5485,8635 4485,8630 4488,8628 4488,8630 4486,8635 7486,8640 7482,8641 8482,8642 8483,8643 8483,8643 8483,8640 8488,8641 8489,8638 8487,8641 8491,500 5370,502 5368,504 5369,504 5371,506 5375,505 5376,509 5381,509 5381,504 5380,505 5375,509 5379,513 5382,513 5382,515 5382,517 5379,3517 5381,3519 5381,3520 5384,3523 5387,3521 5388,3521 5390,3520 5385,3519 5380,4519 5383,4524 5387,4523 5392,4525 5389,4530 5384,4525 5384,4526 5386,4531 5390,4531 5387,4530 5389,4534 5388,4538 5391,4541 5386,4542 5390,7542 5393,7547 5398,7548 5399,7547 5397,7543 5401,7544 5405,7545 5403,7545 5408,7546 5409,7550 5414,3550 5416,3550 5417,3548 5417,3543 5417,3543 5412,3548 5412,548 5412,552 10412,555 10414,557 10410,560 10411,563 10416,2563 10418,2564 10422,2559 10426,2555 10423,2560 10421,2563 10418,2565 10419,2569 10421,2573 10421,2573 12421,2572 12425,2571 12428,2576 12428,2581 12433,2583 12435,2581 12434,2576 12439,2581 12442,2581 12443,2581 12438,2579 12442,2575 12447,2573 12445,2577 12445,2582 12441,2587 12436,2589 16436,2590 16433,2586 16437,2586 16439,2588 16434,2589 16436,2590 16433,2593 16434,2590 16432,2593 16432,2590 16437,2594 16439,2599 16442,2600 16447,2605 16450,2605 16454,2604 16451,2608 16447,2612 16442,2613 16446,2618 16451,2623 16455,2626 16457,2629 16457,2630 16460,2630 16460,2632 16464,2636 16464,2639 16467,2638 16471,2643 16476,2643 16479,2645 16484,2645 16481,2649 16482,2652 16480,2648 16476,2649 16476,2649 16481,2644 16485,6644 16488,6647 16488,6647 20488,6647 20493,6652 20497,6656 20498,6661 20503,6656 20507,6656 20511,6656 20512,7540 11429,9674 12603,11674 12599,11675 12594,11674 12599,11678 12601,11681 12603,13681 12603,13684 12603,13684 12603,13686 12603,13689 12603,13693 12605,13695 12601,13695 12603,13697 12602,13701 15602,13703 15603,13704 15601,13706 15597,13711 15598,13711 15603,13715 15603,13714 15600,13713 15598,13717 15603,13722 15605,13726 15607,13727 15612,13727 15612,13731 15614,13733 15616,13728 15616,13730 15617,13734 15614,13736 15617,13739 15614,13739 15617,13739 15617,13741 15619,13746 15624,13742 15624,13742 15626,13746 15626,13750 15623,13749 15621,13754 15626,12754 15627,12750 15627,12753 15624,12754 15624,12758 15629,12759 15624,12761 15627,12764 15632,12765 15637,12768 15635,12772 15640,12769 15636,12772 15634,12773 15634,12772 15634,12775 15635,12772 15640,12774 15641,12777 15641,12779 15646,12780 15642,12776 15640,12780 15640,12779 15638,12784 15642,12789 15643,12787 15644,12788 15649,12791 15649,12789 15648,12787 15648,12791 15650,7791 15655,7795 15655,7798 15658,7802 15659,7803 15655,7804 15654,2804 15652,2808 15648,2806 15652,2805 15652,2806 15657,2801 15657,2801 15658,2801 15655,2803 15654,2808 15658,2804 15653,2803 15656,2807 15656,2812 15658,2814 15657,2818 15658,2818 15660,2822 18660,2825 18664,2829 18668,2833 18663,2832 18668,2832 18668,2834 18671,2836 18672,2839 18677,2843 18680,2848 18675,2851 18677,2854 18681,2859 18685,2864 18690,2868 18694,2873 21694,2877 21694,2879 21693,2881 21693,2882 21696,2885 21697,2883 21701,2887 21702,2887 21702,2887 21697,6887 21701,6892 21702,6888 21707,3576 10502,3578 10506,3582 10508,3585 10508,3590 10512,3592 11512,3593 11514,3598 11514,3602 11514,3599 11515,3599 11516,3601 11520,3601 11519,3599 11522,3599 11519,3601 11517,3600 11515,3600 11517,3596 11519,3600 11521,3603 11525,3606 11528,3607 11532,3608 11536,3606 11541,3605 11541,3605 11542,3609 11537,3613 11538,3609 11538,3605 11538,3605 11542,3609 11546,3613 11541,3613 11546,3612 11547,3611 11551,3614 11548,3610 11550,3611 11555,3611 11559,3615 11559,3618 11563,3621 11564,3618 11567,3620 6567,3624 6567,3627 6570,3623 6572,3619 6576,3616 6577,3611 6578,3612 6579,3609 6578,3610 6582,3613 6586,3614 6586,3619 6584,3622 8584,3617 8582,3622 8587,3622 8592,3624 8592,3627 8587,3628 13587,3629 13589,3631 13594,3636 13589,3636 13590,3637 13587,3637 13591,3641 13596,3641 13597,3645 13602,3640 13601,3640 13602,3640 13606,3644 13606,3644 13609,3639 13612,3639 13612,3644 13610,3649 13615,3654 13618,3659 13618,3662 13618,3666 13620,3661 13625,3660 13630,3660 13634,3662 13635,3659 13637,3663 13638,3666 13638,3669 13635,6669 13635,6671 13631,6672 13631,6669 13631,6667 13629,6663 13629,6663 13627,6663 13627,6667 13630,6671 13630,6671 13630,6673 15630,6674 15631,6679 15632,6682 15629,6685 15629,6686 15631,6691 15633,11691 15630,11689 15629,11693 15632,11693 15627,11698 15627,11695 15626,11697 15629,14697 15628,14701 15631,14705 15632,14700 15632,17700 15635,17705 15640,17700 15642,17701 15638,17703 15640,17708 15641,17712 16641,17716 21641,17716 21645,17721 21645,17720 21650,17720 21653,17720 21653,17722 21653,17718 21654,17721 21657,17723 21657,17724 21657,17720 21659,17723 21663,17725 21660,17725 21661,17723 21661,17727 21665,17727 21665,17731 21669,17729 21671,17731 21671,17727 21671,17727 21667,17726 21670,17722 21671,17727 21671,17732 21671,17737 21671,17739 21674,17741 21676,17746 21680,17750 21683,17745 21681,17745 21678,17750 21679,17753 21681,17758 21677,17760 21682,17764 21681,17763 21681,17763 21684,17766 21680,17768 21684,17764 21688,17769 21691,17771 21695,17773 21691,17776 21690,17777 21695,17781 21695,17784 21695,17784 21695,17786 21699,14786 21695,14786 21692,14786 21690,14788 21691,14788 21696,14793 21698,14798 21701,14796 21699,14800 21702,14796 21704,14800 26704,14805 26699,14810 26700,14810 26698,14814 24698,14814 24702,14814 24705,14815 24700,14819 24703,14822 24705,14826 24710,14831 24709,14833 28709,14835 28710,14838 28708,14839 28708,14842 28709,14847 28713,14843 28714,14847 28712,14850 28717,14847 28713,14851 28711,14854 28706,14853 28702,14848 28697,14852 28702,14857 28706,14857 28710,14858 27710,14861 27711,14864 27714,17864 27715,17864 27716,17864 27713,17869 27715,17870 27719,17871 27720,17869 27720,17872 27724,17871 27729,17873 27729,17875 27733,17877 28733,17881 28730,17881 28727,17884 28728,17886 28733,17886 28734,17891 28735,19891 28735,19892 28731,19896 28732,19891 28736,19895 28740,19898 28737,22898 28738,22898 26738,22898 26733,22899 26738,22900 26738,22901 26742,22901 26744,22896 26744,22899 26746,22901 26751,22899 26754,22904 26756,22906 26761,22909 26761,22914 26766,22915 26765,22918 26768,22913 26768,22915 26763,22920 26763,22917 26764,22921 26765,22922 26769,22918 26764,22920 26765,22919 26768,26919 26771,26922 26774,26927 26779,26924 26778,26924 26780,26920 26782,26924 26787,26922 26788,26925 26792,26927 26787,26928 26790,26933 26794,26933 26795,26936 26795,26939 26800,26939 26798,26936 26798,26939 26795,26937 26795,26937 26793,26937 28793,26939 28791,26940 28793,26937 28796,26937 28797,26935 28798,26930 28798,26934 28802,26934 28807,26936 28811,26940 28812,26937 28815,26939 28814,26934 28812,26938 28817,26942 28822,26943 28822,26948 28822,26952 28824,26953 28824,26953 28829,26950 28834,26954 28839,26954 28839,26949 29839,21949 32839,21951 32838,21951 32843,21951 32844,21951 32849,21951 32854,21953 32854,24953 32852,24953 32851,24957 32853,24962 32854,24963 32849,24967 32847,24970 32849,24966 32849,24967 32852,24963 32856,24965 32860,24968 32861,24971 32860,24974 32860,24978 32863,24980 32859,24981 32864,24981 32868,24983 32866,24988 32866,24988 32869,24991 32874,24992 32878,24992 32881,24992 32877,24988 32880,24991 36880,24991 36883,24991 36885,24992 36889,24996 36894,24995 36894,24998 36894,24999 41894,25004 41899,25006 41900,25010 41905,25005 41909,25007 41912,25008 41916,25009 41919,25011 41917,25016 41919,25017 41916,25014 41919,25015 41919,25017 41919,25018 41924,25023 41927,25026 41928,25026 41929,25021 41926,25020 41926,25023 41928,25019 41933,25018 41932,638 7483,639 7484,640 7482,644 7484,646 7486,651 7486,554 1390,549 1391,547 1392,551 1397,3551 1394,3553 6394,3550 6399,3554 6399,3553 6403,3553 6400,3550 6403,3554 6398,3555 6402,3559 6403,3564 6405,3564 6410,3560 6412,3565 6412,3564 6407,3567 6407,3572 6410,3576 6412,3578 6413,3580 6414,11674 22654,11679 22654,11679 22654,11679 22656,11684 22658,11689 22661,11694 23661,11697 23658,11697 23661,11698 23664,11700 23667,11695 28667,11698 28671,11699 28672,11704 28675,12704 28671,12708 28669,12710 28673,12707 28678,12708 28678,12710 28677,12710 28677,12712 28675,12713 28679,12715 28676,12715 28680,12719 28681,12724 28678,12728 28673,12733 28676,12733 28673,12734 28673,12739 28677,12743 28679,12744 27679,12741 27680,12741 27680,12740 27682,12741 27678,12740 27680,7740 27684,7743 27686,7738 27683,7740 27683,7740 27686,7736 27690,7736 27693,7739 27691,7735 27686,7739 27686,7737 27686,7737 27688,7732 27689,7732 27689,7731 27684,7736 27689,7741 27692,7739 27697,7740 27702,7738 27703,7741 27706,7746 27704,2626 16457,2627 16460,2623 16461,2618 16461,2620 20461,2622 20457,2623 20457,2628 20457,2632 20462,2629 20462,2630 20462,2628 20457,2633 20460,2632 20460,2637 20460,2639 20457,2639 20457,2639 20461,2641 20460,2646 20460,2651 20461,2650 20461,2651 20464,2656 20460,2660 20463,2665 20464,2667 20464,2668 21464,2671 21468,2676 21471,2673 21476,2590 16437,2591 16434,2596 16436,4596 16438,4600 16439,4600 16439,4601 16439,4599 16435,4599 16440,4597 16441,4598 16446,4598 16447,4595 16445,4590 16447,4594 16447,4595 16447,4598 16447,4598 16449,4596 16451,4598 14451,4596 14456,4598 14457,4594 14452,4598 14457,5598 14457,5598 14458,2598 14463,2600 14463,2603 14464,2598 14465,2595 14470,2590 14467,2594 14470,2595 14471,2598 14473,2598 14473,2599 14473,1599 14474,1599 14472,1600 14467,1599 14470,1601 14468,1599 14463,1601 14461,1601 14461,1601 14466,1602 14468,1606 14473,1602 14473,1600 14475,1595 14478,1599 14479,1596 14479,1596 14484,1596 14488,1601 14489,1604 18489,1606 18492,1604 18492,1605 18496,1605 18496,1608 18501,1603 18498,1608 18500,1612 18497,1608 18492,1604 18494,1609 18497,1609 18499,1606 18499,1608 18501,1610 18503,1606 18499,1610 18500,1614 18501,1617 18497,1620 18498,1616 18501,1614 18496,1615 18500,1617 18497,1619 18498,1617 18501,1622 18506,1622 20506,1625 20506,1625 20509,1627 20513,1631 20514,1633 20519,1637 20520,1639 20525,1643 24525,1638 24520,1642 24520,1647 24525,1650 24529,1654 24530,1657 24533,1656 24538,1659 24542,1659 24545,1662 24550,1666 24551,1666 24552,1666 24557,1666 24562,1666 24565,1669 24568,1672 24569,1672 24569,1676 24566,1676 24570,1678 24565,1676 24567,1673 24567,1674 24572,1679 24577,1679 24578,1683 24581,1684 24586,1688 24590,1690 27590,1685 27594,1688 27594,1683 27594,1686 27597,1688 27600,1692 27599,1696 27600,1695 27604,1695 27609,1698 27610,1701 27610,1705 27609,1706 27605,1709 27600,1714 27600,1716 27602,1717 27601,1712 27597,1714 30597,1711 30600,1713 30600,1713 30604,1714 30604,1716 30602,1713 30605,1710 30606,1713 30609,1709 30607,1713 30604,1714 30609,1717 30609,1717 30613,1721 30615,2721 30620,2718 30623,4718 30628,4723 30624,4727 30619,4728 30618,4728 30615,4728 30619,4729 30618,4731 30622,4731 30625,4734 30625,4734 30630,4735 30627,4736 30631,4735 30636,4730 30641,4727 30641,4729 30646,4731 30650,4736 30651,4740 30648,4737 30648,4738 30647,4741 30649,5741 30646,5744 30648,5745 30651,10745 30651,13745 30653,13749 30651,13754 30652,13754 30657,13754 30657,13758 30653,13761 30656,13766 30655,13768 30659,13769 30662,13771 30659,13771 30661,13771 30665,13768 30670,13768 30667,13772 30670,13776 30672,13775 30672,13777 30675,13780 30679,13783 30677,13784 30678,13784 30674,13788 30674,13788 30678,13784 30678,13787 30683,13792 30683,13791 30679,13794 30679,13795 30682,13795 30686,13798 30691,13803 30692,13807 30694,13810 30694,13810 30692,13813 30694,13813 30689,13816 30689,13820 30689,13822 30692,13826 30696,13822 30701,13827 30704,13832 30707,13832 30707,13828 30707,13831 30712,13831 30709,13834 30706,12834 30707,12839 30703,12843 30707,12843 30703,12843 30706,12848 30710,12849 30715,12853 30713,12853 30716,12852 30718,12849 30721,12849 30719,12852 30719,12853 30714,12856 30712,12856 30714,12857 30719,12862 30720,12865 25720,12863 25723,12864 25724,12868 25729,12869 25731,12868 25736,12869 25739,12865 25737,12863 25739,12866 25743,12862 25747,12867 25747,12867 25748,12867 25748,12870 25748,12866 25748,12869 25749,12869 25751,12874 25754,12875 25758,12877 25761,12878 25763,21745 15645,21749 15645,21753 15646,21753 15648,21758 15652,21754 15654,21759 15654,21762 15658,21766 15663,21761 15663,21761 15665,21758 15666,21761 15668,21763 15666,21765 15662,21770 15666,21773 15671,12742 4678,12743 4682,12740 4687,12745 4692,12745 4688,12748 4689,12748 4692,12752 4696,12754 4697,12754 4700,12758 4703,12758 4703,12762 4704,12762 4709,12762 4711,12760 4713,12760 4717,12764 4713,12767 4712,12767 4712,12768 4715,12767 4720,12770 4716,12770 4712,2569 10421,2572 10423,2576 10424,2579 10428,2580 10423,2582 10424,2578 10422,2577 10426,2577 10428,2580 10433,2580 10433,2581 10432,2580 10435,2584 10435,2588 10439,2587 10444,2592 10445,2589 10446,2591 10447,2594 10446,2597 10445,2599 10440,2602 10443,2603 10443,2605 10444,2605 10449,2607 10449,2602 7449,2605 7449,2608 12449,2605 16449,2605 17449,2605 17450,2608 17454,2612 17459,2607 17459,2608 17456,2613 17457,2617 17459,6617 17462,6621 17467,6621 17468,6626 17464,6622 17465,6622 17465,6623 17469,6623 17466,6623 17467,6627 17466,6623 17466,6626 17463,6622 17468,6625 17464,6627 17468,6625 17463,6626 18463,6624 18463,6625 18464,6623 18468,6623 18469,6626 18470,6621 18466,6621 18467,6622 18467,6625 18464,6630 18468,6628 18469,6631 18472,6627 18477,6628 21477,6631 21481,6627 21486,6628 21490,6632 21494,6637 21496,6640 21491,6643 21491,6648 21490,1648 21492,1650 21489,1650 21487,1654 21488,1653 21489,1653 21492,1650 21493,1655 21493,1650 21493,1651 21490,1651 21490,1649 21493,1645 21498,1649 21494,1652 21495,1654 21500,1655 21495,1658 21492,1663 21496,1666 21500,1666 19500,1664 19504,1668 19508,1668 19512,1666 19516,1669 19518,1669 19518,1674 19520,1674 19525,1676 19525,1679 19526,1679 19526,1681 19526,1686 19526,1691 19529,1689 19529,1688 19529,1685 19524,1690 19528,1693 19531,1693 19531,1698 20531,1699 20536,1703 20538,1703 20538,1706 20541,1701 20545,1702 20550,1704 20547,1705 20544,1710 20548,1710 20551,1713 20555,1712 20559,1714 20562,1714 20563,1714 20565,1712 20567,1711 20570,1706 20571,1708 20571,1708 22571,6708 18571,6712 18571,6715 18573,6710 18577,6711 18579,6711 18579,6716 18578,6721 18580,6721 18582,6726 18587,6731 18588,6736 18587,6734 18587,6736 18590,6739 18594,6744 18597,6744 18602,6746 18606,6749 18606,6750 18609,6750 18610,6753 18605,6755 18610,6759 18613,6759 18613,6759 18617,6763 20617,6767 20621,6771 20625,6773 20628,6769 20629,4769 20633,5769 20635,5769 20637,5770 20640,5772 20643,5772 20646,5772 20644,5776 20641,5779 20643,5784 20642,5786 25642,5786 25645,5791 25647,3791 25651,3791 25652,3794 25648,3793 25644,3791 30644,3796 30649,3796 30654,3800 30655,3800 30657,3797 30657,3797 30659,3800 30661,3803 30661,3803 30657,3800 30652,3801 30652,3802 30653,3807 30654,3809 30657,3804 30656,3801 30657,3803 30657,3803 30658,3804 30663,4804 30663,4809 30665,9809 30665,9809 30669,9812 30673,9816 30676,9816 30676,9816 30677,9818 30682,9818 30683,9817 30687,9813 30692,9817 30692,9814 30693,9816 30693,9818 30697,9818 30699,9818 30696,9816 30694,9811 30694,9812 30694,9816 30697,9821 30700,9824 30702,9827 30707,9827 25707,9827 25711,9828 25709,9823 25713,9827 25712,9830 25714,9827 25712,9832 25717,9836 25719,9836 25722,11836 25725,11838 25727,14838 29727,14835 29728,14838 29724,14843 29724,19843 29724,19846 29728,19847 29732,19851 29737,19855 29738,19858 29735,19853 29735,19853 29737,19852 29739,19850 29744,19850 29744,19854 29747,19859 29752,19861 29750,19864 29751,19869 29752,19864 29756,19865 29757,19868 29758,19868 29758,19871 29763,19874 29764,19877 29766,19879 29763,19880 29763,19881 29765,19886 29765,19881 29765,19881 29768,19880 29773,19875 29775,19879 29776,19883 29776,19887 29781,19890 29784,19890 29789,19892 29784,19897 29785,19893 29785,22893 29787,22895 29792,22895 29788,22895 29789,22895 29793,22900 29793,25900 29790,25901 29794,25902 29794,25905 29794,25907 29798,25912 29799,25910 29804,25915 29809,25918 29807,25917 29808,25921 29808,25925 29812,25926 29816,25926 29819,25921 29821,25926 30821,25929 30823,25933 30822,25935 30823,25937 30818,25937 30818,25939 30819,25939 30824,25941 30819,25943 30823,25946 30824,25946 30829,25947 30829,25947 30830,25952 30833,25953 30831,25954 30836,25959 30836,25964 30836,25961 30836,25965 30837,25964 30835,29964 30839,29968 30842,31968 30847,31967 30844,31972 30844,31972 30840,31977 30839,31982 30842,31987 30844,31987 25844,31984 25848,31987 25848,31992 25845,31993 25846,31997 25846,31997 25849,31996 25851,31995 25855,32000 25858,31995 25859,31996 25856,31997 25858,31999 25858,31998 25858,32001 25859,32003 25863,32002 25866,32003 25867,32008 25867,32011 25870,32014 25875,32013 25874,34013 25873,34013 25876,34011 25878,34011 25880,34012 25885,34016 27885,34011 27884,39011 27888,39008 27884,39011 27879,39011 27876,39011 27880,39014 27879,39013 27879,39014 27879,39015 27882,39019 27886,39020 27888,39020 27893,39025 27895,39030 27896,39030 27896,39031 27892,39036 22892,39039 22894,39038 27894,39043 27895,39048 27900,39044 27905,39046 27907,39041 27910,39044 27910,39043 27915,-2382 3462,-2377 3465,-2373 3468,-2371 3469,1629 3470,1632 3472,1630 3469,5630 3473,5635 3474,5638 3474,5639 3469,5643 3473,5643 3473,5639 3477,5639 3477,5639 3480,5642 3479,5644 3481,5649 3480,2649 3485,2649 3485,2650 3489,2653 3491,506 5375,510 5380,513 5382,518 5384,522 5387,521 5384,524 5385,525 5382,523 5384,527 5384,527 5386,4527 5391,4528 5393,4533 2393,4534 2389,4537 2393,4538 2395,4541 2400,4543 2404,4544 2405,4548 3405,4553 3410,4556 3406,4561 3406,4558 3410,4559 3410,4558 3408,4558 3413,4563 3413,4561 3418,4563 3423,4565 3426,4565 3428,4570 3432,4570 3433,4574 3437,4579 3439,4583 3443,4578 3444,4582 3447,4583 3447,4585 3443,4590 3448,4586 3448,4588 3449,5588 3449,5589 3454,5593 3456,5591 3457,5591 3458,7591 3461,7594 3457,7596 3459,7591 3458,7590 3460,7593 3460,7593 3463,7590 3464,7586 3466,7581 3467,7580 3466,7580 3466,7585 3470,7585 3472,7589 3468,7589 3471,7594 3474,7599 3474,7600 3471,7603 3471,7606 3471,7606 3472,7606 3474,7606 3479,7609 3482,7612 6482,7614 6485,11614 6481,11619 6486,11624 6486,11621 6489,11623 6491,11628 6491,8628 6496,8632 6498,8629 6502,8632 6502,8627 6505,8631 6506,8633 6502,8633 6507,8631 6512,8631 6512,8626 6514,8621 6515,8620 6513,8615 6514,8611 6519,8612 6522,8613 6522,8616 6522,8611 6519,8614 6519,8615 6521,8618 6525,8623 6526,8628 6521,8631 6517,8634 6520,8634 6525,8637 6526,8636 6528,8640 6533,8643 6534,8643 6531,8642 6532,8643 6535,8643 6535,8640 6531,8641 6531,8641 6534,8644 6537,8647 6541,8648 6536,8649 6537,8649 6542,8644 6546,8644 6546,13644 6548,13642 6549,13638 6548,13636 6549,11636 6549,11636 6554,11633 6554,11636 6554,11641 7554,11642 7558,11641 7553,11643 7556,11644 7556,11639 7556,11641 7558,11641 7559,11641 7563,11638 7560,11639 7564,11642 7569,12642 7574,7642 7576,7642 7574,7643 7577,7645 7577,7650 7576,7645 7576,7648 7576,7650 7581,7651 7576,7654 7581,7658 7581,7661 7583,7662 7584,7664 7586,7661 7586,7662 7589,7666 7585,7669 7585,7670 7585,7670 7587,7670 7587,7670 7591,7667 7595,7672 7595,7677 7600,7679 7597,7684 5597,7682 5600,7685 5601,7688 5601,7691 5604,7696 5605,7700 5607,7703 5602,7704 5602,7701 5606,7702 5607,7706 5609,7710 5614,7713 5610,7716 5615,7717 5616,7719 5621,7724 5621,7724 5618,3724 5623,3722 5625,3725 5626,3730 5628,3727 5633,3727 5636,3729 5638,6729 5639,6732 5642,8732 5644,8732 5649,8729 5650,8734 5645,8736 5644,8739 5644,8741 5645,8745 5650,8743 5652,8739 5651,8744 5652,8744 5653,8745 5649,8748 5651,8749 5652,8750 5655,8753 5660,8753 5662,8755 5660,8757 5657,8758 5654,8762 5659,8760 5660,8761 5664,8765 5669,8768 5669,8768 5669,8769 5673,8769 5678,8772 5678,8769 5683,8774 5683,8776 5687,8777 7687,8779 7691,10779 7686,10779 7686,10780 7686,15780 7690,15781 7695,15779 7699,15783 7702,15788 7705,15791 7705,15786 7709,15788 7707,15793 7710,17793 7711,17794 7712,17799 7713,17800 10713,17802 10713,17802 10715,17803 10715,17808 10716,17811 10717,17811 14717,17811 14722,17811 14722,17815 14725,17819 14726,17820 14727,17822 14727,17817 14731,17818 14731,17818 14729,17820 19729,17818 19725,17822 19728,17818 19723,17821 19720,17821 19725,17824 19725,17821 19728,17821 19725,17825 19725,17830 19725,17834 19729,17836 19730,17837 19730,17841 19725,17844 19730,17849 19734,17853 19734,17856 19737,17858 19732,17858 19732,17863 19732,17868 19733,17873 19735,17874 19740,17878 19742,17883 19742,17879 19747,551 1397,551 1398,552 1401,553 1401,553 1398,552 1398,555 1402,556 1406,557 1409,558 1413,558 1416,558 1418,558 1420,563 1421,566 3421,568 3421,570 3426,572 3429,5572 3433,5576 3433,5579 3436,5579 3441,5583 3444,5580 3445,5585 3450,5589 3453,5593 3454,5597 3459,610 1429,612 1431,607 1430,607 1430,609 1426,605 1425,607 1425,602 1420,604 1423,-2378 3502,-2377 3503,-2378 3507,-2373 3508,-2375 3512,-2370 3516,-2373 3517,-2369 3514,-2370 3517,-2367 3519,-2366 3524,-2366 3529,-2362 3534,-2365 3536,-2370 3534,-2370 3531,-2366 3528,-2370 3532,-2366 3535,-2361 3533,-2361 3537,-2361 3540,-2358 3541,-3358 3543,-3355 3544,-3355 3542,-3355 3541,-3352 3546,-3348 3548,-3350 3551,-3346 3553,-3347 3553,-3342 3548,-3337 3548,-3338 3547,-3338 3547,-3334 3552,-3333 3552,-3332 3550,-3331 3550,-3329 3550,-3326 3552,-3325 3554,-3320 3556,-3315 3560,-3313 3565,-3312 3560,-3315 3563,-3315 3559,-3318 3564,-3321 4564,-3321 4569,-3317 4568,-3312 4573,-3311 4576,-3311 4575,-3308 4571,-3304 4572,-3299 4576,701 4580,703 4582,708 4582,711 4583,715 4587,716 4591,721 4587,717 4590,715 4594,715 4594,719 4598,719 4600,720 4604,717 4606,718 8606,722 8604,726 8600,727 8605,731 8609,731 8609,733 8611,738 8611,739 8612,734 12612,734 12617,730 12622,729 12622,732 12625,-268 12627,-263 12627,-264 12625,-261 12622,-260 12622,-265 12625,-264 12622,-264 12624,736 12622,733 12623,734 12626,730 12628,731 12632,732 12637,730 12637,733 12634,732 12635,732 12635,734 12635,733 12636,731 12639,734 12639,733 12642,734 14642,736 14646,739 14651,743 14654,-2257 14651,-2252 14651,-2252 19651,-2249 19656,-2249 19653,-2245 19650,-2248 19651,-2243 19656,-2241 19661,-2238 19664,-7238 19668,-7236 19666,-7231 19661,-7231 19666,-7227 19671,-9227 19672,-9223 19676,-7223 19675,-7223 19677,-7218 19677,-7219 19677,-7216 19673,-7214 19677,-7210 19674,-7206 19671,-7205 19673,-7203 19677,-7206 19680,-7202 19680,-7197 19685,-7197 19686,-7196 16686,-7201 16687,-7201 12687,-7198 12682,-7198 12682,-7193 12682,2673 15591,2673 15594,2673 15597,2671 15599,2666 15601,2670 15606,2669 15607,2670 15607,2673 15602,2670 15604,2671 15601,2672 15602,2667 15600,2672 15602,2675 15598,2675 15600,2678 15600,2677 15602,2673 17602,2678 17602,2677 18602,2681 18606,2682 18611,2685 18616,2686 18612,2688 18611,2686 18615,2686 18612,2687 18609,2688 18608,2688 18609,2688 18613,2693 18615,2693 18620,2691 18620,2696 18620,2698 18619,2695 18622,2700 18625,2704 22625,2709 25625,2709 25626,2710 25628,2710 25629,2714 25625,2715 25625,2713 25627,2714 25630,2718 25635,2723 30635,2723 30639,2726 30634,2727 30637,2728 30639,2732 30639,-1268 30642,-1266 30646,-1269 30643,-1269 30642,-1271 30642,-1269 30643,-1269 30645,-1269 30648,-1267 30647,-1265 30644,-1269 30648,-1268 30644,-1269 30644,-1269 30642,-1266 30641,3734 30637,3739 30640,3743 30641,3748 30646,3753 30650,3751 30653,3751 30652,3756 30647,3757 30648,3759 30653,3761 30656,3762 30655,3762 30653,3763 30650,3766 30652,3770 30657,3770 30657,3770 30653,3773 30650,3776 30650,3778 30650,3774 30655,3775 30657,3776 30660,3781 30662,3785 30665,3790 30670,5790 30672,5794 30675,5798 30680,5803 30675,5802 30673,5801 30677,5803 30679,5808 30677,5805 34677,5810 34677,5811 34682,5812 34684,5816 39684,5816 39687,5814 39690,5810 39695,5811 39696,5816 39700,5821 39705,5824 39707,5826 39711,5828 39708,5829 39709,5834 39712,5838 39715,5839 39718,5840 39720,5839 39722,5839 39722,5835 42722,5833 44722,5829 44722,5828 44722,5833 44724,5835 44727,5835 44731,2835 44729,3835 44731,3836 44736,3841 44739,3839 44736,3839 44736,3836 44736,3837 44737,3841 44737,3842 44733,3840 44735,3843 44730,3842 44732,6842 44734,6841 44735,6846 44737,6848 44737,6851 44740,6850 45740,6853 45741,6853 45741,6848 45743,6852 45744,6857 45746,6855 45747,6853 45750,6857 45754,6859 45752,6863 45751,6861 45751,6861 45748,6858 45752,6861 45750,6858 45750,6862 45750,6862 45753,6864 45757,6861 45762,6864 45762,6867 45761,6872 45763,6877 45758,6882 45761,6883 47761,6886 47761,6888 47762,6893 47767,6897 48767,6897 48772,6902 48771,6903 48773,6904 48773,6904 48777,6899 52777,6899 52777,6903 52773,6903 52773,7903 52773,7908 52771,7903 52772,7904 52774,7899 52776,7895 52776,7895 52781,7894 52778,7898 52783,7902 52785,7906 52790,7907 52792,11907 52797,11908 52801,11911 52800,11916 52804,11911 52806,11913 52808,11913 52805,11913 52809,11909 52812,11911 52812,11908 52815,11913 52817,11917 52820,11918 52820,11922 52825,11926 52823,11931 52827,11931 52826,11934 52823,11936 52818,11938 52819,11940 52823,11943 52828,11938 52833,11940 52835,11944 52832,11941 52831,11936 52831,11936 52833,11934 52836,11938 52839,11940 52840,11943 52840,11943 52841,11945 52844,16945 52844,16942 52839,18942 52838,18945 49838,18950 49841,18950 49844,18951 49845,21951 49847,21956 49848,21961 49846,21961 49851,23961 49852,23961 49856,23966 49860,23969 49865,23965 49866,23970 49862,23975 49859,23975 49859,23978 44859,23979 44862,23981 44862,23984 44867,23980 44871,23983 44875,23988 44875,23992 44877,27992 44878,27989 44881,27985 44886,27986 44888,27984 44888,29984 44889,29984 44889,29985 44893,29990 44888,29994 44892,29997 44896,30001 44895,30002 44900,30003 44904,30004 44907,30008 44904,30009 44904,30010 44905,30010 44908,30007 44908,30011 44905,30014 44908,30016 44909,30021 44912,30023 44913,30025 44912,30024 44910,30022 44914,30026 44912,30025 44912,30029 44912,30029 44915,30033 44920,30038 44924,30043 44926,30047 44928,30043 44930,30047 44932,30050 44934,30050 48934,30046 48935,30051 48935,30051 48935,30055 51935,30054 51931,1610 18503,1614 18504,1616 18504,1619 20504,1619 20504,1619 20505,1620 20509,1620 20511,1618 20511,1619 20508,2619 20511,2615 20516,2612 20515,2612 20515,2617 20512,2622 20515,2617 22515,2620 22516,2622 22519,2626 22522,2624 22522,2619 22524,2623 22519,2621 22519,2622 22516,2620 22512,2622 22517,2622 22522,2626 22522,2630 22522,-370 22526,-1370 22531,-1375 22531,-1371 22527,-1366 22527,-1362 22531,-1361 22528,-1362 22524,-1367 22528,-1367 22530,-1367 22533,-1367 22535,-1363 22540,-1363 22536,-1363 22539,-1358 22541,-1358 22541,-1355 22543,-1355 22538,-1355 22541,-1356 22544,-1357 22548,-1354 22553,-1353 22557,-1353 22561,-1355 22562,-1352 22566,-1351 22568,-1349 22569,-1347 22568,-1346 22566,-1351 22565,-1347 22566,-1348 22567,-1351 22569,-1346 22565,-5346 22567,-3313 3565,-3311 4565,-3308 4568,-3304 4571,-3307 4572,-3307 4573,-3303 4573,-3304 4578,-3300 4578,-3301 4578,-3301 4583,-3301 4581,-3297 4585,-3295 4580,-3295 4575,-3295 4573,-3293 4575,-3290 4580,-3285 4580,-3284 4582,-3284 4581,-3280 4580,-3285 4579,-3285 4579,-3284 4584,-3288 4588,-3286 4588,-3283 4584,-3279 4584,-3278 4588,-3279 4588,-3274 4586,-3270 4589,-3270 4590,-3268 4587,-3270 4591,-3267 5591,-3265 5591,-3261 5592,-3259 5593,-3259 5590,-3258 5595,-3256 5599,-3253 5601,-3252 5600,-3252 5603,-3252 5603,-3255 5601,-3250 5600,-3247 5605,-3242 5606,-3241 5608,-3243 5612,-3242 5612,-3245 5614,-3242 5619,-3243 5623,-2243 10623,-2242 10626,-2247 10626,-2247 10630,-2244 10634,-2248 10639,-2248 10636,-2248 10641,-2244 10646,11598 14558,11594 14563,11596 14568,11597 14569,11600 18569,11601 18570,11599 18566,11602 18568,11607 18567,11611 18572,11614 18573,11612 18569,11615 18570,11614 18573,11617 18577,11621 18577,11617 18574,11615 18579,11619 18583,11615 18587,11615 18587,11620 18588,11621 18589,11617 18593,11620 18597,11622 18599,11626 18603,11621 18603,11625 18607,11628 18611,11630 18614,11630 18619,11633 18616,11633 18616,11635 18614,11634 18613,11636 18609,11638 18607,11642 18612,11641 18615,11646 18615,11648 18619,11652 18621,11654 18622,11653 18617,11648 18619,11650 18614,11646 18617,11648 18613,11648 18618,11650 18615,11647 18617,11649 18621,11653 18621,11656 18624,11656 18628,11659 18628,11660 18624,11662 18624,11662 18620,11663 18620,14663 18621,14665 18616,14662 18611,14662 18607,14665 18607,14670 18607,14674 17607,14676 17610,19676 17608,19681 17613,19681 17613,19686 17611,19687 17612,22687 17612,22684 17608,22682 17607,22686 17610,22690 17611,22692 17612,22690 17617,22693 17622,22696 17622,22698 17625,22703 17627,22699 17629,22698 17629,22702 17634,22705 17630,22707 17634,22708 17634,22710 17639,22712 17639,22713 17635,22712 17639,22715 17644,22720 17644,22720 17646,22723 17644,22723 17644,22728 17643,22729 17646,22725 17651,22725 17652,22725 17647,22730 17647,22733 17647,22734 17647,22733 17651,22737 17653,22737 17657,22735 17660,22738 17658,22742 17662,22747 17667,22752 17671,22751 17672,22749 17677,22751 17677,22753 17681,22754 17677,22759 17674,22763 17674,22768 17677,22773 17673,22774 17676,22774 17679,17774 16679,17772 16679,17770 16675,17772 16676,17771 16676,17770 16679,17775 16684,17774 16685,17776 16685,17780 16687,17781 16688,17786 16689,17790 16689,17793 16688,17797 16684,17800 16684,17799 16689,21799 16691,21799 16688,21804 16689,21804 16687,21804 16687,21808 16685,21809 16689,21813 16693,21813 16696,21817 16698,21817 16699,21819 16694,21824 16699,21824 16701,21827 16705,21823 16702,21825 16702,21827 16702,21827 16702,21828 16705,21832 16707,21835 16710,21838 16712,21841 16712,21839 19712,24839 19714,24838 19719,24838 19722,24833 19722,24831 21722,24832 21727,24829 21729,24832 21730,24837 21732,24838 21736,24842 21740,24842 21740,24844 21740,24846 21740,24848 21741,24851 21736,24851 21732,24852 21737,24849 21741,24847 21742,24845 21743,24849 21744,24852 21742,24856 21744,24860 21745,24860 21745,24864 21749,24864 21754,24865 21759,24865 21760,24870 21764,24871 21762,24871 21762,24876 21767,24881 21769,24883 21768,24883 21769,24886 21766,24886 21767,24891 21770,24894 21772,24894 21772,24899 21777,24902 21781,24897 21786,24894 21787,24895 21790,24899 21791,24899 21795,24903 21798,24903 21801,24905 21804,24906 21806,24910 21808,25910 17808,25905 17812,25906 17813,28906 17813,28906 17813,28911 17817,28912 17812,28916 17813,33916 17818,33916 17818,33916 17820,33912 17820,33915 17823,33915 17826,33910 17826,33914 17829,33910 17833,33910 17836,33913 17837,33918 17841,33923 17840,33920 17840,33919 17842,33922 17838,33925 17835,33923 17836,33920 17838,33916 17840,33917 17845,33912 17850,33912 21850,33916 21846,33917 21841,33918 21844,33922 21844,33923 21844,33927 21844,33928 21849,33933 21850,33937 21851,33937 21853,33940 21855,33939 21858,33944 21855,33945 24855,33946 24858,33950 24860,33951 24864,33952 24861,33957 24864,33959 24867,33954 24865,33959 24867,33963 24867,33961 24867,33963 24871,34963 24874,34967 24874,34967 24874,34969 24870,34965 24875,34965 25875,34969 25880,34974 25883,34972 25883,34973 25885,34976 25889,34979 25890,34981 25894,34984 25897,34989 25899,34986 25900,34990 25901,34990 25901,34993 25902,34996 25902,35000 25903,35001 25906,35006 25909,35007 29909,35009 29905,35008 29906,35008 29908,35012 29908,31012 29911,31017 29906,31017 29908,21054 31778,21054 31775,21059 31780,21057 31780,21059 31783,21059 31781,21064 29781,21065 29786,21070 29787,21074 29787,21079 29792,21082 29792,21083 29791,21085 29793,21086 29794,21086 29794,21088 29797,21085 29797,21085 29800,21083 29804,21088 29808,21088 29804,552 1401,554 1401,555 1404,555 1404,559 1409,561 1410,561 1412,561 1413,557 1414,561 1419,564 1417,565 1420,568 1421,573 1425,578 1426,583 1430,584 1432,587 1433,588 1433,592 1437,592 1438,592 1442,591 1444,596 1444,597 1449,592 1449,502 2350,503 2352,505 2349,508 2349,508 2350,506 2350,506 2353,511 2357,511 2359,511 2361,508 2362,512 3362,517 3365,4517 3366,4518 3366,4513 3367,4512 3370,4509 3365,4510 3370,4510 3371,4513 3371,4513 3374,4517 3373,4517 3375,4514 3375,4515 3374,4516 3378,4516 3383,4516 3387,516 3392,516 3393,521 3394,521 -1606,522 -1601,518 -1601,519 -1603,521 -1598,526 -1603,528 -1603,527 -1601,527 -1600,523 -1603,526 -1601,529 -1598,532 -1594,531 -1590,531 -1594,527 -1595,532 -1591,536 -1586,539 3414,541 3419,546 3419,551 3422,551 3427,553 3429,558 3432,557 3433,558 3438,559 3442,560 3445,556 3448,555 3446,559 3446,560 3442,560 3439,561 3442,563 3443,564 3448,562 3448,5562 3453,5560 3454,5563 3454,5565 3456,5562 3457,5557 3456,5557 -544,5558 -543,5561 -538,5562 -535,5563 -533,5563 -530,5568 -525,5568 -523,5572 -518,5567 -514,5571 -516,5571 -514,5571 -514,5572 -510,5575 -512,5578 -512,5579 -508,5581 -506,5584 -503,5579 -502,5581 -505,10581 -505,10583 -500,12583 -499,12587 -498,12587 -499,12588 -497,12589 -502,12589 -500,12594 -498,12592 -498,12595 -498,12600 -496,12604 -494,12609 2506,12611 5506,12614 5511,12615 5516,12617 5518,12620 5522,12620 5519,12623 5521,12621 5524,12626 5526,12625 5531,12625 5531,12627 5532,12632 5531,12635 5536,12636 7536,12641 7540,12642 7540,12647 7543,11909 52812,11911 52817,11912 52817,11917 52814,11918 52819,11920 52819,11923 52823,11928 52818,11924 52813,11928 52812,11929 54812,11931 54813,11927 54813,11929 54818,11929 54822,11931 54823,11935 54824,11931 54828,11931 54833,11930 54830,11931 54832,11935 54835,11939 54830,11942 54827,11942 54828,11943 54828,11946 54825,11943 54826,11948 54829,11952 54824,11952 54828,11954 54830,11955 54830,11953 54835,11958 59835,11959 59838,11960 59836,11965 59840,11965 59843,11970 59840,11974 59840,11971 59842,11975 59847,11976 59848,11981 59848,11986 59853,11987 63853,11992 63854,11993 65854,11995 65850,11998 65852,12003 65856,12000 65859,12002 65859,12006 65854,12011 65855,12013 65856,12017 65861,12022 65861,12022 65856,12022 65857,8022 65859,8026 65862,8030 65863,8026 65865,8030 65866,8026 65871,8026 65871,3026 65869,3021 65870,3023 65875,3028 65876,3033 65878,3038 65874,3039 65878,3039 65882,3043 65880,3044 65880,3043 65884,3043 65888,3047 65889,3047 65890,3047 65890,3047 63890,3043 63892,3046 63896,3041 63895,3039 63898,3034 63900,3035 63901,3032 63903,3034 63906,3036 63906,3034 63908,3034 63913,3036 63911,3037 63916,3039 63911,3041 63913,3045 63915,3047 63915,3045 63917,3046 63921,3046 63921,3049 63920,3053 63923,3050 63927,3055 63930,3058 63933,3058 63932,3058 63934,3053 63931,3054 63933,3058 63936,3063 63940,3063 63939,-937 63940,-940 63944,-938 63945,-938 63946,-934 63948,-935 63945,-932 63948,-928 63950,-927 63954,-922 67954,-918 67951,-917 67956,-915 67960,-914 67965,-912 67967,-914 67971,-914 67971,-918 67976,-916 67973,-911 67973,-909 67978,-906 67981,-903 67982,-900 67982,-899 67978,-895 67981,-892 67985,-890 67987,-885 67982,-884 67984,-883 67984,-880 67985,-879 67985,-874 67981,-871 67981,-871 67986,-868 67986,-868 67981,-865 67979,-864 70979,-859 70984,-856 70985,-856 70990,-855 70991,-857 70989,-859 70991,-856 70986,-854 70991,-849 70994,-849 70997,-852 71002,-851 71007,-851 71009,-850 71009,-846 71011,-843 71011,-842 71011,-839 71011,-837 71016,-837 71016,-833 71018,-835 71022,2165 71022,2166 71018,7166 71017,7163 71017,7164 71018,7162 71016,7166 71013,7166 71013,7171 71010,7175 71010,7173 71012,7176 71017,7174 71021,11174 71021,11171 66021,11176 66021,11181 66018,11181 66023,11186 66022,11182 66027,11184 63027,11186 63031,11187 63033,11191 63034,11188 63031,11189 63036,11184 63037,11185 63038,11187 66038,11187 66038,11189 66038,11191 66038,11189 66034,11192 66036,11197 66037,12197 66041,12200 66044,12203 66042,12206 66046,12204 66046,12205 66048,12209 66048,12212 66043,12216 66040,12213 66043,12218 63043,12223 63038,12227 63033,12227 63038,12231 63040,12233 63040,12235 63045,12235 63045,12230 63044,12235 68044,12237 68044,12235 68049,12231 68045,12226 68050,12229 68052,12234 68052,12231 68056,12236 68059,12236 68062,12241 70062,12241 70063,12244 70063,12245 70068,12247 70068,12248 70071,12251 70071,12252 70071,12251 70073,12248 70075,12253 70080,12256 70084,12257 70088,12256 70088,12256 70089,12251 70089,17251 70090,17247 70090,17249 70091,17249 70088,17252 70084,17256 70085,17260 70086,16260 70084,16261 70083,16256 70079,16257 70076,16258 70072,16258 70077,16262 70081,16260 70084,16263 70087,16263 70088,16267 70090,16267 70093,16267 70097,16267 70100,16267 70101,16270 70103,16270 70105,16270 70108,16274 70110,16274 70113,16275 70115,16277 70115,16273 70115,16274 70120,16279 70117,16284 70117,16288 69117,16287 69121,16287 69123,16288 69119,16288 69122,16292 69125,16292 69122,16290 69125,16288 69125,16290 69126,16295 69122,3037 63916,3042 63920,3047 63925,3048 63928,3053 63928,3056 63931,3056 63930,3052 63932,3051 63935,3056 63938,3055 63935,3059 63932,3059 63937,3061 63942,3065 63945,3069 63942,6069 63940,6064 63945,6067 63948,6067 63947,6068 63951,10068 63953,10072 63953,10071 63951,10071 63956,10071 63958,10075 63958,10079 63953,10082 63958,10084 63959,10086 63959,10090 63960,10094 63955,10099 63955,10101 63956,10099 63952,10099 63949,10103 63953,10106 63956,10108 63956,10109 63956,10114 63959,10118 63959,10120 63960,10122 63963,10122 63968,10125 63969,10125 64969,10130 64971,10130 64973,10134 64974,10134 64979,10139 64984,10139 64987,10142 64988,10137 64992,10140 64995,10141 65995,10142 65999,10145 66000,10142 66002,10145 66002,10144 66004,10149 66002,10153 66007,8153 66007,8155 66011,8155 66011,8155 66011,8156 66011,9156 66013,9158 66014,9160 66014,9165 66017,9169 66022,9170 66023,9170 66023,9170 66028,9171 66031,9175 66033,9175 66033,9173 66035,9177 66034,9177 66039,9177 66044,9177 66044,9173 66044,9171 66044,9174 66046,9177 66050,9177 66047,9180 66051,9180 66055,9184 66055,9184 66051,9187 66056,9184 66057,9187 66053,9187 66055,9192 66056,9195 66061,9195 66066,9195 66071,9200 66076,9195 66075,9200 66080,9200 66080,9202 66076,9204 66079,9202 66079,9198 66079,11198 66083,11199 66087,11199 66088,11204 66088,11206 66089,11206 66093,11211 66088,11211 66091,11206 71091,11205 71090,11207 71094,11207 71098,11211 71102,11210 71103,11211 71107,11212 71107,11216 71105,11216 71108,11216 71113,11217 71108,11220 71113,11217 71113,11217 72113,11218 72115,11220 72117,11220 72121,11221 72124,11225 72120,11229 72117,11226 72118,11230 72122,11230 72123,11232 72127,11236 72132,11241 72133,11246 72135,11250 72139,11247 72141,11252 72141,11256 72143,11259 75143,11258 75146,11261 75151,11265 75149,11269 75153,11270 75158,11273 75160,11274 75165,11270 75166,11270 75166,11274 75165,11279 75167,11283 75170,11286 75166,11285 75168,11282 75165,6282 75163,6283 75167,6288 75170,6293 75175,6290 75178,6292 75179,6292 75182,6293 75181,31996 25856,31998 25856,32003 25857,32007 25862,32007 25857,32009 25857,32010 25858,32015 25854,32014 25857,32019 25857,32021 25852,32024 25852,32024 25854,32026 25851,32028 25855,32032 25855,32028 25858,32031 25860,32031 25863,32026 25867,32029 25868,32029 25869,32034 25872,32035 25875,32040 25878,32042 25883,32043 25881,32045 25885,32048 25884,32052 25881,32056 25878,32056 25874,32059 25878,32063 25882,32066 25885,32067 25885,32070 25885,37070 25885,37072 25889,37075 25890,37075 25885,37080 25890,37080 25892,37084 25888,37086 25893,37090 25898,37091 25895,37096 25897,37101 25902,37096 25905,37101 25906,37101 25909,37102 25914,37100 25914,37104 25914,37109 25917,37111 25919,37111 25924,37113 25925,37118 25923,37122 25927,37123 25929,17800 10713,17805 10708,17808 10711,17813 10715,17813 13715,17808 13719,17804 13714,17807 13717,17808 13722,17810 13724,17811 13728,17816 13730,17820 13733,17822 13736,17823 13736,17824 13740,17824 13745,18767 22750,18768 22754,18773 22754,18775 22757,18779 22760,18784 22763,18781 22767,18776 22767,18776 22769,18778 22772,18774 22773,18770 22774,18774 22776,18774 22777,18770 22781,18771 26781,18768 26785,18770 26787,18775 26787,18770 26789,18773 26793,18778 26795,18783 26796,18785 26799,18785 26801,18789 26798,18794 26799,18794 26801,18789 26803,18793 26806,18795 31806,18791 31810,18794 31814,18797 31817,18802 31813,18806 31815,18806 31819,18810 31824,18807 31828,18812 31830,18813 31826,18815 31828,18816 31829,18821 31831,18821 31833,18822 31836,18822 31838,18826 31841,18828 31846,5666 501,5668 506,5669 1506,5672 1508,5674 1512,7674 1512,7679 1513,7679 1512,7684 1513,7689 1511,7686 1515,7691 1520,7689 520,7689 521,7690 524,7695 520,4695 521,4696 526,4698 526,4699 531,4702 531,4699 535,4702 538,4698 540,4699 4540,4702 4537,4707 4540,4707 4537,4709 4537,4711 4542,4713 4542,4718 4544,4720 4549,4716 4553,4717 4556,4722 4561,4726 4562,4726 4563,4731 4564,4735 4565,4735 4570,4733 4572,9733 4574,9736 4577,9736 577,9737 572,9737 569,9742 570,9747 575,9747 580,9748 1580,9747 1585,9747 1588,9747 1588,9747 1592,9747 1592,9751 1592,9754 1593,9751 1595,9756 1599,11756 1603,11759 1607,11756 1610,11754 1613,11749 1613,11750 4613,11749 2613,11746 2610,11749 2608,11752 2611,11754 2607,11759 2612,11762 2612,11763 2612,11764 2613,11765 2613,11760 2615,11757 2620,11752 2623,11748 2627,11748 2631,11751 2632,11751 2633,11754 2635,11758 2639,11758 2643,11760 2646,11763 2646,11767 2649,11762 2652,11760 2652,11756 2656,11752 4656,11749 4659,11754 4662,11759 4666,11764 4670,11761 4666,11756 4669,11756 4670,11761 4671,11762 4673,11765 4678,11768 4680,11768 7680,12768 7677,12771 7680,12771 7683,12776 7683,12777 7688,12779 7688,12779 7684,12781 7679,13781 7682,13781 7684,13776 7684,13779 7685,13784 7685,13787 7689,13784 7689,13787 7689,13791 7685,13791 7686,13787 7691,13788 7696,13790 7693,13790 7696,13791 6696,13796 6698,13798 6695,13797 6698,13799 6701,13799 6704,13803 6709,13804 6705,13799 6708,13804 6703,13807 6705,13807 6708,13809 6710,13812 6714,13814 6716,13817 6718,13819 6722,13821 6717,13826 6718,13828 6717,13828 6721,13831 6721,13831 6720,13834 6715,13837 6712,13837 6713,13842 6715,13847 6715,13847 6714,13847 6709,13848 6712,13852 6714,13854 6719,13857 6723,13859 6726,13861 6730,13859 6731,13855 6731,13855 6731,13856 6728,13857 6730,13862 6731,13865 6731,13863 6729,13868 6729,13866 11729,13867 11732,13871 11732,13873 11737,13872 11741,13870 11745,13874 11744,13871 11748,13870 11753,13871 11757,13871 14757,13875 14759,13878 14760,13881 14760,13879 10760,13875 10765,13879 10767,13880 10770,13876 10775,13880 10776,13880 10776,13882 10776,13883 14776,13888 14779,13888 14779,13893 14779,13898 17779,13903 17784,13898 17788,13894 17788,13896 17788,13900 21788,13903 21784,18903 21789,18899 21789,18900 21793,18901 21794,18905 21795,18908 21792,18913 21794,13913 21796,13911 21798,13916 21799,13916 21799,13918 21804,13916 21800,13912 21799,13915 21794,13916 21797,13921 21799,13916 21802,13918 21806,13919 21810,13921 21813,13924 21817,13927 21814,13932 21816,13934 21811,13936 21811,13934 21814,18934 21816,18929 21816,18934 21815,18933 21817,18932 21822,18936 21819,18938 16819,18933 16822,18933 16822,18937 16822,18937 16827,18940 16827,18945 16830,18947 16829,18950 19829,18949 19829,18949 19829,18946 19825,18947 19828,18946 19829,18943 19829,18943 19824,14943 19829,14939 19830,14942 19831,14946 19835,14946 22835,14942 22836,14946 22831,14950 22832,14952 22835,14947 22840,14951 22844,14951 22845,14947 22850,14948 22851,14951 22849,14956 22852,14957 22852,14957 22857,14962 22857,14965 22859,14970 22860,14968 22862,14972 22864,14977 22866,14974 22870,14975 20870,14976 20870,14979 20873,14984 20869,14989 20871,14993 20874,14993 20877,14994 20878,14995 20878,14997 20883,14998 20879,15001 20884,15001 20884,15003 20889,15006 20884,15009 20885,15009 20883,15007 20880,15011 20876,15008 20877,15009 20873,15010 20875,15009 20875,10009 20876,10012 20871,10013 21871,10017 21872,10012 21873,10010 21874,10008 21871,10012 21870,10013 21874,11607 14571,11608 14575,11612 15575,11613 15576,11613 15577,11618 15578,11622 15581,11624 15585,11627 18585,11631 18587,11634 18590,11634 18586,11634 18586,11636 18591,11635 18591,11636 18596,11636 18592,13636 18593,13640 18595,13642 18600,13641 18600,13641 18604,13642 18607,13643 18611,13648 18611,13651 18613,13655 18615,13656 18620,13651 18618,13651 18616,13654 18611,13651 18616,18651 18620,18656 18620,18661 18621,18657 18625,18661 18627,18663 18628,18666 18633,18661 18637,18665 18639,18665 18639,18667 18641,18669 18641,22669 18642,22673 18644,22676 18648,22681 18649,22682 18649,22682 18646,19682 18646,19684 18646,19685 20646,19690 20646,19690 20643,19686 20643,19686 20643,19690 20647,19690 20647,19689 20652,19692 20653,19692 20656,19697 20661,19698 20662,19703 20666,19707 20669,19707 20673,19708 20674,19709 20675,19709 20677,19710 20674,19715 20675,19717 20673,19721 20673,19720 20677,19718 20677,19716 20680,19718 20681,19718 20685,19722 20688,19725 20688,19729 20685,19728 20687,19728 20690,19732 20691,19735 20691,19739 20691,19744 20696,16744 20693,16746 20695,16748 20695,16748 20691,16746 20696,16750 20699,16755 20704,16755 20709,16760 20710,16763 20711,16763 20711,16765 20707,16767 20705,16771 20706,16771 20708,16775 20706,9653 7576,9654 7577,9659 7576,9659 7572,9655 7575,9660 7579,9660 7579,9660 7583,9661 7588,9663 7591,9666 7590,9662 7592,9665 7593,9669 7594,9668 80000)') WHERE p = 1; +UPDATE t1 SET g = ST_linefromtext('linestring(-5 -576,0 -576,0 -571,0 -571,5 -568,6 -564,6 -565,6 -563)') WHERE p = 2; + +ROLLBACK; + +connection control_purge; +--echo # disable purge +START TRANSACTION WITH CONSISTENT SNAPSHOT; + +connection default; +DELETE FROM t1 WHERE p = 3; + +UPDATE t1 SET g = ST_linefromtext('linestring(448 -689,453 -684,451 -679,453 -677,458 -681,463 -681,468 -678,470 -676,470 -678,468 -675,472 -675,472 -675,474 -674,479 -676,477 -675,473 -676,475 1324,479 1319,484 1322,483 1323,486 1323,491 1328,492 1325,496 1325,498 1325,501 1330,498 1331,500 1331,504 1330,508 1329,512 1332,513 1337,518 1339,518 1339,513 1344,513 1344,512 1346,514 1351,515 1353,519 1358,518 1362,522 1365,525 1360,526 1362,527 1362,528 1367,525 1371,528 1366,532 1369,536 1374,539 1377,543 1379,539 1381,541 1382,543 1383,546 1388,549 1393,554 1393,554 1395,554 1392,550 1394,550 1392,546 1394,549 1397,550 1393,549 1394,554 1390,554 1391,549 1396,551 1396,547 1400,547 1402,551 1407,554 1412,554 1415,558 1418,463 -681,465 -677,465 -675,470 -670,470 -665,470 -660,470 -659,473 -656,476 -656,481 -655,482 -652,486 -654,486 -652,486 -648,491 -646,490 -651,494 -646,493 -644,493 -644,490 -644,491 2356,495 2359,495 2364,500 2359,503 5359,504 5364,509 5368,504 5367,499 5368,498 5371,498 5369,500 5370,504 5370,508 5370,511 5370,507 5374,508 5378,511 5382,507 5387,509 5389,512 5388,515 5393,520 5396,517 5397,517 5402,515 5404,520 5402,521 5405,525 5405,526 5408,530 7408,535 7413,533 7415,529 7412,532 7416,4532 7416,4534 7421,4533 7417,4536 7413,4536 7418,4540 3418,4545 3418,4549 3415,4551 3419,4554 3421,4559 3423,4559 3426,4557 3424,4561 3428,4558 3428,4563 3431,4565 3435,4569 3439,4569 3439,4569 3444,4567 3444,4572 3446,4577 3447,4581 3444,4581 3448,4584 3448,4579 3447,4580 3450,4583 3449,4583 3453,4587 3455,4588 3458,4593 3463,4598 3465,4601 3468,4598 3464,4598 3460,4593 5460,4595 5461,4600 5464,4600 5465,4601 5466,4606 5466,4608 5466,4605 5464,4608 5467,4607 5468,4609 5465,4614 5461,4618 5463,4621 5467,4623 5470,4622 5470,4622 5470,4625 6470,4627 6471,4627 6472,4627 6473,6627 6474,6625 6474,6628 6477,6633 6481,6633 6480,6637 6475,7637 6479,7638 6482,7643 6487,7644 6492,7647 6492,7648 6495,7646 6498,7650 6499,7646 6494,7644 6499,7644 6497,7644 6499,7647 6502,7649 6504,7650 6501,7647 6503,7649 6504,7650 6508,7651 6503,7652 6508,7655 6508,7650 6511,7655 6515,7658 6513,7663 6513,7665 6514,7669 6512,7667 6510,7664 6510,472 -675,477 -670,479 -666,482 -663,484 -668,484 -666,485 -664,481 -664,479 -659,482 -659,484 -658,483 -659,488 2341,493 2339,489 2338,491 2342,491 2346,494 2346,490 2348,493 2348,498 2349,498 2350,499 2349,502 2350,503 2348,506 2348,506 2348,507 2353,507 2355,504 2359,504 2364,504 2361,499 2365,502 2360,502 2358,503 2357,504 2353,504 2357,500 2356,497 2355,498 2355,500 2359,502 2361,505 2364,508 2364,506 2368,506 2370,504 2373,499 2373,496 2372,493 2377,497 2380,495 2383,496 7383,493 7386,497 7391,494 7387,495 7389,498 7392,498 7392,495 7395,493 7398,498 7401,498 7403,503 7400,498 8400,501 8401,503 8401,503 8401,501 10401,496 10396,491 10401,492 10399,493 10403,496 10403,491 10403,493 10407,489 10410,493 10407,489 10403,498 7403,497 7399,496 7403,500 7405,500 7407,503 7411,508 7415,511 7415,511 7420,515 7420,520 7423,523 7423,520 7427,523 7427,523 7427,522 7432,525 4432,527 4434,530 4437,534 4441,529 4446,529 4441,534 4436,537 4436,535 4437,532 4437,534 4432,535 4429,538 4430,542 4427,542 4431,538 4431,541 4431,541 4433,543 4433,545 4432,549 4428,552 4426,556 4427,557 4423,560 4427,561 4428,558 4430,559 4434,559 4432,561 4434,561 4437,563 4435,559 4430,561 4435,4561 4437,4566 4441,4568 4446,4568 4450,4569 4455,4565 4458,4561 4463,4561 9463,4564 9463,4565 9461,9565 9463,9560 9467,9560 9466,9555 9469,9555 9471,9559 9469,9557 9473,9553 9478,9555 9480,9557 9481,9557 9481,9557 9483,9562 9487,9558 9487,9558 9490,9561 9493,9562 9493,9557 9493,9560 9496,9555 9501,9553 9503,9553 9506,9557 9510,9558 9511,9561 9514,9563 9512,9568 9514,9567 9514,9567 13514,9570 13517,9566 13521,9571 13521,9571 13526,9573 13521,9571 13521,9576 10521,9580 10526,9582 10525,9584 10528,9584 10531,9584 10533,9589 10533,9588 10537,9588 10541,9589 10542,9593 10544,9595 10540,9597 10541,9600 10545,9601 15545,9603 15549,9605 15553,9601 15558,9601 15553,9605 15551,9605 15550,9605 15554,9607 15556,9605 15556,9604 15561,9607 15559,9603 15559,9603 15562,9604 15563,9608 15566,9612 15570,9617 15565,9622 15568,9627 15566,9628 15564,9629 15564,9633 15569,9636 15569,9634 15571,9634 15572,9636 15574,9634 15570,9629 15570,9631 15567,9629 15570,9626 15574,9626 15575,498 7401,502 7401,506 7397,506 7395,502 7398,497 7401,502 7402,505 7397,508 7400,504 7404,3504 7409,3505 7405,3508 7410,3511 7413,3511 7416,3511 7419,3511 7419,3513 7421,3517 7424,3519 7426,3520 11426,3523 11421,3527 11418,3530 11415,3530 11416,3533 11418,7533 11415,7531 11415,7531 11417,7536 11420,7541 11424,7543 11425,7543 11427,7543 11429,7540 11429,7542 11425,7541 11420,7542 11421,7542 11422,7540 11424,7540 11423,7543 11422,7546 11426,7550 11431,7553 11436,7555 16436,7553 16438,7558 16438,7559 16438,7560 16439,7565 16437,7560 16435,7563 16435,7566 16440,7566 16444,7564 16447,7559 16443,7561 16443,7566 16448,7570 16451,7574 16456,7578 16459,12578 16459,12578 20459,12577 20456,12581 20454,12585 20456,12585 20456,12585 20456,12583 20456,12579 20459,12580 20461,12580 20462,12580 20460,12585 20465,12586 20467,12590 20470,12590 20470,12589 20471,12584 20471,12589 20471,9589 20472,9594 20472,9595 20472,9596 20477,9598 20482,9603 20480,9608 20484,9613 20484,9610 20486,9608 20488,9608 20489,9610 20489,9614 20486,9619 20481,9620 20481,9618 21481,9621 21483,9626 21483,9628 21485,9623 21487,9622 21490,9626 21493,9621 21495,9626 21498,9622 21499,9624 21504,9625 21499,9629 21501,9633 21498,9637 21495,9639 21498,9644 21501,9557 9481,9560 9485,9561 9490,9563 9488,9560 9486,9558 9488,9561 9492,9563 9495,9567 9492,9567 9488,9564 9490,9559 9495,9559 9498,9557 9502,9562 9506,9564 9509,9569 9512,9569 9516,9569 9518,9569 9515,9571 9513,9571 9512,9573 9513,9578 9516,9581 9516,9585 11516,9585 11521,9590 10521,9586 10524,9589 10529,9589 10527,9589 10527,9594 10532,9594 10534,9598 10536,9598 10540,9600 10542,9604 10538,9607 10538,9609 10543,9613 10538,9613 10533,9613 10537,9610 10537,9614 10542,9609 10542,9610 10543,9610 10548,9611 10553,9616 7553,9620 7553,9621 7557,9618 7559,9618 7554,9622 7557,9622 7561,9622 7556,9622 7560,9619 7560,9620 7565,9622 7563,9627 7566,9630 7570,9630 7571,9632 7573,9637 7576,9639 7578,9640 7576,9640 7579,9640 7575,9642 7570,9646 7570,9651 7574,9653 7577,9652 7572,9653 7576,9653 7576,9651 7581,9656 7585,9660 7586,9659 7591,9657 7594,9661 7598,9664 7602,9668 12602,9673 12604,9676 12606,9679 12602,9682 12605,9677 12610,9674 12606,9674 12601,9674 12603,9672 9603,9668 9605,9671 9606,9668 9611,9668 9606,9671 9611,9675 9615,9677 9620,9678 9622,9679 9624,9684 9626,9685 9627,9685 9622,9685 9626,9689 9628,9694 9633,9699 9637,9699 9637,9704 9636,9708 9637,9709 9638,9707 9639,9705 9642,9707 9647,9710 9649,9711 9653,9716 9649,9716 9648,9720 9650,9721 9648,9723 9648,9726 4648,12726 4653,12731 4655,12734 4660,12730 4661,12733 4664,12733 4665,12735 4670,12737 4674,12741 4674,12738 4675,12740 4675,12737 4675,12742 4678,12743 4681,12746 4677,12751 4675,559 4430,563 4430,565 4435,566 4440,561 4445,562 4447,564 4450,561 4453,563 4453,561 4458,561 4458,562 4453,566 4454,571 4458,571 4460,574 4461,574 4464,579 4466,579 4470,582 4468,586 4470,590 4468,593 4468,594 4470,596 4474,591 4475,591 4480,594 4482,597 4486,593 4486,595 4486,598 4490,600 4492,3600 4497,3598 4497,3598 4494,3599 4493,3600 4497,3600 4494,3604 4498,3604 5498,3600 5497,3602 5493,3602 10493,8602 10498,8606 10494,8605 10495,8606 10496,8605 10500,8605 10500,8603 10499,8601 10502,8602 10505,8603 10501,8608 10503,8608 10508,8609 10503,8610 10505,8613 10504,8615 10506,8616 10508,8612 10513,8613 10517,8615 10520,8617 10521,8621 10524,8624 10524,8624 10524,8624 10519,8625 10514,8626 10519,502 7402,503 7399,506 7404,543 1379,548 1379,550 1380,553 1379,558 1376,556 1376,558 1372,559 1372,560 1377,565 1374,568 1375,568 1379,572 1382,570 1384,575 1386,576 1389,576 1394,579 1398,583 1403,586 1401,586 1401,591 1400,593 1402,598 1407,601 1412,546 1394,550 1396,553 1396,555 1394,4584 3448,4585 3450,4583 3450,4588 3451,4590 3449,4595 3449,4599 3454,4603 454,5603 458,5604 458,5605 453,5610 457,5614 459,5619 463,5621 466,5618 466,5623 465,5627 466,5625 471,5626 476,5630 479,5635 484,9635 488,9639 488,9641 483,9644 484,9649 484,5649 488,5649 492,5651 497,5656 497,5661 499,5665 504,5666 500,5666 497,5666 499,5666 499,5666 501,5670 502,5670 504,5670 507,5673 502,5677 506,4677 507,4682 509,4682 511,3682 510,3679 514,3683 510,3686 515,3684 518,3686 522,3689 527,3690 527,3688 529,3690 533,3692 530,3691 532,3695 529,3696 529,3701 533,3701 535,3699 540,9610 10543,9612 10545,9615 10548,9617 10548,9619 10550,9624 10548,9627 10549,9625 10553,10625 10553,10626 10555,500 7407,500 7407,500 7411,505 7413,505 7411,502 7415,504 7415,508 7411,511 7411,506 7412,506 7410,3506 7411,3507 7415,3509 7417,3511 7417,3513 7418,3516 7422,3518 7422,3518 7426,3513 7430,3515 7435,3520 7435,3521 7437,3526 9437,3526 9434,6526 9437,6526 9438,6526 9438,6527 9441,6528 9439,6523 9441,6518 9445,6522 9446,6526 9447,6529 9451,6529 9455,6530 9459,6532 9457,3532 9460,3536 9461,3537 9466,3541 9466,3544 9466,3546 9468,3549 9467,3553 9470,3551 9470,3551 9474,3552 9473,3547 9473,3547 9473,3547 9476,3552 9481,3553 9486,3555 9490,3556 9491,3559 9495,3560 9493,3563 9494,3563 9494,3565 9495,3565 10495,3568 10496,3573 10501,3574 10501,3576 10502,3578 10503,3578 10504,3580 10508,7580 10505,7578 10508,7578 10511,7578 10508,7581 10508,7582 10511,7577 10510,7577 10514,7573 10516,7578 10520,7580 10525,7581 10530,7585 10532,7590 10535,7594 10540,12594 10540,12591 10545,12595 10548,12595 10543,12597 10547,12597 10542,12595 10545,12595 10546,12600 10550,12605 10550,12606 10546,12604 10548,12605 12548,12605 12546,12607 12548,7607 12552,7611 12557,7608 12557,7608 12553,7611 12553,7610 15553,7608 15550,7610 15551,7607 14551,7607 14556,7606 14561,7602 14561,7602 14566,7601 14565,7606 14565,7605 14570,7608 14568,7609 14571,7613 14572,7614 14572,7616 14574,7613 14573,7615 14570,7618 14570,7615 14574,7617 14575,7614 14578,7616 14582,7617 14584,7617 14584,7618 14589,7622 14590,7619 14592,7624 14593,7628 14596,7632 14601,7627 14601,7629 14603,7629 14603,7630 14608,7631 14611,7626 14611,7628 14611,7628 14616,7624 14617,7619 14618,7624 14618,7626 16618,10626 16620,10624 16620,10629 16619,10633 16624,10636 16624,10638 16624,10643 16624,7643 16625,7643 16630,7643 16625,7647 16629,7648 16628,7649 16633,7650 16633,7650 16634,7645 16635,7646 16632,7642 16635,7643 16635,7643 16630,7638 16634,7640 21634,7645 21633,7650 21634,7651 21639,7652 21641,7655 21636,7651 21640,7654 21635,7655 21637,7660 21640,7656 21643,7661 21644,7663 21645,7667 21642,7669 21644,7674 21645,7674 21649,7677 21647,7672 22647,7672 22650,7667 22650,7667 22647,7671 22646,7672 22648,7673 22651,11673 22653,11672 22654,11670 22652,11671 22656,11673 22656,11674 22654,11678 22658,11678 22656,11675 22659,11680 22659,11685 22664,11687 22659,11687 22664,11687 22664,11692 22669,11696 22673,11701 22678,11696 22683,11696 22687,11691 22688,11695 22683,11691 22688,11696 22691,11695 22691,11700 22695,11702 22693,11705 22696,11710 22699,15710 22700,15712 22704,15707 22708,15712 22708,15715 22708,15720 22709,15725 22712,15723 22714,15724 22719,15727 22718,15727 22718,15731 22713,15730 22715,15734 22717,18734 22722,18729 22724,18725 22728,18729 22732,18733 22734,18736 22730,18740 22733,18740 22735,18742 22731,18741 22732,18744 22736,18749 22735,18754 22739,18754 22741,18756 22745,18758 22746,18760 22750,18764 22751,18764 22753,18764 22754,18767 22750,18767 22753,18767 22756,18772 22761,18777 22757,22777 22757,22780 22760,22776 22758,22776 22760,22772 22760,22775 22760,22777 22762,22774 22759,22775 22764,22772 22764,22767 22766,22768 22771,22771 22771,9589 10527,9593 10528,9598 10533,9600 10534,9597 10534,11597 10535,11602 10539,11603 10544,11598 10543,11601 10543,11605 10544,11609 10545,11611 10542,11615 10540,11615 10542,11616 10544,11619 10544,11621 10544,11623 10542,11619 10544,11620 10549,11616 10549,11618 10550,11619 10552,11622 10555,11622 10556,11623 10556,11621 10556,11625 10561,11625 10564,11625 10566,11628 10563,11630 10567,11628 10572,11626 10575,11628 10575,11632 11575,11636 11576,11638 11577,11638 11578,11638 11581,11639 11579,11643 11574,11646 11573,11650 11574,11647 11579,11648 11580,11653 11581,9571 9513,9571 9516,9571 9516,9574 9521,9572 9525,9573 9528,9573 9529,9578 9531,9583 9526,9581 9531,9576 9535,9578 9533,9583 9535,9583 9539,9587 9544,9590 14544,9595 14544,9598 14545,6598 14549,6598 14551,6599 14552,11599 14556,11602 14558,11598 14558,11598 14561,11602 14565,11603 14565,11603 14564,11603 14568,11604 14573,11605 14568,11607 14568,11607 14570,11607 14572,11607 14567,11611 14572,11611 14571,11607 14571,11609 14569,11605 14569,11606 14570,11606 14573,11607 14577,11610 14578,11609 16578,11609 16582,11607 16579,11605 16581,11606 16576,11605 11576,11608 11578,11610 11583,13610 11583,13614 11578,13616 11582,13617 11587,13617 11583,13621 11585,13626 11589,13621 11589,13621 11591,15621 11591,15625 11591,15630 11595,15631 11596,15634 11598,15638 11603,15642 11608,15643 11612,15642 11614,15646 16614,15648 16610,15648 16614,15648 16614,15647 16614,15652 16611,15654 16616,15655 16611,15651 16612,15655 16615,15659 16617,18659 16616,18660 16611,18660 16616,18664 16621,18668 16626,9673 12604,9674 12605,9676 12605,9679 12605,9682 12606,9680 12606,9680 12609,9681 12612,9684 12616,9688 12620,9691 12624,9686 12621,9686 12625,9686 12630,9684 12634,9686 12634,9687 12639,9686 12637,9683 12634,9685 12632,9689 12632,9689 12629,9692 12629,9692 12632,9695 12636,9693 12641,9692 12645,9692 16645,9694 16646,9698 16650,9698 16651,9693 16651,9693 16652,9693 16655,9692 16652,9693 16655,9689 16658,9689 16658,9692 16661,9696 16665,9698 14665,9701 14668,9702 14664,9703 14663,9702 14667,9707 14667,9711 14672,9716 14673,9719 14677,11719 14673,11720 14674,11721 14672,11725 14672,11729 14667,10729 18667,10732 18667,10727 18669,10730 18665,10732 18670,10737 18665,10737 18670,10742 18674,9742 18674,9741 18675,9742 18676,9746 18678,9751 18677,11751 18679,11751 18684,11753 18687,11757 18692,11757 18690,11761 18691,11761 18692,11766 18697,11769 18701,11771 18696,11774 18697,11774 18701,8613 10517,8611 10522,8611 10522,8616 10521,8619 10523,8622 10521,8623 10518,8623 10518,8624 10518,8624 10521,8629 10523,8633 10518,8635 10514,8640 10514,8642 10514,8646 10514,8647 10517,8644 13517,8649 13518,8653 13522,12653 13522,12653 13526,12657 18526,12653 18527,12657 18532,12660 18535,12656 18537,12660 18539,12658 18537,13658 18541,13657 18545,13657 18547,13660 18551,13665 18554,13665 18556,13665 18559,13665 18556,13668 18560,13672 18564,13672 18566,13676 18568,13676 18568,16676 18568,16681 18568,16678 18568,16682 18573,16681 18577,16686 18575,16686 18571,16686 18576,16684 18578,16684 18578,16681 18581,16684 18584,16683 18586,16687 18581,16682 18583,16677 18582,16676 18583,16681 18585,16679 14585,16677 14590,16682 14591,16686 14587,16691 14587,16696 14585,16696 14583,16697 14587,16702 14589,16704 14594,16699 14594,16704 14594,16704 14599,16705 14604,16708 14608,16713 15608,16717 15613,16721 15618,16721 15623,16724 15628,19724 15630,19726 15627,19729 15628,19725 15626,19720 15631,19724 15635,19728 15634,19729 15632,19730 15630,19733 15633,19734 15634,19736 15636,19741 15634,19739 15634,19744 15634,19749 15630,21749 15633,21747 15637,21749 15641,21749 15641,21745 15645,21748 15650,21749 15655,21751 15660,21753 15660,21755 15656,21752 15658,21751 15658,21753 15658,21754 15661,21754 15665,21754 15667,21757 15668,21753 16668,21753 16670,21757 16673,21759 16670,21756 16670,21760 16673,21757 16676,21761 16680,21765 16685,21768 16686,21769 16690,21769 16688,21769 16686,21766 16686,21768 16688,21773 16687,21778 16690,21781 16690,21780 16694,21780 16693,24780 16695,24777 16700,24782 16702,24787 16701,24787 16697,24787 16700,24792 16704,24787 16701,24788 16701,24789 16706,24792 16706,24797 16706,24800 16710,24805 16711,24805 16715,24810 16710,24809 16714,24813 16717,24817 16718,24817 16720,24819 16722,24815 16725,24812 16727,24811 16727,24814 16730,24819 16726,24821 16729,24826 16731,24830 16736,23830 16741,23826 16746,23827 16747,23829 16749,23833 16752,23835 11752,27835 11757,27837 11756,27834 11756,27835 11757,27838 11759,27833 11763,27834 11766,27839 11770,27844 11770,27849 11772,27849 11773,27849 11773,27854 11777,7581 10530,7582 10533,7581 10529,7583 10530,7584 10529,7584 10533,7582 10535,7586 10535,7589 10530,7592 10526,7592 10529,7589 10525,7592 10528,7596 10524,7600 10529,7602 10530,7599 10530,7594 10531,7598 10526,7601 10531,7605 10535,7609 10539,7612 10544,7610 10544,7612 10540,7608 10541,7610 15541,7613 15546,7617 15548,7618 15547,7620 15544,7620 15546,7621 15547,7624 15551,7628 15554,7631 15558,7631 15553,7636 15556,7637 15558,7637 15554,7641 15556,7644 15556,7648 15559,7651 15560,7647 15563,7650 15564,7650 15559,7652 15561,7650 15562,7651 15562,7651 15567,7655 15568,7653 15569,2653 15573,2657 15577,2662 15579,2663 15582,2663 15587,2665 15589,2669 15589,2669 15587,2673 15591,2673 15595,2677 15597,2677 15599,2680 15601,2683 15606,2687 15606,2683 15609,2688 15606,2692 15607,2693 15607,2698 15610,2698 15611,7698 15613,7702 15616,7704 15618,7699 19618,7703 19620,7698 19624,7698 19624,7701 19627,7699 19628,7704 19624,7708 19622,7712 19617,7714 19615,7710 19612,7715 20612,3715 24612,3720 28612,3724 28610,3727 28610,3728 28608,3725 28603,3729 28605,3733 28604,3734 28603,3737 32603,3739 32606,3740 32609,3739 32613,3738 32613,3735 32615,3739 31615,3739 31610,3743 31606,6743 31601,6743 31603,8743 31601,8743 31605,8748 35605,8748 35610,8752 35615,8751 35615,8752 35620,8755 35620,8760 35620,8765 35624,8760 35627,8764 35626,8761 35631,8763 35635,8767 35636,8767 35632,8767 35635,8771 35630,8775 35631,8778 35632,8775 35632,3775 35633,3775 35637,3774 35639,3772 35641,8772 35645,8772 35645,8773 35648,8768 35651,8764 35651,8769 40651,8764 40653,8767 40653,8770 40654,8771 40657,8775 40658,8777 40663,8779 40666,8783 40670,8783 40674,8787 40675,8789 40670,8789 40674,8792 40672,8795 40675,8796 40672,8800 40676,8800 40676,8800 40679,498 7392,503 7390,504 7390,507 7395,509 7395,509 7397,514 7400,6529 9451,6529 9451,6524 9451,6527 9452,6527 11452,6527 11456,6528 11457,6529 11458,6531 11461,6535 11463,6535 11467,6530 11472,6532 11472,10532 11473,10533 11473,10537 11476,10540 11473,10540 11473,10544 11474,10544 11474,10544 11472,10544 11470,10539 11475,10539 11478,10542 12478,10545 12483,10546 12488,10547 12492,10552 12493,10552 12490,10556 12490,10558 12493,10560 12495,10555 12496,10557 12491,10556 12491,10556 12490,10553 12494,10558 12497,10559 12502,10564 12505,21753 16670,21754 16672,26754 16674,26757 16676,26761 16679,26756 16682,26761 16683,26763 16684,26766 16689,26771 16692,28771 16687,28774 16687,28776 16692,28777 16695,28781 16695,28785 16690,28789 16691,28786 16688,28789 16690,28792 16688,28793 16687,28795 16690,28793 16695,28791 16692,28793 16695,28790 16696,28790 16700,28792 16700,28793 16701,28794 16701,28794 13701,28796 12701,28799 12701,28799 12706,28800 12701,28801 12705,28803 12708,28807 12708,28808 15708,28810 15712,28811 15709,28813 15709,28813 11709,28817 11709,7618 14589,7620 14587,7625 14589,7626 14584,7631 14586,7632 14588,7637 14589,7642 14592,536 1374,540 5374,542 5378,542 5383,-2458 5388,-2457 5388,-2455 5393,-2452 5393,-2452 5391,-2448 5389,-2448 5390,-2449 5393,-2445 5388,-2441 5392,-2436 5397,-2432 5397,-2430 5397,-3430 5399,-3429 5404,-3430 5405,-3427 5407,-3422 5409,-3421 5411,-3421 5411,-3421 5407,-3417 5410,-3418 5410,-3422 2410,-3417 2414,-3416 2418,-3412 3418,-3407 3422,-3407 3426,-3406 3429,-3404 3433,-3403 3435,-3398 3439,-2398 3441,-2399 3442,-2397 3446,-2395 3447,-2394 3443,-2398 3445,-2398 3443,-2393 3446,-2391 3450,-2387 3451,-2390 3455,-2385 3457,-2383 3457,-2382 3462,-2379 3467,-2384 3467,-2383 3467,-2381 3470,-2383 3471,-2385 3474,-2383 3479,-2383 3481,-2383 3479,-2382 3484,-2380 3489,-2385 3487,-2384 3490,-2384 3490,-2383 3492,-2383 3495,-2378 3499,-2377 3495,-2378 3498,-2375 3500,-2375 3505,-2373 3503,-2373 3505,-2374 3505,-2374 3506,-2369 3511,-2364 3516,-2361 3516,-2356 3520,-2354 3524,-2353 3529,-2356 3533,-2351 3538,-2354 3542,-2349 3545,-2349 3547,-2347 3550,-2352 3547,-2355 3551,-2353 3556,-2353 3556,-2349 3554,-2352 3553,-2351 3558,-2348 3554,-2346 3556,-2344 3559,-2347 -441,-2352 -437,-2348 -440,-2345 -435,-2343 -440,-2343 -436,-2339 -432,-2339 -431,-2337 -429,-2337 -434,-2341 -431,-2345 -427,-2349 -426,-2350 -422,-2348 -418,-2344 -415,-2349 -415,-2345 -413,-2345 3587,-2344 3583,-2344 3580,-2339 5580,-2335 5583,-2336 5582,-2331 5587,-2330 5582,-2329 5582,-2337 -434,-2333 -433,-2330 -2433,-2327 -2435,-2331 -2433,-2328 -2433,-2328 -2429,-2325 -2429,-2320 -2428,2680 -2428,2684 -2424,2685 576,2685 579,2682 582,2684 584,2679 584,2674 585,2671 587,2673 583,2673 581,2677 581,2680 580,2681 584,2684 580,2681 582,2685 585,2690 583,690 587,691 584,694 584,694 585,692 583,694 584,693 588,28793 16695,28791 16694,28793 16698,28797 16703,28798 16707,28797 16712,28797 16715,28795 16717,28799 16712,28795 16710,28800 16707,28805 16705,28807 16702,28802 16705,28803 16701,28805 16703,28803 16698,28803 16700,28805 16704,28809 16699,28812 16702,28808 16703,28813 16700,28817 16703,28819 16704,28816 16709,28812 16708,28809 16708,28809 16707,28814 16709,28812 16712,28807 16717,28807 16717,28809 16717,28807 16717,28811 16717,28814 16722,28815 16719,28819 16719,28819 16724,28819 16726,28814 16727,28814 16722,28817 16726,28820 16730,28821 16730,28816 16733,28821 16737,28823 16741,28818 16741,28822 16744,28819 16747,28815 16748,31815 16748,31819 16748,31817 16746,31818 16749,31819 16747,31817 16748,31820 16746,31816 18746,31820 18746,31815 18742,31815 18744,31818 18740,31819 18735,31824 18735,31829 18738,31834 18742,31837 18745,31837 18748,31842 18749,31847 18749,31851 18749,31854 18750,31854 18749,31852 18752,31847 18754,31850 18758,31855 22758,31857 22760,31861 22759,31859 22761,31856 22764,31856 22768,31856 22768,31856 22770,31858 22765,31863 22766,31862 22770,31860 22772,31856 22776,31861 22775,31866 22780,31870 22780,31871 22782,31871 22779,31866 22781,31870 22781,31870 22786,31873 22786,31877 25786,31877 25791,31877 25796,31880 25800,31882 25804,31885 25809,31885 25812,31886 25815,31888 25815,31890 25820,31890 25821,31889 25821,31885 25817,31889 25814,31887 25815,31890 25819,31892 25820,31896 25816,31897 25817,31902 25818,31904 25823,31908 25825,31910 25828,31914 25825,31909 25825,31912 25829,31907 25829,31911 25834,31912 25838,31911 25837,31914 25837,31918 25836,31918 25831,31914 25831,31912 25826,32912 25830,32915 25833,32911 26833,32912 26834,32915 26839,32913 26839,32915 26835,32917 26837,32922 26832,32924 26834,32926 26835,32921 26840,33921 26835,33923 26836,33927 26837,33925 26833,33926 26836,33931 26837,33929 26837,33932 26842,33934 26842,33935 26847,33940 26850,33935 26848,33931 28848,33929 28852,33925 28849,33927 28849,33929 28852,33927 28850,33929 28854,33931 28854,33935 28854,28935 28854,28935 28849,28938 28854,28942 28855,28944 28860,28942 28861,28941 28863,28942 28860,28942 28856,28947 28858,28951 28857,28953 28861,28953 28860,28956 28863,28957 31863,28957 31867,28960 31869,28962 31869,28964 31872,28965 31877,28969 31881,28965 31882,28967 31886,28969 31888,28964 31892,28960 31895,28961 31893,28966 31896,28967 31901,28963 31903,28961 31908,28964 31908,28964 31904,28960 31904,28961 31905,28960 31905,28965 31906,28966 31909,28967 28909,28967 28909,28970 28910,28966 28914,28965 28918,28966 28918,9626 21498,9621 21498,9622 21501,9618 21504,9621 21505,9624 24505,9622 24505,9625 24508,9626 24511,9631 24516,7631 24512,7631 24507,7632 24506,7635 24504,7638 24507,7636 24502,7639 24507,7644 24508,7648 24512,7648 24512,7650 24512,7651 24514,7655 24517,7659 27517,10659 27520,10661 27524,10664 27523,10666 27528,10666 27523,10665 27524,10667 27529,9667 27534,9670 27534,9668 27534,9667 27533,9670 27533,9670 27538,9670 27540,9675 27538,9679 27538,9683 27543,9680 27538,9682 27540,9685 27545,9683 27546,9683 27547,9678 27548,9680 27548,9684 27549,9685 27545,9690 27546,9690 27548,9692 27550,9697 27553,9698 27557,9702 27553,9702 27548,9702 27549,9706 27551,9701 27551,9701 27551,9697 27546,9696 27549,9697 27553,9699 27557,9698 27558,9696 27560,9701 27556,9705 27552,32912 25830,32913 25829,32916 25830,36916 25828,36916 25831,36916 25835,39916 25837,39911 25842,39913 30842,39910 30844,39910 30845,39908 30848,39911 30852,39913 30856,39918 30857,493 10403,498 10406,498 10406,493 10406,497 10404,493 10409,493 10414,497 10416,496 10418,499 10423,500 10427,505 10429,510 10429,515 10431,515 10433,515 10433,512 10434,5666 500,5666 500,5668 505,5669 509,8669 2509,9669 2505,9672 2505,9675 2509,9670 2510,14670 2513,14675 2512,14671 2512,14673 2513,14671 2517,14674 2515,14679 2520,14676 2524,17676 2519,17677 2520,17678 2523,10558 12497,13558 12492,13558 12490,13560 12494,13561 12499,13563 12503,13568 12508,13572 12512,13572 15512,13573 15515,13569 15518,13566 15522,13571 15522,13572 15522,13575 15527,13576 15532,13573 15534,13575 15535,13572 15538,13574 15541,13571 15546,13571 15541,13568 15541,11605 16581,11608 16576,11613 16575,11612 16577,7612 16581,7614 16582,7617 16587,7616 16591,7617 19591,7619 19595,7620 19598,7624 19598,7625 19599,7624 19595,7625 14595,7627 14597,7626 14599,7628 14604,7628 14605,7633 14610,7632 14615,7632 14620,7631 14621,7631 14621,7631 14621,7627 14621,7632 15621,7635 15626,7636 15627,7637 15631,7633 15636,7635 15636,7631 15631,7631 15631,7634 18631,7630 18632,7629 18633,7632 18630,7633 18631,7638 18632,7638 18632,7638 18633,7633 18638,7637 18642,7639 18639,7639 18641,7643 18643,7647 20643,7648 20647,7643 20643,7648 20640,7649 20645,7650 20641,7650 20642,7650 20645,5650 20646,5654 20646,5654 20643,5651 20645,5648 20645,5653 20650,5653 20650,5654 20653,5655 20655,5659 20660,5664 20664,5668 20669,5668 20672,5670 20677,5675 20677,5678 20677,5680 20678,5680 20680,5679 20680,5682 20683,5681 20681,5682 20682,5685 20682,5685 20687,5685 20691,5685 20694,5685 20696,5685 20698,5686 20697,5688 20698,5688 20697,5688 20696,5689 20696,5694 20701,5695 20700,5697 20704,5697 20708,5694 20708,5694 20708,5694 20713,5691 20713,1691 20713,1689 23713,1694 23714,1696 23714,593 1402,593 1406,595 1410,598 1413,603 1418,602 1422,601 1422,602 1418,606 1423,607 1424,603 1429,605 1433,609 1429,614 1429,610 1429,610 1429,614 1429,610 3429,612 3425,616 3429,620 3429,624 3432,628 3436,628 3436,628 3441,632 3441,628 3445,626 445,631 449,631 453,630 455,626 -1545,630 -1542,630 -1538,630 -1542,630 -1541,633 -1536,631 -1534,626 -1536,630 -1535,630 -1532,635 1468,637 1471,642 1476,642 1477,642 1478,643 1481,643 4481,638 7481,638 7483,643 7486,645 7484,9668 27534,9669 27537,9671 27538,9672 27539,9673 27544,9674 27544,9673 27546,9671 27546,9667 27542,9666 27546,9667 27543,9672 27544,9675 27548,9676 27546,9676 27541,9681 27538,9681 27540,9686 27544,9686 27547,9690 27544,9687 27545,9691 27549,9693 24549,9694 24546,9692 24548,9697 24553,9694 24555,9695 24560,9696 24555,9700 24551,9704 24547,9703 24549,9705 24551,9705 24554,9705 24554,9705 24557,9707 24561,9706 24557,9711 24562,9715 24566,9720 24568,9717 24569,9720 24573,9725 24573,9726 24575,9729 24577,9734 24575,9735 24578,9735 24582,9731 24583,9726 24586,9727 24586,9728 24589,9733 24592,9734 28592,9734 28592,13734 28594,13737 28595,13740 28595,13744 28598,13739 28600,13742 28601,13744 28597,13742 28602,13744 28602,13744 28598,13745 28603,13744 28608,13749 28609,13749 28609,13754 28606,13758 28610,13759 28609,13760 23609,13761 23611,13763 23616,13768 23618,13769 24618,13768 24617,13773 24613,13773 24613,13778 24617,13776 24620,13778 24619,13779 24620,13781 24625,13785 24625,13785 24622,16785 24617,16786 24617,16790 24617,16794 24622,16795 24626,16798 24630,16796 24631,16796 24636,16799 24638,16804 24637,16808 24637,16809 24632,16814 24627,16809 24627,16814 24632,16818 24628,16816 24627,16820 24622,16820 24627,16824 24632,16823 24637,16824 24642,16826 24644,16824 24648,16826 24648,16826 24652,16829 24652,16829 24656,16828 24651,16832 24653,16827 24648,16828 24645,16828 24647,16831 24645,16832 24649,16835 24653,16839 24656,16839 24654,16840 24659,16841 24658,16845 27658,16845 27658,16840 27659,16837 27659,19837 27654,19841 27654,19836 27657,19839 27659,19839 32659,19839 32659,19839 32664,19840 32668,19842 32671,19847 32671,19851 32673,19856 29673,19856 29670,19858 29675,19860 29676,19865 29677,19868 29677,19868 29674,19872 29675,19872 29674,19874 29669,19876 29667,19876 29670,19878 29675,19883 29675,19883 29675,19879 29676,19879 29673,19880 29674,19880 29679,19876 29676,19876 29677,19879 29673,19880 29677,19879 29678,19881 29681,19882 29683,19882 29681,19887 29681,19888 29681,19891 29684,19896 29688,14896 29689,14896 29693,14899 30693,14903 30698,14908 25698,14910 25698,14911 25698,14914 25699,14910 25695,14910 25696,14914 25697,14917 25692,14921 27692,14925 28692,14920 28694,14924 28698,14924 28699,11924 28697,11928 28692,11932 28687,11937 28691,11941 28694,11940 28699,11944 28701,11940 28701,11940 28701,11943 28699,11945 28703,11947 28706,11951 28711,11953 28714,11956 28709,11961 28708,11966 28703,11969 28705,11967 28709,11967 28714,11964 28719,11969 28719,14969 28720,14970 28717,14973 28714,14976 32714,14976 32711,14977 32711,14980 32709,14984 32709,14987 32711,14988 32715,14993 32719,14994 34719,14994 34721,12994 34724,12994 34726,12998 34727,13000 34729,13002 34729,17002 34732,16998 34736,16999 34735,17000 34740,16999 32740,17001 32745,17001 32741,17005 32746,17006 32751,17010 33751,17008 33754,17013 33758,17013 33760,17010 33759,17010 33759,17009 33762,17013 33766,17017 33766,17020 33762,17015 33766,17019 33762,17022 33762,17017 33766,17014 33762,17018 33767,17019 33764,17021 33764,17023 33764,17019 33764,17022 33760,17024 33758,17029 33759,17033 33760,17028 33764,17023 33764,17028 33769,17031 33774,17034 33778,17029 33780,17034 33783,17030 33785,17032 33781,17035 33776,17038 33775,17040 33775,17041 33778,17045 33778,17049 31778,17050 31782,17052 31780,17054 31781,17051 31783,17053 31783,17049 31779,17050 31779,21050 31782,21053 31783,21054 31778,21056 31781,22056 31786,22052 31783,22050 31786,31882 25804,31887 25800,31887 25801,9610 10543,9612 10548,9614 10553,9614 10558,9614 10553,9616 10556,9620 8556,9623 8554,9628 8559,9630 8564,9630 8568,9628 8566,9628 8570,9630 8574,9634 8574,9634 8570,9635 8569,9635 8566,9632 8568,9637 8571,9638 8572,9639 8568,9643 8568,9646 8572,9646 8570,9651 8575,9650 8578,9653 8581,9654 8583,9653 8586,9655 13586,7655 13586,7660 13591,4660 13590,4663 13590,4666 13592,4671 13597,4673 13596,4678 13599,4682 13600,4685 13601,4683 13603,4685 18603,4683 18604,4685 18606,4690 18608,4690 23608,4693 23606,4693 23606,4697 23603,4702 23608,4704 23613,4704 23615,4709 23614,4708 23615,4711 23619,4711 23619,4713 23622,4713 23626,4711 23630,4715 23631,4712 23635,4714 23640,4718 23640,4719 23642,4721 23640,4721 23639,4726 23644,4730 23648,4725 27648,4723 27648,4727 27651,4731 27654,4733 27656,4737 27657,4742 27660,4745 27661,4750 27660,4751 27664,4754 27659,4759 27659,4755 27664,4757 27665,4752 27665,4754 27667,4750 27670,4750 27674,4753 27678,4753 27682,4758 27682,4758 27683,4760 27679,4762 27679,4764 27682,4769 27678,4773 32678,4773 32675,4771 32675,4767 32679,4772 32684,4775 32684,4778 32684,4775 35684,4775 35679,4775 35680,4779 35683,4779 35683,4784 35683,4789 35680,4790 35685,4791 35687,4791 35688,4792 35683,4792 35688,4792 35688,4797 35690,4799 35693,4803 35692,4803 35694,4803 35695,4808 35695,4812 35698,4816 35702,4815 35706,4811 35711,4811 35708,4813 35710,4813 35710,4814 35714,4815 35718,4820 35722,4816 35719,4819 35719,4824 35722,4826 35719,4830 35724,4832 35728,4835 35725,4840 35726,4840 35729,4840 35733,4840 35733,4841 35732,4844 35728,4848 35730,4849 35733,4849 35734,4849 35736,4847 35737,4847 35738,4843 34738,4846 34739,9846 37739,9850 37743,9853 37745,9857 37749,9852 37752,9852 37751,9852 37748,9852 37751,9851 37753,9848 37756,9843 37759,9841 37759,9840 37764,9837 37767,9842 37764,9845 37764,9840 37765,9842 37770,9842 37774,9846 37775,9851 37778,9854 37783,9854 37779,8854 37783,8851 37787,8856 37791,8859 37794,8860 37793,8855 37794,8857 37798,8859 37797,8860 37797,8860 37802,8861 37804,8863 37804,8863 37805,8865 37808,8866 37811,8866 37811,8862 37811,8859 37811,8864 37816,8864 37816,8867 37817,8872 37819,8867 37822,8871 37819,8875 37817,8876 37819,8876 37822,8871 37818,8873 37823,8877 37822,8879 37820,8880 37824,8881 37826,8884 37825,8887 37827,8884 37829,6637 6475,6637 6471,6635 6469,6640 6474,6641 6478,11641 6476,11644 6471,11639 6467,11638 6464,11642 6464,11646 6459,11647 6462,550 1394,551 1395,552 1399,548 1401,552 1400,547 1405,551 1406,556 1407,558 1410,558 1411,560 1413,565 1418,561 1423,-2378 3499,-2378 3502,-2378 3504,-2374 3501,-2371 3505,-2367 3507,4607 5468,4611 5471,4614 5472,4619 8472,4621 8473,4624 8477,4629 8474,4633 8476,4635 8478,4638 8475,4640 3475,4642 3479,4645 5479,4645 5482,4644 5486,4641 5486,4639 5488,4635 5491,4631 5488,8631 5485,8635 4485,8630 4488,8628 4488,8630 4486,8635 7486,8640 7482,8641 8482,8642 8483,8643 8483,8643 8483,8640 8488,8641 8489,8638 8487,8641 8491,500 5370,502 5368,504 5369,504 5371,506 5375,505 5376,509 5381,509 5381,504 5380,505 5375,509 5379,513 5382,513 5382,515 5382,517 5379,3517 5381,3519 5381,3520 5384,3523 5387,3521 5388,3521 5390,3520 5385,3519 5380,4519 5383,4524 5387,4523 5392,4525 5389,4530 5384,4525 5384,4526 5386,4531 5390,4531 5387,4530 5389,4534 5388,4538 5391,4541 5386,4542 5390,7542 5393,7547 5398,7548 5399,7547 5397,7543 5401,7544 5405,7545 5403,7545 5408,7546 5409,7550 5414,3550 5416,3550 5417,3548 5417,3543 5417,3543 5412,3548 5412,548 5412,552 10412,555 10414,557 10410,560 10411,563 10416,2563 10418,2564 10422,2559 10426,2555 10423,2560 10421,2563 10418,2565 10419,2569 10421,2573 10421,2573 12421,2572 12425,2571 12428,2576 12428,2581 12433,2583 12435,2581 12434,2576 12439,2581 12442,2581 12443,2581 12438,2579 12442,2575 12447,2573 12445,2577 12445,2582 12441,2587 12436,2589 16436,2590 16433,2586 16437,2586 16439,2588 16434,2589 16436,2590 16433,2593 16434,2590 16432,2593 16432,2590 16437,2594 16439,2599 16442,2600 16447,2605 16450,2605 16454,2604 16451,2608 16447,2612 16442,2613 16446,2618 16451,2623 16455,2626 16457,2629 16457,2630 16460,2630 16460,2632 16464,2636 16464,2639 16467,2638 16471,2643 16476,2643 16479,2645 16484,2645 16481,2649 16482,2652 16480,2648 16476,2649 16476,2649 16481,2644 16485,6644 16488,6647 16488,6647 20488,6647 20493,6652 20497,6656 20498,6661 20503,6656 20507,6656 20511,6656 20512,7540 11429,9674 12603,11674 12599,11675 12594,11674 12599,11678 12601,11681 12603,13681 12603,13684 12603,13684 12603,13686 12603,13689 12603,13693 12605,13695 12601,13695 12603,13697 12602,13701 15602,13703 15603,13704 15601,13706 15597,13711 15598,13711 15603,13715 15603,13714 15600,13713 15598,13717 15603,13722 15605,13726 15607,13727 15612,13727 15612,13731 15614,13733 15616,13728 15616,13730 15617,13734 15614,13736 15617,13739 15614,13739 15617,13739 15617,13741 15619,13746 15624,13742 15624,13742 15626,13746 15626,13750 15623,13749 15621,13754 15626,12754 15627,12750 15627,12753 15624,12754 15624,12758 15629,12759 15624,12761 15627,12764 15632,12765 15637,12768 15635,12772 15640,12769 15636,12772 15634,12773 15634,12772 15634,12775 15635,12772 15640,12774 15641,12777 15641,12779 15646,12780 15642,12776 15640,12780 15640,12779 15638,12784 15642,12789 15643,12787 15644,12788 15649,12791 15649,12789 15648,12787 15648,12791 15650,7791 15655,7795 15655,7798 15658,7802 15659,7803 15655,7804 15654,2804 15652,2808 15648,2806 15652,2805 15652,2806 15657,2801 15657,2801 15658,2801 15655,2803 15654,2808 15658,2804 15653,2803 15656,2807 15656,2812 15658,2814 15657,2818 15658,2818 15660,2822 18660,2825 18664,2829 18668,2833 18663,2832 18668,2832 18668,2834 18671,2836 18672,2839 18677,2843 18680,2848 18675,2851 18677,2854 18681,2859 18685,2864 18690,2868 18694,2873 21694,2877 21694,2879 21693,2881 21693,2882 21696,2885 21697,2883 21701,2887 21702,2887 21702,2887 21697,6887 21701,6892 21702,6888 21707,3576 10502,3578 10506,3582 10508,3585 10508,3590 10512,3592 11512,3593 11514,3598 11514,3602 11514,3599 11515,3599 11516,3601 11520,3601 11519,3599 11522,3599 11519,3601 11517,3600 11515,3600 11517,3596 11519,3600 11521,3603 11525,3606 11528,3607 11532,3608 11536,3606 11541,3605 11541,3605 11542,3609 11537,3613 11538,3609 11538,3605 11538,3605 11542,3609 11546,3613 11541,3613 11546,3612 11547,3611 11551,3614 11548,3610 11550,3611 11555,3611 11559,3615 11559,3618 11563,3621 11564,3618 11567,3620 6567,3624 6567,3627 6570,3623 6572,3619 6576,3616 6577,3611 6578,3612 6579,3609 6578,3610 6582,3613 6586,3614 6586,3619 6584,3622 8584,3617 8582,3622 8587,3622 8592,3624 8592,3627 8587,3628 13587,3629 13589,3631 13594,3636 13589,3636 13590,3637 13587,3637 13591,3641 13596,3641 13597,3645 13602,3640 13601,3640 13602,3640 13606,3644 13606,3644 13609,3639 13612,3639 13612,3644 13610,3649 13615,3654 13618,3659 13618,3662 13618,3666 13620,3661 13625,3660 13630,3660 13634,3662 13635,3659 13637,3663 13638,3666 13638,3669 13635,6669 13635,6671 13631,6672 13631,6669 13631,6667 13629,6663 13629,6663 13627,6663 13627,6667 13630,6671 13630,6671 13630,6673 15630,6674 15631,6679 15632,6682 15629,6685 15629,6686 15631,6691 15633,11691 15630,11689 15629,11693 15632,11693 15627,11698 15627,11695 15626,11697 15629,14697 15628,14701 15631,14705 15632,14700 15632,17700 15635,17705 15640,17700 15642,17701 15638,17703 15640,17708 15641,17712 16641,17716 21641,17716 21645,17721 21645,17720 21650,17720 21653,17720 21653,17722 21653,17718 21654,17721 21657,17723 21657,17724 21657,17720 21659,17723 21663,17725 21660,17725 21661,17723 21661,17727 21665,17727 21665,17731 21669,17729 21671,17731 21671,17727 21671,17727 21667,17726 21670,17722 21671,17727 21671,17732 21671,17737 21671,17739 21674,17741 21676,17746 21680,17750 21683,17745 21681,17745 21678,17750 21679,17753 21681,17758 21677,17760 21682,17764 21681,17763 21681,17763 21684,17766 21680,17768 21684,17764 21688,17769 21691,17771 21695,17773 21691,17776 21690,17777 21695,17781 21695,17784 21695,17784 21695,17786 21699,14786 21695,14786 21692,14786 21690,14788 21691,14788 21696,14793 21698,14798 21701,14796 21699,14800 21702,14796 21704,14800 26704,14805 26699,14810 26700,14810 26698,14814 24698,14814 24702,14814 24705,14815 24700,14819 24703,14822 24705,14826 24710,14831 24709,14833 28709,14835 28710,14838 28708,14839 28708,14842 28709,14847 28713,14843 28714,14847 28712,14850 28717,14847 28713,14851 28711,14854 28706,14853 28702,14848 28697,14852 28702,14857 28706,14857 28710,14858 27710,14861 27711,14864 27714,17864 27715,17864 27716,17864 27713,17869 27715,17870 27719,17871 27720,17869 27720,17872 27724,17871 27729,17873 27729,17875 27733,17877 28733,17881 28730,17881 28727,17884 28728,17886 28733,17886 28734,17891 28735,19891 28735,19892 28731,19896 28732,19891 28736,19895 28740,19898 28737,22898 28738,22898 26738,22898 26733,22899 26738,22900 26738,22901 26742,22901 26744,22896 26744,22899 26746,22901 26751,22899 26754,22904 26756,22906 26761,22909 26761,22914 26766,22915 26765,22918 26768,22913 26768,22915 26763,22920 26763,22917 26764,22921 26765,22922 26769,22918 26764,22920 26765,22919 26768,26919 26771,26922 26774,26927 26779,26924 26778,26924 26780,26920 26782,26924 26787,26922 26788,26925 26792,26927 26787,26928 26790,26933 26794,26933 26795,26936 26795,26939 26800,26939 26798,26936 26798,26939 26795,26937 26795,26937 26793,26937 28793,26939 28791,26940 28793,26937 28796,26937 28797,26935 28798,26930 28798,26934 28802,26934 28807,26936 28811,26940 28812,26937 28815,26939 28814,26934 28812,26938 28817,26942 28822,26943 28822,26948 28822,26952 28824,26953 28824,26953 28829,26950 28834,26954 28839,26954 28839,26949 29839,21949 32839,21951 32838,21951 32843,21951 32844,21951 32849,21951 32854,21953 32854,24953 32852,24953 32851,24957 32853,24962 32854,24963 32849,24967 32847,24970 32849,24966 32849,24967 32852,24963 32856,24965 32860,24968 32861,24971 32860,24974 32860,24978 32863,24980 32859,24981 32864,24981 32868,24983 32866,24988 32866,24988 32869,24991 32874,24992 32878,24992 32881,24992 32877,24988 32880,24991 36880,24991 36883,24991 36885,24992 36889,24996 36894,24995 36894,24998 36894,24999 41894,25004 41899,25006 41900,25010 41905,25005 41909,25007 41912,25008 41916,25009 41919,25011 41917,25016 41919,25017 41916,25014 41919,25015 41919,25017 41919,25018 41924,25023 41927,25026 41928,25026 41929,25021 41926,25020 41926,25023 41928,25019 41933,25018 41932,638 7483,639 7484,640 7482,644 7484,646 7486,651 7486,554 1390,549 1391,547 1392,551 1397,3551 1394,3553 6394,3550 6399,3554 6399,3553 6403,3553 6400,3550 6403,3554 6398,3555 6402,3559 6403,3564 6405,3564 6410,3560 6412,3565 6412,3564 6407,3567 6407,3572 6410,3576 6412,3578 6413,3580 6414,11674 22654,11679 22654,11679 22654,11679 22656,11684 22658,11689 22661,11694 23661,11697 23658,11697 23661,11698 23664,11700 23667,11695 28667,11698 28671,11699 28672,11704 28675,12704 28671,12708 28669,12710 28673,12707 28678,12708 28678,12710 28677,12710 28677,12712 28675,12713 28679,12715 28676,12715 28680,12719 28681,12724 28678,12728 28673,12733 28676,12733 28673,12734 28673,12739 28677,12743 28679,12744 27679,12741 27680,12741 27680,12740 27682,12741 27678,12740 27680,7740 27684,7743 27686,7738 27683,7740 27683,7740 27686,7736 27690,7736 27693,7739 27691,7735 27686,7739 27686,7737 27686,7737 27688,7732 27689,7732 27689,7731 27684,7736 27689,7741 27692,7739 27697,7740 27702,7738 27703,7741 27706,7746 27704,2626 16457,2627 16460,2623 16461,2618 16461,2620 20461,2622 20457,2623 20457,2628 20457,2632 20462,2629 20462,2630 20462,2628 20457,2633 20460,2632 20460,2637 20460,2639 20457,2639 20457,2639 20461,2641 20460,2646 20460,2651 20461,2650 20461,2651 20464,2656 20460,2660 20463,2665 20464,2667 20464,2668 21464,2671 21468,2676 21471,2673 21476,2590 16437,2591 16434,2596 16436,4596 16438,4600 16439,4600 16439,4601 16439,4599 16435,4599 16440,4597 16441,4598 16446,4598 16447,4595 16445,4590 16447,4594 16447,4595 16447,4598 16447,4598 16449,4596 16451,4598 14451,4596 14456,4598 14457,4594 14452,4598 14457,5598 14457,5598 14458,2598 14463,2600 14463,2603 14464,2598 14465,2595 14470,2590 14467,2594 14470,2595 14471,2598 14473,2598 14473,2599 14473,1599 14474,1599 14472,1600 14467,1599 14470,1601 14468,1599 14463,1601 14461,1601 14461,1601 14466,1602 14468,1606 14473,1602 14473,1600 14475,1595 14478,1599 14479,1596 14479,1596 14484,1596 14488,1601 14489,1604 18489,1606 18492,1604 18492,1605 18496,1605 18496,1608 18501,1603 18498,1608 18500,1612 18497,1608 18492,1604 18494,1609 18497,1609 18499,1606 18499,1608 18501,1610 18503,1606 18499,1610 18500,1614 18501,1617 18497,1620 18498,1616 18501,1614 18496,1615 18500,1617 18497,1619 18498,1617 18501,1622 18506,1622 20506,1625 20506,1625 20509,1627 20513,1631 20514,1633 20519,1637 20520,1639 20525,1643 24525,1638 24520,1642 24520,1647 24525,1650 24529,1654 24530,1657 24533,1656 24538,1659 24542,1659 24545,1662 24550,1666 24551,1666 24552,1666 24557,1666 24562,1666 24565,1669 24568,1672 24569,1672 24569,1676 24566,1676 24570,1678 24565,1676 24567,1673 24567,1674 24572,1679 24577,1679 24578,1683 24581,1684 24586,1688 24590,1690 27590,1685 27594,1688 27594,1683 27594,1686 27597,1688 27600,1692 27599,1696 27600,1695 27604,1695 27609,1698 27610,1701 27610,1705 27609,1706 27605,1709 27600,1714 27600,1716 27602,1717 27601,1712 27597,1714 30597,1711 30600,1713 30600,1713 30604,1714 30604,1716 30602,1713 30605,1710 30606,1713 30609,1709 30607,1713 30604,1714 30609,1717 30609,1717 30613,1721 30615,2721 30620,2718 30623,4718 30628,4723 30624,4727 30619,4728 30618,4728 30615,4728 30619,4729 30618,4731 30622,4731 30625,4734 30625,4734 30630,4735 30627,4736 30631,4735 30636,4730 30641,4727 30641,4729 30646,4731 30650,4736 30651,4740 30648,4737 30648,4738 30647,4741 30649,5741 30646,5744 30648,5745 30651,10745 30651,13745 30653,13749 30651,13754 30652,13754 30657,13754 30657,13758 30653,13761 30656,13766 30655,13768 30659,13769 30662,13771 30659,13771 30661,13771 30665,13768 30670,13768 30667,13772 30670,13776 30672,13775 30672,13777 30675,13780 30679,13783 30677,13784 30678,13784 30674,13788 30674,13788 30678,13784 30678,13787 30683,13792 30683,13791 30679,13794 30679,13795 30682,13795 30686,13798 30691,13803 30692,13807 30694,13810 30694,13810 30692,13813 30694,13813 30689,13816 30689,13820 30689,13822 30692,13826 30696,13822 30701,13827 30704,13832 30707,13832 30707,13828 30707,13831 30712,13831 30709,13834 30706,12834 30707,12839 30703,12843 30707,12843 30703,12843 30706,12848 30710,12849 30715,12853 30713,12853 30716,12852 30718,12849 30721,12849 30719,12852 30719,12853 30714,12856 30712,12856 30714,12857 30719,12862 30720,12865 25720,12863 25723,12864 25724,12868 25729,12869 25731,12868 25736,12869 25739,12865 25737,12863 25739,12866 25743,12862 25747,12867 25747,12867 25748,12867 25748,12870 25748,12866 25748,12869 25749,12869 25751,12874 25754,12875 25758,12877 25761,12878 25763,21745 15645,21749 15645,21753 15646,21753 15648,21758 15652,21754 15654,21759 15654,21762 15658,21766 15663,21761 15663,21761 15665,21758 15666,21761 15668,21763 15666,21765 15662,21770 15666,21773 15671,12742 4678,12743 4682,12740 4687,12745 4692,12745 4688,12748 4689,12748 4692,12752 4696,12754 4697,12754 4700,12758 4703,12758 4703,12762 4704,12762 4709,12762 4711,12760 4713,12760 4717,12764 4713,12767 4712,12767 4712,12768 4715,12767 4720,12770 4716,12770 4712,2569 10421,2572 10423,2576 10424,2579 10428,2580 10423,2582 10424,2578 10422,2577 10426,2577 10428,2580 10433,2580 10433,2581 10432,2580 10435,2584 10435,2588 10439,2587 10444,2592 10445,2589 10446,2591 10447,2594 10446,2597 10445,2599 10440,2602 10443,2603 10443,2605 10444,2605 10449,2607 10449,2602 7449,2605 7449,2608 12449,2605 16449,2605 17449,2605 17450,2608 17454,2612 17459,2607 17459,2608 17456,2613 17457,2617 17459,6617 17462,6621 17467,6621 17468,6626 17464,6622 17465,6622 17465,6623 17469,6623 17466,6623 17467,6627 17466,6623 17466,6626 17463,6622 17468,6625 17464,6627 17468,6625 17463,6626 18463,6624 18463,6625 18464,6623 18468,6623 18469,6626 18470,6621 18466,6621 18467,6622 18467,6625 18464,6630 18468,6628 18469,6631 18472,6627 18477,6628 21477,6631 21481,6627 21486,6628 21490,6632 21494,6637 21496,6640 21491,6643 21491,6648 21490,1648 21492,1650 21489,1650 21487,1654 21488,1653 21489,1653 21492,1650 21493,1655 21493,1650 21493,1651 21490,1651 21490,1649 21493,1645 21498,1649 21494,1652 21495,1654 21500,1655 21495,1658 21492,1663 21496,1666 21500,1666 19500,1664 19504,1668 19508,1668 19512,1666 19516,1669 19518,1669 19518,1674 19520,1674 19525,1676 19525,1679 19526,1679 19526,1681 19526,1686 19526,1691 19529,1689 19529,1688 19529,1685 19524,1690 19528,1693 19531,1693 19531,1698 20531,1699 20536,1703 20538,1703 20538,1706 20541,1701 20545,1702 20550,1704 20547,1705 20544,1710 20548,1710 20551,1713 20555,1712 20559,1714 20562,1714 20563,1714 20565,1712 20567,1711 20570,1706 20571,1708 20571,1708 22571,6708 18571,6712 18571,6715 18573,6710 18577,6711 18579,6711 18579,6716 18578,6721 18580,6721 18582,6726 18587,6731 18588,6736 18587,6734 18587,6736 18590,6739 18594,6744 18597,6744 18602,6746 18606,6749 18606,6750 18609,6750 18610,6753 18605,6755 18610,6759 18613,6759 18613,6759 18617,6763 20617,6767 20621,6771 20625,6773 20628,6769 20629,4769 20633,5769 20635,5769 20637,5770 20640,5772 20643,5772 20646,5772 20644,5776 20641,5779 20643,5784 20642,5786 25642,5786 25645,5791 25647,3791 25651,3791 25652,3794 25648,3793 25644,3791 30644,3796 30649,3796 30654,3800 30655,3800 30657,3797 30657,3797 30659,3800 30661,3803 30661,3803 30657,3800 30652,3801 30652,3802 30653,3807 30654,3809 30657,3804 30656,3801 30657,3803 30657,3803 30658,3804 30663,4804 30663,4809 30665,9809 30665,9809 30669,9812 30673,9816 30676,9816 30676,9816 30677,9818 30682,9818 30683,9817 30687,9813 30692,9817 30692,9814 30693,9816 30693,9818 30697,9818 30699,9818 30696,9816 30694,9811 30694,9812 30694,9816 30697,9821 30700,9824 30702,9827 30707,9827 25707,9827 25711,9828 25709,9823 25713,9827 25712,9830 25714,9827 25712,9832 25717,9836 25719,9836 25722,11836 25725,11838 25727,14838 29727,14835 29728,14838 29724,14843 29724,19843 29724,19846 29728,19847 29732,19851 29737,19855 29738,19858 29735,19853 29735,19853 29737,19852 29739,19850 29744,19850 29744,19854 29747,19859 29752,19861 29750,19864 29751,19869 29752,19864 29756,19865 29757,19868 29758,19868 29758,19871 29763,19874 29764,19877 29766,19879 29763,19880 29763,19881 29765,19886 29765,19881 29765,19881 29768,19880 29773,19875 29775,19879 29776,19883 29776,19887 29781,19890 29784,19890 29789,19892 29784,19897 29785,19893 29785,22893 29787,22895 29792,22895 29788,22895 29789,22895 29793,22900 29793,25900 29790,25901 29794,25902 29794,25905 29794,25907 29798,25912 29799,25910 29804,25915 29809,25918 29807,25917 29808,25921 29808,25925 29812,25926 29816,25926 29819,25921 29821,25926 30821,25929 30823,25933 30822,25935 30823,25937 30818,25937 30818,25939 30819,25939 30824,25941 30819,25943 30823,25946 30824,25946 30829,25947 30829,25947 30830,25952 30833,25953 30831,25954 30836,25959 30836,25964 30836,25961 30836,25965 30837,25964 30835,29964 30839,29968 30842,31968 30847,31967 30844,31972 30844,31972 30840,31977 30839,31982 30842,31987 30844,31987 25844,31984 25848,31987 25848,31992 25845,31993 25846,31997 25846,31997 25849,31996 25851,31995 25855,32000 25858,31995 25859,31996 25856,31997 25858,31999 25858,31998 25858,32001 25859,32003 25863,32002 25866,32003 25867,32008 25867,32011 25870,32014 25875,32013 25874,34013 25873,34013 25876,34011 25878,34011 25880,34012 25885,34016 27885,34011 27884,39011 27888,39008 27884,39011 27879,39011 27876,39011 27880,39014 27879,39013 27879,39014 27879,39015 27882,39019 27886,39020 27888,39020 27893,39025 27895,39030 27896,39030 27896,39031 27892,39036 22892,39039 22894,39038 27894,39043 27895,39048 27900,39044 27905,39046 27907,39041 27910,39044 27910,39043 27915,-2382 3462,-2377 3465,-2373 3468,-2371 3469,1629 3470,1632 3472,1630 3469,5630 3473,5635 3474,5638 3474,5639 3469,5643 3473,5643 3473,5639 3477,5639 3477,5639 3480,5642 3479,5644 3481,5649 3480,2649 3485,2649 3485,2650 3489,2653 3491,506 5375,510 5380,513 5382,518 5384,522 5387,521 5384,524 5385,525 5382,523 5384,527 5384,527 5386,4527 5391,4528 5393,4533 2393,4534 2389,4537 2393,4538 2395,4541 2400,4543 2404,4544 2405,4548 3405,4553 3410,4556 3406,4561 3406,4558 3410,4559 3410,4558 3408,4558 3413,4563 3413,4561 3418,4563 3423,4565 3426,4565 3428,4570 3432,4570 3433,4574 3437,4579 3439,4583 3443,4578 3444,4582 3447,4583 3447,4585 3443,4590 3448,4586 3448,4588 3449,5588 3449,5589 3454,5593 3456,5591 3457,5591 3458,7591 3461,7594 3457,7596 3459,7591 3458,7590 3460,7593 3460,7593 3463,7590 3464,7586 3466,7581 3467,7580 3466,7580 3466,7585 3470,7585 3472,7589 3468,7589 3471,7594 3474,7599 3474,7600 3471,7603 3471,7606 3471,7606 3472,7606 3474,7606 3479,7609 3482,7612 6482,7614 6485,11614 6481,11619 6486,11624 6486,11621 6489,11623 6491,11628 6491,8628 6496,8632 6498,8629 6502,8632 6502,8627 6505,8631 6506,8633 6502,8633 6507,8631 6512,8631 6512,8626 6514,8621 6515,8620 6513,8615 6514,8611 6519,8612 6522,8613 6522,8616 6522,8611 6519,8614 6519,8615 6521,8618 6525,8623 6526,8628 6521,8631 6517,8634 6520,8634 6525,8637 6526,8636 6528,8640 6533,8643 6534,8643 6531,8642 6532,8643 6535,8643 6535,8640 6531,8641 6531,8641 6534,8644 6537,8647 6541,8648 6536,8649 6537,8649 6542,8644 6546,8644 6546,13644 6548,13642 6549,13638 6548,13636 6549,11636 6549,11636 6554,11633 6554,11636 6554,11641 7554,11642 7558,11641 7553,11643 7556,11644 7556,11639 7556,11641 7558,11641 7559,11641 7563,11638 7560,11639 7564,11642 7569,12642 7574,7642 7576,7642 7574,7643 7577,7645 7577,7650 7576,7645 7576,7648 7576,7650 7581,7651 7576,7654 7581,7658 7581,7661 7583,7662 7584,7664 7586,7661 7586,7662 7589,7666 7585,7669 7585,7670 7585,7670 7587,7670 7587,7670 7591,7667 7595,7672 7595,7677 7600,7679 7597,7684 5597,7682 5600,7685 5601,7688 5601,7691 5604,7696 5605,7700 5607,7703 5602,7704 5602,7701 5606,7702 5607,7706 5609,7710 5614,7713 5610,7716 5615,7717 5616,7719 5621,7724 5621,7724 5618,3724 5623,3722 5625,3725 5626,3730 5628,3727 5633,3727 5636,3729 5638,6729 5639,6732 5642,8732 5644,8732 5649,8729 5650,8734 5645,8736 5644,8739 5644,8741 5645,8745 5650,8743 5652,8739 5651,8744 5652,8744 5653,8745 5649,8748 5651,8749 5652,8750 5655,8753 5660,8753 5662,8755 5660,8757 5657,8758 5654,8762 5659,8760 5660,8761 5664,8765 5669,8768 5669,8768 5669,8769 5673,8769 5678,8772 5678,8769 5683,8774 5683,8776 5687,8777 7687,8779 7691,10779 7686,10779 7686,10780 7686,15780 7690,15781 7695,15779 7699,15783 7702,15788 7705,15791 7705,15786 7709,15788 7707,15793 7710,17793 7711,17794 7712,17799 7713,17800 10713,17802 10713,17802 10715,17803 10715,17808 10716,17811 10717,17811 14717,17811 14722,17811 14722,17815 14725,17819 14726,17820 14727,17822 14727,17817 14731,17818 14731,17818 14729,17820 19729,17818 19725,17822 19728,17818 19723,17821 19720,17821 19725,17824 19725,17821 19728,17821 19725,17825 19725,17830 19725,17834 19729,17836 19730,17837 19730,17841 19725,17844 19730,17849 19734,17853 19734,17856 19737,17858 19732,17858 19732,17863 19732,17868 19733,17873 19735,17874 19740,17878 19742,17883 19742,17879 19747,551 1397,551 1398,552 1401,553 1401,553 1398,552 1398,555 1402,556 1406,557 1409,558 1413,558 1416,558 1418,558 1420,563 1421,566 3421,568 3421,570 3426,572 3429,5572 3433,5576 3433,5579 3436,5579 3441,5583 3444,5580 3445,5585 3450,5589 3453,5593 3454,5597 3459,610 1429,612 1431,607 1430,607 1430,609 1426,605 1425,607 1425,602 1420,604 1423,-2378 3502,-2377 3503,-2378 3507,-2373 3508,-2375 3512,-2370 3516,-2373 3517,-2369 3514,-2370 3517,-2367 3519,-2366 3524,-2366 3529,-2362 3534,-2365 3536,-2370 3534,-2370 3531,-2366 3528,-2370 3532,-2366 3535,-2361 3533,-2361 3537,-2361 3540,-2358 3541,-3358 3543,-3355 3544,-3355 3542,-3355 3541,-3352 3546,-3348 3548,-3350 3551,-3346 3553,-3347 3553,-3342 3548,-3337 3548,-3338 3547,-3338 3547,-3334 3552,-3333 3552,-3332 3550,-3331 3550,-3329 3550,-3326 3552,-3325 3554,-3320 3556,-3315 3560,-3313 3565,-3312 3560,-3315 3563,-3315 3559,-3318 3564,-3321 4564,-3321 4569,-3317 4568,-3312 4573,-3311 4576,-3311 4575,-3308 4571,-3304 4572,-3299 4576,701 4580,703 4582,708 4582,711 4583,715 4587,716 4591,721 4587,717 4590,715 4594,715 4594,719 4598,719 4600,720 4604,717 4606,718 8606,722 8604,726 8600,727 8605,731 8609,731 8609,733 8611,738 8611,739 8612,734 12612,734 12617,730 12622,729 12622,732 12625,-268 12627,-263 12627,-264 12625,-261 12622,-260 12622,-265 12625,-264 12622,-264 12624,736 12622,733 12623,734 12626,730 12628,731 12632,732 12637,730 12637,733 12634,732 12635,732 12635,734 12635,733 12636,731 12639,734 12639,733 12642,734 14642,736 14646,739 14651,743 14654,-2257 14651,-2252 14651,-2252 19651,-2249 19656,-2249 19653,-2245 19650,-2248 19651,-2243 19656,-2241 19661,-2238 19664,-7238 19668,-7236 19666,-7231 19661,-7231 19666,-7227 19671,-9227 19672,-9223 19676,-7223 19675,-7223 19677,-7218 19677,-7219 19677,-7216 19673,-7214 19677,-7210 19674,-7206 19671,-7205 19673,-7203 19677,-7206 19680,-7202 19680,-7197 19685,-7197 19686,-7196 16686,-7201 16687,-7201 12687,-7198 12682,-7198 12682,-7193 12682,2673 15591,2673 15594,2673 15597,2671 15599,2666 15601,2670 15606,2669 15607,2670 15607,2673 15602,2670 15604,2671 15601,2672 15602,2667 15600,2672 15602,2675 15598,2675 15600,2678 15600,2677 15602,2673 17602,2678 17602,2677 18602,2681 18606,2682 18611,2685 18616,2686 18612,2688 18611,2686 18615,2686 18612,2687 18609,2688 18608,2688 18609,2688 18613,2693 18615,2693 18620,2691 18620,2696 18620,2698 18619,2695 18622,2700 18625,2704 22625,2709 25625,2709 25626,2710 25628,2710 25629,2714 25625,2715 25625,2713 25627,2714 25630,2718 25635,2723 30635,2723 30639,2726 30634,2727 30637,2728 30639,2732 30639,-1268 30642,-1266 30646,-1269 30643,-1269 30642,-1271 30642,-1269 30643,-1269 30645,-1269 30648,-1267 30647,-1265 30644,-1269 30648,-1268 30644,-1269 30644,-1269 30642,-1266 30641,3734 30637,3739 30640,3743 30641,3748 30646,3753 30650,3751 30653,3751 30652,3756 30647,3757 30648,3759 30653,3761 30656,3762 30655,3762 30653,3763 30650,3766 30652,3770 30657,3770 30657,3770 30653,3773 30650,3776 30650,3778 30650,3774 30655,3775 30657,3776 30660,3781 30662,3785 30665,3790 30670,5790 30672,5794 30675,5798 30680,5803 30675,5802 30673,5801 30677,5803 30679,5808 30677,5805 34677,5810 34677,5811 34682,5812 34684,5816 39684,5816 39687,5814 39690,5810 39695,5811 39696,5816 39700,5821 39705,5824 39707,5826 39711,5828 39708,5829 39709,5834 39712,5838 39715,5839 39718,5840 39720,5839 39722,5839 39722,5835 42722,5833 44722,5829 44722,5828 44722,5833 44724,5835 44727,5835 44731,2835 44729,3835 44731,3836 44736,3841 44739,3839 44736,3839 44736,3836 44736,3837 44737,3841 44737,3842 44733,3840 44735,3843 44730,3842 44732,6842 44734,6841 44735,6846 44737,6848 44737,6851 44740,6850 45740,6853 45741,6853 45741,6848 45743,6852 45744,6857 45746,6855 45747,6853 45750,6857 45754,6859 45752,6863 45751,6861 45751,6861 45748,6858 45752,6861 45750,6858 45750,6862 45750,6862 45753,6864 45757,6861 45762,6864 45762,6867 45761,6872 45763,6877 45758,6882 45761,6883 47761,6886 47761,6888 47762,6893 47767,6897 48767,6897 48772,6902 48771,6903 48773,6904 48773,6904 48777,6899 52777,6899 52777,6903 52773,6903 52773,7903 52773,7908 52771,7903 52772,7904 52774,7899 52776,7895 52776,7895 52781,7894 52778,7898 52783,7902 52785,7906 52790,7907 52792,11907 52797,11908 52801,11911 52800,11916 52804,11911 52806,11913 52808,11913 52805,11913 52809,11909 52812,11911 52812,11908 52815,11913 52817,11917 52820,11918 52820,11922 52825,11926 52823,11931 52827,11931 52826,11934 52823,11936 52818,11938 52819,11940 52823,11943 52828,11938 52833,11940 52835,11944 52832,11941 52831,11936 52831,11936 52833,11934 52836,11938 52839,11940 52840,11943 52840,11943 52841,11945 52844,16945 52844,16942 52839,18942 52838,18945 49838,18950 49841,18950 49844,18951 49845,21951 49847,21956 49848,21961 49846,21961 49851,23961 49852,23961 49856,23966 49860,23969 49865,23965 49866,23970 49862,23975 49859,23975 49859,23978 44859,23979 44862,23981 44862,23984 44867,23980 44871,23983 44875,23988 44875,23992 44877,27992 44878,27989 44881,27985 44886,27986 44888,27984 44888,29984 44889,29984 44889,29985 44893,29990 44888,29994 44892,29997 44896,30001 44895,30002 44900,30003 44904,30004 44907,30008 44904,30009 44904,30010 44905,30010 44908,30007 44908,30011 44905,30014 44908,30016 44909,30021 44912,30023 44913,30025 44912,30024 44910,30022 44914,30026 44912,30025 44912,30029 44912,30029 44915,30033 44920,30038 44924,30043 44926,30047 44928,30043 44930,30047 44932,30050 44934,30050 48934,30046 48935,30051 48935,30051 48935,30055 51935,30054 51931,1610 18503,1614 18504,1616 18504,1619 20504,1619 20504,1619 20505,1620 20509,1620 20511,1618 20511,1619 20508,2619 20511,2615 20516,2612 20515,2612 20515,2617 20512,2622 20515,2617 22515,2620 22516,2622 22519,2626 22522,2624 22522,2619 22524,2623 22519,2621 22519,2622 22516,2620 22512,2622 22517,2622 22522,2626 22522,2630 22522,-370 22526,-1370 22531,-1375 22531,-1371 22527,-1366 22527,-1362 22531,-1361 22528,-1362 22524,-1367 22528,-1367 22530,-1367 22533,-1367 22535,-1363 22540,-1363 22536,-1363 22539,-1358 22541,-1358 22541,-1355 22543,-1355 22538,-1355 22541,-1356 22544,-1357 22548,-1354 22553,-1353 22557,-1353 22561,-1355 22562,-1352 22566,-1351 22568,-1349 22569,-1347 22568,-1346 22566,-1351 22565,-1347 22566,-1348 22567,-1351 22569,-1346 22565,-5346 22567,-3313 3565,-3311 4565,-3308 4568,-3304 4571,-3307 4572,-3307 4573,-3303 4573,-3304 4578,-3300 4578,-3301 4578,-3301 4583,-3301 4581,-3297 4585,-3295 4580,-3295 4575,-3295 4573,-3293 4575,-3290 4580,-3285 4580,-3284 4582,-3284 4581,-3280 4580,-3285 4579,-3285 4579,-3284 4584,-3288 4588,-3286 4588,-3283 4584,-3279 4584,-3278 4588,-3279 4588,-3274 4586,-3270 4589,-3270 4590,-3268 4587,-3270 4591,-3267 5591,-3265 5591,-3261 5592,-3259 5593,-3259 5590,-3258 5595,-3256 5599,-3253 5601,-3252 5600,-3252 5603,-3252 5603,-3255 5601,-3250 5600,-3247 5605,-3242 5606,-3241 5608,-3243 5612,-3242 5612,-3245 5614,-3242 5619,-3243 5623,-2243 10623,-2242 10626,-2247 10626,-2247 10630,-2244 10634,-2248 10639,-2248 10636,-2248 10641,-2244 10646,11598 14558,11594 14563,11596 14568,11597 14569,11600 18569,11601 18570,11599 18566,11602 18568,11607 18567,11611 18572,11614 18573,11612 18569,11615 18570,11614 18573,11617 18577,11621 18577,11617 18574,11615 18579,11619 18583,11615 18587,11615 18587,11620 18588,11621 18589,11617 18593,11620 18597,11622 18599,11626 18603,11621 18603,11625 18607,11628 18611,11630 18614,11630 18619,11633 18616,11633 18616,11635 18614,11634 18613,11636 18609,11638 18607,11642 18612,11641 18615,11646 18615,11648 18619,11652 18621,11654 18622,11653 18617,11648 18619,11650 18614,11646 18617,11648 18613,11648 18618,11650 18615,11647 18617,11649 18621,11653 18621,11656 18624,11656 18628,11659 18628,11660 18624,11662 18624,11662 18620,11663 18620,14663 18621,14665 18616,14662 18611,14662 18607,14665 18607,14670 18607,14674 17607,14676 17610,19676 17608,19681 17613,19681 17613,19686 17611,19687 17612,22687 17612,22684 17608,22682 17607,22686 17610,22690 17611,22692 17612,22690 17617,22693 17622,22696 17622,22698 17625,22703 17627,22699 17629,22698 17629,22702 17634,22705 17630,22707 17634,22708 17634,22710 17639,22712 17639,22713 17635,22712 17639,22715 17644,22720 17644,22720 17646,22723 17644,22723 17644,22728 17643,22729 17646,22725 17651,22725 17652,22725 17647,22730 17647,22733 17647,22734 17647,22733 17651,22737 17653,22737 17657,22735 17660,22738 17658,22742 17662,22747 17667,22752 17671,22751 17672,22749 17677,22751 17677,22753 17681,22754 17677,22759 17674,22763 17674,22768 17677,22773 17673,22774 17676,22774 17679,17774 16679,17772 16679,17770 16675,17772 16676,17771 16676,17770 16679,17775 16684,17774 16685,17776 16685,17780 16687,17781 16688,17786 16689,17790 16689,17793 16688,17797 16684,17800 16684,17799 16689,21799 16691,21799 16688,21804 16689,21804 16687,21804 16687,21808 16685,21809 16689,21813 16693,21813 16696,21817 16698,21817 16699,21819 16694,21824 16699,21824 16701,21827 16705,21823 16702,21825 16702,21827 16702,21827 16702,21828 16705,21832 16707,21835 16710,21838 16712,21841 16712,21839 19712,24839 19714,24838 19719,24838 19722,24833 19722,24831 21722,24832 21727,24829 21729,24832 21730,24837 21732,24838 21736,24842 21740,24842 21740,24844 21740,24846 21740,24848 21741,24851 21736,24851 21732,24852 21737,24849 21741,24847 21742,24845 21743,24849 21744,24852 21742,24856 21744,24860 21745,24860 21745,24864 21749,24864 21754,24865 21759,24865 21760,24870 21764,24871 21762,24871 21762,24876 21767,24881 21769,24883 21768,24883 21769,24886 21766,24886 21767,24891 21770,24894 21772,24894 21772,24899 21777,24902 21781,24897 21786,24894 21787,24895 21790,24899 21791,24899 21795,24903 21798,24903 21801,24905 21804,24906 21806,24910 21808,25910 17808,25905 17812,25906 17813,28906 17813,28906 17813,28911 17817,28912 17812,28916 17813,33916 17818,33916 17818,33916 17820,33912 17820,33915 17823,33915 17826,33910 17826,33914 17829,33910 17833,33910 17836,33913 17837,33918 17841,33923 17840,33920 17840,33919 17842,33922 17838,33925 17835,33923 17836,33920 17838,33916 17840,33917 17845,33912 17850,33912 21850,33916 21846,33917 21841,33918 21844,33922 21844,33923 21844,33927 21844,33928 21849,33933 21850,33937 21851,33937 21853,33940 21855,33939 21858,33944 21855,33945 24855,33946 24858,33950 24860,33951 24864,33952 24861,33957 24864,33959 24867,33954 24865,33959 24867,33963 24867,33961 24867,33963 24871,34963 24874,34967 24874,34967 24874,34969 24870,34965 24875,34965 25875,34969 25880,34974 25883,34972 25883,34973 25885,34976 25889,34979 25890,34981 25894,34984 25897,34989 25899,34986 25900,34990 25901,34990 25901,34993 25902,34996 25902,35000 25903,35001 25906,35006 25909,35007 29909,35009 29905,35008 29906,35008 29908,35012 29908,31012 29911,31017 29906,31017 29908,21054 31778,21054 31775,21059 31780,21057 31780,21059 31783,21059 31781,21064 29781,21065 29786,21070 29787,21074 29787,21079 29792,21082 29792,21083 29791,21085 29793,21086 29794,21086 29794,21088 29797,21085 29797,21085 29800,21083 29804,21088 29808,21088 29804,552 1401,554 1401,555 1404,555 1404,559 1409,561 1410,561 1412,561 1413,557 1414,561 1419,564 1417,565 1420,568 1421,573 1425,578 1426,583 1430,584 1432,587 1433,588 1433,592 1437,592 1438,592 1442,591 1444,596 1444,597 1449,592 1449,502 2350,503 2352,505 2349,508 2349,508 2350,506 2350,506 2353,511 2357,511 2359,511 2361,508 2362,512 3362,517 3365,4517 3366,4518 3366,4513 3367,4512 3370,4509 3365,4510 3370,4510 3371,4513 3371,4513 3374,4517 3373,4517 3375,4514 3375,4515 3374,4516 3378,4516 3383,4516 3387,516 3392,516 3393,521 3394,521 -1606,522 -1601,518 -1601,519 -1603,521 -1598,526 -1603,528 -1603,527 -1601,527 -1600,523 -1603,526 -1601,529 -1598,532 -1594,531 -1590,531 -1594,527 -1595,532 -1591,536 -1586,539 3414,541 3419,546 3419,551 3422,551 3427,553 3429,558 3432,557 3433,558 3438,559 3442,560 3445,556 3448,555 3446,559 3446,560 3442,560 3439,561 3442,563 3443,564 3448,562 3448,5562 3453,5560 3454,5563 3454,5565 3456,5562 3457,5557 3456,5557 -544,5558 -543,5561 -538,5562 -535,5563 -533,5563 -530,5568 -525,5568 -523,5572 -518,5567 -514,5571 -516,5571 -514,5571 -514,5572 -510,5575 -512,5578 -512,5579 -508,5581 -506,5584 -503,5579 -502,5581 -505,10581 -505,10583 -500,12583 -499,12587 -498,12587 -499,12588 -497,12589 -502,12589 -500,12594 -498,12592 -498,12595 -498,12600 -496,12604 -494,12609 2506,12611 5506,12614 5511,12615 5516,12617 5518,12620 5522,12620 5519,12623 5521,12621 5524,12626 5526,12625 5531,12625 5531,12627 5532,12632 5531,12635 5536,12636 7536,12641 7540,12642 7540,12647 7543,11909 52812,11911 52817,11912 52817,11917 52814,11918 52819,11920 52819,11923 52823,11928 52818,11924 52813,11928 52812,11929 54812,11931 54813,11927 54813,11929 54818,11929 54822,11931 54823,11935 54824,11931 54828,11931 54833,11930 54830,11931 54832,11935 54835,11939 54830,11942 54827,11942 54828,11943 54828,11946 54825,11943 54826,11948 54829,11952 54824,11952 54828,11954 54830,11955 54830,11953 54835,11958 59835,11959 59838,11960 59836,11965 59840,11965 59843,11970 59840,11974 59840,11971 59842,11975 59847,11976 59848,11981 59848,11986 59853,11987 63853,11992 63854,11993 65854,11995 65850,11998 65852,12003 65856,12000 65859,12002 65859,12006 65854,12011 65855,12013 65856,12017 65861,12022 65861,12022 65856,12022 65857,8022 65859,8026 65862,8030 65863,8026 65865,8030 65866,8026 65871,8026 65871,3026 65869,3021 65870,3023 65875,3028 65876,3033 65878,3038 65874,3039 65878,3039 65882,3043 65880,3044 65880,3043 65884,3043 65888,3047 65889,3047 65890,3047 65890,3047 63890,3043 63892,3046 63896,3041 63895,3039 63898,3034 63900,3035 63901,3032 63903,3034 63906,3036 63906,3034 63908,3034 63913,3036 63911,3037 63916,3039 63911,3041 63913,3045 63915,3047 63915,3045 63917,3046 63921,3046 63921,3049 63920,3053 63923,3050 63927,3055 63930,3058 63933,3058 63932,3058 63934,3053 63931,3054 63933,3058 63936,3063 63940,3063 63939,-937 63940,-940 63944,-938 63945,-938 63946,-934 63948,-935 63945,-932 63948,-928 63950,-927 63954,-922 67954,-918 67951,-917 67956,-915 67960,-914 67965,-912 67967,-914 67971,-914 67971,-918 67976,-916 67973,-911 67973,-909 67978,-906 67981,-903 67982,-900 67982,-899 67978,-895 67981,-892 67985,-890 67987,-885 67982,-884 67984,-883 67984,-880 67985,-879 67985,-874 67981,-871 67981,-871 67986,-868 67986,-868 67981,-865 67979,-864 70979,-859 70984,-856 70985,-856 70990,-855 70991,-857 70989,-859 70991,-856 70986,-854 70991,-849 70994,-849 70997,-852 71002,-851 71007,-851 71009,-850 71009,-846 71011,-843 71011,-842 71011,-839 71011,-837 71016,-837 71016,-833 71018,-835 71022,2165 71022,2166 71018,7166 71017,7163 71017,7164 71018,7162 71016,7166 71013,7166 71013,7171 71010,7175 71010,7173 71012,7176 71017,7174 71021,11174 71021,11171 66021,11176 66021,11181 66018,11181 66023,11186 66022,11182 66027,11184 63027,11186 63031,11187 63033,11191 63034,11188 63031,11189 63036,11184 63037,11185 63038,11187 66038,11187 66038,11189 66038,11191 66038,11189 66034,11192 66036,11197 66037,12197 66041,12200 66044,12203 66042,12206 66046,12204 66046,12205 66048,12209 66048,12212 66043,12216 66040,12213 66043,12218 63043,12223 63038,12227 63033,12227 63038,12231 63040,12233 63040,12235 63045,12235 63045,12230 63044,12235 68044,12237 68044,12235 68049,12231 68045,12226 68050,12229 68052,12234 68052,12231 68056,12236 68059,12236 68062,12241 70062,12241 70063,12244 70063,12245 70068,12247 70068,12248 70071,12251 70071,12252 70071,12251 70073,12248 70075,12253 70080,12256 70084,12257 70088,12256 70088,12256 70089,12251 70089,17251 70090,17247 70090,17249 70091,17249 70088,17252 70084,17256 70085,17260 70086,16260 70084,16261 70083,16256 70079,16257 70076,16258 70072,16258 70077,16262 70081,16260 70084,16263 70087,16263 70088,16267 70090,16267 70093,16267 70097,16267 70100,16267 70101,16270 70103,16270 70105,16270 70108,16274 70110,16274 70113,16275 70115,16277 70115,16273 70115,16274 70120,16279 70117,16284 70117,16288 69117,16287 69121,16287 69123,16288 69119,16288 69122,16292 69125,16292 69122,16290 69125,16288 69125,16290 69126,16295 69122,3037 63916,3042 63920,3047 63925,3048 63928,3053 63928,3056 63931,3056 63930,3052 63932,3051 63935,3056 63938,3055 63935,3059 63932,3059 63937,3061 63942,3065 63945,3069 63942,6069 63940,6064 63945,6067 63948,6067 63947,6068 63951,10068 63953,10072 63953,10071 63951,10071 63956,10071 63958,10075 63958,10079 63953,10082 63958,10084 63959,10086 63959,10090 63960,10094 63955,10099 63955,10101 63956,10099 63952,10099 63949,10103 63953,10106 63956,10108 63956,10109 63956,10114 63959,10118 63959,10120 63960,10122 63963,10122 63968,10125 63969,10125 64969,10130 64971,10130 64973,10134 64974,10134 64979,10139 64984,10139 64987,10142 64988,10137 64992,10140 64995,10141 65995,10142 65999,10145 66000,10142 66002,10145 66002,10144 66004,10149 66002,10153 66007,8153 66007,8155 66011,8155 66011,8155 66011,8156 66011,9156 66013,9158 66014,9160 66014,9165 66017,9169 66022,9170 66023,9170 66023,9170 66028,9171 66031,9175 66033,9175 66033,9173 66035,9177 66034,9177 66039,9177 66044,9177 66044,9173 66044,9171 66044,9174 66046,9177 66050,9177 66047,9180 66051,9180 66055,9184 66055,9184 66051,9187 66056,9184 66057,9187 66053,9187 66055,9192 66056,9195 66061,9195 66066,9195 66071,9200 66076,9195 66075,9200 66080,9200 66080,9202 66076,9204 66079,9202 66079,9198 66079,11198 66083,11199 66087,11199 66088,11204 66088,11206 66089,11206 66093,11211 66088,11211 66091,11206 71091,11205 71090,11207 71094,11207 71098,11211 71102,11210 71103,11211 71107,11212 71107,11216 71105,11216 71108,11216 71113,11217 71108,11220 71113,11217 71113,11217 72113,11218 72115,11220 72117,11220 72121,11221 72124,11225 72120,11229 72117,11226 72118,11230 72122,11230 72123,11232 72127,11236 72132,11241 72133,11246 72135,11250 72139,11247 72141,11252 72141,11256 72143,11259 75143,11258 75146,11261 75151,11265 75149,11269 75153,11270 75158,11273 75160,11274 75165,11270 75166,11270 75166,11274 75165,11279 75167,11283 75170,11286 75166,11285 75168,11282 75165,6282 75163,6283 75167,6288 75170,6293 75175,6290 75178,6292 75179,6292 75182,6293 75181,31996 25856,31998 25856,32003 25857,32007 25862,32007 25857,32009 25857,32010 25858,32015 25854,32014 25857,32019 25857,32021 25852,32024 25852,32024 25854,32026 25851,32028 25855,32032 25855,32028 25858,32031 25860,32031 25863,32026 25867,32029 25868,32029 25869,32034 25872,32035 25875,32040 25878,32042 25883,32043 25881,32045 25885,32048 25884,32052 25881,32056 25878,32056 25874,32059 25878,32063 25882,32066 25885,32067 25885,32070 25885,37070 25885,37072 25889,37075 25890,37075 25885,37080 25890,37080 25892,37084 25888,37086 25893,37090 25898,37091 25895,37096 25897,37101 25902,37096 25905,37101 25906,37101 25909,37102 25914,37100 25914,37104 25914,37109 25917,37111 25919,37111 25924,37113 25925,37118 25923,37122 25927,37123 25929,17800 10713,17805 10708,17808 10711,17813 10715,17813 13715,17808 13719,17804 13714,17807 13717,17808 13722,17810 13724,17811 13728,17816 13730,17820 13733,17822 13736,17823 13736,17824 13740,17824 13745,18767 22750,18768 22754,18773 22754,18775 22757,18779 22760,18784 22763,18781 22767,18776 22767,18776 22769,18778 22772,18774 22773,18770 22774,18774 22776,18774 22777,18770 22781,18771 26781,18768 26785,18770 26787,18775 26787,18770 26789,18773 26793,18778 26795,18783 26796,18785 26799,18785 26801,18789 26798,18794 26799,18794 26801,18789 26803,18793 26806,18795 31806,18791 31810,18794 31814,18797 31817,18802 31813,18806 31815,18806 31819,18810 31824,18807 31828,18812 31830,18813 31826,18815 31828,18816 31829,18821 31831,18821 31833,18822 31836,18822 31838,18826 31841,18828 31846,5666 501,5668 506,5669 1506,5672 1508,5674 1512,7674 1512,7679 1513,7679 1512,7684 1513,7689 1511,7686 1515,7691 1520,7689 520,7689 521,7690 524,7695 520,4695 521,4696 526,4698 526,4699 531,4702 531,4699 535,4702 538,4698 540,4699 4540,4702 4537,4707 4540,4707 4537,4709 4537,4711 4542,4713 4542,4718 4544,4720 4549,4716 4553,4717 4556,4722 4561,4726 4562,4726 4563,4731 4564,4735 4565,4735 4570,4733 4572,9733 4574,9736 4577,9736 577,9737 572,9737 569,9742 570,9747 575,9747 580,9748 1580,9747 1585,9747 1588,9747 1588,9747 1592,9747 1592,9751 1592,9754 1593,9751 1595,9756 1599,11756 1603,11759 1607,11756 1610,11754 1613,11749 1613,11750 4613,11749 2613,11746 2610,11749 2608,11752 2611,11754 2607,11759 2612,11762 2612,11763 2612,11764 2613,11765 2613,11760 2615,11757 2620,11752 2623,11748 2627,11748 2631,11751 2632,11751 2633,11754 2635,11758 2639,11758 2643,11760 2646,11763 2646,11767 2649,11762 2652,11760 2652,11756 2656,11752 4656,11749 4659,11754 4662,11759 4666,11764 4670,11761 4666,11756 4669,11756 4670,11761 4671,11762 4673,11765 4678,11768 4680,11768 7680,12768 7677,12771 7680,12771 7683,12776 7683,12777 7688,12779 7688,12779 7684,12781 7679,13781 7682,13781 7684,13776 7684,13779 7685,13784 7685,13787 7689,13784 7689,13787 7689,13791 7685,13791 7686,13787 7691,13788 7696,13790 7693,13790 7696,13791 6696,13796 6698,13798 6695,13797 6698,13799 6701,13799 6704,13803 6709,13804 6705,13799 6708,13804 6703,13807 6705,13807 6708,13809 6710,13812 6714,13814 6716,13817 6718,13819 6722,13821 6717,13826 6718,13828 6717,13828 6721,13831 6721,13831 6720,13834 6715,13837 6712,13837 6713,13842 6715,13847 6715,13847 6714,13847 6709,13848 6712,13852 6714,13854 6719,13857 6723,13859 6726,13861 6730,13859 6731,13855 6731,13855 6731,13856 6728,13857 6730,13862 6731,13865 6731,13863 6729,13868 6729,13866 11729,13867 11732,13871 11732,13873 11737,13872 11741,13870 11745,13874 11744,13871 11748,13870 11753,13871 11757,13871 14757,13875 14759,13878 14760,13881 14760,13879 10760,13875 10765,13879 10767,13880 10770,13876 10775,13880 10776,13880 10776,13882 10776,13883 14776,13888 14779,13888 14779,13893 14779,13898 17779,13903 17784,13898 17788,13894 17788,13896 17788,13900 21788,13903 21784,18903 21789,18899 21789,18900 21793,18901 21794,18905 21795,18908 21792,18913 21794,13913 21796,13911 21798,13916 21799,13916 21799,13918 21804,13916 21800,13912 21799,13915 21794,13916 21797,13921 21799,13916 21802,13918 21806,13919 21810,13921 21813,13924 21817,13927 21814,13932 21816,13934 21811,13936 21811,13934 21814,18934 21816,18929 21816,18934 21815,18933 21817,18932 21822,18936 21819,18938 16819,18933 16822,18933 16822,18937 16822,18937 16827,18940 16827,18945 16830,18947 16829,18950 19829,18949 19829,18949 19829,18946 19825,18947 19828,18946 19829,18943 19829,18943 19824,14943 19829,14939 19830,14942 19831,14946 19835,14946 22835,14942 22836,14946 22831,14950 22832,14952 22835,14947 22840,14951 22844,14951 22845,14947 22850,14948 22851,14951 22849,14956 22852,14957 22852,14957 22857,14962 22857,14965 22859,14970 22860,14968 22862,14972 22864,14977 22866,14974 22870,14975 20870,14976 20870,14979 20873,14984 20869,14989 20871,14993 20874,14993 20877,14994 20878,14995 20878,14997 20883,14998 20879,15001 20884,15001 20884,15003 20889,15006 20884,15009 20885,15009 20883,15007 20880,15011 20876,15008 20877,15009 20873,15010 20875,15009 20875,10009 20876,10012 20871,10013 21871,10017 21872,10012 21873,10010 21874,10008 21871,10012 21870,10013 21874,11607 14571,11608 14575,11612 15575,11613 15576,11613 15577,11618 15578,11622 15581,11624 15585,11627 18585,11631 18587,11634 18590,11634 18586,11634 18586,11636 18591,11635 18591,11636 18596,11636 18592,13636 18593,13640 18595,13642 18600,13641 18600,13641 18604,13642 18607,13643 18611,13648 18611,13651 18613,13655 18615,13656 18620,13651 18618,13651 18616,13654 18611,13651 18616,18651 18620,18656 18620,18661 18621,18657 18625,18661 18627,18663 18628,18666 18633,18661 18637,18665 18639,18665 18639,18667 18641,18669 18641,22669 18642,22673 18644,22676 18648,22681 18649,22682 18649,22682 18646,19682 18646,19684 18646,19685 20646,19690 20646,19690 20643,19686 20643,19686 20643,19690 20647,19690 20647,19689 20652,19692 20653,19692 20656,19697 20661,19698 20662,19703 20666,19707 20669,19707 20673,19708 20674,19709 20675,19709 20677,19710 20674,19715 20675,19717 20673,19721 20673,19720 20677,19718 20677,19716 20680,19718 20681,19718 20685,19722 20688,19725 20688,19729 20685,19728 20687,19728 20690,19732 20691,19735 20691,19739 20691,19744 20696,16744 20693,16746 20695,16748 20695,16748 20691,16746 20696,16750 20699,16755 20704,16755 20709,16760 20710,16763 20711,16763 20711,16765 20707,16767 20705,16771 20706,16771 20708,16775 20706,9653 7576,9654 7577,9659 7576,9659 7572,9655 7575,9660 7579,9660 7579,9660 7583,9661 7588,9663 7591,9666 7590,9662 7592,9665 7593,9669 7594,9668 80000)') WHERE p = 1; +UPDATE t1 SET g = ST_linefromtext('linestring(-5 -576,0 -576,0 -571,0 -571,5 -568,6 -564,6 -565,6 -563)') WHERE p = 2; + +if ($index == 3) { + ALTER TABLE t1 ADD SPATIAL INDEX spatial_idx (g); +} + +if ($index == 2) { + eval ALTER TABLE t1 ADD INDEX prefix_idx (g($prefix_size)); +} + +if ($index == 1) { + ALTER TABLE t1 DROP INDEX spatial_idx, DROP INDEX prefix_idx; +} + +connection control_purge; +--echo # enable purge +COMMIT; + +connection default; +DELETE FROM t1 WHERE p = 2; + +--source ../../innodb/include/wait_all_purged.inc + +CREATE TABLE t2 ( + p INT PRIMARY KEY, + g1 POINT NOT NULL, + g2 POINT NOT NULL, + g3 LINESTRING NOT NULL, + g4 LINESTRING NOT NULL, + g5 GEOMETRY NOT NULL, + g6 GEOMETRY NOT NULL, + SPATIAL KEY (g1), + SPATIAL KEY (g2), + SPATIAL KEY (g3), + SPATIAL KEY (g4), + SPATIAL KEY (g5), + SPATIAL KEY (g6) +) ENGINE=InnoDB; + +DROP TABLE t1,t2; + +dec $index; +} + +disconnect control_purge; +--source include/wait_until_count_sessions.inc diff --git a/mysql-test/suite/innodb_gis/t/types.test b/mysql-test/suite/innodb_gis/t/types.test new file mode 100644 index 00000000..1303e4c4 --- /dev/null +++ b/mysql-test/suite/innodb_gis/t/types.test @@ -0,0 +1,86 @@ +# WL#6455 GEOMETRY datatypes support +# In order to implement GIS indexing in InnoDB, +# InnoDB needs to support GEOMETRY datatypes, +# so that InnoDB stores them properly and understands them. + +# Restarting is not supported in embedded +--source include/not_embedded.inc +--source include/have_innodb.inc + +# Test GEOMETRY datatype. +CREATE TABLE t_wl6455 ( i INT, g GEOMETRY NOT NULL) ENGINE=InnoDB; +SHOW CREATE TABLE t_wl6455; + +# Insert Point. +INSERT INTO t_wl6455 VALUES(1, POINT(1,1)); + +INSERT INTO t_wl6455 VALUES(2, POINT(2,2)); + +# Insert MultiPoint. +SET @mp = 'MULTIPOINT(0 0, 20 20, 60 60)'; +INSERT INTO t_wl6455 VALUES(3, ST_GeomFromText(@mp)); + +# Insert LineString. +INSERT INTO t_wl6455 VALUES(4, LINESTRING(POINT(1,1), POINT(4, 4))); + +INSERT INTO t_wl6455 VALUES(5, LINESTRING(POINT(2,2), POINT(5, 5))); + +# Insert MultiLineString. +SET @mls = 'MultiLineString((1 1,2 2,3 3),(4 4,5 5))'; +INSERT INTO t_wl6455 VALUES(6, ST_GeomFromText(@mls)); + +# Insert Polygon. +SET @poly = 'Polygon((0 0,0 3,3 0,0 0),(1 1,1 2,2 1,1 1))'; +INSERT INTO t_wl6455 VALUES(7, ST_GeomFromText(@poly)); + +# Insert MultiPolygon. +SET @mpoly = 'MultiPolygon(((0 0,0 3,3 3,3 0,0 0),(1 1,1 2,2 2,2 1,1 1)))'; +INSERT INTO t_wl6455 VALUES(8, ST_GeomFromText(@mpoly)); + +# Insert GeometryCollection. +SET @gc = 'GeometryCollection(Point(1 1),LineString(2 2, 3 3))'; +INSERT INTO t_wl6455 VALUES(9, ST_GeomFromText(@gc)); + +# Show result. +SELECT ST_AsText(g) FROM t_wl6455; + +# Test create prefix index. +CREATE INDEX i_p ON t_wl6455 (g(10)); + +# Select on prefix index. +--replace_column 9 # +EXPLAIN SELECT ST_AsText(g) FROM t_wl6455 WHERE g = POINT(2,2); +SELECT ST_AsText(g) FROM t_wl6455 WHERE g = POINT(2,2); + +# Test rollback/commit +SET AUTOCOMMIT = 0; +INSERT INTO t_wl6455 VALUES(10, POINT(10,10)); +SELECT ST_AsText(g) FROM t_wl6455 WHERE g = POINT(10,10); +ROLLBACK; +SELECT ST_AsText(g) FROM t_wl6455 WHERE g = POINT(10,10); + +INSERT INTO t_wl6455 VALUES(10, POINT(10,10)); +COMMIT; + +# Avoid corrupting non-crash-safe system tables on the kill below. +FLUSH TABLES; + +INSERT INTO t_wl6455 VALUES(11, POINT(11,11)); +BEGIN; +INSERT INTO t_wl6455 VALUES(1, POINT(1,1)); + +--let $shutdown_timeout=0 +--source include/restart_mysqld.inc + +CHECK TABLE t_wl6455; +SELECT ST_AsText(g) FROM t_wl6455; + +# Check information_schema, the mtype of GEOMETRY datatype is 14. +SELECT sc.name, sc.pos, sc.mtype +FROM information_schema.innodb_sys_columns sc +INNER JOIN information_schema.innodb_sys_tables st +ON sc.TABLE_ID=st.TABLE_ID +WHERE st.NAME='test/t_wl6455' AND sc.NAME='g'; + +# Clean up +DROP TABLE t_wl6455; diff --git a/mysql-test/suite/innodb_gis/t/update_root.test b/mysql-test/suite/innodb_gis/t/update_root.test new file mode 100644 index 00000000..9fd2b36d --- /dev/null +++ b/mysql-test/suite/innodb_gis/t/update_root.test @@ -0,0 +1,45 @@ +# WL#6745 InnoDB R-tree support +# This test case will test R-tree multi level split. + +# Not supported in embedded +--source include/not_embedded.inc + +--source include/have_innodb.inc +--source include/have_debug.inc +--source include/big_test.inc +--source include/not_valgrind.inc +--source include/have_64bit.inc + +# Create table with R-tree index. +create table t1 (c1 int, c2 geometry not null, spatial index (c2))engine=innodb; + +# Insert enough values to let R-tree split. +delimiter |; +create procedure insert_t1(IN total int) +begin + declare i int default 1; + while (i <= total) DO + insert into t1 values (i, Point(i, i)); + set i = i + 1; + end while; +end| +delimiter ;| + +# Test level 3 rtree. +BEGIN; +CALL insert_t1(70000); +COMMIT; + +BEGIN; +CALL insert_t1(90); +CALL insert_t1(90); +CALL insert_t1(83); +COMMIT; + +insert into t1 values (0, Point(0.9, 0.9)); + +# Check table. +check table t1; + +drop procedure insert_t1; +drop table t1; -- cgit v1.2.3