diff --git a/pkg/sql/logictest/testdata/logic_test/pg_catalog b/pkg/sql/logictest/testdata/logic_test/pg_catalog index 53695e2679dc..68284718e4e4 100644 --- a/pkg/sql/logictest/testdata/logic_test/pg_catalog +++ b/pkg/sql/logictest/testdata/logic_test/pg_catalog @@ -1134,3 +1134,13 @@ query I SELECT COUNT(*) FROM pg_catalog.pg_index WHERE indkey[0] IS NULL; ---- 0 + +## TODO(masha): #16769 +#statement ok +#CREATE TABLE types(a int8, b int2); + +#query I +#SELECT attname, atttypid, typname FROM pg_attribute a JOIN pg_type t ON a.atttypid=t.oid WHERE attrelid = 'types'::REGCLASS; +#attname atttypid typname +#a 20 int8 +#b 20 int2 diff --git a/pkg/sql/logictest/testdata/logic_test/scale b/pkg/sql/logictest/testdata/logic_test/scale index 33217e449641..dce921cbdb77 100644 --- a/pkg/sql/logictest/testdata/logic_test/scale +++ b/pkg/sql/logictest/testdata/logic_test/scale @@ -45,15 +45,74 @@ INSERT INTO tb VALUES (3) statement ok INSERT INTO tb VALUES (7) -statement error bit string too long for type BIT\(3\) \(column "b"\) +statement error integer out of range for type BIT \(column "b"\) INSERT INTO tb VALUES (15) statement ok UPDATE tb SET b = 2 WHERE b = 7 -statement error bit string too long for type BIT\(3\) \(column "b"\) +statement error integer out of range for type BIT \(column "b"\) UPDATE tb SET b = 16 WHERE b = 2 +statement ok +CREATE TABLE tc ( + b INT2, + UNIQUE INDEX a (b) +) + +statement ok +INSERT INTO tc VALUES (50) + +statement ok +INSERT INTO tc VALUES (-32768) + +statement ok +INSERT INTO tc VALUES (32767) + +# Note that neither of these value are INT2, but we only check +# on insert and update, not mathematical operations +statement ok +INSERT INTO tc VALUES (60000-59999) + +statement error integer out of range for type SMALLINT \(column "b"\) +INSERT INTO tc VALUES (-32769) + +statement error integer out of range for type SMALLINT \(column "b"\) +INSERT INTO tc VALUES (32768) + +statement ok +UPDATE tc SET b = 80 WHERE b = 50 + +statement error integer out of range for type SMALLINT \(column "b"\) +UPDATE tc SET b = 32768 WHERE b = 32767 + +statement ok +CREATE TABLE tc1 ( + b INT4, + UNIQUE INDEX a (b) +) + +statement ok +INSERT INTO tc1 VALUES (50) + +statement ok +INSERT INTO tc1 VALUES (-2147483648) + +statement ok +INSERT INTO tc1 VALUES (2147483647) + +statement error integer out of range for type INTEGER \(column "b"\) +INSERT INTO tc1 VALUES (-2147483649) + +statement error integer out of range for type INTEGER \(column "b"\) +INSERT INTO tc1 VALUES (2147483648) + +statement ok +UPDATE tc1 SET b = 80 WHERE b = 50 + +statement error integer out of range for type INTEGER \(column "b"\) +UPDATE tc1 SET b = 2147483648 WHERE b = 2147483647 + statement ok CREATE TABLE td ( d DECIMAL(3, 2), diff --git a/pkg/sql/logictest/testdata/logic_test/table b/pkg/sql/logictest/testdata/logic_test/table index 8075d883e504..da753502afd2 100644 --- a/pkg/sql/logictest/testdata/logic_test/table +++ b/pkg/sql/logictest/testdata/logic_test/table @@ -306,88 +306,96 @@ CREATE TABLE test.dupe_named_constraints ( statement ok CREATE TABLE test.alltypes ( - a BOOL, - b INT, - c INT8, - d INT64, - e INTEGER, - f SMALLINT, - g BIGINT, - h SERIAL, - i SMALLSERIAL, - j BIGSERIAL, - k BIT, - l BIT(12), - m CHAR, - n CHAR(12), - o VARCHAR, - p VARCHAR(12), - q REAL, - r FLOAT, - s DOUBLE PRECISION, - t DEC, - u DEC(1), - v DEC(2,1), - w DECIMAL, - x DECIMAL(1), - y DECIMAL(2,1), - z NUMERIC, - aa NUMERIC(1), - ab NUMERIC(2,1), - ac DATE, - ad TIMESTAMP, - ae TIMESTAMP WITH TIME ZONE, - af STRING, - ag STRING(12), - ah TEXT, - ai BLOB, - aj BYTES, - ak BYTEA, - al INTERVAL + cbigint BIGINT, + cbigserial BIGSERIAL, + cbit BIT, + cbit12 BIT(12), + cblob BLOB, + cbool BOOL, + cbytea BYTEA, + cbytes BYTES, + cchar CHAR, + cchar12 CHAR(12), + cdate DATE, + cdec DEC, + cdec1 DEC(1), + cdec21 DEC(2,1), + cdecimal DECIMAL, + cdecimal1 DECIMAL(1), + cdecimal21 DECIMAL(2,1), + cdoubleprecision DOUBLE PRECISION, + cfloat FLOAT, + cfloat4 FLOAT4, + cfloat8 FLOAT8, + cint INT, + cint2 INT2, + cint4 INT4, + cint64 INT64, + cint8 INT8, + cinteger INTEGER, + cinterval INTERVAL, + cnumeric NUMERIC, + cnumeric1 NUMERIC(1), + cnumeric21 NUMERIC(2,1), + creal REAL, + cserial SERIAL, + csmallint SMALLINT, + csmallserial SMALLSERIAL, + cstring STRING, + cstring12 STRING(12), + ctext TEXT, + ctimestamp TIMESTAMP, + ctimestampwtz TIMESTAMP WITH TIME ZONE, + cvarchar VARCHAR, + cvarchar12 VARCHAR(12) ) query TTBTT colnames SHOW COLUMNS FROM test.alltypes ---- -Field Type Null Default Indices -a BOOL true NULL {} -b INT true NULL {} -c INT8 true NULL {} -d INT64 true NULL {} -e INT true NULL {} -f INT true NULL {} -g INT true NULL {} -h INT true unique_rowid() {} -i INT true unique_rowid() {} -j INT true unique_rowid() {} -k BIT(1) true NULL {} -l BIT(12) true NULL {} -m STRING true NULL {} -n STRING(12) true NULL {} -o STRING true NULL {} -p STRING(12) true NULL {} -q FLOAT true NULL {} -r FLOAT true NULL {} -s FLOAT true NULL {} -t DECIMAL true NULL {} -u DECIMAL(1) true NULL {} -v DECIMAL(2,1) true NULL {} -w DECIMAL true NULL {} -x DECIMAL(1) true NULL {} -y DECIMAL(2,1) true NULL {} -z DECIMAL true NULL {} -aa DECIMAL(1) true NULL {} -ab DECIMAL(2,1) true NULL {} -ac DATE true NULL {} -ad TIMESTAMP true NULL {} -ae TIMESTAMP WITH TIME ZONE true NULL {} -af STRING true NULL {} -ag STRING(12) true NULL {} -ah STRING true NULL {} -ai BYTES true NULL {} -aj BYTES true NULL {} -ak BYTES true NULL {} -al INTERVAL true NULL {} +Field Type Null Default Indices +cbigint INT true NULL {} +cbigserial INT true unique_rowid() {} +cbit BIT(1) true NULL {} +cbit12 BIT(12) true NULL {} +cblob BYTES true NULL {} +cbool BOOL true NULL {} +cbytea BYTES true NULL {} +cbytes BYTES true NULL {} +cchar STRING true NULL {} +cchar12 STRING(12) true NULL {} +cdate DATE true NULL {} +cdec DECIMAL true NULL {} +cdec1 DECIMAL(1) true NULL {} +cdec21 DECIMAL(2,1) true NULL {} +cdecimal DECIMAL true NULL {} +cdecimal1 DECIMAL(1) true NULL {} +cdecimal21 DECIMAL(2,1) true NULL {} +cdoubleprecision FLOAT true NULL {} +cfloat FLOAT true NULL {} +cfloat4 REAL true NULL {} +cfloat8 DOUBLE PRECISION true NULL {} +cint INT true NULL {} +cint2 SMALLINT true NULL {} +cint4 INTEGER true NULL {} +cint64 BIGINT true NULL {} +cint8 BIGINT true NULL {} +cinteger INTEGER true NULL {} +cinterval INTERVAL true NULL {} +cnumeric DECIMAL true NULL {} +cnumeric1 DECIMAL(1) true NULL {} +cnumeric21 DECIMAL(2,1) true NULL {} +creal REAL true NULL {} +cserial INT true unique_rowid() {} +csmallint SMALLINT true NULL {} +csmallserial INT true unique_rowid() {} +cstring STRING true NULL {} +cstring12 STRING(12) true NULL {} +ctext STRING true NULL {} +ctimestamp TIMESTAMP true NULL {} +ctimestampwtz TIMESTAMP WITH TIME ZONE true NULL {} +cvarchar STRING true NULL {} +cvarchar12 STRING(12) true NULL {} statement ok CREATE DATABASE IF NOT EXISTS smtng diff --git a/pkg/sql/parser/col_types.go b/pkg/sql/parser/col_types.go index 34c0c5cd0876..505b0a395017 100644 --- a/pkg/sql/parser/col_types.go +++ b/pkg/sql/parser/col_types.go @@ -94,12 +94,14 @@ func (node *BoolColType) Format(buf *bytes.Buffer, f FmtFlags) { // Pre-allocated immutable integer column types. var ( - intColTypeBit = &IntColType{Name: "BIT", N: 1, ImplicitWidth: true} + intColTypeBit = &IntColType{Name: "BIT", Width: 1, ImplicitWidth: true} intColTypeInt = &IntColType{Name: "INT"} + intColTypeInt2 = &IntColType{Name: "INT2", Width: 16, ImplicitWidth: true} + intColTypeInt4 = &IntColType{Name: "INT4", Width: 32, ImplicitWidth: true} intColTypeInt8 = &IntColType{Name: "INT8"} intColTypeInt64 = &IntColType{Name: "INT64"} intColTypeInteger = &IntColType{Name: "INTEGER"} - intColTypeSmallInt = &IntColType{Name: "SMALLINT"} + intColTypeSmallInt = &IntColType{Name: "SMALLINT", Width: 16, ImplicitWidth: true} intColTypeBigInt = &IntColType{Name: "BIGINT"} intColTypeSerial = &IntColType{Name: "SERIAL"} intColTypeSmallSerial = &IntColType{Name: "SMALLSERIAL"} @@ -108,25 +110,25 @@ var ( var errBitLengthNotPositive = errors.New("length for type bit must be at least 1") -func newIntBitType(n int) (*IntColType, error) { - if n < 1 { +func newIntBitType(width int) (*IntColType, error) { + if width < 1 { return nil, errBitLengthNotPositive } - return &IntColType{Name: "BIT", N: n}, nil + return &IntColType{Name: "BIT", Width: width}, nil } // IntColType represents an INT, INTEGER, SMALLINT or BIGINT type. type IntColType struct { Name string - N int + Width int ImplicitWidth bool } // Format implements the NodeFormatter interface. func (node *IntColType) Format(buf *bytes.Buffer, f FmtFlags) { buf.WriteString(node.Name) - if node.N > 0 && !node.ImplicitWidth { - fmt.Fprintf(buf, "(%d)", node.N) + if node.Width > 0 && !node.ImplicitWidth { + fmt.Fprintf(buf, "(%d)", node.Width) } } @@ -139,15 +141,18 @@ func (node *IntColType) IsSerial() bool { // Pre-allocated immutable float column types. var ( - floatColTypeReal = &FloatColType{Name: "REAL"} - floatColTypeFloat = &FloatColType{Name: "FLOAT"} - floatColTypeDouble = &FloatColType{Name: "DOUBLE PRECISION"} + floatColTypeReal = &FloatColType{Name: "REAL", Width: 32} + floatColTypeFloat = &FloatColType{Name: "FLOAT", Width: 64} + floatColTypeFloat4 = &FloatColType{Name: "FLOAT4", Width: 32} + floatColTypeFloat8 = &FloatColType{Name: "FLOAT8", Width: 64} + floatColTypeDouble = &FloatColType{Name: "DOUBLE PRECISION", Width: 64} ) // FloatColType represents a REAL, DOUBLE or FLOAT type. type FloatColType struct { Name string Prec int + Width int PrecSpecified bool // true if the value of Prec is not the default } @@ -157,7 +162,7 @@ func NewFloatColType(prec int, precSpecified bool) *FloatColType { if prec == 0 && !precSpecified { return floatColTypeFloat } - return &FloatColType{Name: "FLOAT", Prec: prec, PrecSpecified: precSpecified} + return &FloatColType{Name: "FLOAT", Width: 64, Prec: prec, PrecSpecified: precSpecified} } // Format implements the NodeFormatter interface. diff --git a/pkg/sql/parser/col_types_test.go b/pkg/sql/parser/col_types_test.go index c75c01ce8e67..321e52e46280 100644 --- a/pkg/sql/parser/col_types_test.go +++ b/pkg/sql/parser/col_types_test.go @@ -27,20 +27,24 @@ func TestParseColumnType(t *testing.T) { str string expectedType ColumnType }{ - {"BIT", &IntColType{Name: "BIT", N: 1, ImplicitWidth: true}}, - {"BIT(2)", &IntColType{Name: "BIT", N: 2}}, + {"BIT", &IntColType{Name: "BIT", Width: 1, ImplicitWidth: true}}, + {"BIT(2)", &IntColType{Name: "BIT", Width: 2}}, {"BOOL", &BoolColType{Name: "BOOL"}}, {"BOOLEAN", &BoolColType{Name: "BOOLEAN"}}, - {"SMALLINT", &IntColType{Name: "SMALLINT"}}, + {"SMALLINT", &IntColType{Name: "SMALLINT", Width: 16, ImplicitWidth: true}}, {"BIGINT", &IntColType{Name: "BIGINT"}}, {"INTEGER", &IntColType{Name: "INTEGER"}}, {"INT", &IntColType{Name: "INT"}}, + {"INT2", &IntColType{Name: "INT2", Width: 16, ImplicitWidth: true}}, + {"INT4", &IntColType{Name: "INT4", Width: 32, ImplicitWidth: true}}, {"INT8", &IntColType{Name: "INT8"}}, {"INT64", &IntColType{Name: "INT64"}}, - {"REAL", &FloatColType{Name: "REAL"}}, - {"DOUBLE PRECISION", &FloatColType{Name: "DOUBLE PRECISION"}}, - {"FLOAT", &FloatColType{Name: "FLOAT"}}, - {"FLOAT(4)", &FloatColType{Name: "FLOAT", Prec: 4, PrecSpecified: true}}, + {"REAL", &FloatColType{Name: "REAL", Width: 32}}, + {"DOUBLE PRECISION", &FloatColType{Name: "DOUBLE PRECISION", Width: 64}}, + {"FLOAT", &FloatColType{Name: "FLOAT", Width: 64}}, + {"FLOAT4", &FloatColType{Name: "FLOAT4", Width: 32}}, + {"FLOAT8", &FloatColType{Name: "FLOAT8", Width: 64}}, + {"FLOAT(4)", &FloatColType{Name: "FLOAT", Width: 64, Prec: 4, PrecSpecified: true}}, {"DEC", &DecimalColType{Name: "DEC"}}, {"DECIMAL", &DecimalColType{Name: "DECIMAL"}}, {"NUMERIC", &DecimalColType{Name: "NUMERIC"}}, diff --git a/pkg/sql/parser/keywords.go b/pkg/sql/parser/keywords.go index cbb168d0ddcf..be7feae86eb8 100644 --- a/pkg/sql/parser/keywords.go +++ b/pkg/sql/parser/keywords.go @@ -95,6 +95,8 @@ var keywords = map[string]int{ "FILTER": FILTER, "FIRST": FIRST, "FLOAT": FLOAT, + "FLOAT4": FLOAT4, + "FLOAT8": FLOAT8, "FOLLOWING": FOLLOWING, "FOR": FOR, "FORCE_INDEX": FORCE_INDEX, @@ -121,7 +123,9 @@ var keywords = map[string]int{ "INNER": INNER, "INSERT": INSERT, "INT": INT, + "INT2": INT2, "INT2VECTOR": INT2VECTOR, + "INT4": INT4, "INT64": INT64, "INT8": INT8, "INTEGER": INTEGER, diff --git a/pkg/sql/parser/reserved_keywords.go b/pkg/sql/parser/reserved_keywords.go index 3582196dc9b6..0b2c2c648b46 100644 --- a/pkg/sql/parser/reserved_keywords.go +++ b/pkg/sql/parser/reserved_keywords.go @@ -59,6 +59,8 @@ var reservedKeywords = map[string]struct{}{ "FAMILY": {}, "FETCH": {}, "FLOAT": {}, + "FLOAT4": {}, + "FLOAT8": {}, "FOR": {}, "FOREIGN": {}, "FROM": {}, @@ -76,6 +78,8 @@ var reservedKeywords = map[string]struct{}{ "INITIALLY": {}, "INNER": {}, "INT": {}, + "INT2": {}, + "INT4": {}, "INT64": {}, "INT8": {}, "INTEGER": {}, diff --git a/pkg/sql/parser/sql.go b/pkg/sql/parser/sql.go index 9575faabf7c4..835477f9086b 100644 --- a/pkg/sql/parser/sql.go +++ b/pkg/sql/parser/sql.go @@ -457,223 +457,227 @@ const FETCH = 57452 const FILTER = 57453 const FIRST = 57454 const FLOAT = 57455 -const FLOORDIV = 57456 -const FOLLOWING = 57457 -const FOR = 57458 -const FORCE_INDEX = 57459 -const FOREIGN = 57460 -const FROM = 57461 -const FULL = 57462 -const GRANT = 57463 -const GRANTS = 57464 -const GREATEST = 57465 -const GROUP = 57466 -const GROUPING = 57467 -const HAVING = 57468 -const HELP = 57469 -const HIGH = 57470 -const HOUR = 57471 -const INCREMENTAL = 57472 -const IF = 57473 -const IFNULL = 57474 -const ILIKE = 57475 -const IN = 57476 -const INTERLEAVE = 57477 -const INDEX = 57478 -const INDEXES = 57479 -const INITIALLY = 57480 -const INNER = 57481 -const INSERT = 57482 -const INT = 57483 -const INT2VECTOR = 57484 -const INT8 = 57485 -const INT64 = 57486 -const INTEGER = 57487 -const INTERSECT = 57488 -const INTERVAL = 57489 -const INTO = 57490 -const IS = 57491 -const ISOLATION = 57492 -const JOB = 57493 -const JOBS = 57494 -const JOIN = 57495 -const KEY = 57496 -const KEYS = 57497 -const KV = 57498 -const LATERAL = 57499 -const LC_CTYPE = 57500 -const LC_COLLATE = 57501 -const LEADING = 57502 -const LEAST = 57503 -const LEFT = 57504 -const LEVEL = 57505 -const LIKE = 57506 -const LIMIT = 57507 -const LOCAL = 57508 -const LOCALTIME = 57509 -const LOCALTIMESTAMP = 57510 -const LOW = 57511 -const LSHIFT = 57512 -const MATCH = 57513 -const MINUTE = 57514 -const MONTH = 57515 -const NAN = 57516 -const NAME = 57517 -const NAMES = 57518 -const NATURAL = 57519 -const NEXT = 57520 -const NO = 57521 -const NO_INDEX_JOIN = 57522 -const NORMAL = 57523 -const NOT = 57524 -const NOTHING = 57525 -const NULL = 57526 -const NULLIF = 57527 -const NULLS = 57528 -const NUMERIC = 57529 -const OF = 57530 -const OFF = 57531 -const OFFSET = 57532 -const OID = 57533 -const ON = 57534 -const ONLY = 57535 -const OPTIONS = 57536 -const OR = 57537 -const ORDER = 57538 -const ORDINALITY = 57539 -const OUT = 57540 -const OUTER = 57541 -const OVER = 57542 -const OVERLAPS = 57543 -const OVERLAY = 57544 -const PARENT = 57545 -const PARTIAL = 57546 -const PARTITION = 57547 -const PASSWORD = 57548 -const PAUSE = 57549 -const PLACING = 57550 -const PLANS = 57551 -const POSITION = 57552 -const PRECEDING = 57553 -const PRECISION = 57554 -const PREPARE = 57555 -const PRIMARY = 57556 -const PRIORITY = 57557 -const QUERIES = 57558 -const QUERY = 57559 -const RANGE = 57560 -const READ = 57561 -const REAL = 57562 -const RECURSIVE = 57563 -const REF = 57564 -const REFERENCES = 57565 -const REGCLASS = 57566 -const REGPROC = 57567 -const REGPROCEDURE = 57568 -const REGNAMESPACE = 57569 -const REGTYPE = 57570 -const RENAME = 57571 -const REPEATABLE = 57572 -const RELEASE = 57573 -const RESET = 57574 -const RESTORE = 57575 -const RESTRICT = 57576 -const RESUME = 57577 -const RETURNING = 57578 -const REVOKE = 57579 -const RIGHT = 57580 -const ROLLBACK = 57581 -const ROLLUP = 57582 -const ROW = 57583 -const ROWS = 57584 -const RSHIFT = 57585 -const SAVEPOINT = 57586 -const SCATTER = 57587 -const SEARCH = 57588 -const SECOND = 57589 -const SELECT = 57590 -const SEQUENCES = 57591 -const SERIAL = 57592 -const SERIALIZABLE = 57593 -const SESSION = 57594 -const SESSIONS = 57595 -const SESSION_USER = 57596 -const SET = 57597 -const SETTING = 57598 -const SETTINGS = 57599 -const SHOW = 57600 -const SIMILAR = 57601 -const SIMPLE = 57602 -const SMALLINT = 57603 -const SMALLSERIAL = 57604 -const SNAPSHOT = 57605 -const SOME = 57606 -const SPLIT = 57607 -const SQL = 57608 -const START = 57609 -const STATUS = 57610 -const STDIN = 57611 -const STRICT = 57612 -const STRING = 57613 -const STORING = 57614 -const SUBSTRING = 57615 -const SYMMETRIC = 57616 -const SYSTEM = 57617 -const TABLE = 57618 -const TABLES = 57619 -const TEMP = 57620 -const TEMPLATE = 57621 -const TEMPORARY = 57622 -const TESTING_RANGES = 57623 -const TESTING_RELOCATE = 57624 -const TEXT = 57625 -const THEN = 57626 -const TIME = 57627 -const TIMESTAMP = 57628 -const TIMESTAMPTZ = 57629 -const TO = 57630 -const TRAILING = 57631 -const TRACE = 57632 -const TRANSACTION = 57633 -const TREAT = 57634 -const TRIM = 57635 -const TRUE = 57636 -const TRUNCATE = 57637 -const TYPE = 57638 -const UNBOUNDED = 57639 -const UNCOMMITTED = 57640 -const UNION = 57641 -const UNIQUE = 57642 -const UNKNOWN = 57643 -const UPDATE = 57644 -const UPSERT = 57645 -const USE = 57646 -const USER = 57647 -const USERS = 57648 -const USING = 57649 -const UUID = 57650 -const VALID = 57651 -const VALIDATE = 57652 -const VALUE = 57653 -const VALUES = 57654 -const VARCHAR = 57655 -const VARIADIC = 57656 -const VIEW = 57657 -const VARYING = 57658 -const WHEN = 57659 -const WHERE = 57660 -const WINDOW = 57661 -const WITH = 57662 -const WITHIN = 57663 -const WITHOUT = 57664 -const WRITE = 57665 -const YEAR = 57666 -const ZONE = 57667 -const NOT_LA = 57668 -const WITH_LA = 57669 -const AS_LA = 57670 -const POSTFIXOP = 57671 -const UMINUS = 57672 +const FLOAT4 = 57456 +const FLOAT8 = 57457 +const FLOORDIV = 57458 +const FOLLOWING = 57459 +const FOR = 57460 +const FORCE_INDEX = 57461 +const FOREIGN = 57462 +const FROM = 57463 +const FULL = 57464 +const GRANT = 57465 +const GRANTS = 57466 +const GREATEST = 57467 +const GROUP = 57468 +const GROUPING = 57469 +const HAVING = 57470 +const HELP = 57471 +const HIGH = 57472 +const HOUR = 57473 +const INCREMENTAL = 57474 +const IF = 57475 +const IFNULL = 57476 +const ILIKE = 57477 +const IN = 57478 +const INTERLEAVE = 57479 +const INDEX = 57480 +const INDEXES = 57481 +const INITIALLY = 57482 +const INNER = 57483 +const INSERT = 57484 +const INT = 57485 +const INT2VECTOR = 57486 +const INT2 = 57487 +const INT4 = 57488 +const INT8 = 57489 +const INT64 = 57490 +const INTEGER = 57491 +const INTERSECT = 57492 +const INTERVAL = 57493 +const INTO = 57494 +const IS = 57495 +const ISOLATION = 57496 +const JOB = 57497 +const JOBS = 57498 +const JOIN = 57499 +const KEY = 57500 +const KEYS = 57501 +const KV = 57502 +const LATERAL = 57503 +const LC_CTYPE = 57504 +const LC_COLLATE = 57505 +const LEADING = 57506 +const LEAST = 57507 +const LEFT = 57508 +const LEVEL = 57509 +const LIKE = 57510 +const LIMIT = 57511 +const LOCAL = 57512 +const LOCALTIME = 57513 +const LOCALTIMESTAMP = 57514 +const LOW = 57515 +const LSHIFT = 57516 +const MATCH = 57517 +const MINUTE = 57518 +const MONTH = 57519 +const NAN = 57520 +const NAME = 57521 +const NAMES = 57522 +const NATURAL = 57523 +const NEXT = 57524 +const NO = 57525 +const NO_INDEX_JOIN = 57526 +const NORMAL = 57527 +const NOT = 57528 +const NOTHING = 57529 +const NULL = 57530 +const NULLIF = 57531 +const NULLS = 57532 +const NUMERIC = 57533 +const OF = 57534 +const OFF = 57535 +const OFFSET = 57536 +const OID = 57537 +const ON = 57538 +const ONLY = 57539 +const OPTIONS = 57540 +const OR = 57541 +const ORDER = 57542 +const ORDINALITY = 57543 +const OUT = 57544 +const OUTER = 57545 +const OVER = 57546 +const OVERLAPS = 57547 +const OVERLAY = 57548 +const PARENT = 57549 +const PARTIAL = 57550 +const PARTITION = 57551 +const PASSWORD = 57552 +const PAUSE = 57553 +const PLACING = 57554 +const PLANS = 57555 +const POSITION = 57556 +const PRECEDING = 57557 +const PRECISION = 57558 +const PREPARE = 57559 +const PRIMARY = 57560 +const PRIORITY = 57561 +const QUERIES = 57562 +const QUERY = 57563 +const RANGE = 57564 +const READ = 57565 +const REAL = 57566 +const RECURSIVE = 57567 +const REF = 57568 +const REFERENCES = 57569 +const REGCLASS = 57570 +const REGPROC = 57571 +const REGPROCEDURE = 57572 +const REGNAMESPACE = 57573 +const REGTYPE = 57574 +const RENAME = 57575 +const REPEATABLE = 57576 +const RELEASE = 57577 +const RESET = 57578 +const RESTORE = 57579 +const RESTRICT = 57580 +const RESUME = 57581 +const RETURNING = 57582 +const REVOKE = 57583 +const RIGHT = 57584 +const ROLLBACK = 57585 +const ROLLUP = 57586 +const ROW = 57587 +const ROWS = 57588 +const RSHIFT = 57589 +const SAVEPOINT = 57590 +const SCATTER = 57591 +const SEARCH = 57592 +const SECOND = 57593 +const SELECT = 57594 +const SEQUENCES = 57595 +const SERIAL = 57596 +const SERIALIZABLE = 57597 +const SESSION = 57598 +const SESSIONS = 57599 +const SESSION_USER = 57600 +const SET = 57601 +const SETTING = 57602 +const SETTINGS = 57603 +const SHOW = 57604 +const SIMILAR = 57605 +const SIMPLE = 57606 +const SMALLINT = 57607 +const SMALLSERIAL = 57608 +const SNAPSHOT = 57609 +const SOME = 57610 +const SPLIT = 57611 +const SQL = 57612 +const START = 57613 +const STATUS = 57614 +const STDIN = 57615 +const STRICT = 57616 +const STRING = 57617 +const STORING = 57618 +const SUBSTRING = 57619 +const SYMMETRIC = 57620 +const SYSTEM = 57621 +const TABLE = 57622 +const TABLES = 57623 +const TEMP = 57624 +const TEMPLATE = 57625 +const TEMPORARY = 57626 +const TESTING_RANGES = 57627 +const TESTING_RELOCATE = 57628 +const TEXT = 57629 +const THEN = 57630 +const TIME = 57631 +const TIMESTAMP = 57632 +const TIMESTAMPTZ = 57633 +const TO = 57634 +const TRAILING = 57635 +const TRACE = 57636 +const TRANSACTION = 57637 +const TREAT = 57638 +const TRIM = 57639 +const TRUE = 57640 +const TRUNCATE = 57641 +const TYPE = 57642 +const UNBOUNDED = 57643 +const UNCOMMITTED = 57644 +const UNION = 57645 +const UNIQUE = 57646 +const UNKNOWN = 57647 +const UPDATE = 57648 +const UPSERT = 57649 +const USE = 57650 +const USER = 57651 +const USERS = 57652 +const USING = 57653 +const UUID = 57654 +const VALID = 57655 +const VALIDATE = 57656 +const VALUE = 57657 +const VALUES = 57658 +const VARCHAR = 57659 +const VARIADIC = 57660 +const VIEW = 57661 +const VARYING = 57662 +const WHEN = 57663 +const WHERE = 57664 +const WINDOW = 57665 +const WITH = 57666 +const WITHIN = 57667 +const WITHOUT = 57668 +const WRITE = 57669 +const YEAR = 57670 +const ZONE = 57671 +const NOT_LA = 57672 +const WITH_LA = 57673 +const AS_LA = 57674 +const POSTFIXOP = 57675 +const UMINUS = 57676 var sqlToknames = [...]string{ "$end", @@ -789,6 +793,8 @@ var sqlToknames = [...]string{ "FILTER", "FIRST", "FLOAT", + "FLOAT4", + "FLOAT8", "FLOORDIV", "FOLLOWING", "FOR", @@ -818,6 +824,8 @@ var sqlToknames = [...]string{ "INSERT", "INT", "INT2VECTOR", + "INT2", + "INT4", "INT8", "INT64", "INTEGER", @@ -1037,3731 +1045,3704 @@ const sqlEofCode = 1 const sqlErrCode = 2 const sqlInitialStackSize = 16 -//line sql.y:5650 +//line sql.y:5670 //line yacctab:1 var sqlExca = [...]int{ -1, 0, 1, 36, - 349, 36, + 353, 36, -2, 462, -1, 1, 1, -1, -2, 0, -1, 61, 1, 435, - 192, 435, - 236, 435, - 345, 435, - 347, 435, + 196, 435, + 240, 435, 349, 435, + 351, 435, + 353, 435, -2, 445, -1, 76, 1, 438, - 192, 438, - 236, 438, - 345, 438, - 347, 438, + 196, 438, + 240, 438, 349, 438, + 351, 438, + 353, 438, -2, 444, -1, 85, 1, 36, - 349, 36, + 353, 36, -2, 462, - -1, 476, + -1, 480, 1, 186, - 349, 186, - -2, 1040, - -1, 547, + 353, 186, + -2, 1044, + -1, 551, 110, 472, - 165, 472, - 190, 472, + 169, 472, + 194, 472, -2, 441, - -1, 550, + -1, 554, 110, 471, - 165, 471, - 190, 471, + 169, 471, + 194, 471, -2, 439, - -1, 630, - 346, 967, - -2, 960, - -1, 631, - 346, 968, - -2, 961, - -1, 637, - 5, 636, - 346, 636, - -2, 1161, - -1, 661, - 5, 597, - -2, 1135, - -1, 662, - 5, 630, - 346, 630, - -2, 1137, - -1, 663, - 5, 605, - -2, 1138, - -1, 664, - 5, 604, - -2, 1139, + -1, 634, + 350, 971, + -2, 964, + -1, 635, + 350, 972, + -2, 965, + -1, 641, + 5, 640, + 350, 640, + -2, 1169, -1, 665, - 5, 630, - 346, 630, - -2, 1142, + 5, 599, + -2, 1139, -1, 666, - 5, 630, - 346, 630, - -2, 1143, + 5, 634, + 350, 634, + -2, 1141, -1, 667, - 5, 631, - -2, 1146, + 5, 609, + -2, 1142, -1, 668, - 5, 591, - -2, 1147, + 5, 608, + -2, 1143, -1, 669, - 5, 591, - -2, 1148, + 5, 634, + 350, 634, + -2, 1146, -1, 670, - 5, 612, - -2, 1152, + 5, 634, + 350, 634, + -2, 1147, -1, 671, - 5, 592, - -2, 1157, + 5, 635, + -2, 1150, -1, 672, - 5, 593, - -2, 1158, + 5, 591, + -2, 1151, -1, 673, - 5, 594, - -2, 1159, + 5, 591, + -2, 1152, -1, 674, - 5, 595, - -2, 1160, + 5, 616, + -2, 1156, -1, 675, - 5, 591, - -2, 1165, + 5, 601, + -2, 1157, -1, 676, - 5, 598, - -2, 1170, + 5, 602, + -2, 1158, -1, 677, - 5, 596, - -2, 1173, + 5, 592, + -2, 1163, -1, 678, - 5, 628, - 346, 628, - -2, 1175, + 5, 593, + -2, 1164, -1, 679, - 5, 632, - -2, 1178, + 5, 594, + -2, 1165, -1, 680, - 5, 634, - -2, 1179, + 5, 595, + -2, 1166, -1, 681, - 5, 627, - 346, 627, - -2, 1184, - -1, 799, + 5, 596, + -2, 1167, + -1, 682, + 5, 597, + -2, 1168, + -1, 683, + 5, 591, + -2, 1173, + -1, 684, + 5, 600, + -2, 1178, + -1, 685, + 5, 598, + -2, 1181, + -1, 686, + 5, 632, + 350, 632, + -2, 1183, + -1, 687, + 5, 636, + -2, 1186, + -1, 688, + 5, 638, + -2, 1187, + -1, 689, + 5, 631, + 350, 631, + -2, 1192, + -1, 807, 110, 471, - 165, 471, - 190, 471, + 169, 471, + 194, 471, -2, 442, - -1, 908, + -1, 916, 101, 445, 110, 445, - 146, 445, - 165, 445, - 190, 445, - 196, 445, - 299, 445, - -2, 755, - -1, 917, - 346, 944, - -2, 932, - -1, 1191, + 150, 445, + 169, 445, + 194, 445, + 200, 445, + 303, 445, + -2, 759, + -1, 925, + 350, 948, + -2, 936, + -1, 1203, 13, 0, 14, 0, 15, 0, - 329, 0, - 330, 0, - 331, 0, - -2, 671, - -1, 1192, + 333, 0, + 334, 0, + 335, 0, + -2, 675, + -1, 1204, 13, 0, 14, 0, 15, 0, - 329, 0, - 330, 0, - 331, 0, - -2, 672, - -1, 1193, + 333, 0, + 334, 0, + 335, 0, + -2, 676, + -1, 1205, 13, 0, 14, 0, 15, 0, - 329, 0, - 330, 0, - 331, 0, - -2, 673, - -1, 1197, + 333, 0, + 334, 0, + 335, 0, + -2, 677, + -1, 1209, 13, 0, 14, 0, 15, 0, - 329, 0, - 330, 0, - 331, 0, - -2, 677, - -1, 1198, + 333, 0, + 334, 0, + 335, 0, + -2, 681, + -1, 1210, 13, 0, 14, 0, 15, 0, - 329, 0, - 330, 0, - 331, 0, - -2, 678, - -1, 1199, + 333, 0, + 334, 0, + 335, 0, + -2, 682, + -1, 1211, 13, 0, 14, 0, 15, 0, - 329, 0, - 330, 0, - 331, 0, - -2, 679, - -1, 1202, + 333, 0, + 334, 0, + 335, 0, + -2, 683, + -1, 1214, 16, 0, 17, 0, 18, 0, 36, 0, - 133, 0, - 134, 0, - 164, 0, - 259, 0, - 326, 0, - 332, 0, - -2, 684, - -1, 1208, + 135, 0, + 136, 0, + 168, 0, + 263, 0, + 330, 0, + 336, 0, + -2, 688, + -1, 1220, 16, 0, 17, 0, 18, 0, 36, 0, - 133, 0, - 134, 0, - 164, 0, - 259, 0, - 326, 0, - 332, 0, - -2, 686, - -1, 1210, + 135, 0, + 136, 0, + 168, 0, + 263, 0, + 330, 0, + 336, 0, + -2, 690, + -1, 1222, 16, 0, 17, 0, 18, 0, 36, 0, - 133, 0, - 134, 0, - 164, 0, - 259, 0, - 326, 0, - 332, 0, - -2, 690, - -1, 1211, + 135, 0, + 136, 0, + 168, 0, + 263, 0, + 330, 0, + 336, 0, + -2, 694, + -1, 1223, 16, 0, 17, 0, 18, 0, 36, 0, - 133, 0, - 134, 0, - 164, 0, - 259, 0, - 326, 0, - 332, 0, - -2, 691, - -1, 1212, + 135, 0, + 136, 0, + 168, 0, + 263, 0, + 330, 0, + 336, 0, + -2, 695, + -1, 1224, 16, 0, 17, 0, 18, 0, 36, 0, - 133, 0, - 134, 0, - 164, 0, - 259, 0, - 326, 0, - 332, 0, - -2, 692, - -1, 1213, + 135, 0, + 136, 0, + 168, 0, + 263, 0, + 330, 0, + 336, 0, + -2, 696, + -1, 1225, 16, 0, 17, 0, 18, 0, 36, 0, - 133, 0, - 134, 0, - 164, 0, - 259, 0, - 326, 0, - 332, 0, - -2, 693, - -1, 1239, - 201, 826, - -2, 829, - -1, 1275, - 119, 866, - 346, 967, - -2, 960, - -1, 1276, - 119, 867, - -2, 1131, - -1, 1277, - 119, 868, - -2, 1039, - -1, 1278, - 119, 869, - -2, 1003, - -1, 1279, - 119, 870, - -2, 1020, - -1, 1280, - 119, 871, - -2, 1038, - -1, 1281, - 119, 872, - -2, 1090, - -1, 1462, + 135, 0, + 136, 0, + 168, 0, + 263, 0, + 330, 0, + 336, 0, + -2, 697, + -1, 1251, + 205, 830, + -2, 833, + -1, 1287, + 121, 870, + 350, 971, + -2, 964, + -1, 1288, + 121, 871, + -2, 1135, + -1, 1289, + 121, 872, + -2, 1043, + -1, 1290, + 121, 873, + -2, 1007, + -1, 1291, + 121, 874, + -2, 1024, + -1, 1292, + 121, 875, + -2, 1042, + -1, 1293, + 121, 876, + -2, 1094, + -1, 1474, 16, 0, 17, 0, 18, 0, 36, 0, - 133, 0, - 134, 0, - 164, 0, - 259, 0, - 326, 0, - 332, 0, - -2, 685, - -1, 1463, + 135, 0, + 136, 0, + 168, 0, + 263, 0, + 330, 0, + 336, 0, + -2, 689, + -1, 1475, 16, 0, 17, 0, 18, 0, 36, 0, - 133, 0, - 134, 0, - 164, 0, - 259, 0, - 326, 0, - 332, 0, - -2, 687, - -1, 1468, + 135, 0, + 136, 0, + 168, 0, + 263, 0, + 330, 0, + 336, 0, + -2, 691, + -1, 1480, 16, 0, 17, 0, 18, 0, 36, 0, - 133, 0, - 134, 0, - 164, 0, - 259, 0, - 326, 0, - 332, 0, - -2, 688, - -1, 1486, - 201, 825, - -2, 828, - -1, 1651, + 135, 0, + 136, 0, + 168, 0, + 263, 0, + 330, 0, + 336, 0, + -2, 692, + -1, 1498, + 205, 829, + -2, 832, + -1, 1663, 101, 445, 110, 445, - 146, 445, - 165, 445, - 190, 445, - 196, 445, - 299, 445, + 150, 445, + 169, 445, + 194, 445, + 200, 445, + 303, 445, -2, 526, - -1, 1693, + -1, 1705, 16, 0, 17, 0, 18, 0, 36, 0, - 133, 0, - 134, 0, - 164, 0, - 259, 0, - 326, 0, - 332, 0, - -2, 689, - -1, 1698, - 149, 0, - -2, 705, - -1, 1708, - 201, 827, - -2, 830, - -1, 1750, + 135, 0, + 136, 0, + 168, 0, + 263, 0, + 330, 0, + 336, 0, + -2, 693, + -1, 1710, + 153, 0, + -2, 709, + -1, 1720, + 205, 831, + -2, 834, + -1, 1762, 13, 0, 14, 0, 15, 0, - 329, 0, - 330, 0, - 331, 0, - -2, 732, - -1, 1751, + 333, 0, + 334, 0, + 335, 0, + -2, 736, + -1, 1763, 13, 0, 14, 0, 15, 0, - 329, 0, - 330, 0, - 331, 0, - -2, 733, - -1, 1752, + 333, 0, + 334, 0, + 335, 0, + -2, 737, + -1, 1764, 13, 0, 14, 0, 15, 0, - 329, 0, - 330, 0, - 331, 0, - -2, 734, - -1, 1756, + 333, 0, + 334, 0, + 335, 0, + -2, 738, + -1, 1768, 13, 0, 14, 0, 15, 0, - 329, 0, - 330, 0, - 331, 0, - -2, 738, - -1, 1757, + 333, 0, + 334, 0, + 335, 0, + -2, 742, + -1, 1769, 13, 0, 14, 0, 15, 0, - 329, 0, - 330, 0, - 331, 0, - -2, 739, - -1, 1758, + 333, 0, + 334, 0, + 335, 0, + -2, 743, + -1, 1770, 13, 0, 14, 0, 15, 0, - 329, 0, - 330, 0, - 331, 0, - -2, 740, - -1, 1840, + 333, 0, + 334, 0, + 335, 0, + -2, 744, + -1, 1852, 1, 527, 70, 527, 101, 527, 110, 527, - 120, 527, - 124, 527, + 122, 527, 126, 527, - 139, 527, - 146, 527, - 153, 527, - 162, 527, - 165, 527, - 177, 527, - 190, 527, - 192, 527, + 128, 527, + 141, 527, + 150, 527, + 157, 527, + 166, 527, + 169, 527, + 181, 527, + 194, 527, 196, 527, - 236, 527, - 238, 527, - 299, 527, - 307, 527, - 318, 527, - 319, 527, - 328, 527, - 345, 527, - 347, 527, + 200, 527, + 240, 527, + 242, 527, + 303, 527, + 311, 527, + 322, 527, + 323, 527, + 332, 527, 349, 527, - 350, 527, + 351, 527, + 353, 527, + 354, 527, -2, 526, - -1, 1890, - 149, 0, - -2, 706, - -1, 1893, + -1, 1902, + 153, 0, + -2, 710, + -1, 1905, 16, 0, 17, 0, 18, 0, 36, 0, - 133, 0, - 134, 0, - 164, 0, - 259, 0, - 326, 0, - 332, 0, - -2, 709, - -1, 1894, + 135, 0, + 136, 0, + 168, 0, + 263, 0, + 330, 0, + 336, 0, + -2, 713, + -1, 1906, 16, 0, 17, 0, 18, 0, 36, 0, - 133, 0, - 134, 0, - 164, 0, - 259, 0, - 326, 0, - 332, 0, - -2, 711, - -1, 2010, + 135, 0, + 136, 0, + 168, 0, + 263, 0, + 330, 0, + 336, 0, + -2, 715, + -1, 2022, 16, 0, 17, 0, 18, 0, 36, 0, - 133, 0, - 134, 0, - 164, 0, - 259, 0, - 326, 0, - 332, 0, - -2, 710, - -1, 2011, + 135, 0, + 136, 0, + 168, 0, + 263, 0, + 330, 0, + 336, 0, + -2, 714, + -1, 2023, 16, 0, 17, 0, 18, 0, 36, 0, - 133, 0, - 134, 0, - 164, 0, - 259, 0, - 326, 0, - 332, 0, - -2, 712, - -1, 2018, - 149, 0, - -2, 741, - -1, 2085, - 149, 0, - -2, 742, - -1, 2166, + 135, 0, + 136, 0, + 168, 0, + 263, 0, + 330, 0, + 336, 0, + -2, 716, + -1, 2030, + 153, 0, + -2, 745, + -1, 2097, + 153, 0, + -2, 746, + -1, 2178, 36, 0, - 133, 0, - 164, 0, - 259, 0, - 326, 0, - 332, 0, - -2, 1134, + 135, 0, + 168, 0, + 263, 0, + 330, 0, + 336, 0, + -2, 1138, } const sqlPrivate = 57344 -const sqlLast = 32093 +const sqlLast = 31717 var sqlAct = [...]int{ - 631, 1796, 2194, 2149, 2165, 1982, 2114, 2150, 1328, 2151, - 1091, 1836, 1727, 2164, 2008, 2042, 1848, 551, 1320, 1939, - 1963, 1403, 1835, 1806, 1374, 1862, 572, 1649, 1950, 621, - 1646, 692, 1287, 1623, 607, 60, 1664, 629, 98, 98, - 1944, 98, 1373, 1552, 857, 1578, 986, 1814, 1097, 628, - 1625, 1823, 343, 98, 98, 98, 1392, 1378, 1093, 1637, - 98, 829, 1377, 98, 832, 1329, 819, 1551, 1410, 1411, - 1170, 98, 529, 1458, 538, 1632, 327, 24, 1663, 1133, - 98, 98, 1497, 1416, 98, 1165, 1142, 98, 98, 98, - 98, 1262, 913, 98, 98, 1237, 1051, 1117, 558, 75, - 1366, 1399, 737, 1301, 958, 1413, 1247, 325, 601, 1225, - 820, 834, 1222, 532, 556, 736, 1322, 858, 587, 713, - 1256, 533, 702, 904, 1272, 1381, 600, 704, 947, 1122, - 705, 561, 802, 461, 475, 803, 943, 1049, 341, 801, - 76, 90, 524, 471, 623, 450, 962, 77, 782, 75, - 94, 559, 1863, 807, 698, 783, 464, 1485, 2053, 971, - 550, 2054, 24, 1644, 2192, 1321, 2174, 854, 971, 1861, - 522, 2161, 555, 971, 1353, 555, 1647, 859, 860, 340, - 305, 1259, 2160, 2157, 75, 1353, 854, 1304, 606, 569, - 2147, 1166, 575, 854, 1325, 582, 1489, 1589, 859, 860, - 862, 1490, 1590, 848, 515, 987, 969, 2144, 859, 860, - 854, 2133, 1353, 1635, 1347, 578, 548, 2111, 1124, 2101, - 854, 862, 472, 547, 861, 74, 1260, 2095, 1169, 308, - 1861, 862, 563, 2091, 2087, 2079, 854, 1347, 2078, 2049, - 2036, 2033, 2050, 1861, 854, 861, 2031, 2012, 1635, 1861, - 1347, 876, 49, 1993, 99, 861, 854, 1992, 1166, 340, - 1861, 50, 1123, 1966, 1917, 340, 1353, 1353, 1895, 1261, - 1258, 1353, 570, 1609, 1892, 577, 580, 1347, 570, 1882, - 1169, 867, 1353, 51, 859, 860, 1763, 879, 880, 881, - 889, 890, 891, 1881, 1860, 1790, 1353, 1861, 1319, 1705, - 882, 1785, 867, 1131, 1319, 74, 344, 862, 81, 1613, - 893, 74, 867, 1702, 1612, 98, 1353, 854, 854, 1402, - 1364, 98, 98, 98, 98, 98, 1353, 538, 539, 1496, - 1569, 861, 49, 1570, 1241, 815, 83, 876, 49, 1567, - 1566, 50, 1353, 1353, 1263, 972, 1041, 50, 1565, 710, - 1486, 1353, 585, 1353, 972, 81, 859, 860, 877, 972, - 1488, 1407, 556, 51, 854, 1353, 725, 1357, 877, 51, - 1353, 1352, 84, 1346, 1353, 1318, 1347, 568, 1319, 862, - 79, 1130, 980, 83, 1129, 981, 1864, 80, 867, 535, - 85, 591, 1958, 1650, 1063, 751, 2184, 2163, 2156, 2119, - 81, 2082, 2034, 861, 81, 1925, 78, 886, 894, 1922, - 1918, 1910, 1909, 814, 64, 1908, 1904, 1903, 1902, 84, - 699, 1257, 1901, 892, 1840, 1813, 1794, 79, 83, 1778, - 921, 878, 83, 1589, 80, 1773, 1772, 1771, 884, 1713, - 825, 878, 1615, 1351, 877, 1611, 98, 1648, 714, 1123, - 1574, 1571, 1559, 1324, 708, 1550, 1521, 707, 707, 1518, - 867, 975, 691, 98, 84, 1517, 98, 98, 84, 883, - 970, 1515, 1233, 1502, 1501, 1089, 79, 538, 1420, 1269, - 1522, 1523, 1268, 80, 81, 538, 814, 914, 813, 78, - 81, 1096, 1729, 2136, 64, 1522, 1523, 689, 78, 2098, - 64, 2077, 78, 570, 863, 864, 865, 866, 868, 869, - 580, 2076, 83, 914, 2075, 98, 877, 878, 83, 2067, - 2065, 98, 872, 870, 871, 863, 864, 865, 866, 868, - 869, 2057, 2045, 887, 871, 863, 864, 865, 866, 868, - 869, 2029, 98, 98, 98, 2020, 98, 1979, 84, 1968, - 1933, 1915, 1887, 1867, 84, 1828, 79, 755, 1804, 1924, - 1802, 98, 79, 80, 1801, 800, 1799, 1522, 1523, 80, - 1792, 1697, 98, 747, 1672, 1671, 1549, 1234, 1511, 1510, - 1507, 539, 78, 1482, 1528, 538, 98, 1477, 326, 878, - 1227, 1449, 343, 538, 1447, 824, 859, 860, 1434, 1528, - 885, 1433, 754, 873, 874, 875, 888, 1406, 872, 870, - 871, 863, 864, 865, 866, 868, 869, 948, 951, 862, - 1599, 1311, 730, 732, 1919, 735, 788, 682, 1267, 1090, - 799, 573, 823, 955, 941, 940, 939, 938, 937, 936, - 1538, 556, 935, 861, 934, 933, 932, 931, 786, 930, - 929, 928, 1434, 927, 926, 925, 918, 755, 784, 907, - 78, 818, 734, 721, 719, 755, 2175, 2052, 1955, 1930, - 1929, 1528, 1897, 1829, 1598, 905, 792, 591, 795, 345, - 872, 870, 871, 863, 864, 865, 866, 868, 869, 1522, - 1523, 98, 825, 2081, 743, 745, 98, 98, 98, 548, - 98, 540, 852, 2055, 1626, 1928, 547, 810, 811, 570, - 1591, 1166, 816, 1539, 1650, 1573, 953, 98, 98, 536, - 1398, 954, 1572, 960, 690, 98, 1461, 774, 1397, 98, - 855, 539, 1956, 746, 98, 842, 853, 744, 1047, 539, - 923, 1094, 1459, 1945, 538, 538, 1321, 1730, 1248, 944, - 1493, 778, 343, 1585, 1659, 840, 2122, 835, 98, 836, - 826, 98, 2090, 98, 98, 98, 98, 98, 98, 917, - 1259, 920, 841, 2182, 98, 2181, 1875, 1356, 508, 98, - 98, 1078, 514, 509, 311, 513, 98, 772, 1606, 545, - 779, 771, 2003, 910, 2002, 2001, 2000, 98, 949, 1687, - 1686, 699, 945, 946, 952, 1656, 1095, 1524, 1525, 1526, - 1527, 1529, 1530, 1655, 320, 1260, 98, 1506, 1505, 98, - 1504, 1503, 982, 88, 1526, 1527, 1529, 1530, 98, 825, - 1464, 1135, 837, 1886, 312, 554, 98, 1683, 1354, 539, - 98, 1209, 1163, 1121, 964, 984, 344, 539, 98, 98, - 961, 75, 98, 1162, 1159, 98, 1100, 785, 1261, 1258, - 1065, 584, 343, 1315, 743, 624, 1034, 1314, 1048, 321, - 1036, 1035, 1180, 1393, 1086, 1085, 521, 1038, 87, 959, - 553, 2089, 1052, 845, 570, 963, 963, 1690, 1224, 1059, - 1064, 1058, 1067, 1136, 1524, 1525, 1526, 1527, 1529, 1530, - 1780, 1984, 717, 843, 1072, 577, 580, 744, 1791, 1032, - 1575, 1224, 974, 956, 1066, 977, 1147, 1149, 1154, 1087, - 844, 1157, 1040, 733, 2134, 770, 1135, 775, 869, 965, - 555, 1263, 1134, 1263, 684, 1579, 1104, 2188, 1103, 835, - 1102, 836, 1454, 1168, 768, 1152, 1451, 1119, 548, 960, - 850, 548, 548, 1127, 540, 1113, 1039, 1164, 1114, 1115, - 835, 1139, 836, 2070, 1522, 1523, 98, 849, 98, 98, - 1248, 98, 859, 860, 98, 1160, 98, 98, 1220, 98, - 98, 769, 538, 1069, 541, 2181, 1073, 1074, 1075, 1076, - 1077, 2153, 776, 1218, 1088, 862, 314, 313, 539, 539, - 1179, 1082, 1083, 1607, 1341, 942, 344, 1245, 546, 322, - 1257, 859, 860, 542, 837, 1084, 1128, 1537, 86, 861, - 2016, 1530, 516, 543, 1605, 1143, 306, 1235, 570, 1232, - 2197, 1388, 2130, 552, 862, 837, 580, 758, 324, 1323, - 570, 1323, 716, 2030, 1231, 777, 838, 846, 323, 1229, - 1360, 902, 1674, 2203, 594, 1282, 2131, 89, 861, 1214, - 1681, 1362, 1723, 845, 343, 1171, 1178, 1215, 1528, 1216, - 1400, 1401, 98, 1221, 759, 2154, 867, 757, 1583, 75, - 971, 1327, 1363, 843, 75, 98, 98, 98, 1342, 1146, - 98, 98, 307, 1345, 1361, 1238, 1337, 98, 1336, 517, - 844, 1343, 1242, 714, 540, 1985, 1250, 1339, 1474, 1340, - 1338, 707, 540, 707, 1350, 867, 344, 1274, 1274, 1285, - 1509, 1296, 1579, 1472, 1538, 98, 343, 1308, 1309, 1310, - 1466, 2155, 877, 98, 98, 98, 448, 1263, 1839, 98, - 1636, 1408, 98, 949, 1824, 952, 1419, 1445, 98, 98, - 98, 98, 98, 1223, 1332, 1132, 740, 1358, 1720, 580, - 98, 2195, 580, 98, 98, 946, 945, 315, 833, 2187, - 538, 877, 555, 1691, 1811, 2152, 2180, 2178, 75, 1217, - 1938, 1390, 762, 451, 728, 1145, 1219, 1368, 724, 1469, - 1640, 1421, 806, 1995, 519, 1372, 1427, 1539, 1457, 1470, - 1994, 1721, 1365, 1475, 456, 878, 859, 860, 1640, 1643, - 452, 1675, 540, 1370, 2208, 1977, 2196, 1444, 2062, 345, - 540, 741, 1396, 1638, 1658, 742, 1046, 1643, 838, 862, - 1446, 1874, 1641, 1448, 1409, 453, 539, 2198, 1873, 2204, - 1759, 1822, 755, 1422, 878, 1430, 1426, 1639, 1856, 838, - 1641, 805, 1913, 861, 455, 1478, 1479, 1391, 1101, 1092, - 1719, 2115, 1952, 556, 1418, 2186, 972, 1044, 1495, 1871, - 1109, 1144, 518, 1369, 580, 1371, 1263, 805, 570, 1045, - 1081, 1857, 1042, 1807, 1206, 1964, 1230, 1460, 1533, 1531, - 1532, 1524, 1525, 1526, 1527, 1529, 1530, 870, 871, 863, - 864, 865, 866, 868, 869, 1953, 804, 1940, 1642, 1471, - 867, 2207, 683, 1414, 1978, 1436, 1473, 1467, 344, 1465, - 98, 1423, 1545, 1546, 1547, 98, 1642, 98, 556, 1760, - 1435, 806, 804, 1872, 98, 1761, 1110, 1481, 863, 864, - 865, 866, 868, 869, 1819, 98, 1431, 1914, 1965, 459, - 1818, 458, 1453, 1492, 316, 98, 98, 740, 697, 696, - 556, 553, 454, 796, 1870, 538, 1797, 1931, 1581, 1456, - 1975, 540, 540, 1587, 1633, 1815, 1852, 1951, 1853, 345, - 344, 1204, 1207, 98, 1266, 98, 2019, 98, 1912, 616, - 1553, 98, 1976, 1696, 317, 98, 1689, 1576, 1516, 1476, - 1355, 1317, 1556, 1557, 1558, 1158, 1155, 781, 1855, 780, - 773, 767, 1203, 766, 765, 1480, 457, 1858, 98, 764, - 763, 760, 1483, 318, 539, 319, 695, 95, 95, 1584, - 309, 1614, 592, 1616, 1554, 1079, 1071, 924, 1592, 752, - 1499, 1500, 442, 443, 444, 1265, 2148, 2112, 1845, 463, - 1596, 1679, 477, 556, 1677, 1602, 1603, 1610, 1657, 1604, - 463, 1608, 1617, 1622, 1670, 1394, 1620, 1386, 636, 562, - 562, 1344, 1669, 309, 979, 978, 309, 309, 581, 309, - 1548, 976, 95, 588, 1668, 1522, 1523, 1653, 973, 345, - 968, 1561, 686, 851, 1854, 1654, 1634, 1628, 1694, 1695, - 1630, 1652, 847, 839, 1710, 75, 1624, 1205, 1577, 694, - 98, 75, 693, 959, 1631, 2024, 1715, 1716, 1717, 1661, - 1645, 1618, 959, 2182, 1699, 1682, 685, 3, 808, 1688, - 566, 91, 1404, 570, 1054, 865, 866, 868, 869, 332, - 34, 338, 29, 2026, 1593, 1135, 1594, 1595, 337, 28, - 1135, 1150, 1151, 1597, 336, 27, 1148, 1740, 1741, 1742, - 1743, 1744, 1745, 1746, 1747, 1748, 1749, 1750, 1751, 1752, - 1753, 1754, 1755, 1756, 1757, 1758, 1784, 1762, 2072, 1621, - 1864, 1706, 1431, 1709, 1733, 993, 753, 1736, 2084, 1528, - 98, 98, 1405, 1738, 1731, 1766, 1722, 1724, 1725, 809, - 1816, 567, 812, 334, 26, 589, 1414, 1786, 590, 540, - 98, 1156, 1062, 574, 98, 1153, 98, 331, 18, 539, - 1767, 2102, 447, 98, 586, 34, 538, 29, 1783, 1803, - 1936, 335, 13, 1389, 28, 1684, 98, 1685, 1385, 98, - 27, 339, 12, 1326, 1120, 1538, 1781, 1678, 343, 1680, - 98, 1037, 985, 1789, 1020, 1787, 98, 98, 98, 1788, - 1349, 1444, 2201, 2206, 1800, 329, 11, 507, 333, 9, - 1703, 328, 8, 98, 1830, 1808, 1798, 2146, 98, 2105, - 98, 460, 98, 98, 98, 1961, 1810, 98, 98, 26, - 538, 345, 1865, 1825, 1826, 451, 1793, 1869, 1809, 1821, - 1779, 1670, 1841, 18, 309, 1817, 1726, 633, 1820, 1669, - 700, 309, 477, 477, 588, 1844, 456, 13, 1539, 1171, - 1734, 1668, 452, 859, 860, 993, 993, 12, 1171, 1739, - 98, 790, 330, 4, 1885, 510, 511, 1764, 859, 860, - 1522, 1523, 859, 860, 1891, 1600, 862, 453, 1774, 1568, - 1868, 11, 1316, 345, 9, 790, 789, 8, 1313, 1312, - 1255, 1770, 755, 911, 1057, 1056, 455, 535, 530, 791, - 861, 1899, 2128, 2009, 1718, 1619, 921, 919, 1332, 1414, - 1911, 520, 1983, 449, 1070, 861, 1831, 761, 1957, 1827, - 2129, 1905, 1508, 2041, 1020, 1020, 2015, 540, 1264, 922, - 47, 1666, 98, 98, 610, 1846, 1660, 1380, 1379, 538, - 1531, 1532, 1524, 1525, 1526, 1527, 1529, 1530, 4, 98, - 98, 346, 1055, 98, 1414, 632, 1934, 1414, 523, 1670, - 1273, 98, 1927, 1172, 1670, 722, 1834, 1669, 98, 687, - 634, 990, 1669, 635, 991, 1935, 98, 1060, 98, 1668, - 343, 98, 729, 1960, 1668, 477, 477, 1959, 1941, 98, - 950, 1112, 1926, 622, 988, 343, 712, 1943, 1969, 1330, - 1878, 1228, 1246, 1491, 454, 915, 1884, 602, 1932, 614, - 539, 1942, 1970, 1937, 1987, 613, 1243, 1989, 1948, 1949, - 1980, 1670, 1954, 718, 1962, 960, 474, 63, 1986, 1669, - 470, 1582, 344, 1971, 463, 1923, 1108, 1026, 1395, 1105, - 309, 1668, 1676, 544, 1519, 720, 2005, 1294, 2014, 1286, - 1283, 2004, 787, 828, 903, 98, 1061, 1331, 457, 750, - 1588, 477, 794, 477, 1348, 797, 817, 1116, 565, 98, - 564, 1375, 538, 748, 539, 2018, 98, 1043, 1359, 2025, - 562, 896, 895, 512, 98, 2027, 2064, 739, 738, 1387, - 98, 309, 2021, 1670, 1429, 2202, 2071, 1673, 2121, 98, - 98, 1669, 82, 2080, 2007, 95, 98, 2040, 2044, 1455, - 35, 2059, 2051, 1668, 2066, 33, 2048, 1288, 1973, 2060, - 30, 2038, 540, 2058, 2056, 25, 23, 22, 21, 32, - 20, 98, 98, 1988, 1947, 31, 993, 1414, 1414, 2069, - 19, 1414, 2032, 2035, 2039, 17, 2068, 16, 15, 14, - 10, 46, 45, 2047, 2061, 44, 43, 98, 42, 41, - 7, 98, 1019, 2083, 6, 5, 2096, 2094, 2, 538, - 1, 0, 2097, 0, 0, 0, 98, 1981, 0, 0, - 0, 0, 2085, 0, 0, 1991, 343, 98, 98, 0, - 0, 0, 0, 539, 2100, 556, 98, 2086, 98, 0, - 2103, 98, 0, 343, 2106, 1020, 2104, 0, 0, 2109, - 309, 1997, 2110, 1998, 1999, 309, 309, 309, 0, 966, - 2118, 0, 2117, 2127, 0, 0, 2137, 536, 531, 2139, - 0, 2138, 98, 0, 344, 98, 309, 309, 0, 0, - 2135, 2099, 0, 0, 95, 2143, 2145, 2142, 95, 344, - 2141, 0, 0, 477, 0, 0, 0, 2037, 1670, 0, - 0, 2158, 0, 0, 0, 98, 1669, 98, 0, 0, - 2173, 1636, 1414, 2171, 2162, 2170, 0, 477, 1668, 98, - 477, 0, 95, 477, 477, 477, 477, 477, 0, 2179, - 2177, 2172, 0, 1080, 0, 2183, 0, 0, 477, 477, - 0, 2185, 1019, 1019, 0, 463, 0, 2140, 0, 0, - 2193, 1522, 1523, 0, 0, 2199, 1099, 2200, 992, 0, - 2191, 1640, 0, 0, 2107, 2205, 539, 0, 0, 0, - 0, 0, 0, 0, 0, 562, 2209, 0, 588, 0, - 1643, 2123, 1022, 993, 0, 0, 0, 309, 0, 0, - 0, 0, 1033, 0, 1638, 1140, 0, 0, 0, 309, - 1522, 1523, 0, 1641, 0, 0, 0, 309, 1161, 0, - 0, 309, 993, 0, 1167, 0, 1021, 1856, 1639, 0, - 1849, 0, 0, 540, 0, 0, 0, 0, 1847, 2120, - 0, 0, 1851, 2124, 2125, 2126, 0, 0, 0, 0, - 0, 0, 2132, 0, 0, 345, 0, 1288, 1288, 0, - 1857, 0, 1020, 0, 0, 1528, 0, 0, 0, 0, - 0, 0, 0, 539, 0, 0, 0, 0, 0, 0, - 0, 0, 1850, 0, 0, 0, 0, 0, 0, 1642, - 344, 1020, 0, 0, 0, 0, 0, 540, 0, 0, - 0, 0, 0, 1332, 0, 0, 0, 344, 992, 992, - 0, 0, 0, 0, 1528, 0, 0, 0, 0, 0, - 0, 1538, 0, 993, 1288, 1288, 1288, 0, 0, 0, - 0, 0, 1022, 1022, 0, 309, 0, 1334, 1335, 0, - 309, 0, 0, 309, 0, 477, 477, 0, 477, 588, - 0, 0, 0, 0, 0, 1852, 0, 1853, 0, 993, - 993, 0, 0, 0, 0, 0, 1021, 1021, 993, 993, - 1538, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1855, 0, 0, - 0, 0, 1020, 0, 1539, 0, 1858, 0, 0, 0, - 0, 993, 0, 0, 0, 0, 0, 989, 0, 0, - 0, 0, 0, 0, 0, 0, 540, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1020, 1020, - 0, 0, 0, 1019, 0, 0, 0, 1020, 1020, 0, - 0, 1367, 0, 1539, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 309, 309, 309, 345, 0, 309, - 1376, 0, 0, 0, 0, 0, 588, 0, 0, 0, - 1020, 0, 345, 1854, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1533, 1531, 1532, 1524, 1525, - 1526, 1527, 1529, 1530, 309, 0, 0, 0, 0, 0, - 1288, 1288, 309, 1424, 1425, 0, 0, 0, 1140, 593, - 688, 1432, 0, 0, 0, 0, 0, 1437, 1438, 1440, - 1442, 1443, 0, 0, 0, 0, 0, 0, 0, 1450, - 0, 0, 1452, 309, 0, 0, 1532, 1524, 1525, 1526, - 1527, 1529, 1530, 993, 611, 61, 0, 989, 989, 540, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1288, - 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, - 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 0, 1288, - 0, 0, 0, 0, 859, 860, 0, 0, 0, 992, - 889, 890, 891, 0, 0, 61, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 862, 0, 0, - 893, 0, 1020, 1022, 0, 0, 0, 0, 0, 0, - 549, 0, 0, 557, 0, 0, 0, 0, 0, 0, - 61, 861, 0, 0, 0, 0, 0, 876, 0, 0, - 1019, 0, 0, 0, 0, 0, 540, 1021, 0, 0, + 635, 2177, 1808, 2206, 2161, 1340, 1386, 2162, 1994, 2163, + 2176, 1103, 2126, 1848, 1739, 1951, 2020, 1332, 555, 1818, + 2054, 625, 633, 1415, 1975, 1860, 1847, 1109, 1675, 994, + 1874, 1962, 576, 1658, 1635, 611, 1676, 60, 98, 98, + 995, 98, 865, 1956, 1385, 700, 533, 1404, 1590, 1661, + 345, 1389, 347, 98, 98, 98, 1390, 1564, 1826, 1649, + 98, 628, 632, 98, 840, 1341, 827, 1637, 837, 1563, + 1509, 98, 1422, 1835, 542, 1105, 921, 1428, 1470, 1154, + 98, 98, 1249, 1644, 98, 1129, 977, 98, 98, 98, + 98, 562, 75, 98, 98, 1274, 1145, 1182, 1313, 1063, + 591, 745, 1177, 1411, 1378, 479, 966, 329, 605, 1237, + 331, 24, 1259, 866, 1234, 1423, 560, 842, 828, 536, + 744, 1268, 537, 721, 1284, 951, 604, 712, 710, 912, + 713, 1334, 1134, 565, 1393, 76, 810, 809, 811, 465, + 90, 528, 75, 627, 955, 475, 77, 706, 554, 1061, + 454, 94, 476, 970, 563, 815, 790, 791, 1875, 468, + 1497, 2065, 2204, 1425, 2066, 862, 559, 344, 979, 1333, + 979, 1271, 2186, 526, 979, 1873, 1337, 75, 1659, 309, + 2173, 867, 868, 1365, 887, 888, 889, 897, 898, 899, + 2172, 2169, 2159, 1365, 862, 862, 24, 890, 867, 868, + 2156, 1601, 2145, 862, 870, 1359, 2123, 901, 856, 862, + 519, 552, 559, 74, 2107, 582, 2103, 1873, 1272, 862, + 2099, 870, 551, 1359, 1534, 1535, 2091, 2061, 869, 2090, + 2062, 1602, 1501, 2048, 884, 567, 1873, 1502, 2045, 81, + 49, 862, 1365, 2043, 1136, 869, 1873, 573, 1178, 50, + 579, 884, 2024, 586, 2005, 1359, 2004, 862, 1978, 1873, + 2113, 1365, 1929, 1273, 1270, 1365, 1907, 83, 1904, 1365, + 1647, 1359, 1894, 51, 1181, 1365, 1893, 1549, 1872, 1365, + 1802, 1873, 1797, 1331, 1647, 1331, 1714, 875, 1624, 1365, + 1581, 862, 1135, 1582, 1656, 1316, 1579, 1578, 1577, 1365, + 1365, 1365, 1498, 84, 875, 1365, 894, 902, 1500, 1419, + 344, 79, 862, 1365, 1369, 1621, 1775, 1365, 80, 98, + 1365, 1717, 1143, 1625, 900, 98, 98, 98, 98, 98, + 1540, 542, 867, 868, 862, 718, 1414, 78, 1275, 892, + 1364, 81, 1376, 1365, 1358, 885, 1253, 1359, 1330, 344, + 1178, 1331, 823, 1053, 1142, 870, 74, 1141, 980, 589, + 980, 610, 885, 733, 980, 572, 1508, 85, 560, 83, + 891, 988, 1181, 595, 989, 1075, 759, 539, 1876, 869, + 81, 1662, 2196, 49, 1970, 2175, 2168, 2131, 1550, 2094, + 2046, 1937, 50, 1934, 1930, 74, 81, 1922, 1921, 1920, + 1916, 822, 312, 1915, 1914, 84, 64, 1913, 83, 1852, + 1825, 1806, 1790, 79, 1785, 1269, 51, 1784, 886, 1783, + 80, 1725, 49, 833, 83, 1623, 1627, 1586, 1583, 1571, + 1660, 50, 715, 715, 895, 886, 1562, 1363, 875, 1336, + 929, 1533, 1530, 1529, 84, 574, 1527, 1514, 581, 584, + 98, 574, 1513, 722, 1432, 51, 1281, 1280, 716, 822, + 84, 1551, 821, 1245, 1601, 1108, 697, 98, 79, 1741, + 98, 98, 699, 2187, 983, 80, 978, 1135, 78, 2148, + 1101, 542, 707, 922, 2110, 78, 2089, 2088, 2087, 542, + 2079, 2077, 2069, 2057, 78, 2041, 885, 2032, 1991, 1980, + 1945, 893, 1927, 1899, 881, 882, 883, 896, 1879, 880, + 878, 879, 871, 872, 873, 874, 876, 877, 1840, 98, + 1816, 2064, 2125, 1814, 1813, 98, 880, 878, 879, 871, + 872, 873, 874, 876, 877, 763, 1811, 1709, 1804, 81, + 1684, 1683, 1561, 1523, 1522, 1936, 98, 98, 98, 64, + 98, 1519, 1545, 1543, 1544, 1536, 1537, 1538, 1539, 1541, + 1542, 1494, 1489, 1239, 1967, 98, 1461, 83, 1246, 886, + 808, 1459, 1446, 1445, 1418, 956, 98, 959, 81, 1323, + 755, 1279, 1102, 1534, 1535, 577, 963, 949, 64, 542, + 98, 948, 947, 946, 945, 944, 347, 542, 867, 868, + 943, 942, 762, 84, 941, 832, 83, 940, 939, 938, + 937, 79, 936, 935, 934, 933, 926, 915, 80, 78, + 826, 870, 807, 742, 729, 727, 1942, 99, 1941, 738, + 740, 743, 1909, 1841, 922, 763, 831, 78, 1446, 1534, + 1535, 1611, 84, 763, 1610, 869, 863, 560, 913, 833, + 79, 800, 2093, 803, 850, 2067, 1662, 80, 794, 1638, + 880, 878, 879, 871, 872, 873, 874, 876, 877, 753, + 792, 867, 868, 595, 848, 1940, 330, 1603, 751, 348, + 574, 1178, 1585, 1584, 1473, 1534, 1535, 584, 796, 1540, + 782, 849, 961, 754, 870, 698, 1059, 962, 552, 98, + 931, 543, 860, 1106, 98, 98, 98, 1471, 98, 551, + 1957, 540, 1410, 818, 819, 867, 868, 1333, 869, 824, + 1409, 752, 1742, 1534, 1535, 98, 98, 1260, 1968, 1505, + 952, 1069, 1068, 98, 539, 534, 692, 98, 870, 1534, + 1535, 861, 98, 1597, 1671, 968, 2102, 1550, 833, 2134, + 2193, 1887, 542, 542, 786, 1618, 315, 1368, 779, 843, + 347, 844, 869, 512, 2194, 518, 98, 513, 517, 98, + 549, 98, 98, 98, 98, 98, 98, 875, 1090, 925, + 780, 2015, 98, 1271, 2014, 928, 2013, 98, 98, 1001, + 88, 1540, 2012, 787, 98, 953, 954, 1534, 1535, 1699, + 982, 324, 1698, 985, 1668, 98, 1667, 1147, 316, 1518, + 1076, 1517, 1516, 1695, 1072, 1107, 1074, 690, 957, 1515, + 1551, 875, 1476, 1898, 98, 1366, 1060, 98, 960, 1540, + 1272, 1147, 1221, 1133, 845, 1175, 98, 1146, 1174, 1171, + 751, 793, 588, 1327, 98, 1540, 1326, 87, 98, 1550, + 1192, 969, 75, 992, 1405, 1097, 98, 98, 325, 972, + 98, 1098, 525, 98, 691, 2101, 1702, 707, 1077, 349, + 347, 1079, 1155, 1046, 1236, 1273, 1270, 1048, 1038, 885, + 1803, 1112, 1100, 752, 1047, 1792, 574, 1050, 990, 1236, + 725, 544, 778, 1587, 1051, 964, 1071, 1073, 1070, 1996, + 1148, 1078, 1064, 1540, 741, 918, 2146, 766, 1183, 1190, + 973, 1084, 1543, 1544, 1536, 1537, 1538, 1539, 1541, 1542, + 1191, 1081, 1551, 1275, 1085, 1086, 1087, 1088, 1089, 1001, + 1001, 640, 1591, 1099, 877, 520, 2165, 834, 1158, 1094, + 1095, 1159, 1161, 2142, 767, 2200, 1114, 765, 1116, 1115, + 1275, 552, 886, 1260, 552, 552, 1686, 1131, 543, 2215, + 1166, 1550, 1125, 1169, 1139, 1126, 1127, 2143, 1180, 545, + 783, 968, 318, 317, 98, 1542, 98, 98, 1151, 98, + 2193, 2082, 98, 1172, 98, 98, 1466, 98, 98, 86, + 542, 1412, 1413, 550, 1353, 1617, 319, 1096, 546, 1257, + 326, 1463, 871, 872, 873, 874, 876, 877, 547, 858, + 979, 1164, 521, 1545, 1543, 1544, 1536, 1537, 1538, 1539, + 1541, 1542, 2166, 1176, 776, 1044, 854, 1269, 89, 328, + 867, 868, 724, 857, 1551, 784, 1157, 1244, 1052, 327, + 1693, 1247, 853, 1735, 878, 879, 871, 872, 873, 874, + 876, 877, 846, 870, 1536, 1537, 1538, 1539, 1541, 1542, + 967, 777, 851, 1294, 1144, 574, 971, 971, 540, 535, + 1595, 1619, 1538, 1539, 1541, 1542, 347, 869, 2167, 852, + 75, 1335, 950, 1335, 98, 75, 581, 584, 785, 1350, + 715, 558, 715, 843, 1400, 844, 1354, 98, 98, 98, + 748, 1357, 98, 98, 1339, 853, 1348, 1997, 543, 98, + 1349, 523, 722, 1355, 1591, 1351, 543, 1352, 1275, 1687, + 1478, 2028, 1156, 1362, 2042, 851, 1377, 1544, 1536, 1537, + 1538, 1539, 1541, 1542, 910, 1235, 875, 98, 347, 1243, + 557, 2199, 852, 1521, 1241, 98, 98, 98, 544, 2216, + 1732, 98, 1420, 310, 98, 1836, 1851, 1431, 559, 1372, + 98, 98, 98, 98, 98, 749, 954, 953, 845, 750, + 1374, 957, 98, 960, 1370, 98, 98, 1703, 1823, 2164, + 2209, 2192, 542, 75, 2190, 1950, 1648, 320, 1430, 522, + 559, 1375, 1218, 1443, 885, 1733, 843, 1140, 844, 1380, + 980, 452, 1402, 1373, 813, 770, 736, 1439, 732, 574, + 1433, 1250, 1648, 2220, 1001, 814, 543, 584, 1254, 311, + 1469, 574, 1262, 348, 543, 1382, 2007, 321, 763, 1456, + 2006, 1925, 1232, 1286, 1286, 1297, 1989, 1308, 1652, 2198, + 1408, 2074, 1883, 1320, 1321, 1322, 1886, 1230, 455, 867, + 868, 1771, 1670, 1885, 1421, 1442, 322, 1655, 323, 1438, + 1403, 1434, 1113, 812, 1652, 1384, 1104, 886, 1731, 460, + 1275, 845, 870, 1650, 2127, 456, 1458, 560, 1093, 1460, + 1054, 1507, 1653, 1655, 1652, 1819, 1976, 1952, 814, 1990, + 1965, 1216, 1219, 556, 813, 1472, 869, 1651, 544, 1650, + 463, 1448, 457, 1655, 1058, 1457, 544, 1447, 1653, 1831, + 1830, 1121, 1964, 748, 2219, 2207, 462, 1226, 804, 1834, + 705, 459, 694, 1651, 1215, 1227, 557, 1228, 1653, 1479, + 1926, 1233, 98, 1477, 704, 1344, 1943, 98, 1809, 98, + 584, 1882, 560, 584, 1772, 693, 98, 1056, 1468, 1493, + 1773, 1977, 1884, 812, 1987, 875, 1827, 98, 1654, 1057, + 879, 871, 872, 873, 874, 876, 877, 98, 98, 455, + 2208, 1504, 1645, 1278, 560, 2031, 1924, 542, 1988, 543, + 543, 1122, 1565, 1593, 1654, 1242, 846, 348, 1599, 1708, + 460, 2210, 1701, 1588, 620, 98, 456, 98, 637, 98, + 1609, 1528, 1488, 98, 1654, 1367, 544, 98, 841, 1568, + 1569, 1570, 1329, 349, 544, 1170, 1167, 789, 788, 1217, + 781, 1001, 1626, 457, 1628, 775, 774, 1963, 773, 1443, + 98, 458, 95, 95, 772, 313, 1605, 1229, 1606, 1607, + 771, 768, 459, 1596, 1231, 703, 596, 446, 447, 448, + 1001, 1566, 1604, 1091, 467, 1083, 932, 481, 1381, 584, + 1383, 760, 1277, 574, 1032, 467, 2160, 560, 1682, 1681, + 1616, 1614, 1615, 2124, 566, 566, 1620, 1857, 313, 1691, + 1689, 313, 313, 585, 313, 461, 1622, 95, 592, 846, + 1669, 1634, 1534, 1535, 1406, 1398, 1356, 348, 1426, 987, + 1642, 986, 984, 981, 1630, 976, 1435, 1664, 1629, 1680, + 75, 1640, 1632, 859, 855, 1666, 75, 847, 1722, 1711, + 1608, 1636, 98, 702, 1673, 1646, 1643, 2036, 701, 1727, + 1728, 1729, 1657, 1416, 91, 1492, 816, 1465, 570, 1690, + 2194, 1692, 1495, 1066, 2038, 1665, 1700, 336, 34, 1163, + 3, 1001, 458, 1796, 1694, 342, 29, 1147, 341, 28, + 1511, 1512, 1147, 1162, 340, 27, 1183, 1746, 1160, 544, + 544, 338, 26, 867, 868, 1183, 1751, 349, 451, 1721, + 1718, 2084, 873, 874, 876, 877, 1876, 1001, 1001, 761, + 335, 18, 1031, 1417, 1743, 2096, 1001, 1001, 1540, 1828, + 1560, 1748, 98, 98, 1032, 1032, 461, 817, 1782, 571, + 511, 1573, 1734, 1736, 1737, 339, 13, 543, 1798, 593, + 869, 1778, 98, 1745, 594, 820, 98, 590, 98, 1001, + 343, 12, 1750, 34, 1779, 98, 578, 464, 542, 1168, + 1165, 29, 1815, 1795, 28, 333, 11, 2114, 98, 1868, + 27, 98, 337, 9, 1948, 1812, 1550, 26, 1793, 1000, + 347, 1401, 98, 332, 8, 334, 4, 1799, 98, 98, + 98, 1397, 1801, 1456, 1338, 1800, 18, 1810, 514, 515, + 1132, 1049, 1869, 993, 1821, 98, 1361, 349, 2213, 2218, + 98, 1881, 98, 1589, 98, 98, 98, 2158, 967, 98, + 98, 13, 542, 348, 1820, 1682, 1681, 967, 1842, 1877, + 1843, 1833, 1880, 313, 1045, 1822, 12, 2117, 574, 708, + 313, 481, 481, 592, 1973, 1853, 1856, 1837, 1838, 1551, + 1805, 11, 1031, 1031, 1791, 867, 868, 1911, 9, 1903, + 1534, 1535, 98, 1738, 1897, 798, 1680, 1612, 763, 8, + 1580, 4, 867, 868, 1328, 1696, 1325, 1697, 870, 798, + 797, 1324, 1267, 1829, 1633, 348, 1832, 919, 799, 2140, + 2021, 1001, 1730, 1631, 929, 927, 524, 1995, 453, 1082, + 769, 1864, 869, 1865, 1969, 1839, 2141, 1917, 1520, 2053, + 1715, 1426, 2027, 1276, 930, 47, 1678, 614, 1858, 1000, + 1000, 1672, 1392, 1391, 350, 1067, 1923, 544, 636, 543, + 527, 1285, 1184, 1867, 98, 98, 695, 638, 998, 639, + 1946, 542, 1870, 1536, 1537, 1538, 1539, 1541, 1542, 999, + 958, 98, 98, 1682, 1681, 98, 626, 996, 1682, 1681, + 1944, 720, 1342, 98, 730, 1949, 1240, 1939, 1258, 1503, + 98, 923, 606, 618, 617, 1255, 726, 1776, 98, 1947, + 98, 737, 347, 98, 481, 481, 1974, 1954, 1786, 1972, + 1955, 98, 478, 63, 1680, 474, 1594, 347, 1935, 1680, + 1120, 1407, 1117, 1688, 548, 1531, 728, 1953, 1306, 1032, + 1298, 1971, 1295, 349, 795, 1682, 1681, 1982, 1999, 1866, + 836, 2001, 1981, 911, 1343, 758, 1600, 1360, 1938, 825, + 1998, 1128, 1985, 467, 1983, 569, 568, 1387, 756, 313, + 2017, 968, 1055, 1371, 904, 903, 516, 2000, 2009, 2076, + 747, 2026, 746, 1399, 2016, 1441, 1680, 98, 2214, 2083, + 481, 802, 481, 2037, 805, 1685, 1960, 1961, 2133, 1001, + 1966, 98, 82, 2092, 542, 349, 1846, 2033, 98, 566, + 2019, 1467, 35, 1344, 1426, 33, 98, 1682, 1681, 30, + 313, 25, 98, 2039, 2044, 2010, 2011, 23, 22, 21, + 598, 98, 98, 32, 95, 20, 31, 2070, 98, 1001, + 2052, 19, 1486, 2056, 17, 2071, 16, 2078, 2063, 544, + 2051, 2060, 15, 14, 543, 10, 46, 1484, 1680, 1426, + 2072, 45, 1426, 98, 98, 2073, 44, 1031, 43, 42, + 2050, 41, 2081, 7, 6, 597, 696, 5, 2068, 2, + 1, 0, 0, 2080, 0, 0, 0, 0, 0, 98, + 0, 0, 0, 98, 0, 0, 2095, 0, 0, 2108, + 1034, 542, 2106, 0, 0, 1890, 0, 2109, 98, 2047, + 0, 1896, 2098, 0, 2115, 0, 0, 0, 347, 98, + 98, 0, 2112, 1033, 0, 0, 2122, 1481, 98, 560, + 98, 2059, 0, 98, 1000, 347, 2129, 1482, 1299, 0, + 2118, 1487, 0, 313, 1001, 2121, 1032, 2111, 313, 313, + 313, 0, 974, 0, 2130, 0, 0, 2139, 0, 2149, + 2116, 0, 2151, 0, 98, 0, 2150, 98, 2119, 313, + 313, 2147, 0, 0, 1959, 1032, 997, 95, 2153, 2155, + 2157, 95, 1682, 1681, 2154, 2135, 481, 0, 0, 2152, + 0, 0, 0, 0, 2170, 0, 0, 98, 0, 98, + 0, 0, 2183, 2185, 2182, 2184, 0, 2174, 0, 0, + 481, 98, 0, 481, 0, 95, 481, 481, 481, 481, + 481, 2191, 2189, 1680, 0, 2003, 1092, 734, 735, 0, + 2197, 481, 481, 2195, 0, 0, 0, 0, 467, 0, + 1034, 1034, 1426, 1426, 544, 2205, 1426, 1483, 2211, 1111, + 2212, 2203, 0, 0, 1485, 0, 0, 0, 2217, 0, + 0, 0, 0, 1033, 1033, 2221, 0, 0, 566, 0, + 0, 592, 0, 0, 1031, 0, 1032, 0, 0, 0, + 313, 0, 1993, 0, 0, 0, 0, 0, 1152, 0, + 0, 0, 313, 0, 0, 0, 0, 0, 0, 0, + 313, 1173, 0, 1031, 313, 0, 0, 1179, 0, 0, + 0, 0, 1032, 1032, 0, 543, 997, 997, 0, 0, + 1868, 1032, 1032, 1861, 0, 0, 0, 0, 0, 0, + 0, 1859, 0, 829, 829, 1863, 0, 348, 0, 0, + 0, 1000, 838, 0, 0, 0, 0, 0, 0, 867, + 868, 0, 0, 1869, 1032, 0, 0, 0, 0, 0, + 0, 0, 2049, 0, 905, 906, 907, 908, 909, 0, + 1000, 0, 870, 0, 917, 1862, 0, 1426, 0, 543, + 0, 0, 0, 0, 924, 0, 0, 0, 0, 0, + 0, 0, 0, 615, 61, 0, 869, 0, 0, 0, + 0, 0, 0, 0, 1031, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 313, 0, + 1346, 1347, 0, 313, 0, 0, 313, 0, 481, 481, + 0, 481, 592, 2136, 2137, 2138, 0, 0, 0, 0, + 1031, 1031, 2144, 0, 61, 0, 0, 0, 0, 1031, + 1031, 0, 1864, 0, 1865, 875, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 553, + 0, 1000, 561, 0, 0, 0, 0, 0, 0, 61, + 0, 0, 1031, 0, 1867, 0, 0, 0, 0, 0, + 0, 0, 0, 1870, 2132, 0, 1032, 0, 543, 0, + 0, 0, 0, 0, 0, 544, 0, 1000, 1000, 0, + 0, 0, 0, 885, 0, 0, 1000, 1000, 0, 0, + 0, 0, 0, 0, 0, 1034, 0, 349, 1379, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 348, + 0, 313, 313, 313, 0, 0, 313, 1388, 1033, 1000, + 0, 0, 0, 592, 348, 0, 0, 0, 1344, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 544, + 1866, 0, 0, 0, 0, 0, 0, 1118, 0, 1123, + 0, 313, 0, 0, 0, 1130, 886, 0, 0, 313, + 1436, 1437, 0, 0, 0, 1152, 0, 0, 1444, 0, + 0, 997, 0, 0, 1449, 1450, 1452, 1454, 1455, 0, + 0, 0, 0, 0, 0, 0, 1462, 0, 0, 1464, + 313, 0, 0, 0, 1031, 0, 0, 0, 0, 0, + 0, 543, 0, 0, 0, 0, 1193, 1194, 1195, 1196, + 1197, 1198, 1199, 1200, 1201, 1202, 1203, 1204, 1205, 1206, + 1207, 1208, 1209, 1210, 1211, 1212, 1213, 1214, 0, 1220, + 0, 1222, 1223, 1224, 1225, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1032, 0, 0, 0, 1248, 0, + 871, 872, 873, 874, 876, 877, 0, 0, 544, 0, + 0, 1000, 0, 0, 0, 0, 0, 0, 0, 0, + 1282, 1283, 0, 0, 1296, 0, 1307, 1309, 1314, 1317, + 1318, 1319, 0, 0, 1032, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 561, 0, 0, 0, 543, 349, + 0, 0, 1034, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 349, 348, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1033, 0, 0, 0, 0, + 0, 1034, 348, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 313, 0, 0, 0, + 0, 313, 0, 1598, 1033, 0, 0, 0, 0, 0, + 313, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 313, 1031, 0, 0, 0, 0, 0, 997, 0, + 0, 1379, 1379, 0, 0, 0, 0, 0, 0, 1032, + 0, 544, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 997, 0, 1111, + 0, 1111, 1031, 481, 0, 1124, 0, 313, 0, 0, + 0, 1639, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1034, 0, 0, 0, 0, 0, 0, 1000, + 0, 0, 1534, 1535, 313, 1552, 1553, 1554, 0, 0, + 0, 0, 0, 0, 0, 1033, 0, 0, 1901, 0, + 0, 1677, 0, 0, 0, 0, 0, 0, 1034, 1034, + 829, 0, 0, 0, 0, 0, 838, 1034, 1034, 1000, + 0, 0, 0, 0, 0, 0, 0, 0, 544, 0, + 0, 1033, 1033, 0, 0, 1549, 0, 0, 0, 0, + 1033, 1033, 0, 0, 0, 349, 0, 0, 997, 0, + 1034, 0, 0, 0, 0, 0, 0, 1031, 0, 0, + 0, 0, 349, 0, 0, 0, 553, 0, 0, 0, + 0, 0, 0, 1033, 0, 0, 1740, 0, 0, 0, + 0, 1300, 0, 0, 997, 997, 0, 0, 1540, 0, + 1474, 1475, 0, 997, 997, 0, 1480, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 726, 727, 345, 0, 0, 0, 0, 0, 1019, + 0, 914, 0, 916, 0, 0, 0, 0, 0, 0, + 920, 0, 0, 0, 1000, 1555, 997, 0, 1499, 0, + 0, 0, 0, 0, 0, 1506, 0, 0, 1510, 0, + 0, 0, 0, 0, 0, 0, 1550, 0, 0, 0, + 0, 0, 0, 0, 1524, 0, 313, 313, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 345, 0, 0, 0, 0, 0, 0, 0, 867, 309, - 0, 0, 0, 0, 309, 0, 1586, 0, 0, 0, - 0, 0, 0, 309, 0, 0, 0, 886, 894, 0, - 0, 0, 0, 0, 309, 0, 0, 0, 0, 0, - 0, 993, 0, 0, 1367, 1367, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 884, 0, - 0, 0, 0, 0, 877, 0, 0, 0, 0, 0, - 0, 0, 1099, 0, 1099, 0, 477, 0, 0, 0, - 309, 993, 0, 0, 1627, 0, 0, 821, 821, 0, - 1019, 0, 0, 0, 0, 0, 830, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 309, 0, 0, - 1020, 0, 0, 0, 0, 0, 992, 0, 897, 898, - 899, 900, 901, 0, 1665, 0, 1019, 1019, 909, 0, - 0, 0, 0, 0, 0, 1019, 1019, 878, 916, 0, - 1022, 0, 0, 0, 0, 992, 0, 0, 989, 0, - 1020, 0, 0, 887, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1019, 1022, - 0, 0, 0, 0, 1021, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 993, 0, 0, 0, - 0, 557, 0, 0, 0, 0, 0, 0, 0, 1728, - 0, 0, 0, 1021, 0, 0, 0, 0, 0, 0, - 0, 0, 1288, 0, 0, 0, 0, 0, 0, 0, - 885, 0, 0, 0, 0, 0, 888, 0, 872, 870, - 871, 863, 864, 865, 866, 868, 869, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 992, 0, 0, 0, - 0, 0, 0, 0, 0, 1020, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1288, 0, 0, - 1022, 0, 0, 0, 0, 0, 0, 0, 0, 309, - 309, 0, 992, 992, 0, 0, 0, 0, 0, 0, - 0, 992, 992, 0, 0, 0, 0, 0, 0, 1795, - 0, 0, 0, 1140, 1021, 1099, 1022, 1022, 0, 0, - 1019, 0, 1805, 0, 0, 1022, 1022, 0, 0, 0, - 0, 0, 0, 0, 992, 309, 0, 1106, 309, 1111, - 0, 0, 0, 0, 0, 1118, 0, 0, 0, 1838, - 1021, 1021, 0, 0, 0, 1842, 1843, 1140, 1022, 1021, - 1021, 0, 0, 0, 0, 989, 0, 0, 0, 0, - 0, 1665, 588, 0, 0, 0, 0, 1876, 0, 1877, - 0, 309, 1879, 1880, 1288, 0, 1883, 309, 0, 0, - 0, 0, 1021, 0, 989, 0, 1181, 1182, 1183, 1184, - 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1192, 1193, 1194, - 1195, 1196, 1197, 1198, 1199, 1200, 1201, 1202, 0, 1208, - 0, 1210, 1211, 1212, 1213, 0, 0, 0, 0, 1906, - 0, 0, 0, 549, 0, 0, 0, 0, 1236, 0, + 0, 0, 0, 0, 0, 0, 1807, 0, 0, 917, + 1152, 0, 1111, 0, 0, 1314, 1314, 1314, 0, 1817, + 0, 0, 1034, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 313, 0, 0, 313, 0, 0, 1592, 0, + 0, 0, 0, 0, 0, 1033, 1850, 0, 0, 1551, + 0, 0, 1854, 1855, 1152, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1677, 592, + 1613, 0, 0, 0, 1888, 0, 1889, 0, 313, 1891, + 1892, 0, 0, 1895, 313, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 61, 0, 0, 0, 997, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1641, 0, 0, 0, 0, 1130, + 0, 0, 0, 0, 0, 0, 1918, 0, 0, 0, + 0, 0, 0, 0, 0, 1546, 1547, 1548, 0, 0, + 1545, 1543, 1544, 1536, 1537, 1538, 1539, 1541, 1542, 553, + 1674, 0, 553, 553, 1534, 1535, 0, 1552, 1553, 1554, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1270, 1271, 0, 0, 1284, 0, 1295, 1297, 1302, 1305, - 1306, 1307, 0, 0, 0, 0, 992, 0, 906, 0, - 908, 0, 0, 0, 0, 0, 0, 912, 0, 0, - 0, 0, 0, 0, 0, 989, 0, 0, 1019, 1665, - 1022, 588, 1376, 0, 1665, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 309, 309, - 0, 0, 309, 0, 0, 0, 0, 0, 0, 0, - 1838, 989, 989, 0, 1021, 0, 0, 1967, 1019, 0, - 989, 989, 0, 0, 0, 1140, 0, 1972, 0, 0, - 1974, 0, 0, 0, 0, 0, 0, 0, 309, 0, - 0, 1665, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 989, 0, 859, 860, 0, 879, 880, - 881, 889, 890, 891, 0, 0, 2006, 0, 0, 0, - 0, 882, 0, 0, 0, 0, 0, 0, 862, 0, - 0, 893, 0, 0, 0, 0, 0, 0, 0, 0, + 1900, 0, 0, 0, 0, 0, 0, 0, 1704, 0, + 0, 1705, 0, 61, 0, 0, 61, 0, 0, 0, + 0, 0, 0, 1710, 0, 0, 1677, 0, 592, 1388, + 1034, 1677, 1719, 0, 0, 1300, 1300, 1549, 0, 0, + 1723, 0, 0, 1613, 0, 313, 313, 0, 0, 313, + 0, 0, 0, 1033, 0, 0, 0, 1850, 0, 0, + 0, 0, 0, 1747, 1979, 0, 1238, 1749, 0, 0, + 1034, 0, 1152, 0, 1984, 0, 0, 1986, 0, 0, + 0, 0, 0, 0, 0, 313, 0, 0, 1677, 0, + 1540, 0, 0, 1033, 0, 0, 0, 0, 0, 0, + 1780, 1781, 1300, 1300, 1300, 0, 997, 0, 0, 1787, + 1788, 1789, 0, 2018, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 829, 1555, 0, 0, + 0, 0, 0, 0, 61, 0, 61, 0, 838, 0, + 0, 0, 0, 1490, 1491, 0, 997, 0, 1550, 0, + 0, 592, 61, 0, 0, 0, 0, 61, 0, 0, + 1677, 0, 0, 0, 0, 313, 0, 0, 0, 0, + 0, 0, 2055, 0, 0, 1034, 0, 0, 0, 0, + 313, 0, 0, 0, 0, 0, 1850, 0, 0, 0, + 0, 0, 0, 0, 0, 592, 1850, 0, 1033, 0, + 0, 0, 1111, 0, 0, 0, 0, 0, 0, 0, + 1557, 1558, 1559, 0, 1878, 0, 0, 0, 0, 0, + 0, 1551, 0, 0, 0, 0, 0, 2085, 2086, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 861, 0, 588, 0, 0, 61, 876, 0, - 0, 0, 0, 1665, 0, 0, 0, 0, 309, 0, - 0, 0, 0, 1019, 0, 2043, 0, 0, 0, 0, - 0, 0, 0, 309, 992, 0, 821, 0, 0, 1838, - 0, 0, 830, 0, 0, 0, 0, 0, 588, 1838, - 0, 0, 0, 0, 0, 1099, 0, 0, 1022, 867, - 0, 0, 549, 0, 0, 549, 549, 0, 0, 0, - 0, 0, 0, 0, 992, 0, 0, 0, 886, 894, - 2073, 2074, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1021, 0, 892, 989, 61, 0, 1022, 61, - 0, 0, 0, 0, 0, 0, 2092, 0, 0, 884, - 2093, 0, 0, 0, 0, 877, 1462, 1463, 0, 0, - 0, 0, 1468, 0, 0, 588, 0, 0, 0, 0, - 0, 0, 1021, 0, 0, 0, 1838, 588, 0, 0, - 883, 0, 0, 0, 0, 2116, 0, 588, 0, 1226, - 309, 0, 0, 0, 1487, 0, 0, 0, 0, 0, - 0, 1494, 0, 0, 1498, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1665, 992, - 1512, 2043, 0, 0, 1838, 0, 0, 0, 878, 0, + 0, 0, 0, 1902, 0, 0, 0, 1905, 1906, 0, + 0, 997, 1908, 2104, 0, 61, 0, 2105, 0, 1910, + 0, 1912, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 592, 0, 0, 0, 0, 1919, 1300, 1300, + 0, 0, 0, 1850, 592, 0, 0, 0, 0, 0, + 0, 0, 2128, 0, 592, 0, 0, 313, 0, 0, + 1427, 0, 0, 0, 0, 0, 0, 1546, 1547, 1548, + 1928, 0, 1545, 1543, 1544, 1536, 1537, 1538, 1539, 1541, + 1542, 0, 0, 0, 0, 1677, 0, 0, 2055, 61, + 0, 1850, 61, 0, 0, 0, 0, 1300, 1300, 1300, + 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, + 1300, 1300, 1300, 1300, 1300, 1300, 0, 1300, 0, 0, + 0, 313, 1958, 592, 0, 867, 868, 0, 887, 888, + 889, 897, 898, 899, 0, 2188, 0, 0, 0, 0, + 0, 890, 0, 1238, 0, 0, 1706, 1707, 870, 0, + 0, 901, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 916, 0, 0, 0, 0, 0, 0, + 0, 0, 869, 0, 0, 0, 0, 0, 884, 0, + 2008, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2022, 2023, 0, 0, 0, + 0, 0, 0, 0, 0, 1752, 1753, 1754, 1755, 1756, + 1757, 1758, 1759, 1760, 1761, 1762, 1763, 1764, 1765, 1766, + 1767, 1768, 1769, 1770, 0, 1774, 2035, 0, 916, 867, + 868, 875, 887, 888, 889, 897, 898, 899, 0, 0, + 0, 0, 0, 0, 0, 890, 0, 0, 0, 0, + 894, 902, 870, 0, 0, 901, 0, 0, 0, 2058, + 561, 0, 0, 0, 0, 0, 0, 0, 900, 0, + 0, 0, 0, 0, 0, 0, 869, 0, 0, 0, + 0, 0, 884, 892, 0, 0, 2075, 0, 0, 885, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1022, 887, 909, 0, 0, 0, 0, - 0, 1302, 1302, 1302, 309, 0, 588, 61, 0, 61, - 0, 0, 0, 0, 0, 0, 0, 0, 2176, 0, - 0, 0, 0, 0, 1580, 61, 0, 1021, 0, 0, - 61, 859, 860, 0, 879, 880, 881, 889, 890, 891, - 0, 0, 0, 0, 0, 0, 0, 882, 0, 0, - 0, 0, 0, 0, 862, 0, 1601, 893, 0, 0, - 0, 885, 0, 989, 873, 874, 875, 888, 0, 872, - 870, 871, 863, 864, 865, 866, 868, 869, 861, 0, - 0, 0, 0, 0, 876, 1564, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1629, 0, 0, 989, 0, 1118, 0, 0, 0, 0, + 0, 0, 0, 0, 891, 0, 0, 0, 0, 0, + 0, 61, 0, 0, 0, 61, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 875, 838, 0, 867, 868, + 0, 0, 61, 0, 897, 898, 899, 0, 61, 0, + 0, 0, 0, 1663, 894, 902, 0, 0, 0, 0, + 0, 870, 886, 0, 901, 0, 0, 0, 0, 0, + 0, 0, 900, 0, 0, 0, 0, 0, 895, 0, + 0, 0, 0, 0, 0, 869, 0, 892, 0, 0, + 0, 884, 0, 885, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 61, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 867, 1662, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 891, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2171, + 1300, 0, 0, 0, 0, 0, 0, 2181, 2181, 0, + 0, 0, 0, 0, 875, 893, 0, 0, 881, 882, + 883, 896, 0, 880, 878, 879, 871, 872, 873, 874, + 876, 877, 0, 894, 902, 0, 886, 0, 0, 1931, + 0, 867, 868, 2181, 887, 888, 889, 897, 898, 899, + 0, 0, 895, 0, 0, 1300, 0, 890, 0, 0, + 0, 0, 0, 0, 870, 0, 892, 901, 0, 0, + 0, 0, 885, 0, 0, 0, 0, 0, 2181, 0, + 0, 0, 0, 0, 0, 0, 1534, 1535, 869, 1552, + 1553, 1554, 0, 0, 884, 0, 1427, 0, 0, 0, + 0, 0, 1713, 0, 0, 0, 0, 0, 1992, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 893, + 0, 0, 881, 882, 883, 896, 0, 880, 878, 879, + 871, 872, 873, 874, 876, 877, 0, 0, 0, 1549, + 0, 1427, 0, 1576, 1427, 886, 0, 875, 0, 867, + 868, 0, 887, 888, 889, 897, 898, 899, 0, 0, + 0, 895, 1300, 2030, 0, 890, 894, 902, 0, 0, + 0, 0, 870, 0, 0, 901, 0, 0, 0, 0, + 0, 0, 0, 0, 900, 0, 0, 0, 0, 0, + 0, 0, 1540, 0, 0, 0, 869, 0, 0, 892, + 0, 0, 884, 0, 0, 885, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 886, 894, 0, 0, 0, 0, - 0, 0, 0, 0, 1692, 0, 0, 1693, 0, 1415, - 892, 0, 0, 0, 0, 0, 0, 0, 0, 1698, - 0, 0, 0, 0, 0, 884, 0, 0, 1707, 0, - 0, 877, 0, 0, 0, 0, 1711, 0, 61, 1601, - 0, 61, 0, 0, 0, 0, 0, 0, 989, 0, - 0, 0, 0, 0, 0, 0, 883, 0, 0, 1735, - 0, 859, 860, 1737, 879, 880, 881, 889, 890, 891, + 0, 0, 0, 0, 0, 0, 0, 0, 893, 1555, + 891, 0, 0, 0, 896, 0, 880, 878, 879, 871, + 872, 873, 874, 876, 877, 0, 0, 0, 0, 0, + 1550, 0, 0, 0, 0, 875, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 862, 0, 0, 893, 0, 0, - 0, 0, 1226, 0, 0, 0, 1768, 1769, 0, 0, - 0, 0, 0, 0, 878, 1775, 1776, 1777, 861, 0, - 0, 0, 908, 0, 876, 0, 0, 0, 0, 0, - 887, 0, 821, 859, 860, 0, 879, 880, 881, 889, - 890, 891, 0, 0, 830, 0, 0, 0, 0, 882, - 0, 0, 0, 0, 0, 0, 862, 0, 0, 893, + 2097, 0, 0, 0, 894, 902, 0, 0, 886, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 867, 0, 0, 0, 0, - 861, 0, 0, 0, 0, 0, 876, 908, 0, 0, - 0, 0, 0, 0, 886, 894, 0, 885, 0, 0, - 873, 874, 875, 888, 0, 872, 870, 871, 863, 864, - 865, 866, 868, 869, 0, 0, 0, 0, 0, 557, - 1866, 1563, 0, 0, 0, 884, 0, 0, 0, 0, - 0, 877, 0, 0, 0, 0, 0, 867, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1890, - 0, 0, 0, 1893, 1894, 0, 886, 894, 1896, 0, - 0, 0, 0, 0, 0, 1898, 0, 1900, 0, 0, - 0, 0, 892, 0, 0, 0, 0, 0, 0, 0, - 61, 0, 0, 1907, 61, 0, 0, 884, 0, 0, - 0, 0, 0, 877, 0, 0, 0, 0, 0, 0, - 0, 61, 0, 0, 878, 0, 0, 61, 0, 0, - 1522, 1523, 1651, 1540, 1541, 1542, 1916, 0, 883, 0, - 887, 0, 0, 0, 0, 0, 0, 859, 860, 0, - 879, 880, 881, 889, 890, 891, 0, 0, 0, 0, - 0, 0, 0, 882, 0, 0, 0, 0, 0, 0, - 862, 0, 0, 893, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1537, 0, 0, 878, 0, 1946, 0, - 0, 0, 0, 0, 861, 0, 0, 0, 0, 0, - 876, 0, 887, 0, 0, 0, 0, 885, 0, 0, - 873, 874, 875, 888, 0, 872, 870, 871, 863, 864, - 865, 866, 868, 869, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1528, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1996, 0, 0, 0, - 0, 867, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2010, 2011, 0, 0, 0, 0, 0, 0, 885, - 886, 894, 873, 874, 875, 888, 0, 872, 870, 871, - 863, 864, 865, 866, 868, 869, 892, 0, 0, 0, - 1538, 0, 2023, 1562, 0, 0, 0, 0, 0, 0, - 0, 884, 0, 0, 0, 1415, 0, 877, 0, 0, + 0, 61, 900, 0, 895, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 892, 0, 0, + 0, 0, 0, 885, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1551, 1427, 1427, 0, 0, 1427, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 891, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2046, 0, 0, 0, 0, - 0, 0, 883, 0, 0, 36, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 37, 65, 0, 0, - 1415, 0, 2063, 1415, 0, 0, 0, 0, 0, 39, - 0, 0, 0, 1539, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 67, 0, 0, 0, 0, 0, 40, - 878, 74, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 887, 0, 0, 0, - 54, 0, 830, 0, 48, 0, 0, 0, 49, 0, - 0, 68, 0, 0, 0, 53, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 55, 0, 0, 0, 0, 0, 51, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1534, - 1535, 1536, 0, 0, 1533, 1531, 1532, 1524, 1525, 1526, - 1527, 1529, 1530, 885, 0, 0, 873, 874, 875, 888, - 0, 872, 870, 871, 863, 864, 865, 866, 868, 869, - 0, 0, 0, 0, 0, 0, 0, 1514, 0, 0, - 0, 0, 0, 0, 0, 2159, 0, 0, 0, 0, - 61, 0, 0, 2169, 2169, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, - 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, - 0, 0, 0, 1415, 1415, 0, 0, 1415, 0, 2169, - 0, 0, 0, 70, 71, 38, 0, 57, 0, 58, - 0, 69, 0, 0, 0, 0, 59, 0, 0, 0, - 81, 0, 0, 0, 0, 0, 0, 62, 0, 0, - 64, 0, 0, 0, 2169, 0, 0, 0, 0, 66, - 0, 0, 0, 0, 0, 0, 0, 0, 83, 0, + 0, 893, 0, 0, 881, 882, 883, 896, 0, 880, + 878, 879, 871, 872, 873, 874, 876, 877, 0, 0, + 0, 0, 0, 0, 0, 1575, 886, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 72, 0, 0, - 0, 0, 0, 0, 0, 0, 73, 0, 0, 0, - 0, 0, 0, 0, 84, 0, 0, 0, 0, 0, - 0, 0, 79, 0, 0, 0, 0, 0, 0, 80, - 0, 0, 0, 2028, 0, 0, 0, 0, 0, 0, - 0, 61, 0, 0, 0, 0, 0, 0, 78, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1415, 0, + 0, 0, 895, 0, 0, 0, 0, 0, 0, 1546, + 1547, 1548, 0, 0, 1545, 1543, 1544, 1536, 1537, 1538, + 1539, 1541, 1542, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2040, 0, 0, 0, 0, 0, + 0, 0, 61, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1427, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 893, + 0, 0, 881, 882, 883, 896, 346, 880, 878, 879, + 871, 872, 873, 874, 876, 877, 0, 0, 0, 0, + 2100, 0, 100, 101, 365, 102, 366, 367, 368, 369, + 253, 370, 371, 372, 373, 103, 104, 105, 254, 255, + 256, 257, 106, 258, 259, 374, 107, 260, 261, 108, + 109, 375, 376, 262, 263, 264, 377, 110, 265, 378, + 351, 379, 111, 112, 113, 916, 114, 380, 115, 116, + 117, 381, 352, 118, 119, 382, 383, 384, 385, 386, + 387, 120, 121, 314, 122, 266, 123, 267, 268, 388, + 124, 389, 125, 390, 126, 391, 392, 127, 128, 393, + 129, 394, 0, 395, 269, 130, 131, 132, 270, 271, + 396, 397, 398, 133, 134, 272, 273, 274, 0, 135, + 399, 136, 400, 401, 353, 402, 137, 275, 403, 276, + 404, 138, 139, 140, 141, 277, 278, 355, 405, 145, + 406, 142, 407, 354, 143, 279, 144, 280, 281, 282, + 283, 284, 408, 285, 409, 356, 146, 147, 148, 357, + 149, 150, 151, 410, 153, 152, 411, 286, 358, 154, + 359, 412, 155, 413, 414, 156, 0, 157, 158, 159, + 161, 287, 160, 360, 162, 163, 165, 164, 415, 416, + 417, 288, 166, 289, 167, 168, 418, 169, 419, 420, + 170, 421, 422, 171, 290, 361, 172, 362, 291, 173, + 174, 175, 176, 177, 423, 178, 292, 179, 293, 180, + 424, 181, 182, 183, 184, 185, 294, 186, 187, 425, + 188, 189, 190, 191, 192, 194, 195, 193, 196, 197, + 198, 199, 426, 200, 363, 201, 202, 295, 203, 0, + 207, 208, 209, 210, 427, 212, 296, 211, 213, 214, + 428, 215, 204, 205, 216, 364, 217, 297, 298, 218, + 429, 224, 219, 220, 206, 221, 223, 299, 222, 300, + 430, 225, 431, 226, 227, 228, 229, 230, 231, 232, + 432, 301, 302, 303, 433, 434, 233, 234, 304, 305, + 435, 235, 236, 237, 238, 436, 437, 239, 240, 241, + 242, 438, 243, 439, 306, 244, 245, 246, 307, 308, + 440, 441, 247, 442, 443, 444, 445, 248, 249, 250, + 251, 252, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 346, 0, 0, 0, 0, 0, 0, + 1844, 0, 0, 0, 0, 0, 0, 0, 1845, 100, + 101, 365, 102, 366, 367, 368, 369, 253, 370, 371, + 372, 373, 103, 104, 105, 254, 255, 256, 257, 106, + 258, 259, 374, 107, 260, 261, 108, 109, 375, 376, + 262, 263, 264, 377, 110, 265, 378, 351, 379, 111, + 112, 113, 0, 114, 380, 115, 116, 117, 381, 352, + 118, 119, 382, 383, 384, 385, 386, 387, 120, 121, + 314, 122, 266, 123, 267, 268, 388, 124, 389, 125, + 390, 126, 391, 392, 127, 128, 393, 129, 394, 0, + 395, 269, 130, 131, 132, 270, 271, 396, 397, 398, + 133, 134, 272, 273, 274, 0, 135, 399, 136, 400, + 401, 353, 402, 137, 275, 403, 276, 404, 138, 139, + 140, 141, 277, 278, 355, 405, 145, 406, 142, 407, + 354, 143, 279, 144, 280, 281, 282, 283, 284, 408, + 285, 409, 356, 146, 147, 148, 357, 149, 150, 151, + 410, 153, 152, 411, 286, 358, 154, 359, 412, 155, + 413, 414, 156, 0, 157, 158, 159, 161, 287, 160, + 360, 162, 163, 165, 164, 415, 416, 417, 288, 166, + 289, 167, 168, 418, 169, 419, 420, 170, 421, 422, + 171, 290, 361, 172, 362, 291, 173, 174, 175, 176, + 177, 423, 178, 292, 179, 293, 180, 424, 181, 182, + 183, 184, 185, 294, 186, 187, 425, 188, 189, 190, + 191, 192, 194, 195, 193, 196, 197, 198, 199, 426, + 200, 363, 201, 202, 295, 203, 0, 207, 208, 209, + 210, 427, 212, 296, 211, 213, 214, 428, 215, 204, + 205, 216, 364, 217, 297, 298, 218, 429, 224, 219, + 220, 206, 221, 223, 299, 222, 300, 430, 225, 431, + 226, 227, 228, 229, 230, 231, 232, 432, 301, 302, + 303, 433, 434, 233, 234, 304, 305, 435, 235, 236, + 237, 238, 436, 437, 239, 240, 241, 242, 438, 243, + 439, 306, 244, 245, 246, 307, 308, 440, 441, 247, + 442, 443, 444, 445, 248, 249, 250, 251, 252, 0, + 0, 0, 346, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2120, 100, 101, + 365, 102, 366, 367, 368, 369, 253, 370, 371, 372, + 373, 103, 104, 105, 254, 255, 256, 257, 106, 258, + 259, 374, 107, 260, 261, 108, 109, 375, 376, 262, + 263, 264, 377, 110, 265, 378, 351, 379, 111, 112, + 113, 0, 114, 380, 115, 116, 117, 381, 352, 118, + 119, 382, 383, 384, 385, 386, 387, 120, 121, 314, + 122, 266, 123, 267, 268, 388, 124, 389, 125, 390, + 126, 391, 392, 127, 128, 393, 129, 394, 0, 395, + 269, 130, 131, 132, 270, 271, 396, 397, 398, 133, + 134, 272, 273, 274, 0, 135, 399, 136, 400, 401, + 353, 402, 137, 275, 403, 276, 404, 138, 139, 140, + 141, 277, 278, 355, 405, 145, 406, 142, 407, 354, + 143, 279, 144, 280, 281, 282, 283, 284, 408, 285, + 409, 356, 146, 147, 148, 357, 149, 150, 151, 410, + 153, 152, 411, 286, 358, 154, 359, 412, 155, 413, + 414, 156, 0, 157, 158, 159, 161, 287, 160, 360, + 162, 163, 165, 164, 415, 416, 417, 288, 166, 289, + 167, 168, 418, 169, 419, 420, 170, 421, 422, 171, + 290, 361, 172, 362, 291, 173, 174, 175, 176, 177, + 423, 178, 292, 179, 293, 180, 424, 181, 182, 183, + 184, 185, 294, 186, 187, 425, 188, 189, 190, 191, + 192, 194, 195, 193, 196, 197, 198, 199, 426, 200, + 363, 201, 202, 295, 203, 0, 207, 208, 209, 210, + 427, 212, 296, 211, 213, 214, 428, 215, 204, 205, + 216, 364, 217, 297, 298, 218, 429, 224, 219, 220, + 206, 221, 223, 299, 222, 300, 430, 225, 431, 226, + 227, 228, 229, 230, 231, 232, 432, 301, 302, 303, + 433, 434, 233, 234, 304, 305, 435, 235, 236, 237, + 238, 436, 437, 239, 240, 241, 242, 438, 243, 439, + 306, 244, 245, 246, 307, 308, 440, 441, 247, 442, + 443, 444, 445, 248, 249, 250, 251, 252, 346, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 342, 0, 0, 0, 0, + 0, 864, 0, 0, 100, 101, 365, 102, 366, 367, + 368, 369, 253, 370, 371, 372, 373, 103, 104, 105, + 254, 255, 256, 257, 106, 258, 259, 374, 107, 260, + 261, 108, 109, 375, 376, 262, 263, 264, 377, 110, + 265, 378, 351, 379, 111, 112, 113, 0, 114, 380, + 115, 116, 117, 381, 352, 118, 119, 382, 383, 384, + 385, 386, 387, 120, 121, 314, 122, 266, 123, 267, + 268, 388, 124, 389, 125, 390, 126, 391, 392, 127, + 128, 393, 129, 394, 0, 395, 269, 130, 131, 132, + 270, 271, 396, 397, 398, 133, 134, 272, 273, 274, + 0, 135, 399, 136, 400, 401, 353, 402, 137, 275, + 403, 276, 404, 138, 139, 140, 141, 277, 278, 355, + 405, 145, 406, 142, 407, 354, 143, 279, 144, 280, + 281, 282, 283, 284, 408, 285, 409, 356, 146, 147, + 148, 357, 149, 150, 151, 410, 153, 152, 411, 286, + 358, 154, 359, 412, 155, 413, 414, 156, 0, 157, + 158, 159, 161, 287, 160, 360, 162, 163, 165, 164, + 415, 416, 417, 288, 166, 289, 167, 168, 418, 169, + 419, 420, 170, 421, 422, 171, 290, 361, 172, 362, + 291, 173, 174, 175, 176, 177, 423, 178, 292, 179, + 293, 180, 424, 181, 182, 183, 184, 185, 294, 186, + 187, 425, 188, 189, 190, 191, 192, 194, 195, 193, + 196, 197, 198, 199, 426, 200, 363, 201, 202, 295, + 203, 0, 207, 208, 209, 210, 427, 212, 296, 211, + 213, 214, 428, 215, 204, 205, 216, 364, 217, 297, + 298, 218, 429, 224, 219, 220, 206, 221, 223, 299, + 222, 300, 430, 225, 431, 226, 227, 228, 229, 230, + 231, 232, 432, 301, 302, 303, 433, 434, 233, 234, + 304, 305, 435, 235, 236, 237, 238, 436, 437, 239, + 240, 241, 242, 438, 243, 439, 306, 244, 245, 246, + 307, 308, 440, 441, 247, 442, 443, 444, 445, 248, + 249, 250, 251, 252, 634, 623, 624, 621, 622, 613, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 100, 101, 361, 102, 362, 363, 364, 365, 253, - 366, 367, 368, 369, 103, 104, 105, 254, 255, 256, - 257, 106, 258, 259, 370, 107, 260, 261, 108, 109, - 371, 372, 262, 263, 264, 373, 110, 265, 374, 347, - 375, 111, 112, 113, 908, 114, 376, 115, 116, 117, - 377, 348, 118, 119, 378, 379, 380, 381, 382, 383, - 120, 121, 310, 122, 266, 123, 267, 268, 384, 124, - 385, 125, 386, 126, 387, 388, 127, 128, 389, 129, - 390, 0, 391, 269, 130, 131, 132, 270, 271, 392, - 393, 394, 133, 134, 272, 0, 135, 395, 136, 396, - 397, 349, 398, 137, 273, 399, 274, 400, 138, 139, - 140, 141, 275, 276, 351, 401, 145, 402, 142, 403, - 350, 143, 277, 144, 278, 279, 280, 404, 281, 405, - 352, 146, 147, 148, 353, 149, 150, 151, 406, 153, - 152, 407, 282, 354, 154, 355, 408, 155, 409, 410, - 156, 0, 157, 158, 159, 161, 283, 160, 356, 162, - 163, 165, 164, 411, 412, 413, 284, 166, 285, 167, - 168, 414, 169, 415, 416, 170, 417, 418, 171, 286, - 357, 172, 358, 287, 173, 174, 175, 176, 177, 419, - 178, 288, 179, 289, 180, 420, 181, 182, 183, 184, - 185, 290, 186, 187, 421, 188, 189, 190, 191, 192, - 194, 195, 193, 196, 197, 198, 199, 422, 200, 359, - 201, 202, 291, 203, 0, 207, 208, 209, 210, 423, - 212, 292, 211, 213, 214, 424, 215, 204, 205, 216, - 360, 217, 293, 294, 218, 425, 224, 219, 220, 206, - 221, 223, 295, 222, 296, 426, 225, 427, 226, 227, - 228, 229, 230, 231, 232, 428, 297, 298, 299, 429, - 430, 233, 234, 300, 301, 431, 235, 236, 237, 238, - 432, 433, 239, 240, 241, 242, 434, 243, 435, 302, - 244, 245, 246, 303, 304, 436, 437, 247, 438, 439, - 440, 441, 248, 249, 250, 251, 252, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 342, 0, - 0, 0, 0, 0, 0, 1832, 0, 0, 0, 0, - 0, 0, 0, 1833, 100, 101, 361, 102, 362, 363, - 364, 365, 253, 366, 367, 368, 369, 103, 104, 105, - 254, 255, 256, 257, 106, 258, 259, 370, 107, 260, - 261, 108, 109, 371, 372, 262, 263, 264, 373, 110, - 265, 374, 347, 375, 111, 112, 113, 0, 114, 376, - 115, 116, 117, 377, 348, 118, 119, 378, 379, 380, - 381, 382, 383, 120, 121, 310, 122, 266, 123, 267, - 268, 384, 124, 385, 125, 386, 126, 387, 388, 127, - 128, 389, 129, 390, 0, 391, 269, 130, 131, 132, - 270, 271, 392, 393, 394, 133, 134, 272, 0, 135, - 395, 136, 396, 397, 349, 398, 137, 273, 399, 274, - 400, 138, 139, 140, 141, 275, 276, 351, 401, 145, - 402, 142, 403, 350, 143, 277, 144, 278, 279, 280, - 404, 281, 405, 352, 146, 147, 148, 353, 149, 150, - 151, 406, 153, 152, 407, 282, 354, 154, 355, 408, - 155, 409, 410, 156, 0, 157, 158, 159, 161, 283, - 160, 356, 162, 163, 165, 164, 411, 412, 413, 284, - 166, 285, 167, 168, 414, 169, 415, 416, 170, 417, - 418, 171, 286, 357, 172, 358, 287, 173, 174, 175, - 176, 177, 419, 178, 288, 179, 289, 180, 420, 181, - 182, 183, 184, 185, 290, 186, 187, 421, 188, 189, + 100, 101, 0, 102, 0, 0, 0, 0, 650, 616, + 0, 0, 0, 103, 104, 105, 254, 665, 256, 666, + 106, 667, 668, 0, 107, 260, 261, 108, 109, 619, + 649, 669, 670, 264, 0, 110, 661, 0, 642, 0, + 111, 112, 113, 0, 114, 0, 115, 116, 117, 0, + 352, 118, 119, 0, 643, 645, 0, 644, 646, 120, + 121, 314, 122, 671, 123, 672, 673, 839, 124, 0, + 125, 0, 126, 0, 0, 664, 128, 0, 129, 0, + 0, 0, 607, 130, 131, 132, 651, 652, 630, 0, + 0, 133, 134, 674, 675, 676, 0, 135, 0, 136, + 0, 0, 353, 0, 137, 662, 0, 276, 0, 138, + 139, 140, 141, 658, 660, 355, 0, 145, 0, 142, + 0, 354, 143, 677, 144, 678, 679, 680, 681, 682, + 0, 641, 0, 356, 146, 147, 148, 357, 149, 150, + 151, 0, 153, 152, 0, 663, 358, 154, 359, 0, + 155, 0, 0, 156, 0, 157, 158, 159, 161, 287, + 160, 360, 162, 163, 165, 164, 602, 0, 631, 659, + 166, 683, 167, 168, 0, 169, 0, 0, 170, 0, + 0, 171, 290, 361, 172, 362, 653, 173, 174, 175, + 176, 177, 0, 178, 654, 179, 293, 180, 0, 181, + 182, 183, 184, 185, 684, 186, 187, 0, 188, 189, 190, 191, 192, 194, 195, 193, 196, 197, 198, 199, - 422, 200, 359, 201, 202, 291, 203, 0, 207, 208, - 209, 210, 423, 212, 292, 211, 213, 214, 424, 215, - 204, 205, 216, 360, 217, 293, 294, 218, 425, 224, - 219, 220, 206, 221, 223, 295, 222, 296, 426, 225, - 427, 226, 227, 228, 229, 230, 231, 232, 428, 297, - 298, 299, 429, 430, 233, 234, 300, 301, 431, 235, - 236, 237, 238, 432, 433, 239, 240, 241, 242, 434, - 243, 435, 302, 244, 245, 246, 303, 304, 436, 437, - 247, 438, 439, 440, 441, 248, 249, 250, 251, 252, - 0, 0, 0, 342, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2108, 100, - 101, 361, 102, 362, 363, 364, 365, 253, 366, 367, - 368, 369, 103, 104, 105, 254, 255, 256, 257, 106, - 258, 259, 370, 107, 260, 261, 108, 109, 371, 372, - 262, 263, 264, 373, 110, 265, 374, 347, 375, 111, - 112, 113, 0, 114, 376, 115, 116, 117, 377, 348, - 118, 119, 378, 379, 380, 381, 382, 383, 120, 121, - 310, 122, 266, 123, 267, 268, 384, 124, 385, 125, - 386, 126, 387, 388, 127, 128, 389, 129, 390, 0, - 391, 269, 130, 131, 132, 270, 271, 392, 393, 394, - 133, 134, 272, 0, 135, 395, 136, 396, 397, 349, - 398, 137, 273, 399, 274, 400, 138, 139, 140, 141, - 275, 276, 351, 401, 145, 402, 142, 403, 350, 143, - 277, 144, 278, 279, 280, 404, 281, 405, 352, 146, - 147, 148, 353, 149, 150, 151, 406, 153, 152, 407, - 282, 354, 154, 355, 408, 155, 409, 410, 156, 0, - 157, 158, 159, 161, 283, 160, 356, 162, 163, 165, - 164, 411, 412, 413, 284, 166, 285, 167, 168, 414, - 169, 415, 416, 170, 417, 418, 171, 286, 357, 172, - 358, 287, 173, 174, 175, 176, 177, 419, 178, 288, - 179, 289, 180, 420, 181, 182, 183, 184, 185, 290, - 186, 187, 421, 188, 189, 190, 191, 192, 194, 195, - 193, 196, 197, 198, 199, 422, 200, 359, 201, 202, - 291, 203, 0, 207, 208, 209, 210, 423, 212, 292, - 211, 213, 214, 424, 215, 204, 205, 216, 360, 217, - 293, 294, 218, 425, 224, 219, 220, 206, 221, 223, - 295, 222, 296, 426, 225, 427, 226, 227, 228, 229, - 230, 231, 232, 428, 297, 298, 299, 429, 430, 233, - 234, 300, 301, 431, 235, 236, 237, 238, 432, 433, - 239, 240, 241, 242, 434, 243, 435, 302, 244, 245, - 246, 303, 304, 436, 437, 247, 438, 439, 440, 441, - 248, 249, 250, 251, 252, 342, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 856, 0, - 0, 100, 101, 361, 102, 362, 363, 364, 365, 253, - 366, 367, 368, 369, 103, 104, 105, 254, 255, 256, - 257, 106, 258, 259, 370, 107, 260, 261, 108, 109, - 371, 372, 262, 263, 264, 373, 110, 265, 374, 347, - 375, 111, 112, 113, 0, 114, 376, 115, 116, 117, - 377, 348, 118, 119, 378, 379, 380, 381, 382, 383, - 120, 121, 310, 122, 266, 123, 267, 268, 384, 124, - 385, 125, 386, 126, 387, 388, 127, 128, 389, 129, - 390, 0, 391, 269, 130, 131, 132, 270, 271, 392, - 393, 394, 133, 134, 272, 0, 135, 395, 136, 396, - 397, 349, 398, 137, 273, 399, 274, 400, 138, 139, - 140, 141, 275, 276, 351, 401, 145, 402, 142, 403, - 350, 143, 277, 144, 278, 279, 280, 404, 281, 405, - 352, 146, 147, 148, 353, 149, 150, 151, 406, 153, - 152, 407, 282, 354, 154, 355, 408, 155, 409, 410, - 156, 0, 157, 158, 159, 161, 283, 160, 356, 162, - 163, 165, 164, 411, 412, 413, 284, 166, 285, 167, - 168, 414, 169, 415, 416, 170, 417, 418, 171, 286, - 357, 172, 358, 287, 173, 174, 175, 176, 177, 419, - 178, 288, 179, 289, 180, 420, 181, 182, 183, 184, - 185, 290, 186, 187, 421, 188, 189, 190, 191, 192, - 194, 195, 193, 196, 197, 198, 199, 422, 200, 359, - 201, 202, 291, 203, 0, 207, 208, 209, 210, 423, - 212, 292, 211, 213, 214, 424, 215, 204, 205, 216, - 360, 217, 293, 294, 218, 425, 224, 219, 220, 206, - 221, 223, 295, 222, 296, 426, 225, 427, 226, 227, - 228, 229, 230, 231, 232, 428, 297, 298, 299, 429, - 430, 233, 234, 300, 301, 431, 235, 236, 237, 238, - 432, 433, 239, 240, 241, 242, 434, 243, 435, 302, - 244, 245, 246, 303, 304, 436, 437, 247, 438, 439, - 440, 441, 248, 249, 250, 251, 252, 630, 619, 620, - 617, 618, 609, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 100, 101, 0, 102, 0, 0, 0, - 0, 646, 612, 0, 0, 0, 103, 104, 105, 254, - 661, 256, 662, 106, 663, 664, 0, 107, 260, 261, - 108, 109, 615, 645, 665, 666, 264, 0, 110, 657, - 0, 638, 0, 111, 112, 113, 0, 114, 0, 115, - 116, 117, 0, 348, 118, 119, 0, 639, 641, 0, - 640, 642, 120, 121, 310, 122, 667, 123, 668, 669, - 831, 124, 0, 125, 0, 126, 0, 0, 660, 128, - 0, 129, 0, 0, 0, 603, 130, 131, 132, 647, - 648, 626, 0, 0, 133, 134, 670, 0, 135, 0, - 136, 0, 0, 349, 0, 137, 658, 0, 274, 0, - 138, 139, 140, 141, 654, 656, 351, 0, 145, 0, - 142, 0, 350, 143, 671, 144, 672, 673, 674, 0, - 637, 0, 352, 146, 147, 148, 353, 149, 150, 151, - 0, 153, 152, 0, 659, 354, 154, 355, 0, 155, - 0, 0, 156, 0, 157, 158, 159, 161, 283, 160, - 356, 162, 163, 165, 164, 598, 0, 627, 655, 166, - 675, 167, 168, 0, 169, 0, 0, 170, 0, 0, - 171, 286, 357, 172, 358, 649, 173, 174, 175, 176, - 177, 0, 178, 650, 179, 289, 180, 0, 181, 182, - 183, 184, 185, 676, 186, 187, 0, 188, 189, 190, + 0, 200, 363, 201, 202, 608, 203, 0, 207, 208, + 209, 210, 81, 212, 296, 211, 213, 214, 647, 215, + 204, 205, 216, 364, 217, 685, 298, 218, 0, 224, + 219, 220, 206, 221, 223, 686, 222, 655, 0, 225, + 83, 226, 227, 228, 229, 230, 231, 232, 0, 301, + 687, 688, 0, 0, 233, 234, 656, 657, 629, 235, + 236, 237, 238, 0, 0, 239, 240, 241, 242, 648, + 243, 0, 306, 244, 245, 246, 723, 689, 0, 0, + 247, 0, 0, 0, 79, 248, 249, 250, 251, 252, + 603, 80, 0, 0, 0, 0, 601, 0, 0, 0, + 0, 599, 600, 634, 623, 624, 621, 622, 613, 0, + 609, 0, 0, 0, 0, 612, 0, 0, 0, 100, + 101, 1264, 102, 0, 0, 0, 0, 650, 616, 0, + 0, 0, 103, 104, 105, 254, 665, 256, 666, 106, + 667, 668, 0, 107, 260, 261, 108, 109, 619, 649, + 669, 670, 264, 0, 110, 661, 0, 642, 0, 111, + 112, 113, 0, 114, 0, 115, 116, 117, 0, 352, + 118, 119, 0, 643, 645, 0, 644, 646, 120, 121, + 314, 122, 671, 123, 672, 673, 0, 124, 0, 125, + 0, 126, 1265, 0, 664, 128, 0, 129, 0, 0, + 0, 607, 130, 131, 132, 651, 652, 630, 0, 0, + 133, 134, 674, 675, 676, 0, 135, 0, 136, 0, + 0, 353, 0, 137, 662, 0, 276, 0, 138, 139, + 140, 141, 658, 660, 355, 0, 145, 0, 142, 0, + 354, 143, 677, 144, 678, 679, 680, 681, 682, 0, + 641, 0, 356, 146, 147, 148, 357, 149, 150, 151, + 0, 153, 152, 0, 663, 358, 154, 359, 0, 155, + 0, 0, 156, 0, 157, 158, 159, 161, 287, 160, + 360, 162, 163, 165, 164, 602, 0, 631, 659, 166, + 683, 167, 168, 0, 169, 0, 0, 170, 0, 0, + 171, 290, 361, 172, 362, 653, 173, 174, 175, 176, + 177, 0, 178, 654, 179, 293, 180, 0, 181, 182, + 183, 184, 185, 684, 186, 187, 0, 188, 189, 190, + 191, 192, 194, 195, 193, 196, 197, 198, 199, 0, + 200, 363, 201, 202, 608, 203, 0, 207, 208, 209, + 210, 0, 212, 296, 211, 213, 214, 647, 215, 204, + 205, 216, 364, 217, 685, 298, 218, 0, 224, 219, + 220, 206, 221, 223, 686, 222, 655, 0, 225, 0, + 226, 227, 228, 229, 230, 231, 232, 0, 301, 687, + 688, 0, 0, 233, 234, 656, 657, 629, 235, 236, + 237, 238, 0, 0, 239, 240, 241, 242, 648, 243, + 0, 306, 244, 245, 246, 307, 689, 1263, 0, 247, + 0, 0, 0, 0, 248, 249, 250, 251, 252, 603, + 0, 0, 0, 0, 0, 601, 0, 0, 0, 0, + 599, 600, 1266, 634, 623, 624, 621, 622, 613, 609, + 1261, 0, 0, 0, 612, 0, 0, 0, 0, 100, + 101, 0, 102, 0, 0, 0, 0, 650, 616, 0, + 0, 0, 103, 104, 105, 254, 665, 256, 666, 106, + 667, 668, 0, 107, 260, 261, 108, 109, 619, 649, + 669, 670, 264, 0, 110, 661, 0, 642, 0, 111, + 112, 113, 0, 114, 0, 115, 116, 117, 0, 352, + 118, 119, 0, 643, 645, 0, 644, 646, 120, 121, + 314, 122, 671, 123, 672, 673, 0, 124, 0, 125, + 0, 126, 0, 0, 664, 128, 0, 129, 0, 0, + 0, 607, 130, 131, 132, 651, 652, 630, 0, 0, + 133, 134, 674, 675, 676, 0, 135, 0, 136, 0, + 0, 353, 0, 137, 662, 0, 276, 0, 138, 139, + 140, 141, 658, 660, 355, 0, 145, 0, 142, 0, + 354, 143, 677, 144, 678, 679, 680, 681, 682, 0, + 641, 0, 356, 146, 147, 148, 357, 149, 150, 151, + 0, 153, 152, 0, 663, 358, 154, 359, 0, 155, + 0, 0, 156, 0, 157, 158, 159, 161, 287, 160, + 360, 162, 163, 165, 164, 602, 0, 631, 659, 166, + 683, 167, 168, 0, 169, 0, 0, 170, 0, 0, + 171, 290, 361, 172, 362, 653, 173, 174, 175, 176, + 177, 0, 178, 654, 179, 293, 180, 0, 181, 182, + 183, 184, 185, 684, 186, 187, 0, 188, 189, 190, 191, 192, 194, 195, 193, 196, 197, 198, 199, 0, - 200, 359, 201, 202, 604, 203, 0, 207, 208, 209, - 210, 81, 212, 292, 211, 213, 214, 643, 215, 204, - 205, 216, 360, 217, 677, 294, 218, 0, 224, 219, - 220, 206, 221, 223, 678, 222, 651, 0, 225, 83, - 226, 227, 228, 229, 230, 231, 232, 0, 297, 679, - 680, 0, 0, 233, 234, 652, 653, 625, 235, 236, - 237, 238, 0, 0, 239, 240, 241, 242, 644, 243, - 0, 302, 244, 245, 246, 715, 681, 0, 0, 247, - 0, 0, 0, 79, 248, 249, 250, 251, 252, 599, - 80, 0, 0, 0, 0, 597, 0, 0, 0, 0, - 595, 596, 630, 619, 620, 617, 618, 609, 0, 605, - 0, 0, 0, 0, 608, 0, 0, 0, 100, 101, - 1252, 102, 0, 0, 0, 0, 646, 612, 0, 0, - 0, 103, 104, 105, 254, 661, 256, 662, 106, 663, - 664, 0, 107, 260, 261, 108, 109, 615, 645, 665, - 666, 264, 0, 110, 657, 0, 638, 0, 111, 112, - 113, 0, 114, 0, 115, 116, 117, 0, 348, 118, - 119, 0, 639, 641, 0, 640, 642, 120, 121, 310, - 122, 667, 123, 668, 669, 0, 124, 0, 125, 0, - 126, 1253, 0, 660, 128, 0, 129, 0, 0, 0, - 603, 130, 131, 132, 647, 648, 626, 0, 0, 133, - 134, 670, 0, 135, 0, 136, 0, 0, 349, 0, - 137, 658, 0, 274, 0, 138, 139, 140, 141, 654, - 656, 351, 0, 145, 0, 142, 0, 350, 143, 671, - 144, 672, 673, 674, 0, 637, 0, 352, 146, 147, - 148, 353, 149, 150, 151, 0, 153, 152, 0, 659, - 354, 154, 355, 0, 155, 0, 0, 156, 0, 157, - 158, 159, 161, 283, 160, 356, 162, 163, 165, 164, - 598, 0, 627, 655, 166, 675, 167, 168, 0, 169, - 0, 0, 170, 0, 0, 171, 286, 357, 172, 358, - 649, 173, 174, 175, 176, 177, 0, 178, 650, 179, - 289, 180, 0, 181, 182, 183, 184, 185, 676, 186, + 200, 363, 201, 202, 608, 203, 0, 207, 208, 209, + 210, 81, 212, 296, 211, 213, 214, 647, 215, 204, + 205, 216, 364, 217, 685, 298, 218, 0, 224, 219, + 220, 206, 221, 223, 686, 222, 655, 0, 225, 83, + 226, 227, 228, 229, 230, 231, 232, 0, 301, 687, + 688, 0, 0, 233, 234, 656, 657, 629, 235, 236, + 237, 238, 0, 0, 239, 240, 241, 242, 648, 243, + 0, 306, 244, 245, 246, 723, 689, 0, 0, 247, + 0, 0, 0, 79, 248, 249, 250, 251, 252, 603, + 80, 0, 0, 0, 0, 601, 0, 0, 0, 0, + 599, 600, 634, 623, 624, 621, 622, 613, 0, 609, + 0, 0, 0, 0, 612, 0, 0, 0, 100, 101, + 0, 102, 0, 0, 0, 0, 650, 616, 0, 0, + 0, 103, 104, 105, 254, 665, 256, 666, 106, 667, + 668, 1310, 107, 260, 261, 108, 109, 619, 649, 669, + 670, 264, 0, 110, 661, 0, 642, 0, 111, 112, + 113, 0, 114, 0, 115, 116, 117, 0, 352, 118, + 119, 0, 643, 645, 0, 644, 646, 120, 121, 314, + 122, 671, 123, 672, 673, 0, 124, 0, 125, 0, + 126, 0, 0, 664, 128, 0, 129, 0, 0, 0, + 607, 130, 131, 132, 651, 652, 630, 0, 0, 133, + 134, 674, 675, 676, 0, 135, 0, 136, 0, 1315, + 353, 0, 137, 662, 0, 276, 0, 138, 139, 140, + 141, 658, 660, 355, 0, 145, 0, 142, 0, 354, + 143, 677, 144, 678, 679, 680, 681, 682, 0, 641, + 0, 356, 146, 147, 148, 357, 149, 150, 151, 0, + 153, 152, 1311, 663, 358, 154, 359, 0, 155, 0, + 0, 156, 0, 157, 158, 159, 161, 287, 160, 360, + 162, 163, 165, 164, 602, 0, 631, 659, 166, 683, + 167, 168, 0, 169, 0, 0, 170, 0, 0, 171, + 290, 361, 172, 362, 653, 173, 174, 175, 176, 177, + 0, 178, 654, 179, 293, 180, 0, 181, 182, 183, + 184, 185, 684, 186, 187, 0, 188, 189, 190, 191, + 192, 194, 195, 193, 196, 197, 198, 199, 0, 200, + 363, 201, 202, 608, 203, 0, 207, 208, 209, 210, + 0, 212, 296, 211, 213, 214, 647, 215, 204, 205, + 216, 364, 217, 685, 298, 218, 0, 224, 219, 220, + 206, 221, 223, 686, 222, 655, 0, 225, 0, 226, + 227, 228, 229, 230, 231, 232, 0, 301, 687, 688, + 0, 1312, 233, 234, 656, 657, 629, 235, 236, 237, + 238, 0, 0, 239, 240, 241, 242, 648, 243, 0, + 306, 244, 245, 246, 307, 689, 0, 0, 247, 0, + 0, 0, 0, 248, 249, 250, 251, 252, 603, 0, + 0, 0, 0, 0, 601, 0, 0, 0, 0, 599, + 600, 634, 623, 624, 621, 622, 613, 0, 609, 0, + 0, 0, 0, 612, 0, 0, 0, 100, 101, 0, + 102, 0, 0, 0, 0, 650, 616, 0, 0, 0, + 103, 104, 105, 254, 665, 256, 666, 106, 667, 668, + 0, 107, 260, 261, 108, 109, 619, 649, 669, 670, + 264, 0, 110, 661, 0, 642, 0, 111, 112, 113, + 0, 114, 0, 115, 116, 117, 0, 352, 118, 119, + 0, 643, 645, 0, 644, 646, 120, 121, 314, 122, + 671, 123, 672, 673, 0, 124, 0, 125, 0, 126, + 0, 0, 664, 128, 0, 129, 0, 0, 0, 607, + 130, 131, 132, 651, 652, 630, 0, 0, 133, 134, + 674, 675, 676, 0, 135, 0, 136, 0, 0, 353, + 0, 137, 662, 0, 276, 0, 138, 139, 140, 141, + 658, 660, 355, 0, 145, 0, 142, 0, 354, 143, + 677, 144, 678, 679, 680, 681, 682, 0, 641, 0, + 356, 146, 147, 148, 357, 149, 150, 151, 0, 153, + 152, 0, 663, 358, 154, 359, 0, 155, 0, 0, + 156, 0, 157, 158, 159, 161, 287, 160, 360, 162, + 163, 165, 164, 602, 1794, 631, 659, 166, 683, 167, + 168, 0, 169, 0, 0, 170, 0, 0, 171, 290, + 361, 172, 362, 653, 173, 174, 175, 176, 177, 0, + 178, 654, 179, 293, 180, 0, 181, 182, 183, 184, + 185, 684, 186, 187, 0, 188, 189, 190, 191, 192, + 194, 195, 193, 196, 197, 198, 199, 0, 200, 363, + 201, 202, 608, 203, 0, 207, 208, 209, 210, 0, + 212, 296, 211, 213, 214, 647, 215, 204, 205, 216, + 364, 217, 685, 298, 218, 0, 224, 219, 220, 206, + 221, 223, 686, 222, 655, 0, 225, 0, 226, 227, + 228, 229, 230, 231, 232, 0, 301, 687, 688, 0, + 0, 233, 234, 656, 657, 629, 235, 236, 237, 238, + 0, 0, 239, 240, 241, 242, 648, 243, 0, 306, + 244, 245, 246, 307, 689, 0, 0, 247, 0, 0, + 0, 0, 248, 249, 250, 251, 252, 603, 0, 0, + 0, 0, 0, 601, 0, 0, 0, 0, 599, 600, + 830, 634, 623, 624, 621, 622, 613, 609, 0, 0, + 0, 0, 612, 0, 0, 0, 0, 100, 101, 0, + 102, 0, 0, 0, 0, 650, 616, 0, 0, 0, + 103, 104, 105, 254, 665, 256, 666, 106, 667, 668, + 0, 107, 260, 261, 108, 109, 619, 649, 669, 670, + 264, 0, 110, 661, 0, 642, 0, 111, 112, 113, + 0, 114, 0, 115, 116, 117, 0, 352, 118, 119, + 0, 643, 645, 0, 644, 646, 120, 121, 314, 122, + 671, 123, 672, 673, 0, 124, 0, 125, 0, 126, + 0, 0, 664, 128, 0, 129, 0, 0, 0, 607, + 130, 131, 132, 651, 652, 630, 0, 0, 133, 134, + 674, 675, 676, 0, 135, 0, 136, 0, 0, 353, + 0, 137, 662, 0, 276, 0, 138, 139, 140, 141, + 658, 660, 355, 0, 145, 0, 142, 0, 354, 143, + 677, 144, 678, 679, 680, 681, 682, 0, 641, 0, + 356, 146, 147, 148, 357, 149, 150, 151, 0, 153, + 152, 0, 663, 358, 154, 359, 0, 155, 0, 0, + 156, 0, 157, 158, 159, 161, 287, 160, 360, 162, + 163, 165, 164, 602, 0, 631, 659, 166, 683, 167, + 168, 0, 169, 0, 0, 170, 0, 0, 171, 290, + 361, 172, 362, 653, 173, 174, 175, 176, 177, 0, + 178, 654, 179, 293, 180, 0, 181, 182, 183, 184, + 185, 684, 186, 187, 0, 188, 189, 190, 191, 192, + 194, 195, 193, 196, 197, 198, 199, 0, 200, 363, + 201, 202, 608, 203, 0, 207, 208, 209, 210, 0, + 212, 296, 211, 213, 214, 647, 215, 204, 205, 216, + 364, 217, 685, 298, 218, 0, 224, 219, 220, 206, + 221, 223, 686, 222, 655, 0, 225, 0, 226, 227, + 228, 229, 230, 231, 232, 0, 301, 687, 688, 0, + 0, 233, 234, 656, 657, 629, 235, 236, 237, 238, + 0, 0, 239, 240, 241, 242, 648, 243, 0, 306, + 244, 245, 246, 307, 689, 0, 0, 247, 0, 0, + 0, 0, 248, 249, 250, 251, 252, 603, 0, 0, + 0, 0, 0, 601, 0, 0, 0, 0, 599, 600, + 0, 0, 0, 0, 0, 922, 1256, 609, 0, 0, + 0, 0, 612, 634, 623, 624, 621, 622, 613, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 100, + 101, 0, 102, 0, 0, 0, 0, 650, 616, 0, + 0, 0, 103, 104, 105, 254, 665, 256, 666, 106, + 667, 668, 0, 107, 260, 261, 108, 109, 619, 649, + 669, 670, 264, 0, 110, 661, 0, 642, 0, 111, + 112, 113, 0, 114, 0, 115, 116, 117, 0, 352, + 118, 119, 0, 643, 645, 0, 644, 646, 120, 121, + 314, 122, 671, 123, 672, 673, 839, 124, 0, 125, + 0, 126, 0, 0, 664, 128, 0, 129, 0, 0, + 0, 607, 130, 131, 132, 651, 652, 630, 0, 0, + 133, 134, 674, 675, 676, 0, 135, 0, 136, 0, + 0, 353, 0, 137, 662, 0, 276, 0, 138, 139, + 140, 141, 658, 660, 355, 0, 145, 0, 142, 0, + 354, 143, 677, 144, 678, 679, 680, 681, 682, 0, + 641, 0, 356, 146, 147, 148, 357, 149, 150, 151, + 0, 153, 152, 0, 663, 358, 154, 359, 0, 155, + 0, 0, 156, 0, 157, 158, 159, 161, 287, 160, + 360, 162, 163, 165, 164, 602, 0, 631, 659, 166, + 683, 167, 168, 0, 169, 0, 0, 170, 0, 0, + 171, 290, 361, 172, 362, 653, 173, 174, 175, 176, + 177, 0, 178, 654, 179, 293, 180, 0, 181, 182, + 183, 184, 185, 684, 186, 187, 0, 188, 189, 190, + 191, 192, 194, 195, 193, 196, 197, 198, 199, 0, + 200, 363, 201, 202, 608, 203, 0, 207, 208, 209, + 210, 0, 212, 296, 211, 213, 214, 647, 215, 204, + 205, 216, 364, 217, 685, 298, 218, 0, 224, 219, + 220, 206, 221, 223, 686, 222, 655, 0, 225, 0, + 226, 227, 228, 229, 230, 231, 232, 0, 301, 687, + 688, 0, 0, 233, 234, 656, 657, 629, 235, 236, + 237, 238, 0, 0, 239, 240, 241, 242, 648, 243, + 0, 306, 244, 245, 246, 307, 689, 0, 0, 247, + 0, 0, 0, 0, 248, 249, 250, 251, 252, 603, + 0, 0, 0, 0, 0, 601, 0, 0, 0, 0, + 599, 600, 634, 623, 624, 621, 622, 613, 0, 609, + 0, 0, 0, 0, 612, 0, 0, 0, 100, 101, + 0, 102, 0, 0, 0, 0, 650, 616, 0, 0, + 0, 103, 104, 105, 254, 665, 256, 666, 106, 667, + 668, 0, 107, 260, 261, 108, 109, 619, 649, 669, + 670, 264, 0, 110, 661, 0, 642, 0, 111, 112, + 113, 0, 114, 0, 115, 116, 117, 0, 352, 118, + 119, 0, 643, 645, 0, 644, 646, 120, 121, 314, + 122, 671, 123, 672, 673, 0, 124, 0, 125, 0, + 126, 0, 0, 664, 128, 0, 129, 0, 0, 0, + 607, 130, 131, 132, 651, 652, 630, 0, 0, 133, + 134, 674, 675, 676, 0, 135, 0, 136, 0, 0, + 353, 0, 137, 662, 0, 276, 0, 138, 139, 140, + 141, 658, 660, 355, 0, 145, 0, 142, 0, 354, + 143, 677, 144, 678, 679, 680, 681, 682, 0, 641, + 0, 356, 146, 147, 148, 357, 149, 150, 151, 0, + 153, 152, 0, 663, 358, 154, 359, 0, 155, 0, + 0, 156, 0, 157, 158, 159, 161, 287, 160, 360, + 162, 163, 165, 164, 602, 0, 631, 659, 166, 683, + 167, 168, 0, 169, 0, 0, 170, 0, 0, 171, + 290, 361, 172, 362, 653, 173, 174, 175, 176, 177, + 0, 178, 654, 179, 293, 180, 0, 181, 182, 183, + 184, 185, 684, 186, 187, 0, 188, 189, 190, 191, + 192, 194, 195, 193, 196, 197, 198, 199, 0, 200, + 363, 201, 202, 608, 203, 0, 207, 208, 209, 210, + 0, 212, 296, 211, 213, 214, 647, 215, 204, 205, + 216, 364, 217, 685, 298, 218, 0, 224, 219, 220, + 206, 221, 223, 686, 222, 655, 0, 225, 0, 226, + 227, 228, 229, 230, 231, 232, 0, 301, 687, 688, + 0, 0, 233, 234, 656, 657, 629, 235, 236, 237, + 238, 0, 0, 239, 240, 241, 242, 648, 243, 0, + 306, 244, 245, 246, 307, 689, 0, 0, 247, 0, + 0, 0, 0, 248, 249, 250, 251, 252, 603, 0, + 0, 0, 0, 0, 601, 0, 0, 0, 0, 599, + 600, 634, 623, 624, 621, 622, 613, 0, 609, 1777, + 0, 0, 0, 612, 0, 0, 0, 100, 101, 0, + 102, 0, 0, 0, 0, 650, 616, 0, 0, 0, + 103, 104, 105, 254, 665, 256, 666, 106, 667, 668, + 0, 107, 260, 261, 108, 109, 619, 649, 669, 670, + 264, 0, 110, 661, 0, 642, 0, 111, 112, 113, + 0, 114, 0, 115, 116, 117, 0, 352, 118, 119, + 0, 643, 645, 0, 644, 646, 120, 121, 314, 122, + 671, 123, 672, 673, 0, 124, 0, 125, 0, 126, + 0, 0, 664, 128, 0, 129, 0, 0, 0, 607, + 130, 131, 132, 651, 652, 630, 0, 0, 133, 134, + 674, 675, 676, 0, 135, 0, 136, 0, 0, 353, + 0, 137, 662, 0, 276, 0, 138, 139, 140, 141, + 658, 660, 355, 0, 145, 0, 142, 0, 354, 143, + 677, 144, 678, 679, 680, 681, 682, 0, 641, 0, + 356, 146, 147, 148, 357, 149, 150, 151, 0, 153, + 152, 0, 663, 358, 154, 359, 0, 155, 0, 0, + 156, 0, 157, 158, 159, 161, 287, 160, 360, 162, + 163, 165, 164, 602, 0, 631, 659, 166, 683, 167, + 168, 0, 169, 0, 0, 170, 0, 0, 171, 290, + 361, 172, 362, 653, 173, 174, 175, 176, 177, 0, + 178, 654, 179, 293, 180, 0, 181, 182, 183, 184, + 185, 684, 186, 187, 0, 188, 189, 190, 191, 192, + 194, 195, 193, 196, 197, 198, 199, 0, 200, 363, + 201, 202, 608, 203, 0, 207, 208, 209, 210, 0, + 212, 296, 211, 213, 214, 647, 215, 204, 205, 216, + 364, 217, 685, 298, 218, 0, 224, 219, 220, 206, + 221, 223, 686, 222, 655, 0, 225, 0, 226, 227, + 228, 229, 230, 231, 232, 0, 301, 687, 688, 0, + 0, 233, 234, 656, 657, 629, 235, 236, 237, 238, + 0, 0, 239, 240, 241, 242, 648, 243, 0, 306, + 244, 245, 246, 307, 689, 1726, 0, 247, 0, 0, + 0, 0, 248, 249, 250, 251, 252, 603, 0, 0, + 0, 0, 0, 601, 0, 0, 0, 0, 599, 600, + 634, 623, 624, 621, 622, 613, 0, 609, 0, 0, + 0, 0, 612, 0, 0, 0, 100, 101, 0, 102, + 0, 0, 0, 0, 650, 616, 0, 0, 0, 103, + 104, 105, 254, 665, 256, 666, 106, 667, 668, 0, + 107, 260, 261, 108, 109, 619, 649, 669, 670, 264, + 0, 110, 661, 0, 642, 0, 111, 112, 113, 0, + 114, 0, 115, 116, 117, 0, 352, 118, 119, 0, + 643, 645, 0, 644, 646, 120, 121, 314, 122, 671, + 123, 672, 673, 0, 124, 0, 125, 0, 126, 0, + 0, 664, 128, 0, 129, 0, 0, 0, 607, 130, + 131, 132, 651, 652, 630, 0, 0, 133, 134, 674, + 675, 676, 0, 135, 0, 136, 0, 0, 353, 0, + 137, 662, 0, 276, 0, 138, 139, 140, 141, 658, + 660, 355, 0, 145, 0, 142, 0, 354, 143, 677, + 144, 678, 679, 680, 681, 682, 0, 641, 0, 356, + 146, 147, 148, 357, 149, 150, 151, 0, 153, 152, + 0, 663, 358, 154, 359, 0, 155, 0, 0, 156, + 0, 157, 158, 159, 161, 287, 160, 360, 162, 163, + 165, 164, 602, 0, 631, 659, 166, 683, 167, 168, + 0, 169, 0, 0, 170, 0, 0, 171, 290, 361, + 172, 362, 653, 173, 174, 175, 176, 177, 0, 178, + 654, 179, 293, 180, 0, 181, 182, 183, 184, 185, + 684, 186, 187, 0, 188, 189, 190, 191, 192, 194, + 195, 193, 196, 197, 198, 199, 0, 200, 363, 201, + 202, 608, 203, 0, 207, 208, 209, 210, 0, 212, + 296, 211, 213, 214, 647, 215, 204, 205, 216, 364, + 217, 685, 298, 218, 0, 224, 219, 220, 206, 221, + 223, 686, 222, 655, 0, 225, 0, 226, 227, 228, + 229, 230, 231, 232, 0, 301, 687, 688, 0, 0, + 233, 234, 656, 657, 629, 235, 236, 237, 238, 0, + 0, 239, 240, 241, 242, 648, 243, 0, 306, 244, + 245, 246, 307, 689, 0, 0, 247, 0, 0, 0, + 0, 248, 249, 250, 251, 252, 603, 0, 0, 0, + 0, 0, 601, 0, 0, 0, 0, 599, 600, 634, + 623, 624, 621, 622, 613, 0, 609, 1716, 0, 0, + 0, 612, 0, 0, 0, 100, 101, 0, 102, 0, + 0, 0, 0, 650, 616, 0, 0, 0, 103, 104, + 105, 254, 665, 256, 666, 106, 667, 668, 0, 107, + 260, 261, 108, 109, 619, 649, 669, 670, 264, 0, + 110, 661, 0, 642, 0, 111, 112, 113, 0, 114, + 0, 115, 116, 117, 0, 352, 118, 119, 0, 643, + 645, 0, 644, 646, 120, 121, 314, 122, 671, 123, + 672, 673, 0, 124, 0, 125, 0, 126, 0, 0, + 664, 128, 0, 129, 0, 0, 0, 607, 130, 131, + 132, 651, 652, 630, 0, 0, 133, 134, 674, 675, + 676, 0, 135, 0, 136, 0, 1315, 353, 0, 137, + 662, 0, 276, 0, 138, 139, 140, 141, 658, 660, + 355, 0, 145, 0, 142, 0, 354, 143, 677, 144, + 678, 679, 680, 681, 682, 0, 641, 0, 356, 146, + 147, 148, 357, 149, 150, 151, 0, 153, 152, 0, + 663, 358, 154, 359, 0, 155, 0, 0, 156, 0, + 157, 158, 159, 161, 287, 160, 360, 162, 163, 165, + 164, 602, 0, 631, 659, 166, 683, 167, 168, 0, + 169, 0, 0, 170, 0, 0, 171, 290, 361, 172, + 362, 653, 173, 174, 175, 176, 177, 0, 178, 654, + 179, 293, 180, 0, 181, 182, 183, 184, 185, 684, + 186, 187, 0, 188, 189, 190, 191, 192, 194, 195, + 193, 196, 197, 198, 199, 0, 200, 363, 201, 202, + 608, 203, 0, 207, 208, 209, 210, 0, 212, 296, + 211, 213, 214, 647, 215, 204, 205, 216, 364, 217, + 685, 298, 218, 0, 224, 219, 220, 206, 221, 223, + 686, 222, 655, 0, 225, 0, 226, 227, 228, 229, + 230, 231, 232, 0, 301, 687, 688, 0, 0, 233, + 234, 656, 657, 629, 235, 236, 237, 238, 0, 0, + 239, 240, 241, 242, 648, 243, 0, 306, 244, 245, + 246, 307, 689, 0, 0, 247, 0, 0, 0, 0, + 248, 249, 250, 251, 252, 603, 0, 0, 0, 0, + 0, 601, 0, 0, 0, 0, 599, 600, 634, 623, + 624, 621, 622, 613, 0, 609, 0, 0, 0, 0, + 612, 0, 0, 0, 100, 101, 0, 102, 0, 0, + 0, 0, 650, 616, 0, 0, 0, 103, 104, 105, + 254, 665, 256, 666, 106, 667, 668, 0, 107, 260, + 261, 108, 109, 619, 649, 669, 670, 264, 0, 110, + 661, 0, 642, 0, 111, 112, 113, 0, 114, 0, + 115, 116, 117, 0, 352, 118, 119, 0, 643, 645, + 0, 644, 646, 120, 121, 314, 122, 671, 123, 672, + 673, 0, 124, 0, 125, 0, 126, 0, 0, 664, + 128, 0, 129, 0, 0, 0, 607, 130, 131, 132, + 651, 652, 630, 0, 0, 133, 134, 674, 675, 676, + 0, 135, 0, 136, 0, 0, 353, 0, 137, 662, + 0, 276, 0, 138, 139, 140, 141, 658, 660, 355, + 0, 145, 0, 142, 0, 354, 143, 677, 144, 678, + 679, 680, 681, 682, 0, 641, 0, 356, 146, 147, + 148, 357, 149, 150, 151, 0, 153, 152, 0, 663, + 358, 154, 359, 0, 155, 0, 0, 156, 0, 157, + 158, 159, 161, 287, 160, 360, 162, 163, 165, 164, + 602, 0, 631, 659, 166, 683, 167, 168, 0, 169, + 0, 0, 170, 0, 0, 171, 290, 361, 172, 362, + 653, 173, 174, 175, 176, 177, 0, 178, 654, 179, + 293, 180, 0, 181, 182, 183, 184, 185, 684, 186, 187, 0, 188, 189, 190, 191, 192, 194, 195, 193, - 196, 197, 198, 199, 0, 200, 359, 201, 202, 604, - 203, 0, 207, 208, 209, 210, 0, 212, 292, 211, - 213, 214, 643, 215, 204, 205, 216, 360, 217, 677, - 294, 218, 0, 224, 219, 220, 206, 221, 223, 678, - 222, 651, 0, 225, 0, 226, 227, 228, 229, 230, - 231, 232, 0, 297, 679, 680, 0, 0, 233, 234, - 652, 653, 625, 235, 236, 237, 238, 0, 0, 239, - 240, 241, 242, 644, 243, 0, 302, 244, 245, 246, - 303, 681, 1251, 0, 247, 0, 0, 0, 0, 248, - 249, 250, 251, 252, 599, 0, 0, 0, 0, 0, - 597, 0, 0, 0, 0, 595, 596, 1254, 630, 619, - 620, 617, 618, 609, 605, 1249, 0, 0, 0, 608, + 196, 197, 198, 199, 0, 200, 363, 201, 202, 608, + 203, 0, 207, 208, 209, 210, 0, 212, 296, 211, + 213, 214, 647, 215, 204, 205, 216, 364, 217, 685, + 298, 218, 0, 224, 219, 220, 206, 221, 223, 686, + 222, 655, 0, 225, 0, 226, 227, 228, 229, 230, + 231, 232, 0, 301, 687, 688, 0, 0, 233, 234, + 656, 657, 629, 235, 236, 237, 238, 0, 0, 239, + 240, 241, 242, 648, 243, 0, 306, 244, 245, 246, + 307, 689, 0, 0, 247, 0, 0, 0, 0, 248, + 249, 250, 251, 252, 603, 0, 0, 0, 0, 0, + 601, 0, 0, 0, 0, 599, 600, 830, 634, 623, + 624, 621, 622, 613, 609, 0, 0, 0, 0, 612, 0, 0, 0, 0, 100, 101, 0, 102, 0, 0, - 0, 0, 646, 612, 0, 0, 0, 103, 104, 105, - 254, 661, 256, 662, 106, 663, 664, 0, 107, 260, - 261, 108, 109, 615, 645, 665, 666, 264, 0, 110, - 657, 0, 638, 0, 111, 112, 113, 0, 114, 0, - 115, 116, 117, 0, 348, 118, 119, 0, 639, 641, - 0, 640, 642, 120, 121, 310, 122, 667, 123, 668, - 669, 0, 124, 0, 125, 0, 126, 0, 0, 660, - 128, 0, 129, 0, 0, 0, 603, 130, 131, 132, - 647, 648, 626, 0, 0, 133, 134, 670, 0, 135, - 0, 136, 0, 0, 349, 0, 137, 658, 0, 274, - 0, 138, 139, 140, 141, 654, 656, 351, 0, 145, - 0, 142, 0, 350, 143, 671, 144, 672, 673, 674, - 0, 637, 0, 352, 146, 147, 148, 353, 149, 150, - 151, 0, 153, 152, 0, 659, 354, 154, 355, 0, - 155, 0, 0, 156, 0, 157, 158, 159, 161, 283, - 160, 356, 162, 163, 165, 164, 598, 0, 627, 655, - 166, 675, 167, 168, 0, 169, 0, 0, 170, 0, - 0, 171, 286, 357, 172, 358, 649, 173, 174, 175, - 176, 177, 0, 178, 650, 179, 289, 180, 0, 181, - 182, 183, 184, 185, 676, 186, 187, 0, 188, 189, - 190, 191, 192, 194, 195, 193, 196, 197, 198, 199, - 0, 200, 359, 201, 202, 604, 203, 0, 207, 208, - 209, 210, 81, 212, 292, 211, 213, 214, 643, 215, - 204, 205, 216, 360, 217, 677, 294, 218, 0, 224, - 219, 220, 206, 221, 223, 678, 222, 651, 0, 225, - 83, 226, 227, 228, 229, 230, 231, 232, 0, 297, - 679, 680, 0, 0, 233, 234, 652, 653, 625, 235, - 236, 237, 238, 0, 0, 239, 240, 241, 242, 644, - 243, 0, 302, 244, 245, 246, 715, 681, 0, 0, - 247, 0, 0, 0, 79, 248, 249, 250, 251, 252, - 599, 80, 0, 0, 0, 0, 597, 0, 0, 0, - 0, 595, 596, 630, 619, 620, 617, 618, 609, 0, - 605, 0, 0, 0, 0, 608, 0, 0, 0, 100, - 101, 0, 102, 0, 0, 0, 0, 646, 612, 0, - 0, 0, 103, 104, 105, 254, 661, 256, 662, 106, - 663, 664, 1298, 107, 260, 261, 108, 109, 615, 645, - 665, 666, 264, 0, 110, 657, 0, 638, 0, 111, - 112, 113, 0, 114, 0, 115, 116, 117, 0, 348, - 118, 119, 0, 639, 641, 0, 640, 642, 120, 121, - 310, 122, 667, 123, 668, 669, 0, 124, 0, 125, - 0, 126, 0, 0, 660, 128, 0, 129, 0, 0, - 0, 603, 130, 131, 132, 647, 648, 626, 0, 0, - 133, 134, 670, 0, 135, 0, 136, 0, 1303, 349, - 0, 137, 658, 0, 274, 0, 138, 139, 140, 141, - 654, 656, 351, 0, 145, 0, 142, 0, 350, 143, - 671, 144, 672, 673, 674, 0, 637, 0, 352, 146, - 147, 148, 353, 149, 150, 151, 0, 153, 152, 1299, - 659, 354, 154, 355, 0, 155, 0, 0, 156, 0, - 157, 158, 159, 161, 283, 160, 356, 162, 163, 165, - 164, 598, 0, 627, 655, 166, 675, 167, 168, 0, - 169, 0, 0, 170, 0, 0, 171, 286, 357, 172, - 358, 649, 173, 174, 175, 176, 177, 0, 178, 650, - 179, 289, 180, 0, 181, 182, 183, 184, 185, 676, - 186, 187, 0, 188, 189, 190, 191, 192, 194, 195, - 193, 196, 197, 198, 199, 0, 200, 359, 201, 202, - 604, 203, 0, 207, 208, 209, 210, 0, 212, 292, - 211, 213, 214, 643, 215, 204, 205, 216, 360, 217, - 677, 294, 218, 0, 224, 219, 220, 206, 221, 223, - 678, 222, 651, 0, 225, 0, 226, 227, 228, 229, - 230, 231, 232, 0, 297, 679, 680, 0, 1300, 233, - 234, 652, 653, 625, 235, 236, 237, 238, 0, 0, - 239, 240, 241, 242, 644, 243, 0, 302, 244, 245, - 246, 303, 681, 0, 0, 247, 0, 0, 0, 0, - 248, 249, 250, 251, 252, 599, 0, 0, 0, 0, - 0, 597, 0, 0, 0, 0, 595, 596, 630, 619, - 620, 617, 618, 609, 0, 605, 0, 0, 0, 0, - 608, 0, 0, 0, 100, 101, 0, 102, 0, 0, - 0, 0, 646, 612, 0, 0, 0, 103, 104, 105, - 254, 661, 256, 662, 106, 663, 664, 0, 107, 260, - 261, 108, 109, 615, 645, 665, 666, 264, 0, 110, - 657, 0, 638, 0, 111, 112, 113, 0, 114, 0, - 115, 116, 117, 0, 348, 118, 119, 0, 639, 641, - 0, 640, 642, 120, 121, 310, 122, 667, 123, 668, - 669, 0, 124, 0, 125, 0, 126, 0, 0, 660, - 128, 0, 129, 0, 0, 0, 603, 130, 131, 132, - 647, 648, 626, 0, 0, 133, 134, 670, 0, 135, - 0, 136, 0, 0, 349, 0, 137, 658, 0, 274, - 0, 138, 139, 140, 141, 654, 656, 351, 0, 145, - 0, 142, 0, 350, 143, 671, 144, 672, 673, 674, - 0, 637, 0, 352, 146, 147, 148, 353, 149, 150, - 151, 0, 153, 152, 0, 659, 354, 154, 355, 0, - 155, 0, 0, 156, 0, 157, 158, 159, 161, 283, - 160, 356, 162, 163, 165, 164, 598, 1782, 627, 655, - 166, 675, 167, 168, 0, 169, 0, 0, 170, 0, - 0, 171, 286, 357, 172, 358, 649, 173, 174, 175, - 176, 177, 0, 178, 650, 179, 289, 180, 0, 181, - 182, 183, 184, 185, 676, 186, 187, 0, 188, 189, + 0, 0, 650, 616, 0, 0, 0, 103, 104, 105, + 254, 665, 256, 666, 106, 667, 668, 0, 107, 260, + 261, 108, 109, 619, 649, 669, 670, 264, 0, 110, + 661, 0, 642, 0, 111, 112, 113, 0, 114, 0, + 115, 116, 117, 0, 352, 118, 119, 0, 643, 645, + 0, 644, 646, 120, 121, 314, 122, 671, 123, 672, + 673, 0, 124, 0, 125, 0, 126, 0, 0, 664, + 128, 0, 129, 0, 0, 0, 607, 130, 131, 132, + 651, 652, 630, 0, 0, 133, 134, 674, 675, 676, + 0, 135, 0, 136, 0, 0, 353, 0, 137, 662, + 0, 276, 0, 138, 139, 140, 141, 658, 660, 355, + 0, 145, 0, 142, 0, 354, 143, 677, 144, 678, + 679, 680, 681, 682, 0, 641, 0, 356, 146, 147, + 148, 357, 149, 150, 151, 0, 153, 152, 0, 663, + 358, 154, 359, 0, 155, 0, 0, 156, 0, 157, + 158, 159, 161, 287, 160, 360, 162, 163, 165, 164, + 602, 0, 631, 659, 166, 683, 167, 168, 0, 169, + 0, 0, 170, 0, 0, 171, 290, 361, 172, 362, + 653, 173, 174, 175, 176, 177, 0, 178, 654, 179, + 293, 180, 0, 181, 182, 183, 184, 185, 684, 186, + 187, 0, 188, 189, 190, 191, 192, 194, 195, 193, + 196, 197, 198, 199, 0, 200, 363, 201, 202, 608, + 203, 0, 207, 208, 209, 210, 0, 212, 296, 211, + 213, 214, 647, 215, 204, 205, 216, 364, 217, 685, + 298, 218, 0, 224, 219, 220, 206, 221, 223, 686, + 222, 655, 0, 225, 0, 226, 227, 228, 229, 230, + 231, 232, 0, 301, 687, 688, 0, 0, 233, 234, + 656, 657, 629, 235, 236, 237, 238, 0, 0, 239, + 240, 241, 242, 648, 243, 0, 306, 244, 245, 246, + 307, 689, 0, 0, 247, 0, 0, 0, 0, 248, + 249, 250, 251, 252, 603, 0, 0, 0, 0, 0, + 601, 0, 0, 0, 0, 599, 600, 634, 623, 624, + 621, 622, 613, 0, 609, 1251, 0, 0, 0, 612, + 0, 0, 0, 100, 101, 1119, 102, 0, 0, 0, + 0, 650, 616, 0, 0, 0, 103, 104, 105, 254, + 665, 256, 666, 106, 667, 668, 0, 107, 260, 261, + 108, 109, 619, 649, 669, 670, 264, 0, 110, 661, + 0, 642, 0, 111, 112, 113, 0, 114, 0, 115, + 116, 117, 0, 352, 118, 119, 0, 643, 645, 0, + 644, 646, 120, 121, 314, 122, 671, 123, 672, 673, + 0, 124, 0, 125, 0, 126, 0, 0, 664, 128, + 0, 129, 0, 0, 0, 607, 130, 131, 132, 651, + 652, 630, 0, 0, 133, 134, 674, 675, 676, 0, + 135, 0, 136, 0, 0, 353, 0, 137, 662, 0, + 276, 0, 138, 139, 140, 141, 658, 660, 355, 0, + 145, 0, 142, 0, 354, 143, 677, 144, 678, 679, + 680, 681, 682, 0, 641, 0, 356, 146, 147, 148, + 357, 149, 150, 151, 0, 153, 152, 0, 663, 358, + 154, 359, 0, 155, 0, 0, 156, 0, 157, 158, + 159, 161, 287, 160, 360, 162, 163, 165, 164, 602, + 0, 631, 659, 166, 683, 167, 168, 0, 169, 0, + 0, 170, 0, 0, 171, 290, 361, 172, 362, 653, + 173, 174, 175, 176, 177, 0, 178, 654, 179, 293, + 180, 0, 181, 182, 183, 184, 185, 684, 186, 187, + 0, 188, 189, 190, 191, 192, 194, 195, 193, 196, + 197, 198, 199, 0, 200, 363, 201, 202, 608, 203, + 0, 207, 208, 209, 210, 0, 212, 296, 211, 213, + 214, 647, 215, 204, 205, 216, 364, 217, 685, 298, + 218, 0, 224, 219, 220, 206, 221, 223, 686, 222, + 655, 0, 225, 0, 226, 227, 228, 229, 230, 231, + 232, 0, 301, 687, 688, 0, 0, 233, 234, 656, + 657, 629, 235, 236, 237, 238, 0, 0, 239, 240, + 241, 242, 648, 243, 0, 306, 244, 245, 246, 307, + 689, 0, 0, 247, 0, 0, 0, 0, 248, 249, + 250, 251, 252, 603, 0, 0, 0, 0, 0, 601, + 0, 0, 0, 0, 599, 600, 634, 623, 624, 621, + 622, 613, 0, 609, 0, 0, 0, 0, 612, 0, + 0, 0, 100, 101, 0, 102, 0, 0, 0, 0, + 650, 616, 0, 0, 0, 103, 104, 105, 254, 665, + 256, 666, 106, 667, 668, 0, 107, 260, 261, 108, + 109, 619, 649, 669, 670, 264, 0, 110, 661, 0, + 642, 0, 111, 112, 113, 0, 114, 0, 115, 116, + 117, 0, 352, 118, 2180, 0, 643, 645, 0, 644, + 646, 120, 121, 314, 122, 671, 123, 672, 673, 0, + 124, 0, 125, 0, 126, 0, 0, 664, 128, 0, + 129, 0, 0, 0, 607, 130, 131, 132, 651, 652, + 630, 0, 0, 133, 134, 674, 675, 676, 0, 135, + 0, 136, 0, 0, 353, 0, 137, 662, 0, 276, + 0, 138, 139, 140, 141, 658, 660, 355, 0, 145, + 0, 142, 0, 354, 143, 677, 144, 678, 679, 680, + 681, 682, 0, 641, 0, 356, 146, 147, 148, 357, + 149, 150, 151, 0, 153, 152, 0, 663, 358, 154, + 359, 0, 155, 0, 0, 156, 0, 157, 158, 159, + 161, 287, 160, 360, 162, 163, 165, 164, 602, 0, + 631, 659, 166, 683, 167, 168, 0, 169, 0, 0, + 170, 0, 0, 171, 290, 361, 172, 362, 653, 173, + 174, 175, 176, 177, 0, 178, 654, 179, 293, 180, + 0, 181, 182, 183, 184, 185, 684, 186, 187, 0, + 188, 189, 190, 191, 192, 194, 195, 193, 196, 197, + 198, 199, 0, 200, 363, 201, 202, 608, 203, 0, + 207, 208, 209, 210, 0, 212, 296, 211, 213, 214, + 647, 215, 204, 205, 216, 364, 217, 685, 298, 218, + 0, 224, 219, 220, 206, 221, 223, 686, 222, 655, + 0, 225, 0, 226, 227, 228, 229, 230, 231, 232, + 0, 301, 687, 688, 0, 0, 233, 234, 656, 657, + 629, 235, 236, 2179, 238, 0, 0, 239, 240, 241, + 242, 648, 243, 0, 306, 244, 245, 246, 307, 689, + 0, 0, 247, 0, 0, 0, 0, 248, 249, 250, + 251, 252, 603, 0, 0, 0, 0, 0, 601, 0, + 0, 0, 0, 599, 600, 634, 623, 624, 621, 622, + 613, 0, 609, 0, 0, 0, 0, 612, 0, 0, + 0, 100, 101, 0, 102, 0, 0, 0, 0, 650, + 616, 0, 0, 0, 103, 104, 105, 2178, 665, 256, + 666, 106, 667, 668, 0, 107, 260, 261, 108, 109, + 619, 649, 669, 670, 264, 0, 110, 661, 0, 642, + 0, 111, 112, 113, 0, 114, 0, 115, 116, 117, + 0, 352, 118, 2180, 0, 643, 645, 0, 644, 646, + 120, 121, 314, 122, 671, 123, 672, 673, 0, 124, + 0, 125, 0, 126, 0, 0, 664, 128, 0, 129, + 0, 0, 0, 607, 130, 131, 132, 651, 652, 630, + 0, 0, 133, 134, 674, 675, 676, 0, 135, 0, + 136, 0, 0, 353, 0, 137, 662, 0, 276, 0, + 138, 139, 140, 141, 658, 660, 355, 0, 145, 0, + 142, 0, 354, 143, 677, 144, 678, 679, 680, 681, + 682, 0, 641, 0, 356, 146, 147, 148, 357, 149, + 150, 151, 0, 153, 152, 0, 663, 358, 154, 359, + 0, 155, 0, 0, 156, 0, 157, 158, 159, 161, + 287, 160, 360, 162, 163, 165, 164, 602, 0, 631, + 659, 166, 683, 167, 168, 0, 169, 0, 0, 170, + 0, 0, 171, 290, 361, 172, 362, 653, 173, 174, + 175, 176, 177, 0, 178, 654, 179, 293, 180, 0, + 181, 182, 183, 184, 185, 684, 186, 187, 0, 188, + 189, 190, 191, 192, 194, 195, 193, 196, 197, 198, + 199, 0, 200, 363, 201, 202, 608, 203, 0, 207, + 208, 209, 210, 0, 212, 296, 211, 213, 214, 647, + 215, 204, 205, 216, 364, 217, 685, 298, 218, 0, + 224, 219, 220, 206, 221, 223, 686, 222, 655, 0, + 225, 0, 226, 227, 228, 229, 230, 231, 232, 0, + 301, 687, 688, 0, 0, 233, 234, 656, 657, 629, + 235, 236, 2179, 238, 0, 0, 239, 240, 241, 242, + 648, 243, 0, 306, 244, 245, 246, 307, 689, 0, + 0, 247, 0, 0, 0, 0, 248, 249, 250, 251, + 252, 603, 0, 0, 0, 0, 0, 601, 0, 0, + 0, 0, 599, 600, 634, 623, 624, 621, 622, 613, + 0, 609, 0, 0, 0, 0, 612, 0, 0, 0, + 100, 101, 0, 102, 0, 0, 0, 0, 650, 616, + 0, 0, 0, 103, 104, 105, 254, 665, 256, 666, + 106, 667, 668, 0, 107, 260, 261, 108, 109, 619, + 649, 669, 670, 264, 0, 110, 661, 0, 642, 0, + 111, 112, 113, 0, 114, 0, 115, 116, 117, 0, + 352, 118, 119, 0, 643, 645, 0, 644, 646, 120, + 121, 314, 122, 671, 123, 672, 673, 0, 124, 0, + 125, 0, 126, 0, 0, 664, 128, 0, 129, 0, + 0, 0, 607, 130, 131, 132, 651, 652, 630, 0, + 0, 133, 134, 674, 675, 676, 0, 135, 0, 136, + 0, 0, 353, 0, 137, 662, 0, 276, 0, 138, + 139, 140, 141, 658, 660, 355, 0, 145, 0, 142, + 0, 354, 143, 677, 144, 678, 679, 680, 681, 682, + 0, 641, 0, 356, 146, 147, 148, 357, 149, 150, + 151, 0, 153, 152, 0, 663, 358, 154, 359, 0, + 155, 0, 0, 156, 0, 157, 158, 159, 161, 287, + 160, 360, 162, 163, 165, 164, 602, 0, 631, 659, + 166, 683, 167, 168, 0, 169, 0, 0, 170, 0, + 0, 171, 290, 361, 172, 362, 653, 173, 174, 175, + 176, 177, 0, 178, 654, 179, 293, 180, 0, 181, + 182, 183, 184, 185, 684, 186, 187, 0, 188, 189, 190, 191, 192, 194, 195, 193, 196, 197, 198, 199, - 0, 200, 359, 201, 202, 604, 203, 0, 207, 208, - 209, 210, 0, 212, 292, 211, 213, 214, 643, 215, - 204, 205, 216, 360, 217, 677, 294, 218, 0, 224, - 219, 220, 206, 221, 223, 678, 222, 651, 0, 225, - 0, 226, 227, 228, 229, 230, 231, 232, 0, 297, - 679, 680, 0, 0, 233, 234, 652, 653, 625, 235, - 236, 237, 238, 0, 0, 239, 240, 241, 242, 644, - 243, 0, 302, 244, 245, 246, 303, 681, 0, 0, + 0, 200, 363, 201, 202, 608, 203, 0, 207, 208, + 209, 210, 0, 212, 296, 211, 213, 214, 647, 215, + 204, 205, 216, 364, 217, 685, 298, 218, 0, 224, + 219, 220, 206, 221, 223, 686, 222, 655, 0, 225, + 0, 226, 227, 228, 229, 230, 231, 232, 0, 301, + 687, 688, 0, 0, 233, 234, 656, 657, 629, 235, + 236, 237, 238, 0, 0, 239, 240, 241, 242, 648, + 243, 0, 306, 244, 245, 246, 307, 689, 0, 0, 247, 0, 0, 0, 0, 248, 249, 250, 251, 252, - 599, 0, 0, 0, 0, 0, 597, 0, 0, 0, - 0, 595, 596, 822, 630, 619, 620, 617, 618, 609, - 605, 0, 0, 0, 0, 608, 0, 0, 0, 0, - 100, 101, 0, 102, 0, 0, 0, 0, 646, 612, - 0, 0, 0, 103, 104, 105, 254, 661, 256, 662, - 106, 663, 664, 0, 107, 260, 261, 108, 109, 615, - 645, 665, 666, 264, 0, 110, 657, 0, 638, 0, - 111, 112, 113, 0, 114, 0, 115, 116, 117, 0, - 348, 118, 119, 0, 639, 641, 0, 640, 642, 120, - 121, 310, 122, 667, 123, 668, 669, 0, 124, 0, - 125, 0, 126, 0, 0, 660, 128, 0, 129, 0, - 0, 0, 603, 130, 131, 132, 647, 648, 626, 0, - 0, 133, 134, 670, 0, 135, 0, 136, 0, 0, - 349, 0, 137, 658, 0, 274, 0, 138, 139, 140, - 141, 654, 656, 351, 0, 145, 0, 142, 0, 350, - 143, 671, 144, 672, 673, 674, 0, 637, 0, 352, - 146, 147, 148, 353, 149, 150, 151, 0, 153, 152, - 0, 659, 354, 154, 355, 0, 155, 0, 0, 156, - 0, 157, 158, 159, 161, 283, 160, 356, 162, 163, - 165, 164, 598, 0, 627, 655, 166, 675, 167, 168, - 0, 169, 0, 0, 170, 0, 0, 171, 286, 357, - 172, 358, 649, 173, 174, 175, 176, 177, 0, 178, - 650, 179, 289, 180, 0, 181, 182, 183, 184, 185, - 676, 186, 187, 0, 188, 189, 190, 191, 192, 194, - 195, 193, 196, 197, 198, 199, 0, 200, 359, 201, - 202, 604, 203, 0, 207, 208, 209, 210, 0, 212, - 292, 211, 213, 214, 643, 215, 204, 205, 216, 360, - 217, 677, 294, 218, 0, 224, 219, 220, 206, 221, - 223, 678, 222, 651, 0, 225, 0, 226, 227, 228, - 229, 230, 231, 232, 0, 297, 679, 680, 0, 0, - 233, 234, 652, 653, 625, 235, 236, 237, 238, 0, - 0, 239, 240, 241, 242, 644, 243, 0, 302, 244, - 245, 246, 303, 681, 0, 0, 247, 0, 0, 0, - 0, 248, 249, 250, 251, 252, 599, 0, 0, 0, - 0, 0, 597, 0, 0, 0, 0, 595, 596, 0, - 0, 0, 0, 0, 914, 1244, 605, 0, 0, 0, - 0, 608, 630, 619, 620, 617, 618, 609, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 100, 101, - 0, 102, 0, 0, 0, 0, 646, 612, 0, 0, - 0, 103, 104, 105, 254, 661, 256, 662, 106, 663, - 664, 0, 107, 260, 261, 108, 109, 615, 645, 665, - 666, 264, 0, 110, 657, 0, 638, 0, 111, 112, - 113, 0, 114, 0, 115, 116, 117, 0, 348, 118, - 119, 0, 639, 641, 0, 640, 642, 120, 121, 310, - 122, 667, 123, 668, 669, 831, 124, 0, 125, 0, - 126, 0, 0, 660, 128, 0, 129, 0, 0, 0, - 603, 130, 131, 132, 647, 648, 626, 0, 0, 133, - 134, 670, 0, 135, 0, 136, 0, 0, 349, 0, - 137, 658, 0, 274, 0, 138, 139, 140, 141, 654, - 656, 351, 0, 145, 0, 142, 0, 350, 143, 671, - 144, 672, 673, 674, 0, 637, 0, 352, 146, 147, - 148, 353, 149, 150, 151, 0, 153, 152, 0, 659, - 354, 154, 355, 0, 155, 0, 0, 156, 0, 157, - 158, 159, 161, 283, 160, 356, 162, 163, 165, 164, - 598, 0, 627, 655, 166, 675, 167, 168, 0, 169, - 0, 0, 170, 0, 0, 171, 286, 357, 172, 358, - 649, 173, 174, 175, 176, 177, 0, 178, 650, 179, - 289, 180, 0, 181, 182, 183, 184, 185, 676, 186, - 187, 0, 188, 189, 190, 191, 192, 194, 195, 193, - 196, 197, 198, 199, 0, 200, 359, 201, 202, 604, - 203, 0, 207, 208, 209, 210, 0, 212, 292, 211, - 213, 214, 643, 215, 204, 205, 216, 360, 217, 677, - 294, 218, 0, 224, 219, 220, 206, 221, 223, 678, - 222, 651, 0, 225, 0, 226, 227, 228, 229, 230, - 231, 232, 0, 297, 679, 680, 0, 0, 233, 234, - 652, 653, 625, 235, 236, 237, 238, 0, 0, 239, - 240, 241, 242, 644, 243, 0, 302, 244, 245, 246, - 303, 681, 0, 0, 247, 0, 0, 0, 0, 248, - 249, 250, 251, 252, 599, 0, 0, 0, 0, 0, - 597, 0, 0, 0, 0, 595, 596, 630, 619, 620, - 617, 618, 609, 0, 605, 0, 0, 0, 0, 608, - 0, 0, 0, 100, 101, 0, 102, 0, 0, 0, - 0, 646, 612, 0, 0, 0, 103, 104, 105, 254, - 661, 256, 662, 106, 663, 664, 0, 107, 260, 261, - 108, 109, 615, 645, 665, 666, 264, 0, 110, 657, - 0, 638, 0, 111, 112, 113, 0, 114, 0, 115, - 116, 117, 0, 348, 118, 119, 0, 639, 641, 0, - 640, 642, 120, 121, 310, 122, 667, 123, 668, 669, - 0, 124, 0, 125, 0, 126, 0, 0, 660, 128, - 0, 129, 0, 0, 0, 603, 130, 131, 132, 647, - 648, 626, 0, 0, 133, 134, 670, 0, 135, 0, - 136, 0, 0, 349, 0, 137, 658, 0, 274, 0, - 138, 139, 140, 141, 654, 656, 351, 0, 145, 0, - 142, 0, 350, 143, 671, 144, 672, 673, 674, 0, - 637, 0, 352, 146, 147, 148, 353, 149, 150, 151, - 0, 153, 152, 0, 659, 354, 154, 355, 0, 155, - 0, 0, 156, 0, 157, 158, 159, 161, 283, 160, - 356, 162, 163, 165, 164, 598, 0, 627, 655, 166, - 675, 167, 168, 0, 169, 0, 0, 170, 0, 0, - 171, 286, 357, 172, 358, 649, 173, 174, 175, 176, - 177, 0, 178, 650, 179, 289, 180, 0, 181, 182, - 183, 184, 185, 676, 186, 187, 0, 188, 189, 190, + 603, 0, 0, 0, 0, 0, 601, 0, 0, 0, + 0, 599, 600, 1287, 623, 624, 621, 622, 613, 0, + 609, 0, 0, 0, 0, 612, 0, 0, 0, 100, + 101, 0, 102, 0, 0, 0, 0, 650, 616, 0, + 0, 0, 103, 104, 105, 254, 665, 256, 666, 106, + 667, 668, 0, 107, 260, 261, 108, 109, 619, 649, + 669, 670, 264, 0, 110, 661, 0, 642, 0, 111, + 112, 113, 0, 114, 0, 115, 116, 117, 0, 352, + 118, 119, 0, 643, 645, 0, 644, 646, 120, 121, + 314, 122, 671, 1290, 672, 673, 0, 124, 0, 125, + 0, 126, 0, 0, 664, 128, 0, 129, 0, 0, + 0, 607, 130, 131, 132, 651, 652, 630, 0, 0, + 133, 134, 674, 675, 676, 0, 135, 0, 136, 0, + 0, 353, 0, 137, 662, 0, 276, 0, 138, 139, + 1291, 141, 658, 660, 355, 0, 145, 0, 142, 0, + 354, 143, 677, 144, 678, 679, 680, 681, 682, 0, + 641, 0, 356, 146, 147, 148, 357, 149, 150, 151, + 0, 153, 152, 0, 663, 358, 154, 359, 0, 155, + 0, 0, 156, 0, 157, 1292, 1289, 161, 287, 160, + 360, 162, 163, 165, 164, 602, 0, 631, 659, 166, + 683, 167, 168, 0, 169, 0, 0, 170, 0, 0, + 171, 290, 361, 172, 362, 653, 173, 174, 175, 176, + 177, 0, 178, 654, 179, 293, 180, 0, 181, 182, + 183, 184, 185, 684, 186, 187, 0, 188, 189, 190, 191, 192, 194, 195, 193, 196, 197, 198, 199, 0, - 200, 359, 201, 202, 604, 203, 0, 207, 208, 209, - 210, 0, 212, 292, 211, 213, 214, 643, 215, 204, - 205, 216, 360, 217, 677, 294, 218, 0, 224, 219, - 220, 206, 221, 223, 678, 222, 651, 0, 225, 0, - 226, 227, 228, 229, 230, 231, 232, 0, 297, 679, - 680, 0, 0, 233, 234, 652, 653, 625, 235, 236, - 237, 238, 0, 0, 239, 240, 241, 242, 644, 243, - 0, 302, 244, 245, 246, 303, 681, 0, 0, 247, - 0, 0, 0, 0, 248, 249, 250, 251, 252, 599, - 0, 0, 0, 0, 0, 597, 0, 0, 0, 0, - 595, 596, 630, 619, 620, 617, 618, 609, 0, 605, - 1765, 0, 0, 0, 608, 0, 0, 0, 100, 101, - 0, 102, 0, 0, 0, 0, 646, 612, 0, 0, - 0, 103, 104, 105, 254, 661, 256, 662, 106, 663, - 664, 0, 107, 260, 261, 108, 109, 615, 645, 665, - 666, 264, 0, 110, 657, 0, 638, 0, 111, 112, - 113, 0, 114, 0, 115, 116, 117, 0, 348, 118, - 119, 0, 639, 641, 0, 640, 642, 120, 121, 310, - 122, 667, 123, 668, 669, 0, 124, 0, 125, 0, - 126, 0, 0, 660, 128, 0, 129, 0, 0, 0, - 603, 130, 131, 132, 647, 648, 626, 0, 0, 133, - 134, 670, 0, 135, 0, 136, 0, 0, 349, 0, - 137, 658, 0, 274, 0, 138, 139, 140, 141, 654, - 656, 351, 0, 145, 0, 142, 0, 350, 143, 671, - 144, 672, 673, 674, 0, 637, 0, 352, 146, 147, - 148, 353, 149, 150, 151, 0, 153, 152, 0, 659, - 354, 154, 355, 0, 155, 0, 0, 156, 0, 157, - 158, 159, 161, 283, 160, 356, 162, 163, 165, 164, - 598, 0, 627, 655, 166, 675, 167, 168, 0, 169, - 0, 0, 170, 0, 0, 171, 286, 357, 172, 358, - 649, 173, 174, 175, 176, 177, 0, 178, 650, 179, - 289, 180, 0, 181, 182, 183, 184, 185, 676, 186, - 187, 0, 188, 189, 190, 191, 192, 194, 195, 193, - 196, 197, 198, 199, 0, 200, 359, 201, 202, 604, - 203, 0, 207, 208, 209, 210, 0, 212, 292, 211, - 213, 214, 643, 215, 204, 205, 216, 360, 217, 677, - 294, 218, 0, 224, 219, 220, 206, 221, 223, 678, - 222, 651, 0, 225, 0, 226, 227, 228, 229, 230, - 231, 232, 0, 297, 679, 680, 0, 0, 233, 234, - 652, 653, 625, 235, 236, 237, 238, 0, 0, 239, - 240, 241, 242, 644, 243, 0, 302, 244, 245, 246, - 303, 681, 1714, 0, 247, 0, 0, 0, 0, 248, - 249, 250, 251, 252, 599, 0, 0, 0, 0, 0, - 597, 0, 0, 0, 0, 595, 596, 630, 619, 620, - 617, 618, 609, 0, 605, 0, 0, 0, 0, 608, - 0, 0, 0, 100, 101, 0, 102, 0, 0, 0, - 0, 646, 612, 0, 0, 0, 103, 104, 105, 254, - 661, 256, 662, 106, 663, 664, 0, 107, 260, 261, - 108, 109, 615, 645, 665, 666, 264, 0, 110, 657, - 0, 638, 0, 111, 112, 113, 0, 114, 0, 115, - 116, 117, 0, 348, 118, 119, 0, 639, 641, 0, - 640, 642, 120, 121, 310, 122, 667, 123, 668, 669, - 0, 124, 0, 125, 0, 126, 0, 0, 660, 128, - 0, 129, 0, 0, 0, 603, 130, 131, 132, 647, - 648, 626, 0, 0, 133, 134, 670, 0, 135, 0, - 136, 0, 0, 349, 0, 137, 658, 0, 274, 0, - 138, 139, 140, 141, 654, 656, 351, 0, 145, 0, - 142, 0, 350, 143, 671, 144, 672, 673, 674, 0, - 637, 0, 352, 146, 147, 148, 353, 149, 150, 151, - 0, 153, 152, 0, 659, 354, 154, 355, 0, 155, - 0, 0, 156, 0, 157, 158, 159, 161, 283, 160, - 356, 162, 163, 165, 164, 598, 0, 627, 655, 166, - 675, 167, 168, 0, 169, 0, 0, 170, 0, 0, - 171, 286, 357, 172, 358, 649, 173, 174, 175, 176, - 177, 0, 178, 650, 179, 289, 180, 0, 181, 182, - 183, 184, 185, 676, 186, 187, 0, 188, 189, 190, + 200, 363, 201, 202, 608, 203, 0, 207, 208, 209, + 1293, 0, 212, 296, 211, 213, 214, 647, 215, 204, + 205, 216, 364, 217, 685, 298, 218, 0, 224, 219, + 220, 206, 221, 223, 686, 222, 655, 0, 225, 0, + 226, 227, 228, 229, 230, 231, 232, 0, 301, 687, + 688, 0, 0, 233, 234, 656, 657, 629, 235, 236, + 237, 238, 0, 0, 239, 240, 241, 242, 648, 243, + 0, 306, 244, 245, 246, 307, 689, 0, 0, 247, + 0, 0, 0, 0, 248, 249, 250, 1288, 252, 603, + 0, 0, 0, 0, 0, 601, 0, 0, 0, 0, + 599, 600, 634, 623, 624, 621, 622, 613, 0, 609, + 0, 0, 0, 0, 612, 0, 0, 0, 100, 101, + 0, 102, 0, 0, 0, 0, 650, 616, 0, 0, + 0, 103, 104, 105, 254, 665, 256, 666, 106, 667, + 668, 0, 107, 260, 261, 108, 109, 619, 649, 669, + 670, 264, 0, 110, 661, 0, 642, 0, 111, 112, + 113, 0, 114, 0, 115, 116, 117, 0, 352, 118, + 119, 0, 643, 645, 0, 644, 646, 120, 121, 314, + 122, 671, 123, 672, 673, 0, 124, 0, 125, 0, + 126, 0, 0, 664, 128, 0, 129, 0, 0, 0, + 607, 130, 131, 132, 651, 652, 630, 0, 0, 133, + 134, 674, 675, 676, 0, 135, 0, 136, 0, 0, + 353, 0, 137, 662, 0, 276, 0, 138, 139, 140, + 141, 658, 660, 355, 0, 145, 0, 142, 0, 354, + 143, 677, 144, 678, 679, 680, 681, 682, 0, 641, + 0, 356, 146, 147, 148, 357, 149, 150, 151, 0, + 153, 152, 0, 663, 358, 154, 359, 0, 155, 0, + 0, 156, 0, 157, 158, 159, 161, 287, 160, 360, + 162, 163, 165, 164, 0, 0, 631, 659, 166, 683, + 167, 168, 0, 169, 0, 0, 170, 0, 0, 171, + 290, 361, 172, 362, 653, 173, 174, 175, 176, 177, + 0, 178, 654, 179, 293, 180, 0, 181, 182, 183, + 184, 185, 684, 186, 187, 0, 188, 189, 190, 191, + 192, 194, 195, 193, 196, 197, 198, 199, 0, 200, + 363, 201, 202, 1305, 203, 0, 207, 208, 209, 210, + 0, 212, 296, 211, 213, 214, 647, 215, 204, 205, + 216, 364, 217, 685, 298, 218, 0, 224, 219, 220, + 206, 221, 223, 686, 222, 655, 0, 225, 0, 226, + 227, 228, 229, 230, 231, 232, 0, 301, 687, 688, + 0, 0, 233, 234, 656, 657, 629, 235, 236, 237, + 238, 0, 0, 239, 240, 241, 242, 648, 243, 0, + 306, 244, 245, 246, 307, 689, 0, 0, 247, 0, + 0, 0, 0, 248, 249, 250, 251, 252, 0, 0, + 0, 0, 0, 0, 1303, 0, 0, 0, 0, 1301, + 1302, 634, 623, 624, 621, 622, 613, 0, 1304, 0, + 0, 0, 0, 612, 0, 0, 0, 100, 101, 0, + 102, 0, 0, 0, 0, 650, 616, 0, 0, 0, + 103, 104, 105, 254, 665, 256, 666, 106, 667, 668, + 0, 107, 260, 261, 108, 109, 0, 649, 669, 670, + 264, 0, 110, 661, 0, 642, 0, 111, 112, 113, + 0, 114, 0, 115, 116, 117, 0, 352, 118, 119, + 0, 643, 645, 0, 644, 646, 120, 121, 314, 122, + 671, 123, 672, 673, 0, 124, 0, 125, 0, 126, + 0, 0, 664, 128, 0, 129, 0, 0, 0, 269, + 130, 131, 132, 651, 652, 630, 0, 0, 133, 134, + 674, 675, 676, 0, 135, 0, 136, 0, 0, 353, + 0, 137, 662, 0, 276, 0, 138, 139, 140, 141, + 658, 660, 355, 0, 145, 0, 142, 0, 354, 143, + 677, 144, 678, 679, 680, 681, 682, 0, 641, 0, + 356, 146, 147, 148, 357, 149, 150, 151, 0, 153, + 152, 0, 663, 358, 154, 359, 0, 155, 0, 0, + 156, 0, 157, 158, 159, 161, 287, 160, 360, 162, + 163, 165, 164, 0, 0, 631, 659, 166, 683, 167, + 168, 0, 169, 0, 0, 170, 0, 0, 171, 290, + 361, 172, 362, 653, 173, 174, 175, 176, 177, 0, + 178, 654, 179, 293, 180, 0, 181, 182, 183, 184, + 185, 684, 186, 187, 0, 188, 189, 190, 191, 192, + 194, 195, 193, 196, 197, 198, 199, 0, 200, 363, + 201, 202, 1305, 203, 0, 207, 208, 209, 210, 0, + 212, 296, 211, 213, 214, 647, 215, 204, 205, 216, + 364, 217, 685, 298, 218, 0, 224, 219, 220, 206, + 221, 223, 686, 222, 655, 0, 225, 0, 226, 227, + 228, 229, 230, 231, 232, 0, 301, 687, 688, 0, + 0, 233, 234, 656, 657, 629, 235, 236, 237, 238, + 0, 0, 239, 240, 241, 242, 648, 243, 0, 306, + 244, 245, 246, 307, 689, 0, 0, 247, 0, 0, + 0, 0, 248, 249, 250, 251, 252, 0, 0, 634, + 623, 624, 621, 622, 613, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 100, 101, 1304, 102, 0, + 0, 0, 612, 650, 616, 0, 0, 0, 103, 104, + 105, 0, 665, 256, 666, 106, 667, 668, 0, 107, + 260, 261, 108, 109, 619, 649, 669, 670, 264, 0, + 110, 661, 0, 642, 0, 111, 112, 113, 0, 114, + 0, 115, 116, 117, 0, 352, 118, 2180, 0, 643, + 645, 0, 644, 646, 120, 121, 314, 122, 671, 123, + 672, 673, 0, 124, 0, 125, 0, 126, 0, 0, + 664, 128, 0, 129, 0, 0, 0, 607, 130, 131, + 132, 651, 652, 630, 0, 0, 133, 134, 674, 675, + 676, 0, 135, 0, 136, 0, 0, 353, 0, 137, + 662, 0, 276, 0, 138, 139, 140, 141, 658, 660, + 0, 0, 145, 0, 142, 0, 354, 143, 677, 144, + 678, 679, 680, 681, 682, 0, 641, 0, 0, 146, + 147, 148, 357, 149, 150, 151, 0, 153, 152, 0, + 663, 358, 154, 0, 0, 155, 0, 0, 156, 0, + 157, 158, 159, 161, 287, 160, 360, 162, 163, 165, + 164, 602, 0, 631, 659, 166, 683, 167, 168, 0, + 169, 0, 0, 170, 0, 0, 171, 290, 361, 172, + 362, 653, 173, 174, 175, 176, 177, 0, 178, 654, + 179, 293, 180, 0, 181, 182, 183, 184, 185, 684, + 186, 187, 0, 188, 189, 190, 191, 192, 194, 195, + 193, 196, 197, 198, 199, 0, 200, 363, 201, 202, + 608, 203, 0, 207, 208, 209, 210, 0, 212, 296, + 211, 213, 214, 647, 215, 204, 205, 216, 0, 217, + 685, 298, 218, 0, 224, 219, 220, 206, 221, 223, + 686, 222, 655, 0, 225, 0, 226, 227, 228, 229, + 230, 231, 232, 0, 301, 687, 688, 0, 0, 233, + 234, 656, 657, 629, 235, 236, 2179, 238, 0, 0, + 239, 240, 241, 242, 648, 243, 0, 306, 244, 245, + 246, 307, 689, 0, 0, 247, 0, 0, 0, 0, + 248, 249, 250, 251, 252, 634, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 599, 600, 0, 0, + 0, 100, 101, 0, 102, 609, 0, 0, 0, 650, + 612, 0, 0, 0, 103, 104, 105, 254, 255, 256, + 257, 106, 258, 259, 0, 107, 260, 261, 108, 109, + 0, 649, 262, 263, 264, 0, 110, 661, 0, 642, + 0, 111, 112, 113, 0, 114, 0, 115, 116, 117, + 0, 352, 118, 119, 0, 643, 645, 0, 644, 646, + 120, 121, 314, 122, 266, 123, 267, 268, 0, 124, + 0, 125, 0, 126, 0, 0, 127, 128, 0, 129, + 0, 0, 0, 269, 130, 131, 132, 651, 652, 0, + 0, 0, 133, 134, 272, 273, 274, 0, 135, 0, + 136, 0, 0, 353, 0, 137, 662, 0, 276, 0, + 138, 139, 140, 141, 658, 660, 355, 0, 145, 0, + 142, 0, 354, 143, 279, 144, 280, 281, 282, 283, + 284, 0, 285, 0, 356, 146, 147, 148, 357, 149, + 150, 151, 0, 153, 152, 0, 663, 358, 154, 359, + 0, 155, 0, 0, 156, 0, 157, 158, 159, 161, + 287, 160, 360, 162, 163, 165, 164, 0, 0, 0, + 659, 166, 289, 167, 168, 0, 169, 0, 0, 170, + 0, 0, 171, 290, 361, 172, 362, 653, 173, 174, + 175, 176, 177, 0, 178, 654, 179, 293, 180, 0, + 181, 182, 183, 184, 185, 294, 186, 187, 0, 188, + 189, 190, 191, 192, 194, 195, 193, 196, 197, 198, + 199, 0, 200, 363, 201, 202, 295, 203, 0, 207, + 208, 209, 210, 0, 212, 296, 211, 213, 214, 647, + 215, 204, 205, 216, 364, 217, 297, 298, 218, 0, + 224, 219, 220, 206, 221, 223, 299, 222, 655, 0, + 225, 0, 226, 227, 228, 229, 230, 231, 232, 0, + 301, 302, 303, 0, 0, 233, 234, 656, 657, 0, + 235, 236, 237, 238, 0, 0, 239, 240, 241, 242, + 648, 243, 0, 306, 244, 245, 246, 307, 308, 0, + 0, 247, 0, 541, 0, 0, 248, 249, 250, 251, + 252, 0, 0, 0, 0, 0, 0, 0, 0, 100, + 101, 0, 102, 0, 0, 0, 0, 253, 0, 0, + 0, 1679, 103, 104, 105, 254, 255, 256, 257, 106, + 258, 259, 0, 107, 260, 261, 108, 109, 0, 0, + 262, 263, 264, 0, 110, 265, 0, 351, 0, 111, + 112, 113, 0, 114, 0, 115, 116, 117, 0, 352, + 118, 119, 0, 0, 0, 0, 0, 0, 120, 121, + 314, 122, 266, 123, 267, 268, 0, 124, 0, 125, + 0, 126, 0, 0, 127, 128, 0, 129, 0, 0, + 0, 269, 130, 131, 132, 270, 271, 0, 0, 0, + 133, 134, 272, 273, 274, 0, 135, 0, 136, 0, + 0, 353, 0, 137, 275, 0, 276, 0, 138, 139, + 140, 141, 277, 278, 355, 0, 145, 0, 142, 0, + 354, 143, 279, 144, 280, 281, 282, 283, 284, 0, + 285, 0, 356, 146, 147, 148, 357, 149, 150, 151, + 0, 153, 152, 0, 286, 358, 154, 359, 0, 155, + 0, 0, 156, 0, 157, 158, 159, 161, 287, 160, + 360, 162, 163, 165, 164, 0, 0, 0, 288, 166, + 289, 167, 168, 0, 169, 0, 0, 170, 0, 0, + 171, 290, 361, 172, 362, 291, 173, 174, 175, 176, + 177, 0, 178, 292, 179, 293, 180, 0, 181, 182, + 183, 184, 185, 294, 186, 187, 0, 188, 189, 190, 191, 192, 194, 195, 193, 196, 197, 198, 199, 0, - 200, 359, 201, 202, 604, 203, 0, 207, 208, 209, - 210, 0, 212, 292, 211, 213, 214, 643, 215, 204, - 205, 216, 360, 217, 677, 294, 218, 0, 224, 219, - 220, 206, 221, 223, 678, 222, 651, 0, 225, 0, - 226, 227, 228, 229, 230, 231, 232, 0, 297, 679, - 680, 0, 0, 233, 234, 652, 653, 625, 235, 236, - 237, 238, 0, 0, 239, 240, 241, 242, 644, 243, - 0, 302, 244, 245, 246, 303, 681, 0, 0, 247, - 0, 0, 0, 0, 248, 249, 250, 251, 252, 599, - 0, 0, 0, 0, 0, 597, 0, 0, 0, 0, - 595, 596, 630, 619, 620, 617, 618, 609, 0, 605, - 1704, 0, 0, 0, 608, 0, 0, 0, 100, 101, - 0, 102, 0, 0, 0, 0, 646, 612, 0, 0, - 0, 103, 104, 105, 254, 661, 256, 662, 106, 663, - 664, 0, 107, 260, 261, 108, 109, 615, 645, 665, - 666, 264, 0, 110, 657, 0, 638, 0, 111, 112, - 113, 0, 114, 0, 115, 116, 117, 0, 348, 118, - 119, 0, 639, 641, 0, 640, 642, 120, 121, 310, - 122, 667, 123, 668, 669, 0, 124, 0, 125, 0, - 126, 0, 0, 660, 128, 0, 129, 0, 0, 0, - 603, 130, 131, 132, 647, 648, 626, 0, 0, 133, - 134, 670, 0, 135, 0, 136, 0, 1303, 349, 0, - 137, 658, 0, 274, 0, 138, 139, 140, 141, 654, - 656, 351, 0, 145, 0, 142, 0, 350, 143, 671, - 144, 672, 673, 674, 0, 637, 0, 352, 146, 147, - 148, 353, 149, 150, 151, 0, 153, 152, 0, 659, - 354, 154, 355, 0, 155, 0, 0, 156, 0, 157, - 158, 159, 161, 283, 160, 356, 162, 163, 165, 164, - 598, 0, 627, 655, 166, 675, 167, 168, 0, 169, - 0, 0, 170, 0, 0, 171, 286, 357, 172, 358, - 649, 173, 174, 175, 176, 177, 0, 178, 650, 179, - 289, 180, 0, 181, 182, 183, 184, 185, 676, 186, - 187, 0, 188, 189, 190, 191, 192, 194, 195, 193, - 196, 197, 198, 199, 0, 200, 359, 201, 202, 604, - 203, 0, 207, 208, 209, 210, 0, 212, 292, 211, - 213, 214, 643, 215, 204, 205, 216, 360, 217, 677, - 294, 218, 0, 224, 219, 220, 206, 221, 223, 678, - 222, 651, 0, 225, 0, 226, 227, 228, 229, 230, - 231, 232, 0, 297, 679, 680, 0, 0, 233, 234, - 652, 653, 625, 235, 236, 237, 238, 0, 0, 239, - 240, 241, 242, 644, 243, 0, 302, 244, 245, 246, - 303, 681, 0, 0, 247, 0, 0, 0, 0, 248, - 249, 250, 251, 252, 599, 0, 0, 0, 0, 0, - 597, 0, 0, 0, 0, 595, 596, 630, 619, 620, - 617, 618, 609, 0, 605, 0, 0, 0, 0, 608, + 200, 363, 201, 202, 295, 203, 0, 207, 208, 209, + 210, 81, 212, 296, 211, 213, 214, 0, 215, 204, + 205, 216, 364, 217, 297, 298, 218, 0, 224, 219, + 220, 206, 221, 223, 299, 222, 300, 0, 225, 83, + 226, 227, 228, 229, 230, 231, 232, 0, 301, 302, + 303, 0, 0, 233, 234, 304, 305, 0, 235, 236, + 237, 238, 0, 0, 239, 240, 241, 242, 0, 243, + 0, 306, 244, 245, 246, 723, 308, 0, 0, 247, + 0, 0, 0, 79, 248, 249, 250, 251, 252, 0, + 80, 541, 538, 0, 539, 534, 529, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 100, 101, 78, + 102, 0, 0, 0, 0, 253, 0, 0, 0, 0, + 103, 104, 105, 254, 255, 256, 257, 106, 258, 259, + 0, 107, 260, 261, 108, 109, 0, 0, 262, 263, + 264, 0, 110, 265, 0, 351, 0, 111, 112, 113, + 0, 114, 0, 115, 116, 117, 0, 352, 118, 119, + 0, 0, 0, 0, 0, 0, 120, 121, 314, 122, + 266, 123, 267, 268, 1065, 124, 0, 125, 0, 126, + 0, 0, 127, 128, 0, 129, 0, 0, 0, 269, + 130, 131, 132, 270, 271, 531, 0, 0, 133, 134, + 272, 273, 274, 0, 135, 0, 136, 0, 0, 353, + 0, 137, 275, 0, 276, 0, 138, 139, 140, 141, + 277, 278, 355, 0, 145, 0, 142, 0, 354, 143, + 279, 144, 280, 281, 282, 283, 284, 0, 285, 0, + 356, 146, 147, 148, 357, 149, 150, 151, 0, 153, + 152, 0, 286, 358, 154, 359, 0, 155, 0, 0, + 156, 0, 157, 158, 159, 161, 287, 160, 360, 162, + 163, 165, 164, 0, 0, 0, 288, 166, 289, 167, + 168, 0, 169, 532, 0, 170, 0, 0, 171, 290, + 361, 172, 362, 291, 173, 174, 175, 176, 177, 0, + 178, 292, 179, 293, 180, 0, 181, 182, 183, 184, + 185, 294, 186, 187, 0, 188, 189, 190, 191, 192, + 194, 195, 193, 196, 197, 198, 199, 0, 200, 363, + 201, 202, 295, 203, 0, 207, 208, 209, 210, 0, + 212, 296, 211, 213, 214, 0, 215, 204, 205, 216, + 364, 217, 297, 298, 218, 0, 224, 219, 220, 206, + 221, 223, 299, 222, 300, 0, 225, 0, 226, 227, + 228, 229, 230, 231, 232, 0, 301, 302, 303, 0, + 0, 233, 234, 304, 305, 530, 235, 236, 237, 238, + 0, 0, 239, 240, 241, 242, 0, 243, 0, 306, + 244, 245, 246, 307, 308, 0, 0, 247, 0, 0, + 0, 0, 248, 249, 250, 251, 252, 541, 538, 0, + 539, 534, 529, 0, 0, 0, 0, 0, 540, 535, 0, 0, 0, 100, 101, 0, 102, 0, 0, 0, - 0, 646, 612, 0, 0, 0, 103, 104, 105, 254, - 661, 256, 662, 106, 663, 664, 0, 107, 260, 261, - 108, 109, 615, 645, 665, 666, 264, 0, 110, 657, - 0, 638, 0, 111, 112, 113, 0, 114, 0, 115, - 116, 117, 0, 348, 118, 119, 0, 639, 641, 0, - 640, 642, 120, 121, 310, 122, 667, 123, 668, 669, - 0, 124, 0, 125, 0, 126, 0, 0, 660, 128, - 0, 129, 0, 0, 0, 603, 130, 131, 132, 647, - 648, 626, 0, 0, 133, 134, 670, 0, 135, 0, - 136, 0, 0, 349, 0, 137, 658, 0, 274, 0, - 138, 139, 140, 141, 654, 656, 351, 0, 145, 0, - 142, 0, 350, 143, 671, 144, 672, 673, 674, 0, - 637, 0, 352, 146, 147, 148, 353, 149, 150, 151, - 0, 153, 152, 0, 659, 354, 154, 355, 0, 155, - 0, 0, 156, 0, 157, 158, 159, 161, 283, 160, - 356, 162, 163, 165, 164, 598, 0, 627, 655, 166, - 675, 167, 168, 0, 169, 0, 0, 170, 0, 0, - 171, 286, 357, 172, 358, 649, 173, 174, 175, 176, - 177, 0, 178, 650, 179, 289, 180, 0, 181, 182, - 183, 184, 185, 676, 186, 187, 0, 188, 189, 190, + 0, 253, 0, 0, 0, 0, 103, 104, 105, 254, + 255, 256, 257, 106, 258, 259, 0, 107, 260, 261, + 108, 109, 0, 0, 262, 263, 264, 0, 110, 265, + 0, 351, 0, 111, 112, 113, 0, 114, 0, 115, + 116, 117, 0, 352, 118, 119, 0, 0, 0, 0, + 0, 0, 120, 121, 314, 122, 266, 123, 267, 268, + 1062, 124, 0, 125, 0, 126, 0, 0, 127, 128, + 0, 129, 0, 0, 0, 269, 130, 131, 132, 270, + 271, 531, 0, 0, 133, 134, 272, 273, 274, 0, + 135, 0, 136, 0, 0, 353, 0, 137, 275, 0, + 276, 0, 138, 139, 140, 141, 277, 278, 355, 0, + 145, 0, 142, 0, 354, 143, 279, 144, 280, 281, + 282, 283, 284, 0, 285, 0, 356, 146, 147, 148, + 357, 149, 150, 151, 0, 153, 152, 0, 286, 358, + 154, 359, 0, 155, 0, 0, 156, 0, 157, 158, + 159, 161, 287, 160, 360, 162, 163, 165, 164, 0, + 0, 0, 288, 166, 289, 167, 168, 0, 169, 532, + 0, 170, 0, 0, 171, 290, 361, 172, 362, 291, + 173, 174, 175, 176, 177, 0, 178, 292, 179, 293, + 180, 0, 181, 182, 183, 184, 185, 294, 186, 187, + 0, 188, 189, 190, 191, 192, 194, 195, 193, 196, + 197, 198, 199, 0, 200, 363, 201, 202, 295, 203, + 0, 207, 208, 209, 210, 0, 212, 296, 211, 213, + 214, 0, 215, 204, 205, 216, 364, 217, 297, 298, + 218, 0, 224, 219, 220, 206, 221, 223, 299, 222, + 300, 0, 225, 0, 226, 227, 228, 229, 230, 231, + 232, 0, 301, 302, 303, 0, 0, 233, 234, 304, + 305, 530, 235, 236, 237, 238, 0, 0, 239, 240, + 241, 242, 0, 243, 0, 306, 244, 245, 246, 307, + 308, 0, 0, 247, 0, 0, 0, 0, 248, 249, + 250, 251, 252, 541, 538, 0, 539, 534, 529, 0, + 0, 0, 0, 0, 540, 535, 0, 0, 0, 100, + 101, 0, 102, 0, 0, 0, 0, 253, 0, 0, + 0, 0, 103, 104, 105, 254, 255, 256, 257, 106, + 258, 259, 0, 107, 260, 261, 108, 109, 0, 0, + 262, 263, 264, 0, 110, 265, 0, 351, 0, 111, + 112, 113, 0, 114, 0, 115, 116, 117, 0, 352, + 118, 119, 0, 0, 0, 0, 0, 0, 120, 121, + 314, 122, 266, 123, 267, 268, 757, 124, 0, 125, + 0, 126, 0, 0, 127, 128, 0, 129, 0, 0, + 0, 269, 130, 131, 132, 270, 271, 531, 0, 0, + 133, 134, 272, 273, 274, 0, 135, 0, 136, 0, + 0, 353, 0, 137, 275, 0, 276, 0, 138, 139, + 140, 141, 277, 278, 355, 0, 145, 0, 142, 0, + 354, 143, 279, 144, 280, 281, 282, 283, 284, 0, + 285, 0, 356, 146, 147, 148, 357, 149, 150, 151, + 0, 153, 152, 0, 286, 358, 154, 359, 0, 155, + 0, 0, 156, 0, 157, 158, 159, 161, 287, 160, + 360, 162, 163, 165, 164, 0, 0, 0, 288, 166, + 289, 167, 168, 0, 169, 532, 0, 170, 0, 0, + 171, 290, 361, 172, 362, 291, 173, 174, 175, 176, + 177, 0, 178, 292, 179, 293, 180, 0, 181, 182, + 183, 184, 185, 294, 186, 187, 0, 188, 189, 190, 191, 192, 194, 195, 193, 196, 197, 198, 199, 0, - 200, 359, 201, 202, 604, 203, 0, 207, 208, 209, - 210, 0, 212, 292, 211, 213, 214, 643, 215, 204, - 205, 216, 360, 217, 677, 294, 218, 0, 224, 219, - 220, 206, 221, 223, 678, 222, 651, 0, 225, 0, - 226, 227, 228, 229, 230, 231, 232, 0, 297, 679, - 680, 0, 0, 233, 234, 652, 653, 625, 235, 236, - 237, 238, 0, 0, 239, 240, 241, 242, 644, 243, - 0, 302, 244, 245, 246, 303, 681, 0, 0, 247, - 0, 0, 0, 0, 248, 249, 250, 251, 252, 599, - 0, 0, 0, 0, 0, 597, 0, 0, 0, 0, - 595, 596, 822, 630, 619, 620, 617, 618, 609, 605, - 0, 0, 0, 0, 608, 0, 0, 0, 0, 100, - 101, 0, 102, 0, 0, 0, 0, 646, 612, 0, - 0, 0, 103, 104, 105, 254, 661, 256, 662, 106, - 663, 664, 0, 107, 260, 261, 108, 109, 615, 645, - 665, 666, 264, 0, 110, 657, 0, 638, 0, 111, - 112, 113, 0, 114, 0, 115, 116, 117, 0, 348, - 118, 119, 0, 639, 641, 0, 640, 642, 120, 121, - 310, 122, 667, 123, 668, 669, 0, 124, 0, 125, - 0, 126, 0, 0, 660, 128, 0, 129, 0, 0, - 0, 603, 130, 131, 132, 647, 648, 626, 0, 0, - 133, 134, 670, 0, 135, 0, 136, 0, 0, 349, - 0, 137, 658, 0, 274, 0, 138, 139, 140, 141, - 654, 656, 351, 0, 145, 0, 142, 0, 350, 143, - 671, 144, 672, 673, 674, 0, 637, 0, 352, 146, - 147, 148, 353, 149, 150, 151, 0, 153, 152, 0, - 659, 354, 154, 355, 0, 155, 0, 0, 156, 0, - 157, 158, 159, 161, 283, 160, 356, 162, 163, 165, - 164, 598, 0, 627, 655, 166, 675, 167, 168, 0, - 169, 0, 0, 170, 0, 0, 171, 286, 357, 172, - 358, 649, 173, 174, 175, 176, 177, 0, 178, 650, - 179, 289, 180, 0, 181, 182, 183, 184, 185, 676, - 186, 187, 0, 188, 189, 190, 191, 192, 194, 195, - 193, 196, 197, 198, 199, 0, 200, 359, 201, 202, - 604, 203, 0, 207, 208, 209, 210, 0, 212, 292, - 211, 213, 214, 643, 215, 204, 205, 216, 360, 217, - 677, 294, 218, 0, 224, 219, 220, 206, 221, 223, - 678, 222, 651, 0, 225, 0, 226, 227, 228, 229, - 230, 231, 232, 0, 297, 679, 680, 0, 0, 233, - 234, 652, 653, 625, 235, 236, 237, 238, 0, 0, - 239, 240, 241, 242, 644, 243, 0, 302, 244, 245, - 246, 303, 681, 0, 0, 247, 0, 0, 0, 0, - 248, 249, 250, 251, 252, 599, 0, 0, 0, 0, - 0, 597, 0, 0, 0, 0, 595, 596, 630, 619, - 620, 617, 618, 609, 0, 605, 1239, 0, 0, 0, - 608, 0, 0, 0, 100, 101, 1107, 102, 0, 0, - 0, 0, 646, 612, 0, 0, 0, 103, 104, 105, - 254, 661, 256, 662, 106, 663, 664, 0, 107, 260, - 261, 108, 109, 615, 645, 665, 666, 264, 0, 110, - 657, 0, 638, 0, 111, 112, 113, 0, 114, 0, - 115, 116, 117, 0, 348, 118, 119, 0, 639, 641, - 0, 640, 642, 120, 121, 310, 122, 667, 123, 668, - 669, 0, 124, 0, 125, 0, 126, 0, 0, 660, - 128, 0, 129, 0, 0, 0, 603, 130, 131, 132, - 647, 648, 626, 0, 0, 133, 134, 670, 0, 135, - 0, 136, 0, 0, 349, 0, 137, 658, 0, 274, - 0, 138, 139, 140, 141, 654, 656, 351, 0, 145, - 0, 142, 0, 350, 143, 671, 144, 672, 673, 674, - 0, 637, 0, 352, 146, 147, 148, 353, 149, 150, - 151, 0, 153, 152, 0, 659, 354, 154, 355, 0, - 155, 0, 0, 156, 0, 157, 158, 159, 161, 283, - 160, 356, 162, 163, 165, 164, 598, 0, 627, 655, - 166, 675, 167, 168, 0, 169, 0, 0, 170, 0, - 0, 171, 286, 357, 172, 358, 649, 173, 174, 175, - 176, 177, 0, 178, 650, 179, 289, 180, 0, 181, - 182, 183, 184, 185, 676, 186, 187, 0, 188, 189, - 190, 191, 192, 194, 195, 193, 196, 197, 198, 199, - 0, 200, 359, 201, 202, 604, 203, 0, 207, 208, - 209, 210, 0, 212, 292, 211, 213, 214, 643, 215, - 204, 205, 216, 360, 217, 677, 294, 218, 0, 224, - 219, 220, 206, 221, 223, 678, 222, 651, 0, 225, - 0, 226, 227, 228, 229, 230, 231, 232, 0, 297, - 679, 680, 0, 0, 233, 234, 652, 653, 625, 235, - 236, 237, 238, 0, 0, 239, 240, 241, 242, 644, - 243, 0, 302, 244, 245, 246, 303, 681, 0, 0, - 247, 0, 0, 0, 0, 248, 249, 250, 251, 252, - 599, 0, 0, 0, 0, 0, 597, 0, 0, 0, - 0, 595, 596, 630, 619, 620, 617, 618, 609, 0, - 605, 0, 0, 0, 0, 608, 0, 0, 0, 100, - 101, 0, 102, 0, 0, 0, 0, 646, 612, 0, - 0, 0, 103, 104, 105, 254, 661, 256, 662, 106, - 663, 664, 0, 107, 260, 261, 108, 109, 615, 645, - 665, 666, 264, 0, 110, 657, 0, 638, 0, 111, - 112, 113, 0, 114, 0, 115, 116, 117, 0, 348, - 118, 2168, 0, 639, 641, 0, 640, 642, 120, 121, - 310, 122, 667, 123, 668, 669, 0, 124, 0, 125, - 0, 126, 0, 0, 660, 128, 0, 129, 0, 0, - 0, 603, 130, 131, 132, 647, 648, 626, 0, 0, - 133, 134, 670, 0, 135, 0, 136, 0, 0, 349, - 0, 137, 658, 0, 274, 0, 138, 139, 140, 141, - 654, 656, 351, 0, 145, 0, 142, 0, 350, 143, - 671, 144, 672, 673, 674, 0, 637, 0, 352, 146, - 147, 148, 353, 149, 150, 151, 0, 153, 152, 0, - 659, 354, 154, 355, 0, 155, 0, 0, 156, 0, - 157, 158, 159, 161, 283, 160, 356, 162, 163, 165, - 164, 598, 0, 627, 655, 166, 675, 167, 168, 0, - 169, 0, 0, 170, 0, 0, 171, 286, 357, 172, - 358, 649, 173, 174, 175, 176, 177, 0, 178, 650, - 179, 289, 180, 0, 181, 182, 183, 184, 185, 676, - 186, 187, 0, 188, 189, 190, 191, 192, 194, 195, - 193, 196, 197, 198, 199, 0, 200, 359, 201, 202, - 604, 203, 0, 207, 208, 209, 210, 0, 212, 292, - 211, 213, 214, 643, 215, 204, 205, 216, 360, 217, - 677, 294, 218, 0, 224, 219, 220, 206, 221, 223, - 678, 222, 651, 0, 225, 0, 226, 227, 228, 229, - 230, 231, 232, 0, 297, 679, 680, 0, 0, 233, - 234, 652, 653, 625, 235, 236, 2167, 238, 0, 0, - 239, 240, 241, 242, 644, 243, 0, 302, 244, 245, - 246, 303, 681, 0, 0, 247, 0, 0, 0, 0, - 248, 249, 250, 251, 252, 599, 0, 0, 0, 0, - 0, 597, 0, 0, 0, 0, 595, 596, 630, 619, - 620, 617, 618, 609, 0, 605, 0, 0, 0, 0, - 608, 0, 0, 0, 100, 101, 0, 102, 0, 0, - 0, 0, 646, 612, 0, 0, 0, 103, 104, 105, - 2166, 661, 256, 662, 106, 663, 664, 0, 107, 260, - 261, 108, 109, 615, 645, 665, 666, 264, 0, 110, - 657, 0, 638, 0, 111, 112, 113, 0, 114, 0, - 115, 116, 117, 0, 348, 118, 2168, 0, 639, 641, - 0, 640, 642, 120, 121, 310, 122, 667, 123, 668, - 669, 0, 124, 0, 125, 0, 126, 0, 0, 660, - 128, 0, 129, 0, 0, 0, 603, 130, 131, 132, - 647, 648, 626, 0, 0, 133, 134, 670, 0, 135, - 0, 136, 0, 0, 349, 0, 137, 658, 0, 274, - 0, 138, 139, 140, 141, 654, 656, 351, 0, 145, - 0, 142, 0, 350, 143, 671, 144, 672, 673, 674, - 0, 637, 0, 352, 146, 147, 148, 353, 149, 150, - 151, 0, 153, 152, 0, 659, 354, 154, 355, 0, - 155, 0, 0, 156, 0, 157, 158, 159, 161, 283, - 160, 356, 162, 163, 165, 164, 598, 0, 627, 655, - 166, 675, 167, 168, 0, 169, 0, 0, 170, 0, - 0, 171, 286, 357, 172, 358, 649, 173, 174, 175, - 176, 177, 0, 178, 650, 179, 289, 180, 0, 181, - 182, 183, 184, 185, 676, 186, 187, 0, 188, 189, - 190, 191, 192, 194, 195, 193, 196, 197, 198, 199, - 0, 200, 359, 201, 202, 604, 203, 0, 207, 208, - 209, 210, 0, 212, 292, 211, 213, 214, 643, 215, - 204, 205, 216, 360, 217, 677, 294, 218, 0, 224, - 219, 220, 206, 221, 223, 678, 222, 651, 0, 225, - 0, 226, 227, 228, 229, 230, 231, 232, 0, 297, - 679, 680, 0, 0, 233, 234, 652, 653, 625, 235, - 236, 2167, 238, 0, 0, 239, 240, 241, 242, 644, - 243, 0, 302, 244, 245, 246, 303, 681, 0, 0, - 247, 0, 0, 0, 0, 248, 249, 250, 251, 252, - 599, 0, 0, 0, 0, 0, 597, 0, 0, 0, - 0, 595, 596, 630, 619, 620, 617, 618, 609, 0, - 605, 0, 0, 0, 0, 608, 0, 0, 0, 100, - 101, 0, 102, 0, 0, 0, 0, 646, 612, 0, - 0, 0, 103, 104, 105, 254, 661, 256, 662, 106, - 663, 664, 0, 107, 260, 261, 108, 109, 615, 645, - 665, 666, 264, 0, 110, 657, 0, 638, 0, 111, - 112, 113, 0, 114, 0, 115, 116, 117, 0, 348, - 118, 119, 0, 639, 641, 0, 640, 642, 120, 121, - 310, 122, 667, 123, 668, 669, 0, 124, 0, 125, - 0, 126, 0, 0, 660, 128, 0, 129, 0, 0, - 0, 603, 130, 131, 132, 647, 648, 626, 0, 0, - 133, 134, 670, 0, 135, 0, 136, 0, 0, 349, - 0, 137, 658, 0, 274, 0, 138, 139, 140, 141, - 654, 656, 351, 0, 145, 0, 142, 0, 350, 143, - 671, 144, 672, 673, 674, 0, 637, 0, 352, 146, - 147, 148, 353, 149, 150, 151, 0, 153, 152, 0, - 659, 354, 154, 355, 0, 155, 0, 0, 156, 0, - 157, 158, 159, 161, 283, 160, 356, 162, 163, 165, - 164, 598, 0, 627, 655, 166, 675, 167, 168, 0, - 169, 0, 0, 170, 0, 0, 171, 286, 357, 172, - 358, 649, 173, 174, 175, 176, 177, 0, 178, 650, - 179, 289, 180, 0, 181, 182, 183, 184, 185, 676, - 186, 187, 0, 188, 189, 190, 191, 192, 194, 195, - 193, 196, 197, 198, 199, 0, 200, 359, 201, 202, - 604, 203, 0, 207, 208, 209, 210, 0, 212, 292, - 211, 213, 214, 643, 215, 204, 205, 216, 360, 217, - 677, 294, 218, 0, 224, 219, 220, 206, 221, 223, - 678, 222, 651, 0, 225, 0, 226, 227, 228, 229, - 230, 231, 232, 0, 297, 679, 680, 0, 0, 233, - 234, 652, 653, 625, 235, 236, 237, 238, 0, 0, - 239, 240, 241, 242, 644, 243, 0, 302, 244, 245, - 246, 303, 681, 0, 0, 247, 0, 0, 0, 0, - 248, 249, 250, 251, 252, 599, 0, 0, 0, 0, - 0, 597, 0, 0, 0, 0, 595, 596, 1275, 619, - 620, 617, 618, 609, 0, 605, 0, 0, 0, 0, - 608, 0, 0, 0, 100, 101, 0, 102, 0, 0, - 0, 0, 646, 612, 0, 0, 0, 103, 104, 105, - 254, 661, 256, 662, 106, 663, 664, 0, 107, 260, - 261, 108, 109, 615, 645, 665, 666, 264, 0, 110, - 657, 0, 638, 0, 111, 112, 113, 0, 114, 0, - 115, 116, 117, 0, 348, 118, 119, 0, 639, 641, - 0, 640, 642, 120, 121, 310, 122, 667, 1278, 668, - 669, 0, 124, 0, 125, 0, 126, 0, 0, 660, - 128, 0, 129, 0, 0, 0, 603, 130, 131, 132, - 647, 648, 626, 0, 0, 133, 134, 670, 0, 135, - 0, 136, 0, 0, 349, 0, 137, 658, 0, 274, - 0, 138, 139, 1279, 141, 654, 656, 351, 0, 145, - 0, 142, 0, 350, 143, 671, 144, 672, 673, 674, - 0, 637, 0, 352, 146, 147, 148, 353, 149, 150, - 151, 0, 153, 152, 0, 659, 354, 154, 355, 0, - 155, 0, 0, 156, 0, 157, 1280, 1277, 161, 283, - 160, 356, 162, 163, 165, 164, 598, 0, 627, 655, - 166, 675, 167, 168, 0, 169, 0, 0, 170, 0, - 0, 171, 286, 357, 172, 358, 649, 173, 174, 175, - 176, 177, 0, 178, 650, 179, 289, 180, 0, 181, - 182, 183, 184, 185, 676, 186, 187, 0, 188, 189, - 190, 191, 192, 194, 195, 193, 196, 197, 198, 199, - 0, 200, 359, 201, 202, 604, 203, 0, 207, 208, - 209, 1281, 0, 212, 292, 211, 213, 214, 643, 215, - 204, 205, 216, 360, 217, 677, 294, 218, 0, 224, - 219, 220, 206, 221, 223, 678, 222, 651, 0, 225, - 0, 226, 227, 228, 229, 230, 231, 232, 0, 297, - 679, 680, 0, 0, 233, 234, 652, 653, 625, 235, - 236, 237, 238, 0, 0, 239, 240, 241, 242, 644, - 243, 0, 302, 244, 245, 246, 303, 681, 0, 0, - 247, 0, 0, 0, 0, 248, 249, 250, 1276, 252, - 599, 0, 0, 0, 0, 0, 597, 0, 0, 0, - 0, 595, 596, 630, 619, 620, 617, 618, 609, 0, - 605, 0, 0, 0, 0, 608, 0, 0, 0, 100, - 101, 0, 102, 0, 0, 0, 0, 646, 612, 0, - 0, 0, 103, 104, 105, 254, 661, 256, 662, 106, - 663, 664, 0, 107, 260, 261, 108, 109, 615, 645, - 665, 666, 264, 0, 110, 657, 0, 638, 0, 111, - 112, 113, 0, 114, 0, 115, 116, 117, 0, 348, - 118, 119, 0, 639, 641, 0, 640, 642, 120, 121, - 310, 122, 667, 123, 668, 669, 0, 124, 0, 125, - 0, 126, 0, 0, 660, 128, 0, 129, 0, 0, - 0, 603, 130, 131, 132, 647, 648, 626, 0, 0, - 133, 134, 670, 0, 135, 0, 136, 0, 0, 349, - 0, 137, 658, 0, 274, 0, 138, 139, 140, 141, - 654, 656, 351, 0, 145, 0, 142, 0, 350, 143, - 671, 144, 672, 673, 674, 0, 637, 0, 352, 146, - 147, 148, 353, 149, 150, 151, 0, 153, 152, 0, - 659, 354, 154, 355, 0, 155, 0, 0, 156, 0, - 157, 158, 159, 161, 283, 160, 356, 162, 163, 165, - 164, 0, 0, 627, 655, 166, 675, 167, 168, 0, - 169, 0, 0, 170, 0, 0, 171, 286, 357, 172, - 358, 649, 173, 174, 175, 176, 177, 0, 178, 650, - 179, 289, 180, 0, 181, 182, 183, 184, 185, 676, + 200, 363, 201, 202, 295, 203, 0, 207, 208, 209, + 210, 0, 212, 296, 211, 213, 214, 0, 215, 204, + 205, 216, 364, 217, 297, 298, 218, 0, 224, 219, + 220, 206, 221, 223, 299, 222, 300, 0, 225, 0, + 226, 227, 228, 229, 230, 231, 232, 0, 301, 302, + 303, 0, 0, 233, 234, 304, 305, 530, 235, 236, + 237, 238, 0, 0, 239, 240, 241, 242, 0, 243, + 0, 306, 244, 245, 246, 307, 308, 0, 0, 247, + 0, 0, 0, 0, 248, 249, 250, 251, 252, 541, + 538, 0, 539, 534, 529, 0, 0, 0, 0, 0, + 540, 535, 0, 0, 0, 100, 101, 0, 102, 0, + 0, 0, 0, 253, 0, 0, 0, 0, 103, 104, + 105, 254, 255, 256, 257, 106, 258, 259, 0, 107, + 260, 261, 108, 109, 0, 0, 262, 263, 264, 0, + 110, 265, 0, 351, 0, 111, 112, 113, 0, 114, + 0, 115, 116, 117, 0, 352, 118, 119, 0, 0, + 0, 0, 0, 0, 120, 121, 314, 122, 266, 123, + 267, 268, 0, 124, 0, 125, 0, 126, 0, 0, + 127, 128, 0, 129, 0, 0, 0, 269, 130, 131, + 132, 270, 271, 531, 0, 0, 133, 134, 272, 273, + 274, 0, 135, 0, 136, 0, 0, 353, 0, 137, + 275, 0, 276, 0, 138, 139, 140, 141, 277, 278, + 355, 0, 145, 0, 142, 0, 354, 143, 279, 144, + 280, 281, 282, 283, 284, 0, 285, 0, 356, 146, + 147, 148, 357, 149, 150, 151, 0, 153, 152, 0, + 286, 358, 154, 359, 0, 155, 0, 0, 156, 0, + 157, 158, 159, 161, 287, 160, 360, 162, 163, 165, + 164, 0, 0, 0, 288, 166, 289, 167, 168, 0, + 169, 532, 0, 170, 0, 0, 171, 290, 361, 172, + 362, 291, 173, 174, 175, 176, 177, 0, 178, 292, + 179, 293, 180, 0, 181, 182, 183, 184, 185, 294, 186, 187, 0, 188, 189, 190, 191, 192, 194, 195, - 193, 196, 197, 198, 199, 0, 200, 359, 201, 202, - 1293, 203, 0, 207, 208, 209, 210, 0, 212, 292, - 211, 213, 214, 643, 215, 204, 205, 216, 360, 217, - 677, 294, 218, 0, 224, 219, 220, 206, 221, 223, - 678, 222, 651, 0, 225, 0, 226, 227, 228, 229, - 230, 231, 232, 0, 297, 679, 680, 0, 0, 233, - 234, 652, 653, 625, 235, 236, 237, 238, 0, 0, - 239, 240, 241, 242, 644, 243, 0, 302, 244, 245, - 246, 303, 681, 0, 0, 247, 0, 0, 0, 0, + 193, 196, 197, 198, 199, 0, 200, 363, 201, 202, + 295, 203, 0, 207, 208, 209, 210, 0, 212, 296, + 211, 213, 214, 0, 215, 204, 205, 216, 364, 217, + 297, 298, 218, 0, 224, 219, 220, 206, 221, 223, + 299, 222, 300, 0, 225, 0, 226, 227, 228, 229, + 230, 231, 232, 0, 301, 302, 303, 0, 0, 233, + 234, 304, 305, 530, 235, 236, 237, 238, 0, 0, + 239, 240, 241, 242, 0, 243, 0, 306, 244, 245, + 246, 307, 308, 0, 97, 247, 0, 0, 0, 0, 248, 249, 250, 251, 252, 0, 0, 0, 0, 0, - 0, 1291, 0, 0, 0, 0, 1289, 1290, 630, 619, - 620, 617, 618, 609, 0, 1292, 0, 0, 0, 0, - 608, 0, 0, 0, 100, 101, 0, 102, 0, 0, - 0, 0, 646, 612, 0, 0, 0, 103, 104, 105, - 254, 661, 256, 662, 106, 663, 664, 0, 107, 260, - 261, 108, 109, 0, 645, 665, 666, 264, 0, 110, - 657, 0, 638, 0, 111, 112, 113, 0, 114, 0, - 115, 116, 117, 0, 348, 118, 119, 0, 639, 641, - 0, 640, 642, 120, 121, 310, 122, 667, 123, 668, - 669, 0, 124, 0, 125, 0, 126, 0, 0, 660, - 128, 0, 129, 0, 0, 0, 269, 130, 131, 132, - 647, 648, 626, 0, 0, 133, 134, 670, 0, 135, - 0, 136, 0, 0, 349, 0, 137, 658, 0, 274, - 0, 138, 139, 140, 141, 654, 656, 351, 0, 145, - 0, 142, 0, 350, 143, 671, 144, 672, 673, 674, - 0, 637, 0, 352, 146, 147, 148, 353, 149, 150, - 151, 0, 153, 152, 0, 659, 354, 154, 355, 0, - 155, 0, 0, 156, 0, 157, 158, 159, 161, 283, - 160, 356, 162, 163, 165, 164, 0, 0, 627, 655, - 166, 675, 167, 168, 0, 169, 0, 0, 170, 0, - 0, 171, 286, 357, 172, 358, 649, 173, 174, 175, - 176, 177, 0, 178, 650, 179, 289, 180, 0, 181, - 182, 183, 184, 185, 676, 186, 187, 0, 188, 189, - 190, 191, 192, 194, 195, 193, 196, 197, 198, 199, - 0, 200, 359, 201, 202, 1293, 203, 0, 207, 208, - 209, 210, 0, 212, 292, 211, 213, 214, 643, 215, - 204, 205, 216, 360, 217, 677, 294, 218, 0, 224, - 219, 220, 206, 221, 223, 678, 222, 651, 0, 225, - 0, 226, 227, 228, 229, 230, 231, 232, 0, 297, - 679, 680, 0, 0, 233, 234, 652, 653, 625, 235, - 236, 237, 238, 0, 0, 239, 240, 241, 242, 644, - 243, 0, 302, 244, 245, 246, 303, 681, 0, 0, - 247, 0, 0, 0, 0, 248, 249, 250, 251, 252, - 0, 0, 630, 619, 620, 617, 618, 609, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 100, 101, - 1292, 102, 0, 0, 0, 608, 646, 612, 0, 0, - 0, 103, 104, 105, 0, 661, 256, 662, 106, 663, - 664, 0, 107, 260, 261, 108, 109, 615, 645, 665, - 666, 264, 0, 110, 657, 0, 638, 0, 111, 112, - 113, 0, 114, 0, 115, 116, 117, 0, 348, 118, - 2168, 0, 639, 641, 0, 640, 642, 120, 121, 310, - 122, 667, 123, 668, 669, 0, 124, 0, 125, 0, - 126, 0, 0, 660, 128, 0, 129, 0, 0, 0, - 603, 130, 131, 132, 647, 648, 626, 0, 0, 133, - 134, 670, 0, 135, 0, 136, 0, 0, 349, 0, - 137, 658, 0, 274, 0, 138, 139, 140, 141, 654, - 656, 0, 0, 145, 0, 142, 0, 350, 143, 671, - 144, 672, 673, 674, 0, 637, 0, 0, 146, 147, - 148, 353, 149, 150, 151, 0, 153, 152, 0, 659, - 354, 154, 0, 0, 155, 0, 0, 156, 0, 157, - 158, 159, 161, 283, 160, 356, 162, 163, 165, 164, - 598, 0, 627, 655, 166, 675, 167, 168, 0, 169, - 0, 0, 170, 0, 0, 171, 286, 357, 172, 358, - 649, 173, 174, 175, 176, 177, 0, 178, 650, 179, - 289, 180, 0, 181, 182, 183, 184, 185, 676, 186, - 187, 0, 188, 189, 190, 191, 192, 194, 195, 193, - 196, 197, 198, 199, 0, 200, 359, 201, 202, 604, - 203, 0, 207, 208, 209, 210, 0, 212, 292, 211, - 213, 214, 643, 215, 204, 205, 216, 0, 217, 677, - 294, 218, 0, 224, 219, 220, 206, 221, 223, 678, - 222, 651, 0, 225, 0, 226, 227, 228, 229, 230, - 231, 232, 0, 297, 679, 680, 0, 0, 233, 234, - 652, 653, 625, 235, 236, 2167, 238, 0, 0, 239, - 240, 241, 242, 644, 243, 0, 302, 244, 245, 246, - 303, 681, 0, 0, 247, 0, 0, 0, 0, 248, - 249, 250, 251, 252, 630, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 595, 596, 0, 0, 0, - 100, 101, 0, 102, 605, 0, 0, 0, 646, 608, + 100, 101, 0, 102, 0, 0, 540, 535, 253, 0, 0, 0, 0, 103, 104, 105, 254, 255, 256, 257, 106, 258, 259, 0, 107, 260, 261, 108, 109, 0, - 645, 262, 263, 264, 0, 110, 657, 0, 638, 0, + 0, 262, 263, 264, 0, 110, 265, 0, 0, 0, 111, 112, 113, 0, 114, 0, 115, 116, 117, 0, - 348, 118, 119, 0, 639, 641, 0, 640, 642, 120, - 121, 310, 122, 266, 123, 267, 268, 0, 124, 0, + 0, 118, 119, 0, 0, 0, 0, 0, 0, 120, + 121, 314, 122, 266, 123, 267, 268, 0, 124, 0, 125, 0, 126, 0, 0, 127, 128, 0, 129, 0, - 0, 0, 269, 130, 131, 132, 647, 648, 0, 0, - 0, 133, 134, 272, 0, 135, 0, 136, 0, 0, - 349, 0, 137, 658, 0, 274, 0, 138, 139, 140, - 141, 654, 656, 351, 0, 145, 0, 142, 0, 350, - 143, 277, 144, 278, 279, 280, 0, 281, 0, 352, - 146, 147, 148, 353, 149, 150, 151, 0, 153, 152, - 0, 659, 354, 154, 355, 0, 155, 0, 0, 156, - 0, 157, 158, 159, 161, 283, 160, 356, 162, 163, - 165, 164, 0, 0, 0, 655, 166, 285, 167, 168, - 0, 169, 0, 0, 170, 0, 0, 171, 286, 357, - 172, 358, 649, 173, 174, 175, 176, 177, 0, 178, - 650, 179, 289, 180, 0, 181, 182, 183, 184, 185, - 290, 186, 187, 0, 188, 189, 190, 191, 192, 194, - 195, 193, 196, 197, 198, 199, 0, 200, 359, 201, - 202, 291, 203, 0, 207, 208, 209, 210, 0, 212, - 292, 211, 213, 214, 643, 215, 204, 205, 216, 360, - 217, 293, 294, 218, 0, 224, 219, 220, 206, 221, - 223, 295, 222, 651, 0, 225, 0, 226, 227, 228, - 229, 230, 231, 232, 0, 297, 298, 299, 0, 0, - 233, 234, 652, 653, 0, 235, 236, 237, 238, 0, - 0, 239, 240, 241, 242, 644, 243, 0, 302, 244, - 245, 246, 303, 304, 0, 0, 247, 0, 537, 0, - 0, 248, 249, 250, 251, 252, 0, 0, 0, 0, - 0, 0, 0, 0, 100, 101, 0, 102, 0, 0, - 0, 0, 253, 0, 0, 0, 1667, 103, 104, 105, - 254, 255, 256, 257, 106, 258, 259, 0, 107, 260, - 261, 108, 109, 0, 0, 262, 263, 264, 0, 110, - 265, 0, 347, 0, 111, 112, 113, 0, 114, 0, - 115, 116, 117, 0, 348, 118, 119, 0, 0, 0, - 0, 0, 0, 120, 121, 310, 122, 266, 123, 267, - 268, 0, 124, 0, 125, 0, 126, 0, 0, 127, - 128, 0, 129, 0, 0, 0, 269, 130, 131, 132, - 270, 271, 0, 0, 0, 133, 134, 272, 0, 135, - 0, 136, 0, 0, 349, 0, 137, 273, 0, 274, - 0, 138, 139, 140, 141, 275, 276, 351, 0, 145, - 0, 142, 0, 350, 143, 277, 144, 278, 279, 280, - 0, 281, 0, 352, 146, 147, 148, 353, 149, 150, - 151, 0, 153, 152, 0, 282, 354, 154, 355, 0, - 155, 0, 0, 156, 0, 157, 158, 159, 161, 283, - 160, 356, 162, 163, 165, 164, 0, 0, 0, 284, - 166, 285, 167, 168, 0, 169, 0, 0, 170, 0, - 0, 171, 286, 357, 172, 358, 287, 173, 174, 175, - 176, 177, 0, 178, 288, 179, 289, 180, 0, 181, - 182, 183, 184, 185, 290, 186, 187, 0, 188, 189, + 0, 0, 269, 130, 131, 132, 270, 271, 0, 0, + 0, 133, 134, 272, 273, 274, 0, 135, 0, 136, + 0, 0, 0, 0, 137, 275, 0, 276, 0, 138, + 139, 140, 141, 277, 278, 0, 0, 145, 0, 142, + 0, 0, 143, 279, 144, 280, 281, 282, 283, 284, + 0, 285, 0, 0, 146, 147, 148, 0, 149, 150, + 151, 0, 153, 152, 0, 286, 0, 154, 0, 0, + 155, 0, 0, 156, 0, 157, 158, 159, 161, 287, + 160, 0, 162, 163, 165, 164, 0, 0, 0, 288, + 166, 289, 167, 168, 0, 169, 0, 575, 170, 0, + 0, 171, 290, 0, 172, 0, 291, 173, 174, 175, + 176, 177, 0, 178, 292, 179, 293, 180, 0, 181, + 182, 183, 184, 185, 294, 186, 187, 0, 188, 189, 190, 191, 192, 194, 195, 193, 196, 197, 198, 199, - 0, 200, 359, 201, 202, 291, 203, 0, 207, 208, - 209, 210, 81, 212, 292, 211, 213, 214, 0, 215, - 204, 205, 216, 360, 217, 293, 294, 218, 0, 224, - 219, 220, 206, 221, 223, 295, 222, 296, 0, 225, - 83, 226, 227, 228, 229, 230, 231, 232, 0, 297, - 298, 299, 0, 0, 233, 234, 300, 301, 0, 235, + 0, 200, 0, 201, 202, 295, 203, 0, 207, 208, + 209, 210, 81, 212, 296, 211, 213, 214, 0, 215, + 204, 205, 216, 0, 217, 297, 298, 218, 0, 224, + 219, 220, 206, 221, 223, 299, 222, 300, 0, 225, + 83, 226, 227, 228, 229, 230, 231, 232, 0, 301, + 302, 303, 0, 0, 233, 234, 304, 305, 0, 235, 236, 237, 238, 0, 0, 239, 240, 241, 242, 0, - 243, 0, 302, 244, 245, 246, 715, 304, 0, 0, - 247, 0, 0, 0, 79, 248, 249, 250, 251, 252, - 0, 80, 537, 534, 0, 535, 530, 525, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 100, 101, - 78, 102, 0, 0, 0, 0, 253, 0, 0, 0, - 0, 103, 104, 105, 254, 255, 256, 257, 106, 258, + 243, 0, 306, 244, 245, 246, 723, 308, 0, 0, + 247, 0, 97, 0, 79, 248, 249, 250, 251, 252, + 0, 80, 0, 0, 0, 0, 0, 0, 100, 101, + 0, 102, 0, 0, 0, 0, 253, 0, 1424, 0, + 1429, 103, 104, 105, 254, 255, 256, 257, 106, 258, 259, 0, 107, 260, 261, 108, 109, 0, 0, 262, - 263, 264, 0, 110, 265, 0, 347, 0, 111, 112, - 113, 0, 114, 0, 115, 116, 117, 0, 348, 118, - 119, 0, 0, 0, 0, 0, 0, 120, 121, 310, - 122, 266, 123, 267, 268, 1053, 124, 0, 125, 0, + 263, 264, 0, 110, 265, 0, 0, 0, 111, 112, + 113, 0, 114, 0, 115, 116, 117, 0, 0, 118, + 119, 0, 0, 0, 0, 0, 0, 120, 121, 314, + 122, 266, 123, 267, 268, 0, 124, 0, 125, 0, 126, 0, 0, 127, 128, 0, 129, 0, 0, 0, - 269, 130, 131, 132, 270, 271, 527, 0, 0, 133, - 134, 272, 0, 135, 0, 136, 0, 0, 349, 0, - 137, 273, 0, 274, 0, 138, 139, 140, 141, 275, - 276, 351, 0, 145, 0, 142, 0, 350, 143, 277, - 144, 278, 279, 280, 0, 281, 0, 352, 146, 147, - 148, 353, 149, 150, 151, 0, 153, 152, 0, 282, - 354, 154, 355, 0, 155, 0, 0, 156, 0, 157, - 158, 159, 161, 283, 160, 356, 162, 163, 165, 164, - 0, 0, 0, 284, 166, 285, 167, 168, 0, 169, - 528, 0, 170, 0, 0, 171, 286, 357, 172, 358, - 287, 173, 174, 175, 176, 177, 0, 178, 288, 179, - 289, 180, 0, 181, 182, 183, 184, 185, 290, 186, - 187, 0, 188, 189, 190, 191, 192, 194, 195, 193, - 196, 197, 198, 199, 0, 200, 359, 201, 202, 291, - 203, 0, 207, 208, 209, 210, 0, 212, 292, 211, - 213, 214, 0, 215, 204, 205, 216, 360, 217, 293, - 294, 218, 0, 224, 219, 220, 206, 221, 223, 295, - 222, 296, 0, 225, 0, 226, 227, 228, 229, 230, - 231, 232, 0, 297, 298, 299, 0, 0, 233, 234, - 300, 301, 526, 235, 236, 237, 238, 0, 0, 239, - 240, 241, 242, 0, 243, 0, 302, 244, 245, 246, - 303, 304, 0, 0, 247, 0, 0, 0, 0, 248, - 249, 250, 251, 252, 537, 534, 0, 535, 530, 525, - 0, 0, 0, 0, 0, 536, 531, 0, 0, 0, - 100, 101, 0, 102, 0, 0, 0, 0, 253, 0, - 0, 0, 0, 103, 104, 105, 254, 255, 256, 257, - 106, 258, 259, 0, 107, 260, 261, 108, 109, 0, - 0, 262, 263, 264, 0, 110, 265, 0, 347, 0, - 111, 112, 113, 0, 114, 0, 115, 116, 117, 0, - 348, 118, 119, 0, 0, 0, 0, 0, 0, 120, - 121, 310, 122, 266, 123, 267, 268, 1050, 124, 0, - 125, 0, 126, 0, 0, 127, 128, 0, 129, 0, - 0, 0, 269, 130, 131, 132, 270, 271, 527, 0, - 0, 133, 134, 272, 0, 135, 0, 136, 0, 0, - 349, 0, 137, 273, 0, 274, 0, 138, 139, 140, - 141, 275, 276, 351, 0, 145, 0, 142, 0, 350, - 143, 277, 144, 278, 279, 280, 0, 281, 0, 352, - 146, 147, 148, 353, 149, 150, 151, 0, 153, 152, - 0, 282, 354, 154, 355, 0, 155, 0, 0, 156, - 0, 157, 158, 159, 161, 283, 160, 356, 162, 163, - 165, 164, 0, 0, 0, 284, 166, 285, 167, 168, - 0, 169, 528, 0, 170, 0, 0, 171, 286, 357, - 172, 358, 287, 173, 174, 175, 176, 177, 0, 178, - 288, 179, 289, 180, 0, 181, 182, 183, 184, 185, - 290, 186, 187, 0, 188, 189, 190, 191, 192, 194, - 195, 193, 196, 197, 198, 199, 0, 200, 359, 201, - 202, 291, 203, 0, 207, 208, 209, 210, 0, 212, - 292, 211, 213, 214, 0, 215, 204, 205, 216, 360, - 217, 293, 294, 218, 0, 224, 219, 220, 206, 221, - 223, 295, 222, 296, 0, 225, 0, 226, 227, 228, - 229, 230, 231, 232, 0, 297, 298, 299, 0, 0, - 233, 234, 300, 301, 526, 235, 236, 237, 238, 0, - 0, 239, 240, 241, 242, 0, 243, 0, 302, 244, - 245, 246, 303, 304, 0, 0, 247, 0, 0, 0, - 0, 248, 249, 250, 251, 252, 537, 534, 0, 535, - 530, 525, 0, 0, 0, 0, 0, 536, 531, 0, - 0, 0, 100, 101, 0, 102, 0, 0, 0, 0, - 253, 0, 0, 0, 0, 103, 104, 105, 254, 255, - 256, 257, 106, 258, 259, 0, 107, 260, 261, 108, - 109, 0, 0, 262, 263, 264, 0, 110, 265, 0, - 347, 0, 111, 112, 113, 0, 114, 0, 115, 116, - 117, 0, 348, 118, 119, 0, 0, 0, 0, 0, - 0, 120, 121, 310, 122, 266, 123, 267, 268, 749, - 124, 0, 125, 0, 126, 0, 0, 127, 128, 0, - 129, 0, 0, 0, 269, 130, 131, 132, 270, 271, - 527, 0, 0, 133, 134, 272, 0, 135, 0, 136, - 0, 0, 349, 0, 137, 273, 0, 274, 0, 138, - 139, 140, 141, 275, 276, 351, 0, 145, 0, 142, - 0, 350, 143, 277, 144, 278, 279, 280, 0, 281, - 0, 352, 146, 147, 148, 353, 149, 150, 151, 0, - 153, 152, 0, 282, 354, 154, 355, 0, 155, 0, - 0, 156, 0, 157, 158, 159, 161, 283, 160, 356, - 162, 163, 165, 164, 0, 0, 0, 284, 166, 285, - 167, 168, 0, 169, 528, 0, 170, 0, 0, 171, - 286, 357, 172, 358, 287, 173, 174, 175, 176, 177, - 0, 178, 288, 179, 289, 180, 0, 181, 182, 183, - 184, 185, 290, 186, 187, 0, 188, 189, 190, 191, + 269, 130, 131, 132, 270, 271, 0, 0, 0, 133, + 134, 272, 273, 274, 0, 135, 0, 136, 0, 0, + 0, 0, 137, 275, 0, 276, 0, 138, 139, 140, + 141, 277, 278, 0, 0, 145, 0, 142, 0, 0, + 143, 279, 144, 280, 281, 282, 283, 284, 0, 285, + 0, 0, 146, 147, 148, 0, 149, 150, 151, 0, + 153, 152, 0, 286, 0, 154, 0, 0, 155, 0, + 0, 156, 0, 157, 158, 159, 161, 287, 160, 0, + 162, 163, 165, 164, 0, 0, 0, 288, 166, 289, + 167, 168, 0, 169, 0, 0, 170, 0, 0, 171, + 290, 0, 172, 0, 291, 173, 174, 175, 176, 177, + 0, 178, 292, 179, 293, 180, 0, 181, 182, 183, + 184, 185, 294, 186, 187, 0, 188, 189, 190, 191, 192, 194, 195, 193, 196, 197, 198, 199, 0, 200, - 359, 201, 202, 291, 203, 0, 207, 208, 209, 210, - 0, 212, 292, 211, 213, 214, 0, 215, 204, 205, - 216, 360, 217, 293, 294, 218, 0, 224, 219, 220, - 206, 221, 223, 295, 222, 296, 0, 225, 0, 226, - 227, 228, 229, 230, 231, 232, 0, 297, 298, 299, - 0, 0, 233, 234, 300, 301, 526, 235, 236, 237, + 0, 201, 202, 295, 203, 0, 207, 208, 209, 210, + 81, 212, 296, 211, 213, 214, 0, 215, 204, 205, + 216, 0, 217, 297, 298, 218, 0, 224, 219, 220, + 206, 221, 223, 299, 222, 300, 0, 225, 83, 226, + 227, 228, 229, 230, 231, 232, 0, 301, 302, 303, + 0, 0, 233, 234, 304, 305, 0, 235, 236, 237, 238, 0, 0, 239, 240, 241, 242, 0, 243, 0, - 302, 244, 245, 246, 303, 304, 0, 0, 247, 0, - 0, 0, 0, 248, 249, 250, 251, 252, 537, 534, - 0, 535, 530, 525, 0, 0, 0, 0, 0, 536, - 531, 0, 0, 0, 100, 101, 0, 102, 0, 0, - 0, 0, 253, 0, 0, 0, 0, 103, 104, 105, + 306, 244, 245, 246, 723, 308, 0, 0, 247, 0, + 97, 0, 79, 248, 249, 250, 251, 252, 0, 80, + 0, 0, 0, 0, 0, 0, 100, 101, 0, 102, + 0, 0, 0, 0, 253, 0, 0, 0, 78, 103, + 104, 105, 254, 255, 256, 257, 106, 258, 259, 0, + 107, 260, 261, 108, 109, 0, 0, 262, 263, 264, + 0, 110, 265, 0, 0, 0, 111, 112, 113, 0, + 114, 0, 115, 116, 117, 0, 0, 118, 119, 0, + 0, 0, 0, 0, 0, 120, 121, 314, 122, 266, + 123, 267, 268, 0, 124, 0, 125, 0, 126, 0, + 0, 127, 128, 0, 129, 0, 0, 0, 269, 130, + 131, 132, 270, 271, 0, 0, 0, 133, 134, 272, + 273, 274, 0, 135, 0, 136, 0, 0, 0, 0, + 137, 275, 0, 276, 0, 138, 139, 140, 141, 277, + 278, 0, 0, 145, 0, 142, 0, 0, 143, 279, + 144, 280, 281, 282, 283, 284, 0, 285, 0, 0, + 146, 147, 148, 0, 149, 150, 151, 0, 153, 152, + 0, 286, 0, 154, 0, 0, 155, 0, 0, 156, + 0, 157, 158, 159, 161, 287, 160, 0, 162, 163, + 165, 164, 0, 0, 0, 288, 166, 289, 167, 168, + 0, 169, 0, 575, 170, 0, 0, 171, 290, 0, + 172, 0, 291, 173, 174, 175, 176, 177, 0, 178, + 292, 179, 293, 180, 0, 181, 182, 183, 184, 185, + 294, 186, 187, 0, 188, 189, 190, 191, 192, 194, + 195, 193, 196, 197, 198, 199, 0, 200, 0, 201, + 202, 295, 203, 0, 207, 208, 209, 210, 0, 212, + 296, 211, 213, 214, 0, 215, 204, 205, 216, 0, + 217, 297, 298, 218, 0, 224, 219, 220, 206, 221, + 223, 299, 222, 300, 0, 225, 0, 226, 227, 228, + 229, 230, 231, 232, 0, 301, 302, 303, 0, 0, + 233, 234, 304, 305, 0, 235, 236, 237, 238, 0, + 0, 239, 240, 241, 242, 0, 243, 0, 306, 244, + 245, 246, 307, 308, 0, 0, 247, 0, 97, 0, + 0, 248, 249, 250, 251, 252, 0, 0, 0, 0, + 0, 0, 0, 0, 100, 101, 0, 102, 0, 0, + 0, 0, 253, 0, 1424, 0, 1429, 103, 104, 105, 254, 255, 256, 257, 106, 258, 259, 0, 107, 260, 261, 108, 109, 0, 0, 262, 263, 264, 0, 110, - 265, 0, 347, 0, 111, 112, 113, 0, 114, 0, - 115, 116, 117, 0, 348, 118, 119, 0, 0, 0, - 0, 0, 0, 120, 121, 310, 122, 266, 123, 267, + 265, 0, 0, 0, 111, 112, 113, 0, 114, 0, + 115, 116, 117, 0, 0, 118, 119, 0, 0, 0, + 0, 0, 0, 120, 121, 314, 122, 266, 123, 267, 268, 0, 124, 0, 125, 0, 126, 0, 0, 127, 128, 0, 129, 0, 0, 0, 269, 130, 131, 132, - 270, 271, 527, 0, 0, 133, 134, 272, 0, 135, - 0, 136, 0, 0, 349, 0, 137, 273, 0, 274, - 0, 138, 139, 140, 141, 275, 276, 351, 0, 145, - 0, 142, 0, 350, 143, 277, 144, 278, 279, 280, - 0, 281, 0, 352, 146, 147, 148, 353, 149, 150, - 151, 0, 153, 152, 0, 282, 354, 154, 355, 0, - 155, 0, 0, 156, 0, 157, 158, 159, 161, 283, - 160, 356, 162, 163, 165, 164, 0, 0, 0, 284, - 166, 285, 167, 168, 0, 169, 528, 0, 170, 0, - 0, 171, 286, 357, 172, 358, 287, 173, 174, 175, - 176, 177, 0, 178, 288, 179, 289, 180, 0, 181, - 182, 183, 184, 185, 290, 186, 187, 0, 188, 189, - 190, 191, 192, 194, 195, 193, 196, 197, 198, 199, - 0, 200, 359, 201, 202, 291, 203, 0, 207, 208, - 209, 210, 0, 212, 292, 211, 213, 214, 0, 215, - 204, 205, 216, 360, 217, 293, 294, 218, 0, 224, - 219, 220, 206, 221, 223, 295, 222, 296, 0, 225, - 0, 226, 227, 228, 229, 230, 231, 232, 0, 297, - 298, 299, 0, 0, 233, 234, 300, 301, 526, 235, - 236, 237, 238, 0, 0, 239, 240, 241, 242, 0, - 243, 0, 302, 244, 245, 246, 303, 304, 0, 97, - 247, 0, 0, 0, 0, 248, 249, 250, 251, 252, - 0, 0, 0, 0, 0, 100, 101, 0, 102, 0, - 0, 536, 531, 253, 0, 0, 0, 0, 103, 104, - 105, 254, 255, 256, 257, 106, 258, 259, 0, 107, - 260, 261, 108, 109, 0, 0, 262, 263, 264, 0, - 110, 265, 0, 0, 0, 111, 112, 113, 0, 114, - 0, 115, 116, 117, 0, 0, 118, 119, 0, 0, - 0, 0, 0, 0, 120, 121, 310, 122, 266, 123, - 267, 268, 0, 124, 0, 125, 0, 126, 0, 0, - 127, 128, 0, 129, 0, 0, 0, 269, 130, 131, - 132, 270, 271, 0, 0, 0, 133, 134, 272, 0, - 135, 0, 136, 0, 0, 0, 0, 137, 273, 0, - 274, 0, 138, 139, 140, 141, 275, 276, 0, 0, - 145, 0, 142, 0, 0, 143, 277, 144, 278, 279, - 280, 0, 281, 0, 0, 146, 147, 148, 0, 149, - 150, 151, 0, 153, 152, 0, 282, 0, 154, 0, + 270, 271, 0, 0, 0, 133, 134, 272, 273, 274, + 0, 135, 0, 136, 0, 0, 0, 0, 137, 275, + 0, 276, 0, 138, 139, 140, 141, 277, 278, 0, + 0, 145, 0, 142, 0, 0, 143, 279, 144, 280, + 281, 282, 283, 284, 0, 285, 0, 0, 146, 147, + 148, 0, 149, 150, 151, 0, 153, 152, 0, 286, + 0, 154, 0, 0, 155, 0, 0, 156, 0, 157, + 158, 159, 161, 287, 160, 0, 162, 163, 165, 164, + 0, 0, 0, 288, 166, 289, 167, 168, 0, 169, + 0, 0, 170, 0, 0, 171, 290, 0, 172, 0, + 291, 173, 174, 175, 176, 177, 0, 178, 292, 179, + 293, 180, 0, 181, 182, 183, 184, 185, 294, 186, + 187, 0, 188, 189, 190, 191, 192, 194, 195, 193, + 196, 197, 198, 199, 0, 200, 0, 201, 202, 295, + 203, 0, 207, 208, 209, 210, 0, 212, 296, 211, + 213, 214, 0, 215, 204, 205, 216, 0, 217, 297, + 298, 218, 0, 224, 219, 220, 206, 221, 223, 299, + 222, 300, 0, 225, 0, 226, 227, 228, 229, 230, + 231, 232, 0, 301, 302, 303, 0, 0, 233, 234, + 304, 305, 0, 235, 236, 237, 238, 0, 0, 239, + 240, 241, 242, 0, 243, 0, 306, 244, 245, 246, + 307, 308, 0, 0, 247, 0, 0, 97, 0, 248, + 249, 250, 251, 252, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 100, 101, 0, 102, 0, 0, 0, + 0, 253, 0, 0, 0, 965, 103, 104, 105, 254, + 255, 256, 257, 106, 258, 259, 0, 107, 260, 261, + 108, 109, 0, 0, 262, 263, 264, 0, 110, 265, + 0, 0, 0, 111, 112, 113, 0, 114, 0, 115, + 116, 117, 0, 0, 118, 119, 0, 0, 0, 0, + 0, 0, 120, 121, 314, 122, 266, 123, 267, 268, + 0, 124, 0, 125, 0, 126, 0, 0, 127, 128, + 0, 129, 0, 0, 0, 269, 130, 131, 132, 270, + 271, 0, 0, 0, 133, 134, 272, 273, 274, 0, + 135, 0, 136, 0, 0, 0, 0, 137, 275, 0, + 276, 0, 138, 139, 140, 141, 277, 278, 0, 0, + 145, 0, 142, 0, 0, 143, 279, 144, 280, 281, + 282, 283, 284, 0, 285, 0, 0, 146, 147, 148, + 0, 149, 150, 151, 0, 153, 152, 0, 286, 0, + 154, 0, 0, 155, 0, 0, 156, 0, 157, 158, + 159, 161, 287, 160, 0, 162, 163, 165, 164, 0, + 0, 0, 288, 166, 289, 167, 168, 0, 169, 0, + 0, 170, 0, 0, 171, 290, 0, 172, 0, 291, + 173, 174, 175, 176, 177, 0, 178, 292, 179, 293, + 180, 0, 181, 182, 183, 184, 185, 294, 186, 187, + 0, 188, 189, 190, 191, 192, 194, 195, 193, 196, + 197, 198, 199, 0, 200, 0, 201, 202, 295, 203, + 0, 207, 208, 209, 210, 0, 212, 296, 211, 213, + 214, 0, 215, 204, 205, 216, 0, 217, 297, 298, + 218, 0, 224, 219, 220, 206, 221, 223, 299, 222, + 300, 0, 225, 0, 226, 227, 228, 229, 230, 231, + 232, 0, 301, 302, 303, 0, 0, 233, 234, 304, + 305, 0, 235, 236, 237, 238, 0, 0, 239, 240, + 241, 242, 0, 243, 0, 306, 244, 245, 246, 307, + 308, 0, 0, 247, 0, 97, 0, 0, 248, 249, + 250, 251, 252, 0, 0, 0, 0, 0, 0, 0, + 0, 100, 101, 0, 102, 0, 0, 0, 0, 253, + 0, 0, 0, 1345, 103, 104, 105, 254, 255, 256, + 257, 106, 258, 259, 0, 107, 260, 261, 108, 109, + 0, 0, 262, 263, 264, 0, 110, 265, 0, 0, + 0, 111, 112, 113, 0, 114, 0, 115, 116, 117, + 0, 0, 118, 119, 0, 0, 0, 0, 0, 0, + 120, 121, 314, 122, 266, 123, 267, 268, 0, 124, + 0, 125, 0, 126, 0, 0, 127, 128, 0, 129, + 0, 0, 0, 269, 130, 131, 132, 270, 271, 0, + 0, 0, 133, 134, 272, 273, 274, 0, 135, 0, + 136, 0, 0, 0, 0, 137, 275, 0, 276, 0, + 138, 139, 140, 141, 277, 278, 0, 0, 145, 0, + 142, 0, 0, 143, 279, 144, 280, 281, 282, 283, + 284, 0, 285, 0, 0, 146, 147, 148, 0, 149, + 150, 151, 0, 153, 152, 0, 286, 0, 154, 0, 0, 155, 0, 0, 156, 0, 157, 158, 159, 161, - 283, 160, 0, 162, 163, 165, 164, 0, 0, 0, - 284, 166, 285, 167, 168, 0, 169, 0, 571, 170, - 0, 0, 171, 286, 0, 172, 0, 287, 173, 174, - 175, 176, 177, 0, 178, 288, 179, 289, 180, 0, - 181, 182, 183, 184, 185, 290, 186, 187, 0, 188, + 287, 160, 0, 162, 163, 165, 164, 0, 0, 0, + 288, 166, 289, 167, 168, 0, 169, 0, 0, 170, + 0, 0, 171, 290, 0, 172, 0, 291, 173, 174, + 175, 176, 177, 0, 178, 292, 179, 293, 180, 0, + 181, 182, 183, 184, 185, 294, 186, 187, 0, 188, 189, 190, 191, 192, 194, 195, 193, 196, 197, 198, - 199, 0, 200, 0, 201, 202, 291, 203, 0, 207, - 208, 209, 210, 81, 212, 292, 211, 213, 214, 0, - 215, 204, 205, 216, 0, 217, 293, 294, 218, 0, - 224, 219, 220, 206, 221, 223, 295, 222, 296, 0, - 225, 83, 226, 227, 228, 229, 230, 231, 232, 0, - 297, 298, 299, 0, 0, 233, 234, 300, 301, 0, + 199, 0, 200, 0, 201, 202, 295, 203, 0, 207, + 208, 209, 210, 0, 212, 296, 211, 213, 214, 0, + 215, 204, 205, 216, 0, 217, 297, 298, 218, 0, + 224, 219, 220, 206, 221, 223, 299, 222, 300, 0, + 225, 0, 226, 227, 228, 229, 230, 231, 232, 0, + 301, 302, 303, 0, 0, 233, 234, 304, 305, 0, 235, 236, 237, 238, 0, 0, 239, 240, 241, 242, - 0, 243, 0, 302, 244, 245, 246, 715, 304, 0, - 0, 247, 0, 97, 0, 79, 248, 249, 250, 251, - 252, 0, 80, 0, 0, 0, 0, 0, 0, 100, - 101, 0, 102, 0, 0, 0, 0, 253, 0, 1412, - 0, 1417, 103, 104, 105, 254, 255, 256, 257, 106, + 0, 243, 0, 306, 244, 245, 246, 307, 308, 0, + 0, 247, 0, 97, 0, 0, 248, 249, 250, 251, + 252, 0, 0, 0, 0, 0, 0, 0, 0, 100, + 101, 0, 102, 0, 0, 0, 0, 253, 0, 0, + 0, 1741, 103, 104, 105, 254, 255, 256, 257, 106, 258, 259, 0, 107, 260, 261, 108, 109, 0, 0, 262, 263, 264, 0, 110, 265, 0, 0, 0, 111, 112, 113, 0, 114, 0, 115, 116, 117, 0, 0, 118, 119, 0, 0, 0, 0, 0, 0, 120, 121, - 310, 122, 266, 123, 267, 268, 0, 124, 0, 125, + 314, 122, 266, 123, 267, 268, 0, 124, 0, 125, 0, 126, 0, 0, 127, 128, 0, 129, 0, 0, 0, 269, 130, 131, 132, 270, 271, 0, 0, 0, - 133, 134, 272, 0, 135, 0, 136, 0, 0, 0, - 0, 137, 273, 0, 274, 0, 138, 139, 140, 141, - 275, 276, 0, 0, 145, 0, 142, 0, 0, 143, - 277, 144, 278, 279, 280, 0, 281, 0, 0, 146, - 147, 148, 0, 149, 150, 151, 0, 153, 152, 0, - 282, 0, 154, 0, 0, 155, 0, 0, 156, 0, - 157, 158, 159, 161, 283, 160, 0, 162, 163, 165, - 164, 0, 0, 0, 284, 166, 285, 167, 168, 0, - 169, 0, 0, 170, 0, 0, 171, 286, 0, 172, - 0, 287, 173, 174, 175, 176, 177, 0, 178, 288, - 179, 289, 180, 0, 181, 182, 183, 184, 185, 290, + 133, 134, 272, 273, 274, 0, 135, 0, 136, 0, + 0, 0, 0, 137, 275, 0, 276, 0, 138, 139, + 140, 141, 277, 278, 0, 0, 145, 0, 142, 0, + 0, 143, 279, 144, 280, 281, 282, 283, 284, 0, + 285, 0, 0, 146, 147, 148, 0, 149, 150, 151, + 0, 153, 152, 0, 286, 0, 154, 0, 0, 155, + 0, 0, 156, 0, 157, 158, 159, 161, 287, 160, + 0, 162, 163, 165, 164, 0, 0, 0, 288, 166, + 289, 167, 168, 0, 169, 0, 0, 170, 0, 0, + 171, 290, 0, 172, 0, 291, 173, 174, 175, 176, + 177, 0, 178, 292, 179, 293, 180, 0, 181, 182, + 183, 184, 185, 294, 186, 187, 0, 188, 189, 190, + 191, 192, 194, 195, 193, 196, 197, 198, 199, 0, + 200, 0, 201, 202, 295, 203, 0, 207, 208, 209, + 210, 0, 212, 296, 211, 213, 214, 0, 215, 204, + 205, 216, 0, 217, 297, 298, 218, 0, 224, 219, + 220, 206, 221, 223, 299, 222, 300, 0, 225, 0, + 226, 227, 228, 229, 230, 231, 232, 0, 301, 302, + 303, 0, 0, 233, 234, 304, 305, 0, 235, 236, + 237, 238, 0, 0, 239, 240, 241, 242, 0, 243, + 0, 306, 244, 245, 246, 307, 308, 0, 0, 247, + 0, 0, 0, 0, 248, 249, 250, 251, 252, 634, + 623, 624, 621, 622, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 100, 101, 0, 102, 835, + 0, 0, 0, 253, 0, 0, 0, 0, 103, 104, + 105, 254, 665, 256, 666, 106, 667, 668, 0, 107, + 260, 261, 108, 109, 0, 0, 669, 670, 264, 0, + 110, 265, 0, 351, 0, 111, 112, 113, 0, 114, + 0, 115, 116, 117, 0, 352, 118, 119, 0, 0, + 0, 0, 0, 0, 120, 121, 314, 122, 671, 123, + 672, 673, 0, 124, 0, 125, 0, 126, 0, 0, + 664, 128, 0, 129, 0, 0, 0, 269, 130, 131, + 132, 270, 271, 630, 0, 0, 133, 134, 674, 675, + 676, 0, 135, 0, 136, 0, 0, 353, 0, 137, + 275, 0, 276, 0, 138, 139, 140, 141, 277, 278, + 355, 0, 145, 0, 142, 0, 354, 143, 677, 144, + 678, 679, 680, 681, 682, 0, 641, 0, 356, 146, + 147, 148, 357, 149, 150, 151, 0, 153, 152, 0, + 286, 358, 154, 359, 0, 155, 0, 0, 156, 0, + 157, 158, 159, 161, 287, 160, 360, 162, 163, 165, + 164, 0, 0, 631, 288, 166, 683, 167, 168, 0, + 169, 0, 0, 170, 0, 0, 171, 290, 361, 172, + 362, 291, 173, 174, 175, 176, 177, 0, 178, 292, + 179, 293, 180, 0, 181, 182, 183, 184, 185, 684, 186, 187, 0, 188, 189, 190, 191, 192, 194, 195, - 193, 196, 197, 198, 199, 0, 200, 0, 201, 202, - 291, 203, 0, 207, 208, 209, 210, 81, 212, 292, - 211, 213, 214, 0, 215, 204, 205, 216, 0, 217, - 293, 294, 218, 0, 224, 219, 220, 206, 221, 223, - 295, 222, 296, 0, 225, 83, 226, 227, 228, 229, - 230, 231, 232, 0, 297, 298, 299, 0, 0, 233, - 234, 300, 301, 0, 235, 236, 237, 238, 0, 0, - 239, 240, 241, 242, 0, 243, 0, 302, 244, 245, - 246, 715, 304, 0, 0, 247, 0, 97, 0, 79, - 248, 249, 250, 251, 252, 0, 80, 0, 0, 0, + 193, 196, 197, 198, 199, 0, 200, 363, 201, 202, + 295, 203, 0, 207, 208, 209, 210, 0, 212, 296, + 211, 213, 214, 0, 215, 204, 205, 216, 364, 217, + 685, 298, 218, 0, 224, 219, 220, 206, 221, 223, + 686, 222, 300, 0, 225, 0, 226, 227, 228, 229, + 230, 231, 232, 0, 301, 687, 688, 0, 0, 233, + 234, 304, 305, 629, 235, 236, 237, 238, 0, 0, + 239, 240, 241, 242, 0, 243, 0, 306, 244, 245, + 246, 307, 689, 541, 538, 247, 0, 0, 764, 0, + 248, 249, 250, 251, 252, 0, 0, 0, 0, 100, + 101, 0, 102, 0, 0, 0, 0, 253, 0, 0, + 0, 0, 103, 104, 105, 254, 255, 256, 257, 106, + 258, 259, 0, 107, 260, 261, 108, 109, 0, 0, + 262, 263, 264, 0, 110, 265, 0, 351, 0, 111, + 112, 113, 0, 114, 0, 115, 116, 117, 0, 352, + 118, 119, 0, 0, 0, 0, 0, 0, 120, 121, + 314, 122, 266, 123, 267, 268, 0, 124, 0, 125, + 0, 126, 0, 0, 127, 128, 0, 129, 0, 0, + 0, 269, 130, 131, 132, 270, 271, 0, 0, 0, + 133, 134, 272, 273, 274, 0, 135, 0, 136, 0, + 0, 353, 0, 137, 275, 0, 276, 0, 138, 139, + 140, 141, 277, 278, 355, 0, 145, 0, 142, 0, + 354, 143, 279, 144, 280, 281, 282, 283, 284, 0, + 285, 0, 356, 146, 147, 148, 357, 149, 150, 151, + 0, 153, 152, 0, 286, 358, 154, 359, 0, 155, + 0, 0, 156, 0, 157, 158, 159, 161, 287, 160, + 360, 162, 163, 165, 164, 0, 0, 0, 288, 166, + 289, 167, 168, 0, 169, 0, 0, 170, 0, 0, + 171, 290, 361, 172, 362, 291, 173, 174, 175, 176, + 177, 0, 178, 292, 179, 293, 180, 0, 181, 182, + 183, 184, 185, 294, 186, 187, 0, 188, 189, 190, + 191, 192, 194, 195, 193, 196, 197, 198, 199, 0, + 200, 363, 201, 202, 295, 203, 0, 207, 208, 209, + 210, 0, 212, 296, 211, 213, 214, 0, 215, 204, + 205, 216, 364, 217, 297, 298, 218, 0, 224, 219, + 220, 206, 221, 223, 299, 222, 300, 0, 225, 0, + 226, 227, 228, 229, 230, 231, 232, 0, 301, 302, + 303, 0, 0, 233, 234, 304, 305, 0, 235, 236, + 237, 238, 0, 0, 239, 240, 241, 242, 0, 243, + 0, 306, 244, 245, 246, 307, 308, 97, 0, 247, + 0, 0, 0, 0, 248, 249, 250, 251, 252, 0, 0, 0, 0, 100, 101, 0, 102, 0, 0, 0, - 0, 253, 0, 0, 0, 78, 103, 104, 105, 254, + 0, 253, 0, 0, 0, 0, 103, 104, 105, 254, 255, 256, 257, 106, 258, 259, 0, 107, 260, 261, 108, 109, 0, 0, 262, 263, 264, 0, 110, 265, 0, 0, 0, 111, 112, 113, 0, 114, 0, 115, 116, 117, 0, 0, 118, 119, 0, 0, 0, 0, - 0, 0, 120, 121, 310, 122, 266, 123, 267, 268, + 0, 0, 120, 121, 93, 122, 266, 123, 267, 268, 0, 124, 0, 125, 0, 126, 0, 0, 127, 128, 0, 129, 0, 0, 0, 269, 130, 131, 132, 270, - 271, 0, 0, 0, 133, 134, 272, 0, 135, 0, - 136, 0, 0, 0, 0, 137, 273, 0, 274, 0, - 138, 139, 140, 141, 275, 276, 0, 0, 145, 0, - 142, 0, 0, 143, 277, 144, 278, 279, 280, 0, - 281, 0, 0, 146, 147, 148, 0, 149, 150, 151, - 0, 153, 152, 0, 282, 0, 154, 0, 0, 155, - 0, 0, 156, 0, 157, 158, 159, 161, 283, 160, - 0, 162, 163, 165, 164, 0, 0, 0, 284, 166, - 285, 167, 168, 0, 169, 0, 571, 170, 0, 0, - 171, 286, 0, 172, 0, 287, 173, 174, 175, 176, - 177, 0, 178, 288, 179, 289, 180, 0, 181, 182, - 183, 184, 185, 290, 186, 187, 0, 188, 189, 190, - 191, 192, 194, 195, 193, 196, 197, 198, 199, 0, - 200, 0, 201, 202, 291, 203, 0, 207, 208, 209, - 210, 0, 212, 292, 211, 213, 214, 0, 215, 204, - 205, 216, 0, 217, 293, 294, 218, 0, 224, 219, - 220, 206, 221, 223, 295, 222, 296, 0, 225, 0, - 226, 227, 228, 229, 230, 231, 232, 0, 297, 298, - 299, 0, 0, 233, 234, 300, 301, 0, 235, 236, - 237, 238, 0, 0, 239, 240, 241, 242, 0, 243, - 0, 302, 244, 245, 246, 303, 304, 0, 0, 247, - 0, 97, 0, 0, 248, 249, 250, 251, 252, 0, - 0, 0, 0, 0, 0, 0, 0, 100, 101, 0, - 102, 0, 0, 0, 0, 253, 0, 1412, 0, 1417, + 271, 0, 0, 0, 133, 134, 272, 273, 274, 0, + 135, 0, 136, 0, 0, 0, 0, 137, 275, 0, + 276, 0, 138, 139, 140, 141, 277, 278, 0, 0, + 145, 0, 142, 0, 0, 143, 279, 144, 280, 281, + 282, 283, 284, 0, 285, 0, 0, 146, 147, 148, + 0, 149, 150, 151, 0, 153, 152, 0, 286, 0, + 154, 0, 0, 155, 0, 0, 156, 0, 157, 158, + 159, 161, 287, 160, 0, 162, 163, 165, 164, 0, + 0, 0, 288, 166, 289, 167, 168, 0, 169, 0, + 0, 170, 0, 0, 171, 290, 0, 172, 0, 291, + 173, 174, 175, 176, 177, 0, 178, 292, 179, 293, + 180, 0, 181, 182, 183, 184, 185, 294, 186, 187, + 0, 188, 189, 190, 191, 192, 194, 195, 193, 196, + 197, 198, 199, 0, 200, 0, 201, 202, 295, 203, + 0, 207, 208, 209, 210, 0, 212, 296, 211, 213, + 214, 0, 215, 204, 205, 216, 0, 217, 297, 298, + 218, 0, 224, 219, 220, 206, 221, 223, 299, 222, + 300, 0, 225, 92, 226, 227, 228, 229, 230, 231, + 232, 0, 301, 302, 303, 0, 0, 233, 234, 304, + 305, 0, 235, 236, 237, 238, 0, 0, 239, 240, + 241, 242, 0, 243, 0, 306, 244, 245, 246, 307, + 308, 541, 538, 247, 0, 0, 0, 0, 248, 249, + 250, 251, 252, 0, 0, 0, 0, 100, 101, 0, + 102, 0, 0, 0, 0, 253, 96, 0, 0, 0, 103, 104, 105, 254, 255, 256, 257, 106, 258, 259, 0, 107, 260, 261, 108, 109, 0, 0, 262, 263, - 264, 0, 110, 265, 0, 0, 0, 111, 112, 113, - 0, 114, 0, 115, 116, 117, 0, 0, 118, 119, - 0, 0, 0, 0, 0, 0, 120, 121, 310, 122, + 264, 0, 110, 265, 0, 351, 0, 111, 112, 113, + 0, 114, 0, 115, 116, 117, 0, 352, 118, 119, + 0, 0, 0, 0, 0, 0, 120, 121, 314, 122, 266, 123, 267, 268, 0, 124, 0, 125, 0, 126, 0, 0, 127, 128, 0, 129, 0, 0, 0, 269, 130, 131, 132, 270, 271, 0, 0, 0, 133, 134, - 272, 0, 135, 0, 136, 0, 0, 0, 0, 137, - 273, 0, 274, 0, 138, 139, 140, 141, 275, 276, - 0, 0, 145, 0, 142, 0, 0, 143, 277, 144, - 278, 279, 280, 0, 281, 0, 0, 146, 147, 148, - 0, 149, 150, 151, 0, 153, 152, 0, 282, 0, - 154, 0, 0, 155, 0, 0, 156, 0, 157, 158, - 159, 161, 283, 160, 0, 162, 163, 165, 164, 0, - 0, 0, 284, 166, 285, 167, 168, 0, 169, 0, - 0, 170, 0, 0, 171, 286, 0, 172, 0, 287, - 173, 174, 175, 176, 177, 0, 178, 288, 179, 289, - 180, 0, 181, 182, 183, 184, 185, 290, 186, 187, - 0, 188, 189, 190, 191, 192, 194, 195, 193, 196, - 197, 198, 199, 0, 200, 0, 201, 202, 291, 203, - 0, 207, 208, 209, 210, 0, 212, 292, 211, 213, - 214, 0, 215, 204, 205, 216, 0, 217, 293, 294, - 218, 0, 224, 219, 220, 206, 221, 223, 295, 222, - 296, 0, 225, 0, 226, 227, 228, 229, 230, 231, - 232, 0, 297, 298, 299, 0, 0, 233, 234, 300, - 301, 0, 235, 236, 237, 238, 0, 0, 239, 240, - 241, 242, 0, 243, 0, 302, 244, 245, 246, 303, - 304, 0, 0, 247, 0, 0, 97, 0, 248, 249, - 250, 251, 252, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 100, 101, 0, 102, 0, 0, 0, 0, - 253, 0, 0, 0, 957, 103, 104, 105, 254, 255, - 256, 257, 106, 258, 259, 0, 107, 260, 261, 108, - 109, 0, 0, 262, 263, 264, 0, 110, 265, 0, - 0, 0, 111, 112, 113, 0, 114, 0, 115, 116, - 117, 0, 0, 118, 119, 0, 0, 0, 0, 0, - 0, 120, 121, 310, 122, 266, 123, 267, 268, 0, - 124, 0, 125, 0, 126, 0, 0, 127, 128, 0, - 129, 0, 0, 0, 269, 130, 131, 132, 270, 271, - 0, 0, 0, 133, 134, 272, 0, 135, 0, 136, - 0, 0, 0, 0, 137, 273, 0, 274, 0, 138, - 139, 140, 141, 275, 276, 0, 0, 145, 0, 142, - 0, 0, 143, 277, 144, 278, 279, 280, 0, 281, - 0, 0, 146, 147, 148, 0, 149, 150, 151, 0, - 153, 152, 0, 282, 0, 154, 0, 0, 155, 0, - 0, 156, 0, 157, 158, 159, 161, 283, 160, 0, - 162, 163, 165, 164, 0, 0, 0, 284, 166, 285, - 167, 168, 0, 169, 0, 0, 170, 0, 0, 171, - 286, 0, 172, 0, 287, 173, 174, 175, 176, 177, - 0, 178, 288, 179, 289, 180, 0, 181, 182, 183, - 184, 185, 290, 186, 187, 0, 188, 189, 190, 191, - 192, 194, 195, 193, 196, 197, 198, 199, 0, 200, - 0, 201, 202, 291, 203, 0, 207, 208, 209, 210, - 0, 212, 292, 211, 213, 214, 0, 215, 204, 205, - 216, 0, 217, 293, 294, 218, 0, 224, 219, 220, - 206, 221, 223, 295, 222, 296, 0, 225, 0, 226, - 227, 228, 229, 230, 231, 232, 0, 297, 298, 299, - 0, 0, 233, 234, 300, 301, 0, 235, 236, 237, - 238, 0, 0, 239, 240, 241, 242, 0, 243, 0, - 302, 244, 245, 246, 303, 304, 0, 0, 247, 0, - 97, 0, 0, 248, 249, 250, 251, 252, 0, 0, - 0, 0, 0, 0, 0, 0, 100, 101, 0, 102, - 0, 0, 0, 0, 253, 0, 0, 0, 1333, 103, - 104, 105, 254, 255, 256, 257, 106, 258, 259, 0, - 107, 260, 261, 108, 109, 0, 0, 262, 263, 264, - 0, 110, 265, 0, 0, 0, 111, 112, 113, 0, - 114, 0, 115, 116, 117, 0, 0, 118, 119, 0, - 0, 0, 0, 0, 0, 120, 121, 310, 122, 266, - 123, 267, 268, 0, 124, 0, 125, 0, 126, 0, - 0, 127, 128, 0, 129, 0, 0, 0, 269, 130, - 131, 132, 270, 271, 0, 0, 0, 133, 134, 272, - 0, 135, 0, 136, 0, 0, 0, 0, 137, 273, - 0, 274, 0, 138, 139, 140, 141, 275, 276, 0, - 0, 145, 0, 142, 0, 0, 143, 277, 144, 278, - 279, 280, 0, 281, 0, 0, 146, 147, 148, 0, - 149, 150, 151, 0, 153, 152, 0, 282, 0, 154, - 0, 0, 155, 0, 0, 156, 0, 157, 158, 159, - 161, 283, 160, 0, 162, 163, 165, 164, 0, 0, - 0, 284, 166, 285, 167, 168, 0, 169, 0, 0, - 170, 0, 0, 171, 286, 0, 172, 0, 287, 173, - 174, 175, 176, 177, 0, 178, 288, 179, 289, 180, - 0, 181, 182, 183, 184, 185, 290, 186, 187, 0, - 188, 189, 190, 191, 192, 194, 195, 193, 196, 197, - 198, 199, 0, 200, 0, 201, 202, 291, 203, 0, - 207, 208, 209, 210, 0, 212, 292, 211, 213, 214, - 0, 215, 204, 205, 216, 0, 217, 293, 294, 218, - 0, 224, 219, 220, 206, 221, 223, 295, 222, 296, - 0, 225, 0, 226, 227, 228, 229, 230, 231, 232, - 0, 297, 298, 299, 0, 0, 233, 234, 300, 301, - 0, 235, 236, 237, 238, 0, 0, 239, 240, 241, - 242, 0, 243, 0, 302, 244, 245, 246, 303, 304, - 0, 0, 247, 0, 97, 0, 0, 248, 249, 250, - 251, 252, 0, 0, 0, 0, 0, 0, 0, 0, - 100, 101, 0, 102, 0, 0, 0, 0, 253, 0, - 0, 0, 1729, 103, 104, 105, 254, 255, 256, 257, - 106, 258, 259, 0, 107, 260, 261, 108, 109, 0, - 0, 262, 263, 264, 0, 110, 265, 0, 0, 0, - 111, 112, 113, 0, 114, 0, 115, 116, 117, 0, - 0, 118, 119, 0, 0, 0, 0, 0, 0, 120, - 121, 310, 122, 266, 123, 267, 268, 0, 124, 0, - 125, 0, 126, 0, 0, 127, 128, 0, 129, 0, - 0, 0, 269, 130, 131, 132, 270, 271, 0, 0, - 0, 133, 134, 272, 0, 135, 0, 136, 0, 0, - 0, 0, 137, 273, 0, 274, 0, 138, 139, 140, - 141, 275, 276, 0, 0, 145, 0, 142, 0, 0, - 143, 277, 144, 278, 279, 280, 0, 281, 0, 0, - 146, 147, 148, 0, 149, 150, 151, 0, 153, 152, - 0, 282, 0, 154, 0, 0, 155, 0, 0, 156, - 0, 157, 158, 159, 161, 283, 160, 0, 162, 163, - 165, 164, 0, 0, 0, 284, 166, 285, 167, 168, - 0, 169, 0, 0, 170, 0, 0, 171, 286, 0, - 172, 0, 287, 173, 174, 175, 176, 177, 0, 178, - 288, 179, 289, 180, 0, 181, 182, 183, 184, 185, - 290, 186, 187, 0, 188, 189, 190, 191, 192, 194, - 195, 193, 196, 197, 198, 199, 0, 200, 0, 201, - 202, 291, 203, 0, 207, 208, 209, 210, 0, 212, - 292, 211, 213, 214, 0, 215, 204, 205, 216, 0, - 217, 293, 294, 218, 0, 224, 219, 220, 206, 221, - 223, 295, 222, 296, 0, 225, 0, 226, 227, 228, - 229, 230, 231, 232, 0, 297, 298, 299, 0, 0, - 233, 234, 300, 301, 0, 235, 236, 237, 238, 0, - 0, 239, 240, 241, 242, 0, 243, 0, 302, 244, - 245, 246, 303, 304, 0, 0, 247, 0, 0, 0, - 0, 248, 249, 250, 251, 252, 630, 619, 620, 617, - 618, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 100, 101, 0, 102, 827, 0, 0, 0, - 253, 0, 0, 0, 0, 103, 104, 105, 254, 661, - 256, 662, 106, 663, 664, 0, 107, 260, 261, 108, - 109, 0, 0, 665, 666, 264, 0, 110, 265, 0, - 347, 0, 111, 112, 113, 0, 114, 0, 115, 116, - 117, 0, 348, 118, 119, 0, 0, 0, 0, 0, - 0, 120, 121, 310, 122, 667, 123, 668, 669, 0, - 124, 0, 125, 0, 126, 0, 0, 660, 128, 0, - 129, 0, 0, 0, 269, 130, 131, 132, 270, 271, - 626, 0, 0, 133, 134, 670, 0, 135, 0, 136, - 0, 0, 349, 0, 137, 273, 0, 274, 0, 138, - 139, 140, 141, 275, 276, 351, 0, 145, 0, 142, - 0, 350, 143, 671, 144, 672, 673, 674, 0, 637, - 0, 352, 146, 147, 148, 353, 149, 150, 151, 0, - 153, 152, 0, 282, 354, 154, 355, 0, 155, 0, - 0, 156, 0, 157, 158, 159, 161, 283, 160, 356, - 162, 163, 165, 164, 0, 0, 627, 284, 166, 675, - 167, 168, 0, 169, 0, 0, 170, 0, 0, 171, - 286, 357, 172, 358, 287, 173, 174, 175, 176, 177, - 0, 178, 288, 179, 289, 180, 0, 181, 182, 183, - 184, 185, 676, 186, 187, 0, 188, 189, 190, 191, - 192, 194, 195, 193, 196, 197, 198, 199, 0, 200, - 359, 201, 202, 291, 203, 0, 207, 208, 209, 210, - 0, 212, 292, 211, 213, 214, 0, 215, 204, 205, - 216, 360, 217, 677, 294, 218, 0, 224, 219, 220, - 206, 221, 223, 678, 222, 296, 0, 225, 0, 226, - 227, 228, 229, 230, 231, 232, 0, 297, 679, 680, - 0, 0, 233, 234, 300, 301, 625, 235, 236, 237, - 238, 0, 0, 239, 240, 241, 242, 0, 243, 0, - 302, 244, 245, 246, 303, 681, 537, 534, 247, 0, - 0, 756, 0, 248, 249, 250, 251, 252, 0, 0, - 0, 0, 100, 101, 0, 102, 0, 0, 0, 0, - 253, 0, 0, 0, 0, 103, 104, 105, 254, 255, - 256, 257, 106, 258, 259, 0, 107, 260, 261, 108, - 109, 0, 0, 262, 263, 264, 0, 110, 265, 0, - 347, 0, 111, 112, 113, 0, 114, 0, 115, 116, - 117, 0, 348, 118, 119, 0, 0, 0, 0, 0, - 0, 120, 121, 310, 122, 266, 123, 267, 268, 0, - 124, 0, 125, 0, 126, 0, 0, 127, 128, 0, - 129, 0, 0, 0, 269, 130, 131, 132, 270, 271, - 0, 0, 0, 133, 134, 272, 0, 135, 0, 136, - 0, 0, 349, 0, 137, 273, 0, 274, 0, 138, - 139, 140, 141, 275, 276, 351, 0, 145, 0, 142, - 0, 350, 143, 277, 144, 278, 279, 280, 0, 281, - 0, 352, 146, 147, 148, 353, 149, 150, 151, 0, - 153, 152, 0, 282, 354, 154, 355, 0, 155, 0, - 0, 156, 0, 157, 158, 159, 161, 283, 160, 356, - 162, 163, 165, 164, 0, 0, 0, 284, 166, 285, - 167, 168, 0, 169, 0, 0, 170, 0, 0, 171, - 286, 357, 172, 358, 287, 173, 174, 175, 176, 177, - 0, 178, 288, 179, 289, 180, 0, 181, 182, 183, - 184, 185, 290, 186, 187, 0, 188, 189, 190, 191, - 192, 194, 195, 193, 196, 197, 198, 199, 0, 200, - 359, 201, 202, 291, 203, 0, 207, 208, 209, 210, - 0, 212, 292, 211, 213, 214, 0, 215, 204, 205, - 216, 360, 217, 293, 294, 218, 0, 224, 219, 220, - 206, 221, 223, 295, 222, 296, 0, 225, 0, 226, - 227, 228, 229, 230, 231, 232, 0, 297, 298, 299, - 0, 0, 233, 234, 300, 301, 0, 235, 236, 237, - 238, 0, 0, 239, 240, 241, 242, 0, 243, 0, - 302, 244, 245, 246, 303, 304, 97, 0, 247, 0, - 0, 0, 0, 248, 249, 250, 251, 252, 0, 0, - 0, 0, 100, 101, 0, 102, 0, 0, 0, 0, - 253, 0, 0, 0, 0, 103, 104, 105, 254, 255, - 256, 257, 106, 258, 259, 0, 107, 260, 261, 108, - 109, 0, 0, 262, 263, 264, 0, 110, 265, 0, - 0, 0, 111, 112, 113, 0, 114, 0, 115, 116, - 117, 0, 0, 118, 119, 0, 0, 0, 0, 0, - 0, 120, 121, 93, 122, 266, 123, 267, 268, 0, - 124, 0, 125, 0, 126, 0, 0, 127, 128, 0, - 129, 0, 0, 0, 269, 130, 131, 132, 270, 271, - 0, 0, 0, 133, 134, 272, 0, 135, 0, 136, - 0, 0, 0, 0, 137, 273, 0, 274, 0, 138, - 139, 140, 141, 275, 276, 0, 0, 145, 0, 142, - 0, 0, 143, 277, 144, 278, 279, 280, 0, 281, - 0, 0, 146, 147, 148, 0, 149, 150, 151, 0, - 153, 152, 0, 282, 0, 154, 0, 0, 155, 0, - 0, 156, 0, 157, 158, 159, 161, 283, 160, 0, - 162, 163, 165, 164, 0, 0, 0, 284, 166, 285, - 167, 168, 0, 169, 0, 0, 170, 0, 0, 171, - 286, 0, 172, 0, 287, 173, 174, 175, 176, 177, - 0, 178, 288, 179, 289, 180, 0, 181, 182, 183, - 184, 185, 290, 186, 187, 0, 188, 189, 190, 191, - 192, 194, 195, 193, 196, 197, 198, 199, 0, 200, - 0, 201, 202, 291, 203, 0, 207, 208, 209, 210, - 0, 212, 292, 211, 213, 214, 0, 215, 204, 205, - 216, 0, 217, 293, 294, 218, 0, 224, 219, 220, - 206, 221, 223, 295, 222, 296, 0, 225, 92, 226, - 227, 228, 229, 230, 231, 232, 0, 297, 298, 299, - 0, 0, 233, 234, 300, 301, 0, 235, 236, 237, - 238, 0, 0, 239, 240, 241, 242, 0, 243, 0, - 302, 244, 245, 246, 303, 304, 537, 534, 247, 0, - 0, 0, 0, 248, 249, 250, 251, 252, 0, 0, - 0, 0, 100, 101, 0, 102, 0, 0, 0, 0, - 253, 96, 0, 0, 0, 103, 104, 105, 254, 255, - 256, 257, 106, 258, 259, 0, 107, 260, 261, 108, - 109, 0, 0, 262, 263, 264, 0, 110, 265, 0, - 347, 0, 111, 112, 113, 0, 114, 0, 115, 116, - 117, 0, 348, 118, 119, 0, 0, 0, 0, 0, - 0, 120, 121, 310, 122, 266, 123, 267, 268, 0, - 124, 0, 125, 0, 126, 0, 0, 127, 128, 0, - 129, 0, 0, 0, 269, 130, 131, 132, 270, 271, - 0, 0, 0, 133, 134, 272, 0, 135, 0, 136, - 0, 0, 349, 0, 137, 273, 0, 274, 0, 138, - 139, 140, 141, 275, 276, 351, 0, 145, 0, 142, - 0, 350, 143, 277, 144, 278, 279, 280, 0, 281, - 0, 352, 146, 147, 148, 353, 149, 150, 151, 0, - 153, 152, 0, 282, 354, 154, 355, 0, 155, 0, - 0, 156, 0, 157, 158, 159, 161, 283, 160, 356, - 162, 163, 165, 164, 0, 0, 0, 284, 166, 285, - 167, 168, 0, 169, 0, 0, 170, 0, 0, 171, - 286, 357, 172, 358, 287, 173, 174, 175, 176, 177, - 0, 178, 288, 179, 289, 180, 0, 181, 182, 183, - 184, 185, 290, 186, 187, 0, 188, 189, 190, 191, - 192, 194, 195, 193, 196, 197, 198, 199, 0, 200, - 359, 201, 202, 291, 203, 0, 207, 208, 209, 210, - 0, 212, 292, 211, 213, 214, 0, 215, 204, 205, - 216, 360, 217, 293, 294, 218, 0, 224, 219, 220, - 206, 221, 223, 295, 222, 296, 0, 225, 0, 226, - 227, 228, 229, 230, 231, 232, 0, 297, 298, 299, - 0, 0, 233, 234, 300, 301, 0, 235, 236, 237, - 238, 0, 0, 239, 240, 241, 242, 0, 243, 0, - 302, 244, 245, 246, 303, 304, 97, 0, 247, 0, - 0, 0, 0, 248, 249, 250, 251, 252, 0, 0, - 0, 0, 100, 101, 0, 102, 0, 0, 0, 0, - 253, 0, 0, 0, 0, 103, 104, 105, 254, 255, - 256, 257, 106, 258, 259, 0, 107, 260, 261, 108, - 109, 0, 0, 262, 263, 264, 0, 110, 265, 0, - 0, 0, 111, 112, 113, 0, 114, 0, 115, 116, - 117, 0, 0, 118, 119, 0, 0, 0, 0, 0, - 0, 120, 121, 310, 122, 266, 123, 267, 268, 0, - 124, 0, 125, 0, 126, 0, 0, 127, 128, 0, - 129, 0, 0, 0, 269, 130, 131, 132, 270, 271, - 0, 0, 0, 133, 134, 272, 0, 135, 0, 136, - 0, 0, 0, 0, 137, 273, 0, 274, 0, 138, - 139, 140, 141, 275, 276, 0, 0, 145, 0, 142, - 0, 0, 143, 277, 144, 278, 279, 280, 0, 281, - 0, 0, 146, 147, 148, 0, 149, 150, 151, 0, - 153, 152, 0, 282, 0, 154, 0, 0, 155, 0, - 0, 156, 0, 157, 158, 159, 161, 283, 160, 0, - 162, 163, 165, 164, 0, 0, 0, 284, 166, 285, - 167, 168, 0, 169, 0, 0, 170, 0, 0, 171, - 286, 0, 172, 0, 287, 173, 174, 175, 176, 177, - 0, 178, 288, 179, 289, 180, 0, 181, 182, 183, - 184, 185, 290, 186, 187, 0, 188, 189, 190, 191, - 192, 194, 195, 193, 196, 197, 198, 199, 0, 200, - 0, 201, 202, 291, 203, 0, 207, 208, 209, 210, - 0, 212, 292, 211, 213, 214, 0, 215, 204, 205, - 216, 0, 217, 293, 294, 218, 0, 224, 219, 220, - 206, 221, 223, 295, 222, 296, 0, 225, 0, 226, - 227, 228, 229, 230, 231, 232, 0, 297, 298, 299, - 0, 0, 233, 234, 300, 301, 0, 235, 236, 237, - 238, 0, 0, 239, 240, 241, 242, 0, 243, 0, - 302, 244, 245, 246, 303, 304, 537, 0, 247, 0, - 0, 0, 0, 248, 249, 250, 251, 252, 0, 0, - 0, 0, 100, 101, 0, 102, 0, 0, 0, 0, - 253, 96, 0, 0, 0, 103, 104, 105, 254, 255, - 256, 257, 106, 258, 259, 0, 107, 260, 261, 108, - 109, 0, 0, 262, 263, 264, 0, 110, 265, 0, - 347, 0, 111, 112, 113, 0, 114, 0, 115, 116, - 117, 0, 348, 118, 119, 0, 0, 0, 0, 0, - 0, 120, 121, 310, 122, 266, 123, 267, 268, 0, - 124, 0, 125, 0, 126, 0, 0, 127, 128, 0, - 129, 0, 0, 0, 269, 130, 131, 132, 270, 271, - 0, 0, 0, 133, 134, 272, 0, 135, 0, 136, - 0, 0, 349, 0, 137, 273, 0, 274, 0, 138, - 139, 140, 141, 275, 276, 351, 0, 145, 0, 142, - 0, 350, 143, 277, 144, 278, 279, 280, 0, 281, - 0, 352, 146, 147, 148, 353, 149, 150, 151, 0, - 153, 152, 0, 282, 354, 154, 355, 0, 155, 0, - 0, 156, 0, 157, 158, 159, 161, 283, 160, 356, - 162, 163, 165, 164, 0, 0, 0, 284, 166, 285, - 167, 168, 0, 169, 0, 0, 170, 0, 0, 171, - 286, 357, 172, 358, 287, 173, 174, 175, 176, 177, - 0, 178, 288, 179, 289, 180, 0, 181, 182, 183, - 184, 185, 290, 186, 187, 0, 188, 189, 190, 191, - 192, 194, 195, 193, 196, 197, 198, 199, 0, 200, - 359, 201, 202, 291, 203, 0, 207, 208, 209, 210, - 0, 212, 292, 211, 213, 214, 0, 215, 204, 205, - 216, 360, 217, 293, 294, 218, 0, 224, 219, 220, - 206, 221, 223, 295, 222, 296, 0, 225, 0, 226, - 227, 228, 229, 230, 231, 232, 0, 297, 298, 299, - 0, 0, 233, 234, 300, 301, 0, 235, 236, 237, - 238, 0, 0, 239, 240, 241, 242, 0, 243, 0, - 302, 244, 245, 246, 303, 304, 97, 0, 247, 0, - 0, 0, 0, 248, 249, 250, 251, 252, 0, 0, - 0, 0, 100, 101, 0, 102, 0, 0, 0, 0, - 253, 0, 0, 0, 0, 103, 104, 105, 254, 255, - 256, 257, 106, 258, 259, 0, 107, 260, 261, 108, - 109, 0, 0, 262, 263, 264, 1143, 110, 265, 0, - 0, 0, 111, 112, 113, 0, 114, 1141, 115, 116, - 117, 0, 0, 118, 119, 0, 0, 0, 0, 0, - 0, 120, 121, 310, 122, 266, 123, 267, 268, 0, - 124, 0, 125, 0, 126, 0, 0, 127, 128, 0, - 129, 0, 0, 0, 269, 130, 131, 132, 270, 271, - 0, 1384, 0, 133, 134, 272, 0, 135, 0, 136, - 1146, 0, 0, 0, 137, 273, 0, 274, 0, 138, - 139, 140, 141, 275, 276, 0, 0, 145, 1382, 142, - 0, 0, 143, 277, 144, 278, 279, 280, 0, 281, - 0, 0, 146, 147, 148, 0, 149, 150, 151, 0, - 153, 152, 0, 282, 0, 154, 0, 0, 155, 0, - 0, 156, 0, 157, 158, 159, 161, 283, 160, 0, - 162, 163, 165, 164, 0, 0, 0, 284, 166, 285, - 167, 168, 0, 169, 0, 0, 170, 0, 0, 171, - 286, 0, 172, 0, 287, 173, 174, 175, 176, 177, - 0, 178, 288, 179, 289, 180, 1145, 181, 182, 183, - 184, 185, 290, 186, 187, 0, 188, 189, 190, 191, - 192, 194, 195, 193, 196, 197, 198, 199, 0, 200, - 0, 201, 202, 291, 203, 0, 207, 208, 209, 210, - 0, 212, 292, 211, 213, 214, 0, 215, 204, 205, - 216, 0, 217, 293, 294, 218, 0, 224, 219, 220, - 206, 221, 223, 295, 222, 296, 0, 225, 0, 226, - 227, 228, 229, 230, 231, 232, 0, 297, 298, 299, - 0, 0, 233, 234, 300, 301, 0, 235, 236, 237, - 238, 0, 1383, 239, 240, 241, 242, 0, 243, 0, - 302, 244, 245, 246, 303, 304, 97, 0, 247, 0, - 0, 0, 0, 248, 249, 250, 251, 252, 0, 0, - 0, 0, 100, 101, 0, 102, 0, 0, 0, 0, - 253, 0, 0, 0, 0, 103, 104, 105, 254, 255, - 256, 257, 106, 258, 259, 0, 107, 260, 261, 108, - 109, 0, 0, 262, 263, 264, 1143, 110, 265, 0, - 0, 1138, 111, 112, 113, 0, 114, 1141, 115, 116, - 117, 0, 0, 118, 119, 0, 0, 0, 0, 0, - 0, 120, 121, 310, 122, 266, 123, 267, 268, 0, - 124, 0, 125, 0, 126, 0, 0, 127, 128, 0, - 129, 0, 0, 0, 269, 130, 131, 132, 270, 271, - 0, 0, 0, 133, 134, 272, 0, 135, 0, 136, - 1146, 0, 0, 0, 137, 273, 0, 274, 0, 138, - 139, 140, 141, 1137, 276, 0, 0, 145, 0, 142, - 0, 0, 143, 277, 144, 278, 279, 280, 0, 281, - 0, 0, 146, 147, 148, 0, 149, 150, 151, 0, - 153, 152, 0, 282, 0, 154, 0, 0, 155, 0, - 0, 156, 0, 157, 158, 159, 161, 283, 160, 0, - 162, 163, 165, 164, 0, 0, 0, 284, 166, 285, - 167, 168, 0, 169, 0, 0, 170, 0, 0, 171, - 286, 0, 172, 0, 287, 173, 174, 175, 176, 177, - 0, 178, 288, 179, 289, 180, 1145, 181, 182, 183, - 184, 185, 290, 186, 187, 0, 188, 189, 190, 191, - 192, 194, 195, 193, 196, 197, 198, 199, 0, 200, - 0, 201, 202, 291, 203, 0, 207, 208, 209, 210, - 0, 212, 292, 211, 213, 214, 0, 215, 204, 205, - 216, 0, 217, 293, 294, 218, 0, 224, 219, 220, - 206, 221, 223, 295, 222, 296, 0, 225, 0, 226, - 227, 228, 229, 230, 231, 232, 0, 297, 298, 299, - 0, 0, 233, 234, 300, 301, 0, 235, 236, 237, - 238, 0, 1144, 239, 240, 241, 242, 0, 243, 0, - 302, 244, 245, 246, 303, 304, 97, 0, 247, 0, - 0, 0, 0, 248, 249, 250, 251, 252, 0, 0, - 0, 0, 100, 101, 0, 102, 0, 0, 0, 0, - 253, 0, 1837, 0, 0, 103, 104, 105, 254, 255, - 256, 257, 106, 258, 259, 0, 107, 260, 261, 108, - 109, 0, 0, 262, 263, 264, 0, 110, 265, 0, - 0, 0, 111, 112, 113, 0, 114, 0, 115, 116, - 117, 0, 0, 118, 119, 0, 0, 0, 0, 0, - 0, 120, 121, 310, 122, 266, 123, 267, 268, 0, - 124, 0, 125, 0, 126, 0, 0, 127, 128, 0, - 129, 0, 0, 0, 269, 130, 131, 132, 270, 271, - 0, 0, 0, 133, 134, 272, 0, 135, 0, 136, - 0, 0, 0, 0, 137, 273, 0, 274, 0, 138, - 139, 140, 141, 275, 276, 0, 0, 145, 0, 142, - 0, 0, 143, 277, 144, 278, 279, 280, 0, 281, - 0, 0, 146, 147, 148, 0, 149, 150, 151, 0, - 153, 152, 0, 282, 0, 154, 0, 0, 155, 0, - 0, 156, 0, 157, 158, 159, 161, 283, 160, 0, - 162, 163, 165, 164, 0, 0, 0, 284, 166, 285, - 167, 168, 0, 169, 0, 0, 170, 0, 0, 171, - 286, 0, 172, 0, 287, 173, 174, 175, 176, 177, - 0, 178, 288, 179, 289, 180, 0, 181, 182, 183, - 184, 185, 290, 186, 187, 0, 188, 189, 190, 191, - 192, 194, 195, 193, 196, 197, 198, 199, 0, 200, - 0, 201, 202, 291, 203, 0, 207, 208, 209, 210, - 0, 212, 292, 211, 213, 214, 0, 215, 204, 205, - 216, 0, 217, 293, 294, 218, 0, 224, 219, 220, - 206, 221, 223, 295, 222, 296, 0, 225, 0, 226, - 227, 228, 229, 230, 231, 232, 0, 297, 298, 299, - 0, 0, 233, 234, 300, 301, 0, 235, 236, 237, - 238, 0, 0, 239, 240, 241, 242, 0, 243, 0, - 302, 244, 245, 246, 303, 304, 97, 0, 247, 0, - 0, 0, 0, 248, 249, 250, 251, 252, 0, 0, - 0, 0, 100, 101, 0, 102, 0, 0, 0, 0, - 253, 0, 0, 0, 0, 103, 104, 105, 254, 255, - 256, 257, 106, 258, 259, 0, 107, 260, 261, 108, - 109, 0, 0, 262, 263, 264, 0, 110, 265, 0, - 0, 0, 111, 112, 113, 0, 114, 0, 115, 116, - 117, 0, 0, 118, 119, 0, 0, 0, 0, 0, - 0, 120, 121, 310, 122, 266, 123, 267, 268, 0, - 124, 0, 125, 0, 126, 0, 0, 127, 128, 0, - 129, 0, 0, 0, 269, 130, 131, 132, 270, 271, - 0, 0, 0, 133, 134, 272, 0, 135, 0, 136, - 0, 0, 0, 0, 137, 273, 0, 274, 0, 138, - 139, 140, 141, 275, 276, 0, 0, 145, 0, 142, - 0, 0, 143, 277, 144, 278, 279, 280, 0, 281, - 0, 0, 146, 147, 148, 0, 149, 150, 151, 0, - 153, 152, 0, 282, 0, 154, 0, 0, 155, 0, - 0, 156, 0, 157, 158, 159, 161, 283, 160, 0, - 162, 163, 165, 164, 0, 0, 0, 284, 166, 285, - 167, 168, 0, 169, 0, 571, 170, 0, 0, 171, - 286, 0, 172, 0, 287, 173, 174, 175, 176, 177, - 0, 178, 288, 179, 289, 180, 0, 181, 182, 183, - 184, 185, 290, 186, 187, 0, 188, 189, 190, 191, - 192, 194, 195, 193, 196, 197, 198, 199, 0, 200, - 0, 201, 202, 291, 203, 0, 207, 208, 209, 210, - 0, 212, 292, 211, 213, 214, 0, 215, 204, 205, - 216, 0, 217, 293, 294, 218, 0, 224, 219, 220, - 206, 221, 223, 295, 222, 296, 0, 225, 0, 226, - 227, 228, 229, 230, 231, 232, 0, 297, 298, 299, - 0, 0, 233, 234, 300, 301, 0, 235, 236, 237, - 238, 0, 0, 239, 240, 241, 242, 0, 243, 0, - 302, 244, 245, 246, 303, 304, 97, 0, 247, 0, - 0, 0, 0, 248, 249, 250, 251, 252, 0, 0, - 0, 0, 100, 101, 1068, 102, 0, 0, 0, 0, - 253, 0, 0, 0, 0, 103, 104, 105, 254, 255, - 256, 257, 106, 258, 259, 0, 107, 260, 261, 108, - 109, 0, 0, 262, 263, 264, 0, 110, 265, 0, - 0, 0, 111, 112, 113, 0, 114, 0, 115, 116, - 117, 0, 0, 118, 119, 0, 0, 0, 0, 0, - 0, 120, 121, 310, 122, 266, 123, 267, 268, 0, - 124, 0, 125, 0, 126, 0, 0, 127, 128, 0, - 129, 0, 0, 0, 269, 130, 131, 132, 270, 271, - 0, 0, 0, 133, 134, 272, 0, 135, 0, 136, - 0, 0, 0, 0, 137, 273, 0, 274, 0, 138, - 139, 140, 141, 275, 276, 0, 0, 145, 0, 142, - 0, 0, 143, 277, 144, 278, 279, 280, 0, 281, - 0, 0, 146, 147, 148, 0, 149, 150, 151, 0, - 153, 152, 0, 282, 0, 154, 0, 0, 155, 0, - 0, 156, 0, 157, 158, 159, 161, 283, 160, 0, - 162, 163, 165, 164, 0, 0, 0, 284, 166, 285, - 167, 168, 0, 169, 0, 0, 170, 0, 0, 171, - 286, 0, 172, 0, 287, 173, 174, 175, 176, 177, - 0, 178, 288, 179, 289, 180, 0, 181, 182, 183, - 184, 185, 290, 186, 187, 0, 188, 189, 190, 191, - 192, 194, 195, 193, 196, 197, 198, 199, 0, 200, - 0, 201, 202, 291, 203, 0, 207, 208, 209, 210, - 0, 212, 292, 211, 213, 214, 0, 215, 204, 205, - 216, 0, 217, 293, 294, 218, 0, 224, 219, 220, - 206, 221, 223, 295, 222, 296, 0, 225, 0, 226, - 227, 228, 229, 230, 231, 232, 0, 297, 298, 299, - 0, 0, 233, 234, 300, 301, 0, 235, 236, 237, - 238, 0, 0, 239, 240, 241, 242, 0, 243, 0, - 302, 244, 245, 246, 303, 304, 97, 0, 247, 0, - 0, 0, 0, 248, 249, 250, 251, 252, 0, 0, - 0, 0, 100, 101, 0, 102, 0, 0, 0, 0, - 253, 0, 0, 0, 0, 103, 104, 105, 254, 255, - 256, 257, 106, 258, 259, 0, 107, 260, 261, 108, - 109, 0, 0, 262, 263, 264, 0, 110, 265, 0, - 0, 0, 111, 112, 113, 0, 114, 0, 115, 116, - 117, 0, 0, 118, 119, 0, 0, 0, 0, 0, - 0, 120, 121, 310, 122, 266, 123, 267, 268, 0, - 124, 0, 125, 0, 126, 0, 0, 127, 128, 0, - 129, 0, 0, 0, 269, 130, 131, 132, 270, 271, - 0, 0, 0, 133, 134, 272, 0, 135, 0, 136, - 0, 0, 0, 0, 137, 273, 0, 274, 0, 138, - 139, 140, 141, 983, 276, 0, 0, 145, 0, 142, - 0, 0, 143, 277, 144, 278, 279, 280, 0, 281, - 0, 0, 146, 147, 148, 0, 149, 150, 151, 0, - 153, 152, 0, 282, 0, 154, 0, 0, 155, 0, - 0, 156, 0, 157, 158, 159, 161, 283, 160, 0, - 162, 163, 165, 164, 0, 0, 0, 284, 166, 285, - 167, 168, 0, 169, 0, 571, 170, 0, 0, 171, - 286, 0, 172, 0, 287, 173, 174, 175, 176, 177, - 0, 178, 288, 179, 289, 180, 0, 181, 182, 183, - 184, 185, 290, 186, 187, 0, 188, 189, 190, 191, - 192, 194, 195, 193, 196, 197, 198, 199, 0, 200, - 0, 201, 202, 291, 203, 0, 207, 208, 209, 210, - 0, 212, 292, 211, 213, 214, 0, 215, 204, 205, - 216, 0, 217, 293, 294, 218, 0, 224, 219, 220, - 206, 221, 223, 295, 222, 296, 0, 225, 0, 226, - 227, 228, 229, 230, 231, 232, 0, 297, 298, 299, - 0, 0, 233, 234, 300, 301, 0, 235, 236, 237, - 238, 0, 0, 239, 240, 241, 242, 0, 243, 0, - 302, 244, 245, 246, 303, 304, 97, 0, 247, 0, - 0, 0, 0, 248, 249, 250, 251, 252, 0, 0, - 0, 0, 100, 101, 723, 102, 0, 0, 0, 0, - 253, 0, 0, 0, 0, 103, 104, 105, 254, 255, - 256, 257, 106, 258, 259, 0, 107, 260, 261, 108, - 109, 0, 0, 262, 263, 264, 0, 110, 265, 0, - 0, 0, 111, 112, 113, 0, 114, 0, 115, 116, - 117, 0, 0, 118, 119, 0, 0, 0, 0, 0, - 0, 120, 121, 310, 122, 266, 123, 267, 268, 0, - 124, 0, 125, 0, 126, 0, 0, 127, 128, 0, - 129, 0, 0, 0, 269, 130, 131, 132, 270, 271, - 0, 0, 0, 133, 134, 272, 0, 135, 0, 136, - 0, 0, 0, 0, 137, 273, 0, 274, 0, 138, - 139, 140, 141, 275, 276, 0, 0, 145, 0, 142, - 0, 0, 143, 277, 144, 278, 279, 280, 0, 281, - 0, 0, 146, 147, 148, 0, 149, 150, 151, 0, - 153, 152, 0, 282, 0, 154, 0, 0, 155, 0, - 0, 156, 0, 157, 158, 159, 161, 283, 160, 0, - 162, 163, 165, 164, 0, 0, 0, 284, 166, 285, - 167, 168, 0, 169, 0, 0, 170, 0, 0, 171, - 286, 0, 172, 0, 287, 173, 174, 175, 176, 177, - 0, 178, 288, 179, 289, 180, 0, 181, 182, 183, - 184, 185, 290, 186, 187, 0, 188, 189, 190, 191, - 192, 194, 195, 193, 196, 197, 198, 199, 0, 200, - 0, 201, 202, 291, 203, 0, 207, 208, 209, 210, - 0, 212, 292, 211, 213, 214, 0, 215, 204, 205, - 216, 0, 217, 293, 294, 218, 0, 224, 219, 220, - 206, 221, 223, 295, 222, 296, 0, 225, 0, 226, - 227, 228, 229, 230, 231, 232, 0, 297, 298, 299, - 0, 0, 233, 234, 300, 301, 0, 235, 236, 237, - 238, 0, 0, 239, 240, 241, 242, 0, 243, 0, - 302, 244, 245, 246, 303, 304, 97, 0, 247, 0, - 0, 0, 0, 248, 249, 250, 251, 252, 0, 0, - 0, 0, 100, 101, 0, 102, 0, 0, 0, 0, - 253, 0, 0, 0, 0, 103, 104, 105, 254, 255, - 256, 257, 106, 258, 259, 0, 107, 260, 261, 108, - 109, 0, 0, 262, 263, 264, 0, 110, 265, 0, - 0, 0, 111, 112, 113, 0, 114, 0, 115, 116, - 117, 0, 0, 118, 119, 0, 0, 0, 0, 0, - 0, 120, 121, 310, 122, 266, 123, 267, 268, 0, - 124, 0, 125, 0, 126, 0, 0, 127, 128, 0, - 129, 0, 0, 0, 269, 130, 131, 132, 270, 271, - 0, 0, 0, 133, 134, 272, 0, 135, 0, 136, - 0, 0, 0, 0, 137, 273, 0, 274, 0, 138, - 139, 140, 141, 583, 276, 0, 0, 145, 0, 142, - 0, 0, 143, 277, 144, 278, 279, 280, 0, 281, - 0, 0, 146, 147, 148, 0, 149, 150, 151, 0, - 153, 152, 0, 282, 0, 154, 0, 0, 155, 0, - 0, 156, 0, 157, 158, 159, 161, 283, 160, 0, - 162, 163, 165, 164, 0, 0, 0, 284, 166, 285, - 167, 168, 0, 169, 0, 571, 170, 0, 0, 171, - 286, 0, 172, 0, 287, 173, 174, 175, 176, 177, - 0, 178, 288, 179, 289, 180, 0, 181, 182, 183, - 184, 185, 290, 186, 187, 0, 188, 189, 190, 191, - 192, 194, 195, 193, 196, 197, 198, 199, 0, 200, - 0, 201, 202, 291, 203, 0, 207, 208, 209, 210, - 0, 212, 292, 211, 213, 214, 0, 215, 204, 205, - 216, 0, 217, 293, 294, 218, 0, 224, 219, 220, - 206, 221, 223, 295, 222, 296, 0, 225, 0, 226, - 227, 228, 229, 230, 231, 232, 0, 297, 298, 299, - 0, 0, 233, 234, 300, 301, 0, 235, 236, 237, - 238, 0, 0, 239, 240, 241, 242, 0, 243, 0, - 302, 244, 245, 246, 303, 304, 97, 0, 247, 0, - 0, 0, 0, 248, 249, 250, 251, 252, 0, 0, - 0, 0, 100, 101, 0, 102, 0, 0, 0, 0, - 253, 0, 0, 0, 0, 103, 104, 105, 254, 255, - 256, 257, 106, 258, 259, 0, 107, 260, 261, 108, - 109, 0, 0, 262, 263, 264, 0, 110, 265, 0, - 0, 0, 111, 112, 113, 0, 114, 0, 115, 116, - 117, 0, 0, 118, 119, 0, 0, 0, 0, 0, - 0, 120, 121, 310, 122, 266, 123, 267, 268, 0, - 124, 0, 125, 0, 126, 0, 0, 127, 128, 0, - 129, 0, 0, 0, 269, 130, 131, 132, 270, 271, - 0, 0, 0, 133, 134, 272, 0, 135, 0, 136, - 0, 0, 0, 0, 137, 273, 0, 274, 0, 138, - 139, 140, 141, 576, 276, 0, 0, 145, 0, 142, - 0, 0, 143, 277, 144, 278, 279, 280, 0, 281, - 0, 0, 146, 147, 148, 0, 149, 150, 151, 0, - 153, 152, 0, 282, 0, 154, 0, 0, 155, 0, - 0, 156, 0, 157, 158, 159, 161, 283, 160, 0, - 162, 163, 165, 164, 0, 0, 0, 284, 166, 285, - 167, 168, 0, 169, 0, 571, 170, 0, 0, 171, - 286, 0, 172, 0, 287, 173, 174, 175, 176, 177, - 0, 178, 288, 179, 289, 180, 0, 181, 182, 183, - 184, 185, 290, 186, 187, 0, 188, 189, 190, 191, - 192, 194, 195, 193, 196, 197, 198, 199, 0, 200, - 0, 201, 202, 291, 203, 0, 207, 208, 209, 210, - 0, 212, 292, 211, 213, 214, 0, 215, 204, 205, - 216, 0, 217, 293, 294, 218, 0, 224, 219, 220, - 206, 221, 223, 295, 222, 296, 0, 225, 0, 226, - 227, 228, 229, 230, 231, 232, 0, 297, 298, 299, - 0, 0, 233, 234, 300, 301, 0, 235, 236, 237, - 238, 0, 0, 239, 240, 241, 242, 0, 243, 0, - 302, 244, 245, 246, 303, 304, 97, 0, 247, 0, - 0, 0, 0, 248, 249, 250, 251, 252, 0, 0, - 0, 0, 100, 101, 446, 102, 0, 0, 0, 0, - 253, 0, 0, 0, 0, 103, 104, 105, 254, 255, - 256, 257, 106, 258, 259, 0, 107, 260, 261, 108, - 109, 0, 0, 262, 263, 264, 0, 110, 265, 0, - 0, 0, 111, 112, 113, 0, 114, 0, 115, 116, - 117, 0, 0, 118, 119, 0, 0, 0, 0, 0, - 0, 120, 121, 310, 122, 266, 123, 267, 268, 0, - 124, 0, 125, 0, 126, 0, 0, 127, 128, 0, - 129, 0, 0, 0, 269, 130, 131, 132, 270, 271, - 0, 0, 0, 133, 134, 272, 0, 135, 0, 136, - 0, 0, 0, 0, 137, 273, 0, 274, 0, 138, - 139, 140, 141, 275, 276, 0, 0, 145, 0, 142, - 0, 0, 143, 277, 144, 278, 279, 280, 0, 281, - 0, 0, 146, 147, 148, 0, 149, 150, 151, 0, - 153, 152, 0, 282, 0, 154, 0, 0, 155, 0, - 0, 156, 0, 157, 158, 159, 161, 283, 160, 0, - 162, 163, 165, 164, 0, 0, 0, 284, 166, 285, - 167, 168, 0, 169, 0, 0, 170, 0, 0, 171, - 286, 0, 172, 0, 287, 173, 174, 175, 176, 177, - 0, 178, 288, 179, 289, 445, 0, 181, 182, 183, - 184, 185, 290, 186, 187, 0, 188, 189, 190, 191, - 192, 194, 195, 193, 196, 197, 198, 199, 0, 200, - 0, 201, 202, 291, 203, 0, 207, 208, 209, 210, - 0, 212, 292, 211, 213, 214, 0, 215, 204, 205, - 216, 0, 217, 293, 294, 218, 0, 224, 219, 220, - 206, 221, 223, 295, 222, 296, 0, 225, 0, 226, - 227, 228, 229, 230, 231, 232, 0, 297, 298, 299, - 0, 0, 233, 234, 300, 301, 0, 235, 236, 237, - 238, 0, 0, 239, 240, 241, 242, 0, 243, 0, - 302, 244, 245, 246, 303, 304, 97, 0, 247, 0, - 0, 0, 0, 248, 249, 250, 251, 252, 0, 0, - 0, 0, 100, 101, 0, 102, 0, 0, 0, 0, - 253, 0, 0, 0, 0, 103, 104, 105, 254, 255, - 256, 257, 106, 258, 259, 0, 107, 260, 261, 108, - 109, 0, 0, 262, 263, 264, 0, 110, 265, 0, - 0, 0, 111, 112, 113, 0, 114, 0, 115, 116, - 117, 0, 0, 118, 119, 0, 0, 0, 0, 0, - 0, 120, 121, 310, 122, 266, 123, 267, 268, 0, - 124, 0, 125, 0, 126, 0, 0, 127, 128, 0, - 129, 0, 0, 0, 269, 130, 131, 132, 270, 271, - 0, 0, 0, 133, 134, 272, 0, 135, 0, 136, - 0, 0, 0, 0, 137, 273, 0, 274, 0, 138, - 139, 140, 141, 275, 276, 0, 0, 145, 0, 142, - 0, 0, 143, 277, 144, 278, 279, 280, 0, 281, - 0, 0, 146, 147, 148, 0, 149, 150, 151, 0, - 153, 152, 0, 282, 0, 154, 0, 0, 155, 0, - 0, 156, 0, 157, 158, 159, 161, 283, 160, 0, - 162, 163, 165, 164, 0, 0, 0, 284, 166, 285, - 167, 168, 0, 169, 0, 0, 170, 0, 0, 171, - 286, 0, 172, 0, 287, 173, 174, 175, 176, 177, - 0, 178, 288, 179, 289, 180, 0, 181, 182, 183, - 184, 185, 290, 186, 187, 0, 188, 189, 190, 191, - 192, 194, 195, 193, 196, 197, 198, 199, 0, 200, - 0, 201, 202, 291, 203, 0, 207, 208, 209, 210, - 0, 212, 292, 211, 213, 214, 0, 215, 204, 205, - 216, 0, 217, 293, 294, 218, 0, 224, 219, 220, - 206, 221, 223, 295, 222, 296, 0, 225, 0, 226, - 227, 228, 229, 230, 231, 232, 0, 297, 298, 299, - 0, 0, 233, 234, 300, 301, 0, 235, 236, 237, - 238, 0, 0, 239, 240, 241, 242, 0, 243, 0, - 302, 244, 245, 246, 303, 304, 97, 0, 247, 0, - 0, 0, 0, 248, 249, 250, 251, 252, 0, 0, - 0, 0, 100, 101, 0, 102, 0, 0, 0, 0, - 253, 0, 0, 0, 0, 103, 104, 105, 254, 255, - 256, 257, 106, 258, 259, 0, 107, 260, 261, 108, - 109, 0, 0, 262, 263, 264, 0, 110, 265, 0, - 0, 0, 111, 112, 113, 0, 114, 0, 115, 116, - 117, 0, 0, 118, 119, 0, 0, 0, 0, 0, - 0, 120, 121, 310, 122, 266, 123, 267, 268, 0, - 124, 0, 125, 0, 126, 0, 0, 127, 128, 0, - 129, 0, 0, 0, 269, 130, 131, 132, 270, 271, - 0, 0, 0, 133, 134, 272, 0, 135, 0, 136, - 0, 0, 0, 0, 137, 273, 0, 274, 0, 138, - 139, 140, 141, 1441, 276, 0, 0, 145, 0, 142, - 0, 0, 143, 277, 144, 278, 279, 280, 0, 281, - 0, 0, 146, 147, 148, 0, 149, 150, 151, 0, - 153, 152, 0, 282, 0, 154, 0, 0, 155, 0, - 0, 156, 0, 157, 158, 159, 161, 283, 160, 0, - 162, 163, 165, 164, 0, 0, 0, 284, 166, 285, - 167, 168, 0, 169, 0, 0, 170, 0, 0, 171, - 286, 0, 172, 0, 287, 173, 174, 175, 176, 177, - 0, 178, 288, 179, 289, 180, 0, 181, 182, 183, - 184, 185, 290, 186, 187, 0, 188, 189, 190, 191, - 192, 194, 195, 193, 196, 197, 198, 199, 0, 200, - 0, 201, 202, 291, 203, 0, 207, 208, 209, 210, - 0, 212, 292, 211, 213, 214, 0, 215, 204, 205, - 216, 0, 217, 293, 294, 218, 0, 224, 219, 220, - 206, 221, 223, 295, 222, 296, 0, 225, 0, 226, - 227, 228, 229, 230, 231, 232, 0, 297, 298, 299, - 0, 0, 233, 234, 300, 301, 0, 235, 236, 237, - 238, 0, 0, 239, 240, 241, 242, 0, 243, 0, - 302, 244, 245, 246, 303, 304, 97, 0, 247, 0, - 0, 0, 0, 248, 249, 250, 251, 252, 0, 0, - 0, 0, 100, 101, 0, 102, 0, 0, 0, 0, - 253, 0, 0, 0, 0, 103, 104, 105, 254, 255, - 256, 257, 106, 258, 259, 0, 107, 260, 261, 108, - 109, 0, 0, 262, 263, 264, 0, 110, 265, 0, - 0, 0, 111, 112, 113, 0, 114, 0, 115, 116, - 117, 0, 0, 118, 119, 0, 0, 0, 0, 0, - 0, 120, 121, 310, 122, 266, 123, 267, 268, 0, - 124, 0, 125, 0, 126, 0, 0, 127, 128, 0, - 129, 0, 0, 0, 269, 130, 131, 132, 270, 271, - 0, 0, 0, 133, 134, 272, 0, 135, 0, 136, - 0, 0, 0, 0, 137, 273, 0, 274, 0, 138, - 139, 140, 141, 1439, 276, 0, 0, 145, 0, 142, - 0, 0, 143, 277, 144, 278, 279, 280, 0, 281, - 0, 0, 146, 147, 148, 0, 149, 150, 151, 0, - 153, 152, 0, 282, 0, 154, 0, 0, 155, 0, - 0, 156, 0, 157, 158, 159, 161, 283, 160, 0, - 162, 163, 165, 164, 0, 0, 0, 284, 166, 285, - 167, 168, 0, 169, 0, 0, 170, 0, 0, 171, - 286, 0, 172, 0, 287, 173, 174, 175, 176, 177, - 0, 178, 288, 179, 289, 180, 0, 181, 182, 183, - 184, 185, 290, 186, 187, 0, 188, 189, 190, 191, - 192, 194, 195, 193, 196, 197, 198, 199, 0, 200, - 0, 201, 202, 291, 203, 0, 207, 208, 209, 210, - 0, 212, 292, 211, 213, 214, 0, 215, 204, 205, - 216, 0, 217, 293, 294, 218, 0, 224, 219, 220, - 206, 221, 223, 295, 222, 296, 0, 225, 0, 226, - 227, 228, 229, 230, 231, 232, 0, 297, 298, 299, - 0, 0, 233, 234, 300, 301, 0, 235, 236, 237, - 238, 0, 0, 239, 240, 241, 242, 0, 243, 0, - 302, 244, 245, 246, 303, 304, 97, 0, 247, 0, - 0, 0, 0, 248, 249, 250, 251, 252, 0, 0, - 0, 0, 100, 101, 0, 102, 0, 0, 0, 0, - 253, 0, 0, 0, 0, 103, 104, 105, 254, 255, - 256, 257, 106, 258, 259, 0, 107, 260, 261, 108, - 109, 0, 0, 262, 263, 264, 0, 110, 265, 0, - 0, 0, 111, 112, 113, 0, 114, 0, 115, 116, - 117, 0, 0, 118, 119, 0, 0, 0, 0, 0, - 0, 120, 121, 310, 122, 266, 123, 267, 268, 0, - 124, 0, 125, 0, 126, 0, 0, 127, 128, 0, - 129, 0, 0, 0, 269, 130, 131, 132, 270, 271, - 0, 0, 0, 133, 134, 272, 0, 135, 0, 136, - 0, 0, 0, 0, 137, 273, 0, 274, 0, 138, - 139, 140, 141, 1428, 276, 0, 0, 145, 0, 142, - 0, 0, 143, 277, 144, 278, 279, 280, 0, 281, - 0, 0, 146, 147, 148, 0, 149, 150, 151, 0, - 153, 152, 0, 282, 0, 154, 0, 0, 155, 0, - 0, 156, 0, 157, 158, 159, 161, 283, 160, 0, - 162, 163, 165, 164, 0, 0, 0, 284, 166, 285, - 167, 168, 0, 169, 0, 0, 170, 0, 0, 171, - 286, 0, 172, 0, 287, 173, 174, 175, 176, 177, - 0, 178, 288, 179, 289, 180, 0, 181, 182, 183, - 184, 185, 290, 186, 187, 0, 188, 189, 190, 191, - 192, 194, 195, 193, 196, 197, 198, 199, 0, 200, - 0, 201, 202, 291, 203, 0, 207, 208, 209, 210, - 0, 212, 292, 211, 213, 214, 0, 215, 204, 205, - 216, 0, 217, 293, 294, 218, 0, 224, 219, 220, - 206, 221, 223, 295, 222, 296, 0, 225, 0, 226, - 227, 228, 229, 230, 231, 232, 0, 297, 298, 299, - 0, 0, 233, 234, 300, 301, 0, 235, 236, 237, - 238, 0, 0, 239, 240, 241, 242, 0, 243, 0, - 302, 244, 245, 246, 303, 304, 97, 0, 247, 0, - 0, 0, 0, 248, 249, 250, 251, 252, 0, 0, - 0, 0, 100, 101, 0, 102, 0, 0, 0, 0, - 253, 0, 0, 0, 0, 103, 104, 105, 254, 255, - 256, 257, 106, 258, 259, 0, 107, 260, 261, 108, - 109, 0, 0, 262, 263, 264, 0, 110, 265, 0, - 0, 0, 111, 112, 113, 0, 114, 0, 115, 116, - 117, 0, 0, 118, 119, 0, 0, 0, 0, 0, - 0, 120, 121, 310, 122, 266, 123, 267, 268, 0, - 124, 0, 125, 0, 126, 0, 0, 127, 128, 0, - 129, 0, 0, 0, 269, 130, 131, 132, 270, 271, - 0, 0, 0, 133, 134, 272, 0, 135, 0, 136, - 0, 0, 0, 0, 137, 273, 0, 274, 0, 138, - 139, 140, 141, 1098, 276, 0, 0, 145, 0, 142, - 0, 0, 143, 277, 144, 278, 279, 280, 0, 281, - 0, 0, 146, 147, 148, 0, 149, 150, 151, 0, - 153, 152, 0, 282, 0, 154, 0, 0, 155, 0, - 0, 156, 0, 157, 158, 159, 161, 283, 160, 0, - 162, 163, 165, 164, 0, 0, 0, 284, 166, 285, - 167, 168, 0, 169, 0, 0, 170, 0, 0, 171, - 286, 0, 172, 0, 287, 173, 174, 175, 176, 177, - 0, 178, 288, 179, 289, 180, 0, 181, 182, 183, - 184, 185, 290, 186, 187, 0, 188, 189, 190, 191, - 192, 194, 195, 193, 196, 197, 198, 199, 0, 200, - 0, 201, 202, 291, 203, 0, 207, 208, 209, 210, - 0, 212, 292, 211, 213, 214, 0, 215, 204, 205, - 216, 0, 217, 293, 294, 218, 0, 224, 219, 220, - 206, 221, 223, 295, 222, 296, 0, 225, 0, 226, - 227, 228, 229, 230, 231, 232, 0, 297, 298, 299, - 0, 0, 233, 234, 300, 301, 0, 235, 236, 237, - 238, 0, 0, 239, 240, 241, 242, 0, 243, 0, - 302, 244, 245, 246, 303, 304, 97, 0, 247, 0, - 0, 0, 0, 248, 249, 250, 251, 252, 0, 0, - 0, 0, 100, 101, 0, 102, 0, 0, 0, 0, - 253, 0, 0, 0, 0, 103, 104, 105, 254, 255, - 256, 257, 106, 258, 259, 0, 107, 260, 261, 108, - 109, 0, 0, 262, 263, 264, 0, 110, 265, 0, - 0, 0, 111, 112, 113, 0, 114, 0, 115, 116, - 117, 0, 0, 118, 119, 0, 0, 0, 0, 0, - 0, 120, 121, 310, 122, 266, 123, 267, 268, 0, - 124, 0, 125, 0, 126, 0, 0, 127, 128, 0, - 129, 0, 0, 0, 269, 130, 131, 132, 270, 271, - 0, 0, 0, 133, 134, 272, 0, 135, 0, 136, - 0, 0, 0, 0, 137, 273, 0, 274, 0, 138, - 139, 140, 141, 275, 276, 0, 0, 145, 0, 142, - 0, 0, 143, 277, 144, 278, 279, 280, 0, 281, - 0, 0, 146, 147, 148, 0, 149, 150, 151, 0, - 153, 152, 0, 282, 0, 154, 0, 0, 155, 0, - 0, 156, 0, 157, 158, 159, 161, 283, 160, 0, - 162, 163, 165, 164, 0, 0, 0, 284, 166, 285, - 167, 168, 0, 169, 0, 0, 170, 0, 0, 171, - 286, 0, 172, 0, 287, 173, 174, 175, 176, 177, - 0, 178, 288, 179, 289, 180, 0, 181, 182, 183, - 184, 185, 290, 186, 187, 0, 188, 189, 190, 191, - 192, 194, 195, 193, 196, 197, 198, 199, 0, 200, - 0, 201, 202, 291, 203, 0, 462, 208, 209, 210, - 0, 212, 292, 211, 213, 214, 0, 215, 204, 205, - 216, 0, 217, 293, 294, 218, 0, 224, 219, 220, - 206, 221, 223, 295, 222, 296, 0, 225, 0, 226, - 227, 228, 229, 230, 231, 232, 0, 297, 298, 299, - 0, 0, 233, 234, 300, 301, 0, 235, 236, 237, - 238, 0, 0, 239, 240, 241, 242, 0, 243, 0, - 302, 244, 245, 246, 303, 304, 97, 0, 247, 0, - 0, 0, 0, 248, 249, 250, 251, 252, 0, 0, - 0, 0, 100, 101, 0, 102, 0, 0, 0, 0, - 253, 0, 967, 0, 0, 103, 104, 105, 254, 255, - 256, 257, 106, 258, 259, 0, 107, 260, 261, 108, - 109, 0, 0, 262, 263, 264, 0, 110, 265, 0, - 0, 0, 111, 112, 113, 0, 114, 0, 115, 116, - 117, 0, 0, 118, 119, 0, 0, 0, 0, 0, - 0, 120, 121, 310, 122, 266, 123, 267, 268, 0, - 124, 0, 125, 0, 126, 0, 0, 127, 128, 0, - 129, 0, 0, 0, 269, 130, 131, 132, 270, 271, - 0, 0, 0, 133, 134, 272, 0, 135, 0, 136, - 0, 0, 0, 0, 137, 273, 0, 274, 0, 138, - 139, 140, 141, 275, 276, 0, 0, 145, 0, 142, - 0, 0, 143, 277, 144, 278, 279, 280, 0, 281, - 0, 0, 146, 147, 148, 0, 149, 150, 151, 0, - 153, 152, 0, 282, 0, 154, 0, 0, 155, 0, - 0, 156, 0, 157, 158, 159, 161, 283, 160, 0, - 162, 163, 165, 164, 0, 0, 0, 284, 166, 285, - 167, 168, 0, 169, 0, 0, 170, 0, 0, 171, - 286, 0, 172, 0, 287, 173, 174, 175, 176, 177, - 0, 178, 288, 179, 289, 180, 0, 181, 182, 183, - 184, 185, 290, 186, 187, 0, 188, 189, 190, 191, - 192, 194, 195, 193, 196, 197, 198, 199, 0, 200, - 0, 201, 202, 291, 203, 0, 207, 208, 209, 210, - 0, 212, 292, 211, 213, 214, 0, 0, 204, 205, - 216, 0, 217, 293, 294, 218, 0, 224, 219, 220, - 206, 221, 223, 295, 222, 296, 0, 225, 0, 226, - 227, 228, 229, 230, 231, 232, 0, 297, 298, 299, - 0, 0, 233, 234, 300, 301, 0, 235, 236, 237, - 238, 0, 0, 239, 240, 241, 242, 0, 243, 0, - 302, 244, 245, 246, 303, 304, 97, 0, 247, 0, - 0, 0, 0, 248, 249, 250, 251, 252, 0, 0, - 0, 0, 100, 101, 0, 102, 0, 0, 0, 0, - 253, 0, 0, 0, 0, 103, 104, 105, 254, 255, - 256, 257, 106, 258, 259, 0, 107, 260, 261, 108, - 109, 0, 0, 262, 263, 264, 0, 110, 265, 0, - 0, 0, 111, 112, 113, 0, 114, 0, 115, 116, - 117, 0, 0, 118, 119, 0, 0, 0, 0, 0, - 0, 120, 121, 310, 122, 266, 123, 267, 268, 0, - 124, 0, 125, 0, 126, 0, 0, 127, 128, 0, - 129, 0, 0, 0, 269, 130, 131, 132, 270, 271, - 0, 0, 0, 133, 134, 272, 0, 135, 0, 136, - 0, 0, 0, 0, 137, 273, 0, 274, 0, 138, - 139, 140, 141, 798, 276, 0, 0, 145, 0, 142, - 0, 0, 143, 277, 144, 278, 279, 280, 0, 281, - 0, 0, 146, 147, 148, 0, 149, 150, 151, 0, - 153, 152, 0, 282, 0, 154, 0, 0, 155, 0, - 0, 156, 0, 157, 158, 159, 161, 283, 160, 0, - 162, 163, 165, 164, 0, 0, 0, 284, 166, 285, - 167, 168, 0, 169, 0, 0, 170, 0, 0, 171, - 286, 0, 172, 0, 287, 173, 174, 175, 176, 177, - 0, 178, 288, 179, 289, 180, 0, 181, 182, 183, - 184, 185, 290, 186, 187, 0, 188, 189, 190, 191, - 192, 194, 195, 193, 196, 197, 198, 199, 0, 200, - 0, 201, 202, 291, 203, 0, 207, 208, 209, 210, - 0, 212, 292, 211, 213, 214, 0, 215, 204, 205, - 216, 0, 217, 293, 294, 218, 0, 224, 219, 220, - 206, 221, 223, 295, 222, 296, 0, 225, 0, 226, - 227, 228, 229, 230, 231, 232, 0, 297, 298, 299, - 0, 0, 233, 234, 300, 301, 0, 235, 236, 237, - 238, 0, 0, 239, 240, 241, 242, 0, 243, 0, - 302, 244, 245, 246, 303, 304, 97, 0, 247, 0, - 0, 0, 0, 248, 249, 250, 251, 252, 0, 0, - 0, 0, 100, 101, 0, 102, 0, 0, 0, 0, - 253, 0, 0, 0, 0, 103, 104, 105, 254, 255, - 256, 257, 106, 258, 259, 0, 107, 260, 261, 108, - 109, 0, 0, 262, 263, 264, 0, 110, 265, 0, - 0, 0, 111, 112, 113, 0, 114, 0, 115, 116, - 117, 0, 0, 118, 119, 0, 0, 0, 0, 0, - 0, 120, 121, 310, 122, 266, 123, 267, 268, 0, - 124, 0, 125, 0, 126, 0, 0, 127, 128, 0, - 129, 0, 0, 0, 269, 130, 131, 132, 270, 271, - 0, 0, 0, 133, 134, 272, 0, 135, 0, 136, - 0, 0, 0, 0, 137, 273, 0, 274, 0, 138, - 139, 140, 141, 793, 276, 0, 0, 145, 0, 142, - 0, 0, 143, 277, 144, 278, 279, 280, 0, 281, - 0, 0, 146, 147, 148, 0, 149, 150, 151, 0, - 153, 152, 0, 282, 0, 154, 0, 0, 155, 0, - 0, 156, 0, 157, 158, 159, 161, 283, 160, 0, - 162, 163, 165, 164, 0, 0, 0, 284, 166, 285, - 167, 168, 0, 169, 0, 0, 170, 0, 0, 171, - 286, 0, 172, 0, 287, 173, 174, 175, 176, 177, - 0, 178, 288, 179, 289, 180, 0, 181, 182, 183, - 184, 185, 290, 186, 187, 0, 188, 189, 190, 191, - 192, 194, 195, 193, 196, 197, 198, 199, 0, 200, - 0, 201, 202, 291, 203, 0, 207, 208, 209, 210, - 0, 212, 292, 211, 213, 214, 0, 215, 204, 205, - 216, 0, 217, 293, 294, 218, 0, 224, 219, 220, - 206, 221, 223, 295, 222, 296, 0, 225, 0, 226, - 227, 228, 229, 230, 231, 232, 0, 297, 298, 299, - 0, 0, 233, 234, 300, 301, 0, 235, 236, 237, - 238, 0, 0, 239, 240, 241, 242, 0, 243, 0, - 302, 244, 245, 246, 303, 304, 97, 0, 247, 0, - 0, 0, 0, 248, 249, 250, 251, 252, 0, 0, - 0, 0, 100, 101, 0, 102, 0, 0, 0, 0, - 253, 0, 0, 0, 0, 103, 104, 105, 254, 255, - 256, 257, 106, 258, 259, 0, 107, 260, 261, 108, - 109, 0, 0, 262, 263, 731, 0, 110, 265, 0, - 0, 0, 111, 112, 113, 0, 114, 0, 115, 116, - 117, 0, 0, 118, 119, 0, 0, 0, 0, 0, - 0, 120, 121, 310, 122, 266, 123, 267, 268, 0, - 124, 0, 125, 0, 126, 0, 0, 127, 128, 0, - 129, 0, 0, 0, 269, 130, 131, 132, 270, 271, - 0, 0, 0, 133, 134, 272, 0, 135, 0, 136, - 0, 0, 0, 0, 137, 273, 0, 274, 0, 138, - 139, 140, 141, 275, 276, 0, 0, 145, 0, 142, - 0, 0, 143, 277, 144, 278, 279, 280, 0, 281, - 0, 0, 146, 147, 148, 0, 149, 150, 151, 0, - 153, 152, 0, 282, 0, 154, 0, 0, 155, 0, - 0, 156, 0, 157, 158, 159, 161, 283, 476, 0, - 162, 163, 165, 164, 0, 0, 0, 284, 166, 285, - 167, 168, 0, 169, 0, 0, 170, 0, 0, 171, - 286, 0, 172, 0, 287, 173, 174, 175, 176, 177, - 0, 178, 288, 179, 289, 180, 0, 181, 182, 183, - 184, 185, 290, 186, 187, 0, 188, 189, 190, 191, - 192, 194, 195, 193, 196, 197, 198, 199, 0, 200, - 0, 201, 202, 291, 203, 0, 207, 208, 209, 210, - 0, 212, 292, 211, 213, 214, 0, 215, 204, 205, - 216, 0, 217, 293, 294, 218, 0, 224, 219, 220, - 206, 221, 223, 295, 222, 296, 0, 225, 0, 226, - 227, 228, 229, 230, 231, 232, 0, 473, 298, 299, - 0, 0, 233, 469, 300, 301, 0, 235, 236, 237, - 238, 0, 0, 239, 240, 241, 242, 0, 243, 0, - 302, 244, 245, 246, 303, 304, 97, 0, 247, 0, - 0, 0, 0, 248, 249, 250, 251, 252, 0, 0, - 0, 0, 100, 101, 0, 102, 0, 0, 0, 0, - 253, 0, 0, 0, 0, 103, 104, 105, 254, 255, - 256, 257, 106, 258, 259, 0, 107, 260, 261, 108, - 109, 0, 0, 262, 263, 264, 0, 110, 265, 0, - 0, 0, 111, 112, 113, 0, 114, 0, 115, 116, - 117, 0, 0, 118, 119, 0, 0, 0, 0, 0, - 0, 120, 121, 310, 122, 266, 123, 267, 268, 0, - 124, 0, 125, 0, 126, 0, 0, 127, 128, 0, - 129, 0, 0, 0, 269, 130, 131, 132, 270, 271, - 0, 0, 0, 133, 134, 272, 0, 135, 0, 136, - 0, 0, 0, 0, 137, 273, 0, 274, 0, 138, - 139, 140, 141, 275, 276, 0, 0, 145, 0, 142, - 0, 0, 143, 277, 144, 278, 279, 280, 0, 281, - 0, 0, 146, 147, 148, 0, 149, 150, 151, 0, - 153, 152, 0, 282, 0, 154, 0, 0, 155, 0, - 0, 156, 0, 157, 158, 159, 161, 283, 476, 0, - 162, 163, 165, 164, 0, 0, 0, 284, 166, 285, - 167, 168, 0, 169, 0, 0, 170, 0, 0, 171, - 286, 0, 172, 0, 287, 173, 174, 175, 176, 177, - 0, 178, 288, 179, 289, 180, 0, 181, 182, 183, - 184, 185, 290, 186, 187, 0, 188, 189, 190, 191, - 192, 194, 195, 193, 196, 197, 198, 199, 0, 200, - 0, 201, 202, 291, 203, 0, 207, 208, 209, 210, - 0, 212, 292, 211, 213, 214, 0, 215, 204, 205, - 216, 0, 217, 293, 294, 218, 0, 224, 219, 220, - 206, 221, 223, 295, 222, 296, 0, 225, 0, 226, - 227, 228, 229, 230, 231, 232, 0, 473, 298, 299, - 0, 0, 233, 469, 300, 301, 0, 235, 236, 237, - 238, 0, 0, 239, 240, 241, 242, 0, 243, 0, - 302, 244, 245, 246, 303, 304, 97, 0, 247, 0, - 0, 0, 0, 248, 249, 250, 251, 252, 0, 0, - 0, 0, 100, 101, 0, 102, 0, 0, 0, 0, - 253, 0, 0, 0, 0, 103, 104, 105, 254, 255, - 256, 257, 106, 258, 259, 0, 107, 260, 261, 108, - 109, 0, 0, 262, 263, 264, 0, 110, 265, 0, - 0, 0, 111, 112, 113, 0, 114, 0, 115, 116, - 117, 0, 0, 118, 119, 0, 0, 0, 0, 0, - 0, 120, 121, 310, 122, 266, 123, 267, 268, 0, - 124, 0, 125, 0, 126, 0, 0, 127, 128, 0, - 129, 0, 0, 0, 269, 130, 131, 132, 270, 271, - 0, 0, 0, 133, 134, 272, 0, 135, 0, 136, - 0, 0, 0, 0, 137, 273, 0, 274, 0, 138, - 139, 140, 141, 711, 276, 0, 0, 145, 0, 142, - 0, 0, 143, 277, 144, 278, 279, 280, 0, 281, - 0, 0, 146, 147, 148, 0, 149, 150, 151, 0, - 153, 152, 0, 282, 0, 154, 0, 0, 155, 0, - 0, 156, 0, 157, 158, 159, 161, 283, 160, 0, - 162, 163, 165, 164, 0, 0, 0, 284, 166, 285, - 167, 168, 0, 169, 0, 0, 170, 0, 0, 171, - 286, 0, 172, 0, 287, 173, 174, 175, 176, 177, - 0, 178, 288, 179, 289, 180, 0, 181, 182, 183, - 184, 185, 290, 186, 187, 0, 188, 189, 190, 191, - 192, 194, 195, 193, 196, 197, 198, 199, 0, 200, - 0, 201, 202, 291, 203, 0, 207, 208, 209, 210, - 0, 212, 292, 211, 213, 214, 0, 215, 204, 205, - 216, 0, 217, 293, 294, 218, 0, 224, 219, 220, - 206, 221, 223, 295, 222, 296, 0, 225, 0, 226, - 227, 228, 229, 230, 231, 232, 0, 297, 298, 299, - 0, 0, 233, 234, 300, 301, 0, 235, 236, 237, - 238, 0, 0, 239, 240, 241, 242, 0, 243, 0, - 302, 244, 245, 246, 303, 304, 97, 0, 247, 0, - 0, 0, 0, 248, 249, 250, 251, 252, 0, 0, - 0, 0, 100, 101, 0, 102, 0, 0, 0, 0, - 253, 0, 0, 0, 0, 103, 104, 105, 254, 255, - 256, 257, 106, 258, 259, 0, 107, 260, 261, 108, - 109, 0, 0, 262, 263, 264, 0, 110, 265, 0, - 0, 0, 111, 112, 113, 0, 114, 0, 115, 116, - 117, 0, 0, 118, 119, 0, 0, 0, 0, 0, - 0, 120, 121, 310, 122, 266, 123, 267, 268, 0, - 124, 0, 125, 0, 126, 0, 0, 127, 128, 0, - 129, 0, 0, 0, 269, 130, 131, 132, 270, 271, - 0, 0, 0, 133, 134, 272, 0, 135, 0, 136, - 0, 0, 0, 0, 137, 273, 0, 274, 0, 138, - 139, 140, 141, 709, 276, 0, 0, 145, 0, 142, - 0, 0, 143, 277, 144, 278, 279, 280, 0, 281, - 0, 0, 146, 147, 148, 0, 149, 150, 151, 0, - 153, 152, 0, 282, 0, 154, 0, 0, 155, 0, - 0, 156, 0, 157, 158, 159, 161, 283, 160, 0, - 162, 163, 165, 164, 0, 0, 0, 284, 166, 285, - 167, 168, 0, 169, 0, 0, 170, 0, 0, 171, - 286, 0, 172, 0, 287, 173, 174, 175, 176, 177, - 0, 178, 288, 179, 289, 180, 0, 181, 182, 183, - 184, 185, 290, 186, 187, 0, 188, 189, 190, 191, - 192, 194, 195, 193, 196, 197, 198, 199, 0, 200, - 0, 201, 202, 291, 203, 0, 207, 208, 209, 210, - 0, 212, 292, 211, 213, 214, 0, 215, 204, 205, - 216, 0, 217, 293, 294, 218, 0, 224, 219, 220, - 206, 221, 223, 295, 222, 296, 0, 225, 0, 226, - 227, 228, 229, 230, 231, 232, 0, 297, 298, 299, - 0, 0, 233, 234, 300, 301, 0, 235, 236, 237, - 238, 0, 0, 239, 240, 241, 242, 0, 243, 0, - 302, 244, 245, 246, 303, 304, 97, 0, 247, 0, - 0, 0, 0, 248, 249, 250, 251, 252, 0, 0, - 0, 0, 100, 101, 0, 102, 0, 0, 0, 0, - 253, 0, 0, 0, 0, 103, 104, 105, 254, 255, - 256, 257, 106, 258, 259, 0, 107, 260, 261, 108, - 109, 0, 0, 262, 263, 264, 0, 110, 265, 0, - 0, 0, 111, 112, 113, 0, 114, 0, 115, 116, - 117, 0, 0, 118, 119, 0, 0, 0, 0, 0, - 0, 120, 121, 310, 122, 266, 123, 267, 268, 0, - 124, 0, 125, 0, 126, 0, 0, 127, 128, 0, - 129, 0, 0, 0, 269, 130, 131, 132, 270, 271, - 0, 0, 0, 133, 134, 272, 0, 135, 0, 136, - 0, 0, 0, 0, 137, 273, 0, 274, 0, 138, - 139, 140, 141, 706, 276, 0, 0, 145, 0, 142, - 0, 0, 143, 277, 144, 278, 279, 280, 0, 281, - 0, 0, 146, 147, 148, 0, 149, 150, 151, 0, - 153, 152, 0, 282, 0, 154, 0, 0, 155, 0, - 0, 156, 0, 157, 158, 159, 161, 283, 160, 0, - 162, 163, 165, 164, 0, 0, 0, 284, 166, 285, - 167, 168, 0, 169, 0, 0, 170, 0, 0, 171, - 286, 0, 172, 0, 287, 173, 174, 175, 176, 177, - 0, 178, 288, 179, 289, 180, 0, 181, 182, 183, - 184, 185, 290, 186, 187, 0, 188, 189, 190, 191, - 192, 194, 195, 193, 196, 197, 198, 199, 0, 200, - 0, 201, 202, 291, 203, 0, 207, 208, 209, 210, - 0, 212, 292, 211, 213, 214, 0, 215, 204, 205, - 216, 0, 217, 293, 294, 218, 0, 224, 219, 220, - 206, 221, 223, 295, 222, 296, 0, 225, 0, 226, - 227, 228, 229, 230, 231, 232, 0, 297, 298, 299, - 0, 0, 233, 234, 300, 301, 0, 235, 236, 237, - 238, 0, 0, 239, 240, 241, 242, 0, 243, 0, - 302, 244, 245, 246, 303, 304, 97, 0, 247, 0, - 0, 0, 0, 248, 249, 250, 251, 252, 0, 0, - 0, 0, 100, 101, 0, 102, 0, 0, 0, 0, - 253, 0, 0, 0, 0, 103, 104, 105, 254, 255, - 256, 257, 106, 258, 259, 0, 107, 260, 261, 108, - 109, 0, 0, 262, 263, 264, 0, 110, 265, 0, - 0, 0, 111, 112, 113, 0, 114, 0, 115, 116, - 117, 0, 0, 118, 119, 0, 0, 0, 0, 0, - 0, 120, 121, 310, 122, 266, 123, 267, 268, 0, - 124, 0, 125, 0, 126, 0, 0, 127, 128, 0, - 129, 0, 0, 0, 269, 130, 131, 132, 270, 271, - 0, 0, 0, 133, 134, 272, 0, 135, 0, 136, - 0, 0, 0, 0, 137, 273, 0, 274, 0, 138, - 139, 140, 141, 703, 276, 0, 0, 145, 0, 142, - 0, 0, 143, 277, 144, 278, 279, 280, 0, 281, - 0, 0, 146, 147, 148, 0, 149, 150, 151, 0, - 153, 152, 0, 282, 0, 154, 0, 0, 155, 0, - 0, 156, 0, 157, 158, 159, 161, 283, 160, 0, - 162, 163, 165, 164, 0, 0, 0, 284, 166, 285, - 167, 168, 0, 169, 0, 0, 170, 0, 0, 171, - 286, 0, 172, 0, 287, 173, 174, 175, 176, 177, - 0, 178, 288, 179, 289, 180, 0, 181, 182, 183, - 184, 185, 290, 186, 187, 0, 188, 189, 190, 191, - 192, 194, 195, 193, 196, 197, 198, 199, 0, 200, - 0, 201, 202, 291, 203, 0, 207, 208, 209, 210, - 0, 212, 292, 211, 213, 214, 0, 215, 204, 205, - 216, 0, 217, 293, 294, 218, 0, 224, 219, 220, - 206, 221, 223, 295, 222, 296, 0, 225, 0, 226, - 227, 228, 229, 230, 231, 232, 0, 297, 298, 299, - 0, 0, 233, 234, 300, 301, 0, 235, 236, 237, - 238, 0, 0, 239, 240, 241, 242, 0, 243, 0, - 302, 244, 245, 246, 303, 304, 97, 0, 247, 0, - 0, 0, 0, 248, 249, 250, 251, 252, 0, 0, - 0, 0, 100, 101, 0, 102, 0, 0, 0, 0, - 253, 0, 0, 0, 0, 103, 104, 105, 254, 255, - 256, 257, 106, 258, 259, 0, 107, 260, 261, 108, - 109, 0, 0, 262, 263, 264, 0, 110, 265, 0, - 0, 0, 111, 112, 113, 0, 114, 0, 115, 116, - 117, 0, 0, 118, 119, 0, 0, 0, 0, 0, - 0, 120, 121, 310, 122, 266, 123, 267, 268, 0, - 124, 0, 125, 0, 126, 0, 0, 127, 128, 0, - 129, 0, 0, 0, 269, 130, 131, 132, 270, 271, - 0, 0, 0, 133, 134, 272, 0, 135, 0, 136, - 0, 0, 0, 0, 137, 273, 0, 274, 0, 138, - 139, 140, 141, 701, 276, 0, 0, 145, 0, 142, - 0, 0, 143, 277, 144, 278, 279, 280, 0, 281, - 0, 0, 146, 147, 148, 0, 149, 150, 151, 0, - 153, 152, 0, 282, 0, 154, 0, 0, 155, 0, - 0, 156, 0, 157, 158, 159, 161, 283, 160, 0, - 162, 163, 165, 164, 0, 0, 0, 284, 166, 285, - 167, 168, 0, 169, 0, 0, 170, 0, 0, 171, - 286, 0, 172, 0, 287, 173, 174, 175, 176, 177, - 0, 178, 288, 179, 289, 180, 0, 181, 182, 183, - 184, 185, 290, 186, 187, 0, 188, 189, 190, 191, - 192, 194, 195, 193, 196, 197, 198, 199, 0, 200, - 0, 201, 202, 291, 203, 0, 207, 208, 209, 210, - 0, 212, 292, 211, 213, 214, 0, 215, 204, 205, - 216, 0, 217, 293, 294, 218, 0, 224, 219, 220, - 206, 221, 223, 295, 222, 296, 0, 225, 0, 226, - 227, 228, 229, 230, 231, 232, 0, 297, 298, 299, - 0, 0, 233, 234, 300, 301, 0, 235, 236, 237, - 238, 0, 0, 239, 240, 241, 242, 0, 243, 0, - 302, 244, 245, 246, 303, 304, 97, 0, 247, 0, - 0, 0, 0, 248, 249, 250, 251, 252, 0, 0, - 0, 0, 100, 101, 0, 102, 0, 0, 0, 0, - 253, 0, 0, 0, 0, 103, 104, 105, 254, 255, - 256, 257, 106, 258, 259, 0, 107, 260, 261, 108, - 109, 0, 0, 262, 263, 264, 0, 110, 265, 0, - 0, 0, 111, 112, 113, 0, 114, 0, 115, 116, - 117, 0, 0, 118, 119, 0, 0, 0, 0, 0, - 0, 120, 121, 310, 122, 266, 123, 267, 268, 0, - 124, 0, 125, 0, 126, 0, 0, 127, 128, 0, - 129, 0, 0, 0, 269, 130, 131, 132, 270, 271, - 0, 0, 0, 133, 134, 272, 0, 135, 0, 136, - 0, 0, 0, 0, 137, 273, 0, 274, 0, 138, - 139, 140, 141, 579, 276, 0, 0, 145, 0, 142, - 0, 0, 143, 277, 144, 278, 279, 280, 0, 281, - 0, 0, 146, 147, 148, 0, 149, 150, 151, 0, - 153, 152, 0, 282, 0, 154, 0, 0, 155, 0, - 0, 156, 0, 157, 158, 159, 161, 283, 160, 0, - 162, 163, 165, 164, 0, 0, 0, 284, 166, 285, - 167, 168, 0, 169, 0, 0, 170, 0, 0, 171, - 286, 0, 172, 0, 287, 173, 174, 175, 176, 177, - 0, 178, 288, 179, 289, 180, 0, 181, 182, 183, - 184, 185, 290, 186, 187, 0, 188, 189, 190, 191, - 192, 194, 195, 193, 196, 197, 198, 199, 0, 200, - 0, 201, 202, 291, 203, 0, 207, 208, 209, 210, - 0, 212, 292, 211, 213, 214, 0, 215, 204, 205, - 216, 0, 217, 293, 294, 218, 0, 224, 219, 220, - 206, 221, 223, 295, 222, 296, 0, 225, 0, 226, - 227, 228, 229, 230, 231, 232, 0, 297, 298, 299, - 0, 0, 233, 234, 300, 301, 0, 235, 236, 237, - 238, 0, 0, 239, 240, 241, 242, 0, 243, 0, - 302, 244, 245, 246, 303, 304, 97, 0, 247, 0, - 0, 0, 0, 248, 249, 250, 251, 252, 0, 0, - 0, 0, 100, 101, 0, 102, 0, 0, 0, 0, - 253, 0, 0, 0, 0, 103, 104, 105, 254, 255, - 256, 257, 106, 258, 259, 0, 107, 260, 261, 108, - 109, 0, 0, 262, 263, 264, 0, 110, 265, 0, - 0, 0, 111, 112, 113, 0, 114, 0, 115, 116, - 117, 0, 0, 118, 119, 0, 0, 0, 0, 0, - 0, 120, 121, 310, 122, 266, 123, 267, 268, 0, - 124, 0, 125, 0, 126, 0, 0, 127, 128, 0, - 129, 0, 0, 0, 269, 130, 131, 132, 270, 271, - 0, 0, 0, 133, 134, 272, 0, 135, 0, 136, - 0, 0, 0, 0, 137, 273, 0, 274, 0, 138, - 139, 140, 141, 275, 276, 0, 0, 145, 0, 142, - 0, 0, 143, 277, 144, 278, 279, 280, 0, 281, - 0, 0, 146, 147, 148, 0, 149, 150, 151, 0, - 153, 152, 0, 282, 0, 154, 0, 0, 155, 0, - 0, 156, 0, 157, 158, 159, 161, 283, 160, 0, - 162, 163, 165, 164, 0, 0, 0, 284, 166, 285, - 167, 168, 0, 169, 0, 0, 170, 0, 0, 171, - 286, 0, 172, 0, 287, 173, 174, 175, 176, 177, - 0, 178, 288, 179, 289, 180, 0, 181, 182, 183, - 184, 185, 290, 560, 187, 0, 188, 189, 190, 191, - 192, 194, 195, 193, 196, 197, 198, 199, 0, 200, - 0, 201, 202, 291, 203, 0, 207, 208, 209, 210, - 0, 212, 292, 211, 213, 214, 0, 215, 204, 205, - 216, 0, 217, 293, 294, 218, 0, 224, 219, 220, - 206, 221, 223, 295, 222, 296, 0, 225, 0, 226, - 227, 228, 229, 230, 231, 232, 0, 297, 298, 299, - 0, 0, 233, 234, 300, 301, 0, 235, 236, 237, - 238, 0, 0, 239, 240, 241, 242, 0, 243, 0, - 302, 244, 245, 246, 303, 304, 97, 0, 247, 0, - 0, 0, 0, 248, 249, 250, 251, 252, 0, 0, - 0, 0, 100, 101, 0, 102, 0, 0, 0, 0, - 253, 0, 0, 0, 0, 103, 104, 105, 254, 255, - 256, 257, 106, 258, 259, 0, 107, 260, 261, 108, - 109, 0, 0, 262, 263, 264, 0, 467, 265, 0, - 0, 0, 111, 112, 113, 0, 114, 0, 115, 116, - 117, 0, 0, 118, 119, 0, 0, 0, 0, 0, - 0, 120, 121, 310, 122, 266, 123, 267, 268, 0, - 124, 0, 125, 0, 126, 0, 0, 127, 128, 0, - 129, 0, 0, 0, 269, 130, 131, 132, 270, 271, - 0, 0, 0, 133, 134, 272, 0, 135, 0, 136, - 0, 0, 0, 0, 137, 273, 0, 274, 0, 138, - 139, 140, 141, 275, 276, 0, 0, 145, 0, 142, - 0, 0, 143, 277, 144, 278, 279, 280, 0, 281, - 0, 0, 146, 147, 148, 0, 149, 150, 151, 0, - 153, 152, 0, 282, 0, 154, 0, 0, 465, 0, - 0, 156, 0, 157, 158, 159, 161, 283, 476, 0, - 162, 163, 165, 164, 0, 0, 0, 284, 166, 285, - 167, 168, 0, 169, 0, 0, 170, 0, 0, 171, - 286, 0, 172, 0, 287, 173, 174, 175, 176, 177, - 0, 178, 288, 179, 289, 180, 0, 181, 182, 183, - 184, 185, 290, 186, 187, 0, 188, 189, 190, 191, - 192, 194, 195, 193, 196, 197, 198, 199, 0, 200, - 0, 201, 202, 468, 203, 0, 207, 208, 209, 210, - 0, 212, 292, 211, 466, 214, 0, 215, 204, 205, - 216, 0, 217, 293, 294, 218, 0, 224, 219, 220, - 206, 221, 223, 295, 222, 296, 0, 225, 0, 226, - 227, 228, 229, 230, 231, 232, 0, 473, 298, 299, - 0, 0, 233, 469, 300, 301, 0, 235, 236, 237, - 238, 0, 0, 239, 240, 241, 242, 0, 243, 0, - 302, 244, 245, 246, 303, 304, 97, 0, 247, 0, - 0, 0, 0, 248, 249, 250, 251, 252, 0, 0, - 0, 0, 100, 101, 0, 102, 0, 0, 0, 0, - 253, 0, 0, 0, 0, 103, 104, 105, 254, 255, - 256, 257, 106, 258, 259, 0, 107, 260, 261, 108, - 109, 0, 0, 262, 263, 264, 0, 110, 265, 0, - 0, 0, 111, 112, 113, 0, 114, 0, 115, 116, - 117, 0, 0, 118, 119, 0, 0, 0, 0, 0, - 0, 120, 121, 310, 122, 266, 123, 267, 268, 0, - 124, 0, 125, 0, 126, 0, 0, 127, 128, 0, - 129, 0, 0, 0, 269, 130, 131, 132, 270, 271, - 0, 0, 0, 133, 134, 272, 0, 135, 0, 136, - 0, 0, 0, 0, 137, 273, 0, 274, 0, 138, - 139, 140, 141, 275, 276, 0, 0, 145, 0, 142, - 0, 0, 143, 277, 144, 278, 279, 280, 0, 281, - 0, 0, 146, 147, 148, 0, 149, 150, 151, 0, - 153, 152, 0, 282, 0, 154, 0, 0, 155, 0, - 0, 156, 0, 157, 158, 159, 161, 283, 160, 0, - 162, 163, 165, 164, 0, 0, 0, 284, 166, 285, - 167, 168, 0, 169, 0, 0, 170, 0, 0, 171, - 286, 0, 172, 0, 287, 173, 174, 0, 176, 177, - 0, 178, 288, 179, 289, 180, 0, 181, 182, 183, - 0, 185, 290, 186, 187, 0, 188, 189, 190, 191, - 192, 194, 195, 193, 196, 197, 198, 199, 0, 200, - 0, 201, 202, 291, 0, 0, 207, 208, 209, 210, - 0, 212, 292, 211, 213, 214, 0, 215, 204, 205, - 216, 0, 217, 293, 294, 218, 0, 224, 219, 220, - 206, 221, 223, 295, 222, 296, 0, 225, 0, 226, - 227, 228, 229, 230, 231, 232, 0, 297, 298, 299, - 0, 0, 233, 234, 300, 301, 0, 235, 236, 237, - 238, 0, 0, 239, 240, 241, 242, 0, 243, 0, - 302, 244, 245, 246, 303, 304, 0, 0, 247, 0, - 0, 0, 0, 248, 249, 250, 251, 252, 859, 860, - 0, 879, 880, 881, 889, 890, 891, 0, 0, 0, - 0, 0, 0, 0, 882, 0, 0, 0, 0, 0, - 0, 862, 0, 0, 893, 0, 859, 860, 0, 879, - 880, 881, 889, 890, 891, 0, 0, 0, 0, 0, - 0, 0, 882, 0, 0, 861, 0, 0, 0, 862, - 0, 876, 893, 0, 0, 0, 0, 0, 859, 860, - 0, 879, 880, 881, 889, 890, 891, 0, 0, 0, - 0, 0, 0, 861, 882, 0, 0, 0, 0, 876, - 0, 862, 0, 0, 893, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 867, 0, 0, 861, 0, 0, 0, 0, - 0, 876, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 886, 894, 0, 0, 0, 0, 0, 0, 0, - 867, 0, 0, 0, 0, 0, 0, 892, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 886, - 894, 0, 884, 0, 0, 0, 0, 0, 877, 0, - 0, 0, 867, 0, 0, 892, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 884, 886, 894, 883, 0, 0, 877, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 892, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 883, 884, 0, 0, 0, 0, 0, 877, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 878, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 883, 0, 0, 0, 887, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 878, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 887, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 878, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 887, 0, 0, - 0, 0, 0, 0, 885, 0, 0, 873, 874, 875, - 888, 0, 872, 870, 871, 863, 864, 865, 866, 868, - 869, 0, 0, 0, 0, 2113, 0, 0, 0, 0, - 0, 0, 885, 0, 0, 873, 874, 875, 888, 0, - 872, 870, 871, 863, 864, 865, 866, 868, 869, 0, - 0, 0, 0, 2088, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 885, 0, 0, 873, 874, 875, - 888, 0, 872, 870, 871, 863, 864, 865, 866, 868, - 869, 0, 0, 859, 860, 2022, 879, 880, 881, 889, - 890, 891, 0, 0, 0, 0, 0, 0, 0, 882, - 0, 0, 0, 0, 0, 0, 862, 0, 0, 893, - 0, 859, 860, 0, 879, 880, 881, 889, 890, 891, - 0, 0, 0, 0, 0, 0, 0, 882, 0, 0, - 861, 0, 0, 0, 862, 0, 876, 893, 0, 0, - 0, 0, 0, 859, 860, 0, 879, 880, 881, 889, - 890, 891, 0, 0, 0, 0, 0, 0, 861, 882, - 0, 0, 0, 0, 876, 0, 862, 0, 0, 893, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 867, 0, 0, - 861, 0, 0, 0, 0, 0, 876, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 886, 894, 0, 0, - 0, 0, 0, 0, 0, 867, 0, 0, 0, 0, - 0, 0, 892, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 886, 894, 0, 884, 0, 0, - 0, 0, 0, 877, 0, 0, 0, 867, 0, 0, - 892, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 884, 886, 894, 883, 0, - 0, 877, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 892, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 883, 884, 0, 0, - 0, 0, 0, 877, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 878, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 883, 0, - 0, 0, 887, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 878, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 887, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 878, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 887, 0, 0, 0, 0, 0, 0, 885, - 0, 0, 873, 874, 875, 888, 0, 872, 870, 871, - 863, 864, 865, 866, 868, 869, 0, 0, 0, 0, - 2017, 0, 0, 0, 0, 0, 0, 885, 0, 0, - 873, 874, 875, 888, 0, 872, 870, 871, 863, 864, - 865, 866, 868, 869, 0, 0, 0, 0, 2013, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 885, - 0, 0, 873, 874, 875, 888, 0, 872, 870, 871, - 863, 864, 865, 866, 868, 869, 0, 0, 859, 860, - 1990, 879, 880, 881, 889, 890, 891, 0, 0, 0, - 0, 0, 0, 0, 882, 0, 0, 0, 0, 0, - 0, 862, 0, 0, 893, 0, 859, 860, 0, 879, - 880, 881, 889, 890, 891, 0, 0, 0, 0, 0, - 0, 0, 882, 0, 0, 861, 0, 0, 0, 862, - 0, 876, 893, 0, 0, 0, 0, 0, 859, 860, - 0, 879, 880, 881, 889, 890, 891, 0, 0, 0, - 0, 0, 0, 861, 882, 0, 0, 0, 0, 876, - 0, 862, 0, 0, 893, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 867, 0, 0, 861, 0, 0, 0, 0, - 0, 876, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 886, 894, 0, 0, 0, 0, 0, 0, 0, - 867, 0, 0, 0, 0, 0, 0, 892, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 886, - 894, 0, 884, 0, 0, 0, 0, 0, 877, 0, - 0, 0, 867, 0, 0, 892, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 884, 886, 894, 883, 0, 0, 877, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 892, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 883, 884, 0, 0, 0, 0, 0, 877, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 878, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 883, 0, 0, 0, 887, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 878, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 887, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 878, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 887, 0, 0, - 0, 0, 0, 0, 885, 0, 0, 873, 874, 875, - 888, 0, 872, 870, 871, 863, 864, 865, 866, 868, - 869, 0, 0, 0, 0, 1921, 0, 0, 0, 0, - 0, 0, 885, 0, 0, 873, 874, 875, 888, 0, - 872, 870, 871, 863, 864, 865, 866, 868, 869, 0, - 0, 0, 0, 1920, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 885, 0, 0, 873, 874, 875, - 888, 0, 872, 870, 871, 863, 864, 865, 866, 868, - 869, 0, 0, 859, 860, 1859, 879, 880, 881, 889, - 890, 891, 0, 0, 0, 0, 0, 0, 0, 882, - 0, 0, 0, 0, 0, 0, 862, 0, 0, 893, - 0, 859, 860, 0, 879, 880, 881, 889, 890, 891, - 0, 0, 0, 0, 0, 0, 0, 882, 0, 0, - 861, 0, 0, 0, 862, 0, 876, 893, 0, 0, - 0, 0, 0, 859, 860, 0, 879, 880, 881, 889, - 890, 891, 0, 0, 0, 0, 0, 0, 861, 882, - 0, 0, 0, 0, 876, 0, 862, 0, 0, 893, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 867, 0, 0, - 861, 0, 0, 0, 0, 0, 876, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 886, 894, 0, 0, - 0, 0, 0, 0, 0, 867, 0, 0, 0, 0, - 0, 0, 892, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 886, 894, 0, 884, 0, 0, - 0, 0, 0, 877, 0, 0, 0, 867, 0, 0, - 892, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 884, 886, 894, 883, 0, - 0, 877, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 892, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 883, 884, 0, 0, - 0, 0, 0, 877, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 878, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 883, 0, - 0, 0, 887, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 878, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 887, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 878, 0, 0, 0, + 272, 273, 274, 0, 135, 0, 136, 0, 0, 353, + 0, 137, 275, 0, 276, 0, 138, 139, 140, 141, + 277, 278, 355, 0, 145, 0, 142, 0, 354, 143, + 279, 144, 280, 281, 282, 283, 284, 0, 285, 0, + 356, 146, 147, 148, 357, 149, 150, 151, 0, 153, + 152, 0, 286, 358, 154, 359, 0, 155, 0, 0, + 156, 0, 157, 158, 159, 161, 287, 160, 360, 162, + 163, 165, 164, 0, 0, 0, 288, 166, 289, 167, + 168, 0, 169, 0, 0, 170, 0, 0, 171, 290, + 361, 172, 362, 291, 173, 174, 175, 176, 177, 0, + 178, 292, 179, 293, 180, 0, 181, 182, 183, 184, + 185, 294, 186, 187, 0, 188, 189, 190, 191, 192, + 194, 195, 193, 196, 197, 198, 199, 0, 200, 363, + 201, 202, 295, 203, 0, 207, 208, 209, 210, 0, + 212, 296, 211, 213, 214, 0, 215, 204, 205, 216, + 364, 217, 297, 298, 218, 0, 224, 219, 220, 206, + 221, 223, 299, 222, 300, 0, 225, 0, 226, 227, + 228, 229, 230, 231, 232, 0, 301, 302, 303, 0, + 0, 233, 234, 304, 305, 0, 235, 236, 237, 238, + 0, 0, 239, 240, 241, 242, 0, 243, 0, 306, + 244, 245, 246, 307, 308, 97, 0, 247, 0, 0, + 0, 0, 248, 249, 250, 251, 252, 0, 0, 0, + 0, 100, 101, 0, 102, 0, 0, 0, 0, 253, + 0, 0, 0, 0, 103, 104, 105, 254, 255, 256, + 257, 106, 258, 259, 0, 107, 260, 261, 108, 109, + 0, 0, 262, 263, 264, 0, 110, 265, 0, 0, + 0, 111, 112, 113, 0, 114, 0, 115, 116, 117, + 0, 0, 118, 119, 0, 0, 0, 0, 0, 0, + 120, 121, 314, 122, 266, 123, 267, 268, 0, 124, + 0, 125, 0, 126, 0, 0, 127, 128, 0, 129, + 0, 0, 0, 269, 130, 131, 132, 270, 271, 0, + 0, 0, 133, 134, 272, 273, 274, 0, 135, 0, + 136, 0, 0, 0, 0, 137, 275, 0, 276, 0, + 138, 139, 140, 141, 277, 278, 0, 0, 145, 0, + 142, 0, 0, 143, 279, 144, 280, 281, 282, 283, + 284, 0, 285, 0, 0, 146, 147, 148, 0, 149, + 150, 151, 0, 153, 152, 0, 286, 0, 154, 0, + 0, 155, 0, 0, 156, 0, 157, 158, 159, 161, + 287, 160, 0, 162, 163, 165, 164, 0, 0, 0, + 288, 166, 289, 167, 168, 0, 169, 0, 0, 170, + 0, 0, 171, 290, 0, 172, 0, 291, 173, 174, + 175, 176, 177, 0, 178, 292, 179, 293, 180, 0, + 181, 182, 183, 184, 185, 294, 186, 187, 0, 188, + 189, 190, 191, 192, 194, 195, 193, 196, 197, 198, + 199, 0, 200, 0, 201, 202, 295, 203, 0, 207, + 208, 209, 210, 0, 212, 296, 211, 213, 214, 0, + 215, 204, 205, 216, 0, 217, 297, 298, 218, 0, + 224, 219, 220, 206, 221, 223, 299, 222, 300, 0, + 225, 0, 226, 227, 228, 229, 230, 231, 232, 0, + 301, 302, 303, 0, 0, 233, 234, 304, 305, 0, + 235, 236, 237, 238, 0, 0, 239, 240, 241, 242, + 0, 243, 0, 306, 244, 245, 246, 307, 308, 541, + 0, 247, 0, 0, 0, 0, 248, 249, 250, 251, + 252, 0, 0, 0, 0, 100, 101, 0, 102, 0, + 0, 0, 0, 253, 96, 0, 0, 0, 103, 104, + 105, 254, 255, 256, 257, 106, 258, 259, 0, 107, + 260, 261, 108, 109, 0, 0, 262, 263, 264, 0, + 110, 265, 0, 351, 0, 111, 112, 113, 0, 114, + 0, 115, 116, 117, 0, 352, 118, 119, 0, 0, + 0, 0, 0, 0, 120, 121, 314, 122, 266, 123, + 267, 268, 0, 124, 0, 125, 0, 126, 0, 0, + 127, 128, 0, 129, 0, 0, 0, 269, 130, 131, + 132, 270, 271, 0, 0, 0, 133, 134, 272, 273, + 274, 0, 135, 0, 136, 0, 0, 353, 0, 137, + 275, 0, 276, 0, 138, 139, 140, 141, 277, 278, + 355, 0, 145, 0, 142, 0, 354, 143, 279, 144, + 280, 281, 282, 283, 284, 0, 285, 0, 356, 146, + 147, 148, 357, 149, 150, 151, 0, 153, 152, 0, + 286, 358, 154, 359, 0, 155, 0, 0, 156, 0, + 157, 158, 159, 161, 287, 160, 360, 162, 163, 165, + 164, 0, 0, 0, 288, 166, 289, 167, 168, 0, + 169, 0, 0, 170, 0, 0, 171, 290, 361, 172, + 362, 291, 173, 174, 175, 176, 177, 0, 178, 292, + 179, 293, 180, 0, 181, 182, 183, 184, 185, 294, + 186, 187, 0, 188, 189, 190, 191, 192, 194, 195, + 193, 196, 197, 198, 199, 0, 200, 363, 201, 202, + 295, 203, 0, 207, 208, 209, 210, 0, 212, 296, + 211, 213, 214, 0, 215, 204, 205, 216, 364, 217, + 297, 298, 218, 0, 224, 219, 220, 206, 221, 223, + 299, 222, 300, 0, 225, 0, 226, 227, 228, 229, + 230, 231, 232, 0, 301, 302, 303, 0, 0, 233, + 234, 304, 305, 0, 235, 236, 237, 238, 0, 0, + 239, 240, 241, 242, 0, 243, 0, 306, 244, 245, + 246, 307, 308, 97, 0, 247, 0, 0, 0, 0, + 248, 249, 250, 251, 252, 0, 0, 0, 0, 100, + 101, 0, 102, 0, 0, 0, 0, 253, 0, 0, + 0, 0, 103, 104, 105, 254, 255, 256, 257, 106, + 258, 259, 0, 107, 260, 261, 108, 109, 0, 0, + 262, 263, 264, 1155, 110, 265, 0, 0, 0, 111, + 112, 113, 0, 114, 1153, 115, 116, 117, 0, 0, + 118, 119, 0, 0, 0, 0, 0, 0, 120, 121, + 314, 122, 266, 123, 267, 268, 0, 124, 0, 125, + 0, 126, 0, 0, 127, 128, 0, 129, 0, 0, + 0, 269, 130, 131, 132, 270, 271, 0, 1396, 0, + 133, 134, 272, 273, 274, 0, 135, 0, 136, 1158, + 0, 0, 0, 137, 275, 0, 276, 0, 138, 139, + 140, 141, 277, 278, 0, 0, 145, 1394, 142, 0, + 0, 143, 279, 144, 280, 281, 282, 283, 284, 0, + 285, 0, 0, 146, 147, 148, 0, 149, 150, 151, + 0, 153, 152, 0, 286, 0, 154, 0, 0, 155, + 0, 0, 156, 0, 157, 158, 159, 161, 287, 160, + 0, 162, 163, 165, 164, 0, 0, 0, 288, 166, + 289, 167, 168, 0, 169, 0, 0, 170, 0, 0, + 171, 290, 0, 172, 0, 291, 173, 174, 175, 176, + 177, 0, 178, 292, 179, 293, 180, 1157, 181, 182, + 183, 184, 185, 294, 186, 187, 0, 188, 189, 190, + 191, 192, 194, 195, 193, 196, 197, 198, 199, 0, + 200, 0, 201, 202, 295, 203, 0, 207, 208, 209, + 210, 0, 212, 296, 211, 213, 214, 0, 215, 204, + 205, 216, 0, 217, 297, 298, 218, 0, 224, 219, + 220, 206, 221, 223, 299, 222, 300, 0, 225, 0, + 226, 227, 228, 229, 230, 231, 232, 0, 301, 302, + 303, 0, 0, 233, 234, 304, 305, 0, 235, 236, + 237, 238, 0, 1395, 239, 240, 241, 242, 0, 243, + 0, 306, 244, 245, 246, 307, 308, 97, 0, 247, + 0, 0, 0, 0, 248, 249, 250, 251, 252, 0, + 0, 0, 0, 100, 101, 0, 102, 0, 0, 0, + 0, 253, 0, 0, 0, 0, 103, 104, 105, 254, + 255, 256, 257, 106, 258, 259, 0, 107, 260, 261, + 108, 109, 0, 0, 262, 263, 264, 1155, 110, 265, + 0, 0, 1150, 111, 112, 113, 0, 114, 1153, 115, + 116, 117, 0, 0, 118, 119, 0, 0, 0, 0, + 0, 0, 120, 121, 314, 122, 266, 123, 267, 268, + 0, 124, 0, 125, 0, 126, 0, 0, 127, 128, + 0, 129, 0, 0, 0, 269, 130, 131, 132, 270, + 271, 0, 0, 0, 133, 134, 272, 273, 274, 0, + 135, 0, 136, 1158, 0, 0, 0, 137, 275, 0, + 276, 0, 138, 139, 140, 141, 1149, 278, 0, 0, + 145, 0, 142, 0, 0, 143, 279, 144, 280, 281, + 282, 283, 284, 0, 285, 0, 0, 146, 147, 148, + 0, 149, 150, 151, 0, 153, 152, 0, 286, 0, + 154, 0, 0, 155, 0, 0, 156, 0, 157, 158, + 159, 161, 287, 160, 0, 162, 163, 165, 164, 0, + 0, 0, 288, 166, 289, 167, 168, 0, 169, 0, + 0, 170, 0, 0, 171, 290, 0, 172, 0, 291, + 173, 174, 175, 176, 177, 0, 178, 292, 179, 293, + 180, 1157, 181, 182, 183, 184, 185, 294, 186, 187, + 0, 188, 189, 190, 191, 192, 194, 195, 193, 196, + 197, 198, 199, 0, 200, 0, 201, 202, 295, 203, + 0, 207, 208, 209, 210, 0, 212, 296, 211, 213, + 214, 0, 215, 204, 205, 216, 0, 217, 297, 298, + 218, 0, 224, 219, 220, 206, 221, 223, 299, 222, + 300, 0, 225, 0, 226, 227, 228, 229, 230, 231, + 232, 0, 301, 302, 303, 0, 0, 233, 234, 304, + 305, 0, 235, 236, 237, 238, 0, 1156, 239, 240, + 241, 242, 0, 243, 0, 306, 244, 245, 246, 307, + 308, 97, 0, 247, 0, 0, 0, 0, 248, 249, + 250, 251, 252, 0, 0, 0, 0, 100, 101, 0, + 102, 0, 0, 0, 0, 253, 0, 1849, 0, 0, + 103, 104, 105, 254, 255, 256, 257, 106, 258, 259, + 0, 107, 260, 261, 108, 109, 0, 0, 262, 263, + 264, 0, 110, 265, 0, 0, 0, 111, 112, 113, + 0, 114, 0, 115, 116, 117, 0, 0, 118, 119, + 0, 0, 0, 0, 0, 0, 120, 121, 314, 122, + 266, 123, 267, 268, 0, 124, 0, 125, 0, 126, + 0, 0, 127, 128, 0, 129, 0, 0, 0, 269, + 130, 131, 132, 270, 271, 0, 0, 0, 133, 134, + 272, 273, 274, 0, 135, 0, 136, 0, 0, 0, + 0, 137, 275, 0, 276, 0, 138, 139, 140, 141, + 277, 278, 0, 0, 145, 0, 142, 0, 0, 143, + 279, 144, 280, 281, 282, 283, 284, 0, 285, 0, + 0, 146, 147, 148, 0, 149, 150, 151, 0, 153, + 152, 0, 286, 0, 154, 0, 0, 155, 0, 0, + 156, 0, 157, 158, 159, 161, 287, 160, 0, 162, + 163, 165, 164, 0, 0, 0, 288, 166, 289, 167, + 168, 0, 169, 0, 0, 170, 0, 0, 171, 290, + 0, 172, 0, 291, 173, 174, 175, 176, 177, 0, + 178, 292, 179, 293, 180, 0, 181, 182, 183, 184, + 185, 294, 186, 187, 0, 188, 189, 190, 191, 192, + 194, 195, 193, 196, 197, 198, 199, 0, 200, 0, + 201, 202, 295, 203, 0, 207, 208, 209, 210, 0, + 212, 296, 211, 213, 214, 0, 215, 204, 205, 216, + 0, 217, 297, 298, 218, 0, 224, 219, 220, 206, + 221, 223, 299, 222, 300, 0, 225, 0, 226, 227, + 228, 229, 230, 231, 232, 0, 301, 302, 303, 0, + 0, 233, 234, 304, 305, 0, 235, 236, 237, 238, + 0, 0, 239, 240, 241, 242, 0, 243, 0, 306, + 244, 245, 246, 307, 308, 97, 0, 247, 0, 0, + 0, 0, 248, 249, 250, 251, 252, 0, 0, 0, + 0, 100, 101, 0, 102, 0, 0, 0, 0, 253, + 0, 0, 0, 0, 103, 104, 105, 254, 255, 256, + 257, 106, 258, 259, 0, 107, 260, 261, 108, 109, + 0, 0, 262, 263, 264, 0, 110, 265, 0, 0, + 0, 111, 112, 113, 0, 114, 0, 115, 116, 117, + 0, 0, 118, 119, 0, 0, 0, 0, 0, 0, + 120, 121, 314, 122, 266, 123, 267, 268, 0, 124, + 0, 125, 0, 126, 0, 0, 127, 128, 0, 129, + 0, 0, 0, 269, 130, 131, 132, 270, 271, 0, + 0, 0, 133, 134, 272, 273, 274, 0, 135, 0, + 136, 0, 0, 0, 0, 137, 275, 0, 276, 0, + 138, 139, 140, 141, 277, 278, 0, 0, 145, 0, + 142, 0, 0, 143, 279, 144, 280, 281, 282, 283, + 284, 0, 285, 0, 0, 146, 147, 148, 0, 149, + 150, 151, 0, 153, 152, 0, 286, 0, 154, 0, + 0, 155, 0, 0, 156, 0, 157, 158, 159, 161, + 287, 160, 0, 162, 163, 165, 164, 0, 0, 0, + 288, 166, 289, 167, 168, 0, 169, 0, 575, 170, + 0, 0, 171, 290, 0, 172, 0, 291, 173, 174, + 175, 176, 177, 0, 178, 292, 179, 293, 180, 0, + 181, 182, 183, 184, 185, 294, 186, 187, 0, 188, + 189, 190, 191, 192, 194, 195, 193, 196, 197, 198, + 199, 0, 200, 0, 201, 202, 295, 203, 0, 207, + 208, 209, 210, 0, 212, 296, 211, 213, 214, 0, + 215, 204, 205, 216, 0, 217, 297, 298, 218, 0, + 224, 219, 220, 206, 221, 223, 299, 222, 300, 0, + 225, 0, 226, 227, 228, 229, 230, 231, 232, 0, + 301, 302, 303, 0, 0, 233, 234, 304, 305, 0, + 235, 236, 237, 238, 0, 0, 239, 240, 241, 242, + 0, 243, 0, 306, 244, 245, 246, 307, 308, 97, + 0, 247, 0, 0, 0, 0, 248, 249, 250, 251, + 252, 0, 0, 0, 0, 100, 101, 1080, 102, 0, + 0, 0, 0, 253, 0, 0, 0, 0, 103, 104, + 105, 254, 255, 256, 257, 106, 258, 259, 0, 107, + 260, 261, 108, 109, 0, 0, 262, 263, 264, 0, + 110, 265, 0, 0, 0, 111, 112, 113, 0, 114, + 0, 115, 116, 117, 0, 0, 118, 119, 0, 0, + 0, 0, 0, 0, 120, 121, 314, 122, 266, 123, + 267, 268, 0, 124, 0, 125, 0, 126, 0, 0, + 127, 128, 0, 129, 0, 0, 0, 269, 130, 131, + 132, 270, 271, 0, 0, 0, 133, 134, 272, 273, + 274, 0, 135, 0, 136, 0, 0, 0, 0, 137, + 275, 0, 276, 0, 138, 139, 140, 141, 277, 278, + 0, 0, 145, 0, 142, 0, 0, 143, 279, 144, + 280, 281, 282, 283, 284, 0, 285, 0, 0, 146, + 147, 148, 0, 149, 150, 151, 0, 153, 152, 0, + 286, 0, 154, 0, 0, 155, 0, 0, 156, 0, + 157, 158, 159, 161, 287, 160, 0, 162, 163, 165, + 164, 0, 0, 0, 288, 166, 289, 167, 168, 0, + 169, 0, 0, 170, 0, 0, 171, 290, 0, 172, + 0, 291, 173, 174, 175, 176, 177, 0, 178, 292, + 179, 293, 180, 0, 181, 182, 183, 184, 185, 294, + 186, 187, 0, 188, 189, 190, 191, 192, 194, 195, + 193, 196, 197, 198, 199, 0, 200, 0, 201, 202, + 295, 203, 0, 207, 208, 209, 210, 0, 212, 296, + 211, 213, 214, 0, 215, 204, 205, 216, 0, 217, + 297, 298, 218, 0, 224, 219, 220, 206, 221, 223, + 299, 222, 300, 0, 225, 0, 226, 227, 228, 229, + 230, 231, 232, 0, 301, 302, 303, 0, 0, 233, + 234, 304, 305, 0, 235, 236, 237, 238, 0, 0, + 239, 240, 241, 242, 0, 243, 0, 306, 244, 245, + 246, 307, 308, 97, 0, 247, 0, 0, 0, 0, + 248, 249, 250, 251, 252, 0, 0, 0, 0, 100, + 101, 0, 102, 0, 0, 0, 0, 253, 0, 0, + 0, 0, 103, 104, 105, 254, 255, 256, 257, 106, + 258, 259, 0, 107, 260, 261, 108, 109, 0, 0, + 262, 263, 264, 0, 110, 265, 0, 0, 0, 111, + 112, 113, 0, 114, 0, 115, 116, 117, 0, 0, + 118, 119, 0, 0, 0, 0, 0, 0, 120, 121, + 314, 122, 266, 123, 267, 268, 0, 124, 0, 125, + 0, 126, 0, 0, 127, 128, 0, 129, 0, 0, + 0, 269, 130, 131, 132, 270, 271, 0, 0, 0, + 133, 134, 272, 273, 274, 0, 135, 0, 136, 0, + 0, 0, 0, 137, 275, 0, 276, 0, 138, 139, + 140, 141, 991, 278, 0, 0, 145, 0, 142, 0, + 0, 143, 279, 144, 280, 281, 282, 283, 284, 0, + 285, 0, 0, 146, 147, 148, 0, 149, 150, 151, + 0, 153, 152, 0, 286, 0, 154, 0, 0, 155, + 0, 0, 156, 0, 157, 158, 159, 161, 287, 160, + 0, 162, 163, 165, 164, 0, 0, 0, 288, 166, + 289, 167, 168, 0, 169, 0, 575, 170, 0, 0, + 171, 290, 0, 172, 0, 291, 173, 174, 175, 176, + 177, 0, 178, 292, 179, 293, 180, 0, 181, 182, + 183, 184, 185, 294, 186, 187, 0, 188, 189, 190, + 191, 192, 194, 195, 193, 196, 197, 198, 199, 0, + 200, 0, 201, 202, 295, 203, 0, 207, 208, 209, + 210, 0, 212, 296, 211, 213, 214, 0, 215, 204, + 205, 216, 0, 217, 297, 298, 218, 0, 224, 219, + 220, 206, 221, 223, 299, 222, 300, 0, 225, 0, + 226, 227, 228, 229, 230, 231, 232, 0, 301, 302, + 303, 0, 0, 233, 234, 304, 305, 0, 235, 236, + 237, 238, 0, 0, 239, 240, 241, 242, 0, 243, + 0, 306, 244, 245, 246, 307, 308, 97, 0, 247, + 0, 0, 0, 0, 248, 249, 250, 251, 252, 0, + 0, 0, 0, 100, 101, 731, 102, 0, 0, 0, + 0, 253, 0, 0, 0, 0, 103, 104, 105, 254, + 255, 256, 257, 106, 258, 259, 0, 107, 260, 261, + 108, 109, 0, 0, 262, 263, 264, 0, 110, 265, + 0, 0, 0, 111, 112, 113, 0, 114, 0, 115, + 116, 117, 0, 0, 118, 119, 0, 0, 0, 0, + 0, 0, 120, 121, 314, 122, 266, 123, 267, 268, + 0, 124, 0, 125, 0, 126, 0, 0, 127, 128, + 0, 129, 0, 0, 0, 269, 130, 131, 132, 270, + 271, 0, 0, 0, 133, 134, 272, 273, 274, 0, + 135, 0, 136, 0, 0, 0, 0, 137, 275, 0, + 276, 0, 138, 139, 140, 141, 277, 278, 0, 0, + 145, 0, 142, 0, 0, 143, 279, 144, 280, 281, + 282, 283, 284, 0, 285, 0, 0, 146, 147, 148, + 0, 149, 150, 151, 0, 153, 152, 0, 286, 0, + 154, 0, 0, 155, 0, 0, 156, 0, 157, 158, + 159, 161, 287, 160, 0, 162, 163, 165, 164, 0, + 0, 0, 288, 166, 289, 167, 168, 0, 169, 0, + 0, 170, 0, 0, 171, 290, 0, 172, 0, 291, + 173, 174, 175, 176, 177, 0, 178, 292, 179, 293, + 180, 0, 181, 182, 183, 184, 185, 294, 186, 187, + 0, 188, 189, 190, 191, 192, 194, 195, 193, 196, + 197, 198, 199, 0, 200, 0, 201, 202, 295, 203, + 0, 207, 208, 209, 210, 0, 212, 296, 211, 213, + 214, 0, 215, 204, 205, 216, 0, 217, 297, 298, + 218, 0, 224, 219, 220, 206, 221, 223, 299, 222, + 300, 0, 225, 0, 226, 227, 228, 229, 230, 231, + 232, 0, 301, 302, 303, 0, 0, 233, 234, 304, + 305, 0, 235, 236, 237, 238, 0, 0, 239, 240, + 241, 242, 0, 243, 0, 306, 244, 245, 246, 307, + 308, 97, 0, 247, 0, 0, 0, 0, 248, 249, + 250, 251, 252, 0, 0, 0, 0, 100, 101, 0, + 102, 0, 0, 0, 0, 253, 0, 0, 0, 0, + 103, 104, 105, 254, 255, 256, 257, 106, 258, 259, + 0, 107, 260, 261, 108, 109, 0, 0, 262, 263, + 264, 0, 110, 265, 0, 0, 0, 111, 112, 113, + 0, 114, 0, 115, 116, 117, 0, 0, 118, 119, + 0, 0, 0, 0, 0, 0, 120, 121, 314, 122, + 266, 123, 267, 268, 0, 124, 0, 125, 0, 126, + 0, 0, 127, 128, 0, 129, 0, 0, 0, 269, + 130, 131, 132, 270, 271, 0, 0, 0, 133, 134, + 272, 273, 274, 0, 135, 0, 136, 0, 0, 0, + 0, 137, 275, 0, 276, 0, 138, 139, 140, 141, + 587, 278, 0, 0, 145, 0, 142, 0, 0, 143, + 279, 144, 280, 281, 282, 283, 284, 0, 285, 0, + 0, 146, 147, 148, 0, 149, 150, 151, 0, 153, + 152, 0, 286, 0, 154, 0, 0, 155, 0, 0, + 156, 0, 157, 158, 159, 161, 287, 160, 0, 162, + 163, 165, 164, 0, 0, 0, 288, 166, 289, 167, + 168, 0, 169, 0, 575, 170, 0, 0, 171, 290, + 0, 172, 0, 291, 173, 174, 175, 176, 177, 0, + 178, 292, 179, 293, 180, 0, 181, 182, 183, 184, + 185, 294, 186, 187, 0, 188, 189, 190, 191, 192, + 194, 195, 193, 196, 197, 198, 199, 0, 200, 0, + 201, 202, 295, 203, 0, 207, 208, 209, 210, 0, + 212, 296, 211, 213, 214, 0, 215, 204, 205, 216, + 0, 217, 297, 298, 218, 0, 224, 219, 220, 206, + 221, 223, 299, 222, 300, 0, 225, 0, 226, 227, + 228, 229, 230, 231, 232, 0, 301, 302, 303, 0, + 0, 233, 234, 304, 305, 0, 235, 236, 237, 238, + 0, 0, 239, 240, 241, 242, 0, 243, 0, 306, + 244, 245, 246, 307, 308, 97, 0, 247, 0, 0, + 0, 0, 248, 249, 250, 251, 252, 0, 0, 0, + 0, 100, 101, 0, 102, 0, 0, 0, 0, 253, + 0, 0, 0, 0, 103, 104, 105, 254, 255, 256, + 257, 106, 258, 259, 0, 107, 260, 261, 108, 109, + 0, 0, 262, 263, 264, 0, 110, 265, 0, 0, + 0, 111, 112, 113, 0, 114, 0, 115, 116, 117, + 0, 0, 118, 119, 0, 0, 0, 0, 0, 0, + 120, 121, 314, 122, 266, 123, 267, 268, 0, 124, + 0, 125, 0, 126, 0, 0, 127, 128, 0, 129, + 0, 0, 0, 269, 130, 131, 132, 270, 271, 0, + 0, 0, 133, 134, 272, 273, 274, 0, 135, 0, + 136, 0, 0, 0, 0, 137, 275, 0, 276, 0, + 138, 139, 140, 141, 580, 278, 0, 0, 145, 0, + 142, 0, 0, 143, 279, 144, 280, 281, 282, 283, + 284, 0, 285, 0, 0, 146, 147, 148, 0, 149, + 150, 151, 0, 153, 152, 0, 286, 0, 154, 0, + 0, 155, 0, 0, 156, 0, 157, 158, 159, 161, + 287, 160, 0, 162, 163, 165, 164, 0, 0, 0, + 288, 166, 289, 167, 168, 0, 169, 0, 575, 170, + 0, 0, 171, 290, 0, 172, 0, 291, 173, 174, + 175, 176, 177, 0, 178, 292, 179, 293, 180, 0, + 181, 182, 183, 184, 185, 294, 186, 187, 0, 188, + 189, 190, 191, 192, 194, 195, 193, 196, 197, 198, + 199, 0, 200, 0, 201, 202, 295, 203, 0, 207, + 208, 209, 210, 0, 212, 296, 211, 213, 214, 0, + 215, 204, 205, 216, 0, 217, 297, 298, 218, 0, + 224, 219, 220, 206, 221, 223, 299, 222, 300, 0, + 225, 0, 226, 227, 228, 229, 230, 231, 232, 0, + 301, 302, 303, 0, 0, 233, 234, 304, 305, 0, + 235, 236, 237, 238, 0, 0, 239, 240, 241, 242, + 0, 243, 0, 306, 244, 245, 246, 307, 308, 97, + 0, 247, 0, 0, 0, 0, 248, 249, 250, 251, + 252, 0, 0, 0, 0, 100, 101, 450, 102, 0, + 0, 0, 0, 253, 0, 0, 0, 0, 103, 104, + 105, 254, 255, 256, 257, 106, 258, 259, 0, 107, + 260, 261, 108, 109, 0, 0, 262, 263, 264, 0, + 110, 265, 0, 0, 0, 111, 112, 113, 0, 114, + 0, 115, 116, 117, 0, 0, 118, 119, 0, 0, + 0, 0, 0, 0, 120, 121, 314, 122, 266, 123, + 267, 268, 0, 124, 0, 125, 0, 126, 0, 0, + 127, 128, 0, 129, 0, 0, 0, 269, 130, 131, + 132, 270, 271, 0, 0, 0, 133, 134, 272, 273, + 274, 0, 135, 0, 136, 0, 0, 0, 0, 137, + 275, 0, 276, 0, 138, 139, 140, 141, 277, 278, + 0, 0, 145, 0, 142, 0, 0, 143, 279, 144, + 280, 281, 282, 283, 284, 0, 285, 0, 0, 146, + 147, 148, 0, 149, 150, 151, 0, 153, 152, 0, + 286, 0, 154, 0, 0, 155, 0, 0, 156, 0, + 157, 158, 159, 161, 287, 160, 0, 162, 163, 165, + 164, 0, 0, 0, 288, 166, 289, 167, 168, 0, + 169, 0, 0, 170, 0, 0, 171, 290, 0, 172, + 0, 291, 173, 174, 175, 176, 177, 0, 178, 292, + 179, 293, 449, 0, 181, 182, 183, 184, 185, 294, + 186, 187, 0, 188, 189, 190, 191, 192, 194, 195, + 193, 196, 197, 198, 199, 0, 200, 0, 201, 202, + 295, 203, 0, 207, 208, 209, 210, 0, 212, 296, + 211, 213, 214, 0, 215, 204, 205, 216, 0, 217, + 297, 298, 218, 0, 224, 219, 220, 206, 221, 223, + 299, 222, 300, 0, 225, 0, 226, 227, 228, 229, + 230, 231, 232, 0, 301, 302, 303, 0, 0, 233, + 234, 304, 305, 0, 235, 236, 237, 238, 0, 0, + 239, 240, 241, 242, 0, 243, 0, 306, 244, 245, + 246, 307, 308, 97, 0, 247, 0, 0, 0, 0, + 248, 249, 250, 251, 252, 0, 0, 0, 0, 100, + 101, 0, 102, 0, 0, 0, 0, 253, 0, 0, + 0, 0, 103, 104, 105, 254, 255, 256, 257, 106, + 258, 259, 0, 107, 260, 261, 108, 109, 0, 0, + 262, 263, 264, 0, 110, 265, 0, 0, 0, 111, + 112, 113, 0, 114, 0, 115, 116, 117, 0, 0, + 118, 119, 0, 0, 0, 0, 0, 0, 120, 121, + 314, 122, 266, 123, 267, 268, 0, 124, 0, 125, + 0, 126, 0, 0, 127, 128, 0, 129, 0, 0, + 0, 269, 130, 131, 132, 270, 271, 0, 0, 0, + 133, 134, 272, 273, 274, 0, 135, 0, 136, 0, + 0, 0, 0, 137, 275, 0, 276, 0, 138, 139, + 140, 141, 277, 278, 0, 0, 145, 0, 142, 0, + 0, 143, 279, 144, 280, 281, 282, 283, 284, 0, + 285, 0, 0, 146, 147, 148, 0, 149, 150, 151, + 0, 153, 152, 0, 286, 0, 154, 0, 0, 155, + 0, 0, 156, 0, 157, 158, 159, 161, 287, 160, + 0, 162, 163, 165, 164, 0, 0, 0, 288, 166, + 289, 167, 168, 0, 169, 0, 0, 170, 0, 0, + 171, 290, 0, 172, 0, 291, 173, 174, 175, 176, + 177, 0, 178, 292, 179, 293, 180, 0, 181, 182, + 183, 184, 185, 294, 186, 187, 0, 188, 189, 190, + 191, 192, 194, 195, 193, 196, 197, 198, 199, 0, + 200, 0, 201, 202, 295, 203, 0, 207, 208, 209, + 210, 0, 212, 296, 211, 213, 214, 0, 215, 204, + 205, 216, 0, 217, 297, 298, 218, 0, 224, 219, + 220, 206, 221, 223, 299, 222, 300, 0, 225, 0, + 226, 227, 228, 229, 230, 231, 232, 0, 301, 302, + 303, 0, 0, 233, 234, 304, 305, 0, 235, 236, + 237, 238, 0, 0, 239, 240, 241, 242, 0, 243, + 0, 306, 244, 245, 246, 307, 308, 97, 0, 247, + 0, 0, 0, 0, 248, 249, 250, 251, 252, 0, + 0, 0, 0, 100, 101, 0, 102, 0, 0, 0, + 0, 253, 0, 0, 0, 0, 103, 104, 105, 254, + 255, 256, 257, 106, 258, 259, 0, 107, 260, 261, + 108, 109, 0, 0, 262, 263, 264, 0, 110, 265, + 0, 0, 0, 111, 112, 113, 0, 114, 0, 115, + 116, 117, 0, 0, 118, 119, 0, 0, 0, 0, + 0, 0, 120, 121, 314, 122, 266, 123, 267, 268, + 0, 124, 0, 125, 0, 126, 0, 0, 127, 128, + 0, 129, 0, 0, 0, 269, 130, 131, 132, 270, + 271, 0, 0, 0, 133, 134, 272, 273, 274, 0, + 135, 0, 136, 0, 0, 0, 0, 137, 275, 0, + 276, 0, 138, 139, 140, 141, 1453, 278, 0, 0, + 145, 0, 142, 0, 0, 143, 279, 144, 280, 281, + 282, 283, 284, 0, 285, 0, 0, 146, 147, 148, + 0, 149, 150, 151, 0, 153, 152, 0, 286, 0, + 154, 0, 0, 155, 0, 0, 156, 0, 157, 158, + 159, 161, 287, 160, 0, 162, 163, 165, 164, 0, + 0, 0, 288, 166, 289, 167, 168, 0, 169, 0, + 0, 170, 0, 0, 171, 290, 0, 172, 0, 291, + 173, 174, 175, 176, 177, 0, 178, 292, 179, 293, + 180, 0, 181, 182, 183, 184, 185, 294, 186, 187, + 0, 188, 189, 190, 191, 192, 194, 195, 193, 196, + 197, 198, 199, 0, 200, 0, 201, 202, 295, 203, + 0, 207, 208, 209, 210, 0, 212, 296, 211, 213, + 214, 0, 215, 204, 205, 216, 0, 217, 297, 298, + 218, 0, 224, 219, 220, 206, 221, 223, 299, 222, + 300, 0, 225, 0, 226, 227, 228, 229, 230, 231, + 232, 0, 301, 302, 303, 0, 0, 233, 234, 304, + 305, 0, 235, 236, 237, 238, 0, 0, 239, 240, + 241, 242, 0, 243, 0, 306, 244, 245, 246, 307, + 308, 97, 0, 247, 0, 0, 0, 0, 248, 249, + 250, 251, 252, 0, 0, 0, 0, 100, 101, 0, + 102, 0, 0, 0, 0, 253, 0, 0, 0, 0, + 103, 104, 105, 254, 255, 256, 257, 106, 258, 259, + 0, 107, 260, 261, 108, 109, 0, 0, 262, 263, + 264, 0, 110, 265, 0, 0, 0, 111, 112, 113, + 0, 114, 0, 115, 116, 117, 0, 0, 118, 119, + 0, 0, 0, 0, 0, 0, 120, 121, 314, 122, + 266, 123, 267, 268, 0, 124, 0, 125, 0, 126, + 0, 0, 127, 128, 0, 129, 0, 0, 0, 269, + 130, 131, 132, 270, 271, 0, 0, 0, 133, 134, + 272, 273, 274, 0, 135, 0, 136, 0, 0, 0, + 0, 137, 275, 0, 276, 0, 138, 139, 140, 141, + 1451, 278, 0, 0, 145, 0, 142, 0, 0, 143, + 279, 144, 280, 281, 282, 283, 284, 0, 285, 0, + 0, 146, 147, 148, 0, 149, 150, 151, 0, 153, + 152, 0, 286, 0, 154, 0, 0, 155, 0, 0, + 156, 0, 157, 158, 159, 161, 287, 160, 0, 162, + 163, 165, 164, 0, 0, 0, 288, 166, 289, 167, + 168, 0, 169, 0, 0, 170, 0, 0, 171, 290, + 0, 172, 0, 291, 173, 174, 175, 176, 177, 0, + 178, 292, 179, 293, 180, 0, 181, 182, 183, 184, + 185, 294, 186, 187, 0, 188, 189, 190, 191, 192, + 194, 195, 193, 196, 197, 198, 199, 0, 200, 0, + 201, 202, 295, 203, 0, 207, 208, 209, 210, 0, + 212, 296, 211, 213, 214, 0, 215, 204, 205, 216, + 0, 217, 297, 298, 218, 0, 224, 219, 220, 206, + 221, 223, 299, 222, 300, 0, 225, 0, 226, 227, + 228, 229, 230, 231, 232, 0, 301, 302, 303, 0, + 0, 233, 234, 304, 305, 0, 235, 236, 237, 238, + 0, 0, 239, 240, 241, 242, 0, 243, 0, 306, + 244, 245, 246, 307, 308, 97, 0, 247, 0, 0, + 0, 0, 248, 249, 250, 251, 252, 0, 0, 0, + 0, 100, 101, 0, 102, 0, 0, 0, 0, 253, + 0, 0, 0, 0, 103, 104, 105, 254, 255, 256, + 257, 106, 258, 259, 0, 107, 260, 261, 108, 109, + 0, 0, 262, 263, 264, 0, 110, 265, 0, 0, + 0, 111, 112, 113, 0, 114, 0, 115, 116, 117, + 0, 0, 118, 119, 0, 0, 0, 0, 0, 0, + 120, 121, 314, 122, 266, 123, 267, 268, 0, 124, + 0, 125, 0, 126, 0, 0, 127, 128, 0, 129, + 0, 0, 0, 269, 130, 131, 132, 270, 271, 0, + 0, 0, 133, 134, 272, 273, 274, 0, 135, 0, + 136, 0, 0, 0, 0, 137, 275, 0, 276, 0, + 138, 139, 140, 141, 1440, 278, 0, 0, 145, 0, + 142, 0, 0, 143, 279, 144, 280, 281, 282, 283, + 284, 0, 285, 0, 0, 146, 147, 148, 0, 149, + 150, 151, 0, 153, 152, 0, 286, 0, 154, 0, + 0, 155, 0, 0, 156, 0, 157, 158, 159, 161, + 287, 160, 0, 162, 163, 165, 164, 0, 0, 0, + 288, 166, 289, 167, 168, 0, 169, 0, 0, 170, + 0, 0, 171, 290, 0, 172, 0, 291, 173, 174, + 175, 176, 177, 0, 178, 292, 179, 293, 180, 0, + 181, 182, 183, 184, 185, 294, 186, 187, 0, 188, + 189, 190, 191, 192, 194, 195, 193, 196, 197, 198, + 199, 0, 200, 0, 201, 202, 295, 203, 0, 207, + 208, 209, 210, 0, 212, 296, 211, 213, 214, 0, + 215, 204, 205, 216, 0, 217, 297, 298, 218, 0, + 224, 219, 220, 206, 221, 223, 299, 222, 300, 0, + 225, 0, 226, 227, 228, 229, 230, 231, 232, 0, + 301, 302, 303, 0, 0, 233, 234, 304, 305, 0, + 235, 236, 237, 238, 0, 0, 239, 240, 241, 242, + 0, 243, 0, 306, 244, 245, 246, 307, 308, 97, + 0, 247, 0, 0, 0, 0, 248, 249, 250, 251, + 252, 0, 0, 0, 0, 100, 101, 0, 102, 0, + 0, 0, 0, 253, 0, 0, 0, 0, 103, 104, + 105, 254, 255, 256, 257, 106, 258, 259, 0, 107, + 260, 261, 108, 109, 0, 0, 262, 263, 264, 0, + 110, 265, 0, 0, 0, 111, 112, 113, 0, 114, + 0, 115, 116, 117, 0, 0, 118, 119, 0, 0, + 0, 0, 0, 0, 120, 121, 314, 122, 266, 123, + 267, 268, 0, 124, 0, 125, 0, 126, 0, 0, + 127, 128, 0, 129, 0, 0, 0, 269, 130, 131, + 132, 270, 271, 0, 0, 0, 133, 134, 272, 273, + 274, 0, 135, 0, 136, 0, 0, 0, 0, 137, + 275, 0, 276, 0, 138, 139, 140, 141, 1110, 278, + 0, 0, 145, 0, 142, 0, 0, 143, 279, 144, + 280, 281, 282, 283, 284, 0, 285, 0, 0, 146, + 147, 148, 0, 149, 150, 151, 0, 153, 152, 0, + 286, 0, 154, 0, 0, 155, 0, 0, 156, 0, + 157, 158, 159, 161, 287, 160, 0, 162, 163, 165, + 164, 0, 0, 0, 288, 166, 289, 167, 168, 0, + 169, 0, 0, 170, 0, 0, 171, 290, 0, 172, + 0, 291, 173, 174, 175, 176, 177, 0, 178, 292, + 179, 293, 180, 0, 181, 182, 183, 184, 185, 294, + 186, 187, 0, 188, 189, 190, 191, 192, 194, 195, + 193, 196, 197, 198, 199, 0, 200, 0, 201, 202, + 295, 203, 0, 207, 208, 209, 210, 0, 212, 296, + 211, 213, 214, 0, 215, 204, 205, 216, 0, 217, + 297, 298, 218, 0, 224, 219, 220, 206, 221, 223, + 299, 222, 300, 0, 225, 0, 226, 227, 228, 229, + 230, 231, 232, 0, 301, 302, 303, 0, 0, 233, + 234, 304, 305, 0, 235, 236, 237, 238, 0, 0, + 239, 240, 241, 242, 0, 243, 0, 306, 244, 245, + 246, 307, 308, 97, 0, 247, 0, 0, 0, 0, + 248, 249, 250, 251, 252, 0, 0, 0, 0, 100, + 101, 0, 102, 0, 0, 0, 0, 253, 0, 0, + 0, 0, 103, 104, 105, 254, 255, 256, 257, 106, + 258, 259, 0, 107, 260, 261, 108, 109, 0, 0, + 262, 263, 264, 0, 110, 265, 0, 0, 0, 111, + 112, 113, 0, 114, 0, 115, 116, 117, 0, 0, + 118, 119, 0, 0, 0, 0, 0, 0, 120, 121, + 314, 122, 266, 123, 267, 268, 0, 124, 0, 125, + 0, 126, 0, 0, 127, 128, 0, 129, 0, 0, + 0, 269, 130, 131, 132, 270, 271, 0, 0, 0, + 133, 134, 272, 273, 274, 0, 135, 0, 136, 0, + 0, 0, 0, 137, 275, 0, 276, 0, 138, 139, + 140, 141, 277, 278, 0, 0, 145, 0, 142, 0, + 0, 143, 279, 144, 280, 281, 282, 283, 284, 0, + 285, 0, 0, 146, 147, 148, 0, 149, 150, 151, + 0, 153, 152, 0, 286, 0, 154, 0, 0, 155, + 0, 0, 156, 0, 157, 158, 159, 161, 287, 160, + 0, 162, 163, 165, 164, 0, 0, 0, 288, 166, + 289, 167, 168, 0, 169, 0, 0, 170, 0, 0, + 171, 290, 0, 172, 0, 291, 173, 174, 175, 176, + 177, 0, 178, 292, 179, 293, 180, 0, 181, 182, + 183, 184, 185, 294, 186, 187, 0, 188, 189, 190, + 191, 192, 194, 195, 193, 196, 197, 198, 199, 0, + 200, 0, 201, 202, 295, 203, 0, 466, 208, 209, + 210, 0, 212, 296, 211, 213, 214, 0, 215, 204, + 205, 216, 0, 217, 297, 298, 218, 0, 224, 219, + 220, 206, 221, 223, 299, 222, 300, 0, 225, 0, + 226, 227, 228, 229, 230, 231, 232, 0, 301, 302, + 303, 0, 0, 233, 234, 304, 305, 0, 235, 236, + 237, 238, 0, 0, 239, 240, 241, 242, 0, 243, + 0, 306, 244, 245, 246, 307, 308, 97, 0, 247, + 0, 0, 0, 0, 248, 249, 250, 251, 252, 0, + 0, 0, 0, 100, 101, 0, 102, 0, 0, 0, + 0, 253, 0, 975, 0, 0, 103, 104, 105, 254, + 255, 256, 257, 106, 258, 259, 0, 107, 260, 261, + 108, 109, 0, 0, 262, 263, 264, 0, 110, 265, + 0, 0, 0, 111, 112, 113, 0, 114, 0, 115, + 116, 117, 0, 0, 118, 119, 0, 0, 0, 0, + 0, 0, 120, 121, 314, 122, 266, 123, 267, 268, + 0, 124, 0, 125, 0, 126, 0, 0, 127, 128, + 0, 129, 0, 0, 0, 269, 130, 131, 132, 270, + 271, 0, 0, 0, 133, 134, 272, 273, 274, 0, + 135, 0, 136, 0, 0, 0, 0, 137, 275, 0, + 276, 0, 138, 139, 140, 141, 277, 278, 0, 0, + 145, 0, 142, 0, 0, 143, 279, 144, 280, 281, + 282, 283, 284, 0, 285, 0, 0, 146, 147, 148, + 0, 149, 150, 151, 0, 153, 152, 0, 286, 0, + 154, 0, 0, 155, 0, 0, 156, 0, 157, 158, + 159, 161, 287, 160, 0, 162, 163, 165, 164, 0, + 0, 0, 288, 166, 289, 167, 168, 0, 169, 0, + 0, 170, 0, 0, 171, 290, 0, 172, 0, 291, + 173, 174, 175, 176, 177, 0, 178, 292, 179, 293, + 180, 0, 181, 182, 183, 184, 185, 294, 186, 187, + 0, 188, 189, 190, 191, 192, 194, 195, 193, 196, + 197, 198, 199, 0, 200, 0, 201, 202, 295, 203, + 0, 207, 208, 209, 210, 0, 212, 296, 211, 213, + 214, 0, 0, 204, 205, 216, 0, 217, 297, 298, + 218, 0, 224, 219, 220, 206, 221, 223, 299, 222, + 300, 0, 225, 0, 226, 227, 228, 229, 230, 231, + 232, 0, 301, 302, 303, 0, 0, 233, 234, 304, + 305, 0, 235, 236, 237, 238, 0, 0, 239, 240, + 241, 242, 0, 243, 0, 306, 244, 245, 246, 307, + 308, 97, 0, 247, 0, 0, 0, 0, 248, 249, + 250, 251, 252, 0, 0, 0, 0, 100, 101, 0, + 102, 0, 0, 0, 0, 253, 0, 0, 0, 0, + 103, 104, 105, 254, 255, 256, 257, 106, 258, 259, + 0, 107, 260, 261, 108, 109, 0, 0, 262, 263, + 264, 0, 110, 265, 0, 0, 0, 111, 112, 113, + 0, 114, 0, 115, 116, 117, 0, 0, 118, 119, + 0, 0, 0, 0, 0, 0, 120, 121, 314, 122, + 266, 123, 267, 268, 0, 124, 0, 125, 0, 126, + 0, 0, 127, 128, 0, 129, 0, 0, 0, 269, + 130, 131, 132, 270, 271, 0, 0, 0, 133, 134, + 272, 273, 274, 0, 135, 0, 136, 0, 0, 0, + 0, 137, 275, 0, 276, 0, 138, 139, 140, 141, + 806, 278, 0, 0, 145, 0, 142, 0, 0, 143, + 279, 144, 280, 281, 282, 283, 284, 0, 285, 0, + 0, 146, 147, 148, 0, 149, 150, 151, 0, 153, + 152, 0, 286, 0, 154, 0, 0, 155, 0, 0, + 156, 0, 157, 158, 159, 161, 287, 160, 0, 162, + 163, 165, 164, 0, 0, 0, 288, 166, 289, 167, + 168, 0, 169, 0, 0, 170, 0, 0, 171, 290, + 0, 172, 0, 291, 173, 174, 175, 176, 177, 0, + 178, 292, 179, 293, 180, 0, 181, 182, 183, 184, + 185, 294, 186, 187, 0, 188, 189, 190, 191, 192, + 194, 195, 193, 196, 197, 198, 199, 0, 200, 0, + 201, 202, 295, 203, 0, 207, 208, 209, 210, 0, + 212, 296, 211, 213, 214, 0, 215, 204, 205, 216, + 0, 217, 297, 298, 218, 0, 224, 219, 220, 206, + 221, 223, 299, 222, 300, 0, 225, 0, 226, 227, + 228, 229, 230, 231, 232, 0, 301, 302, 303, 0, + 0, 233, 234, 304, 305, 0, 235, 236, 237, 238, + 0, 0, 239, 240, 241, 242, 0, 243, 0, 306, + 244, 245, 246, 307, 308, 97, 0, 247, 0, 0, + 0, 0, 248, 249, 250, 251, 252, 0, 0, 0, + 0, 100, 101, 0, 102, 0, 0, 0, 0, 253, + 0, 0, 0, 0, 103, 104, 105, 254, 255, 256, + 257, 106, 258, 259, 0, 107, 260, 261, 108, 109, + 0, 0, 262, 263, 264, 0, 110, 265, 0, 0, + 0, 111, 112, 113, 0, 114, 0, 115, 116, 117, + 0, 0, 118, 119, 0, 0, 0, 0, 0, 0, + 120, 121, 314, 122, 266, 123, 267, 268, 0, 124, + 0, 125, 0, 126, 0, 0, 127, 128, 0, 129, + 0, 0, 0, 269, 130, 131, 132, 270, 271, 0, + 0, 0, 133, 134, 272, 273, 274, 0, 135, 0, + 136, 0, 0, 0, 0, 137, 275, 0, 276, 0, + 138, 139, 140, 141, 801, 278, 0, 0, 145, 0, + 142, 0, 0, 143, 279, 144, 280, 281, 282, 283, + 284, 0, 285, 0, 0, 146, 147, 148, 0, 149, + 150, 151, 0, 153, 152, 0, 286, 0, 154, 0, + 0, 155, 0, 0, 156, 0, 157, 158, 159, 161, + 287, 160, 0, 162, 163, 165, 164, 0, 0, 0, + 288, 166, 289, 167, 168, 0, 169, 0, 0, 170, + 0, 0, 171, 290, 0, 172, 0, 291, 173, 174, + 175, 176, 177, 0, 178, 292, 179, 293, 180, 0, + 181, 182, 183, 184, 185, 294, 186, 187, 0, 188, + 189, 190, 191, 192, 194, 195, 193, 196, 197, 198, + 199, 0, 200, 0, 201, 202, 295, 203, 0, 207, + 208, 209, 210, 0, 212, 296, 211, 213, 214, 0, + 215, 204, 205, 216, 0, 217, 297, 298, 218, 0, + 224, 219, 220, 206, 221, 223, 299, 222, 300, 0, + 225, 0, 226, 227, 228, 229, 230, 231, 232, 0, + 301, 302, 303, 0, 0, 233, 234, 304, 305, 0, + 235, 236, 237, 238, 0, 0, 239, 240, 241, 242, + 0, 243, 0, 306, 244, 245, 246, 307, 308, 97, + 0, 247, 0, 0, 0, 0, 248, 249, 250, 251, + 252, 0, 0, 0, 0, 100, 101, 0, 102, 0, + 0, 0, 0, 253, 0, 0, 0, 0, 103, 104, + 105, 254, 255, 256, 257, 106, 258, 259, 0, 107, + 260, 261, 108, 109, 0, 0, 262, 263, 739, 0, + 110, 265, 0, 0, 0, 111, 112, 113, 0, 114, + 0, 115, 116, 117, 0, 0, 118, 119, 0, 0, + 0, 0, 0, 0, 120, 121, 314, 122, 266, 123, + 267, 268, 0, 124, 0, 125, 0, 126, 0, 0, + 127, 128, 0, 129, 0, 0, 0, 269, 130, 131, + 132, 270, 271, 0, 0, 0, 133, 134, 272, 273, + 274, 0, 135, 0, 136, 0, 0, 0, 0, 137, + 275, 0, 276, 0, 138, 139, 140, 141, 277, 278, + 0, 0, 145, 0, 142, 0, 0, 143, 279, 144, + 280, 281, 282, 283, 284, 0, 285, 0, 0, 146, + 147, 148, 0, 149, 150, 151, 0, 153, 152, 0, + 286, 0, 154, 0, 0, 155, 0, 0, 156, 0, + 157, 158, 159, 161, 287, 480, 0, 162, 163, 165, + 164, 0, 0, 0, 288, 166, 289, 167, 168, 0, + 169, 0, 0, 170, 0, 0, 171, 290, 0, 172, + 0, 291, 173, 174, 175, 176, 177, 0, 178, 292, + 179, 293, 180, 0, 181, 182, 183, 184, 185, 294, + 186, 187, 0, 188, 189, 190, 191, 192, 194, 195, + 193, 196, 197, 198, 199, 0, 200, 0, 201, 202, + 295, 203, 0, 207, 208, 209, 210, 0, 212, 296, + 211, 213, 214, 0, 215, 204, 205, 216, 0, 217, + 297, 298, 218, 0, 224, 219, 220, 206, 221, 223, + 299, 222, 300, 0, 225, 0, 226, 227, 228, 229, + 230, 231, 232, 0, 477, 302, 303, 0, 0, 233, + 473, 304, 305, 0, 235, 236, 237, 238, 0, 0, + 239, 240, 241, 242, 0, 243, 0, 306, 244, 245, + 246, 307, 308, 97, 0, 247, 0, 0, 0, 0, + 248, 249, 250, 251, 252, 0, 0, 0, 0, 100, + 101, 0, 102, 0, 0, 0, 0, 253, 0, 0, + 0, 0, 103, 104, 105, 254, 255, 256, 257, 106, + 258, 259, 0, 107, 260, 261, 108, 109, 0, 0, + 262, 263, 264, 0, 110, 265, 0, 0, 0, 111, + 112, 113, 0, 114, 0, 115, 116, 117, 0, 0, + 118, 119, 0, 0, 0, 0, 0, 0, 120, 121, + 314, 122, 266, 123, 267, 268, 0, 124, 0, 125, + 0, 126, 0, 0, 127, 128, 0, 129, 0, 0, + 0, 269, 130, 131, 132, 270, 271, 0, 0, 0, + 133, 134, 272, 273, 274, 0, 135, 0, 136, 0, + 0, 0, 0, 137, 275, 0, 276, 0, 138, 139, + 140, 141, 277, 278, 0, 0, 145, 0, 142, 0, + 0, 143, 279, 144, 280, 281, 282, 283, 284, 0, + 285, 0, 0, 146, 147, 148, 0, 149, 150, 151, + 0, 153, 152, 0, 286, 0, 154, 0, 0, 155, + 0, 0, 156, 0, 157, 158, 159, 161, 287, 480, + 0, 162, 163, 165, 164, 0, 0, 0, 288, 166, + 289, 167, 168, 0, 169, 0, 0, 170, 0, 0, + 171, 290, 0, 172, 0, 291, 173, 174, 175, 176, + 177, 0, 178, 292, 179, 293, 180, 0, 181, 182, + 183, 184, 185, 294, 186, 187, 0, 188, 189, 190, + 191, 192, 194, 195, 193, 196, 197, 198, 199, 0, + 200, 0, 201, 202, 295, 203, 0, 207, 208, 209, + 210, 0, 212, 296, 211, 213, 214, 0, 215, 204, + 205, 216, 0, 217, 297, 298, 218, 0, 224, 219, + 220, 206, 221, 223, 299, 222, 300, 0, 225, 0, + 226, 227, 228, 229, 230, 231, 232, 0, 477, 302, + 303, 0, 0, 233, 473, 304, 305, 0, 235, 236, + 237, 238, 0, 0, 239, 240, 241, 242, 0, 243, + 0, 306, 244, 245, 246, 307, 308, 97, 0, 247, + 0, 0, 0, 0, 248, 249, 250, 251, 252, 0, + 0, 0, 0, 100, 101, 0, 102, 0, 0, 0, + 0, 253, 0, 0, 0, 0, 103, 104, 105, 254, + 255, 256, 257, 106, 258, 259, 0, 107, 260, 261, + 108, 109, 0, 0, 262, 263, 264, 0, 110, 265, + 0, 0, 0, 111, 112, 113, 0, 114, 0, 115, + 116, 117, 0, 0, 118, 119, 0, 0, 0, 0, + 0, 0, 120, 121, 314, 122, 266, 123, 267, 268, + 0, 124, 0, 125, 0, 126, 0, 0, 127, 128, + 0, 129, 0, 0, 0, 269, 130, 131, 132, 270, + 271, 0, 0, 0, 133, 134, 272, 273, 274, 0, + 135, 0, 136, 0, 0, 0, 0, 137, 275, 0, + 276, 0, 138, 139, 140, 141, 719, 278, 0, 0, + 145, 0, 142, 0, 0, 143, 279, 144, 280, 281, + 282, 283, 284, 0, 285, 0, 0, 146, 147, 148, + 0, 149, 150, 151, 0, 153, 152, 0, 286, 0, + 154, 0, 0, 155, 0, 0, 156, 0, 157, 158, + 159, 161, 287, 160, 0, 162, 163, 165, 164, 0, + 0, 0, 288, 166, 289, 167, 168, 0, 169, 0, + 0, 170, 0, 0, 171, 290, 0, 172, 0, 291, + 173, 174, 175, 176, 177, 0, 178, 292, 179, 293, + 180, 0, 181, 182, 183, 184, 185, 294, 186, 187, + 0, 188, 189, 190, 191, 192, 194, 195, 193, 196, + 197, 198, 199, 0, 200, 0, 201, 202, 295, 203, + 0, 207, 208, 209, 210, 0, 212, 296, 211, 213, + 214, 0, 215, 204, 205, 216, 0, 217, 297, 298, + 218, 0, 224, 219, 220, 206, 221, 223, 299, 222, + 300, 0, 225, 0, 226, 227, 228, 229, 230, 231, + 232, 0, 301, 302, 303, 0, 0, 233, 234, 304, + 305, 0, 235, 236, 237, 238, 0, 0, 239, 240, + 241, 242, 0, 243, 0, 306, 244, 245, 246, 307, + 308, 97, 0, 247, 0, 0, 0, 0, 248, 249, + 250, 251, 252, 0, 0, 0, 0, 100, 101, 0, + 102, 0, 0, 0, 0, 253, 0, 0, 0, 0, + 103, 104, 105, 254, 255, 256, 257, 106, 258, 259, + 0, 107, 260, 261, 108, 109, 0, 0, 262, 263, + 264, 0, 110, 265, 0, 0, 0, 111, 112, 113, + 0, 114, 0, 115, 116, 117, 0, 0, 118, 119, + 0, 0, 0, 0, 0, 0, 120, 121, 314, 122, + 266, 123, 267, 268, 0, 124, 0, 125, 0, 126, + 0, 0, 127, 128, 0, 129, 0, 0, 0, 269, + 130, 131, 132, 270, 271, 0, 0, 0, 133, 134, + 272, 273, 274, 0, 135, 0, 136, 0, 0, 0, + 0, 137, 275, 0, 276, 0, 138, 139, 140, 141, + 717, 278, 0, 0, 145, 0, 142, 0, 0, 143, + 279, 144, 280, 281, 282, 283, 284, 0, 285, 0, + 0, 146, 147, 148, 0, 149, 150, 151, 0, 153, + 152, 0, 286, 0, 154, 0, 0, 155, 0, 0, + 156, 0, 157, 158, 159, 161, 287, 160, 0, 162, + 163, 165, 164, 0, 0, 0, 288, 166, 289, 167, + 168, 0, 169, 0, 0, 170, 0, 0, 171, 290, + 0, 172, 0, 291, 173, 174, 175, 176, 177, 0, + 178, 292, 179, 293, 180, 0, 181, 182, 183, 184, + 185, 294, 186, 187, 0, 188, 189, 190, 191, 192, + 194, 195, 193, 196, 197, 198, 199, 0, 200, 0, + 201, 202, 295, 203, 0, 207, 208, 209, 210, 0, + 212, 296, 211, 213, 214, 0, 215, 204, 205, 216, + 0, 217, 297, 298, 218, 0, 224, 219, 220, 206, + 221, 223, 299, 222, 300, 0, 225, 0, 226, 227, + 228, 229, 230, 231, 232, 0, 301, 302, 303, 0, + 0, 233, 234, 304, 305, 0, 235, 236, 237, 238, + 0, 0, 239, 240, 241, 242, 0, 243, 0, 306, + 244, 245, 246, 307, 308, 97, 0, 247, 0, 0, + 0, 0, 248, 249, 250, 251, 252, 0, 0, 0, + 0, 100, 101, 0, 102, 0, 0, 0, 0, 253, + 0, 0, 0, 0, 103, 104, 105, 254, 255, 256, + 257, 106, 258, 259, 0, 107, 260, 261, 108, 109, + 0, 0, 262, 263, 264, 0, 110, 265, 0, 0, + 0, 111, 112, 113, 0, 114, 0, 115, 116, 117, + 0, 0, 118, 119, 0, 0, 0, 0, 0, 0, + 120, 121, 314, 122, 266, 123, 267, 268, 0, 124, + 0, 125, 0, 126, 0, 0, 127, 128, 0, 129, + 0, 0, 0, 269, 130, 131, 132, 270, 271, 0, + 0, 0, 133, 134, 272, 273, 274, 0, 135, 0, + 136, 0, 0, 0, 0, 137, 275, 0, 276, 0, + 138, 139, 140, 141, 714, 278, 0, 0, 145, 0, + 142, 0, 0, 143, 279, 144, 280, 281, 282, 283, + 284, 0, 285, 0, 0, 146, 147, 148, 0, 149, + 150, 151, 0, 153, 152, 0, 286, 0, 154, 0, + 0, 155, 0, 0, 156, 0, 157, 158, 159, 161, + 287, 160, 0, 162, 163, 165, 164, 0, 0, 0, + 288, 166, 289, 167, 168, 0, 169, 0, 0, 170, + 0, 0, 171, 290, 0, 172, 0, 291, 173, 174, + 175, 176, 177, 0, 178, 292, 179, 293, 180, 0, + 181, 182, 183, 184, 185, 294, 186, 187, 0, 188, + 189, 190, 191, 192, 194, 195, 193, 196, 197, 198, + 199, 0, 200, 0, 201, 202, 295, 203, 0, 207, + 208, 209, 210, 0, 212, 296, 211, 213, 214, 0, + 215, 204, 205, 216, 0, 217, 297, 298, 218, 0, + 224, 219, 220, 206, 221, 223, 299, 222, 300, 0, + 225, 0, 226, 227, 228, 229, 230, 231, 232, 0, + 301, 302, 303, 0, 0, 233, 234, 304, 305, 0, + 235, 236, 237, 238, 0, 0, 239, 240, 241, 242, + 0, 243, 0, 306, 244, 245, 246, 307, 308, 97, + 0, 247, 0, 0, 0, 0, 248, 249, 250, 251, + 252, 0, 0, 0, 0, 100, 101, 0, 102, 0, + 0, 0, 0, 253, 0, 0, 0, 0, 103, 104, + 105, 254, 255, 256, 257, 106, 258, 259, 0, 107, + 260, 261, 108, 109, 0, 0, 262, 263, 264, 0, + 110, 265, 0, 0, 0, 111, 112, 113, 0, 114, + 0, 115, 116, 117, 0, 0, 118, 119, 0, 0, + 0, 0, 0, 0, 120, 121, 314, 122, 266, 123, + 267, 268, 0, 124, 0, 125, 0, 126, 0, 0, + 127, 128, 0, 129, 0, 0, 0, 269, 130, 131, + 132, 270, 271, 0, 0, 0, 133, 134, 272, 273, + 274, 0, 135, 0, 136, 0, 0, 0, 0, 137, + 275, 0, 276, 0, 138, 139, 140, 141, 711, 278, + 0, 0, 145, 0, 142, 0, 0, 143, 279, 144, + 280, 281, 282, 283, 284, 0, 285, 0, 0, 146, + 147, 148, 0, 149, 150, 151, 0, 153, 152, 0, + 286, 0, 154, 0, 0, 155, 0, 0, 156, 0, + 157, 158, 159, 161, 287, 160, 0, 162, 163, 165, + 164, 0, 0, 0, 288, 166, 289, 167, 168, 0, + 169, 0, 0, 170, 0, 0, 171, 290, 0, 172, + 0, 291, 173, 174, 175, 176, 177, 0, 178, 292, + 179, 293, 180, 0, 181, 182, 183, 184, 185, 294, + 186, 187, 0, 188, 189, 190, 191, 192, 194, 195, + 193, 196, 197, 198, 199, 0, 200, 0, 201, 202, + 295, 203, 0, 207, 208, 209, 210, 0, 212, 296, + 211, 213, 214, 0, 215, 204, 205, 216, 0, 217, + 297, 298, 218, 0, 224, 219, 220, 206, 221, 223, + 299, 222, 300, 0, 225, 0, 226, 227, 228, 229, + 230, 231, 232, 0, 301, 302, 303, 0, 0, 233, + 234, 304, 305, 0, 235, 236, 237, 238, 0, 0, + 239, 240, 241, 242, 0, 243, 0, 306, 244, 245, + 246, 307, 308, 97, 0, 247, 0, 0, 0, 0, + 248, 249, 250, 251, 252, 0, 0, 0, 0, 100, + 101, 0, 102, 0, 0, 0, 0, 253, 0, 0, + 0, 0, 103, 104, 105, 254, 255, 256, 257, 106, + 258, 259, 0, 107, 260, 261, 108, 109, 0, 0, + 262, 263, 264, 0, 110, 265, 0, 0, 0, 111, + 112, 113, 0, 114, 0, 115, 116, 117, 0, 0, + 118, 119, 0, 0, 0, 0, 0, 0, 120, 121, + 314, 122, 266, 123, 267, 268, 0, 124, 0, 125, + 0, 126, 0, 0, 127, 128, 0, 129, 0, 0, + 0, 269, 130, 131, 132, 270, 271, 0, 0, 0, + 133, 134, 272, 273, 274, 0, 135, 0, 136, 0, + 0, 0, 0, 137, 275, 0, 276, 0, 138, 139, + 140, 141, 709, 278, 0, 0, 145, 0, 142, 0, + 0, 143, 279, 144, 280, 281, 282, 283, 284, 0, + 285, 0, 0, 146, 147, 148, 0, 149, 150, 151, + 0, 153, 152, 0, 286, 0, 154, 0, 0, 155, + 0, 0, 156, 0, 157, 158, 159, 161, 287, 160, + 0, 162, 163, 165, 164, 0, 0, 0, 288, 166, + 289, 167, 168, 0, 169, 0, 0, 170, 0, 0, + 171, 290, 0, 172, 0, 291, 173, 174, 175, 176, + 177, 0, 178, 292, 179, 293, 180, 0, 181, 182, + 183, 184, 185, 294, 186, 187, 0, 188, 189, 190, + 191, 192, 194, 195, 193, 196, 197, 198, 199, 0, + 200, 0, 201, 202, 295, 203, 0, 207, 208, 209, + 210, 0, 212, 296, 211, 213, 214, 0, 215, 204, + 205, 216, 0, 217, 297, 298, 218, 0, 224, 219, + 220, 206, 221, 223, 299, 222, 300, 0, 225, 0, + 226, 227, 228, 229, 230, 231, 232, 0, 301, 302, + 303, 0, 0, 233, 234, 304, 305, 0, 235, 236, + 237, 238, 0, 0, 239, 240, 241, 242, 0, 243, + 0, 306, 244, 245, 246, 307, 308, 97, 0, 247, + 0, 0, 0, 0, 248, 249, 250, 251, 252, 0, + 0, 0, 0, 100, 101, 0, 102, 0, 0, 0, + 0, 253, 0, 0, 0, 0, 103, 104, 105, 254, + 255, 256, 257, 106, 258, 259, 0, 107, 260, 261, + 108, 109, 0, 0, 262, 263, 264, 0, 110, 265, + 0, 0, 0, 111, 112, 113, 0, 114, 0, 115, + 116, 117, 0, 0, 118, 119, 0, 0, 0, 0, + 0, 0, 120, 121, 314, 122, 266, 123, 267, 268, + 0, 124, 0, 125, 0, 126, 0, 0, 127, 128, + 0, 129, 0, 0, 0, 269, 130, 131, 132, 270, + 271, 0, 0, 0, 133, 134, 272, 273, 274, 0, + 135, 0, 136, 0, 0, 0, 0, 137, 275, 0, + 276, 0, 138, 139, 140, 141, 583, 278, 0, 0, + 145, 0, 142, 0, 0, 143, 279, 144, 280, 281, + 282, 283, 284, 0, 285, 0, 0, 146, 147, 148, + 0, 149, 150, 151, 0, 153, 152, 0, 286, 0, + 154, 0, 0, 155, 0, 0, 156, 0, 157, 158, + 159, 161, 287, 160, 0, 162, 163, 165, 164, 0, + 0, 0, 288, 166, 289, 167, 168, 0, 169, 0, + 0, 170, 0, 0, 171, 290, 0, 172, 0, 291, + 173, 174, 175, 176, 177, 0, 178, 292, 179, 293, + 180, 0, 181, 182, 183, 184, 185, 294, 186, 187, + 0, 188, 189, 190, 191, 192, 194, 195, 193, 196, + 197, 198, 199, 0, 200, 0, 201, 202, 295, 203, + 0, 207, 208, 209, 210, 0, 212, 296, 211, 213, + 214, 0, 215, 204, 205, 216, 0, 217, 297, 298, + 218, 0, 224, 219, 220, 206, 221, 223, 299, 222, + 300, 0, 225, 0, 226, 227, 228, 229, 230, 231, + 232, 0, 301, 302, 303, 0, 0, 233, 234, 304, + 305, 0, 235, 236, 237, 238, 0, 0, 239, 240, + 241, 242, 0, 243, 0, 306, 244, 245, 246, 307, + 308, 97, 0, 247, 0, 0, 0, 0, 248, 249, + 250, 251, 252, 0, 0, 0, 0, 100, 101, 0, + 102, 0, 0, 0, 0, 253, 0, 0, 0, 0, + 103, 104, 105, 254, 255, 256, 257, 106, 258, 259, + 0, 107, 260, 261, 108, 109, 0, 0, 262, 263, + 264, 0, 110, 265, 0, 0, 0, 111, 112, 113, + 0, 114, 0, 115, 116, 117, 0, 0, 118, 119, + 0, 0, 0, 0, 0, 0, 120, 121, 314, 122, + 266, 123, 267, 268, 0, 124, 0, 125, 0, 126, + 0, 0, 127, 128, 0, 129, 0, 0, 0, 269, + 130, 131, 132, 270, 271, 0, 0, 0, 133, 134, + 272, 273, 274, 0, 135, 0, 136, 0, 0, 0, + 0, 137, 275, 0, 276, 0, 138, 139, 140, 141, + 277, 278, 0, 0, 145, 0, 142, 0, 0, 143, + 279, 144, 280, 281, 282, 283, 284, 0, 285, 0, + 0, 146, 147, 148, 0, 149, 150, 151, 0, 153, + 152, 0, 286, 0, 154, 0, 0, 155, 0, 0, + 156, 0, 157, 158, 159, 161, 287, 160, 0, 162, + 163, 165, 164, 0, 0, 0, 288, 166, 289, 167, + 168, 0, 169, 0, 0, 170, 0, 0, 171, 290, + 0, 172, 0, 291, 173, 174, 175, 176, 177, 0, + 178, 292, 179, 293, 180, 0, 181, 182, 183, 184, + 185, 294, 564, 187, 0, 188, 189, 190, 191, 192, + 194, 195, 193, 196, 197, 198, 199, 0, 200, 0, + 201, 202, 295, 203, 0, 207, 208, 209, 210, 0, + 212, 296, 211, 213, 214, 0, 215, 204, 205, 216, + 0, 217, 297, 298, 218, 0, 224, 219, 220, 206, + 221, 223, 299, 222, 300, 0, 225, 0, 226, 227, + 228, 229, 230, 231, 232, 0, 301, 302, 303, 0, + 0, 233, 234, 304, 305, 0, 235, 236, 237, 238, + 0, 0, 239, 240, 241, 242, 0, 243, 0, 306, + 244, 245, 246, 307, 308, 97, 0, 247, 0, 0, + 0, 0, 248, 249, 250, 251, 252, 0, 0, 0, + 0, 100, 101, 0, 102, 0, 0, 0, 0, 253, + 0, 0, 0, 0, 103, 104, 105, 254, 255, 256, + 257, 106, 258, 259, 0, 107, 260, 261, 108, 109, + 0, 0, 262, 263, 264, 0, 471, 265, 0, 0, + 0, 111, 112, 113, 0, 114, 0, 115, 116, 117, + 0, 0, 118, 119, 0, 0, 0, 0, 0, 0, + 120, 121, 314, 122, 266, 123, 267, 268, 0, 124, + 0, 125, 0, 126, 0, 0, 127, 128, 0, 129, + 0, 0, 0, 269, 130, 131, 132, 270, 271, 0, + 0, 0, 133, 134, 272, 273, 274, 0, 135, 0, + 136, 0, 0, 0, 0, 137, 275, 0, 276, 0, + 138, 139, 140, 141, 277, 278, 0, 0, 145, 0, + 142, 0, 0, 143, 279, 144, 280, 281, 282, 283, + 284, 0, 285, 0, 0, 146, 147, 148, 0, 149, + 150, 151, 0, 153, 152, 0, 286, 0, 154, 0, + 0, 469, 0, 0, 156, 0, 157, 158, 159, 161, + 287, 480, 0, 162, 163, 165, 164, 0, 0, 0, + 288, 166, 289, 167, 168, 0, 169, 0, 0, 170, + 0, 0, 171, 290, 0, 172, 0, 291, 173, 174, + 175, 176, 177, 0, 178, 292, 179, 293, 180, 0, + 181, 182, 183, 184, 185, 294, 186, 187, 0, 188, + 189, 190, 191, 192, 194, 195, 193, 196, 197, 198, + 199, 0, 200, 0, 201, 202, 472, 203, 0, 207, + 208, 209, 210, 0, 212, 296, 211, 470, 214, 0, + 215, 204, 205, 216, 0, 217, 297, 298, 218, 0, + 224, 219, 220, 206, 221, 223, 299, 222, 300, 0, + 225, 0, 226, 227, 228, 229, 230, 231, 232, 0, + 477, 302, 303, 0, 0, 233, 473, 304, 305, 0, + 235, 236, 237, 238, 0, 0, 239, 240, 241, 242, + 0, 243, 0, 306, 244, 245, 246, 307, 308, 97, + 0, 247, 0, 0, 0, 0, 248, 249, 250, 251, + 252, 0, 0, 0, 0, 100, 101, 0, 102, 0, + 0, 0, 0, 253, 0, 0, 0, 0, 103, 104, + 105, 254, 255, 256, 257, 106, 258, 259, 0, 107, + 260, 261, 108, 109, 0, 0, 262, 263, 264, 0, + 110, 265, 0, 0, 0, 111, 112, 113, 0, 114, + 0, 115, 116, 117, 0, 0, 118, 119, 0, 0, + 0, 0, 0, 0, 120, 121, 314, 122, 266, 123, + 267, 268, 0, 124, 0, 125, 0, 126, 0, 0, + 127, 128, 0, 129, 0, 0, 0, 269, 130, 131, + 132, 270, 271, 0, 0, 0, 133, 134, 272, 273, + 274, 0, 135, 0, 136, 0, 0, 0, 0, 137, + 275, 0, 276, 0, 138, 139, 140, 141, 277, 278, + 0, 0, 145, 0, 142, 0, 0, 143, 279, 144, + 280, 281, 282, 283, 284, 0, 285, 0, 0, 146, + 147, 148, 0, 149, 150, 151, 0, 153, 152, 0, + 286, 0, 154, 0, 0, 155, 0, 0, 156, 0, + 157, 158, 159, 161, 287, 160, 0, 162, 163, 165, + 164, 0, 0, 0, 288, 166, 289, 167, 168, 0, + 169, 0, 0, 170, 0, 0, 171, 290, 0, 172, + 0, 291, 173, 174, 0, 176, 177, 0, 178, 292, + 179, 293, 180, 0, 181, 182, 183, 0, 185, 294, + 186, 187, 0, 188, 189, 190, 191, 192, 194, 195, + 193, 196, 197, 198, 199, 0, 200, 0, 201, 202, + 295, 0, 0, 207, 208, 209, 210, 0, 212, 296, + 211, 213, 214, 0, 215, 204, 205, 216, 0, 217, + 297, 298, 218, 0, 224, 219, 220, 206, 221, 223, + 299, 222, 300, 0, 225, 0, 226, 227, 228, 229, + 230, 231, 232, 0, 301, 302, 303, 0, 0, 233, + 234, 304, 305, 0, 235, 236, 237, 238, 0, 0, + 239, 240, 241, 242, 0, 243, 0, 306, 244, 245, + 246, 307, 308, 0, 0, 247, 0, 0, 0, 0, + 248, 249, 250, 251, 252, 867, 868, 0, 887, 888, + 889, 897, 898, 899, 0, 0, 0, 0, 0, 0, + 0, 890, 0, 0, 0, 0, 0, 0, 870, 0, + 0, 901, 0, 867, 868, 0, 887, 888, 889, 897, + 898, 899, 0, 0, 0, 0, 0, 0, 0, 890, + 0, 0, 869, 0, 0, 0, 870, 0, 884, 901, + 0, 867, 868, 0, 887, 888, 889, 897, 898, 899, + 0, 0, 0, 0, 0, 0, 0, 890, 0, 0, + 869, 0, 0, 0, 870, 0, 884, 901, 0, 867, + 868, 0, 887, 888, 889, 897, 898, 899, 0, 0, + 0, 0, 0, 0, 0, 890, 0, 0, 869, 0, + 0, 875, 870, 0, 884, 901, 0, 0, 867, 868, + 0, 887, 888, 889, 897, 898, 899, 0, 0, 0, + 894, 902, 0, 0, 890, 0, 869, 0, 0, 875, + 0, 870, 884, 0, 901, 0, 0, 0, 900, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 894, 902, + 0, 0, 0, 892, 0, 869, 0, 875, 0, 885, + 0, 884, 0, 0, 0, 0, 900, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 894, 902, 0, 0, + 0, 892, 0, 0, 891, 875, 0, 885, 0, 0, + 0, 0, 0, 0, 900, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 894, 902, 0, 0, 0, 892, + 0, 0, 891, 0, 875, 885, 0, 0, 0, 0, + 0, 0, 900, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 886, 894, 902, 0, 0, 892, 0, 0, + 891, 0, 0, 885, 0, 0, 0, 0, 895, 0, + 0, 900, 0, 0, 0, 0, 0, 0, 0, 0, + 886, 0, 0, 0, 0, 0, 892, 0, 891, 0, + 0, 0, 885, 0, 0, 0, 895, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 886, 0, + 0, 0, 0, 0, 0, 0, 0, 891, 0, 0, + 0, 0, 0, 0, 895, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 893, 886, 0, 881, 882, + 883, 896, 0, 880, 878, 879, 871, 872, 873, 874, + 876, 877, 895, 0, 0, 0, 0, 0, 0, 1574, + 0, 0, 0, 893, 0, 886, 881, 882, 883, 896, + 0, 880, 878, 879, 871, 872, 873, 874, 876, 877, + 0, 895, 0, 0, 0, 0, 0, 1526, 0, 0, + 0, 893, 0, 0, 881, 882, 883, 896, 0, 880, + 878, 879, 871, 872, 873, 874, 876, 877, 0, 0, + 0, 0, 2034, 0, 0, 0, 0, 0, 0, 893, + 0, 0, 881, 882, 883, 896, 0, 880, 878, 879, + 871, 872, 873, 874, 876, 877, 0, 0, 0, 0, + 2029, 0, 0, 0, 0, 0, 0, 0, 893, 0, + 0, 881, 882, 883, 896, 0, 880, 878, 879, 871, + 872, 873, 874, 876, 877, 0, 0, 867, 868, 2025, + 887, 888, 889, 897, 898, 899, 0, 0, 0, 0, + 0, 0, 0, 890, 0, 0, 0, 0, 0, 0, + 870, 0, 0, 901, 0, 867, 868, 0, 887, 888, + 889, 897, 898, 899, 0, 0, 0, 0, 0, 0, + 0, 890, 0, 0, 869, 0, 0, 0, 870, 0, + 884, 901, 0, 867, 868, 0, 887, 888, 889, 897, + 898, 899, 0, 0, 0, 0, 0, 0, 0, 890, + 0, 0, 869, 0, 0, 0, 870, 0, 884, 901, + 0, 867, 868, 0, 887, 888, 889, 897, 898, 899, + 0, 0, 0, 0, 0, 0, 0, 890, 0, 0, + 869, 0, 0, 875, 870, 0, 884, 901, 0, 0, + 867, 868, 0, 887, 888, 889, 897, 898, 899, 0, + 0, 0, 894, 902, 0, 0, 890, 0, 869, 0, + 0, 875, 0, 870, 884, 0, 901, 0, 0, 0, + 900, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 894, 902, 0, 0, 0, 892, 0, 869, 0, 875, + 0, 885, 0, 884, 0, 0, 0, 0, 900, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 894, 902, + 0, 0, 0, 892, 0, 0, 891, 875, 0, 885, + 0, 0, 0, 0, 0, 0, 900, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 894, 902, 0, 0, + 0, 892, 0, 0, 891, 0, 875, 885, 0, 0, + 0, 0, 0, 0, 900, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 886, 894, 902, 0, 0, 892, + 0, 0, 891, 0, 0, 885, 0, 0, 0, 0, + 895, 0, 0, 900, 0, 0, 0, 0, 0, 0, + 0, 0, 886, 0, 0, 0, 0, 0, 892, 0, + 891, 0, 0, 0, 885, 0, 0, 0, 895, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 887, 0, 0, 0, 0, 0, 0, 885, - 0, 0, 873, 874, 875, 888, 0, 872, 870, 871, - 863, 864, 865, 866, 868, 869, 0, 0, 0, 0, - 1812, 0, 0, 0, 0, 0, 0, 885, 0, 0, - 873, 874, 875, 888, 0, 872, 870, 871, 863, 864, - 865, 866, 868, 869, 0, 0, 0, 0, 1732, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 885, - 0, 0, 873, 874, 875, 888, 0, 872, 870, 871, - 863, 864, 865, 866, 868, 869, 0, 0, 859, 860, - 1708, 879, 880, 881, 889, 890, 891, 0, 0, 0, - 0, 0, 0, 0, 882, 0, 0, 0, 0, 0, - 0, 862, 0, 0, 893, 0, 859, 860, 0, 879, - 880, 881, 889, 890, 891, 0, 0, 0, 0, 0, - 0, 0, 882, 0, 0, 861, 0, 0, 0, 862, - 0, 876, 893, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 859, 860, 0, 879, 880, 881, - 889, 890, 891, 861, 0, 0, 0, 0, 0, 876, - 882, 0, 0, 0, 0, 0, 0, 862, 0, 0, - 893, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 867, 0, 0, 0, 0, 0, 0, 0, - 0, 861, 0, 0, 0, 0, 0, 876, 0, 0, - 0, 886, 894, 0, 0, 0, 0, 0, 0, 0, - 867, 0, 0, 0, 0, 0, 0, 892, 859, 860, - 0, 879, 880, 881, 889, 890, 891, 0, 0, 886, - 894, 0, 884, 0, 882, 0, 0, 0, 877, 0, - 0, 862, 0, 0, 893, 892, 0, 0, 867, 2190, + 886, 0, 0, 0, 0, 0, 0, 0, 0, 891, + 0, 0, 0, 0, 0, 0, 895, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 893, 886, 0, + 881, 882, 883, 896, 0, 880, 878, 879, 871, 872, + 873, 874, 876, 877, 895, 0, 0, 0, 2002, 0, + 0, 0, 0, 0, 0, 893, 0, 886, 881, 882, + 883, 896, 0, 880, 878, 879, 871, 872, 873, 874, + 876, 877, 0, 895, 0, 0, 1933, 0, 0, 0, + 0, 0, 0, 893, 0, 0, 881, 882, 883, 896, + 0, 880, 878, 879, 871, 872, 873, 874, 876, 877, + 0, 0, 0, 0, 1932, 0, 0, 0, 0, 0, + 0, 893, 0, 0, 881, 882, 883, 896, 0, 880, + 878, 879, 871, 872, 873, 874, 876, 877, 0, 0, + 1534, 1535, 1871, 1552, 1553, 1554, 0, 0, 0, 0, + 893, 0, 0, 881, 882, 883, 896, 0, 880, 878, + 879, 871, 872, 873, 874, 876, 877, 0, 0, 867, + 868, 1824, 887, 888, 889, 897, 898, 899, 0, 0, + 0, 0, 0, 0, 0, 890, 0, 0, 0, 0, + 0, 0, 870, 1549, 0, 901, 0, 867, 868, 0, + 887, 888, 889, 897, 898, 899, 0, 0, 0, 0, + 0, 0, 0, 890, 0, 0, 869, 0, 0, 0, + 870, 0, 884, 901, 0, 867, 868, 0, 887, 888, + 889, 897, 898, 899, 0, 0, 0, 0, 0, 0, + 0, 890, 0, 0, 869, 0, 1540, 0, 870, 0, + 884, 901, 0, 867, 868, 0, 887, 888, 889, 897, + 898, 899, 0, 0, 0, 0, 1556, 0, 0, 890, + 0, 0, 869, 0, 0, 875, 870, 0, 884, 901, + 0, 0, 0, 1555, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 894, 902, 0, 0, 0, 0, + 869, 0, 0, 875, 1550, 0, 884, 0, 0, 0, + 0, 0, 900, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 894, 902, 0, 0, 0, 892, 0, 0, + 0, 875, 0, 885, 0, 0, 0, 0, 0, 0, + 900, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 894, 902, 0, 0, 0, 892, 0, 0, 891, 875, + 0, 885, 0, 0, 0, 0, 0, 0, 900, 0, + 0, 0, 0, 0, 0, 0, 0, 1551, 894, 902, + 0, 0, 0, 892, 0, 0, 891, 0, 0, 885, + 0, 0, 0, 0, 0, 0, 900, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 886, 0, 0, 0, + 0, 892, 0, 0, 891, 0, 0, 885, 0, 0, + 0, 0, 895, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 886, 0, 0, 0, 0, 0, + 0, 0, 891, 0, 0, 0, 0, 0, 0, 0, + 895, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 886, 1546, 1547, 1548, 0, 0, 1545, 1543, + 1544, 1536, 1537, 1538, 1539, 1541, 1542, 0, 895, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 893, + 886, 0, 881, 882, 883, 896, 0, 880, 878, 879, + 871, 872, 873, 874, 876, 877, 895, 0, 0, 0, + 1744, 0, 0, 0, 0, 0, 0, 893, 0, 0, + 881, 882, 883, 896, 0, 880, 878, 879, 871, 872, + 873, 874, 876, 877, 0, 0, 0, 0, 1720, 0, + 0, 0, 0, 0, 0, 893, 0, 0, 881, 882, + 883, 896, 0, 880, 878, 879, 871, 872, 873, 874, + 876, 877, 0, 0, 0, 0, 1252, 0, 0, 0, + 0, 0, 0, 893, 0, 0, 881, 882, 883, 896, + 0, 880, 878, 879, 871, 872, 873, 874, 876, 877, + 36, 0, 1496, 0, 0, 0, 0, 0, 0, 0, + 0, 37, 65, 0, 867, 868, 0, 887, 888, 889, + 897, 898, 899, 0, 39, 0, 0, 0, 0, 0, + 890, 0, 0, 0, 0, 0, 0, 870, 67, 0, + 901, 0, 0, 0, 40, 0, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 884, 0, 0, 883, 0, 861, 877, 886, 894, 0, - 0, 876, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 892, 0, 0, 0, 0, 0, 0, - 0, 883, 0, 0, 0, 0, 0, 0, 884, 0, - 0, 0, 0, 0, 877, 0, 0, 0, 0, 0, - 0, 878, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 867, 0, 0, 0, 0, 887, 0, 883, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 878, - 0, 886, 894, 0, 0, 2189, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 887, 0, 892, 0, 0, + 0, 869, 0, 0, 0, 54, 0, 884, 0, 48, + 0, 0, 0, 49, 0, 0, 68, 0, 0, 0, + 53, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 884, 0, 0, 0, 0, 878, 877, 0, + 55, 0, 0, 0, 0, 0, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 887, 885, 0, 0, 873, 874, 875, - 888, 0, 872, 870, 871, 863, 864, 865, 866, 868, - 869, 0, 0, 0, 0, 1240, 0, 0, 0, 0, - 0, 0, 885, 0, 0, 873, 874, 875, 888, 0, - 872, 870, 871, 863, 864, 865, 866, 868, 869, 0, - 0, 1484, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 878, 0, 0, 0, 0, 0, 0, 0, 0, - 885, 0, 0, 873, 874, 875, 888, 887, 872, 870, - 871, 863, 864, 865, 866, 868, 869, 859, 860, 0, - 879, 880, 881, 889, 890, 891, 0, 0, 0, 0, - 0, 0, 0, 882, 0, 0, 0, 0, 0, 0, - 862, 0, 0, 893, 0, 0, 859, 860, 0, 879, - 880, 881, 889, 890, 891, 0, 0, 0, 0, 0, - 0, 0, 882, 0, 861, 0, 0, 1404, 0, 862, - 876, 0, 893, 0, 885, 0, 0, 873, 874, 875, - 888, 0, 872, 870, 871, 863, 864, 865, 866, 868, - 869, 0, 0, 861, 0, 0, 0, 0, 0, 876, + 875, 2202, 0, 0, 0, 0, 0, 0, 867, 868, + 0, 887, 888, 889, 897, 898, 899, 0, 0, 894, + 902, 0, 0, 0, 890, 0, 0, 0, 0, 1416, + 0, 870, 0, 0, 901, 0, 0, 900, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 892, 0, 0, 869, 0, 0, 885, 0, + 0, 884, 0, 0, 0, 0, 0, 0, 56, 0, + 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, + 0, 0, 0, 891, 0, 0, 0, 0, 0, 1417, + 0, 0, 70, 71, 38, 0, 57, 0, 58, 2201, + 69, 0, 0, 0, 0, 59, 0, 0, 0, 81, + 0, 0, 0, 0, 875, 0, 62, 0, 0, 64, + 0, 0, 0, 0, 0, 0, 0, 0, 66, 0, + 0, 886, 0, 894, 902, 0, 0, 83, 867, 868, + 0, 887, 888, 889, 897, 898, 899, 895, 0, 0, + 0, 900, 0, 0, 890, 0, 72, 0, 0, 0, + 0, 870, 0, 0, 901, 73, 892, 0, 0, 0, + 0, 0, 885, 84, 0, 0, 0, 0, 0, 0, + 0, 79, 0, 0, 0, 869, 0, 0, 80, 0, + 0, 884, 0, 0, 0, 0, 0, 891, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 78, 0, 0, + 0, 0, 0, 0, 893, 0, 0, 881, 882, 883, + 896, 0, 880, 878, 879, 871, 872, 873, 874, 876, + 877, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 875, 886, 1566, 0, 0, 1565, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 867, 0, 1554, 0, 1126, 1553, 1405, 0, 0, - 0, 859, 860, 0, 879, 880, 881, 889, 890, 891, - 886, 894, 0, 0, 0, 0, 0, 882, 0, 0, - 867, 1125, 0, 0, 862, 0, 892, 893, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 886, - 894, 884, 0, 0, 0, 0, 0, 877, 861, 0, - 0, 0, 0, 0, 876, 892, 0, 0, 0, 0, + 0, 895, 1138, 894, 902, 0, 0, 0, 867, 868, + 0, 887, 888, 889, 897, 898, 899, 0, 0, 0, + 0, 900, 0, 0, 890, 0, 0, 0, 1137, 0, + 0, 870, 0, 0, 901, 0, 892, 0, 0, 0, + 0, 0, 885, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 869, 0, 0, 0, 0, + 0, 884, 0, 0, 0, 0, 0, 891, 893, 0, + 0, 881, 882, 883, 896, 0, 880, 878, 879, 871, + 872, 873, 874, 876, 877, 0, 0, 0, 0, 0, + 0, 0, 0, 867, 868, 0, 887, 888, 889, 897, + 898, 899, 0, 0, 0, 0, 0, 0, 0, 890, + 0, 0, 0, 0, 875, 886, 870, 0, 0, 901, + 0, 867, 868, 0, 887, 888, 889, 897, 898, 899, + 0, 895, 0, 894, 902, 0, 0, 890, 0, 0, + 869, 0, 0, 0, 870, 0, 884, 901, 0, 0, + 0, 900, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 892, 0, 869, 0, + 0, 0, 885, 0, 884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 884, 0, 883, 0, 0, 0, 877, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 891, 893, 875, + 0, 881, 882, 883, 896, 0, 880, 878, 879, 871, + 872, 873, 874, 876, 877, 0, 0, 0, 894, 902, + 0, 0, 0, 0, 0, 0, 0, 875, 0, 0, + 0, 0, 0, 0, 0, 0, 900, 0, 0, 0, + 0, 0, 0, 0, 0, 886, 894, 902, 0, 0, + 0, 892, 0, 0, 0, 0, 0, 885, 0, 0, + 0, 895, 0, 0, 900, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 892, + 0, 0, 891, 559, 0, 885, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 883, 0, 0, 0, 867, 0, 0, 0, 0, + 891, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 893, 0, + 886, 881, 882, 883, 896, 0, 880, 878, 879, 871, + 872, 873, 874, 876, 877, 0, 895, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 867, 868, 886, 887, + 888, 889, 897, 898, 899, 0, 0, 0, 0, 0, + 0, 0, 890, 0, 895, 0, 0, 0, 0, 870, + 0, 0, 901, 0, 867, 868, 0, 887, 888, 889, + 897, 898, 899, 0, 0, 0, 0, 0, 0, 1724, + 890, 0, 0, 869, 1567, 0, 0, 870, 0, 884, + 901, 0, 0, 893, 0, 0, 881, 882, 883, 896, + 0, 880, 878, 879, 871, 872, 873, 874, 876, 877, + 0, 869, 0, 0, 0, 0, 0, 884, 0, 0, + 0, 893, 0, 0, 881, 882, 883, 896, 0, 880, + 878, 879, 871, 872, 873, 874, 876, 877, 0, 0, + 0, 0, 875, 0, 0, 0, 0, 1572, 0, 867, + 868, 0, 887, 888, 889, 897, 898, 899, 0, 0, + 0, 894, 902, 0, 0, 890, 0, 0, 0, 0, + 875, 0, 870, 0, 0, 901, 0, 0, 0, 900, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 894, + 902, 0, 0, 0, 892, 0, 869, 0, 0, 0, + 885, 0, 884, 0, 0, 0, 0, 900, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 878, 0, 0, 0, 886, 894, 1522, 1523, 0, 1540, - 1541, 1542, 0, 0, 0, 0, 887, 0, 0, 0, - 892, 0, 1889, 0, 0, 0, 0, 0, 0, 878, - 0, 0, 0, 0, 0, 884, 0, 0, 0, 0, - 0, 877, 0, 0, 0, 887, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1537, - 0, 0, 0, 0, 0, 0, 883, 0, 0, 0, + 0, 0, 892, 0, 0, 891, 0, 0, 885, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 885, 0, 0, 873, 874, 875, 888, - 0, 872, 870, 871, 863, 864, 865, 866, 868, 869, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1528, 0, 885, 0, 878, 873, 874, 875, 888, 0, - 872, 870, 871, 863, 864, 865, 866, 868, 869, 0, - 887, 859, 860, 0, 879, 880, 881, 889, 890, 891, - 0, 0, 0, 0, 0, 1543, 0, 882, 0, 0, - 0, 0, 0, 0, 862, 0, 0, 893, 0, 0, - 0, 0, 0, 0, 0, 0, 1538, 0, 0, 859, - 860, 0, 879, 880, 881, 889, 890, 891, 861, 0, - 0, 0, 0, 0, 876, 882, 0, 0, 0, 0, - 0, 0, 862, 0, 0, 893, 0, 885, 0, 0, - 873, 874, 875, 888, 0, 872, 870, 871, 863, 864, - 865, 866, 868, 869, 0, 0, 861, 0, 0, 0, - 0, 0, 876, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 867, 0, 859, 860, 1539, - 879, 880, 881, 889, 890, 891, 0, 0, 0, 0, - 0, 0, 0, 882, 886, 894, 0, 0, 0, 0, - 862, 0, 0, 893, 0, 0, 0, 0, 0, 0, - 892, 0, 0, 867, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 861, 884, 0, 0, 0, 0, - 876, 877, 886, 894, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 892, 0, - 0, 0, 0, 0, 0, 0, 883, 555, 0, 0, - 0, 0, 0, 884, 0, 1534, 1535, 1536, 0, 877, - 1533, 1531, 1532, 1524, 1525, 1526, 1527, 1529, 1530, 0, - 0, 867, 0, 0, 0, 0, 1560, 0, 0, 0, - 0, 0, 0, 0, 883, 0, 0, 0, 0, 0, - 886, 894, 0, 0, 878, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 892, 0, 0, 0, - 887, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 884, 0, 0, 0, 0, 0, 877, 0, 0, - 0, 0, 878, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 887, 0, - 0, 0, 883, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 891, 0, 875, 0, 1534, 1535, 0, + 1552, 1553, 1554, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 886, 894, 902, 0, 0, 0, 867, + 868, 0, 887, 888, 889, 897, 898, 899, 0, 895, + 0, 0, 900, 0, 0, 890, 0, 0, 0, 1525, + 0, 886, 870, 0, 0, 901, 0, 892, 0, 0, + 1549, 0, 0, 885, 0, 0, 0, 895, 0, 0, + 0, 0, 0, 0, 0, 0, 869, 0, 0, 0, + 0, 0, 884, 0, 0, 0, 0, 0, 891, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1712, 0, 0, 0, 885, 0, 0, - 873, 874, 875, 888, 0, 872, 870, 871, 863, 864, - 865, 866, 868, 869, 0, 0, 0, 0, 0, 0, - 878, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 885, 887, 0, 873, 874, - 875, 888, 0, 872, 870, 871, 863, 864, 865, 866, - 868, 869, 859, 860, 0, 879, 880, 881, 889, 890, - 891, 0, 0, 0, 0, 0, 0, 0, 882, 0, - 0, 0, 1555, 0, 0, 862, 0, 0, 893, 0, + 0, 1532, 0, 0, 0, 0, 893, 0, 0, 881, + 882, 883, 896, 1540, 880, 878, 879, 871, 872, 873, + 874, 876, 877, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 893, 875, 886, 881, 882, 883, + 896, 0, 880, 878, 879, 871, 872, 873, 874, 876, + 877, 0, 895, 0, 894, 902, 0, 0, 867, 868, + 0, 887, 888, 889, 897, 898, 899, 0, 0, 0, + 0, 1550, 900, 0, 890, 0, 0, 0, 0, 0, + 0, 870, 0, 0, 901, 0, 0, 892, 0, 0, + 0, 0, 0, 885, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 869, 0, 0, 0, 0, + 0, 884, 0, 0, 0, 0, 0, 0, 891, 893, + 0, 0, 881, 882, 883, 896, 0, 880, 878, 879, + 871, 872, 873, 874, 876, 877, 0, 0, 0, 0, + 0, 0, 867, 868, 1551, 887, 888, 889, 897, 898, + 899, 0, 0, 0, 0, 0, 0, 0, 890, 0, + 0, 0, 0, 0, 875, 870, 886, 0, 901, 0, + 0, 867, 868, 0, 887, 888, 889, 897, 898, 899, + 0, 0, 895, 894, 902, 0, 0, 0, 0, 869, + 0, 0, 0, 0, 870, 884, 0, 901, 0, 0, + 0, 900, 0, 1534, 1535, 0, 1552, 1553, 1554, 0, + 0, 0, 0, 0, 0, 0, 892, 0, 869, 1712, + 0, 0, 885, 0, 884, 0, 0, 0, 0, 0, + 1546, 1547, 1548, 0, 0, 1545, 1543, 1544, 1536, 1537, + 1538, 1539, 1541, 1542, 0, 0, 0, 891, 875, 893, + 0, 0, 881, 882, 883, 896, 1549, 880, 878, 879, + 871, 872, 873, 874, 876, 877, 0, 894, 902, 0, + 0, 0, 0, 0, 0, 0, 0, 875, 0, 0, + 0, 0, 0, 0, 0, 900, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 886, 894, 902, 0, 0, + 892, 0, 0, 0, 0, 0, 885, 0, 0, 1540, + 0, 895, 0, 0, 900, 0, 0, 0, 0, 0, + 1534, 1535, 0, 1552, 1553, 1554, 0, 0, 0, 892, + 0, 0, 0, 0, 0, 885, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1555, 0, 0, 0, + 0, 0, 0, 0, 867, 868, 0, 887, 888, 889, + 897, 898, 899, 0, 0, 0, 0, 1550, 0, 0, + 0, 0, 0, 1549, 0, 0, 0, 870, 893, 886, + 901, 881, 882, 883, 896, 0, 880, 878, 879, 871, + 872, 873, 874, 876, 877, 895, 0, 0, 0, 0, + 0, 869, 0, 0, 0, 0, 0, 884, 886, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 861, - 0, 0, 0, 885, 0, 876, 873, 874, 875, 888, - 0, 872, 870, 871, 863, 864, 865, 866, 868, 869, - 859, 860, 0, 879, 880, 881, 889, 890, 891, 0, - 0, 0, 0, 0, 1522, 1523, 882, 1540, 1541, 1542, - 0, 0, 0, 862, 0, 0, 893, 0, 0, 0, - 1888, 0, 0, 0, 859, 860, 867, 879, 880, 881, - 889, 890, 891, 0, 0, 0, 0, 861, 0, 0, - 882, 0, 0, 876, 1513, 886, 894, 862, 0, 0, - 893, 0, 0, 0, 0, 0, 0, 1537, 0, 0, - 0, 892, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 861, 0, 0, 0, 0, 884, 876, 0, 0, - 0, 0, 877, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 867, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 883, 1528, 0, - 0, 0, 0, 886, 894, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 867, 892, + 0, 0, 0, 0, 895, 0, 1540, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1543, 884, 0, 0, 886, 894, 0, - 877, 0, 0, 0, 0, 878, 0, 0, 0, 0, - 0, 0, 0, 892, 1538, 0, 0, 0, 0, 0, - 0, 887, 0, 0, 0, 883, 0, 0, 884, 0, - 0, 0, 0, 0, 877, 0, 0, 0, 1520, 0, + 1551, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 883, + 875, 0, 893, 1555, 0, 881, 882, 883, 896, 0, + 880, 878, 879, 871, 872, 873, 874, 876, 877, 894, + 902, 0, 0, 0, 1550, 0, 0, 0, 0, 0, + 0, 893, 0, 0, 881, 882, 883, 896, 0, 880, + 878, 879, 871, 872, 873, 874, 876, 877, 0, 0, + 0, 0, 892, 0, 0, 0, 0, 0, 885, 0, + 0, 0, 0, 0, 0, 0, 1546, 1547, 1548, 0, + 0, 1545, 1543, 1544, 1536, 1537, 1538, 1539, 1541, 1542, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 878, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1539, 885, 887, - 0, 873, 874, 875, 888, 0, 872, 870, 871, 863, - 864, 865, 866, 868, 869, 859, 860, 878, 879, 880, - 881, 889, 890, 891, 0, 0, 0, 0, 0, 0, - 0, 882, 0, 887, 0, 0, 0, 0, 862, 0, - 0, 893, 0, 0, 0, 0, 0, 0, 1522, 1523, - 0, 1540, 1541, 1542, 0, 0, 0, 0, 0, 0, - 0, 0, 861, 0, 1701, 0, 885, 0, 876, 873, - 874, 875, 888, 0, 872, 870, 871, 863, 864, 865, - 866, 868, 869, 1534, 1535, 1536, 0, 0, 1533, 1531, - 1532, 1524, 1525, 1526, 1527, 1529, 1530, 0, 0, 0, - 885, 1537, 0, 873, 874, 875, 888, 0, 872, 870, - 871, 863, 864, 865, 866, 868, 869, 859, 860, 867, - 879, 880, 881, 889, 890, 891, 0, 0, 0, 0, - 0, 1522, 1523, 0, 1540, 1541, 1542, 0, 886, 894, - 862, 0, 0, 893, 0, 0, 0, 1700, 0, 0, - 0, 0, 1528, 0, 892, 0, 1522, 1523, 0, 1540, - 1541, 1542, 0, 0, 861, 0, 0, 0, 0, 884, - 876, 0, 0, 0, 0, 877, 0, 0, 1522, 1523, - 0, 1540, 1541, 1542, 1537, 0, 0, 1543, 0, 0, + 0, 1020, 1010, 1039, 1002, 1030, 1029, 1551, 0, 1004, + 1003, 0, 0, 0, 0, 1041, 1040, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 883, 0, 0, 0, 0, 0, 0, 0, 1538, 1537, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 867, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1537, 0, 0, 0, 1528, 0, 0, 0, 0, - 886, 894, 0, 0, 0, 0, 0, 0, 878, 0, - 0, 0, 0, 0, 0, 0, 892, 0, 0, 0, - 1528, 0, 0, 0, 887, 0, 0, 0, 0, 0, - 1543, 884, 0, 0, 0, 0, 0, 877, 0, 0, - 1544, 1539, 1528, 0, 0, 0, 0, 0, 0, 0, - 0, 1538, 0, 0, 0, 1543, 0, 0, 0, 0, + 0, 886, 0, 0, 0, 0, 0, 1035, 0, 1027, + 1026, 0, 0, 0, 0, 0, 0, 895, 0, 1025, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1538, 1543, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1024, 1022, 1023, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 885, 0, 0, 873, 874, 875, 888, 1538, 872, - 870, 871, 863, 864, 865, 866, 868, 869, 0, 0, - 878, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1539, 0, 887, 1534, 1535, 1536, - 0, 0, 1533, 1531, 1532, 1524, 1525, 1526, 1527, 1529, - 1530, 0, 0, 0, 0, 0, 0, 0, 0, 1539, + 0, 0, 0, 1546, 1547, 1548, 0, 0, 1545, 1543, + 1544, 1536, 1537, 1538, 1539, 1541, 1542, 1013, 1012, 1014, + 1015, 1016, 1017, 1018, 0, 1038, 0, 0, 0, 0, + 0, 0, 0, 0, 893, 0, 0, 881, 882, 883, + 896, 0, 880, 878, 879, 871, 872, 873, 874, 876, + 877, 0, 0, 1006, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1028, 0, 0, 0, 1011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1539, 0, 0, 0, 0, 0, 0, 0, 0, - 1010, 1002, 1027, 994, 1018, 1017, 0, 0, 996, 995, - 0, 0, 0, 885, 1029, 1028, 873, 874, 875, 888, - 0, 872, 870, 871, 863, 864, 865, 866, 868, 869, - 1534, 1535, 1536, 0, 0, 1533, 1531, 1532, 1524, 1525, - 1526, 1527, 1529, 1530, 0, 0, 1023, 0, 1015, 1014, - 0, 0, 0, 0, 0, 1534, 1535, 1536, 1013, 0, - 1533, 1531, 1532, 1524, 1525, 1526, 1527, 1529, 1530, 0, - 0, 0, 0, 0, 0, 0, 1012, 1534, 1535, 1536, - 0, 0, 1533, 1531, 1532, 1524, 1525, 1526, 1527, 1529, - 1530, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1005, 1004, 1006, 1007, 1008, 0, - 1026, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1021, 0, + 0, 0, 1187, 1185, 1186, 1189, 1188, 0, 0, 0, + 0, 1020, 1010, 1039, 1002, 1030, 1029, 0, 0, 1004, + 1003, 0, 0, 0, 0, 1041, 1040, 0, 1007, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1019, + 1008, 0, 0, 0, 0, 0, 0, 0, 0, 1043, + 482, 0, 0, 0, 0, 0, 0, 1035, 0, 1027, + 1026, 1005, 0, 0, 1036, 1037, 0, 0, 487, 1025, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 998, 0, + 488, 0, 0, 0, 0, 0, 1009, 1024, 1022, 1023, + 0, 1042, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 489, 0, 0, 0, 0, 490, 0, 0, 0, + 0, 495, 496, 0, 0, 507, 0, 1013, 1012, 1014, + 1015, 1016, 1017, 1018, 0, 1038, 0, 485, 491, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1016, 0, 0, 0, 1003, 0, 1010, 1002, 1027, 994, - 1018, 1017, 0, 0, 996, 995, 0, 0, 0, 0, - 1029, 1028, 0, 0, 0, 0, 0, 0, 0, 0, - 478, 0, 0, 1011, 0, 0, 0, 1175, 1173, 1174, - 1177, 1176, 0, 0, 0, 0, 0, 0, 483, 0, - 0, 0, 1023, 0, 1015, 1014, 0, 0, 0, 0, - 484, 0, 0, 999, 1013, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1009, 1000, 0, 0, 0, 0, - 0, 485, 1012, 0, 1031, 0, 486, 0, 0, 0, - 0, 491, 492, 0, 0, 503, 997, 0, 0, 1024, - 1025, 0, 0, 0, 0, 0, 0, 481, 487, 0, - 1005, 1004, 1006, 1007, 1008, 0, 1026, 0, 0, 0, - 0, 1001, 0, 0, 0, 0, 1030, 0, 0, 0, - 506, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 998, 0, 0, 0, 488, 0, - 0, 0, 0, 0, 0, 0, 1016, 0, 0, 0, - 1003, 0, 489, 490, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 496, 0, - 0, 493, 498, 0, 0, 0, 0, 0, 0, 1011, - 0, 0, 495, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 479, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1009, 1000, 0, 0, 0, 0, 0, 0, 0, 0, - 1031, 0, 494, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 997, 0, 0, 1024, 1025, 0, 0, 0, + 510, 0, 0, 1006, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1028, 0, 0, 0, 1011, + 492, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 493, 494, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1021, 0, + 0, 0, 500, 0, 0, 497, 502, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 499, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 483, 0, 1007, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1019, + 1008, 0, 0, 0, 0, 0, 0, 0, 0, 1043, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1001, 497, 499, - 480, 0, 1030, 0, 0, 0, 0, 0, 0, 0, + 0, 1005, 0, 0, 1036, 1037, 498, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 500, 0, 0, 0, 505, 0, 0, - 0, 501, 0, 0, 0, 0, 482, 502, 0, 0, + 0, 0, 0, 0, 0, 0, 1009, 0, 0, 0, + 0, 1042, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 501, 503, 484, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 504, + 0, 0, 0, 0, 0, 0, 0, 504, 0, 0, + 0, 509, 0, 0, 0, 505, 0, 0, 0, 0, + 486, 506, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 508, } var sqlPact = [...]int{ - 4162, -1000, 41, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 29547, -1000, 14, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 742, 17602, 17602, 875, - 21942, -1000, -1000, -1000, -1000, -1000, -1000, 694, 1145, 733, - 242, 5511, 21942, 21942, 21632, 1114, 1200, 1198, 1114, 23492, - -1000, -1000, 27522, -1000, 31786, 487, 492, 487, 487, 494, - 23492, 1018, 600, 14464, 708, 152, -1000, 734, 60, 27212, - 21942, 1508, 27, 19772, 285, 4162, 21322, 26902, 21942, 21012, - 573, 2, 18222, 21942, -1000, 43, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 709, 17553, 17553, 998, + 21949, -1000, -1000, -1000, -1000, -1000, -1000, 666, 974, 720, + 326, 5314, 21949, 21949, 21635, 1179, 1161, 1145, 1179, 23519, + -1000, -1000, 27601, -1000, 31406, 468, 472, 468, 468, 473, + 23519, 931, 582, 14375, 689, 128, -1000, 990, -13, 27287, + 21949, 1516, 11, 19751, 235, 29547, 21321, 26973, 21949, 21007, + 550, 5, 18181, 21949, -1000, 21, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, @@ -4781,11 +4762,12 @@ var sqlPact = [...]int{ -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, 1313, 11209, 11209, 378, 43, - -1000, 1307, 1211, 1210, 19772, -1000, -1000, -1000, -1000, -1000, - 26592, 26282, 25972, 25662, 25352, -1000, 13174, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 766, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1325, + 11080, 11080, 345, 21, -1000, 1324, 1182, 1168, 19751, -1000, + -1000, -1000, -1000, -1000, 26659, 26345, 26031, 25717, 25403, -1000, + 13069, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 752, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, @@ -4795,215 +4777,217 @@ var sqlPact = [...]int{ -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 318, 317, -1000, 20702, -1000, 996, -1000, 16, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 11209, 11209, - 992, -1000, 21942, -1000, -1000, 25042, 24732, 667, 316, 1006, - -1000, -1000, 576, 408, -1000, -1000, 14142, 47, -1000, -1000, - -1000, -1000, 1323, 1531, 17292, 821, 1302, -1000, 990, 1301, - 1300, 1295, 1294, 1292, -1000, 728, -1000, 635, 497, -1000, - 1291, 402, 777, 475, -1000, 1290, 1288, 1006, -1000, 1006, - -1000, -1000, -1000, 569, 23492, -1000, -1000, -1000, -1000, -1000, - 19772, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, 1748, -1000, -1000, -1000, -1000, 1762, -1000, -1000, -1000, - -1000, 24422, 21942, 21942, 1227, 24112, -1000, 734, -1000, -1000, - -1000, 1141, 1506, 1506, 1506, 1558, 141, 139, 152, -15, - 21942, -1000, 315, -15, 9533, 9533, -1000, -1000, 285, -1000, - 353, 16660, -1000, 7858, -1000, 939, 1401, 490, 818, 1400, - -148, 738, 721, 1391, 17292, 18222, 2, -32, -1000, -1000, - -1000, 5189, 17292, 31195, -1000, 11209, 11209, 11209, 11209, 11209, - 850, 331, -1000, 314, 313, 6504, -1000, -1000, 1756, -1000, - -1000, -1000, 143, -1000, -1000, 11209, 43, -1000, -1000, -1000, - -1000, 310, 1772, -1000, 425, -1000, -1000, -1000, 419, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1321, 309, - 308, -1000, -1000, -1000, -1000, 307, 305, 304, 303, 301, - 300, 299, 298, 296, 293, 292, 291, 290, 289, 288, - 793, -1000, 433, -1000, -1000, 433, 433, -1000, 271, 271, - 272, -1000, -1000, -1000, -1000, 271, -1000, -1000, -1000, 394, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 287, 31195, 644, - 15717, 43, -1000, -1000, -1000, 19772, 21942, 21942, 674, 23802, - -1000, 1388, 120, 1386, -1000, 111, 1379, -1000, 111, 1373, - -32, 1372, 35, -1000, -1000, 285, 20392, 21942, 1622, 31729, - -1000, 11209, -1000, -1000, 17602, 1626, 31195, 31195, 17602, -1000, - -1000, 1621, -1000, 21942, 11209, -4, -1000, -1000, -1000, -1000, - 1119, 1098, 545, 13820, 13498, 1462, 1760, -1000, -1000, -1000, - 46, 5511, 236, 657, -1000, -1000, -1000, 20082, -1000, -1000, - 21942, 1320, 17602, 21942, 21942, 21942, 21942, 21942, -1000, -1000, - -1000, 491, 1319, 21942, -1000, 1117, -1000, -1000, 21942, 21942, - 739, 598, -1000, -4, -1000, 23492, -1000, 125, -1000, -1000, - -1000, -1000, 283, 1077, 421, 145, 23182, 421, 1076, -1000, - 1141, -1000, 1002, 1167, 10204, 1158, 11209, 152, -1000, -1000, - 152, 152, 11209, -1000, -1000, 21942, -15, 1614, 21942, 99, - -1000, 30241, -1000, 99, -1000, -1000, -1000, 21942, 34, -1000, - 31195, -1000, -47, 867, -1000, 19152, 1491, 1486, 1487, 19772, - 1582, 60, 1287, 1578, 60, 1286, 566, 21942, 21942, 565, - 554, 19772, 383, -1000, 21942, -1000, -1000, -70, -1000, 31573, - 31729, 5511, 587, 11209, 11209, 11209, 11209, 11209, 11209, 11209, - 11209, 11209, 11209, 11209, 11209, 11209, 11209, 11209, 11209, 11209, - 11209, 11209, 11209, 11209, 11209, 1248, 11209, 553, 11209, 11209, - 11209, 11209, 885, 879, 244, 1022, -1000, 1732, 1732, 1732, - 31297, 31297, 231, 331, -1000, 11209, -1000, 9869, 139, 29728, - -16, -1000, -1000, -1000, 7510, 431, 31195, 43, 6168, -1000, - 1753, 686, 1334, 1260, 282, 135, 132, 11209, 11209, 11544, - 11544, 11209, 11879, 11209, 11209, 6839, 11209, 11209, 11209, 11209, - 11209, 11209, -1000, 275, -1000, -1000, -1000, -1000, 1752, -1000, - -1000, 1751, -1000, 582, 578, 1745, -1000, 1282, 28, -1000, - -1000, 428, 107, 1613, 107, 16032, -1000, 21942, 21942, -1000, - 21942, -1000, -1000, 21942, -1000, 21942, 21942, -1000, 21942, 21942, - 236, 18532, 736, 1369, 638, 236, 26, -1000, 1631, -1000, - -1000, -1000, -1000, 97, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 275, 274, -1000, 20693, + -1000, 1012, -1000, 9, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, 11080, 11080, 1010, -1000, 21949, -1000, -1000, 25089, + 24775, 644, 273, 946, -1000, -1000, 548, 364, -1000, -1000, + 14049, 24, -1000, -1000, -1000, -1000, 1343, 1534, 17239, 687, + 1320, -1000, 1009, 1319, 1313, 1307, 1305, 1304, -1000, 804, + -1000, 598, 486, -1000, 1299, 361, 816, 474, -1000, 1297, + 1296, 946, -1000, 946, -1000, -1000, -1000, 549, 23519, -1000, + -1000, -1000, -1000, -1000, 19751, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 1752, -1000, -1000, -1000, -1000, + 1761, -1000, -1000, -1000, -1000, 24461, 21949, 21949, 1180, 24147, + -1000, 990, -1000, -1000, -1000, 1094, 1514, 1514, 1514, 1581, + 111, 108, 128, -2, 21949, -1000, 270, -2, 9384, 9384, + -1000, -1000, 235, -1000, 306, 16599, -1000, 7689, -1000, 1175, + 1415, 405, 793, 1412, -147, 800, 776, 1411, 17239, 18181, + 5, -20, -1000, -1000, -1000, 4988, 17239, 30668, -1000, 11080, + 11080, 11080, 11080, 11080, 929, 300, -1000, 269, 267, 6319, + -1000, -1000, 1760, -1000, -1000, -1000, 135, -1000, -1000, 11080, + 21, -1000, -1000, -1000, -1000, 266, 1770, -1000, 435, -1000, + -1000, -1000, 375, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, 1338, 265, 264, -1000, -1000, -1000, -1000, 263, + 262, 260, 259, 258, 257, 254, 251, 250, 245, 244, + 243, 242, 241, 237, 866, -1000, 410, -1000, -1000, 410, + 410, -1000, 225, 225, 227, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 225, -1000, -1000, -1000, 366, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 236, 30668, 622, 15644, 21, + -1000, -1000, -1000, 19751, 21949, 21949, 651, 23833, -1000, 1403, + 122, 1401, -1000, 120, 1400, -1000, 120, 1399, -20, 1397, + 20, -1000, -1000, 235, 20379, 21949, 1653, 31334, -1000, 11080, + -1000, -1000, 17553, 1300, 30668, 30668, 17553, -1000, -1000, 1651, + -1000, 21949, 11080, -1, -1000, -1000, -1000, -1000, 1113, 1174, + 499, 13723, 13397, 1471, 727, -1000, -1000, -1000, 23, 5314, + 144, 640, -1000, -1000, -1000, 20065, -1000, -1000, 21949, 1337, + 17553, 21949, 21949, 21949, 21949, 21949, -1000, -1000, -1000, 484, + 1335, 21949, -1000, 1111, -1000, -1000, 21949, 21949, 717, 581, + -1000, -1, -1000, 23519, -1000, 126, -1000, -1000, -1000, -1000, + 232, 1080, 379, 115, 23205, 379, 1076, -1000, 1094, -1000, + 1021, 1184, 10063, 1199, 11080, 128, -1000, -1000, 128, 128, + 11080, -1000, -1000, 21949, -2, 1650, 21949, 123, -1000, 29948, + -1000, 123, -1000, -1000, -1000, 21949, 3, -1000, 30668, -1000, + -32, 772, -1000, 19123, 1503, 1498, 1484, 19751, 1607, -13, + 1295, 1606, -13, 1294, 547, 21949, 21949, 546, 543, 19751, + 349, -1000, 21949, -1000, -1000, 18, -1000, 31134, 31334, 5314, + 561, 11080, 11080, 11080, 11080, 11080, 11080, 11080, 11080, 11080, + 11080, 11080, 11080, 11080, 11080, 11080, 11080, 11080, 11080, 11080, + 11080, 11080, 11080, 1156, 11080, 540, 11080, 11080, 11080, 11080, + 1139, 857, 213, 1117, -1000, 1742, 1742, 1742, 30781, 30781, + 218, 300, -1000, 11080, -1000, 9724, 108, 29195, -8, -1000, + -1000, -1000, 7337, 406, 30668, 21, 5979, -1000, 1755, 699, + 1351, 1247, 231, 106, 105, 11080, 11080, 11419, 11419, 11080, + 11758, 11080, 11080, 6658, 11080, 11080, 11080, 11080, 11080, 11080, + -1000, 229, -1000, -1000, -1000, -1000, 1754, -1000, -1000, 1749, + -1000, 557, 554, 1747, -1000, 1291, -3, -1000, -1000, 395, + 89, 1644, 89, 15963, -1000, 21949, 21949, -1000, 21949, -1000, + -1000, 21949, -1000, 21949, 21949, -1000, 21949, 21949, 144, 18495, + 738, 1394, 856, 144, -7, -1000, 1657, -1000, -1000, -1000, + -1000, 87, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 272, 793, 271, 271, 271, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 394, -1000, -1000, 433, 433, 433, - -1000, -1000, 24, 31195, 550, -1000, 1281, 486, -1000, 406, - 20, 1006, 831, -1000, -1000, -1000, -1000, -1000, -1000, -30, - -1000, -1000, -30, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 1771, 5511, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, 21942, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 236, - -1000, -1000, -1000, -1000, 21942, 21942, 21942, -1000, -1000, 19772, - 18842, 1608, 1365, 825, -1000, 1603, 21942, 989, 1075, -1000, - 594, 1363, -1000, -1000, -1000, -1000, 31195, -1000, 382, -1000, - -1000, 31195, 829, 1215, -1000, 1215, -31, -1000, 30156, -1000, - 261, 14, 428, 9533, 15403, 5511, -1000, 428, 131, 7858, - -1000, 736, 21942, 21942, 21942, -1000, -1000, 1064, 22872, 1063, - 31729, 21942, -1000, 255, 252, 1176, 1161, 21942, 21942, 22562, - 22252, 21942, 918, 60, -1000, 248, 60, -1000, 245, 21942, - 717, -1000, 21942, 21942, 713, 1239, 1010, -1000, 422, 17292, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 401, 1196, 1196, 586, 586, 586, 586, 1713, 198, 1001, - 962, 2594, 2594, 2594, 346, 167, 167, 2594, 2594, 2594, - 31297, 29868, 188, 11209, 11209, 542, 856, 244, 188, 11209, - 188, 188, 188, 188, -1000, 1015, -1000, -1000, -1000, -1000, - 1280, 241, 11879, 11879, -1000, -1000, -1000, 6504, 12214, -1000, - -1000, -1000, -1000, 237, 11209, -1000, 29756, -197, 3, -1000, - -1000, 11209, 15, -149, -1000, -1000, 653, -1000, 11209, -1000, - -21, 11209, 11209, 11209, 127, 126, -1000, 533, -1000, 532, - 530, 529, -1000, 234, 920, 233, 232, 11209, -1000, -1000, - 30964, 3987, 124, 1279, -138, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 118, 112, 30930, -138, 109, 31336, -1000, 11879, - 11879, 11879, 6504, 230, 108, 30127, -138, 30862, 9198, 9198, - 9198, 105, 30597, 11209, -138, 3793, 3541, 3255, 1, -7, - -8, 1742, -17, 104, 397, 390, 103, 641, 1278, 21942, - 699, 11209, 886, -1000, 15089, 441, 21942, 699, 83, -1000, - -1000, -1000, 379, 21942, -1000, -1000, -1000, 120, -1000, 111, - 111, -32, -1000, -1000, 19772, -1000, -1000, 31729, 330, 276, - -1000, 1738, -1000, 11209, 21942, 21942, 1207, -1000, -1000, -1000, - 726, -1000, 784, -1000, 14464, -1000, -77, -1000, -1000, -1000, - -1000, 383, -1000, 98, -33, -41, 31729, -1000, -1000, -1000, - -1000, -1000, 21942, 306, 21942, 60, 21942, -1000, 1770, 60, - 21942, 1361, 1408, 373, 21942, 829, -1000, 11209, 1724, -1000, - -1000, -1000, 11209, -1000, -1000, -1000, 236, -1000, 1250, -1000, - -137, 2071, 156, -175, 101, 387, -1000, 14775, -1000, 1250, - -1000, -1000, -1000, -1000, 525, 517, 1356, -1000, 1042, -1000, - 445, -1000, 971, 11209, 12860, 229, 228, 956, -1000, 1352, - 1032, 1349, 1032, -1000, -47, 772, -1000, 11209, -1000, 11209, - -1000, 512, -1000, -1000, 511, 422, 1277, 612, -1000, 979, - -1000, 11209, 188, 188, 11209, 11879, 11879, -1000, 188, -1000, - -1000, -1000, -1000, -1000, 1274, 225, 11209, 31729, 31311, 31228, - -34, -1000, 8863, -51, -1000, 11209, -1000, 29393, -1000, -1000, - 169, 1405, -1000, 11209, 30529, 92, 8528, -1000, 30491, -24, - -24, -1000, 1769, 1087, 1029, 890, 684, 1699, -1000, 16346, - 429, 976, 29361, 31573, 31729, -1000, 11209, -1000, -1000, 1271, - 11209, -1000, 31573, 31729, 11879, 11879, 11879, 11879, 11879, 11879, - 11879, 11879, 11879, 11879, 11879, 11879, 11879, 11879, 11879, 11879, - 11879, 11879, 11879, 1147, 11879, 1730, 1730, 1730, -64, 8193, - -1000, 1318, 1271, 11209, 11209, 31729, 90, 89, 88, -1000, - 11209, -138, 11209, 11209, 11209, -1000, -1000, -1000, 82, -1000, - 1693, -1000, -1000, -1000, -1000, -1000, 631, -1000, -1000, 7174, - 31195, -1000, 699, 1512, -46, -1000, -1000, -1000, 428, 16032, - 15403, 7858, -52, -1000, -1000, -1000, 736, -1000, 563, 1689, - 79, 31195, -77, -77, -1000, -1000, -1000, -1000, -1000, 21942, - -1000, 1231, -1000, 18842, 220, 21942, 218, -1000, 214, -1000, - -1000, 212, 21942, 1124, 373, 17912, -1000, 421, 981, 29333, - -1000, 78, 1249, 1556, -1000, 15403, 1197, 1191, 15403, 1088, - 945, 945, 945, -1000, 209, 328, 387, 4531, 11209, 19462, - 941, 66, 77, 2071, 1249, 21942, 21942, 21942, 1346, -1000, - 2193, -1000, 28998, -53, -1000, 329, 1523, 11209, -1000, -1000, - 207, 12860, 21942, -1000, 1182, 1151, 480, 21942, -1000, 21942, - -1000, 21942, 21942, 21942, -54, -68, 21942, 21942, -1000, 17292, - 548, 206, 1728, 188, 30944, 30366, 11209, 31729, 3731, -73, - 11209, 11209, -1000, -79, -1000, 11209, 327, 31195, -1000, -1000, - -1000, 31195, 11209, 1766, 11209, 75, 71, 70, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, 69, -1000, -1000, 27832, - 11209, 68, -1000, 65, 64, 31195, 1318, 31195, -1000, -1000, - 485, 485, 679, 679, 679, 679, 1730, 2220, 470, 1475, - 954, 954, 954, 2171, 557, 557, 954, 954, 954, 1269, - 1159, 205, 31358, 11209, -83, -1000, -1000, -1000, 31195, 31195, - 63, -1000, -1000, -1000, -138, 274, 28966, 28938, -1000, 62, - -1000, -88, -1000, -1000, 213, 60, 699, -1000, -102, -1000, - 374, -1000, 325, 324, -1000, -1000, -1000, 1233, -1000, 12860, - 204, 21942, 18842, 1600, 12860, 988, 1149, 373, 17912, -1000, - 594, -1000, -1000, -1000, 424, 11209, 11209, 2071, 15403, 15403, - 1070, 1152, 15403, -1000, -1000, -1000, -1000, 323, 385, 387, - 19462, -1000, 1678, 1168, -84, -1000, -1000, 21942, 203, -1000, - 387, 424, -1000, -1000, -1000, 21942, -1000, 21942, -1000, 5511, - 21942, 1261, 1031, -1000, -1000, 1160, 201, 11879, 21942, -1000, - 833, 12860, 1501, 43, 5511, 1501, 28603, 6168, -90, -94, - 1016, -1000, 1009, 11209, -1000, 31729, 1032, 1032, -1000, 508, - 507, 506, 504, -1000, -1000, -122, 16982, 1768, 11209, 11209, - 3731, -100, -1000, 188, 188, -1000, 28571, -1000, 31195, -1000, - 30491, -1000, -1000, -1000, -1000, 815, -1000, 28543, -1000, -1000, - -1000, -1000, 11879, 1267, 199, 31729, 28208, -1000, -1000, 11209, - -1000, -1000, -1000, 1421, 21942, 1478, -1000, -1000, 195, -1000, - -1000, 840, -101, 12860, -106, 55, 60, -107, 21942, -1000, - 373, 17912, -1000, 1408, -1000, 21942, 31195, -138, -1000, 1070, - -1000, 186, 11209, 15403, -1000, -175, -1000, -108, -1000, 19462, - -1000, 322, -192, -1000, 372, -1000, 387, 185, 21942, 19462, - -1000, -1000, 1194, -1000, -1000, 21942, 1036, -1000, -1000, 11209, - 31358, 174, 1231, 173, -1000, -1000, -1000, -1000, -1000, -1000, - 1523, -21, -1000, 740, -1000, -1000, 31195, 1521, -1000, -1000, - 21942, 21942, 168, 165, -1000, 155, 43, -112, -1000, 362, - 188, 188, -1000, -1000, 54, 976, 1544, -1000, 3970, 11879, - 31729, -113, -1000, 28176, 579, -114, 21942, -1000, -1000, 5833, - 21942, 833, -120, -1000, 1231, -1000, 833, 153, 17912, -1000, - 1124, -131, -1000, 1591, -1000, 21942, 31195, -1000, 387, -1000, - 1672, -1000, -1000, 1168, -1000, 4864, 19462, 21942, -130, -1000, - -1000, -1000, 1345, 28148, 1090, 21942, -1000, 21942, 1501, 52, - 21942, 449, 5511, -1000, -1000, 11209, 11209, 11209, 1768, -1000, - -1000, 1767, -1000, 814, 11209, 3970, -136, -1000, -1000, 669, - -1000, 428, -1000, 147, 1231, 833, -1000, 1231, 12860, -1000, - 1149, 21942, 146, -140, 19462, -1000, -1000, -1000, 1670, -1000, - -157, -1000, 1337, -1000, 983, 871, 51, -164, -1000, -1000, - 145, -1000, 11209, -1000, -165, -176, -24, -1000, -1000, 50, - 10874, 10874, -138, -1000, 16032, -1000, 21942, -1000, 1231, -1000, - -181, -1000, -1000, -1000, -1000, -1000, 321, -1000, 21942, -1000, - 985, 984, 683, -1000, -1000, -1000, -1000, -1000, 1090, 31195, - -1000, -1000, 49, -1000, -1000, -1000, 12538, 1054, 696, 29794, - -1000, -153, -183, -1000, 833, -1000, -1000, -1000, 1433, -1000, - 473, 982, 982, 983, 1766, 1636, -1000, -1000, -1000, -1000, - -1000, -1000, 1005, 1231, -1000, 1643, -1000, -1000, 1127, -1000, - -1000, 10539, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 227, 866, 225, 225, 225, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, 366, -1000, -1000, 410, + 410, 410, -1000, -1000, -11, 30668, 533, -1000, 1284, 462, + -1000, 386, -37, 946, 936, -1000, -1000, -1000, -1000, -1000, + -1000, -12, -1000, -1000, -12, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 1769, 5314, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 21949, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, 144, -1000, -1000, -1000, -1000, 21949, 21949, 21949, -1000, + -1000, 19751, 18809, 1641, 1393, 884, -1000, 1631, 21949, 1006, + 1074, -1000, 571, 1392, -1000, -1000, -1000, -1000, 30668, -1000, + 370, -1000, -1000, 30668, 746, 1176, -1000, 1176, -18, -1000, + 29688, -1000, 224, -42, 395, 9384, 15326, 5314, -1000, 395, + 103, 7689, -1000, 738, 21949, 21949, 21949, -1000, -1000, 1073, + 22891, 1069, 31334, 21949, -1000, 223, 222, 1149, 1143, 21949, + 21949, 22577, 22263, 21949, 1072, -13, -1000, 221, -13, -1000, + 216, 21949, 768, -1000, 21949, 21949, 753, 1216, 1028, -1000, + 383, 17239, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, 355, 1239, 1239, 588, 588, 588, 588, 1725, + 1020, 2289, 705, 3748, 3748, 3748, 322, 661, 661, 3748, + 3748, 3748, 30781, 30752, 188, 11080, 11080, 530, 842, 213, + 188, 11080, 188, 188, 188, 188, -1000, 1899, -1000, -1000, + -1000, -1000, 1281, 212, 11758, 11758, -1000, -1000, -1000, 6319, + 12097, -1000, -1000, -1000, -1000, 211, 11080, -1000, 29223, -198, + -49, -1000, -1000, 11080, -41, -117, -1000, -1000, 632, -1000, + 11080, -1000, 12, 11080, 11080, 11080, 101, 96, -1000, 527, + -1000, 520, 519, 517, -1000, 201, 939, 194, 193, 11080, + -1000, -1000, 30539, 28263, 95, 1280, -112, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 92, 91, 30409, -112, 90, 29110, + -1000, 11758, 11758, 11758, 6319, 192, 85, 29818, -112, 30324, + 9045, 9045, 9045, 78, 30296, 11080, -112, 28235, 3881, 3639, + -53, -54, -55, 1743, -61, 77, 354, 353, 76, 620, + 1272, 21949, 692, 11080, 874, -1000, 15008, 427, 21949, 692, + 110, -1000, -1000, -1000, 342, 21949, -1000, -1000, -1000, 122, + -1000, 120, 120, -20, -1000, -1000, 19751, -1000, -1000, 31334, + 296, 293, -1000, 1740, -1000, 11080, 21949, 21949, 1159, -1000, + -1000, -1000, 693, -1000, 848, -1000, 14375, -1000, -39, -1000, + -1000, -1000, -1000, 349, -1000, 74, -63, -31, 31334, -1000, + -1000, -1000, -1000, -1000, 21949, 288, 21949, -13, 21949, -1000, + 1768, -13, 21949, 1389, 1423, 324, 21949, 746, -1000, 11080, + 1738, -1000, -1000, -1000, 11080, -1000, -1000, -1000, 144, -1000, + 1246, -1000, -84, 1142, 287, -177, 80, 325, -1000, 14690, + -1000, 1246, -1000, -1000, -1000, -1000, 514, 512, 1388, -1000, + 1066, -1000, 431, -1000, 818, 11080, 12751, 191, 190, 860, + -1000, 1378, 962, 1377, 962, -1000, -32, 748, -1000, 11080, + -1000, 11080, -1000, 510, -1000, -1000, 507, 383, 1271, 587, + -1000, 979, -1000, 11080, 188, 188, 11080, 11758, 11758, -1000, + 188, -1000, -1000, -1000, -1000, -1000, 1268, 187, 11080, 31334, + 30813, 3926, -65, -1000, 8706, -33, -1000, 11080, -1000, 29167, + -1000, -1000, 286, 1419, -1000, 11080, 30061, 70, 8367, -1000, + 30033, -34, -34, -1000, 1767, 1091, 1019, 867, 672, 1736, + -1000, 16281, 400, 958, 29139, 31134, 31334, -1000, 11080, -1000, + -1000, 1261, 11080, -1000, 31134, 31334, 11758, 11758, 11758, 11758, + 11758, 11758, 11758, 11758, 11758, 11758, 11758, 11758, 11758, 11758, + 11758, 11758, 11758, 11758, 11758, 1158, 11758, 1730, 1730, 1730, + -38, 8028, -1000, 1333, 1261, 11080, 11080, 31334, 68, 66, + 63, -1000, 11080, -112, 11080, 11080, 11080, -1000, -1000, -1000, + 61, -1000, 1727, -1000, -1000, -1000, -1000, -1000, 612, -1000, + -1000, 6997, 30668, -1000, 692, 1489, -69, -1000, -1000, -1000, + 395, 15963, 15326, 7689, -71, -1000, -1000, -1000, 738, -1000, + 531, 1723, 60, 30668, -39, -39, -1000, -1000, -1000, -1000, + -1000, 21949, -1000, 1201, -1000, 18809, 186, 21949, 174, -1000, + 173, -1000, -1000, 170, 21949, 1122, 324, 17867, -1000, 379, + 981, 28800, -1000, 59, 1228, 1555, -1000, 15326, 1153, 1152, + 15326, 1162, 952, 952, 952, -1000, 168, 284, 325, 4322, + 11080, 19437, 955, 50, 58, 1142, 1228, 21949, 21949, 21949, + 1375, -1000, 2216, -1000, 28771, -73, -1000, 321, 1529, 11080, + -1000, -1000, 158, 12751, 21949, -1000, 1155, 1166, 451, 21949, + -1000, 21949, -1000, 21949, 21949, 21949, -75, -79, 21949, 21949, + -1000, 17239, 534, 153, 1563, 188, 3154, 2812, 11080, 31334, + 30964, -83, 11080, 11080, -1000, -85, -1000, 11080, 283, 30668, + -1000, -1000, -1000, 30668, 11080, 1732, 11080, 56, 53, 52, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 49, -1000, + -1000, 27915, 11080, 48, -1000, 47, 46, 30668, 1333, 30668, + -1000, -1000, 729, 729, 629, 629, 629, 629, 1730, 787, + 1482, 573, 214, 214, 214, 675, 713, 713, 214, 214, + 214, 1255, 1138, 152, 30930, 11080, -89, -1000, -1000, -1000, + 30668, 30668, 43, -1000, -1000, -1000, -112, 3535, 28743, 28715, + -1000, 42, -1000, -62, -1000, -1000, 195, -13, 692, -1000, + -70, -1000, 340, -1000, 279, 277, -1000, -1000, -1000, 1200, + -1000, 12751, 150, 21949, 18809, 1624, 12751, 989, 1125, 324, + 17867, -1000, 571, -1000, -1000, -1000, 387, 11080, 11080, 1142, + 15326, 15326, 1116, 1133, 15326, -1000, -1000, -1000, -1000, 215, + 377, 325, 19437, -1000, 1717, 1167, -93, -1000, -1000, 21949, + 149, -1000, 325, 387, -1000, -1000, -1000, 21949, -1000, 21949, + -1000, 5314, 21949, 1245, 1048, -1000, -1000, 1131, 148, 11758, + 21949, -1000, 831, 12751, 1502, 21, 5314, 1502, 28687, 5979, + -95, -97, 1042, -1000, 1038, 11080, -1000, 31334, 962, 962, + -1000, 500, 494, 492, 489, -1000, -1000, -80, 16925, 1765, + 11080, 11080, 30964, -99, -1000, 188, 188, -1000, 28348, -1000, + 30668, -1000, 30033, -1000, -1000, -1000, -1000, 912, -1000, 28319, + -1000, -1000, -1000, -1000, 11758, 1254, 147, 31334, 28291, -1000, + -1000, 11080, -1000, -1000, -1000, 1433, 21949, 1479, -1000, -1000, + 145, -1000, -1000, 917, -108, 12751, -113, 39, -13, -118, + 21949, -1000, 324, 17867, -1000, 1423, -1000, 21949, 30668, -112, + -1000, 1116, -1000, 143, 11080, 15326, -1000, -177, -1000, -124, + -1000, 19437, -1000, 172, -193, -1000, 320, -1000, 325, 142, + 21949, 19437, -1000, -1000, 1595, -1000, -1000, 21949, 1055, -1000, + -1000, 11080, 30930, 141, 1201, 140, -1000, -1000, -1000, -1000, + -1000, -1000, 1529, 12, -1000, 754, -1000, -1000, 30668, 1524, + -1000, -1000, 21949, 21949, 138, 137, -1000, 136, 21, -125, + -1000, 317, 188, 188, -1000, -1000, 38, 958, 1551, -1000, + 30517, 11758, 31334, -131, -1000, 3989, 559, -135, 21949, -1000, + -1000, 5640, 21949, 831, -137, -1000, 1201, -1000, 831, 134, + 17867, -1000, 1122, -94, -1000, 1617, -1000, 21949, 30668, -1000, + 325, -1000, 1710, -1000, -1000, 1167, -1000, 4659, 19437, 21949, + -145, -1000, -1000, -1000, 1371, 171, 1099, 21949, -1000, 21949, + 1502, 36, 21949, 438, 5314, -1000, -1000, 11080, 11080, 11080, + 1765, -1000, -1000, 1764, -1000, 721, 11080, 30517, -149, -1000, + -1000, 647, -1000, 395, -1000, 129, 1201, 831, -1000, 1201, + 12751, -1000, 1125, 21949, 119, -151, 19437, -1000, -1000, -1000, + 1690, -1000, -159, -1000, 1357, -1000, 983, 814, 35, -160, + -1000, -1000, 115, -1000, 11080, -1000, -161, -171, -34, -1000, + -1000, 34, 10741, 10741, -112, -1000, 15963, -1000, 21949, -1000, + 1201, -1000, -179, -1000, -1000, -1000, -1000, -1000, 124, -1000, + 21949, -1000, 988, 985, 674, -1000, -1000, -1000, -1000, -1000, + 1099, 30668, -1000, -1000, 31, -1000, -1000, -1000, 12425, 1024, + 700, 29574, -1000, -153, -189, -1000, 831, -1000, -1000, -1000, + 1450, -1000, 444, 1132, 1132, 983, 1732, 1662, -1000, -1000, + -1000, -1000, -1000, -1000, 911, 1201, -1000, 1669, -1000, -1000, + 1126, -1000, -1000, 10402, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, } var sqlPgo = [...]int{ - 0, 2040, 2038, 1527, 1732, 2035, 2034, 2030, 1671, 2029, - 2028, 2026, 2025, 2022, 2021, 1668, 2020, 1665, 1641, 1631, - 2019, 107, 2018, 2017, 2015, 1617, 2010, 2005, 2000, 1999, - 1998, 1997, 76, 1996, 1995, 1603, 1554, 1548, 1541, 1990, - 1985, 1539, 1980, 1979, 14, 1974, 73, 1973, 35, 147, - 2564, 140, 1972, 1968, 1967, 21, 111, 64, 1966, 206, - 1965, 1964, 56, 33, 23, 19, 1959, 102, 1958, 1957, - 1389, 48, 1956, 1953, 133, 1952, 29, 25, 188, 150, - 146, 127, 122, 1951, 1948, 1947, 1943, 42, 1941, 1, - 1940, 1938, 10, 82, 17, 1937, 78, 24, 1936, 1934, - 129, 1930, 68, 104, 1531, 134, 130, 187, 1929, 66, - 8, 65, 1927, 1924, 152, 31, 1923, 26, 75, 139, - 1922, 45, 153, 51, 28, 59, 124, 1920, 1919, 1917, - 103, 1915, 120, 91, 1914, 1913, 79, 1912, 132, 135, - 1909, 1908, 101, 1906, 116, 1905, 1901, 143, 156, 1900, - 148, 1897, 1896, 155, 115, 5, 57, 62, 18, 1512, - 1509, 123, 95, 30, 20, 1894, 2222, 32, 1054, 34, - 108, 67, 43, 109, 47, 92, 144, 46, 1893, 1886, - 126, 1885, 1879, 1877, 1875, 1873, 106, 1872, 1871, 61, - 142, 11, 22, 27, 97, 36, 69, 83, 105, 154, - 110, 1869, 85, 119, 1866, 205, 1864, 1863, 1707, 128, - 1860, 1844, 1843, 1526, 1492, 1468, 865, 1841, 1840, 1312, - 934, 1839, 1833, 70, 1830, 136, 113, 1828, 137, 222, - 138, 1825, 121, 72, 96, 1822, 117, 44, 0, 627, - 254, 1821, 125, 86, 1808, 1807, 1806, 1805, 16, 3, - 9, 6, 7, 2, 49, 37, 1804, 1801, 131, 98, - 58, 1800, 151, 1799, 1798, 1796, 40, 1793, 15, 1792, - 12, 1791, 1790, 13, 4, 1789, 1788, 141, 1787, 100, - 1784, 1622, 1783, 145, 1782, 1781, 1667, 50, 112, + 0, 2030, 2029, 1550, 1665, 2027, 2024, 2023, 1663, 2021, + 2019, 2018, 2016, 2011, 2006, 1652, 2005, 1645, 1630, 1615, + 2003, 107, 2002, 1996, 1994, 1590, 1991, 1986, 1985, 1983, + 1979, 1978, 110, 1977, 1971, 1571, 1564, 1558, 1555, 1969, + 1965, 1547, 1962, 1961, 16, 1960, 78, 1953, 37, 146, + 2343, 135, 1952, 1948, 1945, 23, 117, 64, 1939, 86, + 1938, 1935, 47, 34, 19, 15, 1933, 101, 1932, 1930, + 1394, 27, 1929, 1926, 139, 1925, 21, 30, 361, 151, + 153, 127, 128, 1924, 1923, 1922, 1918, 44, 1917, 2, + 1916, 1915, 11, 70, 18, 1911, 28, 6, 1909, 1907, + 132, 1906, 72, 106, 1534, 105, 130, 295, 1905, 66, + 5, 65, 1904, 1903, 158, 45, 1900, 32, 83, 137, + 1894, 48, 155, 73, 31, 59, 124, 1892, 1890, 1888, + 98, 1886, 121, 95, 1885, 1884, 96, 1883, 136, 138, + 1882, 1881, 103, 1880, 131, 1878, 1876, 145, 159, 1875, + 156, 1873, 1872, 157, 120, 8, 56, 51, 17, 1528, + 1523, 129, 82, 33, 24, 1866, 1714, 2088, 1980, 35, + 108, 69, 57, 109, 58, 76, 143, 29, 1856, 1855, + 126, 1854, 1853, 1852, 1851, 1849, 112, 1848, 1846, 68, + 141, 13, 26, 49, 85, 36, 115, 77, 163, 147, + 118, 1842, 102, 123, 1841, 40, 1837, 1836, 1398, 144, + 1830, 1829, 1819, 1345, 1322, 931, 61, 1818, 1817, 864, + 736, 1816, 1812, 97, 1811, 125, 119, 1810, 149, 152, + 50, 1808, 122, 46, 99, 1805, 113, 42, 0, 817, + 627, 1804, 134, 79, 1803, 1802, 1801, 1798, 25, 4, + 9, 12, 7, 3, 62, 22, 1797, 1796, 133, 91, + 75, 1795, 154, 1794, 1793, 1792, 43, 1789, 20, 1788, + 14, 1787, 1786, 10, 1, 1785, 1784, 140, 1780, 104, + 1779, 1578, 1778, 150, 1777, 1776, 1610, 67, 114, } var sqlR1 = [...]int{ @@ -5067,45 +5051,45 @@ var sqlR1 = [...]int{ 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 207, 207, 207, 207, 209, 209, 209, 208, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 208, 208, 222, 222, 222, 222, - 222, 210, 210, 217, 217, 218, 218, 219, 220, 211, - 211, 212, 212, 213, 214, 221, 221, 221, 221, 225, - 225, 215, 215, 215, 215, 215, 216, 132, 132, 132, - 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, - 132, 133, 133, 166, 166, 166, 166, 166, 166, 166, + 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, + 222, 222, 222, 222, 222, 210, 210, 217, 217, 218, + 218, 219, 220, 211, 211, 212, 212, 213, 214, 221, + 221, 221, 221, 225, 225, 215, 215, 215, 215, 215, + 216, 132, 132, 132, 132, 132, 132, 132, 132, 132, + 132, 132, 132, 132, 132, 133, 133, 166, 166, 166, + 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, - 166, 166, 166, 166, 166, 166, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, - 167, 167, 167, 167, 167, 168, 168, 168, 168, 170, - 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, - 254, 254, 254, 254, 254, 254, 254, 256, 256, 257, - 257, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 167, 167, 167, 167, 167, 167, 167, 167, 167, 168, + 168, 168, 168, 170, 170, 170, 170, 170, 170, 170, + 170, 170, 170, 170, 254, 254, 254, 254, 254, 254, + 254, 256, 256, 257, 257, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 263, 263, - 264, 264, 266, 266, 267, 267, 268, 269, 269, 269, - 270, 271, 271, 265, 265, 272, 272, 272, 273, 273, - 274, 274, 274, 274, 274, 180, 180, 180, 181, 181, - 182, 188, 188, 188, 83, 83, 83, 83, 83, 83, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 263, 263, 264, 264, 266, 266, 267, 267, + 268, 269, 269, 269, 270, 271, 271, 265, 265, 272, + 272, 272, 273, 273, 274, 274, 274, 274, 274, 180, + 180, 180, 181, 181, 182, 188, 188, 188, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 75, 75, 75, 75, 75, 107, 107, 177, 177, 175, - 175, 175, 179, 179, 126, 126, 224, 224, 224, 224, - 224, 224, 224, 127, 127, 127, 134, 128, 128, 129, - 129, 129, 129, 129, 129, 171, 172, 130, 130, 130, - 173, 173, 183, 187, 187, 186, 185, 185, 184, 184, - 161, 161, 162, 162, 160, 159, 115, 115, 114, 114, - 113, 113, 288, 288, 189, 189, 116, 116, 117, 109, - 109, 200, 200, 200, 200, 103, 103, 82, 82, 104, - 104, 78, 78, 81, 81, 79, 79, 79, 79, 97, - 97, 98, 98, 76, 76, 169, 169, 169, 169, 169, - 169, 169, 169, 169, 169, 169, 226, 226, 226, 176, - 70, 70, 70, 71, 71, 72, 72, 231, 231, 231, - 232, 232, 232, 232, 230, 230, 230, 230, 230, 238, - 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, + 83, 83, 83, 83, 75, 75, 75, 75, 75, 107, + 107, 177, 177, 175, 175, 175, 179, 179, 126, 126, + 224, 224, 224, 224, 224, 224, 224, 127, 127, 127, + 134, 128, 128, 129, 129, 129, 129, 129, 129, 171, + 172, 130, 130, 130, 173, 173, 183, 187, 187, 186, + 185, 185, 184, 184, 161, 161, 162, 162, 160, 159, + 115, 115, 114, 114, 113, 113, 288, 288, 189, 189, + 116, 116, 117, 109, 109, 200, 200, 200, 200, 103, + 103, 82, 82, 104, 104, 78, 78, 81, 81, 79, + 79, 79, 79, 97, 97, 98, 98, 76, 76, 169, + 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, + 226, 226, 226, 176, 70, 70, 70, 71, 71, 72, + 72, 231, 231, 231, 232, 232, 232, 232, 230, 230, + 230, 230, 230, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, @@ -5120,14 +5104,14 @@ var sqlR1 = [...]int{ 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, - 238, 238, 238, 240, 240, 240, 240, 240, 240, 240, + 238, 238, 238, 238, 238, 238, 238, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, - 240, 240, 240, 240, 240, 239, 239, 239, 239, 239, - 239, 239, 239, 239, 239, 239, 239, 239, 239, 241, - 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, + 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, + 240, 240, 240, 239, 239, 239, 239, 239, 239, 239, + 239, 239, 239, 239, 239, 239, 239, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, @@ -5135,6 +5119,7 @@ var sqlR1 = [...]int{ 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, + 241, 241, 241, 241, 241, 241, 241, 241, } var sqlR2 = [...]int{ @@ -5197,45 +5182,45 @@ var sqlR2 = [...]int{ 2, 5, 2, 1, 1, 3, 4, 0, 1, 1, 1, 1, 2, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, - 5, 0, 1, 1, 1, 1, 1, 1, 1, 2, - 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, - 1, 3, 0, 1, 1, 1, 1, 5, 2, 1, - 1, 1, 1, 4, 1, 2, 2, 1, 1, 1, - 0, 1, 1, 4, 1, 4, 1, 1, 1, 1, - 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, - 0, 1, 4, 1, 3, 3, 3, 5, 2, 2, - 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 5, 0, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 2, 2, 2, 2, 2, 1, 1, + 1, 1, 1, 1, 1, 3, 0, 1, 1, 1, + 1, 5, 2, 1, 1, 1, 1, 4, 1, 2, + 2, 1, 1, 1, 0, 1, 1, 4, 1, 4, + 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, + 3, 3, 3, 3, 0, 1, 4, 1, 3, 3, + 3, 5, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 2, 2, 3, 4, 3, 4, 4, 5, - 3, 3, 3, 3, 3, 4, 3, 4, 3, 3, - 4, 3, 4, 3, 4, 5, 6, 6, 7, 6, - 7, 6, 7, 3, 4, 4, 1, 3, 3, 2, - 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 2, 2, 3, 4, + 3, 4, 4, 5, 3, 3, 3, 3, 3, 4, + 3, 4, 3, 3, 4, 3, 4, 3, 4, 5, + 6, 6, 7, 6, 7, 6, 7, 3, 4, 4, + 1, 3, 3, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 5, 6, 6, 7, 1, 2, 1, 2, 1, - 1, 2, 1, 3, 1, 1, 2, 2, 1, 1, - 3, 5, 6, 8, 6, 6, 4, 4, 1, 1, - 1, 5, 1, 3, 1, 3, 1, 1, 1, 1, - 6, 6, 4, 4, 4, 4, 4, 6, 5, 5, - 5, 4, 8, 6, 6, 4, 4, 4, 5, 0, - 5, 0, 2, 0, 1, 3, 3, 2, 2, 0, - 6, 1, 0, 3, 0, 2, 2, 0, 1, 4, - 2, 2, 2, 2, 2, 4, 3, 5, 4, 3, - 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 2, 1, 2, 1, 3, 1, 3, 3, - 3, 2, 1, 3, 3, 1, 1, 1, 1, 1, - 1, 1, 1, 4, 3, 1, 2, 3, 0, 3, - 3, 2, 2, 1, 0, 2, 2, 3, 2, 1, - 1, 3, 5, 1, 2, 4, 2, 0, 1, 0, - 3, 5, 1, 0, 2, 2, 1, 1, 1, 2, - 1, 2, 1, 0, 1, 1, 1, 3, 3, 1, - 3, 3, 2, 1, 1, 1, 3, 1, 3, 1, - 3, 1, 2, 3, 1, 1, 1, 2, 2, 1, - 3, 3, 0, 1, 2, 1, 1, 1, 1, 6, - 2, 1, 5, 1, 1, 1, 1, 2, 2, 3, - 1, 1, 1, 1, 0, 3, 0, 1, 1, 1, + 3, 3, 3, 3, 3, 5, 6, 6, 7, 1, + 2, 1, 2, 1, 1, 2, 1, 3, 1, 1, + 2, 2, 1, 1, 3, 5, 6, 8, 6, 6, + 4, 4, 1, 1, 1, 5, 1, 3, 1, 3, + 1, 1, 1, 1, 6, 6, 4, 4, 4, 4, + 4, 6, 5, 5, 5, 4, 8, 6, 6, 4, + 4, 4, 5, 0, 5, 0, 2, 0, 1, 3, + 3, 2, 2, 0, 6, 1, 0, 3, 0, 2, + 2, 0, 1, 4, 2, 2, 2, 2, 2, 4, + 3, 5, 4, 3, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, + 3, 1, 3, 3, 3, 2, 1, 3, 3, 1, + 1, 1, 1, 1, 1, 1, 1, 4, 3, 1, + 2, 3, 0, 3, 3, 2, 2, 1, 0, 2, + 2, 3, 2, 1, 1, 3, 5, 1, 2, 4, + 2, 0, 1, 0, 3, 5, 1, 0, 2, 2, + 1, 1, 1, 2, 1, 2, 1, 0, 1, 1, + 1, 3, 3, 1, 3, 3, 2, 1, 1, 1, + 3, 1, 3, 1, 3, 1, 2, 3, 1, 1, + 1, 2, 2, 1, 3, 3, 0, 1, 2, 1, + 1, 1, 1, 6, 2, 1, 5, 1, 1, 1, + 1, 2, 2, 3, 1, 1, 1, 1, 0, 3, + 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -5266,230 +5251,233 @@ var sqlR2 = [...]int{ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, } var sqlChk = [...]int{ -1000, -1, -2, -3, -4, -5, -6, -7, -8, -15, -16, -17, -18, -19, -20, -22, -23, -24, -25, -26, -28, -30, -31, -33, -32, -34, -35, -36, -37, -38, - -39, -27, -29, -40, -41, -42, 23, 34, 233, 47, + -39, -27, -29, -40, -41, -42, 23, 34, 237, 47, 67, -9, -10, -11, -12, -13, -14, -261, 92, 96, - 105, 127, 213, 103, 88, 121, 207, 235, 237, 244, - -48, -50, 255, -151, 258, 35, 267, 61, 99, 239, - 231, 232, 295, 304, 69, -259, -51, -49, 346, 320, - 327, 248, -52, 276, 312, 349, 276, 136, 81, 315, - -277, -104, 276, 81, -79, -70, 339, 4, -238, -240, + 105, 129, 217, 103, 88, 123, 211, 239, 241, 248, + -48, -50, 259, -151, 262, 35, 271, 61, 99, 243, + 235, 236, 299, 308, 69, -259, -51, -49, 350, 324, + 331, 252, -52, 280, 316, 353, 280, 138, 81, 319, + -277, -104, 280, 81, -79, -70, 343, 4, -238, -240, 20, 21, 23, 33, 34, 35, 40, 44, 47, 48, 55, 60, 61, 62, 64, 66, 67, 68, 71, 72, 79, 80, 82, 84, 88, 90, 92, 95, 96, 98, - 103, 104, 105, 111, 112, 115, 117, 122, 127, 128, - 129, 130, 137, 140, 142, 135, 150, 151, 152, 154, - 155, 156, 159, 158, 163, 166, 169, 171, 172, 173, - 176, 174, 178, 179, 181, 180, 186, 188, 189, 191, - 194, 197, 200, 203, 204, 205, 206, 207, 209, 211, - 213, 215, 216, 217, 218, 219, 221, 222, 224, 225, - 226, 227, 228, 231, 229, 230, 232, 233, 234, 235, - 237, 239, 240, 242, 256, 257, 268, 244, 245, 246, - 247, 251, 249, 252, 253, 255, 258, 260, 263, 266, - 267, 269, 272, 270, 265, 275, 277, 278, 279, 280, - 281, 282, 283, 290, 291, 295, 296, 297, 298, 301, - 302, 303, 304, 306, 309, 310, 311, 316, 321, 322, - 323, 324, 325, 28, 36, 37, 38, 39, 41, 42, + 103, 104, 105, 111, 112, 117, 119, 124, 129, 130, + 131, 132, 139, 142, 144, 137, 154, 155, 156, 158, + 159, 160, 163, 162, 167, 170, 173, 175, 176, 177, + 180, 178, 182, 183, 185, 184, 190, 192, 193, 195, + 198, 201, 204, 207, 208, 209, 210, 211, 213, 215, + 217, 219, 220, 221, 222, 223, 225, 226, 228, 229, + 230, 231, 232, 235, 233, 234, 236, 237, 238, 239, + 241, 243, 244, 246, 260, 261, 272, 248, 249, 250, + 251, 255, 253, 256, 257, 259, 262, 264, 267, 270, + 271, 273, 276, 274, 269, 279, 281, 282, 283, 284, + 285, 286, 287, 294, 295, 299, 300, 301, 302, 305, + 306, 307, 308, 310, 313, 314, 315, 320, 325, 326, + 327, 328, 329, 28, 36, 37, 38, 39, 41, 42, 45, 46, 51, 52, 53, 56, 83, 85, 86, 102, - 106, 107, 113, 123, 125, 131, 132, 141, 143, 144, - 145, 147, 161, 175, 185, 187, 198, 202, 210, 212, - 220, 241, 250, 261, 262, 271, 273, 285, 286, 287, - 292, 293, 308, 312, 313, -277, 151, 217, -78, -70, - 81, 90, 140, 303, 302, 22, 209, 249, 278, 280, - 81, 136, 276, 315, 305, -21, 346, -32, -8, -17, - -4, -25, -41, -15, -35, -19, -36, -37, -38, -18, - 23, -230, 4, -238, -240, -239, -241, 58, 70, 120, - 139, 133, 149, 153, 162, 164, 177, 199, 201, 238, - 259, 22, 24, 25, 26, 27, 29, 30, 31, 32, - 43, 49, 50, 54, 57, 59, 65, 69, 73, 74, - 75, 76, 77, 78, 87, 89, 91, 93, 94, 97, - 99, 101, 108, 109, 110, 116, 118, 119, 121, 124, - 126, 134, 136, 138, 146, 148, 157, 160, 165, 167, - 168, 182, 183, 184, 190, 192, 193, 195, 196, 208, - 214, 223, 236, 248, 254, 264, 274, 276, 284, 288, - 289, 294, 299, 300, 305, 307, 314, 315, 317, 318, - 319, 320, -70, -70, -70, 213, 22, -281, 22, -282, - -283, 69, 96, 121, 248, 140, 90, 302, 151, 151, - -281, -74, 244, -70, -148, 166, 252, 55, 241, 291, - -149, -147, -229, 285, -152, -105, 176, -70, 4, 176, - 254, 81, 290, 22, 34, 55, 60, 82, 122, 136, - 137, 65, 66, 155, 216, 166, 152, 252, 156, 253, - 277, 285, 291, 69, 306, 281, 104, -286, 291, 291, - -286, -286, -73, 291, 288, -74, 4, 81, 254, 176, - -285, 276, -234, -227, -190, 9, 294, 108, 192, -233, - 8, 338, -226, -232, 5, 7, 337, 4, -238, -240, - -239, 276, 305, 315, -135, 81, 300, -49, -51, -50, - -93, -94, 299, 146, 101, 196, -48, -50, -259, -262, - 221, -258, -70, -262, -90, -91, 22, 93, 350, -198, - -78, 193, -117, 346, -3, -198, 131, -78, -81, 131, - -78, -70, -198, 131, 288, 350, -104, -97, -70, -160, - -159, 348, 119, -166, -168, 337, 338, 332, 182, 326, - -180, -170, -183, 102, 241, 346, -78, -169, 351, 9, - -256, -50, 29, -181, -182, 49, -70, 7, 8, 5, - 6, -76, -207, -176, -216, 294, 108, 184, -254, -255, - 4, -238, -231, -208, -218, -212, -215, 147, 58, 74, - 77, 75, 78, 254, 305, 50, 28, 106, 107, 202, - 210, 273, 292, 293, 131, 185, 132, 56, 123, 161, - 95, 37, 39, 41, 42, 51, 52, 83, 85, 86, - 113, 141, 143, 144, 145, 187, 220, 261, 271, 286, - 287, 313, -239, -219, -220, -213, -214, -221, -166, 119, - 346, -114, -115, -159, -160, 119, 148, 148, -199, -198, - -70, 131, -82, 131, -81, -106, 131, -105, -106, 131, - -97, 131, -204, -203, -232, 312, 276, 136, -178, 346, - -131, 346, -70, 22, 192, 350, -166, -166, 192, -70, - -148, 53, -148, 256, 346, -153, -154, -67, -68, -69, - 150, 215, 219, 288, 331, 119, 325, -234, -86, 87, - -108, 348, 116, 55, -236, -233, 9, 256, 216, 253, - 119, -278, 192, 119, 119, 119, 119, 119, 216, 253, - 290, 156, 290, 119, 325, 150, 215, 268, 276, 315, - 119, 119, -150, -153, -150, 288, -74, -120, -198, 8, - 7, 7, -105, 131, -70, -105, 136, -70, 131, -93, - -94, -119, -138, -139, 165, 110, 190, -122, 22, 93, - -122, -122, 44, 347, 347, 350, -262, -98, 346, -109, - -200, -166, 339, -109, -117, 339, -78, 346, -116, -189, - -166, 87, -57, 229, -56, 21, 23, 96, 310, 102, - 265, 282, 245, 265, 282, 245, 229, 102, 351, 229, - 229, 102, -236, -79, 350, -230, 339, -237, -236, 10, - 11, 57, 33, 337, 338, 339, 340, 114, 341, 342, - 335, 336, 334, 329, 330, 331, 63, 170, 243, 13, - 14, 15, 26, 195, 164, 326, 133, 259, 332, 16, - 17, 18, 149, 36, 134, -75, -83, -166, -166, -166, - -166, -166, 201, -113, -161, 344, -50, 346, -50, -166, - -107, 7, -50, -175, 344, -184, -166, -114, 346, 5, - 346, 5, -263, 321, 116, 346, 346, 346, 346, 346, - 346, 346, 346, 346, 346, 346, 346, 346, 346, 346, - 346, 346, 212, -225, 316, -225, -225, -209, 346, -209, - -210, 346, -209, 322, 327, 346, 269, 347, -103, -78, - -115, -199, -80, -78, -80, 255, -70, 30, 102, -59, - 350, 48, 234, 102, -59, 350, 102, -59, 102, 102, - 347, 350, -198, 131, -81, 30, -177, -205, -206, -208, - -217, -211, -215, -216, 40, 46, 45, 283, 175, 250, - 262, 308, 38, 191, 142, 141, 143, 144, 145, 261, - 37, 220, 113, 95, 86, 85, 187, 42, 41, -219, - -220, -213, -214, 83, 286, 287, 147, 39, 52, 51, - 313, 271, -107, -166, -277, -283, -277, 30, -147, -229, - -107, 350, 163, -85, 169, 181, 128, 193, 323, -228, - 87, -234, -228, 87, 72, -235, 5, 4, -176, -190, - 87, 166, -216, 348, -230, -21, 257, -105, 22, -229, - -280, 116, -277, -229, -229, -229, -229, -229, 290, 116, - -70, 163, -229, -229, 276, 136, 276, -74, -59, 350, - 346, -92, 182, -260, 320, -92, 346, -71, 131, -70, - -260, 182, -119, -139, -138, -140, -166, 22, -143, 112, - 178, -166, -168, -49, -49, -49, -95, -194, -166, -258, - 30, -97, -100, 350, 119, 30, 4, -100, -78, 350, - 347, 350, 288, -136, 65, 59, -156, 131, 59, -242, - -70, 65, -243, 54, 300, 214, 118, -136, 65, -136, - 65, 65, -198, 33, -32, 119, 33, -32, 119, 288, - -81, -70, 288, 288, -198, -202, 328, -70, -202, 350, - -223, -205, -222, 225, 226, 224, 228, 227, -205, -230, - 285, -166, -166, -166, -166, -166, -166, -166, -166, -166, + 106, 107, 113, 114, 115, 125, 127, 133, 134, 143, + 145, 146, 147, 148, 149, 151, 165, 179, 189, 191, + 202, 206, 214, 216, 224, 245, 254, 265, 266, 275, + 277, 289, 290, 291, 296, 297, 312, 316, 317, -277, + 155, 221, -78, -70, 81, 90, 142, 307, 306, 22, + 213, 253, 282, 284, 81, 138, 280, 319, 309, -21, + 350, -32, -8, -17, -4, -25, -41, -15, -35, -19, + -36, -37, -38, -18, 23, -230, 4, -238, -240, -239, + -241, 58, 70, 122, 141, 135, 153, 157, 166, 168, + 181, 203, 205, 242, 263, 22, 24, 25, 26, 27, + 29, 30, 31, 32, 43, 49, 50, 54, 57, 59, + 65, 69, 73, 74, 75, 76, 77, 78, 87, 89, + 91, 93, 94, 97, 99, 101, 108, 109, 110, 118, + 120, 121, 123, 126, 128, 136, 138, 140, 150, 152, + 161, 164, 169, 171, 172, 186, 187, 188, 194, 196, + 197, 199, 200, 212, 218, 227, 240, 252, 258, 268, + 278, 280, 288, 292, 293, 298, 303, 304, 309, 311, + 318, 319, 321, 322, 323, 324, -70, -70, -70, 217, + 22, -281, 22, -282, -283, 69, 96, 123, 252, 142, + 90, 306, 155, 155, -281, -74, 248, -70, -148, 170, + 256, 55, 245, 295, -149, -147, -229, 289, -152, -105, + 180, -70, 4, 180, 258, 81, 294, 22, 34, 55, + 60, 82, 124, 138, 139, 65, 66, 159, 220, 170, + 156, 256, 160, 257, 281, 289, 295, 69, 310, 285, + 104, -286, 295, 295, -286, -286, -73, 295, 292, -74, + 4, 81, 258, 180, -285, 280, -234, -227, -190, 9, + 298, 108, 196, -233, 8, 342, -226, -232, 5, 7, + 341, 4, -238, -240, -239, 280, 309, 319, -135, 81, + 304, -49, -51, -50, -93, -94, 303, 150, 101, 200, + -48, -50, -259, -262, 225, -258, -70, -262, -90, -91, + 22, 93, 354, -198, -78, 197, -117, 350, -3, -198, + 133, -78, -81, 133, -78, -70, -198, 133, 292, 354, + -104, -97, -70, -160, -159, 352, 121, -166, -168, 341, + 342, 336, 186, 330, -180, -170, -183, 102, 245, 350, + -78, -169, 355, 9, -256, -50, 29, -181, -182, 49, + -70, 7, 8, 5, 6, -76, -207, -176, -216, 298, + 108, 188, -254, -255, 4, -238, -231, -208, -218, -212, + -215, 151, 58, 74, 77, 75, 78, 258, 309, 50, + 28, 106, 107, 206, 214, 277, 296, 297, 133, 189, + 134, 56, 125, 165, 95, 37, 39, 41, 42, 51, + 52, 83, 85, 86, 113, 114, 115, 143, 145, 146, + 147, 148, 149, 191, 224, 265, 275, 290, 291, 317, + -239, -219, -220, -213, -214, -221, -166, 121, 350, -114, + -115, -159, -160, 121, 152, 152, -199, -198, -70, 133, + -82, 133, -81, -106, 133, -105, -106, 133, -97, 133, + -204, -203, -232, 316, 280, 138, -178, 350, -131, 350, + -70, 22, 196, 354, -166, -166, 196, -70, -148, 53, + -148, 260, 350, -153, -154, -67, -68, -69, 154, 219, + 223, 292, 335, 121, 329, -234, -86, 87, -108, 352, + 118, 55, -236, -233, 9, 260, 220, 257, 121, -278, + 196, 121, 121, 121, 121, 121, 220, 257, 294, 160, + 294, 121, 329, 154, 219, 272, 280, 319, 121, 121, + -150, -153, -150, 292, -74, -120, -198, 8, 7, 7, + -105, 133, -70, -105, 138, -70, 133, -93, -94, -119, + -138, -139, 169, 110, 194, -122, 22, 93, -122, -122, + 44, 351, 351, 354, -262, -98, 350, -109, -200, -166, + 343, -109, -117, 343, -78, 350, -116, -189, -166, 87, + -57, 233, -56, 21, 23, 96, 314, 102, 269, 286, + 249, 269, 286, 249, 233, 102, 355, 233, 233, 102, + -236, -79, 354, -230, 343, -237, -236, 10, 11, 57, + 33, 341, 342, 343, 344, 116, 345, 346, 339, 340, + 338, 333, 334, 335, 63, 174, 247, 13, 14, 15, + 26, 199, 168, 330, 135, 263, 336, 16, 17, 18, + 153, 36, 136, -75, -83, -166, -166, -166, -166, -166, + 205, -113, -161, 348, -50, 350, -50, -166, -107, 7, + -50, -175, 348, -184, -166, -114, 350, 5, 350, 5, + -263, 325, 118, 350, 350, 350, 350, 350, 350, 350, + 350, 350, 350, 350, 350, 350, 350, 350, 350, 350, + 216, -225, 320, -225, -225, -209, 350, -209, -210, 350, + -209, 326, 331, 350, 273, 351, -103, -78, -115, -199, + -80, -78, -80, 259, -70, 30, 102, -59, 354, 48, + 238, 102, -59, 354, 102, -59, 102, 102, 351, 354, + -198, 133, -81, 30, -177, -205, -206, -208, -217, -211, + -215, -216, 40, 46, 45, 287, 179, 254, 266, 312, + 38, 195, 144, 143, 145, 146, 147, 148, 149, 265, + 37, 224, 114, 115, 113, 95, 86, 85, 191, 42, + 41, -219, -220, -213, -214, 83, 290, 291, 151, 39, + 52, 51, 317, 275, -107, -166, -277, -283, -277, 30, + -147, -229, -107, 354, 167, -85, 173, 185, 130, 197, + 327, -228, 87, -234, -228, 87, 72, -235, 5, 4, + -176, -190, 87, 170, -216, 352, -230, -21, 261, -105, + 22, -229, -280, 118, -277, -229, -229, -229, -229, -229, + 294, 118, -70, 167, -229, -229, 280, 138, 280, -74, + -59, 354, 350, -92, 186, -260, 324, -92, 350, -71, + 133, -70, -260, 186, -119, -139, -138, -140, -166, 22, + -143, 112, 182, -166, -168, -49, -49, -49, -95, -194, + -166, -258, 30, -97, -100, 354, 121, 30, 4, -100, + -78, 354, 351, 354, 292, -136, 65, 59, -156, 133, + 59, -242, -70, 65, -243, 54, 304, 218, 120, -136, + 65, -136, 65, 65, -198, 33, -32, 121, 33, -32, + 121, 292, -81, -70, 292, 292, -198, -202, 332, -70, + -202, 354, -223, -205, -222, 229, 230, 228, 232, 231, + -205, -230, 289, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, -166, - -166, -166, -166, 164, 133, 259, 36, 134, -166, 288, - -166, -166, -166, -166, 174, 182, 184, 294, 108, 301, - 93, 188, -288, 274, 32, -173, -50, 346, -188, 27, - 264, 22, -180, 241, 346, -161, -166, -162, -107, 347, - 347, 350, -107, -179, 345, -175, -187, -186, 317, 347, - -107, 314, 22, 93, 339, 7, -132, 324, 173, 84, - 129, 172, -133, 247, -264, 111, 124, 346, 347, 347, - -166, -166, -126, -224, -107, 4, 324, 173, 84, 129, - 172, 247, -126, -127, -166, -107, -128, -167, -168, 337, - 338, 332, 346, 241, -129, -166, -107, -166, 43, 160, - 289, -130, -166, 119, -107, -166, -166, -166, -107, -107, - -107, 346, 7, 7, 285, 285, 7, 119, 347, 350, - -158, 318, -144, -32, 346, 87, 30, -144, -110, -111, - -201, -112, -78, 346, -70, -70, -81, -82, -105, -106, - -106, -97, -21, -203, 102, -21, 347, 350, -99, 29, - -132, 346, 347, 350, 288, 119, 291, 347, -154, -84, - 219, 263, 230, 251, 350, -230, -279, -70, -21, -78, - -81, -78, -198, -87, -97, -88, -70, -157, -156, -244, - -245, -242, 136, 300, 109, 30, 102, -66, 206, 30, - 192, 182, -62, 279, 102, -141, -226, 346, 338, -142, - 241, 242, 350, -55, 31, 91, 346, 347, -158, -200, - -102, -196, 344, -198, -78, -50, -197, 346, -230, -158, - 347, -189, -56, -78, -70, -70, 182, -156, 131, -61, - 182, -205, -70, 346, 346, 154, 154, -70, -70, 131, - -70, 131, -70, -70, -57, 229, -32, 346, -32, 346, - -70, 229, -70, -78, 229, -43, 130, 188, -46, 320, - -236, 325, -166, -166, 288, -288, 274, -173, -166, 174, - 184, 294, 108, 301, 93, 188, 119, 346, -167, -167, - -107, -170, 346, -107, 345, 354, 347, -166, 345, 345, - 350, -185, -186, 97, -166, -94, 350, -93, -166, -107, - -107, 347, 347, 288, 288, 288, 288, 346, -269, 200, - 346, 346, -166, 30, 350, 347, 119, 347, 347, -134, - 208, 347, 10, 11, 337, 338, 339, 340, 114, 341, - 342, 335, 336, 334, 329, 330, 331, 63, 170, 243, - 13, 14, 15, 149, 134, -167, -167, -167, -107, 346, - 347, -171, -172, 119, 116, 30, -130, -130, -130, 347, - 119, -107, 350, 350, 350, 347, 347, 347, 7, 347, - 350, 347, 325, 325, 347, 269, 119, -78, -121, 236, - -166, -121, -146, 192, -103, 312, -70, -121, -101, 350, - 119, 331, -103, -59, -59, -59, -198, -205, 344, 344, - 7, -166, -279, -279, -67, 298, 62, 219, -234, 350, - -202, 347, 347, 350, -71, 136, -71, -32, -105, 5, - -32, -78, 102, -63, 98, -287, 331, -70, -142, -166, - -194, -21, -118, 124, -202, 350, 70, -125, 153, 177, - 120, 162, 238, 139, 7, -21, -163, 351, 346, -193, - 327, -50, -197, -196, -118, 288, 288, 102, 182, 309, - -246, -243, -166, -96, -195, -70, -257, 346, -254, -255, - -76, 346, 346, -54, 96, 255, -137, 102, -59, 102, - -59, 288, -136, 65, -107, -107, 288, 288, -46, 119, - 275, 194, -166, -166, -167, -167, 119, 346, -166, -177, - 26, 26, 347, -107, 347, 350, -162, -166, 347, -175, - 99, -166, 284, 347, 314, -94, -94, -94, 5, 173, - 129, 172, -133, 172, -133, -133, 7, -270, -70, 346, - 318, -93, 347, -223, -205, -166, -171, -166, -223, -205, + -166, -166, -166, -166, -166, 168, 135, 263, 36, 136, + -166, 292, -166, -166, -166, -166, 178, 186, 188, 298, + 108, 305, 93, 192, -288, 278, 32, -173, -50, 350, + -188, 27, 268, 22, -180, 245, 350, -161, -166, -162, + -107, 351, 351, 354, -107, -179, 349, -175, -187, -186, + 321, 351, -107, 318, 22, 93, 343, 7, -132, 328, + 177, 84, 131, 176, -133, 251, -264, 111, 126, 350, + 351, 351, -166, -166, -126, -224, -107, 4, 328, 177, + 84, 131, 176, 251, -126, -127, -166, -107, -128, -167, + -168, 341, 342, 336, 350, 245, -129, -166, -107, -166, + 43, 164, 293, -130, -166, 121, -107, -166, -166, -166, + -107, -107, -107, 350, 7, 7, 289, 289, 7, 121, + 351, 354, -158, 322, -144, -32, 350, 87, 30, -144, + -110, -111, -201, -112, -78, 350, -70, -70, -81, -82, + -105, -106, -106, -97, -21, -203, 102, -21, 351, 354, + -99, 29, -132, 350, 351, 354, 292, 121, 295, 351, + -154, -84, 223, 267, 234, 255, 354, -230, -279, -70, + -21, -78, -81, -78, -198, -87, -97, -88, -70, -157, + -156, -244, -245, -242, 138, 304, 109, 30, 102, -66, + 210, 30, 196, 186, -62, 283, 102, -141, -226, 350, + 342, -142, 245, 246, 354, -55, 31, 91, 350, 351, + -158, -200, -102, -196, 348, -198, -78, -50, -197, 350, + -230, -158, 351, -189, -56, -78, -70, -70, 186, -156, + 133, -61, 186, -205, -70, 350, 350, 158, 158, -70, + -70, 133, -70, 133, -70, -70, -57, 233, -32, 350, + -32, 350, -70, 233, -70, -78, 233, -43, 132, 192, + -46, 324, -236, 329, -166, -166, 292, -288, 278, -173, + -166, 178, 188, 298, 108, 305, 93, 192, 121, 350, + -167, -167, -107, -170, 350, -107, 349, 358, 351, -166, + 349, 349, 354, -185, -186, 97, -166, -94, 354, -93, + -166, -107, -107, 351, 351, 292, 292, 292, 292, 350, + -269, 204, 350, 350, -166, 30, 354, 351, 121, 351, + 351, -134, 212, 351, 10, 11, 341, 342, 343, 344, + 116, 345, 346, 339, 340, 338, 333, 334, 335, 63, + 174, 247, 13, 14, 15, 153, 136, -167, -167, -167, + -107, 350, 351, -171, -172, 121, 118, 30, -130, -130, + -130, 351, 121, -107, 354, 354, 354, 351, 351, 351, + 7, 351, 354, 351, 329, 329, 351, 273, 121, -78, + -121, 240, -166, -121, -146, 196, -103, 316, -70, -121, + -101, 354, 121, 335, -103, -59, -59, -59, -198, -205, + 348, 348, 7, -166, -279, -279, -67, 302, 62, 223, + -234, 354, -202, 351, 351, 354, -71, 138, -71, -32, + -105, 5, -32, -78, 102, -63, 98, -287, 335, -70, + -142, -166, -194, -21, -118, 126, -202, 354, 70, -125, + 157, 181, 122, 166, 242, 141, 7, -21, -163, 355, + 350, -193, 331, -50, -197, -196, -118, 292, 292, 102, + 186, 313, -246, -243, -166, -96, -195, -70, -257, 350, + -254, -255, -76, 350, 350, -54, 96, 259, -137, 102, + -59, 102, -59, 292, -136, 65, -107, -107, 292, 292, + -46, 121, 279, 198, -166, -166, -167, -167, 121, 350, + -166, -177, 26, 26, 351, -107, 351, 354, -162, -166, + 351, -175, 99, -166, 288, 351, 318, -94, -94, -94, + 5, 177, 131, 176, -133, 176, -133, -133, 7, -270, + -70, 350, 322, -93, 351, -223, -205, -166, -171, -166, + -223, -205, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, -167, - -167, -167, -167, -167, -167, -167, -167, -167, -167, 93, - 182, 188, -167, 350, -107, 347, -172, -171, -166, -166, - -205, 347, 347, 347, -107, -166, -166, -166, 347, 7, - 269, -109, 183, -121, 64, 347, -158, -111, -102, -189, - 347, 345, 7, 7, 347, -70, -89, 135, -157, 346, - -71, 346, 346, -92, 346, -70, -64, 159, -287, -233, - -260, 193, 347, 347, -174, 126, 44, -196, 153, 153, - -196, -125, 153, -123, 199, -123, -123, -275, 346, 345, - -193, -230, 344, 352, -107, -192, -191, 30, -70, 197, - 347, -174, -70, -70, -156, 102, -247, 65, -248, 57, - 109, 69, 182, 184, 300, 214, 54, 87, 223, 347, - 347, 350, -77, -114, 57, -77, -166, 346, -96, -97, - 182, 87, 182, 87, 80, 296, -70, -70, -78, -70, - -70, 347, 347, -70, -78, -237, 285, 346, 26, 26, - -166, -177, 347, -166, -166, 347, -166, 345, -166, 5, - -166, 347, 347, 347, 347, -271, -70, -166, 347, 347, - 347, -172, 119, 93, 188, 346, -166, 347, 347, 350, - 347, 347, 347, -145, 346, 192, -32, -121, 331, 345, - 345, 134, -96, 346, -97, -87, 30, -96, 192, -65, - 158, -287, -233, -62, -266, 319, -166, -107, -196, -196, - -124, 307, 192, 153, -196, 345, 347, -276, 7, -193, - -192, 7, -165, -164, 117, 180, 347, -70, 346, -193, - -266, -156, -70, -230, -70, 109, 131, 184, 154, 346, - -167, -78, -155, -284, 68, 272, -195, -55, -230, -55, - 347, -107, 347, 347, 184, 184, -166, -205, -59, -59, - 288, 288, 288, 288, -169, -76, -70, -45, -44, 5, - -166, -166, 347, 347, -94, -265, 205, 347, -167, 119, - 346, -177, 347, -166, 94, -97, 65, -117, -50, 346, - 203, 347, -96, 347, 347, -32, 347, -78, -287, -233, - -63, -267, -268, -70, -124, 346, -166, -196, -163, 347, - 350, -192, 345, 350, 353, 331, -193, 346, -97, -191, - -248, -71, 182, -166, -72, 346, -89, 346, -77, -94, - 223, -58, 57, -70, -70, 346, 346, 346, 350, 347, - -47, 331, 347, -94, 44, -167, -177, 347, 347, 302, - 183, 347, -70, -70, -155, 347, -89, -155, 346, -233, - -64, 350, 30, -97, -193, 7, -164, -230, 344, -192, - -97, 347, 102, 347, -251, 171, -70, -97, -55, 347, - -78, -53, 307, -230, -107, -107, -107, -44, 5, -272, - 218, 242, -107, 347, 255, -158, 346, -89, -155, -89, - -96, -65, -268, -270, 347, -191, 7, 347, 109, -249, - -252, -250, 192, 120, 204, 260, 347, 347, -92, -166, - 347, 347, -94, 347, -273, -274, 36, 297, 72, -166, - -273, -110, -97, -89, 347, 345, -70, -250, 192, -252, - 192, 302, 90, -251, 347, -274, 211, 115, 241, 211, - 115, -158, 347, -155, -253, 179, 234, 48, 255, -253, - -249, 26, -60, 48, 234, -89, 20, 184, 87, -274, + -167, 93, 186, 192, -167, 354, -107, 351, -172, -171, + -166, -166, -205, 351, 351, 351, -107, -166, -166, -166, + 351, 7, 273, -109, 187, -121, 64, 351, -158, -111, + -102, -189, 351, 349, 7, 7, 351, -70, -89, 137, + -157, 350, -71, 350, 350, -92, 350, -70, -64, 163, + -287, -233, -260, 197, 351, 351, -174, 128, 44, -196, + 157, 157, -196, -125, 157, -123, 203, -123, -123, -275, + 350, 349, -193, -230, 348, 356, -107, -192, -191, 30, + -70, 201, 351, -174, -70, -70, -156, 102, -247, 65, + -248, 57, 109, 69, 186, 188, 304, 218, 54, 87, + 227, 351, 351, 354, -77, -114, 57, -77, -166, 350, + -96, -97, 186, 87, 186, 87, 80, 300, -70, -70, + -78, -70, -70, 351, 351, -70, -78, -237, 289, 350, + 26, 26, -166, -177, 351, -166, -166, 351, -166, 349, + -166, 5, -166, 351, 351, 351, 351, -271, -70, -166, + 351, 351, 351, -172, 121, 93, 192, 350, -166, 351, + 351, 354, 351, 351, 351, -145, 350, 196, -32, -121, + 335, 349, 349, 136, -96, 350, -97, -87, 30, -96, + 196, -65, 162, -287, -233, -62, -266, 323, -166, -107, + -196, -196, -124, 311, 196, 157, -196, 349, 351, -276, + 7, -193, -192, 7, -165, -164, 119, 184, 351, -70, + 350, -193, -266, -156, -70, -230, -70, 109, 133, 188, + 158, 350, -167, -78, -155, -284, 68, 276, -195, -55, + -230, -55, 351, -107, 351, 351, 188, 188, -166, -205, + -59, -59, 292, 292, 292, 292, -169, -76, -70, -45, + -44, 5, -166, -166, 351, 351, -94, -265, 209, 351, + -167, 121, 350, -177, 351, -166, 94, -97, 65, -117, + -50, 350, 207, 351, -96, 351, 351, -32, 351, -78, + -287, -233, -63, -267, -268, -70, -124, 350, -166, -196, + -163, 351, 354, -192, 349, 354, 357, 335, -193, 350, + -97, -191, -248, -71, 186, -166, -72, 350, -89, 350, + -77, -94, 227, -58, 57, -70, -70, 350, 350, 350, + 354, 351, -47, 335, 351, -94, 44, -167, -177, 351, + 351, 306, 187, 351, -70, -70, -155, 351, -89, -155, + 350, -233, -64, 354, 30, -97, -193, 7, -164, -230, + 348, -192, -97, 351, 102, 351, -251, 175, -70, -97, + -55, 351, -78, -53, 311, -230, -107, -107, -107, -44, + 5, -272, 222, 246, -107, 351, 259, -158, 350, -89, + -155, -89, -96, -65, -268, -270, 351, -191, 7, 351, + 109, -249, -252, -250, 196, 122, 208, 264, 351, 351, + -92, -166, 351, 351, -94, 351, -273, -274, 36, 301, + 72, -166, -273, -110, -97, -89, 351, 349, -70, -250, + 196, -252, 196, 306, 90, -251, 351, -274, 215, 117, + 245, 215, 117, -158, 351, -155, -253, 183, 238, 48, + 259, -253, -249, 26, -60, 48, 238, -89, 20, 188, + 87, -274, } var sqlDef = [...]int{ @@ -5502,234 +5490,236 @@ var sqlDef = [...]int{ 434, -2, 0, 171, 0, 378, 0, 378, 378, 382, 0, 0, 464, 0, 343, 461, -2, 472, 0, 0, 0, 470, 448, 0, 0, -2, 0, 0, 0, 0, - 0, 145, 0, 1001, 929, 935, 936, 960, 961, 962, - 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, - 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, - 999, 1000, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, - 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, - 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, - 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, - 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, - 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, - 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, - 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, - 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, - 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, - 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, - 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, - 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, - 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, - 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1149, - 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 1159, - 1160, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, - 1170, 1171, 1172, 1173, 1174, 1175, 1176, 1177, 1178, 1179, - 1180, 1181, 1182, 1183, 1184, 0, 0, 0, 0, 931, - 1001, 0, 0, 0, 0, 94, 95, 96, 97, 98, - 0, 0, 0, 0, 0, 115, 0, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, - 0, 254, 974, 975, 976, 977, 978, 1185, 1186, 1187, - 1188, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, - 1198, 1199, 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, - 1208, 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1216, 1217, - 1218, 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1226, 1227, - 1228, 1229, 1230, 1231, 1232, 1233, 1234, 1235, 1236, 1237, - 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, - 1248, 1249, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, - 1258, 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, - 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277, - 1278, 1279, 135, 138, 139, 1060, 141, 0, 148, 149, - 150, 152, 153, 154, 155, 156, 157, 158, 0, 0, - 0, 371, 1087, 384, 166, 1035, 1093, 989, 1171, 1114, - 174, 179, 0, 1177, 182, 187, -2, 111, 213, 214, - 215, 216, 217, 218, 0, 0, 0, 224, 256, 0, - 0, 0, 0, 0, 231, 0, 234, 0, 0, 239, - 243, 0, 0, 0, 250, 0, 0, 386, 377, 386, - 374, 375, 376, 379, 0, 369, 161, 162, 163, 164, - 0, 463, 165, 190, 191, 192, 201, 202, 203, 204, - 332, 0, 334, 211, 212, 956, 0, 970, 971, 972, - 973, 0, 0, 0, 0, 0, 342, -2, 444, 445, - -2, 0, 467, 467, 467, 0, 0, 445, 0, 453, - 1066, 456, 942, 454, 0, 0, 469, 468, 0, 449, - 549, 0, 498, 0, 2, 0, 1155, 549, 0, 1155, - 934, 0, 0, 1155, 0, 0, 146, 147, 939, 937, - 938, 0, 0, 85, 653, 0, 0, 0, 0, 0, - 0, 745, 747, 1149, 1171, 0, 749, 750, 0, 752, - 754, 755, 0, 758, 759, 899, 931, 945, 946, 947, - 948, 0, 0, 951, 0, 953, 954, 955, 799, 768, - -2, -2, 943, 585, 586, 587, 588, -2, 1185, 772, - 774, 776, 777, 778, 779, 0, 1133, 1150, 1151, 1167, - 1168, 1176, 1180, 1181, 1155, 1164, 1156, 1145, 1153, 1162, - 1007, -2, -2, -2, -2, -2, -2, -2, -2, -2, + 0, 145, 0, 1005, 933, 939, 940, 964, 965, 966, + 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, + 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, + 1003, 1004, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, + 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, + 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, + 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, + 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, + 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, + 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, + 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, + 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, + 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, + 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, + 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, + 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, + 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, + 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1153, + 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1162, 1163, + 1164, 1165, 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1173, + 1174, 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, + 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1192, 0, + 0, 0, 0, 935, 1005, 0, 0, 0, 0, 94, + 95, 96, 97, 98, 0, 0, 0, 0, 0, 115, + 0, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 126, 127, 128, 129, 0, 254, 978, 979, 980, 981, + 982, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1201, + 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211, + 1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1221, + 1222, 1223, 1224, 1225, 1226, 1227, 1228, 1229, 1230, 1231, + 1232, 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, + 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251, + 1252, 1253, 1254, 1255, 1256, 1257, 1258, 1259, 1260, 1261, + 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1269, 1270, 1271, + 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279, 1280, 1281, + 1282, 1283, 1284, 1285, 1286, 1287, 135, 138, 139, 1064, + 141, 0, 148, 149, 150, 152, 153, 154, 155, 156, + 157, 158, 0, 0, 0, 371, 1091, 384, 166, 1039, + 1097, 993, 1179, 1118, 174, 179, 0, 1185, 182, 187, + -2, 111, 213, 214, 215, 216, 217, 218, 0, 0, + 0, 224, 256, 0, 0, 0, 0, 0, 231, 0, + 234, 0, 0, 239, 243, 0, 0, 0, 250, 0, + 0, 386, 377, 386, 374, 375, 376, 379, 0, 369, + 161, 162, 163, 164, 0, 463, 165, 190, 191, 192, + 201, 202, 203, 204, 332, 0, 334, 211, 212, 960, + 0, 974, 975, 976, 977, 0, 0, 0, 0, 0, + 342, -2, 444, 445, -2, 0, 467, 467, 467, 0, + 0, 445, 0, 453, 1070, 456, 946, 454, 0, 0, + 469, 468, 0, 449, 549, 0, 498, 0, 2, 0, + 1161, 549, 0, 1161, 938, 0, 0, 1161, 0, 0, + 146, 147, 943, 941, 942, 0, 0, 85, 657, 0, + 0, 0, 0, 0, 0, 749, 751, 1153, 1179, 0, + 753, 754, 0, 756, 758, 759, 0, 762, 763, 903, + 935, 949, 950, 951, 952, 0, 0, 955, 0, 957, + 958, 959, 803, 772, -2, -2, 947, 585, 586, 587, + 588, -2, 1193, 776, 778, 780, 781, 782, 783, 0, + 1137, 1154, 1155, 1175, 1176, 1184, 1188, 1189, 1161, 1172, + 1162, 1149, 1159, 1170, 1011, -2, -2, -2, -2, -2, + -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, - -2, -2, 969, 615, 616, 621, 622, 624, 86, 0, - 0, 932, 908, 906, 907, 0, 0, 0, 0, 555, - 99, 1155, 60, 1155, 927, 60, 1155, 109, 60, 1155, - 107, 1155, 0, 130, 132, 1183, 0, 0, 0, 0, - 136, 0, 140, 142, 0, 0, 259, 370, 0, 383, - 167, 1144, 169, 0, 0, 173, 387, 389, 390, 391, - 0, 0, 0, 0, 0, 0, 0, 183, 184, 185, - 112, 0, 462, 0, 219, 69, 70, 0, 232, 240, - 0, 258, 0, 0, 0, 0, 0, 0, 233, 241, - 235, 0, 0, 0, 244, 0, 246, 247, 0, 0, - 0, 0, 372, 385, 373, 0, 381, 60, 553, 333, - 958, 957, 315, 1155, 460, 315, 964, 460, 1155, -2, - 0, 440, 479, 480, 0, 0, 0, 0, 465, 466, - 0, 0, 0, 436, 437, 0, 455, 0, 0, 501, - 919, 923, 924, 501, 499, 550, 551, 0, 0, 916, - 914, 915, 37, 366, 39, 0, 366, 366, 0, 0, - 0, 0, 264, 0, 0, 266, 0, 0, 0, 0, - 0, 0, 540, 930, 0, 904, 905, 540, 71, 0, - 0, 0, 0, 834, 835, 836, 837, 838, 839, 842, - 843, 840, 841, 844, 845, 846, 0, 0, 0, 847, - 848, 849, 0, 0, 851, 0, 853, 0, 0, 0, - 0, 0, 0, 913, 0, 0, 850, 658, 659, 660, - 682, 683, 0, 746, 910, 903, 748, 0, -2, 855, - 0, 751, 756, 757, 0, 0, 898, -2, 0, 950, - 0, 650, 801, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 878, 884, 0, 0, 0, 0, 0, 0, - 0, 0, 600, 618, 629, 626, 625, 602, 0, 601, - 599, 0, 603, 0, 0, 0, 82, 0, 0, 925, - 909, 559, 0, 411, 0, 0, 556, 0, 0, 101, - 0, 58, 59, 0, 103, 0, 0, 105, 0, 0, - 462, 0, 0, 1155, 0, 462, 0, 857, 567, 568, - 569, 570, 571, 650, 574, 575, 576, 577, 578, 579, - 580, 581, 582, 583, 584, 592, 593, 594, 595, 596, - 597, 598, 612, 0, 591, 591, 591, 604, 605, 613, - 614, 619, 620, 631, 632, 634, 636, 630, 630, 630, - 627, 628, 0, 855, 0, 151, 0, 0, 170, 0, - 0, 0, 0, 392, 198, 199, 200, 394, 395, 175, - 177, 188, 176, 178, 180, 181, 205, 206, 207, 208, - 209, 210, 0, 0, 113, 237, 222, 220, 221, 223, - 225, 0, 255, 226, 227, 228, 229, 230, 236, 462, - 242, 245, 248, 249, 0, 0, 0, 380, 335, 0, - 273, 0, 0, 338, 459, 0, 0, 0, 1155, 963, - 399, 0, 443, 477, 478, 481, 485, 486, 489, 492, - 493, 483, 653, 450, 451, 452, 473, 474, 353, 457, - 0, 0, 559, 0, 0, 0, 922, 559, 0, 0, - 918, 0, 0, 0, 0, 365, 41, 1155, 0, 62, - 0, 0, 305, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 262, 0, 0, 263, 0, 0, - 0, 933, 0, 0, 0, 74, 0, 940, 81, 0, - 654, 563, 564, 606, 607, 608, 609, 610, 655, 656, - 0, 661, 662, 663, 664, 665, 666, 667, 668, 669, - 670, -2, -2, -2, 674, 675, 676, -2, -2, -2, - 680, 681, -2, 852, 854, 0, 913, 0, -2, 0, - -2, -2, -2, -2, 694, 0, 696, 699, 701, 703, - 0, 0, 0, 0, 912, 713, 890, 0, 0, 831, - 832, 833, 698, 0, 0, 911, 902, 0, 0, -2, - 753, 0, 0, 0, 861, 862, 897, 893, 0, 760, - 472, 0, 0, 0, 0, 0, 959, 637, 638, 639, - 640, 641, 642, 651, 809, 0, 0, 0, 773, 775, - 0, 0, 0, 0, 865, -2, -2, -2, -2, -2, - -2, -2, 0, 0, 855, 875, 0, 0, 716, 0, - 0, 0, 0, 1171, 0, 855, 883, 0, 0, 0, - 0, 0, 855, 0, 889, 0, 0, 0, 0, 0, + 973, 619, 620, 625, 626, 628, 86, 0, 0, 936, + 912, 910, 911, 0, 0, 0, 0, 555, 99, 1161, + 60, 1161, 931, 60, 1161, 109, 60, 1161, 107, 1161, + 0, 130, 132, 1191, 0, 0, 0, 0, 136, 0, + 140, 142, 0, 0, 259, 370, 0, 383, 167, 1148, + 169, 0, 0, 173, 387, 389, 390, 391, 0, 0, + 0, 0, 0, 0, 0, 183, 184, 185, 112, 0, + 462, 0, 219, 69, 70, 0, 232, 240, 0, 258, + 0, 0, 0, 0, 0, 0, 233, 241, 235, 0, + 0, 0, 244, 0, 246, 247, 0, 0, 0, 0, + 372, 385, 373, 0, 381, 60, 553, 333, 962, 961, + 315, 1161, 460, 315, 968, 460, 1161, -2, 0, 440, + 479, 480, 0, 0, 0, 0, 465, 466, 0, 0, + 0, 436, 437, 0, 455, 0, 0, 501, 923, 927, + 928, 501, 499, 550, 551, 0, 0, 920, 918, 919, + 37, 366, 39, 0, 366, 366, 0, 0, 0, 0, + 264, 0, 0, 266, 0, 0, 0, 0, 0, 0, + 540, 934, 0, 908, 909, 540, 71, 0, 0, 0, + 0, 838, 839, 840, 841, 842, 843, 846, 847, 844, + 845, 848, 849, 850, 0, 0, 0, 851, 852, 853, + 0, 0, 855, 0, 857, 0, 0, 0, 0, 0, + 0, 917, 0, 0, 854, 662, 663, 664, 686, 687, + 0, 750, 914, 907, 752, 0, -2, 859, 0, 755, + 760, 761, 0, 0, 902, -2, 0, 954, 0, 654, + 805, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 882, 888, 0, 0, 0, 0, 0, 0, 0, 0, + 604, 622, 633, 630, 629, 606, 0, 605, 603, 0, + 607, 0, 0, 0, 82, 0, 0, 929, 913, 559, + 0, 411, 0, 0, 556, 0, 0, 101, 0, 58, + 59, 0, 103, 0, 0, 105, 0, 0, 462, 0, + 0, 1161, 0, 462, 0, 861, 567, 568, 569, 570, + 571, 654, 574, 575, 576, 577, 578, 579, 580, 581, + 582, 583, 584, 592, 593, 594, 595, 596, 597, 598, + 599, 600, 601, 602, 616, 0, 591, 591, 591, 608, + 609, 617, 618, 623, 624, 635, 636, 638, 640, 634, + 634, 634, 631, 632, 0, 859, 0, 151, 0, 0, + 170, 0, 0, 0, 0, 392, 198, 199, 200, 394, + 395, 175, 177, 188, 176, 178, 180, 181, 205, 206, + 207, 208, 209, 210, 0, 0, 113, 237, 222, 220, + 221, 223, 225, 0, 255, 226, 227, 228, 229, 230, + 236, 462, 242, 245, 248, 249, 0, 0, 0, 380, + 335, 0, 273, 0, 0, 338, 459, 0, 0, 0, + 1161, 967, 399, 0, 443, 477, 478, 481, 485, 486, + 489, 492, 493, 483, 657, 450, 451, 452, 473, 474, + 353, 457, 0, 0, 559, 0, 0, 0, 926, 559, + 0, 0, 922, 0, 0, 0, 0, 365, 41, 1161, + 0, 62, 0, 0, 305, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 262, 0, 0, 263, + 0, 0, 0, 937, 0, 0, 0, 74, 0, 944, + 81, 0, 658, 563, 564, 610, 611, 612, 613, 614, + 659, 660, 0, 665, 666, 667, 668, 669, 670, 671, + 672, 673, 674, -2, -2, -2, 678, 679, 680, -2, + -2, -2, 684, 685, -2, 856, 858, 0, 917, 0, + -2, 0, -2, -2, -2, -2, 698, 0, 700, 703, + 705, 707, 0, 0, 0, 0, 916, 717, 894, 0, + 0, 835, 836, 837, 702, 0, 0, 915, 906, 0, + 0, -2, 757, 0, 0, 0, 865, 866, 901, 897, + 0, 764, 472, 0, 0, 0, 0, 0, 963, 641, + 642, 643, 644, 645, 646, 655, 813, 0, 0, 0, + 777, 779, 0, 0, 0, 0, 869, -2, -2, -2, + -2, -2, -2, -2, 0, 0, 859, 879, 0, 0, + 720, 0, 0, 0, 0, 1179, 0, 859, 887, 0, + 0, 0, 0, 0, 859, 0, 893, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 423, 0, 423, 413, 0, 0, 0, 423, 426, 427, - 429, 430, 0, 0, 557, 100, 928, 60, 110, 60, - 60, 108, 116, 131, 0, 133, 134, 0, 560, 562, - 572, 0, 137, 0, 0, 0, 0, 172, 388, 393, - 0, 195, 0, 197, 0, 114, 257, 159, 238, 251, - 252, 540, 554, 0, 0, 272, 939, 274, 276, 277, - 278, 279, 964, 0, 964, 0, 0, 336, 0, 0, - 0, 0, 401, 407, 0, 0, 487, 0, 0, 484, - 490, 491, 0, 476, 351, 352, 462, 941, 495, 920, - 540, 502, 462, 512, 549, 526, 517, 0, 921, 495, - 552, 917, 40, 355, 0, 0, 0, 43, 1155, 51, - 0, 287, 0, 0, 0, 0, 0, 368, 52, 1155, - 60, 1155, 60, 53, 38, 366, 260, 0, 261, 0, - 359, 0, 354, 357, 0, 81, 0, 0, 68, 0, - 72, 0, -2, -2, 0, 0, 0, 714, -2, 695, - 697, 700, 702, 704, 0, 0, 0, 0, 0, 0, - 0, 715, 0, 0, 900, 903, -2, 856, 859, 860, - 0, 0, 894, 0, 0, 0, 0, 471, 472, 472, - 472, 766, 0, 0, 0, 0, 0, 0, 767, 0, - 0, 0, 0, 0, 0, 782, 0, 783, 784, 0, - 0, 785, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 423, 0, 423, 413, 0, 0, 0, 423, + 426, 427, 429, 430, 0, 0, 557, 100, 932, 60, + 110, 60, 60, 108, 116, 131, 0, 133, 134, 0, + 560, 562, 572, 0, 137, 0, 0, 0, 0, 172, + 388, 393, 0, 195, 0, 197, 0, 114, 257, 159, + 238, 251, 252, 540, 554, 0, 0, 272, 943, 274, + 276, 277, 278, 279, 968, 0, 968, 0, 0, 336, + 0, 0, 0, 0, 401, 407, 0, 0, 487, 0, + 0, 484, 490, 491, 0, 476, 351, 352, 462, 945, + 495, 924, 540, 502, 462, 512, 549, 526, 517, 0, + 925, 495, 552, 921, 40, 355, 0, 0, 0, 43, + 1161, 51, 0, 287, 0, 0, 0, 0, 0, 368, + 52, 1161, 60, 1161, 60, 53, 38, 366, 260, 0, + 261, 0, 359, 0, 354, 357, 0, 81, 0, 0, + 68, 0, 72, 0, -2, -2, 0, 0, 0, 718, + -2, 699, 701, 704, 706, 708, 0, 0, 0, 0, + 0, 0, 0, 719, 0, 0, 904, 907, -2, 860, + 863, 864, 0, 0, 898, 0, 0, 0, 0, 471, + 472, 472, 472, 770, 0, 0, 0, 0, 0, 0, + 771, 0, 0, 0, 0, 0, 0, 786, 0, 787, + 788, 0, 0, 789, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 719, 720, 721, 0, 0, - 786, 881, 882, 0, 0, 0, 0, 0, 0, 791, - 0, 888, 0, 0, 0, 795, 796, 797, 0, 589, - 0, 611, 633, 635, 623, 83, 0, 926, 93, 0, - 558, 408, 423, 0, 0, 415, 412, 410, 559, 0, - 0, 0, 0, 102, 104, 106, 0, 858, 0, 0, - 0, 856, 143, 144, 168, 193, 194, 196, 189, 0, - 253, 281, 314, 0, 0, 964, 0, 270, 315, 337, - 339, 0, 0, 403, 407, 0, 406, 460, 0, 0, - 475, 0, 497, 0, 500, 0, 0, 0, 0, 0, - 546, 546, 546, 544, 520, 0, 526, 0, 0, 538, - 0, -2, 517, 0, 497, 0, 0, 0, 0, 61, - 285, 304, 0, 0, 344, 350, 350, 0, 769, 770, - 0, 0, 0, 45, 0, 0, 0, 0, 49, 0, - 55, 0, 0, 0, 0, 0, 0, 0, 67, 0, - 0, 0, 657, -2, 0, 0, 0, 0, -2, 0, - 0, 0, 891, 0, 826, 0, 0, 902, -2, 863, - 892, 896, 0, 761, 0, 0, 0, 0, 952, 643, - 644, 645, 646, 647, 648, 649, 0, 807, 808, 812, - 0, 0, 771, 0, 0, 864, 874, 876, 717, 718, - 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, - -2, -2, -2, 735, 736, 737, -2, -2, -2, 0, - 0, 0, 877, 0, 0, 829, 879, 880, 885, 886, - 0, 788, 789, 790, 887, 0, 0, 0, 617, 0, - 84, 421, 422, 409, 420, 0, 423, 428, 425, 431, - 0, 565, 0, 0, 573, 160, 268, 0, 275, 0, - 0, 0, 273, 0, 0, 0, 405, 407, 0, 398, - 399, 482, 488, 458, 803, 0, 0, 503, 0, 0, - 0, 0, 0, 541, 545, 542, 543, 0, 0, 526, - 538, 509, 0, 0, 0, 516, 537, 0, 536, 525, - -2, 803, 361, 363, 42, 0, 286, 0, 289, 0, - 0, 0, 0, 295, 296, 0, 0, 0, 0, 306, - 313, 0, 353, 944, 0, 353, 0, 0, 0, 0, - 0, 57, 0, 0, 367, 0, 60, 60, 356, 0, - 0, 0, 0, 360, 358, 73, 0, 0, 0, 0, - -2, 0, 707, -2, -2, 825, 856, 901, 895, 949, - 472, 762, 764, 765, 652, 814, 811, 0, 798, 780, - 781, 873, 0, 0, 0, 0, 856, 828, 787, 0, - 793, 794, 590, 0, 0, 0, 414, 424, 0, 566, - 561, 0, 0, 0, 0, 0, 0, 0, 0, 396, - 407, 0, 400, 401, 446, 0, 496, 494, 528, 0, - 530, 0, 0, 0, 532, 512, 521, 0, 523, 538, - 514, 0, 0, 507, 0, 506, 526, 534, 0, 0, - 447, 44, 0, 290, 291, 964, 0, 294, 297, 0, - 299, 966, 281, 0, 310, 311, 345, 346, 349, 347, - 350, 472, 308, 0, 46, 47, 56, 64, 48, 54, - 0, 0, 0, 0, 539, 0, 0, 0, 78, 76, - -2, -2, 708, 827, 0, 472, 0, 800, -2, 0, - 0, 0, 830, 0, 0, 0, 0, 432, 433, 0, - 0, 313, 0, 303, 281, 271, 313, 0, 0, 402, - 403, 802, 804, 0, 529, 0, 548, 531, 526, 522, - 0, 519, 510, 0, 511, 0, 538, 0, 0, 518, - 288, 292, 0, 0, 319, 0, 307, 0, 353, 0, - 0, 66, 0, 362, 364, 0, 0, 0, 0, 80, - 77, 0, 763, 817, 0, -2, 0, 743, 792, 0, - 417, 559, 419, 0, 281, 313, 269, 281, 0, 404, - 405, 0, 0, 0, 0, 524, 508, 504, 0, 515, - 0, 535, 0, 298, 324, 0, 0, 0, 348, 761, - 315, 50, 0, 63, 0, 0, 472, 79, 75, 0, - 0, 0, 813, 744, 0, 418, 0, 301, 281, 340, - 0, 397, 805, 806, 547, 513, 0, 533, 0, 300, - 320, 321, 0, 316, 317, 318, 965, 312, 319, 65, - 265, 267, 0, 810, 815, 818, -2, 1117, 998, 0, - 816, 559, 0, 302, 313, 505, 293, 322, 0, 323, - 0, 0, 0, 324, 0, 0, 820, 821, 822, 823, - 824, 416, 284, 281, 325, 0, 328, 329, 0, 326, - 309, 0, 280, 282, 283, 341, 327, 330, 331, 819, + 0, 0, 0, 0, 0, 0, 0, 723, 724, 725, + 0, 0, 790, 885, 886, 0, 0, 0, 0, 0, + 0, 795, 0, 892, 0, 0, 0, 799, 800, 801, + 0, 589, 0, 615, 637, 639, 627, 83, 0, 930, + 93, 0, 558, 408, 423, 0, 0, 415, 412, 410, + 559, 0, 0, 0, 0, 102, 104, 106, 0, 862, + 0, 0, 0, 860, 143, 144, 168, 193, 194, 196, + 189, 0, 253, 281, 314, 0, 0, 968, 0, 270, + 315, 337, 339, 0, 0, 403, 407, 0, 406, 460, + 0, 0, 475, 0, 497, 0, 500, 0, 0, 0, + 0, 0, 546, 546, 546, 544, 520, 0, 526, 0, + 0, 538, 0, -2, 517, 0, 497, 0, 0, 0, + 0, 61, 285, 304, 0, 0, 344, 350, 350, 0, + 773, 774, 0, 0, 0, 45, 0, 0, 0, 0, + 49, 0, 55, 0, 0, 0, 0, 0, 0, 0, + 67, 0, 0, 0, 661, -2, 0, 0, 0, 0, + -2, 0, 0, 0, 895, 0, 830, 0, 0, 906, + -2, 867, 896, 900, 0, 765, 0, 0, 0, 0, + 956, 647, 648, 649, 650, 651, 652, 653, 0, 811, + 812, 816, 0, 0, 775, 0, 0, 868, 878, 880, + 721, 722, 726, 727, 728, 729, 730, 731, 732, 733, + 734, 735, -2, -2, -2, 739, 740, 741, -2, -2, + -2, 0, 0, 0, 881, 0, 0, 833, 883, 884, + 889, 890, 0, 792, 793, 794, 891, 0, 0, 0, + 621, 0, 84, 421, 422, 409, 420, 0, 423, 428, + 425, 431, 0, 565, 0, 0, 573, 160, 268, 0, + 275, 0, 0, 0, 273, 0, 0, 0, 405, 407, + 0, 398, 399, 482, 488, 458, 807, 0, 0, 503, + 0, 0, 0, 0, 0, 541, 545, 542, 543, 0, + 0, 526, 538, 509, 0, 0, 0, 516, 537, 0, + 536, 525, -2, 807, 361, 363, 42, 0, 286, 0, + 289, 0, 0, 0, 0, 295, 296, 0, 0, 0, + 0, 306, 313, 0, 353, 948, 0, 353, 0, 0, + 0, 0, 0, 57, 0, 0, 367, 0, 60, 60, + 356, 0, 0, 0, 0, 360, 358, 73, 0, 0, + 0, 0, -2, 0, 711, -2, -2, 829, 860, 905, + 899, 953, 472, 766, 768, 769, 656, 818, 815, 0, + 802, 784, 785, 877, 0, 0, 0, 0, 860, 832, + 791, 0, 797, 798, 590, 0, 0, 0, 414, 424, + 0, 566, 561, 0, 0, 0, 0, 0, 0, 0, + 0, 396, 407, 0, 400, 401, 446, 0, 496, 494, + 528, 0, 530, 0, 0, 0, 532, 512, 521, 0, + 523, 538, 514, 0, 0, 507, 0, 506, 526, 534, + 0, 0, 447, 44, 0, 290, 291, 968, 0, 294, + 297, 0, 299, 970, 281, 0, 310, 311, 345, 346, + 349, 347, 350, 472, 308, 0, 46, 47, 56, 64, + 48, 54, 0, 0, 0, 0, 539, 0, 0, 0, + 78, 76, -2, -2, 712, 831, 0, 472, 0, 804, + -2, 0, 0, 0, 834, 0, 0, 0, 0, 432, + 433, 0, 0, 313, 0, 303, 281, 271, 313, 0, + 0, 402, 403, 806, 808, 0, 529, 0, 548, 531, + 526, 522, 0, 519, 510, 0, 511, 0, 538, 0, + 0, 518, 288, 292, 0, 0, 319, 0, 307, 0, + 353, 0, 0, 66, 0, 362, 364, 0, 0, 0, + 0, 80, 77, 0, 767, 821, 0, -2, 0, 747, + 796, 0, 417, 559, 419, 0, 281, 313, 269, 281, + 0, 404, 405, 0, 0, 0, 0, 524, 508, 504, + 0, 515, 0, 535, 0, 298, 324, 0, 0, 0, + 348, 765, 315, 50, 0, 63, 0, 0, 472, 79, + 75, 0, 0, 0, 817, 748, 0, 418, 0, 301, + 281, 340, 0, 397, 809, 810, 547, 513, 0, 533, + 0, 300, 320, 321, 0, 316, 317, 318, 969, 312, + 319, 65, 265, 267, 0, 814, 819, 822, -2, 1121, + 1002, 0, 820, 559, 0, 302, 313, 505, 293, 322, + 0, 323, 0, 0, 0, 324, 0, 0, 824, 825, + 826, 827, 828, 416, 284, 281, 325, 0, 328, 329, + 0, 326, 309, 0, 280, 282, 283, 341, 327, 330, + 331, 823, } var sqlTok1 = [...]int{ 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 335, 3, 341, 336, 3, - 346, 347, 339, 337, 350, 338, 348, 340, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 354, 349, - 329, 331, 330, 3, 351, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 339, 3, 345, 340, 3, + 350, 351, 343, 341, 354, 342, 352, 344, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 358, 353, + 333, 335, 334, 3, 355, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 344, 3, 345, 342, 3, 3, 3, 3, 3, + 3, 348, 3, 349, 346, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 352, 334, 353, 332, + 3, 3, 3, 356, 338, 357, 336, } var sqlTok2 = [...]int{ @@ -5775,7 +5765,8 @@ var sqlTok3 = [...]int{ 57655, 313, 57656, 314, 57657, 315, 57658, 316, 57659, 317, 57660, 318, 57661, 319, 57662, 320, 57663, 321, 57664, 322, 57665, 323, 57666, 324, 57667, 325, 57668, 326, 57669, 327, - 57670, 328, 57671, 333, 57672, 343, 0, + 57670, 328, 57671, 329, 57672, 330, 57673, 331, 57674, 332, + 57675, 337, 57676, 347, 0, } var sqlErrorMessages = [...]struct { @@ -9438,41 +9429,65 @@ sqldefault: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] //line sql.y:3607 { - sqlVAL.union.val = intColTypeInt8 + sqlVAL.union.val = intColTypeInt2 } case 594: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] //line sql.y:3611 { - sqlVAL.union.val = intColTypeInt64 + sqlVAL.union.val = intColTypeInt4 } case 595: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] //line sql.y:3615 { - sqlVAL.union.val = intColTypeInteger + sqlVAL.union.val = intColTypeInt8 } case 596: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] //line sql.y:3619 { - sqlVAL.union.val = intColTypeSmallInt + sqlVAL.union.val = intColTypeInt64 } case 597: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] //line sql.y:3623 { - sqlVAL.union.val = intColTypeBigInt + sqlVAL.union.val = intColTypeInteger } case 598: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] //line sql.y:3627 { - sqlVAL.union.val = floatColTypeReal + sqlVAL.union.val = intColTypeSmallInt } case 599: - sqlDollar = sqlS[sqlpt-2 : sqlpt+1] + sqlDollar = sqlS[sqlpt-1 : sqlpt+1] //line sql.y:3631 + { + sqlVAL.union.val = intColTypeBigInt + } + case 600: + sqlDollar = sqlS[sqlpt-1 : sqlpt+1] + //line sql.y:3635 + { + sqlVAL.union.val = floatColTypeReal + } + case 601: + sqlDollar = sqlS[sqlpt-1 : sqlpt+1] + //line sql.y:3639 + { + sqlVAL.union.val = floatColTypeFloat4 + } + case 602: + sqlDollar = sqlS[sqlpt-1 : sqlpt+1] + //line sql.y:3643 + { + sqlVAL.union.val = floatColTypeFloat8 + } + case 603: + sqlDollar = sqlS[sqlpt-2 : sqlpt+1] + //line sql.y:3647 { nv := sqlDollar[2].union.numVal() prec, err := nv.AsInt64() @@ -9482,15 +9497,15 @@ sqldefault: } sqlVAL.union.val = NewFloatColType(int(prec), len(nv.OrigString) > 0) } - case 600: + case 604: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:3641 + //line sql.y:3657 { sqlVAL.union.val = floatColTypeDouble } - case 601: + case 605: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:3645 + //line sql.y:3661 { sqlVAL.union.val = sqlDollar[2].union.colType() if sqlVAL.union.val == nil { @@ -9499,9 +9514,9 @@ sqldefault: sqlVAL.union.val.(*DecimalColType).Name = "DECIMAL" } } - case 602: + case 606: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:3654 + //line sql.y:3670 { sqlVAL.union.val = sqlDollar[2].union.colType() if sqlVAL.union.val == nil { @@ -9510,9 +9525,9 @@ sqldefault: sqlVAL.union.val.(*DecimalColType).Name = "DEC" } } - case 603: + case 607: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:3663 + //line sql.y:3679 { sqlVAL.union.val = sqlDollar[2].union.colType() if sqlVAL.union.val == nil { @@ -9521,63 +9536,63 @@ sqldefault: sqlVAL.union.val.(*DecimalColType).Name = "NUMERIC" } } - case 604: + case 608: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:3672 + //line sql.y:3688 { sqlVAL.union.val = boolColTypeBoolean } - case 605: + case 609: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:3676 + //line sql.y:3692 { sqlVAL.union.val = boolColTypeBool } - case 606: + case 610: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:3683 + //line sql.y:3699 { sqlVAL.union.val = oidColTypeRegProc } - case 607: + case 611: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:3687 + //line sql.y:3703 { sqlVAL.union.val = oidColTypeRegProcedure } - case 608: + case 612: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:3691 + //line sql.y:3707 { sqlVAL.union.val = oidColTypeRegClass } - case 609: + case 613: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:3695 + //line sql.y:3711 { sqlVAL.union.val = oidColTypeRegType } - case 610: + case 614: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:3699 + //line sql.y:3715 { sqlVAL.union.val = oidColTypeRegNamespace } - case 611: + case 615: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:3705 + //line sql.y:3721 { sqlVAL.union.val = sqlDollar[2].union.numVal() } - case 612: + case 616: sqlDollar = sqlS[sqlpt-0 : sqlpt+1] - //line sql.y:3709 + //line sql.y:3725 { sqlVAL.union.val = &NumVal{Value: constant.MakeInt64(0)} } - case 617: + case 621: sqlDollar = sqlS[sqlpt-5 : sqlpt+1] - //line sql.y:3727 + //line sql.y:3743 { n, err := sqlDollar[4].union.numVal().AsInt64() if err != nil { @@ -9591,15 +9606,15 @@ sqldefault: } sqlVAL.union.val = bit } - case 618: + case 622: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:3743 + //line sql.y:3759 { sqlVAL.union.val = intColTypeBit } - case 623: + case 627: sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:3759 + //line sql.y:3775 { n, err := sqlDollar[3].union.numVal().AsInt64() if err != nil { @@ -9613,547 +9628,547 @@ sqldefault: sqlVAL.union.val = strType } } - case 624: + case 628: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:3775 + //line sql.y:3791 { sqlVAL.union.val = sqlDollar[1].union.colType() } - case 625: + case 629: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:3781 + //line sql.y:3797 { sqlVAL.union.val = stringColTypeChar } - case 626: + case 630: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:3785 + //line sql.y:3801 { sqlVAL.union.val = stringColTypeChar } - case 627: + case 631: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:3789 + //line sql.y:3805 { sqlVAL.union.val = stringColTypeVarChar } - case 628: + case 632: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:3793 + //line sql.y:3809 { sqlVAL.union.val = stringColTypeString } - case 629: + case 633: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:3798 + //line sql.y:3814 { } - case 630: + case 634: sqlDollar = sqlS[sqlpt-0 : sqlpt+1] - //line sql.y:3799 + //line sql.y:3815 { } - case 631: + case 635: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:3804 + //line sql.y:3820 { sqlVAL.union.val = dateColTypeDate } - case 632: + case 636: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:3808 + //line sql.y:3824 { sqlVAL.union.val = timestampColTypeTimestamp } - case 633: + case 637: sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:3812 + //line sql.y:3828 { sqlVAL.union.val = timestampColTypeTimestamp } - case 634: + case 638: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:3816 + //line sql.y:3832 { sqlVAL.union.val = timestampTzColTypeTimestampWithTZ } - case 635: + case 639: sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:3820 + //line sql.y:3836 { sqlVAL.union.val = timestampTzColTypeTimestampWithTZ } - case 636: + case 640: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:3825 + //line sql.y:3841 { sqlVAL.union.val = intervalColTypeInterval } - case 637: + case 641: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:3831 + //line sql.y:3847 { sqlVAL.union.val = year } - case 638: + case 642: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:3835 + //line sql.y:3851 { sqlVAL.union.val = month } - case 639: + case 643: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:3839 + //line sql.y:3855 { sqlVAL.union.val = day } - case 640: + case 644: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:3843 + //line sql.y:3859 { sqlVAL.union.val = hour } - case 641: + case 645: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:3847 + //line sql.y:3863 { sqlVAL.union.val = minute } - case 642: + case 646: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:3851 + //line sql.y:3867 { sqlVAL.union.val = sqlDollar[1].union.durationField() } - case 643: + case 647: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:3857 + //line sql.y:3873 { sqlVAL.union.val = month } - case 644: + case 648: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:3861 + //line sql.y:3877 { sqlVAL.union.val = hour } - case 645: + case 649: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:3865 + //line sql.y:3881 { sqlVAL.union.val = minute } - case 646: + case 650: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:3869 + //line sql.y:3885 { sqlVAL.union.val = sqlDollar[3].union.durationField() } - case 647: + case 651: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:3873 + //line sql.y:3889 { sqlVAL.union.val = minute } - case 648: + case 652: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:3877 + //line sql.y:3893 { sqlVAL.union.val = sqlDollar[3].union.durationField() } - case 649: + case 653: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:3881 + //line sql.y:3897 { sqlVAL.union.val = sqlDollar[3].union.durationField() } - case 650: + case 654: sqlDollar = sqlS[sqlpt-0 : sqlpt+1] - //line sql.y:3885 + //line sql.y:3901 { sqlVAL.union.val = nil } - case 651: + case 655: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:3891 + //line sql.y:3907 { sqlVAL.union.val = second } - case 652: + case 656: sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:3894 + //line sql.y:3910 { return unimplemented(sqllex, "interval_second") } - case 654: + case 658: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:3918 + //line sql.y:3934 { sqlVAL.union.val = &CastExpr{Expr: sqlDollar[1].union.expr(), Type: sqlDollar[3].union.castTargetType(), syntaxMode: castShort} } - case 655: + case 659: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:3922 + //line sql.y:3938 { sqlVAL.union.val = &AnnotateTypeExpr{Expr: sqlDollar[1].union.expr(), Type: sqlDollar[3].union.colType(), syntaxMode: annotateShort} } - case 656: + case 660: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:3926 + //line sql.y:3942 { sqlVAL.union.val = &CollateExpr{Expr: sqlDollar[1].union.expr(), Locale: sqlDollar[3].str} } - case 657: + case 661: sqlDollar = sqlS[sqlpt-5 : sqlpt+1] - //line sql.y:3929 + //line sql.y:3945 { return unimplemented(sqllex, "at tz") } - case 658: - sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:3938 - { - sqlVAL.union.val = &UnaryExpr{Operator: UnaryPlus, Expr: sqlDollar[2].union.expr()} - } - case 659: - sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:3942 - { - sqlVAL.union.val = &UnaryExpr{Operator: UnaryMinus, Expr: sqlDollar[2].union.expr()} - } - case 660: - sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:3946 - { - sqlVAL.union.val = &UnaryExpr{Operator: UnaryComplement, Expr: sqlDollar[2].union.expr()} - } - case 661: - sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:3950 - { - sqlVAL.union.val = &BinaryExpr{Operator: Plus, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} - } case 662: - sqlDollar = sqlS[sqlpt-3 : sqlpt+1] + sqlDollar = sqlS[sqlpt-2 : sqlpt+1] //line sql.y:3954 { - sqlVAL.union.val = &BinaryExpr{Operator: Minus, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} + sqlVAL.union.val = &UnaryExpr{Operator: UnaryPlus, Expr: sqlDollar[2].union.expr()} } case 663: - sqlDollar = sqlS[sqlpt-3 : sqlpt+1] + sqlDollar = sqlS[sqlpt-2 : sqlpt+1] //line sql.y:3958 { - sqlVAL.union.val = &BinaryExpr{Operator: Mult, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} + sqlVAL.union.val = &UnaryExpr{Operator: UnaryMinus, Expr: sqlDollar[2].union.expr()} } case 664: - sqlDollar = sqlS[sqlpt-3 : sqlpt+1] + sqlDollar = sqlS[sqlpt-2 : sqlpt+1] //line sql.y:3962 { - sqlVAL.union.val = &BinaryExpr{Operator: Div, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} + sqlVAL.union.val = &UnaryExpr{Operator: UnaryComplement, Expr: sqlDollar[2].union.expr()} } case 665: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] //line sql.y:3966 { - sqlVAL.union.val = &BinaryExpr{Operator: FloorDiv, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} + sqlVAL.union.val = &BinaryExpr{Operator: Plus, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } case 666: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] //line sql.y:3970 { - sqlVAL.union.val = &BinaryExpr{Operator: Mod, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} + sqlVAL.union.val = &BinaryExpr{Operator: Minus, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } case 667: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] //line sql.y:3974 { - sqlVAL.union.val = &BinaryExpr{Operator: Pow, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} + sqlVAL.union.val = &BinaryExpr{Operator: Mult, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } case 668: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] //line sql.y:3978 { - sqlVAL.union.val = &BinaryExpr{Operator: Bitxor, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} + sqlVAL.union.val = &BinaryExpr{Operator: Div, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } case 669: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] //line sql.y:3982 { - sqlVAL.union.val = &BinaryExpr{Operator: Bitand, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} + sqlVAL.union.val = &BinaryExpr{Operator: FloorDiv, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } case 670: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] //line sql.y:3986 { - sqlVAL.union.val = &BinaryExpr{Operator: Bitor, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} + sqlVAL.union.val = &BinaryExpr{Operator: Mod, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } case 671: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] //line sql.y:3990 { - sqlVAL.union.val = &ComparisonExpr{Operator: LT, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} + sqlVAL.union.val = &BinaryExpr{Operator: Pow, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } case 672: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] //line sql.y:3994 { - sqlVAL.union.val = &ComparisonExpr{Operator: GT, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} + sqlVAL.union.val = &BinaryExpr{Operator: Bitxor, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } case 673: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] //line sql.y:3998 { - sqlVAL.union.val = &ComparisonExpr{Operator: EQ, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} + sqlVAL.union.val = &BinaryExpr{Operator: Bitand, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } case 674: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] //line sql.y:4002 { - sqlVAL.union.val = &BinaryExpr{Operator: Concat, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} + sqlVAL.union.val = &BinaryExpr{Operator: Bitor, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } case 675: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] //line sql.y:4006 { - sqlVAL.union.val = &BinaryExpr{Operator: LShift, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} + sqlVAL.union.val = &ComparisonExpr{Operator: LT, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } case 676: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] //line sql.y:4010 { - sqlVAL.union.val = &BinaryExpr{Operator: RShift, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} + sqlVAL.union.val = &ComparisonExpr{Operator: GT, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } case 677: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] //line sql.y:4014 { - sqlVAL.union.val = &ComparisonExpr{Operator: LE, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} + sqlVAL.union.val = &ComparisonExpr{Operator: EQ, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } case 678: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] //line sql.y:4018 { - sqlVAL.union.val = &ComparisonExpr{Operator: GE, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} + sqlVAL.union.val = &BinaryExpr{Operator: Concat, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } case 679: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] //line sql.y:4022 { - sqlVAL.union.val = &ComparisonExpr{Operator: NE, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} + sqlVAL.union.val = &BinaryExpr{Operator: LShift, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } case 680: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] //line sql.y:4026 { - sqlVAL.union.val = &AndExpr{Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} + sqlVAL.union.val = &BinaryExpr{Operator: RShift, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } case 681: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] //line sql.y:4030 { - sqlVAL.union.val = &OrExpr{Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} + sqlVAL.union.val = &ComparisonExpr{Operator: LE, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } case 682: - sqlDollar = sqlS[sqlpt-2 : sqlpt+1] + sqlDollar = sqlS[sqlpt-3 : sqlpt+1] //line sql.y:4034 { - sqlVAL.union.val = &NotExpr{Expr: sqlDollar[2].union.expr()} + sqlVAL.union.val = &ComparisonExpr{Operator: GE, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } case 683: - sqlDollar = sqlS[sqlpt-2 : sqlpt+1] + sqlDollar = sqlS[sqlpt-3 : sqlpt+1] //line sql.y:4038 { - sqlVAL.union.val = &NotExpr{Expr: sqlDollar[2].union.expr()} + sqlVAL.union.val = &ComparisonExpr{Operator: NE, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } case 684: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] //line sql.y:4042 { - sqlVAL.union.val = &ComparisonExpr{Operator: Like, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} + sqlVAL.union.val = &AndExpr{Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } case 685: - sqlDollar = sqlS[sqlpt-4 : sqlpt+1] + sqlDollar = sqlS[sqlpt-3 : sqlpt+1] //line sql.y:4046 { - sqlVAL.union.val = &ComparisonExpr{Operator: NotLike, Left: sqlDollar[1].union.expr(), Right: sqlDollar[4].union.expr()} + sqlVAL.union.val = &OrExpr{Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } case 686: - sqlDollar = sqlS[sqlpt-3 : sqlpt+1] + sqlDollar = sqlS[sqlpt-2 : sqlpt+1] //line sql.y:4050 { - sqlVAL.union.val = &ComparisonExpr{Operator: ILike, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} + sqlVAL.union.val = &NotExpr{Expr: sqlDollar[2].union.expr()} } case 687: - sqlDollar = sqlS[sqlpt-4 : sqlpt+1] + sqlDollar = sqlS[sqlpt-2 : sqlpt+1] //line sql.y:4054 { - sqlVAL.union.val = &ComparisonExpr{Operator: NotILike, Left: sqlDollar[1].union.expr(), Right: sqlDollar[4].union.expr()} + sqlVAL.union.val = &NotExpr{Expr: sqlDollar[2].union.expr()} } case 688: - sqlDollar = sqlS[sqlpt-4 : sqlpt+1] + sqlDollar = sqlS[sqlpt-3 : sqlpt+1] //line sql.y:4058 { - sqlVAL.union.val = &ComparisonExpr{Operator: SimilarTo, Left: sqlDollar[1].union.expr(), Right: sqlDollar[4].union.expr()} + sqlVAL.union.val = &ComparisonExpr{Operator: Like, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } case 689: - sqlDollar = sqlS[sqlpt-5 : sqlpt+1] + sqlDollar = sqlS[sqlpt-4 : sqlpt+1] //line sql.y:4062 { - sqlVAL.union.val = &ComparisonExpr{Operator: NotSimilarTo, Left: sqlDollar[1].union.expr(), Right: sqlDollar[5].union.expr()} + sqlVAL.union.val = &ComparisonExpr{Operator: NotLike, Left: sqlDollar[1].union.expr(), Right: sqlDollar[4].union.expr()} } case 690: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] //line sql.y:4066 { - sqlVAL.union.val = &ComparisonExpr{Operator: RegMatch, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} + sqlVAL.union.val = &ComparisonExpr{Operator: ILike, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } case 691: - sqlDollar = sqlS[sqlpt-3 : sqlpt+1] + sqlDollar = sqlS[sqlpt-4 : sqlpt+1] //line sql.y:4070 { - sqlVAL.union.val = &ComparisonExpr{Operator: NotRegMatch, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} + sqlVAL.union.val = &ComparisonExpr{Operator: NotILike, Left: sqlDollar[1].union.expr(), Right: sqlDollar[4].union.expr()} } case 692: - sqlDollar = sqlS[sqlpt-3 : sqlpt+1] + sqlDollar = sqlS[sqlpt-4 : sqlpt+1] //line sql.y:4074 { - sqlVAL.union.val = &ComparisonExpr{Operator: RegIMatch, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} + sqlVAL.union.val = &ComparisonExpr{Operator: SimilarTo, Left: sqlDollar[1].union.expr(), Right: sqlDollar[4].union.expr()} } case 693: - sqlDollar = sqlS[sqlpt-3 : sqlpt+1] + sqlDollar = sqlS[sqlpt-5 : sqlpt+1] //line sql.y:4078 { - sqlVAL.union.val = &ComparisonExpr{Operator: NotRegIMatch, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} + sqlVAL.union.val = &ComparisonExpr{Operator: NotSimilarTo, Left: sqlDollar[1].union.expr(), Right: sqlDollar[5].union.expr()} } case 694: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] //line sql.y:4082 { - sqlVAL.union.val = &FuncExpr{Func: wrapFunction("ISNAN"), Exprs: Exprs{sqlDollar[1].union.expr()}} + sqlVAL.union.val = &ComparisonExpr{Operator: RegMatch, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } case 695: - sqlDollar = sqlS[sqlpt-4 : sqlpt+1] + sqlDollar = sqlS[sqlpt-3 : sqlpt+1] //line sql.y:4086 { - sqlVAL.union.val = &NotExpr{Expr: &FuncExpr{Func: wrapFunction("ISNAN"), Exprs: Exprs{sqlDollar[1].union.expr()}}} + sqlVAL.union.val = &ComparisonExpr{Operator: NotRegMatch, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } case 696: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] //line sql.y:4090 { - sqlVAL.union.val = &ComparisonExpr{Operator: Is, Left: sqlDollar[1].union.expr(), Right: DNull} + sqlVAL.union.val = &ComparisonExpr{Operator: RegIMatch, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } case 697: - sqlDollar = sqlS[sqlpt-4 : sqlpt+1] + sqlDollar = sqlS[sqlpt-3 : sqlpt+1] //line sql.y:4094 { - sqlVAL.union.val = &ComparisonExpr{Operator: IsNot, Left: sqlDollar[1].union.expr(), Right: DNull} + sqlVAL.union.val = &ComparisonExpr{Operator: NotRegIMatch, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } case 698: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:4097 + //line sql.y:4098 { - return unimplemented(sqllex, "overlaps") + sqlVAL.union.val = &FuncExpr{Func: wrapFunction("ISNAN"), Exprs: Exprs{sqlDollar[1].union.expr()}} } case 699: - sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:4099 + sqlDollar = sqlS[sqlpt-4 : sqlpt+1] + //line sql.y:4102 { - sqlVAL.union.val = &ComparisonExpr{Operator: Is, Left: sqlDollar[1].union.expr(), Right: MakeDBool(true)} + sqlVAL.union.val = &NotExpr{Expr: &FuncExpr{Func: wrapFunction("ISNAN"), Exprs: Exprs{sqlDollar[1].union.expr()}}} } case 700: - sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:4103 + sqlDollar = sqlS[sqlpt-3 : sqlpt+1] + //line sql.y:4106 { - sqlVAL.union.val = &ComparisonExpr{Operator: IsNot, Left: sqlDollar[1].union.expr(), Right: MakeDBool(true)} + sqlVAL.union.val = &ComparisonExpr{Operator: Is, Left: sqlDollar[1].union.expr(), Right: DNull} } case 701: - sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:4107 + sqlDollar = sqlS[sqlpt-4 : sqlpt+1] + //line sql.y:4110 { - sqlVAL.union.val = &ComparisonExpr{Operator: Is, Left: sqlDollar[1].union.expr(), Right: MakeDBool(false)} + sqlVAL.union.val = &ComparisonExpr{Operator: IsNot, Left: sqlDollar[1].union.expr(), Right: DNull} } case 702: - sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:4111 + sqlDollar = sqlS[sqlpt-3 : sqlpt+1] + //line sql.y:4113 { - sqlVAL.union.val = &ComparisonExpr{Operator: IsNot, Left: sqlDollar[1].union.expr(), Right: MakeDBool(false)} + return unimplemented(sqllex, "overlaps") } case 703: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] //line sql.y:4115 { - sqlVAL.union.val = &ComparisonExpr{Operator: Is, Left: sqlDollar[1].union.expr(), Right: DNull} + sqlVAL.union.val = &ComparisonExpr{Operator: Is, Left: sqlDollar[1].union.expr(), Right: MakeDBool(true)} } case 704: sqlDollar = sqlS[sqlpt-4 : sqlpt+1] //line sql.y:4119 { - sqlVAL.union.val = &ComparisonExpr{Operator: IsNot, Left: sqlDollar[1].union.expr(), Right: DNull} + sqlVAL.union.val = &ComparisonExpr{Operator: IsNot, Left: sqlDollar[1].union.expr(), Right: MakeDBool(true)} } case 705: - sqlDollar = sqlS[sqlpt-5 : sqlpt+1] + sqlDollar = sqlS[sqlpt-3 : sqlpt+1] //line sql.y:4123 { - sqlVAL.union.val = &ComparisonExpr{Operator: IsDistinctFrom, Left: sqlDollar[1].union.expr(), Right: sqlDollar[5].union.expr()} + sqlVAL.union.val = &ComparisonExpr{Operator: Is, Left: sqlDollar[1].union.expr(), Right: MakeDBool(false)} } case 706: - sqlDollar = sqlS[sqlpt-6 : sqlpt+1] + sqlDollar = sqlS[sqlpt-4 : sqlpt+1] //line sql.y:4127 { - sqlVAL.union.val = &ComparisonExpr{Operator: IsNotDistinctFrom, Left: sqlDollar[1].union.expr(), Right: sqlDollar[6].union.expr()} + sqlVAL.union.val = &ComparisonExpr{Operator: IsNot, Left: sqlDollar[1].union.expr(), Right: MakeDBool(false)} } case 707: - sqlDollar = sqlS[sqlpt-6 : sqlpt+1] + sqlDollar = sqlS[sqlpt-3 : sqlpt+1] //line sql.y:4131 { - sqlVAL.union.val = &IsOfTypeExpr{Expr: sqlDollar[1].union.expr(), Types: sqlDollar[5].union.colTypes()} + sqlVAL.union.val = &ComparisonExpr{Operator: Is, Left: sqlDollar[1].union.expr(), Right: DNull} } case 708: - sqlDollar = sqlS[sqlpt-7 : sqlpt+1] + sqlDollar = sqlS[sqlpt-4 : sqlpt+1] //line sql.y:4135 { - sqlVAL.union.val = &IsOfTypeExpr{Not: true, Expr: sqlDollar[1].union.expr(), Types: sqlDollar[6].union.colTypes()} + sqlVAL.union.val = &ComparisonExpr{Operator: IsNot, Left: sqlDollar[1].union.expr(), Right: DNull} } case 709: - sqlDollar = sqlS[sqlpt-6 : sqlpt+1] + sqlDollar = sqlS[sqlpt-5 : sqlpt+1] //line sql.y:4139 { - sqlVAL.union.val = &RangeCond{Left: sqlDollar[1].union.expr(), From: sqlDollar[4].union.expr(), To: sqlDollar[6].union.expr()} + sqlVAL.union.val = &ComparisonExpr{Operator: IsDistinctFrom, Left: sqlDollar[1].union.expr(), Right: sqlDollar[5].union.expr()} } case 710: - sqlDollar = sqlS[sqlpt-7 : sqlpt+1] + sqlDollar = sqlS[sqlpt-6 : sqlpt+1] //line sql.y:4143 { - sqlVAL.union.val = &RangeCond{Not: true, Left: sqlDollar[1].union.expr(), From: sqlDollar[5].union.expr(), To: sqlDollar[7].union.expr()} + sqlVAL.union.val = &ComparisonExpr{Operator: IsNotDistinctFrom, Left: sqlDollar[1].union.expr(), Right: sqlDollar[6].union.expr()} } case 711: sqlDollar = sqlS[sqlpt-6 : sqlpt+1] //line sql.y:4147 { - sqlVAL.union.val = &RangeCond{Left: sqlDollar[1].union.expr(), From: sqlDollar[4].union.expr(), To: sqlDollar[6].union.expr()} + sqlVAL.union.val = &IsOfTypeExpr{Expr: sqlDollar[1].union.expr(), Types: sqlDollar[5].union.colTypes()} } case 712: sqlDollar = sqlS[sqlpt-7 : sqlpt+1] //line sql.y:4151 { - sqlVAL.union.val = &RangeCond{Not: true, Left: sqlDollar[1].union.expr(), From: sqlDollar[5].union.expr(), To: sqlDollar[7].union.expr()} + sqlVAL.union.val = &IsOfTypeExpr{Not: true, Expr: sqlDollar[1].union.expr(), Types: sqlDollar[6].union.colTypes()} } case 713: - sqlDollar = sqlS[sqlpt-3 : sqlpt+1] + sqlDollar = sqlS[sqlpt-6 : sqlpt+1] //line sql.y:4155 { - sqlVAL.union.val = &ComparisonExpr{Operator: In, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} + sqlVAL.union.val = &RangeCond{Left: sqlDollar[1].union.expr(), From: sqlDollar[4].union.expr(), To: sqlDollar[6].union.expr()} } case 714: - sqlDollar = sqlS[sqlpt-4 : sqlpt+1] + sqlDollar = sqlS[sqlpt-7 : sqlpt+1] //line sql.y:4159 { - sqlVAL.union.val = &ComparisonExpr{Operator: NotIn, Left: sqlDollar[1].union.expr(), Right: sqlDollar[4].union.expr()} + sqlVAL.union.val = &RangeCond{Not: true, Left: sqlDollar[1].union.expr(), From: sqlDollar[5].union.expr(), To: sqlDollar[7].union.expr()} } case 715: - sqlDollar = sqlS[sqlpt-4 : sqlpt+1] + sqlDollar = sqlS[sqlpt-6 : sqlpt+1] //line sql.y:4163 + { + sqlVAL.union.val = &RangeCond{Left: sqlDollar[1].union.expr(), From: sqlDollar[4].union.expr(), To: sqlDollar[6].union.expr()} + } + case 716: + sqlDollar = sqlS[sqlpt-7 : sqlpt+1] + //line sql.y:4167 + { + sqlVAL.union.val = &RangeCond{Not: true, Left: sqlDollar[1].union.expr(), From: sqlDollar[5].union.expr(), To: sqlDollar[7].union.expr()} + } + case 717: + sqlDollar = sqlS[sqlpt-3 : sqlpt+1] + //line sql.y:4171 + { + sqlVAL.union.val = &ComparisonExpr{Operator: In, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} + } + case 718: + sqlDollar = sqlS[sqlpt-4 : sqlpt+1] + //line sql.y:4175 + { + sqlVAL.union.val = &ComparisonExpr{Operator: NotIn, Left: sqlDollar[1].union.expr(), Right: sqlDollar[4].union.expr()} + } + case 719: + sqlDollar = sqlS[sqlpt-4 : sqlpt+1] + //line sql.y:4179 { op := sqlDollar[3].union.cmpOp() subOp := sqlDollar[2].union.op() @@ -10170,198 +10185,198 @@ sqldefault: Right: sqlDollar[4].union.expr(), } } - case 717: + case 721: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:4191 + //line sql.y:4207 { sqlVAL.union.val = &CastExpr{Expr: sqlDollar[1].union.expr(), Type: sqlDollar[3].union.castTargetType(), syntaxMode: castShort} } - case 718: + case 722: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:4195 + //line sql.y:4211 { sqlVAL.union.val = &AnnotateTypeExpr{Expr: sqlDollar[1].union.expr(), Type: sqlDollar[3].union.colType(), syntaxMode: annotateShort} } - case 719: + case 723: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:4199 + //line sql.y:4215 { sqlVAL.union.val = &UnaryExpr{Operator: UnaryPlus, Expr: sqlDollar[2].union.expr()} } - case 720: + case 724: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:4203 + //line sql.y:4219 { sqlVAL.union.val = &UnaryExpr{Operator: UnaryMinus, Expr: sqlDollar[2].union.expr()} } - case 721: + case 725: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:4207 + //line sql.y:4223 { sqlVAL.union.val = &UnaryExpr{Operator: UnaryComplement, Expr: sqlDollar[2].union.expr()} } - case 722: + case 726: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:4211 + //line sql.y:4227 { sqlVAL.union.val = &BinaryExpr{Operator: Plus, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } - case 723: + case 727: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:4215 + //line sql.y:4231 { sqlVAL.union.val = &BinaryExpr{Operator: Minus, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } - case 724: + case 728: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:4219 + //line sql.y:4235 { sqlVAL.union.val = &BinaryExpr{Operator: Mult, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } - case 725: + case 729: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:4223 + //line sql.y:4239 { sqlVAL.union.val = &BinaryExpr{Operator: Div, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } - case 726: + case 730: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:4227 + //line sql.y:4243 { sqlVAL.union.val = &BinaryExpr{Operator: FloorDiv, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } - case 727: + case 731: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:4231 + //line sql.y:4247 { sqlVAL.union.val = &BinaryExpr{Operator: Mod, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } - case 728: + case 732: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:4235 + //line sql.y:4251 { sqlVAL.union.val = &BinaryExpr{Operator: Pow, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } - case 729: + case 733: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:4239 + //line sql.y:4255 { sqlVAL.union.val = &BinaryExpr{Operator: Bitxor, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } - case 730: + case 734: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:4243 + //line sql.y:4259 { sqlVAL.union.val = &BinaryExpr{Operator: Bitand, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } - case 731: + case 735: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:4247 + //line sql.y:4263 { sqlVAL.union.val = &BinaryExpr{Operator: Bitor, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } - case 732: + case 736: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:4251 + //line sql.y:4267 { sqlVAL.union.val = &ComparisonExpr{Operator: LT, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } - case 733: + case 737: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:4255 + //line sql.y:4271 { sqlVAL.union.val = &ComparisonExpr{Operator: GT, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } - case 734: + case 738: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:4259 + //line sql.y:4275 { sqlVAL.union.val = &ComparisonExpr{Operator: EQ, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } - case 735: + case 739: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:4263 + //line sql.y:4279 { sqlVAL.union.val = &BinaryExpr{Operator: Concat, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } - case 736: + case 740: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:4267 + //line sql.y:4283 { sqlVAL.union.val = &BinaryExpr{Operator: LShift, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } - case 737: + case 741: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:4271 + //line sql.y:4287 { sqlVAL.union.val = &BinaryExpr{Operator: RShift, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } - case 738: + case 742: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:4275 + //line sql.y:4291 { sqlVAL.union.val = &ComparisonExpr{Operator: LE, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } - case 739: + case 743: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:4279 + //line sql.y:4295 { sqlVAL.union.val = &ComparisonExpr{Operator: GE, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } - case 740: + case 744: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:4283 + //line sql.y:4299 { sqlVAL.union.val = &ComparisonExpr{Operator: NE, Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} } - case 741: + case 745: sqlDollar = sqlS[sqlpt-5 : sqlpt+1] - //line sql.y:4287 + //line sql.y:4303 { sqlVAL.union.val = &ComparisonExpr{Operator: IsDistinctFrom, Left: sqlDollar[1].union.expr(), Right: sqlDollar[5].union.expr()} } - case 742: + case 746: sqlDollar = sqlS[sqlpt-6 : sqlpt+1] - //line sql.y:4291 + //line sql.y:4307 { sqlVAL.union.val = &ComparisonExpr{Operator: IsNotDistinctFrom, Left: sqlDollar[1].union.expr(), Right: sqlDollar[6].union.expr()} } - case 743: + case 747: sqlDollar = sqlS[sqlpt-6 : sqlpt+1] - //line sql.y:4295 + //line sql.y:4311 { sqlVAL.union.val = &IsOfTypeExpr{Expr: sqlDollar[1].union.expr(), Types: sqlDollar[5].union.colTypes()} } - case 744: + case 748: sqlDollar = sqlS[sqlpt-7 : sqlpt+1] - //line sql.y:4299 + //line sql.y:4315 { sqlVAL.union.val = &IsOfTypeExpr{Not: true, Expr: sqlDollar[1].union.expr(), Types: sqlDollar[6].union.colTypes()} } - case 746: + case 750: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:4312 + //line sql.y:4328 { sqlVAL.union.val = &IndirectionExpr{ Expr: sqlDollar[1].union.expr(), Indirection: sqlDollar[2].union.arraySubscripts(), } } - case 748: + case 752: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:4320 + //line sql.y:4336 { sqlVAL.union.val = &ExistsExpr{Subquery: &Subquery{Select: sqlDollar[2].union.selectStmt()}} } - case 749: + case 753: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:4331 + //line sql.y:4347 { sqlVAL.union.val = sqlDollar[1].union.unresolvedName() } - case 751: + case 755: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:4336 + //line sql.y:4352 { /* SKIP DOC */ colNum, err := sqlDollar[2].union.numVal().AsInt64() @@ -10375,355 +10390,355 @@ sqldefault: } sqlVAL.union.val = NewOrdinalReference(int(colNum - 1)) } - case 752: + case 756: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:4349 + //line sql.y:4365 { sqlVAL.union.val = NewPlaceholder(sqlDollar[1].str) } - case 753: + case 757: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:4353 + //line sql.y:4369 { sqlVAL.union.val = &ParenExpr{Expr: sqlDollar[2].union.expr()} } - case 755: + case 759: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:4358 + //line sql.y:4374 { sqlVAL.union.val = &Subquery{Select: sqlDollar[1].union.selectStmt()} } - case 756: + case 760: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:4362 + //line sql.y:4378 { sqlVAL.union.val = &ArrayFlatten{Subquery: &Subquery{Select: sqlDollar[2].union.selectStmt()}} } - case 757: + case 761: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:4366 + //line sql.y:4382 { sqlVAL.union.val = sqlDollar[2].union.expr() } - case 758: + case 762: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:4370 + //line sql.y:4386 { sqlVAL.union.val = sqlDollar[1].union.expr() } - case 759: + case 763: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:4374 + //line sql.y:4390 { sqlVAL.union.val = sqlDollar[1].union.expr() } - case 760: + case 764: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:4382 + //line sql.y:4398 { sqlVAL.union.val = &FuncExpr{Func: sqlDollar[1].union.resolvableFunctionReference()} } - case 761: + case 765: sqlDollar = sqlS[sqlpt-5 : sqlpt+1] - //line sql.y:4386 + //line sql.y:4402 { sqlVAL.union.val = &FuncExpr{Func: sqlDollar[1].union.resolvableFunctionReference(), Exprs: sqlDollar[3].union.exprs()} } - case 762: + case 766: sqlDollar = sqlS[sqlpt-6 : sqlpt+1] - //line sql.y:4389 + //line sql.y:4405 { return unimplemented(sqllex, "variadic") } - case 763: + case 767: sqlDollar = sqlS[sqlpt-8 : sqlpt+1] - //line sql.y:4390 + //line sql.y:4406 { return unimplemented(sqllex, "variadic") } - case 764: + case 768: sqlDollar = sqlS[sqlpt-6 : sqlpt+1] - //line sql.y:4392 + //line sql.y:4408 { sqlVAL.union.val = &FuncExpr{Func: sqlDollar[1].union.resolvableFunctionReference(), Type: AllFuncType, Exprs: sqlDollar[4].union.exprs()} } - case 765: + case 769: sqlDollar = sqlS[sqlpt-6 : sqlpt+1] - //line sql.y:4396 + //line sql.y:4412 { sqlVAL.union.val = &FuncExpr{Func: sqlDollar[1].union.resolvableFunctionReference(), Type: DistinctFuncType, Exprs: sqlDollar[4].union.exprs()} } - case 766: + case 770: sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:4400 + //line sql.y:4416 { sqlVAL.union.val = &FuncExpr{Func: sqlDollar[1].union.resolvableFunctionReference(), Exprs: Exprs{StarExpr()}} } - case 767: + case 771: sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:4413 + //line sql.y:4429 { f := sqlDollar[1].union.expr().(*FuncExpr) f.Filter = sqlDollar[3].union.expr() f.WindowDef = sqlDollar[4].union.windowDef() sqlVAL.union.val = f } - case 768: + case 772: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:4420 + //line sql.y:4436 { sqlVAL.union.val = sqlDollar[1].union.expr() } - case 769: + case 773: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:4429 + //line sql.y:4445 { return unimplemented(sqllex, "func_application") } - case 770: + case 774: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:4430 + //line sql.y:4446 { return unimplemented(sqllex, "func_expr_common_subexpr") } - case 771: + case 775: sqlDollar = sqlS[sqlpt-5 : sqlpt+1] - //line sql.y:4434 + //line sql.y:4450 { return unimplemented(sqllex, "func_expr_common_subexpr collation") } - case 772: + case 776: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:4436 + //line sql.y:4452 { sqlVAL.union.val = &FuncExpr{Func: wrapFunction(sqlDollar[1].str)} } - case 773: + case 777: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:4440 + //line sql.y:4456 { sqlVAL.union.val = &FuncExpr{Func: wrapFunction(sqlDollar[1].str)} } - case 774: + case 778: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:4444 + //line sql.y:4460 { sqlVAL.union.val = &FuncExpr{Func: wrapFunction(sqlDollar[1].str)} } - case 775: + case 779: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:4448 + //line sql.y:4464 { sqlVAL.union.val = &FuncExpr{Func: wrapFunction(sqlDollar[1].str)} } - case 776: + case 780: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:4451 + //line sql.y:4467 { return unimplemented(sqllex, "current role") } - case 777: + case 781: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:4452 + //line sql.y:4468 { return unimplemented(sqllex, "current user") } - case 778: + case 782: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:4453 + //line sql.y:4469 { return unimplemented(sqllex, "session user") } - case 779: + case 783: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:4454 + //line sql.y:4470 { return unimplemented(sqllex, "user") } - case 780: + case 784: sqlDollar = sqlS[sqlpt-6 : sqlpt+1] - //line sql.y:4456 + //line sql.y:4472 { sqlVAL.union.val = &CastExpr{Expr: sqlDollar[3].union.expr(), Type: sqlDollar[5].union.castTargetType(), syntaxMode: castExplicit} } - case 781: + case 785: sqlDollar = sqlS[sqlpt-6 : sqlpt+1] - //line sql.y:4460 + //line sql.y:4476 { sqlVAL.union.val = &AnnotateTypeExpr{Expr: sqlDollar[3].union.expr(), Type: sqlDollar[5].union.colType(), syntaxMode: annotateExplicit} } - case 782: + case 786: sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:4464 + //line sql.y:4480 { sqlVAL.union.val = &FuncExpr{Func: wrapFunction(sqlDollar[1].str), Exprs: sqlDollar[3].union.exprs()} } - case 783: + case 787: sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:4468 + //line sql.y:4484 { sqlVAL.union.val = &FuncExpr{Func: wrapFunction(sqlDollar[1].str), Exprs: sqlDollar[3].union.exprs()} } - case 784: + case 788: sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:4472 + //line sql.y:4488 { sqlVAL.union.val = &FuncExpr{Func: wrapFunction(sqlDollar[1].str), Exprs: sqlDollar[3].union.exprs()} } - case 785: + case 789: sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:4476 + //line sql.y:4492 { sqlVAL.union.val = &FuncExpr{Func: wrapFunction("STRPOS"), Exprs: sqlDollar[3].union.exprs()} } - case 786: + case 790: sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:4480 + //line sql.y:4496 { sqlVAL.union.val = &FuncExpr{Func: wrapFunction(sqlDollar[1].str), Exprs: sqlDollar[3].union.exprs()} } - case 787: + case 791: sqlDollar = sqlS[sqlpt-6 : sqlpt+1] - //line sql.y:4483 + //line sql.y:4499 { return unimplemented(sqllex, "treat") } - case 788: + case 792: sqlDollar = sqlS[sqlpt-5 : sqlpt+1] - //line sql.y:4485 + //line sql.y:4501 { sqlVAL.union.val = &FuncExpr{Func: wrapFunction("BTRIM"), Exprs: sqlDollar[4].union.exprs()} } - case 789: + case 793: sqlDollar = sqlS[sqlpt-5 : sqlpt+1] - //line sql.y:4489 + //line sql.y:4505 { sqlVAL.union.val = &FuncExpr{Func: wrapFunction("LTRIM"), Exprs: sqlDollar[4].union.exprs()} } - case 790: + case 794: sqlDollar = sqlS[sqlpt-5 : sqlpt+1] - //line sql.y:4493 + //line sql.y:4509 { sqlVAL.union.val = &FuncExpr{Func: wrapFunction("RTRIM"), Exprs: sqlDollar[4].union.exprs()} } - case 791: + case 795: sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:4497 + //line sql.y:4513 { sqlVAL.union.val = &FuncExpr{Func: wrapFunction("BTRIM"), Exprs: sqlDollar[3].union.exprs()} } - case 792: + case 796: sqlDollar = sqlS[sqlpt-8 : sqlpt+1] - //line sql.y:4501 + //line sql.y:4517 { sqlVAL.union.val = &IfExpr{Cond: sqlDollar[3].union.expr(), True: sqlDollar[5].union.expr(), Else: sqlDollar[7].union.expr()} } - case 793: + case 797: sqlDollar = sqlS[sqlpt-6 : sqlpt+1] - //line sql.y:4505 + //line sql.y:4521 { sqlVAL.union.val = &NullIfExpr{Expr1: sqlDollar[3].union.expr(), Expr2: sqlDollar[5].union.expr()} } - case 794: + case 798: sqlDollar = sqlS[sqlpt-6 : sqlpt+1] - //line sql.y:4509 + //line sql.y:4525 { sqlVAL.union.val = &CoalesceExpr{Name: "IFNULL", Exprs: Exprs{sqlDollar[3].union.expr(), sqlDollar[5].union.expr()}} } - case 795: + case 799: sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:4513 + //line sql.y:4529 { sqlVAL.union.val = &CoalesceExpr{Name: "COALESCE", Exprs: sqlDollar[3].union.exprs()} } - case 796: + case 800: sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:4517 + //line sql.y:4533 { sqlVAL.union.val = &FuncExpr{Func: wrapFunction(sqlDollar[1].str), Exprs: sqlDollar[3].union.exprs()} } - case 797: + case 801: sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:4521 + //line sql.y:4537 { sqlVAL.union.val = &FuncExpr{Func: wrapFunction(sqlDollar[1].str), Exprs: sqlDollar[3].union.exprs()} } - case 798: + case 802: sqlDollar = sqlS[sqlpt-5 : sqlpt+1] - //line sql.y:4527 + //line sql.y:4543 { return unimplemented(sqllex, "within group") } - case 799: + case 803: sqlDollar = sqlS[sqlpt-0 : sqlpt+1] - //line sql.y:4528 + //line sql.y:4544 { } - case 800: + case 804: sqlDollar = sqlS[sqlpt-5 : sqlpt+1] - //line sql.y:4532 + //line sql.y:4548 { sqlVAL.union.val = sqlDollar[4].union.expr() } - case 801: + case 805: sqlDollar = sqlS[sqlpt-0 : sqlpt+1] - //line sql.y:4536 + //line sql.y:4552 { sqlVAL.union.val = Expr(nil) } - case 802: + case 806: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:4543 + //line sql.y:4559 { sqlVAL.union.val = sqlDollar[2].union.window() } - case 803: + case 807: sqlDollar = sqlS[sqlpt-0 : sqlpt+1] - //line sql.y:4547 + //line sql.y:4563 { sqlVAL.union.val = Window(nil) } - case 804: + case 808: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:4553 + //line sql.y:4569 { sqlVAL.union.val = Window{sqlDollar[1].union.windowDef()} } - case 805: + case 809: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:4557 + //line sql.y:4573 { sqlVAL.union.val = append(sqlDollar[1].union.window(), sqlDollar[3].union.windowDef()) } - case 806: + case 810: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:4563 + //line sql.y:4579 { n := sqlDollar[3].union.windowDef() n.Name = Name(sqlDollar[1].str) sqlVAL.union.val = n } - case 807: + case 811: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:4571 + //line sql.y:4587 { sqlVAL.union.val = sqlDollar[2].union.windowDef() } - case 808: + case 812: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:4575 + //line sql.y:4591 { sqlVAL.union.val = &WindowDef{Name: Name(sqlDollar[2].str)} } - case 809: + case 813: sqlDollar = sqlS[sqlpt-0 : sqlpt+1] - //line sql.y:4579 + //line sql.y:4595 { sqlVAL.union.val = (*WindowDef)(nil) } - case 810: + case 814: sqlDollar = sqlS[sqlpt-6 : sqlpt+1] - //line sql.y:4586 + //line sql.y:4602 { sqlVAL.union.val = &WindowDef{ RefName: Name(sqlDollar[2].str), @@ -10731,817 +10746,817 @@ sqldefault: OrderBy: sqlDollar[4].union.orderBy(), } } - case 812: + case 816: sqlDollar = sqlS[sqlpt-0 : sqlpt+1] - //line sql.y:4605 + //line sql.y:4621 { sqlVAL.str = "" } - case 813: + case 817: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:4611 + //line sql.y:4627 { sqlVAL.union.val = sqlDollar[3].union.exprs() } - case 814: + case 818: sqlDollar = sqlS[sqlpt-0 : sqlpt+1] - //line sql.y:4615 + //line sql.y:4631 { sqlVAL.union.val = Exprs(nil) } - case 815: + case 819: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:4625 + //line sql.y:4641 { return unimplemented(sqllex, "frame range") } - case 816: + case 820: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:4626 + //line sql.y:4642 { return unimplemented(sqllex, "frame rows") } - case 817: + case 821: sqlDollar = sqlS[sqlpt-0 : sqlpt+1] - //line sql.y:4627 + //line sql.y:4643 { } - case 818: + case 822: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:4630 + //line sql.y:4646 { return unimplemented(sqllex, "frame_extent") } - case 819: + case 823: sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:4631 + //line sql.y:4647 { return unimplemented(sqllex, "frame_extent") } - case 820: + case 824: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:4637 + //line sql.y:4653 { return unimplemented(sqllex, "frame_bound") } - case 821: + case 825: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:4638 + //line sql.y:4654 { return unimplemented(sqllex, "frame_bound") } - case 822: + case 826: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:4639 + //line sql.y:4655 { return unimplemented(sqllex, "frame_bound") } - case 823: + case 827: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:4640 + //line sql.y:4656 { return unimplemented(sqllex, "frame_bound") } - case 824: + case 828: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:4641 + //line sql.y:4657 { return unimplemented(sqllex, "frame_bound") } - case 825: + case 829: sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:4652 + //line sql.y:4668 { sqlVAL.union.val = &Tuple{Exprs: sqlDollar[3].union.exprs(), row: true} } - case 826: + case 830: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:4656 + //line sql.y:4672 { sqlVAL.union.val = &Tuple{Exprs: nil, row: true} } - case 827: + case 831: sqlDollar = sqlS[sqlpt-5 : sqlpt+1] - //line sql.y:4660 + //line sql.y:4676 { sqlVAL.union.val = &Tuple{Exprs: append(sqlDollar[2].union.exprs(), sqlDollar[4].union.expr())} } - case 828: + case 832: sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:4666 + //line sql.y:4682 { sqlVAL.union.val = &Tuple{Exprs: sqlDollar[3].union.exprs(), row: true} } - case 829: + case 833: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:4670 + //line sql.y:4686 { sqlVAL.union.val = &Tuple{Exprs: nil, row: true} } - case 830: + case 834: sqlDollar = sqlS[sqlpt-5 : sqlpt+1] - //line sql.y:4676 + //line sql.y:4692 { sqlVAL.union.val = &Tuple{Exprs: append(sqlDollar[2].union.exprs(), sqlDollar[4].union.expr())} } - case 831: + case 835: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:4682 + //line sql.y:4698 { sqlVAL.union.val = Any } - case 832: + case 836: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:4686 + //line sql.y:4702 { sqlVAL.union.val = Some } - case 833: + case 837: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:4690 + //line sql.y:4706 { sqlVAL.union.val = All } - case 834: + case 838: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:4695 + //line sql.y:4711 { sqlVAL.union.val = Plus } - case 835: + case 839: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:4696 + //line sql.y:4712 { sqlVAL.union.val = Minus } - case 836: + case 840: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:4697 + //line sql.y:4713 { sqlVAL.union.val = Mult } - case 837: + case 841: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:4698 + //line sql.y:4714 { sqlVAL.union.val = Div } - case 838: + case 842: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:4699 + //line sql.y:4715 { sqlVAL.union.val = FloorDiv } - case 839: + case 843: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:4700 + //line sql.y:4716 { sqlVAL.union.val = Mod } - case 840: + case 844: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:4701 + //line sql.y:4717 { sqlVAL.union.val = Bitand } - case 841: + case 845: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:4702 + //line sql.y:4718 { sqlVAL.union.val = Bitor } - case 842: + case 846: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:4703 + //line sql.y:4719 { sqlVAL.union.val = Pow } - case 843: + case 847: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:4704 + //line sql.y:4720 { sqlVAL.union.val = Bitxor } - case 844: + case 848: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:4705 + //line sql.y:4721 { sqlVAL.union.val = LT } - case 845: + case 849: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:4706 + //line sql.y:4722 { sqlVAL.union.val = GT } - case 846: + case 850: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:4707 + //line sql.y:4723 { sqlVAL.union.val = EQ } - case 847: + case 851: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:4708 + //line sql.y:4724 { sqlVAL.union.val = LE } - case 848: + case 852: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:4709 + //line sql.y:4725 { sqlVAL.union.val = GE } - case 849: + case 853: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:4710 + //line sql.y:4726 { sqlVAL.union.val = NE } - case 851: + case 855: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:4714 + //line sql.y:4730 { sqlVAL.union.val = Like } - case 852: + case 856: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:4715 + //line sql.y:4731 { sqlVAL.union.val = NotLike } - case 853: + case 857: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:4716 + //line sql.y:4732 { sqlVAL.union.val = ILike } - case 854: + case 858: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:4717 + //line sql.y:4733 { sqlVAL.union.val = NotILike } - case 855: + case 859: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:4728 + //line sql.y:4744 { sqlVAL.union.val = Exprs{sqlDollar[1].union.expr()} } - case 856: + case 860: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:4732 + //line sql.y:4748 { sqlVAL.union.val = append(sqlDollar[1].union.exprs(), sqlDollar[3].union.expr()) } - case 857: + case 861: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:4738 + //line sql.y:4754 { sqlVAL.union.val = []ColumnType{sqlDollar[1].union.colType()} } - case 858: + case 862: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:4742 + //line sql.y:4758 { sqlVAL.union.val = append(sqlDollar[1].union.colTypes(), sqlDollar[3].union.colType()) } - case 859: + case 863: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:4748 + //line sql.y:4764 { sqlVAL.union.val = &Array{Exprs: sqlDollar[2].union.exprs()} } - case 860: + case 864: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:4752 + //line sql.y:4768 { sqlVAL.union.val = &Array{Exprs: sqlDollar[2].union.exprs()} } - case 861: + case 865: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:4756 + //line sql.y:4772 { sqlVAL.union.val = &Array{Exprs: nil} } - case 862: + case 866: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:4762 + //line sql.y:4778 { sqlVAL.union.val = Exprs{sqlDollar[1].union.expr()} } - case 863: + case 867: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:4766 + //line sql.y:4782 { sqlVAL.union.val = append(sqlDollar[1].union.exprs(), sqlDollar[3].union.expr()) } - case 864: + case 868: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:4772 + //line sql.y:4788 { sqlVAL.union.val = Exprs{&StrVal{s: sqlDollar[1].str}, sqlDollar[3].union.expr()} } - case 865: + case 869: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:4776 + //line sql.y:4792 { sqlVAL.union.val = sqlDollar[1].union.exprs() } - case 873: + case 877: sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:4798 + //line sql.y:4814 { sqlVAL.union.val = Exprs{sqlDollar[1].union.expr(), sqlDollar[2].union.expr(), sqlDollar[3].union.expr(), sqlDollar[4].union.expr()} } - case 874: + case 878: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:4802 + //line sql.y:4818 { sqlVAL.union.val = Exprs{sqlDollar[1].union.expr(), sqlDollar[2].union.expr(), sqlDollar[3].union.expr()} } - case 875: + case 879: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:4806 + //line sql.y:4822 { sqlVAL.union.val = sqlDollar[1].union.exprs() } - case 876: + case 880: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:4812 + //line sql.y:4828 { sqlVAL.union.val = sqlDollar[2].union.expr() } - case 877: + case 881: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:4819 + //line sql.y:4835 { sqlVAL.union.val = Exprs{sqlDollar[3].union.expr(), sqlDollar[1].union.expr()} } - case 878: + case 882: sqlDollar = sqlS[sqlpt-0 : sqlpt+1] - //line sql.y:4823 + //line sql.y:4839 { sqlVAL.union.val = Exprs(nil) } - case 879: + case 883: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:4840 + //line sql.y:4856 { sqlVAL.union.val = Exprs{sqlDollar[1].union.expr(), sqlDollar[2].union.expr(), sqlDollar[3].union.expr()} } - case 880: + case 884: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:4844 + //line sql.y:4860 { sqlVAL.union.val = Exprs{sqlDollar[1].union.expr(), sqlDollar[3].union.expr(), sqlDollar[2].union.expr()} } - case 881: + case 885: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:4848 + //line sql.y:4864 { sqlVAL.union.val = Exprs{sqlDollar[1].union.expr(), sqlDollar[2].union.expr()} } - case 882: + case 886: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:4852 + //line sql.y:4868 { sqlVAL.union.val = Exprs{sqlDollar[1].union.expr(), NewDInt(1), sqlDollar[2].union.expr()} } - case 883: + case 887: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:4856 + //line sql.y:4872 { sqlVAL.union.val = sqlDollar[1].union.exprs() } - case 884: + case 888: sqlDollar = sqlS[sqlpt-0 : sqlpt+1] - //line sql.y:4860 + //line sql.y:4876 { sqlVAL.union.val = Exprs(nil) } - case 885: + case 889: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:4866 + //line sql.y:4882 { sqlVAL.union.val = sqlDollar[2].union.expr() } - case 886: + case 890: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:4872 + //line sql.y:4888 { sqlVAL.union.val = sqlDollar[2].union.expr() } - case 887: + case 891: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:4878 + //line sql.y:4894 { sqlVAL.union.val = append(sqlDollar[3].union.exprs(), sqlDollar[1].union.expr()) } - case 888: + case 892: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:4882 + //line sql.y:4898 { sqlVAL.union.val = sqlDollar[2].union.exprs() } - case 889: + case 893: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:4886 + //line sql.y:4902 { sqlVAL.union.val = sqlDollar[1].union.exprs() } - case 890: + case 894: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:4892 + //line sql.y:4908 { sqlVAL.union.val = &Subquery{Select: sqlDollar[1].union.selectStmt()} } - case 891: + case 895: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:4896 + //line sql.y:4912 { sqlVAL.union.val = &Tuple{Exprs: sqlDollar[2].union.exprs()} } - case 892: + case 896: sqlDollar = sqlS[sqlpt-5 : sqlpt+1] - //line sql.y:4907 + //line sql.y:4923 { sqlVAL.union.val = &CaseExpr{Expr: sqlDollar[2].union.expr(), Whens: sqlDollar[3].union.whens(), Else: sqlDollar[4].union.expr()} } - case 893: + case 897: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:4914 + //line sql.y:4930 { sqlVAL.union.val = []*When{sqlDollar[1].union.when()} } - case 894: + case 898: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:4918 + //line sql.y:4934 { sqlVAL.union.val = append(sqlDollar[1].union.whens(), sqlDollar[2].union.when()) } - case 895: + case 899: sqlDollar = sqlS[sqlpt-4 : sqlpt+1] - //line sql.y:4924 + //line sql.y:4940 { sqlVAL.union.val = &When{Cond: sqlDollar[2].union.expr(), Val: sqlDollar[4].union.expr()} } - case 896: + case 900: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:4930 + //line sql.y:4946 { sqlVAL.union.val = sqlDollar[2].union.expr() } - case 897: + case 901: sqlDollar = sqlS[sqlpt-0 : sqlpt+1] - //line sql.y:4934 + //line sql.y:4950 { sqlVAL.union.val = Expr(nil) } - case 899: + case 903: sqlDollar = sqlS[sqlpt-0 : sqlpt+1] - //line sql.y:4941 + //line sql.y:4957 { sqlVAL.union.val = Expr(nil) } - case 900: + case 904: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:4947 + //line sql.y:4963 { sqlVAL.union.val = &ArraySubscript{Begin: sqlDollar[2].union.expr()} } - case 901: + case 905: sqlDollar = sqlS[sqlpt-5 : sqlpt+1] - //line sql.y:4951 + //line sql.y:4967 { sqlVAL.union.val = &ArraySubscript{Begin: sqlDollar[2].union.expr(), End: sqlDollar[4].union.expr(), Slice: true} } - case 903: + case 907: sqlDollar = sqlS[sqlpt-0 : sqlpt+1] - //line sql.y:4958 + //line sql.y:4974 { sqlVAL.union.val = Expr(nil) } - case 904: + case 908: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:4964 + //line sql.y:4980 { sqlVAL.union.val = Name(sqlDollar[2].str) } - case 905: + case 909: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:4970 + //line sql.y:4986 { sqlVAL.union.val = UnqualifiedStar{} } - case 906: + case 910: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:4976 + //line sql.y:4992 { sqlVAL.union.val = sqlDollar[1].union.namePart() } - case 907: + case 911: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:4980 + //line sql.y:4996 { sqlVAL.union.val = sqlDollar[1].union.namePart() } - case 908: + case 912: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:4986 + //line sql.y:5002 { sqlVAL.union.val = UnresolvedName{sqlDollar[1].union.namePart()} } - case 909: + case 913: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:4990 + //line sql.y:5006 { sqlVAL.union.val = append(sqlDollar[1].union.unresolvedName(), sqlDollar[2].union.namePart()) } - case 910: + case 914: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:4996 + //line sql.y:5012 { sqlVAL.union.val = ArraySubscripts{sqlDollar[1].union.arraySubscript()} } - case 911: + case 915: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:5000 + //line sql.y:5016 { sqlVAL.union.val = append(sqlDollar[1].union.arraySubscripts(), sqlDollar[2].union.arraySubscript()) } - case 912: + case 916: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:5005 + //line sql.y:5021 { } - case 913: + case 917: sqlDollar = sqlS[sqlpt-0 : sqlpt+1] - //line sql.y:5006 + //line sql.y:5022 { } - case 915: + case 919: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:5015 + //line sql.y:5031 { sqlVAL.union.val = DefaultVal{} } - case 916: + case 920: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:5021 + //line sql.y:5037 { sqlVAL.union.val = Exprs{sqlDollar[1].union.expr()} } - case 917: + case 921: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:5025 + //line sql.y:5041 { sqlVAL.union.val = append(sqlDollar[1].union.exprs(), sqlDollar[3].union.expr()) } - case 918: + case 922: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:5034 + //line sql.y:5050 { sqlVAL.union.val = sqlDollar[2].union.exprs() } - case 919: + case 923: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:5040 + //line sql.y:5056 { sqlVAL.union.val = SelectExprs{sqlDollar[1].union.selExpr()} } - case 920: + case 924: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:5044 + //line sql.y:5060 { sqlVAL.union.val = append(sqlDollar[1].union.selExprs(), sqlDollar[3].union.selExpr()) } - case 921: + case 925: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:5050 + //line sql.y:5066 { sqlVAL.union.val = SelectExpr{Expr: sqlDollar[1].union.expr(), As: Name(sqlDollar[3].str)} } - case 922: + case 926: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:5059 + //line sql.y:5075 { sqlVAL.union.val = SelectExpr{Expr: sqlDollar[1].union.expr(), As: Name(sqlDollar[2].str)} } - case 923: + case 927: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:5063 + //line sql.y:5079 { sqlVAL.union.val = SelectExpr{Expr: sqlDollar[1].union.expr()} } - case 924: + case 928: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:5067 + //line sql.y:5083 { sqlVAL.union.val = starSelectExpr() } - case 925: + case 929: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:5075 + //line sql.y:5091 { sqlVAL.union.val = UnresolvedNames{sqlDollar[1].union.unresolvedName()} } - case 926: + case 930: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:5079 + //line sql.y:5095 { sqlVAL.union.val = append(sqlDollar[1].union.unresolvedNames(), sqlDollar[3].union.unresolvedName()) } - case 927: + case 931: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:5085 + //line sql.y:5101 { sqlVAL.union.val = TableNameWithIndexList{sqlDollar[1].union.tableWithIdx()} } - case 928: + case 932: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:5089 + //line sql.y:5105 { sqlVAL.union.val = append(sqlDollar[1].union.tableWithIdxList(), sqlDollar[3].union.tableWithIdx()) } - case 929: + case 933: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:5095 + //line sql.y:5111 { sqlVAL.union.val = TablePatterns{sqlDollar[1].union.unresolvedName()} } - case 930: + case 934: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:5099 + //line sql.y:5115 { sqlVAL.union.val = append(sqlDollar[1].union.tablePatterns(), sqlDollar[3].union.unresolvedName()) } - case 931: + case 935: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:5110 + //line sql.y:5126 { sqlVAL.union.val = UnresolvedName{Name(sqlDollar[1].str)} } - case 932: + case 936: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:5114 + //line sql.y:5130 { sqlVAL.union.val = append(UnresolvedName{Name(sqlDollar[1].str)}, sqlDollar[2].union.unresolvedName()...) } - case 933: + case 937: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:5120 + //line sql.y:5136 { sqlVAL.union.val = &TableNameWithIndex{Table: sqlDollar[1].union.normalizableTableName(), Index: Name(sqlDollar[3].str)} } - case 934: + case 938: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:5124 + //line sql.y:5140 { // This case allows specifying just an index name (potentially schema-qualified). // We temporarily store the index name in Table (see TableNameWithIndex). sqlVAL.union.val = &TableNameWithIndex{Table: sqlDollar[1].union.normalizableTableName(), SearchTable: true} } - case 935: + case 939: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:5137 + //line sql.y:5153 { sqlVAL.union.val = UnresolvedName{Name(sqlDollar[1].str)} } - case 936: + case 940: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:5141 + //line sql.y:5157 { sqlVAL.union.val = UnresolvedName{UnqualifiedStar{}} } - case 937: + case 941: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:5145 + //line sql.y:5161 { sqlVAL.union.val = UnresolvedName{Name(sqlDollar[1].str), sqlDollar[2].union.namePart()} } - case 938: + case 942: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:5149 + //line sql.y:5165 { sqlVAL.union.val = UnresolvedName{Name(sqlDollar[1].str), sqlDollar[2].union.namePart()} } - case 939: + case 943: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:5155 + //line sql.y:5171 { sqlVAL.union.val = NameList{Name(sqlDollar[1].str)} } - case 940: + case 944: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:5159 + //line sql.y:5175 { sqlVAL.union.val = append(sqlDollar[1].union.nameList(), Name(sqlDollar[3].str)) } - case 941: + case 945: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:5165 + //line sql.y:5181 { sqlVAL.union.val = sqlDollar[2].union.nameList() } - case 942: + case 946: sqlDollar = sqlS[sqlpt-0 : sqlpt+1] - //line sql.y:5168 + //line sql.y:5184 { } - case 943: + case 947: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:5178 + //line sql.y:5194 { sqlVAL.union.val = UnresolvedName{Name(sqlDollar[1].str)} } - case 944: + case 948: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:5182 + //line sql.y:5198 { sqlVAL.union.val = append(UnresolvedName{Name(sqlDollar[1].str)}, sqlDollar[2].union.unresolvedName()...) } - case 945: + case 949: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:5189 + //line sql.y:5205 { sqlVAL.union.val = sqlDollar[1].union.numVal() } - case 946: + case 950: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:5193 + //line sql.y:5209 { sqlVAL.union.val = sqlDollar[1].union.numVal() } - case 947: + case 951: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:5197 + //line sql.y:5213 { sqlVAL.union.val = &StrVal{s: sqlDollar[1].str} } - case 948: + case 952: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:5201 + //line sql.y:5217 { sqlVAL.union.val = &StrVal{s: sqlDollar[1].str, bytesEsc: true} } - case 949: + case 953: sqlDollar = sqlS[sqlpt-6 : sqlpt+1] - //line sql.y:5204 + //line sql.y:5220 { return unimplemented(sqllex, "func const") } - case 950: + case 954: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:5206 + //line sql.y:5222 { sqlVAL.union.val = &CastExpr{Expr: &StrVal{s: sqlDollar[2].str}, Type: sqlDollar[1].union.colType(), syntaxMode: castPrepend} } - case 951: + case 955: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:5210 + //line sql.y:5226 { sqlVAL.union.val = sqlDollar[1].union.expr() } - case 952: + case 956: sqlDollar = sqlS[sqlpt-5 : sqlpt+1] - //line sql.y:5213 + //line sql.y:5229 { return unimplemented(sqllex, "expr_const const_interval") } - case 953: + case 957: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:5215 + //line sql.y:5231 { sqlVAL.union.val = MakeDBool(true) } - case 954: + case 958: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:5219 + //line sql.y:5235 { sqlVAL.union.val = MakeDBool(false) } - case 955: + case 959: sqlDollar = sqlS[sqlpt-1 : sqlpt+1] - //line sql.y:5223 + //line sql.y:5239 { sqlVAL.union.val = DNull } - case 957: + case 961: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:5230 + //line sql.y:5246 { sqlVAL.union.val = sqlDollar[2].union.numVal() } - case 958: + case 962: sqlDollar = sqlS[sqlpt-2 : sqlpt+1] - //line sql.y:5234 + //line sql.y:5250 { sqlVAL.union.val = &NumVal{Value: constant.UnaryOp(token.SUB, sqlDollar[2].union.numVal().Value, 0)} } - case 959: + case 963: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:5240 + //line sql.y:5256 { // We don't carry opt_interval information into the column type, so we need // to parse the interval directly. @@ -11558,21 +11573,21 @@ sqldefault: } sqlVAL.union.val = d } - case 964: + case 968: sqlDollar = sqlS[sqlpt-0 : sqlpt+1] - //line sql.y:5275 + //line sql.y:5291 { sqlVAL.str = "" } - case 965: + case 969: sqlDollar = sqlS[sqlpt-3 : sqlpt+1] - //line sql.y:5281 + //line sql.y:5297 { sqlVAL.str = sqlDollar[2].str } - case 966: + case 970: sqlDollar = sqlS[sqlpt-0 : sqlpt+1] - //line sql.y:5285 + //line sql.y:5301 { sqlVAL.str = "" } diff --git a/pkg/sql/parser/sql.y b/pkg/sql/parser/sql.y index 6bbe9efded41..93ec1e1c19cb 100644 --- a/pkg/sql/parser/sql.y +++ b/pkg/sql/parser/sql.y @@ -391,7 +391,7 @@ func (u *sqlSymUnion) transactionModes() TransactionModes { %token ELSE ENCODING END ESCAPE EXCEPT %token EXISTS EXECUTE EXPERIMENTAL_FINGERPRINTS EXPLAIN EXTRACT EXTRACT_DURATION -%token FALSE FAMILY FETCH FILTER FIRST FLOAT FLOORDIV FOLLOWING FOR +%token FALSE FAMILY FETCH FILTER FIRST FLOAT FLOAT4 FLOAT8 FLOORDIV FOLLOWING FOR %token FORCE_INDEX FOREIGN FROM FULL %token GRANT GRANTS GREATEST GROUP GROUPING @@ -400,7 +400,7 @@ func (u *sqlSymUnion) transactionModes() TransactionModes { %token INCREMENTAL IF IFNULL ILIKE IN INTERLEAVE %token INDEX INDEXES INITIALLY -%token INNER INSERT INT INT2VECTOR INT8 INT64 INTEGER +%token INNER INSERT INT INT2VECTOR INT2 INT4 INT8 INT64 INTEGER %token INTERSECT INTERVAL INTO IS ISOLATION %token JOB JOBS JOIN @@ -3635,6 +3635,14 @@ numeric: { $$.val = intColTypeInt } +| INT2 + { + $$.val = intColTypeInt2 + } +| INT4 + { + $$.val = intColTypeInt4 + } | INT8 { $$.val = intColTypeInt8 @@ -3659,6 +3667,14 @@ numeric: { $$.val = floatColTypeReal } +| FLOAT4 + { + $$.val = floatColTypeFloat4 + } +| FLOAT8 + { + $$.val = floatColTypeFloat8 + } | FLOAT opt_float { nv := $2.numVal() @@ -5535,11 +5551,15 @@ col_name_keyword: | EXTRACT | EXTRACT_DURATION | FLOAT +| FLOAT4 +| FLOAT8 | GREATEST | GROUPING | IF | IFNULL | INT +| INT2 +| INT4 | INT8 | INT64 | INTEGER diff --git a/pkg/sql/sqlbase/structured.go b/pkg/sql/sqlbase/structured.go index a61db5f98c14..a635eeef2206 100644 --- a/pkg/sql/sqlbase/structured.go +++ b/pkg/sql/sqlbase/structured.go @@ -1709,7 +1709,7 @@ func ColumnsSelectors(cols []ColumnDescriptor) parser.SelectExprs { func (c *ColumnType) SQLString() string { switch c.SemanticType { case ColumnType_INT: - if c.Width > 0 { + if c.Width > 0 && c.VisibleType == ColumnType_BIT { // A non-zero width indicates a bit array. The syntax "INT(N)" // is invalid so be sure to use "BIT". return fmt.Sprintf("BIT(%d)", c.Width) @@ -1722,6 +1722,9 @@ func (c *ColumnType) SQLString() string { if c.Precision > 0 { return fmt.Sprintf("%s(%d)", c.SemanticType.String(), c.Precision) } + if c.VisibleType == ColumnType_DOUBLE_PRECISON { + return "DOUBLE PRECISION" + } case ColumnType_DECIMAL: if c.Precision > 0 { if c.Width > 0 { diff --git a/pkg/sql/sqlbase/structured.pb.go b/pkg/sql/sqlbase/structured.pb.go index d02a94f4c52b..b929af893082 100644 --- a/pkg/sql/sqlbase/structured.pb.go +++ b/pkg/sql/sqlbase/structured.pb.go @@ -148,20 +148,32 @@ func (ColumnType_SemanticType) EnumDescriptor() ([]byte, []int) { type ColumnType_VisibleType int32 const ( - ColumnType_NONE ColumnType_VisibleType = 0 - ColumnType_INT8 ColumnType_VisibleType = 1 - ColumnType_INT64 ColumnType_VisibleType = 2 + ColumnType_NONE ColumnType_VisibleType = 0 + ColumnType_INTEGER ColumnType_VisibleType = 1 + ColumnType_SMALLINT ColumnType_VisibleType = 2 + ColumnType_BIGINT ColumnType_VisibleType = 3 + ColumnType_BIT ColumnType_VisibleType = 4 + ColumnType_REAL ColumnType_VisibleType = 5 + ColumnType_DOUBLE_PRECISON ColumnType_VisibleType = 6 ) var ColumnType_VisibleType_name = map[int32]string{ 0: "NONE", - 1: "INT8", - 2: "INT64", + 1: "INTEGER", + 2: "SMALLINT", + 3: "BIGINT", + 4: "BIT", + 5: "REAL", + 6: "DOUBLE_PRECISON", } var ColumnType_VisibleType_value = map[string]int32{ - "NONE": 0, - "INT8": 1, - "INT64": 2, + "NONE": 0, + "INTEGER": 1, + "SMALLINT": 2, + "BIGINT": 3, + "BIT": 4, + "REAL": 5, + "DOUBLE_PRECISON": 6, } func (x ColumnType_VisibleType) Enum() *ColumnType_VisibleType { @@ -6009,152 +6021,154 @@ func init() { } var fileDescriptorStructured = []byte{ - // 2337 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x58, 0x5b, 0x6f, 0xdb, 0xd8, - 0xf1, 0x37, 0x75, 0xd7, 0xe8, 0x46, 0x9f, 0xdc, 0x14, 0xff, 0xf7, 0x6f, 0x2b, 0xda, 0xdd, 0xd4, - 0x49, 0xb3, 0x72, 0xd6, 0x49, 0x17, 0x41, 0x2f, 0x8b, 0xd5, 0xcd, 0x09, 0x1d, 0x59, 0x72, 0x68, - 0xd9, 0x69, 0x16, 0x6d, 0x05, 0x5a, 0x3c, 0xb6, 0x99, 0x50, 0xa4, 0x42, 0x52, 0x5e, 0xeb, 0x0b, - 0x14, 0xfb, 0x58, 0xf4, 0x03, 0x2c, 0x8a, 0x7d, 0xed, 0x6b, 0x1f, 0x8a, 0xa2, 0x1f, 0x20, 0x8f, - 0x7d, 0x2a, 0xfa, 0x64, 0xb4, 0xde, 0x0f, 0x51, 0x20, 0x4f, 0xc5, 0xb9, 0x91, 0x94, 0x65, 0x65, - 0xe5, 0xe4, 0x41, 0x80, 0x38, 0x97, 0x1f, 0x67, 0xe6, 0xcc, 0xcc, 0x99, 0x21, 0xdc, 0xed, 0xdb, - 0xfd, 0x57, 0x8e, 0xad, 0xf5, 0x8f, 0xd6, 0x86, 0xaf, 0x0e, 0xd7, 0xdc, 0xd7, 0x26, 0xf9, 0xed, - 0x6b, 0x2e, 0x5e, 0x73, 0x3d, 0x67, 0xd4, 0xf7, 0x46, 0x0e, 0xd6, 0x2b, 0x43, 0xc7, 0xf6, 0x6c, - 0x74, 0xcd, 0x97, 0xad, 0xb8, 0xaf, 0xcd, 0x0a, 0x97, 0x5b, 0x2a, 0x4d, 0x42, 0xd0, 0x7f, 0xc3, - 0xfd, 0x35, 0x5d, 0xf3, 0x34, 0xa6, 0xb8, 0x74, 0x7b, 0x52, 0x62, 0xe4, 0x19, 0xe6, 0xda, 0x91, - 0xd9, 0x5f, 0xf3, 0x8c, 0x01, 0x76, 0x3d, 0x6d, 0x30, 0xe4, 0x72, 0x77, 0x66, 0x1b, 0x33, 0x74, - 0x8c, 0x63, 0xc3, 0xc4, 0x87, 0x98, 0x8b, 0x5e, 0x3d, 0xb4, 0x0f, 0x6d, 0xfa, 0x77, 0x8d, 0xfc, - 0x63, 0xd4, 0xf2, 0x3f, 0x63, 0x00, 0x75, 0xdb, 0x1c, 0x0d, 0xac, 0xee, 0x78, 0x88, 0xd1, 0x0b, - 0xc8, 0xb9, 0x78, 0xa0, 0x59, 0x9e, 0xd1, 0xef, 0x79, 0xe3, 0x21, 0x2e, 0x4a, 0x25, 0x69, 0x35, - 0xbf, 0x5e, 0xa9, 0x5c, 0xe8, 0x48, 0x25, 0xd0, 0xac, 0xec, 0x70, 0x35, 0xf2, 0x50, 0x8b, 0xbd, - 0x39, 0x5d, 0x59, 0x50, 0xb3, 0x6e, 0x88, 0x86, 0x96, 0x20, 0xfe, 0x8d, 0xa1, 0x7b, 0x47, 0xc5, - 0x48, 0x49, 0x5a, 0x8d, 0x73, 0x11, 0x46, 0x42, 0x65, 0x48, 0x0f, 0x1d, 0xdc, 0x37, 0x5c, 0xc3, - 0xb6, 0x8a, 0xd1, 0x10, 0x3f, 0x20, 0xa3, 0x3b, 0x20, 0x6b, 0x8e, 0xa3, 0x8d, 0x7b, 0xba, 0x31, - 0xc0, 0x16, 0x21, 0xb9, 0xc5, 0x58, 0x29, 0xba, 0x1a, 0x57, 0x0b, 0x94, 0xde, 0xf0, 0xc9, 0xe8, - 0x3a, 0x24, 0x4c, 0xbb, 0xaf, 0x99, 0xb8, 0x18, 0x2f, 0x49, 0xab, 0x69, 0x95, 0x3f, 0xa1, 0x3d, - 0xc8, 0x1e, 0x1b, 0xae, 0xb1, 0x6f, 0x62, 0xe6, 0x5c, 0x82, 0x3a, 0xf7, 0xd9, 0x8f, 0x3b, 0xb7, - 0xc7, 0xb4, 0x42, 0xbe, 0x65, 0x8e, 0x03, 0x52, 0xf9, 0x07, 0x09, 0xb2, 0x61, 0xff, 0x51, 0x0a, - 0x62, 0xb5, 0x4e, 0xa7, 0x25, 0x2f, 0xa0, 0x24, 0x44, 0x95, 0x76, 0x57, 0x96, 0x50, 0x1a, 0xe2, - 0x1b, 0xad, 0x4e, 0xb5, 0x2b, 0x47, 0x50, 0x06, 0x92, 0x8d, 0x66, 0x5d, 0xd9, 0xaa, 0xb6, 0xe4, - 0x28, 0x11, 0x6d, 0x54, 0xbb, 0x4d, 0x39, 0x86, 0x72, 0x90, 0xee, 0x2a, 0x5b, 0xcd, 0x9d, 0x6e, - 0x75, 0x6b, 0x5b, 0x8e, 0xa3, 0x2c, 0xa4, 0x94, 0x76, 0xb7, 0xa9, 0xee, 0x55, 0x5b, 0x72, 0x02, - 0x01, 0x24, 0x76, 0xba, 0xaa, 0xd2, 0x7e, 0x2c, 0x27, 0x09, 0x54, 0xed, 0x45, 0xb7, 0xb9, 0x23, - 0xa7, 0x50, 0x01, 0x32, 0xbe, 0x4e, 0xf7, 0x6b, 0x39, 0x8d, 0x10, 0xe4, 0xeb, 0x9d, 0x56, 0xab, - 0xda, 0x6d, 0x36, 0xb8, 0x3c, 0x90, 0x57, 0xb4, 0xab, 0x5b, 0x4d, 0x39, 0x43, 0xac, 0xe9, 0x28, - 0x0d, 0x39, 0x4b, 0x49, 0xbb, 0xad, 0x96, 0x9c, 0x23, 0xff, 0x76, 0x77, 0x95, 0x86, 0x9c, 0x27, - 0xef, 0x57, 0xda, 0xdd, 0x5e, 0x55, 0x55, 0xab, 0x2f, 0x64, 0x1d, 0x15, 0x00, 0x94, 0x76, 0x77, - 0x7d, 0xaf, 0x59, 0xef, 0x76, 0x54, 0xf9, 0x8d, 0x54, 0xbe, 0x07, 0x99, 0x50, 0x1c, 0x28, 0x44, - 0xa7, 0xdd, 0x94, 0x17, 0xc8, 0x3f, 0xa5, 0xdd, 0x7d, 0xc4, 0x9c, 0x54, 0xda, 0xdd, 0x2f, 0x1e, - 0xca, 0x91, 0xf2, 0x7f, 0x25, 0xb8, 0xb2, 0x61, 0x3b, 0xd8, 0x38, 0xb4, 0x9e, 0xe2, 0xb1, 0x8a, - 0x0f, 0xb0, 0x83, 0xad, 0x3e, 0x46, 0x25, 0x88, 0x7b, 0xda, 0xbe, 0xc9, 0x32, 0x2b, 0x57, 0x03, - 0x12, 0xcd, 0xb7, 0xa7, 0x2b, 0x11, 0xa5, 0xa1, 0x32, 0x06, 0xfa, 0x14, 0xe2, 0x86, 0xa5, 0xe3, - 0x13, 0x9a, 0x28, 0xb9, 0x5a, 0x81, 0x4b, 0x24, 0x15, 0x42, 0x24, 0x62, 0x94, 0x8b, 0x8a, 0x10, - 0xb3, 0xb4, 0x01, 0xa6, 0xe9, 0x92, 0xe6, 0xa7, 0x42, 0x29, 0xe8, 0x29, 0xa4, 0x8e, 0x35, 0xd3, - 0xd0, 0x0d, 0x6f, 0x5c, 0x8c, 0xd1, 0x23, 0xbe, 0x33, 0xf3, 0x88, 0x2d, 0xd7, 0x73, 0x34, 0xc3, - 0xf2, 0xf6, 0xb8, 0x02, 0x07, 0xf2, 0x01, 0xd0, 0x7d, 0x58, 0x74, 0x8f, 0x34, 0x07, 0xeb, 0xbd, - 0xa1, 0x83, 0x0f, 0x8c, 0x93, 0x9e, 0x89, 0x2d, 0x9a, 0x56, 0x22, 0x45, 0x0b, 0x8c, 0xbd, 0x4d, - 0xb9, 0x2d, 0x6c, 0x95, 0x7f, 0x1f, 0x01, 0x99, 0xe5, 0x4e, 0x03, 0xbb, 0x7d, 0xc7, 0x18, 0x7a, - 0xb6, 0xe3, 0x5b, 0x2b, 0x4d, 0x59, 0x7b, 0x1b, 0x22, 0x86, 0xce, 0x7d, 0xbd, 0x4e, 0xe8, 0x67, - 0x34, 0x1a, 0x6f, 0x4f, 0x57, 0x52, 0x0c, 0x45, 0x69, 0xa8, 0x11, 0x43, 0x47, 0xbf, 0x80, 0x18, - 0x4d, 0x5a, 0xe2, 0x6f, 0x66, 0xfd, 0xd6, 0x8f, 0x26, 0xad, 0x78, 0x09, 0x51, 0x42, 0x25, 0x48, - 0x59, 0x23, 0xd3, 0xa4, 0x81, 0x27, 0x21, 0x49, 0x09, 0x3f, 0x05, 0x15, 0xdd, 0x82, 0xac, 0x8e, - 0x0f, 0xb4, 0x91, 0xe9, 0xf5, 0xf0, 0xc9, 0xd0, 0xe1, 0x95, 0x93, 0xe1, 0xb4, 0xe6, 0xc9, 0xd0, - 0x41, 0x1f, 0x41, 0xe2, 0xc8, 0xd0, 0x75, 0x6c, 0xd1, 0xc2, 0x11, 0x10, 0x9c, 0xb6, 0x19, 0x4b, - 0xa5, 0xe4, 0xf4, 0x66, 0x2c, 0x95, 0x96, 0x61, 0x33, 0x96, 0x4a, 0xca, 0xa9, 0xf2, 0xb7, 0x11, - 0xb8, 0xce, 0xec, 0xd9, 0xd0, 0x06, 0x86, 0x39, 0xfe, 0xd0, 0x70, 0x30, 0x14, 0x1e, 0x8e, 0x5b, - 0x90, 0xed, 0x53, 0xec, 0x1e, 0x51, 0x73, 0x8b, 0xd1, 0x52, 0x94, 0xd8, 0xcb, 0x68, 0x6d, 0x42, - 0x42, 0x8f, 0x00, 0xb8, 0x88, 0xa1, 0xb3, 0x5e, 0x91, 0xab, 0xdd, 0x3c, 0x3b, 0x5d, 0x49, 0x8b, - 0xb8, 0xba, 0x13, 0x41, 0x4e, 0x33, 0x61, 0x45, 0x77, 0x51, 0x07, 0x16, 0x45, 0x30, 0x7c, 0x04, - 0x1a, 0x91, 0x5c, 0xed, 0x63, 0x6e, 0x53, 0xa1, 0xc1, 0x04, 0x84, 0xfa, 0x04, 0x54, 0x41, 0x9f, - 0x60, 0xea, 0xe5, 0x3f, 0x47, 0xe0, 0xaa, 0x62, 0x79, 0xd8, 0x31, 0xb1, 0x76, 0x8c, 0x43, 0x81, - 0xf8, 0x35, 0xa4, 0x35, 0xab, 0x8f, 0x5d, 0xcf, 0x76, 0xdc, 0xa2, 0x54, 0x8a, 0xae, 0x66, 0xd6, - 0x1f, 0xce, 0x38, 0xda, 0x8b, 0xf4, 0x2b, 0x55, 0xae, 0x2c, 0xfa, 0xa5, 0x0f, 0xb6, 0xf4, 0x57, - 0x09, 0x52, 0x82, 0x8b, 0xee, 0x43, 0x8a, 0x16, 0x17, 0xf1, 0x83, 0x15, 0xde, 0x35, 0xee, 0x47, - 0xb2, 0x4b, 0xe8, 0xd4, 0x7e, 0x52, 0x83, 0x49, 0x2a, 0xa6, 0xe8, 0xe8, 0x67, 0x90, 0xa2, 0x75, - 0xd6, 0xf3, 0x4f, 0x63, 0x49, 0x68, 0xf0, 0x42, 0x0c, 0xd7, 0x64, 0x92, 0xca, 0x2a, 0x3a, 0xaa, - 0x5f, 0x54, 0x2e, 0x51, 0xaa, 0x7f, 0x43, 0x44, 0x6e, 0x67, 0xb2, 0x60, 0xa6, 0x2b, 0xe8, 0x6f, - 0x49, 0x28, 0x50, 0xe4, 0xb9, 0x32, 0xe6, 0xd3, 0x50, 0xc6, 0x5c, 0x9b, 0xc8, 0x18, 0xdf, 0x3c, - 0x92, 0x30, 0x1f, 0x41, 0x62, 0x64, 0x19, 0xaf, 0x47, 0xac, 0x82, 0xfc, 0xec, 0x65, 0xb4, 0xa9, - 0x74, 0x8a, 0x4d, 0xa7, 0xd3, 0x3d, 0x40, 0x24, 0x96, 0xb8, 0x37, 0x21, 0x18, 0xa7, 0x82, 0x32, - 0xe5, 0xd4, 0x67, 0x26, 0x5f, 0xe2, 0x12, 0xc9, 0xf7, 0x04, 0x64, 0x7c, 0xe2, 0x39, 0x5a, 0x2f, - 0xa4, 0x9f, 0xa4, 0xfa, 0xcb, 0x67, 0xa7, 0x2b, 0xf9, 0x26, 0xe1, 0x5d, 0x0c, 0x92, 0xc7, 0x21, - 0x9e, 0xee, 0xa2, 0xdf, 0xc2, 0x22, 0xc7, 0xd0, 0x0d, 0x07, 0xf7, 0x3d, 0x7a, 0x67, 0xa6, 0x4a, - 0xd1, 0xd5, 0xfc, 0xfa, 0xfd, 0x99, 0x49, 0x36, 0x11, 0xf6, 0x4a, 0x43, 0x28, 0xaa, 0x32, 0x83, - 0xf2, 0x09, 0x2e, 0x7a, 0x06, 0x99, 0x03, 0xd6, 0xe1, 0x7b, 0xaf, 0xf0, 0xb8, 0x98, 0xa6, 0x8d, - 0xe9, 0xee, 0x0c, 0xe0, 0x0b, 0xee, 0x02, 0x7e, 0x04, 0x70, 0xe0, 0xb3, 0xd0, 0x2e, 0xe4, 0x1c, - 0xc1, 0xd6, 0x7b, 0xfb, 0xe3, 0x22, 0xd0, 0x92, 0xb8, 0x3c, 0x68, 0x36, 0x80, 0xa9, 0x8d, 0xd1, - 0x33, 0x00, 0xc3, 0xaf, 0x9e, 0x62, 0x86, 0x1a, 0xfa, 0xd3, 0x4b, 0x94, 0x99, 0xb0, 0x34, 0x00, - 0x41, 0xcf, 0x21, 0x1f, 0x3c, 0x51, 0x53, 0xb3, 0xef, 0x69, 0x6a, 0x2e, 0x84, 0x53, 0x1b, 0xa3, - 0x2e, 0x5c, 0xed, 0xdb, 0x83, 0xa1, 0xed, 0x1a, 0x1e, 0x0e, 0xa7, 0x40, 0x8e, 0xa6, 0x40, 0xf9, - 0xec, 0x74, 0x05, 0xd5, 0x05, 0xff, 0xe2, 0x34, 0x40, 0xfd, 0x73, 0x7c, 0x96, 0x54, 0x13, 0xc9, - 0x4b, 0x10, 0xf3, 0x41, 0x52, 0xed, 0x04, 0xe9, 0x3b, 0x95, 0x54, 0xa1, 0xd4, 0x56, 0x74, 0xb7, - 0xbc, 0x0c, 0x69, 0x3f, 0x07, 0xc8, 0x40, 0x51, 0xdd, 0xa9, 0xb3, 0x19, 0xa0, 0xd1, 0xdc, 0xa9, - 0xcb, 0x52, 0xf9, 0xef, 0x31, 0x40, 0x41, 0xe4, 0xb6, 0x46, 0x9e, 0x46, 0x25, 0xab, 0x90, 0x60, - 0xaf, 0xa6, 0x15, 0x9c, 0x59, 0xff, 0xc9, 0x3b, 0x2f, 0xb0, 0x00, 0xe0, 0xc9, 0x82, 0xca, 0x15, - 0xd1, 0x97, 0xe1, 0xc1, 0x20, 0xb3, 0x7e, 0x7b, 0xbe, 0x14, 0x7e, 0xb2, 0x20, 0x26, 0x86, 0xa7, - 0x10, 0x77, 0x3d, 0xcd, 0x63, 0x0d, 0x20, 0xbf, 0xbe, 0x36, 0x43, 0x7f, 0xda, 0xf8, 0xca, 0x0e, - 0x51, 0x13, 0x23, 0x2b, 0xc5, 0x40, 0xcf, 0x21, 0xed, 0x17, 0x15, 0x9f, 0x32, 0x1e, 0xcc, 0x0f, - 0xe8, 0x47, 0x50, 0xf4, 0x6d, 0x1f, 0x0b, 0x55, 0x21, 0x33, 0xe0, 0x62, 0xc1, 0xad, 0x53, 0xe2, - 0x7d, 0x0d, 0x04, 0x02, 0xed, 0x6f, 0xa1, 0x27, 0x15, 0x84, 0x92, 0xa2, 0xa3, 0xaf, 0x20, 0xeb, - 0x60, 0x77, 0x34, 0xc0, 0x3d, 0x77, 0xa8, 0x59, 0xac, 0xfb, 0x64, 0xd6, 0x6f, 0x84, 0xcc, 0xe3, - 0x2b, 0x47, 0x65, 0x67, 0xa8, 0x09, 0x13, 0x32, 0x4c, 0x85, 0x50, 0xdc, 0xf2, 0x57, 0x10, 0xa7, - 0x3e, 0x93, 0x59, 0x75, 0xb7, 0xfd, 0xb4, 0xdd, 0x79, 0xde, 0x96, 0x17, 0xc8, 0xb4, 0xd9, 0x68, - 0xb6, 0x9a, 0xdd, 0x66, 0xaf, 0xd3, 0x6e, 0xbd, 0x90, 0x25, 0x74, 0x13, 0xae, 0x71, 0x42, 0xb5, - 0xdd, 0xe8, 0x3d, 0x57, 0x15, 0xc1, 0x8a, 0x94, 0x57, 0xc3, 0x69, 0x12, 0xcc, 0x8a, 0x24, 0x61, - 0x1a, 0x0d, 0x59, 0xa2, 0x09, 0xa3, 0x76, 0xb6, 0xe5, 0x48, 0x2d, 0x0b, 0xa0, 0xfb, 0x11, 0x2a, - 0xff, 0xe5, 0x0a, 0x14, 0xe8, 0x95, 0x34, 0x57, 0xef, 0x2f, 0xd1, 0xde, 0xcf, 0xee, 0x17, 0x79, - 0xa2, 0xf7, 0x47, 0x78, 0xdb, 0x7f, 0x00, 0xe9, 0xa1, 0xe6, 0x60, 0xcb, 0x23, 0xc1, 0x8c, 0x4d, - 0x8c, 0x15, 0xa9, 0x6d, 0xca, 0xf0, 0xc5, 0x53, 0x4c, 0x50, 0x21, 0x4a, 0xc9, 0x63, 0xec, 0xd0, - 0x6d, 0x84, 0xc5, 0xff, 0x26, 0x1f, 0x42, 0x17, 0x03, 0xab, 0xf6, 0x98, 0x80, 0x2a, 0x24, 0xd1, - 0xc7, 0x00, 0xa3, 0x61, 0x4f, 0xe8, 0x85, 0x47, 0xa4, 0xf4, 0x68, 0xc8, 0xa5, 0xd1, 0x36, 0x2c, - 0x0e, 0x6c, 0xdd, 0x38, 0x30, 0xfa, 0xec, 0x84, 0xc9, 0x42, 0x57, 0x4c, 0xd2, 0x7c, 0xfe, 0xff, - 0xd0, 0xf9, 0x90, 0x85, 0xaf, 0x72, 0x64, 0xf6, 0x2b, 0x5d, 0xb1, 0xf0, 0x71, 0x28, 0x39, 0xac, - 0x4d, 0x98, 0xe8, 0x31, 0x24, 0x59, 0x7d, 0xb0, 0xd6, 0x3e, 0x7f, 0x65, 0x71, 0x44, 0xa1, 0x8d, - 0x36, 0x20, 0x6f, 0xe1, 0x93, 0xf0, 0xc4, 0x93, 0x9e, 0xc8, 0xbd, 0x6c, 0x1b, 0x9f, 0x5c, 0x3c, - 0xee, 0x64, 0xad, 0x80, 0xa3, 0xa3, 0x67, 0x90, 0x1b, 0x3a, 0xc6, 0x40, 0x73, 0xc6, 0x3d, 0x56, - 0xae, 0x70, 0x99, 0x72, 0x15, 0xfd, 0x9b, 0x43, 0x50, 0x2e, 0xda, 0x00, 0x36, 0x60, 0x60, 0xb7, - 0x98, 0xa1, 0x3e, 0x5e, 0x0e, 0x4c, 0x28, 0xa3, 0x1a, 0xe4, 0xa8, 0x8b, 0xfe, 0x64, 0x93, 0xa5, - 0x1e, 0x2e, 0x73, 0x0f, 0x33, 0xc4, 0xc3, 0x0b, 0xa6, 0x9b, 0x8c, 0xe5, 0xd3, 0x75, 0xb4, 0x09, - 0xe0, 0xaf, 0xd6, 0xa4, 0x2b, 0xbf, 0xeb, 0xd2, 0xdb, 0x16, 0x82, 0x81, 0x49, 0x6a, 0x48, 0x1b, - 0x6d, 0x41, 0x5a, 0x94, 0x2d, 0x6b, 0xc7, 0x99, 0x99, 0xab, 0xca, 0x74, 0x13, 0x11, 0xc9, 0xe5, - 0x23, 0xa0, 0x36, 0xc4, 0x4d, 0xac, 0xb9, 0xb8, 0x58, 0xa0, 0x56, 0x3d, 0x9a, 0x01, 0x75, 0xae, - 0xbc, 0x2a, 0x3b, 0xfd, 0x23, 0x3c, 0xd0, 0xea, 0x47, 0x9a, 0x75, 0x88, 0x5b, 0x44, 0x5f, 0x65, - 0x30, 0xa8, 0x0d, 0x32, 0x0d, 0x57, 0xb8, 0x1f, 0xc9, 0x34, 0x62, 0x9f, 0xf0, 0x88, 0xe5, 0x49, - 0xc4, 0x66, 0xf6, 0x24, 0x9a, 0x4f, 0x5b, 0x41, 0x5f, 0xfa, 0x25, 0xe4, 0x0f, 0x6c, 0x67, 0xa0, - 0x79, 0x7e, 0x95, 0x2c, 0x06, 0x53, 0xdb, 0xdb, 0xd3, 0x95, 0xdc, 0x06, 0xe5, 0x8a, 0xca, 0xca, - 0x1d, 0x84, 0x1f, 0xd1, 0x13, 0xd1, 0xbe, 0xaf, 0xd0, 0x6e, 0x7b, 0x6f, 0x5e, 0xef, 0xa6, 0x7b, - 0x77, 0x1b, 0x12, 0xfd, 0x23, 0xdc, 0x7f, 0xe5, 0x16, 0xaf, 0xd2, 0x98, 0x7f, 0x31, 0x27, 0x54, - 0x9d, 0x28, 0x05, 0x3b, 0xa3, 0xca, 0x51, 0xd0, 0x33, 0x48, 0x3a, 0x98, 0x8d, 0x83, 0xd7, 0x28, - 0xe0, 0xe7, 0x73, 0x02, 0xaa, 0x54, 0x4b, 0xb1, 0x0e, 0x6c, 0x91, 0xa9, 0x1c, 0x07, 0x75, 0x20, - 0x75, 0x40, 0xd6, 0x1d, 0x03, 0xbb, 0xc5, 0xeb, 0x14, 0xf3, 0xdd, 0x9f, 0x29, 0xce, 0x6f, 0x58, - 0x62, 0xbf, 0x13, 0x20, 0x7e, 0x75, 0x53, 0xc2, 0x98, 0x9c, 0xe4, 0x8d, 0xe9, 0xea, 0x16, 0x1b, - 0xd6, 0xc4, 0xb6, 0x45, 0xab, 0x9b, 0x3f, 0xe9, 0xa4, 0xcb, 0x1d, 0x1b, 0xf8, 0x9b, 0xde, 0xeb, - 0x11, 0x76, 0xc6, 0xc5, 0x62, 0xa8, 0x23, 0xa7, 0x09, 0xfd, 0x19, 0x21, 0xa3, 0xcf, 0x21, 0xad, - 0xe3, 0x21, 0xb6, 0x74, 0xb7, 0x63, 0x15, 0x6f, 0xd2, 0x31, 0xe3, 0x0a, 0x99, 0x7d, 0x1b, 0x82, - 0xc8, 0x3b, 0x6e, 0x20, 0x85, 0x5e, 0x92, 0xfd, 0x93, 0x3c, 0x60, 0xbd, 0x63, 0xd5, 0xc6, 0xc5, - 0x25, 0xea, 0xf4, 0xfd, 0xb9, 0x03, 0x29, 0x66, 0xaa, 0xab, 0xc2, 0x9f, 0x46, 0x08, 0x4d, 0x9d, - 0xc0, 0x46, 0xbf, 0x81, 0xac, 0x48, 0xe9, 0x4d, 0x7b, 0xdf, 0x2d, 0xfe, 0x1f, 0x7d, 0xd7, 0xfa, - 0x9c, 0xef, 0xda, 0x0a, 0x54, 0x45, 0xb3, 0x0a, 0xa3, 0x2d, 0x7d, 0x2f, 0xc1, 0xe2, 0x54, 0x49, - 0xa1, 0xdf, 0x41, 0xd2, 0xb2, 0xf5, 0xd0, 0x02, 0xd6, 0xe4, 0x86, 0x26, 0xda, 0xb6, 0xce, 0xf6, - 0xaf, 0x07, 0x87, 0x86, 0x77, 0x34, 0xda, 0xaf, 0xf4, 0xed, 0xc1, 0x9a, 0x6f, 0x8a, 0xbe, 0xbf, - 0x76, 0xe1, 0xd7, 0xc2, 0x0a, 0x53, 0x53, 0x13, 0x04, 0x55, 0xd1, 0xd1, 0x67, 0x50, 0xc0, 0x27, - 0x43, 0xc3, 0x09, 0x5d, 0x2b, 0x64, 0x4c, 0x8a, 0x72, 0x13, 0xf3, 0x01, 0x93, 0xdc, 0x1a, 0x4b, - 0x7f, 0x94, 0xa0, 0x70, 0x2e, 0x9d, 0xc9, 0x35, 0x4b, 0x57, 0xff, 0x89, 0x6b, 0x96, 0x50, 0xfc, - 0x0b, 0x38, 0xf2, 0xce, 0x6f, 0x2d, 0xd1, 0x0f, 0xfc, 0xd6, 0xb2, 0x64, 0x02, 0x04, 0x15, 0x81, - 0x7e, 0x05, 0x39, 0xdb, 0xd4, 0x7b, 0xc1, 0xed, 0x2d, 0x05, 0x57, 0x31, 0x69, 0xd6, 0x1d, 0x53, - 0x3f, 0x77, 0x81, 0x67, 0x6c, 0x9f, 0xa4, 0xa3, 0x15, 0x48, 0x11, 0xf5, 0x29, 0xbb, 0x93, 0xb6, - 0xa9, 0x93, 0x15, 0x6d, 0xe9, 0x3b, 0x09, 0xd2, 0xe1, 0xef, 0x52, 0x11, 0xff, 0x15, 0x17, 0x4f, - 0x12, 0xef, 0xb9, 0x11, 0x4f, 0x2e, 0x82, 0xd1, 0xf9, 0x17, 0xc1, 0xa5, 0x63, 0xc8, 0x84, 0x72, - 0xed, 0xfc, 0x60, 0x28, 0xbd, 0xc7, 0x60, 0xf8, 0x09, 0x24, 0x5e, 0xda, 0xfb, 0xc2, 0x81, 0x68, - 0x2d, 0xc7, 0xb5, 0xe3, 0x9b, 0xf6, 0xbe, 0xd2, 0x50, 0xe3, 0x2f, 0xed, 0x7d, 0x45, 0x2f, 0xdf, - 0x16, 0xc3, 0x1f, 0x40, 0x62, 0x7b, 0xb7, 0xd6, 0x52, 0xea, 0x17, 0x0e, 0x6e, 0x3f, 0x8f, 0x7d, - 0xfb, 0xa7, 0x15, 0x69, 0x33, 0x96, 0x42, 0xf2, 0x95, 0xf2, 0xf7, 0x12, 0xa0, 0x86, 0xe6, 0x69, - 0xe4, 0xa8, 0x2f, 0x31, 0xb9, 0x45, 0xde, 0x11, 0xef, 0xc9, 0x8b, 0x36, 0xfa, 0x21, 0x17, 0x2d, - 0x33, 0xb5, 0xfc, 0x9d, 0x04, 0x10, 0x32, 0xee, 0xcb, 0xf0, 0xa7, 0xc8, 0xd9, 0x33, 0xc5, 0xb9, - 0xfa, 0x27, 0xfb, 0x04, 0xfb, 0x50, 0xf9, 0x18, 0x52, 0x3a, 0x77, 0x99, 0xaf, 0x24, 0x33, 0x2f, - 0xef, 0xa9, 0xc8, 0x3c, 0x59, 0x50, 0x7d, 0xe5, 0x5a, 0x12, 0xe2, 0x23, 0xcb, 0xb0, 0xad, 0xbb, - 0x0f, 0x01, 0x4d, 0x97, 0x09, 0xca, 0x41, 0x9a, 0xfe, 0xd7, 0x3c, 0xac, 0xb3, 0x29, 0x7c, 0xd7, - 0x3a, 0xf6, 0x09, 0x52, 0xed, 0xd6, 0x9b, 0xff, 0x2c, 0x2f, 0xbc, 0x39, 0x5b, 0x96, 0xfe, 0x71, - 0xb6, 0x2c, 0xfd, 0xeb, 0x6c, 0x59, 0xfa, 0xf7, 0xd9, 0xb2, 0xf4, 0x87, 0x1f, 0x96, 0x17, 0xbe, - 0x4e, 0x72, 0x03, 0xfe, 0x17, 0x00, 0x00, 0xff, 0xff, 0x19, 0x0e, 0xa5, 0x2b, 0xb5, 0x18, 0x00, - 0x00, + // 2379 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x58, 0x5b, 0x73, 0xdb, 0xd6, + 0x11, 0x16, 0x78, 0xc7, 0xf2, 0x06, 0x1d, 0xd9, 0x0e, 0xac, 0xa6, 0x12, 0xcd, 0x24, 0xae, 0x92, + 0x26, 0x94, 0x23, 0xa7, 0x9d, 0x4c, 0x2f, 0x99, 0xf0, 0x26, 0x1b, 0x32, 0x45, 0xca, 0x20, 0x25, + 0xd7, 0x99, 0xb6, 0x1c, 0x88, 0x38, 0x92, 0x60, 0x83, 0x00, 0x0d, 0x80, 0x8a, 0xf8, 0x07, 0x3a, + 0x79, 0xcc, 0xf4, 0x07, 0x64, 0x3a, 0x79, 0xed, 0x6b, 0x1f, 0x3a, 0x9d, 0xfe, 0x00, 0x3f, 0xf6, + 0xb1, 0x4f, 0x9a, 0x56, 0xf9, 0x11, 0x9d, 0xf1, 0x53, 0xe7, 0x1c, 0x9c, 0x03, 0x80, 0xa2, 0xe8, + 0x50, 0xf6, 0x03, 0x67, 0x88, 0xbd, 0x7c, 0xd8, 0xdd, 0xb3, 0xbb, 0x67, 0x17, 0xf0, 0xd1, 0xc0, + 0x1e, 0x3c, 0x77, 0x6c, 0x6d, 0x70, 0xb2, 0x39, 0x7a, 0x7e, 0xbc, 0xe9, 0xbe, 0x30, 0xc9, 0xef, + 0x50, 0x73, 0xf1, 0xa6, 0xeb, 0x39, 0xe3, 0x81, 0x37, 0x76, 0xb0, 0x5e, 0x19, 0x39, 0xb6, 0x67, + 0xa3, 0x9b, 0x81, 0x6c, 0xc5, 0x7d, 0x61, 0x56, 0x98, 0xdc, 0x6a, 0x69, 0x1a, 0x82, 0xfe, 0x1b, + 0x1d, 0x6e, 0xea, 0x9a, 0xa7, 0xf9, 0x8a, 0xab, 0x77, 0xa7, 0x25, 0xc6, 0x9e, 0x61, 0x6e, 0x9e, + 0x98, 0x83, 0x4d, 0xcf, 0x18, 0x62, 0xd7, 0xd3, 0x86, 0x23, 0x26, 0xf7, 0xe1, 0x7c, 0x63, 0x46, + 0x8e, 0x71, 0x6a, 0x98, 0xf8, 0x18, 0x33, 0xd1, 0x1b, 0xc7, 0xf6, 0xb1, 0x4d, 0xff, 0x6e, 0x92, + 0x7f, 0x3e, 0xb5, 0xfc, 0x6d, 0x12, 0xa0, 0x6e, 0x9b, 0xe3, 0xa1, 0xd5, 0x9b, 0x8c, 0x30, 0x7a, + 0x0a, 0x79, 0x17, 0x0f, 0x35, 0xcb, 0x33, 0x06, 0x7d, 0x6f, 0x32, 0xc2, 0xb2, 0x50, 0x12, 0x36, + 0x0a, 0x5b, 0x95, 0xca, 0x95, 0x8e, 0x54, 0x42, 0xcd, 0x4a, 0x97, 0xa9, 0x91, 0x87, 0x5a, 0xe2, + 0xe5, 0xf9, 0xfa, 0x92, 0x9a, 0x73, 0x23, 0x34, 0xb4, 0x0a, 0xc9, 0xaf, 0x0d, 0xdd, 0x3b, 0x91, + 0x63, 0x25, 0x61, 0x23, 0xc9, 0x44, 0x7c, 0x12, 0x2a, 0x83, 0x38, 0x72, 0xf0, 0xc0, 0x70, 0x0d, + 0xdb, 0x92, 0xe3, 0x11, 0x7e, 0x48, 0x46, 0x1f, 0x82, 0xa4, 0x39, 0x8e, 0x36, 0xe9, 0xeb, 0xc6, + 0x10, 0x5b, 0x84, 0xe4, 0xca, 0x89, 0x52, 0x7c, 0x23, 0xa9, 0x16, 0x29, 0xbd, 0x11, 0x90, 0xd1, + 0x2d, 0x48, 0x99, 0xf6, 0x40, 0x33, 0xb1, 0x9c, 0x2c, 0x09, 0x1b, 0xa2, 0xca, 0x9e, 0xd0, 0x01, + 0xe4, 0x4e, 0x0d, 0xd7, 0x38, 0x34, 0xb1, 0xef, 0x5c, 0x8a, 0x3a, 0xf7, 0xc9, 0x8f, 0x3b, 0x77, + 0xe0, 0x6b, 0x45, 0x7c, 0xcb, 0x9e, 0x86, 0xa4, 0xf2, 0x0f, 0x02, 0xe4, 0xa2, 0xfe, 0xa3, 0x0c, + 0x24, 0x6a, 0x9d, 0x4e, 0x4b, 0x5a, 0x42, 0x69, 0x88, 0x2b, 0xed, 0x9e, 0x24, 0x20, 0x11, 0x92, + 0xdb, 0xad, 0x4e, 0xb5, 0x27, 0xc5, 0x50, 0x16, 0xd2, 0x8d, 0x66, 0x5d, 0xd9, 0xad, 0xb6, 0xa4, + 0x38, 0x11, 0x6d, 0x54, 0x7b, 0x4d, 0x29, 0x81, 0xf2, 0x20, 0xf6, 0x94, 0xdd, 0x66, 0xb7, 0x57, + 0xdd, 0xdd, 0x93, 0x92, 0x28, 0x07, 0x19, 0xa5, 0xdd, 0x6b, 0xaa, 0x07, 0xd5, 0x96, 0x94, 0x42, + 0x00, 0xa9, 0x6e, 0x4f, 0x55, 0xda, 0x0f, 0xa4, 0x34, 0x81, 0xaa, 0x3d, 0xed, 0x35, 0xbb, 0x52, + 0x06, 0x15, 0x21, 0x1b, 0xe8, 0xf4, 0xbe, 0x92, 0x44, 0x84, 0xa0, 0x50, 0xef, 0xb4, 0x5a, 0xd5, + 0x5e, 0xb3, 0xc1, 0xe4, 0x81, 0xbc, 0xa2, 0x5d, 0xdd, 0x6d, 0x4a, 0x59, 0x62, 0x4d, 0x47, 0x69, + 0x48, 0x39, 0x4a, 0xda, 0x6f, 0xb5, 0xa4, 0x3c, 0xf9, 0xb7, 0xbf, 0xaf, 0x34, 0xa4, 0x02, 0x79, + 0xbf, 0xd2, 0xee, 0xf5, 0xab, 0xaa, 0x5a, 0x7d, 0x2a, 0xe9, 0xa8, 0x08, 0xa0, 0xb4, 0x7b, 0x5b, + 0x07, 0xcd, 0x7a, 0xaf, 0xa3, 0x4a, 0x2f, 0x85, 0xf2, 0x11, 0x64, 0x23, 0x71, 0xa0, 0x10, 0x9d, + 0x76, 0x53, 0x5a, 0x22, 0xfe, 0x10, 0x4b, 0x1f, 0x34, 0x55, 0x49, 0x20, 0x66, 0x77, 0x77, 0xab, + 0xad, 0x16, 0xf1, 0x3a, 0x46, 0xcc, 0xae, 0x29, 0x0f, 0xc8, 0xff, 0x38, 0x79, 0x79, 0x4d, 0xe9, + 0x49, 0x09, 0xa2, 0xa9, 0x36, 0xab, 0x2d, 0x29, 0x89, 0x56, 0xa0, 0xd8, 0xe8, 0xec, 0xd7, 0x5a, + 0xcd, 0xfe, 0x9e, 0xda, 0xac, 0x2b, 0xdd, 0x4e, 0x5b, 0x4a, 0x95, 0xff, 0x27, 0xc0, 0xca, 0xb6, + 0xed, 0x60, 0xe3, 0xd8, 0x7a, 0x84, 0x27, 0x2a, 0x3e, 0xc2, 0x0e, 0xb6, 0x06, 0x18, 0x95, 0x20, + 0xe9, 0x69, 0x87, 0xa6, 0x9f, 0x93, 0xf9, 0x1a, 0x90, 0x73, 0x78, 0x75, 0xbe, 0x1e, 0x53, 0x1a, + 0xaa, 0xcf, 0x40, 0x1f, 0x40, 0xd2, 0xb0, 0x74, 0x7c, 0x46, 0x53, 0x2c, 0x5f, 0x2b, 0x32, 0x89, + 0xb4, 0x42, 0x88, 0x44, 0x8c, 0x72, 0x91, 0x0c, 0x09, 0x4b, 0x1b, 0x62, 0x9a, 0x68, 0x22, 0x3b, + 0x4f, 0x4a, 0x41, 0x8f, 0x20, 0x73, 0xaa, 0x99, 0x86, 0x6e, 0x78, 0x13, 0x39, 0x41, 0x93, 0xe3, + 0xc3, 0xb9, 0xc9, 0x61, 0xb9, 0x9e, 0xa3, 0x19, 0x96, 0x77, 0xc0, 0x14, 0x18, 0x50, 0x00, 0x80, + 0xee, 0xc1, 0xb2, 0x7b, 0xa2, 0x39, 0x58, 0xef, 0x8f, 0x1c, 0x7c, 0x64, 0x9c, 0xf5, 0x4d, 0x6c, + 0xd1, 0x84, 0xe4, 0xc9, 0x5d, 0xf4, 0xd9, 0x7b, 0x94, 0xdb, 0xc2, 0x56, 0xf9, 0x4f, 0x31, 0x90, + 0xfc, 0xac, 0x6b, 0x60, 0x77, 0xe0, 0x18, 0x23, 0xcf, 0x76, 0x02, 0x6b, 0x85, 0x19, 0x6b, 0xef, + 0x42, 0xcc, 0xd0, 0x99, 0xaf, 0xb7, 0x08, 0xfd, 0x82, 0x46, 0xe3, 0xd5, 0xf9, 0x7a, 0xc6, 0x47, + 0x51, 0x1a, 0x6a, 0xcc, 0xd0, 0xd1, 0xaf, 0x21, 0x41, 0xd3, 0x9d, 0xf8, 0x9b, 0xdd, 0xba, 0xf3, + 0xa3, 0xe9, 0xce, 0x5f, 0x42, 0x94, 0x50, 0x09, 0x32, 0xd6, 0xd8, 0x34, 0x69, 0xe0, 0x49, 0x48, + 0x32, 0xdc, 0x4f, 0x4e, 0x45, 0x77, 0x20, 0xa7, 0xe3, 0x23, 0x6d, 0x6c, 0x7a, 0x7d, 0x7c, 0x36, + 0x72, 0x58, 0xcd, 0x65, 0x19, 0xad, 0x79, 0x36, 0x72, 0xd0, 0xbb, 0x90, 0x3a, 0x31, 0x74, 0x1d, + 0x5b, 0xb4, 0xe4, 0x38, 0x04, 0xa3, 0xed, 0x24, 0x32, 0x19, 0x49, 0xdc, 0x49, 0x64, 0x44, 0x09, + 0x76, 0x12, 0x99, 0xb4, 0x94, 0x29, 0x7f, 0x13, 0x83, 0x5b, 0xbe, 0x3d, 0xdb, 0xda, 0xd0, 0x30, + 0x27, 0x6f, 0x1b, 0x0e, 0x1f, 0x85, 0x85, 0xe3, 0x0e, 0xe4, 0x06, 0x14, 0xbb, 0x4f, 0xd4, 0x5c, + 0x39, 0x5e, 0x8a, 0x13, 0x7b, 0x7d, 0x5a, 0x9b, 0x90, 0xd0, 0xe7, 0x00, 0x4c, 0xc4, 0xd0, 0xfd, + 0x2e, 0x93, 0xaf, 0xdd, 0xbe, 0x38, 0x5f, 0x17, 0x79, 0x5c, 0xdd, 0xa9, 0x20, 0x8b, 0xbe, 0xb0, + 0xa2, 0xbb, 0xa8, 0x03, 0xcb, 0x3c, 0x18, 0x01, 0x02, 0x8d, 0x48, 0xbe, 0xf6, 0x1e, 0xb3, 0xa9, + 0xd8, 0xf0, 0x05, 0xb8, 0xfa, 0x14, 0x54, 0x51, 0x9f, 0x62, 0xea, 0xe5, 0xbf, 0xc6, 0xe0, 0x86, + 0x62, 0x79, 0xd8, 0x31, 0xb1, 0x76, 0x8a, 0x23, 0x81, 0xf8, 0x1d, 0x88, 0x9a, 0x35, 0xc0, 0xae, + 0x67, 0x3b, 0xae, 0x2c, 0x94, 0xe2, 0x1b, 0xd9, 0xad, 0xcf, 0xe6, 0x1c, 0xed, 0x55, 0xfa, 0x95, + 0x2a, 0x53, 0xe6, 0x9d, 0x36, 0x00, 0x5b, 0xfd, 0xbb, 0x00, 0x19, 0xce, 0x45, 0xf7, 0x20, 0x43, + 0x8b, 0x8b, 0xf8, 0xe1, 0x17, 0xde, 0x4d, 0xe6, 0x47, 0xba, 0x47, 0xe8, 0xd4, 0x7e, 0x52, 0x83, + 0x69, 0x2a, 0xa6, 0xe8, 0xe8, 0x17, 0x90, 0xa1, 0x75, 0xd6, 0x0f, 0x4e, 0x63, 0x95, 0x6b, 0xb0, + 0x42, 0x8c, 0xd6, 0x64, 0x9a, 0xca, 0x2a, 0x3a, 0xaa, 0x5f, 0x55, 0x2e, 0x71, 0xaa, 0xff, 0x0e, + 0x8f, 0x5c, 0x77, 0xba, 0x60, 0x66, 0x2b, 0xe8, 0x1f, 0x69, 0x28, 0x52, 0xe4, 0x85, 0x32, 0xe6, + 0x83, 0x48, 0xc6, 0xdc, 0x9c, 0xca, 0x98, 0xc0, 0x3c, 0x92, 0x30, 0xef, 0x42, 0x6a, 0x6c, 0x19, + 0x2f, 0xc6, 0x7e, 0x05, 0x05, 0xd9, 0xeb, 0xd3, 0x66, 0xd2, 0x29, 0x31, 0x9b, 0x4e, 0x1f, 0x03, + 0x22, 0xb1, 0xc4, 0xfd, 0x29, 0xc1, 0x24, 0x15, 0x94, 0x28, 0xa7, 0x3e, 0x37, 0xf9, 0x52, 0xd7, + 0x48, 0xbe, 0x87, 0x20, 0xe1, 0x33, 0xcf, 0xd1, 0xfa, 0x11, 0xfd, 0x34, 0xd5, 0x5f, 0xbb, 0x38, + 0x5f, 0x2f, 0x34, 0x09, 0xef, 0x6a, 0x90, 0x02, 0x8e, 0xf0, 0x74, 0x17, 0xfd, 0x01, 0x96, 0x19, + 0x86, 0x6e, 0x38, 0x78, 0xe0, 0xd1, 0xdb, 0x36, 0x53, 0x8a, 0x6f, 0x14, 0xb6, 0xee, 0xcd, 0x4d, + 0xb2, 0xa9, 0xb0, 0x57, 0x1a, 0x5c, 0x51, 0x95, 0x7c, 0xa8, 0x80, 0xe0, 0xa2, 0xc7, 0x90, 0x3d, + 0xf2, 0x3b, 0x7c, 0xff, 0x39, 0x9e, 0xc8, 0x22, 0x6d, 0x4c, 0x1f, 0xcd, 0x01, 0xbe, 0xe2, 0x2e, + 0x60, 0x47, 0x00, 0x47, 0x01, 0x0b, 0xed, 0x43, 0xde, 0xe1, 0x6c, 0xbd, 0x7f, 0x38, 0x91, 0x81, + 0x96, 0xc4, 0xf5, 0x41, 0x73, 0x21, 0x4c, 0x6d, 0x82, 0x1e, 0x03, 0x18, 0x41, 0xf5, 0xc8, 0x59, + 0x6a, 0xe8, 0xcf, 0xaf, 0x51, 0x66, 0xdc, 0xd2, 0x10, 0x04, 0x3d, 0x81, 0x42, 0xf8, 0x44, 0x4d, + 0xcd, 0xbd, 0xa1, 0xa9, 0xf9, 0x08, 0x4e, 0x6d, 0x82, 0x7a, 0x70, 0x63, 0x60, 0x0f, 0x47, 0xb6, + 0x6b, 0x78, 0x38, 0x9a, 0x02, 0x79, 0x9a, 0x02, 0xe5, 0x8b, 0xf3, 0x75, 0x54, 0xe7, 0xfc, 0xab, + 0xd3, 0x00, 0x0d, 0x2e, 0xf1, 0xfd, 0xa4, 0x9a, 0x4a, 0x5e, 0x82, 0x58, 0x08, 0x93, 0xaa, 0x1b, + 0xa6, 0xef, 0x4c, 0x52, 0x45, 0x52, 0x5b, 0xd1, 0xdd, 0xf2, 0x1a, 0x88, 0x41, 0x0e, 0x90, 0x69, + 0xa0, 0xda, 0xad, 0x4b, 0x4b, 0x74, 0x00, 0x6a, 0x76, 0xeb, 0x92, 0x50, 0xfe, 0x67, 0x02, 0x50, + 0x18, 0xb9, 0xdd, 0xb1, 0xa7, 0x51, 0xc9, 0x2a, 0xa4, 0xfc, 0x57, 0xd3, 0x0a, 0xce, 0x6e, 0xfd, + 0xec, 0xb5, 0x17, 0x58, 0x08, 0xf0, 0x70, 0x49, 0x65, 0x8a, 0xe8, 0x8b, 0xe8, 0x60, 0x90, 0xdd, + 0xba, 0xbb, 0x58, 0x0a, 0x3f, 0x5c, 0xe2, 0x13, 0xc3, 0x23, 0x48, 0xba, 0x9e, 0xe6, 0xf9, 0x0d, + 0xa0, 0xb0, 0xb5, 0x39, 0x47, 0x7f, 0xd6, 0xf8, 0x4a, 0x97, 0xa8, 0xf1, 0x61, 0x97, 0x62, 0xa0, + 0x27, 0x20, 0x06, 0x45, 0xc5, 0xa6, 0x8c, 0xfb, 0x8b, 0x03, 0x06, 0x11, 0xe4, 0x7d, 0x3b, 0xc0, + 0x42, 0x55, 0xc8, 0x0e, 0x99, 0x58, 0x78, 0xeb, 0x94, 0x58, 0x5f, 0x03, 0x8e, 0x40, 0xfb, 0x5b, + 0xe4, 0x49, 0x05, 0xae, 0xa4, 0xe8, 0xe8, 0x4b, 0xc8, 0x39, 0xd8, 0x1d, 0x0f, 0x71, 0xdf, 0x1d, + 0x69, 0x96, 0xdf, 0x7d, 0xb2, 0x5b, 0xef, 0x44, 0xcc, 0x63, 0xcb, 0x4a, 0xa5, 0x3b, 0xd2, 0xb8, + 0x09, 0x59, 0x5f, 0x85, 0x50, 0xdc, 0xf2, 0x97, 0x90, 0xa4, 0x3e, 0x93, 0xa9, 0x70, 0xbf, 0xfd, + 0xa8, 0xdd, 0x79, 0xd2, 0x96, 0x96, 0xc8, 0x9c, 0xda, 0x68, 0xb6, 0x9a, 0xbd, 0x66, 0xbf, 0xd3, + 0x6e, 0x3d, 0x95, 0x04, 0x74, 0x1b, 0x6e, 0x32, 0x42, 0xb5, 0xdd, 0xe8, 0x3f, 0x51, 0x15, 0xce, + 0x8a, 0x95, 0x37, 0xa2, 0x69, 0x12, 0x4e, 0x99, 0x24, 0x61, 0x1a, 0x0d, 0x49, 0xa0, 0x09, 0xa3, + 0x76, 0xf6, 0xa4, 0x58, 0x2d, 0x07, 0xa0, 0x07, 0x11, 0x2a, 0xff, 0x6d, 0x05, 0x8a, 0xf4, 0x4a, + 0x5a, 0xa8, 0xf7, 0x97, 0x68, 0xef, 0xf7, 0xef, 0x17, 0x69, 0xaa, 0xf7, 0xc7, 0x58, 0xdb, 0xbf, + 0x0f, 0xe2, 0x48, 0x73, 0xb0, 0xe5, 0x91, 0x60, 0x26, 0xa6, 0xc6, 0x8a, 0xcc, 0x1e, 0x65, 0x04, + 0xe2, 0x19, 0x5f, 0x50, 0x21, 0x4a, 0xe9, 0x53, 0xec, 0xd0, 0x3d, 0xc6, 0x8f, 0xff, 0x6d, 0x36, + 0x84, 0x2e, 0x87, 0x56, 0x1d, 0xf8, 0x02, 0x2a, 0x97, 0x44, 0xef, 0x01, 0x8c, 0x47, 0x7d, 0xae, + 0x17, 0x1d, 0x91, 0xc4, 0xf1, 0x88, 0x49, 0xa3, 0x3d, 0x58, 0x1e, 0xda, 0xba, 0x71, 0x64, 0x0c, + 0xfc, 0x13, 0x26, 0xab, 0xa0, 0x9c, 0xa6, 0xf9, 0xfc, 0xd3, 0xc8, 0xf9, 0x90, 0x55, 0xb1, 0x72, + 0x62, 0x0e, 0x2a, 0x3d, 0xbe, 0x2a, 0x32, 0x28, 0x29, 0xaa, 0x4d, 0x98, 0xe8, 0x01, 0xa4, 0xfd, + 0xfa, 0xf0, 0x5b, 0xfb, 0xe2, 0x95, 0xc5, 0x10, 0xb9, 0x36, 0xda, 0x86, 0x82, 0x85, 0xcf, 0xa2, + 0x13, 0x8f, 0x38, 0x95, 0x7b, 0xb9, 0x36, 0x3e, 0xbb, 0x7a, 0xdc, 0xc9, 0x59, 0x21, 0x47, 0x47, + 0x8f, 0x21, 0x3f, 0x72, 0x8c, 0xa1, 0xe6, 0x4c, 0xfa, 0x7e, 0xb9, 0xc2, 0x75, 0xca, 0x95, 0xf7, + 0x6f, 0x06, 0x41, 0xb9, 0x68, 0x1b, 0xfc, 0x01, 0x03, 0xbb, 0x72, 0x96, 0xfa, 0x78, 0x3d, 0x30, + 0xae, 0x8c, 0x6a, 0x90, 0xa7, 0x2e, 0x06, 0x93, 0x4d, 0x8e, 0x7a, 0xb8, 0xc6, 0x3c, 0xcc, 0x12, + 0x0f, 0xaf, 0x98, 0x6e, 0xb2, 0x56, 0x40, 0xd7, 0xd1, 0x0e, 0x40, 0xb0, 0x94, 0x93, 0xae, 0xfc, + 0xba, 0x4b, 0x6f, 0x8f, 0x0b, 0x86, 0x26, 0xa9, 0x11, 0x6d, 0xb4, 0x0b, 0x22, 0x2f, 0x5b, 0xbf, + 0x1d, 0x67, 0xe7, 0xae, 0x2a, 0xb3, 0x4d, 0x84, 0x27, 0x57, 0x80, 0x80, 0xda, 0x90, 0x34, 0xb1, + 0xe6, 0x62, 0xb9, 0x48, 0xad, 0xfa, 0x7c, 0x0e, 0xd4, 0xa5, 0xf2, 0xaa, 0x74, 0x07, 0x27, 0x78, + 0xa8, 0xd5, 0x4f, 0x34, 0xeb, 0x18, 0xb7, 0x88, 0xbe, 0xea, 0xc3, 0xa0, 0x36, 0x48, 0x34, 0x5c, + 0xd1, 0x7e, 0x24, 0xd1, 0x88, 0xbd, 0xcf, 0x22, 0x56, 0x20, 0x11, 0x9b, 0xdb, 0x93, 0x68, 0x3e, + 0xed, 0x86, 0x7d, 0xe9, 0x37, 0x50, 0x38, 0xb2, 0x9d, 0xa1, 0xe6, 0x05, 0x55, 0xb2, 0x1c, 0x4e, + 0x6d, 0xaf, 0xce, 0xd7, 0xf3, 0xdb, 0x94, 0xcb, 0x2b, 0x2b, 0x7f, 0x14, 0x7d, 0x44, 0x0f, 0x79, + 0xfb, 0x5e, 0xa1, 0xdd, 0xf6, 0xe3, 0x45, 0xbd, 0x9b, 0xed, 0xdd, 0x6d, 0x48, 0x0d, 0x4e, 0xf0, + 0xe0, 0xb9, 0x2b, 0xdf, 0xa0, 0x31, 0xff, 0xe5, 0x82, 0x50, 0x75, 0xa2, 0x14, 0xee, 0x8c, 0x2a, + 0x43, 0x41, 0x8f, 0x21, 0xed, 0x60, 0x7f, 0x1c, 0xbc, 0x49, 0x01, 0x3f, 0x5d, 0x10, 0x50, 0xa5, + 0x5a, 0x8a, 0x75, 0x64, 0xf3, 0x4c, 0x65, 0x38, 0xa8, 0x03, 0x99, 0x23, 0xb2, 0xee, 0x18, 0xd8, + 0x95, 0x6f, 0x51, 0xcc, 0xd7, 0x7f, 0xe0, 0xb8, 0xbc, 0x61, 0xf1, 0xfd, 0x8e, 0x83, 0x04, 0xd5, + 0x4d, 0x09, 0x13, 0x72, 0x92, 0xef, 0xcc, 0x56, 0x37, 0xdf, 0xb0, 0xa6, 0xb6, 0x2d, 0x5a, 0xdd, + 0xec, 0x49, 0x27, 0x5d, 0xee, 0xd4, 0xc0, 0x5f, 0xf7, 0x5f, 0x8c, 0xb1, 0x33, 0x91, 0xe5, 0x48, + 0x47, 0x16, 0x09, 0xfd, 0x31, 0x21, 0xa3, 0x4f, 0x41, 0xd4, 0xf1, 0x08, 0x5b, 0xba, 0xdb, 0xb1, + 0xe4, 0xdb, 0x74, 0xcc, 0x58, 0x21, 0xb3, 0x6f, 0x83, 0x13, 0x59, 0xc7, 0x0d, 0xa5, 0xd0, 0x33, + 0xb2, 0x7f, 0x92, 0x07, 0xac, 0x77, 0xac, 0xda, 0x44, 0x5e, 0xa5, 0x4e, 0xdf, 0x5b, 0x38, 0x90, + 0x7c, 0xa6, 0xba, 0xc1, 0xfd, 0x69, 0x44, 0xd0, 0xd4, 0x29, 0x6c, 0xf4, 0x7b, 0xc8, 0xf1, 0x94, + 0xde, 0xb1, 0x0f, 0x5d, 0xf9, 0x27, 0xf4, 0x5d, 0x5b, 0x0b, 0xbe, 0x6b, 0x37, 0x54, 0xe5, 0xcd, + 0x2a, 0x8a, 0xb6, 0xfa, 0xbd, 0x00, 0xcb, 0x33, 0x25, 0x85, 0xfe, 0x08, 0x69, 0xcb, 0xd6, 0x23, + 0x0b, 0x58, 0x93, 0x19, 0x9a, 0x6a, 0xdb, 0xba, 0xbf, 0x7f, 0xdd, 0x3f, 0x36, 0xbc, 0x93, 0xf1, + 0x61, 0x65, 0x60, 0x0f, 0x37, 0x03, 0x53, 0xf4, 0xc3, 0xcd, 0x2b, 0xbf, 0x33, 0x56, 0x7c, 0x35, + 0x35, 0x45, 0x50, 0x15, 0x1d, 0x7d, 0x02, 0x45, 0x7c, 0x36, 0x32, 0x9c, 0xc8, 0xb5, 0x42, 0xc6, + 0xa4, 0x38, 0x33, 0xb1, 0x10, 0x32, 0xc9, 0xad, 0xb1, 0xfa, 0x67, 0x01, 0x8a, 0x97, 0xd2, 0x99, + 0x5c, 0xb3, 0x74, 0xf5, 0x9f, 0xba, 0x66, 0x09, 0x25, 0xb8, 0x80, 0x63, 0xaf, 0xfd, 0xd6, 0x12, + 0x7f, 0xcb, 0x6f, 0x2d, 0xab, 0x26, 0x40, 0x58, 0x11, 0xe8, 0xb7, 0x90, 0xb7, 0x4d, 0xbd, 0x1f, + 0xde, 0xde, 0x42, 0x78, 0x15, 0x93, 0x66, 0xdd, 0x31, 0xf5, 0x4b, 0x17, 0x78, 0xd6, 0x0e, 0x48, + 0x3a, 0x5a, 0x87, 0x0c, 0x51, 0x9f, 0xb1, 0x3b, 0x6d, 0x9b, 0x3a, 0x59, 0xd1, 0x56, 0xbf, 0x13, + 0x40, 0x8c, 0x7e, 0x97, 0x8a, 0x05, 0xaf, 0xb8, 0x7a, 0x92, 0x78, 0xc3, 0x8d, 0x78, 0x7a, 0x11, + 0x8c, 0x2f, 0xbe, 0x08, 0xae, 0x9e, 0x42, 0x36, 0x92, 0x6b, 0x97, 0x07, 0x43, 0xe1, 0x0d, 0x06, + 0xc3, 0xf7, 0x21, 0xf5, 0xcc, 0x3e, 0xe4, 0x0e, 0xc4, 0x6b, 0x79, 0xa6, 0x9d, 0xdc, 0xb1, 0x0f, + 0x95, 0x86, 0x9a, 0x7c, 0x66, 0x1f, 0x2a, 0x7a, 0xf9, 0x2e, 0x1f, 0xfe, 0x00, 0x52, 0x7b, 0xfb, + 0xb5, 0x96, 0x52, 0xbf, 0x72, 0x70, 0xfb, 0x55, 0xe2, 0x9b, 0xbf, 0xac, 0x0b, 0x3b, 0x89, 0x0c, + 0x92, 0x56, 0xca, 0xdf, 0x0b, 0x80, 0x1a, 0x9a, 0xa7, 0x91, 0xa3, 0xbe, 0xc6, 0xe4, 0x16, 0x7b, + 0x4d, 0xbc, 0xa7, 0x2f, 0xda, 0xf8, 0xdb, 0x5c, 0xb4, 0xbe, 0xa9, 0xe5, 0xef, 0x04, 0x80, 0x88, + 0x71, 0x5f, 0x44, 0x3f, 0x45, 0xce, 0x9f, 0x29, 0x2e, 0xd5, 0x3f, 0xd9, 0x27, 0xfc, 0x0f, 0x95, + 0x0f, 0x20, 0xa3, 0x33, 0x97, 0xd9, 0x4a, 0x32, 0xf7, 0xf2, 0x9e, 0x89, 0xcc, 0xc3, 0x25, 0x35, + 0x50, 0xae, 0xa5, 0x21, 0x39, 0xb6, 0x0c, 0xdb, 0xfa, 0xe8, 0x33, 0x40, 0xb3, 0x65, 0x82, 0xf2, + 0x20, 0xd2, 0xff, 0x9a, 0x87, 0x75, 0x7f, 0x0a, 0xdf, 0xb7, 0x4e, 0x03, 0x82, 0x50, 0xbb, 0xf3, + 0xf2, 0xbf, 0x6b, 0x4b, 0x2f, 0x2f, 0xd6, 0x84, 0x7f, 0x5d, 0xac, 0x09, 0xff, 0xbe, 0x58, 0x13, + 0xfe, 0x73, 0xb1, 0x26, 0x7c, 0xfb, 0xc3, 0xda, 0xd2, 0x57, 0x69, 0x66, 0xc0, 0xff, 0x03, 0x00, + 0x00, 0xff, 0xff, 0xa1, 0xb7, 0x4e, 0xb0, 0xef, 0x18, 0x00, 0x00, } diff --git a/pkg/sql/sqlbase/structured.proto b/pkg/sql/sqlbase/structured.proto index 059cea71db43..e2131b83c1be 100644 --- a/pkg/sql/sqlbase/structured.proto +++ b/pkg/sql/sqlbase/structured.proto @@ -67,8 +67,12 @@ message ColumnType { enum VisibleType { NONE = 0; - INT8 = 1; - INT64 = 2; + INTEGER = 1; + SMALLINT = 2; + BIGINT = 3; + BIT = 4; + REAL = 5; + DOUBLE_PRECISON = 6; } optional SemanticType semantic_type = 1 [(gogoproto.nullable) = false]; diff --git a/pkg/sql/sqlbase/structured_test.go b/pkg/sql/sqlbase/structured_test.go index 79585710c97a..0e9fb91fbcc8 100644 --- a/pkg/sql/sqlbase/structured_test.go +++ b/pkg/sql/sqlbase/structured_test.go @@ -841,7 +841,7 @@ func TestColumnTypeSQLString(t *testing.T) { expectedSQL string }{ {ColumnType{SemanticType: ColumnType_INT}, "INT"}, - {ColumnType{SemanticType: ColumnType_INT, Width: 2}, "BIT(2)"}, + {ColumnType{SemanticType: ColumnType_INT, VisibleType: ColumnType_BIT, Width: 2}, "BIT(2)"}, {ColumnType{SemanticType: ColumnType_FLOAT}, "FLOAT"}, {ColumnType{SemanticType: ColumnType_FLOAT, Precision: 3}, "FLOAT(3)"}, {ColumnType{SemanticType: ColumnType_DECIMAL}, "DECIMAL"}, diff --git a/pkg/sql/sqlbase/table.go b/pkg/sql/sqlbase/table.go index 3cf3af54383b..fd5f3581b058 100644 --- a/pkg/sql/sqlbase/table.go +++ b/pkg/sql/sqlbase/table.go @@ -35,6 +35,20 @@ import ( "github.com/cockroachdb/cockroach/pkg/util/uuid" ) +var nameToVisibleTypeMap = map[string]ColumnType_VisibleType{ + "INTEGER": ColumnType_INTEGER, + "INT4": ColumnType_INTEGER, + "INT8": ColumnType_BIGINT, + "INT64": ColumnType_BIGINT, + "BIT": ColumnType_BIT, + "INT2": ColumnType_SMALLINT, + "SMALLINT": ColumnType_SMALLINT, + "FLOAT4": ColumnType_REAL, + "REAL": ColumnType_REAL, + "FLOAT8": ColumnType_DOUBLE_PRECISON, + "DOUBLE PRECISON": ColumnType_DOUBLE_PRECISON, +} + func exprContainsVarsError(context string, Expr parser.Expr) error { return fmt.Errorf("%s expression '%s' may not contain variable sub-expressions", context, Expr) } @@ -93,13 +107,12 @@ func MakeColumnDefDescs( // Set Type.SemanticType and Type.Locale. colDatumType := parser.CastTargetToDatumType(d.Type) col.Type = DatumTypeToColumnType(colDatumType) - var visibleTypeMap = ColumnType_VisibleType_value // Set other attributes of col.Type and perform type-specific verification. switch t := d.Type.(type) { case *parser.BoolColType: case *parser.IntColType: - col.Type.Width = int32(t.N) + col.Type.Width = int32(t.Width) if t.IsSerial() { if d.HasDefaultExpr() { return nil, nil, fmt.Errorf("SERIAL column %q cannot have a default value", col.Name) @@ -107,8 +120,8 @@ func MakeColumnDefDescs( s := "unique_rowid()" col.DefaultExpr = &s } - if val, present := visibleTypeMap[t.Name]; present { - col.Type.VisibleType = ColumnType_VisibleType(val) + if val, present := nameToVisibleTypeMap[t.Name]; present { + col.Type.VisibleType = val } case *parser.FloatColType: // If the precision for this float col was intentionally specified as 0, return an error. @@ -116,6 +129,9 @@ func MakeColumnDefDescs( return nil, nil, errors.New("precision for type float must be at least 1 bit") } col.Type.Precision = int32(t.Prec) + if val, present := nameToVisibleTypeMap[t.Name]; present { + col.Type.VisibleType = val + } case *parser.DecimalColType: col.Type.Width = int32(t.Scale) col.Type.Precision = int32(t.Prec) @@ -1615,22 +1631,25 @@ func CheckValueWidth(col ColumnDescriptor, val parser.Datum) error { case ColumnType_INT: if v, ok := parser.AsDInt(val); ok { if col.Type.Width > 0 { + + // Width is defined in bits. + width := uint(col.Type.Width - 1) + // https://www.postgresql.org/docs/9.5/static/datatype-bit.html // "bit type data must match the length n exactly; it is an error // to attempt to store shorter or longer bit strings. bit varying // data is of variable length up to the maximum length n; longer - // strings will be rejected." - // + // strings will be rejected." Bits are unsigned, so we need to + // increase the width for the type check below. // TODO(nvanbenschoten): Because we do not propagate the "varying" - // flag on the column type, the best we can do here is conservatively - // assume the varying bit type and error only on longer bit strings. - mostSignificantBit := int32(0) - for bits := uint64(v); bits != 0; mostSignificantBit++ { - bits >>= 1 + if col.Type.VisibleType == ColumnType_BIT { + width = uint(col.Type.Width) } - if mostSignificantBit > col.Type.Width { - return fmt.Errorf("bit string too long for type %s (column %q)", - col.Type.SQLString(), col.Name) + + // We're performing bounds checks inline with Go's implementation of min and max ints in Math.go. + shifted := v >> width + if (v >= 0 && shifted > 0) || (v < 0 && shifted < -1) { + return fmt.Errorf("integer out of range for type %s (column %q)", col.Type.VisibleType, col.Name) } } } diff --git a/pkg/sql/table_test.go b/pkg/sql/table_test.go index 93e258ec6c28..16e68afeab9b 100644 --- a/pkg/sql/table_test.go +++ b/pkg/sql/table_test.go @@ -57,12 +57,12 @@ func TestMakeTableDescColumns(t *testing.T) { }{ { "BIT", - sqlbase.ColumnType{SemanticType: sqlbase.ColumnType_INT, Width: 1}, + sqlbase.ColumnType{SemanticType: sqlbase.ColumnType_INT, Width: 1, VisibleType: sqlbase.ColumnType_BIT}, true, }, { "BIT(3)", - sqlbase.ColumnType{SemanticType: sqlbase.ColumnType_INT, Width: 3}, + sqlbase.ColumnType{SemanticType: sqlbase.ColumnType_INT, Width: 3, VisibleType: sqlbase.ColumnType_BIT}, true, }, {