diff --git a/go/vt/sqlparser/ast.go b/go/vt/sqlparser/ast.go index 0ee6cf308e6..e635b6b681d 100644 --- a/go/vt/sqlparser/ast.go +++ b/go/vt/sqlparser/ast.go @@ -156,7 +156,7 @@ type ( // DropKey is used to drop a key in an alter table statement DropKey struct { Type DropKeyType - Name string + Name ColIdent } // Force is used to specify force alter option in an alter table statement @@ -182,8 +182,8 @@ type ( // RenameIndex clause is used to rename indexes in an alter table statement RenameIndex struct { - OldName string - NewName string + OldName ColIdent + NewName ColIdent } // Validation clause is used to specify whether to use validation or not @@ -338,7 +338,7 @@ type ( // DropDatabase represents a DROP database statement. DropDatabase struct { Comments Comments - DBName string + DBName TableIdent IfExists bool } @@ -355,7 +355,7 @@ type ( // CreateDatabase represents a CREATE database statement. CreateDatabase struct { Comments Comments - DBName string + DBName TableIdent IfNotExists bool CreateOptions []CollateAndCharset FullyParsed bool @@ -363,7 +363,7 @@ type ( // AlterDatabase represents a ALTER database statement. AlterDatabase struct { - DBName string + DBName TableIdent UpdateDataDirectory bool AlterOptions []CollateAndCharset FullyParsed bool @@ -1224,17 +1224,17 @@ func (node *AlterDatabase) IsFullyParsed() bool { // GetDatabaseName implements the DBDDLStatement interface func (node *DropDatabase) GetDatabaseName() string { - return node.DBName + return node.DBName.String() } // GetDatabaseName implements the DBDDLStatement interface func (node *CreateDatabase) GetDatabaseName() string { - return node.DBName + return node.DBName.String() } // GetDatabaseName implements the DBDDLStatement interface func (node *AlterDatabase) GetDatabaseName() string { - return node.DBName + return node.DBName.String() } // ParenSelect can actually not be a top level statement, @@ -1269,7 +1269,7 @@ type ( Command ShowCommandType Full bool Tbl TableName - DbName string + DbName TableIdent Filter *ShowFilter } @@ -1413,7 +1413,7 @@ type VindexParam struct { // ConstraintDefinition describes a constraint in a CREATE TABLE statement type ConstraintDefinition struct { - Name string + Name ColIdent Details ConstraintInfo } diff --git a/go/vt/sqlparser/ast_clone.go b/go/vt/sqlparser/ast_clone.go index 2522b2aad30..c4803147cbf 100644 --- a/go/vt/sqlparser/ast_clone.go +++ b/go/vt/sqlparser/ast_clone.go @@ -403,6 +403,7 @@ func CloneRefOfAlterDatabase(n *AlterDatabase) *AlterDatabase { return nil } out := *n + out.DBName = CloneTableIdent(n.DBName) out.AlterOptions = CloneSliceOfCollateAndCharset(n.AlterOptions) return &out } @@ -628,6 +629,7 @@ func CloneRefOfConstraintDefinition(n *ConstraintDefinition) *ConstraintDefiniti return nil } out := *n + out.Name = CloneColIdent(n.Name) out.Details = CloneConstraintInfo(n.Details) return &out } @@ -671,6 +673,7 @@ func CloneRefOfCreateDatabase(n *CreateDatabase) *CreateDatabase { } out := *n out.Comments = CloneComments(n.Comments) + out.DBName = CloneTableIdent(n.DBName) out.CreateOptions = CloneSliceOfCollateAndCharset(n.CreateOptions) return &out } @@ -762,6 +765,7 @@ func CloneRefOfDropDatabase(n *DropDatabase) *DropDatabase { } out := *n out.Comments = CloneComments(n.Comments) + out.DBName = CloneTableIdent(n.DBName) return &out } @@ -771,6 +775,7 @@ func CloneRefOfDropKey(n *DropKey) *DropKey { return nil } out := *n + out.Name = CloneColIdent(n.Name) return &out } @@ -1257,6 +1262,8 @@ func CloneRefOfRenameIndex(n *RenameIndex) *RenameIndex { return nil } out := *n + out.OldName = CloneColIdent(n.OldName) + out.NewName = CloneColIdent(n.NewName) return &out } @@ -1415,6 +1422,7 @@ func CloneRefOfShowBasic(n *ShowBasic) *ShowBasic { } out := *n out.Tbl = CloneTableName(n.Tbl) + out.DbName = CloneTableIdent(n.DbName) out.Filter = CloneRefOfShowFilter(n.Filter) return &out } diff --git a/go/vt/sqlparser/ast_equals.go b/go/vt/sqlparser/ast_equals.go index 4df0a611395..1e3e8839099 100644 --- a/go/vt/sqlparser/ast_equals.go +++ b/go/vt/sqlparser/ast_equals.go @@ -1002,9 +1002,9 @@ func EqualsRefOfAlterDatabase(a, b *AlterDatabase) bool { if a == nil || b == nil { return false } - return a.DBName == b.DBName && - a.UpdateDataDirectory == b.UpdateDataDirectory && + return a.UpdateDataDirectory == b.UpdateDataDirectory && a.FullyParsed == b.FullyParsed && + EqualsTableIdent(a.DBName, b.DBName) && EqualsSliceOfCollateAndCharset(a.AlterOptions, b.AlterOptions) } @@ -1286,7 +1286,7 @@ func EqualsRefOfConstraintDefinition(a, b *ConstraintDefinition) bool { if a == nil || b == nil { return false } - return a.Name == b.Name && + return EqualsColIdent(a.Name, b.Name) && EqualsConstraintInfo(a.Details, b.Details) } @@ -1337,10 +1337,10 @@ func EqualsRefOfCreateDatabase(a, b *CreateDatabase) bool { if a == nil || b == nil { return false } - return a.DBName == b.DBName && - a.IfNotExists == b.IfNotExists && + return a.IfNotExists == b.IfNotExists && a.FullyParsed == b.FullyParsed && EqualsComments(a.Comments, b.Comments) && + EqualsTableIdent(a.DBName, b.DBName) && EqualsSliceOfCollateAndCharset(a.CreateOptions, b.CreateOptions) } @@ -1449,9 +1449,9 @@ func EqualsRefOfDropDatabase(a, b *DropDatabase) bool { if a == nil || b == nil { return false } - return a.DBName == b.DBName && - a.IfExists == b.IfExists && - EqualsComments(a.Comments, b.Comments) + return a.IfExists == b.IfExists && + EqualsComments(a.Comments, b.Comments) && + EqualsTableIdent(a.DBName, b.DBName) } // EqualsRefOfDropKey does deep equals between the two objects. @@ -1462,8 +1462,8 @@ func EqualsRefOfDropKey(a, b *DropKey) bool { if a == nil || b == nil { return false } - return a.Name == b.Name && - a.Type == b.Type + return a.Type == b.Type && + EqualsColIdent(a.Name, b.Name) } // EqualsRefOfDropTable does deep equals between the two objects. @@ -2058,8 +2058,8 @@ func EqualsRefOfRenameIndex(a, b *RenameIndex) bool { if a == nil || b == nil { return false } - return a.OldName == b.OldName && - a.NewName == b.NewName + return EqualsColIdent(a.OldName, b.OldName) && + EqualsColIdent(a.NewName, b.NewName) } // EqualsRefOfRenameTable does deep equals between the two objects. @@ -2254,9 +2254,9 @@ func EqualsRefOfShowBasic(a, b *ShowBasic) bool { return false } return a.Full == b.Full && - a.DbName == b.DbName && a.Command == b.Command && EqualsTableName(a.Tbl, b.Tbl) && + EqualsTableIdent(a.DbName, b.DbName) && EqualsRefOfShowFilter(a.Filter, b.Filter) } diff --git a/go/vt/sqlparser/ast_format.go b/go/vt/sqlparser/ast_format.go index 644e85b30f6..24172536570 100644 --- a/go/vt/sqlparser/ast_format.go +++ b/go/vt/sqlparser/ast_format.go @@ -153,7 +153,7 @@ func (node *DropDatabase) Format(buf *TrackedBuffer) { if node.IfExists { exists = "if exists " } - buf.astPrintf(node, "%s database %v%s%s", DropStr, node.Comments, exists, node.DBName) + buf.astPrintf(node, "%s database %v%s%v", DropStr, node.Comments, exists, node.DBName) } // Format formats the node. @@ -565,8 +565,8 @@ func (node VindexParam) Format(buf *TrackedBuffer) { // Format formats the node. func (c *ConstraintDefinition) Format(buf *TrackedBuffer) { - if c.Name != "" { - buf.astPrintf(c, "constraint %s ", c.Name) + if !c.Name.IsEmpty() { + buf.astPrintf(c, "constraint %v ", c.Name) } c.Details.Format(buf) } @@ -1307,8 +1307,8 @@ func (node *ShowBasic) Format(buf *TrackedBuffer) { if !node.Tbl.IsEmpty() { buf.astPrintf(node, " from %v", node.Tbl) } - if node.DbName != "" { - buf.astPrintf(node, " from %s", node.DbName) + if !node.DbName.IsEmpty() { + buf.astPrintf(node, " from %v", node.DbName) } buf.astPrintf(node, "%v", node.Filter) } @@ -1336,7 +1336,7 @@ func (node *CreateDatabase) Format(buf *TrackedBuffer) { if node.IfNotExists { buf.WriteString("if not exists ") } - buf.astPrintf(node, "%s", node.DBName) + buf.astPrintf(node, "%v", node.DBName) if node.CreateOptions != nil { for _, createOption := range node.CreateOptions { if createOption.IsDefault { @@ -1351,8 +1351,8 @@ func (node *CreateDatabase) Format(buf *TrackedBuffer) { // Format formats the node. func (node *AlterDatabase) Format(buf *TrackedBuffer) { buf.WriteString("alter database") - if node.DBName != "" { - buf.astPrintf(node, " %s", node.DBName) + if !node.DBName.IsEmpty() { + buf.astPrintf(node, " %v", node.DBName) } if node.UpdateDataDirectory { buf.WriteString(" upgrade data directory name") @@ -1588,8 +1588,8 @@ func (node *DropColumn) Format(buf *TrackedBuffer) { // Format formats the node func (node *DropKey) Format(buf *TrackedBuffer) { buf.astPrintf(node, "drop %s", node.Type.ToString()) - if node.Name != "" { - buf.astPrintf(node, " %s", node.Name) + if !node.Name.IsEmpty() { + buf.astPrintf(node, " %v", node.Name) } } @@ -1620,7 +1620,7 @@ func (node *RenameTableName) Format(buf *TrackedBuffer) { // Format formats the node func (node *RenameIndex) Format(buf *TrackedBuffer) { - buf.astPrintf(node, "rename index %s to %s", node.OldName, node.NewName) + buf.astPrintf(node, "rename index %v to %v", node.OldName, node.NewName) } // Format formats the node diff --git a/go/vt/sqlparser/ast_format_fast.go b/go/vt/sqlparser/ast_format_fast.go index 8d281c96218..075e5ae5634 100644 --- a/go/vt/sqlparser/ast_format_fast.go +++ b/go/vt/sqlparser/ast_format_fast.go @@ -256,7 +256,7 @@ func (node *DropDatabase) formatFast(buf *TrackedBuffer) { buf.WriteString(" database ") node.Comments.formatFast(buf) buf.WriteString(exists) - buf.WriteString(node.DBName) + node.DBName.formatFast(buf) } // formatFast formats the node. @@ -803,9 +803,9 @@ func (node VindexParam) formatFast(buf *TrackedBuffer) { // formatFast formats the node. func (c *ConstraintDefinition) formatFast(buf *TrackedBuffer) { - if c.Name != "" { + if !c.Name.IsEmpty() { buf.WriteString("constraint ") - buf.WriteString(c.Name) + c.Name.formatFast(buf) buf.WriteByte(' ') } c.Details.Format(buf) @@ -1735,9 +1735,9 @@ func (node *ShowBasic) formatFast(buf *TrackedBuffer) { buf.WriteString(" from ") node.Tbl.formatFast(buf) } - if node.DbName != "" { + if !node.DbName.IsEmpty() { buf.WriteString(" from ") - buf.WriteString(node.DbName) + node.DbName.formatFast(buf) } node.Filter.formatFast(buf) } @@ -1774,7 +1774,7 @@ func (node *CreateDatabase) formatFast(buf *TrackedBuffer) { if node.IfNotExists { buf.WriteString("if not exists ") } - buf.WriteString(node.DBName) + node.DBName.formatFast(buf) if node.CreateOptions != nil { for _, createOption := range node.CreateOptions { if createOption.IsDefault { @@ -1789,9 +1789,9 @@ func (node *CreateDatabase) formatFast(buf *TrackedBuffer) { // formatFast formats the node. func (node *AlterDatabase) formatFast(buf *TrackedBuffer) { buf.WriteString("alter database") - if node.DBName != "" { + if !node.DBName.IsEmpty() { buf.WriteByte(' ') - buf.WriteString(node.DBName) + node.DBName.formatFast(buf) } if node.UpdateDataDirectory { buf.WriteString(" upgrade data directory name") @@ -2088,9 +2088,9 @@ func (node *DropColumn) formatFast(buf *TrackedBuffer) { func (node *DropKey) formatFast(buf *TrackedBuffer) { buf.WriteString("drop ") buf.WriteString(node.Type.ToString()) - if node.Name != "" { + if !node.Name.IsEmpty() { buf.WriteByte(' ') - buf.WriteString(node.Name) + node.Name.formatFast(buf) } } @@ -2125,9 +2125,9 @@ func (node *RenameTableName) formatFast(buf *TrackedBuffer) { // formatFast formats the node func (node *RenameIndex) formatFast(buf *TrackedBuffer) { buf.WriteString("rename index ") - buf.WriteString(node.OldName) + node.OldName.formatFast(buf) buf.WriteString(" to ") - buf.WriteString(node.NewName) + node.NewName.formatFast(buf) } // formatFast formats the node diff --git a/go/vt/sqlparser/ast_rewrite.go b/go/vt/sqlparser/ast_rewrite.go index a1b8f017c86..68cbc4b27be 100644 --- a/go/vt/sqlparser/ast_rewrite.go +++ b/go/vt/sqlparser/ast_rewrite.go @@ -556,12 +556,15 @@ func (a *application) rewriteRefOfAlterDatabase(parent SQLNode, node *AlterDatab return true } } + if !a.rewriteTableIdent(node, node.DBName, func(newNode, parent SQLNode) { + parent.(*AlterDatabase).DBName = newNode.(TableIdent) + }) { + return false + } if a.post != nil { - if a.pre == nil { - a.cur.replacer = replacer - a.cur.parent = parent - a.cur.node = node - } + a.cur.replacer = replacer + a.cur.parent = parent + a.cur.node = node if !a.post(&a.cur) { return false } @@ -1245,6 +1248,11 @@ func (a *application) rewriteRefOfConstraintDefinition(parent SQLNode, node *Con return true } } + if !a.rewriteColIdent(node, node.Name, func(newNode, parent SQLNode) { + parent.(*ConstraintDefinition).Name = newNode.(ColIdent) + }) { + return false + } if !a.rewriteConstraintInfo(node, node.Details, func(newNode, parent SQLNode) { parent.(*ConstraintDefinition).Details = newNode.(ConstraintInfo) }) { @@ -1368,6 +1376,11 @@ func (a *application) rewriteRefOfCreateDatabase(parent SQLNode, node *CreateDat }) { return false } + if !a.rewriteTableIdent(node, node.DBName, func(newNode, parent SQLNode) { + parent.(*CreateDatabase).DBName = newNode.(TableIdent) + }) { + return false + } if a.post != nil { a.cur.replacer = replacer a.cur.parent = parent @@ -1636,6 +1649,11 @@ func (a *application) rewriteRefOfDropDatabase(parent SQLNode, node *DropDatabas }) { return false } + if !a.rewriteTableIdent(node, node.DBName, func(newNode, parent SQLNode) { + parent.(*DropDatabase).DBName = newNode.(TableIdent) + }) { + return false + } if a.post != nil { a.cur.replacer = replacer a.cur.parent = parent @@ -1658,12 +1676,15 @@ func (a *application) rewriteRefOfDropKey(parent SQLNode, node *DropKey, replace return true } } + if !a.rewriteColIdent(node, node.Name, func(newNode, parent SQLNode) { + parent.(*DropKey).Name = newNode.(ColIdent) + }) { + return false + } if a.post != nil { - if a.pre == nil { - a.cur.replacer = replacer - a.cur.parent = parent - a.cur.node = node - } + a.cur.replacer = replacer + a.cur.parent = parent + a.cur.node = node if !a.post(&a.cur) { return false } @@ -3086,12 +3107,20 @@ func (a *application) rewriteRefOfRenameIndex(parent SQLNode, node *RenameIndex, return true } } + if !a.rewriteColIdent(node, node.OldName, func(newNode, parent SQLNode) { + parent.(*RenameIndex).OldName = newNode.(ColIdent) + }) { + return false + } + if !a.rewriteColIdent(node, node.NewName, func(newNode, parent SQLNode) { + parent.(*RenameIndex).NewName = newNode.(ColIdent) + }) { + return false + } if a.post != nil { - if a.pre == nil { - a.cur.replacer = replacer - a.cur.parent = parent - a.cur.node = node - } + a.cur.replacer = replacer + a.cur.parent = parent + a.cur.node = node if !a.post(&a.cur) { return false } @@ -3553,6 +3582,11 @@ func (a *application) rewriteRefOfShowBasic(parent SQLNode, node *ShowBasic, rep }) { return false } + if !a.rewriteTableIdent(node, node.DbName, func(newNode, parent SQLNode) { + parent.(*ShowBasic).DbName = newNode.(TableIdent) + }) { + return false + } if !a.rewriteRefOfShowFilter(node, node.Filter, func(newNode, parent SQLNode) { parent.(*ShowBasic).Filter = newNode.(*ShowFilter) }) { diff --git a/go/vt/sqlparser/ast_visit.go b/go/vt/sqlparser/ast_visit.go index 428578456ad..bd52dfb25c7 100644 --- a/go/vt/sqlparser/ast_visit.go +++ b/go/vt/sqlparser/ast_visit.go @@ -430,6 +430,9 @@ func VisitRefOfAlterDatabase(in *AlterDatabase, f Visit) error { if cont, err := f(in); err != nil || !cont { return err } + if err := VisitTableIdent(in.DBName, f); err != nil { + return err + } return nil } func VisitRefOfAlterMigration(in *AlterMigration, f Visit) error { @@ -736,6 +739,9 @@ func VisitRefOfConstraintDefinition(in *ConstraintDefinition, f Visit) error { if cont, err := f(in); err != nil || !cont { return err } + if err := VisitColIdent(in.Name, f); err != nil { + return err + } if err := VisitConstraintInfo(in.Details, f); err != nil { return err } @@ -793,6 +799,9 @@ func VisitRefOfCreateDatabase(in *CreateDatabase, f Visit) error { if err := VisitComments(in.Comments, f); err != nil { return err } + if err := VisitTableIdent(in.DBName, f); err != nil { + return err + } return nil } func VisitRefOfCreateTable(in *CreateTable, f Visit) error { @@ -919,6 +928,9 @@ func VisitRefOfDropDatabase(in *DropDatabase, f Visit) error { if err := VisitComments(in.Comments, f); err != nil { return err } + if err := VisitTableIdent(in.DBName, f); err != nil { + return err + } return nil } func VisitRefOfDropKey(in *DropKey, f Visit) error { @@ -928,6 +940,9 @@ func VisitRefOfDropKey(in *DropKey, f Visit) error { if cont, err := f(in); err != nil || !cont { return err } + if err := VisitColIdent(in.Name, f); err != nil { + return err + } return nil } func VisitRefOfDropTable(in *DropTable, f Visit) error { @@ -1561,6 +1576,12 @@ func VisitRefOfRenameIndex(in *RenameIndex, f Visit) error { if cont, err := f(in); err != nil || !cont { return err } + if err := VisitColIdent(in.OldName, f); err != nil { + return err + } + if err := VisitColIdent(in.NewName, f); err != nil { + return err + } return nil } func VisitRefOfRenameTable(in *RenameTable, f Visit) error { @@ -1771,6 +1792,9 @@ func VisitRefOfShowBasic(in *ShowBasic, f Visit) error { if err := VisitTableName(in.Tbl, f); err != nil { return err } + if err := VisitTableIdent(in.DbName, f); err != nil { + return err + } if err := VisitRefOfShowFilter(in.Filter, f); err != nil { return err } diff --git a/go/vt/sqlparser/cached_size.go b/go/vt/sqlparser/cached_size.go index 62f01bc57ba..9b47029d651 100644 --- a/go/vt/sqlparser/cached_size.go +++ b/go/vt/sqlparser/cached_size.go @@ -145,8 +145,8 @@ func (cached *AlterDatabase) CachedSize(alloc bool) int64 { if alloc { size += int64(49) } - // field DBName string - size += int64(len(cached.DBName)) + // field DBName vitess.io/vitess/go/vt/sqlparser.TableIdent + size += cached.DBName.CachedSize(false) // field AlterOptions []vitess.io/vitess/go/vt/sqlparser.CollateAndCharset { size += int64(cap(cached.AlterOptions)) * int64(24) @@ -551,10 +551,10 @@ func (cached *ConstraintDefinition) CachedSize(alloc bool) int64 { } size := int64(0) if alloc { - size += int64(32) + size += int64(56) } - // field Name string - size += int64(len(cached.Name)) + // field Name vitess.io/vitess/go/vt/sqlparser.ColIdent + size += cached.Name.CachedSize(false) // field Details vitess.io/vitess/go/vt/sqlparser.ConstraintInfo if cc, ok := cached.Details.(cachedObject); ok { size += cc.CachedSize(true) @@ -626,8 +626,8 @@ func (cached *CreateDatabase) CachedSize(alloc bool) int64 { size += int64(len(elem)) } } - // field DBName string - size += int64(len(cached.DBName)) + // field DBName vitess.io/vitess/go/vt/sqlparser.TableIdent + size += cached.DBName.CachedSize(false) // field CreateOptions []vitess.io/vitess/go/vt/sqlparser.CollateAndCharset { size += int64(cap(cached.CreateOptions)) * int64(24) @@ -804,8 +804,8 @@ func (cached *DropDatabase) CachedSize(alloc bool) int64 { size += int64(len(elem)) } } - // field DBName string - size += int64(len(cached.DBName)) + // field DBName vitess.io/vitess/go/vt/sqlparser.TableIdent + size += cached.DBName.CachedSize(false) return size } func (cached *DropKey) CachedSize(alloc bool) int64 { @@ -814,10 +814,10 @@ func (cached *DropKey) CachedSize(alloc bool) int64 { } size := int64(0) if alloc { - size += int64(24) + size += int64(48) } - // field Name string - size += int64(len(cached.Name)) + // field Name vitess.io/vitess/go/vt/sqlparser.ColIdent + size += cached.Name.CachedSize(false) return size } func (cached *DropTable) CachedSize(alloc bool) int64 { @@ -1529,12 +1529,12 @@ func (cached *RenameIndex) CachedSize(alloc bool) int64 { } size := int64(0) if alloc { - size += int64(32) + size += int64(80) } - // field OldName string - size += int64(len(cached.OldName)) - // field NewName string - size += int64(len(cached.NewName)) + // field OldName vitess.io/vitess/go/vt/sqlparser.ColIdent + size += cached.OldName.CachedSize(false) + // field NewName vitess.io/vitess/go/vt/sqlparser.ColIdent + size += cached.NewName.CachedSize(false) return size } func (cached *RenameTable) CachedSize(alloc bool) int64 { @@ -1793,8 +1793,8 @@ func (cached *ShowBasic) CachedSize(alloc bool) int64 { } // field Tbl vitess.io/vitess/go/vt/sqlparser.TableName size += cached.Tbl.CachedSize(false) - // field DbName string - size += int64(len(cached.DbName)) + // field DbName vitess.io/vitess/go/vt/sqlparser.TableIdent + size += cached.DbName.CachedSize(false) // field Filter *vitess.io/vitess/go/vt/sqlparser.ShowFilter size += cached.Filter.CachedSize(true) return size diff --git a/go/vt/sqlparser/parse_test.go b/go/vt/sqlparser/parse_test.go index 11b49c588af..b478fb63007 100644 --- a/go/vt/sqlparser/parse_test.go +++ b/go/vt/sqlparser/parse_test.go @@ -68,6 +68,14 @@ var ( input: "select a from t", }, { input: "select $ from t", + }, { + // shift/reduce conflict on CHARSET, should throw an error on shifting which will be ignored as it is a DDL + input: "alter database charset = 'utf16';", + output: "alter database", + partialDDL: true, + }, { + input: "alter database charset charset = 'utf16'", + output: "alter database `charset` character set 'utf16'", }, { input: "select a.b as a$b from $test$", }, { @@ -1010,6 +1018,8 @@ var ( }, { input: "alter table a partition by range (id) (partition p0 values less than (10), partition p1 values less than (maxvalue))", output: "alter table a", + }, { + input: "alter table `Post With Space` drop foreign key `Post With Space_ibfk_1`", }, { input: "alter table a add column (id int, id2 char(23))", }, { @@ -2017,6 +2027,9 @@ func TestCaseSensitivity(t *testing.T) { }, { input: "alter table A rename to B", output: "alter table A rename B", + }, { + input: "alter table `A r` rename to `B r`", + output: "alter table `A r` rename `B r`", }, { input: "rename table A to B", }, { @@ -2632,6 +2645,15 @@ func TestCreateTable(t *testing.T) { " constraint second_ibfk_1 foreign key (k, j) references simple (a, b) on update cascade\n" + ")", + // constraint name with spaces + "create table `Post With Space` (\n" + + " id int(11) not null auto_increment,\n" + + " user_id int(11) not null,\n" + + " primary key (id),\n" + + " unique key post_user_unique (user_id),\n" + + " constraint `Post With Space_ibfk_1` foreign key (user_id) references `User` (id)\n" + + ") ENGINE Innodb", + // table options "create table t (\n" + " id int auto_increment\n" + @@ -3075,11 +3097,6 @@ var ( input: "select /* aa", output: "syntax error at position 13 near '/* aa'", excludeMulti: true, - }, { - // non_reserved keywords are currently not permitted everywhere - input: "create database repair", - output: "syntax error at position 23 near 'repair'", - excludeMulti: true, }} ) diff --git a/go/vt/sqlparser/sql.go b/go/vt/sqlparser/sql.go index 756ef41bbf5..00edaa56edc 100644 --- a/go/vt/sqlparser/sql.go +++ b/go/vt/sqlparser/sql.go @@ -1025,35 +1025,35 @@ var yyExca = [...]int{ 259, 118, 312, 118, -2, 335, - -1, 580, + -1, 579, 150, 955, -2, 951, - -1, 581, + -1, 580, 150, 956, -2, 952, - -1, 600, + -1, 599, 56, 565, -2, 577, - -1, 601, + -1, 600, 56, 566, -2, 578, - -1, 622, - 118, 1297, + -1, 621, + 118, 1299, -2, 84, - -1, 623, - 118, 1179, + -1, 622, + 118, 1181, -2, 85, - -1, 629, - 118, 1229, + -1, 628, + 118, 1231, -2, 928, -1, 766, - 118, 1116, + 118, 1118, -2, 925, - -1, 800, + -1, 799, 176, 38, 181, 38, -2, 242, - -1, 881, + -1, 880, 1, 373, 474, 373, -2, 118, @@ -1070,7 +1070,7 @@ var yyExca = [...]int{ 181, 39, -2, 243, -1, 1420, - 150, 958, + 150, 960, -2, 954, -1, 1512, 74, 66, @@ -1094,490 +1094,496 @@ var yyExca = [...]int{ const yyPrivate = 57344 -const yyLast = 28215 +const yyLast = 28297 var yyAct = [...]int{ - 580, 2242, 2231, 2186, 1858, 2170, 1997, 2208, 2108, 1713, - 1746, 2158, 2086, 552, 83, 3, 1925, 1827, 1926, 1994, - 1457, 538, 1747, 1922, 1021, 1563, 1548, 1597, 940, 1831, - 593, 1075, 1530, 521, 893, 1183, 1568, 770, 1811, 1733, - 1812, 1937, 1884, 1509, 518, 1673, 1810, 1320, 1647, 179, - 1595, 133, 191, 1570, 486, 191, 1205, 147, 1804, 1105, - 502, 1414, 191, 1068, 795, 81, 627, 1491, 1112, 1498, - 191, 602, 920, 1073, 1459, 523, 1078, 1096, 1098, 587, - 1060, 1406, 1440, 1383, 525, 957, 808, 777, 1177, 33, - 514, 778, 502, 1102, 1182, 502, 191, 502, 1095, 1212, - 782, 801, 796, 774, 798, 1295, 1474, 1111, 797, 1085, - 1514, 830, 79, 938, 1325, 887, 150, 1559, 1223, 1109, - 624, 110, 116, 1197, 111, 117, 509, 1180, 1034, 872, - 8, 7, 6, 1850, 1849, 178, 78, 84, 1626, 2110, - 1037, 1872, 1873, 1549, 1372, 1371, 180, 181, 182, 1370, - 1369, 1368, 1367, 1282, 512, 2200, 513, 1711, 2154, 771, - 1971, 1360, 112, 609, 613, 1454, 1455, 2065, 2132, 588, - 118, 2131, 834, 191, 86, 87, 88, 89, 90, 91, - 2081, 833, 2241, 2082, 191, 2248, 886, 2205, 1663, 191, - 510, 1184, 80, 2181, 2234, 2204, 835, 461, 1998, 1614, - 1901, 565, 611, 571, 572, 569, 570, 812, 568, 567, - 566, 621, 1573, 2029, 787, 1712, 2180, 1633, 573, 574, - 1417, 1632, 1952, 1953, 1951, 811, 112, 958, 1113, 177, - 1114, 789, 1871, 843, 788, 628, 1777, 1661, 1524, 1776, - 936, 786, 1778, 849, 836, 837, 838, 832, 958, 927, - 1515, 929, 1525, 1526, 35, 791, 790, 72, 39, 40, - 846, 847, 913, 850, 851, 852, 853, 906, 515, 856, + 579, 2242, 2186, 1858, 2231, 2170, 1997, 2208, 1746, 1548, + 2158, 522, 2086, 939, 551, 2108, 1925, 1827, 1021, 1530, + 1713, 1926, 1994, 537, 1457, 1597, 1068, 1747, 1922, 1563, + 1831, 1733, 83, 3, 520, 892, 1183, 1811, 1568, 1812, + 829, 769, 1509, 1075, 1937, 147, 1884, 1223, 1673, 180, + 1406, 1414, 180, 1810, 485, 180, 1647, 1570, 1595, 1320, + 501, 1804, 180, 1112, 794, 133, 1105, 1498, 626, 1096, + 180, 1491, 1073, 1205, 1078, 919, 601, 81, 1459, 1095, + 1098, 1060, 524, 1440, 513, 586, 1383, 957, 33, 776, + 1102, 1182, 501, 1295, 807, 501, 180, 501, 777, 1559, + 781, 773, 800, 795, 79, 623, 1212, 1474, 796, 1111, + 1514, 1085, 1325, 886, 1417, 797, 110, 1172, 937, 150, + 111, 1549, 1197, 116, 1180, 1109, 117, 508, 871, 8, + 7, 6, 78, 1177, 1034, 1850, 1849, 1626, 1282, 1872, + 2110, 1873, 1454, 1455, 1372, 1037, 182, 183, 184, 1371, + 1370, 1369, 1368, 1367, 511, 1360, 512, 2200, 1711, 770, + 592, 608, 612, 2154, 1971, 112, 2065, 958, 587, 118, + 2132, 2131, 833, 180, 2081, 460, 831, 2082, 2248, 832, + 2205, 610, 84, 2241, 834, 80, 2181, 2234, 1998, 845, + 846, 509, 849, 850, 851, 852, 1614, 1663, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, - 867, 868, 869, 870, 912, 490, 171, 1456, 926, 928, - 900, 901, 1572, 968, 848, 112, 584, 2144, 983, 982, - 992, 993, 985, 986, 987, 988, 989, 990, 991, 984, - 583, 113, 994, 135, 968, 107, 172, 1794, 107, 1542, - 185, 186, 155, 935, 2183, 889, 1361, 1362, 1363, 71, - 1860, 2020, 2018, 500, 104, 180, 181, 182, 489, 1443, - 898, 1359, 504, 498, 899, 900, 901, 1306, 1304, 1305, - 1596, 586, 1832, 145, 878, 1854, 914, 1629, 134, 490, - 1272, 907, 1308, 1855, 1309, 1301, 1310, 1296, 2233, 933, - 873, 490, 956, 917, 918, 105, 152, 919, 153, 176, - 2201, 915, 916, 122, 123, 144, 143, 170, 964, 882, - 107, 925, 99, 1863, 924, 930, 1641, 102, 855, 854, - 101, 100, 1273, 1300, 1274, 1862, 1861, 1298, 2128, 964, - 923, 2076, 489, 1598, 1492, 819, 817, 828, 827, 1302, - 826, 825, 824, 596, 489, 823, 1791, 1786, 822, 821, - 816, 792, 1191, 829, 1970, 139, 120, 146, 127, 119, - 1515, 140, 141, 175, 1299, 2077, 156, 105, 775, 2249, - 910, 775, 803, 804, 810, 773, 161, 128, 2220, 1646, - 2246, 191, 109, 1631, 1574, 775, 1211, 1210, 888, 1181, - 1787, 131, 129, 124, 125, 126, 130, 106, 810, 931, - 106, 121, 615, 1864, 1620, 1313, 944, 502, 502, 502, - 132, 2179, 1789, 839, 879, 1784, 1820, 896, 1628, 902, - 903, 904, 905, 932, 810, 502, 502, 1785, 820, 818, - 490, 845, 1910, 810, 810, 1662, 2145, 810, 1909, 1908, - 937, 950, 785, 1842, 963, 960, 961, 962, 967, 969, - 966, 784, 965, 783, 2171, 1714, 1716, 1649, 2184, 959, - 885, 2165, 1648, 781, 460, 963, 960, 961, 962, 967, - 969, 966, 106, 965, 183, 934, 1649, 1616, 1006, 1007, - 959, 1648, 148, 489, 2049, 1885, 1640, 1792, 1790, 1639, - 1950, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, - 1017, 909, 73, 1692, 191, 1284, 1283, 1285, 1286, 1287, - 809, 1689, 1738, 911, 1681, 1606, 813, 803, 1520, 1531, - 1089, 941, 942, 897, 1066, 1004, 814, 877, 2244, 1887, - 1019, 2245, 502, 2243, 809, 191, 142, 191, 191, 1065, - 502, 803, 806, 807, 815, 775, 502, 891, 136, 800, - 804, 137, 1715, 984, 994, 1773, 994, 953, 951, 952, - 809, 881, 1470, 1022, 895, 94, 813, 803, 624, 809, - 809, 921, 974, 809, 1390, 844, 814, 803, 806, 807, - 1094, 775, 1061, 973, 971, 800, 804, 1355, 1388, 1389, - 1387, 1889, 1326, 1893, 1079, 1888, 2136, 1886, 1788, 831, - 974, 1615, 1891, 1472, 799, 1935, 971, 874, 1297, 875, - 95, 1890, 876, 1115, 1036, 1039, 1041, 1043, 1044, 1046, - 1048, 1049, 974, 954, 1892, 1894, 880, 1040, 1042, 1058, - 1045, 1047, 1903, 1050, 1441, 1441, 1699, 1378, 1380, 1381, - 975, 1580, 1006, 1007, 1613, 2235, 1611, 819, 1067, 1379, - 1006, 1007, 149, 154, 151, 157, 158, 159, 160, 162, - 163, 164, 165, 180, 181, 182, 1471, 1408, 166, 167, - 168, 169, 817, 2236, 2225, 1955, 515, 894, 180, 181, - 182, 1687, 1799, 628, 174, 1032, 2250, 922, 1608, 1686, - 191, 972, 973, 971, 1173, 987, 988, 989, 990, 991, - 984, 1809, 2226, 994, 1185, 1186, 1187, 1608, 1327, 974, - 1475, 1476, 1612, 1082, 972, 973, 971, 1071, 1074, 502, - 2032, 1207, 71, 1409, 1291, 972, 973, 971, 2064, 1216, - 2229, 1610, 974, 1220, 1386, 2063, 502, 502, 1800, 502, - 1077, 502, 502, 974, 502, 502, 502, 502, 502, 502, - 1666, 1667, 1668, 1976, 2251, 2228, 1203, 1808, 1807, 502, - 1577, 1292, 1110, 191, 1256, 1277, 1196, 983, 982, 992, - 993, 985, 986, 987, 988, 989, 990, 991, 984, 1269, - 1276, 994, 780, 1290, 1275, 1215, 1267, 180, 181, 182, - 502, 1780, 972, 973, 971, 1261, 1253, 1258, 191, 985, - 986, 987, 988, 989, 990, 991, 984, 1217, 191, 994, - 974, 1688, 191, 1213, 1213, 541, 540, 543, 544, 545, - 546, 1912, 1189, 1190, 542, 1257, 547, 1214, 191, 1172, - 1179, 1232, 1251, 1252, 1188, 191, 1194, 1193, 2227, 1192, - 1289, 2216, 191, 191, 191, 191, 191, 191, 191, 191, - 191, 502, 502, 502, 619, 1225, 1206, 1226, 1279, 1228, - 1230, 1330, 2214, 1234, 1236, 1238, 1240, 1242, 1334, 1913, - 1336, 1337, 1338, 1339, 2099, 1341, 597, 191, 1322, 2061, - 1259, 1260, 972, 973, 971, 1857, 1265, 1266, 614, 1356, - 1905, 1328, 1329, 2037, 1958, 972, 973, 971, 2126, 1288, - 974, 1914, 1817, 1254, 1805, 1333, 180, 181, 182, 1657, - 1590, 1384, 1340, 974, 1624, 1407, 2125, 1278, 112, 1623, - 1323, 1314, 1280, 789, 1410, 1319, 788, 982, 992, 993, - 985, 986, 987, 988, 989, 990, 991, 984, 502, 1268, - 994, 1382, 1264, 1332, 1391, 1392, 1393, 1394, 1395, 1396, - 1397, 1398, 1399, 1400, 1401, 1402, 1403, 1404, 1405, 1263, - 1411, 1412, 1262, 1064, 1351, 1352, 1353, 1996, 1418, 1834, - 1366, 1819, 502, 502, 1424, 972, 973, 971, 616, 617, - 1983, 2219, 1385, 191, 180, 181, 182, 1419, 1588, 1734, - 180, 181, 182, 974, 1270, 1983, 2177, 502, 180, 181, - 182, 1983, 2166, 1444, 191, 1923, 1420, 502, 1464, 1983, - 597, 191, 80, 191, 1934, 1022, 1465, 1767, 1324, 1983, - 2134, 191, 191, 1429, 1432, 1515, 1477, 1539, 502, 1442, - 1516, 502, 2079, 597, 1484, 1510, 1448, 1449, 1418, 1608, - 597, 1934, 502, 992, 993, 985, 986, 987, 988, 989, - 990, 991, 984, 1421, 82, 994, 624, 1489, 1495, 624, - 2047, 597, 1983, 1988, 1968, 1967, 1964, 1965, 1964, 1963, - 35, 1485, 1483, 597, 1515, 1851, 1420, 1176, 1836, 1535, - 1829, 1830, 1550, 1551, 1552, 1495, 597, 970, 597, 2169, - 597, 1516, 1517, 1373, 1374, 1375, 1376, 502, 1534, 1609, - 1519, 191, 2044, 35, 1483, 502, 1538, 1176, 1175, 1586, - 1587, 1589, 1121, 1120, 1734, 1513, 1487, 1565, 2115, 970, - 1483, 1494, 2135, 502, 35, 1983, 1966, 1495, 1741, 502, - 1523, 1571, 1704, 1216, 1518, 1216, 1522, 1543, 1703, 1544, - 1545, 1546, 1547, 1607, 1537, 71, 71, 1521, 1427, 1428, - 1536, 1742, 590, 1517, 1608, 1555, 1556, 1557, 1558, 1483, - 1594, 1515, 1608, 2066, 1425, 1426, 1591, 1473, 1431, 1434, - 1435, 628, 1495, 502, 628, 1407, 1452, 1364, 71, 2088, - 1407, 1407, 1312, 1934, 1107, 794, 515, 793, 1575, 1604, - 1995, 1605, 2055, 1247, 1447, 581, 1566, 1450, 1451, 71, - 1583, 1584, 1585, 1178, 1576, 1578, 1561, 1562, 812, 1564, - 1617, 2067, 2068, 2069, 2070, 191, 1600, 1856, 1213, 191, - 191, 191, 191, 191, 1618, 1601, 811, 71, 1599, 1560, - 1566, 1603, 1554, 191, 191, 191, 191, 1553, 1529, 1294, - 1650, 1248, 1249, 1250, 1813, 1208, 191, 192, 1204, 1174, - 192, 96, 1814, 191, 1244, 503, 1619, 192, 177, 2071, - 2072, 1621, 1622, 1938, 1939, 192, 1500, 1503, 1504, 1505, - 1501, 1859, 1502, 1506, 2089, 1184, 1938, 1939, 191, 502, - 1422, 1423, 2238, 1652, 1653, 597, 2232, 503, 1655, 1814, - 503, 192, 503, 1941, 1923, 1656, 1825, 1567, 1824, 1245, - 1246, 1823, 1581, 1357, 1315, 1944, 1943, 1755, 1627, 983, - 982, 992, 993, 985, 986, 987, 988, 989, 990, 991, - 984, 1384, 1758, 994, 1756, 1754, 1466, 1759, 1644, 1757, - 2222, 983, 982, 992, 993, 985, 986, 987, 988, 989, - 990, 991, 984, 1076, 2203, 994, 2031, 1760, 1915, 1504, - 1505, 2048, 1723, 1670, 1671, 1672, 1500, 1503, 1504, 1505, - 1501, 1986, 1502, 1506, 1732, 2159, 2161, 1731, 192, 1674, - 1660, 607, 603, 191, 2162, 1683, 103, 2188, 2224, 192, - 2207, 191, 98, 2209, 192, 2187, 2191, 604, 2156, 1311, - 582, 1669, 1385, 983, 982, 992, 993, 985, 986, 987, - 988, 989, 990, 991, 984, 191, 1818, 994, 841, 840, - 1080, 1081, 606, 1069, 605, 1721, 191, 191, 191, 191, - 191, 1682, 1437, 1722, 173, 1070, 1743, 187, 191, 2007, - 1813, 588, 191, 184, 1870, 191, 191, 1438, 943, 191, - 191, 191, 1698, 1844, 607, 603, 1765, 1843, 1736, 1720, - 1739, 1061, 1779, 1710, 113, 1718, 2113, 1960, 1959, 1602, - 604, 1727, 1222, 1221, 1209, 2042, 1468, 1726, 1475, 1476, - 1798, 1821, 1318, 2127, 2083, 1508, 1307, 1737, 1768, 1665, - 1735, 594, 1770, 600, 601, 606, 2215, 605, 591, 592, - 1748, 1795, 1796, 2213, 1750, 1751, 1761, 1753, 2212, 1771, - 1766, 1797, 191, 1801, 1802, 1803, 2026, 1322, 1730, 2192, - 2190, 1782, 1774, 502, 1749, 2041, 1729, 1752, 1982, 502, - 1783, 1592, 502, 595, 1216, 1571, 82, 2040, 1918, 502, - 1734, 2240, 2239, 1806, 1693, 1690, 1090, 1083, 2240, 1837, - 2163, 1848, 1957, 1815, 1469, 590, 80, 85, 77, 191, - 1, 473, 1453, 1059, 485, 1839, 1678, 1679, 2230, 1281, - 1271, 1999, 2085, 1196, 1700, 1989, 1569, 191, 1846, 802, - 138, 1532, 1847, 1533, 1419, 2173, 93, 1696, 768, 92, - 1838, 805, 908, 1593, 2080, 1793, 1541, 1127, 1845, 1125, - 1126, 1124, 1833, 1420, 1724, 1725, 1074, 1129, 1128, 1123, - 1358, 499, 502, 1507, 1816, 1116, 1084, 842, 1407, 463, - 1969, 1354, 1866, 1865, 1625, 983, 982, 992, 993, 985, - 986, 987, 988, 989, 990, 991, 984, 469, 1002, 994, - 1881, 1728, 1775, 625, 1882, 618, 1874, 1929, 502, 1876, - 1877, 2185, 2155, 2157, 1868, 2109, 2160, 1869, 1902, 191, - 2153, 1896, 2223, 2206, 1897, 1898, 192, 1899, 1900, 502, - 1540, 1467, 1880, 1072, 2039, 502, 502, 1883, 1906, 1907, - 1676, 1917, 1924, 1697, 1677, 1031, 1927, 1439, 1099, 524, - 1463, 1377, 503, 503, 503, 1684, 1685, 1881, 191, 1895, - 1921, 1691, 539, 536, 1694, 1695, 537, 1478, 1740, 976, - 503, 503, 1701, 522, 1702, 516, 1933, 1705, 1706, 1707, - 1708, 1709, 1091, 1499, 1942, 1497, 1496, 1316, 1103, 1940, - 1936, 1097, 1482, 1719, 1630, 1853, 1946, 955, 1948, 599, - 1949, 1947, 511, 97, 1436, 2143, 1664, 1748, 2028, 1977, - 598, 191, 61, 38, 191, 191, 191, 506, 1961, 1962, - 502, 1956, 2199, 946, 608, 32, 1911, 31, 30, 1954, - 29, 28, 23, 191, 22, 21, 20, 19, 25, 1763, - 1764, 1973, 1972, 18, 17, 16, 108, 48, 45, 192, - 2000, 502, 502, 502, 1932, 191, 43, 1984, 115, 1990, - 114, 46, 1571, 1987, 2008, 1993, 42, 883, 1992, 27, - 26, 15, 14, 13, 12, 11, 10, 503, 9, 5, - 192, 4, 192, 192, 949, 503, 24, 1020, 2, 0, - 0, 503, 1904, 2005, 2006, 0, 0, 0, 1985, 0, - 0, 0, 0, 2011, 0, 2016, 0, 0, 0, 0, - 2009, 0, 0, 0, 0, 1974, 1975, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1919, 0, 0, - 2038, 0, 0, 0, 0, 0, 0, 0, 2043, 0, - 0, 0, 0, 0, 0, 0, 0, 2052, 0, 0, - 0, 0, 0, 0, 0, 2051, 0, 0, 0, 0, - 0, 0, 0, 0, 2013, 2014, 0, 2015, 2057, 2059, - 2017, 0, 2019, 502, 502, 0, 0, 2058, 0, 0, - 2060, 0, 2062, 0, 0, 0, 502, 0, 2073, 502, - 2074, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1748, 0, 0, 2084, 0, 2092, 0, 0, 1878, 1879, - 0, 0, 0, 0, 0, 0, 0, 2087, 0, 0, - 0, 0, 0, 0, 502, 502, 502, 191, 0, 0, - 0, 2091, 0, 0, 0, 192, 0, 0, 502, 0, - 502, 2102, 2104, 2105, 0, 0, 502, 2106, 1927, 2098, - 0, 2116, 1927, 2114, 2107, 2118, 2112, 0, 2093, 2094, - 2095, 2096, 2097, 2121, 503, 2090, 2100, 2101, 191, 0, - 0, 0, 2120, 0, 1930, 0, 0, 0, 2122, 502, - 191, 503, 503, 2123, 503, 2124, 503, 503, 2133, 503, - 503, 503, 503, 503, 503, 1945, 2137, 2130, 2030, 0, - 0, 0, 0, 0, 503, 0, 2152, 0, 192, 0, - 0, 0, 0, 551, 0, 0, 0, 0, 0, 1927, - 0, 515, 2164, 0, 0, 0, 502, 502, 2053, 0, - 0, 2054, 2167, 0, 2056, 503, 0, 0, 2172, 0, - 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, - 0, 0, 2182, 192, 2087, 2174, 502, 192, 0, 2189, - 502, 0, 0, 2195, 2193, 190, 0, 0, 497, 0, - 0, 0, 2202, 192, 0, 190, 0, 2198, 0, 2211, - 192, 0, 2210, 190, 0, 0, 0, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 503, 503, 503, 2221, - 612, 612, 171, 2196, 0, 0, 0, 0, 0, 190, - 2010, 0, 0, 0, 2012, 0, 0, 0, 0, 0, - 0, 0, 192, 2237, 0, 2021, 2022, 113, 0, 1748, - 0, 0, 2247, 2111, 515, 0, 0, 0, 155, 0, - 171, 2036, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1826, 0, 0, 0, 0, 0, 0, 2045, 2046, - 0, 0, 2050, 0, 0, 113, 0, 135, 0, 0, - 0, 0, 0, 0, 0, 0, 155, 0, 0, 1781, - 0, 0, 0, 503, 0, 0, 190, 0, 0, 0, - 0, 0, 152, 0, 153, 0, 0, 190, 0, 0, - 0, 0, 190, 170, 0, 0, 0, 145, 0, 0, - 0, 0, 134, 0, 0, 0, 0, 503, 503, 2078, - 0, 0, 0, 0, 0, 0, 0, 0, 192, 0, - 152, 0, 153, 0, 0, 0, 0, 1199, 1200, 144, - 143, 170, 503, 0, 0, 0, 2025, 0, 0, 192, - 0, 0, 503, 0, 0, 0, 192, 0, 192, 0, - 0, 0, 156, 2103, 0, 0, 192, 192, 0, 0, - 0, 0, 161, 503, 0, 0, 503, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 503, 0, 139, - 1201, 146, 0, 1198, 0, 140, 141, 0, 0, 0, - 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 161, 0, 0, 0, 0, 0, 0, 0, 0, 2024, - 0, 0, 0, 2139, 2140, 2141, 2142, 0, 2146, 0, - 2147, 2148, 2149, 0, 2150, 2151, 0, 0, 0, 0, - 0, 0, 503, 0, 0, 0, 192, 0, 0, 0, - 503, 171, 0, 0, 550, 983, 982, 992, 993, 985, - 986, 987, 988, 989, 990, 991, 984, 0, 503, 994, - 0, 0, 0, 2178, 503, 0, 113, 0, 148, 0, - 978, 0, 981, 0, 0, 0, 0, 155, 995, 996, - 997, 998, 999, 1000, 1001, 0, 979, 980, 977, 983, - 982, 992, 993, 985, 986, 987, 988, 989, 990, 991, - 984, 0, 0, 994, 501, 0, 148, 2023, 503, 0, - 0, 0, 0, 0, 0, 0, 2217, 2218, 983, 982, + 867, 868, 869, 627, 958, 811, 2204, 620, 171, 86, + 87, 88, 89, 90, 91, 1901, 788, 2029, 786, 112, + 787, 2180, 1712, 968, 789, 1633, 810, 1951, 926, 1632, + 928, 842, 1871, 113, 177, 135, 1661, 514, 107, 1524, + 453, 454, 1184, 489, 155, 835, 836, 837, 564, 1515, + 570, 571, 568, 569, 1456, 567, 566, 565, 1777, 1952, + 1953, 1776, 847, 1573, 1778, 572, 573, 925, 927, 911, + 968, 1525, 1526, 912, 35, 145, 785, 72, 39, 40, + 134, 1113, 905, 1114, 899, 900, 935, 583, 112, 582, + 1794, 171, 182, 183, 184, 105, 488, 848, 152, 1542, + 153, 790, 956, 2020, 1860, 122, 123, 144, 143, 170, + 1361, 1362, 1363, 2018, 499, 1359, 113, 503, 964, 104, + 107, 172, 497, 585, 877, 2183, 1832, 155, 1596, 2144, + 983, 982, 992, 993, 985, 986, 987, 988, 989, 990, + 991, 984, 897, 1572, 994, 1854, 898, 899, 900, 71, + 1306, 1304, 1305, 1855, 1301, 1629, 1296, 139, 120, 146, + 127, 119, 1272, 140, 141, 964, 872, 913, 156, 934, + 924, 2233, 2201, 923, 929, 107, 906, 99, 161, 128, + 1861, 152, 102, 153, 176, 101, 100, 916, 917, 922, + 932, 918, 170, 131, 129, 124, 125, 126, 130, 1641, + 106, 914, 915, 121, 1273, 1308, 1274, 1309, 1302, 1310, + 1862, 881, 132, 489, 1863, 1298, 854, 489, 853, 1885, + 2128, 2076, 1598, 1492, 1300, 818, 816, 827, 1970, 826, + 825, 824, 105, 823, 822, 809, 821, 820, 809, 815, + 517, 791, 180, 1191, 885, 828, 2246, 180, 175, 1515, + 180, 156, 2077, 109, 963, 960, 961, 962, 967, 969, + 966, 161, 965, 1887, 878, 1299, 488, 489, 930, 959, + 488, 1631, 2249, 1646, 774, 2220, 501, 501, 501, 803, + 774, 774, 106, 802, 148, 772, 909, 895, 1864, 901, + 902, 903, 904, 931, 501, 501, 2179, 1211, 1210, 1791, + 1786, 963, 960, 961, 962, 967, 969, 966, 887, 965, + 936, 1181, 614, 1620, 1662, 1574, 959, 2171, 819, 817, + 488, 1714, 1716, 1313, 944, 1889, 838, 1893, 950, 1888, + 1820, 1886, 1628, 809, 1910, 1909, 1891, 106, 142, 2184, + 1908, 784, 783, 1787, 782, 1890, 1649, 933, 2145, 1443, + 136, 1648, 1842, 137, 884, 1616, 780, 459, 1892, 1894, + 1284, 1283, 1285, 1286, 1287, 1789, 451, 148, 1784, 1640, + 1649, 808, 1639, 180, 808, 1648, 2165, 812, 802, 2049, + 1785, 802, 805, 806, 809, 774, 1950, 813, 1738, 799, + 803, 1681, 1004, 896, 2244, 941, 942, 2245, 809, 2243, + 1531, 501, 73, 1606, 180, 814, 180, 180, 798, 501, + 1692, 1066, 1006, 1007, 1520, 501, 1089, 908, 1715, 1019, + 1065, 1689, 623, 890, 994, 953, 951, 952, 888, 910, + 1773, 1022, 880, 595, 984, 1390, 844, 994, 1470, 894, + 1792, 1790, 809, 876, 1355, 974, 2136, 830, 1094, 1388, + 1389, 1387, 94, 1061, 149, 154, 151, 157, 158, 159, + 160, 162, 163, 164, 165, 972, 973, 971, 1079, 808, + 166, 167, 168, 169, 1935, 920, 802, 805, 806, 1615, + 774, 1326, 971, 974, 799, 803, 1297, 1580, 975, 1036, + 1039, 1041, 1043, 1044, 1046, 1048, 1049, 95, 974, 1058, + 1115, 1040, 1042, 1077, 1045, 1047, 954, 1050, 983, 982, 992, 993, 985, 986, 987, 988, 989, 990, 991, 984, - 0, 152, 994, 153, 0, 0, 626, 0, 0, 772, - 0, 779, 170, 0, 0, 0, 0, 0, 0, 0, - 192, 0, 0, 0, 192, 192, 192, 192, 192, 0, - 142, 0, 0, 0, 190, 0, 0, 0, 192, 192, - 192, 192, 136, 0, 0, 137, 0, 0, 0, 0, - 0, 192, 0, 0, 0, 0, 0, 0, 192, 983, - 982, 992, 993, 985, 986, 987, 988, 989, 990, 991, - 984, 156, 0, 994, 0, 0, 0, 0, 0, 0, - 0, 161, 0, 192, 503, 0, 983, 982, 992, 993, + 808, 879, 994, 873, 514, 874, 812, 802, 875, 1903, + 627, 973, 971, 1032, 808, 1441, 813, 149, 154, 151, + 157, 158, 159, 160, 162, 163, 164, 165, 974, 1006, + 1007, 1788, 893, 166, 167, 168, 169, 1613, 1611, 180, + 1006, 1007, 1067, 1173, 818, 1071, 1074, 816, 1674, 972, + 973, 971, 1955, 1185, 1186, 1187, 1608, 1905, 808, 1608, + 843, 987, 988, 989, 990, 991, 984, 974, 501, 994, + 1207, 921, 182, 183, 184, 1082, 1408, 1327, 1216, 1441, + 1612, 1699, 1220, 1610, 174, 501, 501, 2235, 501, 1291, + 501, 501, 1217, 501, 501, 501, 501, 501, 501, 2250, + 1189, 1190, 182, 183, 184, 2064, 1799, 71, 501, 1203, + 1289, 1110, 180, 1256, 613, 2236, 2063, 1251, 1252, 1386, + 985, 986, 987, 988, 989, 990, 991, 984, 1269, 1196, + 994, 1279, 1409, 1225, 1976, 1226, 1808, 1228, 1230, 501, + 2225, 1234, 1236, 1238, 1240, 1242, 1807, 180, 1290, 1253, + 1577, 1215, 1472, 1292, 1378, 1380, 1381, 180, 1259, 1260, + 1277, 180, 1800, 1276, 1265, 1266, 1379, 2251, 2226, 1288, + 1213, 1213, 1275, 1687, 1666, 1667, 1668, 180, 1179, 1267, + 1188, 1686, 779, 1214, 180, 1193, 1194, 1206, 1912, 1192, + 1278, 180, 180, 180, 180, 180, 180, 180, 180, 180, + 501, 501, 501, 618, 615, 616, 972, 973, 971, 1261, + 1258, 1330, 182, 183, 184, 1471, 1780, 2229, 1334, 1257, + 1336, 1337, 1338, 1339, 974, 1341, 1232, 180, 2032, 1322, + 1254, 182, 183, 184, 596, 1590, 1913, 2228, 2227, 1356, + 972, 973, 971, 1328, 1329, 596, 1008, 1009, 1010, 1011, + 1012, 1013, 1014, 1015, 1016, 1017, 2216, 1333, 974, 1475, + 1476, 2214, 1384, 2099, 1340, 1407, 2061, 788, 1314, 2037, + 112, 787, 1319, 1958, 1410, 983, 982, 992, 993, 985, + 986, 987, 988, 989, 990, 991, 984, 1914, 501, 994, + 1332, 983, 982, 992, 993, 985, 986, 987, 988, 989, + 990, 991, 984, 1418, 1688, 994, 182, 183, 184, 1429, + 1432, 1411, 1412, 1809, 1817, 1442, 1805, 1366, 1351, 1352, + 1353, 1657, 501, 501, 182, 183, 184, 1624, 1588, 1623, + 1385, 1323, 1280, 180, 1268, 1264, 1424, 972, 973, 971, + 1263, 972, 973, 971, 1262, 1064, 1324, 501, 1857, 1419, + 1983, 2219, 1464, 2126, 180, 974, 2125, 501, 1420, 974, + 1923, 180, 1996, 180, 1022, 80, 182, 183, 184, 1934, + 1270, 180, 180, 1418, 1983, 2177, 1448, 1449, 501, 1983, + 2166, 501, 1983, 596, 1983, 2134, 2079, 596, 972, 973, + 971, 623, 501, 1834, 623, 1421, 540, 539, 542, 543, + 544, 545, 1819, 1510, 1516, 541, 974, 546, 1425, 1426, + 1608, 596, 1431, 1434, 1435, 1550, 1551, 1552, 1734, 1489, + 2047, 596, 1373, 1374, 1375, 1376, 1485, 1516, 1420, 1983, + 1988, 1968, 1967, 1535, 1964, 1965, 1534, 1609, 1447, 1964, + 1963, 1450, 1451, 596, 1483, 596, 35, 501, 1515, 1851, + 1734, 180, 1176, 1836, 82, 501, 1538, 1829, 1830, 180, + 1587, 1589, 1513, 1495, 596, 35, 1517, 1539, 1487, 970, + 596, 1565, 1934, 501, 1519, 1176, 1175, 1427, 1428, 501, + 1121, 1120, 1571, 1216, 1518, 1216, 2044, 1495, 1522, 1517, + 1741, 1494, 1608, 1607, 2115, 1537, 1465, 1515, 970, 627, + 1536, 1767, 627, 1521, 1484, 2135, 1477, 1983, 1966, 1515, + 1495, 2066, 1523, 1742, 1594, 514, 35, 1704, 1703, 1934, + 1483, 71, 589, 501, 1483, 1407, 1608, 1591, 1473, 1452, + 1407, 1407, 1543, 1364, 1544, 1545, 1546, 1547, 1561, 1562, + 71, 1814, 1495, 1578, 1566, 1575, 580, 1583, 1584, 1585, + 1555, 1556, 1557, 1558, 1312, 1576, 1604, 1107, 1605, 2067, + 2068, 2069, 1247, 2169, 1617, 180, 811, 1529, 1600, 180, + 180, 180, 180, 180, 1483, 1619, 1213, 793, 1566, 1599, + 1621, 1622, 1618, 180, 180, 180, 180, 810, 1603, 792, + 180, 71, 71, 2088, 1995, 181, 180, 71, 181, 2055, + 1178, 181, 1564, 180, 1856, 1601, 502, 1560, 181, 2031, + 1248, 1249, 1250, 1944, 1554, 1553, 181, 1294, 1208, 1204, + 1174, 96, 177, 2070, 1938, 1939, 1567, 1859, 180, 501, + 2089, 1184, 2238, 2232, 1652, 1653, 1941, 1923, 502, 1655, + 1825, 502, 181, 502, 1813, 1824, 1656, 1244, 1823, 1581, + 1357, 1315, 1943, 1755, 1754, 1627, 983, 982, 992, 993, + 985, 986, 987, 988, 989, 990, 991, 984, 2071, 2072, + 994, 1760, 1384, 1504, 1505, 1644, 983, 982, 992, 993, + 985, 986, 987, 988, 989, 990, 991, 984, 2222, 1814, + 994, 1758, 1245, 1246, 1756, 2203, 1759, 1382, 1915, 1757, + 1391, 1392, 1393, 1394, 1395, 1396, 1397, 1398, 1399, 1400, + 1401, 1402, 1403, 1404, 1405, 1723, 1076, 2188, 2048, 181, + 1986, 1732, 1660, 180, 1731, 2187, 1500, 1503, 1504, 1505, + 1501, 180, 1502, 1506, 2159, 2161, 1938, 1939, 2224, 2207, + 1385, 2209, 2191, 2162, 1669, 992, 993, 985, 986, 987, + 988, 989, 990, 991, 984, 180, 98, 994, 2156, 1444, + 1311, 581, 1720, 1818, 1437, 840, 180, 180, 180, 180, + 180, 103, 606, 602, 1727, 1721, 1748, 1682, 180, 1438, + 587, 839, 180, 1722, 1069, 180, 180, 2007, 603, 180, + 180, 180, 1739, 1698, 1743, 1813, 1070, 1736, 1870, 943, + 1678, 1679, 1779, 1061, 1710, 1844, 1843, 452, 113, 1718, + 2113, 1080, 1081, 605, 1765, 604, 1726, 1960, 1959, 173, + 1798, 1696, 455, 1602, 1795, 1796, 1222, 1768, 1735, 1221, + 1209, 1770, 1737, 2042, 1475, 1476, 1750, 1751, 1797, 1753, + 1801, 1802, 1803, 1468, 1761, 1749, 1821, 1318, 1752, 1782, + 1422, 1423, 180, 2127, 1766, 1683, 1771, 1774, 2083, 1322, + 1730, 1508, 1307, 501, 590, 591, 1665, 593, 1729, 501, + 1783, 2215, 501, 2213, 1216, 2212, 1571, 2192, 1833, 501, + 2190, 2041, 1982, 1816, 1592, 594, 1806, 82, 1918, 1837, + 1839, 1848, 2040, 1700, 606, 602, 1466, 1815, 1734, 180, + 1500, 1503, 1504, 1505, 1501, 1693, 1502, 1506, 1690, 1847, + 603, 2240, 2239, 589, 1090, 1083, 2240, 180, 2163, 1846, + 1957, 1469, 80, 1724, 1725, 1074, 85, 1196, 77, 1, + 472, 1453, 1059, 599, 600, 605, 1419, 604, 484, 2230, + 1281, 1271, 1999, 2085, 1989, 1420, 1845, 1838, 1569, 801, + 138, 1532, 501, 1533, 2173, 93, 767, 92, 1407, 804, + 907, 1593, 2080, 1793, 1541, 1881, 1127, 1125, 1126, 1866, + 1124, 1865, 1129, 1128, 1123, 1358, 498, 1507, 178, 1116, + 1883, 1084, 841, 462, 1969, 1354, 1625, 468, 501, 1874, + 1002, 1728, 1775, 624, 617, 1929, 1882, 1868, 181, 180, + 1869, 2185, 1880, 181, 2155, 1896, 181, 2157, 1895, 501, + 1902, 2109, 2160, 2153, 2223, 501, 501, 2206, 1540, 1467, + 1924, 1072, 1881, 1748, 2039, 1917, 1697, 1927, 1031, 1439, + 1099, 523, 502, 502, 502, 1911, 1463, 1377, 180, 538, + 535, 536, 1478, 1740, 976, 521, 515, 1091, 1933, 1499, + 502, 502, 982, 992, 993, 985, 986, 987, 988, 989, + 990, 991, 984, 1932, 1497, 994, 1496, 1942, 1946, 1316, + 1948, 1103, 1949, 1940, 1936, 1097, 1482, 1630, 1853, 955, + 1947, 598, 510, 97, 1436, 1961, 1962, 2026, 2143, 1977, + 1664, 180, 2028, 597, 180, 180, 180, 1954, 61, 38, + 501, 505, 2199, 946, 607, 32, 31, 30, 29, 1670, + 1671, 1672, 28, 180, 1985, 23, 22, 21, 20, 19, + 1973, 1972, 25, 18, 1974, 1975, 17, 16, 108, 181, + 2000, 501, 501, 501, 48, 180, 45, 1990, 43, 115, + 114, 1984, 46, 1571, 2008, 1987, 1993, 42, 882, 1992, + 27, 1904, 26, 15, 14, 13, 12, 502, 11, 10, + 181, 9, 181, 181, 5, 502, 4, 949, 24, 1020, + 1921, 502, 2, 0, 2005, 2006, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1919, 0, 0, 2016, + 0, 0, 0, 2038, 0, 0, 983, 982, 992, 993, 985, 986, 987, 988, 989, 990, 991, 984, 0, 0, - 994, 0, 0, 0, 0, 0, 0, 0, 149, 154, - 151, 157, 158, 159, 160, 162, 163, 164, 165, 0, - 0, 0, 0, 0, 166, 167, 168, 169, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 149, 154, 151, 157, - 158, 159, 160, 162, 163, 164, 165, 190, 0, 0, - 0, 0, 166, 167, 168, 169, 0, 0, 0, 0, - 0, 0, 1875, 612, 0, 0, 0, 0, 192, 0, - 0, 0, 0, 0, 0, 0, 192, 148, 190, 0, - 190, 1106, 983, 982, 992, 993, 985, 986, 987, 988, - 989, 990, 991, 984, 0, 0, 994, 0, 0, 0, - 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 192, 192, 192, 192, 192, 0, 0, 0, 0, - 0, 1675, 0, 192, 0, 0, 0, 192, 0, 171, - 192, 192, 0, 0, 192, 192, 192, 0, 0, 0, - 1195, 983, 982, 992, 993, 985, 986, 987, 988, 989, - 990, 991, 984, 0, 113, 994, 135, 0, 0, 0, - 0, 0, 0, 0, 0, 155, 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, 0, 0, 145, 192, 0, 0, - 0, 134, 0, 0, 0, 0, 0, 0, 503, 0, - 0, 0, 0, 0, 503, 0, 0, 503, 0, 152, - 0, 153, 0, 0, 503, 0, 1199, 1200, 144, 143, - 170, 0, 0, 190, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 192, 0, 0, 149, 154, 151, + 994, 0, 0, 0, 0, 0, 1748, 0, 0, 0, + 0, 0, 0, 2043, 0, 0, 0, 0, 0, 0, + 0, 0, 2052, 0, 0, 0, 0, 0, 0, 0, + 1676, 0, 0, 2060, 1677, 2062, 0, 2051, 0, 2058, + 0, 2059, 0, 501, 501, 1684, 1685, 0, 0, 0, + 2057, 1691, 0, 0, 1694, 1695, 501, 0, 0, 501, + 2074, 2073, 1701, 0, 1702, 0, 0, 1705, 1706, 1707, + 1708, 1709, 2087, 2084, 0, 2092, 0, 0, 0, 2013, + 2014, 0, 2015, 1719, 2091, 2017, 0, 2019, 0, 0, + 0, 0, 0, 0, 501, 501, 501, 180, 2090, 0, + 0, 0, 0, 2011, 0, 181, 0, 2107, 501, 0, + 501, 2102, 2104, 2105, 0, 0, 501, 0, 0, 1927, + 2112, 2106, 0, 1927, 0, 2118, 2114, 0, 0, 1763, + 1764, 0, 0, 2121, 502, 0, 0, 0, 180, 2116, + 2123, 0, 2124, 0, 0, 0, 0, 2030, 0, 501, + 180, 502, 502, 0, 502, 0, 502, 502, 0, 502, + 502, 502, 502, 502, 502, 2130, 2137, 0, 0, 0, + 514, 0, 0, 0, 502, 0, 2133, 2053, 181, 0, + 2054, 0, 0, 2056, 0, 1876, 1877, 2152, 0, 0, + 1927, 0, 2164, 0, 0, 0, 501, 501, 0, 0, + 1897, 1898, 0, 1899, 1900, 502, 0, 0, 2172, 2087, + 2174, 0, 0, 181, 1906, 1907, 0, 0, 0, 0, + 2167, 0, 0, 181, 550, 2025, 501, 181, 2189, 2182, + 501, 0, 2193, 2195, 0, 1748, 0, 0, 0, 0, + 0, 2202, 0, 181, 0, 0, 0, 2198, 2211, 2098, + 181, 0, 2210, 182, 183, 184, 0, 181, 181, 181, + 181, 181, 181, 181, 181, 181, 502, 502, 502, 2221, + 0, 0, 2120, 179, 0, 0, 458, 0, 2122, 496, + 0, 171, 2111, 514, 0, 0, 458, 0, 0, 0, + 0, 2024, 0, 181, 458, 2237, 0, 1956, 1878, 1879, + 0, 0, 2247, 0, 0, 0, 113, 0, 0, 0, + 0, 611, 611, 477, 0, 0, 0, 155, 0, 0, + 458, 0, 476, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 474, 983, 982, 992, 993, 985, 986, + 987, 988, 989, 990, 991, 984, 0, 0, 994, 0, + 0, 0, 0, 0, 502, 0, 0, 0, 1781, 0, + 0, 0, 0, 0, 1930, 0, 0, 0, 0, 0, + 0, 152, 471, 153, 0, 2023, 0, 0, 0, 0, + 0, 483, 170, 0, 0, 1945, 2009, 0, 502, 502, + 0, 0, 0, 0, 0, 0, 0, 458, 0, 181, + 983, 982, 992, 993, 985, 986, 987, 988, 989, 990, + 991, 984, 0, 502, 994, 0, 0, 0, 0, 0, + 181, 0, 0, 502, 0, 0, 0, 181, 489, 181, + 0, 0, 0, 0, 0, 0, 0, 181, 181, 0, + 0, 156, 0, 0, 502, 0, 0, 502, 0, 0, + 0, 161, 0, 0, 0, 461, 463, 464, 502, 480, + 482, 490, 0, 0, 0, 478, 479, 491, 465, 466, + 495, 494, 481, 0, 470, 467, 469, 475, 0, 0, + 0, 488, 473, 492, 983, 982, 992, 993, 985, 986, + 987, 988, 989, 990, 991, 984, 0, 0, 994, 0, + 2010, 0, 0, 0, 2012, 0, 0, 0, 0, 0, + 0, 0, 0, 502, 0, 2021, 2022, 181, 0, 0, + 0, 502, 0, 0, 0, 181, 0, 0, 0, 0, + 0, 2036, 0, 0, 2093, 2094, 2095, 2096, 2097, 502, + 0, 0, 2100, 2101, 0, 502, 0, 0, 2045, 2046, + 0, 978, 2050, 981, 0, 0, 0, 148, 0, 995, + 996, 997, 998, 999, 1000, 1001, 0, 979, 980, 977, + 983, 982, 992, 993, 985, 986, 987, 988, 989, 990, + 991, 984, 0, 549, 994, 0, 0, 0, 0, 502, + 1875, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 493, 0, 2078, + 983, 982, 992, 993, 985, 986, 987, 988, 989, 990, + 991, 984, 0, 0, 994, 486, 0, 0, 0, 0, + 0, 181, 0, 0, 0, 181, 181, 181, 181, 181, + 487, 0, 0, 500, 0, 0, 0, 0, 0, 181, + 181, 181, 181, 2103, 1144, 0, 181, 0, 0, 0, + 0, 0, 181, 0, 0, 0, 0, 0, 0, 181, + 0, 0, 0, 0, 0, 625, 458, 1675, 771, 2196, + 778, 458, 0, 0, 458, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 181, 502, 0, 983, 982, 992, + 993, 985, 986, 987, 988, 989, 990, 991, 984, 0, + 0, 994, 0, 2139, 2140, 2141, 2142, 0, 2146, 0, + 2147, 2148, 2149, 0, 2150, 2151, 0, 149, 154, 151, 157, 158, 159, 160, 162, 163, 164, 165, 0, 0, - 1062, 0, 192, 166, 167, 168, 169, 0, 0, 0, - 0, 0, 0, 0, 0, 1219, 0, 0, 139, 1201, - 146, 0, 1198, 0, 140, 141, 0, 0, 0, 156, - 0, 626, 626, 626, 0, 0, 0, 503, 0, 161, - 1219, 1219, 0, 0, 0, 0, 190, 0, 0, 945, - 947, 0, 189, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 505, 0, 0, 0, 0, 0, 0, 0, - 585, 0, 0, 503, 0, 0, 0, 0, 0, 0, - 0, 190, 0, 0, 192, 0, 0, 0, 0, 0, - 0, 190, 0, 0, 503, 1321, 776, 0, 0, 0, - 503, 503, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 190, 0, 0, 0, 0, 0, 0, 190, 0, - 0, 0, 0, 192, 0, 1342, 1343, 190, 190, 190, - 190, 190, 190, 190, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 148, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1087, 0, 0, 0, - 190, 0, 0, 0, 626, 0, 0, 0, 0, 0, - 1117, 0, 0, 871, 0, 0, 192, 0, 0, 192, - 192, 192, 0, 0, 884, 503, 0, 0, 0, 890, - 0, 0, 0, 0, 0, 0, 0, 0, 192, 142, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 136, 0, 0, 137, 0, 503, 503, 503, 0, - 192, 0, 612, 1321, 0, 0, 0, 612, 612, 0, - 0, 612, 612, 612, 0, 0, 0, 1219, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 553, 34, 0, - 0, 0, 0, 0, 0, 0, 0, 612, 612, 612, - 612, 612, 0, 0, 0, 0, 1461, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 34, 0, 0, 0, 0, 190, 0, 0, - 0, 0, 0, 1321, 190, 0, 190, 0, 0, 0, - 0, 0, 0, 0, 190, 190, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 149, 154, 151, 157, 158, - 159, 160, 162, 163, 164, 165, 0, 589, 0, 0, - 0, 166, 167, 168, 169, 0, 0, 0, 503, 503, - 0, 0, 0, 772, 0, 0, 0, 0, 0, 0, - 0, 503, 0, 0, 503, 0, 1218, 0, 0, 0, - 1224, 1224, 0, 1224, 0, 1224, 1224, 0, 1233, 1224, - 1224, 1224, 1224, 1224, 0, 0, 0, 0, 0, 0, - 0, 1218, 1218, 772, 190, 0, 0, 0, 0, 503, - 503, 503, 192, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 503, 0, 503, 0, 0, 0, 0, - 0, 503, 0, 0, 1293, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 503, 192, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 892, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 626, 626, 626, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 503, 503, 0, 0, 0, 0, 0, 190, 0, - 0, 0, 190, 190, 190, 190, 190, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 190, 190, 190, 190, - 0, 503, 0, 0, 0, 503, 0, 0, 0, 190, - 0, 0, 0, 0, 0, 0, 190, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 190, 1413, 0, 626, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1218, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1445, 1446, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1093, 0, 0, 1104, 612, - 612, 1479, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1087, 0, 0, 626, 0, 0, 0, 0, 0, - 612, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 626, 0, 0, 626, 190, 0, 0, 0, - 0, 0, 0, 0, 1461, 0, 772, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 612, 190, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1219, 190, - 190, 190, 190, 190, 0, 0, 0, 0, 0, 0, - 0, 1762, 0, 0, 0, 190, 0, 0, 190, 190, - 0, 779, 190, 1772, 1321, 0, 0, 0, 0, 1582, - 0, 0, 0, 0, 939, 939, 939, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 772, 0, 0, - 0, 0, 0, 779, 34, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1003, 1005, 0, - 1122, 0, 0, 0, 0, 0, 180, 181, 182, 0, - 0, 0, 0, 0, 0, 190, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 772, 1018, 0, - 1219, 0, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, - 1321, 1033, 1035, 1038, 1038, 1038, 1035, 1038, 1038, 1035, - 1038, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 0, 0, - 0, 0, 190, 1063, 0, 0, 478, 34, 0, 0, - 0, 0, 0, 1255, 0, 477, 0, 0, 0, 0, - 190, 0, 0, 0, 0, 0, 475, 0, 0, 0, - 0, 0, 0, 0, 1100, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1303, 0, - 0, 0, 0, 0, 612, 0, 0, 0, 1317, 0, - 0, 0, 0, 0, 0, 472, 0, 0, 0, 0, - 0, 0, 0, 1659, 484, 0, 0, 0, 1331, 0, - 0, 0, 0, 0, 0, 1335, 0, 0, 0, 0, - 0, 0, 0, 0, 1344, 1345, 1346, 1347, 1348, 1349, - 1350, 0, 190, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 166, 167, 168, 169, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2178, 0, 0, 0, 1132, 0, 0, + 0, 0, 0, 0, 35, 36, 37, 72, 39, 40, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 181, + 0, 0, 0, 0, 76, 0, 0, 181, 0, 41, + 67, 68, 0, 65, 69, 0, 0, 458, 0, 0, + 66, 1145, 0, 0, 0, 0, 2217, 2218, 0, 0, + 0, 181, 0, 611, 0, 0, 0, 0, 0, 0, + 0, 0, 181, 181, 181, 181, 181, 0, 458, 54, + 458, 1106, 0, 0, 181, 0, 0, 0, 181, 71, + 0, 181, 181, 0, 0, 181, 181, 181, 0, 0, + 0, 0, 1158, 1161, 1162, 1163, 1164, 1165, 1166, 0, + 1167, 1168, 1169, 1170, 1171, 1146, 1147, 1148, 1149, 1130, + 1131, 1159, 0, 1133, 0, 1134, 1135, 1136, 1137, 1138, + 1139, 1140, 1141, 1142, 1143, 1150, 1151, 1152, 1153, 1154, + 1155, 1156, 1157, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 181, 0, + 0, 44, 47, 50, 49, 52, 0, 64, 0, 502, + 70, 0, 0, 0, 0, 502, 0, 0, 502, 0, + 0, 0, 0, 0, 0, 502, 0, 0, 0, 0, + 0, 0, 0, 53, 75, 74, 0, 0, 62, 63, + 51, 0, 0, 0, 0, 181, 0, 0, 1160, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 181, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 458, 0, 0, 0, 0, 0, 55, + 56, 0, 57, 58, 59, 60, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 502, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1219, 0, 0, 0, 0, - 0, 490, 0, 0, 0, 0, 0, 1104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 190, 0, 0, 1144, 0, 0, 0, 462, 464, - 465, 0, 481, 483, 491, 0, 0, 0, 479, 480, - 492, 466, 467, 496, 495, 482, 0, 471, 468, 470, - 476, 0, 0, 0, 489, 474, 493, 0, 0, 0, + 0, 0, 0, 0, 502, 0, 0, 0, 0, 0, + 1219, 1219, 0, 0, 0, 181, 458, 0, 0, 625, + 625, 625, 0, 0, 0, 502, 0, 0, 0, 0, + 0, 502, 502, 0, 0, 0, 0, 945, 947, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 458, 73, 0, 181, 0, 0, 0, 0, 0, + 0, 458, 0, 0, 0, 1321, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 458, 0, 0, 0, 0, 0, 0, 458, 0, + 0, 0, 0, 0, 0, 1342, 1343, 458, 458, 458, + 458, 458, 458, 458, 0, 0, 0, 181, 0, 0, + 181, 181, 181, 0, 0, 0, 502, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 181, + 0, 458, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1062, 1087, 0, 0, 502, 502, 502, + 0, 181, 625, 0, 0, 0, 0, 0, 1117, 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, 0, 0, 0, + 0, 0, 0, 611, 1321, 457, 0, 0, 611, 611, + 0, 0, 611, 611, 611, 504, 0, 0, 1219, 0, + 0, 0, 0, 584, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 611, 611, + 611, 611, 611, 0, 0, 0, 0, 1461, 0, 775, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 458, 552, + 34, 0, 0, 0, 1321, 458, 0, 458, 0, 502, + 502, 0, 0, 0, 0, 458, 458, 0, 0, 0, + 0, 0, 502, 0, 0, 502, 0, 0, 0, 0, + 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 870, 0, 0, 0, + 502, 502, 502, 181, 0, 0, 0, 0, 0, 0, + 0, 771, 0, 0, 502, 0, 502, 0, 0, 588, + 0, 0, 502, 0, 1218, 0, 0, 0, 1224, 1224, + 0, 1224, 0, 1224, 1224, 458, 1233, 1224, 1224, 1224, + 1224, 1224, 0, 1586, 181, 0, 0, 0, 0, 1218, + 1218, 771, 0, 0, 0, 502, 181, 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, 1293, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 502, 502, 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, 502, 0, 0, 0, 502, 0, 0, 0, + 0, 0, 0, 625, 625, 625, 0, 0, 0, 458, + 0, 0, 0, 458, 458, 458, 458, 458, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 458, 458, 458, + 458, 0, 0, 0, 1650, 0, 0, 0, 0, 0, + 458, 0, 0, 0, 0, 0, 0, 458, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 458, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1413, 0, 625, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1218, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1445, 1446, 0, 0, 0, + 611, 611, 0, 0, 0, 883, 0, 0, 0, 0, + 889, 0, 0, 891, 0, 0, 0, 0, 0, 0, + 1479, 611, 0, 0, 0, 0, 0, 0, 0, 0, + 1087, 0, 0, 625, 0, 0, 0, 458, 0, 0, + 0, 0, 0, 0, 0, 1461, 0, 0, 0, 0, + 0, 625, 0, 0, 625, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 771, 0, 0, 611, 458, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1219, + 458, 458, 458, 458, 458, 0, 0, 0, 0, 0, + 0, 0, 1762, 0, 0, 0, 458, 0, 0, 458, + 458, 0, 0, 458, 1772, 1321, 0, 0, 0, 0, + 0, 171, 0, 0, 0, 0, 0, 0, 0, 0, + 778, 0, 1826, 0, 0, 0, 0, 0, 1582, 0, + 0, 0, 0, 0, 0, 0, 113, 0, 135, 0, + 0, 0, 0, 0, 0, 0, 771, 155, 0, 0, + 0, 0, 778, 0, 0, 938, 938, 938, 0, 0, + 0, 0, 0, 0, 0, 0, 458, 1093, 0, 0, + 1104, 0, 0, 0, 0, 34, 0, 0, 145, 0, + 0, 1219, 0, 134, 0, 0, 0, 0, 1003, 1005, + 0, 1321, 0, 0, 0, 0, 771, 0, 0, 0, + 0, 152, 0, 153, 0, 0, 0, 0, 1199, 1200, + 144, 143, 170, 458, 0, 0, 0, 0, 0, 1018, + 0, 0, 0, 1023, 1024, 1025, 1026, 1027, 1028, 1029, + 1030, 458, 1033, 1035, 1038, 1038, 1038, 1035, 1038, 1038, + 1035, 1038, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 0, + 0, 0, 0, 0, 1063, 0, 0, 0, 34, 0, + 139, 1201, 146, 171, 1198, 611, 140, 141, 0, 0, + 0, 156, 0, 0, 1195, 0, 0, 0, 0, 0, + 0, 161, 0, 0, 0, 1100, 0, 0, 113, 0, + 135, 0, 0, 0, 0, 0, 0, 0, 0, 155, + 0, 0, 1659, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 458, 0, 0, 0, 0, 0, 0, + 0, 0, 1122, 0, 0, 0, 1219, 0, 0, 0, + 145, 0, 0, 0, 0, 134, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 458, 152, 0, 153, 0, 0, 0, 0, + 1199, 1200, 144, 143, 170, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 148, 0, 0, + 0, 0, 0, 0, 0, 1255, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 458, 0, 0, 458, 458, + 458, 0, 139, 1201, 146, 0, 1198, 1219, 140, 141, + 0, 0, 0, 156, 0, 0, 0, 458, 0, 0, + 1303, 0, 0, 161, 0, 0, 0, 0, 1218, 0, + 1317, 142, 0, 0, 0, 0, 0, 0, 0, 458, + 0, 0, 0, 136, 0, 0, 137, 0, 0, 0, + 1331, 0, 0, 0, 0, 0, 0, 1335, 0, 0, + 0, 0, 0, 0, 0, 0, 1344, 1345, 1346, 1347, + 1348, 1349, 1350, 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, + 1104, 0, 0, 0, 0, 0, 0, 0, 0, 1219, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1828, 0, 0, 148, + 1218, 0, 1835, 0, 0, 1828, 0, 0, 0, 0, + 625, 0, 1840, 0, 0, 0, 0, 149, 154, 151, + 157, 158, 159, 160, 162, 163, 164, 165, 0, 0, + 0, 0, 0, 166, 167, 168, 169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 190, 0, 0, 190, 190, 190, - 0, 0, 0, 0, 0, 0, 1219, 0, 0, 1218, - 0, 0, 0, 0, 0, 0, 190, 0, 0, 0, + 0, 0, 0, 142, 0, 0, 0, 0, 0, 938, + 938, 938, 0, 0, 0, 136, 0, 0, 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 190, 0, + 0, 1461, 0, 0, 0, 625, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1486, 0, 0, + 0, 0, 0, 0, 1490, 0, 1493, 0, 0, 0, + 0, 0, 0, 0, 0, 1512, 0, 0, 0, 0, + 0, 1224, 458, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 458, 0, 0, 0, 0, 0, + 0, 0, 625, 0, 0, 1218, 0, 0, 1931, 1224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1486, 0, 0, 1132, 0, 0, - 0, 1490, 0, 1493, 0, 0, 0, 0, 0, 0, - 0, 0, 1512, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 149, + 154, 151, 157, 158, 159, 160, 162, 163, 164, 165, + 0, 0, 0, 0, 0, 166, 167, 168, 169, 0, + 0, 0, 0, 0, 1579, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 494, 1145, 0, 0, 0, 0, 0, 1828, 1219, 0, - 0, 1218, 0, 1835, 0, 0, 1828, 0, 487, 0, - 0, 626, 0, 1840, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 488, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 939, 939, - 939, 1579, 1158, 1161, 1162, 1163, 1164, 1165, 1166, 0, - 1167, 1168, 1169, 1170, 1171, 1146, 1147, 1148, 1149, 1130, - 1131, 1159, 0, 1133, 0, 1134, 1135, 1136, 1137, 1138, - 1139, 1140, 1141, 1142, 1143, 1150, 1151, 1152, 1153, 1154, - 1155, 1156, 1157, 0, 0, 0, 626, 0, 0, 0, - 0, 35, 36, 37, 72, 39, 40, 0, 0, 0, - 1461, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 76, 0, 0, 0, 0, 41, 67, 68, 0, - 65, 69, 1224, 0, 0, 0, 0, 66, 0, 0, + 1511, 0, 0, 771, 0, 0, 1218, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 190, 0, 626, 0, 0, 1218, 0, 1160, 1931, - 1224, 0, 0, 190, 0, 1104, 54, 0, 0, 1634, - 1635, 1636, 1637, 1638, 0, 0, 71, 0, 0, 0, - 0, 0, 0, 1642, 1643, 1104, 1645, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1651, 0, 0, 0, - 0, 0, 0, 1654, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1511, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1658, 0, - 0, 0, 0, 0, 0, 0, 0, 1219, 0, 0, - 0, 0, 0, 0, 772, 0, 0, 1218, 44, 47, - 50, 49, 52, 0, 64, 0, 0, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2001, 2002, 2003, 0, 0, - 53, 75, 74, 0, 0, 62, 63, 51, 0, 0, + 0, 0, 0, 0, 2001, 2002, 2003, 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, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 55, 56, 0, 57, - 58, 59, 60, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1218, + 0, 0, 0, 0, 0, 0, 0, 0, 1104, 0, + 0, 0, 1634, 1635, 1636, 1637, 1638, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1642, 1643, 1104, 1645, + 0, 0, 0, 0, 0, 0, 0, 0, 1218, 1651, + 0, 0, 0, 0, 0, 0, 1654, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1658, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1828, 2075, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1828, + 0, 0, 625, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1769, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1828, 2075, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1828, 0, 0, 626, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, + 0, 0, 0, 0, 0, 0, 0, 1828, 1828, 1828, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2117, 0, 2119, 0, 0, 0, 0, 0, 1828, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1828, 1828, - 1828, 0, 1822, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2117, 0, 2119, 0, 0, 0, 0, 0, - 1828, 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, 1852, - 0, 0, 0, 1828, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1867, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1680, 0, 0, 589, + 0, 0, 1828, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 626, 626, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1717, 0, 1218, 0, - 2194, 0, 0, 0, 1828, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1916, - 0, 0, 1100, 0, 0, 0, 0, 0, 0, 1744, - 1745, 0, 0, 1100, 1100, 1100, 1100, 1100, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1511, - 0, 0, 1100, 0, 0, 0, 1100, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1769, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 625, + 625, 0, 0, 0, 0, 0, 0, 0, 1680, 0, + 0, 588, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1218, 0, 2194, + 0, 0, 0, 1828, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1717, 0, + 0, 0, 0, 0, 0, 1822, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1100, 0, 0, 0, 0, 0, + 0, 1744, 1745, 0, 0, 1100, 1100, 1100, 1100, 1100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1511, 1852, 0, 1100, 0, 0, 0, 1100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1867, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1978, 0, 0, 1979, 1980, 1981, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1991, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1841, 0, 0, - 0, 0, 0, 0, 0, 2004, 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, 0, 0, 0, 0, 0, 1841, + 0, 0, 1916, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1586,2363 +1592,2362 @@ var yyAct = [...]int{ 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, 0, 0, + 0, 0, 0, 0, 1978, 0, 0, 1979, 1980, 1981, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1991, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1928, 0, 34, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1928, 0, 34, 0, 0, 0, 2004, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1100, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1100, 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, 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, 0, 0, 0, 0, 2129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2138, 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, 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, 0, 0, 2027, - 0, 0, 0, 0, 0, 0, 2033, 2034, 2035, 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, 0, 0, 0, + 0, 2027, 0, 0, 0, 0, 0, 0, 2033, 2034, + 2035, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2129, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2138, 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, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1928, 0, 34, 0, 1928, 0, 0, 0, + 0, 0, 0, 0, 1928, 0, 34, 0, 1928, 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, 0, 0, 0, - 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 34, 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, 0, 1928, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 750, 737, 34, 2168, 686, 753, 657, - 675, 762, 677, 680, 720, 637, 699, 336, 672, 0, - 661, 633, 668, 634, 659, 688, 246, 692, 656, 739, - 702, 752, 294, 0, 639, 662, 350, 722, 388, 232, - 303, 301, 416, 256, 249, 245, 231, 278, 309, 348, - 406, 342, 759, 298, 709, 0, 397, 321, 0, 0, + 0, 0, 0, 0, 0, 1928, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 750, 737, 34, 2168, 686, + 753, 657, 675, 762, 677, 680, 720, 636, 699, 327, + 672, 0, 661, 632, 668, 633, 659, 688, 237, 692, + 656, 739, 702, 752, 285, 0, 638, 662, 341, 722, + 379, 223, 294, 292, 407, 247, 240, 236, 222, 269, + 300, 339, 397, 333, 759, 289, 709, 0, 388, 312, + 0, 0, 0, 690, 742, 697, 733, 685, 721, 646, + 708, 754, 673, 717, 755, 275, 221, 190, 324, 389, + 251, 0, 0, 0, 182, 183, 184, 0, 2175, 2176, + 0, 0, 0, 0, 0, 212, 0, 219, 714, 749, + 670, 716, 233, 273, 239, 232, 404, 719, 765, 631, + 711, 0, 634, 637, 761, 745, 665, 666, 0, 0, + 0, 0, 0, 0, 0, 689, 698, 730, 683, 0, + 0, 0, 0, 0, 0, 0, 0, 663, 0, 707, + 0, 0, 0, 642, 635, 0, 0, 0, 0, 687, + 0, 0, 0, 645, 0, 664, 731, 0, 629, 259, + 639, 313, 0, 735, 744, 684, 435, 748, 682, 681, + 751, 726, 643, 741, 676, 284, 641, 281, 186, 201, + 0, 674, 323, 362, 368, 740, 660, 669, 224, 667, + 366, 337, 421, 208, 249, 359, 342, 364, 706, 724, + 365, 290, 409, 354, 419, 436, 437, 231, 317, 427, + 401, 433, 447, 202, 228, 331, 394, 424, 385, 310, + 405, 406, 280, 384, 257, 189, 288, 444, 200, 374, + 216, 193, 396, 417, 213, 377, 0, 0, 0, 195, + 415, 393, 307, 277, 278, 194, 0, 358, 235, 255, + 226, 326, 412, 413, 225, 449, 204, 432, 197, 940, + 431, 319, 408, 416, 308, 299, 196, 414, 306, 298, + 283, 245, 265, 352, 293, 353, 266, 315, 314, 316, + 0, 191, 0, 390, 425, 450, 210, 655, 736, 403, + 441, 446, 0, 355, 211, 256, 244, 351, 254, 286, + 440, 442, 443, 445, 209, 349, 262, 330, 420, 248, + 428, 318, 205, 268, 386, 282, 291, 728, 764, 336, + 367, 214, 423, 387, 650, 654, 648, 649, 700, 701, + 651, 756, 757, 758, 732, 644, 0, 652, 653, 0, + 738, 746, 747, 705, 185, 198, 287, 760, 356, 252, + 448, 430, 426, 630, 647, 230, 658, 0, 0, 671, + 678, 679, 691, 693, 694, 695, 696, 704, 712, 713, + 715, 723, 725, 727, 729, 734, 743, 763, 187, 188, + 199, 207, 217, 229, 242, 250, 260, 264, 267, 270, + 271, 274, 279, 296, 301, 302, 303, 304, 320, 321, + 322, 325, 328, 329, 332, 334, 335, 338, 344, 345, + 346, 347, 348, 350, 357, 361, 369, 370, 371, 372, + 373, 375, 376, 380, 381, 382, 383, 391, 395, 410, + 411, 422, 434, 438, 261, 418, 439, 0, 295, 703, + 710, 297, 246, 263, 272, 718, 429, 392, 203, 363, + 253, 192, 220, 206, 227, 241, 243, 276, 305, 311, + 340, 343, 258, 238, 218, 360, 215, 378, 398, 399, + 400, 402, 309, 234, 750, 737, 0, 0, 686, 753, + 657, 675, 762, 677, 680, 720, 636, 699, 327, 672, + 0, 661, 632, 668, 633, 659, 688, 237, 692, 656, + 739, 702, 752, 285, 0, 638, 662, 341, 722, 379, + 223, 294, 292, 407, 247, 240, 236, 222, 269, 300, + 339, 397, 333, 759, 289, 709, 0, 388, 312, 0, + 0, 0, 690, 742, 697, 733, 685, 721, 646, 708, + 754, 673, 717, 755, 275, 221, 190, 324, 389, 251, + 0, 0, 0, 182, 183, 184, 0, 0, 0, 0, + 0, 0, 0, 0, 212, 0, 219, 714, 749, 670, + 716, 233, 273, 239, 232, 404, 719, 765, 631, 711, + 0, 634, 637, 761, 745, 665, 666, 0, 0, 0, + 0, 0, 0, 0, 689, 698, 730, 683, 0, 0, + 0, 0, 0, 0, 1920, 0, 663, 0, 707, 0, + 0, 0, 642, 635, 0, 0, 0, 0, 687, 0, + 0, 0, 645, 0, 664, 731, 0, 629, 259, 639, + 313, 0, 735, 744, 684, 435, 748, 682, 681, 751, + 726, 643, 741, 676, 284, 641, 281, 186, 201, 0, + 674, 323, 362, 368, 740, 660, 669, 224, 667, 366, + 337, 421, 208, 249, 359, 342, 364, 706, 724, 365, + 290, 409, 354, 419, 436, 437, 231, 317, 427, 401, + 433, 447, 202, 228, 331, 394, 424, 385, 310, 405, + 406, 280, 384, 257, 189, 288, 444, 200, 374, 216, + 193, 396, 417, 213, 377, 0, 0, 0, 195, 415, + 393, 307, 277, 278, 194, 0, 358, 235, 255, 226, + 326, 412, 413, 225, 449, 204, 432, 197, 940, 431, + 319, 408, 416, 308, 299, 196, 414, 306, 298, 283, + 245, 265, 352, 293, 353, 266, 315, 314, 316, 0, + 191, 0, 390, 425, 450, 210, 655, 736, 403, 441, + 446, 0, 355, 211, 256, 244, 351, 254, 286, 440, + 442, 443, 445, 209, 349, 262, 330, 420, 248, 428, + 318, 205, 268, 386, 282, 291, 728, 764, 336, 367, + 214, 423, 387, 650, 654, 648, 649, 700, 701, 651, + 756, 757, 758, 732, 644, 0, 652, 653, 0, 738, + 746, 747, 705, 185, 198, 287, 760, 356, 252, 448, + 430, 426, 630, 647, 230, 658, 0, 0, 671, 678, + 679, 691, 693, 694, 695, 696, 704, 712, 713, 715, + 723, 725, 727, 729, 734, 743, 763, 187, 188, 199, + 207, 217, 229, 242, 250, 260, 264, 267, 270, 271, + 274, 279, 296, 301, 302, 303, 304, 320, 321, 322, + 325, 328, 329, 332, 334, 335, 338, 344, 345, 346, + 347, 348, 350, 357, 361, 369, 370, 371, 372, 373, + 375, 376, 380, 381, 382, 383, 391, 395, 410, 411, + 422, 434, 438, 261, 418, 439, 0, 295, 703, 710, + 297, 246, 263, 272, 718, 429, 392, 203, 363, 253, + 192, 220, 206, 227, 241, 243, 276, 305, 311, 340, + 343, 258, 238, 218, 360, 215, 378, 398, 399, 400, + 402, 309, 234, 750, 737, 0, 0, 686, 753, 657, + 675, 762, 677, 680, 720, 636, 699, 327, 672, 0, + 661, 632, 668, 633, 659, 688, 237, 692, 656, 739, + 702, 752, 285, 0, 638, 662, 341, 722, 379, 223, + 294, 292, 407, 247, 240, 236, 222, 269, 300, 339, + 397, 333, 759, 289, 709, 0, 388, 312, 0, 0, 0, 690, 742, 697, 733, 685, 721, 646, 708, 754, - 673, 717, 755, 284, 230, 198, 333, 398, 260, 0, - 0, 0, 180, 181, 182, 0, 2175, 2176, 0, 0, - 0, 0, 0, 221, 0, 228, 714, 749, 670, 716, - 242, 282, 248, 241, 413, 719, 765, 632, 711, 0, - 635, 638, 761, 745, 665, 666, 0, 0, 0, 0, + 673, 717, 755, 275, 221, 190, 324, 389, 251, 0, + 0, 0, 182, 183, 184, 0, 0, 0, 0, 0, + 0, 0, 0, 212, 0, 219, 714, 749, 670, 716, + 233, 273, 239, 232, 404, 719, 765, 631, 711, 0, + 634, 637, 761, 745, 665, 666, 0, 0, 0, 0, 0, 0, 0, 689, 698, 730, 683, 0, 0, 0, - 0, 0, 0, 0, 0, 663, 0, 707, 0, 0, - 0, 642, 636, 0, 0, 0, 0, 687, 0, 0, - 0, 645, 0, 664, 731, 0, 630, 268, 640, 322, - 0, 735, 744, 684, 444, 748, 682, 681, 751, 726, - 643, 741, 676, 293, 641, 290, 194, 209, 0, 674, - 332, 371, 377, 740, 660, 669, 233, 667, 375, 346, - 430, 217, 258, 368, 351, 373, 706, 724, 374, 299, - 418, 363, 428, 445, 446, 240, 326, 436, 410, 442, - 456, 210, 237, 340, 403, 433, 394, 319, 414, 415, - 289, 393, 266, 197, 297, 453, 208, 383, 225, 201, - 405, 426, 222, 386, 0, 0, 0, 203, 424, 402, - 316, 286, 287, 202, 0, 367, 244, 264, 235, 335, - 421, 422, 234, 458, 212, 441, 205, 213, 440, 328, - 417, 425, 317, 308, 204, 423, 315, 307, 292, 254, - 274, 361, 302, 362, 275, 324, 323, 325, 0, 199, - 0, 399, 434, 459, 219, 655, 736, 412, 450, 455, - 0, 364, 220, 265, 253, 360, 263, 295, 449, 451, - 452, 454, 218, 358, 271, 339, 429, 257, 437, 327, - 214, 277, 395, 291, 300, 728, 764, 345, 376, 223, - 432, 396, 650, 654, 648, 649, 700, 701, 651, 756, + 0, 0, 0, 1773, 0, 663, 0, 707, 0, 0, + 0, 642, 635, 0, 0, 0, 0, 687, 0, 0, + 0, 645, 0, 664, 731, 0, 629, 259, 639, 313, + 0, 735, 744, 684, 435, 748, 682, 681, 751, 726, + 643, 741, 676, 284, 641, 281, 186, 201, 0, 674, + 323, 362, 368, 740, 660, 669, 224, 667, 366, 337, + 421, 208, 249, 359, 342, 364, 706, 724, 365, 290, + 409, 354, 419, 436, 437, 231, 317, 427, 401, 433, + 447, 202, 228, 331, 394, 424, 385, 310, 405, 406, + 280, 384, 257, 189, 288, 444, 200, 374, 216, 193, + 396, 417, 213, 377, 0, 0, 0, 195, 415, 393, + 307, 277, 278, 194, 0, 358, 235, 255, 226, 326, + 412, 413, 225, 449, 204, 432, 197, 940, 431, 319, + 408, 416, 308, 299, 196, 414, 306, 298, 283, 245, + 265, 352, 293, 353, 266, 315, 314, 316, 0, 191, + 0, 390, 425, 450, 210, 655, 736, 403, 441, 446, + 0, 355, 211, 256, 244, 351, 254, 286, 440, 442, + 443, 445, 209, 349, 262, 330, 420, 248, 428, 318, + 205, 268, 386, 282, 291, 728, 764, 336, 367, 214, + 423, 387, 650, 654, 648, 649, 700, 701, 651, 756, 757, 758, 732, 644, 0, 652, 653, 0, 738, 746, - 747, 705, 193, 206, 296, 760, 365, 261, 457, 439, - 435, 631, 647, 239, 658, 0, 0, 671, 678, 679, + 747, 705, 185, 198, 287, 760, 356, 252, 448, 430, + 426, 630, 647, 230, 658, 0, 0, 671, 678, 679, 691, 693, 694, 695, 696, 704, 712, 713, 715, 723, - 725, 727, 729, 734, 743, 763, 195, 196, 207, 216, - 226, 238, 251, 259, 269, 273, 276, 279, 280, 283, - 288, 305, 310, 311, 312, 313, 329, 330, 331, 334, - 337, 338, 341, 343, 344, 347, 353, 354, 355, 356, - 357, 359, 366, 370, 378, 379, 380, 381, 382, 384, - 385, 389, 390, 391, 392, 400, 404, 419, 420, 431, - 443, 447, 270, 427, 448, 0, 304, 703, 710, 306, - 255, 272, 281, 718, 438, 401, 211, 372, 262, 200, - 229, 215, 236, 250, 252, 285, 314, 320, 349, 352, - 267, 247, 227, 369, 224, 387, 407, 408, 409, 411, - 318, 243, 750, 737, 0, 0, 686, 753, 657, 675, - 762, 677, 680, 720, 637, 699, 336, 672, 0, 661, - 633, 668, 634, 659, 688, 246, 692, 656, 739, 702, - 752, 294, 0, 639, 662, 350, 722, 388, 232, 303, - 301, 416, 256, 249, 245, 231, 278, 309, 348, 406, - 342, 759, 298, 709, 0, 397, 321, 0, 0, 0, + 725, 727, 729, 734, 743, 763, 187, 188, 199, 207, + 217, 229, 242, 250, 260, 264, 267, 270, 271, 274, + 279, 296, 301, 302, 303, 304, 320, 321, 322, 325, + 328, 329, 332, 334, 335, 338, 344, 345, 346, 347, + 348, 350, 357, 361, 369, 370, 371, 372, 373, 375, + 376, 380, 381, 382, 383, 391, 395, 410, 411, 422, + 434, 438, 261, 418, 439, 0, 295, 703, 710, 297, + 246, 263, 272, 718, 429, 392, 203, 363, 253, 192, + 220, 206, 227, 241, 243, 276, 305, 311, 340, 343, + 258, 238, 218, 360, 215, 378, 398, 399, 400, 402, + 309, 234, 750, 737, 0, 0, 686, 753, 657, 675, + 762, 677, 680, 720, 636, 699, 327, 672, 0, 661, + 632, 668, 633, 659, 688, 237, 692, 656, 739, 702, + 752, 285, 0, 638, 662, 341, 722, 379, 223, 294, + 292, 407, 247, 240, 236, 222, 269, 300, 339, 397, + 333, 759, 289, 709, 0, 388, 312, 0, 0, 0, 690, 742, 697, 733, 685, 721, 646, 708, 754, 673, - 717, 755, 284, 230, 198, 333, 398, 260, 0, 0, - 0, 180, 181, 182, 0, 0, 0, 0, 0, 0, - 0, 0, 221, 0, 228, 714, 749, 670, 716, 242, - 282, 248, 241, 413, 719, 765, 632, 711, 0, 635, - 638, 761, 745, 665, 666, 0, 0, 0, 0, 0, + 717, 755, 275, 221, 190, 324, 389, 251, 0, 0, + 0, 182, 183, 184, 0, 0, 0, 0, 0, 0, + 0, 0, 212, 0, 219, 714, 749, 670, 716, 233, + 273, 239, 232, 404, 719, 765, 631, 711, 0, 634, + 637, 761, 745, 665, 666, 0, 0, 0, 0, 0, 0, 0, 689, 698, 730, 683, 0, 0, 0, 0, - 0, 0, 1920, 0, 663, 0, 707, 0, 0, 0, - 642, 636, 0, 0, 0, 0, 687, 0, 0, 0, - 645, 0, 664, 731, 0, 630, 268, 640, 322, 0, - 735, 744, 684, 444, 748, 682, 681, 751, 726, 643, - 741, 676, 293, 641, 290, 194, 209, 0, 674, 332, - 371, 377, 740, 660, 669, 233, 667, 375, 346, 430, - 217, 258, 368, 351, 373, 706, 724, 374, 299, 418, - 363, 428, 445, 446, 240, 326, 436, 410, 442, 456, - 210, 237, 340, 403, 433, 394, 319, 414, 415, 289, - 393, 266, 197, 297, 453, 208, 383, 225, 201, 405, - 426, 222, 386, 0, 0, 0, 203, 424, 402, 316, - 286, 287, 202, 0, 367, 244, 264, 235, 335, 421, - 422, 234, 458, 212, 441, 205, 213, 440, 328, 417, - 425, 317, 308, 204, 423, 315, 307, 292, 254, 274, - 361, 302, 362, 275, 324, 323, 325, 0, 199, 0, - 399, 434, 459, 219, 655, 736, 412, 450, 455, 0, - 364, 220, 265, 253, 360, 263, 295, 449, 451, 452, - 454, 218, 358, 271, 339, 429, 257, 437, 327, 214, - 277, 395, 291, 300, 728, 764, 345, 376, 223, 432, - 396, 650, 654, 648, 649, 700, 701, 651, 756, 757, + 0, 0, 1488, 0, 663, 0, 707, 0, 0, 0, + 642, 635, 0, 0, 0, 0, 687, 0, 0, 0, + 645, 0, 664, 731, 0, 629, 259, 639, 313, 0, + 735, 744, 684, 435, 748, 682, 681, 751, 726, 643, + 741, 676, 284, 641, 281, 186, 201, 0, 674, 323, + 362, 368, 740, 660, 669, 224, 667, 366, 337, 421, + 208, 249, 359, 342, 364, 706, 724, 365, 290, 409, + 354, 419, 436, 437, 231, 317, 427, 401, 433, 447, + 202, 228, 331, 394, 424, 385, 310, 405, 406, 280, + 384, 257, 189, 288, 444, 200, 374, 216, 193, 396, + 417, 213, 377, 0, 0, 0, 195, 415, 393, 307, + 277, 278, 194, 0, 358, 235, 255, 226, 326, 412, + 413, 225, 449, 204, 432, 197, 940, 431, 319, 408, + 416, 308, 299, 196, 414, 306, 298, 283, 245, 265, + 352, 293, 353, 266, 315, 314, 316, 0, 191, 0, + 390, 425, 450, 210, 655, 736, 403, 441, 446, 0, + 355, 211, 256, 244, 351, 254, 286, 440, 442, 443, + 445, 209, 349, 262, 330, 420, 248, 428, 318, 205, + 268, 386, 282, 291, 728, 764, 336, 367, 214, 423, + 387, 650, 654, 648, 649, 700, 701, 651, 756, 757, 758, 732, 644, 0, 652, 653, 0, 738, 746, 747, - 705, 193, 206, 296, 760, 365, 261, 457, 439, 435, - 631, 647, 239, 658, 0, 0, 671, 678, 679, 691, + 705, 185, 198, 287, 760, 356, 252, 448, 430, 426, + 630, 647, 230, 658, 0, 0, 671, 678, 679, 691, 693, 694, 695, 696, 704, 712, 713, 715, 723, 725, - 727, 729, 734, 743, 763, 195, 196, 207, 216, 226, - 238, 251, 259, 269, 273, 276, 279, 280, 283, 288, - 305, 310, 311, 312, 313, 329, 330, 331, 334, 337, - 338, 341, 343, 344, 347, 353, 354, 355, 356, 357, - 359, 366, 370, 378, 379, 380, 381, 382, 384, 385, - 389, 390, 391, 392, 400, 404, 419, 420, 431, 443, - 447, 270, 427, 448, 0, 304, 703, 710, 306, 255, - 272, 281, 718, 438, 401, 211, 372, 262, 200, 229, - 215, 236, 250, 252, 285, 314, 320, 349, 352, 267, - 247, 227, 369, 224, 387, 407, 408, 409, 411, 318, - 243, 750, 737, 0, 0, 686, 753, 657, 675, 762, - 677, 680, 720, 637, 699, 336, 672, 0, 661, 633, - 668, 634, 659, 688, 246, 692, 656, 739, 702, 752, - 294, 0, 639, 662, 350, 722, 388, 232, 303, 301, - 416, 256, 249, 245, 231, 278, 309, 348, 406, 342, - 759, 298, 709, 0, 397, 321, 0, 0, 0, 690, + 727, 729, 734, 743, 763, 187, 188, 199, 207, 217, + 229, 242, 250, 260, 264, 267, 270, 271, 274, 279, + 296, 301, 302, 303, 304, 320, 321, 322, 325, 328, + 329, 332, 334, 335, 338, 344, 345, 346, 347, 348, + 350, 357, 361, 369, 370, 371, 372, 373, 375, 376, + 380, 381, 382, 383, 391, 395, 410, 411, 422, 434, + 438, 261, 418, 439, 0, 295, 703, 710, 297, 246, + 263, 272, 718, 429, 392, 203, 363, 253, 192, 220, + 206, 227, 241, 243, 276, 305, 311, 340, 343, 258, + 238, 218, 360, 215, 378, 398, 399, 400, 402, 309, + 234, 750, 737, 0, 0, 686, 753, 657, 675, 762, + 677, 680, 720, 636, 699, 327, 672, 0, 661, 632, + 668, 633, 659, 688, 237, 692, 656, 739, 702, 752, + 285, 0, 638, 662, 341, 722, 379, 223, 294, 292, + 407, 247, 240, 236, 222, 269, 300, 339, 397, 333, + 759, 289, 709, 0, 388, 312, 0, 0, 0, 690, 742, 697, 733, 685, 721, 646, 708, 754, 673, 717, - 755, 284, 230, 198, 333, 398, 260, 0, 0, 0, - 180, 181, 182, 0, 0, 0, 0, 0, 0, 0, - 0, 221, 0, 228, 714, 749, 670, 716, 242, 282, - 248, 241, 413, 719, 765, 632, 711, 0, 635, 638, + 755, 275, 221, 190, 324, 389, 251, 71, 0, 0, + 182, 183, 184, 0, 0, 0, 0, 0, 0, 0, + 0, 212, 0, 219, 714, 749, 670, 716, 233, 273, + 239, 232, 404, 719, 765, 631, 711, 0, 634, 637, 761, 745, 665, 666, 0, 0, 0, 0, 0, 0, 0, 689, 698, 730, 683, 0, 0, 0, 0, 0, - 0, 1773, 0, 663, 0, 707, 0, 0, 0, 642, - 636, 0, 0, 0, 0, 687, 0, 0, 0, 645, - 0, 664, 731, 0, 630, 268, 640, 322, 0, 735, - 744, 684, 444, 748, 682, 681, 751, 726, 643, 741, - 676, 293, 641, 290, 194, 209, 0, 674, 332, 371, - 377, 740, 660, 669, 233, 667, 375, 346, 430, 217, - 258, 368, 351, 373, 706, 724, 374, 299, 418, 363, - 428, 445, 446, 240, 326, 436, 410, 442, 456, 210, - 237, 340, 403, 433, 394, 319, 414, 415, 289, 393, - 266, 197, 297, 453, 208, 383, 225, 201, 405, 426, - 222, 386, 0, 0, 0, 203, 424, 402, 316, 286, - 287, 202, 0, 367, 244, 264, 235, 335, 421, 422, - 234, 458, 212, 441, 205, 213, 440, 328, 417, 425, - 317, 308, 204, 423, 315, 307, 292, 254, 274, 361, - 302, 362, 275, 324, 323, 325, 0, 199, 0, 399, - 434, 459, 219, 655, 736, 412, 450, 455, 0, 364, - 220, 265, 253, 360, 263, 295, 449, 451, 452, 454, - 218, 358, 271, 339, 429, 257, 437, 327, 214, 277, - 395, 291, 300, 728, 764, 345, 376, 223, 432, 396, + 0, 0, 0, 663, 0, 707, 0, 0, 0, 642, + 635, 0, 0, 0, 0, 687, 0, 0, 0, 645, + 0, 664, 731, 0, 629, 259, 639, 313, 0, 735, + 744, 684, 435, 748, 682, 681, 751, 726, 643, 741, + 676, 284, 641, 281, 186, 201, 0, 674, 323, 362, + 368, 740, 660, 669, 224, 667, 366, 337, 421, 208, + 249, 359, 342, 364, 706, 724, 365, 290, 409, 354, + 419, 436, 437, 231, 317, 427, 401, 433, 447, 202, + 228, 331, 394, 424, 385, 310, 405, 406, 280, 384, + 257, 189, 288, 444, 200, 374, 216, 193, 396, 417, + 213, 377, 0, 0, 0, 195, 415, 393, 307, 277, + 278, 194, 0, 358, 235, 255, 226, 326, 412, 413, + 225, 449, 204, 432, 197, 940, 431, 319, 408, 416, + 308, 299, 196, 414, 306, 298, 283, 245, 265, 352, + 293, 353, 266, 315, 314, 316, 0, 191, 0, 390, + 425, 450, 210, 655, 736, 403, 441, 446, 0, 355, + 211, 256, 244, 351, 254, 286, 440, 442, 443, 445, + 209, 349, 262, 330, 420, 248, 428, 318, 205, 268, + 386, 282, 291, 728, 764, 336, 367, 214, 423, 387, 650, 654, 648, 649, 700, 701, 651, 756, 757, 758, 732, 644, 0, 652, 653, 0, 738, 746, 747, 705, - 193, 206, 296, 760, 365, 261, 457, 439, 435, 631, - 647, 239, 658, 0, 0, 671, 678, 679, 691, 693, + 185, 198, 287, 760, 356, 252, 448, 430, 426, 630, + 647, 230, 658, 0, 0, 671, 678, 679, 691, 693, 694, 695, 696, 704, 712, 713, 715, 723, 725, 727, - 729, 734, 743, 763, 195, 196, 207, 216, 226, 238, - 251, 259, 269, 273, 276, 279, 280, 283, 288, 305, - 310, 311, 312, 313, 329, 330, 331, 334, 337, 338, - 341, 343, 344, 347, 353, 354, 355, 356, 357, 359, - 366, 370, 378, 379, 380, 381, 382, 384, 385, 389, - 390, 391, 392, 400, 404, 419, 420, 431, 443, 447, - 270, 427, 448, 0, 304, 703, 710, 306, 255, 272, - 281, 718, 438, 401, 211, 372, 262, 200, 229, 215, - 236, 250, 252, 285, 314, 320, 349, 352, 267, 247, - 227, 369, 224, 387, 407, 408, 409, 411, 318, 243, + 729, 734, 743, 763, 187, 188, 199, 207, 217, 229, + 242, 250, 260, 264, 267, 270, 271, 274, 279, 296, + 301, 302, 303, 304, 320, 321, 322, 325, 328, 329, + 332, 334, 335, 338, 344, 345, 346, 347, 348, 350, + 357, 361, 369, 370, 371, 372, 373, 375, 376, 380, + 381, 382, 383, 391, 395, 410, 411, 422, 434, 438, + 261, 418, 439, 0, 295, 703, 710, 297, 246, 263, + 272, 718, 429, 392, 203, 363, 253, 192, 220, 206, + 227, 241, 243, 276, 305, 311, 340, 343, 258, 238, + 218, 360, 215, 378, 398, 399, 400, 402, 309, 234, 750, 737, 0, 0, 686, 753, 657, 675, 762, 677, - 680, 720, 637, 699, 336, 672, 0, 661, 633, 668, - 634, 659, 688, 246, 692, 656, 739, 702, 752, 294, - 0, 639, 662, 350, 722, 388, 232, 303, 301, 416, - 256, 249, 245, 231, 278, 309, 348, 406, 342, 759, - 298, 709, 0, 397, 321, 0, 0, 0, 690, 742, + 680, 720, 636, 699, 327, 672, 0, 661, 632, 668, + 633, 659, 688, 237, 692, 656, 739, 702, 752, 285, + 0, 638, 662, 341, 722, 379, 223, 294, 292, 407, + 247, 240, 236, 222, 269, 300, 339, 397, 333, 759, + 289, 709, 0, 388, 312, 0, 0, 0, 690, 742, 697, 733, 685, 721, 646, 708, 754, 673, 717, 755, - 284, 230, 198, 333, 398, 260, 0, 0, 0, 180, - 181, 182, 0, 0, 0, 0, 0, 0, 0, 0, - 221, 0, 228, 714, 749, 670, 716, 242, 282, 248, - 241, 413, 719, 765, 632, 711, 0, 635, 638, 761, + 275, 221, 190, 324, 389, 251, 0, 0, 0, 182, + 183, 184, 0, 0, 0, 0, 0, 0, 0, 0, + 212, 0, 219, 714, 749, 670, 716, 233, 273, 239, + 232, 404, 719, 765, 631, 711, 0, 634, 637, 761, 745, 665, 666, 0, 0, 0, 0, 0, 0, 0, 689, 698, 730, 683, 0, 0, 0, 0, 0, 0, - 1488, 0, 663, 0, 707, 0, 0, 0, 642, 636, + 0, 0, 663, 0, 707, 0, 0, 0, 642, 635, 0, 0, 0, 0, 687, 0, 0, 0, 645, 0, - 664, 731, 0, 630, 268, 640, 322, 0, 735, 744, - 684, 444, 748, 682, 681, 751, 726, 643, 741, 676, - 293, 641, 290, 194, 209, 0, 674, 332, 371, 377, - 740, 660, 669, 233, 667, 375, 346, 430, 217, 258, - 368, 351, 373, 706, 724, 374, 299, 418, 363, 428, - 445, 446, 240, 326, 436, 410, 442, 456, 210, 237, - 340, 403, 433, 394, 319, 414, 415, 289, 393, 266, - 197, 297, 453, 208, 383, 225, 201, 405, 426, 222, - 386, 0, 0, 0, 203, 424, 402, 316, 286, 287, - 202, 0, 367, 244, 264, 235, 335, 421, 422, 234, - 458, 212, 441, 205, 213, 440, 328, 417, 425, 317, - 308, 204, 423, 315, 307, 292, 254, 274, 361, 302, - 362, 275, 324, 323, 325, 0, 199, 0, 399, 434, - 459, 219, 655, 736, 412, 450, 455, 0, 364, 220, - 265, 253, 360, 263, 295, 449, 451, 452, 454, 218, - 358, 271, 339, 429, 257, 437, 327, 214, 277, 395, - 291, 300, 728, 764, 345, 376, 223, 432, 396, 650, + 664, 731, 0, 629, 259, 639, 313, 0, 735, 744, + 684, 435, 748, 682, 681, 751, 726, 643, 741, 676, + 284, 641, 281, 186, 201, 0, 674, 323, 362, 368, + 740, 660, 669, 224, 667, 366, 337, 421, 208, 249, + 359, 342, 364, 706, 724, 365, 290, 409, 354, 419, + 436, 437, 231, 317, 427, 401, 433, 447, 202, 228, + 331, 394, 424, 385, 310, 405, 406, 280, 384, 257, + 189, 288, 444, 200, 374, 216, 193, 396, 417, 213, + 377, 0, 0, 0, 195, 415, 393, 307, 277, 278, + 194, 0, 358, 235, 255, 226, 326, 412, 413, 225, + 449, 204, 432, 197, 940, 431, 319, 408, 416, 308, + 299, 196, 414, 306, 298, 283, 245, 265, 352, 293, + 353, 266, 315, 314, 316, 0, 191, 0, 390, 425, + 450, 210, 655, 736, 403, 441, 446, 0, 355, 211, + 256, 244, 351, 254, 286, 440, 442, 443, 445, 209, + 349, 262, 330, 420, 248, 428, 318, 205, 268, 386, + 282, 291, 728, 764, 336, 367, 214, 423, 387, 650, 654, 648, 649, 700, 701, 651, 756, 757, 758, 732, - 644, 0, 652, 653, 0, 738, 746, 747, 705, 193, - 206, 296, 760, 365, 261, 457, 439, 435, 631, 647, - 239, 658, 0, 0, 671, 678, 679, 691, 693, 694, + 644, 0, 652, 653, 0, 738, 746, 747, 705, 185, + 198, 287, 760, 356, 252, 448, 430, 426, 630, 647, + 230, 658, 0, 0, 671, 678, 679, 691, 693, 694, 695, 696, 704, 712, 713, 715, 723, 725, 727, 729, - 734, 743, 763, 195, 196, 207, 216, 226, 238, 251, - 259, 269, 273, 276, 279, 280, 283, 288, 305, 310, - 311, 312, 313, 329, 330, 331, 334, 337, 338, 341, - 343, 344, 347, 353, 354, 355, 356, 357, 359, 366, - 370, 378, 379, 380, 381, 382, 384, 385, 389, 390, - 391, 392, 400, 404, 419, 420, 431, 443, 447, 270, - 427, 448, 0, 304, 703, 710, 306, 255, 272, 281, - 718, 438, 401, 211, 372, 262, 200, 229, 215, 236, - 250, 252, 285, 314, 320, 349, 352, 267, 247, 227, - 369, 224, 387, 407, 408, 409, 411, 318, 243, 750, + 734, 743, 763, 187, 188, 199, 207, 217, 229, 242, + 250, 260, 264, 267, 270, 271, 274, 279, 296, 301, + 302, 303, 304, 320, 321, 322, 325, 328, 329, 332, + 334, 335, 338, 344, 345, 346, 347, 348, 350, 357, + 361, 369, 370, 371, 372, 373, 375, 376, 380, 381, + 382, 383, 391, 395, 410, 411, 422, 434, 438, 261, + 418, 439, 0, 295, 703, 710, 297, 246, 263, 272, + 718, 429, 392, 203, 363, 253, 192, 220, 206, 227, + 241, 243, 276, 305, 311, 340, 343, 258, 238, 218, + 360, 215, 378, 398, 399, 400, 402, 309, 234, 750, 737, 0, 0, 686, 753, 657, 675, 762, 677, 680, - 720, 637, 699, 336, 672, 0, 661, 633, 668, 634, - 659, 688, 246, 692, 656, 739, 702, 752, 294, 0, - 639, 662, 350, 722, 388, 232, 303, 301, 416, 256, - 249, 245, 231, 278, 309, 348, 406, 342, 759, 298, - 709, 0, 397, 321, 0, 0, 0, 690, 742, 697, - 733, 685, 721, 646, 708, 754, 673, 717, 755, 284, - 230, 198, 333, 398, 260, 71, 0, 0, 180, 181, - 182, 0, 0, 0, 0, 0, 0, 0, 0, 221, - 0, 228, 714, 749, 670, 716, 242, 282, 248, 241, - 413, 719, 765, 632, 711, 0, 635, 638, 761, 745, + 720, 636, 699, 327, 672, 0, 661, 632, 668, 633, + 659, 688, 237, 692, 656, 739, 702, 752, 285, 0, + 638, 662, 341, 722, 379, 223, 294, 292, 407, 247, + 240, 236, 222, 269, 300, 339, 397, 333, 759, 289, + 709, 0, 388, 312, 0, 0, 0, 690, 742, 697, + 733, 685, 721, 646, 708, 754, 673, 717, 755, 275, + 221, 190, 324, 389, 251, 0, 0, 0, 182, 183, + 184, 0, 0, 0, 0, 0, 0, 0, 0, 212, + 0, 219, 714, 749, 670, 716, 233, 273, 239, 232, + 404, 719, 765, 631, 711, 0, 634, 637, 761, 745, 665, 666, 0, 0, 0, 0, 0, 0, 0, 689, 698, 730, 683, 0, 0, 0, 0, 0, 0, 0, - 0, 663, 0, 707, 0, 0, 0, 642, 636, 0, + 0, 663, 0, 707, 0, 0, 0, 642, 635, 0, 0, 0, 0, 687, 0, 0, 0, 645, 0, 664, - 731, 0, 630, 268, 640, 322, 0, 735, 744, 684, - 444, 748, 682, 681, 751, 726, 643, 741, 676, 293, - 641, 290, 194, 209, 0, 674, 332, 371, 377, 740, - 660, 669, 233, 667, 375, 346, 430, 217, 258, 368, - 351, 373, 706, 724, 374, 299, 418, 363, 428, 445, - 446, 240, 326, 436, 410, 442, 456, 210, 237, 340, - 403, 433, 394, 319, 414, 415, 289, 393, 266, 197, - 297, 453, 208, 383, 225, 201, 405, 426, 222, 386, - 0, 0, 0, 203, 424, 402, 316, 286, 287, 202, - 0, 367, 244, 264, 235, 335, 421, 422, 234, 458, - 212, 441, 205, 213, 440, 328, 417, 425, 317, 308, - 204, 423, 315, 307, 292, 254, 274, 361, 302, 362, - 275, 324, 323, 325, 0, 199, 0, 399, 434, 459, - 219, 655, 736, 412, 450, 455, 0, 364, 220, 265, - 253, 360, 263, 295, 449, 451, 452, 454, 218, 358, - 271, 339, 429, 257, 437, 327, 214, 277, 395, 291, - 300, 728, 764, 345, 376, 223, 432, 396, 650, 654, + 731, 0, 629, 259, 639, 313, 0, 735, 744, 684, + 435, 748, 682, 681, 751, 726, 643, 741, 676, 284, + 641, 281, 186, 201, 0, 674, 323, 362, 368, 740, + 660, 669, 224, 667, 366, 337, 421, 208, 249, 359, + 342, 364, 706, 724, 365, 290, 409, 354, 419, 436, + 437, 231, 317, 427, 401, 433, 447, 202, 228, 331, + 394, 424, 385, 310, 405, 406, 280, 384, 257, 189, + 288, 444, 200, 374, 216, 193, 396, 417, 213, 377, + 0, 0, 0, 195, 415, 393, 307, 277, 278, 194, + 0, 358, 235, 255, 226, 326, 412, 413, 225, 449, + 204, 432, 197, 640, 431, 319, 408, 416, 308, 299, + 196, 414, 306, 298, 283, 245, 265, 352, 293, 353, + 266, 315, 314, 316, 0, 191, 0, 390, 425, 450, + 210, 655, 736, 403, 441, 446, 0, 355, 211, 256, + 244, 351, 254, 286, 440, 442, 443, 445, 209, 349, + 262, 330, 420, 248, 428, 628, 766, 622, 621, 282, + 291, 728, 764, 336, 367, 214, 423, 387, 650, 654, 648, 649, 700, 701, 651, 756, 757, 758, 732, 644, - 0, 652, 653, 0, 738, 746, 747, 705, 193, 206, - 296, 760, 365, 261, 457, 439, 435, 631, 647, 239, + 0, 652, 653, 0, 738, 746, 747, 705, 185, 198, + 287, 760, 356, 252, 448, 430, 426, 630, 647, 230, 658, 0, 0, 671, 678, 679, 691, 693, 694, 695, 696, 704, 712, 713, 715, 723, 725, 727, 729, 734, - 743, 763, 195, 196, 207, 216, 226, 238, 251, 259, - 269, 273, 276, 279, 280, 283, 288, 305, 310, 311, - 312, 313, 329, 330, 331, 334, 337, 338, 341, 343, - 344, 347, 353, 354, 355, 356, 357, 359, 366, 370, - 378, 379, 380, 381, 382, 384, 385, 389, 390, 391, - 392, 400, 404, 419, 420, 431, 443, 447, 270, 427, - 448, 0, 304, 703, 710, 306, 255, 272, 281, 718, - 438, 401, 211, 372, 262, 200, 229, 215, 236, 250, - 252, 285, 314, 320, 349, 352, 267, 247, 227, 369, - 224, 387, 407, 408, 409, 411, 318, 243, 750, 737, + 743, 763, 187, 188, 199, 207, 217, 229, 242, 250, + 260, 264, 267, 270, 271, 274, 279, 296, 301, 302, + 303, 304, 320, 321, 322, 325, 328, 329, 332, 334, + 335, 338, 344, 345, 346, 347, 348, 350, 357, 361, + 369, 370, 371, 372, 373, 375, 376, 380, 381, 382, + 383, 391, 395, 410, 411, 422, 434, 438, 261, 418, + 439, 0, 295, 703, 710, 297, 246, 263, 272, 718, + 429, 392, 203, 363, 253, 192, 220, 206, 227, 241, + 243, 276, 305, 311, 340, 343, 258, 238, 218, 360, + 215, 378, 398, 399, 400, 402, 309, 234, 750, 737, 0, 0, 686, 753, 657, 675, 762, 677, 680, 720, - 637, 699, 336, 672, 0, 661, 633, 668, 634, 659, - 688, 246, 692, 656, 739, 702, 752, 294, 0, 639, - 662, 350, 722, 388, 232, 303, 301, 416, 256, 249, - 245, 231, 278, 309, 348, 406, 342, 759, 298, 709, - 0, 397, 321, 0, 0, 0, 690, 742, 697, 733, - 685, 721, 646, 708, 754, 673, 717, 755, 284, 230, - 198, 333, 398, 260, 0, 0, 0, 180, 181, 182, - 0, 0, 0, 0, 0, 0, 0, 0, 221, 0, - 228, 714, 749, 670, 716, 242, 282, 248, 241, 413, - 719, 765, 632, 711, 0, 635, 638, 761, 745, 665, + 636, 699, 327, 672, 0, 661, 632, 668, 633, 659, + 688, 237, 692, 656, 739, 702, 752, 285, 0, 638, + 662, 341, 722, 379, 223, 294, 292, 407, 247, 240, + 236, 222, 269, 300, 339, 397, 333, 759, 289, 709, + 0, 388, 312, 0, 0, 0, 690, 742, 697, 733, + 685, 721, 646, 708, 754, 673, 717, 755, 275, 221, + 190, 324, 389, 251, 0, 0, 0, 182, 183, 184, + 0, 0, 0, 0, 0, 0, 0, 0, 212, 0, + 219, 714, 749, 670, 716, 233, 273, 239, 232, 404, + 719, 765, 631, 711, 0, 634, 637, 761, 745, 665, 666, 0, 0, 0, 0, 0, 0, 0, 689, 698, 730, 683, 0, 0, 0, 0, 0, 0, 0, 0, - 663, 0, 707, 0, 0, 0, 642, 636, 0, 0, + 663, 0, 707, 0, 0, 0, 642, 635, 0, 0, 0, 0, 687, 0, 0, 0, 645, 0, 664, 731, - 0, 630, 268, 640, 322, 0, 735, 744, 684, 444, - 748, 682, 681, 751, 726, 643, 741, 676, 293, 641, - 290, 194, 209, 0, 674, 332, 371, 377, 740, 660, - 669, 233, 667, 375, 346, 430, 217, 258, 368, 351, - 373, 706, 724, 374, 299, 418, 363, 428, 445, 446, - 240, 326, 436, 410, 442, 456, 210, 237, 340, 403, - 433, 394, 319, 414, 415, 289, 393, 266, 197, 297, - 453, 208, 383, 225, 201, 405, 426, 222, 386, 0, - 0, 0, 203, 424, 402, 316, 286, 287, 202, 0, - 367, 244, 264, 235, 335, 421, 422, 234, 458, 212, - 441, 205, 213, 440, 328, 417, 425, 317, 308, 204, - 423, 315, 307, 292, 254, 274, 361, 302, 362, 275, - 324, 323, 325, 0, 199, 0, 399, 434, 459, 219, - 655, 736, 412, 450, 455, 0, 364, 220, 265, 253, - 360, 263, 295, 449, 451, 452, 454, 218, 358, 271, - 339, 429, 257, 437, 327, 214, 277, 395, 291, 300, - 728, 764, 345, 376, 223, 432, 396, 650, 654, 648, + 0, 629, 259, 639, 313, 0, 735, 744, 684, 435, + 748, 682, 681, 751, 726, 643, 741, 676, 284, 641, + 281, 186, 201, 0, 674, 323, 362, 368, 740, 660, + 669, 224, 667, 366, 337, 421, 208, 249, 359, 342, + 364, 706, 724, 365, 290, 409, 354, 419, 436, 437, + 231, 317, 427, 401, 433, 447, 202, 228, 331, 394, + 424, 385, 310, 405, 406, 280, 384, 257, 189, 288, + 444, 200, 374, 216, 193, 396, 1108, 213, 377, 0, + 0, 0, 195, 415, 393, 307, 277, 278, 194, 0, + 358, 235, 255, 226, 326, 412, 413, 225, 449, 204, + 432, 197, 640, 431, 319, 408, 416, 308, 299, 196, + 414, 306, 298, 283, 245, 265, 352, 293, 353, 266, + 315, 314, 316, 0, 191, 0, 390, 425, 450, 210, + 655, 736, 403, 441, 446, 0, 355, 211, 256, 244, + 351, 254, 286, 440, 442, 443, 445, 209, 349, 262, + 330, 420, 248, 428, 628, 766, 622, 621, 282, 291, + 728, 764, 336, 367, 214, 423, 387, 650, 654, 648, 649, 700, 701, 651, 756, 757, 758, 732, 644, 0, - 652, 653, 0, 738, 746, 747, 705, 193, 206, 296, - 760, 365, 261, 457, 439, 435, 631, 647, 239, 658, + 652, 653, 0, 738, 746, 747, 705, 185, 198, 287, + 760, 356, 252, 448, 430, 426, 630, 647, 230, 658, 0, 0, 671, 678, 679, 691, 693, 694, 695, 696, 704, 712, 713, 715, 723, 725, 727, 729, 734, 743, - 763, 195, 196, 207, 216, 226, 238, 251, 259, 269, - 273, 276, 279, 280, 283, 288, 305, 310, 311, 312, - 313, 329, 330, 331, 334, 337, 338, 341, 343, 344, - 347, 353, 354, 355, 356, 357, 359, 366, 370, 378, - 379, 380, 381, 382, 384, 385, 389, 390, 391, 392, - 400, 404, 419, 420, 431, 443, 447, 270, 427, 448, - 0, 304, 703, 710, 306, 255, 272, 281, 718, 438, - 401, 211, 372, 262, 200, 229, 215, 236, 250, 252, - 285, 314, 320, 349, 352, 267, 247, 227, 369, 224, - 387, 407, 408, 409, 411, 318, 243, 750, 737, 0, - 0, 686, 753, 657, 675, 762, 677, 680, 720, 637, - 699, 336, 672, 0, 661, 633, 668, 634, 659, 688, - 246, 692, 656, 739, 702, 752, 294, 0, 639, 662, - 350, 722, 388, 232, 303, 301, 416, 256, 249, 245, - 231, 278, 309, 348, 406, 342, 759, 298, 709, 0, - 397, 321, 0, 0, 0, 690, 742, 697, 733, 685, - 721, 646, 708, 754, 673, 717, 755, 284, 230, 198, - 333, 398, 260, 0, 0, 0, 180, 181, 182, 0, - 0, 0, 0, 0, 0, 0, 0, 221, 0, 228, - 714, 749, 670, 716, 242, 282, 248, 241, 413, 719, - 765, 632, 711, 0, 635, 638, 761, 745, 665, 666, + 763, 187, 188, 199, 207, 217, 229, 242, 250, 260, + 264, 267, 270, 271, 274, 279, 296, 301, 302, 303, + 304, 320, 321, 322, 325, 328, 329, 332, 334, 335, + 338, 344, 345, 346, 347, 348, 350, 357, 361, 369, + 370, 371, 372, 373, 375, 376, 380, 381, 382, 383, + 391, 395, 410, 411, 422, 434, 438, 261, 418, 439, + 0, 295, 703, 710, 297, 246, 263, 272, 718, 429, + 392, 203, 363, 253, 192, 220, 206, 227, 241, 243, + 276, 305, 311, 340, 343, 258, 238, 218, 360, 215, + 378, 398, 399, 400, 402, 309, 234, 750, 737, 0, + 0, 686, 753, 657, 675, 762, 677, 680, 720, 636, + 699, 327, 672, 0, 661, 632, 668, 633, 659, 688, + 237, 692, 656, 739, 702, 752, 285, 0, 638, 662, + 341, 722, 379, 223, 294, 292, 407, 247, 240, 236, + 222, 269, 300, 339, 397, 333, 759, 289, 709, 0, + 388, 312, 0, 0, 0, 690, 742, 697, 733, 685, + 721, 646, 708, 754, 673, 717, 755, 275, 221, 190, + 324, 389, 251, 0, 0, 0, 182, 183, 184, 0, + 0, 0, 0, 0, 0, 0, 0, 212, 0, 219, + 714, 749, 670, 716, 233, 273, 239, 232, 404, 719, + 765, 631, 711, 0, 634, 637, 761, 745, 665, 666, 0, 0, 0, 0, 0, 0, 0, 689, 698, 730, 683, 0, 0, 0, 0, 0, 0, 0, 0, 663, - 0, 707, 0, 0, 0, 642, 636, 0, 0, 0, + 0, 707, 0, 0, 0, 642, 635, 0, 0, 0, 0, 687, 0, 0, 0, 645, 0, 664, 731, 0, - 630, 268, 640, 322, 0, 735, 744, 684, 444, 748, - 682, 681, 751, 726, 643, 741, 676, 293, 641, 290, - 194, 209, 0, 674, 332, 371, 377, 740, 660, 669, - 233, 667, 375, 346, 430, 217, 258, 368, 351, 373, - 706, 724, 374, 299, 418, 363, 428, 445, 446, 240, - 326, 436, 410, 442, 456, 210, 237, 340, 403, 433, - 394, 319, 414, 415, 289, 393, 266, 197, 297, 453, - 208, 383, 225, 201, 405, 426, 222, 386, 0, 0, - 0, 203, 424, 402, 316, 286, 287, 202, 0, 367, - 244, 264, 235, 335, 421, 422, 234, 458, 212, 441, - 205, 767, 440, 328, 417, 425, 317, 308, 204, 423, - 315, 307, 292, 254, 274, 361, 302, 362, 275, 324, - 323, 325, 0, 199, 0, 399, 434, 459, 219, 655, - 736, 412, 450, 455, 0, 364, 220, 265, 253, 360, - 263, 295, 449, 451, 452, 454, 218, 358, 271, 339, - 429, 257, 437, 629, 766, 623, 622, 291, 300, 728, - 764, 345, 376, 223, 432, 396, 650, 654, 648, 649, + 629, 259, 639, 313, 0, 735, 744, 684, 435, 748, + 682, 681, 751, 726, 643, 741, 676, 284, 641, 281, + 186, 201, 0, 674, 323, 362, 368, 740, 660, 669, + 224, 667, 366, 337, 421, 208, 249, 359, 342, 364, + 706, 724, 365, 290, 409, 354, 419, 436, 437, 231, + 317, 427, 401, 433, 447, 202, 228, 331, 394, 424, + 385, 310, 405, 406, 280, 384, 257, 189, 288, 444, + 200, 374, 216, 193, 396, 619, 213, 377, 0, 0, + 0, 195, 415, 393, 307, 277, 278, 194, 0, 358, + 235, 255, 226, 326, 412, 413, 225, 449, 204, 432, + 197, 640, 431, 319, 408, 416, 308, 299, 196, 414, + 306, 298, 283, 245, 265, 352, 293, 353, 266, 315, + 314, 316, 0, 191, 0, 390, 425, 450, 210, 655, + 736, 403, 441, 446, 0, 355, 211, 256, 244, 351, + 254, 286, 440, 442, 443, 445, 209, 349, 262, 330, + 420, 248, 428, 628, 766, 622, 621, 282, 291, 728, + 764, 336, 367, 214, 423, 387, 650, 654, 648, 649, 700, 701, 651, 756, 757, 758, 732, 644, 0, 652, - 653, 0, 738, 746, 747, 705, 193, 206, 296, 760, - 365, 261, 457, 439, 435, 631, 647, 239, 658, 0, + 653, 0, 738, 746, 747, 705, 185, 198, 287, 760, + 356, 252, 448, 430, 426, 630, 647, 230, 658, 0, 0, 671, 678, 679, 691, 693, 694, 695, 696, 704, 712, 713, 715, 723, 725, 727, 729, 734, 743, 763, - 195, 196, 207, 216, 226, 238, 251, 259, 269, 273, - 276, 279, 280, 283, 288, 305, 310, 311, 312, 313, - 329, 330, 331, 334, 337, 338, 341, 343, 344, 347, - 353, 354, 355, 356, 357, 359, 366, 370, 378, 379, - 380, 381, 382, 384, 385, 389, 390, 391, 392, 400, - 404, 419, 420, 431, 443, 447, 270, 427, 448, 0, - 304, 703, 710, 306, 255, 272, 281, 718, 438, 401, - 211, 372, 262, 200, 229, 215, 236, 250, 252, 285, - 314, 320, 349, 352, 267, 247, 227, 369, 224, 387, - 407, 408, 409, 411, 318, 243, 750, 737, 0, 0, - 686, 753, 657, 675, 762, 677, 680, 720, 637, 699, - 336, 672, 0, 661, 633, 668, 634, 659, 688, 246, - 692, 656, 739, 702, 752, 294, 0, 639, 662, 350, - 722, 388, 232, 303, 301, 416, 256, 249, 245, 231, - 278, 309, 348, 406, 342, 759, 298, 709, 0, 397, - 321, 0, 0, 0, 690, 742, 697, 733, 685, 721, - 646, 708, 754, 673, 717, 755, 284, 230, 198, 333, - 398, 260, 0, 0, 0, 180, 181, 182, 0, 0, - 0, 0, 0, 0, 0, 0, 221, 0, 228, 714, - 749, 670, 716, 242, 282, 248, 241, 413, 719, 765, - 632, 711, 0, 635, 638, 761, 745, 665, 666, 0, - 0, 0, 0, 0, 0, 0, 689, 698, 730, 683, - 0, 0, 0, 0, 0, 0, 0, 0, 663, 0, - 707, 0, 0, 0, 642, 636, 0, 0, 0, 0, - 687, 0, 0, 0, 645, 0, 664, 731, 0, 630, - 268, 640, 322, 0, 735, 744, 684, 444, 748, 682, - 681, 751, 726, 643, 741, 676, 293, 641, 290, 194, - 209, 0, 674, 332, 371, 377, 740, 660, 669, 233, - 667, 375, 346, 430, 217, 258, 368, 351, 373, 706, - 724, 374, 299, 418, 363, 428, 445, 446, 240, 326, - 436, 410, 442, 456, 210, 237, 340, 403, 433, 394, - 319, 414, 415, 289, 393, 266, 197, 297, 453, 208, - 383, 225, 201, 405, 1108, 222, 386, 0, 0, 0, - 203, 424, 402, 316, 286, 287, 202, 0, 367, 244, - 264, 235, 335, 421, 422, 234, 458, 212, 441, 205, - 767, 440, 328, 417, 425, 317, 308, 204, 423, 315, - 307, 292, 254, 274, 361, 302, 362, 275, 324, 323, - 325, 0, 199, 0, 399, 434, 459, 219, 655, 736, - 412, 450, 455, 0, 364, 220, 265, 253, 360, 263, - 295, 449, 451, 452, 454, 218, 358, 271, 339, 429, - 257, 437, 629, 766, 623, 622, 291, 300, 728, 764, - 345, 376, 223, 432, 396, 650, 654, 648, 649, 700, - 701, 651, 756, 757, 758, 732, 644, 0, 652, 653, - 0, 738, 746, 747, 705, 193, 206, 296, 760, 365, - 261, 457, 439, 435, 631, 647, 239, 658, 0, 0, - 671, 678, 679, 691, 693, 694, 695, 696, 704, 712, - 713, 715, 723, 725, 727, 729, 734, 743, 763, 195, - 196, 207, 216, 226, 238, 251, 259, 269, 273, 276, - 279, 280, 283, 288, 305, 310, 311, 312, 313, 329, - 330, 331, 334, 337, 338, 341, 343, 344, 347, 353, - 354, 355, 356, 357, 359, 366, 370, 378, 379, 380, - 381, 382, 384, 385, 389, 390, 391, 392, 400, 404, - 419, 420, 431, 443, 447, 270, 427, 448, 0, 304, - 703, 710, 306, 255, 272, 281, 718, 438, 401, 211, - 372, 262, 200, 229, 215, 236, 250, 252, 285, 314, - 320, 349, 352, 267, 247, 227, 369, 224, 387, 407, - 408, 409, 411, 318, 243, 750, 737, 0, 0, 686, - 753, 657, 675, 762, 677, 680, 720, 637, 699, 336, - 672, 0, 661, 633, 668, 634, 659, 688, 246, 692, - 656, 739, 702, 752, 294, 0, 639, 662, 350, 722, - 388, 232, 303, 301, 416, 256, 249, 245, 231, 278, - 309, 348, 406, 342, 759, 298, 709, 0, 397, 321, - 0, 0, 0, 690, 742, 697, 733, 685, 721, 646, - 708, 754, 673, 717, 755, 284, 230, 198, 333, 398, - 260, 0, 0, 0, 180, 181, 182, 0, 0, 0, - 0, 0, 0, 0, 0, 221, 0, 228, 714, 749, - 670, 716, 242, 282, 248, 241, 413, 719, 765, 632, - 711, 0, 635, 638, 761, 745, 665, 666, 0, 0, - 0, 0, 0, 0, 0, 689, 698, 730, 683, 0, - 0, 0, 0, 0, 0, 0, 0, 663, 0, 707, - 0, 0, 0, 642, 636, 0, 0, 0, 0, 687, - 0, 0, 0, 645, 0, 664, 731, 0, 630, 268, - 640, 322, 0, 735, 744, 684, 444, 748, 682, 681, - 751, 726, 643, 741, 676, 293, 641, 290, 194, 209, - 0, 674, 332, 371, 377, 740, 660, 669, 233, 667, - 375, 346, 430, 217, 258, 368, 351, 373, 706, 724, - 374, 299, 418, 363, 428, 445, 446, 240, 326, 436, - 410, 442, 456, 210, 237, 340, 403, 433, 394, 319, - 414, 415, 289, 393, 266, 197, 297, 453, 208, 383, - 225, 201, 405, 620, 222, 386, 0, 0, 0, 203, - 424, 402, 316, 286, 287, 202, 0, 367, 244, 264, - 235, 335, 421, 422, 234, 458, 212, 441, 205, 767, - 440, 328, 417, 425, 317, 308, 204, 423, 315, 307, - 292, 254, 274, 361, 302, 362, 275, 324, 323, 325, - 0, 199, 0, 399, 434, 459, 219, 655, 736, 412, - 450, 455, 0, 364, 220, 265, 253, 360, 263, 295, - 449, 451, 452, 454, 218, 358, 271, 339, 429, 257, - 437, 629, 766, 623, 622, 291, 300, 728, 764, 345, - 376, 223, 432, 396, 650, 654, 648, 649, 700, 701, - 651, 756, 757, 758, 732, 644, 0, 652, 653, 0, - 738, 746, 747, 705, 193, 206, 296, 760, 365, 261, - 457, 439, 435, 631, 647, 239, 658, 0, 0, 671, - 678, 679, 691, 693, 694, 695, 696, 704, 712, 713, - 715, 723, 725, 727, 729, 734, 743, 763, 195, 196, - 207, 216, 226, 238, 251, 259, 269, 273, 276, 279, - 280, 283, 288, 305, 310, 311, 312, 313, 329, 330, - 331, 334, 337, 338, 341, 343, 344, 347, 353, 354, - 355, 356, 357, 359, 366, 370, 378, 379, 380, 381, - 382, 384, 385, 389, 390, 391, 392, 400, 404, 419, - 420, 431, 443, 447, 270, 427, 448, 0, 304, 703, - 710, 306, 255, 272, 281, 718, 438, 401, 211, 372, - 262, 200, 229, 215, 236, 250, 252, 285, 314, 320, - 349, 352, 267, 247, 227, 369, 224, 387, 407, 408, - 409, 411, 318, 243, 336, 0, 0, 1415, 0, 520, - 0, 0, 0, 246, 0, 519, 0, 0, 0, 294, - 0, 0, 1416, 350, 0, 388, 232, 303, 301, 416, - 256, 249, 245, 231, 278, 309, 348, 406, 342, 563, - 298, 0, 0, 397, 321, 0, 0, 0, 0, 0, - 554, 555, 0, 0, 0, 0, 0, 0, 0, 0, - 284, 230, 198, 333, 398, 260, 71, 0, 0, 180, - 181, 182, 541, 540, 543, 544, 545, 546, 0, 0, - 221, 542, 228, 547, 548, 549, 0, 242, 282, 248, - 241, 413, 0, 0, 0, 517, 534, 0, 562, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 531, 532, - 610, 0, 0, 0, 578, 0, 533, 0, 0, 526, - 527, 529, 528, 530, 535, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 268, 0, 322, 0, 577, 0, - 0, 444, 0, 0, 575, 0, 0, 0, 0, 0, - 293, 0, 290, 194, 209, 0, 0, 332, 371, 377, - 0, 0, 0, 233, 0, 375, 346, 430, 217, 258, - 368, 351, 373, 0, 0, 374, 299, 418, 363, 428, - 445, 446, 240, 326, 436, 410, 442, 456, 210, 237, - 340, 403, 433, 394, 319, 414, 415, 289, 393, 266, - 197, 297, 453, 208, 383, 225, 201, 405, 426, 222, - 386, 0, 0, 0, 203, 424, 402, 316, 286, 287, - 202, 0, 367, 244, 264, 235, 335, 421, 422, 234, - 458, 212, 441, 205, 213, 440, 328, 417, 425, 317, - 308, 204, 423, 315, 307, 292, 254, 274, 361, 302, - 362, 275, 324, 323, 325, 0, 199, 0, 399, 434, - 459, 219, 0, 0, 412, 450, 455, 0, 364, 220, - 265, 253, 360, 263, 295, 449, 451, 452, 454, 218, - 358, 271, 339, 429, 257, 437, 327, 214, 277, 395, - 291, 300, 0, 0, 345, 376, 223, 432, 396, 565, - 576, 571, 572, 569, 570, 564, 568, 567, 566, 579, - 556, 557, 558, 559, 561, 0, 573, 574, 560, 193, - 206, 296, 0, 365, 261, 457, 439, 435, 0, 0, - 239, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 195, 196, 207, 216, 226, 238, 251, - 259, 269, 273, 276, 279, 280, 283, 288, 305, 310, - 311, 312, 313, 329, 330, 331, 334, 337, 338, 341, - 343, 344, 347, 353, 354, 355, 356, 357, 359, 366, - 370, 378, 379, 380, 381, 382, 384, 385, 389, 390, - 391, 392, 400, 404, 419, 420, 431, 443, 447, 270, - 427, 448, 0, 304, 0, 0, 306, 255, 272, 281, - 0, 438, 401, 211, 372, 262, 200, 229, 215, 236, - 250, 252, 285, 314, 320, 349, 352, 267, 247, 227, - 369, 224, 387, 407, 408, 409, 411, 318, 243, 336, - 0, 0, 0, 0, 520, 0, 0, 0, 246, 0, - 519, 0, 0, 0, 294, 0, 0, 0, 350, 0, - 388, 232, 303, 301, 416, 256, 249, 245, 231, 278, - 309, 348, 406, 342, 563, 298, 0, 0, 397, 321, - 0, 0, 0, 0, 0, 554, 555, 0, 0, 0, - 0, 0, 0, 1527, 0, 284, 230, 198, 333, 398, - 260, 71, 0, 0, 180, 181, 182, 541, 540, 543, - 544, 545, 546, 0, 0, 221, 542, 228, 547, 548, - 549, 1528, 242, 282, 248, 241, 413, 0, 0, 0, - 517, 534, 0, 562, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 531, 532, 0, 0, 0, 0, 578, - 0, 533, 0, 0, 526, 527, 529, 528, 530, 535, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, - 0, 322, 0, 577, 0, 0, 444, 0, 0, 575, - 0, 0, 0, 0, 0, 293, 0, 290, 194, 209, - 0, 0, 332, 371, 377, 0, 0, 0, 233, 0, - 375, 346, 430, 217, 258, 368, 351, 373, 0, 0, - 374, 299, 418, 363, 428, 445, 446, 240, 326, 436, - 410, 442, 456, 210, 237, 340, 403, 433, 394, 319, - 414, 415, 289, 393, 266, 197, 297, 453, 208, 383, - 225, 201, 405, 426, 222, 386, 0, 0, 0, 203, - 424, 402, 316, 286, 287, 202, 0, 367, 244, 264, - 235, 335, 421, 422, 234, 458, 212, 441, 205, 213, - 440, 328, 417, 425, 317, 308, 204, 423, 315, 307, - 292, 254, 274, 361, 302, 362, 275, 324, 323, 325, - 0, 199, 0, 399, 434, 459, 219, 0, 0, 412, - 450, 455, 0, 364, 220, 265, 253, 360, 263, 295, - 449, 451, 452, 454, 218, 358, 271, 339, 429, 257, - 437, 327, 214, 277, 395, 291, 300, 0, 0, 345, - 376, 223, 432, 396, 565, 576, 571, 572, 569, 570, - 564, 568, 567, 566, 579, 556, 557, 558, 559, 561, - 0, 573, 574, 560, 193, 206, 296, 0, 365, 261, - 457, 439, 435, 0, 0, 239, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 195, 196, - 207, 216, 226, 238, 251, 259, 269, 273, 276, 279, - 280, 283, 288, 305, 310, 311, 312, 313, 329, 330, - 331, 334, 337, 338, 341, 343, 344, 347, 353, 354, - 355, 356, 357, 359, 366, 370, 378, 379, 380, 381, - 382, 384, 385, 389, 390, 391, 392, 400, 404, 419, - 420, 431, 443, 447, 270, 427, 448, 0, 304, 0, - 0, 306, 255, 272, 281, 0, 438, 401, 211, 372, - 262, 200, 229, 215, 236, 250, 252, 285, 314, 320, - 349, 352, 267, 247, 227, 369, 224, 387, 407, 408, - 409, 411, 318, 243, 336, 0, 0, 0, 0, 520, - 0, 0, 0, 246, 0, 519, 0, 0, 0, 294, - 0, 0, 0, 350, 0, 388, 232, 303, 301, 416, - 256, 249, 245, 231, 278, 309, 348, 406, 342, 563, - 298, 0, 0, 397, 321, 0, 0, 0, 0, 0, - 554, 555, 0, 0, 0, 0, 0, 0, 0, 0, - 284, 230, 198, 333, 398, 260, 71, 0, 597, 180, - 181, 182, 541, 540, 543, 544, 545, 546, 0, 0, - 221, 542, 228, 547, 548, 549, 0, 242, 282, 248, - 241, 413, 0, 0, 0, 517, 534, 0, 562, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 531, 532, - 0, 0, 0, 0, 578, 0, 533, 0, 0, 526, - 527, 529, 528, 530, 535, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 268, 0, 322, 0, 577, 0, - 0, 444, 0, 0, 575, 0, 0, 0, 0, 0, - 293, 0, 290, 194, 209, 0, 0, 332, 371, 377, - 0, 0, 0, 233, 0, 375, 346, 430, 217, 258, - 368, 351, 373, 0, 0, 374, 299, 418, 363, 428, - 445, 446, 240, 326, 436, 410, 442, 456, 210, 237, - 340, 403, 433, 394, 319, 414, 415, 289, 393, 266, - 197, 297, 453, 208, 383, 225, 201, 405, 426, 222, - 386, 0, 0, 0, 203, 424, 402, 316, 286, 287, - 202, 0, 367, 244, 264, 235, 335, 421, 422, 234, - 458, 212, 441, 205, 213, 440, 328, 417, 425, 317, - 308, 204, 423, 315, 307, 292, 254, 274, 361, 302, - 362, 275, 324, 323, 325, 0, 199, 0, 399, 434, - 459, 219, 0, 0, 412, 450, 455, 0, 364, 220, - 265, 253, 360, 263, 295, 449, 451, 452, 454, 218, - 358, 271, 339, 429, 257, 437, 327, 214, 277, 395, - 291, 300, 0, 0, 345, 376, 223, 432, 396, 565, - 576, 571, 572, 569, 570, 564, 568, 567, 566, 579, - 556, 557, 558, 559, 561, 0, 573, 574, 560, 193, - 206, 296, 0, 365, 261, 457, 439, 435, 0, 0, - 239, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 195, 196, 207, 216, 226, 238, 251, - 259, 269, 273, 276, 279, 280, 283, 288, 305, 310, - 311, 312, 313, 329, 330, 331, 334, 337, 338, 341, - 343, 344, 347, 353, 354, 355, 356, 357, 359, 366, - 370, 378, 379, 380, 381, 382, 384, 385, 389, 390, - 391, 392, 400, 404, 419, 420, 431, 443, 447, 270, - 427, 448, 0, 304, 0, 0, 306, 255, 272, 281, - 0, 438, 401, 211, 372, 262, 200, 229, 215, 236, - 250, 252, 285, 314, 320, 349, 352, 267, 247, 227, - 369, 224, 387, 407, 408, 409, 411, 318, 243, 336, - 0, 0, 0, 0, 520, 0, 0, 0, 246, 0, - 519, 0, 0, 0, 294, 0, 0, 0, 350, 0, - 388, 232, 303, 301, 416, 256, 249, 245, 231, 278, - 309, 348, 406, 342, 563, 298, 0, 0, 397, 321, - 0, 0, 0, 0, 0, 554, 555, 0, 0, 0, - 0, 0, 0, 0, 0, 284, 230, 198, 333, 398, - 260, 71, 0, 0, 180, 181, 182, 541, 540, 543, - 544, 545, 546, 0, 0, 221, 542, 228, 547, 548, - 549, 0, 242, 282, 248, 241, 413, 0, 0, 0, - 517, 534, 0, 562, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 531, 532, 610, 0, 0, 0, 578, - 0, 533, 0, 0, 526, 527, 529, 528, 530, 535, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, - 0, 322, 0, 577, 0, 0, 444, 0, 0, 575, - 0, 0, 0, 0, 0, 293, 0, 290, 194, 209, - 0, 0, 332, 371, 377, 0, 0, 0, 233, 0, - 375, 346, 430, 217, 258, 368, 351, 373, 0, 0, - 374, 299, 418, 363, 428, 445, 446, 240, 326, 436, - 410, 442, 456, 210, 237, 340, 403, 433, 394, 319, - 414, 415, 289, 393, 266, 197, 297, 453, 208, 383, - 225, 201, 405, 426, 222, 386, 0, 0, 0, 203, - 424, 402, 316, 286, 287, 202, 0, 367, 244, 264, - 235, 335, 421, 422, 234, 458, 212, 441, 205, 213, - 440, 328, 417, 425, 317, 308, 204, 423, 315, 307, - 292, 254, 274, 361, 302, 362, 275, 324, 323, 325, - 0, 199, 0, 399, 434, 459, 219, 0, 0, 412, - 450, 455, 0, 364, 220, 265, 253, 360, 263, 295, - 449, 451, 452, 454, 218, 358, 271, 339, 429, 257, - 437, 327, 214, 277, 395, 291, 300, 0, 0, 345, - 376, 223, 432, 396, 565, 576, 571, 572, 569, 570, - 564, 568, 567, 566, 579, 556, 557, 558, 559, 561, - 0, 573, 574, 560, 193, 206, 296, 0, 365, 261, - 457, 439, 435, 0, 0, 239, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 195, 196, - 207, 216, 226, 238, 251, 259, 269, 273, 276, 279, - 280, 283, 288, 305, 310, 311, 312, 313, 329, 330, - 331, 334, 337, 338, 341, 343, 344, 347, 353, 354, - 355, 356, 357, 359, 366, 370, 378, 379, 380, 381, - 382, 384, 385, 389, 390, 391, 392, 400, 404, 419, - 420, 431, 443, 447, 270, 427, 448, 0, 304, 0, - 0, 306, 255, 272, 281, 0, 438, 401, 211, 372, - 262, 200, 229, 215, 236, 250, 252, 285, 314, 320, - 349, 352, 267, 247, 227, 369, 224, 387, 407, 408, - 409, 411, 318, 243, 336, 0, 0, 0, 0, 520, - 0, 0, 0, 246, 0, 519, 0, 0, 0, 294, - 0, 0, 0, 350, 0, 388, 232, 303, 301, 416, - 256, 249, 245, 231, 278, 309, 348, 406, 342, 563, - 298, 0, 0, 397, 321, 0, 0, 0, 0, 0, - 554, 555, 0, 0, 0, 0, 0, 0, 0, 0, - 284, 230, 198, 333, 398, 260, 71, 0, 0, 180, - 181, 182, 541, 1433, 543, 544, 545, 546, 0, 0, - 221, 542, 228, 547, 548, 549, 0, 242, 282, 248, - 241, 413, 0, 0, 0, 517, 534, 0, 562, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 531, 532, - 610, 0, 0, 0, 578, 0, 533, 0, 0, 526, - 527, 529, 528, 530, 535, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 268, 0, 322, 0, 577, 0, - 0, 444, 0, 0, 575, 0, 0, 0, 0, 0, - 293, 0, 290, 194, 209, 0, 0, 332, 371, 377, - 0, 0, 0, 233, 0, 375, 346, 430, 217, 258, - 368, 351, 373, 0, 0, 374, 299, 418, 363, 428, - 445, 446, 240, 326, 436, 410, 442, 456, 210, 237, - 340, 403, 433, 394, 319, 414, 415, 289, 393, 266, - 197, 297, 453, 208, 383, 225, 201, 405, 426, 222, - 386, 0, 0, 0, 203, 424, 402, 316, 286, 287, - 202, 0, 367, 244, 264, 235, 335, 421, 422, 234, - 458, 212, 441, 205, 213, 440, 328, 417, 425, 317, - 308, 204, 423, 315, 307, 292, 254, 274, 361, 302, - 362, 275, 324, 323, 325, 0, 199, 0, 399, 434, - 459, 219, 0, 0, 412, 450, 455, 0, 364, 220, - 265, 253, 360, 263, 295, 449, 451, 452, 454, 218, - 358, 271, 339, 429, 257, 437, 327, 214, 277, 395, - 291, 300, 0, 0, 345, 376, 223, 432, 396, 565, - 576, 571, 572, 569, 570, 564, 568, 567, 566, 579, - 556, 557, 558, 559, 561, 0, 573, 574, 560, 193, - 206, 296, 0, 365, 261, 457, 439, 435, 0, 0, - 239, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 195, 196, 207, 216, 226, 238, 251, - 259, 269, 273, 276, 279, 280, 283, 288, 305, 310, - 311, 312, 313, 329, 330, 331, 334, 337, 338, 341, - 343, 344, 347, 353, 354, 355, 356, 357, 359, 366, - 370, 378, 379, 380, 381, 382, 384, 385, 389, 390, - 391, 392, 400, 404, 419, 420, 431, 443, 447, 270, - 427, 448, 0, 304, 0, 0, 306, 255, 272, 281, - 0, 438, 401, 211, 372, 262, 200, 229, 215, 236, - 250, 252, 285, 314, 320, 349, 352, 267, 247, 227, - 369, 224, 387, 407, 408, 409, 411, 318, 243, 336, - 0, 0, 0, 0, 520, 0, 0, 0, 246, 0, - 519, 0, 0, 0, 294, 0, 0, 0, 350, 0, - 388, 232, 303, 301, 416, 256, 249, 245, 231, 278, - 309, 348, 406, 342, 563, 298, 0, 0, 397, 321, - 0, 0, 0, 0, 0, 554, 555, 0, 0, 0, - 0, 0, 0, 0, 0, 284, 230, 198, 333, 398, - 260, 71, 0, 0, 180, 181, 182, 541, 1430, 543, - 544, 545, 546, 0, 0, 221, 542, 228, 547, 548, - 549, 0, 242, 282, 248, 241, 413, 0, 0, 0, - 517, 534, 0, 562, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 531, 532, 610, 0, 0, 0, 578, - 0, 533, 0, 0, 526, 527, 529, 528, 530, 535, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, - 0, 322, 0, 577, 0, 0, 444, 0, 0, 575, - 0, 0, 0, 0, 0, 293, 0, 290, 194, 209, - 0, 0, 332, 371, 377, 0, 0, 0, 233, 0, - 375, 346, 430, 217, 258, 368, 351, 373, 0, 0, - 374, 299, 418, 363, 428, 445, 446, 240, 326, 436, - 410, 442, 456, 210, 237, 340, 403, 433, 394, 319, - 414, 415, 289, 393, 266, 197, 297, 453, 208, 383, - 225, 201, 405, 426, 222, 386, 0, 0, 0, 203, - 424, 402, 316, 286, 287, 202, 0, 367, 244, 264, - 235, 335, 421, 422, 234, 458, 212, 441, 205, 213, - 440, 328, 417, 425, 317, 308, 204, 423, 315, 307, - 292, 254, 274, 361, 302, 362, 275, 324, 323, 325, - 0, 199, 0, 399, 434, 459, 219, 0, 0, 412, - 450, 455, 0, 364, 220, 265, 253, 360, 263, 295, - 449, 451, 452, 454, 218, 358, 271, 339, 429, 257, - 437, 327, 214, 277, 395, 291, 300, 0, 0, 345, - 376, 223, 432, 396, 565, 576, 571, 572, 569, 570, - 564, 568, 567, 566, 579, 556, 557, 558, 559, 561, - 0, 573, 574, 560, 193, 206, 296, 0, 365, 261, - 457, 439, 435, 0, 0, 239, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 195, 196, - 207, 216, 226, 238, 251, 259, 269, 273, 276, 279, - 280, 283, 288, 305, 310, 311, 312, 313, 329, 330, - 331, 334, 337, 338, 341, 343, 344, 347, 353, 354, - 355, 356, 357, 359, 366, 370, 378, 379, 380, 381, - 382, 384, 385, 389, 390, 391, 392, 400, 404, 419, - 420, 431, 443, 447, 270, 427, 448, 0, 304, 0, - 0, 306, 255, 272, 281, 0, 438, 401, 211, 372, - 262, 200, 229, 215, 236, 250, 252, 285, 314, 320, - 349, 352, 267, 247, 227, 369, 224, 387, 407, 408, - 409, 411, 318, 243, 590, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 336, 0, 0, - 0, 0, 520, 0, 0, 0, 246, 0, 519, 0, - 0, 0, 294, 0, 0, 0, 350, 0, 388, 232, - 303, 301, 416, 256, 249, 245, 231, 278, 309, 348, - 406, 342, 563, 298, 0, 0, 397, 321, 0, 0, - 0, 0, 0, 554, 555, 0, 0, 0, 0, 0, - 0, 0, 0, 284, 230, 198, 333, 398, 260, 71, - 0, 0, 180, 181, 182, 541, 540, 543, 544, 545, - 546, 0, 0, 221, 542, 228, 547, 548, 549, 0, - 242, 282, 248, 241, 413, 0, 0, 0, 517, 534, - 0, 562, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 531, 532, 0, 0, 0, 0, 578, 0, 533, - 0, 0, 526, 527, 529, 528, 530, 535, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 268, 0, 322, - 0, 577, 0, 0, 444, 0, 0, 575, 0, 0, - 0, 0, 0, 293, 0, 290, 194, 209, 0, 0, - 332, 371, 377, 0, 0, 0, 233, 0, 375, 346, - 430, 217, 258, 368, 351, 373, 0, 0, 374, 299, - 418, 363, 428, 445, 446, 240, 326, 436, 410, 442, - 456, 210, 237, 340, 403, 433, 394, 319, 414, 415, - 289, 393, 266, 197, 297, 453, 208, 383, 225, 201, - 405, 426, 222, 386, 0, 0, 0, 203, 424, 402, - 316, 286, 287, 202, 0, 367, 244, 264, 235, 335, - 421, 422, 234, 458, 212, 441, 205, 213, 440, 328, - 417, 425, 317, 308, 204, 423, 315, 307, 292, 254, - 274, 361, 302, 362, 275, 324, 323, 325, 0, 199, - 0, 399, 434, 459, 219, 0, 0, 412, 450, 455, - 0, 364, 220, 265, 253, 360, 263, 295, 449, 451, - 452, 454, 218, 358, 271, 339, 429, 257, 437, 327, - 214, 277, 395, 291, 300, 0, 0, 345, 376, 223, - 432, 396, 565, 576, 571, 572, 569, 570, 564, 568, - 567, 566, 579, 556, 557, 558, 559, 561, 0, 573, - 574, 560, 193, 206, 296, 0, 365, 261, 457, 439, - 435, 0, 0, 239, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 195, 196, 207, 216, - 226, 238, 251, 259, 269, 273, 276, 279, 280, 283, - 288, 305, 310, 311, 312, 313, 329, 330, 331, 334, - 337, 338, 341, 343, 344, 347, 353, 354, 355, 356, - 357, 359, 366, 370, 378, 379, 380, 381, 382, 384, - 385, 389, 390, 391, 392, 400, 404, 419, 420, 431, - 443, 447, 270, 427, 448, 0, 304, 0, 0, 306, - 255, 272, 281, 0, 438, 401, 211, 372, 262, 200, - 229, 215, 236, 250, 252, 285, 314, 320, 349, 352, - 267, 247, 227, 369, 224, 387, 407, 408, 409, 411, - 318, 243, 336, 0, 0, 0, 0, 520, 0, 0, - 0, 246, 0, 519, 0, 0, 0, 294, 0, 0, - 0, 350, 0, 388, 232, 303, 301, 416, 256, 249, - 245, 231, 278, 309, 348, 406, 342, 563, 298, 0, - 0, 397, 321, 0, 0, 0, 0, 0, 554, 555, - 0, 0, 0, 0, 0, 0, 0, 0, 284, 230, - 198, 333, 398, 260, 71, 0, 0, 180, 181, 182, - 541, 540, 543, 544, 545, 546, 0, 0, 221, 542, - 228, 547, 548, 549, 0, 242, 282, 248, 241, 413, - 0, 0, 0, 517, 534, 0, 562, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 531, 532, 0, 0, - 0, 0, 578, 0, 533, 0, 0, 526, 527, 529, - 528, 530, 535, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 268, 0, 322, 0, 577, 0, 0, 444, - 0, 0, 575, 0, 0, 0, 0, 0, 293, 0, - 290, 194, 209, 0, 0, 332, 371, 377, 0, 0, - 0, 233, 0, 375, 346, 430, 217, 258, 368, 351, - 373, 0, 0, 374, 299, 418, 363, 428, 445, 446, - 240, 326, 436, 410, 442, 456, 210, 237, 340, 403, - 433, 394, 319, 414, 415, 289, 393, 266, 197, 297, - 453, 208, 383, 225, 201, 405, 426, 222, 386, 0, - 0, 0, 203, 424, 402, 316, 286, 287, 202, 0, - 367, 244, 264, 235, 335, 421, 422, 234, 458, 212, - 441, 205, 213, 440, 328, 417, 425, 317, 308, 204, - 423, 315, 307, 292, 254, 274, 361, 302, 362, 275, - 324, 323, 325, 0, 199, 0, 399, 434, 459, 219, - 0, 0, 412, 450, 455, 0, 364, 220, 265, 253, - 360, 263, 295, 449, 451, 452, 454, 218, 358, 271, - 339, 429, 257, 437, 327, 214, 277, 395, 291, 300, - 0, 0, 345, 376, 223, 432, 396, 565, 576, 571, - 572, 569, 570, 564, 568, 567, 566, 579, 556, 557, - 558, 559, 561, 0, 573, 574, 560, 193, 206, 296, - 0, 365, 261, 457, 439, 435, 0, 0, 239, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 195, 196, 207, 216, 226, 238, 251, 259, 269, - 273, 276, 279, 280, 283, 288, 305, 310, 311, 312, - 313, 329, 330, 331, 334, 337, 338, 341, 343, 344, - 347, 353, 354, 355, 356, 357, 359, 366, 370, 378, - 379, 380, 381, 382, 384, 385, 389, 390, 391, 392, - 400, 404, 419, 420, 431, 443, 447, 270, 427, 448, - 0, 304, 0, 0, 306, 255, 272, 281, 0, 438, - 401, 211, 372, 262, 200, 229, 215, 236, 250, 252, - 285, 314, 320, 349, 352, 267, 247, 227, 369, 224, - 387, 407, 408, 409, 411, 318, 243, 336, 0, 0, - 0, 0, 0, 0, 0, 0, 246, 0, 0, 0, - 0, 0, 294, 0, 0, 0, 350, 0, 388, 232, - 303, 301, 416, 256, 249, 245, 231, 278, 309, 348, - 406, 342, 563, 298, 0, 0, 397, 321, 0, 0, - 0, 0, 0, 554, 555, 0, 0, 0, 0, 0, - 0, 0, 0, 284, 230, 198, 333, 398, 260, 71, - 0, 0, 180, 181, 182, 541, 540, 543, 544, 545, - 546, 0, 0, 221, 542, 228, 547, 548, 549, 0, - 242, 282, 248, 241, 413, 0, 0, 0, 0, 534, - 0, 562, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 531, 532, 0, 0, 0, 0, 578, 0, 533, - 0, 0, 526, 527, 529, 528, 530, 535, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 268, 0, 322, - 0, 577, 0, 0, 444, 0, 0, 575, 0, 0, - 0, 0, 0, 293, 0, 290, 194, 209, 0, 0, - 332, 371, 377, 0, 0, 0, 233, 0, 375, 346, - 430, 217, 258, 368, 351, 373, 2197, 0, 374, 299, - 418, 363, 428, 445, 446, 240, 326, 436, 410, 442, - 456, 210, 237, 340, 403, 433, 394, 319, 414, 415, - 289, 393, 266, 197, 297, 453, 208, 383, 225, 201, - 405, 426, 222, 386, 0, 0, 0, 203, 424, 402, - 316, 286, 287, 202, 0, 367, 244, 264, 235, 335, - 421, 422, 234, 458, 212, 441, 205, 213, 440, 328, - 417, 425, 317, 308, 204, 423, 315, 307, 292, 254, - 274, 361, 302, 362, 275, 324, 323, 325, 0, 199, - 0, 399, 434, 459, 219, 0, 0, 412, 450, 455, - 0, 364, 220, 265, 253, 360, 263, 295, 449, 451, - 452, 454, 218, 358, 271, 339, 429, 257, 437, 327, - 214, 277, 395, 291, 300, 0, 0, 345, 376, 223, - 432, 396, 565, 576, 571, 572, 569, 570, 564, 568, - 567, 566, 579, 556, 557, 558, 559, 561, 0, 573, - 574, 560, 193, 206, 296, 0, 365, 261, 457, 439, - 435, 0, 0, 239, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 195, 196, 207, 216, - 226, 238, 251, 259, 269, 273, 276, 279, 280, 283, - 288, 305, 310, 311, 312, 313, 329, 330, 331, 334, - 337, 338, 341, 343, 344, 347, 353, 354, 355, 356, - 357, 359, 366, 370, 378, 379, 380, 381, 382, 384, - 385, 389, 390, 391, 392, 400, 404, 419, 420, 431, - 443, 447, 270, 427, 448, 0, 304, 0, 0, 306, - 255, 272, 281, 0, 438, 401, 211, 372, 262, 200, - 229, 215, 236, 250, 252, 285, 314, 320, 349, 352, - 267, 247, 227, 369, 224, 387, 407, 408, 409, 411, - 318, 243, 336, 0, 0, 0, 0, 0, 0, 0, - 0, 246, 0, 0, 0, 0, 0, 294, 0, 0, - 0, 350, 0, 388, 232, 303, 301, 416, 256, 249, - 245, 231, 278, 309, 348, 406, 342, 563, 298, 0, - 0, 397, 321, 0, 0, 0, 0, 0, 554, 555, - 0, 0, 0, 0, 0, 0, 0, 0, 284, 230, - 198, 333, 398, 260, 71, 0, 597, 180, 181, 182, - 541, 540, 543, 544, 545, 546, 0, 0, 221, 542, - 228, 547, 548, 549, 0, 242, 282, 248, 241, 413, - 0, 0, 0, 0, 534, 0, 562, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 531, 532, 0, 0, - 0, 0, 578, 0, 533, 0, 0, 526, 527, 529, - 528, 530, 535, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 268, 0, 322, 0, 577, 0, 0, 444, - 0, 0, 575, 0, 0, 0, 0, 0, 293, 0, - 290, 194, 209, 0, 0, 332, 371, 377, 0, 0, - 0, 233, 0, 375, 346, 430, 217, 258, 368, 351, - 373, 0, 0, 374, 299, 418, 363, 428, 445, 446, - 240, 326, 436, 410, 442, 456, 210, 237, 340, 403, - 433, 394, 319, 414, 415, 289, 393, 266, 197, 297, - 453, 208, 383, 225, 201, 405, 426, 222, 386, 0, - 0, 0, 203, 424, 402, 316, 286, 287, 202, 0, - 367, 244, 264, 235, 335, 421, 422, 234, 458, 212, - 441, 205, 213, 440, 328, 417, 425, 317, 308, 204, - 423, 315, 307, 292, 254, 274, 361, 302, 362, 275, - 324, 323, 325, 0, 199, 0, 399, 434, 459, 219, - 0, 0, 412, 450, 455, 0, 364, 220, 265, 253, - 360, 263, 295, 449, 451, 452, 454, 218, 358, 271, - 339, 429, 257, 437, 327, 214, 277, 395, 291, 300, - 0, 0, 345, 376, 223, 432, 396, 565, 576, 571, - 572, 569, 570, 564, 568, 567, 566, 579, 556, 557, - 558, 559, 561, 0, 573, 574, 560, 193, 206, 296, - 0, 365, 261, 457, 439, 435, 0, 0, 239, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 195, 196, 207, 216, 226, 238, 251, 259, 269, - 273, 276, 279, 280, 283, 288, 305, 310, 311, 312, - 313, 329, 330, 331, 334, 337, 338, 341, 343, 344, - 347, 353, 354, 355, 356, 357, 359, 366, 370, 378, - 379, 380, 381, 382, 384, 385, 389, 390, 391, 392, - 400, 404, 419, 420, 431, 443, 447, 270, 427, 448, - 0, 304, 0, 0, 306, 255, 272, 281, 0, 438, - 401, 211, 372, 262, 200, 229, 215, 236, 250, 252, - 285, 314, 320, 349, 352, 267, 247, 227, 369, 224, - 387, 407, 408, 409, 411, 318, 243, 336, 0, 0, - 0, 0, 0, 0, 0, 0, 246, 0, 0, 0, - 0, 0, 294, 0, 0, 0, 350, 0, 388, 232, - 303, 301, 416, 256, 249, 245, 231, 278, 309, 348, - 406, 342, 563, 298, 0, 0, 397, 321, 0, 0, - 0, 0, 0, 554, 555, 0, 0, 0, 0, 0, - 0, 0, 0, 284, 230, 198, 333, 398, 260, 71, - 0, 0, 180, 181, 182, 541, 540, 543, 544, 545, - 546, 0, 0, 221, 542, 228, 547, 548, 549, 0, - 242, 282, 248, 241, 413, 0, 0, 0, 0, 534, - 0, 562, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 531, 532, 0, 0, 0, 0, 578, 0, 533, - 0, 0, 526, 527, 529, 528, 530, 535, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 268, 0, 322, - 0, 577, 0, 0, 444, 0, 0, 575, 0, 0, - 0, 0, 0, 293, 0, 290, 194, 209, 0, 0, - 332, 371, 377, 0, 0, 0, 233, 0, 375, 346, - 430, 217, 258, 368, 351, 373, 0, 0, 374, 299, - 418, 363, 428, 445, 446, 240, 326, 436, 410, 442, - 456, 210, 237, 340, 403, 433, 394, 319, 414, 415, - 289, 393, 266, 197, 297, 453, 208, 383, 225, 201, - 405, 426, 222, 386, 0, 0, 0, 203, 424, 402, - 316, 286, 287, 202, 0, 367, 244, 264, 235, 335, - 421, 422, 234, 458, 212, 441, 205, 213, 440, 328, - 417, 425, 317, 308, 204, 423, 315, 307, 292, 254, - 274, 361, 302, 362, 275, 324, 323, 325, 0, 199, - 0, 399, 434, 459, 219, 0, 0, 412, 450, 455, - 0, 364, 220, 265, 253, 360, 263, 295, 449, 451, - 452, 454, 218, 358, 271, 339, 429, 257, 437, 327, - 214, 277, 395, 291, 300, 0, 0, 345, 376, 223, - 432, 396, 565, 576, 571, 572, 569, 570, 564, 568, - 567, 566, 579, 556, 557, 558, 559, 561, 0, 573, - 574, 560, 193, 206, 296, 0, 365, 261, 457, 439, - 435, 0, 0, 239, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 195, 196, 207, 216, - 226, 238, 251, 259, 269, 273, 276, 279, 280, 283, - 288, 305, 310, 311, 312, 313, 329, 330, 331, 334, - 337, 338, 341, 343, 344, 347, 353, 354, 355, 356, - 357, 359, 366, 370, 378, 379, 380, 381, 382, 384, - 385, 389, 390, 391, 392, 400, 404, 419, 420, 431, - 443, 447, 270, 427, 448, 0, 304, 0, 0, 306, - 255, 272, 281, 0, 438, 401, 211, 372, 262, 200, - 229, 215, 236, 250, 252, 285, 314, 320, 349, 352, - 267, 247, 227, 369, 224, 387, 407, 408, 409, 411, - 318, 243, 336, 0, 0, 0, 0, 0, 0, 0, - 0, 246, 0, 0, 0, 0, 0, 294, 0, 0, - 0, 350, 0, 388, 232, 303, 301, 416, 256, 249, - 245, 231, 278, 309, 348, 406, 342, 0, 298, 0, - 0, 397, 321, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 284, 230, - 198, 333, 398, 260, 0, 0, 0, 180, 181, 182, - 0, 0, 0, 0, 0, 0, 0, 0, 221, 0, - 228, 0, 0, 0, 0, 242, 282, 248, 241, 413, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 983, 982, 992, 993, 985, 986, 987, 988, - 989, 990, 991, 984, 0, 0, 994, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 268, 0, 322, 0, 0, 0, 0, 444, - 0, 0, 0, 0, 0, 0, 0, 0, 293, 0, - 290, 194, 209, 0, 0, 332, 371, 377, 0, 0, - 0, 233, 0, 375, 346, 430, 217, 258, 368, 351, - 373, 0, 0, 374, 299, 418, 363, 428, 445, 446, - 240, 326, 436, 410, 442, 456, 210, 237, 340, 403, - 433, 394, 319, 414, 415, 289, 393, 266, 197, 297, - 453, 208, 383, 225, 201, 405, 426, 222, 386, 0, - 0, 0, 203, 424, 402, 316, 286, 287, 202, 0, - 367, 244, 264, 235, 335, 421, 422, 234, 458, 212, - 441, 205, 213, 440, 328, 417, 425, 317, 308, 204, - 423, 315, 307, 292, 254, 274, 361, 302, 362, 275, - 324, 323, 325, 0, 199, 0, 399, 434, 459, 219, - 0, 0, 412, 450, 455, 0, 364, 220, 265, 253, - 360, 263, 295, 449, 451, 452, 454, 218, 358, 271, - 339, 429, 257, 437, 327, 214, 277, 395, 291, 300, - 0, 0, 345, 376, 223, 432, 396, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 193, 206, 296, - 0, 365, 261, 457, 439, 435, 0, 0, 239, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 195, 196, 207, 216, 226, 238, 251, 259, 269, - 273, 276, 279, 280, 283, 288, 305, 310, 311, 312, - 313, 329, 330, 331, 334, 337, 338, 341, 343, 344, - 347, 353, 354, 355, 356, 357, 359, 366, 370, 378, - 379, 380, 381, 382, 384, 385, 389, 390, 391, 392, - 400, 404, 419, 420, 431, 443, 447, 270, 427, 448, - 0, 304, 0, 0, 306, 255, 272, 281, 0, 438, - 401, 211, 372, 262, 200, 229, 215, 236, 250, 252, - 285, 314, 320, 349, 352, 267, 247, 227, 369, 224, - 387, 407, 408, 409, 411, 318, 243, 336, 0, 0, - 0, 0, 0, 0, 0, 0, 246, 810, 0, 0, - 0, 0, 294, 0, 0, 0, 350, 0, 388, 232, - 303, 301, 416, 256, 249, 245, 231, 278, 309, 348, - 406, 342, 0, 298, 0, 0, 397, 321, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 284, 230, 198, 333, 398, 260, 0, - 0, 0, 180, 181, 182, 0, 0, 0, 0, 0, - 0, 0, 0, 221, 0, 228, 0, 0, 0, 0, - 242, 282, 248, 241, 413, 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, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 268, 0, 322, - 0, 0, 0, 809, 444, 0, 0, 0, 0, 0, - 0, 806, 807, 293, 775, 290, 194, 209, 800, 804, - 332, 371, 377, 0, 0, 0, 233, 0, 375, 346, - 430, 217, 258, 368, 351, 373, 0, 0, 374, 299, - 418, 363, 428, 445, 446, 240, 326, 436, 410, 442, - 456, 210, 237, 340, 403, 433, 394, 319, 414, 415, - 289, 393, 266, 197, 297, 453, 208, 383, 225, 201, - 405, 426, 222, 386, 0, 0, 0, 203, 424, 402, - 316, 286, 287, 202, 0, 367, 244, 264, 235, 335, - 421, 422, 234, 458, 212, 441, 205, 213, 440, 328, - 417, 425, 317, 308, 204, 423, 315, 307, 292, 254, - 274, 361, 302, 362, 275, 324, 323, 325, 0, 199, - 0, 399, 434, 459, 219, 0, 0, 412, 450, 455, - 0, 364, 220, 265, 253, 360, 263, 295, 449, 451, - 452, 454, 218, 358, 271, 339, 429, 257, 437, 327, - 214, 277, 395, 291, 300, 0, 0, 345, 376, 223, - 432, 396, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 193, 206, 296, 0, 365, 261, 457, 439, - 435, 0, 0, 239, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 195, 196, 207, 216, - 226, 238, 251, 259, 269, 273, 276, 279, 280, 283, - 288, 305, 310, 311, 312, 313, 329, 330, 331, 334, - 337, 338, 341, 343, 344, 347, 353, 354, 355, 356, - 357, 359, 366, 370, 378, 379, 380, 381, 382, 384, - 385, 389, 390, 391, 392, 400, 404, 419, 420, 431, - 443, 447, 270, 427, 448, 0, 304, 0, 0, 306, - 255, 272, 281, 0, 438, 401, 211, 372, 262, 200, - 229, 215, 236, 250, 252, 285, 314, 320, 349, 352, - 267, 247, 227, 369, 224, 387, 407, 408, 409, 411, - 318, 243, 336, 0, 0, 0, 1086, 0, 0, 0, - 0, 246, 0, 0, 0, 0, 0, 294, 0, 0, - 0, 350, 0, 388, 232, 303, 301, 416, 256, 249, - 245, 231, 278, 309, 348, 406, 342, 0, 298, 0, - 0, 397, 321, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 284, 230, - 198, 333, 398, 260, 0, 0, 0, 180, 181, 182, - 0, 1088, 0, 0, 0, 0, 0, 0, 221, 0, - 228, 0, 0, 0, 0, 242, 282, 248, 241, 413, - 972, 973, 971, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 974, 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, 0, 0, 0, - 0, 0, 268, 0, 322, 0, 0, 0, 0, 444, - 0, 0, 0, 0, 0, 0, 0, 0, 293, 0, - 290, 194, 209, 0, 0, 332, 371, 377, 0, 0, - 0, 233, 0, 375, 346, 430, 217, 258, 368, 351, - 373, 0, 0, 374, 299, 418, 363, 428, 445, 446, - 240, 326, 436, 410, 442, 456, 210, 237, 340, 403, - 433, 394, 319, 414, 415, 289, 393, 266, 197, 297, - 453, 208, 383, 225, 201, 405, 426, 222, 386, 0, - 0, 0, 203, 424, 402, 316, 286, 287, 202, 0, - 367, 244, 264, 235, 335, 421, 422, 234, 458, 212, - 441, 205, 213, 440, 328, 417, 425, 317, 308, 204, - 423, 315, 307, 292, 254, 274, 361, 302, 362, 275, - 324, 323, 325, 0, 199, 0, 399, 434, 459, 219, - 0, 0, 412, 450, 455, 0, 364, 220, 265, 253, - 360, 263, 295, 449, 451, 452, 454, 218, 358, 271, - 339, 429, 257, 437, 327, 214, 277, 395, 291, 300, - 0, 0, 345, 376, 223, 432, 396, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 193, 206, 296, - 0, 365, 261, 457, 439, 435, 0, 0, 239, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 195, 196, 207, 216, 226, 238, 251, 259, 269, - 273, 276, 279, 280, 283, 288, 305, 310, 311, 312, - 313, 329, 330, 331, 334, 337, 338, 341, 343, 344, - 347, 353, 354, 355, 356, 357, 359, 366, 370, 378, - 379, 380, 381, 382, 384, 385, 389, 390, 391, 392, - 400, 404, 419, 420, 431, 443, 447, 270, 427, 448, - 0, 304, 0, 0, 306, 255, 272, 281, 0, 438, - 401, 211, 372, 262, 200, 229, 215, 236, 250, 252, - 285, 314, 320, 349, 352, 267, 247, 227, 369, 224, - 387, 407, 408, 409, 411, 318, 243, 35, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 336, 0, 0, 0, 0, 0, 0, 0, 0, 246, - 0, 0, 0, 0, 0, 294, 0, 0, 0, 350, - 0, 388, 232, 303, 301, 416, 256, 249, 245, 231, - 278, 309, 348, 406, 342, 0, 298, 0, 0, 397, - 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 284, 230, 198, 333, - 398, 260, 71, 0, 597, 180, 181, 182, 0, 0, - 0, 0, 0, 0, 0, 0, 221, 0, 228, 0, - 0, 0, 0, 242, 282, 248, 241, 413, 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, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 268, 0, 322, 0, 0, 0, 0, 444, 0, 0, - 0, 0, 0, 0, 0, 0, 293, 0, 290, 194, - 209, 0, 0, 332, 371, 377, 0, 0, 0, 233, - 0, 375, 346, 430, 217, 258, 368, 351, 373, 0, - 0, 374, 299, 418, 363, 428, 445, 446, 240, 326, - 436, 410, 442, 456, 210, 237, 340, 403, 433, 394, - 319, 414, 415, 289, 393, 266, 197, 297, 453, 208, - 383, 225, 201, 405, 426, 222, 386, 0, 0, 0, - 203, 424, 402, 316, 286, 287, 202, 0, 367, 244, - 264, 235, 335, 421, 422, 234, 458, 212, 441, 205, - 213, 440, 328, 417, 425, 317, 308, 204, 423, 315, - 307, 292, 254, 274, 361, 302, 362, 275, 324, 323, - 325, 0, 199, 0, 399, 434, 459, 219, 0, 0, - 412, 450, 455, 0, 364, 220, 265, 253, 360, 263, - 295, 449, 451, 452, 454, 218, 358, 271, 339, 429, - 257, 437, 327, 214, 277, 395, 291, 300, 0, 0, - 345, 376, 223, 432, 396, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 193, 206, 296, 0, 365, - 261, 457, 439, 435, 0, 0, 239, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 195, - 196, 207, 216, 226, 238, 251, 259, 269, 273, 276, - 279, 280, 283, 288, 305, 310, 311, 312, 313, 329, - 330, 331, 334, 337, 338, 341, 343, 344, 347, 353, - 354, 355, 356, 357, 359, 366, 370, 378, 379, 380, - 381, 382, 384, 385, 389, 390, 391, 392, 400, 404, - 419, 420, 431, 443, 447, 270, 427, 448, 0, 304, - 0, 0, 306, 255, 272, 281, 0, 438, 401, 211, - 372, 262, 200, 229, 215, 236, 250, 252, 285, 314, - 320, 349, 352, 267, 247, 227, 369, 224, 387, 407, - 408, 409, 411, 318, 243, 336, 0, 0, 0, 1460, - 0, 0, 0, 0, 246, 0, 0, 0, 0, 0, - 294, 0, 0, 0, 350, 0, 388, 232, 303, 301, - 416, 256, 249, 245, 231, 278, 309, 348, 406, 342, - 0, 298, 0, 0, 397, 321, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 284, 230, 198, 333, 398, 260, 0, 0, 0, - 180, 181, 182, 0, 1462, 0, 0, 0, 0, 0, - 0, 221, 0, 228, 0, 0, 0, 0, 242, 282, - 248, 241, 413, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 268, 0, 322, 0, 0, - 0, 0, 444, 0, 0, 0, 0, 0, 0, 0, - 0, 293, 0, 290, 194, 209, 0, 0, 332, 371, - 377, 0, 0, 0, 233, 0, 375, 346, 430, 217, - 258, 368, 351, 373, 0, 1458, 374, 299, 418, 363, - 428, 445, 446, 240, 326, 436, 410, 442, 456, 210, - 237, 340, 403, 433, 394, 319, 414, 415, 289, 393, - 266, 197, 297, 453, 208, 383, 225, 201, 405, 426, - 222, 386, 0, 0, 0, 203, 424, 402, 316, 286, - 287, 202, 0, 367, 244, 264, 235, 335, 421, 422, - 234, 458, 212, 441, 205, 213, 440, 328, 417, 425, - 317, 308, 204, 423, 315, 307, 292, 254, 274, 361, - 302, 362, 275, 324, 323, 325, 0, 199, 0, 399, - 434, 459, 219, 0, 0, 412, 450, 455, 0, 364, - 220, 265, 253, 360, 263, 295, 449, 451, 452, 454, - 218, 358, 271, 339, 429, 257, 437, 327, 214, 277, - 395, 291, 300, 0, 0, 345, 376, 223, 432, 396, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 193, 206, 296, 0, 365, 261, 457, 439, 435, 0, - 0, 239, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 195, 196, 207, 216, 226, 238, - 251, 259, 269, 273, 276, 279, 280, 283, 288, 305, - 310, 311, 312, 313, 329, 330, 331, 334, 337, 338, - 341, 343, 344, 347, 353, 354, 355, 356, 357, 359, - 366, 370, 378, 379, 380, 381, 382, 384, 385, 389, - 390, 391, 392, 400, 404, 419, 420, 431, 443, 447, - 270, 427, 448, 0, 304, 0, 0, 306, 255, 272, - 281, 0, 438, 401, 211, 372, 262, 200, 229, 215, - 236, 250, 252, 285, 314, 320, 349, 352, 267, 247, - 227, 369, 224, 387, 407, 408, 409, 411, 318, 243, - 336, 0, 0, 0, 0, 0, 0, 0, 0, 246, - 0, 0, 0, 0, 0, 294, 0, 0, 0, 350, - 0, 388, 232, 303, 301, 416, 256, 249, 245, 231, - 278, 309, 348, 406, 342, 0, 298, 0, 0, 397, - 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 284, 230, 198, 333, - 398, 260, 0, 0, 0, 180, 181, 182, 0, 0, - 0, 0, 0, 0, 0, 0, 221, 0, 228, 0, - 0, 0, 0, 242, 282, 248, 241, 413, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 769, 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, 0, 0, 0, 0, - 268, 0, 322, 0, 0, 0, 0, 444, 0, 0, - 0, 0, 0, 0, 0, 0, 293, 775, 290, 194, - 209, 773, 0, 332, 371, 377, 0, 0, 0, 233, - 0, 375, 346, 430, 217, 258, 368, 351, 373, 0, - 0, 374, 299, 418, 363, 428, 445, 446, 240, 326, - 436, 410, 442, 456, 210, 237, 340, 403, 433, 394, - 319, 414, 415, 289, 393, 266, 197, 297, 453, 208, - 383, 225, 201, 405, 426, 222, 386, 0, 0, 0, - 203, 424, 402, 316, 286, 287, 202, 0, 367, 244, - 264, 235, 335, 421, 422, 234, 458, 212, 441, 205, - 213, 440, 328, 417, 425, 317, 308, 204, 423, 315, - 307, 292, 254, 274, 361, 302, 362, 275, 324, 323, - 325, 0, 199, 0, 399, 434, 459, 219, 0, 0, - 412, 450, 455, 0, 364, 220, 265, 253, 360, 263, - 295, 449, 451, 452, 454, 218, 358, 271, 339, 429, - 257, 437, 327, 214, 277, 395, 291, 300, 0, 0, - 345, 376, 223, 432, 396, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 193, 206, 296, 0, 365, - 261, 457, 439, 435, 0, 0, 239, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 195, - 196, 207, 216, 226, 238, 251, 259, 269, 273, 276, - 279, 280, 283, 288, 305, 310, 311, 312, 313, 329, - 330, 331, 334, 337, 338, 341, 343, 344, 347, 353, - 354, 355, 356, 357, 359, 366, 370, 378, 379, 380, - 381, 382, 384, 385, 389, 390, 391, 392, 400, 404, - 419, 420, 431, 443, 447, 270, 427, 448, 0, 304, - 0, 0, 306, 255, 272, 281, 0, 438, 401, 211, - 372, 262, 200, 229, 215, 236, 250, 252, 285, 314, - 320, 349, 352, 267, 247, 227, 369, 224, 387, 407, - 408, 409, 411, 318, 243, 336, 0, 0, 0, 1460, - 0, 0, 0, 0, 246, 0, 0, 0, 0, 0, - 294, 0, 0, 0, 350, 0, 388, 232, 303, 301, - 416, 256, 249, 245, 231, 278, 309, 348, 406, 342, - 0, 298, 0, 0, 397, 321, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 284, 230, 198, 333, 398, 260, 0, 0, 0, - 180, 181, 182, 0, 1462, 0, 0, 0, 0, 0, - 0, 221, 0, 228, 0, 0, 0, 0, 242, 282, - 248, 241, 413, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 268, 0, 322, 0, 0, - 0, 0, 444, 0, 0, 0, 0, 0, 0, 0, - 0, 293, 0, 290, 194, 209, 0, 0, 332, 371, - 377, 0, 0, 0, 233, 0, 375, 346, 430, 217, - 258, 368, 351, 373, 0, 0, 374, 299, 418, 363, - 428, 445, 446, 240, 326, 436, 410, 442, 456, 210, - 237, 340, 403, 433, 394, 319, 414, 415, 289, 393, - 266, 197, 297, 453, 208, 383, 225, 201, 405, 426, - 222, 386, 0, 0, 0, 203, 424, 402, 316, 286, - 287, 202, 0, 367, 244, 264, 235, 335, 421, 422, - 234, 458, 212, 441, 205, 213, 440, 328, 417, 425, - 317, 308, 204, 423, 315, 307, 292, 254, 274, 361, - 302, 362, 275, 324, 323, 325, 0, 199, 0, 399, - 434, 459, 219, 0, 0, 412, 450, 455, 0, 364, - 220, 265, 253, 360, 263, 295, 449, 451, 452, 454, - 218, 358, 271, 339, 429, 257, 437, 327, 214, 277, - 395, 291, 300, 0, 0, 345, 376, 223, 432, 396, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 193, 206, 296, 0, 365, 261, 457, 439, 435, 0, - 0, 239, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 195, 196, 207, 216, 226, 238, - 251, 259, 269, 273, 276, 279, 280, 283, 288, 305, - 310, 311, 312, 313, 329, 330, 331, 334, 337, 338, - 341, 343, 344, 347, 353, 354, 355, 356, 357, 359, - 366, 370, 378, 379, 380, 381, 382, 384, 385, 389, - 390, 391, 392, 400, 404, 419, 420, 431, 443, 447, - 270, 427, 448, 0, 304, 0, 0, 306, 255, 272, - 281, 0, 438, 401, 211, 372, 262, 200, 229, 215, - 236, 250, 252, 285, 314, 320, 349, 352, 267, 247, - 227, 369, 224, 387, 407, 408, 409, 411, 318, 243, - 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 336, 0, 0, 0, 0, 0, 0, - 0, 0, 246, 0, 0, 0, 0, 0, 294, 0, - 0, 0, 350, 0, 388, 232, 303, 301, 416, 256, - 249, 245, 231, 278, 309, 348, 406, 342, 0, 298, - 0, 0, 397, 321, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 284, - 230, 198, 333, 398, 260, 71, 0, 0, 180, 181, - 182, 0, 0, 0, 0, 0, 0, 0, 0, 221, - 0, 228, 0, 0, 0, 0, 242, 282, 248, 241, - 413, 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, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 268, 0, 322, 0, 0, 0, 0, - 444, 0, 0, 0, 0, 0, 0, 0, 0, 293, - 0, 290, 194, 209, 0, 0, 332, 371, 377, 0, - 0, 0, 233, 0, 375, 346, 430, 217, 258, 368, - 351, 373, 0, 0, 374, 299, 418, 363, 428, 445, - 446, 240, 326, 436, 410, 442, 456, 210, 237, 340, - 403, 433, 394, 319, 414, 415, 289, 393, 266, 197, - 297, 453, 208, 383, 225, 201, 405, 426, 222, 386, - 0, 0, 0, 203, 424, 402, 316, 286, 287, 202, - 0, 367, 244, 264, 235, 335, 421, 422, 234, 458, - 212, 441, 205, 213, 440, 328, 417, 425, 317, 308, - 204, 423, 315, 307, 292, 254, 274, 361, 302, 362, - 275, 324, 323, 325, 0, 199, 0, 399, 434, 459, - 219, 0, 0, 412, 450, 455, 0, 364, 220, 265, - 253, 360, 263, 295, 449, 451, 452, 454, 218, 358, - 271, 339, 429, 257, 437, 327, 214, 277, 395, 291, - 300, 0, 0, 345, 376, 223, 432, 396, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 193, 206, - 296, 0, 365, 261, 457, 439, 435, 0, 0, 239, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 195, 196, 207, 216, 226, 238, 251, 259, - 269, 273, 276, 279, 280, 283, 288, 305, 310, 311, - 312, 313, 329, 330, 331, 334, 337, 338, 341, 343, - 344, 347, 353, 354, 355, 356, 357, 359, 366, 370, - 378, 379, 380, 381, 382, 384, 385, 389, 390, 391, - 392, 400, 404, 419, 420, 431, 443, 447, 270, 427, - 448, 0, 304, 0, 0, 306, 255, 272, 281, 0, - 438, 401, 211, 372, 262, 200, 229, 215, 236, 250, - 252, 285, 314, 320, 349, 352, 267, 247, 227, 369, - 224, 387, 407, 408, 409, 411, 318, 243, 336, 0, - 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, - 0, 0, 0, 294, 0, 0, 0, 350, 0, 388, - 232, 303, 301, 416, 256, 249, 245, 231, 278, 309, - 348, 406, 342, 0, 298, 0, 0, 397, 321, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 284, 230, 198, 333, 398, 260, - 0, 0, 0, 180, 181, 182, 0, 0, 1480, 0, - 0, 1481, 0, 0, 221, 0, 228, 0, 0, 0, - 0, 242, 282, 248, 241, 413, 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, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 268, 0, - 322, 0, 0, 0, 0, 444, 0, 0, 0, 0, - 0, 0, 0, 0, 293, 0, 290, 194, 209, 0, - 0, 332, 371, 377, 0, 0, 0, 233, 0, 375, - 346, 430, 217, 258, 368, 351, 373, 0, 0, 374, - 299, 418, 363, 428, 445, 446, 240, 326, 436, 410, - 442, 456, 210, 237, 340, 403, 433, 394, 319, 414, - 415, 289, 393, 266, 197, 297, 453, 208, 383, 225, - 201, 405, 426, 222, 386, 0, 0, 0, 203, 424, - 402, 316, 286, 287, 202, 0, 367, 244, 264, 235, - 335, 421, 422, 234, 458, 212, 441, 205, 213, 440, - 328, 417, 425, 317, 308, 204, 423, 315, 307, 292, - 254, 274, 361, 302, 362, 275, 324, 323, 325, 0, - 199, 0, 399, 434, 459, 219, 0, 0, 412, 450, - 455, 0, 364, 220, 265, 253, 360, 263, 295, 449, - 451, 452, 454, 218, 358, 271, 339, 429, 257, 437, - 327, 214, 277, 395, 291, 300, 0, 0, 345, 376, - 223, 432, 396, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 193, 206, 296, 0, 365, 261, 457, - 439, 435, 0, 0, 239, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 195, 196, 207, - 216, 226, 238, 251, 259, 269, 273, 276, 279, 280, - 283, 288, 305, 310, 311, 312, 313, 329, 330, 331, - 334, 337, 338, 341, 343, 344, 347, 353, 354, 355, - 356, 357, 359, 366, 370, 378, 379, 380, 381, 382, - 384, 385, 389, 390, 391, 392, 400, 404, 419, 420, - 431, 443, 447, 270, 427, 448, 0, 304, 0, 0, - 306, 255, 272, 281, 0, 438, 401, 211, 372, 262, - 200, 229, 215, 236, 250, 252, 285, 314, 320, 349, - 352, 267, 247, 227, 369, 224, 387, 407, 408, 409, - 411, 318, 243, 336, 0, 0, 0, 0, 0, 0, - 0, 0, 246, 0, 1119, 0, 0, 0, 294, 0, - 0, 0, 350, 0, 388, 232, 303, 301, 416, 256, - 249, 245, 231, 278, 309, 348, 406, 342, 0, 298, - 0, 0, 397, 321, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 284, - 230, 198, 333, 398, 260, 0, 0, 0, 180, 181, - 182, 0, 1118, 0, 0, 0, 0, 0, 0, 221, - 0, 228, 0, 0, 0, 0, 242, 282, 248, 241, - 413, 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, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 268, 0, 322, 0, 0, 0, 0, - 444, 0, 0, 0, 0, 0, 0, 0, 0, 293, - 0, 290, 194, 209, 0, 0, 332, 371, 377, 0, - 0, 0, 233, 0, 375, 346, 430, 217, 258, 368, - 351, 373, 0, 0, 374, 299, 418, 363, 428, 445, - 446, 240, 326, 436, 410, 442, 456, 210, 237, 340, - 403, 433, 394, 319, 414, 415, 289, 393, 266, 197, - 297, 453, 208, 383, 225, 201, 405, 426, 222, 386, - 0, 0, 0, 203, 424, 402, 316, 286, 287, 202, - 0, 367, 244, 264, 235, 335, 421, 422, 234, 458, - 212, 441, 205, 213, 440, 328, 417, 425, 317, 308, - 204, 423, 315, 307, 292, 254, 274, 361, 302, 362, - 275, 324, 323, 325, 0, 199, 0, 399, 434, 459, - 219, 0, 0, 412, 450, 455, 0, 364, 220, 265, - 253, 360, 263, 295, 449, 451, 452, 454, 218, 358, - 271, 339, 429, 257, 437, 327, 214, 277, 395, 291, - 300, 0, 0, 345, 376, 223, 432, 396, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 193, 206, - 296, 0, 365, 261, 457, 439, 435, 0, 0, 239, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 195, 196, 207, 216, 226, 238, 251, 259, - 269, 273, 276, 279, 280, 283, 288, 305, 310, 311, - 312, 313, 329, 330, 331, 334, 337, 338, 341, 343, - 344, 347, 353, 354, 355, 356, 357, 359, 366, 370, - 378, 379, 380, 381, 382, 384, 385, 389, 390, 391, - 392, 400, 404, 419, 420, 431, 443, 447, 270, 427, - 448, 0, 304, 0, 0, 306, 255, 272, 281, 0, - 438, 401, 211, 372, 262, 200, 229, 215, 236, 250, - 252, 285, 314, 320, 349, 352, 267, 247, 227, 369, - 224, 387, 407, 408, 409, 411, 318, 243, 336, 0, - 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, - 0, 0, 0, 294, 0, 0, 0, 350, 0, 388, - 232, 303, 301, 416, 256, 249, 245, 231, 278, 309, - 348, 406, 342, 0, 298, 0, 0, 397, 321, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 284, 230, 198, 333, 398, 260, - 0, 0, 597, 180, 181, 182, 0, 0, 0, 0, - 0, 0, 0, 0, 221, 0, 228, 0, 0, 0, - 0, 242, 282, 248, 241, 413, 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, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 268, 0, - 322, 0, 0, 0, 0, 444, 0, 0, 0, 0, - 0, 0, 0, 0, 293, 0, 290, 194, 209, 0, - 0, 332, 371, 377, 0, 0, 0, 233, 0, 375, - 346, 430, 217, 258, 368, 351, 373, 0, 0, 374, - 299, 418, 363, 428, 445, 446, 240, 326, 436, 410, - 442, 456, 210, 237, 340, 403, 433, 394, 319, 414, - 415, 289, 393, 266, 197, 297, 453, 208, 383, 225, - 201, 405, 426, 222, 386, 0, 0, 0, 203, 424, - 402, 316, 286, 287, 202, 0, 367, 244, 264, 235, - 335, 421, 422, 234, 458, 212, 441, 205, 213, 440, - 328, 417, 425, 317, 308, 204, 423, 315, 307, 292, - 254, 274, 361, 302, 362, 275, 324, 323, 325, 0, - 199, 0, 399, 434, 459, 219, 0, 0, 412, 450, - 455, 0, 364, 220, 265, 253, 360, 263, 295, 449, - 451, 452, 454, 218, 358, 271, 339, 429, 257, 437, - 327, 214, 277, 395, 291, 300, 0, 0, 345, 376, - 223, 432, 396, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 193, 206, 296, 0, 365, 261, 457, - 439, 435, 0, 0, 239, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 195, 196, 207, - 216, 226, 238, 251, 259, 269, 273, 276, 279, 280, - 283, 288, 305, 310, 311, 312, 313, 329, 330, 331, - 334, 337, 338, 341, 343, 344, 347, 353, 354, 355, - 356, 357, 359, 366, 370, 378, 379, 380, 381, 382, - 384, 385, 389, 390, 391, 392, 400, 404, 419, 420, - 431, 443, 447, 270, 427, 448, 0, 304, 0, 0, - 306, 255, 272, 281, 0, 438, 401, 211, 372, 262, - 200, 229, 215, 236, 250, 252, 285, 314, 320, 349, - 352, 267, 247, 227, 369, 224, 387, 407, 408, 409, - 411, 318, 243, 336, 0, 0, 0, 0, 0, 0, - 0, 0, 246, 0, 0, 0, 0, 0, 294, 0, - 0, 0, 350, 0, 388, 232, 303, 301, 416, 256, - 249, 245, 231, 278, 309, 348, 406, 342, 0, 298, - 0, 0, 397, 321, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 284, - 230, 198, 333, 398, 260, 71, 0, 0, 180, 181, - 182, 0, 0, 0, 0, 0, 0, 0, 0, 221, - 0, 228, 0, 0, 0, 0, 242, 282, 248, 241, - 413, 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, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 268, 0, 322, 0, 0, 0, 0, - 444, 0, 0, 0, 0, 0, 0, 0, 0, 293, - 0, 290, 194, 209, 0, 0, 332, 371, 377, 0, - 0, 0, 233, 0, 375, 346, 430, 217, 258, 368, - 351, 373, 0, 0, 374, 299, 418, 363, 428, 445, - 446, 240, 326, 436, 410, 442, 456, 210, 237, 340, - 403, 433, 394, 319, 414, 415, 289, 393, 266, 197, - 297, 453, 208, 383, 225, 201, 405, 426, 222, 386, - 0, 0, 0, 203, 424, 402, 316, 286, 287, 202, - 0, 367, 244, 264, 235, 335, 421, 422, 234, 458, - 212, 441, 205, 213, 440, 328, 417, 425, 317, 308, - 204, 423, 315, 307, 292, 254, 274, 361, 302, 362, - 275, 324, 323, 325, 0, 199, 0, 399, 434, 459, - 219, 0, 0, 412, 450, 455, 0, 364, 220, 265, - 253, 360, 263, 295, 449, 451, 452, 454, 218, 358, - 271, 339, 429, 257, 437, 327, 214, 277, 395, 291, - 300, 0, 0, 345, 376, 223, 432, 396, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 193, 206, - 296, 0, 365, 261, 457, 439, 435, 0, 0, 239, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 195, 196, 207, 216, 226, 238, 251, 259, - 269, 273, 276, 279, 280, 283, 288, 305, 310, 311, - 312, 313, 329, 330, 331, 334, 337, 338, 341, 343, - 344, 347, 353, 354, 355, 356, 357, 359, 366, 370, - 378, 379, 380, 381, 382, 384, 385, 389, 390, 391, - 392, 400, 404, 419, 420, 431, 443, 447, 270, 427, - 448, 0, 304, 0, 0, 306, 255, 272, 281, 0, - 438, 401, 211, 372, 262, 200, 229, 215, 236, 250, - 252, 285, 314, 320, 349, 352, 267, 247, 227, 369, - 224, 387, 407, 408, 409, 411, 318, 243, 336, 0, - 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, - 0, 0, 0, 294, 0, 0, 0, 350, 0, 388, - 232, 303, 301, 416, 256, 249, 245, 231, 278, 309, - 348, 406, 342, 0, 298, 0, 0, 397, 321, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 284, 230, 198, 333, 398, 260, - 0, 0, 0, 180, 181, 182, 0, 1462, 0, 0, - 0, 0, 0, 0, 221, 0, 228, 0, 0, 0, - 0, 242, 282, 248, 241, 413, 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, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 268, 0, - 322, 0, 0, 0, 0, 444, 0, 0, 0, 0, - 0, 0, 0, 0, 293, 0, 290, 194, 209, 0, - 0, 332, 371, 377, 0, 0, 0, 233, 0, 375, - 346, 430, 217, 258, 368, 351, 373, 0, 0, 374, - 299, 418, 363, 428, 445, 446, 240, 326, 436, 410, - 442, 456, 210, 237, 340, 403, 433, 394, 319, 414, - 415, 289, 393, 266, 197, 297, 453, 208, 383, 225, - 201, 405, 426, 222, 386, 0, 0, 0, 203, 424, - 402, 316, 286, 287, 202, 0, 367, 244, 264, 235, - 335, 421, 422, 234, 458, 212, 441, 205, 213, 440, - 328, 417, 425, 317, 308, 204, 423, 315, 307, 292, - 254, 274, 361, 302, 362, 275, 324, 323, 325, 0, - 199, 0, 399, 434, 459, 219, 0, 0, 412, 450, - 455, 0, 364, 220, 265, 253, 360, 263, 295, 449, - 451, 452, 454, 218, 358, 271, 339, 429, 257, 437, - 327, 214, 277, 395, 291, 300, 0, 0, 345, 376, - 223, 432, 396, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 193, 206, 296, 0, 365, 261, 457, - 439, 435, 0, 0, 239, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 195, 196, 207, - 216, 226, 238, 251, 259, 269, 273, 276, 279, 280, - 283, 288, 305, 310, 311, 312, 313, 329, 330, 331, - 334, 337, 338, 341, 343, 344, 347, 353, 354, 355, - 356, 357, 359, 366, 370, 378, 379, 380, 381, 382, - 384, 385, 389, 390, 391, 392, 400, 404, 419, 420, - 431, 443, 447, 270, 427, 448, 0, 304, 0, 0, - 306, 255, 272, 281, 0, 438, 401, 211, 372, 262, - 200, 229, 215, 236, 250, 252, 285, 314, 320, 349, - 352, 267, 247, 227, 369, 224, 387, 407, 408, 409, - 411, 318, 243, 336, 0, 0, 0, 0, 0, 0, - 0, 0, 246, 0, 0, 0, 0, 0, 294, 0, - 0, 0, 350, 0, 388, 232, 303, 301, 416, 256, - 249, 245, 231, 278, 309, 348, 406, 342, 0, 298, - 0, 0, 397, 321, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 284, - 230, 198, 333, 398, 260, 0, 0, 0, 180, 181, - 182, 0, 1088, 0, 0, 0, 0, 0, 0, 221, - 0, 228, 0, 0, 0, 0, 242, 282, 248, 241, - 413, 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, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 268, 0, 322, 0, 0, 0, 0, - 444, 0, 0, 0, 0, 0, 0, 0, 0, 293, - 0, 290, 194, 209, 0, 0, 332, 371, 377, 0, - 0, 0, 233, 0, 375, 346, 430, 217, 258, 368, - 351, 373, 0, 0, 374, 299, 418, 363, 428, 445, - 446, 240, 326, 436, 410, 442, 456, 210, 237, 340, - 403, 433, 394, 319, 414, 415, 289, 393, 266, 197, - 297, 453, 208, 383, 225, 201, 405, 426, 222, 386, - 0, 0, 0, 203, 424, 402, 316, 286, 287, 202, - 0, 367, 244, 264, 235, 335, 421, 422, 234, 458, - 212, 441, 205, 213, 440, 328, 417, 425, 317, 308, - 204, 423, 315, 307, 292, 254, 274, 361, 302, 362, - 275, 324, 323, 325, 0, 199, 0, 399, 434, 459, - 219, 0, 0, 412, 450, 455, 0, 364, 220, 265, - 253, 360, 263, 295, 449, 451, 452, 454, 218, 358, - 271, 339, 429, 257, 437, 327, 214, 277, 395, 291, - 300, 0, 0, 345, 376, 223, 432, 396, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 193, 206, - 296, 0, 365, 261, 457, 439, 435, 0, 0, 239, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 195, 196, 207, 216, 226, 238, 251, 259, - 269, 273, 276, 279, 280, 283, 288, 305, 310, 311, - 312, 313, 329, 330, 331, 334, 337, 338, 341, 343, - 344, 347, 353, 354, 355, 356, 357, 359, 366, 370, - 378, 379, 380, 381, 382, 384, 385, 389, 390, 391, - 392, 400, 404, 419, 420, 431, 443, 447, 270, 427, - 448, 0, 304, 0, 0, 306, 255, 272, 281, 0, - 438, 401, 211, 372, 262, 200, 229, 215, 236, 250, - 252, 285, 314, 320, 349, 352, 267, 247, 227, 369, - 224, 387, 407, 408, 409, 411, 318, 243, 336, 0, - 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, - 0, 0, 0, 294, 0, 0, 0, 350, 0, 388, - 232, 303, 301, 416, 256, 249, 245, 231, 278, 309, - 348, 406, 342, 0, 298, 0, 0, 397, 321, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 284, 230, 198, 333, 398, 260, - 0, 0, 0, 180, 181, 182, 0, 0, 0, 0, - 0, 0, 0, 0, 221, 0, 228, 0, 0, 0, - 0, 242, 282, 248, 241, 413, 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, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 268, 0, - 322, 0, 0, 0, 0, 444, 0, 0, 0, 0, - 0, 0, 0, 0, 293, 0, 290, 194, 209, 0, - 0, 332, 371, 377, 0, 0, 0, 233, 0, 375, - 346, 430, 217, 258, 368, 351, 373, 0, 0, 374, - 299, 418, 363, 428, 445, 446, 240, 326, 436, 410, - 442, 456, 210, 237, 340, 403, 433, 394, 319, 414, - 415, 289, 393, 266, 197, 297, 453, 208, 383, 225, - 201, 405, 426, 222, 386, 0, 0, 0, 203, 424, - 402, 316, 286, 287, 202, 0, 367, 244, 264, 235, - 335, 421, 422, 234, 458, 212, 441, 205, 213, 440, - 328, 417, 425, 317, 308, 204, 423, 315, 307, 292, - 254, 274, 361, 302, 362, 275, 324, 323, 325, 0, - 199, 0, 399, 434, 459, 219, 0, 0, 412, 450, - 455, 0, 364, 220, 265, 253, 360, 263, 295, 449, - 451, 452, 454, 218, 358, 271, 339, 429, 257, 437, - 327, 214, 277, 395, 291, 300, 0, 0, 345, 376, - 223, 432, 396, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 193, 206, 296, 1365, 365, 261, 457, - 439, 435, 0, 0, 239, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 195, 196, 207, - 216, 226, 238, 251, 259, 269, 273, 276, 279, 280, - 283, 288, 305, 310, 311, 312, 313, 329, 330, 331, - 334, 337, 338, 341, 343, 344, 347, 353, 354, 355, - 356, 357, 359, 366, 370, 378, 379, 380, 381, 382, - 384, 385, 389, 390, 391, 392, 400, 404, 419, 420, - 431, 443, 447, 270, 427, 448, 0, 304, 0, 0, - 306, 255, 272, 281, 0, 438, 401, 211, 372, 262, - 200, 229, 215, 236, 250, 252, 285, 314, 320, 349, - 352, 267, 247, 227, 369, 224, 387, 407, 408, 409, - 411, 318, 243, 336, 0, 1243, 0, 0, 0, 0, - 0, 0, 246, 0, 0, 0, 0, 0, 294, 0, - 0, 0, 350, 0, 388, 232, 303, 301, 416, 256, - 249, 245, 231, 278, 309, 348, 406, 342, 0, 298, - 0, 0, 397, 321, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 284, - 230, 198, 333, 398, 260, 0, 0, 0, 180, 181, - 182, 0, 0, 0, 0, 0, 0, 0, 0, 221, - 0, 228, 0, 0, 0, 0, 242, 282, 248, 241, - 413, 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, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 268, 0, 322, 0, 0, 0, 0, - 444, 0, 0, 0, 0, 0, 0, 0, 0, 293, - 0, 290, 194, 209, 0, 0, 332, 371, 377, 0, - 0, 0, 233, 0, 375, 346, 430, 217, 258, 368, - 351, 373, 0, 0, 374, 299, 418, 363, 428, 445, - 446, 240, 326, 436, 410, 442, 456, 210, 237, 340, - 403, 433, 394, 319, 414, 415, 289, 393, 266, 197, - 297, 453, 208, 383, 225, 201, 405, 426, 222, 386, - 0, 0, 0, 203, 424, 402, 316, 286, 287, 202, - 0, 367, 244, 264, 235, 335, 421, 422, 234, 458, - 212, 441, 205, 213, 440, 328, 417, 425, 317, 308, - 204, 423, 315, 307, 292, 254, 274, 361, 302, 362, - 275, 324, 323, 325, 0, 199, 0, 399, 434, 459, - 219, 0, 0, 412, 450, 455, 0, 364, 220, 265, - 253, 360, 263, 295, 449, 451, 452, 454, 218, 358, - 271, 339, 429, 257, 437, 327, 214, 277, 395, 291, - 300, 0, 0, 345, 376, 223, 432, 396, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 193, 206, - 296, 0, 365, 261, 457, 439, 435, 0, 0, 239, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 195, 196, 207, 216, 226, 238, 251, 259, - 269, 273, 276, 279, 280, 283, 288, 305, 310, 311, - 312, 313, 329, 330, 331, 334, 337, 338, 341, 343, - 344, 347, 353, 354, 355, 356, 357, 359, 366, 370, - 378, 379, 380, 381, 382, 384, 385, 389, 390, 391, - 392, 400, 404, 419, 420, 431, 443, 447, 270, 427, - 448, 0, 304, 0, 0, 306, 255, 272, 281, 0, - 438, 401, 211, 372, 262, 200, 229, 215, 236, 250, - 252, 285, 314, 320, 349, 352, 267, 247, 227, 369, - 224, 387, 407, 408, 409, 411, 318, 243, 336, 0, - 1241, 0, 0, 0, 0, 0, 0, 246, 0, 0, - 0, 0, 0, 294, 0, 0, 0, 350, 0, 388, - 232, 303, 301, 416, 256, 249, 245, 231, 278, 309, - 348, 406, 342, 0, 298, 0, 0, 397, 321, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 284, 230, 198, 333, 398, 260, - 0, 0, 0, 180, 181, 182, 0, 0, 0, 0, - 0, 0, 0, 0, 221, 0, 228, 0, 0, 0, - 0, 242, 282, 248, 241, 413, 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, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 268, 0, - 322, 0, 0, 0, 0, 444, 0, 0, 0, 0, - 0, 0, 0, 0, 293, 0, 290, 194, 209, 0, - 0, 332, 371, 377, 0, 0, 0, 233, 0, 375, - 346, 430, 217, 258, 368, 351, 373, 0, 0, 374, - 299, 418, 363, 428, 445, 446, 240, 326, 436, 410, - 442, 456, 210, 237, 340, 403, 433, 394, 319, 414, - 415, 289, 393, 266, 197, 297, 453, 208, 383, 225, - 201, 405, 426, 222, 386, 0, 0, 0, 203, 424, - 402, 316, 286, 287, 202, 0, 367, 244, 264, 235, - 335, 421, 422, 234, 458, 212, 441, 205, 213, 440, - 328, 417, 425, 317, 308, 204, 423, 315, 307, 292, - 254, 274, 361, 302, 362, 275, 324, 323, 325, 0, - 199, 0, 399, 434, 459, 219, 0, 0, 412, 450, - 455, 0, 364, 220, 265, 253, 360, 263, 295, 449, - 451, 452, 454, 218, 358, 271, 339, 429, 257, 437, - 327, 214, 277, 395, 291, 300, 0, 0, 345, 376, - 223, 432, 396, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 193, 206, 296, 0, 365, 261, 457, - 439, 435, 0, 0, 239, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 195, 196, 207, - 216, 226, 238, 251, 259, 269, 273, 276, 279, 280, - 283, 288, 305, 310, 311, 312, 313, 329, 330, 331, - 334, 337, 338, 341, 343, 344, 347, 353, 354, 355, - 356, 357, 359, 366, 370, 378, 379, 380, 381, 382, - 384, 385, 389, 390, 391, 392, 400, 404, 419, 420, - 431, 443, 447, 270, 427, 448, 0, 304, 0, 0, - 306, 255, 272, 281, 0, 438, 401, 211, 372, 262, - 200, 229, 215, 236, 250, 252, 285, 314, 320, 349, - 352, 267, 247, 227, 369, 224, 387, 407, 408, 409, - 411, 318, 243, 336, 0, 1239, 0, 0, 0, 0, - 0, 0, 246, 0, 0, 0, 0, 0, 294, 0, - 0, 0, 350, 0, 388, 232, 303, 301, 416, 256, - 249, 245, 231, 278, 309, 348, 406, 342, 0, 298, - 0, 0, 397, 321, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 284, - 230, 198, 333, 398, 260, 0, 0, 0, 180, 181, - 182, 0, 0, 0, 0, 0, 0, 0, 0, 221, - 0, 228, 0, 0, 0, 0, 242, 282, 248, 241, - 413, 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, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 268, 0, 322, 0, 0, 0, 0, - 444, 0, 0, 0, 0, 0, 0, 0, 0, 293, - 0, 290, 194, 209, 0, 0, 332, 371, 377, 0, - 0, 0, 233, 0, 375, 346, 430, 217, 258, 368, - 351, 373, 0, 0, 374, 299, 418, 363, 428, 445, - 446, 240, 326, 436, 410, 442, 456, 210, 237, 340, - 403, 433, 394, 319, 414, 415, 289, 393, 266, 197, - 297, 453, 208, 383, 225, 201, 405, 426, 222, 386, - 0, 0, 0, 203, 424, 402, 316, 286, 287, 202, - 0, 367, 244, 264, 235, 335, 421, 422, 234, 458, - 212, 441, 205, 213, 440, 328, 417, 425, 317, 308, - 204, 423, 315, 307, 292, 254, 274, 361, 302, 362, - 275, 324, 323, 325, 0, 199, 0, 399, 434, 459, - 219, 0, 0, 412, 450, 455, 0, 364, 220, 265, - 253, 360, 263, 295, 449, 451, 452, 454, 218, 358, - 271, 339, 429, 257, 437, 327, 214, 277, 395, 291, - 300, 0, 0, 345, 376, 223, 432, 396, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 193, 206, - 296, 0, 365, 261, 457, 439, 435, 0, 0, 239, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 195, 196, 207, 216, 226, 238, 251, 259, - 269, 273, 276, 279, 280, 283, 288, 305, 310, 311, - 312, 313, 329, 330, 331, 334, 337, 338, 341, 343, - 344, 347, 353, 354, 355, 356, 357, 359, 366, 370, - 378, 379, 380, 381, 382, 384, 385, 389, 390, 391, - 392, 400, 404, 419, 420, 431, 443, 447, 270, 427, - 448, 0, 304, 0, 0, 306, 255, 272, 281, 0, - 438, 401, 211, 372, 262, 200, 229, 215, 236, 250, - 252, 285, 314, 320, 349, 352, 267, 247, 227, 369, - 224, 387, 407, 408, 409, 411, 318, 243, 336, 0, - 1237, 0, 0, 0, 0, 0, 0, 246, 0, 0, - 0, 0, 0, 294, 0, 0, 0, 350, 0, 388, - 232, 303, 301, 416, 256, 249, 245, 231, 278, 309, - 348, 406, 342, 0, 298, 0, 0, 397, 321, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 284, 230, 198, 333, 398, 260, - 0, 0, 0, 180, 181, 182, 0, 0, 0, 0, - 0, 0, 0, 0, 221, 0, 228, 0, 0, 0, - 0, 242, 282, 248, 241, 413, 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, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 268, 0, - 322, 0, 0, 0, 0, 444, 0, 0, 0, 0, - 0, 0, 0, 0, 293, 0, 290, 194, 209, 0, - 0, 332, 371, 377, 0, 0, 0, 233, 0, 375, - 346, 430, 217, 258, 368, 351, 373, 0, 0, 374, - 299, 418, 363, 428, 445, 446, 240, 326, 436, 410, - 442, 456, 210, 237, 340, 403, 433, 394, 319, 414, - 415, 289, 393, 266, 197, 297, 453, 208, 383, 225, - 201, 405, 426, 222, 386, 0, 0, 0, 203, 424, - 402, 316, 286, 287, 202, 0, 367, 244, 264, 235, - 335, 421, 422, 234, 458, 212, 441, 205, 213, 440, - 328, 417, 425, 317, 308, 204, 423, 315, 307, 292, - 254, 274, 361, 302, 362, 275, 324, 323, 325, 0, - 199, 0, 399, 434, 459, 219, 0, 0, 412, 450, - 455, 0, 364, 220, 265, 253, 360, 263, 295, 449, - 451, 452, 454, 218, 358, 271, 339, 429, 257, 437, - 327, 214, 277, 395, 291, 300, 0, 0, 345, 376, - 223, 432, 396, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 193, 206, 296, 0, 365, 261, 457, - 439, 435, 0, 0, 239, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 195, 196, 207, - 216, 226, 238, 251, 259, 269, 273, 276, 279, 280, - 283, 288, 305, 310, 311, 312, 313, 329, 330, 331, - 334, 337, 338, 341, 343, 344, 347, 353, 354, 355, - 356, 357, 359, 366, 370, 378, 379, 380, 381, 382, - 384, 385, 389, 390, 391, 392, 400, 404, 419, 420, - 431, 443, 447, 270, 427, 448, 0, 304, 0, 0, - 306, 255, 272, 281, 0, 438, 401, 211, 372, 262, - 200, 229, 215, 236, 250, 252, 285, 314, 320, 349, - 352, 267, 247, 227, 369, 224, 387, 407, 408, 409, - 411, 318, 243, 336, 0, 1235, 0, 0, 0, 0, - 0, 0, 246, 0, 0, 0, 0, 0, 294, 0, - 0, 0, 350, 0, 388, 232, 303, 301, 416, 256, - 249, 245, 231, 278, 309, 348, 406, 342, 0, 298, - 0, 0, 397, 321, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 284, - 230, 198, 333, 398, 260, 0, 0, 0, 180, 181, - 182, 0, 0, 0, 0, 0, 0, 0, 0, 221, - 0, 228, 0, 0, 0, 0, 242, 282, 248, 241, - 413, 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, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 268, 0, 322, 0, 0, 0, 0, - 444, 0, 0, 0, 0, 0, 0, 0, 0, 293, - 0, 290, 194, 209, 0, 0, 332, 371, 377, 0, - 0, 0, 233, 0, 375, 346, 430, 217, 258, 368, - 351, 373, 0, 0, 374, 299, 418, 363, 428, 445, - 446, 240, 326, 436, 410, 442, 456, 210, 237, 340, - 403, 433, 394, 319, 414, 415, 289, 393, 266, 197, - 297, 453, 208, 383, 225, 201, 405, 426, 222, 386, - 0, 0, 0, 203, 424, 402, 316, 286, 287, 202, - 0, 367, 244, 264, 235, 335, 421, 422, 234, 458, - 212, 441, 205, 213, 440, 328, 417, 425, 317, 308, - 204, 423, 315, 307, 292, 254, 274, 361, 302, 362, - 275, 324, 323, 325, 0, 199, 0, 399, 434, 459, - 219, 0, 0, 412, 450, 455, 0, 364, 220, 265, - 253, 360, 263, 295, 449, 451, 452, 454, 218, 358, - 271, 339, 429, 257, 437, 327, 214, 277, 395, 291, - 300, 0, 0, 345, 376, 223, 432, 396, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 193, 206, - 296, 0, 365, 261, 457, 439, 435, 0, 0, 239, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 195, 196, 207, 216, 226, 238, 251, 259, - 269, 273, 276, 279, 280, 283, 288, 305, 310, 311, - 312, 313, 329, 330, 331, 334, 337, 338, 341, 343, - 344, 347, 353, 354, 355, 356, 357, 359, 366, 370, - 378, 379, 380, 381, 382, 384, 385, 389, 390, 391, - 392, 400, 404, 419, 420, 431, 443, 447, 270, 427, - 448, 0, 304, 0, 0, 306, 255, 272, 281, 0, - 438, 401, 211, 372, 262, 200, 229, 215, 236, 250, - 252, 285, 314, 320, 349, 352, 267, 247, 227, 369, - 224, 387, 407, 408, 409, 411, 318, 243, 336, 0, - 1231, 0, 0, 0, 0, 0, 0, 246, 0, 0, - 0, 0, 0, 294, 0, 0, 0, 350, 0, 388, - 232, 303, 301, 416, 256, 249, 245, 231, 278, 309, - 348, 406, 342, 0, 298, 0, 0, 397, 321, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 284, 230, 198, 333, 398, 260, - 0, 0, 0, 180, 181, 182, 0, 0, 0, 0, - 0, 0, 0, 0, 221, 0, 228, 0, 0, 0, - 0, 242, 282, 248, 241, 413, 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, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 268, 0, - 322, 0, 0, 0, 0, 444, 0, 0, 0, 0, - 0, 0, 0, 0, 293, 0, 290, 194, 209, 0, - 0, 332, 371, 377, 0, 0, 0, 233, 0, 375, - 346, 430, 217, 258, 368, 351, 373, 0, 0, 374, - 299, 418, 363, 428, 445, 446, 240, 326, 436, 410, - 442, 456, 210, 237, 340, 403, 433, 394, 319, 414, - 415, 289, 393, 266, 197, 297, 453, 208, 383, 225, - 201, 405, 426, 222, 386, 0, 0, 0, 203, 424, - 402, 316, 286, 287, 202, 0, 367, 244, 264, 235, - 335, 421, 422, 234, 458, 212, 441, 205, 213, 440, - 328, 417, 425, 317, 308, 204, 423, 315, 307, 292, - 254, 274, 361, 302, 362, 275, 324, 323, 325, 0, - 199, 0, 399, 434, 459, 219, 0, 0, 412, 450, - 455, 0, 364, 220, 265, 253, 360, 263, 295, 449, - 451, 452, 454, 218, 358, 271, 339, 429, 257, 437, - 327, 214, 277, 395, 291, 300, 0, 0, 345, 376, - 223, 432, 396, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 193, 206, 296, 0, 365, 261, 457, - 439, 435, 0, 0, 239, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 195, 196, 207, - 216, 226, 238, 251, 259, 269, 273, 276, 279, 280, - 283, 288, 305, 310, 311, 312, 313, 329, 330, 331, - 334, 337, 338, 341, 343, 344, 347, 353, 354, 355, - 356, 357, 359, 366, 370, 378, 379, 380, 381, 382, - 384, 385, 389, 390, 391, 392, 400, 404, 419, 420, - 431, 443, 447, 270, 427, 448, 0, 304, 0, 0, - 306, 255, 272, 281, 0, 438, 401, 211, 372, 262, - 200, 229, 215, 236, 250, 252, 285, 314, 320, 349, - 352, 267, 247, 227, 369, 224, 387, 407, 408, 409, - 411, 318, 243, 336, 0, 1229, 0, 0, 0, 0, - 0, 0, 246, 0, 0, 0, 0, 0, 294, 0, - 0, 0, 350, 0, 388, 232, 303, 301, 416, 256, - 249, 245, 231, 278, 309, 348, 406, 342, 0, 298, - 0, 0, 397, 321, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 284, - 230, 198, 333, 398, 260, 0, 0, 0, 180, 181, - 182, 0, 0, 0, 0, 0, 0, 0, 0, 221, - 0, 228, 0, 0, 0, 0, 242, 282, 248, 241, - 413, 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, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 268, 0, 322, 0, 0, 0, 0, - 444, 0, 0, 0, 0, 0, 0, 0, 0, 293, - 0, 290, 194, 209, 0, 0, 332, 371, 377, 0, - 0, 0, 233, 0, 375, 346, 430, 217, 258, 368, - 351, 373, 0, 0, 374, 299, 418, 363, 428, 445, - 446, 240, 326, 436, 410, 442, 456, 210, 237, 340, - 403, 433, 394, 319, 414, 415, 289, 393, 266, 197, - 297, 453, 208, 383, 225, 201, 405, 426, 222, 386, - 0, 0, 0, 203, 424, 402, 316, 286, 287, 202, - 0, 367, 244, 264, 235, 335, 421, 422, 234, 458, - 212, 441, 205, 213, 440, 328, 417, 425, 317, 308, - 204, 423, 315, 307, 292, 254, 274, 361, 302, 362, - 275, 324, 323, 325, 0, 199, 0, 399, 434, 459, - 219, 0, 0, 412, 450, 455, 0, 364, 220, 265, - 253, 360, 263, 295, 449, 451, 452, 454, 218, 358, - 271, 339, 429, 257, 437, 327, 214, 277, 395, 291, - 300, 0, 0, 345, 376, 223, 432, 396, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 193, 206, - 296, 0, 365, 261, 457, 439, 435, 0, 0, 239, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 195, 196, 207, 216, 226, 238, 251, 259, - 269, 273, 276, 279, 280, 283, 288, 305, 310, 311, - 312, 313, 329, 330, 331, 334, 337, 338, 341, 343, - 344, 347, 353, 354, 355, 356, 357, 359, 366, 370, - 378, 379, 380, 381, 382, 384, 385, 389, 390, 391, - 392, 400, 404, 419, 420, 431, 443, 447, 270, 427, - 448, 0, 304, 0, 0, 306, 255, 272, 281, 0, - 438, 401, 211, 372, 262, 200, 229, 215, 236, 250, - 252, 285, 314, 320, 349, 352, 267, 247, 227, 369, - 224, 387, 407, 408, 409, 411, 318, 243, 336, 0, - 1227, 0, 0, 0, 0, 0, 0, 246, 0, 0, - 0, 0, 0, 294, 0, 0, 0, 350, 0, 388, - 232, 303, 301, 416, 256, 249, 245, 231, 278, 309, - 348, 406, 342, 0, 298, 0, 0, 397, 321, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 284, 230, 198, 333, 398, 260, - 0, 0, 0, 180, 181, 182, 0, 0, 0, 0, - 0, 0, 0, 0, 221, 0, 228, 0, 0, 0, - 0, 242, 282, 248, 241, 413, 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, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 268, 0, - 322, 0, 0, 0, 0, 444, 0, 0, 0, 0, - 0, 0, 0, 0, 293, 0, 290, 194, 209, 0, - 0, 332, 371, 377, 0, 0, 0, 233, 0, 375, - 346, 430, 217, 258, 368, 351, 373, 0, 0, 374, - 299, 418, 363, 428, 445, 446, 240, 326, 436, 410, - 442, 456, 210, 237, 340, 403, 433, 394, 319, 414, - 415, 289, 393, 266, 197, 297, 453, 208, 383, 225, - 201, 405, 426, 222, 386, 0, 0, 0, 203, 424, - 402, 316, 286, 287, 202, 0, 367, 244, 264, 235, - 335, 421, 422, 234, 458, 212, 441, 205, 213, 440, - 328, 417, 425, 317, 308, 204, 423, 315, 307, 292, - 254, 274, 361, 302, 362, 275, 324, 323, 325, 0, - 199, 0, 399, 434, 459, 219, 0, 0, 412, 450, - 455, 0, 364, 220, 265, 253, 360, 263, 295, 449, - 451, 452, 454, 218, 358, 271, 339, 429, 257, 437, - 327, 214, 277, 395, 291, 300, 0, 0, 345, 376, - 223, 432, 396, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 193, 206, 296, 0, 365, 261, 457, - 439, 435, 0, 0, 239, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 195, 196, 207, - 216, 226, 238, 251, 259, 269, 273, 276, 279, 280, - 283, 288, 305, 310, 311, 312, 313, 329, 330, 331, - 334, 337, 338, 341, 343, 344, 347, 353, 354, 355, - 356, 357, 359, 366, 370, 378, 379, 380, 381, 382, - 384, 385, 389, 390, 391, 392, 400, 404, 419, 420, - 431, 443, 447, 270, 427, 448, 0, 304, 0, 0, - 306, 255, 272, 281, 0, 438, 401, 211, 372, 262, - 200, 229, 215, 236, 250, 252, 285, 314, 320, 349, - 352, 267, 247, 227, 369, 224, 387, 407, 408, 409, - 411, 318, 243, 336, 0, 0, 0, 0, 0, 0, - 0, 0, 246, 0, 0, 0, 0, 0, 294, 0, - 0, 0, 350, 0, 388, 232, 303, 301, 416, 256, - 249, 245, 231, 278, 309, 348, 406, 342, 0, 298, - 0, 0, 397, 321, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 284, - 230, 198, 333, 398, 260, 1202, 0, 0, 180, 181, - 182, 0, 0, 0, 0, 0, 0, 0, 0, 221, - 0, 228, 0, 0, 0, 0, 242, 282, 248, 241, - 413, 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, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 268, 0, 322, 0, 0, 0, 0, - 444, 0, 0, 0, 0, 0, 0, 0, 0, 293, - 0, 290, 194, 209, 0, 0, 332, 371, 377, 0, - 0, 0, 233, 0, 375, 346, 430, 217, 258, 368, - 351, 373, 0, 0, 374, 299, 418, 363, 428, 445, - 446, 240, 326, 436, 410, 442, 456, 210, 237, 340, - 403, 433, 394, 319, 414, 415, 289, 393, 266, 197, - 297, 453, 208, 383, 225, 201, 405, 426, 222, 386, - 0, 0, 0, 203, 424, 402, 316, 286, 287, 202, - 0, 367, 244, 264, 235, 335, 421, 422, 234, 458, - 212, 441, 205, 213, 440, 328, 417, 425, 317, 308, - 204, 423, 315, 307, 292, 254, 274, 361, 302, 362, - 275, 324, 323, 325, 0, 199, 0, 399, 434, 459, - 219, 0, 0, 412, 450, 455, 0, 364, 220, 265, - 253, 360, 263, 295, 449, 451, 452, 454, 218, 358, - 271, 339, 429, 257, 437, 327, 214, 277, 395, 291, - 300, 0, 0, 345, 376, 223, 432, 396, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 193, 206, - 296, 0, 365, 261, 457, 439, 435, 0, 0, 239, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 195, 196, 207, 216, 226, 238, 251, 259, - 269, 273, 276, 279, 280, 283, 288, 305, 310, 311, - 312, 313, 329, 330, 331, 334, 337, 338, 341, 343, - 344, 347, 353, 354, 355, 356, 357, 359, 366, 370, - 378, 379, 380, 381, 382, 384, 385, 389, 390, 391, - 392, 400, 404, 419, 420, 431, 443, 447, 270, 427, - 448, 0, 304, 0, 0, 306, 255, 272, 281, 0, - 438, 401, 211, 372, 262, 200, 229, 215, 236, 250, - 252, 285, 314, 320, 349, 352, 267, 247, 227, 369, - 224, 387, 407, 408, 409, 411, 318, 243, 1101, 0, - 0, 0, 0, 0, 0, 336, 0, 0, 0, 0, - 0, 0, 0, 0, 246, 0, 0, 0, 0, 0, - 294, 0, 0, 0, 350, 0, 388, 232, 303, 301, - 416, 256, 249, 245, 231, 278, 309, 348, 406, 342, - 0, 298, 0, 0, 397, 321, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 284, 230, 198, 333, 398, 260, 0, 0, 0, - 180, 181, 182, 0, 0, 0, 0, 0, 0, 0, - 0, 221, 0, 228, 0, 0, 0, 0, 242, 282, - 248, 241, 413, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 268, 0, 322, 0, 0, - 0, 0, 444, 0, 0, 0, 0, 0, 0, 0, - 0, 293, 0, 290, 194, 209, 0, 0, 332, 371, - 377, 0, 0, 0, 233, 0, 375, 346, 430, 217, - 258, 368, 351, 373, 0, 0, 374, 299, 418, 363, - 428, 445, 446, 240, 326, 436, 410, 442, 456, 210, - 237, 340, 403, 433, 394, 319, 414, 415, 289, 393, - 266, 197, 297, 453, 208, 383, 225, 201, 405, 426, - 222, 386, 0, 0, 0, 203, 424, 402, 316, 286, - 287, 202, 0, 367, 244, 264, 235, 335, 421, 422, - 234, 458, 212, 441, 205, 213, 440, 328, 417, 425, - 317, 308, 204, 423, 315, 307, 292, 254, 274, 361, - 302, 362, 275, 324, 323, 325, 0, 199, 0, 399, - 434, 459, 219, 0, 0, 412, 450, 455, 0, 364, - 220, 265, 253, 360, 263, 295, 449, 451, 452, 454, - 218, 358, 271, 339, 429, 257, 437, 327, 214, 277, - 395, 291, 300, 0, 0, 345, 376, 223, 432, 396, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 193, 206, 296, 0, 365, 261, 457, 439, 435, 0, - 0, 239, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 195, 196, 207, 216, 226, 238, - 251, 259, 269, 273, 276, 279, 280, 283, 288, 305, - 310, 311, 312, 313, 329, 330, 331, 334, 337, 338, - 341, 343, 344, 347, 353, 354, 355, 356, 357, 359, - 366, 370, 378, 379, 380, 381, 382, 384, 385, 389, - 390, 391, 392, 400, 404, 419, 420, 431, 443, 447, - 270, 427, 448, 0, 304, 0, 0, 306, 255, 272, - 281, 0, 438, 401, 211, 372, 262, 200, 229, 215, - 236, 250, 252, 285, 314, 320, 349, 352, 267, 247, - 227, 369, 224, 387, 407, 408, 409, 411, 318, 243, - 336, 0, 0, 0, 0, 0, 0, 0, 1092, 246, - 0, 0, 0, 0, 0, 294, 0, 0, 0, 350, - 0, 388, 232, 303, 301, 416, 256, 249, 245, 231, - 278, 309, 348, 406, 342, 0, 298, 0, 0, 397, - 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 284, 230, 198, 333, - 398, 260, 0, 0, 0, 180, 181, 182, 0, 0, - 0, 0, 0, 0, 0, 0, 221, 0, 228, 0, - 0, 0, 0, 242, 282, 248, 241, 413, 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, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 268, 0, 322, 0, 0, 0, 0, 444, 0, 0, - 0, 0, 0, 0, 0, 0, 293, 0, 290, 194, - 209, 0, 0, 332, 371, 377, 0, 0, 0, 233, - 0, 375, 346, 430, 217, 258, 368, 351, 373, 0, - 0, 374, 299, 418, 363, 428, 445, 446, 240, 326, - 436, 410, 442, 456, 210, 237, 340, 403, 433, 394, - 319, 414, 415, 289, 393, 266, 197, 297, 453, 208, - 383, 225, 201, 405, 426, 222, 386, 0, 0, 0, - 203, 424, 402, 316, 286, 287, 202, 0, 367, 244, - 264, 235, 335, 421, 422, 234, 458, 212, 441, 205, - 213, 440, 328, 417, 425, 317, 308, 204, 423, 315, - 307, 292, 254, 274, 361, 302, 362, 275, 324, 323, - 325, 0, 199, 0, 399, 434, 459, 219, 0, 0, - 412, 450, 455, 0, 364, 220, 265, 253, 360, 263, - 295, 449, 451, 452, 454, 218, 358, 271, 339, 429, - 257, 437, 327, 214, 277, 395, 291, 300, 0, 0, - 345, 376, 223, 432, 396, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 193, 206, 296, 0, 365, - 261, 457, 439, 435, 0, 0, 239, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 195, - 196, 207, 216, 226, 238, 251, 259, 269, 273, 276, - 279, 280, 283, 288, 305, 310, 311, 312, 313, 329, - 330, 331, 334, 337, 338, 341, 343, 344, 347, 353, - 354, 355, 356, 357, 359, 366, 370, 378, 379, 380, - 381, 382, 384, 385, 389, 390, 391, 392, 400, 404, - 419, 420, 431, 443, 447, 270, 427, 448, 0, 304, - 0, 0, 306, 255, 272, 281, 0, 438, 401, 211, - 372, 262, 200, 229, 215, 236, 250, 252, 285, 314, - 320, 349, 352, 267, 247, 227, 369, 224, 387, 407, - 408, 409, 411, 318, 243, 336, 0, 0, 0, 0, - 0, 0, 0, 0, 246, 0, 0, 0, 0, 0, - 294, 0, 0, 0, 350, 0, 388, 232, 303, 301, - 416, 256, 249, 245, 231, 278, 309, 348, 406, 342, - 0, 298, 0, 0, 397, 321, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 284, 230, 198, 333, 398, 260, 0, 0, 0, - 180, 181, 182, 0, 948, 0, 0, 0, 0, 0, - 0, 221, 0, 228, 0, 0, 0, 0, 242, 282, - 248, 241, 413, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 268, 0, 322, 0, 0, - 0, 0, 444, 0, 0, 0, 0, 0, 0, 0, - 0, 293, 0, 290, 194, 209, 0, 0, 332, 371, - 377, 0, 0, 0, 233, 0, 375, 346, 430, 217, - 258, 368, 351, 373, 0, 0, 374, 299, 418, 363, - 428, 445, 446, 240, 326, 436, 410, 442, 456, 210, - 237, 340, 403, 433, 394, 319, 414, 415, 289, 393, - 266, 197, 297, 453, 208, 383, 225, 201, 405, 426, - 222, 386, 0, 0, 0, 203, 424, 402, 316, 286, - 287, 202, 0, 367, 244, 264, 235, 335, 421, 422, - 234, 458, 212, 441, 205, 213, 440, 328, 417, 425, - 317, 308, 204, 423, 315, 307, 292, 254, 274, 361, - 302, 362, 275, 324, 323, 325, 0, 199, 0, 399, - 434, 459, 219, 0, 0, 412, 450, 455, 0, 364, - 220, 265, 253, 360, 263, 295, 449, 451, 452, 454, - 218, 358, 271, 339, 429, 257, 437, 327, 214, 277, - 395, 291, 300, 0, 0, 345, 376, 223, 432, 396, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 193, 206, 296, 0, 365, 261, 457, 439, 435, 0, - 0, 239, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 195, 196, 207, 216, 226, 238, - 251, 259, 269, 273, 276, 279, 280, 283, 288, 305, - 310, 311, 312, 313, 329, 330, 331, 334, 337, 338, - 341, 343, 344, 347, 353, 354, 355, 356, 357, 359, - 366, 370, 378, 379, 380, 381, 382, 384, 385, 389, - 390, 391, 392, 400, 404, 419, 420, 431, 443, 447, - 270, 427, 448, 0, 304, 0, 0, 306, 255, 272, - 281, 0, 438, 401, 211, 372, 262, 200, 229, 215, - 236, 250, 252, 285, 314, 320, 349, 352, 267, 247, - 227, 369, 224, 387, 407, 408, 409, 411, 318, 243, - 336, 0, 0, 0, 0, 0, 0, 0, 0, 246, - 0, 0, 0, 0, 0, 294, 0, 0, 0, 350, - 0, 388, 232, 303, 301, 416, 256, 249, 245, 231, - 278, 309, 348, 406, 342, 0, 298, 0, 0, 397, - 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 284, 230, 198, 333, - 398, 260, 0, 0, 0, 180, 181, 182, 0, 0, - 0, 0, 0, 0, 0, 0, 221, 0, 228, 0, - 0, 0, 0, 242, 282, 248, 241, 413, 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, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 508, 0, - 268, 0, 322, 0, 0, 0, 0, 444, 0, 0, - 0, 0, 0, 0, 0, 0, 293, 0, 290, 194, - 209, 0, 0, 332, 371, 377, 0, 0, 0, 233, - 0, 375, 346, 430, 217, 258, 368, 351, 373, 0, - 0, 374, 299, 418, 363, 428, 445, 446, 240, 326, - 436, 410, 442, 456, 210, 237, 340, 403, 433, 394, - 319, 414, 415, 289, 393, 266, 197, 297, 453, 208, - 383, 225, 201, 405, 426, 222, 386, 0, 0, 0, - 203, 424, 402, 316, 286, 287, 202, 0, 367, 244, - 264, 235, 335, 421, 422, 234, 458, 212, 441, 205, - 213, 440, 328, 417, 425, 317, 308, 204, 423, 315, - 307, 292, 254, 274, 361, 302, 362, 275, 324, 323, - 325, 0, 199, 0, 399, 434, 459, 219, 0, 0, - 412, 450, 455, 0, 364, 220, 265, 253, 360, 263, - 295, 449, 451, 452, 454, 218, 358, 271, 339, 429, - 257, 437, 327, 214, 277, 395, 291, 300, 0, 0, - 345, 376, 223, 432, 396, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 193, 206, 296, 0, 365, - 261, 457, 439, 435, 0, 0, 239, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 195, - 196, 207, 216, 226, 238, 251, 259, 269, 273, 276, - 279, 280, 283, 288, 305, 310, 311, 312, 313, 329, - 330, 331, 334, 337, 338, 341, 343, 344, 347, 353, - 354, 355, 356, 357, 359, 366, 370, 378, 379, 380, - 381, 382, 384, 385, 389, 390, 391, 392, 400, 404, - 419, 420, 431, 443, 447, 507, 427, 448, 0, 304, - 0, 0, 306, 255, 272, 281, 0, 438, 401, 211, - 372, 262, 200, 229, 215, 236, 250, 252, 285, 314, - 320, 349, 352, 267, 247, 227, 369, 224, 387, 407, - 408, 409, 411, 318, 243, 336, 0, 0, 0, 0, - 0, 0, 0, 0, 246, 0, 0, 0, 0, 0, - 294, 0, 0, 0, 350, 0, 388, 232, 303, 301, - 416, 256, 249, 245, 231, 278, 309, 348, 406, 342, - 0, 298, 0, 0, 397, 321, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 284, 230, 198, 333, 398, 260, 0, 0, 0, - 180, 181, 182, 0, 0, 0, 0, 0, 0, 0, - 0, 221, 0, 228, 0, 0, 0, 0, 242, 282, - 248, 241, 413, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 268, 0, 322, 0, 0, - 188, 0, 444, 0, 0, 0, 0, 0, 0, 0, - 0, 293, 0, 290, 194, 209, 0, 0, 332, 371, - 377, 0, 0, 0, 233, 0, 375, 346, 430, 217, - 258, 368, 351, 373, 0, 0, 374, 299, 418, 363, - 428, 445, 446, 240, 326, 436, 410, 442, 456, 210, - 237, 340, 403, 433, 394, 319, 414, 415, 289, 393, - 266, 197, 297, 453, 208, 383, 225, 201, 405, 426, - 222, 386, 0, 0, 0, 203, 424, 402, 316, 286, - 287, 202, 0, 367, 244, 264, 235, 335, 421, 422, - 234, 458, 212, 441, 205, 213, 440, 328, 417, 425, - 317, 308, 204, 423, 315, 307, 292, 254, 274, 361, - 302, 362, 275, 324, 323, 325, 0, 199, 0, 399, - 434, 459, 219, 0, 0, 412, 450, 455, 0, 364, - 220, 265, 253, 360, 263, 295, 449, 451, 452, 454, - 218, 358, 271, 339, 429, 257, 437, 327, 214, 277, - 395, 291, 300, 0, 0, 345, 376, 223, 432, 396, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 193, 206, 296, 0, 365, 261, 457, 439, 435, 0, - 0, 239, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 195, 196, 207, 216, 226, 238, - 251, 259, 269, 273, 276, 279, 280, 283, 288, 305, - 310, 311, 312, 313, 329, 330, 331, 334, 337, 338, - 341, 343, 344, 347, 353, 354, 355, 356, 357, 359, - 366, 370, 378, 379, 380, 381, 382, 384, 385, 389, - 390, 391, 392, 400, 404, 419, 420, 431, 443, 447, - 270, 427, 448, 0, 304, 0, 0, 306, 255, 272, - 281, 0, 438, 401, 211, 372, 262, 200, 229, 215, - 236, 250, 252, 285, 314, 320, 349, 352, 267, 247, - 227, 369, 224, 387, 407, 408, 409, 411, 318, 243, - 336, 0, 0, 0, 0, 0, 0, 0, 0, 246, - 0, 0, 0, 0, 0, 294, 0, 0, 0, 350, - 0, 388, 232, 303, 301, 416, 256, 249, 245, 231, - 278, 309, 348, 406, 342, 0, 298, 0, 0, 397, - 321, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 284, 230, 198, 333, - 398, 260, 0, 0, 0, 180, 181, 182, 0, 0, - 0, 0, 0, 0, 0, 0, 221, 0, 228, 0, - 0, 0, 0, 242, 282, 248, 241, 413, 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, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 268, 0, 322, 0, 0, 0, 0, 444, 0, 0, - 0, 0, 0, 0, 0, 0, 293, 0, 290, 194, - 209, 0, 0, 332, 371, 377, 0, 0, 0, 233, - 0, 375, 346, 430, 217, 258, 368, 351, 373, 0, - 0, 374, 299, 418, 363, 428, 445, 446, 240, 326, - 436, 410, 442, 456, 210, 237, 340, 403, 433, 394, - 319, 414, 415, 289, 393, 266, 197, 297, 453, 208, - 383, 225, 201, 405, 426, 222, 386, 0, 0, 0, - 203, 424, 402, 316, 286, 287, 202, 0, 367, 244, - 264, 235, 335, 421, 422, 234, 458, 212, 441, 205, - 213, 440, 328, 417, 425, 317, 308, 204, 423, 315, - 307, 292, 254, 274, 361, 302, 362, 275, 324, 323, - 325, 0, 199, 0, 399, 434, 459, 219, 0, 0, - 412, 450, 455, 0, 364, 220, 265, 253, 360, 263, - 295, 449, 451, 452, 454, 218, 358, 271, 339, 429, - 257, 437, 327, 214, 277, 395, 291, 300, 0, 0, - 345, 376, 223, 432, 396, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 193, 206, 296, 0, 365, - 261, 457, 439, 435, 0, 0, 239, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 195, - 196, 207, 216, 226, 238, 251, 259, 269, 273, 276, - 279, 280, 283, 288, 305, 310, 311, 312, 313, 329, - 330, 331, 334, 337, 338, 341, 343, 344, 347, 353, - 354, 355, 356, 357, 359, 366, 370, 378, 379, 380, - 381, 382, 384, 385, 389, 390, 391, 392, 400, 404, - 419, 420, 431, 443, 447, 270, 427, 448, 0, 304, - 0, 0, 306, 255, 272, 281, 0, 438, 401, 211, - 372, 262, 200, 229, 215, 236, 250, 252, 285, 314, - 320, 349, 352, 267, 247, 227, 369, 224, 387, 407, - 408, 409, 411, 318, 243, + 187, 188, 199, 207, 217, 229, 242, 250, 260, 264, + 267, 270, 271, 274, 279, 296, 301, 302, 303, 304, + 320, 321, 322, 325, 328, 329, 332, 334, 335, 338, + 344, 345, 346, 347, 348, 350, 357, 361, 369, 370, + 371, 372, 373, 375, 376, 380, 381, 382, 383, 391, + 395, 410, 411, 422, 434, 438, 261, 418, 439, 0, + 295, 703, 710, 297, 246, 263, 272, 718, 429, 392, + 203, 363, 253, 192, 220, 206, 227, 241, 243, 276, + 305, 311, 340, 343, 258, 238, 218, 360, 215, 378, + 398, 399, 400, 402, 309, 234, 327, 0, 0, 1415, + 0, 519, 0, 0, 0, 237, 0, 518, 0, 0, + 0, 285, 0, 0, 1416, 341, 0, 379, 223, 294, + 292, 407, 247, 240, 236, 222, 269, 300, 339, 397, + 333, 562, 289, 0, 0, 388, 312, 0, 0, 0, + 0, 0, 553, 554, 0, 0, 0, 0, 0, 0, + 0, 0, 275, 221, 190, 324, 389, 251, 71, 0, + 0, 182, 183, 184, 540, 539, 542, 543, 544, 545, + 0, 0, 212, 541, 219, 546, 547, 548, 0, 233, + 273, 239, 232, 404, 0, 0, 0, 516, 533, 0, + 561, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 530, 531, 609, 0, 0, 0, 577, 0, 532, 0, + 0, 525, 526, 528, 527, 529, 534, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 259, 0, 313, 0, + 576, 0, 0, 435, 0, 0, 574, 0, 0, 0, + 0, 0, 284, 0, 281, 186, 201, 0, 0, 323, + 362, 368, 0, 0, 0, 224, 0, 366, 337, 421, + 208, 249, 359, 342, 364, 0, 0, 365, 290, 409, + 354, 419, 436, 437, 231, 317, 427, 401, 433, 447, + 202, 228, 331, 394, 424, 385, 310, 405, 406, 280, + 384, 257, 189, 288, 444, 200, 374, 216, 193, 396, + 417, 213, 377, 0, 0, 0, 195, 415, 393, 307, + 277, 278, 194, 0, 358, 235, 255, 226, 326, 412, + 413, 225, 449, 204, 432, 197, 0, 431, 319, 408, + 416, 308, 299, 196, 414, 306, 298, 283, 245, 265, + 352, 293, 353, 266, 315, 314, 316, 0, 191, 0, + 390, 425, 450, 210, 0, 0, 403, 441, 446, 0, + 355, 211, 256, 244, 351, 254, 286, 440, 442, 443, + 445, 209, 349, 262, 330, 420, 248, 428, 318, 205, + 268, 386, 282, 291, 0, 0, 336, 367, 214, 423, + 387, 564, 575, 570, 571, 568, 569, 563, 567, 566, + 565, 578, 555, 556, 557, 558, 560, 0, 572, 573, + 559, 185, 198, 287, 0, 356, 252, 448, 430, 426, + 0, 0, 230, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 187, 188, 199, 207, 217, + 229, 242, 250, 260, 264, 267, 270, 271, 274, 279, + 296, 301, 302, 303, 304, 320, 321, 322, 325, 328, + 329, 332, 334, 335, 338, 344, 345, 346, 347, 348, + 350, 357, 361, 369, 370, 371, 372, 373, 375, 376, + 380, 381, 382, 383, 391, 395, 410, 411, 422, 434, + 438, 261, 418, 439, 0, 295, 0, 0, 297, 246, + 263, 272, 0, 429, 392, 203, 363, 253, 192, 220, + 206, 227, 241, 243, 276, 305, 311, 340, 343, 258, + 238, 218, 360, 215, 378, 398, 399, 400, 402, 309, + 234, 327, 0, 0, 0, 0, 519, 0, 0, 0, + 237, 0, 518, 0, 0, 0, 285, 0, 0, 0, + 341, 0, 379, 223, 294, 292, 407, 247, 240, 236, + 222, 269, 300, 339, 397, 333, 562, 289, 0, 0, + 388, 312, 0, 0, 0, 0, 0, 553, 554, 0, + 0, 0, 0, 0, 0, 1527, 0, 275, 221, 190, + 324, 389, 251, 71, 0, 0, 182, 183, 184, 540, + 539, 542, 543, 544, 545, 0, 0, 212, 541, 219, + 546, 547, 548, 1528, 233, 273, 239, 232, 404, 0, + 0, 0, 516, 533, 0, 561, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 530, 531, 0, 0, 0, + 0, 577, 0, 532, 0, 0, 525, 526, 528, 527, + 529, 534, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 259, 0, 313, 0, 576, 0, 0, 435, 0, + 0, 574, 0, 0, 0, 0, 0, 284, 0, 281, + 186, 201, 0, 0, 323, 362, 368, 0, 0, 0, + 224, 0, 366, 337, 421, 208, 249, 359, 342, 364, + 0, 0, 365, 290, 409, 354, 419, 436, 437, 231, + 317, 427, 401, 433, 447, 202, 228, 331, 394, 424, + 385, 310, 405, 406, 280, 384, 257, 189, 288, 444, + 200, 374, 216, 193, 396, 417, 213, 377, 0, 0, + 0, 195, 415, 393, 307, 277, 278, 194, 0, 358, + 235, 255, 226, 326, 412, 413, 225, 449, 204, 432, + 197, 0, 431, 319, 408, 416, 308, 299, 196, 414, + 306, 298, 283, 245, 265, 352, 293, 353, 266, 315, + 314, 316, 0, 191, 0, 390, 425, 450, 210, 0, + 0, 403, 441, 446, 0, 355, 211, 256, 244, 351, + 254, 286, 440, 442, 443, 445, 209, 349, 262, 330, + 420, 248, 428, 318, 205, 268, 386, 282, 291, 0, + 0, 336, 367, 214, 423, 387, 564, 575, 570, 571, + 568, 569, 563, 567, 566, 565, 578, 555, 556, 557, + 558, 560, 0, 572, 573, 559, 185, 198, 287, 0, + 356, 252, 448, 430, 426, 0, 0, 230, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 187, 188, 199, 207, 217, 229, 242, 250, 260, 264, + 267, 270, 271, 274, 279, 296, 301, 302, 303, 304, + 320, 321, 322, 325, 328, 329, 332, 334, 335, 338, + 344, 345, 346, 347, 348, 350, 357, 361, 369, 370, + 371, 372, 373, 375, 376, 380, 381, 382, 383, 391, + 395, 410, 411, 422, 434, 438, 261, 418, 439, 0, + 295, 0, 0, 297, 246, 263, 272, 0, 429, 392, + 203, 363, 253, 192, 220, 206, 227, 241, 243, 276, + 305, 311, 340, 343, 258, 238, 218, 360, 215, 378, + 398, 399, 400, 402, 309, 234, 327, 0, 0, 0, + 0, 519, 0, 0, 0, 237, 0, 518, 0, 0, + 0, 285, 0, 0, 0, 341, 0, 379, 223, 294, + 292, 407, 247, 240, 236, 222, 269, 300, 339, 397, + 333, 562, 289, 0, 0, 388, 312, 0, 0, 0, + 0, 0, 553, 554, 0, 0, 0, 0, 0, 0, + 0, 0, 275, 221, 190, 324, 389, 251, 71, 0, + 596, 182, 183, 184, 540, 539, 542, 543, 544, 545, + 0, 0, 212, 541, 219, 546, 547, 548, 0, 233, + 273, 239, 232, 404, 0, 0, 0, 516, 533, 0, + 561, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 530, 531, 0, 0, 0, 0, 577, 0, 532, 0, + 0, 525, 526, 528, 527, 529, 534, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 259, 0, 313, 0, + 576, 0, 0, 435, 0, 0, 574, 0, 0, 0, + 0, 0, 284, 0, 281, 186, 201, 0, 0, 323, + 362, 368, 0, 0, 0, 224, 0, 366, 337, 421, + 208, 249, 359, 342, 364, 0, 0, 365, 290, 409, + 354, 419, 436, 437, 231, 317, 427, 401, 433, 447, + 202, 228, 331, 394, 424, 385, 310, 405, 406, 280, + 384, 257, 189, 288, 444, 200, 374, 216, 193, 396, + 417, 213, 377, 0, 0, 0, 195, 415, 393, 307, + 277, 278, 194, 0, 358, 235, 255, 226, 326, 412, + 413, 225, 449, 204, 432, 197, 0, 431, 319, 408, + 416, 308, 299, 196, 414, 306, 298, 283, 245, 265, + 352, 293, 353, 266, 315, 314, 316, 0, 191, 0, + 390, 425, 450, 210, 0, 0, 403, 441, 446, 0, + 355, 211, 256, 244, 351, 254, 286, 440, 442, 443, + 445, 209, 349, 262, 330, 420, 248, 428, 318, 205, + 268, 386, 282, 291, 0, 0, 336, 367, 214, 423, + 387, 564, 575, 570, 571, 568, 569, 563, 567, 566, + 565, 578, 555, 556, 557, 558, 560, 0, 572, 573, + 559, 185, 198, 287, 0, 356, 252, 448, 430, 426, + 0, 0, 230, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 187, 188, 199, 207, 217, + 229, 242, 250, 260, 264, 267, 270, 271, 274, 279, + 296, 301, 302, 303, 304, 320, 321, 322, 325, 328, + 329, 332, 334, 335, 338, 344, 345, 346, 347, 348, + 350, 357, 361, 369, 370, 371, 372, 373, 375, 376, + 380, 381, 382, 383, 391, 395, 410, 411, 422, 434, + 438, 261, 418, 439, 0, 295, 0, 0, 297, 246, + 263, 272, 0, 429, 392, 203, 363, 253, 192, 220, + 206, 227, 241, 243, 276, 305, 311, 340, 343, 258, + 238, 218, 360, 215, 378, 398, 399, 400, 402, 309, + 234, 327, 0, 0, 0, 0, 519, 0, 0, 0, + 237, 0, 518, 0, 0, 0, 285, 0, 0, 0, + 341, 0, 379, 223, 294, 292, 407, 247, 240, 236, + 222, 269, 300, 339, 397, 333, 562, 289, 0, 0, + 388, 312, 0, 0, 0, 0, 0, 553, 554, 0, + 0, 0, 0, 0, 0, 0, 0, 275, 221, 190, + 324, 389, 251, 71, 0, 0, 182, 183, 184, 540, + 539, 542, 543, 544, 545, 0, 0, 212, 541, 219, + 546, 547, 548, 0, 233, 273, 239, 232, 404, 0, + 0, 0, 516, 533, 0, 561, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 530, 531, 609, 0, 0, + 0, 577, 0, 532, 0, 0, 525, 526, 528, 527, + 529, 534, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 259, 0, 313, 0, 576, 0, 0, 435, 0, + 0, 574, 0, 0, 0, 0, 0, 284, 0, 281, + 186, 201, 0, 0, 323, 362, 368, 0, 0, 0, + 224, 0, 366, 337, 421, 208, 249, 359, 342, 364, + 0, 0, 365, 290, 409, 354, 419, 436, 437, 231, + 317, 427, 401, 433, 447, 202, 228, 331, 394, 424, + 385, 310, 405, 406, 280, 384, 257, 189, 288, 444, + 200, 374, 216, 193, 396, 417, 213, 377, 0, 0, + 0, 195, 415, 393, 307, 277, 278, 194, 0, 358, + 235, 255, 226, 326, 412, 413, 225, 449, 204, 432, + 197, 0, 431, 319, 408, 416, 308, 299, 196, 414, + 306, 298, 283, 245, 265, 352, 293, 353, 266, 315, + 314, 316, 0, 191, 0, 390, 425, 450, 210, 0, + 0, 403, 441, 446, 0, 355, 211, 256, 244, 351, + 254, 286, 440, 442, 443, 445, 209, 349, 262, 330, + 420, 248, 428, 318, 205, 268, 386, 282, 291, 0, + 0, 336, 367, 214, 423, 387, 564, 575, 570, 571, + 568, 569, 563, 567, 566, 565, 578, 555, 556, 557, + 558, 560, 0, 572, 573, 559, 185, 198, 287, 0, + 356, 252, 448, 430, 426, 0, 0, 230, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 187, 188, 199, 207, 217, 229, 242, 250, 260, 264, + 267, 270, 271, 274, 279, 296, 301, 302, 303, 304, + 320, 321, 322, 325, 328, 329, 332, 334, 335, 338, + 344, 345, 346, 347, 348, 350, 357, 361, 369, 370, + 371, 372, 373, 375, 376, 380, 381, 382, 383, 391, + 395, 410, 411, 422, 434, 438, 261, 418, 439, 0, + 295, 0, 0, 297, 246, 263, 272, 0, 429, 392, + 203, 363, 253, 192, 220, 206, 227, 241, 243, 276, + 305, 311, 340, 343, 258, 238, 218, 360, 215, 378, + 398, 399, 400, 402, 309, 234, 327, 0, 0, 0, + 0, 519, 0, 0, 0, 237, 0, 518, 0, 0, + 0, 285, 0, 0, 0, 341, 0, 379, 223, 294, + 292, 407, 247, 240, 236, 222, 269, 300, 339, 397, + 333, 562, 289, 0, 0, 388, 312, 0, 0, 0, + 0, 0, 553, 554, 0, 0, 0, 0, 0, 0, + 0, 0, 275, 221, 190, 324, 389, 251, 71, 0, + 0, 182, 183, 184, 540, 1433, 542, 543, 544, 545, + 0, 0, 212, 541, 219, 546, 547, 548, 0, 233, + 273, 239, 232, 404, 0, 0, 0, 516, 533, 0, + 561, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 530, 531, 609, 0, 0, 0, 577, 0, 532, 0, + 0, 525, 526, 528, 527, 529, 534, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 259, 0, 313, 0, + 576, 0, 0, 435, 0, 0, 574, 0, 0, 0, + 0, 0, 284, 0, 281, 186, 201, 0, 0, 323, + 362, 368, 0, 0, 0, 224, 0, 366, 337, 421, + 208, 249, 359, 342, 364, 0, 0, 365, 290, 409, + 354, 419, 436, 437, 231, 317, 427, 401, 433, 447, + 202, 228, 331, 394, 424, 385, 310, 405, 406, 280, + 384, 257, 189, 288, 444, 200, 374, 216, 193, 396, + 417, 213, 377, 0, 0, 0, 195, 415, 393, 307, + 277, 278, 194, 0, 358, 235, 255, 226, 326, 412, + 413, 225, 449, 204, 432, 197, 0, 431, 319, 408, + 416, 308, 299, 196, 414, 306, 298, 283, 245, 265, + 352, 293, 353, 266, 315, 314, 316, 0, 191, 0, + 390, 425, 450, 210, 0, 0, 403, 441, 446, 0, + 355, 211, 256, 244, 351, 254, 286, 440, 442, 443, + 445, 209, 349, 262, 330, 420, 248, 428, 318, 205, + 268, 386, 282, 291, 0, 0, 336, 367, 214, 423, + 387, 564, 575, 570, 571, 568, 569, 563, 567, 566, + 565, 578, 555, 556, 557, 558, 560, 0, 572, 573, + 559, 185, 198, 287, 0, 356, 252, 448, 430, 426, + 0, 0, 230, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 187, 188, 199, 207, 217, + 229, 242, 250, 260, 264, 267, 270, 271, 274, 279, + 296, 301, 302, 303, 304, 320, 321, 322, 325, 328, + 329, 332, 334, 335, 338, 344, 345, 346, 347, 348, + 350, 357, 361, 369, 370, 371, 372, 373, 375, 376, + 380, 381, 382, 383, 391, 395, 410, 411, 422, 434, + 438, 261, 418, 439, 0, 295, 0, 0, 297, 246, + 263, 272, 0, 429, 392, 203, 363, 253, 192, 220, + 206, 227, 241, 243, 276, 305, 311, 340, 343, 258, + 238, 218, 360, 215, 378, 398, 399, 400, 402, 309, + 234, 327, 0, 0, 0, 0, 519, 0, 0, 0, + 237, 0, 518, 0, 0, 0, 285, 0, 0, 0, + 341, 0, 379, 223, 294, 292, 407, 247, 240, 236, + 222, 269, 300, 339, 397, 333, 562, 289, 0, 0, + 388, 312, 0, 0, 0, 0, 0, 553, 554, 0, + 0, 0, 0, 0, 0, 0, 0, 275, 221, 190, + 324, 389, 251, 71, 0, 0, 182, 183, 184, 540, + 1430, 542, 543, 544, 545, 0, 0, 212, 541, 219, + 546, 547, 548, 0, 233, 273, 239, 232, 404, 0, + 0, 0, 516, 533, 0, 561, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 530, 531, 609, 0, 0, + 0, 577, 0, 532, 0, 0, 525, 526, 528, 527, + 529, 534, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 259, 0, 313, 0, 576, 0, 0, 435, 0, + 0, 574, 0, 0, 0, 0, 0, 284, 0, 281, + 186, 201, 0, 0, 323, 362, 368, 0, 0, 0, + 224, 0, 366, 337, 421, 208, 249, 359, 342, 364, + 0, 0, 365, 290, 409, 354, 419, 436, 437, 231, + 317, 427, 401, 433, 447, 202, 228, 331, 394, 424, + 385, 310, 405, 406, 280, 384, 257, 189, 288, 444, + 200, 374, 216, 193, 396, 417, 213, 377, 0, 0, + 0, 195, 415, 393, 307, 277, 278, 194, 0, 358, + 235, 255, 226, 326, 412, 413, 225, 449, 204, 432, + 197, 0, 431, 319, 408, 416, 308, 299, 196, 414, + 306, 298, 283, 245, 265, 352, 293, 353, 266, 315, + 314, 316, 0, 191, 0, 390, 425, 450, 210, 0, + 0, 403, 441, 446, 0, 355, 211, 256, 244, 351, + 254, 286, 440, 442, 443, 445, 209, 349, 262, 330, + 420, 248, 428, 318, 205, 268, 386, 282, 291, 0, + 0, 336, 367, 214, 423, 387, 564, 575, 570, 571, + 568, 569, 563, 567, 566, 565, 578, 555, 556, 557, + 558, 560, 0, 572, 573, 559, 185, 198, 287, 0, + 356, 252, 448, 430, 426, 0, 0, 230, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 187, 188, 199, 207, 217, 229, 242, 250, 260, 264, + 267, 270, 271, 274, 279, 296, 301, 302, 303, 304, + 320, 321, 322, 325, 328, 329, 332, 334, 335, 338, + 344, 345, 346, 347, 348, 350, 357, 361, 369, 370, + 371, 372, 373, 375, 376, 380, 381, 382, 383, 391, + 395, 410, 411, 422, 434, 438, 261, 418, 439, 0, + 295, 0, 0, 297, 246, 263, 272, 0, 429, 392, + 203, 363, 253, 192, 220, 206, 227, 241, 243, 276, + 305, 311, 340, 343, 258, 238, 218, 360, 215, 378, + 398, 399, 400, 402, 309, 234, 589, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 327, + 0, 0, 0, 0, 519, 0, 0, 0, 237, 0, + 518, 0, 0, 0, 285, 0, 0, 0, 341, 0, + 379, 223, 294, 292, 407, 247, 240, 236, 222, 269, + 300, 339, 397, 333, 562, 289, 0, 0, 388, 312, + 0, 0, 0, 0, 0, 553, 554, 0, 0, 0, + 0, 0, 0, 0, 0, 275, 221, 190, 324, 389, + 251, 71, 0, 0, 182, 183, 184, 540, 539, 542, + 543, 544, 545, 0, 0, 212, 541, 219, 546, 547, + 548, 0, 233, 273, 239, 232, 404, 0, 0, 0, + 516, 533, 0, 561, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 530, 531, 0, 0, 0, 0, 577, + 0, 532, 0, 0, 525, 526, 528, 527, 529, 534, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, + 0, 313, 0, 576, 0, 0, 435, 0, 0, 574, + 0, 0, 0, 0, 0, 284, 0, 281, 186, 201, + 0, 0, 323, 362, 368, 0, 0, 0, 224, 0, + 366, 337, 421, 208, 249, 359, 342, 364, 0, 0, + 365, 290, 409, 354, 419, 436, 437, 231, 317, 427, + 401, 433, 447, 202, 228, 331, 394, 424, 385, 310, + 405, 406, 280, 384, 257, 189, 288, 444, 200, 374, + 216, 193, 396, 417, 213, 377, 0, 0, 0, 195, + 415, 393, 307, 277, 278, 194, 0, 358, 235, 255, + 226, 326, 412, 413, 225, 449, 204, 432, 197, 0, + 431, 319, 408, 416, 308, 299, 196, 414, 306, 298, + 283, 245, 265, 352, 293, 353, 266, 315, 314, 316, + 0, 191, 0, 390, 425, 450, 210, 0, 0, 403, + 441, 446, 0, 355, 211, 256, 244, 351, 254, 286, + 440, 442, 443, 445, 209, 349, 262, 330, 420, 248, + 428, 318, 205, 268, 386, 282, 291, 0, 0, 336, + 367, 214, 423, 387, 564, 575, 570, 571, 568, 569, + 563, 567, 566, 565, 578, 555, 556, 557, 558, 560, + 0, 572, 573, 559, 185, 198, 287, 0, 356, 252, + 448, 430, 426, 0, 0, 230, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 187, 188, + 199, 207, 217, 229, 242, 250, 260, 264, 267, 270, + 271, 274, 279, 296, 301, 302, 303, 304, 320, 321, + 322, 325, 328, 329, 332, 334, 335, 338, 344, 345, + 346, 347, 348, 350, 357, 361, 369, 370, 371, 372, + 373, 375, 376, 380, 381, 382, 383, 391, 395, 410, + 411, 422, 434, 438, 261, 418, 439, 0, 295, 0, + 0, 297, 246, 263, 272, 0, 429, 392, 203, 363, + 253, 192, 220, 206, 227, 241, 243, 276, 305, 311, + 340, 343, 258, 238, 218, 360, 215, 378, 398, 399, + 400, 402, 309, 234, 327, 0, 0, 0, 0, 519, + 0, 0, 0, 237, 0, 518, 0, 0, 0, 285, + 0, 0, 0, 341, 0, 379, 223, 294, 292, 407, + 247, 240, 236, 222, 269, 300, 339, 397, 333, 562, + 289, 0, 0, 388, 312, 0, 0, 0, 0, 0, + 553, 554, 0, 0, 0, 0, 0, 0, 0, 0, + 275, 221, 190, 324, 389, 251, 71, 0, 0, 182, + 183, 184, 540, 539, 542, 543, 544, 545, 0, 0, + 212, 541, 219, 546, 547, 548, 0, 233, 273, 239, + 232, 404, 0, 0, 0, 516, 533, 0, 561, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 530, 531, + 0, 0, 0, 0, 577, 0, 532, 0, 0, 525, + 526, 528, 527, 529, 534, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 259, 0, 313, 0, 576, 0, + 0, 435, 0, 0, 574, 0, 0, 0, 0, 0, + 284, 0, 281, 186, 201, 0, 0, 323, 362, 368, + 0, 0, 0, 224, 0, 366, 337, 421, 208, 249, + 359, 342, 364, 0, 0, 365, 290, 409, 354, 419, + 436, 437, 231, 317, 427, 401, 433, 447, 202, 228, + 331, 394, 424, 385, 310, 405, 406, 280, 384, 257, + 189, 288, 444, 200, 374, 216, 193, 396, 417, 213, + 377, 0, 0, 0, 195, 415, 393, 307, 277, 278, + 194, 0, 358, 235, 255, 226, 326, 412, 413, 225, + 449, 204, 432, 197, 0, 431, 319, 408, 416, 308, + 299, 196, 414, 306, 298, 283, 245, 265, 352, 293, + 353, 266, 315, 314, 316, 0, 191, 0, 390, 425, + 450, 210, 0, 0, 403, 441, 446, 0, 355, 211, + 256, 244, 351, 254, 286, 440, 442, 443, 445, 209, + 349, 262, 330, 420, 248, 428, 318, 205, 268, 386, + 282, 291, 0, 0, 336, 367, 214, 423, 387, 564, + 575, 570, 571, 568, 569, 563, 567, 566, 565, 578, + 555, 556, 557, 558, 560, 0, 572, 573, 559, 185, + 198, 287, 0, 356, 252, 448, 430, 426, 0, 0, + 230, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 187, 188, 199, 207, 217, 229, 242, + 250, 260, 264, 267, 270, 271, 274, 279, 296, 301, + 302, 303, 304, 320, 321, 322, 325, 328, 329, 332, + 334, 335, 338, 344, 345, 346, 347, 348, 350, 357, + 361, 369, 370, 371, 372, 373, 375, 376, 380, 381, + 382, 383, 391, 395, 410, 411, 422, 434, 438, 261, + 418, 439, 0, 295, 0, 0, 297, 246, 263, 272, + 0, 429, 392, 203, 363, 253, 192, 220, 206, 227, + 241, 243, 276, 305, 311, 340, 343, 258, 238, 218, + 360, 215, 378, 398, 399, 400, 402, 309, 234, 327, + 0, 0, 0, 0, 0, 0, 0, 0, 237, 0, + 0, 0, 0, 0, 285, 0, 0, 0, 341, 0, + 379, 223, 294, 292, 407, 247, 240, 236, 222, 269, + 300, 339, 397, 333, 562, 289, 0, 0, 388, 312, + 0, 0, 0, 0, 0, 553, 554, 0, 0, 0, + 0, 0, 0, 0, 0, 275, 221, 190, 324, 389, + 251, 71, 0, 0, 182, 183, 184, 540, 539, 542, + 543, 544, 545, 0, 0, 212, 541, 219, 546, 547, + 548, 0, 233, 273, 239, 232, 404, 0, 0, 0, + 0, 533, 0, 561, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 530, 531, 0, 0, 0, 0, 577, + 0, 532, 0, 0, 525, 526, 528, 527, 529, 534, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, + 0, 313, 0, 576, 0, 0, 435, 0, 0, 574, + 0, 0, 0, 0, 0, 284, 0, 281, 186, 201, + 0, 0, 323, 362, 368, 0, 0, 0, 224, 0, + 366, 337, 421, 208, 249, 359, 342, 364, 2197, 0, + 365, 290, 409, 354, 419, 436, 437, 231, 317, 427, + 401, 433, 447, 202, 228, 331, 394, 424, 385, 310, + 405, 406, 280, 384, 257, 189, 288, 444, 200, 374, + 216, 193, 396, 417, 213, 377, 0, 0, 0, 195, + 415, 393, 307, 277, 278, 194, 0, 358, 235, 255, + 226, 326, 412, 413, 225, 449, 204, 432, 197, 0, + 431, 319, 408, 416, 308, 299, 196, 414, 306, 298, + 283, 245, 265, 352, 293, 353, 266, 315, 314, 316, + 0, 191, 0, 390, 425, 450, 210, 0, 0, 403, + 441, 446, 0, 355, 211, 256, 244, 351, 254, 286, + 440, 442, 443, 445, 209, 349, 262, 330, 420, 248, + 428, 318, 205, 268, 386, 282, 291, 0, 0, 336, + 367, 214, 423, 387, 564, 575, 570, 571, 568, 569, + 563, 567, 566, 565, 578, 555, 556, 557, 558, 560, + 0, 572, 573, 559, 185, 198, 287, 0, 356, 252, + 448, 430, 426, 0, 0, 230, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 187, 188, + 199, 207, 217, 229, 242, 250, 260, 264, 267, 270, + 271, 274, 279, 296, 301, 302, 303, 304, 320, 321, + 322, 325, 328, 329, 332, 334, 335, 338, 344, 345, + 346, 347, 348, 350, 357, 361, 369, 370, 371, 372, + 373, 375, 376, 380, 381, 382, 383, 391, 395, 410, + 411, 422, 434, 438, 261, 418, 439, 0, 295, 0, + 0, 297, 246, 263, 272, 0, 429, 392, 203, 363, + 253, 192, 220, 206, 227, 241, 243, 276, 305, 311, + 340, 343, 258, 238, 218, 360, 215, 378, 398, 399, + 400, 402, 309, 234, 327, 0, 0, 0, 0, 0, + 0, 0, 0, 237, 0, 0, 0, 0, 0, 285, + 0, 0, 0, 341, 0, 379, 223, 294, 292, 407, + 247, 240, 236, 222, 269, 300, 339, 397, 333, 562, + 289, 0, 0, 388, 312, 0, 0, 0, 0, 0, + 553, 554, 0, 0, 0, 0, 0, 0, 0, 0, + 275, 221, 190, 324, 389, 251, 71, 0, 596, 182, + 183, 184, 540, 539, 542, 543, 544, 545, 0, 0, + 212, 541, 219, 546, 547, 548, 0, 233, 273, 239, + 232, 404, 0, 0, 0, 0, 533, 0, 561, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 530, 531, + 0, 0, 0, 0, 577, 0, 532, 0, 0, 525, + 526, 528, 527, 529, 534, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 259, 0, 313, 0, 576, 0, + 0, 435, 0, 0, 574, 0, 0, 0, 0, 0, + 284, 0, 281, 186, 201, 0, 0, 323, 362, 368, + 0, 0, 0, 224, 0, 366, 337, 421, 208, 249, + 359, 342, 364, 0, 0, 365, 290, 409, 354, 419, + 436, 437, 231, 317, 427, 401, 433, 447, 202, 228, + 331, 394, 424, 385, 310, 405, 406, 280, 384, 257, + 189, 288, 444, 200, 374, 216, 193, 396, 417, 213, + 377, 0, 0, 0, 195, 415, 393, 307, 277, 278, + 194, 0, 358, 235, 255, 226, 326, 412, 413, 225, + 449, 204, 432, 197, 0, 431, 319, 408, 416, 308, + 299, 196, 414, 306, 298, 283, 245, 265, 352, 293, + 353, 266, 315, 314, 316, 0, 191, 0, 390, 425, + 450, 210, 0, 0, 403, 441, 446, 0, 355, 211, + 256, 244, 351, 254, 286, 440, 442, 443, 445, 209, + 349, 262, 330, 420, 248, 428, 318, 205, 268, 386, + 282, 291, 0, 0, 336, 367, 214, 423, 387, 564, + 575, 570, 571, 568, 569, 563, 567, 566, 565, 578, + 555, 556, 557, 558, 560, 0, 572, 573, 559, 185, + 198, 287, 0, 356, 252, 448, 430, 426, 0, 0, + 230, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 187, 188, 199, 207, 217, 229, 242, + 250, 260, 264, 267, 270, 271, 274, 279, 296, 301, + 302, 303, 304, 320, 321, 322, 325, 328, 329, 332, + 334, 335, 338, 344, 345, 346, 347, 348, 350, 357, + 361, 369, 370, 371, 372, 373, 375, 376, 380, 381, + 382, 383, 391, 395, 410, 411, 422, 434, 438, 261, + 418, 439, 0, 295, 0, 0, 297, 246, 263, 272, + 0, 429, 392, 203, 363, 253, 192, 220, 206, 227, + 241, 243, 276, 305, 311, 340, 343, 258, 238, 218, + 360, 215, 378, 398, 399, 400, 402, 309, 234, 327, + 0, 0, 0, 0, 0, 0, 0, 0, 237, 0, + 0, 0, 0, 0, 285, 0, 0, 0, 341, 0, + 379, 223, 294, 292, 407, 247, 240, 236, 222, 269, + 300, 339, 397, 333, 562, 289, 0, 0, 388, 312, + 0, 0, 0, 0, 0, 553, 554, 0, 0, 0, + 0, 0, 0, 0, 0, 275, 221, 190, 324, 389, + 251, 71, 0, 0, 182, 183, 184, 540, 539, 542, + 543, 544, 545, 0, 0, 212, 541, 219, 546, 547, + 548, 0, 233, 273, 239, 232, 404, 0, 0, 0, + 0, 533, 0, 561, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 530, 531, 0, 0, 0, 0, 577, + 0, 532, 0, 0, 525, 526, 528, 527, 529, 534, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, + 0, 313, 0, 576, 0, 0, 435, 0, 0, 574, + 0, 0, 0, 0, 0, 284, 0, 281, 186, 201, + 0, 0, 323, 362, 368, 0, 0, 0, 224, 0, + 366, 337, 421, 208, 249, 359, 342, 364, 0, 0, + 365, 290, 409, 354, 419, 436, 437, 231, 317, 427, + 401, 433, 447, 202, 228, 331, 394, 424, 385, 310, + 405, 406, 280, 384, 257, 189, 288, 444, 200, 374, + 216, 193, 396, 417, 213, 377, 0, 0, 0, 195, + 415, 393, 307, 277, 278, 194, 0, 358, 235, 255, + 226, 326, 412, 413, 225, 449, 204, 432, 197, 0, + 431, 319, 408, 416, 308, 299, 196, 414, 306, 298, + 283, 245, 265, 352, 293, 353, 266, 315, 314, 316, + 0, 191, 0, 390, 425, 450, 210, 0, 0, 403, + 441, 446, 0, 355, 211, 256, 244, 351, 254, 286, + 440, 442, 443, 445, 209, 349, 262, 330, 420, 248, + 428, 318, 205, 268, 386, 282, 291, 0, 0, 336, + 367, 214, 423, 387, 564, 575, 570, 571, 568, 569, + 563, 567, 566, 565, 578, 555, 556, 557, 558, 560, + 0, 572, 573, 559, 185, 198, 287, 0, 356, 252, + 448, 430, 426, 0, 0, 230, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 187, 188, + 199, 207, 217, 229, 242, 250, 260, 264, 267, 270, + 271, 274, 279, 296, 301, 302, 303, 304, 320, 321, + 322, 325, 328, 329, 332, 334, 335, 338, 344, 345, + 346, 347, 348, 350, 357, 361, 369, 370, 371, 372, + 373, 375, 376, 380, 381, 382, 383, 391, 395, 410, + 411, 422, 434, 438, 261, 418, 439, 0, 295, 0, + 0, 297, 246, 263, 272, 0, 429, 392, 203, 363, + 253, 192, 220, 206, 227, 241, 243, 276, 305, 311, + 340, 343, 258, 238, 218, 360, 215, 378, 398, 399, + 400, 402, 309, 234, 327, 0, 0, 0, 0, 0, + 0, 0, 0, 237, 0, 0, 0, 0, 0, 285, + 0, 0, 0, 341, 0, 379, 223, 294, 292, 407, + 247, 240, 236, 222, 269, 300, 339, 397, 333, 0, + 289, 0, 0, 388, 312, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 275, 221, 190, 324, 389, 251, 0, 0, 0, 182, + 183, 184, 0, 0, 0, 0, 0, 0, 0, 0, + 212, 0, 219, 0, 0, 0, 0, 233, 273, 239, + 232, 404, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 983, 982, 992, 993, 985, 986, + 987, 988, 989, 990, 991, 984, 0, 0, 994, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 259, 0, 313, 0, 0, 0, + 0, 435, 0, 0, 0, 0, 0, 0, 0, 0, + 284, 0, 281, 186, 201, 0, 0, 323, 362, 368, + 0, 0, 0, 224, 0, 366, 337, 421, 208, 249, + 359, 342, 364, 0, 0, 365, 290, 409, 354, 419, + 436, 437, 231, 317, 427, 401, 433, 447, 202, 228, + 331, 394, 424, 385, 310, 405, 406, 280, 384, 257, + 189, 288, 444, 200, 374, 216, 193, 396, 417, 213, + 377, 0, 0, 0, 195, 415, 393, 307, 277, 278, + 194, 0, 358, 235, 255, 226, 326, 412, 413, 225, + 449, 204, 432, 197, 0, 431, 319, 408, 416, 308, + 299, 196, 414, 306, 298, 283, 245, 265, 352, 293, + 353, 266, 315, 314, 316, 0, 191, 0, 390, 425, + 450, 210, 0, 0, 403, 441, 446, 0, 355, 211, + 256, 244, 351, 254, 286, 440, 442, 443, 445, 209, + 349, 262, 330, 420, 248, 428, 318, 205, 268, 386, + 282, 291, 0, 0, 336, 367, 214, 423, 387, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 185, + 198, 287, 0, 356, 252, 448, 430, 426, 0, 0, + 230, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 187, 188, 199, 207, 217, 229, 242, + 250, 260, 264, 267, 270, 271, 274, 279, 296, 301, + 302, 303, 304, 320, 321, 322, 325, 328, 329, 332, + 334, 335, 338, 344, 345, 346, 347, 348, 350, 357, + 361, 369, 370, 371, 372, 373, 375, 376, 380, 381, + 382, 383, 391, 395, 410, 411, 422, 434, 438, 261, + 418, 439, 0, 295, 0, 0, 297, 246, 263, 272, + 0, 429, 392, 203, 363, 253, 192, 220, 206, 227, + 241, 243, 276, 305, 311, 340, 343, 258, 238, 218, + 360, 215, 378, 398, 399, 400, 402, 309, 234, 327, + 0, 0, 0, 0, 0, 0, 0, 0, 237, 809, + 0, 0, 0, 0, 285, 0, 0, 0, 341, 0, + 379, 223, 294, 292, 407, 247, 240, 236, 222, 269, + 300, 339, 397, 333, 0, 289, 0, 0, 388, 312, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 275, 221, 190, 324, 389, + 251, 0, 0, 0, 182, 183, 184, 0, 0, 0, + 0, 0, 0, 0, 0, 212, 0, 219, 0, 0, + 0, 0, 233, 273, 239, 232, 404, 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, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, + 0, 313, 0, 0, 0, 808, 435, 0, 0, 0, + 0, 0, 0, 805, 806, 284, 774, 281, 186, 201, + 799, 803, 323, 362, 368, 0, 0, 0, 224, 0, + 366, 337, 421, 208, 249, 359, 342, 364, 0, 0, + 365, 290, 409, 354, 419, 436, 437, 231, 317, 427, + 401, 433, 447, 202, 228, 331, 394, 424, 385, 310, + 405, 406, 280, 384, 257, 189, 288, 444, 200, 374, + 216, 193, 396, 417, 213, 377, 0, 0, 0, 195, + 415, 393, 307, 277, 278, 194, 0, 358, 235, 255, + 226, 326, 412, 413, 225, 449, 204, 432, 197, 0, + 431, 319, 408, 416, 308, 299, 196, 414, 306, 298, + 283, 245, 265, 352, 293, 353, 266, 315, 314, 316, + 0, 191, 0, 390, 425, 450, 210, 0, 0, 403, + 441, 446, 0, 355, 211, 256, 244, 351, 254, 286, + 440, 442, 443, 445, 209, 349, 262, 330, 420, 248, + 428, 318, 205, 268, 386, 282, 291, 0, 0, 336, + 367, 214, 423, 387, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 185, 198, 287, 0, 356, 252, + 448, 430, 426, 0, 0, 230, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 187, 188, + 199, 207, 217, 229, 242, 250, 260, 264, 267, 270, + 271, 274, 279, 296, 301, 302, 303, 304, 320, 321, + 322, 325, 328, 329, 332, 334, 335, 338, 344, 345, + 346, 347, 348, 350, 357, 361, 369, 370, 371, 372, + 373, 375, 376, 380, 381, 382, 383, 391, 395, 410, + 411, 422, 434, 438, 261, 418, 439, 0, 295, 0, + 0, 297, 246, 263, 272, 0, 429, 392, 203, 363, + 253, 192, 220, 206, 227, 241, 243, 276, 305, 311, + 340, 343, 258, 238, 218, 360, 215, 378, 398, 399, + 400, 402, 309, 234, 327, 0, 0, 0, 1086, 0, + 0, 0, 0, 237, 0, 0, 0, 0, 0, 285, + 0, 0, 0, 341, 0, 379, 223, 294, 292, 407, + 247, 240, 236, 222, 269, 300, 339, 397, 333, 0, + 289, 0, 0, 388, 312, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 275, 221, 190, 324, 389, 251, 0, 0, 0, 182, + 183, 184, 0, 1088, 0, 0, 0, 0, 0, 0, + 212, 0, 219, 0, 0, 0, 0, 233, 273, 239, + 232, 404, 972, 973, 971, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 974, 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, 0, + 0, 0, 0, 0, 259, 0, 313, 0, 0, 0, + 0, 435, 0, 0, 0, 0, 0, 0, 0, 0, + 284, 0, 281, 186, 201, 0, 0, 323, 362, 368, + 0, 0, 0, 224, 0, 366, 337, 421, 208, 249, + 359, 342, 364, 0, 0, 365, 290, 409, 354, 419, + 436, 437, 231, 317, 427, 401, 433, 447, 202, 228, + 331, 394, 424, 385, 310, 405, 406, 280, 384, 257, + 189, 288, 444, 200, 374, 216, 193, 396, 417, 213, + 377, 0, 0, 0, 195, 415, 393, 307, 277, 278, + 194, 0, 358, 235, 255, 226, 326, 412, 413, 225, + 449, 204, 432, 197, 0, 431, 319, 408, 416, 308, + 299, 196, 414, 306, 298, 283, 245, 265, 352, 293, + 353, 266, 315, 314, 316, 0, 191, 0, 390, 425, + 450, 210, 0, 0, 403, 441, 446, 0, 355, 211, + 256, 244, 351, 254, 286, 440, 442, 443, 445, 209, + 349, 262, 330, 420, 248, 428, 318, 205, 268, 386, + 282, 291, 0, 0, 336, 367, 214, 423, 387, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 185, + 198, 287, 0, 356, 252, 448, 430, 426, 0, 0, + 230, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 187, 188, 199, 207, 217, 229, 242, + 250, 260, 264, 267, 270, 271, 274, 279, 296, 301, + 302, 303, 304, 320, 321, 322, 325, 328, 329, 332, + 334, 335, 338, 344, 345, 346, 347, 348, 350, 357, + 361, 369, 370, 371, 372, 373, 375, 376, 380, 381, + 382, 383, 391, 395, 410, 411, 422, 434, 438, 261, + 418, 439, 0, 295, 0, 0, 297, 246, 263, 272, + 0, 429, 392, 203, 363, 253, 192, 220, 206, 227, + 241, 243, 276, 305, 311, 340, 343, 258, 238, 218, + 360, 215, 378, 398, 399, 400, 402, 309, 234, 35, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 327, 0, 0, 0, 0, 0, 0, 0, + 0, 237, 0, 0, 0, 0, 0, 285, 0, 0, + 0, 341, 0, 379, 223, 294, 292, 407, 247, 240, + 236, 222, 269, 300, 339, 397, 333, 0, 289, 0, + 0, 388, 312, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 275, 221, + 190, 324, 389, 251, 71, 0, 596, 182, 183, 184, + 0, 0, 0, 0, 0, 0, 0, 0, 212, 0, + 219, 0, 0, 0, 0, 233, 273, 239, 232, 404, + 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, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 259, 0, 313, 0, 0, 0, 0, 435, + 0, 0, 0, 0, 0, 0, 0, 0, 284, 0, + 281, 186, 201, 0, 0, 323, 362, 368, 0, 0, + 0, 224, 0, 366, 337, 421, 208, 249, 359, 342, + 364, 0, 0, 365, 290, 409, 354, 419, 436, 437, + 231, 317, 427, 401, 433, 447, 202, 228, 331, 394, + 424, 385, 310, 405, 406, 280, 384, 257, 189, 288, + 444, 200, 374, 216, 193, 396, 417, 213, 377, 0, + 0, 0, 195, 415, 393, 307, 277, 278, 194, 0, + 358, 235, 255, 226, 326, 412, 413, 225, 449, 204, + 432, 197, 0, 431, 319, 408, 416, 308, 299, 196, + 414, 306, 298, 283, 245, 265, 352, 293, 353, 266, + 315, 314, 316, 0, 191, 0, 390, 425, 450, 210, + 0, 0, 403, 441, 446, 0, 355, 211, 256, 244, + 351, 254, 286, 440, 442, 443, 445, 209, 349, 262, + 330, 420, 248, 428, 318, 205, 268, 386, 282, 291, + 0, 0, 336, 367, 214, 423, 387, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 185, 198, 287, + 0, 356, 252, 448, 430, 426, 0, 0, 230, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 187, 188, 199, 207, 217, 229, 242, 250, 260, + 264, 267, 270, 271, 274, 279, 296, 301, 302, 303, + 304, 320, 321, 322, 325, 328, 329, 332, 334, 335, + 338, 344, 345, 346, 347, 348, 350, 357, 361, 369, + 370, 371, 372, 373, 375, 376, 380, 381, 382, 383, + 391, 395, 410, 411, 422, 434, 438, 261, 418, 439, + 0, 295, 0, 0, 297, 246, 263, 272, 0, 429, + 392, 203, 363, 253, 192, 220, 206, 227, 241, 243, + 276, 305, 311, 340, 343, 258, 238, 218, 360, 215, + 378, 398, 399, 400, 402, 309, 234, 327, 0, 0, + 0, 1460, 0, 0, 0, 0, 237, 0, 0, 0, + 0, 0, 285, 0, 0, 0, 341, 0, 379, 223, + 294, 292, 407, 247, 240, 236, 222, 269, 300, 339, + 397, 333, 0, 289, 0, 0, 388, 312, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 275, 221, 190, 324, 389, 251, 0, + 0, 0, 182, 183, 184, 0, 1462, 0, 0, 0, + 0, 0, 0, 212, 0, 219, 0, 0, 0, 0, + 233, 273, 239, 232, 404, 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, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 259, 0, 313, + 0, 0, 0, 0, 435, 0, 0, 0, 0, 0, + 0, 0, 0, 284, 0, 281, 186, 201, 0, 0, + 323, 362, 368, 0, 0, 0, 224, 0, 366, 337, + 421, 208, 249, 359, 342, 364, 0, 1458, 365, 290, + 409, 354, 419, 436, 437, 231, 317, 427, 401, 433, + 447, 202, 228, 331, 394, 424, 385, 310, 405, 406, + 280, 384, 257, 189, 288, 444, 200, 374, 216, 193, + 396, 417, 213, 377, 0, 0, 0, 195, 415, 393, + 307, 277, 278, 194, 0, 358, 235, 255, 226, 326, + 412, 413, 225, 449, 204, 432, 197, 0, 431, 319, + 408, 416, 308, 299, 196, 414, 306, 298, 283, 245, + 265, 352, 293, 353, 266, 315, 314, 316, 0, 191, + 0, 390, 425, 450, 210, 0, 0, 403, 441, 446, + 0, 355, 211, 256, 244, 351, 254, 286, 440, 442, + 443, 445, 209, 349, 262, 330, 420, 248, 428, 318, + 205, 268, 386, 282, 291, 0, 0, 336, 367, 214, + 423, 387, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 185, 198, 287, 0, 356, 252, 448, 430, + 426, 0, 0, 230, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 187, 188, 199, 207, + 217, 229, 242, 250, 260, 264, 267, 270, 271, 274, + 279, 296, 301, 302, 303, 304, 320, 321, 322, 325, + 328, 329, 332, 334, 335, 338, 344, 345, 346, 347, + 348, 350, 357, 361, 369, 370, 371, 372, 373, 375, + 376, 380, 381, 382, 383, 391, 395, 410, 411, 422, + 434, 438, 261, 418, 439, 0, 295, 0, 0, 297, + 246, 263, 272, 0, 429, 392, 203, 363, 253, 192, + 220, 206, 227, 241, 243, 276, 305, 311, 340, 343, + 258, 238, 218, 360, 215, 378, 398, 399, 400, 402, + 309, 234, 327, 0, 0, 0, 0, 0, 0, 0, + 0, 237, 0, 0, 0, 0, 0, 285, 0, 0, + 0, 341, 0, 379, 223, 294, 292, 407, 247, 240, + 236, 222, 269, 300, 339, 397, 333, 0, 289, 0, + 0, 388, 312, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 275, 221, + 190, 324, 389, 251, 0, 0, 0, 182, 183, 184, + 0, 0, 0, 0, 0, 0, 0, 0, 212, 0, + 219, 0, 0, 0, 0, 233, 273, 239, 232, 404, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 768, + 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, 0, 0, + 0, 0, 259, 0, 313, 0, 0, 0, 0, 435, + 0, 0, 0, 0, 0, 0, 0, 0, 284, 774, + 281, 186, 201, 772, 0, 323, 362, 368, 0, 0, + 0, 224, 0, 366, 337, 421, 208, 249, 359, 342, + 364, 0, 0, 365, 290, 409, 354, 419, 436, 437, + 231, 317, 427, 401, 433, 447, 202, 228, 331, 394, + 424, 385, 310, 405, 406, 280, 384, 257, 189, 288, + 444, 200, 374, 216, 193, 396, 417, 213, 377, 0, + 0, 0, 195, 415, 393, 307, 277, 278, 194, 0, + 358, 235, 255, 226, 326, 412, 413, 225, 449, 204, + 432, 197, 0, 431, 319, 408, 416, 308, 299, 196, + 414, 306, 298, 283, 245, 265, 352, 293, 353, 266, + 315, 314, 316, 0, 191, 0, 390, 425, 450, 210, + 0, 0, 403, 441, 446, 0, 355, 211, 256, 244, + 351, 254, 286, 440, 442, 443, 445, 209, 349, 262, + 330, 420, 248, 428, 318, 205, 268, 386, 282, 291, + 0, 0, 336, 367, 214, 423, 387, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 185, 198, 287, + 0, 356, 252, 448, 430, 426, 0, 0, 230, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 187, 188, 199, 207, 217, 229, 242, 250, 260, + 264, 267, 270, 271, 274, 279, 296, 301, 302, 303, + 304, 320, 321, 322, 325, 328, 329, 332, 334, 335, + 338, 344, 345, 346, 347, 348, 350, 357, 361, 369, + 370, 371, 372, 373, 375, 376, 380, 381, 382, 383, + 391, 395, 410, 411, 422, 434, 438, 261, 418, 439, + 0, 295, 0, 0, 297, 246, 263, 272, 0, 429, + 392, 203, 363, 253, 192, 220, 206, 227, 241, 243, + 276, 305, 311, 340, 343, 258, 238, 218, 360, 215, + 378, 398, 399, 400, 402, 309, 234, 327, 0, 0, + 0, 1460, 0, 0, 0, 0, 237, 0, 0, 0, + 0, 0, 285, 0, 0, 0, 341, 0, 379, 223, + 294, 292, 407, 247, 240, 236, 222, 269, 300, 339, + 397, 333, 0, 289, 0, 0, 388, 312, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 275, 221, 190, 324, 389, 251, 0, + 0, 0, 182, 183, 184, 0, 1462, 0, 0, 0, + 0, 0, 0, 212, 0, 219, 0, 0, 0, 0, + 233, 273, 239, 232, 404, 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, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 259, 0, 313, + 0, 0, 0, 0, 435, 0, 0, 0, 0, 0, + 0, 0, 0, 284, 0, 281, 186, 201, 0, 0, + 323, 362, 368, 0, 0, 0, 224, 0, 366, 337, + 421, 208, 249, 359, 342, 364, 0, 0, 365, 290, + 409, 354, 419, 436, 437, 231, 317, 427, 401, 433, + 447, 202, 228, 331, 394, 424, 385, 310, 405, 406, + 280, 384, 257, 189, 288, 444, 200, 374, 216, 193, + 396, 417, 213, 377, 0, 0, 0, 195, 415, 393, + 307, 277, 278, 194, 0, 358, 235, 255, 226, 326, + 412, 413, 225, 449, 204, 432, 197, 0, 431, 319, + 408, 416, 308, 299, 196, 414, 306, 298, 283, 245, + 265, 352, 293, 353, 266, 315, 314, 316, 0, 191, + 0, 390, 425, 450, 210, 0, 0, 403, 441, 446, + 0, 355, 211, 256, 244, 351, 254, 286, 440, 442, + 443, 445, 209, 349, 262, 330, 420, 248, 428, 318, + 205, 268, 386, 282, 291, 0, 0, 336, 367, 214, + 423, 387, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 185, 198, 287, 0, 356, 252, 448, 430, + 426, 0, 0, 230, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 187, 188, 199, 207, + 217, 229, 242, 250, 260, 264, 267, 270, 271, 274, + 279, 296, 301, 302, 303, 304, 320, 321, 322, 325, + 328, 329, 332, 334, 335, 338, 344, 345, 346, 347, + 348, 350, 357, 361, 369, 370, 371, 372, 373, 375, + 376, 380, 381, 382, 383, 391, 395, 410, 411, 422, + 434, 438, 261, 418, 439, 0, 295, 0, 0, 297, + 246, 263, 272, 0, 429, 392, 203, 363, 253, 192, + 220, 206, 227, 241, 243, 276, 305, 311, 340, 343, + 258, 238, 218, 360, 215, 378, 398, 399, 400, 402, + 309, 234, 35, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 327, 0, 0, 0, 0, + 0, 0, 0, 0, 237, 0, 0, 0, 0, 0, + 285, 0, 0, 0, 341, 0, 379, 223, 294, 292, + 407, 247, 240, 236, 222, 269, 300, 339, 397, 333, + 0, 289, 0, 0, 388, 312, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 275, 221, 190, 324, 389, 251, 71, 0, 0, + 182, 183, 184, 0, 0, 0, 0, 0, 0, 0, + 0, 212, 0, 219, 0, 0, 0, 0, 233, 273, + 239, 232, 404, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 259, 0, 313, 0, 0, + 0, 0, 435, 0, 0, 0, 0, 0, 0, 0, + 0, 284, 0, 281, 186, 201, 0, 0, 323, 362, + 368, 0, 0, 0, 224, 0, 366, 337, 421, 208, + 249, 359, 342, 364, 0, 0, 365, 290, 409, 354, + 419, 436, 437, 231, 317, 427, 401, 433, 447, 202, + 228, 331, 394, 424, 385, 310, 405, 406, 280, 384, + 257, 189, 288, 444, 200, 374, 216, 193, 396, 417, + 213, 377, 0, 0, 0, 195, 415, 393, 307, 277, + 278, 194, 0, 358, 235, 255, 226, 326, 412, 413, + 225, 449, 204, 432, 197, 0, 431, 319, 408, 416, + 308, 299, 196, 414, 306, 298, 283, 245, 265, 352, + 293, 353, 266, 315, 314, 316, 0, 191, 0, 390, + 425, 450, 210, 0, 0, 403, 441, 446, 0, 355, + 211, 256, 244, 351, 254, 286, 440, 442, 443, 445, + 209, 349, 262, 330, 420, 248, 428, 318, 205, 268, + 386, 282, 291, 0, 0, 336, 367, 214, 423, 387, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 185, 198, 287, 0, 356, 252, 448, 430, 426, 0, + 0, 230, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 187, 188, 199, 207, 217, 229, + 242, 250, 260, 264, 267, 270, 271, 274, 279, 296, + 301, 302, 303, 304, 320, 321, 322, 325, 328, 329, + 332, 334, 335, 338, 344, 345, 346, 347, 348, 350, + 357, 361, 369, 370, 371, 372, 373, 375, 376, 380, + 381, 382, 383, 391, 395, 410, 411, 422, 434, 438, + 261, 418, 439, 0, 295, 0, 0, 297, 246, 263, + 272, 0, 429, 392, 203, 363, 253, 192, 220, 206, + 227, 241, 243, 276, 305, 311, 340, 343, 258, 238, + 218, 360, 215, 378, 398, 399, 400, 402, 309, 234, + 327, 0, 0, 0, 0, 0, 0, 0, 0, 237, + 0, 0, 0, 0, 0, 285, 0, 0, 0, 341, + 0, 379, 223, 294, 292, 407, 247, 240, 236, 222, + 269, 300, 339, 397, 333, 0, 289, 0, 0, 388, + 312, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 275, 221, 190, 324, + 389, 251, 0, 0, 0, 182, 183, 184, 0, 0, + 1480, 0, 0, 1481, 0, 0, 212, 0, 219, 0, + 0, 0, 0, 233, 273, 239, 232, 404, 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, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 259, 0, 313, 0, 0, 0, 0, 435, 0, 0, + 0, 0, 0, 0, 0, 0, 284, 0, 281, 186, + 201, 0, 0, 323, 362, 368, 0, 0, 0, 224, + 0, 366, 337, 421, 208, 249, 359, 342, 364, 0, + 0, 365, 290, 409, 354, 419, 436, 437, 231, 317, + 427, 401, 433, 447, 202, 228, 331, 394, 424, 385, + 310, 405, 406, 280, 384, 257, 189, 288, 444, 200, + 374, 216, 193, 396, 417, 213, 377, 0, 0, 0, + 195, 415, 393, 307, 277, 278, 194, 0, 358, 235, + 255, 226, 326, 412, 413, 225, 449, 204, 432, 197, + 0, 431, 319, 408, 416, 308, 299, 196, 414, 306, + 298, 283, 245, 265, 352, 293, 353, 266, 315, 314, + 316, 0, 191, 0, 390, 425, 450, 210, 0, 0, + 403, 441, 446, 0, 355, 211, 256, 244, 351, 254, + 286, 440, 442, 443, 445, 209, 349, 262, 330, 420, + 248, 428, 318, 205, 268, 386, 282, 291, 0, 0, + 336, 367, 214, 423, 387, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 185, 198, 287, 0, 356, + 252, 448, 430, 426, 0, 0, 230, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 187, + 188, 199, 207, 217, 229, 242, 250, 260, 264, 267, + 270, 271, 274, 279, 296, 301, 302, 303, 304, 320, + 321, 322, 325, 328, 329, 332, 334, 335, 338, 344, + 345, 346, 347, 348, 350, 357, 361, 369, 370, 371, + 372, 373, 375, 376, 380, 381, 382, 383, 391, 395, + 410, 411, 422, 434, 438, 261, 418, 439, 0, 295, + 0, 0, 297, 246, 263, 272, 0, 429, 392, 203, + 363, 253, 192, 220, 206, 227, 241, 243, 276, 305, + 311, 340, 343, 258, 238, 218, 360, 215, 378, 398, + 399, 400, 402, 309, 234, 327, 0, 0, 0, 0, + 0, 0, 0, 0, 237, 0, 1119, 0, 0, 0, + 285, 0, 0, 0, 341, 0, 379, 223, 294, 292, + 407, 247, 240, 236, 222, 269, 300, 339, 397, 333, + 0, 289, 0, 0, 388, 312, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 275, 221, 190, 324, 389, 251, 0, 0, 0, + 182, 183, 184, 0, 1118, 0, 0, 0, 0, 0, + 0, 212, 0, 219, 0, 0, 0, 0, 233, 273, + 239, 232, 404, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 259, 0, 313, 0, 0, + 0, 0, 435, 0, 0, 0, 0, 0, 0, 0, + 0, 284, 0, 281, 186, 201, 0, 0, 323, 362, + 368, 0, 0, 0, 224, 0, 366, 337, 421, 208, + 249, 359, 342, 364, 0, 0, 365, 290, 409, 354, + 419, 436, 437, 231, 317, 427, 401, 433, 447, 202, + 228, 331, 394, 424, 385, 310, 405, 406, 280, 384, + 257, 189, 288, 444, 200, 374, 216, 193, 396, 417, + 213, 377, 0, 0, 0, 195, 415, 393, 307, 277, + 278, 194, 0, 358, 235, 255, 226, 326, 412, 413, + 225, 449, 204, 432, 197, 0, 431, 319, 408, 416, + 308, 299, 196, 414, 306, 298, 283, 245, 265, 352, + 293, 353, 266, 315, 314, 316, 0, 191, 0, 390, + 425, 450, 210, 0, 0, 403, 441, 446, 0, 355, + 211, 256, 244, 351, 254, 286, 440, 442, 443, 445, + 209, 349, 262, 330, 420, 248, 428, 318, 205, 268, + 386, 282, 291, 0, 0, 336, 367, 214, 423, 387, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 185, 198, 287, 0, 356, 252, 448, 430, 426, 0, + 0, 230, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 187, 188, 199, 207, 217, 229, + 242, 250, 260, 264, 267, 270, 271, 274, 279, 296, + 301, 302, 303, 304, 320, 321, 322, 325, 328, 329, + 332, 334, 335, 338, 344, 345, 346, 347, 348, 350, + 357, 361, 369, 370, 371, 372, 373, 375, 376, 380, + 381, 382, 383, 391, 395, 410, 411, 422, 434, 438, + 261, 418, 439, 0, 295, 0, 0, 297, 246, 263, + 272, 0, 429, 392, 203, 363, 253, 192, 220, 206, + 227, 241, 243, 276, 305, 311, 340, 343, 258, 238, + 218, 360, 215, 378, 398, 399, 400, 402, 309, 234, + 327, 0, 0, 0, 0, 0, 0, 0, 0, 237, + 0, 0, 0, 0, 0, 285, 0, 0, 0, 341, + 0, 379, 223, 294, 292, 407, 247, 240, 236, 222, + 269, 300, 339, 397, 333, 0, 289, 0, 0, 388, + 312, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 275, 221, 190, 324, + 389, 251, 0, 0, 596, 182, 183, 184, 0, 0, + 0, 0, 0, 0, 0, 0, 212, 0, 219, 0, + 0, 0, 0, 233, 273, 239, 232, 404, 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, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 259, 0, 313, 0, 0, 0, 0, 435, 0, 0, + 0, 0, 0, 0, 0, 0, 284, 0, 281, 186, + 201, 0, 0, 323, 362, 368, 0, 0, 0, 224, + 0, 366, 337, 421, 208, 249, 359, 342, 364, 0, + 0, 365, 290, 409, 354, 419, 436, 437, 231, 317, + 427, 401, 433, 447, 202, 228, 331, 394, 424, 385, + 310, 405, 406, 280, 384, 257, 189, 288, 444, 200, + 374, 216, 193, 396, 417, 213, 377, 0, 0, 0, + 195, 415, 393, 307, 277, 278, 194, 0, 358, 235, + 255, 226, 326, 412, 413, 225, 449, 204, 432, 197, + 0, 431, 319, 408, 416, 308, 299, 196, 414, 306, + 298, 283, 245, 265, 352, 293, 353, 266, 315, 314, + 316, 0, 191, 0, 390, 425, 450, 210, 0, 0, + 403, 441, 446, 0, 355, 211, 256, 244, 351, 254, + 286, 440, 442, 443, 445, 209, 349, 262, 330, 420, + 248, 428, 318, 205, 268, 386, 282, 291, 0, 0, + 336, 367, 214, 423, 387, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 185, 198, 287, 0, 356, + 252, 448, 430, 426, 0, 0, 230, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 187, + 188, 199, 207, 217, 229, 242, 250, 260, 264, 267, + 270, 271, 274, 279, 296, 301, 302, 303, 304, 320, + 321, 322, 325, 328, 329, 332, 334, 335, 338, 344, + 345, 346, 347, 348, 350, 357, 361, 369, 370, 371, + 372, 373, 375, 376, 380, 381, 382, 383, 391, 395, + 410, 411, 422, 434, 438, 261, 418, 439, 0, 295, + 0, 0, 297, 246, 263, 272, 0, 429, 392, 203, + 363, 253, 192, 220, 206, 227, 241, 243, 276, 305, + 311, 340, 343, 258, 238, 218, 360, 215, 378, 398, + 399, 400, 402, 309, 234, 327, 0, 0, 0, 0, + 0, 0, 0, 0, 237, 0, 0, 0, 0, 0, + 285, 0, 0, 0, 341, 0, 379, 223, 294, 292, + 407, 247, 240, 236, 222, 269, 300, 339, 397, 333, + 0, 289, 0, 0, 388, 312, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 275, 221, 190, 324, 389, 251, 71, 0, 0, + 182, 183, 184, 0, 0, 0, 0, 0, 0, 0, + 0, 212, 0, 219, 0, 0, 0, 0, 233, 273, + 239, 232, 404, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 259, 0, 313, 0, 0, + 0, 0, 435, 0, 0, 0, 0, 0, 0, 0, + 0, 284, 0, 281, 186, 201, 0, 0, 323, 362, + 368, 0, 0, 0, 224, 0, 366, 337, 421, 208, + 249, 359, 342, 364, 0, 0, 365, 290, 409, 354, + 419, 436, 437, 231, 317, 427, 401, 433, 447, 202, + 228, 331, 394, 424, 385, 310, 405, 406, 280, 384, + 257, 189, 288, 444, 200, 374, 216, 193, 396, 417, + 213, 377, 0, 0, 0, 195, 415, 393, 307, 277, + 278, 194, 0, 358, 235, 255, 226, 326, 412, 413, + 225, 449, 204, 432, 197, 0, 431, 319, 408, 416, + 308, 299, 196, 414, 306, 298, 283, 245, 265, 352, + 293, 353, 266, 315, 314, 316, 0, 191, 0, 390, + 425, 450, 210, 0, 0, 403, 441, 446, 0, 355, + 211, 256, 244, 351, 254, 286, 440, 442, 443, 445, + 209, 349, 262, 330, 420, 248, 428, 318, 205, 268, + 386, 282, 291, 0, 0, 336, 367, 214, 423, 387, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 185, 198, 287, 0, 356, 252, 448, 430, 426, 0, + 0, 230, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 187, 188, 199, 207, 217, 229, + 242, 250, 260, 264, 267, 270, 271, 274, 279, 296, + 301, 302, 303, 304, 320, 321, 322, 325, 328, 329, + 332, 334, 335, 338, 344, 345, 346, 347, 348, 350, + 357, 361, 369, 370, 371, 372, 373, 375, 376, 380, + 381, 382, 383, 391, 395, 410, 411, 422, 434, 438, + 261, 418, 439, 0, 295, 0, 0, 297, 246, 263, + 272, 0, 429, 392, 203, 363, 253, 192, 220, 206, + 227, 241, 243, 276, 305, 311, 340, 343, 258, 238, + 218, 360, 215, 378, 398, 399, 400, 402, 309, 234, + 327, 0, 0, 0, 0, 0, 0, 0, 0, 237, + 0, 0, 0, 0, 0, 285, 0, 0, 0, 341, + 0, 379, 223, 294, 292, 407, 247, 240, 236, 222, + 269, 300, 339, 397, 333, 0, 289, 0, 0, 388, + 312, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 275, 221, 190, 324, + 389, 251, 0, 0, 0, 182, 183, 184, 0, 1462, + 0, 0, 0, 0, 0, 0, 212, 0, 219, 0, + 0, 0, 0, 233, 273, 239, 232, 404, 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, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 259, 0, 313, 0, 0, 0, 0, 435, 0, 0, + 0, 0, 0, 0, 0, 0, 284, 0, 281, 186, + 201, 0, 0, 323, 362, 368, 0, 0, 0, 224, + 0, 366, 337, 421, 208, 249, 359, 342, 364, 0, + 0, 365, 290, 409, 354, 419, 436, 437, 231, 317, + 427, 401, 433, 447, 202, 228, 331, 394, 424, 385, + 310, 405, 406, 280, 384, 257, 189, 288, 444, 200, + 374, 216, 193, 396, 417, 213, 377, 0, 0, 0, + 195, 415, 393, 307, 277, 278, 194, 0, 358, 235, + 255, 226, 326, 412, 413, 225, 449, 204, 432, 197, + 0, 431, 319, 408, 416, 308, 299, 196, 414, 306, + 298, 283, 245, 265, 352, 293, 353, 266, 315, 314, + 316, 0, 191, 0, 390, 425, 450, 210, 0, 0, + 403, 441, 446, 0, 355, 211, 256, 244, 351, 254, + 286, 440, 442, 443, 445, 209, 349, 262, 330, 420, + 248, 428, 318, 205, 268, 386, 282, 291, 0, 0, + 336, 367, 214, 423, 387, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 185, 198, 287, 0, 356, + 252, 448, 430, 426, 0, 0, 230, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 187, + 188, 199, 207, 217, 229, 242, 250, 260, 264, 267, + 270, 271, 274, 279, 296, 301, 302, 303, 304, 320, + 321, 322, 325, 328, 329, 332, 334, 335, 338, 344, + 345, 346, 347, 348, 350, 357, 361, 369, 370, 371, + 372, 373, 375, 376, 380, 381, 382, 383, 391, 395, + 410, 411, 422, 434, 438, 261, 418, 439, 0, 295, + 0, 0, 297, 246, 263, 272, 0, 429, 392, 203, + 363, 253, 192, 220, 206, 227, 241, 243, 276, 305, + 311, 340, 343, 258, 238, 218, 360, 215, 378, 398, + 399, 400, 402, 309, 234, 327, 0, 0, 0, 0, + 0, 0, 0, 0, 237, 0, 0, 0, 0, 0, + 285, 0, 0, 0, 341, 0, 379, 223, 294, 292, + 407, 247, 240, 236, 222, 269, 300, 339, 397, 333, + 0, 289, 0, 0, 388, 312, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 275, 221, 190, 324, 389, 251, 0, 0, 0, + 182, 183, 184, 0, 1088, 0, 0, 0, 0, 0, + 0, 212, 0, 219, 0, 0, 0, 0, 233, 273, + 239, 232, 404, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 259, 0, 313, 0, 0, + 0, 0, 435, 0, 0, 0, 0, 0, 0, 0, + 0, 284, 0, 281, 186, 201, 0, 0, 323, 362, + 368, 0, 0, 0, 224, 0, 366, 337, 421, 208, + 249, 359, 342, 364, 0, 0, 365, 290, 409, 354, + 419, 436, 437, 231, 317, 427, 401, 433, 447, 202, + 228, 331, 394, 424, 385, 310, 405, 406, 280, 384, + 257, 189, 288, 444, 200, 374, 216, 193, 396, 417, + 213, 377, 0, 0, 0, 195, 415, 393, 307, 277, + 278, 194, 0, 358, 235, 255, 226, 326, 412, 413, + 225, 449, 204, 432, 197, 0, 431, 319, 408, 416, + 308, 299, 196, 414, 306, 298, 283, 245, 265, 352, + 293, 353, 266, 315, 314, 316, 0, 191, 0, 390, + 425, 450, 210, 0, 0, 403, 441, 446, 0, 355, + 211, 256, 244, 351, 254, 286, 440, 442, 443, 445, + 209, 349, 262, 330, 420, 248, 428, 318, 205, 268, + 386, 282, 291, 0, 0, 336, 367, 214, 423, 387, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 185, 198, 287, 0, 356, 252, 448, 430, 426, 0, + 0, 230, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 187, 188, 199, 207, 217, 229, + 242, 250, 260, 264, 267, 270, 271, 274, 279, 296, + 301, 302, 303, 304, 320, 321, 322, 325, 328, 329, + 332, 334, 335, 338, 344, 345, 346, 347, 348, 350, + 357, 361, 369, 370, 371, 372, 373, 375, 376, 380, + 381, 382, 383, 391, 395, 410, 411, 422, 434, 438, + 261, 418, 439, 0, 295, 0, 0, 297, 246, 263, + 272, 0, 429, 392, 203, 363, 253, 192, 220, 206, + 227, 241, 243, 276, 305, 311, 340, 343, 258, 238, + 218, 360, 215, 378, 398, 399, 400, 402, 309, 234, + 327, 0, 0, 0, 0, 0, 0, 0, 0, 237, + 0, 0, 0, 0, 0, 285, 0, 0, 0, 341, + 0, 379, 223, 294, 292, 407, 247, 240, 236, 222, + 269, 300, 339, 397, 333, 0, 289, 0, 0, 388, + 312, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 275, 221, 190, 324, + 389, 251, 0, 0, 0, 182, 183, 184, 0, 0, + 0, 0, 0, 0, 0, 0, 212, 0, 219, 0, + 0, 0, 0, 233, 273, 239, 232, 404, 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, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 259, 0, 313, 0, 0, 0, 0, 435, 0, 0, + 0, 0, 0, 0, 0, 0, 284, 0, 281, 186, + 201, 0, 0, 323, 362, 368, 0, 0, 0, 224, + 0, 366, 337, 421, 208, 249, 359, 342, 364, 0, + 0, 365, 290, 409, 354, 419, 436, 437, 231, 317, + 427, 401, 433, 447, 202, 228, 331, 394, 424, 385, + 310, 405, 406, 280, 384, 257, 189, 288, 444, 200, + 374, 216, 193, 396, 417, 213, 377, 0, 0, 0, + 195, 415, 393, 307, 277, 278, 194, 0, 358, 235, + 255, 226, 326, 412, 413, 225, 449, 204, 432, 197, + 0, 431, 319, 408, 416, 308, 299, 196, 414, 306, + 298, 283, 245, 265, 352, 293, 353, 266, 315, 314, + 316, 0, 191, 0, 390, 425, 450, 210, 0, 0, + 403, 441, 446, 0, 355, 211, 256, 244, 351, 254, + 286, 440, 442, 443, 445, 209, 349, 262, 330, 420, + 248, 428, 318, 205, 268, 386, 282, 291, 0, 0, + 336, 367, 214, 423, 387, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 185, 198, 287, 1365, 356, + 252, 448, 430, 426, 0, 0, 230, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 187, + 188, 199, 207, 217, 229, 242, 250, 260, 264, 267, + 270, 271, 274, 279, 296, 301, 302, 303, 304, 320, + 321, 322, 325, 328, 329, 332, 334, 335, 338, 344, + 345, 346, 347, 348, 350, 357, 361, 369, 370, 371, + 372, 373, 375, 376, 380, 381, 382, 383, 391, 395, + 410, 411, 422, 434, 438, 261, 418, 439, 0, 295, + 0, 0, 297, 246, 263, 272, 0, 429, 392, 203, + 363, 253, 192, 220, 206, 227, 241, 243, 276, 305, + 311, 340, 343, 258, 238, 218, 360, 215, 378, 398, + 399, 400, 402, 309, 234, 327, 0, 1243, 0, 0, + 0, 0, 0, 0, 237, 0, 0, 0, 0, 0, + 285, 0, 0, 0, 341, 0, 379, 223, 294, 292, + 407, 247, 240, 236, 222, 269, 300, 339, 397, 333, + 0, 289, 0, 0, 388, 312, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 275, 221, 190, 324, 389, 251, 0, 0, 0, + 182, 183, 184, 0, 0, 0, 0, 0, 0, 0, + 0, 212, 0, 219, 0, 0, 0, 0, 233, 273, + 239, 232, 404, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 259, 0, 313, 0, 0, + 0, 0, 435, 0, 0, 0, 0, 0, 0, 0, + 0, 284, 0, 281, 186, 201, 0, 0, 323, 362, + 368, 0, 0, 0, 224, 0, 366, 337, 421, 208, + 249, 359, 342, 364, 0, 0, 365, 290, 409, 354, + 419, 436, 437, 231, 317, 427, 401, 433, 447, 202, + 228, 331, 394, 424, 385, 310, 405, 406, 280, 384, + 257, 189, 288, 444, 200, 374, 216, 193, 396, 417, + 213, 377, 0, 0, 0, 195, 415, 393, 307, 277, + 278, 194, 0, 358, 235, 255, 226, 326, 412, 413, + 225, 449, 204, 432, 197, 0, 431, 319, 408, 416, + 308, 299, 196, 414, 306, 298, 283, 245, 265, 352, + 293, 353, 266, 315, 314, 316, 0, 191, 0, 390, + 425, 450, 210, 0, 0, 403, 441, 446, 0, 355, + 211, 256, 244, 351, 254, 286, 440, 442, 443, 445, + 209, 349, 262, 330, 420, 248, 428, 318, 205, 268, + 386, 282, 291, 0, 0, 336, 367, 214, 423, 387, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 185, 198, 287, 0, 356, 252, 448, 430, 426, 0, + 0, 230, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 187, 188, 199, 207, 217, 229, + 242, 250, 260, 264, 267, 270, 271, 274, 279, 296, + 301, 302, 303, 304, 320, 321, 322, 325, 328, 329, + 332, 334, 335, 338, 344, 345, 346, 347, 348, 350, + 357, 361, 369, 370, 371, 372, 373, 375, 376, 380, + 381, 382, 383, 391, 395, 410, 411, 422, 434, 438, + 261, 418, 439, 0, 295, 0, 0, 297, 246, 263, + 272, 0, 429, 392, 203, 363, 253, 192, 220, 206, + 227, 241, 243, 276, 305, 311, 340, 343, 258, 238, + 218, 360, 215, 378, 398, 399, 400, 402, 309, 234, + 327, 0, 1241, 0, 0, 0, 0, 0, 0, 237, + 0, 0, 0, 0, 0, 285, 0, 0, 0, 341, + 0, 379, 223, 294, 292, 407, 247, 240, 236, 222, + 269, 300, 339, 397, 333, 0, 289, 0, 0, 388, + 312, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 275, 221, 190, 324, + 389, 251, 0, 0, 0, 182, 183, 184, 0, 0, + 0, 0, 0, 0, 0, 0, 212, 0, 219, 0, + 0, 0, 0, 233, 273, 239, 232, 404, 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, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 259, 0, 313, 0, 0, 0, 0, 435, 0, 0, + 0, 0, 0, 0, 0, 0, 284, 0, 281, 186, + 201, 0, 0, 323, 362, 368, 0, 0, 0, 224, + 0, 366, 337, 421, 208, 249, 359, 342, 364, 0, + 0, 365, 290, 409, 354, 419, 436, 437, 231, 317, + 427, 401, 433, 447, 202, 228, 331, 394, 424, 385, + 310, 405, 406, 280, 384, 257, 189, 288, 444, 200, + 374, 216, 193, 396, 417, 213, 377, 0, 0, 0, + 195, 415, 393, 307, 277, 278, 194, 0, 358, 235, + 255, 226, 326, 412, 413, 225, 449, 204, 432, 197, + 0, 431, 319, 408, 416, 308, 299, 196, 414, 306, + 298, 283, 245, 265, 352, 293, 353, 266, 315, 314, + 316, 0, 191, 0, 390, 425, 450, 210, 0, 0, + 403, 441, 446, 0, 355, 211, 256, 244, 351, 254, + 286, 440, 442, 443, 445, 209, 349, 262, 330, 420, + 248, 428, 318, 205, 268, 386, 282, 291, 0, 0, + 336, 367, 214, 423, 387, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 185, 198, 287, 0, 356, + 252, 448, 430, 426, 0, 0, 230, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 187, + 188, 199, 207, 217, 229, 242, 250, 260, 264, 267, + 270, 271, 274, 279, 296, 301, 302, 303, 304, 320, + 321, 322, 325, 328, 329, 332, 334, 335, 338, 344, + 345, 346, 347, 348, 350, 357, 361, 369, 370, 371, + 372, 373, 375, 376, 380, 381, 382, 383, 391, 395, + 410, 411, 422, 434, 438, 261, 418, 439, 0, 295, + 0, 0, 297, 246, 263, 272, 0, 429, 392, 203, + 363, 253, 192, 220, 206, 227, 241, 243, 276, 305, + 311, 340, 343, 258, 238, 218, 360, 215, 378, 398, + 399, 400, 402, 309, 234, 327, 0, 1239, 0, 0, + 0, 0, 0, 0, 237, 0, 0, 0, 0, 0, + 285, 0, 0, 0, 341, 0, 379, 223, 294, 292, + 407, 247, 240, 236, 222, 269, 300, 339, 397, 333, + 0, 289, 0, 0, 388, 312, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 275, 221, 190, 324, 389, 251, 0, 0, 0, + 182, 183, 184, 0, 0, 0, 0, 0, 0, 0, + 0, 212, 0, 219, 0, 0, 0, 0, 233, 273, + 239, 232, 404, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 259, 0, 313, 0, 0, + 0, 0, 435, 0, 0, 0, 0, 0, 0, 0, + 0, 284, 0, 281, 186, 201, 0, 0, 323, 362, + 368, 0, 0, 0, 224, 0, 366, 337, 421, 208, + 249, 359, 342, 364, 0, 0, 365, 290, 409, 354, + 419, 436, 437, 231, 317, 427, 401, 433, 447, 202, + 228, 331, 394, 424, 385, 310, 405, 406, 280, 384, + 257, 189, 288, 444, 200, 374, 216, 193, 396, 417, + 213, 377, 0, 0, 0, 195, 415, 393, 307, 277, + 278, 194, 0, 358, 235, 255, 226, 326, 412, 413, + 225, 449, 204, 432, 197, 0, 431, 319, 408, 416, + 308, 299, 196, 414, 306, 298, 283, 245, 265, 352, + 293, 353, 266, 315, 314, 316, 0, 191, 0, 390, + 425, 450, 210, 0, 0, 403, 441, 446, 0, 355, + 211, 256, 244, 351, 254, 286, 440, 442, 443, 445, + 209, 349, 262, 330, 420, 248, 428, 318, 205, 268, + 386, 282, 291, 0, 0, 336, 367, 214, 423, 387, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 185, 198, 287, 0, 356, 252, 448, 430, 426, 0, + 0, 230, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 187, 188, 199, 207, 217, 229, + 242, 250, 260, 264, 267, 270, 271, 274, 279, 296, + 301, 302, 303, 304, 320, 321, 322, 325, 328, 329, + 332, 334, 335, 338, 344, 345, 346, 347, 348, 350, + 357, 361, 369, 370, 371, 372, 373, 375, 376, 380, + 381, 382, 383, 391, 395, 410, 411, 422, 434, 438, + 261, 418, 439, 0, 295, 0, 0, 297, 246, 263, + 272, 0, 429, 392, 203, 363, 253, 192, 220, 206, + 227, 241, 243, 276, 305, 311, 340, 343, 258, 238, + 218, 360, 215, 378, 398, 399, 400, 402, 309, 234, + 327, 0, 1237, 0, 0, 0, 0, 0, 0, 237, + 0, 0, 0, 0, 0, 285, 0, 0, 0, 341, + 0, 379, 223, 294, 292, 407, 247, 240, 236, 222, + 269, 300, 339, 397, 333, 0, 289, 0, 0, 388, + 312, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 275, 221, 190, 324, + 389, 251, 0, 0, 0, 182, 183, 184, 0, 0, + 0, 0, 0, 0, 0, 0, 212, 0, 219, 0, + 0, 0, 0, 233, 273, 239, 232, 404, 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, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 259, 0, 313, 0, 0, 0, 0, 435, 0, 0, + 0, 0, 0, 0, 0, 0, 284, 0, 281, 186, + 201, 0, 0, 323, 362, 368, 0, 0, 0, 224, + 0, 366, 337, 421, 208, 249, 359, 342, 364, 0, + 0, 365, 290, 409, 354, 419, 436, 437, 231, 317, + 427, 401, 433, 447, 202, 228, 331, 394, 424, 385, + 310, 405, 406, 280, 384, 257, 189, 288, 444, 200, + 374, 216, 193, 396, 417, 213, 377, 0, 0, 0, + 195, 415, 393, 307, 277, 278, 194, 0, 358, 235, + 255, 226, 326, 412, 413, 225, 449, 204, 432, 197, + 0, 431, 319, 408, 416, 308, 299, 196, 414, 306, + 298, 283, 245, 265, 352, 293, 353, 266, 315, 314, + 316, 0, 191, 0, 390, 425, 450, 210, 0, 0, + 403, 441, 446, 0, 355, 211, 256, 244, 351, 254, + 286, 440, 442, 443, 445, 209, 349, 262, 330, 420, + 248, 428, 318, 205, 268, 386, 282, 291, 0, 0, + 336, 367, 214, 423, 387, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 185, 198, 287, 0, 356, + 252, 448, 430, 426, 0, 0, 230, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 187, + 188, 199, 207, 217, 229, 242, 250, 260, 264, 267, + 270, 271, 274, 279, 296, 301, 302, 303, 304, 320, + 321, 322, 325, 328, 329, 332, 334, 335, 338, 344, + 345, 346, 347, 348, 350, 357, 361, 369, 370, 371, + 372, 373, 375, 376, 380, 381, 382, 383, 391, 395, + 410, 411, 422, 434, 438, 261, 418, 439, 0, 295, + 0, 0, 297, 246, 263, 272, 0, 429, 392, 203, + 363, 253, 192, 220, 206, 227, 241, 243, 276, 305, + 311, 340, 343, 258, 238, 218, 360, 215, 378, 398, + 399, 400, 402, 309, 234, 327, 0, 1235, 0, 0, + 0, 0, 0, 0, 237, 0, 0, 0, 0, 0, + 285, 0, 0, 0, 341, 0, 379, 223, 294, 292, + 407, 247, 240, 236, 222, 269, 300, 339, 397, 333, + 0, 289, 0, 0, 388, 312, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 275, 221, 190, 324, 389, 251, 0, 0, 0, + 182, 183, 184, 0, 0, 0, 0, 0, 0, 0, + 0, 212, 0, 219, 0, 0, 0, 0, 233, 273, + 239, 232, 404, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 259, 0, 313, 0, 0, + 0, 0, 435, 0, 0, 0, 0, 0, 0, 0, + 0, 284, 0, 281, 186, 201, 0, 0, 323, 362, + 368, 0, 0, 0, 224, 0, 366, 337, 421, 208, + 249, 359, 342, 364, 0, 0, 365, 290, 409, 354, + 419, 436, 437, 231, 317, 427, 401, 433, 447, 202, + 228, 331, 394, 424, 385, 310, 405, 406, 280, 384, + 257, 189, 288, 444, 200, 374, 216, 193, 396, 417, + 213, 377, 0, 0, 0, 195, 415, 393, 307, 277, + 278, 194, 0, 358, 235, 255, 226, 326, 412, 413, + 225, 449, 204, 432, 197, 0, 431, 319, 408, 416, + 308, 299, 196, 414, 306, 298, 283, 245, 265, 352, + 293, 353, 266, 315, 314, 316, 0, 191, 0, 390, + 425, 450, 210, 0, 0, 403, 441, 446, 0, 355, + 211, 256, 244, 351, 254, 286, 440, 442, 443, 445, + 209, 349, 262, 330, 420, 248, 428, 318, 205, 268, + 386, 282, 291, 0, 0, 336, 367, 214, 423, 387, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 185, 198, 287, 0, 356, 252, 448, 430, 426, 0, + 0, 230, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 187, 188, 199, 207, 217, 229, + 242, 250, 260, 264, 267, 270, 271, 274, 279, 296, + 301, 302, 303, 304, 320, 321, 322, 325, 328, 329, + 332, 334, 335, 338, 344, 345, 346, 347, 348, 350, + 357, 361, 369, 370, 371, 372, 373, 375, 376, 380, + 381, 382, 383, 391, 395, 410, 411, 422, 434, 438, + 261, 418, 439, 0, 295, 0, 0, 297, 246, 263, + 272, 0, 429, 392, 203, 363, 253, 192, 220, 206, + 227, 241, 243, 276, 305, 311, 340, 343, 258, 238, + 218, 360, 215, 378, 398, 399, 400, 402, 309, 234, + 327, 0, 1231, 0, 0, 0, 0, 0, 0, 237, + 0, 0, 0, 0, 0, 285, 0, 0, 0, 341, + 0, 379, 223, 294, 292, 407, 247, 240, 236, 222, + 269, 300, 339, 397, 333, 0, 289, 0, 0, 388, + 312, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 275, 221, 190, 324, + 389, 251, 0, 0, 0, 182, 183, 184, 0, 0, + 0, 0, 0, 0, 0, 0, 212, 0, 219, 0, + 0, 0, 0, 233, 273, 239, 232, 404, 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, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 259, 0, 313, 0, 0, 0, 0, 435, 0, 0, + 0, 0, 0, 0, 0, 0, 284, 0, 281, 186, + 201, 0, 0, 323, 362, 368, 0, 0, 0, 224, + 0, 366, 337, 421, 208, 249, 359, 342, 364, 0, + 0, 365, 290, 409, 354, 419, 436, 437, 231, 317, + 427, 401, 433, 447, 202, 228, 331, 394, 424, 385, + 310, 405, 406, 280, 384, 257, 189, 288, 444, 200, + 374, 216, 193, 396, 417, 213, 377, 0, 0, 0, + 195, 415, 393, 307, 277, 278, 194, 0, 358, 235, + 255, 226, 326, 412, 413, 225, 449, 204, 432, 197, + 0, 431, 319, 408, 416, 308, 299, 196, 414, 306, + 298, 283, 245, 265, 352, 293, 353, 266, 315, 314, + 316, 0, 191, 0, 390, 425, 450, 210, 0, 0, + 403, 441, 446, 0, 355, 211, 256, 244, 351, 254, + 286, 440, 442, 443, 445, 209, 349, 262, 330, 420, + 248, 428, 318, 205, 268, 386, 282, 291, 0, 0, + 336, 367, 214, 423, 387, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 185, 198, 287, 0, 356, + 252, 448, 430, 426, 0, 0, 230, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 187, + 188, 199, 207, 217, 229, 242, 250, 260, 264, 267, + 270, 271, 274, 279, 296, 301, 302, 303, 304, 320, + 321, 322, 325, 328, 329, 332, 334, 335, 338, 344, + 345, 346, 347, 348, 350, 357, 361, 369, 370, 371, + 372, 373, 375, 376, 380, 381, 382, 383, 391, 395, + 410, 411, 422, 434, 438, 261, 418, 439, 0, 295, + 0, 0, 297, 246, 263, 272, 0, 429, 392, 203, + 363, 253, 192, 220, 206, 227, 241, 243, 276, 305, + 311, 340, 343, 258, 238, 218, 360, 215, 378, 398, + 399, 400, 402, 309, 234, 327, 0, 1229, 0, 0, + 0, 0, 0, 0, 237, 0, 0, 0, 0, 0, + 285, 0, 0, 0, 341, 0, 379, 223, 294, 292, + 407, 247, 240, 236, 222, 269, 300, 339, 397, 333, + 0, 289, 0, 0, 388, 312, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 275, 221, 190, 324, 389, 251, 0, 0, 0, + 182, 183, 184, 0, 0, 0, 0, 0, 0, 0, + 0, 212, 0, 219, 0, 0, 0, 0, 233, 273, + 239, 232, 404, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 259, 0, 313, 0, 0, + 0, 0, 435, 0, 0, 0, 0, 0, 0, 0, + 0, 284, 0, 281, 186, 201, 0, 0, 323, 362, + 368, 0, 0, 0, 224, 0, 366, 337, 421, 208, + 249, 359, 342, 364, 0, 0, 365, 290, 409, 354, + 419, 436, 437, 231, 317, 427, 401, 433, 447, 202, + 228, 331, 394, 424, 385, 310, 405, 406, 280, 384, + 257, 189, 288, 444, 200, 374, 216, 193, 396, 417, + 213, 377, 0, 0, 0, 195, 415, 393, 307, 277, + 278, 194, 0, 358, 235, 255, 226, 326, 412, 413, + 225, 449, 204, 432, 197, 0, 431, 319, 408, 416, + 308, 299, 196, 414, 306, 298, 283, 245, 265, 352, + 293, 353, 266, 315, 314, 316, 0, 191, 0, 390, + 425, 450, 210, 0, 0, 403, 441, 446, 0, 355, + 211, 256, 244, 351, 254, 286, 440, 442, 443, 445, + 209, 349, 262, 330, 420, 248, 428, 318, 205, 268, + 386, 282, 291, 0, 0, 336, 367, 214, 423, 387, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 185, 198, 287, 0, 356, 252, 448, 430, 426, 0, + 0, 230, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 187, 188, 199, 207, 217, 229, + 242, 250, 260, 264, 267, 270, 271, 274, 279, 296, + 301, 302, 303, 304, 320, 321, 322, 325, 328, 329, + 332, 334, 335, 338, 344, 345, 346, 347, 348, 350, + 357, 361, 369, 370, 371, 372, 373, 375, 376, 380, + 381, 382, 383, 391, 395, 410, 411, 422, 434, 438, + 261, 418, 439, 0, 295, 0, 0, 297, 246, 263, + 272, 0, 429, 392, 203, 363, 253, 192, 220, 206, + 227, 241, 243, 276, 305, 311, 340, 343, 258, 238, + 218, 360, 215, 378, 398, 399, 400, 402, 309, 234, + 327, 0, 1227, 0, 0, 0, 0, 0, 0, 237, + 0, 0, 0, 0, 0, 285, 0, 0, 0, 341, + 0, 379, 223, 294, 292, 407, 247, 240, 236, 222, + 269, 300, 339, 397, 333, 0, 289, 0, 0, 388, + 312, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 275, 221, 190, 324, + 389, 251, 0, 0, 0, 182, 183, 184, 0, 0, + 0, 0, 0, 0, 0, 0, 212, 0, 219, 0, + 0, 0, 0, 233, 273, 239, 232, 404, 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, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 259, 0, 313, 0, 0, 0, 0, 435, 0, 0, + 0, 0, 0, 0, 0, 0, 284, 0, 281, 186, + 201, 0, 0, 323, 362, 368, 0, 0, 0, 224, + 0, 366, 337, 421, 208, 249, 359, 342, 364, 0, + 0, 365, 290, 409, 354, 419, 436, 437, 231, 317, + 427, 401, 433, 447, 202, 228, 331, 394, 424, 385, + 310, 405, 406, 280, 384, 257, 189, 288, 444, 200, + 374, 216, 193, 396, 417, 213, 377, 0, 0, 0, + 195, 415, 393, 307, 277, 278, 194, 0, 358, 235, + 255, 226, 326, 412, 413, 225, 449, 204, 432, 197, + 0, 431, 319, 408, 416, 308, 299, 196, 414, 306, + 298, 283, 245, 265, 352, 293, 353, 266, 315, 314, + 316, 0, 191, 0, 390, 425, 450, 210, 0, 0, + 403, 441, 446, 0, 355, 211, 256, 244, 351, 254, + 286, 440, 442, 443, 445, 209, 349, 262, 330, 420, + 248, 428, 318, 205, 268, 386, 282, 291, 0, 0, + 336, 367, 214, 423, 387, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 185, 198, 287, 0, 356, + 252, 448, 430, 426, 0, 0, 230, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 187, + 188, 199, 207, 217, 229, 242, 250, 260, 264, 267, + 270, 271, 274, 279, 296, 301, 302, 303, 304, 320, + 321, 322, 325, 328, 329, 332, 334, 335, 338, 344, + 345, 346, 347, 348, 350, 357, 361, 369, 370, 371, + 372, 373, 375, 376, 380, 381, 382, 383, 391, 395, + 410, 411, 422, 434, 438, 261, 418, 439, 0, 295, + 0, 0, 297, 246, 263, 272, 0, 429, 392, 203, + 363, 253, 192, 220, 206, 227, 241, 243, 276, 305, + 311, 340, 343, 258, 238, 218, 360, 215, 378, 398, + 399, 400, 402, 309, 234, 327, 0, 0, 0, 0, + 0, 0, 0, 0, 237, 0, 0, 0, 0, 0, + 285, 0, 0, 0, 341, 0, 379, 223, 294, 292, + 407, 247, 240, 236, 222, 269, 300, 339, 397, 333, + 0, 289, 0, 0, 388, 312, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 275, 221, 190, 324, 389, 251, 1202, 0, 0, + 182, 183, 184, 0, 0, 0, 0, 0, 0, 0, + 0, 212, 0, 219, 0, 0, 0, 0, 233, 273, + 239, 232, 404, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 259, 0, 313, 0, 0, + 0, 0, 435, 0, 0, 0, 0, 0, 0, 0, + 0, 284, 0, 281, 186, 201, 0, 0, 323, 362, + 368, 0, 0, 0, 224, 0, 366, 337, 421, 208, + 249, 359, 342, 364, 0, 0, 365, 290, 409, 354, + 419, 436, 437, 231, 317, 427, 401, 433, 447, 202, + 228, 331, 394, 424, 385, 310, 405, 406, 280, 384, + 257, 189, 288, 444, 200, 374, 216, 193, 396, 417, + 213, 377, 0, 0, 0, 195, 415, 393, 307, 277, + 278, 194, 0, 358, 235, 255, 226, 326, 412, 413, + 225, 449, 204, 432, 197, 0, 431, 319, 408, 416, + 308, 299, 196, 414, 306, 298, 283, 245, 265, 352, + 293, 353, 266, 315, 314, 316, 0, 191, 0, 390, + 425, 450, 210, 0, 0, 403, 441, 446, 0, 355, + 211, 256, 244, 351, 254, 286, 440, 442, 443, 445, + 209, 349, 262, 330, 420, 248, 428, 318, 205, 268, + 386, 282, 291, 0, 0, 336, 367, 214, 423, 387, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 185, 198, 287, 0, 356, 252, 448, 430, 426, 0, + 0, 230, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 187, 188, 199, 207, 217, 229, + 242, 250, 260, 264, 267, 270, 271, 274, 279, 296, + 301, 302, 303, 304, 320, 321, 322, 325, 328, 329, + 332, 334, 335, 338, 344, 345, 346, 347, 348, 350, + 357, 361, 369, 370, 371, 372, 373, 375, 376, 380, + 381, 382, 383, 391, 395, 410, 411, 422, 434, 438, + 261, 418, 439, 0, 295, 0, 0, 297, 246, 263, + 272, 0, 429, 392, 203, 363, 253, 192, 220, 206, + 227, 241, 243, 276, 305, 311, 340, 343, 258, 238, + 218, 360, 215, 378, 398, 399, 400, 402, 309, 234, + 1101, 0, 0, 0, 0, 0, 0, 327, 0, 0, + 0, 0, 0, 0, 0, 0, 237, 0, 0, 0, + 0, 0, 285, 0, 0, 0, 341, 0, 379, 223, + 294, 292, 407, 247, 240, 236, 222, 269, 300, 339, + 397, 333, 0, 289, 0, 0, 388, 312, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 275, 221, 190, 324, 389, 251, 0, + 0, 0, 182, 183, 184, 0, 0, 0, 0, 0, + 0, 0, 0, 212, 0, 219, 0, 0, 0, 0, + 233, 273, 239, 232, 404, 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, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 259, 0, 313, + 0, 0, 0, 0, 435, 0, 0, 0, 0, 0, + 0, 0, 0, 284, 0, 281, 186, 201, 0, 0, + 323, 362, 368, 0, 0, 0, 224, 0, 366, 337, + 421, 208, 249, 359, 342, 364, 0, 0, 365, 290, + 409, 354, 419, 436, 437, 231, 317, 427, 401, 433, + 447, 202, 228, 331, 394, 424, 385, 310, 405, 406, + 280, 384, 257, 189, 288, 444, 200, 374, 216, 193, + 396, 417, 213, 377, 0, 0, 0, 195, 415, 393, + 307, 277, 278, 194, 0, 358, 235, 255, 226, 326, + 412, 413, 225, 449, 204, 432, 197, 0, 431, 319, + 408, 416, 308, 299, 196, 414, 306, 298, 283, 245, + 265, 352, 293, 353, 266, 315, 314, 316, 0, 191, + 0, 390, 425, 450, 210, 0, 0, 403, 441, 446, + 0, 355, 211, 256, 244, 351, 254, 286, 440, 442, + 443, 445, 209, 349, 262, 330, 420, 248, 428, 318, + 205, 268, 386, 282, 291, 0, 0, 336, 367, 214, + 423, 387, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 185, 198, 287, 0, 356, 252, 448, 430, + 426, 0, 0, 230, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 187, 188, 199, 207, + 217, 229, 242, 250, 260, 264, 267, 270, 271, 274, + 279, 296, 301, 302, 303, 304, 320, 321, 322, 325, + 328, 329, 332, 334, 335, 338, 344, 345, 346, 347, + 348, 350, 357, 361, 369, 370, 371, 372, 373, 375, + 376, 380, 381, 382, 383, 391, 395, 410, 411, 422, + 434, 438, 261, 418, 439, 0, 295, 0, 0, 297, + 246, 263, 272, 0, 429, 392, 203, 363, 253, 192, + 220, 206, 227, 241, 243, 276, 305, 311, 340, 343, + 258, 238, 218, 360, 215, 378, 398, 399, 400, 402, + 309, 234, 327, 0, 0, 0, 0, 0, 0, 0, + 1092, 237, 0, 0, 0, 0, 0, 285, 0, 0, + 0, 341, 0, 379, 223, 294, 292, 407, 247, 240, + 236, 222, 269, 300, 339, 397, 333, 0, 289, 0, + 0, 388, 312, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 275, 221, + 190, 324, 389, 251, 0, 0, 0, 182, 183, 184, + 0, 0, 0, 0, 0, 0, 0, 0, 212, 0, + 219, 0, 0, 0, 0, 233, 273, 239, 232, 404, + 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, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 259, 0, 313, 0, 0, 0, 0, 435, + 0, 0, 0, 0, 0, 0, 0, 0, 284, 0, + 281, 186, 201, 0, 0, 323, 362, 368, 0, 0, + 0, 224, 0, 366, 337, 421, 208, 249, 359, 342, + 364, 0, 0, 365, 290, 409, 354, 419, 436, 437, + 231, 317, 427, 401, 433, 447, 202, 228, 331, 394, + 424, 385, 310, 405, 406, 280, 384, 257, 189, 288, + 444, 200, 374, 216, 193, 396, 417, 213, 377, 0, + 0, 0, 195, 415, 393, 307, 277, 278, 194, 0, + 358, 235, 255, 226, 326, 412, 413, 225, 449, 204, + 432, 197, 0, 431, 319, 408, 416, 308, 299, 196, + 414, 306, 298, 283, 245, 265, 352, 293, 353, 266, + 315, 314, 316, 0, 191, 0, 390, 425, 450, 210, + 0, 0, 403, 441, 446, 0, 355, 211, 256, 244, + 351, 254, 286, 440, 442, 443, 445, 209, 349, 262, + 330, 420, 248, 428, 318, 205, 268, 386, 282, 291, + 0, 0, 336, 367, 214, 423, 387, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 185, 198, 287, + 0, 356, 252, 448, 430, 426, 0, 0, 230, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 187, 188, 199, 207, 217, 229, 242, 250, 260, + 264, 267, 270, 271, 274, 279, 296, 301, 302, 303, + 304, 320, 321, 322, 325, 328, 329, 332, 334, 335, + 338, 344, 345, 346, 347, 348, 350, 357, 361, 369, + 370, 371, 372, 373, 375, 376, 380, 381, 382, 383, + 391, 395, 410, 411, 422, 434, 438, 261, 418, 439, + 0, 295, 0, 0, 297, 246, 263, 272, 0, 429, + 392, 203, 363, 253, 192, 220, 206, 227, 241, 243, + 276, 305, 311, 340, 343, 258, 238, 218, 360, 215, + 378, 398, 399, 400, 402, 309, 234, 327, 0, 0, + 0, 0, 0, 0, 0, 0, 237, 0, 0, 0, + 0, 0, 285, 0, 0, 0, 341, 0, 379, 223, + 294, 292, 407, 247, 240, 236, 222, 269, 300, 339, + 397, 333, 0, 289, 0, 0, 388, 312, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 275, 221, 190, 324, 389, 251, 0, + 0, 0, 182, 183, 184, 0, 948, 0, 0, 0, + 0, 0, 0, 212, 0, 219, 0, 0, 0, 0, + 233, 273, 239, 232, 404, 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, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 259, 0, 313, + 0, 0, 0, 0, 435, 0, 0, 0, 0, 0, + 0, 0, 0, 284, 0, 281, 186, 201, 0, 0, + 323, 362, 368, 0, 0, 0, 224, 0, 366, 337, + 421, 208, 249, 359, 342, 364, 0, 0, 365, 290, + 409, 354, 419, 436, 437, 231, 317, 427, 401, 433, + 447, 202, 228, 331, 394, 424, 385, 310, 405, 406, + 280, 384, 257, 189, 288, 444, 200, 374, 216, 193, + 396, 417, 213, 377, 0, 0, 0, 195, 415, 393, + 307, 277, 278, 194, 0, 358, 235, 255, 226, 326, + 412, 413, 225, 449, 204, 432, 197, 0, 431, 319, + 408, 416, 308, 299, 196, 414, 306, 298, 283, 245, + 265, 352, 293, 353, 266, 315, 314, 316, 0, 191, + 0, 390, 425, 450, 210, 0, 0, 403, 441, 446, + 0, 355, 211, 256, 244, 351, 254, 286, 440, 442, + 443, 445, 209, 349, 262, 330, 420, 248, 428, 318, + 205, 268, 386, 282, 291, 0, 0, 336, 367, 214, + 423, 387, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 185, 198, 287, 0, 356, 252, 448, 430, + 426, 0, 0, 230, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 187, 188, 199, 207, + 217, 229, 242, 250, 260, 264, 267, 270, 271, 274, + 279, 296, 301, 302, 303, 304, 320, 321, 322, 325, + 328, 329, 332, 334, 335, 338, 344, 345, 346, 347, + 348, 350, 357, 361, 369, 370, 371, 372, 373, 375, + 376, 380, 381, 382, 383, 391, 395, 410, 411, 422, + 434, 438, 261, 418, 439, 0, 295, 0, 0, 297, + 246, 263, 272, 0, 429, 392, 203, 363, 253, 192, + 220, 206, 227, 241, 243, 276, 305, 311, 340, 343, + 258, 238, 218, 360, 215, 378, 398, 399, 400, 402, + 309, 234, 327, 0, 0, 0, 0, 0, 0, 0, + 0, 237, 0, 0, 0, 0, 0, 285, 0, 0, + 0, 341, 0, 379, 223, 294, 292, 407, 247, 240, + 236, 222, 269, 300, 339, 397, 333, 0, 289, 0, + 0, 388, 312, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 275, 221, + 190, 324, 389, 251, 0, 0, 0, 182, 183, 184, + 0, 0, 0, 0, 0, 0, 0, 0, 212, 0, + 219, 0, 0, 0, 0, 233, 273, 239, 232, 404, + 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, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 507, 0, 259, 0, 313, 0, 0, 0, 0, 435, + 0, 0, 0, 0, 0, 0, 0, 0, 284, 0, + 281, 186, 201, 0, 0, 323, 362, 368, 0, 0, + 0, 224, 0, 366, 337, 421, 208, 249, 359, 342, + 364, 0, 0, 365, 290, 409, 354, 419, 436, 437, + 231, 317, 427, 401, 433, 447, 202, 228, 331, 394, + 424, 385, 310, 405, 406, 280, 384, 257, 189, 288, + 444, 200, 374, 216, 193, 396, 417, 213, 377, 0, + 0, 0, 195, 415, 393, 307, 277, 278, 194, 0, + 358, 235, 255, 226, 326, 412, 413, 225, 449, 204, + 432, 197, 0, 431, 319, 408, 416, 308, 299, 196, + 414, 306, 298, 283, 245, 265, 352, 293, 353, 266, + 315, 314, 316, 0, 191, 0, 390, 425, 450, 210, + 0, 0, 403, 441, 446, 0, 355, 211, 256, 244, + 351, 254, 286, 440, 442, 443, 445, 209, 349, 262, + 330, 420, 248, 428, 318, 205, 268, 386, 282, 291, + 0, 0, 336, 367, 214, 423, 387, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 185, 198, 287, + 0, 356, 252, 448, 430, 426, 0, 0, 230, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 187, 188, 199, 207, 217, 229, 242, 250, 260, + 264, 267, 270, 271, 274, 279, 296, 301, 302, 303, + 304, 320, 321, 322, 325, 328, 329, 332, 334, 335, + 338, 344, 345, 346, 347, 348, 350, 357, 361, 369, + 370, 371, 372, 373, 375, 376, 380, 381, 382, 383, + 391, 395, 410, 411, 422, 434, 438, 506, 418, 439, + 0, 295, 0, 0, 297, 246, 263, 272, 0, 429, + 392, 203, 363, 253, 192, 220, 206, 227, 241, 243, + 276, 305, 311, 340, 343, 258, 238, 218, 360, 215, + 378, 398, 399, 400, 402, 309, 234, 327, 0, 0, + 0, 0, 0, 0, 0, 0, 237, 0, 0, 0, + 0, 0, 285, 0, 0, 0, 341, 0, 379, 223, + 294, 292, 407, 247, 240, 236, 222, 269, 300, 339, + 397, 333, 0, 289, 0, 0, 388, 312, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 275, 221, 190, 324, 389, 251, 0, + 0, 0, 182, 183, 184, 0, 0, 0, 0, 0, + 0, 0, 0, 212, 0, 219, 0, 0, 0, 0, + 233, 273, 239, 232, 404, 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, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 259, 0, 313, + 0, 0, 456, 0, 435, 0, 0, 0, 0, 0, + 0, 0, 0, 284, 0, 281, 186, 201, 0, 0, + 323, 362, 368, 0, 0, 0, 224, 0, 366, 337, + 421, 208, 249, 359, 342, 364, 0, 0, 365, 290, + 409, 354, 419, 436, 437, 231, 317, 427, 401, 433, + 447, 202, 228, 331, 394, 424, 385, 310, 405, 406, + 280, 384, 257, 189, 288, 444, 200, 374, 216, 193, + 396, 417, 213, 377, 0, 0, 0, 195, 415, 393, + 307, 277, 278, 194, 0, 358, 235, 255, 226, 326, + 412, 413, 225, 449, 204, 432, 197, 0, 431, 319, + 408, 416, 308, 299, 196, 414, 306, 298, 283, 245, + 265, 352, 293, 353, 266, 315, 314, 316, 0, 191, + 0, 390, 425, 450, 210, 0, 0, 403, 441, 446, + 0, 355, 211, 256, 244, 351, 254, 286, 440, 442, + 443, 445, 209, 349, 262, 330, 420, 248, 428, 318, + 205, 268, 386, 282, 291, 0, 0, 336, 367, 214, + 423, 387, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 185, 198, 287, 0, 356, 252, 448, 430, + 426, 0, 0, 230, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 187, 188, 199, 207, + 217, 229, 242, 250, 260, 264, 267, 270, 271, 274, + 279, 296, 301, 302, 303, 304, 320, 321, 322, 325, + 328, 329, 332, 334, 335, 338, 344, 345, 346, 347, + 348, 350, 357, 361, 369, 370, 371, 372, 373, 375, + 376, 380, 381, 382, 383, 391, 395, 410, 411, 422, + 434, 438, 261, 418, 439, 0, 295, 0, 0, 297, + 246, 263, 272, 0, 429, 392, 203, 363, 253, 192, + 220, 206, 227, 241, 243, 276, 305, 311, 340, 343, + 258, 238, 218, 360, 215, 378, 398, 399, 400, 402, + 309, 234, 327, 0, 0, 0, 0, 0, 0, 0, + 0, 237, 0, 0, 0, 0, 0, 285, 0, 0, + 0, 341, 0, 379, 223, 294, 292, 407, 247, 240, + 236, 222, 269, 300, 339, 397, 333, 0, 289, 0, + 0, 388, 312, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 275, 221, + 190, 324, 389, 251, 0, 0, 0, 182, 183, 184, + 0, 0, 0, 0, 0, 0, 0, 0, 212, 0, + 219, 0, 0, 0, 0, 233, 273, 239, 232, 404, + 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, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 259, 0, 313, 0, 0, 0, 0, 435, + 0, 0, 0, 0, 0, 0, 0, 0, 284, 0, + 281, 186, 201, 0, 0, 323, 362, 368, 0, 0, + 0, 224, 0, 366, 337, 421, 208, 249, 359, 342, + 364, 0, 0, 365, 290, 409, 354, 419, 436, 437, + 231, 317, 427, 401, 433, 447, 202, 228, 331, 394, + 424, 385, 310, 405, 406, 280, 384, 257, 189, 288, + 444, 200, 374, 216, 193, 396, 417, 213, 377, 0, + 0, 0, 195, 415, 393, 307, 277, 278, 194, 0, + 358, 235, 255, 226, 326, 412, 413, 225, 449, 204, + 432, 197, 0, 431, 319, 408, 416, 308, 299, 196, + 414, 306, 298, 283, 245, 265, 352, 293, 353, 266, + 315, 314, 316, 0, 191, 0, 390, 425, 450, 210, + 0, 0, 403, 441, 446, 0, 355, 211, 256, 244, + 351, 254, 286, 440, 442, 443, 445, 209, 349, 262, + 330, 420, 248, 428, 318, 205, 268, 386, 282, 291, + 0, 0, 336, 367, 214, 423, 387, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 185, 198, 287, + 0, 356, 252, 448, 430, 426, 0, 0, 230, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 187, 188, 199, 207, 217, 229, 242, 250, 260, + 264, 267, 270, 271, 274, 279, 296, 301, 302, 303, + 304, 320, 321, 322, 325, 328, 329, 332, 334, 335, + 338, 344, 345, 346, 347, 348, 350, 357, 361, 369, + 370, 371, 372, 373, 375, 376, 380, 381, 382, 383, + 391, 395, 410, 411, 422, 434, 438, 261, 418, 439, + 0, 295, 0, 0, 297, 246, 263, 272, 0, 429, + 392, 203, 363, 253, 192, 220, 206, 227, 241, 243, + 276, 305, 311, 340, 343, 258, 238, 218, 360, 215, + 378, 398, 399, 400, 402, 309, 234, } var yyPact = [...]int{ - 4145, -1000, -338, 1621, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 2708, -1000, -342, 1647, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 1590, 1198, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, 564, 1250, 227, 1504, 281, 152, 994, 390, - 155, 27286, 380, 3612, 27741, -1000, 110, -1000, 95, 27741, - 106, 26831, -1000, -1000, -284, 12693, 1429, 21, 7, 27741, - 124, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1226, - 1547, 1543, 1586, 1087, 1503, -1000, 10860, 10860, 314, 314, - 314, 9040, -1000, -1000, 16801, 27741, 27741, 1261, 379, 994, - 368, 366, 357, -1000, -120, -1000, -1000, -1000, -1000, 1504, - -1000, -1000, 112, -1000, 234, 1185, -1000, 1183, -1000, 485, - 425, 231, 310, 309, 230, 229, 226, 223, 222, 221, - 219, 218, 237, -1000, 561, 561, -170, -179, 2456, 280, - 280, 280, 326, 1455, 1454, -1000, 488, -1000, 561, 561, - 100, 561, 561, 561, 561, 192, 191, 561, 561, 561, - 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, - 561, 561, 27741, -1000, 156, 534, 266, 588, 1504, 180, - -1000, -1000, -1000, 27741, 376, 994, 299, -1000, 27741, -1000, - 477, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 1601, 1240, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, 581, 1270, 222, 1508, 213, 167, 27823, 412, + 85, 27368, 403, 2109, 27823, -1000, 99, -1000, 86, 27823, + 91, 26913, -1000, -1000, -284, 12775, 1450, 10, 8, 27823, + 106, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1246, + 1573, 1579, 1598, 1090, 1603, -1000, 10942, 10942, 354, 354, + 354, 9122, -1000, -1000, 16883, 27823, 27823, 1275, 402, 952, + 389, 387, 386, -1000, -106, -1000, -1000, -1000, -1000, 1508, + -1000, -1000, 168, -1000, 254, 1237, -1000, 1225, -1000, 419, + 416, 250, 330, 329, 248, 247, 245, 244, 242, 241, + 240, 238, 259, -1000, 539, 539, -172, -179, 296, 321, + 321, 321, 369, 1477, 1461, -1000, 623, -1000, 539, 539, + 164, 539, 539, 539, 539, 221, 219, 539, 539, 539, + 539, 539, 539, 539, 539, 539, 539, 539, 539, 539, + 539, 539, 27823, -1000, 162, 580, 246, 613, 1508, 212, -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, @@ -3968,25 +3973,28 @@ var yyPact = [...]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, - 27741, 631, 631, 51, 631, 631, 631, 631, 57, 416, - -5, -1000, 52, 171, 163, 167, 639, 85, 62, -1000, - -1000, 158, 639, 34, -1000, 631, 7164, 7164, 7164, -1000, - 1487, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 319, - -1000, -1000, -1000, -1000, 27741, 26376, 248, 585, -1000, -1000, - -1000, 83, -1000, -1000, 1117, 948, -1000, 12693, 2380, 1145, - 1145, -1000, -1000, 407, -1000, -1000, 14058, 14058, 14058, 14058, - 14058, 14058, 14058, 14058, 14058, 14058, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - 1145, 460, -1000, 12238, 1145, 1145, 1145, 1145, 1145, 1145, - 1145, 1145, 12693, 1145, 1145, 1145, 1145, 1145, 1145, 1145, - 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, - -1000, -1000, -1000, 27741, -1000, 1145, 955, 1590, -1000, 1198, - -1000, -1000, -1000, 1473, 12693, 12693, 1590, -1000, 1367, 10860, - -1000, -1000, 1430, -1000, -1000, -1000, -1000, -1000, 699, 1605, - -1000, 15423, 450, 1604, 25921, -1000, 19544, 25466, 1182, 8571, - -87, -1000, -1000, -1000, 575, 18634, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, 27823, 400, 952, 349, -1000, 27823, -1000, 483, 27823, + 636, 636, 63, 636, 636, 636, 636, 82, 462, -10, + -1000, 73, 201, 187, 191, 673, 74, 62, -1000, -1000, + 189, 673, 90, -1000, 636, 7246, 7246, 7246, -1000, 1498, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 367, -1000, + -1000, -1000, -1000, 27823, 26458, 278, 598, -1000, -1000, -1000, + 23, -1000, -1000, 1146, 568, -1000, 12775, 2381, 1241, 1241, + -1000, -1000, 471, -1000, -1000, 14140, 14140, 14140, 14140, 14140, + 14140, 14140, 14140, 14140, 14140, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1241, + 479, -1000, 12320, 1241, 1241, 1241, 1241, 1241, 1241, 1241, + 1241, 12775, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, + 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, -1000, + -1000, -1000, 27823, -1000, 1241, 987, 1601, -1000, 1240, -1000, + -1000, -1000, 1494, 12775, 12775, 1601, -1000, 1390, 10942, -1000, + -1000, 1481, -1000, -1000, -1000, -1000, -1000, 711, 1633, -1000, + 15505, 476, 1632, 26003, -1000, 19626, 25548, 1205, 8653, -24, + -1000, -1000, -1000, 592, 18716, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 1498, -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, -1000, -1000, -1000, -1000, @@ -3998,191 +4006,191 @@ var yyPact = [...]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, -1000, -1000, 1487, 1110, 27741, - -1000, -1000, 3863, 994, -1000, 1248, -1000, 1105, -1000, 1202, - 156, 300, 1281, 994, 994, 994, 300, -1000, -1000, -1000, - 561, 561, 236, 281, 2784, -1000, -1000, -1000, 25004, 1247, - 994, -1000, 1244, -1000, 1515, 296, 484, 484, 994, -1000, - -1000, 27741, 994, 1514, 1513, 27741, 27741, -1000, 24549, -1000, - 24094, 23639, 822, 27741, 23184, 22729, 22274, 21819, 21364, -1000, - 1304, -1000, 1243, -1000, -1000, -1000, 27741, 27741, 27741, 26, - -1000, -1000, 27741, 994, -1000, -1000, 816, 788, 561, 561, - 786, 954, 951, 934, 561, 561, 777, 931, 986, 178, - 775, 771, 756, 908, 914, 123, 890, 774, 752, 27741, - 1238, -1000, 151, 570, 202, 239, 201, 27741, 119, 1535, - 145, 1504, 1428, 1180, 318, 299, 1311, 27741, 1528, 299, - -1000, 7633, -1000, -1000, 912, 12693, -1000, 660, 639, 639, - -1000, -1000, -1000, -1000, -1000, -1000, 631, 27741, 660, -1000, - -1000, -1000, 639, 631, 27741, 631, 631, 631, 631, 639, - 631, 27741, 27741, 27741, 27741, 27741, 27741, 27741, 27741, 27741, - 7164, 7164, 7164, 541, 631, -1000, 1310, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 105, -1000, -1000, -1000, -1000, -1000, - 1621, -1000, -1000, -1000, -109, 1175, 20909, -1000, -289, -290, - -291, -292, -1000, -1000, -1000, -296, -297, -1000, -1000, -1000, - 12693, 12693, 12693, 12693, 619, 527, 14058, 721, 542, 14058, - 14058, 14058, 14058, 14058, 14058, 14058, 14058, 14058, 14058, 14058, - 14058, 14058, 14058, 14058, 659, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 994, -1000, 1619, 808, 808, 491, 491, - 491, 491, 491, 491, 491, 491, 491, 14513, 9495, 7633, - 1087, 1085, 1590, 10860, 10860, 12693, 12693, 11770, 11315, 10860, - 1480, 601, 948, 27741, -1000, 873, -1000, -1000, 13603, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1128, 27823, -1000, + -1000, 2563, 952, -1000, 1269, -1000, 1123, -1000, 1249, 162, + 352, 1287, 952, 952, 952, 352, -1000, -1000, -1000, 539, + 539, 257, 213, 3838, -1000, -1000, -1000, 25086, 1268, 952, + -1000, 1267, -1000, 1531, 337, 579, 579, 952, -1000, -1000, + 27823, 952, 1530, 1527, 27823, 27823, -1000, 24631, -1000, 24176, + 23721, 867, 27823, 23266, 22811, 22356, 21901, 21446, -1000, 1347, + -1000, 1262, -1000, -1000, -1000, 27823, 27823, 27823, -6, -1000, + -1000, 27823, 952, -1000, -1000, 860, 851, 539, 539, 850, + 986, 982, 977, 539, 539, 820, 976, 1012, 190, 813, + 804, 801, 831, 974, 108, 810, 789, 794, 27823, 1266, + -1000, 150, 578, 220, 270, 200, 27823, 132, 1571, 198, + 1508, 1449, 1202, 366, 349, 1308, 27823, 1553, 349, -1000, + 7715, -1000, -1000, 973, 12775, -1000, 679, 673, 673, -1000, + -1000, -1000, -1000, -1000, -1000, 636, 27823, 679, -1000, -1000, + -1000, 673, 636, 27823, 636, 636, 636, 636, 673, 636, + 27823, 27823, 27823, 27823, 27823, 27823, 27823, 27823, 27823, 7246, + 7246, 7246, 528, 636, -1000, 1307, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 89, -1000, -1000, -1000, -1000, -1000, + 1647, -1000, -1000, -1000, -115, 1181, 20991, -1000, -288, -289, + -290, -291, -1000, -1000, -1000, -292, -297, -1000, -1000, -1000, + 12775, 12775, 12775, 12775, 786, 530, 14140, 756, 533, 14140, + 14140, 14140, 14140, 14140, 14140, 14140, 14140, 14140, 14140, 14140, + 14140, 14140, 14140, 14140, 718, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 952, -1000, 1637, 1039, 1039, 491, 491, + 491, 491, 491, 491, 491, 491, 491, 14595, 9577, 7715, + 1090, 1117, 1601, 10942, 10942, 12775, 12775, 11852, 11397, 10942, + 1472, 631, 568, 27823, -1000, 881, -1000, -1000, 13685, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, 27741, 27741, 10860, 10860, 10860, 10860, 10860, -1000, 1174, - -1000, -152, 16346, 12693, -1000, 1543, 1087, 1430, 1519, 1614, - 514, 664, 1165, -1000, 765, 1543, 18179, 1102, -1000, 1430, - -1000, -1000, -1000, 27741, -1000, -1000, 20454, -1000, -1000, 6695, - 27741, 215, 27741, -1000, 1170, 1373, -1000, -1000, -1000, 1532, - 17724, 27741, 1159, 1098, -1000, -1000, 448, 8102, -87, -1000, - 8102, 1128, -1000, -78, -66, 9950, 456, -1000, -1000, -1000, - 2456, 14968, 1024, -1000, 35, -1000, -1000, -1000, 1202, -1000, - 1202, 1202, 1202, 1202, 26, 26, 26, 26, -1000, -1000, - -1000, -1000, -1000, 1236, 1231, -1000, 1202, 1202, 1202, 1202, + -1000, 27823, 27823, 10942, 10942, 10942, 10942, 10942, -1000, 1177, + -1000, -175, 16428, 12775, -1000, 1579, 1090, 1481, 1546, 1641, + 520, 863, 1176, -1000, 964, 1579, 18261, 1222, -1000, 1481, + -1000, -1000, -1000, 27823, -1000, -1000, 20536, -1000, -1000, 6777, + 27823, 234, 27823, -1000, 1190, 1567, -1000, -1000, -1000, 1568, + 17806, 27823, 1145, 1122, -1000, -1000, 474, 8184, -24, -1000, + 8184, 1160, -1000, -67, -37, 10032, 467, -1000, -1000, -1000, + 296, 15050, 1114, -1000, 25, -1000, -1000, -1000, 1249, -1000, + 1249, 1249, 1249, 1249, -6, -6, -6, -6, -1000, -1000, + -1000, -1000, -1000, 1264, 1263, -1000, 1249, 1249, 1249, 1249, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1228, 1228, 1228, - 1208, 1208, 289, -1000, 12693, 117, 27741, 1523, 751, 151, - 27741, 611, 1309, -1000, 27741, 1281, 1281, 1281, 994, 980, - 902, -1000, 1164, -1000, -1000, 1584, -1000, -1000, 449, 646, - 621, 475, 27741, 126, 214, -1000, 272, -1000, 27741, 1224, - 1510, 484, 994, -1000, 994, -1000, -1000, -1000, -1000, 445, - -1000, -1000, 994, 1160, -1000, 1152, 705, 620, 686, 618, - 1160, -1000, -1000, -148, 1160, -1000, 1160, -1000, 1160, -1000, - 1160, -1000, 1160, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, 526, 27741, 126, 659, -1000, 317, -1000, -1000, 659, - 659, -1000, -1000, -1000, -1000, 911, 906, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1256, 1256, 1256, + 1251, 1251, 314, -1000, 12775, 178, 27823, 1539, 791, 150, + 27823, 587, 1306, -1000, 27823, 1287, 1287, 1287, 27823, 970, + 877, -1000, 1175, -1000, -1000, 1597, -1000, -1000, 514, 671, + 668, 565, 27823, 114, 233, -1000, 308, -1000, 27823, 1254, + 1524, 579, 952, -1000, 952, -1000, -1000, -1000, -1000, 463, + -1000, -1000, 952, 1174, -1000, 1140, 707, 662, 704, 661, + 1174, -1000, -1000, -151, 1174, -1000, 1174, -1000, 1174, -1000, + 1174, -1000, 1174, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, 534, 27823, 114, 718, -1000, 356, -1000, -1000, 718, + 718, -1000, -1000, -1000, -1000, 971, 969, -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, -333, 27741, 332, 134, 133, 27741, 27741, - 27741, 27741, 27741, 411, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, 189, 27741, 27741, 27741, 27741, 377, -1000, -1000, 994, - -1000, -1000, -1000, -1000, 948, 27741, -1000, -1000, 631, 631, - -1000, -1000, 27741, 631, -1000, -1000, -1000, -1000, -1000, -1000, - 631, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, -1000, 901, -1000, 27741, 27741, -1000, - -1000, -1000, -1000, -1000, 104, -80, 168, -1000, -1000, -1000, - -1000, 1539, -1000, 948, 527, 555, 577, -1000, -1000, 732, - -1000, -1000, 2480, -1000, -1000, -1000, -1000, 721, 14058, 14058, - 14058, 1260, 2480, 2672, 992, 877, 491, 640, 640, 493, - 493, 493, 493, 493, 746, 746, -1000, -1000, -1000, -1000, - 873, -1000, -1000, -1000, 873, 10860, 10860, 1157, 1145, 444, - -1000, 1226, -1000, -1000, 1543, 1070, 1070, 687, 868, 579, - 1603, 1070, 571, 1602, 1070, 1070, 10860, -1000, -1000, 600, - -1000, 12693, 873, -1000, 1282, 1136, 1130, 1070, 873, 873, - 1070, 1070, 27741, -1000, -281, -1000, -103, 464, 1145, -1000, - 19999, -1000, -1000, 873, 1117, 1473, -1000, -1000, 1456, -1000, - 1374, 12693, 12693, 12693, -1000, -1000, -1000, 1473, 1576, -1000, - 1393, 1390, 1597, 10860, 19544, 1430, -1000, -1000, -1000, 442, - 1597, 1177, 1145, -1000, 27741, 19544, 19544, 19544, 19544, 19544, - -1000, 1342, 1324, -1000, 1341, 1339, 1364, 27741, -1000, 1083, - 1087, 17724, 215, 1023, 19544, 27741, -1000, -1000, 19544, 27741, - 6226, -1000, 1128, -87, -81, -1000, -1000, -1000, -1000, 948, - -1000, 783, -1000, 2207, -1000, 275, -1000, -1000, -1000, -1000, - 397, 32, -1000, -1000, 26, 26, -1000, -1000, 456, 674, - 456, 456, 456, 896, 896, -1000, -1000, -1000, -1000, -1000, - 749, -1000, -1000, -1000, 748, -1000, -1000, 698, 1292, 117, - -1000, -1000, 561, 894, 1448, -1000, -1000, 968, 330, -1000, - 1527, 27741, -1000, 1308, 1305, 1303, -1000, -1000, -1000, -1000, - -1000, 2245, 27741, 1078, -1000, 127, 27741, 966, 27741, -1000, - 1075, 27741, -1000, 994, -1000, -1000, 7633, -1000, 27741, 1145, - -1000, -1000, -1000, -1000, 359, 1497, 1493, 126, 127, 456, - 994, -1000, -1000, -1000, -1000, -1000, -339, 1072, 27741, 141, - -1000, 1216, 880, -1000, 1277, -1000, -1000, -1000, -1000, 125, - 200, 185, 316, -1000, 358, 1292, 27741, -1000, -1000, -1000, - -1000, 639, -1000, -1000, 639, -1000, -1000, -1000, -1000, -1000, - -1000, 1482, -85, -309, -1000, -306, -1000, -1000, -1000, -1000, - 1260, 2480, 2613, -1000, 14058, 14058, -1000, -1000, 1070, 1070, - 10860, 7633, 1590, 1473, -1000, -1000, 421, 659, 421, 14058, - 14058, -1000, 14058, 14058, -1000, -144, 1118, 595, -1000, 12693, - 855, -1000, -1000, 14058, 14058, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 354, 353, 347, 27741, -1000, -1000, - -1000, 861, 893, 1369, 948, 948, -1000, -1000, 27741, -1000, - -1000, -1000, -1000, 1594, 12693, -1000, 1125, -1000, 5757, 1543, - 1301, 27741, 1145, 1621, 15891, 27741, 1181, -1000, 567, 1373, - 1270, 1300, 1283, -1000, -1000, -1000, -1000, 1323, -1000, 1322, - -1000, -1000, -1000, -1000, -1000, 1087, 1597, 19544, 1056, -1000, - 1056, -1000, 420, -1000, -1000, -1000, -93, -99, -1000, -1000, - -1000, 2456, -1000, -1000, -1000, 657, 14058, 1612, -1000, 886, - 1509, -1000, 1508, -1000, -1000, 456, 456, -1000, -1000, -1000, - -1000, -1000, -1000, -1000, 1066, -1000, 1064, 1124, 1062, 50, - -1000, 1255, 1478, 561, 561, -1000, 744, -1000, 994, -1000, - 27741, -1000, -1000, 27741, 27741, 27741, 1581, 1123, -1000, 27741, - -1000, -1000, 27741, -1000, -1000, 1387, 117, 1060, -1000, -1000, - -1000, 214, 27741, -1000, 808, 127, -1000, -1000, -1000, -1000, - -1000, -1000, 1189, -1000, -1000, -1000, 964, -1000, -149, 994, - 27741, 27741, 27741, -1000, 27741, -1000, -1000, -1000, 631, 631, - -1000, 1477, -1000, 994, -1000, 14058, 2480, 2480, -1000, -1000, - 873, -1000, 1543, -1000, 873, 1202, 1202, -1000, 1202, 1208, - -1000, 1202, 88, 1202, 87, 873, 873, 2507, 2409, 2336, - 1566, 1145, -127, -1000, 948, 12693, 1344, 718, 1145, 1145, - 1145, 1037, 885, 26, -1000, -1000, -1000, 1592, 1578, 948, - -1000, -1000, -1000, 1517, 1012, 1100, -1000, -1000, 10405, 1058, - 1377, 414, 1037, 1590, 27741, 12693, -1000, -1000, 12693, 1191, - -1000, 12693, -1000, -1000, -1000, 1590, 1590, 1056, -1000, -1000, - 500, -1000, -1000, -1000, -1000, -1000, 2480, -123, -1000, -1000, - -1000, -1000, -1000, 26, 871, 26, 726, -1000, 719, -1000, - -1000, -217, -1000, -1000, 1213, 1264, -1000, -1000, 1189, -1000, - -1000, -1000, 27741, 27741, -1000, -1000, 210, -1000, 262, 1030, - -1000, -167, -1000, -1000, 1531, 27741, -1000, -1000, 7633, -1000, - -1000, 1178, 1280, -1000, -1000, -1000, -1000, -1000, -1000, 2480, - -1000, 1473, -1000, -1000, 251, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 14058, 14058, 14058, 14058, 14058, 1543, 866, - 948, 14058, 14058, 19089, 27741, 27741, 17256, 26, -4, -1000, - 12693, 12693, 1507, -1000, 1145, -1000, 1144, 27741, 1145, 27741, - -1000, 1543, -1000, 948, 948, 27741, 948, 1543, -1000, -1000, - 456, -1000, 456, 913, 895, -1000, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, 1530, 1123, -1000, 206, 27741, -1000, 214, - -1000, -180, -183, 1198, 1017, 1120, -1000, 558, 27741, 27741, - -1000, -1000, -1000, 1282, 1282, 1282, 1282, 169, 873, -1000, - 1282, 1282, 1007, -1000, 1007, 1007, 464, -276, -1000, 1425, - 1401, 948, 1117, 1610, -1000, 1145, 1621, 391, 1100, -1000, - -1000, 999, -1000, -1000, -1000, -1000, -1000, 1198, 1145, 1088, - -1000, -1000, -1000, 187, -1000, 7633, 5288, 993, -1000, -1000, - -1000, -1000, -1000, 873, 146, -155, -1000, -1000, -1000, -1000, - -1000, -1000, -1000, -4, 276, -1000, 1413, 1401, -1000, 1573, - 1420, 1572, -1000, 27741, 1100, 27741, -1000, 187, 13148, 27741, - -1000, -58, -1000, -1000, -1000, -1000, -1000, 1277, -1000, 1365, - -151, -162, 1410, 1414, 1414, 1413, -1000, 1561, 1556, -1000, - 854, 1549, 833, 1039, -1000, -1000, 1282, 873, 978, 282, - -1000, -1000, -149, -1000, 1351, -1000, 1407, 681, -1000, -1000, - -1000, -1000, 830, 747, -1000, 722, -1000, -1000, -1000, 1293, - 153, -1000, -153, -1000, 652, -1000, -1000, -1000, -1000, -1000, - 1289, -1000, 1601, -1000, -166, -1000, -1000, -1000, 1608, 429, - 429, -164, -1000, -1000, -1000, 271, 736, -1000, -1000, -1000, + -1000, -1000, -1000, -334, 27823, 376, 142, 151, 27823, 27823, + 27823, 27823, 27823, 424, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, 202, 27823, 27823, 27823, 27823, 401, -1000, -1000, 27823, + -1000, -1000, -1000, -1000, 568, 27823, -1000, -1000, 636, 636, + -1000, -1000, 27823, 636, -1000, -1000, -1000, -1000, -1000, -1000, + 636, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 963, -1000, 27823, 27823, -1000, + -1000, -1000, -1000, -1000, 70, -71, 177, -1000, -1000, -1000, + -1000, 1576, -1000, 568, 530, 633, 583, -1000, -1000, 806, + -1000, -1000, 1277, -1000, -1000, -1000, -1000, 756, 14140, 14140, + 14140, 589, 1277, 2508, 1344, 1652, 491, 656, 656, 504, + 504, 504, 504, 504, 717, 717, -1000, -1000, -1000, -1000, + 881, -1000, -1000, -1000, 881, 10942, 10942, 1172, 1241, 451, + -1000, 1246, -1000, -1000, 1579, 1092, 1092, 829, 1011, 619, + 1626, 1092, 608, 1623, 1092, 1092, 10942, -1000, -1000, 695, + -1000, 12775, 881, -1000, 892, 1166, 1165, 1092, 881, 881, + 1092, 1092, 27823, -1000, -280, -1000, -86, 460, 1241, -1000, + 20081, -1000, -1000, 881, 1146, 1494, -1000, -1000, 1466, -1000, + 1387, 12775, 12775, 12775, -1000, -1000, -1000, 1494, 1578, -1000, + 1400, 1397, 1615, 10942, 19626, 1481, -1000, -1000, -1000, 448, + 1615, 1189, 1241, -1000, 27823, 19626, 19626, 19626, 19626, 19626, + -1000, 1321, 1320, -1000, 1361, 1358, 1338, 27823, -1000, 1111, + 1090, 17806, 234, 1157, 19626, 27823, -1000, -1000, 19626, 27823, + 6308, -1000, 1160, -24, -49, -1000, -1000, -1000, -1000, 568, + -1000, 858, -1000, 2216, -1000, 315, -1000, -1000, -1000, -1000, + 480, 15, -1000, -1000, -6, -6, -1000, -1000, 467, 748, + 467, 467, 467, 958, 958, -1000, -1000, -1000, -1000, -1000, + 787, -1000, -1000, -1000, 777, -1000, -1000, 960, 1342, 178, + -1000, -1000, 539, 956, 1455, -1000, -1000, 1049, 374, -1000, + 1552, 27823, -1000, 1305, 1302, 1297, -1000, -1000, -1000, -1000, + -1000, 3686, 27823, 1105, -1000, 111, 27823, 1040, 27823, -1000, + 1100, 27823, -1000, 952, -1000, -1000, 7715, -1000, 27823, 1241, + -1000, -1000, -1000, -1000, 398, 1506, 1505, 114, 111, 467, + 952, -1000, -1000, -1000, -1000, -1000, -337, 1096, 27823, 141, + -1000, 1253, 993, -1000, 1283, -1000, -1000, -1000, -1000, 109, + 215, 216, 331, -1000, 377, 1342, 27823, -1000, -1000, -1000, + -1000, 673, -1000, -1000, 673, -1000, -1000, -1000, -1000, -1000, + -1000, 1496, -75, -311, -1000, -307, -1000, -1000, -1000, -1000, + 589, 1277, 2421, -1000, 14140, 14140, -1000, -1000, 1092, 1092, + 10942, 7715, 1601, 1494, -1000, -1000, 285, 718, 285, 14140, + 14140, -1000, 14140, 14140, -1000, -119, 1168, 622, -1000, 12775, + 672, -1000, -1000, 14140, 14140, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 385, 380, 379, 27823, -1000, -1000, + -1000, 878, 929, 1369, 568, 568, -1000, -1000, 27823, -1000, + -1000, -1000, -1000, 1604, 12775, -1000, 1158, -1000, 5839, 1579, + 1294, 27823, 1241, 1647, 15973, 27823, 1167, -1000, 566, 1567, + 1281, 1293, 1393, -1000, -1000, -1000, -1000, 1319, -1000, 1280, + -1000, -1000, -1000, -1000, -1000, 1090, 1615, 19626, 1135, -1000, + 1135, -1000, 446, -1000, -1000, -1000, -80, -52, -1000, -1000, + -1000, 296, -1000, -1000, -1000, 684, 14140, 1640, -1000, 915, + 1519, -1000, 1518, -1000, -1000, 467, 467, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 1087, -1000, 1082, 1156, 1079, 54, + -1000, 1194, 1493, 539, 539, -1000, 775, -1000, 952, -1000, + 27823, -1000, -1000, 27823, 27823, 27823, 1595, 1155, -1000, 27823, + -1000, -1000, 27823, -1000, -1000, 1396, 178, 1077, -1000, -1000, + -1000, 233, 27823, -1000, 1039, 111, -1000, -1000, -1000, -1000, + -1000, -1000, 1243, -1000, -1000, -1000, 1009, -1000, -159, 952, + 27823, 27823, 27823, -1000, 27823, -1000, -1000, -1000, 636, 636, + -1000, 1485, -1000, 952, -1000, 14140, 1277, 1277, -1000, -1000, + 881, -1000, 1579, -1000, 881, 1249, 1249, -1000, 1249, 1251, + -1000, 1249, 79, 1249, 69, 881, 881, 2295, 2211, 2145, + 1797, 1241, -113, -1000, 568, 12775, 1257, 876, 1241, 1241, + 1241, 1058, 911, -6, -1000, -1000, -1000, 1607, 1594, 568, + -1000, -1000, -1000, 1535, 1017, 1134, -1000, -1000, 10487, 1068, + 1394, 439, 1058, 1601, 27823, 12775, -1000, -1000, 12775, 1248, + -1000, 12775, -1000, -1000, -1000, 1601, 1601, 1135, -1000, -1000, + 505, -1000, -1000, -1000, -1000, -1000, 1277, -66, -1000, -1000, + -1000, -1000, -1000, -6, 908, -6, 757, -1000, 746, -1000, + -1000, -218, -1000, -1000, 1211, 1323, -1000, -1000, 1243, -1000, + -1000, -1000, 27823, 27823, -1000, -1000, 230, -1000, 279, 1034, + -1000, -173, -1000, -1000, 1565, 27823, -1000, -1000, 7715, -1000, + -1000, 1242, 1286, -1000, -1000, -1000, -1000, -1000, -1000, 1277, + -1000, 1494, -1000, -1000, 218, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 14140, 14140, 14140, 14140, 14140, 1579, 905, + 568, 14140, 14140, 19171, 27823, 27823, 17338, -6, 0, -1000, + 12775, 12775, 1511, -1000, 1241, -1000, 1170, 27823, 1241, 27823, + -1000, 1579, -1000, 568, 568, 27823, 568, 1579, -1000, -1000, + 467, -1000, 467, 1003, 1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 1560, 1155, -1000, 228, 27823, -1000, 233, + -1000, -180, -181, 1240, 1032, 1153, -1000, 538, 27823, 27823, + -1000, -1000, -1000, 892, 892, 892, 892, 211, 881, -1000, + 892, 892, 1030, -1000, 1030, 1030, 460, -271, -1000, 1445, + 1420, 568, 1146, 1638, -1000, 1241, 1647, 436, 1134, -1000, + -1000, 1027, -1000, -1000, -1000, -1000, -1000, 1240, 1241, 1212, + -1000, -1000, -1000, 180, -1000, 7715, 5370, 1022, -1000, -1000, + -1000, -1000, -1000, 881, 161, -162, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 0, 287, -1000, 1403, 1420, -1000, 1593, + 1426, 1590, -1000, 27823, 1134, 27823, -1000, 180, 13230, 27823, + -1000, -56, -1000, -1000, -1000, -1000, -1000, 1283, -1000, 1366, + -130, -169, 1419, 1422, 1422, 1403, -1000, 1588, 1586, -1000, + 903, 1584, 898, 1120, -1000, -1000, 892, 881, 998, 309, + -1000, -1000, -159, -1000, 1359, -1000, 1417, 797, -1000, -1000, + -1000, -1000, 880, 879, -1000, 859, -1000, -1000, -1000, 1290, + 166, -1000, -160, -1000, 744, -1000, -1000, -1000, -1000, -1000, + 1289, -1000, 1631, -1000, -165, -1000, -1000, -1000, 1636, 425, + 425, -171, -1000, -1000, -1000, 304, 799, -1000, -1000, -1000, -1000, -1000, } var yyPgo = [...]int{ - 0, 1898, 1897, 14, 89, 79, 1896, 1894, 1891, 1889, - 132, 131, 130, 1888, 1886, 1885, 1884, 1883, 1882, 1881, - 1880, 1879, 1877, 1876, 1871, 51, 123, 38, 40, 125, - 1870, 1868, 46, 1866, 1858, 1857, 124, 121, 462, 1856, - 116, 1855, 1854, 1853, 1848, 1847, 1846, 1845, 1844, 1842, - 1841, 1840, 1838, 1837, 1835, 137, 1834, 1833, 5, 1832, - 48, 1827, 1823, 1822, 1820, 1818, 85, 1816, 1815, 1814, - 112, 1813, 1812, 45, 220, 61, 76, 1809, 1807, 71, - 764, 1805, 105, 129, 1804, 202, 1802, 43, 98, 77, - 1801, 41, 1800, 1799, 93, 1798, 1797, 1796, 69, 1795, - 1793, 2920, 1792, 59, 78, 9, 39, 1785, 1783, 1779, - 1778, 33, 44, 1777, 1776, 21, 1773, 1772, 140, 1761, - 83, 24, 1760, 16, 13, 18, 1759, 84, 1758, 75, - 50, 29, 1757, 82, 1755, 1753, 1751, 1744, 31, 1743, - 73, 106, 30, 1741, 1740, 7, 8, 1733, 1732, 1730, - 1726, 1725, 1723, 11, 1722, 3, 1721, 63, 1717, 17, - 19, 67, 118, 23, 10, 1715, 143, 1713, 22, 119, - 68, 107, 1712, 1711, 1708, 968, 72, 139, 1707, 1694, - 34, 1691, 115, 127, 1690, 1462, 1689, 1687, 66, 1275, - 2464, 28, 109, 1686, 1685, 2123, 47, 74, 20, 1683, - 1681, 1680, 126, 113, 81, 842, 42, 1679, 1678, 1677, - 1671, 1670, 1669, 1667, 88, 26, 32, 117, 25, 1666, - 1665, 1664, 58, 37, 1663, 108, 102, 64, 86, 1662, - 114, 99, 56, 1661, 111, 1659, 1658, 1656, 1655, 57, - 1653, 1651, 1650, 1649, 91, 87, 53, 35, 1646, 36, - 94, 101, 103, 1645, 27, 122, 12, 1642, 6, 0, - 1641, 4, 135, 1456, 104, 1640, 1639, 1, 1638, 2, - 1634, 1633, 80, 1632, 1631, 1630, 1628, 3167, 339, 110, - 1627, 128, + 0, 1902, 1899, 32, 88, 85, 1898, 1897, 1896, 1894, + 131, 130, 129, 1891, 1889, 1888, 1886, 1885, 1884, 1883, + 1882, 1880, 1878, 1877, 1872, 65, 122, 37, 39, 126, + 1870, 1869, 53, 1868, 1866, 1864, 120, 116, 463, 1858, + 119, 1857, 1856, 1853, 1852, 1849, 1848, 1847, 1846, 1845, + 1842, 1838, 1837, 1836, 1835, 182, 1834, 1833, 5, 1832, + 56, 1831, 1829, 1828, 1823, 1822, 87, 1820, 1818, 1814, + 104, 1813, 1812, 48, 114, 51, 74, 1811, 1809, 76, + 814, 1808, 93, 128, 1807, 181, 1806, 42, 79, 69, + 1805, 44, 1804, 1803, 90, 1801, 1799, 1796, 67, 1794, + 1779, 3133, 1777, 66, 80, 20, 31, 1776, 1775, 1774, + 1773, 34, 450, 1772, 1771, 23, 1770, 1769, 145, 1767, + 86, 18, 1766, 16, 14, 21, 1761, 82, 1760, 11, + 58, 30, 1759, 83, 1758, 1756, 1755, 1754, 43, 1751, + 72, 107, 160, 1749, 1748, 7, 15, 1747, 1744, 1743, + 1742, 1741, 1737, 10, 1734, 2, 1731, 26, 1725, 17, + 22, 71, 47, 28, 8, 1724, 121, 1723, 27, 125, + 63, 109, 1722, 1721, 1720, 844, 140, 1717, 1716, 35, + 1715, 113, 124, 1714, 1486, 1713, 1712, 68, 1276, 2523, + 13, 111, 1711, 1709, 2164, 59, 78, 24, 1708, 75, + 1707, 1706, 1705, 127, 118, 50, 841, 46, 1704, 1703, + 1702, 1700, 1698, 1697, 1696, 133, 9, 19, 99, 29, + 1694, 1693, 1692, 61, 41, 1691, 108, 103, 64, 94, + 1690, 112, 106, 73, 1689, 40, 1687, 1686, 1685, 1684, + 45, 1683, 1681, 1680, 1679, 98, 89, 57, 36, 1678, + 38, 91, 102, 101, 1674, 25, 123, 12, 1673, 6, + 0, 1672, 3, 117, 1501, 115, 1671, 1670, 1, 1669, + 4, 1668, 1662, 81, 1661, 1660, 1659, 1658, 3249, 559, + 110, 1656, 134, } -//line sql.y:5189 +//line sql.y:5198 type yySymType struct { union interface{} empty struct{} @@ -4620,69 +4628,69 @@ func (st *yySymType) whensUnion() []*When { } var yyR1 = [...]int{ - 0, 275, 276, 276, 1, 1, 1, 1, 1, 1, + 0, 276, 277, 277, 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, 259, 259, 259, 262, 262, + 1, 1, 1, 1, 1, 260, 260, 260, 263, 263, 21, 50, 3, 3, 3, 3, 2, 2, 8, 9, 4, 5, 5, 10, 10, 62, 62, 11, 12, 12, - 12, 12, 279, 279, 96, 96, 94, 94, 95, 95, + 12, 12, 280, 280, 96, 96, 94, 94, 95, 95, 161, 161, 13, 14, 14, 171, 171, 170, 170, 170, - 172, 172, 172, 172, 205, 205, 15, 15, 15, 15, - 15, 71, 71, 261, 261, 260, 258, 258, 257, 257, - 256, 23, 24, 33, 33, 33, 33, 34, 35, 263, - 263, 235, 39, 39, 38, 38, 38, 38, 40, 40, - 37, 37, 36, 36, 237, 237, 224, 224, 236, 236, - 236, 236, 236, 236, 236, 223, 144, 144, 144, 144, - 144, 144, 144, 144, 144, 144, 144, 207, 207, 207, - 207, 210, 210, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 209, 209, 209, 209, 209, 211, 211, 211, - 211, 211, 212, 212, 212, 212, 212, 212, 212, 212, - 212, 212, 212, 212, 212, 212, 212, 213, 213, 213, - 213, 213, 213, 213, 213, 222, 222, 214, 214, 217, - 217, 218, 218, 218, 219, 219, 220, 220, 215, 215, - 215, 215, 216, 216, 216, 225, 249, 249, 248, 248, - 246, 246, 246, 246, 234, 234, 243, 243, 243, 243, - 243, 233, 233, 229, 229, 229, 230, 230, 231, 231, - 228, 228, 232, 232, 245, 245, 244, 226, 226, 227, - 227, 251, 251, 251, 251, 252, 268, 269, 267, 267, - 267, 267, 267, 60, 60, 60, 184, 184, 184, 241, - 241, 240, 240, 240, 242, 242, 239, 239, 239, 239, - 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, - 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, - 239, 239, 239, 239, 239, 179, 179, 179, 266, 266, - 266, 266, 266, 266, 265, 265, 265, 238, 238, 238, - 264, 264, 130, 130, 131, 131, 30, 30, 30, 30, + 172, 172, 172, 172, 206, 206, 15, 15, 15, 15, + 15, 71, 71, 262, 262, 261, 259, 259, 258, 258, + 257, 23, 24, 33, 33, 33, 33, 34, 35, 264, + 264, 236, 39, 39, 38, 38, 38, 38, 40, 40, + 37, 37, 36, 36, 238, 238, 225, 225, 237, 237, + 237, 237, 237, 237, 237, 224, 144, 144, 144, 144, + 144, 144, 144, 144, 144, 144, 144, 208, 208, 208, + 208, 211, 211, 209, 209, 209, 209, 209, 209, 209, + 209, 209, 210, 210, 210, 210, 210, 212, 212, 212, + 212, 212, 213, 213, 213, 213, 213, 213, 213, 213, + 213, 213, 213, 213, 213, 213, 213, 214, 214, 214, + 214, 214, 214, 214, 214, 223, 223, 215, 215, 218, + 218, 219, 219, 219, 220, 220, 221, 221, 216, 216, + 216, 216, 217, 217, 217, 226, 250, 250, 249, 249, + 247, 247, 247, 247, 235, 235, 244, 244, 244, 244, + 244, 234, 234, 230, 230, 230, 231, 231, 232, 232, + 229, 229, 233, 233, 246, 246, 245, 227, 227, 228, + 228, 252, 252, 252, 252, 253, 269, 270, 268, 268, + 268, 268, 268, 60, 60, 60, 183, 183, 183, 242, + 242, 241, 241, 241, 243, 243, 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, 178, 178, 178, 267, 267, + 267, 267, 267, 267, 266, 266, 266, 239, 239, 239, + 265, 265, 130, 130, 131, 131, 30, 30, 30, 30, 30, 30, 29, 29, 29, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 31, 31, 26, 26, 26, 26, 26, 26, 26, 26, 26, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 16, 16, 16, 16, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 255, 255, 255, 255, 255, 221, - 221, 221, 253, 253, 254, 254, 17, 22, 22, 18, + 16, 16, 16, 16, 16, 16, 16, 256, 256, 256, + 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, + 256, 256, 256, 256, 256, 256, 256, 256, 256, 222, + 222, 222, 254, 254, 255, 255, 17, 22, 22, 18, 18, 18, 18, 19, 19, 41, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 270, 270, 178, 178, 186, 186, 177, 177, 176, 176, - 176, 180, 180, 180, 181, 181, 274, 274, 274, 43, - 43, 45, 45, 46, 47, 47, 200, 200, 201, 201, + 271, 271, 177, 177, 185, 185, 176, 176, 199, 199, + 199, 179, 179, 179, 180, 180, 275, 275, 275, 43, + 43, 45, 45, 46, 47, 47, 201, 201, 202, 202, 48, 49, 61, 61, 61, 61, 61, 61, 63, 63, 63, 7, 7, 7, 7, 57, 57, 57, 6, 6, - 44, 44, 51, 271, 271, 272, 273, 273, 273, 273, + 44, 44, 51, 272, 272, 273, 274, 274, 274, 274, 52, 54, 20, 20, 20, 20, 20, 20, 78, 78, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, - 66, 66, 72, 72, 72, 67, 67, 280, 55, 56, + 66, 66, 72, 72, 72, 67, 67, 281, 55, 56, 56, 70, 70, 70, 64, 64, 64, 69, 69, 69, 75, 75, 77, 77, 77, 77, 77, 79, 79, 79, 79, 79, 79, 79, 74, 74, 76, 76, 76, 76, - 193, 193, 193, 192, 192, 86, 86, 87, 87, 88, + 192, 192, 192, 191, 191, 86, 86, 87, 87, 88, 88, 89, 89, 89, 128, 104, 104, 160, 160, 159, 159, 162, 162, 90, 90, 90, 90, 91, 91, 92, - 92, 93, 93, 199, 199, 198, 198, 198, 197, 197, + 92, 93, 93, 200, 200, 197, 197, 197, 196, 196, 97, 97, 97, 99, 98, 98, 98, 98, 100, 100, 102, 102, 101, 101, 103, 105, 105, 105, 105, 105, 106, 106, 85, 85, 85, 85, 85, 85, 85, 85, @@ -4696,10 +4704,10 @@ var yyR1 = [...]int{ 116, 116, 116, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, - 115, 115, 115, 281, 281, 118, 117, 117, 117, 117, - 117, 117, 117, 68, 68, 68, 68, 68, 204, 204, - 204, 206, 206, 206, 206, 206, 206, 206, 206, 206, - 206, 206, 206, 206, 134, 134, 65, 65, 132, 132, + 115, 115, 115, 282, 282, 118, 117, 117, 117, 117, + 117, 117, 117, 68, 68, 68, 68, 68, 205, 205, + 205, 207, 207, 207, 207, 207, 207, 207, 207, 207, + 207, 207, 207, 207, 134, 134, 65, 65, 132, 132, 133, 135, 135, 129, 129, 129, 111, 111, 111, 111, 111, 111, 111, 111, 113, 113, 113, 136, 136, 137, 137, 138, 138, 139, 139, 140, 141, 141, 141, 142, @@ -4712,10 +4720,26 @@ var yyR1 = [...]int{ 151, 152, 152, 153, 153, 153, 150, 150, 110, 110, 110, 110, 110, 158, 158, 158, 158, 163, 163, 123, 123, 125, 125, 124, 126, 164, 164, 168, 165, 165, - 169, 169, 169, 169, 169, 166, 166, 167, 167, 194, - 194, 194, 173, 173, 185, 185, 182, 182, 183, 183, - 175, 175, 187, 187, 187, 53, 122, 122, 250, 250, - 247, 190, 190, 191, 191, 195, 195, 196, 196, 188, + 169, 169, 169, 169, 169, 166, 166, 167, 167, 193, + 193, 193, 173, 173, 184, 184, 181, 181, 182, 182, + 175, 175, 186, 186, 186, 53, 122, 122, 251, 251, + 248, 189, 189, 190, 190, 194, 194, 198, 198, 195, + 195, 187, 187, 187, 187, 187, 187, 187, 187, 187, + 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, + 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, + 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, + 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, + 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, + 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, + 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, + 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, + 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, + 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, + 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, + 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, + 187, 187, 187, 187, 187, 187, 187, 187, 188, 188, + 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, + 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, @@ -4729,34 +4753,18 @@ var yyR1 = [...]int{ 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, - 188, 188, 188, 188, 188, 189, 189, 189, 189, 189, - 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 189, 277, 278, 202, 203, 203, 203, + 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, + 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, + 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, + 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, + 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, + 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, + 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, + 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, + 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, + 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, + 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, + 188, 188, 188, 188, 278, 279, 203, 204, 204, 204, } var yyR2 = [...]int{ @@ -4855,7 +4863,7 @@ var yyR2 = [...]int{ 3, 3, 3, 3, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 2, 0, 3, 0, 1, 0, 1, 1, 5, 0, 1, 0, 1, - 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 2, 1, 1, 1, 1, 1, 1, 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, @@ -4896,75 +4904,75 @@ var yyR2 = [...]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, 0, 0, 1, 1, + 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, } var yyChk = [...]int{ - -1000, -275, -1, -3, -8, -9, -10, -11, -12, -13, + -1000, -276, -1, -3, -8, -9, -10, -11, -12, -13, -14, -15, -16, -17, -18, -19, -41, -42, -43, -45, -46, -47, -48, -49, -6, -44, -20, -21, -50, -51, - -52, -53, -54, -4, -277, 6, 7, 8, -62, 10, + -52, -53, -54, -4, -278, 6, 7, 8, -62, 10, 11, 31, -23, -33, 153, -34, -24, 154, -35, 156, 155, 192, 157, 185, 71, 231, 232, 234, 235, 236, 237, -63, 190, 191, 159, 35, 42, 32, 33, 36, - 162, 81, 9, 334, 187, 186, 26, -276, 474, -70, - 5, -138, 16, -3, -55, -280, -55, -55, -55, -55, - -55, -55, -235, -237, 81, 126, 81, -71, -185, 165, - 174, 173, 170, -263, 107, 220, 325, 163, -39, -38, - -37, -36, -40, 30, -30, -31, -255, -29, -26, 158, + 162, 81, 9, 334, 187, 186, 26, -277, 474, -70, + 5, -138, 16, -3, -55, -281, -55, -55, -55, -55, + -55, -55, -236, -238, 81, 126, 81, -71, -184, 165, + 174, 173, 170, -264, 107, 220, 325, 163, -39, -38, + -37, -36, -40, 30, -30, -31, -256, -29, -26, 158, 155, 200, 102, 103, 192, 193, 194, 157, 176, 191, - 195, 190, 209, -25, 77, 32, 347, 350, -242, 154, - 160, 161, 335, 105, 104, 72, 156, -239, 281, 451, + 195, 190, 209, -25, 77, 32, 347, 350, -243, 154, + 160, 161, 335, 105, 104, 72, 156, -240, 281, 451, -40, 453, 95, 97, 452, 41, 165, 454, 455, 456, 457, 175, 458, 459, 460, 461, 467, 468, 469, 470, - 106, 5, 164, -263, -80, 291, 227, 77, -262, -259, - 84, 85, 86, 164, -185, 165, 166, -263, 164, -101, - -195, -259, -189, 344, 178, 378, 379, 225, 77, 281, - 451, 231, 245, 239, 266, 258, 345, 380, 228, 179, - 213, 448, 256, 259, 312, 453, 381, 193, 304, 286, - 294, 95, 234, 321, 466, 230, 382, 464, 97, 452, - 76, 48, 41, 188, 254, 250, 454, 214, 383, 355, - 207, 105, 102, 473, 248, 47, 28, 463, 104, 46, - 455, 384, 456, 296, 271, 442, 45, 309, 194, 385, - 80, 349, 450, 298, 249, 295, 224, 462, 159, 386, - 434, 306, 443, 387, 272, 276, 388, 313, 49, 389, - 390, 444, 103, 391, 75, 457, 243, 244, 392, 222, - 177, 315, 270, 175, 34, 299, 346, 226, 55, 201, - 316, 43, 274, 42, 438, 393, 441, 269, 265, 50, - 394, 395, 396, 397, 458, 268, 242, 264, 472, 219, - 459, 59, 161, 278, 277, 279, 208, 311, 261, 398, - 399, 400, 182, 78, 401, 251, 19, 402, 403, 307, - 215, 404, 53, 405, 406, 319, 191, 407, 51, 460, - 38, 196, 461, 408, 409, 410, 411, 412, 305, 413, - 297, 273, 275, 203, 293, 348, 414, 247, 195, 465, - 415, 183, 449, 197, 200, 190, 320, 184, 416, 417, - 418, 419, 420, 229, 421, 422, 235, 467, 40, 423, - 424, 425, 426, 223, 218, 314, 323, 58, 79, 283, - 427, 447, 241, 216, 428, 232, 52, 468, 469, 470, - 210, 471, 289, 106, 220, 221, 44, 262, 202, 429, - 430, 252, 253, 267, 240, 263, 233, 435, 204, 308, - 192, 431, 322, 217, 284, 352, 209, 310, 446, 351, - 260, 257, 211, 432, 166, 205, 206, 433, 436, 300, - 290, 301, 302, 227, 303, 291, 212, 350, 255, 285, - 164, -166, 286, -186, 287, 288, 299, 300, 306, -178, - 307, 305, 203, -274, 313, 164, 308, 153, 144, 296, - 297, 290, 303, 291, 212, -270, -259, 456, 471, 312, - 259, 292, 298, 314, 438, 302, 301, -195, 233, -200, - 238, -190, -259, -189, 236, -101, -61, 434, 157, -202, - -202, -72, 438, 440, -121, -85, -107, 110, -112, 30, - 24, -111, -108, -129, -126, -127, 144, 145, 147, 146, - 148, 133, 134, 141, 111, 149, -116, -114, -115, -117, - 88, 87, 96, 89, 90, 91, 92, 98, 99, 100, - -190, -195, -124, -277, 65, 66, 335, 336, 337, 338, - 343, 339, 113, 54, 330, 324, 333, 332, 331, 328, - 329, 326, 327, 341, 342, 169, 325, 163, 139, 334, - -259, -189, 41, 289, 289, -101, 227, -5, -4, -277, - 6, 21, 22, -142, 18, 17, -278, 83, -64, -77, - 60, 61, -79, 22, 37, 64, 62, 21, -56, -76, - 135, -85, -195, -76, -175, 168, -175, -175, -165, -205, - 233, -169, 314, 313, -191, -167, -190, -188, -166, 311, - 158, 353, 109, 23, 25, 112, 144, 17, 113, 36, - 160, 176, 143, 172, 335, 153, 69, 354, 326, 327, + 106, 5, 164, -264, -80, 291, 227, 77, -198, -194, + -260, -188, 84, 85, 86, 344, 178, 378, 379, 225, + 77, 281, 451, 231, 245, 239, 266, 258, 345, 380, + 228, 179, 213, 448, 256, 312, 453, 381, 193, 304, + 286, 294, 95, 234, 321, 466, 230, 382, 464, 97, + 452, 76, 48, 41, 188, 254, 250, 454, 214, 383, + 355, 207, 105, 102, 473, 248, 47, 28, 463, 104, + 46, 455, 384, 456, 296, 271, 442, 45, 309, 194, + 385, 80, 349, 450, 298, 249, 295, 224, 462, 159, + 386, 434, 306, 443, 387, 272, 276, 388, 313, 49, + 389, 390, 444, 103, 391, 75, 457, 243, 244, 392, + 222, 177, 315, 270, 175, 34, 299, 346, 226, 55, + 201, 316, 43, 274, 42, 438, 393, 441, 269, 265, + 50, 394, 395, 396, 397, 458, 268, 242, 264, 472, + 219, 459, 59, 161, 278, 277, 279, 208, 311, 261, + 398, 399, 400, 182, 78, 401, 251, 19, 402, 403, + 307, 215, 404, 53, 405, 406, 319, 191, 407, 51, + 460, 38, 196, 461, 408, 409, 410, 411, 412, 305, + 413, 297, 273, 275, 203, 293, 348, 414, 247, 195, + 465, 415, 183, 449, 197, 200, 190, 320, 184, 416, + 417, 418, 419, 420, 229, 421, 422, 235, 467, 40, + 423, 424, 425, 426, 223, 218, 314, 323, 58, 79, + 283, 427, 447, 241, 216, 428, 232, 52, 468, 469, + 470, 210, 471, 289, 106, 220, 221, 44, 262, 202, + 429, 430, 252, 253, 267, 240, 263, 233, 435, 204, + 308, 192, 431, 322, 217, 284, 352, 209, 310, 446, + 351, 260, 257, 211, 432, 166, 205, 206, 433, 436, + 300, 290, 301, 302, 227, 303, 291, 212, 350, 255, + 285, 164, -184, 165, 166, -264, 164, -101, -194, 164, + -166, 286, -185, 287, 288, 299, 300, 306, -177, 307, + 305, 203, -275, 313, 164, 308, 153, 144, 296, 297, + 290, 303, 291, 212, -271, -260, 456, 471, 312, 259, + 292, 298, 314, 438, 302, 301, -194, 233, -201, 238, + -189, -260, -188, 236, -101, -61, 434, 157, -203, -203, + -72, 438, 440, -121, -85, -107, 110, -112, 30, 24, + -111, -108, -129, -126, -127, 144, 145, 147, 146, 148, + 133, 134, 141, 111, 149, -116, -114, -115, -117, 88, + 87, 96, 89, 90, 91, 92, 98, 99, 100, -189, + -194, -124, -278, 65, 66, 335, 336, 337, 338, 343, + 339, 113, 54, 330, 324, 333, 332, 331, 328, 329, + 326, 327, 341, 342, 169, 325, 163, 139, 334, -260, + -188, 41, 289, 289, -101, 227, -5, -4, -278, 6, + 21, 22, -142, 18, 17, -279, 83, -64, -77, 60, + 61, -79, 22, 37, 64, 62, 21, -56, -76, 135, + -85, -194, -76, -175, 168, -175, -175, -165, -206, 233, + -169, 314, 313, -190, -167, -189, -187, -166, 311, 158, + 353, 109, 23, 25, 112, 144, 17, 113, 36, 160, + 259, 176, 143, 172, 335, 153, 69, 354, 326, 327, 324, 330, 337, 338, 325, 287, 30, 11, 356, 26, 186, 22, 37, 137, 155, 116, 117, 189, 24, 187, 100, 359, 20, 72, 181, 12, 174, 14, 360, 361, @@ -4976,155 +4984,155 @@ var yyChk = [...]int{ 127, 156, 334, 66, 375, 163, 288, 6, 340, 31, 185, 173, 64, 376, 164, 115, 341, 342, 167, 99, 5, 170, 33, 10, 71, 74, 331, 332, 333, 54, - 347, 114, 13, 377, 318, 108, 312, 259, -236, 126, - -223, -227, -190, 180, -252, 176, -101, -245, -244, -190, - -80, 164, -259, 165, 165, 165, -55, 334, -36, -37, - -166, 143, 197, 82, 82, -227, -226, -225, -264, 199, - 180, -251, -243, 172, 181, -233, 173, 174, -228, 165, - 29, -264, -228, 171, 181, 199, 199, 106, 199, 106, - 199, 199, 199, 199, 199, 199, 199, 199, 199, 196, - -234, 118, -234, 351, 351, -239, -264, -264, -264, 167, - 34, 34, -187, -228, 167, 23, -234, -234, -166, 143, - -234, -234, -234, -234, 207, 207, -234, -234, -234, -234, - -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, - -234, -101, -83, 214, 153, 155, 158, 73, 88, 228, - 118, -38, 209, -22, -101, 164, -259, -182, 169, -55, - -101, 150, -101, -180, 126, 13, -180, -177, 289, 293, - 294, 295, -180, -180, -180, -180, 210, 304, -229, 165, - 34, 177, 289, 210, 304, 210, 211, 210, 211, 210, - -176, 12, 128, 325, 309, 306, 203, 164, 204, 166, - 310, -259, 441, 211, -176, 289, 206, -180, -203, -277, - -191, -203, -203, 31, 167, -190, -57, -190, 88, -7, + 347, 114, 13, 377, 318, 108, 312, -237, 126, -224, + -228, -189, 180, -253, 176, -101, -246, -245, -189, -80, + 164, -260, 165, 165, 165, -55, 334, -36, -37, -166, + 143, 197, 82, 82, -228, -227, -226, -265, 199, 180, + -252, -244, 172, 181, -234, 173, 174, -229, 165, 29, + -265, -229, 171, 181, 199, 199, 106, 199, 106, 199, + 199, 199, 199, 199, 199, 199, 199, 199, 196, -235, + 118, -235, 351, 351, -240, -265, -265, -265, 167, 34, + 34, -186, -229, 167, 23, -235, -235, -166, 143, -235, + -235, -235, -235, 207, 207, -235, -235, -235, -235, -235, + -235, -235, -235, -235, -235, -235, -235, -235, -235, -235, + -101, -83, 214, 153, 155, 158, 73, 88, 228, 118, + -38, 209, -22, -101, 164, -260, -181, 169, -55, -101, + 150, -101, -179, 126, 13, -179, -176, 289, 293, 294, + 295, -179, -179, -179, -179, 210, 304, -230, 165, 34, + 177, 289, 210, 304, 210, 211, 210, 211, 210, -199, + 12, 128, 325, 309, 306, 203, 164, 204, 166, 310, + -260, 441, 211, -199, 289, 206, -179, -204, -278, -190, + 259, -204, -204, 31, 167, -189, -57, -189, 88, -7, -3, -11, -10, -12, 118, -78, 289, -66, 144, 456, 442, 443, 444, 441, 305, 449, 447, 445, 210, 446, 82, 109, 107, 108, 125, -85, -109, 128, 110, 126, 127, 112, 130, 129, 140, 133, 134, 135, 136, 137, 138, 139, 131, 132, 143, 118, 119, 120, 121, 122, - 123, 124, -174, -277, -127, -277, 151, 152, -112, -112, - -112, -112, -112, -112, -112, -112, -112, -112, -277, 150, - -2, -121, -4, -277, -277, -277, -277, -277, -277, -277, - -277, -134, -85, -277, -281, -277, -281, -118, -277, -281, - -118, -281, -118, -281, -281, -118, -281, -118, -281, -281, - -118, -277, -277, -277, -277, -277, -277, -277, -202, -271, - -272, -104, -101, -277, 88, -138, -3, -55, -157, 20, + 123, 124, -174, -278, -127, -278, 151, 152, -112, -112, + -112, -112, -112, -112, -112, -112, -112, -112, -278, 150, + -2, -121, -4, -278, -278, -278, -278, -278, -278, -278, + -278, -134, -85, -278, -282, -278, -282, -118, -278, -282, + -118, -282, -118, -282, -282, -118, -282, -118, -282, -282, + -118, -278, -278, -278, -278, -278, -278, -278, -203, -272, + -273, -104, -101, -278, 88, -138, -3, -55, -157, 20, 32, -85, -139, -140, -85, -138, 56, -74, -76, -79, - 60, 61, 94, 12, -193, -192, 23, -190, 88, 150, + 60, 61, 94, 12, -192, -191, 23, -189, 88, 150, 12, -102, 27, -101, -87, -88, -89, -90, -104, -128, - -277, 12, -94, -95, -101, -103, -195, 82, 233, -169, - -205, -171, -170, 315, 317, 118, -194, -190, 88, 30, - 83, 82, -101, -207, -210, -212, -211, -213, -208, -209, + -278, 12, -94, -95, -101, -103, -194, 82, 233, -169, + -206, -171, -170, 315, 317, 118, -193, -189, 88, 30, + 83, 82, -101, -208, -211, -213, -212, -214, -209, -210, 256, 257, 144, 260, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 31, 188, 252, 253, 254, 255, 272, 273, 274, 275, 276, 277, 278, 279, 239, 258, 345, 240, 241, 242, 243, 244, 245, 247, 248, 249, - 250, 251, -262, -259, 81, 83, 82, -214, 81, -83, - -183, 169, -250, -247, 74, -259, -259, -259, -183, -234, - -234, 196, -29, -26, -255, 16, -25, -26, 158, 102, - 103, 155, 81, -223, 81, -232, -262, -259, 81, 29, - 171, 170, -231, -228, -231, -232, -259, -129, -190, -195, - -259, 29, 29, -162, -190, -162, -162, 21, -162, 21, - -162, 21, 89, -190, -162, 21, -162, 21, -162, 21, + 250, 251, -263, -260, 81, 83, 82, -215, 81, -83, + -182, 169, -251, -248, 74, -260, -260, -260, -182, -235, + -235, 196, -29, -26, -256, 16, -25, -26, 158, 102, + 103, 155, 81, -224, 81, -233, -263, -260, 81, 29, + 171, 170, -232, -229, -232, -233, -260, -129, -189, -194, + -260, 29, 29, -162, -189, -162, -162, 21, -162, 21, + -162, 21, 89, -189, -162, 21, -162, 21, -162, 21, -162, 21, -162, 21, 30, 75, 76, 30, 78, 79, - 80, -129, -129, -223, -166, -101, -259, 89, 89, -234, - -234, 89, 88, 88, 88, -234, -234, 89, 88, -259, - 88, -265, 182, 224, 226, 89, 89, 89, 89, 30, - 88, -266, 30, 463, 462, 464, 465, 466, 89, 30, - 89, 30, 89, -190, 81, -82, 216, 118, 205, 205, + 80, -129, -129, -224, -166, -101, -260, 89, 89, -235, + -235, 89, 88, 88, 88, -235, -235, 89, 88, -260, + 88, -266, 182, 224, 226, 89, 89, 89, 89, 30, + 88, -267, 30, 463, 462, 464, 465, 466, 89, 30, + 89, 30, 89, -189, 81, -82, 216, 118, 205, 205, 164, 164, 218, -101, 229, 230, 228, 21, 217, 219, - 221, 41, 82, 167, -182, 73, -96, -101, 24, -182, - -196, -195, -188, 88, -85, -230, 12, 128, -176, -176, - -180, -101, -230, -176, -180, -101, -180, -180, -180, -180, - -176, -180, -195, -195, -101, -101, -101, -101, -101, -101, - -101, -203, -203, -203, -181, 126, -180, 73, -201, 236, + 221, 41, 82, 167, -181, 73, -96, -101, 24, -181, + -195, -194, -187, 88, -85, -231, 12, 128, -199, -199, + -179, -101, -231, -199, -179, -101, -179, -179, -179, -179, + -199, -179, -194, -194, -101, -101, -101, -101, -101, -101, + -101, -204, -204, -204, -180, 126, -179, 73, -202, 236, 270, 435, 436, 437, 82, 347, -94, 441, 441, 441, 441, 441, 441, -85, -85, -85, -85, -119, 98, 110, 99, 100, -112, -120, -124, -127, 93, 128, 126, 127, 112, -112, -112, -112, -112, -112, -112, -112, -112, -112, - -112, -112, -112, -112, -112, -112, -204, -259, 88, 144, - -259, -111, -111, -190, -75, 22, 37, -74, -191, -196, - -188, -70, -278, -278, -138, -74, -74, -85, -85, -129, + -112, -112, -112, -112, -112, -112, -205, -260, 88, 144, + -260, -111, -111, -189, -75, 22, 37, -74, -190, -195, + -187, -70, -279, -279, -138, -74, -74, -85, -85, -129, 88, -74, -129, 88, -74, -74, -69, 22, 37, -132, - -133, 114, -129, -278, -112, -190, -190, -74, -75, -75, - -74, -74, 82, -273, 317, 318, 439, -198, 199, -197, - 23, -195, 88, -122, -121, -142, -278, -143, 27, 10, - 128, 82, 19, 82, -141, 25, 26, -142, -113, -190, - 89, 92, -86, 82, 12, -79, -101, -192, 135, -196, + -133, 114, -129, -279, -112, -189, -189, -74, -75, -75, + -74, -74, 82, -274, 317, 318, 439, -197, 199, -196, + 23, -194, 88, -122, -121, -142, -279, -143, 27, 10, + 128, 82, 19, 82, -141, 25, 26, -142, -113, -189, + 89, 92, -86, 82, 12, -79, -101, -191, 135, -195, -101, -161, 199, -101, 31, 82, -97, -99, -98, -100, - 63, 67, 69, 64, 65, 66, 70, -199, 23, -87, - -3, -277, -101, -94, -279, 82, 12, 74, -279, 82, + 63, 67, 69, 64, 65, 66, 70, -200, 23, -87, + -3, -278, -101, -94, -280, 82, 12, 74, -280, 82, 150, -169, -171, 82, 316, 318, 319, 73, 101, -85, - -216, 143, -241, -240, -239, -223, -225, -226, -227, 83, - -144, -219, 284, -214, -214, -214, -214, -214, -215, -166, - -215, -215, -215, 81, 81, -214, -214, -214, -214, -217, - 81, -217, -217, -218, 81, -218, -252, -85, -249, -248, - -246, -247, 175, 95, 347, -244, -141, 89, -82, -101, - 110, 73, -190, -250, -250, -250, -259, -259, 88, -259, - 88, 82, 17, -224, -223, -130, 224, -254, 199, -251, - -245, 81, 29, -231, -232, -232, 150, -259, 82, 27, - 106, 106, 106, 106, 347, 155, 31, -223, -130, -204, - 167, -204, -204, 88, 88, -179, 471, -94, 166, 223, + -217, 143, -242, -241, -240, -224, -226, -227, -228, 83, + -144, -220, 284, -215, -215, -215, -215, -215, -216, -166, + -216, -216, -216, 81, 81, -215, -215, -215, -215, -218, + 81, -218, -218, -219, 81, -219, -253, -85, -250, -249, + -247, -248, 175, 95, 347, -245, -141, 89, -82, -101, + 110, 73, -189, -251, -251, -251, -194, -260, 88, -260, + 88, 82, 17, -225, -224, -130, 224, -255, 199, -252, + -246, 81, 29, -232, -233, -233, 150, -260, 82, 27, + 106, 106, 106, 106, 347, 155, 31, -224, -130, -205, + 167, -205, -205, 88, 88, -178, 471, -94, 166, 223, -84, 330, 88, 84, -101, -101, -101, -101, -101, 158, 155, 207, -101, -101, -94, -101, 82, -60, 184, 179, - -259, -101, -180, -180, -101, -180, -180, 88, -101, -190, + -194, -101, -179, -179, -101, -179, -179, 88, -101, -189, -66, 317, 347, 20, -67, 20, 98, 99, 100, -120, - -112, -112, -112, -73, 189, 109, -278, -278, -74, -74, - -277, 150, -5, -142, -278, -278, 82, 74, 23, 12, - 12, -278, 12, 12, -278, -278, -74, -135, -133, 116, - -85, -278, -278, 82, 82, -278, -278, -278, -278, -278, - -272, 438, 318, -105, 71, 168, 72, -277, -197, -278, + -112, -112, -112, -73, 189, 109, -279, -279, -74, -74, + -278, 150, -5, -142, -279, -279, 82, 74, 23, 12, + 12, -279, 12, 12, -279, -279, -74, -135, -133, 116, + -85, -279, -279, 82, 82, -279, -279, -279, -279, -279, + -273, 438, 318, -105, 71, 168, 72, -278, -196, -279, -157, 39, 47, 58, -85, -85, -140, -157, -173, 20, 12, 54, 54, -106, 13, -76, -87, -79, 150, -106, - -110, 31, 54, -3, -277, -277, -164, -168, -129, -88, + -110, 31, 54, -3, -278, -278, -164, -168, -129, -88, -89, -89, -88, -89, 63, 63, 63, 68, 63, 68, - 63, -98, -195, -278, -278, -3, -161, 74, -87, -101, - -87, -103, -195, 135, -170, -172, 320, 317, 323, -259, - 88, 82, -239, -227, 98, 110, 30, 73, 281, 95, - 171, 29, 170, -220, 285, -215, -215, -216, -259, 88, - 144, -216, -216, -216, -222, 88, -222, 89, 89, 83, - -32, -27, -28, 32, 77, -246, -234, 88, 38, 83, - 166, 24, -101, 73, 73, 73, 16, -159, -190, 82, - 83, -131, 225, -129, 83, -190, 83, -159, -232, -191, - -190, -277, 164, 30, 30, -130, -131, -216, -259, 473, - 472, 83, -101, -81, 214, 222, 81, 85, -261, 74, - 205, 281, 205, 208, 167, -60, -32, -101, -176, -176, - 32, 317, 450, 448, -73, 109, -112, -112, -278, -278, - -75, -191, -138, -157, -206, 144, 256, 188, 254, 250, - 270, 261, 283, 252, 284, -204, -206, -112, -112, -112, + 63, -98, -194, -279, -279, -3, -161, 74, -87, -101, + -87, -103, -194, 135, -170, -172, 320, 317, 323, -260, + 88, 82, -240, -228, 98, 110, 30, 73, 281, 95, + 171, 29, 170, -221, 285, -216, -216, -217, -260, 88, + 144, -217, -217, -217, -223, 88, -223, 89, 89, 83, + -32, -27, -28, 32, 77, -247, -235, 88, 38, 83, + 166, 24, -101, 73, 73, 73, 16, -159, -189, 82, + 83, -131, 225, -129, 83, -189, 83, -159, -233, -190, + -189, -278, 164, 30, 30, -130, -131, -217, -260, 473, + 472, 83, -101, -81, 214, 222, 81, 85, -262, 74, + 205, 281, 205, 208, 167, -60, -32, -101, -199, -199, + 32, 317, 450, 448, -73, 109, -112, -112, -279, -279, + -75, -190, -138, -157, -207, 144, 256, 188, 254, 250, + 270, 261, 283, 252, 284, -205, -207, -112, -112, -112, -112, 344, -138, 117, -85, 115, -112, -112, 165, 165, 165, -162, 40, 88, 88, 59, -101, -136, 14, -85, - 135, -142, -163, 73, -164, -123, -125, -124, -277, -158, - -278, -190, -162, -106, 82, 118, -92, -91, 73, 74, - -93, 73, -91, 63, 63, -278, -106, -87, -106, -106, - 150, 317, 321, 322, -239, 98, -112, 10, 88, 29, - 29, -216, -216, 83, 82, 83, 82, 83, 82, -184, - 384, 110, -28, -27, -234, -234, 89, -259, -101, -101, - -101, -101, 17, 82, -223, -129, 54, -249, 83, -253, - -254, -101, -111, -131, -160, 81, 83, -258, 347, -260, - -259, -190, -190, -190, -101, -180, -180, 32, -259, -112, - -278, -142, -278, -214, -214, -214, -218, -214, 244, -214, - 244, -278, -278, 20, 20, 20, 20, -277, -65, 340, - -85, 82, 82, -277, -277, -277, -278, 88, -215, -137, - 15, 17, 28, -163, 82, -278, -278, 82, 54, 150, - -278, -138, -168, -85, -85, 81, -85, -138, -106, -115, - -215, 88, -215, 89, 89, 384, 30, 78, 79, 80, - 30, 75, 76, -160, -159, -190, 201, 183, -278, 82, - -221, 347, 350, 23, -159, -257, -256, -191, 81, 74, - -157, -215, -259, -112, -112, -112, -112, -112, -142, 88, - -112, -112, -159, -278, -159, -159, -198, -215, -146, -151, - -177, -85, -121, 29, -125, 54, -3, -190, -123, -190, - -142, -159, -142, -216, -216, 83, 83, 23, 202, -101, - -254, 351, 351, -3, 83, 82, 118, -159, -101, -278, - -278, -278, -278, -68, 128, 347, -278, -278, -278, -278, - -278, -278, -105, -149, 434, -154, 43, -152, -153, 44, - -150, 45, 53, 10, -123, 150, 83, -3, -277, 81, - -58, 347, -256, -238, -191, 88, 89, 83, -278, 345, + 135, -142, -163, 73, -164, -123, -125, -124, -278, -158, + -279, -189, -162, -106, 82, 118, -92, -91, 73, 74, + -93, 73, -91, 63, 63, -279, -106, -87, -106, -106, + 150, 317, 321, 322, -240, 98, -112, 10, 88, 29, + 29, -217, -217, 83, 82, 83, 82, 83, 82, -183, + 384, 110, -28, -27, -235, -235, 89, -260, -101, -101, + -101, -101, 17, 82, -224, -129, 54, -250, 83, -254, + -255, -101, -111, -131, -160, 81, 83, -259, 347, -261, + -260, -189, -189, -189, -101, -179, -179, 32, -260, -112, + -279, -142, -279, -215, -215, -215, -219, -215, 244, -215, + 244, -279, -279, 20, 20, 20, 20, -278, -65, 340, + -85, 82, 82, -278, -278, -278, -279, 88, -216, -137, + 15, 17, 28, -163, 82, -279, -279, 82, 54, 150, + -279, -138, -168, -85, -85, 81, -85, -138, -106, -115, + -216, 88, -216, 89, 89, 384, 30, 78, 79, 80, + 30, 75, 76, -160, -159, -189, 201, 183, -279, 82, + -222, 347, 350, 23, -159, -258, -257, -190, 81, 74, + -157, -216, -260, -112, -112, -112, -112, -112, -142, 88, + -112, -112, -159, -279, -159, -159, -197, -216, -146, -151, + -176, -85, -121, 29, -125, 54, -3, -189, -123, -189, + -142, -159, -142, -217, -217, 83, 83, 23, 202, -101, + -255, 351, 351, -3, 83, 82, 118, -159, -101, -279, + -279, -279, -279, -68, 128, 347, -279, -279, -279, -279, + -279, -279, -105, -149, 434, -154, 43, -152, -153, 44, + -150, 45, 53, 10, -123, 150, 83, -3, -278, 81, + -58, 347, -257, -239, -190, 88, 89, 83, -279, 345, 70, 348, -146, 48, 262, -156, -155, 52, 44, -153, - 17, 46, 17, -164, -190, -58, -112, 198, -159, -59, - 213, 438, -261, 59, 346, 349, -147, 50, -145, 49, - -145, -155, 17, 17, 88, 17, 88, -278, -278, 83, - 176, -258, 59, -148, 51, 73, 101, 88, 88, 88, - -268, -269, 73, 215, 347, 73, 101, -269, 73, 11, - 10, 348, -267, 184, 179, 182, 31, -267, 349, 178, + 17, 46, 17, -164, -189, -58, -112, 198, -159, -59, + 213, 438, -262, 59, 346, 349, -147, 50, -145, 49, + -145, -155, 17, 17, 88, 17, 88, -279, -279, 83, + 176, -259, 59, -148, 51, 73, 101, 88, 88, 88, + -269, -270, 73, 215, 347, 73, 101, -270, 73, 11, + 10, 348, -268, 184, 179, 182, 31, -268, 349, 178, 30, 98, } @@ -5133,10 +5141,10 @@ var yyDef = [...]int{ 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 821, 0, 557, 557, 557, 557, 557, - 557, 557, 0, 0, -2, -2, -2, 845, 38, 0, + 557, 557, 0, 0, -2, -2, -2, 845, 957, 0, 934, 0, 0, -2, 490, 491, 0, 493, -2, 0, - 0, 502, 1364, 1364, 552, 0, 0, 0, 0, 0, - 0, 1362, 55, 56, 508, 509, 510, 1, 3, 0, + 0, 502, 1366, 1366, 552, 0, 0, 0, 0, 0, + 0, 1364, 55, 56, 508, 509, 510, 1, 3, 0, 561, 829, 0, 0, -2, 559, 0, 0, 940, 940, 940, 0, 86, 87, 0, 0, 0, 845, 0, 0, 0, 0, 0, 557, 0, 935, 109, 110, 90, -2, @@ -5146,84 +5154,84 @@ var yyDef = [...]int{ 320, 320, 0, 0, 0, 354, 942, 274, 224, 224, 0, 224, 224, 224, 224, 0, 0, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, - 224, 224, 0, 108, 858, 0, 0, 0, 118, 39, - 35, 36, 37, 0, 0, 0, 936, 557, 0, 424, - 642, 955, 956, 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, 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, 1288, 1289, 1290, 1291, - 1292, 1293, 1294, 1295, 1296, 1297, 1298, 1299, 1300, 1301, - 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, 1311, - 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1321, - 1322, 1323, 1324, 1325, 1326, 1327, 1328, 1329, 1330, 1331, - 1332, 1333, 1334, 1335, 1336, 1337, 1338, 1339, 1340, 1341, - 1342, 1343, 1344, 1345, 1346, 1347, 1348, 1349, 1350, 1351, - 1352, 1353, 1354, 1355, 1356, 1357, 1358, 1359, 1360, 1361, - 0, 481, 481, 0, 481, 481, 481, 481, 0, 0, - 0, 436, 0, 0, 0, 0, 478, 0, 0, 455, - 457, 0, 478, 0, 465, 481, 1365, 1365, 1365, 925, - 0, 475, 473, 487, 488, 470, 471, 489, 492, 0, - 497, 500, 951, 952, 0, 515, 0, 1172, 507, 520, - 521, 0, 553, 554, 40, 693, 652, 0, 658, 660, - 0, 695, 696, 697, 698, 699, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 725, 726, 727, 728, - 806, 807, 808, 809, 810, 811, 812, 813, 662, 663, - 803, 0, 914, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 794, 0, 763, 763, 763, 763, 763, 763, - 763, 763, 763, 0, 0, 0, 0, 0, 0, 0, - -2, -2, 1364, 0, 530, 0, 0, 821, 51, 0, - 557, 562, 563, 864, 0, 0, 821, 1363, 0, 0, - -2, -2, 573, 579, 580, 581, 582, 583, 558, 0, - 586, 590, 0, 0, 0, 941, 0, 0, 72, 0, - 1328, 918, -2, -2, 0, 0, 953, 954, 927, -2, - 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, - 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, - 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, - 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, - 999, 1000, 1001, 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, -2, 1115, 0, 0, - 128, 129, 0, 38, 250, 0, 124, 0, 244, 197, - 858, 938, 948, 0, 0, 0, 938, 92, 116, 117, - 224, 224, 0, 118, 118, 336, 337, 338, 0, 0, - -2, 248, 0, 321, 0, 0, 238, 238, 242, 240, - 241, 0, 0, 0, 0, 0, 0, 348, 0, 349, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, - 0, 225, 0, 366, 367, 275, 0, 0, 0, 0, - 346, 347, 0, 0, 943, 944, 0, 0, 224, 224, - 0, 0, 0, 0, 224, 224, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 102, 849, 0, 0, 0, 0, 0, 0, 0, - 0, -2, 0, 416, 0, 936, 0, 0, 0, 936, - 423, 0, 425, 426, 0, 0, 427, 0, 478, 478, - 476, 477, 429, 430, 431, 432, 481, 0, 0, 233, - 234, 235, 478, 481, 0, 481, 481, 481, 481, 478, - 481, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1365, 1365, 1365, 484, 481, 462, 463, 466, 467, 1366, - 1367, 468, 469, 926, 498, 501, 518, 516, 517, 519, + 224, 224, 0, 108, 858, 0, 0, 0, 118, 958, + 955, 956, 35, 36, 37, 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, + 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, 1288, 1289, 1290, 1291, 1292, + 1293, 1294, 1295, 1296, 1297, 1298, 1299, 1300, 1301, 1302, + 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, 1311, 1312, + 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1321, 1322, + 1323, 1324, 1325, 1326, 1327, 1328, 1329, 1330, 1331, 1332, + 1333, 1334, 1335, 1336, 1337, 1338, 1339, 1340, 1341, 1342, + 1343, 1344, 1345, 1346, 1347, 1348, 1349, 1350, 1351, 1352, + 1353, 1354, 1355, 1356, 1357, 1358, 1359, 1360, 1361, 1362, + 1363, 0, 0, 0, 936, 557, 0, 424, 642, 0, + 481, 481, 0, 481, 481, 481, 481, 0, 0, 0, + 436, 0, 0, 0, 0, 478, 0, 0, 455, 457, + 0, 478, 0, 465, 481, 1367, 1367, 1367, 925, 0, + 475, 473, 487, 488, 470, 471, 489, 492, 0, 497, + 500, 951, 952, 0, 515, 0, 1174, 507, 520, 521, + 0, 553, 554, 40, 693, 652, 0, 658, 660, 0, + 695, 696, 697, 698, 699, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 725, 726, 727, 728, 806, + 807, 808, 809, 810, 811, 812, 813, 662, 663, 803, + 0, 914, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 794, 0, 763, 763, 763, 763, 763, 763, 763, + 763, 763, 0, 0, 0, 0, 0, 0, 0, -2, + -2, 1366, 0, 530, 0, 0, 821, 51, 0, 557, + 562, 563, 864, 0, 0, 821, 1365, 0, 0, -2, + -2, 573, 579, 580, 581, 582, 583, 558, 0, 586, + 590, 0, 0, 0, 941, 0, 0, 72, 0, 1330, + 918, -2, -2, 0, 0, 953, 954, 927, -2, 961, + 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, + 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, + 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, + 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, + 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, -2, 0, 0, 128, + 129, 0, 38, 250, 0, 124, 0, 244, 197, 858, + 938, 948, 0, 0, 0, 938, 92, 116, 117, 224, + 224, 0, 118, 118, 336, 337, 338, 0, 0, -2, + 248, 0, 321, 0, 0, 238, 238, 242, 240, 241, + 0, 0, 0, 0, 0, 0, 348, 0, 349, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 408, 0, + 225, 0, 366, 367, 275, 0, 0, 0, 0, 346, + 347, 0, 0, 943, 944, 0, 0, 224, 224, 0, + 0, 0, 0, 224, 224, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 102, 849, 0, 0, 0, 0, 0, 0, 0, 0, + -2, 0, 416, 0, 936, 0, 0, 0, 936, 423, + 0, 425, 426, 0, 0, 427, 0, 478, 478, 476, + 477, 429, 430, 431, 432, 481, 0, 0, 233, 234, + 235, 478, 481, 0, 481, 481, 481, 481, 478, 481, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1367, + 1367, 1367, 484, 481, 462, 463, 466, 467, 1368, 1369, + 972, 468, 469, 926, 498, 501, 518, 516, 517, 519, 511, 512, 513, 514, 0, 532, 533, 538, 0, 0, 0, 0, 544, 545, 546, 0, 0, 549, 550, 551, 0, 0, 0, 0, 0, 656, 0, 0, 0, 0, @@ -5239,7 +5247,7 @@ var yyDef = [...]int{ 0, 830, 822, 823, 826, 829, 0, 595, 584, 574, 577, 578, 560, 0, 587, 591, 0, 593, 594, 0, 0, 70, 0, 641, 0, 597, 599, 600, 601, 623, - 0, 0, 0, 0, 66, 68, 642, 0, 1328, 924, + 0, 0, 0, 0, 66, 68, 642, 0, 1330, 924, 0, 74, 75, 0, 0, 0, 212, 929, 930, 931, -2, 231, 0, 136, 204, 148, 149, 150, 197, 152, 197, 197, 197, 197, 208, 208, 208, 208, 180, 181, @@ -5261,7 +5269,7 @@ var yyDef = [...]int{ 300, 301, 302, 305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, 386, 846, 847, 848, 0, 0, 0, 0, 0, 263, 64, 937, 0, - 643, 957, 958, 482, 483, 0, 236, 237, 481, 481, + 643, 959, 960, 482, 483, 0, 236, 237, 481, 481, 433, 456, 0, 481, 437, 458, 438, 440, 439, 441, 481, 444, 479, 480, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 460, 0, 461, 0, 0, 499, @@ -6415,7 +6423,7 @@ yydefault: var yyLOCAL *CreateDatabase //line sql.y:883 { - yyLOCAL = &CreateDatabase{Comments: Comments(yyDollar[3].strs), DBName: string(yyDollar[5].colIdent.String()), IfNotExists: yyDollar[4].booleanUnion()} + yyLOCAL = &CreateDatabase{Comments: Comments(yyDollar[3].strs), DBName: yyDollar[5].tableIdent, IfNotExists: yyDollar[4].booleanUnion()} setDDL(yylex, yyLOCAL) } yyVAL.union = yyLOCAL @@ -7364,7 +7372,7 @@ yydefault: var yyLOCAL *ConstraintDefinition //line sql.y:1548 { - yyLOCAL = &ConstraintDefinition{Name: string(yyDollar[2].colIdent.String()), Details: yyDollar[3].constraintInfoUnion()} + yyLOCAL = &ConstraintDefinition{Name: yyDollar[2].colIdent, Details: yyDollar[3].constraintInfoUnion()} } yyVAL.union = yyLOCAL case 248: @@ -7380,7 +7388,7 @@ yydefault: var yyLOCAL *ConstraintDefinition //line sql.y:1558 { - yyLOCAL = &ConstraintDefinition{Name: string(yyDollar[2].colIdent.String()), Details: yyDollar[3].constraintInfoUnion()} + yyLOCAL = &ConstraintDefinition{Name: yyDollar[2].colIdent, Details: yyDollar[3].constraintInfoUnion()} } yyVAL.union = yyLOCAL case 250: @@ -8089,7 +8097,7 @@ yydefault: var yyLOCAL AlterOption //line sql.y:1970 { - yyLOCAL = &DropKey{Type: NormalKeyType, Name: yyDollar[3].colIdent.String()} + yyLOCAL = &DropKey{Type: NormalKeyType, Name: yyDollar[3].colIdent} } yyVAL.union = yyLOCAL case 352: @@ -8105,7 +8113,7 @@ yydefault: var yyLOCAL AlterOption //line sql.y:1978 { - yyLOCAL = &DropKey{Type: ForeignKeyType, Name: yyDollar[4].colIdent.String()} + yyLOCAL = &DropKey{Type: ForeignKeyType, Name: yyDollar[4].colIdent} } yyVAL.union = yyLOCAL case 354: @@ -8129,7 +8137,7 @@ yydefault: var yyLOCAL AlterOption //line sql.y:1990 { - yyLOCAL = &RenameIndex{OldName: yyDollar[3].colIdent.String(), NewName: yyDollar[5].colIdent.String()} + yyLOCAL = &RenameIndex{OldName: yyDollar[3].colIdent, NewName: yyDollar[5].colIdent} } yyVAL.union = yyLOCAL case 357: @@ -8275,7 +8283,7 @@ yydefault: //line sql.y:2074 { yyDollar[1].alterDatabaseUnion().FullyParsed = true - yyDollar[1].alterDatabaseUnion().DBName = yyDollar[2].colIdent.String() + yyDollar[1].alterDatabaseUnion().DBName = yyDollar[2].tableIdent yyDollar[1].alterDatabaseUnion().AlterOptions = yyDollar[3].collateAndCharsetsUnion() yyLOCAL = yyDollar[1].alterDatabaseUnion() } @@ -8286,7 +8294,7 @@ yydefault: //line sql.y:2081 { yyDollar[1].alterDatabaseUnion().FullyParsed = true - yyDollar[1].alterDatabaseUnion().DBName = yyDollar[2].colIdent.String() + yyDollar[1].alterDatabaseUnion().DBName = yyDollar[2].tableIdent yyDollar[1].alterDatabaseUnion().UpdateDataDirectory = true yyLOCAL = yyDollar[1].alterDatabaseUnion() } @@ -8705,7 +8713,7 @@ yydefault: if yyDollar[3].colIdent.Lowered() == "primary" { yyLOCAL = &AlterTable{Table: yyDollar[5].tableName, AlterOptions: append([]AlterOption{&DropKey{Type: PrimaryKeyType}}, yyDollar[6].alterOptionsUnion()...)} } else { - yyLOCAL = &AlterTable{Table: yyDollar[5].tableName, AlterOptions: append([]AlterOption{&DropKey{Type: NormalKeyType, Name: yyDollar[3].colIdent.String()}}, yyDollar[6].alterOptionsUnion()...)} + yyLOCAL = &AlterTable{Table: yyDollar[5].tableName, AlterOptions: append([]AlterOption{&DropKey{Type: NormalKeyType, Name: yyDollar[3].colIdent}}, yyDollar[6].alterOptionsUnion()...)} } } yyVAL.union = yyLOCAL @@ -8722,7 +8730,7 @@ yydefault: var yyLOCAL Statement //line sql.y:2342 { - yyLOCAL = &DropDatabase{Comments: Comments(yyDollar[3].strs), DBName: string(yyDollar[5].colIdent.String()), IfExists: yyDollar[4].booleanUnion()} + yyLOCAL = &DropDatabase{Comments: Comments(yyDollar[3].strs), DBName: yyDollar[5].tableIdent, IfExists: yyDollar[4].booleanUnion()} } yyVAL.union = yyLOCAL case 423: @@ -8770,7 +8778,7 @@ yydefault: var yyLOCAL Statement //line sql.y:2371 { - yyLOCAL = &Show{&ShowBasic{Full: yyDollar[2].booleanUnion(), Command: Column, Tbl: yyDollar[5].tableName, DbName: yyDollar[6].str, Filter: yyDollar[7].showFilterUnion()}} + yyLOCAL = &Show{&ShowBasic{Full: yyDollar[2].booleanUnion(), Command: Column, Tbl: yyDollar[5].tableName, DbName: yyDollar[6].tableIdent, Filter: yyDollar[7].showFilterUnion()}} } yyVAL.union = yyLOCAL case 429: @@ -8818,7 +8826,7 @@ yydefault: var yyLOCAL Statement //line sql.y:2395 { - yyLOCAL = &Show{&ShowBasic{Command: Index, Tbl: yyDollar[5].tableName, DbName: yyDollar[6].str, Filter: yyDollar[7].showFilterUnion()}} + yyLOCAL = &Show{&ShowBasic{Command: Index, Tbl: yyDollar[5].tableName, DbName: yyDollar[6].tableIdent, Filter: yyDollar[7].showFilterUnion()}} } yyVAL.union = yyLOCAL case 435: @@ -8826,7 +8834,7 @@ yydefault: var yyLOCAL Statement //line sql.y:2399 { - yyLOCAL = &Show{&ShowBasic{Command: OpenTable, DbName: yyDollar[4].str, Filter: yyDollar[5].showFilterUnion()}} + yyLOCAL = &Show{&ShowBasic{Command: OpenTable, DbName: yyDollar[4].tableIdent, Filter: yyDollar[5].showFilterUnion()}} } yyVAL.union = yyLOCAL case 436: @@ -8882,7 +8890,7 @@ yydefault: var yyLOCAL Statement //line sql.y:2427 { - yyLOCAL = &Show{&ShowBasic{Command: TableStatus, DbName: yyDollar[4].str, Filter: yyDollar[5].showFilterUnion()}} + yyLOCAL = &Show{&ShowBasic{Command: TableStatus, DbName: yyDollar[4].tableIdent, Filter: yyDollar[5].showFilterUnion()}} } yyVAL.union = yyLOCAL case 443: @@ -8890,7 +8898,7 @@ yydefault: var yyLOCAL Statement //line sql.y:2431 { - yyLOCAL = &Show{&ShowBasic{Command: Table, Full: yyDollar[2].booleanUnion(), DbName: yyDollar[4].str, Filter: yyDollar[5].showFilterUnion()}} + yyLOCAL = &Show{&ShowBasic{Command: Table, Full: yyDollar[2].booleanUnion(), DbName: yyDollar[4].tableIdent, Filter: yyDollar[5].showFilterUnion()}} } yyVAL.union = yyLOCAL case 444: @@ -8898,7 +8906,7 @@ yydefault: var yyLOCAL Statement //line sql.y:2435 { - yyLOCAL = &Show{&ShowBasic{Command: Trigger, DbName: yyDollar[3].str, Filter: yyDollar[4].showFilterUnion()}} + yyLOCAL = &Show{&ShowBasic{Command: Trigger, DbName: yyDollar[3].tableIdent, Filter: yyDollar[4].showFilterUnion()}} } yyVAL.union = yyLOCAL case 445: @@ -9035,7 +9043,7 @@ yydefault: var yyLOCAL Statement //line sql.y:2504 { - yyLOCAL = &Show{&ShowBasic{Command: VitessMigrations, Filter: yyDollar[4].showFilterUnion(), DbName: yyDollar[3].str}} + yyLOCAL = &Show{&ShowBasic{Command: VitessMigrations, Filter: yyDollar[4].showFilterUnion(), DbName: yyDollar[3].tableIdent}} } yyVAL.union = yyLOCAL case 462: @@ -9161,19 +9169,19 @@ yydefault: yyDollar = yyS[yypt-0 : yypt+1] //line sql.y:2593 { - yyVAL.str = "" + yyVAL.tableIdent = NewTableIdent("") } case 479: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:2597 { - yyVAL.str = yyDollar[2].tableIdent.v + yyVAL.tableIdent = yyDollar[2].tableIdent } case 480: yyDollar = yyS[yypt-2 : yypt+1] //line sql.y:2601 { - yyVAL.str = yyDollar[2].tableIdent.v + yyVAL.tableIdent = yyDollar[2].tableIdent } case 481: yyDollar = yyS[yypt-0 : yypt+1] @@ -12604,48 +12612,60 @@ yydefault: { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].str)) } + case 957: + yyDollar = yyS[yypt-0 : yypt+1] +//line sql.y:4729 + { + yyVAL.tableIdent = NewTableIdent("") + } case 958: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:4731 +//line sql.y:4733 + { + yyVAL.tableIdent = yyDollar[1].tableIdent + } + case 960: + yyDollar = yyS[yypt-1 : yypt+1] +//line sql.y:4740 { yyVAL.tableIdent = NewTableIdent(string(yyDollar[1].str)) } - case 1362: + case 1364: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5159 +//line sql.y:5168 { if incNesting(yylex) { yylex.Error("max nesting level reached") return 1 } } - case 1363: + case 1365: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5168 +//line sql.y:5177 { decNesting(yylex) } - case 1364: + case 1366: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5173 +//line sql.y:5182 { skipToEnd(yylex) } - case 1365: + case 1367: yyDollar = yyS[yypt-0 : yypt+1] -//line sql.y:5178 +//line sql.y:5187 { skipToEnd(yylex) } - case 1366: + case 1368: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5182 +//line sql.y:5191 { skipToEnd(yylex) } - case 1367: + case 1369: yyDollar = yyS[yypt-1 : yypt+1] -//line sql.y:5186 +//line sql.y:5195 { skipToEnd(yylex) } diff --git a/go/vt/sqlparser/sql.y b/go/vt/sqlparser/sql.y index 76b2831f6f7..8b3d0bcb134 100644 --- a/go/vt/sqlparser/sql.y +++ b/go/vt/sqlparser/sql.y @@ -362,14 +362,14 @@ func bindVariable(yylex yyLexer, bvar string) { %type for_from %type default_opt %type ignore_opt -%type from_database_opt columns_or_fields extended_opt storage_opt +%type columns_or_fields extended_opt storage_opt %type like_or_where_opt like_opt %type exists_opt not_exists_opt enforced_opt temp_opt full_opt %type to_opt %type reserved_keyword non_reserved_keyword %type sql_id reserved_sql_id col_alias as_ci_opt %type charset_value -%type table_id reserved_table_id table_alias as_opt_id +%type table_id reserved_table_id table_alias as_opt_id table_id_opt from_database_opt %type as_opt work_opt savepoint_opt %type skip_to_end ddl_skip_to_end %type charset @@ -879,9 +879,9 @@ create_index_prefix: } create_database_prefix: - CREATE database_or_schema comment_opt not_exists_opt id_or_var + CREATE database_or_schema comment_opt not_exists_opt table_id { - $$ = &CreateDatabase{Comments: Comments($3), DBName: string($5.String()), IfNotExists: $4} + $$ = &CreateDatabase{Comments: Comments($3), DBName: $5, IfNotExists: $4} setDDL(yylex,$$) } @@ -1546,7 +1546,7 @@ index_column: constraint_definition: CONSTRAINT id_or_var_opt constraint_info { - $$ = &ConstraintDefinition{Name: string($2.String()), Details: $3} + $$ = &ConstraintDefinition{Name: $2, Details: $3} } | constraint_info { @@ -1556,7 +1556,7 @@ constraint_definition: check_constraint_definition: CONSTRAINT id_or_var_opt check_constraint_info { - $$ = &ConstraintDefinition{Name: string($2.String()), Details: $3} + $$ = &ConstraintDefinition{Name: $2, Details: $3} } | check_constraint_info { @@ -1968,7 +1968,7 @@ alter_option: } | DROP index_or_key id_or_var { - $$ = &DropKey{Type:NormalKeyType, Name:$3.String()} + $$ = &DropKey{Type:NormalKeyType, Name:$3} } | DROP PRIMARY KEY { @@ -1976,7 +1976,7 @@ alter_option: } | DROP FOREIGN KEY id_or_var { - $$ = &DropKey{Type:ForeignKeyType, Name:$4.String()} + $$ = &DropKey{Type:ForeignKeyType, Name:$4} } | FORCE { @@ -1988,7 +1988,7 @@ alter_option: } | RENAME index_or_key id_or_var TO id_or_var { - $$ = &RenameIndex{OldName:$3.String(), NewName:$5.String()} + $$ = &RenameIndex{OldName:$3, NewName:$5} } alter_commands_modifier_list: @@ -2070,17 +2070,17 @@ alter_statement: { $$ = &AlterView{ViewName: $6.ToViewName(), Algorithm:$2, Definer: $3 ,Security:$4, Columns:$7, Select: $9, CheckOption: $10 } } -| alter_database_prefix id_or_var_opt create_options +| alter_database_prefix table_id_opt create_options { $1.FullyParsed = true - $1.DBName = $2.String() + $1.DBName = $2 $1.AlterOptions = $3 $$ = $1 } -| alter_database_prefix id_or_var UPGRADE DATA DIRECTORY NAME +| alter_database_prefix table_id UPGRADE DATA DIRECTORY NAME { $1.FullyParsed = true - $1.DBName = $2.String() + $1.DBName = $2 $1.UpdateDataDirectory = true $$ = $1 } @@ -2331,16 +2331,16 @@ drop_statement: if $3.Lowered() == "primary" { $$ = &AlterTable{Table: $5,AlterOptions: append([]AlterOption{&DropKey{Type:PrimaryKeyType}},$6...)} } else { - $$ = &AlterTable{Table: $5,AlterOptions: append([]AlterOption{&DropKey{Type:NormalKeyType, Name:$3.String()}},$6...)} + $$ = &AlterTable{Table: $5,AlterOptions: append([]AlterOption{&DropKey{Type:NormalKeyType, Name:$3}},$6...)} } } | DROP VIEW exists_opt view_name_list restrict_or_cascade_opt { $$ = &DropView{FromTables: $4, IfExists: $3} } -| DROP database_or_schema comment_opt exists_opt id_or_var +| DROP database_or_schema comment_opt exists_opt table_id { - $$ = &DropDatabase{Comments: Comments($3), DBName: string($5.String()), IfExists: $4} + $$ = &DropDatabase{Comments: Comments($3), DBName: $5, IfExists: $4} } truncate_statement: @@ -2591,15 +2591,15 @@ columns_or_fields: from_database_opt: /* empty */ { - $$ = "" + $$ = NewTableIdent("") } | FROM table_id { - $$ = $2.v + $$ = $2 } | IN table_id { - $$ = $2.v + $$ = $2 } like_or_where_opt: @@ -4725,6 +4725,15 @@ table_id: $$ = NewTableIdent(string($1)) } +table_id_opt: + { + $$ = NewTableIdent("") + } +| table_id + { + $$ = $1 + } + reserved_table_id: table_id | reserved_keyword @@ -4752,6 +4761,7 @@ reserved_keyword: | CASE | CALL | CHANGE +| CHARACTER | CHECK | COLLATE | COLUMN @@ -4906,7 +4916,6 @@ non_reserved_keyword: | CASCADED | CHANNEL | CHAR -| CHARACTER | CHARSET | CHECKSUM | CLONE diff --git a/go/vt/vtgate/planbuilder/show.go b/go/vt/vtgate/planbuilder/show.go index 536adbcf662..8105d818247 100644 --- a/go/vt/vtgate/planbuilder/show.go +++ b/go/vt/vtgate/planbuilder/show.go @@ -113,10 +113,10 @@ func buildVariablePlan(show *sqlparser.ShowBasic, vschema ContextVSchema) (engin } func buildShowTblPlan(show *sqlparser.ShowBasic, vschema ContextVSchema) (engine.Primitive, error) { - if show.DbName != "" { - show.Tbl.Qualifier = sqlparser.NewTableIdent(show.DbName) + if !show.DbName.IsEmpty() { + show.Tbl.Qualifier = sqlparser.NewTableIdent(show.DbName.String()) // Remove Database Name from the query. - show.DbName = "" + show.DbName = sqlparser.NewTableIdent("") } dest := key.Destination(key.DestinationAnyShard{}) @@ -192,7 +192,7 @@ func buildDBPlan(show *sqlparser.ShowBasic, vschema ContextVSchema) (engine.Prim // buildShowVMigrationsPlan serves `SHOW VITESS_MIGRATIONS ...` queries. It invokes queries on _vt.schema_migrations on all MASTER tablets on keyspace's shards. func buildShowVMigrationsPlan(show *sqlparser.ShowBasic, vschema ContextVSchema) (engine.Primitive, error) { - dest, ks, tabletType, err := vschema.TargetDestination(show.DbName) + dest, ks, tabletType, err := vschema.TargetDestination(show.DbName.String()) if err != nil { return nil, err } @@ -227,7 +227,7 @@ func buildShowVMigrationsPlan(show *sqlparser.ShowBasic, vschema ContextVSchema) func buildPlanWithDB(show *sqlparser.ShowBasic, vschema ContextVSchema) (engine.Primitive, error) { dbName := show.DbName - dbDestination := show.DbName + dbDestination := show.DbName.String() if sqlparser.SystemSchema(dbDestination) { ks, err := vschema.AnyKeyspace() if err != nil { @@ -236,7 +236,7 @@ func buildPlanWithDB(show *sqlparser.ShowBasic, vschema ContextVSchema) (engine. dbDestination = ks.Name } else { // Remove Database Name from the query. - show.DbName = "" + show.DbName = sqlparser.NewTableIdent("") } destination, keyspace, _, err := vschema.TargetDestination(dbDestination) if err != nil { @@ -246,8 +246,8 @@ func buildPlanWithDB(show *sqlparser.ShowBasic, vschema ContextVSchema) (engine. destination = key.DestinationAnyShard{} } - if dbName == "" { - dbName = keyspace.Name + if dbName.IsEmpty() { + dbName = sqlparser.NewTableIdent(keyspace.Name) } query := sqlparser.String(show) @@ -260,7 +260,7 @@ func buildPlanWithDB(show *sqlparser.ShowBasic, vschema ContextVSchema) (engine. SingleShardOnly: true, } if show.Command == sqlparser.Table { - plan, err = engine.NewRenameField([]string{"Tables_in_" + dbName}, []int{0}, plan) + plan, err = engine.NewRenameField([]string{"Tables_in_" + dbName.String()}, []int{0}, plan) if err != nil { return nil, err } diff --git a/tools/check_make_parser.sh b/tools/check_make_parser.sh index 9859876d37e..4da1c2a9395 100755 --- a/tools/check_make_parser.sh +++ b/tools/check_make_parser.sh @@ -21,7 +21,7 @@ fi mv $CUR $TMP output=$(go run ./goyacc -fast-append -o $CUR sql.y) expectedOutput=" -conflicts: 1 shift/reduce" +conflicts: 2 shift/reduce" if [[ "$output" != "$expectedOutput" ]]; then echo -e "Expected output from goyacc:$expectedOutput\ngot:$output"