github.com/cockroachdb/cockroachdb-parser@v0.23.3-0.20240213214944-911057d40c9a/pkg/sql/parser/sql.go (about) 1 // Code generated by goyacc -p sql -o bazel-out/darwin_arm64-fastbuild/bin/pkg/sql/parser/sql.go sql-gen.y. DO NOT EDIT. 2 3 //line sql-gen.y:24 4 package parser 5 6 import __yyfmt__ "fmt" 7 8 //line sql-gen.y:24 9 10 import ( 11 "fmt" 12 "math" 13 "strings" 14 15 "go/constant" 16 17 "github.com/cockroachdb/cockroachdb-parser/pkg/geo/geopb" 18 "github.com/cockroachdb/cockroachdb-parser/pkg/security/username" 19 "github.com/cockroachdb/cockroachdb-parser/pkg/sql/pgwire/pgcode" 20 "github.com/cockroachdb/cockroachdb-parser/pkg/sql/pgwire/pgerror" 21 "github.com/cockroachdb/cockroachdb-parser/pkg/sql/privilege" 22 "github.com/cockroachdb/cockroachdb-parser/pkg/sql/scanner" 23 "github.com/cockroachdb/cockroachdb-parser/pkg/sql/sem/tree" 24 "github.com/cockroachdb/cockroachdb-parser/pkg/sql/sem/tree/treebin" 25 "github.com/cockroachdb/cockroachdb-parser/pkg/sql/sem/tree/treecmp" 26 "github.com/cockroachdb/cockroachdb-parser/pkg/sql/sem/tree/treewindow" 27 "github.com/cockroachdb/cockroachdb-parser/pkg/sql/types" 28 "github.com/cockroachdb/errors" 29 "github.com/lib/pq/oid" 30 ) 31 32 const MaxUint = ^uint(0) 33 34 const MaxInt = int(MaxUint >> 1) 35 36 func unimplemented(sqllex sqlLexer, feature string) int { 37 sqllex.(*lexer).Unimplemented(feature) 38 return 1 39 } 40 41 func purposelyUnimplemented(sqllex sqlLexer, feature string, reason string) int { 42 sqllex.(*lexer).PurposelyUnimplemented(feature, reason) 43 return 1 44 } 45 46 func setErr(sqllex sqlLexer, err error) int { 47 sqllex.(*lexer).setErr(err) 48 return 1 49 } 50 51 func unimplementedWithIssue(sqllex sqlLexer, issue int) int { 52 sqllex.(*lexer).UnimplementedWithIssue(issue) 53 return 1 54 } 55 56 func unimplementedWithIssueDetail(sqllex sqlLexer, issue int, detail string) int { 57 sqllex.(*lexer).UnimplementedWithIssueDetail(issue, detail) 58 return 1 59 } 60 61 func processBinaryQualOp( 62 sqllex sqlLexer, 63 op tree.Operator, 64 lhs tree.Expr, 65 rhs tree.Expr, 66 ) (tree.Expr, int) { 67 switch op := op.(type) { 68 case treebin.BinaryOperator: 69 op.IsExplicitOperator = true 70 return &tree.BinaryExpr{Operator: op, Left: lhs, Right: rhs}, 0 71 case treecmp.ComparisonOperator: 72 op.IsExplicitOperator = true 73 return &tree.ComparisonExpr{Operator: op, Left: lhs, Right: rhs}, 0 74 case tree.UnaryOperator: 75 76 switch op.Symbol { 77 case tree.UnaryComplement: 78 return &tree.ComparisonExpr{ 79 Operator: treecmp.ComparisonOperator{ 80 Symbol: treecmp.RegMatch, 81 IsExplicitOperator: true, 82 }, 83 Left: lhs, 84 Right: rhs, 85 }, 0 86 default: 87 sqllex.Error(fmt.Sprintf("unknown binary operator %s", op)) 88 return nil, -1 89 } 90 default: 91 sqllex.Error(fmt.Sprintf("unknown binary operator %s", op)) 92 return nil, 1 93 } 94 } 95 96 func processUnaryQualOp( 97 sqllex sqlLexer, 98 op tree.Operator, 99 expr tree.Expr, 100 ) (tree.Expr, int) { 101 e, code := processUnaryQualOpInternal(sqllex, op, expr) 102 if code != 0 { 103 return e, code 104 } 105 if e, ok := e.(*tree.UnaryExpr); ok { 106 e.Operator.IsExplicitOperator = true 107 } 108 return e, code 109 } 110 111 func processUnaryQualOpInternal( 112 sqllex sqlLexer, 113 op tree.Operator, 114 expr tree.Expr, 115 ) (tree.Expr, int) { 116 switch op := op.(type) { 117 case tree.UnaryOperator: 118 return &tree.UnaryExpr{Operator: op, Expr: expr}, 0 119 case treebin.BinaryOperator: 120 121 switch op.Symbol { 122 case treebin.Plus: 123 return &tree.UnaryExpr{ 124 Operator: tree.MakeUnaryOperator(tree.UnaryPlus), 125 Expr: expr, 126 }, 0 127 case treebin.Minus: 128 return &tree.UnaryExpr{ 129 Operator: tree.MakeUnaryOperator(tree.UnaryMinus), 130 Expr: expr, 131 }, 0 132 } 133 case treecmp.ComparisonOperator: 134 switch op.Symbol { 135 case treecmp.RegMatch: 136 return &tree.UnaryExpr{ 137 Operator: tree.MakeUnaryOperator(tree.UnaryComplement), 138 Expr: expr, 139 }, 0 140 } 141 } 142 sqllex.Error(fmt.Sprintf("unknown unary operator %s", op)) 143 return nil, 1 144 } 145 146 //line sql-gen.y:168 147 148 var _ scanner.ScanSymType = &sqlSymType{} 149 150 func (s *sqlSymType) ID() int32 { 151 return s.id 152 } 153 154 func (s *sqlSymType) SetID(id int32) { 155 s.id = id 156 } 157 158 func (s *sqlSymType) Pos() int32 { 159 return s.pos 160 } 161 162 func (s *sqlSymType) SetPos(pos int32) { 163 s.pos = pos 164 } 165 166 func (s *sqlSymType) Str() string { 167 return s.str 168 } 169 170 func (s *sqlSymType) SetStr(str string) { 171 s.str = str 172 } 173 174 func (s *sqlSymType) UnionVal() interface{} { 175 return s.union.val 176 } 177 178 func (s *sqlSymType) SetUnionVal(val interface{}) { 179 s.union.val = val 180 } 181 182 type sqlSymUnion struct { 183 val interface{} 184 } 185 186 func (u *sqlSymUnion) numVal() *tree.NumVal { 187 return u.val.(*tree.NumVal) 188 } 189 func (u *sqlSymUnion) strVal() *tree.StrVal { 190 if stmt, ok := u.val.(*tree.StrVal); ok { 191 return stmt 192 } 193 return nil 194 } 195 func (u *sqlSymUnion) placeholder() *tree.Placeholder { 196 return u.val.(*tree.Placeholder) 197 } 198 func (u *sqlSymUnion) auditMode() tree.AuditMode { 199 return u.val.(tree.AuditMode) 200 } 201 func (u *sqlSymUnion) bool() bool { 202 return u.val.(bool) 203 } 204 func (u *sqlSymUnion) strPtr() *string { 205 return u.val.(*string) 206 } 207 func (u *sqlSymUnion) strs() []string { 208 return u.val.([]string) 209 } 210 func (u *sqlSymUnion) roleSpec() tree.RoleSpec { 211 return u.val.(tree.RoleSpec) 212 } 213 func (u *sqlSymUnion) roleSpecList() tree.RoleSpecList { 214 return u.val.(tree.RoleSpecList) 215 } 216 func (u *sqlSymUnion) user() username.SQLUsername { 217 return u.val.(username.SQLUsername) 218 } 219 func (u *sqlSymUnion) userPtr() *username.SQLUsername { 220 return u.val.(*username.SQLUsername) 221 } 222 func (u *sqlSymUnion) users() []username.SQLUsername { 223 return u.val.([]username.SQLUsername) 224 } 225 func (u *sqlSymUnion) newTableIndexName() *tree.TableIndexName { 226 tn := u.val.(tree.TableIndexName) 227 return &tn 228 } 229 func (u *sqlSymUnion) tableIndexName() tree.TableIndexName { 230 return u.val.(tree.TableIndexName) 231 } 232 func (u *sqlSymUnion) newTableIndexNames() tree.TableIndexNames { 233 return u.val.(tree.TableIndexNames) 234 } 235 func (u *sqlSymUnion) shardedIndexDef() *tree.ShardedIndexDef { 236 return u.val.(*tree.ShardedIndexDef) 237 } 238 func (u *sqlSymUnion) nameList() tree.NameList { 239 return u.val.(tree.NameList) 240 } 241 func (u *sqlSymUnion) enumValueList() tree.EnumValueList { 242 return u.val.(tree.EnumValueList) 243 } 244 func (u *sqlSymUnion) compositeTypeList() []tree.CompositeTypeElem { 245 return u.val.([]tree.CompositeTypeElem) 246 } 247 func (u *sqlSymUnion) unresolvedName() *tree.UnresolvedName { 248 return u.val.(*tree.UnresolvedName) 249 } 250 func (u *sqlSymUnion) unresolvedObjectName() *tree.UnresolvedObjectName { 251 return u.val.(*tree.UnresolvedObjectName) 252 } 253 func (u *sqlSymUnion) unresolvedObjectNames() []*tree.UnresolvedObjectName { 254 return u.val.([]*tree.UnresolvedObjectName) 255 } 256 func (u *sqlSymUnion) tablePatterns() tree.TablePatterns { 257 return u.val.(tree.TablePatterns) 258 } 259 func (u *sqlSymUnion) tableNames() tree.TableNames { 260 return u.val.(tree.TableNames) 261 } 262 func (u *sqlSymUnion) indexFlags() *tree.IndexFlags { 263 return u.val.(*tree.IndexFlags) 264 } 265 func (u *sqlSymUnion) arraySubscript() *tree.ArraySubscript { 266 return u.val.(*tree.ArraySubscript) 267 } 268 func (u *sqlSymUnion) arraySubscripts() tree.ArraySubscripts { 269 if as, ok := u.val.(tree.ArraySubscripts); ok { 270 return as 271 } 272 return nil 273 } 274 func (u *sqlSymUnion) stmt() tree.Statement { 275 if stmt, ok := u.val.(tree.Statement); ok { 276 return stmt 277 } 278 return nil 279 } 280 func (u *sqlSymUnion) cte() *tree.CTE { 281 if cte, ok := u.val.(*tree.CTE); ok { 282 return cte 283 } 284 return nil 285 } 286 func (u *sqlSymUnion) ctes() []*tree.CTE { 287 return u.val.([]*tree.CTE) 288 } 289 func (u *sqlSymUnion) with() *tree.With { 290 if with, ok := u.val.(*tree.With); ok { 291 return with 292 } 293 return nil 294 } 295 func (u *sqlSymUnion) slct() *tree.Select { 296 return u.val.(*tree.Select) 297 } 298 func (u *sqlSymUnion) selectStmt() tree.SelectStatement { 299 return u.val.(tree.SelectStatement) 300 } 301 func (u *sqlSymUnion) colTableDef() *tree.ColumnTableDef { 302 return u.val.(*tree.ColumnTableDef) 303 } 304 func (u *sqlSymUnion) colDef() tree.ColumnDef { 305 return u.val.(tree.ColumnDef) 306 } 307 func (u *sqlSymUnion) colDefList() tree.ColumnDefList { 308 return u.val.(tree.ColumnDefList) 309 } 310 func (u *sqlSymUnion) constraintDef() tree.ConstraintTableDef { 311 return u.val.(tree.ConstraintTableDef) 312 } 313 func (u *sqlSymUnion) tblDef() tree.TableDef { 314 return u.val.(tree.TableDef) 315 } 316 func (u *sqlSymUnion) tblDefs() tree.TableDefs { 317 return u.val.(tree.TableDefs) 318 } 319 func (u *sqlSymUnion) likeTableOption() tree.LikeTableOption { 320 return u.val.(tree.LikeTableOption) 321 } 322 func (u *sqlSymUnion) likeTableOptionList() []tree.LikeTableOption { 323 return u.val.([]tree.LikeTableOption) 324 } 325 func (u *sqlSymUnion) colQual() tree.NamedColumnQualification { 326 return u.val.(tree.NamedColumnQualification) 327 } 328 func (u *sqlSymUnion) colQualElem() tree.ColumnQualification { 329 return u.val.(tree.ColumnQualification) 330 } 331 func (u *sqlSymUnion) colQuals() []tree.NamedColumnQualification { 332 return u.val.([]tree.NamedColumnQualification) 333 } 334 func (u *sqlSymUnion) storageParam() tree.StorageParam { 335 return u.val.(tree.StorageParam) 336 } 337 func (u *sqlSymUnion) storageParams() []tree.StorageParam { 338 if params, ok := u.val.([]tree.StorageParam); ok { 339 return params 340 } 341 return nil 342 } 343 func (u *sqlSymUnion) storageParamKeys() []tree.Name { 344 if params, ok := u.val.([]tree.Name); ok { 345 return params 346 } 347 return nil 348 } 349 func (u *sqlSymUnion) tenantCapability() tree.TenantCapability { 350 return u.val.(tree.TenantCapability) 351 } 352 func (u *sqlSymUnion) tenantCapabilities() []tree.TenantCapability { 353 if capabilities, ok := u.val.([]tree.TenantCapability); ok { 354 return capabilities 355 } 356 return nil 357 } 358 func (u *sqlSymUnion) persistence() tree.Persistence { 359 return u.val.(tree.Persistence) 360 } 361 func (u *sqlSymUnion) colType() *types.T { 362 if colType, ok := u.val.(*types.T); ok && colType != nil { 363 return colType 364 } 365 return nil 366 } 367 func (u *sqlSymUnion) tableRefCols() []tree.ColumnID { 368 if refCols, ok := u.val.([]tree.ColumnID); ok { 369 return refCols 370 } 371 return nil 372 } 373 func (u *sqlSymUnion) colTypes() []*types.T { 374 return u.val.([]*types.T) 375 } 376 func (u *sqlSymUnion) int32() int32 { 377 return u.val.(int32) 378 } 379 func (u *sqlSymUnion) int64() int64 { 380 return u.val.(int64) 381 } 382 func (u *sqlSymUnion) seqOpt() tree.SequenceOption { 383 return u.val.(tree.SequenceOption) 384 } 385 func (u *sqlSymUnion) seqOpts() []tree.SequenceOption { 386 return u.val.([]tree.SequenceOption) 387 } 388 func (u *sqlSymUnion) expr() tree.Expr { 389 if expr, ok := u.val.(tree.Expr); ok { 390 return expr 391 } 392 return nil 393 } 394 func (u *sqlSymUnion) exprs() tree.Exprs { 395 return u.val.(tree.Exprs) 396 } 397 func (u *sqlSymUnion) selExpr() tree.SelectExpr { 398 return u.val.(tree.SelectExpr) 399 } 400 func (u *sqlSymUnion) selExprs() tree.SelectExprs { 401 return u.val.(tree.SelectExprs) 402 } 403 func (u *sqlSymUnion) retClause() tree.ReturningClause { 404 return u.val.(tree.ReturningClause) 405 } 406 func (u *sqlSymUnion) aliasClause() tree.AliasClause { 407 return u.val.(tree.AliasClause) 408 } 409 func (u *sqlSymUnion) asOfClause() tree.AsOfClause { 410 return u.val.(tree.AsOfClause) 411 } 412 func (u *sqlSymUnion) tblExpr() tree.TableExpr { 413 return u.val.(tree.TableExpr) 414 } 415 func (u *sqlSymUnion) tblExprs() tree.TableExprs { 416 return u.val.(tree.TableExprs) 417 } 418 func (u *sqlSymUnion) from() tree.From { 419 return u.val.(tree.From) 420 } 421 func (u *sqlSymUnion) batch() *tree.Batch { 422 if batch, ok := u.val.(*tree.Batch); ok { 423 return batch 424 } 425 return nil 426 } 427 func (u *sqlSymUnion) batchParam() tree.BatchParam { 428 return u.val.(tree.BatchParam) 429 } 430 func (u *sqlSymUnion) batchParams() []tree.BatchParam { 431 return u.val.([]tree.BatchParam) 432 } 433 func (u *sqlSymUnion) superRegion() tree.SuperRegion { 434 return u.val.(tree.SuperRegion) 435 } 436 func (u *sqlSymUnion) int32s() []int32 { 437 return u.val.([]int32) 438 } 439 func (u *sqlSymUnion) joinCond() tree.JoinCond { 440 return u.val.(tree.JoinCond) 441 } 442 func (u *sqlSymUnion) when() *tree.When { 443 return u.val.(*tree.When) 444 } 445 func (u *sqlSymUnion) whens() []*tree.When { 446 return u.val.([]*tree.When) 447 } 448 func (u *sqlSymUnion) lockingClause() tree.LockingClause { 449 return u.val.(tree.LockingClause) 450 } 451 func (u *sqlSymUnion) lockingItem() *tree.LockingItem { 452 return u.val.(*tree.LockingItem) 453 } 454 func (u *sqlSymUnion) lockingStrength() tree.LockingStrength { 455 return u.val.(tree.LockingStrength) 456 } 457 func (u *sqlSymUnion) lockingWaitPolicy() tree.LockingWaitPolicy { 458 return u.val.(tree.LockingWaitPolicy) 459 } 460 func (u *sqlSymUnion) updateExpr() *tree.UpdateExpr { 461 return u.val.(*tree.UpdateExpr) 462 } 463 func (u *sqlSymUnion) updateExprs() tree.UpdateExprs { 464 return u.val.(tree.UpdateExprs) 465 } 466 func (u *sqlSymUnion) limit() *tree.Limit { 467 return u.val.(*tree.Limit) 468 } 469 func (u *sqlSymUnion) backupTargetList() tree.BackupTargetList { 470 return u.val.(tree.BackupTargetList) 471 } 472 func (u *sqlSymUnion) backupTargetListPtr() *tree.BackupTargetList { 473 return u.val.(*tree.BackupTargetList) 474 } 475 func (u *sqlSymUnion) grantTargetList() tree.GrantTargetList { 476 return u.val.(tree.GrantTargetList) 477 } 478 func (u *sqlSymUnion) grantTargetListPtr() *tree.GrantTargetList { 479 return u.val.(*tree.GrantTargetList) 480 } 481 func (u *sqlSymUnion) changefeedTargets() tree.ChangefeedTargets { 482 return u.val.(tree.ChangefeedTargets) 483 } 484 func (u *sqlSymUnion) changefeedTarget() tree.ChangefeedTarget { 485 return u.val.(tree.ChangefeedTarget) 486 } 487 func (u *sqlSymUnion) privilegeType() privilege.Kind { 488 return u.val.(privilege.Kind) 489 } 490 func (u *sqlSymUnion) privilegeList() privilege.List { 491 return u.val.(privilege.List) 492 } 493 func (u *sqlSymUnion) onConflict() *tree.OnConflict { 494 return u.val.(*tree.OnConflict) 495 } 496 func (u *sqlSymUnion) orderBy() tree.OrderBy { 497 return u.val.(tree.OrderBy) 498 } 499 func (u *sqlSymUnion) order() *tree.Order { 500 return u.val.(*tree.Order) 501 } 502 func (u *sqlSymUnion) orders() []*tree.Order { 503 return u.val.([]*tree.Order) 504 } 505 func (u *sqlSymUnion) groupBy() tree.GroupBy { 506 return u.val.(tree.GroupBy) 507 } 508 func (u *sqlSymUnion) windowFrame() *tree.WindowFrame { 509 return u.val.(*tree.WindowFrame) 510 } 511 func (u *sqlSymUnion) windowFrameBounds() tree.WindowFrameBounds { 512 return u.val.(tree.WindowFrameBounds) 513 } 514 func (u *sqlSymUnion) windowFrameBound() *tree.WindowFrameBound { 515 return u.val.(*tree.WindowFrameBound) 516 } 517 func (u *sqlSymUnion) windowFrameExclusion() treewindow.WindowFrameExclusion { 518 return u.val.(treewindow.WindowFrameExclusion) 519 } 520 func (u *sqlSymUnion) distinctOn() tree.DistinctOn { 521 return u.val.(tree.DistinctOn) 522 } 523 func (u *sqlSymUnion) dir() tree.Direction { 524 return u.val.(tree.Direction) 525 } 526 func (u *sqlSymUnion) nullsOrder() tree.NullsOrder { 527 return u.val.(tree.NullsOrder) 528 } 529 func (u *sqlSymUnion) alterChangefeedCmd() tree.AlterChangefeedCmd { 530 return u.val.(tree.AlterChangefeedCmd) 531 } 532 func (u *sqlSymUnion) alterChangefeedCmds() tree.AlterChangefeedCmds { 533 return u.val.(tree.AlterChangefeedCmds) 534 } 535 func (u *sqlSymUnion) backupKMS() tree.BackupKMS { 536 return u.val.(tree.BackupKMS) 537 } 538 func (u *sqlSymUnion) alterBackupCmd() tree.AlterBackupCmd { 539 return u.val.(tree.AlterBackupCmd) 540 } 541 func (u *sqlSymUnion) alterBackupCmds() tree.AlterBackupCmds { 542 return u.val.(tree.AlterBackupCmds) 543 } 544 func (u *sqlSymUnion) alterBackupScheduleCmd() tree.AlterBackupScheduleCmd { 545 return u.val.(tree.AlterBackupScheduleCmd) 546 } 547 func (u *sqlSymUnion) alterBackupScheduleCmds() tree.AlterBackupScheduleCmds { 548 return u.val.(tree.AlterBackupScheduleCmds) 549 } 550 func (u *sqlSymUnion) alterTableCmd() tree.AlterTableCmd { 551 return u.val.(tree.AlterTableCmd) 552 } 553 func (u *sqlSymUnion) alterTableCmds() tree.AlterTableCmds { 554 return u.val.(tree.AlterTableCmds) 555 } 556 func (u *sqlSymUnion) alterIndexCmd() tree.AlterIndexCmd { 557 return u.val.(tree.AlterIndexCmd) 558 } 559 func (u *sqlSymUnion) alterIndexCmds() tree.AlterIndexCmds { 560 return u.val.(tree.AlterIndexCmds) 561 } 562 func (u *sqlSymUnion) isoLevel() tree.IsolationLevel { 563 return u.val.(tree.IsolationLevel) 564 } 565 func (u *sqlSymUnion) userPriority() tree.UserPriority { 566 return u.val.(tree.UserPriority) 567 } 568 func (u *sqlSymUnion) readWriteMode() tree.ReadWriteMode { 569 return u.val.(tree.ReadWriteMode) 570 } 571 func (u *sqlSymUnion) deferrableMode() tree.DeferrableMode { 572 return u.val.(tree.DeferrableMode) 573 } 574 func (u *sqlSymUnion) idxElem() tree.IndexElem { 575 return u.val.(tree.IndexElem) 576 } 577 func (u *sqlSymUnion) idxElems() tree.IndexElemList { 578 return u.val.(tree.IndexElemList) 579 } 580 func (u *sqlSymUnion) indexInvisibility() tree.IndexInvisibility { 581 return u.val.(tree.IndexInvisibility) 582 } 583 func (u *sqlSymUnion) dropBehavior() tree.DropBehavior { 584 return u.val.(tree.DropBehavior) 585 } 586 func (u *sqlSymUnion) validationBehavior() tree.ValidationBehavior { 587 return u.val.(tree.ValidationBehavior) 588 } 589 func (u *sqlSymUnion) partitionBy() *tree.PartitionBy { 590 return u.val.(*tree.PartitionBy) 591 } 592 func (u *sqlSymUnion) partitionByTable() *tree.PartitionByTable { 593 return u.val.(*tree.PartitionByTable) 594 } 595 func (u *sqlSymUnion) partitionByIndex() *tree.PartitionByIndex { 596 return u.val.(*tree.PartitionByIndex) 597 } 598 func (u *sqlSymUnion) createTableOnCommitSetting() tree.CreateTableOnCommitSetting { 599 return u.val.(tree.CreateTableOnCommitSetting) 600 } 601 func (u *sqlSymUnion) listPartition() tree.ListPartition { 602 return u.val.(tree.ListPartition) 603 } 604 func (u *sqlSymUnion) listPartitions() []tree.ListPartition { 605 return u.val.([]tree.ListPartition) 606 } 607 func (u *sqlSymUnion) rangePartition() tree.RangePartition { 608 return u.val.(tree.RangePartition) 609 } 610 func (u *sqlSymUnion) rangePartitions() []tree.RangePartition { 611 return u.val.([]tree.RangePartition) 612 } 613 func (u *sqlSymUnion) relocateSubject() tree.RelocateSubject { 614 return u.val.(tree.RelocateSubject) 615 } 616 func (u *sqlSymUnion) setZoneConfig() *tree.SetZoneConfig { 617 return u.val.(*tree.SetZoneConfig) 618 } 619 func (u *sqlSymUnion) tuples() []*tree.Tuple { 620 return u.val.([]*tree.Tuple) 621 } 622 func (u *sqlSymUnion) tuple() *tree.Tuple { 623 return u.val.(*tree.Tuple) 624 } 625 func (u *sqlSymUnion) windowDef() *tree.WindowDef { 626 return u.val.(*tree.WindowDef) 627 } 628 func (u *sqlSymUnion) window() tree.Window { 629 return u.val.(tree.Window) 630 } 631 func (u *sqlSymUnion) op() tree.Operator { 632 return u.val.(tree.Operator) 633 } 634 func (u *sqlSymUnion) cmpOp() treecmp.ComparisonOperator { 635 return u.val.(treecmp.ComparisonOperator) 636 } 637 func (u *sqlSymUnion) intervalTypeMetadata() types.IntervalTypeMetadata { 638 return u.val.(types.IntervalTypeMetadata) 639 } 640 func (u *sqlSymUnion) kvOption() tree.KVOption { 641 return u.val.(tree.KVOption) 642 } 643 func (u *sqlSymUnion) kvOptions() []tree.KVOption { 644 if colType, ok := u.val.([]tree.KVOption); ok { 645 return colType 646 } 647 return nil 648 } 649 func (u *sqlSymUnion) backupOptions() *tree.BackupOptions { 650 return u.val.(*tree.BackupOptions) 651 } 652 func (u *sqlSymUnion) copyOptions() *tree.CopyOptions { 653 return u.val.(*tree.CopyOptions) 654 } 655 func (u *sqlSymUnion) showJobOptions() *tree.ShowJobOptions { 656 return u.val.(*tree.ShowJobOptions) 657 } 658 func (u *sqlSymUnion) showBackupDetails() tree.ShowBackupDetails { 659 return u.val.(tree.ShowBackupDetails) 660 } 661 func (u *sqlSymUnion) showBackupOptions() *tree.ShowBackupOptions { 662 return u.val.(*tree.ShowBackupOptions) 663 } 664 func (u *sqlSymUnion) restoreOptions() *tree.RestoreOptions { 665 return u.val.(*tree.RestoreOptions) 666 } 667 func (u *sqlSymUnion) transactionModes() tree.TransactionModes { 668 return u.val.(tree.TransactionModes) 669 } 670 func (u *sqlSymUnion) compositeKeyMatchMethod() tree.CompositeKeyMatchMethod { 671 return u.val.(tree.CompositeKeyMatchMethod) 672 } 673 func (u *sqlSymUnion) referenceAction() tree.ReferenceAction { 674 return u.val.(tree.ReferenceAction) 675 } 676 func (u *sqlSymUnion) referenceActions() tree.ReferenceActions { 677 return u.val.(tree.ReferenceActions) 678 } 679 func (u *sqlSymUnion) createStatsOptions() *tree.CreateStatsOptions { 680 return u.val.(*tree.CreateStatsOptions) 681 } 682 func (u *sqlSymUnion) scrubOptions() tree.ScrubOptions { 683 return u.val.(tree.ScrubOptions) 684 } 685 func (u *sqlSymUnion) scrubOption() tree.ScrubOption { 686 return u.val.(tree.ScrubOption) 687 } 688 func (u *sqlSymUnion) resolvableFuncRefFromName() tree.ResolvableFunctionReference { 689 return tree.ResolvableFunctionReference{FunctionReference: u.unresolvedName()} 690 } 691 func (u *sqlSymUnion) resolvableFuncRef() tree.ResolvableFunctionReference { 692 return u.val.(tree.ResolvableFunctionReference) 693 } 694 func (u *sqlSymUnion) rowsFromExpr() *tree.RowsFromExpr { 695 return u.val.(*tree.RowsFromExpr) 696 } 697 func (u *sqlSymUnion) stringOrPlaceholderOptList() tree.StringOrPlaceholderOptList { 698 return u.val.(tree.StringOrPlaceholderOptList) 699 } 700 func (u *sqlSymUnion) listOfStringOrPlaceholderOptList() []tree.StringOrPlaceholderOptList { 701 return u.val.([]tree.StringOrPlaceholderOptList) 702 } 703 func (u *sqlSymUnion) fullBackupClause() *tree.FullBackupClause { 704 return u.val.(*tree.FullBackupClause) 705 } 706 func (u *sqlSymUnion) scheduleLabelSpec() *tree.LabelSpec { 707 return u.val.(*tree.LabelSpec) 708 } 709 func (u *sqlSymUnion) labelSpec() *tree.LabelSpec { 710 return u.val.(*tree.LabelSpec) 711 } 712 713 func (u *sqlSymUnion) geoShapeType() geopb.ShapeType { 714 return u.val.(geopb.ShapeType) 715 } 716 func newNameFromStr(s string) *tree.Name { 717 return (*tree.Name)(&s) 718 } 719 func (u *sqlSymUnion) typeReference() tree.ResolvableTypeReference { 720 return u.val.(tree.ResolvableTypeReference) 721 } 722 func (u *sqlSymUnion) typeReferences() []tree.ResolvableTypeReference { 723 return u.val.([]tree.ResolvableTypeReference) 724 } 725 func (u *sqlSymUnion) alterTypeAddValuePlacement() *tree.AlterTypeAddValuePlacement { 726 return u.val.(*tree.AlterTypeAddValuePlacement) 727 } 728 func (u *sqlSymUnion) scheduleState() tree.ScheduleState { 729 return u.val.(tree.ScheduleState) 730 } 731 func (u *sqlSymUnion) executorType() tree.ScheduledJobExecutorType { 732 return u.val.(tree.ScheduledJobExecutorType) 733 } 734 func (u *sqlSymUnion) refreshDataOption() tree.RefreshDataOption { 735 return u.val.(tree.RefreshDataOption) 736 } 737 func (u *sqlSymUnion) locality() *tree.Locality { 738 return u.val.(*tree.Locality) 739 } 740 func (u *sqlSymUnion) survivalGoal() tree.SurvivalGoal { 741 return u.val.(tree.SurvivalGoal) 742 } 743 func (u *sqlSymUnion) dataPlacement() tree.DataPlacement { 744 return u.val.(tree.DataPlacement) 745 } 746 func (u *sqlSymUnion) objectNamePrefix() tree.ObjectNamePrefix { 747 return u.val.(tree.ObjectNamePrefix) 748 } 749 func (u *sqlSymUnion) objectNamePrefixList() tree.ObjectNamePrefixList { 750 return u.val.(tree.ObjectNamePrefixList) 751 } 752 func (u *sqlSymUnion) abbreviatedGrant() tree.AbbreviatedGrant { 753 return u.val.(tree.AbbreviatedGrant) 754 } 755 func (u *sqlSymUnion) abbreviatedRevoke() tree.AbbreviatedRevoke { 756 return u.val.(tree.AbbreviatedRevoke) 757 } 758 func (u *sqlSymUnion) targetObjectType() privilege.TargetObjectType { 759 return u.val.(privilege.TargetObjectType) 760 } 761 func (u *sqlSymUnion) setVar() *tree.SetVar { 762 return u.val.(*tree.SetVar) 763 } 764 func (u *sqlSymUnion) cursorSensitivity() tree.CursorSensitivity { 765 return u.val.(tree.CursorSensitivity) 766 } 767 func (u *sqlSymUnion) cursorScrollOption() tree.CursorScrollOption { 768 return u.val.(tree.CursorScrollOption) 769 } 770 func (u *sqlSymUnion) cursorStmt() tree.CursorStmt { 771 return u.val.(tree.CursorStmt) 772 } 773 func (u *sqlSymUnion) asTenantClause() tree.TenantID { 774 return u.val.(tree.TenantID) 775 } 776 func (u *sqlSymUnion) routineOptions() tree.RoutineOptions { 777 return u.val.(tree.RoutineOptions) 778 } 779 func (u *sqlSymUnion) functionOption() tree.RoutineOption { 780 return u.val.(tree.RoutineOption) 781 } 782 func (u *sqlSymUnion) routineParams() tree.RoutineParams { 783 return u.val.(tree.RoutineParams) 784 } 785 func (u *sqlSymUnion) routineParam() tree.RoutineParam { 786 return u.val.(tree.RoutineParam) 787 } 788 func (u *sqlSymUnion) routineParamClass() tree.RoutineParamClass { 789 return u.val.(tree.RoutineParamClass) 790 } 791 func (u *sqlSymUnion) stmts() tree.Statements { 792 return u.val.(tree.Statements) 793 } 794 func (u *sqlSymUnion) routineBody() *tree.RoutineBody { 795 return u.val.(*tree.RoutineBody) 796 } 797 func (u *sqlSymUnion) functionObj() tree.RoutineObj { 798 return u.val.(tree.RoutineObj) 799 } 800 func (u *sqlSymUnion) routineObjs() tree.RoutineObjs { 801 return u.val.(tree.RoutineObjs) 802 } 803 func (u *sqlSymUnion) tenantReplicationOptions() *tree.TenantReplicationOptions { 804 return u.val.(*tree.TenantReplicationOptions) 805 } 806 func (u *sqlSymUnion) showRangesOpts() *tree.ShowRangesOptions { 807 return u.val.(*tree.ShowRangesOptions) 808 } 809 func (u *sqlSymUnion) tenantSpec() *tree.TenantSpec { 810 return u.val.(*tree.TenantSpec) 811 } 812 func (u *sqlSymUnion) likeTenantSpec() *tree.LikeTenantSpec { 813 return u.val.(*tree.LikeTenantSpec) 814 } 815 func (u *sqlSymUnion) cteMaterializeClause() tree.CTEMaterializeClause { 816 return u.val.(tree.CTEMaterializeClause) 817 } 818 func (u *sqlSymUnion) showTenantOpts() tree.ShowTenantOptions { 819 return u.val.(tree.ShowTenantOptions) 820 } 821 func (u *sqlSymUnion) showCreateFormatOption() tree.ShowCreateFormatOption { 822 return u.val.(tree.ShowCreateFormatOption) 823 } 824 func (u *sqlSymUnion) beginTransaction() *tree.BeginTransaction { 825 return u.val.(*tree.BeginTransaction) 826 } 827 828 //line sql-gen.y:1044 829 type sqlSymType struct { 830 yys int 831 id int32 832 pos int32 833 str string 834 union sqlSymUnion 835 } 836 837 const IDENT = 57346 838 const SCONST = 57347 839 const BCONST = 57348 840 const BITCONST = 57349 841 const ICONST = 57350 842 const FCONST = 57351 843 const PLACEHOLDER = 57352 844 const TYPECAST = 57353 845 const TYPEANNOTATE = 57354 846 const DOT_DOT = 57355 847 const LESS_EQUALS = 57356 848 const GREATER_EQUALS = 57357 849 const NOT_EQUALS = 57358 850 const NOT_REGMATCH = 57359 851 const REGIMATCH = 57360 852 const NOT_REGIMATCH = 57361 853 const ERROR = 57362 854 const ABORT = 57363 855 const ABSOLUTE = 57364 856 const ACCESS = 57365 857 const ACTION = 57366 858 const ADD = 57367 859 const ADMIN = 57368 860 const AFTER = 57369 861 const AGGREGATE = 57370 862 const ALL = 57371 863 const ALTER = 57372 864 const ALWAYS = 57373 865 const ANALYSE = 57374 866 const ANALYZE = 57375 867 const AND = 57376 868 const AND_AND = 57377 869 const ANY = 57378 870 const ANNOTATE_TYPE = 57379 871 const ARRAY = 57380 872 const AS = 57381 873 const ASC = 57382 874 const AS_JSON = 57383 875 const AT_AT = 57384 876 const ASENSITIVE = 57385 877 const ASYMMETRIC = 57386 878 const AT = 57387 879 const ATOMIC = 57388 880 const ATTRIBUTE = 57389 881 const AUTHORIZATION = 57390 882 const AUTOMATIC = 57391 883 const AVAILABILITY = 57392 884 const BACKUP = 57393 885 const BACKUPS = 57394 886 const BACKWARD = 57395 887 const BATCH = 57396 888 const BEFORE = 57397 889 const BEGIN = 57398 890 const BETWEEN = 57399 891 const BIGINT = 57400 892 const BIGSERIAL = 57401 893 const BINARY = 57402 894 const BIT = 57403 895 const BUCKET_COUNT = 57404 896 const BOOLEAN = 57405 897 const BOTH = 57406 898 const BOX2D = 57407 899 const BUNDLE = 57408 900 const BY = 57409 901 const CACHE = 57410 902 const CALL = 57411 903 const CALLED = 57412 904 const CANCEL = 57413 905 const CANCELQUERY = 57414 906 const CAPABILITIES = 57415 907 const CAPABILITY = 57416 908 const CASCADE = 57417 909 const CASE = 57418 910 const CAST = 57419 911 const CBRT = 57420 912 const CHANGEFEED = 57421 913 const CHAR = 57422 914 const CHARACTER = 57423 915 const CHARACTERISTICS = 57424 916 const CHECK = 57425 917 const CHECK_FILES = 57426 918 const CLOSE = 57427 919 const CLUSTER = 57428 920 const CLUSTERS = 57429 921 const COALESCE = 57430 922 const COLLATE = 57431 923 const COLLATION = 57432 924 const COLUMN = 57433 925 const COLUMNS = 57434 926 const COMMENT = 57435 927 const COMMENTS = 57436 928 const COMMIT = 57437 929 const COMMITTED = 57438 930 const COMPACT = 57439 931 const COMPLETE = 57440 932 const COMPLETIONS = 57441 933 const CONCAT = 57442 934 const CONCURRENTLY = 57443 935 const CONFIGURATION = 57444 936 const CONFIGURATIONS = 57445 937 const CONFIGURE = 57446 938 const CONFLICT = 57447 939 const CONNECTION = 57448 940 const CONNECTIONS = 57449 941 const CONSTRAINT = 57450 942 const CONSTRAINTS = 57451 943 const CONTAINS = 57452 944 const CONTROLCHANGEFEED = 57453 945 const CONTROLJOB = 57454 946 const CONVERSION = 57455 947 const CONVERT = 57456 948 const COPY = 57457 949 const COST = 57458 950 const COVERING = 57459 951 const CREATE = 57460 952 const CREATEDB = 57461 953 const CREATELOGIN = 57462 954 const CREATEROLE = 57463 955 const CROSS = 57464 956 const CSV = 57465 957 const CUBE = 57466 958 const CURRENT = 57467 959 const CURRENT_CATALOG = 57468 960 const CURRENT_DATE = 57469 961 const CURRENT_SCHEMA = 57470 962 const CURRENT_ROLE = 57471 963 const CURRENT_TIME = 57472 964 const CURRENT_TIMESTAMP = 57473 965 const CURRENT_USER = 57474 966 const CURSOR = 57475 967 const CYCLE = 57476 968 const DATA = 57477 969 const DATABASE = 57478 970 const DATABASES = 57479 971 const DATE = 57480 972 const DAY = 57481 973 const DEBUG_IDS = 57482 974 const DEBUG_PAUSE_ON = 57483 975 const DEC = 57484 976 const DEBUG_DUMP_METADATA_SST = 57485 977 const DECIMAL = 57486 978 const DEFAULT = 57487 979 const DEFAULTS = 57488 980 const DEFINER = 57489 981 const DEALLOCATE = 57490 982 const DECLARE = 57491 983 const DEFERRABLE = 57492 984 const DEFERRED = 57493 985 const DELETE = 57494 986 const DELIMITER = 57495 987 const DEPENDS = 57496 988 const DESC = 57497 989 const DESTINATION = 57498 990 const DETACHED = 57499 991 const DETAILS = 57500 992 const DISCARD = 57501 993 const DISTINCT = 57502 994 const DO = 57503 995 const DOMAIN = 57504 996 const DOUBLE = 57505 997 const DROP = 57506 998 const ELSE = 57507 999 const ENCODING = 57508 1000 const ENCRYPTED = 57509 1001 const ENCRYPTION_INFO_DIR = 57510 1002 const ENCRYPTION_PASSPHRASE = 57511 1003 const END = 57512 1004 const ENUM = 57513 1005 const ENUMS = 57514 1006 const ESCAPE = 57515 1007 const EXCEPT = 57516 1008 const EXCLUDE = 57517 1009 const EXCLUDING = 57518 1010 const EXISTS = 57519 1011 const EXECUTE = 57520 1012 const EXECUTION = 57521 1013 const EXPERIMENTAL = 57522 1014 const EXPERIMENTAL_FINGERPRINTS = 57523 1015 const EXPERIMENTAL_REPLICA = 57524 1016 const EXPERIMENTAL_AUDIT = 57525 1017 const EXPERIMENTAL_RELOCATE = 57526 1018 const EXPIRATION = 57527 1019 const EXPLAIN = 57528 1020 const EXPORT = 57529 1021 const EXTENSION = 57530 1022 const EXTERNAL = 57531 1023 const EXTRACT = 57532 1024 const EXTRACT_DURATION = 57533 1025 const EXTREMES = 57534 1026 const FAILURE = 57535 1027 const FALSE = 57536 1028 const FAMILY = 57537 1029 const FETCH = 57538 1030 const FETCHVAL = 57539 1031 const FETCHTEXT = 57540 1032 const FETCHVAL_PATH = 57541 1033 const FETCHTEXT_PATH = 57542 1034 const FILES = 57543 1035 const FILTER = 57544 1036 const FIRST = 57545 1037 const FLOAT = 57546 1038 const FLOAT4 = 57547 1039 const FLOAT8 = 57548 1040 const FLOORDIV = 57549 1041 const FOLLOWING = 57550 1042 const FOR = 57551 1043 const FORCE = 57552 1044 const FORCE_INDEX = 57553 1045 const FORCE_NOT_NULL = 57554 1046 const FORCE_NULL = 57555 1047 const FORCE_QUOTE = 57556 1048 const FORCE_ZIGZAG = 57557 1049 const FOREIGN = 57558 1050 const FORMAT = 57559 1051 const FORWARD = 57560 1052 const FREEZE = 57561 1053 const FROM = 57562 1054 const FULL = 57563 1055 const FUNCTION = 57564 1056 const FUNCTIONS = 57565 1057 const GENERATED = 57566 1058 const GEOGRAPHY = 57567 1059 const GEOMETRY = 57568 1060 const GEOMETRYM = 57569 1061 const GEOMETRYZ = 57570 1062 const GEOMETRYZM = 57571 1063 const GEOMETRYCOLLECTION = 57572 1064 const GEOMETRYCOLLECTIONM = 57573 1065 const GEOMETRYCOLLECTIONZ = 57574 1066 const GEOMETRYCOLLECTIONZM = 57575 1067 const GLOBAL = 57576 1068 const GOAL = 57577 1069 const GRANT = 57578 1070 const GRANTEE = 57579 1071 const GRANTS = 57580 1072 const GREATEST = 57581 1073 const GROUP = 57582 1074 const GROUPING = 57583 1075 const GROUPS = 57584 1076 const HAVING = 57585 1077 const HASH = 57586 1078 const HEADER = 57587 1079 const HIGH = 57588 1080 const HISTOGRAM = 57589 1081 const HOLD = 57590 1082 const HOUR = 57591 1083 const IDENTITY = 57592 1084 const IF = 57593 1085 const IFERROR = 57594 1086 const IFNULL = 57595 1087 const IGNORE_FOREIGN_KEYS = 57596 1088 const ILIKE = 57597 1089 const IMMEDIATE = 57598 1090 const IMMUTABLE = 57599 1091 const IMPORT = 57600 1092 const IN = 57601 1093 const INCLUDE = 57602 1094 const INCLUDING = 57603 1095 const INCLUDE_ALL_SECONDARY_TENANTS = 57604 1096 const INCLUDE_ALL_VIRTUAL_CLUSTERS = 57605 1097 const INCREMENT = 57606 1098 const INCREMENTAL = 57607 1099 const INCREMENTAL_LOCATION = 57608 1100 const INET = 57609 1101 const INET_CONTAINED_BY_OR_EQUALS = 57610 1102 const INET_CONTAINS_OR_EQUALS = 57611 1103 const INDEX = 57612 1104 const INDEXES = 57613 1105 const INHERITS = 57614 1106 const INJECT = 57615 1107 const INITIALLY = 57616 1108 const INDEX_BEFORE_PAREN = 57617 1109 const INDEX_BEFORE_NAME_THEN_PAREN = 57618 1110 const INDEX_AFTER_ORDER_BY_BEFORE_AT = 57619 1111 const INNER = 57620 1112 const INOUT = 57621 1113 const INPUT = 57622 1114 const INSENSITIVE = 57623 1115 const INSERT = 57624 1116 const INT = 57625 1117 const INTEGER = 57626 1118 const INTERSECT = 57627 1119 const INTERVAL = 57628 1120 const INTO = 57629 1121 const INTO_DB = 57630 1122 const INVERTED = 57631 1123 const INVOKER = 57632 1124 const IS = 57633 1125 const ISERROR = 57634 1126 const ISNULL = 57635 1127 const ISOLATION = 57636 1128 const JOB = 57637 1129 const JOBS = 57638 1130 const JOIN = 57639 1131 const JSON = 57640 1132 const JSONB = 57641 1133 const JSON_SOME_EXISTS = 57642 1134 const JSON_ALL_EXISTS = 57643 1135 const KEY = 57644 1136 const KEYS = 57645 1137 const KMS = 57646 1138 const KV = 57647 1139 const LABEL = 57648 1140 const LANGUAGE = 57649 1141 const LAST = 57650 1142 const LATERAL = 57651 1143 const LATEST = 57652 1144 const LC_CTYPE = 57653 1145 const LC_COLLATE = 57654 1146 const LEADING = 57655 1147 const LEASE = 57656 1148 const LEAST = 57657 1149 const LEAKPROOF = 57658 1150 const LEFT = 57659 1151 const LESS = 57660 1152 const LEVEL = 57661 1153 const LIKE = 57662 1154 const LIMIT = 57663 1155 const LINESTRING = 57664 1156 const LINESTRINGM = 57665 1157 const LINESTRINGZ = 57666 1158 const LINESTRINGZM = 57667 1159 const LIST = 57668 1160 const LOCAL = 57669 1161 const LOCALITY = 57670 1162 const LOCALTIME = 57671 1163 const LOCALTIMESTAMP = 57672 1164 const LOCKED = 57673 1165 const LOGIN = 57674 1166 const LOOKUP = 57675 1167 const LOW = 57676 1168 const LSHIFT = 57677 1169 const MATCH = 57678 1170 const MATERIALIZED = 57679 1171 const MERGE = 57680 1172 const MINVALUE = 57681 1173 const MAXVALUE = 57682 1174 const METHOD = 57683 1175 const MINUTE = 57684 1176 const MODIFYCLUSTERSETTING = 57685 1177 const MODIFYSQLCLUSTERSETTING = 57686 1178 const MONTH = 57687 1179 const MOVE = 57688 1180 const MULTILINESTRING = 57689 1181 const MULTILINESTRINGM = 57690 1182 const MULTILINESTRINGZ = 57691 1183 const MULTILINESTRINGZM = 57692 1184 const MULTIPOINT = 57693 1185 const MULTIPOINTM = 57694 1186 const MULTIPOINTZ = 57695 1187 const MULTIPOINTZM = 57696 1188 const MULTIPOLYGON = 57697 1189 const MULTIPOLYGONM = 57698 1190 const MULTIPOLYGONZ = 57699 1191 const MULTIPOLYGONZM = 57700 1192 const NAN = 57701 1193 const NAME = 57702 1194 const NAMES = 57703 1195 const NATURAL = 57704 1196 const NEVER = 57705 1197 const NEW_DB_NAME = 57706 1198 const NEW_KMS = 57707 1199 const NEXT = 57708 1200 const NO = 57709 1201 const NOCANCELQUERY = 57710 1202 const NOCONTROLCHANGEFEED = 57711 1203 const NOCONTROLJOB = 57712 1204 const NOCREATEDB = 57713 1205 const NOCREATELOGIN = 57714 1206 const NOCREATEROLE = 57715 1207 const NOLOGIN = 57716 1208 const NOMODIFYCLUSTERSETTING = 57717 1209 const NOREPLICATION = 57718 1210 const NOSQLLOGIN = 57719 1211 const NO_INDEX_JOIN = 57720 1212 const NO_ZIGZAG_JOIN = 57721 1213 const NO_FULL_SCAN = 57722 1214 const NONE = 57723 1215 const NONVOTERS = 57724 1216 const NORMAL = 57725 1217 const NOT = 57726 1218 const NOTHING = 57727 1219 const NOTHING_AFTER_RETURNING = 57728 1220 const NOTNULL = 57729 1221 const NOVIEWACTIVITY = 57730 1222 const NOVIEWACTIVITYREDACTED = 57731 1223 const NOVIEWCLUSTERSETTING = 57732 1224 const NOWAIT = 57733 1225 const NULL = 57734 1226 const NULLIF = 57735 1227 const NULLS = 57736 1228 const NUMERIC = 57737 1229 const OF = 57738 1230 const OFF = 57739 1231 const OFFSET = 57740 1232 const OID = 57741 1233 const OIDS = 57742 1234 const OIDVECTOR = 57743 1235 const OLD_KMS = 57744 1236 const ON = 57745 1237 const ONLY = 57746 1238 const OPT = 57747 1239 const OPTION = 57748 1240 const OPTIONS = 57749 1241 const OR = 57750 1242 const ORDER = 57751 1243 const ORDINALITY = 57752 1244 const OTHERS = 57753 1245 const OUT = 57754 1246 const OUTER = 57755 1247 const OVER = 57756 1248 const OVERLAPS = 57757 1249 const OVERLAY = 57758 1250 const OWNED = 57759 1251 const OWNER = 57760 1252 const OPERATOR = 57761 1253 const PARALLEL = 57762 1254 const PARENT = 57763 1255 const PARTIAL = 57764 1256 const PARTITION = 57765 1257 const PARTITIONS = 57766 1258 const PASSWORD = 57767 1259 const PAUSE = 57768 1260 const PAUSED = 57769 1261 const PHYSICAL = 57770 1262 const PLACEMENT = 57771 1263 const PLACING = 57772 1264 const PLAN = 57773 1265 const PLANS = 57774 1266 const POINT = 57775 1267 const POINTM = 57776 1268 const POINTZ = 57777 1269 const POINTZM = 57778 1270 const POLYGON = 57779 1271 const POLYGONM = 57780 1272 const POLYGONZ = 57781 1273 const POLYGONZM = 57782 1274 const POSITION = 57783 1275 const PRECEDING = 57784 1276 const PRECISION = 57785 1277 const PREPARE = 57786 1278 const PRESERVE = 57787 1279 const PRIMARY = 57788 1280 const PRIOR = 57789 1281 const PRIORITY = 57790 1282 const PRIVILEGES = 57791 1283 const PROCEDURAL = 57792 1284 const PROCEDURE = 57793 1285 const PROCEDURES = 57794 1286 const PUBLIC = 57795 1287 const PUBLICATION = 57796 1288 const QUERIES = 57797 1289 const QUERY = 57798 1290 const QUOTE = 57799 1291 const RANGE = 57800 1292 const RANGES = 57801 1293 const READ = 57802 1294 const REAL = 57803 1295 const REASON = 57804 1296 const REASSIGN = 57805 1297 const RECURSIVE = 57806 1298 const RECURRING = 57807 1299 const REDACT = 57808 1300 const REF = 57809 1301 const REFERENCES = 57810 1302 const REFRESH = 57811 1303 const REGCLASS = 57812 1304 const REGION = 57813 1305 const REGIONAL = 57814 1306 const REGIONS = 57815 1307 const REGNAMESPACE = 57816 1308 const REGPROC = 57817 1309 const REGPROCEDURE = 57818 1310 const REGROLE = 57819 1311 const REGTYPE = 57820 1312 const REINDEX = 57821 1313 const RELATIVE = 57822 1314 const RELOCATE = 57823 1315 const REMOVE_PATH = 57824 1316 const REMOVE_REGIONS = 57825 1317 const RENAME = 57826 1318 const REPEATABLE = 57827 1319 const REPLACE = 57828 1320 const REPLICATION = 57829 1321 const RELEASE = 57830 1322 const RESET = 57831 1323 const RESTART = 57832 1324 const RESTORE = 57833 1325 const RESTRICT = 57834 1326 const RESTRICTED = 57835 1327 const RESUME = 57836 1328 const RETENTION = 57837 1329 const RETURNING = 57838 1330 const RETURN = 57839 1331 const RETURNS = 57840 1332 const RETRY = 57841 1333 const REVISION_HISTORY = 57842 1334 const REVOKE = 57843 1335 const RIGHT = 57844 1336 const ROLE = 57845 1337 const ROLES = 57846 1338 const ROLLBACK = 57847 1339 const ROLLUP = 57848 1340 const ROUTINES = 57849 1341 const ROW = 57850 1342 const ROWS = 57851 1343 const RSHIFT = 57852 1344 const RULE = 57853 1345 const RUNNING = 57854 1346 const SAVEPOINT = 57855 1347 const SCANS = 57856 1348 const SCATTER = 57857 1349 const SCHEDULE = 57858 1350 const SCHEDULES = 57859 1351 const SCROLL = 57860 1352 const SCHEMA = 57861 1353 const SCHEMA_ONLY = 57862 1354 const SCHEMAS = 57863 1355 const SCRUB = 57864 1356 const SEARCH = 57865 1357 const SECOND = 57866 1358 const SECONDARY = 57867 1359 const SECURITY = 57868 1360 const SELECT = 57869 1361 const SEQUENCE = 57870 1362 const SEQUENCES = 57871 1363 const SERIALIZABLE = 57872 1364 const SERVER = 57873 1365 const SERVICE = 57874 1366 const SESSION = 57875 1367 const SESSIONS = 57876 1368 const SESSION_USER = 57877 1369 const SET = 57878 1370 const SETOF = 57879 1371 const SETS = 57880 1372 const SETTING = 57881 1373 const SETTINGS = 57882 1374 const SHARE = 57883 1375 const SHARED = 57884 1376 const SHOW = 57885 1377 const SIMILAR = 57886 1378 const SIMPLE = 57887 1379 const SIZE = 57888 1380 const SKIP = 57889 1381 const SKIP_LOCALITIES_CHECK = 57890 1382 const SKIP_MISSING_FOREIGN_KEYS = 57891 1383 const SKIP_MISSING_SEQUENCES = 57892 1384 const SKIP_MISSING_SEQUENCE_OWNERS = 57893 1385 const SKIP_MISSING_VIEWS = 57894 1386 const SKIP_MISSING_UDFS = 57895 1387 const SMALLINT = 57896 1388 const SMALLSERIAL = 57897 1389 const SNAPSHOT = 57898 1390 const SOME = 57899 1391 const SPLIT = 57900 1392 const SQL = 57901 1393 const SQLLOGIN = 57902 1394 const STABLE = 57903 1395 const START = 57904 1396 const STATE = 57905 1397 const STATISTICS = 57906 1398 const STATUS = 57907 1399 const STDIN = 57908 1400 const STDOUT = 57909 1401 const STOP = 57910 1402 const STREAM = 57911 1403 const STRICT = 57912 1404 const STRING = 57913 1405 const STORAGE = 57914 1406 const STORE = 57915 1407 const STORED = 57916 1408 const STORING = 57917 1409 const SUBSTRING = 57918 1410 const SUPER = 57919 1411 const SUPPORT = 57920 1412 const SURVIVE = 57921 1413 const SURVIVAL = 57922 1414 const SYMMETRIC = 57923 1415 const SYNTAX = 57924 1416 const SYSTEM = 57925 1417 const SQRT = 57926 1418 const SUBSCRIPTION = 57927 1419 const STATEMENTS = 57928 1420 const TABLE = 57929 1421 const TABLES = 57930 1422 const TABLESPACE = 57931 1423 const TEMP = 57932 1424 const TEMPLATE = 57933 1425 const TEMPORARY = 57934 1426 const TENANT = 57935 1427 const TENANT_NAME = 57936 1428 const TENANTS = 57937 1429 const TESTING_RELOCATE = 57938 1430 const TEXT = 57939 1431 const THEN = 57940 1432 const TIES = 57941 1433 const TIME = 57942 1434 const TIMETZ = 57943 1435 const TIMESTAMP = 57944 1436 const TIMESTAMPTZ = 57945 1437 const TO = 57946 1438 const THROTTLING = 57947 1439 const TRAILING = 57948 1440 const TRACE = 57949 1441 const TRANSACTION = 57950 1442 const TRANSACTIONS = 57951 1443 const TRANSFER = 57952 1444 const TRANSFORM = 57953 1445 const TREAT = 57954 1446 const TRIGGER = 57955 1447 const TRIM = 57956 1448 const TRUE = 57957 1449 const TRUNCATE = 57958 1450 const TRUSTED = 57959 1451 const TYPE = 57960 1452 const TYPES = 57961 1453 const TRACING = 57962 1454 const UNBOUNDED = 57963 1455 const UNCOMMITTED = 57964 1456 const UNION = 57965 1457 const UNIQUE = 57966 1458 const UNKNOWN = 57967 1459 const UNLISTEN = 57968 1460 const UNLOGGED = 57969 1461 const UNSAFE_RESTORE_INCOMPATIBLE_VERSION = 57970 1462 const UNSPLIT = 57971 1463 const UPDATE = 57972 1464 const UPDATES_CLUSTER_MONITORING_METRICS = 57973 1465 const UPSERT = 57974 1466 const UNSET = 57975 1467 const UNTIL = 57976 1468 const USE = 57977 1469 const USER = 57978 1470 const USERS = 57979 1471 const USING = 57980 1472 const UUID = 57981 1473 const VALID = 57982 1474 const VALIDATE = 57983 1475 const VALUE = 57984 1476 const VALUES = 57985 1477 const VARBIT = 57986 1478 const VARCHAR = 57987 1479 const VARIADIC = 57988 1480 const VERIFY_BACKUP_TABLE_DATA = 57989 1481 const VIEW = 57990 1482 const VARYING = 57991 1483 const VIEWACTIVITY = 57992 1484 const VIEWACTIVITYREDACTED = 57993 1485 const VIEWDEBUG = 57994 1486 const VIEWCLUSTERMETADATA = 57995 1487 const VIEWCLUSTERSETTING = 57996 1488 const VIRTUAL = 57997 1489 const VISIBLE = 57998 1490 const INVISIBLE = 57999 1491 const VISIBILITY = 58000 1492 const VOLATILE = 58001 1493 const VOTERS = 58002 1494 const VIRTUAL_CLUSTER_NAME = 58003 1495 const VIRTUAL_CLUSTER = 58004 1496 const WHEN = 58005 1497 const WHERE = 58006 1498 const WINDOW = 58007 1499 const WITH = 58008 1500 const WITHIN = 58009 1501 const WITHOUT = 58010 1502 const WORK = 58011 1503 const WRITE = 58012 1504 const YEAR = 58013 1505 const ZONE = 58014 1506 const NOT_LA = 58015 1507 const NULLS_LA = 58016 1508 const WITH_LA = 58017 1509 const AS_LA = 58018 1510 const GENERATED_ALWAYS = 58019 1511 const GENERATED_BY_DEFAULT = 58020 1512 const RESET_ALL = 58021 1513 const ROLE_ALL = 58022 1514 const USER_ALL = 58023 1515 const ON_LA = 58024 1516 const TENANT_ALL = 58025 1517 const CLUSTER_ALL = 58026 1518 const SET_TRACING = 58027 1519 const CONTAINED_BY = 58028 1520 const POSTFIXOP = 58029 1521 const INTERVAL_SIMPLE = 58030 1522 const UMINUS = 58031 1523 const HELPTOKEN = 58032 1524 1525 var sqlToknames = [...]string{ 1526 "$end", 1527 "error", 1528 "$unk", 1529 "IDENT", 1530 "SCONST", 1531 "BCONST", 1532 "BITCONST", 1533 "ICONST", 1534 "FCONST", 1535 "PLACEHOLDER", 1536 "TYPECAST", 1537 "TYPEANNOTATE", 1538 "DOT_DOT", 1539 "LESS_EQUALS", 1540 "GREATER_EQUALS", 1541 "NOT_EQUALS", 1542 "NOT_REGMATCH", 1543 "REGIMATCH", 1544 "NOT_REGIMATCH", 1545 "ERROR", 1546 "ABORT", 1547 "ABSOLUTE", 1548 "ACCESS", 1549 "ACTION", 1550 "ADD", 1551 "ADMIN", 1552 "AFTER", 1553 "AGGREGATE", 1554 "ALL", 1555 "ALTER", 1556 "ALWAYS", 1557 "ANALYSE", 1558 "ANALYZE", 1559 "AND", 1560 "AND_AND", 1561 "ANY", 1562 "ANNOTATE_TYPE", 1563 "ARRAY", 1564 "AS", 1565 "ASC", 1566 "AS_JSON", 1567 "AT_AT", 1568 "ASENSITIVE", 1569 "ASYMMETRIC", 1570 "AT", 1571 "ATOMIC", 1572 "ATTRIBUTE", 1573 "AUTHORIZATION", 1574 "AUTOMATIC", 1575 "AVAILABILITY", 1576 "BACKUP", 1577 "BACKUPS", 1578 "BACKWARD", 1579 "BATCH", 1580 "BEFORE", 1581 "BEGIN", 1582 "BETWEEN", 1583 "BIGINT", 1584 "BIGSERIAL", 1585 "BINARY", 1586 "BIT", 1587 "BUCKET_COUNT", 1588 "BOOLEAN", 1589 "BOTH", 1590 "BOX2D", 1591 "BUNDLE", 1592 "BY", 1593 "CACHE", 1594 "CALL", 1595 "CALLED", 1596 "CANCEL", 1597 "CANCELQUERY", 1598 "CAPABILITIES", 1599 "CAPABILITY", 1600 "CASCADE", 1601 "CASE", 1602 "CAST", 1603 "CBRT", 1604 "CHANGEFEED", 1605 "CHAR", 1606 "CHARACTER", 1607 "CHARACTERISTICS", 1608 "CHECK", 1609 "CHECK_FILES", 1610 "CLOSE", 1611 "CLUSTER", 1612 "CLUSTERS", 1613 "COALESCE", 1614 "COLLATE", 1615 "COLLATION", 1616 "COLUMN", 1617 "COLUMNS", 1618 "COMMENT", 1619 "COMMENTS", 1620 "COMMIT", 1621 "COMMITTED", 1622 "COMPACT", 1623 "COMPLETE", 1624 "COMPLETIONS", 1625 "CONCAT", 1626 "CONCURRENTLY", 1627 "CONFIGURATION", 1628 "CONFIGURATIONS", 1629 "CONFIGURE", 1630 "CONFLICT", 1631 "CONNECTION", 1632 "CONNECTIONS", 1633 "CONSTRAINT", 1634 "CONSTRAINTS", 1635 "CONTAINS", 1636 "CONTROLCHANGEFEED", 1637 "CONTROLJOB", 1638 "CONVERSION", 1639 "CONVERT", 1640 "COPY", 1641 "COST", 1642 "COVERING", 1643 "CREATE", 1644 "CREATEDB", 1645 "CREATELOGIN", 1646 "CREATEROLE", 1647 "CROSS", 1648 "CSV", 1649 "CUBE", 1650 "CURRENT", 1651 "CURRENT_CATALOG", 1652 "CURRENT_DATE", 1653 "CURRENT_SCHEMA", 1654 "CURRENT_ROLE", 1655 "CURRENT_TIME", 1656 "CURRENT_TIMESTAMP", 1657 "CURRENT_USER", 1658 "CURSOR", 1659 "CYCLE", 1660 "DATA", 1661 "DATABASE", 1662 "DATABASES", 1663 "DATE", 1664 "DAY", 1665 "DEBUG_IDS", 1666 "DEBUG_PAUSE_ON", 1667 "DEC", 1668 "DEBUG_DUMP_METADATA_SST", 1669 "DECIMAL", 1670 "DEFAULT", 1671 "DEFAULTS", 1672 "DEFINER", 1673 "DEALLOCATE", 1674 "DECLARE", 1675 "DEFERRABLE", 1676 "DEFERRED", 1677 "DELETE", 1678 "DELIMITER", 1679 "DEPENDS", 1680 "DESC", 1681 "DESTINATION", 1682 "DETACHED", 1683 "DETAILS", 1684 "DISCARD", 1685 "DISTINCT", 1686 "DO", 1687 "DOMAIN", 1688 "DOUBLE", 1689 "DROP", 1690 "ELSE", 1691 "ENCODING", 1692 "ENCRYPTED", 1693 "ENCRYPTION_INFO_DIR", 1694 "ENCRYPTION_PASSPHRASE", 1695 "END", 1696 "ENUM", 1697 "ENUMS", 1698 "ESCAPE", 1699 "EXCEPT", 1700 "EXCLUDE", 1701 "EXCLUDING", 1702 "EXISTS", 1703 "EXECUTE", 1704 "EXECUTION", 1705 "EXPERIMENTAL", 1706 "EXPERIMENTAL_FINGERPRINTS", 1707 "EXPERIMENTAL_REPLICA", 1708 "EXPERIMENTAL_AUDIT", 1709 "EXPERIMENTAL_RELOCATE", 1710 "EXPIRATION", 1711 "EXPLAIN", 1712 "EXPORT", 1713 "EXTENSION", 1714 "EXTERNAL", 1715 "EXTRACT", 1716 "EXTRACT_DURATION", 1717 "EXTREMES", 1718 "FAILURE", 1719 "FALSE", 1720 "FAMILY", 1721 "FETCH", 1722 "FETCHVAL", 1723 "FETCHTEXT", 1724 "FETCHVAL_PATH", 1725 "FETCHTEXT_PATH", 1726 "FILES", 1727 "FILTER", 1728 "FIRST", 1729 "FLOAT", 1730 "FLOAT4", 1731 "FLOAT8", 1732 "FLOORDIV", 1733 "FOLLOWING", 1734 "FOR", 1735 "FORCE", 1736 "FORCE_INDEX", 1737 "FORCE_NOT_NULL", 1738 "FORCE_NULL", 1739 "FORCE_QUOTE", 1740 "FORCE_ZIGZAG", 1741 "FOREIGN", 1742 "FORMAT", 1743 "FORWARD", 1744 "FREEZE", 1745 "FROM", 1746 "FULL", 1747 "FUNCTION", 1748 "FUNCTIONS", 1749 "GENERATED", 1750 "GEOGRAPHY", 1751 "GEOMETRY", 1752 "GEOMETRYM", 1753 "GEOMETRYZ", 1754 "GEOMETRYZM", 1755 "GEOMETRYCOLLECTION", 1756 "GEOMETRYCOLLECTIONM", 1757 "GEOMETRYCOLLECTIONZ", 1758 "GEOMETRYCOLLECTIONZM", 1759 "GLOBAL", 1760 "GOAL", 1761 "GRANT", 1762 "GRANTEE", 1763 "GRANTS", 1764 "GREATEST", 1765 "GROUP", 1766 "GROUPING", 1767 "GROUPS", 1768 "HAVING", 1769 "HASH", 1770 "HEADER", 1771 "HIGH", 1772 "HISTOGRAM", 1773 "HOLD", 1774 "HOUR", 1775 "IDENTITY", 1776 "IF", 1777 "IFERROR", 1778 "IFNULL", 1779 "IGNORE_FOREIGN_KEYS", 1780 "ILIKE", 1781 "IMMEDIATE", 1782 "IMMUTABLE", 1783 "IMPORT", 1784 "IN", 1785 "INCLUDE", 1786 "INCLUDING", 1787 "INCLUDE_ALL_SECONDARY_TENANTS", 1788 "INCLUDE_ALL_VIRTUAL_CLUSTERS", 1789 "INCREMENT", 1790 "INCREMENTAL", 1791 "INCREMENTAL_LOCATION", 1792 "INET", 1793 "INET_CONTAINED_BY_OR_EQUALS", 1794 "INET_CONTAINS_OR_EQUALS", 1795 "INDEX", 1796 "INDEXES", 1797 "INHERITS", 1798 "INJECT", 1799 "INITIALLY", 1800 "INDEX_BEFORE_PAREN", 1801 "INDEX_BEFORE_NAME_THEN_PAREN", 1802 "INDEX_AFTER_ORDER_BY_BEFORE_AT", 1803 "INNER", 1804 "INOUT", 1805 "INPUT", 1806 "INSENSITIVE", 1807 "INSERT", 1808 "INT", 1809 "INTEGER", 1810 "INTERSECT", 1811 "INTERVAL", 1812 "INTO", 1813 "INTO_DB", 1814 "INVERTED", 1815 "INVOKER", 1816 "IS", 1817 "ISERROR", 1818 "ISNULL", 1819 "ISOLATION", 1820 "JOB", 1821 "JOBS", 1822 "JOIN", 1823 "JSON", 1824 "JSONB", 1825 "JSON_SOME_EXISTS", 1826 "JSON_ALL_EXISTS", 1827 "KEY", 1828 "KEYS", 1829 "KMS", 1830 "KV", 1831 "LABEL", 1832 "LANGUAGE", 1833 "LAST", 1834 "LATERAL", 1835 "LATEST", 1836 "LC_CTYPE", 1837 "LC_COLLATE", 1838 "LEADING", 1839 "LEASE", 1840 "LEAST", 1841 "LEAKPROOF", 1842 "LEFT", 1843 "LESS", 1844 "LEVEL", 1845 "LIKE", 1846 "LIMIT", 1847 "LINESTRING", 1848 "LINESTRINGM", 1849 "LINESTRINGZ", 1850 "LINESTRINGZM", 1851 "LIST", 1852 "LOCAL", 1853 "LOCALITY", 1854 "LOCALTIME", 1855 "LOCALTIMESTAMP", 1856 "LOCKED", 1857 "LOGIN", 1858 "LOOKUP", 1859 "LOW", 1860 "LSHIFT", 1861 "MATCH", 1862 "MATERIALIZED", 1863 "MERGE", 1864 "MINVALUE", 1865 "MAXVALUE", 1866 "METHOD", 1867 "MINUTE", 1868 "MODIFYCLUSTERSETTING", 1869 "MODIFYSQLCLUSTERSETTING", 1870 "MONTH", 1871 "MOVE", 1872 "MULTILINESTRING", 1873 "MULTILINESTRINGM", 1874 "MULTILINESTRINGZ", 1875 "MULTILINESTRINGZM", 1876 "MULTIPOINT", 1877 "MULTIPOINTM", 1878 "MULTIPOINTZ", 1879 "MULTIPOINTZM", 1880 "MULTIPOLYGON", 1881 "MULTIPOLYGONM", 1882 "MULTIPOLYGONZ", 1883 "MULTIPOLYGONZM", 1884 "NAN", 1885 "NAME", 1886 "NAMES", 1887 "NATURAL", 1888 "NEVER", 1889 "NEW_DB_NAME", 1890 "NEW_KMS", 1891 "NEXT", 1892 "NO", 1893 "NOCANCELQUERY", 1894 "NOCONTROLCHANGEFEED", 1895 "NOCONTROLJOB", 1896 "NOCREATEDB", 1897 "NOCREATELOGIN", 1898 "NOCREATEROLE", 1899 "NOLOGIN", 1900 "NOMODIFYCLUSTERSETTING", 1901 "NOREPLICATION", 1902 "NOSQLLOGIN", 1903 "NO_INDEX_JOIN", 1904 "NO_ZIGZAG_JOIN", 1905 "NO_FULL_SCAN", 1906 "NONE", 1907 "NONVOTERS", 1908 "NORMAL", 1909 "NOT", 1910 "NOTHING", 1911 "NOTHING_AFTER_RETURNING", 1912 "NOTNULL", 1913 "NOVIEWACTIVITY", 1914 "NOVIEWACTIVITYREDACTED", 1915 "NOVIEWCLUSTERSETTING", 1916 "NOWAIT", 1917 "NULL", 1918 "NULLIF", 1919 "NULLS", 1920 "NUMERIC", 1921 "OF", 1922 "OFF", 1923 "OFFSET", 1924 "OID", 1925 "OIDS", 1926 "OIDVECTOR", 1927 "OLD_KMS", 1928 "ON", 1929 "ONLY", 1930 "OPT", 1931 "OPTION", 1932 "OPTIONS", 1933 "OR", 1934 "ORDER", 1935 "ORDINALITY", 1936 "OTHERS", 1937 "OUT", 1938 "OUTER", 1939 "OVER", 1940 "OVERLAPS", 1941 "OVERLAY", 1942 "OWNED", 1943 "OWNER", 1944 "OPERATOR", 1945 "PARALLEL", 1946 "PARENT", 1947 "PARTIAL", 1948 "PARTITION", 1949 "PARTITIONS", 1950 "PASSWORD", 1951 "PAUSE", 1952 "PAUSED", 1953 "PHYSICAL", 1954 "PLACEMENT", 1955 "PLACING", 1956 "PLAN", 1957 "PLANS", 1958 "POINT", 1959 "POINTM", 1960 "POINTZ", 1961 "POINTZM", 1962 "POLYGON", 1963 "POLYGONM", 1964 "POLYGONZ", 1965 "POLYGONZM", 1966 "POSITION", 1967 "PRECEDING", 1968 "PRECISION", 1969 "PREPARE", 1970 "PRESERVE", 1971 "PRIMARY", 1972 "PRIOR", 1973 "PRIORITY", 1974 "PRIVILEGES", 1975 "PROCEDURAL", 1976 "PROCEDURE", 1977 "PROCEDURES", 1978 "PUBLIC", 1979 "PUBLICATION", 1980 "QUERIES", 1981 "QUERY", 1982 "QUOTE", 1983 "RANGE", 1984 "RANGES", 1985 "READ", 1986 "REAL", 1987 "REASON", 1988 "REASSIGN", 1989 "RECURSIVE", 1990 "RECURRING", 1991 "REDACT", 1992 "REF", 1993 "REFERENCES", 1994 "REFRESH", 1995 "REGCLASS", 1996 "REGION", 1997 "REGIONAL", 1998 "REGIONS", 1999 "REGNAMESPACE", 2000 "REGPROC", 2001 "REGPROCEDURE", 2002 "REGROLE", 2003 "REGTYPE", 2004 "REINDEX", 2005 "RELATIVE", 2006 "RELOCATE", 2007 "REMOVE_PATH", 2008 "REMOVE_REGIONS", 2009 "RENAME", 2010 "REPEATABLE", 2011 "REPLACE", 2012 "REPLICATION", 2013 "RELEASE", 2014 "RESET", 2015 "RESTART", 2016 "RESTORE", 2017 "RESTRICT", 2018 "RESTRICTED", 2019 "RESUME", 2020 "RETENTION", 2021 "RETURNING", 2022 "RETURN", 2023 "RETURNS", 2024 "RETRY", 2025 "REVISION_HISTORY", 2026 "REVOKE", 2027 "RIGHT", 2028 "ROLE", 2029 "ROLES", 2030 "ROLLBACK", 2031 "ROLLUP", 2032 "ROUTINES", 2033 "ROW", 2034 "ROWS", 2035 "RSHIFT", 2036 "RULE", 2037 "RUNNING", 2038 "SAVEPOINT", 2039 "SCANS", 2040 "SCATTER", 2041 "SCHEDULE", 2042 "SCHEDULES", 2043 "SCROLL", 2044 "SCHEMA", 2045 "SCHEMA_ONLY", 2046 "SCHEMAS", 2047 "SCRUB", 2048 "SEARCH", 2049 "SECOND", 2050 "SECONDARY", 2051 "SECURITY", 2052 "SELECT", 2053 "SEQUENCE", 2054 "SEQUENCES", 2055 "SERIALIZABLE", 2056 "SERVER", 2057 "SERVICE", 2058 "SESSION", 2059 "SESSIONS", 2060 "SESSION_USER", 2061 "SET", 2062 "SETOF", 2063 "SETS", 2064 "SETTING", 2065 "SETTINGS", 2066 "SHARE", 2067 "SHARED", 2068 "SHOW", 2069 "SIMILAR", 2070 "SIMPLE", 2071 "SIZE", 2072 "SKIP", 2073 "SKIP_LOCALITIES_CHECK", 2074 "SKIP_MISSING_FOREIGN_KEYS", 2075 "SKIP_MISSING_SEQUENCES", 2076 "SKIP_MISSING_SEQUENCE_OWNERS", 2077 "SKIP_MISSING_VIEWS", 2078 "SKIP_MISSING_UDFS", 2079 "SMALLINT", 2080 "SMALLSERIAL", 2081 "SNAPSHOT", 2082 "SOME", 2083 "SPLIT", 2084 "SQL", 2085 "SQLLOGIN", 2086 "STABLE", 2087 "START", 2088 "STATE", 2089 "STATISTICS", 2090 "STATUS", 2091 "STDIN", 2092 "STDOUT", 2093 "STOP", 2094 "STREAM", 2095 "STRICT", 2096 "STRING", 2097 "STORAGE", 2098 "STORE", 2099 "STORED", 2100 "STORING", 2101 "SUBSTRING", 2102 "SUPER", 2103 "SUPPORT", 2104 "SURVIVE", 2105 "SURVIVAL", 2106 "SYMMETRIC", 2107 "SYNTAX", 2108 "SYSTEM", 2109 "SQRT", 2110 "SUBSCRIPTION", 2111 "STATEMENTS", 2112 "TABLE", 2113 "TABLES", 2114 "TABLESPACE", 2115 "TEMP", 2116 "TEMPLATE", 2117 "TEMPORARY", 2118 "TENANT", 2119 "TENANT_NAME", 2120 "TENANTS", 2121 "TESTING_RELOCATE", 2122 "TEXT", 2123 "THEN", 2124 "TIES", 2125 "TIME", 2126 "TIMETZ", 2127 "TIMESTAMP", 2128 "TIMESTAMPTZ", 2129 "TO", 2130 "THROTTLING", 2131 "TRAILING", 2132 "TRACE", 2133 "TRANSACTION", 2134 "TRANSACTIONS", 2135 "TRANSFER", 2136 "TRANSFORM", 2137 "TREAT", 2138 "TRIGGER", 2139 "TRIM", 2140 "TRUE", 2141 "TRUNCATE", 2142 "TRUSTED", 2143 "TYPE", 2144 "TYPES", 2145 "TRACING", 2146 "UNBOUNDED", 2147 "UNCOMMITTED", 2148 "UNION", 2149 "UNIQUE", 2150 "UNKNOWN", 2151 "UNLISTEN", 2152 "UNLOGGED", 2153 "UNSAFE_RESTORE_INCOMPATIBLE_VERSION", 2154 "UNSPLIT", 2155 "UPDATE", 2156 "UPDATES_CLUSTER_MONITORING_METRICS", 2157 "UPSERT", 2158 "UNSET", 2159 "UNTIL", 2160 "USE", 2161 "USER", 2162 "USERS", 2163 "USING", 2164 "UUID", 2165 "VALID", 2166 "VALIDATE", 2167 "VALUE", 2168 "VALUES", 2169 "VARBIT", 2170 "VARCHAR", 2171 "VARIADIC", 2172 "VERIFY_BACKUP_TABLE_DATA", 2173 "VIEW", 2174 "VARYING", 2175 "VIEWACTIVITY", 2176 "VIEWACTIVITYREDACTED", 2177 "VIEWDEBUG", 2178 "VIEWCLUSTERMETADATA", 2179 "VIEWCLUSTERSETTING", 2180 "VIRTUAL", 2181 "VISIBLE", 2182 "INVISIBLE", 2183 "VISIBILITY", 2184 "VOLATILE", 2185 "VOTERS", 2186 "VIRTUAL_CLUSTER_NAME", 2187 "VIRTUAL_CLUSTER", 2188 "WHEN", 2189 "WHERE", 2190 "WINDOW", 2191 "WITH", 2192 "WITHIN", 2193 "WITHOUT", 2194 "WORK", 2195 "WRITE", 2196 "YEAR", 2197 "ZONE", 2198 "NOT_LA", 2199 "NULLS_LA", 2200 "WITH_LA", 2201 "AS_LA", 2202 "GENERATED_ALWAYS", 2203 "GENERATED_BY_DEFAULT", 2204 "RESET_ALL", 2205 "ROLE_ALL", 2206 "USER_ALL", 2207 "ON_LA", 2208 "TENANT_ALL", 2209 "CLUSTER_ALL", 2210 "SET_TRACING", 2211 "'<'", 2212 "'>'", 2213 "'='", 2214 "'~'", 2215 "CONTAINED_BY", 2216 "'?'", 2217 "POSTFIXOP", 2218 "'|'", 2219 "'#'", 2220 "'&'", 2221 "'+'", 2222 "'-'", 2223 "'*'", 2224 "'/'", 2225 "'%'", 2226 "'^'", 2227 "INTERVAL_SIMPLE", 2228 "UMINUS", 2229 "'['", 2230 "']'", 2231 "'('", 2232 "')'", 2233 "'.'", 2234 "HELPTOKEN", 2235 "'@'", 2236 "','", 2237 "';'", 2238 "'{'", 2239 "'}'", 2240 "':'", 2241 } 2242 2243 var sqlStatenames = [...]string{} 2244 2245 const sqlEofCode = 1 2246 const sqlErrCode = 2 2247 const sqlInitialStackSize = 16 2248 2249 //line sql-gen.y:18061 2250 2251 //line yacctab:1 2252 var sqlExca = [...]int16{ 2253 -1, 0, 2254 1, 5, 2255 -2, 2171, 2256 -1, 1, 2257 1, -1, 2258 -2, 0, 2259 -1, 67, 2260 307, 668, 2261 -2, 0, 2262 -1, 79, 2263 8, 1232, 2264 29, 1232, 2265 696, 1232, 2266 697, 1232, 2267 -2, 0, 2268 -1, 80, 2269 8, 1232, 2270 29, 1232, 2271 696, 1232, 2272 697, 1232, 2273 -2, 0, 2274 -1, 83, 2275 182, 1404, 2276 305, 1404, 2277 455, 1358, 2278 534, 1358, 2279 586, 1358, 2280 607, 1404, 2281 609, 1358, 2282 -2, 0, 2283 -1, 84, 2284 1, 2015, 2285 150, 2015, 2286 294, 2015, 2287 384, 2015, 2288 448, 2015, 2289 460, 2015, 2290 676, 2015, 2291 709, 2015, 2292 -2, 0, 2293 -1, 85, 2294 1, 2015, 2295 709, 2015, 2296 -2, 0, 2297 -1, 91, 2298 287, 305, 2299 604, 305, 2300 -2, 0, 2301 -1, 106, 2302 222, 558, 2303 270, 1887, 2304 289, 1887, 2305 307, 558, 2306 450, 558, 2307 451, 558, 2308 464, 1621, 2309 511, 558, 2310 528, 1621, 2311 587, 1621, 2312 617, 558, 2313 648, 1621, 2314 -2, 0, 2315 -1, 114, 2316 152, 2171, 2317 282, 2171, 2318 630, 2171, 2319 632, 2171, 2320 -2, 0, 2321 -1, 132, 2322 174, 2142, 2323 196, 2142, 2324 209, 2142, 2325 285, 2142, 2326 321, 2142, 2327 398, 2142, 2328 409, 2142, 2329 623, 2142, 2330 -2, 2113, 2331 -1, 182, 2332 4, 2173, 2333 21, 2173, 2334 22, 2173, 2335 23, 2173, 2336 24, 2173, 2337 25, 2173, 2338 26, 2173, 2339 27, 2173, 2340 28, 2173, 2341 30, 2173, 2342 31, 2173, 2343 37, 2173, 2344 41, 2173, 2345 43, 2173, 2346 45, 2173, 2347 46, 2173, 2348 47, 2173, 2349 49, 2173, 2350 50, 2173, 2351 51, 2173, 2352 52, 2173, 2353 53, 2173, 2354 54, 2173, 2355 55, 2173, 2356 56, 2173, 2357 57, 2173, 2358 58, 2173, 2359 60, 2173, 2360 61, 2173, 2361 62, 2173, 2362 63, 2173, 2363 65, 2173, 2364 66, 2173, 2365 67, 2173, 2366 68, 2173, 2367 69, 2173, 2368 70, 2173, 2369 71, 2173, 2370 72, 2173, 2371 73, 2173, 2372 74, 2173, 2373 75, 2173, 2374 79, 2173, 2375 80, 2173, 2376 81, 2173, 2377 82, 2173, 2378 84, 2173, 2379 85, 2173, 2380 86, 2173, 2381 87, 2173, 2382 88, 2173, 2383 92, 2173, 2384 93, 2173, 2385 94, 2173, 2386 95, 2173, 2387 96, 2173, 2388 97, 2173, 2389 98, 2173, 2390 99, 2173, 2391 102, 2173, 2392 103, 2173, 2393 104, 2173, 2394 105, 2173, 2395 106, 2173, 2396 107, 2173, 2397 109, 2173, 2398 111, 2173, 2399 112, 2173, 2400 113, 2173, 2401 114, 2173, 2402 115, 2173, 2403 116, 2173, 2404 117, 2173, 2405 119, 2173, 2406 120, 2173, 2407 121, 2173, 2408 123, 2173, 2409 124, 2173, 2410 125, 2173, 2411 133, 2173, 2412 134, 2173, 2413 135, 2173, 2414 136, 2173, 2415 137, 2173, 2416 139, 2173, 2417 140, 2173, 2418 141, 2173, 2419 142, 2173, 2420 143, 2173, 2421 144, 2173, 2422 146, 2173, 2423 147, 2173, 2424 148, 2173, 2425 149, 2173, 2426 151, 2173, 2427 152, 2173, 2428 153, 2173, 2429 154, 2173, 2430 156, 2173, 2431 157, 2173, 2432 158, 2173, 2433 159, 2173, 2434 162, 2173, 2435 163, 2173, 2436 164, 2173, 2437 166, 2173, 2438 167, 2173, 2439 168, 2173, 2440 169, 2173, 2441 171, 2173, 2442 172, 2173, 2443 173, 2173, 2444 175, 2173, 2445 176, 2173, 2446 177, 2173, 2447 178, 2173, 2448 179, 2173, 2449 180, 2173, 2450 181, 2173, 2451 182, 2173, 2452 183, 2173, 2453 184, 2173, 2454 185, 2173, 2455 186, 2173, 2456 187, 2173, 2457 188, 2173, 2458 189, 2173, 2459 190, 2173, 2460 191, 2173, 2461 192, 2173, 2462 193, 2173, 2463 195, 2173, 2464 201, 2173, 2465 202, 2173, 2466 203, 2173, 2467 204, 2173, 2468 208, 2173, 2469 210, 2173, 2470 211, 2173, 2471 212, 2173, 2472 213, 2173, 2473 214, 2173, 2474 215, 2173, 2475 217, 2173, 2476 218, 2173, 2477 219, 2173, 2478 222, 2173, 2479 223, 2173, 2480 224, 2173, 2481 225, 2173, 2482 226, 2173, 2483 227, 2173, 2484 228, 2173, 2485 229, 2173, 2486 230, 2173, 2487 231, 2173, 2488 232, 2173, 2489 233, 2173, 2490 234, 2173, 2491 235, 2173, 2492 237, 2173, 2493 238, 2173, 2494 239, 2173, 2495 241, 2173, 2496 242, 2173, 2497 244, 2173, 2498 245, 2173, 2499 246, 2173, 2500 247, 2173, 2501 248, 2173, 2502 249, 2173, 2503 250, 2173, 2504 251, 2173, 2505 252, 2173, 2506 253, 2173, 2507 254, 2173, 2508 256, 2173, 2509 257, 2173, 2510 258, 2173, 2511 260, 2173, 2512 261, 2173, 2513 262, 2173, 2514 263, 2173, 2515 264, 2173, 2516 265, 2173, 2517 266, 2173, 2518 270, 2173, 2519 271, 2173, 2520 272, 2173, 2521 273, 2173, 2522 275, 2173, 2523 276, 2173, 2524 277, 2173, 2525 279, 2173, 2526 280, 2173, 2527 281, 2173, 2528 282, 2173, 2529 283, 2173, 2530 284, 2173, 2531 286, 2173, 2532 288, 2173, 2533 289, 2173, 2534 290, 2173, 2535 292, 2173, 2536 294, 2173, 2537 295, 2173, 2538 296, 2173, 2539 298, 2173, 2540 302, 2173, 2541 303, 2173, 2542 304, 2173, 2543 305, 2173, 2544 306, 2173, 2545 307, 2173, 2546 308, 2173, 2547 310, 2173, 2548 311, 2173, 2549 312, 2173, 2550 314, 2173, 2551 315, 2173, 2552 316, 2173, 2553 318, 2173, 2554 319, 2173, 2555 322, 2173, 2556 323, 2173, 2557 324, 2173, 2558 325, 2173, 2559 326, 2173, 2560 327, 2173, 2561 328, 2173, 2562 331, 2173, 2563 332, 2173, 2564 333, 2173, 2565 334, 2173, 2566 336, 2173, 2567 337, 2173, 2568 338, 2173, 2569 339, 2173, 2570 340, 2173, 2571 341, 2173, 2572 342, 2173, 2573 343, 2173, 2574 344, 2173, 2575 345, 2173, 2576 346, 2173, 2577 347, 2173, 2578 348, 2173, 2579 349, 2173, 2580 350, 2173, 2581 351, 2173, 2582 352, 2173, 2583 353, 2173, 2584 354, 2173, 2585 355, 2173, 2586 356, 2173, 2587 357, 2173, 2588 358, 2173, 2589 359, 2173, 2590 361, 2173, 2591 363, 2173, 2592 364, 2173, 2593 365, 2173, 2594 366, 2173, 2595 367, 2173, 2596 368, 2173, 2597 369, 2173, 2598 370, 2173, 2599 371, 2173, 2600 372, 2173, 2601 373, 2173, 2602 374, 2173, 2603 375, 2173, 2604 376, 2173, 2605 377, 2173, 2606 378, 2173, 2607 379, 2173, 2608 380, 2173, 2609 382, 2173, 2610 383, 2173, 2611 385, 2173, 2612 386, 2173, 2613 388, 2173, 2614 389, 2173, 2615 390, 2173, 2616 391, 2173, 2617 393, 2173, 2618 394, 2173, 2619 395, 2173, 2620 396, 2173, 2621 397, 2173, 2622 400, 2173, 2623 402, 2173, 2624 404, 2173, 2625 405, 2173, 2626 406, 2173, 2627 407, 2173, 2628 410, 2173, 2629 411, 2173, 2630 412, 2173, 2631 414, 2173, 2632 416, 2173, 2633 417, 2173, 2634 418, 2173, 2635 419, 2173, 2636 420, 2173, 2637 421, 2173, 2638 422, 2173, 2639 423, 2173, 2640 424, 2173, 2641 425, 2173, 2642 426, 2173, 2643 427, 2173, 2644 428, 2173, 2645 429, 2173, 2646 431, 2173, 2647 432, 2173, 2648 433, 2173, 2649 434, 2173, 2650 435, 2173, 2651 436, 2173, 2652 437, 2173, 2653 438, 2173, 2654 439, 2173, 2655 440, 2173, 2656 441, 2173, 2657 442, 2173, 2658 443, 2173, 2659 444, 2173, 2660 445, 2173, 2661 447, 2173, 2662 448, 2173, 2663 449, 2173, 2664 451, 2173, 2665 452, 2173, 2666 453, 2173, 2667 454, 2173, 2668 455, 2173, 2669 456, 2173, 2670 457, 2173, 2671 458, 2173, 2672 459, 2173, 2673 460, 2173, 2674 461, 2173, 2675 462, 2173, 2676 463, 2173, 2677 464, 2173, 2678 465, 2173, 2679 466, 2173, 2680 467, 2173, 2681 469, 2173, 2682 471, 2173, 2683 472, 2173, 2684 473, 2173, 2685 479, 2173, 2686 480, 2173, 2687 481, 2173, 2688 483, 2173, 2689 484, 2173, 2690 485, 2173, 2691 486, 2173, 2692 487, 2173, 2693 488, 2173, 2694 489, 2173, 2695 490, 2173, 2696 491, 2173, 2697 492, 2173, 2698 493, 2173, 2699 494, 2173, 2700 495, 2173, 2701 497, 2173, 2702 498, 2173, 2703 499, 2173, 2704 500, 2173, 2705 501, 2173, 2706 503, 2173, 2707 504, 2173, 2708 505, 2173, 2709 506, 2173, 2710 507, 2173, 2711 508, 2173, 2712 509, 2173, 2713 511, 2173, 2714 512, 2173, 2715 513, 2173, 2716 514, 2173, 2717 515, 2173, 2718 516, 2173, 2719 517, 2173, 2720 518, 2173, 2721 519, 2173, 2722 520, 2173, 2723 521, 2173, 2724 522, 2173, 2725 523, 2173, 2726 524, 2173, 2727 525, 2173, 2728 526, 2173, 2729 528, 2173, 2730 529, 2173, 2731 530, 2173, 2732 531, 2173, 2733 532, 2173, 2734 533, 2173, 2735 534, 2173, 2736 536, 2173, 2737 537, 2173, 2738 538, 2173, 2739 539, 2173, 2740 540, 2173, 2741 541, 2173, 2742 542, 2173, 2743 543, 2173, 2744 545, 2173, 2745 546, 2173, 2746 547, 2173, 2747 548, 2173, 2748 549, 2173, 2749 550, 2173, 2750 551, 2173, 2751 552, 2173, 2752 553, 2173, 2753 554, 2173, 2754 556, 2173, 2755 558, 2173, 2756 559, 2173, 2757 560, 2173, 2758 561, 2173, 2759 562, 2173, 2760 563, 2173, 2761 564, 2173, 2762 565, 2173, 2763 566, 2173, 2764 567, 2173, 2765 568, 2173, 2766 569, 2173, 2767 570, 2173, 2768 571, 2173, 2769 572, 2173, 2770 573, 2173, 2771 574, 2173, 2772 575, 2173, 2773 576, 2173, 2774 577, 2173, 2775 578, 2173, 2776 579, 2173, 2777 580, 2173, 2778 582, 2173, 2779 583, 2173, 2780 585, 2173, 2781 586, 2173, 2782 588, 2173, 2783 589, 2173, 2784 590, 2173, 2785 591, 2173, 2786 592, 2173, 2787 593, 2173, 2788 594, 2173, 2789 595, 2173, 2790 596, 2173, 2791 597, 2173, 2792 599, 2173, 2793 600, 2173, 2794 601, 2173, 2795 602, 2173, 2796 603, 2173, 2797 605, 2173, 2798 607, 2173, 2799 608, 2173, 2800 609, 2173, 2801 610, 2173, 2802 611, 2173, 2803 612, 2173, 2804 613, 2173, 2805 614, 2173, 2806 616, 2173, 2807 617, 2173, 2808 618, 2173, 2809 619, 2173, 2810 620, 2173, 2811 621, 2173, 2812 622, 2173, 2813 625, 2173, 2814 626, 2173, 2815 627, 2173, 2816 628, 2173, 2817 629, 2173, 2818 630, 2173, 2819 631, 2173, 2820 632, 2173, 2821 633, 2173, 2822 634, 2173, 2823 635, 2173, 2824 637, 2173, 2825 640, 2173, 2826 641, 2173, 2827 642, 2173, 2828 643, 2173, 2829 644, 2173, 2830 645, 2173, 2831 647, 2173, 2832 648, 2173, 2833 649, 2173, 2834 650, 2173, 2835 651, 2173, 2836 652, 2173, 2837 653, 2173, 2838 654, 2173, 2839 655, 2173, 2840 656, 2173, 2841 657, 2173, 2842 658, 2173, 2843 659, 2173, 2844 660, 2173, 2845 661, 2173, 2846 662, 2173, 2847 667, 2173, 2848 668, 2173, 2849 669, 2173, 2850 670, 2173, 2851 671, 2173, 2852 672, 2173, 2853 -2, 0, 2854 -1, 184, 2855 1, 2015, 2856 709, 2015, 2857 712, 2015, 2858 -2, 0, 2859 -1, 185, 2860 1, 2015, 2861 604, 2015, 2862 709, 2015, 2863 712, 2015, 2864 -2, 0, 2865 -1, 231, 2866 174, 2141, 2867 196, 2141, 2868 209, 2141, 2869 285, 2141, 2870 321, 2141, 2871 398, 2141, 2872 409, 2141, 2873 623, 2141, 2874 -2, 2116, 2875 -1, 295, 2876 4, 2180, 2877 5, 2180, 2878 6, 2180, 2879 7, 2180, 2880 8, 2180, 2881 9, 2180, 2882 10, 2180, 2883 21, 2180, 2884 22, 2180, 2885 23, 2180, 2886 24, 2180, 2887 25, 2180, 2888 26, 2180, 2889 27, 2180, 2890 28, 2180, 2891 30, 2180, 2892 31, 2180, 2893 37, 2180, 2894 38, 2180, 2895 41, 2180, 2896 43, 2180, 2897 45, 2180, 2898 46, 2180, 2899 47, 2180, 2900 48, 2180, 2901 49, 2180, 2902 50, 2180, 2903 51, 2180, 2904 52, 2180, 2905 53, 2180, 2906 54, 2180, 2907 55, 2180, 2908 56, 2180, 2909 57, 2180, 2910 58, 2180, 2911 60, 2180, 2912 61, 2180, 2913 62, 2180, 2914 63, 2180, 2915 65, 2180, 2916 66, 2180, 2917 67, 2180, 2918 68, 2180, 2919 69, 2180, 2920 70, 2180, 2921 71, 2180, 2922 72, 2180, 2923 73, 2180, 2924 74, 2180, 2925 75, 2180, 2926 76, 2180, 2927 77, 2180, 2928 78, 2180, 2929 79, 2180, 2930 80, 2180, 2931 81, 2180, 2932 82, 2180, 2933 84, 2180, 2934 85, 2180, 2935 86, 2180, 2936 87, 2180, 2937 88, 2180, 2938 90, 2180, 2939 92, 2180, 2940 93, 2180, 2941 94, 2180, 2942 95, 2180, 2943 96, 2180, 2944 97, 2180, 2945 98, 2180, 2946 99, 2180, 2947 102, 2180, 2948 103, 2180, 2949 104, 2180, 2950 105, 2180, 2951 106, 2180, 2952 107, 2180, 2953 109, 2180, 2954 111, 2180, 2955 112, 2180, 2956 113, 2180, 2957 114, 2180, 2958 115, 2180, 2959 116, 2180, 2960 117, 2180, 2961 119, 2180, 2962 120, 2180, 2963 121, 2180, 2964 122, 2180, 2965 123, 2180, 2966 124, 2180, 2967 125, 2180, 2968 126, 2180, 2969 127, 2180, 2970 128, 2180, 2971 129, 2180, 2972 130, 2180, 2973 131, 2180, 2974 132, 2180, 2975 133, 2180, 2976 134, 2180, 2977 135, 2180, 2978 136, 2180, 2979 137, 2180, 2980 138, 2180, 2981 139, 2180, 2982 140, 2180, 2983 141, 2180, 2984 142, 2180, 2985 143, 2180, 2986 144, 2180, 2987 145, 2180, 2988 146, 2180, 2989 147, 2180, 2990 148, 2180, 2991 149, 2180, 2992 151, 2180, 2993 152, 2180, 2994 153, 2180, 2995 154, 2180, 2996 156, 2180, 2997 157, 2180, 2998 158, 2180, 2999 159, 2180, 3000 162, 2180, 3001 163, 2180, 3002 164, 2180, 3003 166, 2180, 3004 167, 2180, 3005 168, 2180, 3006 169, 2180, 3007 171, 2180, 3008 172, 2180, 3009 173, 2180, 3010 175, 2180, 3011 176, 2180, 3012 177, 2180, 3013 178, 2180, 3014 179, 2180, 3015 180, 2180, 3016 181, 2180, 3017 182, 2180, 3018 183, 2180, 3019 184, 2180, 3020 185, 2180, 3021 186, 2180, 3022 187, 2180, 3023 188, 2180, 3024 189, 2180, 3025 190, 2180, 3026 191, 2180, 3027 192, 2180, 3028 193, 2180, 3029 194, 2180, 3030 195, 2180, 3031 201, 2180, 3032 202, 2180, 3033 203, 2180, 3034 204, 2180, 3035 208, 2180, 3036 210, 2180, 3037 211, 2180, 3038 212, 2180, 3039 213, 2180, 3040 214, 2180, 3041 215, 2180, 3042 217, 2180, 3043 218, 2180, 3044 219, 2180, 3045 221, 2180, 3046 222, 2180, 3047 223, 2180, 3048 224, 2180, 3049 225, 2180, 3050 226, 2180, 3051 227, 2180, 3052 228, 2180, 3053 229, 2180, 3054 230, 2180, 3055 231, 2180, 3056 232, 2180, 3057 233, 2180, 3058 234, 2180, 3059 235, 2180, 3060 237, 2180, 3061 238, 2180, 3062 239, 2180, 3063 241, 2180, 3064 242, 2180, 3065 244, 2180, 3066 245, 2180, 3067 246, 2180, 3068 247, 2180, 3069 248, 2180, 3070 249, 2180, 3071 250, 2180, 3072 251, 2180, 3073 252, 2180, 3074 253, 2180, 3075 254, 2180, 3076 255, 2180, 3077 256, 2180, 3078 257, 2180, 3079 258, 2180, 3080 260, 2180, 3081 261, 2180, 3082 262, 2180, 3083 263, 2180, 3084 264, 2180, 3085 265, 2180, 3086 266, 2180, 3087 270, 2180, 3088 271, 2180, 3089 272, 2180, 3090 273, 2180, 3091 275, 2180, 3092 276, 2180, 3093 277, 2180, 3094 278, 2180, 3095 279, 2180, 3096 280, 2180, 3097 281, 2180, 3098 282, 2180, 3099 283, 2180, 3100 284, 2180, 3101 286, 2180, 3102 288, 2180, 3103 289, 2180, 3104 290, 2180, 3105 291, 2180, 3106 292, 2180, 3107 293, 2180, 3108 294, 2180, 3109 295, 2180, 3110 296, 2180, 3111 297, 2180, 3112 298, 2180, 3113 302, 2180, 3114 303, 2180, 3115 304, 2180, 3116 305, 2180, 3117 306, 2180, 3118 307, 2180, 3119 308, 2180, 3120 310, 2180, 3121 311, 2180, 3122 312, 2180, 3123 314, 2180, 3124 315, 2180, 3125 316, 2180, 3126 317, 2180, 3127 318, 2180, 3128 319, 2180, 3129 320, 2180, 3130 322, 2180, 3131 323, 2180, 3132 324, 2180, 3133 325, 2180, 3134 326, 2180, 3135 327, 2180, 3136 328, 2180, 3137 329, 2180, 3138 330, 2180, 3139 331, 2180, 3140 332, 2180, 3141 333, 2180, 3142 334, 2180, 3143 336, 2180, 3144 337, 2180, 3145 338, 2180, 3146 339, 2180, 3147 340, 2180, 3148 341, 2180, 3149 342, 2180, 3150 343, 2180, 3151 344, 2180, 3152 345, 2180, 3153 346, 2180, 3154 347, 2180, 3155 348, 2180, 3156 349, 2180, 3157 350, 2180, 3158 351, 2180, 3159 352, 2180, 3160 353, 2180, 3161 354, 2180, 3162 355, 2180, 3163 356, 2180, 3164 357, 2180, 3165 358, 2180, 3166 359, 2180, 3167 361, 2180, 3168 362, 2180, 3169 363, 2180, 3170 364, 2180, 3171 365, 2180, 3172 366, 2180, 3173 367, 2180, 3174 368, 2180, 3175 369, 2180, 3176 370, 2180, 3177 371, 2180, 3178 372, 2180, 3179 373, 2180, 3180 374, 2180, 3181 375, 2180, 3182 376, 2180, 3183 377, 2180, 3184 378, 2180, 3185 379, 2180, 3186 380, 2180, 3187 381, 2180, 3188 382, 2180, 3189 383, 2180, 3190 384, 2180, 3191 385, 2180, 3192 386, 2180, 3193 387, 2180, 3194 388, 2180, 3195 389, 2180, 3196 390, 2180, 3197 391, 2180, 3198 392, 2180, 3199 393, 2180, 3200 394, 2180, 3201 395, 2180, 3202 396, 2180, 3203 397, 2180, 3204 400, 2180, 3205 402, 2180, 3206 405, 2180, 3207 406, 2180, 3208 407, 2180, 3209 410, 2180, 3210 411, 2180, 3211 412, 2180, 3212 413, 2180, 3213 414, 2180, 3214 415, 2180, 3215 416, 2180, 3216 417, 2180, 3217 418, 2180, 3218 419, 2180, 3219 420, 2180, 3220 421, 2180, 3221 422, 2180, 3222 423, 2180, 3223 424, 2180, 3224 425, 2180, 3225 426, 2180, 3226 427, 2180, 3227 428, 2180, 3228 429, 2180, 3229 431, 2180, 3230 432, 2180, 3231 433, 2180, 3232 434, 2180, 3233 435, 2180, 3234 436, 2180, 3235 437, 2180, 3236 438, 2180, 3237 439, 2180, 3238 440, 2180, 3239 441, 2180, 3240 442, 2180, 3241 443, 2180, 3242 444, 2180, 3243 445, 2180, 3244 447, 2180, 3245 448, 2180, 3246 449, 2180, 3247 451, 2180, 3248 452, 2180, 3249 453, 2180, 3250 454, 2180, 3251 455, 2180, 3252 456, 2180, 3253 457, 2180, 3254 458, 2180, 3255 459, 2180, 3256 460, 2180, 3257 461, 2180, 3258 462, 2180, 3259 463, 2180, 3260 464, 2180, 3261 465, 2180, 3262 466, 2180, 3263 467, 2180, 3264 469, 2180, 3265 471, 2180, 3266 472, 2180, 3267 473, 2180, 3268 479, 2180, 3269 480, 2180, 3270 481, 2180, 3271 483, 2180, 3272 484, 2180, 3273 485, 2180, 3274 486, 2180, 3275 487, 2180, 3276 488, 2180, 3277 489, 2180, 3278 490, 2180, 3279 491, 2180, 3280 492, 2180, 3281 493, 2180, 3282 494, 2180, 3283 495, 2180, 3284 497, 2180, 3285 498, 2180, 3286 499, 2180, 3287 500, 2180, 3288 501, 2180, 3289 502, 2180, 3290 503, 2180, 3291 504, 2180, 3292 505, 2180, 3293 506, 2180, 3294 507, 2180, 3295 508, 2180, 3296 509, 2180, 3297 511, 2180, 3298 512, 2180, 3299 513, 2180, 3300 514, 2180, 3301 515, 2180, 3302 516, 2180, 3303 517, 2180, 3304 518, 2180, 3305 519, 2180, 3306 520, 2180, 3307 521, 2180, 3308 522, 2180, 3309 523, 2180, 3310 524, 2180, 3311 525, 2180, 3312 526, 2180, 3313 528, 2180, 3314 529, 2180, 3315 530, 2180, 3316 531, 2180, 3317 532, 2180, 3318 533, 2180, 3319 534, 2180, 3320 535, 2180, 3321 536, 2180, 3322 537, 2180, 3323 538, 2180, 3324 539, 2180, 3325 540, 2180, 3326 541, 2180, 3327 542, 2180, 3328 543, 2180, 3329 544, 2180, 3330 545, 2180, 3331 546, 2180, 3332 547, 2180, 3333 548, 2180, 3334 549, 2180, 3335 550, 2180, 3336 551, 2180, 3337 552, 2180, 3338 553, 2180, 3339 554, 2180, 3340 556, 2180, 3341 558, 2180, 3342 559, 2180, 3343 560, 2180, 3344 561, 2180, 3345 562, 2180, 3346 563, 2180, 3347 564, 2180, 3348 565, 2180, 3349 566, 2180, 3350 567, 2180, 3351 568, 2180, 3352 569, 2180, 3353 570, 2180, 3354 571, 2180, 3355 572, 2180, 3356 573, 2180, 3357 574, 2180, 3358 575, 2180, 3359 576, 2180, 3360 577, 2180, 3361 578, 2180, 3362 579, 2180, 3363 580, 2180, 3364 582, 2180, 3365 583, 2180, 3366 584, 2180, 3367 585, 2180, 3368 586, 2180, 3369 588, 2180, 3370 589, 2180, 3371 590, 2180, 3372 591, 2180, 3373 592, 2180, 3374 593, 2180, 3375 594, 2180, 3376 595, 2180, 3377 596, 2180, 3378 597, 2180, 3379 599, 2180, 3380 600, 2180, 3381 601, 2180, 3382 602, 2180, 3383 603, 2180, 3384 605, 2180, 3385 607, 2180, 3386 608, 2180, 3387 609, 2180, 3388 610, 2180, 3389 611, 2180, 3390 612, 2180, 3391 613, 2180, 3392 614, 2180, 3393 615, 2180, 3394 616, 2180, 3395 617, 2180, 3396 618, 2180, 3397 619, 2180, 3398 620, 2180, 3399 621, 2180, 3400 622, 2180, 3401 624, 2180, 3402 625, 2180, 3403 626, 2180, 3404 627, 2180, 3405 628, 2180, 3406 629, 2180, 3407 630, 2180, 3408 631, 2180, 3409 632, 2180, 3410 633, 2180, 3411 634, 2180, 3412 635, 2180, 3413 636, 2180, 3414 637, 2180, 3415 640, 2180, 3416 641, 2180, 3417 642, 2180, 3418 643, 2180, 3419 644, 2180, 3420 645, 2180, 3421 647, 2180, 3422 648, 2180, 3423 649, 2180, 3424 650, 2180, 3425 651, 2180, 3426 652, 2180, 3427 653, 2180, 3428 654, 2180, 3429 655, 2180, 3430 656, 2180, 3431 657, 2180, 3432 658, 2180, 3433 659, 2180, 3434 660, 2180, 3435 661, 2180, 3436 662, 2180, 3437 667, 2180, 3438 668, 2180, 3439 669, 2180, 3440 670, 2180, 3441 671, 2180, 3442 672, 2180, 3443 673, 2180, 3444 689, 2180, 3445 696, 2180, 3446 697, 2180, 3447 698, 2180, 3448 704, 2180, 3449 706, 2180, 3450 710, 2180, 3451 -2, 0, 3452 -1, 867, 3453 706, 2933, 3454 -2, 4161, 3455 -1, 868, 3456 706, 2953, 3457 -2, 2944, 3458 -1, 869, 3459 706, 2954, 3460 -2, 2945, 3461 -1, 873, 3462 706, 4060, 3463 -2, 2942, 3464 -1, 953, 3465 4, 1885, 3466 21, 1885, 3467 22, 1885, 3468 23, 1885, 3469 24, 1885, 3470 25, 1885, 3471 26, 1885, 3472 27, 1885, 3473 28, 1885, 3474 30, 1885, 3475 31, 1885, 3476 37, 1885, 3477 41, 1885, 3478 43, 1885, 3479 45, 1885, 3480 46, 1885, 3481 47, 1885, 3482 49, 1885, 3483 50, 1885, 3484 51, 1885, 3485 52, 1885, 3486 53, 1885, 3487 54, 1885, 3488 55, 1885, 3489 56, 1885, 3490 57, 1885, 3491 58, 1885, 3492 60, 1885, 3493 61, 1885, 3494 62, 1885, 3495 63, 1885, 3496 65, 1885, 3497 66, 1885, 3498 67, 1885, 3499 68, 1885, 3500 69, 1885, 3501 70, 1885, 3502 71, 1885, 3503 72, 1885, 3504 73, 1885, 3505 74, 1885, 3506 75, 1885, 3507 79, 1885, 3508 80, 1885, 3509 81, 1885, 3510 82, 1885, 3511 84, 1885, 3512 85, 1885, 3513 86, 1885, 3514 87, 1885, 3515 88, 1885, 3516 92, 1885, 3517 93, 1885, 3518 94, 1885, 3519 95, 1885, 3520 96, 1885, 3521 97, 1885, 3522 98, 1885, 3523 99, 1885, 3524 102, 1885, 3525 103, 1885, 3526 104, 1885, 3527 105, 1885, 3528 106, 1885, 3529 107, 1885, 3530 109, 1885, 3531 111, 1885, 3532 112, 1885, 3533 113, 1885, 3534 114, 1885, 3535 115, 1885, 3536 116, 1885, 3537 117, 1885, 3538 119, 1885, 3539 120, 1885, 3540 121, 1885, 3541 123, 1885, 3542 124, 1885, 3543 125, 1885, 3544 133, 1885, 3545 134, 1885, 3546 135, 1885, 3547 136, 1885, 3548 137, 1885, 3549 139, 1885, 3550 140, 1885, 3551 141, 1885, 3552 142, 1885, 3553 143, 1885, 3554 144, 1885, 3555 146, 1885, 3556 147, 1885, 3557 148, 1885, 3558 149, 1885, 3559 151, 1885, 3560 152, 1885, 3561 153, 1885, 3562 154, 1885, 3563 156, 1885, 3564 157, 1885, 3565 158, 1885, 3566 159, 1885, 3567 162, 1885, 3568 163, 1885, 3569 164, 1885, 3570 166, 1885, 3571 167, 1885, 3572 168, 1885, 3573 169, 1885, 3574 171, 1885, 3575 172, 1885, 3576 173, 1885, 3577 175, 1885, 3578 176, 1885, 3579 177, 1885, 3580 178, 1885, 3581 179, 1885, 3582 180, 1885, 3583 181, 1885, 3584 182, 1885, 3585 183, 1885, 3586 184, 1885, 3587 185, 1885, 3588 186, 1885, 3589 187, 1885, 3590 188, 1885, 3591 189, 1885, 3592 190, 1885, 3593 191, 1885, 3594 192, 1885, 3595 193, 1885, 3596 195, 1885, 3597 201, 1885, 3598 202, 1885, 3599 203, 1885, 3600 204, 1885, 3601 208, 1885, 3602 210, 1885, 3603 211, 1885, 3604 212, 1885, 3605 213, 1885, 3606 214, 1885, 3607 215, 1885, 3608 217, 1885, 3609 218, 1885, 3610 219, 1885, 3611 222, 1885, 3612 223, 1885, 3613 224, 1885, 3614 225, 1885, 3615 226, 1885, 3616 227, 1885, 3617 228, 1885, 3618 229, 1885, 3619 230, 1885, 3620 231, 1885, 3621 232, 1885, 3622 233, 1885, 3623 234, 1885, 3624 235, 1885, 3625 237, 1885, 3626 238, 1885, 3627 239, 1885, 3628 241, 1885, 3629 242, 1885, 3630 244, 1885, 3631 245, 1885, 3632 246, 1885, 3633 247, 1885, 3634 248, 1885, 3635 249, 1885, 3636 250, 1885, 3637 251, 1885, 3638 252, 1885, 3639 253, 1885, 3640 254, 1885, 3641 256, 1885, 3642 257, 1885, 3643 258, 1885, 3644 260, 1885, 3645 261, 1885, 3646 262, 1885, 3647 263, 1885, 3648 264, 1885, 3649 265, 1885, 3650 266, 1885, 3651 270, 1885, 3652 271, 1885, 3653 272, 1885, 3654 273, 1885, 3655 275, 1885, 3656 276, 1885, 3657 277, 1885, 3658 279, 1885, 3659 280, 1885, 3660 281, 1885, 3661 282, 1885, 3662 283, 1885, 3663 284, 1885, 3664 286, 1885, 3665 288, 1885, 3666 289, 1885, 3667 290, 1885, 3668 292, 1885, 3669 294, 1885, 3670 295, 1885, 3671 296, 1885, 3672 298, 1885, 3673 302, 1885, 3674 303, 1885, 3675 304, 1885, 3676 305, 1885, 3677 306, 1885, 3678 307, 1885, 3679 308, 1885, 3680 310, 1885, 3681 311, 1885, 3682 312, 1885, 3683 314, 1885, 3684 315, 1885, 3685 316, 1885, 3686 318, 1885, 3687 319, 1885, 3688 322, 1885, 3689 323, 1885, 3690 324, 1885, 3691 325, 1885, 3692 326, 1885, 3693 327, 1885, 3694 328, 1885, 3695 331, 1885, 3696 332, 1885, 3697 333, 1885, 3698 334, 1885, 3699 336, 1885, 3700 337, 1885, 3701 338, 1885, 3702 339, 1885, 3703 340, 1885, 3704 341, 1885, 3705 342, 1885, 3706 343, 1885, 3707 344, 1885, 3708 345, 1885, 3709 346, 1885, 3710 347, 1885, 3711 348, 1885, 3712 349, 1885, 3713 350, 1885, 3714 351, 1885, 3715 352, 1885, 3716 353, 1885, 3717 354, 1885, 3718 355, 1885, 3719 356, 1885, 3720 357, 1885, 3721 358, 1885, 3722 359, 1885, 3723 361, 1885, 3724 363, 1885, 3725 364, 1885, 3726 365, 1885, 3727 366, 1885, 3728 367, 1885, 3729 368, 1885, 3730 369, 1885, 3731 370, 1885, 3732 371, 1885, 3733 372, 1885, 3734 373, 1885, 3735 374, 1885, 3736 375, 1885, 3737 376, 1885, 3738 377, 1885, 3739 378, 1885, 3740 379, 1885, 3741 380, 1885, 3742 382, 1885, 3743 383, 1885, 3744 385, 1885, 3745 386, 1885, 3746 388, 1885, 3747 389, 1885, 3748 390, 1885, 3749 391, 1885, 3750 393, 1885, 3751 394, 1885, 3752 395, 1885, 3753 396, 1885, 3754 397, 1885, 3755 400, 1885, 3756 402, 1885, 3757 405, 1885, 3758 406, 1885, 3759 407, 1885, 3760 410, 1885, 3761 411, 1885, 3762 412, 1885, 3763 414, 1885, 3764 416, 1885, 3765 417, 1885, 3766 418, 1885, 3767 419, 1885, 3768 420, 1885, 3769 421, 1885, 3770 422, 1885, 3771 423, 1885, 3772 424, 1885, 3773 425, 1885, 3774 426, 1885, 3775 427, 1885, 3776 428, 1885, 3777 429, 1885, 3778 431, 1885, 3779 432, 1885, 3780 433, 1885, 3781 434, 1885, 3782 435, 1885, 3783 436, 1885, 3784 437, 1885, 3785 438, 1885, 3786 439, 1885, 3787 440, 1885, 3788 441, 1885, 3789 442, 1885, 3790 443, 1885, 3791 444, 1885, 3792 445, 1885, 3793 447, 1885, 3794 448, 1885, 3795 449, 1885, 3796 451, 1885, 3797 452, 1885, 3798 453, 1885, 3799 454, 1885, 3800 455, 1885, 3801 456, 1885, 3802 457, 1885, 3803 458, 1885, 3804 459, 1885, 3805 460, 1885, 3806 461, 1885, 3807 462, 1885, 3808 463, 1885, 3809 464, 1885, 3810 465, 1885, 3811 466, 1885, 3812 467, 1885, 3813 469, 1885, 3814 471, 1885, 3815 472, 1885, 3816 473, 1885, 3817 479, 1885, 3818 480, 1885, 3819 481, 1885, 3820 483, 1885, 3821 484, 1885, 3822 485, 1885, 3823 486, 1885, 3824 487, 1885, 3825 488, 1885, 3826 489, 1885, 3827 490, 1885, 3828 491, 1885, 3829 492, 1885, 3830 493, 1885, 3831 494, 1885, 3832 495, 1885, 3833 497, 1885, 3834 498, 1885, 3835 499, 1885, 3836 500, 1885, 3837 501, 1885, 3838 503, 1885, 3839 504, 1885, 3840 505, 1885, 3841 506, 1885, 3842 507, 1885, 3843 508, 1885, 3844 509, 1885, 3845 511, 1885, 3846 512, 1885, 3847 513, 1885, 3848 514, 1885, 3849 515, 1885, 3850 516, 1885, 3851 517, 1885, 3852 518, 1885, 3853 519, 1885, 3854 520, 1885, 3855 521, 1885, 3856 522, 1885, 3857 523, 1885, 3858 524, 1885, 3859 525, 1885, 3860 526, 1885, 3861 528, 1885, 3862 529, 1885, 3863 530, 1885, 3864 531, 1885, 3865 532, 1885, 3866 533, 1885, 3867 534, 1885, 3868 536, 1885, 3869 537, 1885, 3870 538, 1885, 3871 539, 1885, 3872 540, 1885, 3873 541, 1885, 3874 542, 1885, 3875 543, 1885, 3876 545, 1885, 3877 546, 1885, 3878 547, 1885, 3879 548, 1885, 3880 549, 1885, 3881 550, 1885, 3882 551, 1885, 3883 552, 1885, 3884 553, 1885, 3885 554, 1885, 3886 556, 1885, 3887 558, 1885, 3888 559, 1885, 3889 560, 1885, 3890 561, 1885, 3891 562, 1885, 3892 563, 1885, 3893 564, 1885, 3894 565, 1885, 3895 566, 1885, 3896 567, 1885, 3897 568, 1885, 3898 569, 1885, 3899 570, 1885, 3900 571, 1885, 3901 572, 1885, 3902 573, 1885, 3903 574, 1885, 3904 575, 1885, 3905 576, 1885, 3906 577, 1885, 3907 578, 1885, 3908 579, 1885, 3909 580, 1885, 3910 582, 1885, 3911 583, 1885, 3912 585, 1885, 3913 586, 1885, 3914 588, 1885, 3915 589, 1885, 3916 590, 1885, 3917 591, 1885, 3918 592, 1885, 3919 593, 1885, 3920 594, 1885, 3921 595, 1885, 3922 596, 1885, 3923 597, 1885, 3924 599, 1885, 3925 600, 1885, 3926 601, 1885, 3927 602, 1885, 3928 603, 1885, 3929 605, 1885, 3930 607, 1885, 3931 608, 1885, 3932 609, 1885, 3933 610, 1885, 3934 611, 1885, 3935 612, 1885, 3936 613, 1885, 3937 614, 1885, 3938 616, 1885, 3939 617, 1885, 3940 618, 1885, 3941 619, 1885, 3942 620, 1885, 3943 621, 1885, 3944 622, 1885, 3945 625, 1885, 3946 626, 1885, 3947 627, 1885, 3948 628, 1885, 3949 629, 1885, 3950 630, 1885, 3951 631, 1885, 3952 632, 1885, 3953 633, 1885, 3954 634, 1885, 3955 635, 1885, 3956 637, 1885, 3957 640, 1885, 3958 641, 1885, 3959 642, 1885, 3960 643, 1885, 3961 644, 1885, 3962 645, 1885, 3963 647, 1885, 3964 648, 1885, 3965 649, 1885, 3966 650, 1885, 3967 651, 1885, 3968 652, 1885, 3969 653, 1885, 3970 654, 1885, 3971 655, 1885, 3972 656, 1885, 3973 657, 1885, 3974 658, 1885, 3975 659, 1885, 3976 660, 1885, 3977 661, 1885, 3978 662, 1885, 3979 667, 1885, 3980 668, 1885, 3981 669, 1885, 3982 670, 1885, 3983 671, 1885, 3984 672, 1885, 3985 -2, 0, 3986 -1, 975, 3987 220, 3023, 3988 604, 3023, 3989 688, 3023, 3990 708, 3023, 3991 -2, 0, 3992 -1, 976, 3993 220, 3007, 3994 604, 3007, 3995 688, 3007, 3996 708, 3007, 3997 -2, 0, 3998 -1, 978, 3999 220, 3329, 4000 604, 3329, 4001 688, 3329, 4002 708, 3329, 4003 -2, 0, 4004 -1, 981, 4005 220, 3162, 4006 604, 3162, 4007 688, 3162, 4008 708, 3162, 4009 -2, 0, 4010 -1, 982, 4011 220, 3383, 4012 604, 3383, 4013 688, 3383, 4014 708, 3383, 4015 -2, 0, 4016 -1, 990, 4017 220, 3191, 4018 604, 3191, 4019 688, 3191, 4020 708, 3191, 4021 -2, 1089, 4022 -1, 1006, 4023 8, 1231, 4024 29, 1231, 4025 696, 1231, 4026 697, 1231, 4027 -2, 1236, 4028 -1, 1010, 4029 1, 3086, 4030 709, 3086, 4031 712, 3086, 4032 -2, 1236, 4033 -1, 1011, 4034 1, 3149, 4035 709, 3149, 4036 712, 3149, 4037 -2, 1236, 4038 -1, 1014, 4039 1, 3196, 4040 709, 3196, 4041 712, 3196, 4042 -2, 1229, 4043 -1, 1015, 4044 1, 3255, 4045 709, 3255, 4046 712, 3255, 4047 -2, 1230, 4048 -1, 1016, 4049 1, 3095, 4050 709, 3095, 4051 712, 3095, 4052 -2, 1233, 4053 -1, 1017, 4054 1, 2988, 4055 709, 2988, 4056 712, 2988, 4057 -2, 1234, 4058 -1, 1036, 4059 220, 1278, 4060 -2, 0, 4061 -1, 1037, 4062 455, 1359, 4063 534, 1359, 4064 586, 1359, 4065 609, 1359, 4066 -2, 0, 4067 -1, 1038, 4068 455, 1358, 4069 534, 1358, 4070 586, 1358, 4071 609, 1358, 4072 -2, 1249, 4073 -1, 1042, 4074 1, 1426, 4075 705, 1426, 4076 707, 1426, 4077 709, 1426, 4078 712, 1426, 4079 -2, 0, 4080 -1, 1044, 4081 1, 1331, 4082 705, 1331, 4083 707, 1331, 4084 709, 1331, 4085 712, 1331, 4086 -2, 0, 4087 -1, 1045, 4088 1, 1335, 4089 705, 1335, 4090 707, 1335, 4091 709, 1335, 4092 712, 1335, 4093 -2, 0, 4094 -1, 1046, 4095 1, 1525, 4096 209, 1525, 4097 705, 1525, 4098 707, 1525, 4099 709, 1525, 4100 712, 1525, 4101 -2, 0, 4102 -1, 1056, 4103 1, 1364, 4104 705, 1364, 4105 707, 1364, 4106 709, 1364, 4107 712, 1364, 4108 -2, 0, 4109 -1, 1063, 4110 1, 1426, 4111 705, 1426, 4112 707, 1426, 4113 709, 1426, 4114 712, 1426, 4115 -2, 0, 4116 -1, 1064, 4117 1, 1415, 4118 705, 1415, 4119 707, 1415, 4120 709, 1415, 4121 712, 1415, 4122 -2, 0, 4123 -1, 1065, 4124 1, 1419, 4125 705, 1419, 4126 707, 1419, 4127 709, 1419, 4128 712, 1419, 4129 -2, 0, 4130 -1, 1066, 4131 1, 1428, 4132 705, 1428, 4133 707, 1428, 4134 709, 1428, 4135 712, 1428, 4136 -2, 0, 4137 -1, 1067, 4138 1, 1431, 4139 705, 1431, 4140 707, 1431, 4141 709, 1431, 4142 712, 1431, 4143 -2, 0, 4144 -1, 1075, 4145 1, 1471, 4146 705, 1471, 4147 707, 1471, 4148 709, 1471, 4149 712, 1471, 4150 -2, 0, 4151 -1, 1076, 4152 1, 1473, 4153 705, 1473, 4154 707, 1473, 4155 709, 1473, 4156 712, 1473, 4157 -2, 0, 4158 -1, 1079, 4159 1, 1499, 4160 705, 1499, 4161 707, 1499, 4162 709, 1499, 4163 712, 1499, 4164 -2, 0, 4165 -1, 1081, 4166 1, 1517, 4167 705, 1517, 4168 707, 1517, 4169 709, 1517, 4170 712, 1517, 4171 -2, 0, 4172 -1, 1137, 4173 708, 2944, 4174 711, 2944, 4175 -2, 1537, 4176 -1, 1138, 4177 708, 2946, 4178 711, 2946, 4179 -2, 1538, 4180 -1, 1139, 4181 708, 2945, 4182 711, 2945, 4183 -2, 1539, 4184 -1, 1140, 4185 711, 2865, 4186 -2, 1540, 4187 -1, 1146, 4188 4, 532, 4189 8, 532, 4190 -2, 3375, 4191 -1, 1169, 4192 209, 346, 4193 -2, 0, 4194 -1, 1192, 4195 48, 2916, 4196 -2, 0, 4197 -1, 1193, 4198 648, 1858, 4199 -2, 1622, 4200 -1, 1207, 4201 220, 744, 4202 -2, 0, 4203 -1, 1210, 4204 4, 2339, 4205 21, 2339, 4206 22, 2339, 4207 23, 2339, 4208 24, 2339, 4209 25, 2339, 4210 26, 2339, 4211 27, 2339, 4212 28, 2339, 4213 30, 2339, 4214 31, 2339, 4215 37, 2339, 4216 41, 2339, 4217 43, 2339, 4218 45, 2339, 4219 46, 2339, 4220 47, 2339, 4221 49, 2339, 4222 50, 2339, 4223 51, 2339, 4224 52, 2339, 4225 53, 2339, 4226 54, 2339, 4227 55, 2339, 4228 56, 2339, 4229 57, 2339, 4230 58, 2339, 4231 60, 2339, 4232 61, 2339, 4233 62, 2339, 4234 63, 2339, 4235 65, 2339, 4236 66, 2339, 4237 67, 2339, 4238 68, 2339, 4239 69, 2339, 4240 70, 2339, 4241 71, 2339, 4242 72, 2339, 4243 73, 2339, 4244 74, 2339, 4245 75, 2339, 4246 79, 2339, 4247 80, 2339, 4248 81, 2339, 4249 82, 2339, 4250 84, 2339, 4251 85, 2339, 4252 86, 2339, 4253 87, 2339, 4254 88, 2339, 4255 92, 2339, 4256 93, 2339, 4257 94, 2339, 4258 95, 2339, 4259 96, 2339, 4260 97, 2339, 4261 98, 2339, 4262 99, 2339, 4263 102, 2339, 4264 103, 2339, 4265 104, 2339, 4266 105, 2339, 4267 106, 2339, 4268 107, 2339, 4269 109, 2339, 4270 111, 2339, 4271 112, 2339, 4272 113, 2339, 4273 114, 2339, 4274 115, 2339, 4275 116, 2339, 4276 117, 2339, 4277 119, 2339, 4278 120, 2339, 4279 121, 2339, 4280 123, 2339, 4281 124, 2339, 4282 125, 2339, 4283 133, 2339, 4284 134, 2339, 4285 135, 2339, 4286 136, 2339, 4287 137, 2339, 4288 139, 2339, 4289 140, 2339, 4290 141, 2339, 4291 142, 2339, 4292 143, 2339, 4293 144, 2339, 4294 146, 2339, 4295 147, 2339, 4296 148, 2339, 4297 149, 2339, 4298 151, 2339, 4299 152, 2339, 4300 153, 2339, 4301 154, 2339, 4302 156, 2339, 4303 157, 2339, 4304 158, 2339, 4305 159, 2339, 4306 162, 2339, 4307 163, 2339, 4308 164, 2339, 4309 166, 2339, 4310 167, 2339, 4311 168, 2339, 4312 169, 2339, 4313 171, 2339, 4314 172, 2339, 4315 173, 2339, 4316 175, 2339, 4317 176, 2339, 4318 177, 2339, 4319 178, 2339, 4320 179, 2339, 4321 180, 2339, 4322 181, 2339, 4323 182, 2339, 4324 183, 2339, 4325 184, 2339, 4326 185, 2339, 4327 186, 2339, 4328 187, 2339, 4329 188, 2339, 4330 189, 2339, 4331 190, 2339, 4332 191, 2339, 4333 192, 2339, 4334 193, 2339, 4335 195, 2339, 4336 201, 2339, 4337 202, 2339, 4338 203, 2339, 4339 204, 2339, 4340 208, 2339, 4341 210, 2339, 4342 211, 2339, 4343 212, 2339, 4344 213, 2339, 4345 214, 2339, 4346 215, 2339, 4347 217, 2339, 4348 218, 2339, 4349 219, 2339, 4350 222, 2339, 4351 223, 2339, 4352 224, 2339, 4353 225, 2339, 4354 226, 2339, 4355 227, 2339, 4356 228, 2339, 4357 229, 2339, 4358 230, 2339, 4359 231, 2339, 4360 232, 2339, 4361 233, 2339, 4362 234, 2339, 4363 235, 2339, 4364 237, 2339, 4365 238, 2339, 4366 239, 2339, 4367 241, 2339, 4368 242, 2339, 4369 244, 2339, 4370 245, 2339, 4371 246, 2339, 4372 247, 2339, 4373 248, 2339, 4374 249, 2339, 4375 250, 2339, 4376 251, 2339, 4377 252, 2339, 4378 253, 2339, 4379 254, 2339, 4380 256, 2339, 4381 257, 2339, 4382 258, 2339, 4383 260, 2339, 4384 261, 2339, 4385 262, 2339, 4386 263, 2339, 4387 264, 2339, 4388 265, 2339, 4389 266, 2339, 4390 270, 2339, 4391 271, 2339, 4392 272, 2339, 4393 273, 2339, 4394 275, 2339, 4395 276, 2339, 4396 277, 2339, 4397 279, 2339, 4398 280, 2339, 4399 281, 2339, 4400 282, 2339, 4401 283, 2339, 4402 284, 2339, 4403 286, 2339, 4404 288, 2339, 4405 289, 2339, 4406 290, 2339, 4407 292, 2339, 4408 294, 2339, 4409 295, 2339, 4410 296, 2339, 4411 298, 2339, 4412 302, 2339, 4413 303, 2339, 4414 304, 2339, 4415 305, 2339, 4416 306, 2339, 4417 307, 2339, 4418 308, 2339, 4419 310, 2339, 4420 311, 2339, 4421 312, 2339, 4422 314, 2339, 4423 315, 2339, 4424 316, 2339, 4425 318, 2339, 4426 319, 2339, 4427 322, 2339, 4428 323, 2339, 4429 324, 2339, 4430 325, 2339, 4431 326, 2339, 4432 327, 2339, 4433 328, 2339, 4434 331, 2339, 4435 332, 2339, 4436 333, 2339, 4437 334, 2339, 4438 336, 2339, 4439 337, 2339, 4440 338, 2339, 4441 339, 2339, 4442 340, 2339, 4443 341, 2339, 4444 342, 2339, 4445 343, 2339, 4446 344, 2339, 4447 345, 2339, 4448 346, 2339, 4449 347, 2339, 4450 348, 2339, 4451 349, 2339, 4452 350, 2339, 4453 351, 2339, 4454 352, 2339, 4455 353, 2339, 4456 354, 2339, 4457 355, 2339, 4458 356, 2339, 4459 357, 2339, 4460 358, 2339, 4461 359, 2339, 4462 361, 2339, 4463 363, 2339, 4464 364, 2339, 4465 365, 2339, 4466 366, 2339, 4467 367, 2339, 4468 368, 2339, 4469 369, 2339, 4470 370, 2339, 4471 371, 2339, 4472 372, 2339, 4473 373, 2339, 4474 374, 2339, 4475 375, 2339, 4476 376, 2339, 4477 377, 2339, 4478 378, 2339, 4479 379, 2339, 4480 380, 2339, 4481 382, 2339, 4482 383, 2339, 4483 385, 2339, 4484 386, 2339, 4485 388, 2339, 4486 389, 2339, 4487 390, 2339, 4488 391, 2339, 4489 393, 2339, 4490 394, 2339, 4491 395, 2339, 4492 396, 2339, 4493 397, 2339, 4494 400, 2339, 4495 402, 2339, 4496 405, 2339, 4497 406, 2339, 4498 407, 2339, 4499 410, 2339, 4500 411, 2339, 4501 412, 2339, 4502 414, 2339, 4503 416, 2339, 4504 417, 2339, 4505 418, 2339, 4506 419, 2339, 4507 420, 2339, 4508 421, 2339, 4509 422, 2339, 4510 423, 2339, 4511 424, 2339, 4512 425, 2339, 4513 426, 2339, 4514 427, 2339, 4515 428, 2339, 4516 429, 2339, 4517 431, 2339, 4518 432, 2339, 4519 433, 2339, 4520 434, 2339, 4521 435, 2339, 4522 436, 2339, 4523 437, 2339, 4524 438, 2339, 4525 439, 2339, 4526 440, 2339, 4527 441, 2339, 4528 442, 2339, 4529 443, 2339, 4530 444, 2339, 4531 445, 2339, 4532 447, 2339, 4533 448, 2339, 4534 449, 2339, 4535 451, 2339, 4536 452, 2339, 4537 453, 2339, 4538 454, 2339, 4539 455, 2339, 4540 456, 2339, 4541 457, 2339, 4542 458, 2339, 4543 459, 2339, 4544 460, 2339, 4545 461, 2339, 4546 462, 2339, 4547 463, 2339, 4548 464, 2339, 4549 465, 2339, 4550 466, 2339, 4551 467, 2339, 4552 469, 2339, 4553 471, 2339, 4554 472, 2339, 4555 473, 2339, 4556 479, 2339, 4557 480, 2339, 4558 481, 2339, 4559 483, 2339, 4560 484, 2339, 4561 485, 2339, 4562 486, 2339, 4563 487, 2339, 4564 488, 2339, 4565 489, 2339, 4566 490, 2339, 4567 491, 2339, 4568 492, 2339, 4569 493, 2339, 4570 494, 2339, 4571 495, 2339, 4572 497, 2339, 4573 498, 2339, 4574 499, 2339, 4575 500, 2339, 4576 501, 2339, 4577 503, 2339, 4578 504, 2339, 4579 505, 2339, 4580 506, 2339, 4581 507, 2339, 4582 508, 2339, 4583 509, 2339, 4584 511, 2339, 4585 512, 2339, 4586 513, 2339, 4587 514, 2339, 4588 515, 2339, 4589 516, 2339, 4590 517, 2339, 4591 518, 2339, 4592 519, 2339, 4593 520, 2339, 4594 521, 2339, 4595 522, 2339, 4596 523, 2339, 4597 524, 2339, 4598 525, 2339, 4599 526, 2339, 4600 528, 2339, 4601 529, 2339, 4602 530, 2339, 4603 531, 2339, 4604 532, 2339, 4605 533, 2339, 4606 534, 2339, 4607 536, 2339, 4608 537, 2339, 4609 538, 2339, 4610 539, 2339, 4611 540, 2339, 4612 541, 2339, 4613 542, 2339, 4614 543, 2339, 4615 545, 2339, 4616 546, 2339, 4617 547, 2339, 4618 548, 2339, 4619 549, 2339, 4620 550, 2339, 4621 551, 2339, 4622 552, 2339, 4623 553, 2339, 4624 554, 2339, 4625 556, 2339, 4626 558, 2339, 4627 559, 2339, 4628 560, 2339, 4629 561, 2339, 4630 562, 2339, 4631 563, 2339, 4632 564, 2339, 4633 565, 2339, 4634 566, 2339, 4635 567, 2339, 4636 568, 2339, 4637 569, 2339, 4638 570, 2339, 4639 571, 2339, 4640 572, 2339, 4641 573, 2339, 4642 574, 2339, 4643 575, 2339, 4644 576, 2339, 4645 577, 2339, 4646 578, 2339, 4647 579, 2339, 4648 580, 2339, 4649 582, 2339, 4650 583, 2339, 4651 585, 2339, 4652 586, 2339, 4653 588, 2339, 4654 589, 2339, 4655 590, 2339, 4656 591, 2339, 4657 592, 2339, 4658 593, 2339, 4659 594, 2339, 4660 595, 2339, 4661 596, 2339, 4662 597, 2339, 4663 599, 2339, 4664 600, 2339, 4665 601, 2339, 4666 602, 2339, 4667 603, 2339, 4668 605, 2339, 4669 607, 2339, 4670 608, 2339, 4671 609, 2339, 4672 610, 2339, 4673 611, 2339, 4674 612, 2339, 4675 613, 2339, 4676 614, 2339, 4677 616, 2339, 4678 617, 2339, 4679 618, 2339, 4680 619, 2339, 4681 620, 2339, 4682 621, 2339, 4683 622, 2339, 4684 625, 2339, 4685 626, 2339, 4686 627, 2339, 4687 628, 2339, 4688 629, 2339, 4689 630, 2339, 4690 631, 2339, 4691 632, 2339, 4692 633, 2339, 4693 634, 2339, 4694 635, 2339, 4695 637, 2339, 4696 640, 2339, 4697 641, 2339, 4698 642, 2339, 4699 643, 2339, 4700 644, 2339, 4701 645, 2339, 4702 647, 2339, 4703 648, 2339, 4704 649, 2339, 4705 650, 2339, 4706 651, 2339, 4707 652, 2339, 4708 653, 2339, 4709 654, 2339, 4710 655, 2339, 4711 656, 2339, 4712 657, 2339, 4713 658, 2339, 4714 659, 2339, 4715 660, 2339, 4716 661, 2339, 4717 662, 2339, 4718 667, 2339, 4719 668, 2339, 4720 669, 2339, 4721 670, 2339, 4722 671, 2339, 4723 672, 2339, 4724 -2, 0, 4725 -1, 1224, 4726 307, 668, 4727 -2, 0, 4728 -1, 1225, 4729 182, 1404, 4730 305, 1404, 4731 455, 1358, 4732 534, 1358, 4733 586, 1358, 4734 607, 1404, 4735 609, 1358, 4736 -2, 0, 4737 -1, 1346, 4738 196, 2184, 4739 209, 2184, 4740 321, 2184, 4741 398, 2184, 4742 -2, 2120, 4743 -1, 1364, 4744 196, 2183, 4745 209, 2183, 4746 321, 2183, 4747 398, 2183, 4748 -2, 2117, 4749 -1, 1393, 4750 5, 4073, 4751 706, 4073, 4752 -2, 1097, 4753 -1, 1394, 4754 708, 2943, 4755 -2, 1098, 4756 -1, 1429, 4757 5, 2935, 4758 706, 2932, 4759 -2, 2923, 4760 -1, 1438, 4761 708, 2941, 4762 -2, 2922, 4763 -1, 1460, 4764 5, 2956, 4765 706, 2953, 4766 -2, 2944, 4767 -1, 1461, 4768 5, 2957, 4769 706, 2954, 4770 -2, 2945, 4771 -1, 1462, 4772 5, 2958, 4773 38, 2958, 4774 145, 2958, 4775 688, 2958, 4776 704, 2958, 4777 707, 2958, 4778 708, 2958, 4779 711, 2958, 4780 -2, 4059, 4781 -1, 1463, 4782 5, 2414, 4783 -2, 4029, 4784 -1, 1464, 4785 5, 2415, 4786 -2, 4030, 4787 -1, 1465, 4788 5, 2416, 4789 -2, 4045, 4790 -1, 1466, 4791 5, 2417, 4792 -2, 4007, 4793 -1, 1467, 4794 5, 2418, 4795 -2, 4042, 4796 -1, 1468, 4797 5, 2426, 4798 -2, 4020, 4799 -1, 1470, 4800 5, 2413, 4801 -2, 4016, 4802 -1, 1471, 4803 5, 2413, 4804 -2, 4015, 4805 -1, 1472, 4806 5, 2413, 4807 -2, 4035, 4808 -1, 1473, 4809 5, 2424, 4810 -2, 4009, 4811 -1, 1474, 4812 5, 2429, 4813 706, 2441, 4814 -2, 4008, 4815 -1, 1475, 4816 5, 2431, 4817 -2, 4055, 4818 -1, 1478, 4819 5, 2453, 4820 -2, 4048, 4821 -1, 1479, 4822 5, 2445, 4823 -2, 4049, 4824 -1, 1480, 4825 5, 2453, 4826 -2, 4050, 4827 -1, 1481, 4828 5, 2449, 4829 -2, 4051, 4830 -1, 1482, 4831 5, 2397, 4832 -2, 4021, 4833 -1, 1483, 4834 5, 2398, 4835 -2, 4022, 4836 -1, 1484, 4837 5, 2399, 4838 -2, 4010, 4839 -1, 1495, 4840 5, 2436, 4841 706, 2436, 4842 -2, 4056, 4843 -1, 1496, 4844 5, 2437, 4845 706, 2437, 4846 -2, 4046, 4847 -1, 1497, 4848 5, 2438, 4849 649, 2438, 4850 706, 2438, 4851 -2, 4011, 4852 -1, 1498, 4853 5, 2439, 4854 649, 2439, 4855 706, 2439, 4856 -2, 4012, 4857 -1, 1659, 4858 220, 3383, 4859 604, 3383, 4860 688, 3383, 4861 708, 3383, 4862 -2, 0, 4863 -1, 1664, 4864 1, 1073, 4865 709, 1073, 4866 712, 1073, 4867 -2, 2023, 4868 -1, 1723, 4869 220, 1279, 4870 -2, 3318, 4871 -1, 1724, 4872 220, 1280, 4873 -2, 3084, 4874 -1, 1725, 4875 220, 1281, 4876 -2, 3266, 4877 -1, 1726, 4878 220, 1282, 4879 -2, 3408, 4880 -1, 1741, 4881 1, 1499, 4882 705, 1499, 4883 707, 1499, 4884 709, 1499, 4885 712, 1499, 4886 -2, 0, 4887 -1, 1742, 4888 455, 1359, 4889 534, 1359, 4890 586, 1359, 4891 609, 1359, 4892 -2, 0, 4893 -1, 1753, 4894 1, 1962, 4895 259, 1962, 4896 705, 1962, 4897 707, 1962, 4898 709, 1962, 4899 712, 1962, 4900 -2, 0, 4901 -1, 1772, 4902 1, 1354, 4903 705, 1354, 4904 707, 1354, 4905 709, 1354, 4906 712, 1354, 4907 -2, 0, 4908 -1, 1773, 4909 1, 1405, 4910 705, 1405, 4911 707, 1405, 4912 709, 1405, 4913 712, 1405, 4914 -2, 0, 4915 -1, 1774, 4916 1, 1421, 4917 705, 1421, 4918 707, 1421, 4919 709, 1421, 4920 712, 1421, 4921 -2, 0, 4922 -1, 1777, 4923 1, 1363, 4924 705, 1363, 4925 707, 1363, 4926 709, 1363, 4927 712, 1363, 4928 -2, 0, 4929 -1, 1780, 4930 1, 1370, 4931 705, 1370, 4932 707, 1370, 4933 709, 1370, 4934 712, 1370, 4935 -2, 0, 4936 -1, 1784, 4937 1, 1366, 4938 705, 1366, 4939 707, 1366, 4940 709, 1366, 4941 712, 1366, 4942 -2, 0, 4943 -1, 1789, 4944 1, 1385, 4945 705, 1385, 4946 707, 1385, 4947 709, 1385, 4948 712, 1385, 4949 -2, 0, 4950 -1, 1831, 4951 1, 3307, 4952 666, 3307, 4953 705, 3307, 4954 707, 3307, 4955 708, 3307, 4956 709, 3307, 4957 712, 3307, 4958 -2, 0, 4959 -1, 1836, 4960 1, 1482, 4961 705, 1482, 4962 707, 1482, 4963 709, 1482, 4964 712, 1482, 4965 -2, 0, 4966 -1, 1860, 4967 1, 2018, 4968 709, 2018, 4969 712, 2018, 4970 -2, 2023, 4971 -1, 1960, 4972 418, 2917, 4973 484, 2917, 4974 536, 2917, 4975 698, 2917, 4976 -2, 2903, 4977 -1, 1970, 4978 220, 178, 4979 314, 178, 4980 382, 178, 4981 660, 178, 4982 -2, 3378, 4983 -1, 1971, 4984 220, 179, 4985 314, 179, 4986 382, 179, 4987 660, 179, 4988 -2, 3075, 4989 -1, 1972, 4990 220, 180, 4991 314, 180, 4992 382, 180, 4993 660, 180, 4994 -2, 3281, 4995 -1, 1978, 4996 710, 2917, 4997 -2, 2919, 4998 -1, 1981, 4999 25, 3307, 5000 259, 3307, 5001 -2, 0, 5002 -1, 1994, 5003 1, 1855, 5004 489, 1807, 5005 536, 1807, 5006 679, 1807, 5007 685, 1807, 5008 705, 1855, 5009 707, 1855, 5010 709, 1855, 5011 712, 1855, 5012 -2, 2169, 5013 -1, 2000, 5014 236, 1962, 5015 259, 1962, 5016 501, 1962, 5017 -2, 0, 5018 -1, 2071, 5019 48, 2915, 5020 -2, 1584, 5021 -1, 2078, 5022 1, 1855, 5023 705, 1855, 5024 707, 1855, 5025 709, 1855, 5026 712, 1855, 5027 -2, 2169, 5028 -1, 2081, 5029 464, 1621, 5030 648, 1621, 5031 -2, 557, 5032 -1, 2087, 5033 4, 1885, 5034 21, 1885, 5035 22, 1885, 5036 23, 1885, 5037 24, 1885, 5038 25, 1885, 5039 26, 1885, 5040 27, 1885, 5041 28, 1885, 5042 30, 1885, 5043 31, 1885, 5044 37, 1885, 5045 41, 1885, 5046 43, 1885, 5047 45, 1885, 5048 46, 1885, 5049 47, 1885, 5050 49, 1885, 5051 50, 1885, 5052 51, 1885, 5053 52, 1885, 5054 53, 1885, 5055 54, 1885, 5056 55, 1885, 5057 56, 1885, 5058 57, 1885, 5059 58, 1885, 5060 60, 1885, 5061 61, 1885, 5062 62, 1885, 5063 63, 1885, 5064 65, 1885, 5065 66, 1885, 5066 67, 1885, 5067 68, 1885, 5068 69, 1885, 5069 70, 1885, 5070 71, 1885, 5071 72, 1885, 5072 73, 1885, 5073 74, 1885, 5074 75, 1885, 5075 79, 1885, 5076 80, 1885, 5077 81, 1885, 5078 82, 1885, 5079 84, 1885, 5080 85, 1885, 5081 86, 1885, 5082 87, 1885, 5083 88, 1885, 5084 92, 1885, 5085 93, 1885, 5086 94, 1885, 5087 95, 1885, 5088 96, 1885, 5089 97, 1885, 5090 98, 1885, 5091 99, 1885, 5092 102, 1885, 5093 103, 1885, 5094 104, 1885, 5095 105, 1885, 5096 106, 1885, 5097 107, 1885, 5098 109, 1885, 5099 111, 1885, 5100 112, 1885, 5101 113, 1885, 5102 114, 1885, 5103 115, 1885, 5104 116, 1885, 5105 117, 1885, 5106 119, 1885, 5107 120, 1885, 5108 121, 1885, 5109 123, 1885, 5110 124, 1885, 5111 125, 1885, 5112 133, 1885, 5113 134, 1885, 5114 135, 1885, 5115 136, 1885, 5116 137, 1885, 5117 139, 1885, 5118 140, 1885, 5119 141, 1885, 5120 142, 1885, 5121 143, 1885, 5122 144, 1885, 5123 146, 1885, 5124 147, 1885, 5125 148, 1885, 5126 149, 1885, 5127 151, 1885, 5128 152, 1885, 5129 153, 1885, 5130 154, 1885, 5131 156, 1885, 5132 157, 1885, 5133 158, 1885, 5134 159, 1885, 5135 162, 1885, 5136 163, 1885, 5137 164, 1885, 5138 166, 1885, 5139 167, 1885, 5140 168, 1885, 5141 169, 1885, 5142 171, 1885, 5143 172, 1885, 5144 173, 1885, 5145 175, 1885, 5146 176, 1885, 5147 177, 1885, 5148 178, 1885, 5149 179, 1885, 5150 180, 1885, 5151 181, 1885, 5152 182, 1885, 5153 183, 1885, 5154 184, 1885, 5155 185, 1885, 5156 186, 1885, 5157 187, 1885, 5158 188, 1885, 5159 189, 1885, 5160 190, 1885, 5161 191, 1885, 5162 192, 1885, 5163 193, 1885, 5164 201, 1885, 5165 202, 1885, 5166 203, 1885, 5167 204, 1885, 5168 208, 1885, 5169 210, 1885, 5170 211, 1885, 5171 212, 1885, 5172 213, 1885, 5173 214, 1885, 5174 215, 1885, 5175 217, 1885, 5176 218, 1885, 5177 219, 1885, 5178 222, 1885, 5179 223, 1885, 5180 224, 1885, 5181 225, 1885, 5182 226, 1885, 5183 227, 1885, 5184 228, 1885, 5185 229, 1885, 5186 230, 1885, 5187 231, 1885, 5188 232, 1885, 5189 233, 1885, 5190 234, 1885, 5191 235, 1885, 5192 237, 1885, 5193 238, 1885, 5194 239, 1885, 5195 241, 1885, 5196 242, 1885, 5197 244, 1885, 5198 245, 1885, 5199 246, 1885, 5200 247, 1885, 5201 248, 1885, 5202 249, 1885, 5203 250, 1885, 5204 251, 1885, 5205 252, 1885, 5206 253, 1885, 5207 254, 1885, 5208 256, 1885, 5209 257, 1885, 5210 258, 1885, 5211 260, 1885, 5212 261, 1885, 5213 262, 1885, 5214 263, 1885, 5215 264, 1885, 5216 265, 1885, 5217 266, 1885, 5218 270, 1885, 5219 271, 1885, 5220 272, 1885, 5221 273, 1885, 5222 279, 1885, 5223 280, 1885, 5224 281, 1885, 5225 282, 1885, 5226 283, 1885, 5227 284, 1885, 5228 286, 1885, 5229 288, 1885, 5230 289, 1885, 5231 290, 1885, 5232 292, 1885, 5233 294, 1885, 5234 295, 1885, 5235 296, 1885, 5236 298, 1885, 5237 302, 1885, 5238 303, 1885, 5239 304, 1885, 5240 305, 1885, 5241 306, 1885, 5242 307, 1885, 5243 308, 1885, 5244 310, 1885, 5245 311, 1885, 5246 312, 1885, 5247 314, 1885, 5248 315, 1885, 5249 316, 1885, 5250 318, 1885, 5251 319, 1885, 5252 322, 1885, 5253 323, 1885, 5254 324, 1885, 5255 325, 1885, 5256 326, 1885, 5257 327, 1885, 5258 328, 1885, 5259 331, 1885, 5260 332, 1885, 5261 333, 1885, 5262 334, 1885, 5263 336, 1885, 5264 337, 1885, 5265 338, 1885, 5266 339, 1885, 5267 340, 1885, 5268 341, 1885, 5269 342, 1885, 5270 343, 1885, 5271 344, 1885, 5272 345, 1885, 5273 346, 1885, 5274 347, 1885, 5275 348, 1885, 5276 349, 1885, 5277 350, 1885, 5278 351, 1885, 5279 352, 1885, 5280 353, 1885, 5281 354, 1885, 5282 355, 1885, 5283 356, 1885, 5284 357, 1885, 5285 358, 1885, 5286 359, 1885, 5287 361, 1885, 5288 363, 1885, 5289 364, 1885, 5290 365, 1885, 5291 366, 1885, 5292 367, 1885, 5293 368, 1885, 5294 369, 1885, 5295 370, 1885, 5296 371, 1885, 5297 372, 1885, 5298 373, 1885, 5299 374, 1885, 5300 375, 1885, 5301 376, 1885, 5302 377, 1885, 5303 378, 1885, 5304 379, 1885, 5305 380, 1885, 5306 382, 1885, 5307 383, 1885, 5308 385, 1885, 5309 388, 1885, 5310 389, 1885, 5311 390, 1885, 5312 391, 1885, 5313 393, 1885, 5314 394, 1885, 5315 395, 1885, 5316 396, 1885, 5317 397, 1885, 5318 400, 1885, 5319 402, 1885, 5320 403, 1885, 5321 405, 1885, 5322 406, 1885, 5323 407, 1885, 5324 410, 1885, 5325 411, 1885, 5326 412, 1885, 5327 414, 1885, 5328 416, 1885, 5329 417, 1885, 5330 418, 1885, 5331 419, 1885, 5332 420, 1885, 5333 421, 1885, 5334 422, 1885, 5335 423, 1885, 5336 424, 1885, 5337 425, 1885, 5338 426, 1885, 5339 427, 1885, 5340 428, 1885, 5341 429, 1885, 5342 431, 1885, 5343 432, 1885, 5344 433, 1885, 5345 434, 1885, 5346 435, 1885, 5347 436, 1885, 5348 437, 1885, 5349 438, 1885, 5350 439, 1885, 5351 440, 1885, 5352 441, 1885, 5353 442, 1885, 5354 443, 1885, 5355 444, 1885, 5356 445, 1885, 5357 447, 1885, 5358 448, 1885, 5359 449, 1885, 5360 451, 1885, 5361 452, 1885, 5362 453, 1885, 5363 454, 1885, 5364 455, 1885, 5365 456, 1885, 5366 457, 1885, 5367 458, 1885, 5368 459, 1885, 5369 460, 1885, 5370 461, 1885, 5371 462, 1885, 5372 463, 1885, 5373 464, 1885, 5374 465, 1885, 5375 466, 1885, 5376 467, 1885, 5377 469, 1885, 5378 471, 1885, 5379 472, 1885, 5380 473, 1885, 5381 479, 1885, 5382 480, 1885, 5383 481, 1885, 5384 483, 1885, 5385 484, 1885, 5386 485, 1885, 5387 486, 1885, 5388 487, 1885, 5389 488, 1885, 5390 489, 1885, 5391 490, 1885, 5392 491, 1885, 5393 492, 1885, 5394 493, 1885, 5395 494, 1885, 5396 495, 1885, 5397 497, 1885, 5398 498, 1885, 5399 499, 1885, 5400 500, 1885, 5401 501, 1885, 5402 503, 1885, 5403 504, 1885, 5404 505, 1885, 5405 506, 1885, 5406 507, 1885, 5407 508, 1885, 5408 509, 1885, 5409 511, 1885, 5410 512, 1885, 5411 513, 1885, 5412 514, 1885, 5413 515, 1885, 5414 516, 1885, 5415 517, 1885, 5416 518, 1885, 5417 519, 1885, 5418 520, 1885, 5419 521, 1885, 5420 522, 1885, 5421 523, 1885, 5422 524, 1885, 5423 525, 1885, 5424 526, 1885, 5425 528, 1885, 5426 529, 1885, 5427 530, 1885, 5428 531, 1885, 5429 532, 1885, 5430 533, 1885, 5431 534, 1885, 5432 536, 1885, 5433 537, 1885, 5434 538, 1885, 5435 539, 1885, 5436 540, 1885, 5437 541, 1885, 5438 542, 1885, 5439 543, 1885, 5440 545, 1885, 5441 546, 1885, 5442 547, 1885, 5443 548, 1885, 5444 549, 1885, 5445 550, 1885, 5446 551, 1885, 5447 552, 1885, 5448 553, 1885, 5449 554, 1885, 5450 556, 1885, 5451 558, 1885, 5452 559, 1885, 5453 560, 1885, 5454 561, 1885, 5455 562, 1885, 5456 563, 1885, 5457 564, 1885, 5458 565, 1885, 5459 566, 1885, 5460 567, 1885, 5461 568, 1885, 5462 569, 1885, 5463 570, 1885, 5464 571, 1885, 5465 572, 1885, 5466 573, 1885, 5467 574, 1885, 5468 575, 1885, 5469 576, 1885, 5470 577, 1885, 5471 578, 1885, 5472 579, 1885, 5473 580, 1885, 5474 582, 1885, 5475 583, 1885, 5476 585, 1885, 5477 586, 1885, 5478 588, 1885, 5479 589, 1885, 5480 590, 1885, 5481 591, 1885, 5482 592, 1885, 5483 593, 1885, 5484 594, 1885, 5485 595, 1885, 5486 596, 1885, 5487 597, 1885, 5488 599, 1885, 5489 600, 1885, 5490 601, 1885, 5491 602, 1885, 5492 603, 1885, 5493 605, 1885, 5494 607, 1885, 5495 608, 1885, 5496 609, 1885, 5497 610, 1885, 5498 611, 1885, 5499 612, 1885, 5500 613, 1885, 5501 614, 1885, 5502 616, 1885, 5503 617, 1885, 5504 618, 1885, 5505 619, 1885, 5506 620, 1885, 5507 621, 1885, 5508 622, 1885, 5509 625, 1885, 5510 626, 1885, 5511 627, 1885, 5512 628, 1885, 5513 629, 1885, 5514 630, 1885, 5515 631, 1885, 5516 632, 1885, 5517 633, 1885, 5518 634, 1885, 5519 635, 1885, 5520 637, 1885, 5521 640, 1885, 5522 641, 1885, 5523 642, 1885, 5524 643, 1885, 5525 644, 1885, 5526 645, 1885, 5527 647, 1885, 5528 648, 1885, 5529 649, 1885, 5530 650, 1885, 5531 651, 1885, 5532 652, 1885, 5533 653, 1885, 5534 654, 1885, 5535 655, 1885, 5536 656, 1885, 5537 657, 1885, 5538 658, 1885, 5539 659, 1885, 5540 660, 1885, 5541 661, 1885, 5542 662, 1885, 5543 667, 1885, 5544 668, 1885, 5545 669, 1885, 5546 670, 1885, 5547 671, 1885, 5548 672, 1885, 5549 -2, 0, 5550 -1, 2111, 5551 1, 836, 5552 705, 836, 5553 707, 836, 5554 709, 836, 5555 712, 836, 5556 -2, 2140, 5557 -1, 2114, 5558 4, 4054, 5559 11, 4054, 5560 12, 4054, 5561 14, 4054, 5562 15, 4054, 5563 16, 4054, 5564 17, 4054, 5565 18, 4054, 5566 19, 4054, 5567 21, 4054, 5568 22, 4054, 5569 23, 4054, 5570 24, 4054, 5571 25, 4054, 5572 26, 4054, 5573 27, 4054, 5574 28, 4054, 5575 30, 4054, 5576 31, 4054, 5577 34, 4054, 5578 35, 4054, 5579 37, 4054, 5580 39, 4054, 5581 41, 4054, 5582 42, 4054, 5583 43, 4054, 5584 45, 4054, 5585 46, 4054, 5586 47, 4054, 5587 49, 4054, 5588 50, 4054, 5589 51, 4054, 5590 52, 4054, 5591 53, 4054, 5592 54, 4054, 5593 55, 4054, 5594 56, 4054, 5595 57, 4054, 5596 58, 4054, 5597 60, 4054, 5598 61, 4054, 5599 62, 4054, 5600 63, 4054, 5601 65, 4054, 5602 66, 4054, 5603 67, 4054, 5604 68, 4054, 5605 69, 4054, 5606 70, 4054, 5607 71, 4054, 5608 72, 4054, 5609 73, 4054, 5610 74, 4054, 5611 75, 4054, 5612 78, 4054, 5613 79, 4054, 5614 80, 4054, 5615 81, 4054, 5616 82, 4054, 5617 84, 4054, 5618 85, 4054, 5619 86, 4054, 5620 87, 4054, 5621 88, 4054, 5622 89, 4054, 5623 92, 4054, 5624 93, 4054, 5625 94, 4054, 5626 95, 4054, 5627 96, 4054, 5628 97, 4054, 5629 98, 4054, 5630 99, 4054, 5631 100, 4054, 5632 102, 4054, 5633 103, 4054, 5634 104, 4054, 5635 105, 4054, 5636 106, 4054, 5637 107, 4054, 5638 109, 4054, 5639 110, 4054, 5640 111, 4054, 5641 112, 4054, 5642 113, 4054, 5643 114, 4054, 5644 115, 4054, 5645 116, 4054, 5646 117, 4054, 5647 119, 4054, 5648 120, 4054, 5649 121, 4054, 5650 122, 4054, 5651 123, 4054, 5652 124, 4054, 5653 125, 4054, 5654 133, 4054, 5655 134, 4054, 5656 135, 4054, 5657 136, 4054, 5658 137, 4054, 5659 139, 4054, 5660 140, 4054, 5661 141, 4054, 5662 142, 4054, 5663 143, 4054, 5664 144, 4054, 5665 146, 4054, 5666 147, 4054, 5667 148, 4054, 5668 149, 4054, 5669 151, 4054, 5670 152, 4054, 5671 153, 4054, 5672 154, 4054, 5673 156, 4054, 5674 157, 4054, 5675 158, 4054, 5676 159, 4054, 5677 162, 4054, 5678 163, 4054, 5679 164, 4054, 5680 166, 4054, 5681 167, 4054, 5682 168, 4054, 5683 169, 4054, 5684 171, 4054, 5685 172, 4054, 5686 173, 4054, 5687 175, 4054, 5688 176, 4054, 5689 177, 4054, 5690 178, 4054, 5691 179, 4054, 5692 180, 4054, 5693 181, 4054, 5694 182, 4054, 5695 183, 4054, 5696 184, 4054, 5697 185, 4054, 5698 186, 4054, 5699 187, 4054, 5700 188, 4054, 5701 189, 4054, 5702 190, 4054, 5703 191, 4054, 5704 192, 4054, 5705 193, 4054, 5706 197, 4054, 5707 198, 4054, 5708 199, 4054, 5709 200, 4054, 5710 201, 4054, 5711 202, 4054, 5712 203, 4054, 5713 204, 4054, 5714 207, 4054, 5715 208, 4054, 5716 210, 4054, 5717 211, 4054, 5718 212, 4054, 5719 213, 4054, 5720 214, 4054, 5721 215, 4054, 5722 217, 4054, 5723 218, 4054, 5724 219, 4054, 5725 221, 4054, 5726 222, 4054, 5727 223, 4054, 5728 224, 4054, 5729 225, 4054, 5730 226, 4054, 5731 227, 4054, 5732 228, 4054, 5733 229, 4054, 5734 230, 4054, 5735 231, 4054, 5736 232, 4054, 5737 233, 4054, 5738 234, 4054, 5739 235, 4054, 5740 237, 4054, 5741 238, 4054, 5742 239, 4054, 5743 241, 4054, 5744 242, 4054, 5745 244, 4054, 5746 245, 4054, 5747 246, 4054, 5748 247, 4054, 5749 248, 4054, 5750 249, 4054, 5751 250, 4054, 5752 251, 4054, 5753 252, 4054, 5754 253, 4054, 5755 254, 4054, 5756 255, 4054, 5757 256, 4054, 5758 257, 4054, 5759 258, 4054, 5760 259, 4054, 5761 260, 4054, 5762 261, 4054, 5763 262, 4054, 5764 263, 4054, 5765 264, 4054, 5766 265, 4054, 5767 266, 4054, 5768 268, 4054, 5769 269, 4054, 5770 270, 4054, 5771 271, 4054, 5772 272, 4054, 5773 273, 4054, 5774 278, 4054, 5775 279, 4054, 5776 280, 4054, 5777 281, 4054, 5778 282, 4054, 5779 283, 4054, 5780 284, 4054, 5781 286, 4054, 5782 288, 4054, 5783 289, 4054, 5784 290, 4054, 5785 291, 4054, 5786 292, 4054, 5787 293, 4054, 5788 294, 4054, 5789 295, 4054, 5790 296, 4054, 5791 297, 4054, 5792 298, 4054, 5793 300, 4054, 5794 301, 4054, 5795 302, 4054, 5796 303, 4054, 5797 304, 4054, 5798 305, 4054, 5799 306, 4054, 5800 307, 4054, 5801 308, 4054, 5802 310, 4054, 5803 311, 4054, 5804 312, 4054, 5805 314, 4054, 5806 315, 4054, 5807 316, 4054, 5808 317, 4054, 5809 318, 4054, 5810 319, 4054, 5811 320, 4054, 5812 322, 4054, 5813 323, 4054, 5814 324, 4054, 5815 325, 4054, 5816 326, 4054, 5817 327, 4054, 5818 328, 4054, 5819 331, 4054, 5820 332, 4054, 5821 333, 4054, 5822 334, 4054, 5823 335, 4054, 5824 336, 4054, 5825 337, 4054, 5826 338, 4054, 5827 339, 4054, 5828 340, 4054, 5829 341, 4054, 5830 342, 4054, 5831 343, 4054, 5832 344, 4054, 5833 345, 4054, 5834 346, 4054, 5835 347, 4054, 5836 348, 4054, 5837 349, 4054, 5838 350, 4054, 5839 351, 4054, 5840 352, 4054, 5841 353, 4054, 5842 354, 4054, 5843 355, 4054, 5844 356, 4054, 5845 357, 4054, 5846 358, 4054, 5847 359, 4054, 5848 361, 4054, 5849 362, 4054, 5850 363, 4054, 5851 364, 4054, 5852 365, 4054, 5853 366, 4054, 5854 367, 4054, 5855 368, 4054, 5856 369, 4054, 5857 370, 4054, 5858 371, 4054, 5859 372, 4054, 5860 373, 4054, 5861 374, 4054, 5862 375, 4054, 5863 376, 4054, 5864 377, 4054, 5865 378, 4054, 5866 379, 4054, 5867 380, 4054, 5868 382, 4054, 5869 383, 4054, 5870 385, 4054, 5871 387, 4054, 5872 388, 4054, 5873 389, 4054, 5874 390, 4054, 5875 391, 4054, 5876 393, 4054, 5877 394, 4054, 5878 395, 4054, 5879 396, 4054, 5880 397, 4054, 5881 400, 4054, 5882 402, 4054, 5883 405, 4054, 5884 406, 4054, 5885 407, 4054, 5886 408, 4054, 5887 410, 4054, 5888 411, 4054, 5889 412, 4054, 5890 414, 4054, 5891 416, 4054, 5892 417, 4054, 5893 418, 4054, 5894 419, 4054, 5895 420, 4054, 5896 421, 4054, 5897 422, 4054, 5898 423, 4054, 5899 424, 4054, 5900 425, 4054, 5901 426, 4054, 5902 427, 4054, 5903 428, 4054, 5904 429, 4054, 5905 431, 4054, 5906 432, 4054, 5907 433, 4054, 5908 434, 4054, 5909 435, 4054, 5910 436, 4054, 5911 437, 4054, 5912 438, 4054, 5913 439, 4054, 5914 440, 4054, 5915 441, 4054, 5916 442, 4054, 5917 443, 4054, 5918 444, 4054, 5919 445, 4054, 5920 447, 4054, 5921 448, 4054, 5922 449, 4054, 5923 451, 4054, 5924 452, 4054, 5925 453, 4054, 5926 454, 4054, 5927 455, 4054, 5928 456, 4054, 5929 457, 4054, 5930 458, 4054, 5931 459, 4054, 5932 460, 4054, 5933 461, 4054, 5934 462, 4054, 5935 463, 4054, 5936 464, 4054, 5937 465, 4054, 5938 466, 4054, 5939 467, 4054, 5940 469, 4054, 5941 471, 4054, 5942 472, 4054, 5943 473, 4054, 5944 479, 4054, 5945 480, 4054, 5946 481, 4054, 5947 482, 4054, 5948 483, 4054, 5949 484, 4054, 5950 485, 4054, 5951 486, 4054, 5952 487, 4054, 5953 488, 4054, 5954 489, 4054, 5955 490, 4054, 5956 491, 4054, 5957 492, 4054, 5958 493, 4054, 5959 494, 4054, 5960 495, 4054, 5961 497, 4054, 5962 498, 4054, 5963 499, 4054, 5964 500, 4054, 5965 501, 4054, 5966 502, 4054, 5967 503, 4054, 5968 504, 4054, 5969 505, 4054, 5970 506, 4054, 5971 507, 4054, 5972 508, 4054, 5973 509, 4054, 5974 510, 4054, 5975 511, 4054, 5976 512, 4054, 5977 513, 4054, 5978 514, 4054, 5979 515, 4054, 5980 516, 4054, 5981 517, 4054, 5982 518, 4054, 5983 519, 4054, 5984 520, 4054, 5985 521, 4054, 5986 522, 4054, 5987 523, 4054, 5988 524, 4054, 5989 525, 4054, 5990 526, 4054, 5991 528, 4054, 5992 529, 4054, 5993 530, 4054, 5994 531, 4054, 5995 532, 4054, 5996 533, 4054, 5997 534, 4054, 5998 536, 4054, 5999 537, 4054, 6000 538, 4054, 6001 539, 4054, 6002 540, 4054, 6003 541, 4054, 6004 542, 4054, 6005 543, 4054, 6006 544, 4054, 6007 545, 4054, 6008 546, 4054, 6009 547, 4054, 6010 548, 4054, 6011 549, 4054, 6012 550, 4054, 6013 551, 4054, 6014 552, 4054, 6015 553, 4054, 6016 554, 4054, 6017 556, 4054, 6018 558, 4054, 6019 559, 4054, 6020 560, 4054, 6021 561, 4054, 6022 562, 4054, 6023 563, 4054, 6024 564, 4054, 6025 565, 4054, 6026 566, 4054, 6027 567, 4054, 6028 568, 4054, 6029 569, 4054, 6030 570, 4054, 6031 571, 4054, 6032 572, 4054, 6033 573, 4054, 6034 574, 4054, 6035 575, 4054, 6036 576, 4054, 6037 577, 4054, 6038 578, 4054, 6039 579, 4054, 6040 580, 4054, 6041 582, 4054, 6042 583, 4054, 6043 584, 4054, 6044 585, 4054, 6045 586, 4054, 6046 588, 4054, 6047 589, 4054, 6048 590, 4054, 6049 591, 4054, 6050 592, 4054, 6051 593, 4054, 6052 594, 4054, 6053 595, 4054, 6054 596, 4054, 6055 597, 4054, 6056 599, 4054, 6057 600, 4054, 6058 601, 4054, 6059 602, 4054, 6060 603, 4054, 6061 605, 4054, 6062 607, 4054, 6063 608, 4054, 6064 609, 4054, 6065 610, 4054, 6066 611, 4054, 6067 612, 4054, 6068 613, 4054, 6069 614, 4054, 6070 616, 4054, 6071 617, 4054, 6072 618, 4054, 6073 619, 4054, 6074 620, 4054, 6075 621, 4054, 6076 622, 4054, 6077 625, 4054, 6078 626, 4054, 6079 627, 4054, 6080 628, 4054, 6081 629, 4054, 6082 630, 4054, 6083 631, 4054, 6084 632, 4054, 6085 633, 4054, 6086 634, 4054, 6087 635, 4054, 6088 637, 4054, 6089 640, 4054, 6090 641, 4054, 6091 642, 4054, 6092 643, 4054, 6093 644, 4054, 6094 645, 4054, 6095 647, 4054, 6096 648, 4054, 6097 649, 4054, 6098 650, 4054, 6099 651, 4054, 6100 652, 4054, 6101 653, 4054, 6102 654, 4054, 6103 655, 4054, 6104 656, 4054, 6105 657, 4054, 6106 658, 4054, 6107 659, 4054, 6108 660, 4054, 6109 661, 4054, 6110 662, 4054, 6111 667, 4054, 6112 668, 4054, 6113 669, 4054, 6114 670, 4054, 6115 671, 4054, 6116 672, 4054, 6117 673, 4054, 6118 675, 4054, 6119 686, 4054, 6120 687, 4054, 6121 688, 4054, 6122 689, 4054, 6123 690, 4054, 6124 691, 4054, 6125 693, 4054, 6126 694, 4054, 6127 695, 4054, 6128 696, 4054, 6129 697, 4054, 6130 698, 4054, 6131 699, 4054, 6132 700, 4054, 6133 701, 4054, 6134 704, 4054, 6135 707, 4054, 6136 708, 4054, 6137 710, 4054, 6138 711, 4054, 6139 -2, 0, 6140 -1, 2119, 6141 220, 3329, 6142 604, 3329, 6143 688, 3329, 6144 708, 3329, 6145 -2, 0, 6146 -1, 2161, 6147 196, 2183, 6148 209, 2183, 6149 321, 2183, 6150 398, 2183, 6151 -2, 2121, 6152 -1, 2264, 6153 174, 2142, 6154 196, 2142, 6155 209, 2142, 6156 285, 2142, 6157 321, 2142, 6158 398, 2142, 6159 409, 2142, 6160 623, 2142, 6161 -2, 2619, 6162 -1, 2311, 6163 706, 2440, 6164 -2, 2430, 6165 -1, 2328, 6166 707, 2797, 6167 -2, 0, 6168 -1, 2364, 6169 174, 2142, 6170 196, 2142, 6171 209, 2142, 6172 285, 2142, 6173 321, 2142, 6174 398, 2142, 6175 409, 2142, 6176 623, 2142, 6177 -2, 2294, 6178 -1, 2418, 6179 708, 2944, 6180 711, 2944, 6181 -2, 1526, 6182 -1, 2419, 6183 708, 2946, 6184 711, 2946, 6185 -2, 1527, 6186 -1, 2420, 6187 708, 2945, 6188 711, 2945, 6189 -2, 1528, 6190 -1, 2421, 6191 711, 2865, 6192 -2, 1529, 6193 -1, 2458, 6194 706, 2441, 6195 -2, 2429, 6196 -1, 2475, 6197 220, 3325, 6198 708, 3325, 6199 711, 3325, 6200 -2, 0, 6201 -1, 2533, 6202 1, 1075, 6203 709, 1075, 6204 712, 1075, 6205 -2, 2023, 6206 -1, 2603, 6207 1, 1356, 6208 705, 1356, 6209 707, 1356, 6210 709, 1356, 6211 712, 1356, 6212 -2, 0, 6213 -1, 2604, 6214 1, 1407, 6215 705, 1407, 6216 707, 1407, 6217 709, 1407, 6218 712, 1407, 6219 -2, 0, 6220 -1, 2605, 6221 1, 1423, 6222 705, 1423, 6223 707, 1423, 6224 709, 1423, 6225 712, 1423, 6226 -2, 0, 6227 -1, 2606, 6228 1, 1484, 6229 705, 1484, 6230 707, 1484, 6231 709, 1484, 6232 712, 1484, 6233 -2, 0, 6234 -1, 2656, 6235 1, 1387, 6236 705, 1387, 6237 707, 1387, 6238 709, 1387, 6239 712, 1387, 6240 -2, 0, 6241 -1, 2687, 6242 1, 1463, 6243 705, 1463, 6244 707, 1463, 6245 709, 1463, 6246 712, 1463, 6247 -2, 0, 6248 -1, 2891, 6249 259, 340, 6250 -2, 2952, 6251 -1, 2892, 6252 259, 341, 6253 -2, 413, 6254 -1, 3023, 6255 508, 2220, 6256 509, 2220, 6257 -2, 2474, 6258 -1, 3057, 6259 14, 0, 6260 15, 0, 6261 16, 0, 6262 686, 0, 6263 687, 0, 6264 688, 0, 6265 -2, 2494, 6266 -1, 3058, 6267 14, 0, 6268 15, 0, 6269 16, 0, 6270 686, 0, 6271 687, 0, 6272 688, 0, 6273 -2, 2495, 6274 -1, 3059, 6275 110, 0, 6276 300, 0, 6277 301, 0, 6278 690, 0, 6279 691, 0, 6280 -2, 2496, 6281 -1, 3060, 6282 110, 0, 6283 300, 0, 6284 301, 0, 6285 690, 0, 6286 691, 0, 6287 -2, 2497, 6288 -1, 3061, 6289 110, 0, 6290 300, 0, 6291 301, 0, 6292 690, 0, 6293 691, 0, 6294 -2, 2498, 6295 -1, 3062, 6296 110, 0, 6297 300, 0, 6298 301, 0, 6299 690, 0, 6300 691, 0, 6301 -2, 2499, 6302 -1, 3063, 6303 110, 0, 6304 300, 0, 6305 301, 0, 6306 690, 0, 6307 691, 0, 6308 -2, 2500, 6309 -1, 3064, 6310 14, 0, 6311 15, 0, 6312 16, 0, 6313 686, 0, 6314 687, 0, 6315 688, 0, 6316 -2, 2501, 6317 -1, 3077, 6318 14, 0, 6319 15, 0, 6320 16, 0, 6321 686, 0, 6322 687, 0, 6323 688, 0, 6324 -2, 2514, 6325 -1, 3078, 6326 14, 0, 6327 15, 0, 6328 16, 0, 6329 686, 0, 6330 687, 0, 6331 688, 0, 6332 -2, 2515, 6333 -1, 3079, 6334 14, 0, 6335 15, 0, 6336 16, 0, 6337 686, 0, 6338 687, 0, 6339 688, 0, 6340 -2, 2516, 6341 -1, 3083, 6342 17, 0, 6343 18, 0, 6344 19, 0, 6345 57, 0, 6346 255, 0, 6347 259, 0, 6348 320, 0, 6349 544, 0, 6350 673, 0, 6351 689, 0, 6352 -2, 2523, 6353 -1, 3089, 6354 17, 0, 6355 18, 0, 6356 19, 0, 6357 57, 0, 6358 255, 0, 6359 259, 0, 6360 320, 0, 6361 544, 0, 6362 673, 0, 6363 689, 0, 6364 -2, 2527, 6365 -1, 3091, 6366 17, 0, 6367 18, 0, 6368 19, 0, 6369 57, 0, 6370 255, 0, 6371 259, 0, 6372 320, 0, 6373 544, 0, 6374 673, 0, 6375 689, 0, 6376 -2, 2535, 6377 -1, 3092, 6378 17, 0, 6379 18, 0, 6380 19, 0, 6381 57, 0, 6382 255, 0, 6383 259, 0, 6384 320, 0, 6385 544, 0, 6386 673, 0, 6387 689, 0, 6388 -2, 2536, 6389 -1, 3093, 6390 17, 0, 6391 18, 0, 6392 19, 0, 6393 57, 0, 6394 255, 0, 6395 259, 0, 6396 320, 0, 6397 544, 0, 6398 673, 0, 6399 689, 0, 6400 -2, 2537, 6401 -1, 3094, 6402 17, 0, 6403 18, 0, 6404 19, 0, 6405 57, 0, 6406 255, 0, 6407 259, 0, 6408 320, 0, 6409 544, 0, 6410 673, 0, 6411 689, 0, 6412 -2, 2538, 6413 -1, 3266, 6414 5, 2956, 6415 220, 2808, 6416 706, 2953, 6417 -2, 2944, 6418 -1, 3267, 6419 220, 2809, 6420 -2, 3427, 6421 -1, 3268, 6422 220, 2810, 6423 -2, 3189, 6424 -1, 3269, 6425 220, 2811, 6426 -2, 3042, 6427 -1, 3270, 6428 220, 2812, 6429 -2, 3117, 6430 -1, 3271, 6431 220, 2813, 6432 -2, 3173, 6433 -1, 3272, 6434 220, 2814, 6435 -2, 3321, 6436 -1, 3273, 6437 220, 2815, 6438 -2, 2602, 6439 -1, 3316, 6440 29, 2783, 6441 36, 2783, 6442 557, 2783, 6443 -2, 3690, 6444 -1, 3317, 6445 29, 2785, 6446 36, 2785, 6447 557, 2785, 6448 -2, 3633, 6449 -1, 3320, 6450 1, 3461, 6451 2, 3461, 6452 174, 3461, 6453 196, 3461, 6454 209, 3461, 6455 220, 3461, 6456 240, 3461, 6457 243, 3461, 6458 285, 3461, 6459 321, 3461, 6460 398, 3461, 6461 403, 3461, 6462 409, 3461, 6463 496, 3461, 6464 623, 3461, 6465 664, 3461, 6466 665, 3461, 6467 666, 3461, 6468 705, 3461, 6469 707, 3461, 6470 709, 3461, 6471 711, 3461, 6472 712, 3461, 6473 -2, 2849, 6474 -1, 3924, 6475 1, 2295, 6476 2, 2295, 6477 122, 2295, 6478 174, 2295, 6479 196, 2295, 6480 209, 2295, 6481 221, 2295, 6482 240, 2295, 6483 243, 2295, 6484 278, 2295, 6485 285, 2295, 6486 297, 2295, 6487 317, 2295, 6488 321, 2295, 6489 362, 2295, 6490 398, 2295, 6491 403, 2295, 6492 409, 2295, 6493 496, 2295, 6494 502, 2295, 6495 623, 2295, 6496 638, 2295, 6497 664, 2295, 6498 665, 2295, 6499 666, 2295, 6500 676, 2295, 6501 705, 2295, 6502 707, 2295, 6503 709, 2295, 6504 711, 2295, 6505 712, 2295, 6506 -2, 2294, 6507 -1, 3939, 6508 706, 2924, 6509 -2, 2939, 6510 -1, 3951, 6511 1, 436, 6512 664, 436, 6513 712, 436, 6514 -2, 2169, 6515 -1, 3953, 6516 1, 436, 6517 712, 436, 6518 -2, 2169, 6519 -1, 4022, 6520 38, 2956, 6521 145, 2956, 6522 688, 2956, 6523 704, 2956, 6524 707, 2956, 6525 708, 2956, 6526 711, 2956, 6527 -2, 2953, 6528 -1, 4023, 6529 38, 2957, 6530 145, 2957, 6531 688, 2957, 6532 704, 2957, 6533 707, 2957, 6534 708, 2957, 6535 711, 2957, 6536 -2, 2954, 6537 -1, 4153, 6538 1, 1467, 6539 705, 1467, 6540 707, 1467, 6541 709, 1467, 6542 712, 1467, 6543 -2, 0, 6544 -1, 4385, 6545 1, 1855, 6546 489, 1807, 6547 536, 1807, 6548 679, 1807, 6549 685, 1807, 6550 705, 1855, 6551 707, 1855, 6552 709, 1855, 6553 712, 1855, 6554 -2, 2169, 6555 -1, 4406, 6556 287, 305, 6557 -2, 0, 6558 -1, 4407, 6559 4, 734, 6560 21, 734, 6561 22, 734, 6562 23, 734, 6563 24, 734, 6564 25, 734, 6565 26, 734, 6566 27, 734, 6567 28, 734, 6568 30, 734, 6569 31, 734, 6570 37, 734, 6571 41, 734, 6572 43, 734, 6573 45, 734, 6574 46, 734, 6575 47, 734, 6576 49, 734, 6577 50, 734, 6578 51, 734, 6579 52, 734, 6580 53, 734, 6581 54, 734, 6582 55, 734, 6583 56, 734, 6584 57, 734, 6585 58, 734, 6586 60, 734, 6587 61, 734, 6588 62, 734, 6589 63, 734, 6590 65, 734, 6591 66, 734, 6592 67, 734, 6593 68, 734, 6594 69, 734, 6595 70, 734, 6596 71, 734, 6597 72, 734, 6598 73, 734, 6599 74, 734, 6600 75, 734, 6601 79, 734, 6602 80, 734, 6603 81, 734, 6604 82, 734, 6605 84, 734, 6606 85, 734, 6607 86, 734, 6608 87, 734, 6609 88, 734, 6610 92, 734, 6611 93, 734, 6612 94, 734, 6613 95, 734, 6614 96, 734, 6615 97, 734, 6616 98, 734, 6617 99, 734, 6618 102, 734, 6619 103, 734, 6620 104, 734, 6621 105, 734, 6622 106, 734, 6623 107, 734, 6624 109, 734, 6625 111, 734, 6626 112, 734, 6627 113, 734, 6628 114, 734, 6629 115, 734, 6630 116, 734, 6631 117, 734, 6632 119, 734, 6633 120, 734, 6634 121, 734, 6635 123, 734, 6636 124, 734, 6637 125, 734, 6638 133, 734, 6639 134, 734, 6640 135, 734, 6641 136, 734, 6642 137, 734, 6643 139, 734, 6644 140, 734, 6645 141, 734, 6646 142, 734, 6647 143, 734, 6648 144, 734, 6649 146, 734, 6650 147, 734, 6651 148, 734, 6652 149, 734, 6653 151, 734, 6654 152, 734, 6655 153, 734, 6656 154, 734, 6657 156, 734, 6658 157, 734, 6659 158, 734, 6660 159, 734, 6661 162, 734, 6662 163, 734, 6663 164, 734, 6664 166, 734, 6665 167, 734, 6666 168, 734, 6667 169, 734, 6668 171, 734, 6669 172, 734, 6670 173, 734, 6671 175, 734, 6672 176, 734, 6673 177, 734, 6674 178, 734, 6675 179, 734, 6676 180, 734, 6677 181, 734, 6678 182, 734, 6679 183, 734, 6680 184, 734, 6681 185, 734, 6682 186, 734, 6683 187, 734, 6684 188, 734, 6685 189, 734, 6686 190, 734, 6687 191, 734, 6688 192, 734, 6689 193, 734, 6690 195, 734, 6691 201, 734, 6692 202, 734, 6693 203, 734, 6694 204, 734, 6695 208, 734, 6696 210, 734, 6697 211, 734, 6698 212, 734, 6699 213, 734, 6700 214, 734, 6701 215, 734, 6702 217, 734, 6703 218, 734, 6704 219, 734, 6705 222, 734, 6706 223, 734, 6707 224, 734, 6708 225, 734, 6709 226, 734, 6710 227, 734, 6711 228, 734, 6712 229, 734, 6713 230, 734, 6714 231, 734, 6715 232, 734, 6716 233, 734, 6717 234, 734, 6718 235, 734, 6719 237, 734, 6720 238, 734, 6721 239, 734, 6722 241, 734, 6723 242, 734, 6724 244, 734, 6725 245, 734, 6726 246, 734, 6727 247, 734, 6728 248, 734, 6729 249, 734, 6730 250, 734, 6731 251, 734, 6732 252, 734, 6733 253, 734, 6734 254, 734, 6735 256, 734, 6736 257, 734, 6737 258, 734, 6738 260, 734, 6739 261, 734, 6740 262, 734, 6741 263, 734, 6742 264, 734, 6743 265, 734, 6744 266, 734, 6745 270, 734, 6746 271, 734, 6747 272, 734, 6748 273, 734, 6749 275, 734, 6750 276, 734, 6751 277, 734, 6752 279, 734, 6753 280, 734, 6754 281, 734, 6755 282, 734, 6756 283, 734, 6757 284, 734, 6758 286, 734, 6759 288, 734, 6760 289, 734, 6761 290, 734, 6762 292, 734, 6763 294, 734, 6764 295, 734, 6765 296, 734, 6766 298, 734, 6767 302, 734, 6768 303, 734, 6769 304, 734, 6770 305, 734, 6771 306, 734, 6772 307, 734, 6773 308, 734, 6774 310, 734, 6775 311, 734, 6776 312, 734, 6777 314, 734, 6778 315, 734, 6779 316, 734, 6780 318, 734, 6781 319, 734, 6782 322, 734, 6783 323, 734, 6784 324, 734, 6785 325, 734, 6786 326, 734, 6787 327, 734, 6788 328, 734, 6789 331, 734, 6790 332, 734, 6791 333, 734, 6792 334, 734, 6793 336, 734, 6794 337, 734, 6795 338, 734, 6796 339, 734, 6797 340, 734, 6798 341, 734, 6799 342, 734, 6800 343, 734, 6801 344, 734, 6802 345, 734, 6803 346, 734, 6804 347, 734, 6805 348, 734, 6806 349, 734, 6807 350, 734, 6808 351, 734, 6809 352, 734, 6810 353, 734, 6811 354, 734, 6812 355, 734, 6813 356, 734, 6814 357, 734, 6815 358, 734, 6816 359, 734, 6817 361, 734, 6818 363, 734, 6819 364, 734, 6820 365, 734, 6821 366, 734, 6822 367, 734, 6823 368, 734, 6824 369, 734, 6825 370, 734, 6826 371, 734, 6827 372, 734, 6828 373, 734, 6829 374, 734, 6830 375, 734, 6831 376, 734, 6832 377, 734, 6833 378, 734, 6834 379, 734, 6835 380, 734, 6836 382, 734, 6837 383, 734, 6838 385, 734, 6839 386, 734, 6840 388, 734, 6841 389, 734, 6842 390, 734, 6843 391, 734, 6844 393, 734, 6845 394, 734, 6846 395, 734, 6847 396, 734, 6848 397, 734, 6849 400, 734, 6850 402, 734, 6851 405, 734, 6852 406, 734, 6853 407, 734, 6854 410, 734, 6855 411, 734, 6856 412, 734, 6857 414, 734, 6858 416, 734, 6859 417, 734, 6860 418, 734, 6861 419, 734, 6862 420, 734, 6863 421, 734, 6864 422, 734, 6865 423, 734, 6866 424, 734, 6867 425, 734, 6868 426, 734, 6869 427, 734, 6870 428, 734, 6871 429, 734, 6872 431, 734, 6873 432, 734, 6874 433, 734, 6875 434, 734, 6876 435, 734, 6877 436, 734, 6878 437, 734, 6879 438, 734, 6880 439, 734, 6881 440, 734, 6882 441, 734, 6883 442, 734, 6884 443, 734, 6885 444, 734, 6886 445, 734, 6887 447, 734, 6888 448, 734, 6889 449, 734, 6890 451, 734, 6891 452, 734, 6892 453, 734, 6893 454, 734, 6894 455, 734, 6895 456, 734, 6896 457, 734, 6897 458, 734, 6898 459, 734, 6899 460, 734, 6900 461, 734, 6901 462, 734, 6902 463, 734, 6903 464, 734, 6904 465, 734, 6905 466, 734, 6906 467, 734, 6907 469, 734, 6908 471, 734, 6909 472, 734, 6910 473, 734, 6911 479, 734, 6912 480, 734, 6913 481, 734, 6914 483, 734, 6915 484, 734, 6916 485, 734, 6917 486, 734, 6918 487, 734, 6919 488, 734, 6920 489, 734, 6921 490, 734, 6922 491, 734, 6923 492, 734, 6924 493, 734, 6925 494, 734, 6926 495, 734, 6927 497, 734, 6928 498, 734, 6929 499, 734, 6930 500, 734, 6931 501, 734, 6932 503, 734, 6933 504, 734, 6934 505, 734, 6935 506, 734, 6936 507, 734, 6937 508, 734, 6938 509, 734, 6939 511, 734, 6940 512, 734, 6941 513, 734, 6942 514, 734, 6943 515, 734, 6944 516, 734, 6945 517, 734, 6946 518, 734, 6947 519, 734, 6948 520, 734, 6949 521, 734, 6950 522, 734, 6951 523, 734, 6952 524, 734, 6953 525, 734, 6954 526, 734, 6955 528, 734, 6956 529, 734, 6957 530, 734, 6958 531, 734, 6959 532, 734, 6960 533, 734, 6961 534, 734, 6962 536, 734, 6963 537, 734, 6964 538, 734, 6965 539, 734, 6966 540, 734, 6967 541, 734, 6968 542, 734, 6969 543, 734, 6970 545, 734, 6971 546, 734, 6972 547, 734, 6973 548, 734, 6974 549, 734, 6975 550, 734, 6976 551, 734, 6977 552, 734, 6978 553, 734, 6979 554, 734, 6980 556, 734, 6981 558, 734, 6982 559, 734, 6983 560, 734, 6984 561, 734, 6985 562, 734, 6986 563, 734, 6987 564, 734, 6988 565, 734, 6989 566, 734, 6990 567, 734, 6991 568, 734, 6992 569, 734, 6993 570, 734, 6994 571, 734, 6995 572, 734, 6996 573, 734, 6997 574, 734, 6998 575, 734, 6999 576, 734, 7000 577, 734, 7001 578, 734, 7002 579, 734, 7003 580, 734, 7004 582, 734, 7005 583, 734, 7006 585, 734, 7007 586, 734, 7008 588, 734, 7009 589, 734, 7010 590, 734, 7011 591, 734, 7012 592, 734, 7013 593, 734, 7014 594, 734, 7015 595, 734, 7016 596, 734, 7017 597, 734, 7018 599, 734, 7019 600, 734, 7020 601, 734, 7021 602, 734, 7022 603, 734, 7023 605, 734, 7024 607, 734, 7025 608, 734, 7026 609, 734, 7027 610, 734, 7028 611, 734, 7029 612, 734, 7030 613, 734, 7031 614, 734, 7032 616, 734, 7033 617, 734, 7034 618, 734, 7035 619, 734, 7036 620, 734, 7037 621, 734, 7038 622, 734, 7039 625, 734, 7040 626, 734, 7041 627, 734, 7042 628, 734, 7043 629, 734, 7044 630, 734, 7045 631, 734, 7046 632, 734, 7047 633, 734, 7048 634, 734, 7049 635, 734, 7050 637, 734, 7051 640, 734, 7052 641, 734, 7053 642, 734, 7054 643, 734, 7055 644, 734, 7056 645, 734, 7057 647, 734, 7058 648, 734, 7059 649, 734, 7060 650, 734, 7061 651, 734, 7062 652, 734, 7063 653, 734, 7064 654, 734, 7065 655, 734, 7066 656, 734, 7067 657, 734, 7068 658, 734, 7069 659, 734, 7070 660, 734, 7071 661, 734, 7072 662, 734, 7073 667, 734, 7074 668, 734, 7075 669, 734, 7076 670, 734, 7077 671, 734, 7078 672, 734, 7079 -2, 0, 7080 -1, 4507, 7081 404, 2223, 7082 -2, 4043, 7083 -1, 4508, 7084 404, 2224, 7085 -2, 3304, 7086 -1, 4512, 7087 508, 2876, 7088 509, 2876, 7089 -2, 2600, 7090 -1, 4513, 7091 508, 2880, 7092 509, 2880, 7093 -2, 2601, 7094 -1, 4514, 7095 508, 2877, 7096 509, 2877, 7097 -2, 2600, 7098 -1, 4515, 7099 508, 2881, 7100 509, 2881, 7101 -2, 2601, 7102 -1, 4529, 7103 17, 0, 7104 18, 0, 7105 19, 0, 7106 57, 0, 7107 255, 0, 7108 259, 0, 7109 320, 0, 7110 544, 0, 7111 673, 0, 7112 689, 0, 7113 -2, 2525, 7114 -1, 4530, 7115 17, 0, 7116 18, 0, 7117 19, 0, 7118 57, 0, 7119 255, 0, 7120 259, 0, 7121 320, 0, 7122 544, 0, 7123 673, 0, 7124 689, 0, 7125 -2, 2529, 7126 -1, 4536, 7127 17, 0, 7128 18, 0, 7129 19, 0, 7130 57, 0, 7131 255, 0, 7132 259, 0, 7133 320, 0, 7134 544, 0, 7135 673, 0, 7136 689, 0, 7137 -2, 2531, 7138 -1, 4728, 7139 1, 436, 7140 712, 436, 7141 -2, 2169, 7142 -1, 4791, 7143 1, 1070, 7144 705, 1070, 7145 707, 1070, 7146 709, 1070, 7147 712, 1070, 7148 -2, 2023, 7149 -1, 5101, 7150 48, 2915, 7151 -2, 1585, 7152 -1, 5106, 7153 1, 1855, 7154 705, 1855, 7155 707, 1855, 7156 709, 1855, 7157 712, 1855, 7158 -2, 2169, 7159 -1, 5210, 7160 17, 0, 7161 18, 0, 7162 19, 0, 7163 57, 0, 7164 255, 0, 7165 259, 0, 7166 320, 0, 7167 544, 0, 7168 673, 0, 7169 689, 0, 7170 -2, 2533, 7171 -1, 5217, 7172 291, 0, 7173 293, 0, 7174 387, 0, 7175 -2, 2552, 7176 -1, 5282, 7177 14, 0, 7178 15, 0, 7179 16, 0, 7180 686, 0, 7181 687, 0, 7182 688, 0, 7183 -2, 2581, 7184 -1, 5283, 7185 14, 0, 7186 15, 0, 7187 16, 0, 7188 686, 0, 7189 687, 0, 7190 688, 0, 7191 -2, 2582, 7192 -1, 5284, 7193 14, 0, 7194 15, 0, 7195 16, 0, 7196 686, 0, 7197 687, 0, 7198 688, 0, 7199 -2, 2583, 7200 -1, 5288, 7201 14, 0, 7202 15, 0, 7203 16, 0, 7204 686, 0, 7205 687, 0, 7206 688, 0, 7207 -2, 2587, 7208 -1, 5289, 7209 14, 0, 7210 15, 0, 7211 16, 0, 7212 686, 0, 7213 687, 0, 7214 688, 0, 7215 -2, 2588, 7216 -1, 5290, 7217 14, 0, 7218 15, 0, 7219 16, 0, 7220 686, 0, 7221 687, 0, 7222 688, 0, 7223 -2, 2589, 7224 -1, 5340, 7225 706, 2925, 7226 -2, 2940, 7227 -1, 5648, 7228 708, 4163, 7229 -2, 2095, 7230 -1, 5695, 7231 291, 0, 7232 293, 0, 7233 387, 0, 7234 -2, 2553, 7235 -1, 5698, 7236 17, 0, 7237 18, 0, 7238 19, 0, 7239 57, 0, 7240 255, 0, 7241 259, 0, 7242 320, 0, 7243 544, 0, 7244 673, 0, 7245 689, 0, 7246 -2, 2556, 7247 -1, 5699, 7248 17, 0, 7249 18, 0, 7250 19, 0, 7251 57, 0, 7252 255, 0, 7253 259, 0, 7254 320, 0, 7255 544, 0, 7256 673, 0, 7257 689, 0, 7258 -2, 2558, 7259 -1, 5857, 7260 708, 2941, 7261 -2, 1895, 7262 -1, 6057, 7263 17, 0, 7264 18, 0, 7265 19, 0, 7266 57, 0, 7267 255, 0, 7268 259, 0, 7269 320, 0, 7270 544, 0, 7271 673, 0, 7272 689, 0, 7273 -2, 2557, 7274 -1, 6058, 7275 17, 0, 7276 18, 0, 7277 19, 0, 7278 57, 0, 7279 255, 0, 7280 259, 0, 7281 320, 0, 7282 544, 0, 7283 673, 0, 7284 689, 0, 7285 -2, 2559, 7286 -1, 6068, 7287 291, 0, 7288 -2, 2592, 7289 -1, 6318, 7290 291, 0, 7291 -2, 2593, 7292 -1, 6575, 7293 57, 0, 7294 255, 0, 7295 320, 0, 7296 544, 0, 7297 673, 0, 7298 689, 0, 7299 -2, 4006, 7300 } 7301 7302 const sqlPrivate = 57344 7303 7304 const sqlLast = 184886 7305 7306 var sqlAct = [...]int16{ 7307 338, 6810, 6502, 6803, 6788, 4665, 6758, 6746, 4464, 6716, 7308 6650, 6195, 6632, 6380, 6405, 6561, 6163, 1639, 6574, 6436, 7309 5015, 6533, 5001, 6589, 6729, 6453, 6542, 5425, 4324, 6501, 7310 6492, 5087, 6513, 6196, 6516, 6591, 6590, 2888, 6659, 6289, 7311 6267, 6244, 6372, 2733, 1696, 1529, 6252, 6273, 1220, 6, 7312 5615, 1222, 11, 1221, 10, 6587, 1519, 869, 4285, 3158, 7313 5961, 1223, 8, 5246, 1373, 219, 6245, 6226, 6322, 4, 7314 6018, 6573, 6013, 6005, 5969, 4015, 6168, 2564, 5202, 5913, 7315 4431, 6077, 3033, 4875, 6050, 1729, 5638, 5129, 2985, 908, 7316 5515, 6419, 1139, 4748, 5609, 5627, 5755, 5854, 4521, 1395, 7317 5834, 2433, 2983, 4191, 3941, 4878, 5088, 2340, 5853, 1624, 7318 2170, 3106, 4666, 6294, 5120, 5111, 5607, 5071, 5591, 5963, 7319 2435, 5570, 5331, 1139, 5568, 5076, 4881, 3044, 2934, 4302, 7320 2742, 1538, 2370, 5156, 4451, 5158, 3034, 3035, 1365, 2510, 7321 4419, 5078, 4862, 4446, 5075, 5020, 5067, 6073, 4812, 5016, 7322 4864, 4863, 4814, 865, 920, 1866, 1631, 5536, 3966, 4730, 7323 5042, 5350, 4714, 2946, 2590, 4688, 1430, 5041, 4325, 4680, 7324 4479, 4484, 4465, 987, 4647, 2135, 2137, 4448, 2981, 219, 7325 1227, 2877, 4456, 2908, 4671, 2848, 5057, 4315, 4669, 4392, 7326 6633, 1679, 1025, 4902, 5048, 4104, 5424, 1750, 4075, 2875, 7327 4077, 4725, 5730, 5068, 2414, 3925, 4705, 2754, 5308, 2337, 7328 2006, 2795, 3918, 3041, 4646, 2314, 2391, 3917, 3167, 1957, 7329 6323, 3180, 2242, 3119, 4505, 4478, 4352, 1215, 3920, 2073, 7330 5019, 5065, 2826, 983, 2846, 2931, 1461, 1134, 1425, 1634, 7331 2822, 2818, 2721, 2842, 4013, 2639, 131, 2516, 332, 2725, 7332 1600, 1860, 2508, 3898, 2005, 4014, 331, 4190, 2341, 3295, 7333 3973, 1520, 3171, 3103, 2930, 2360, 2563, 1840, 3005, 2010, 7334 1603, 3022, 1610, 2560, 3003, 2112, 4458, 1698, 4432, 1731, 7335 2103, 1614, 2076, 1694, 2069, 2851, 4215, 2876, 895, 958, 7336 2357, 1625, 918, 1031, 6804, 4216, 5079, 135, 869, 6454, 7337 2672, 2553, 1140, 2638, 5968, 1666, 3967, 1606, 4176, 1577, 7338 1562, 1574, 2306, 1376, 1636, 121, 3174, 2863, 3310, 3907, 7339 1523, 3165, 1502, 2350, 3228, 1380, 2256, 231, 968, 1003, 7340 3262, 2171, 232, 1140, 2172, 979, 6274, 2484, 1193, 2110, 7341 1147, 3004, 2034, 2614, 3006, 6651, 1141, 940, 1150, 2913, 7342 6717, 2618, 1789, 1691, 1772, 913, 1408, 1525, 53, 50, 7343 1500, 39, 52, 2177, 41, 6024, 37, 1427, 1859, 1782, 7344 1854, 1147, 1969, 909, 1054, 922, 4553, 1141, 1429, 1150, 7345 1129, 5322, 2009, 2486, 5323, 5352, 2486, 4667, 2486, 2486, 7346 2486, 2486, 6699, 6829, 6796, 4749, 1194, 3897, 3897, 1143, 7347 6795, 6776, 6774, 6585, 3897, 5547, 5008, 996, 999, 6757, 7348 6755, 6682, 6634, 6167, 6167, 2896, 6635, 6615, 6584, 6583, 7349 6532, 3897, 2187, 2188, 861, 2221, 2222, 2223, 2232, 2233, 7350 2234, 6129, 6613, 6610, 5138, 866, 3897, 6611, 6607, 1617, 7351 2525, 6126, 6608, 6571, 6125, 2225, 2218, 2896, 5353, 6124, 7352 2187, 2188, 5059, 2219, 6570, 6569, 2190, 6559, 2896, 4489, 7353 6557, 6167, 6548, 6123, 6167, 6546, 6167, 956, 2238, 6167, 7354 5783, 6511, 6473, 6459, 2218, 6167, 3985, 2896, 5354, 6120, 7355 1370, 5351, 1517, 1029, 2190, 6119, 6118, 6117, 6435, 2244, 7356 1125, 5362, 2896, 6433, 5998, 6431, 5139, 6167, 5360, 6167, 7357 2189, 6403, 4766, 2935, 6349, 5947, 1172, 1779, 3897, 6348, 7358 1216, 2209, 6320, 3897, 4105, 2525, 3985, 2244, 1503, 1503, 7359 6304, 2206, 6269, 1358, 5665, 6261, 5434, 6186, 2189, 6167, 7360 6185, 2896, 1675, 6174, 2896, 5361, 2147, 2896, 90, 6173, 7361 1219, 1218, 6166, 6167, 5357, 6134, 6167, 1347, 4424, 5412, 7362 6092, 6084, 1346, 6059, 6093, 2896, 4759, 3985, 6033, 91, 7363 114, 3944, 4489, 3944, 5999, 2128, 4740, 2982, 5008, 5908, 7364 5358, 5881, 5810, 3897, 5745, 3897, 4805, 56, 5746, 96, 7365 5697, 5656, 2070, 5650, 3985, 5151, 2522, 5151, 1675, 4007, 7366 3312, 5588, 2522, 2522, 2522, 5589, 1536, 1569, 1364, 5465, 7367 5433, 58, 5337, 5466, 5434, 6391, 5338, 4562, 2212, 2213, 7368 2214, 2215, 5335, 4563, 1559, 5315, 5336, 4867, 2195, 3897, 7369 5230, 5150, 3177, 5312, 2896, 5151, 106, 5126, 4769, 4723, 7370 4664, 5127, 4770, 3897, 3897, 4662, 4658, 4657, 4608, 4663, 7371 3897, 3897, 4609, 4606, 4595, 4593, 2195, 4607, 4596, 3897, 7372 4564, 1504, 3980, 1506, 3897, 1507, 3132, 3133, 3134, 3151, 7373 3152, 3153, 5008, 1389, 2525, 1531, 2229, 4488, 4617, 4618, 7374 2239, 4489, 1224, 2522, 4475, 5547, 866, 3154, 2970, 2217, 7375 2220, 4474, 4520, 4049, 3155, 2970, 59, 3897, 130, 3984, 7376 3897, 6474, 6415, 3985, 114, 127, 2525, 2525, 6324, 3964, 7377 6315, 3955, 2235, 3897, 2236, 2896, 1406, 2217, 2220, 3896, 7378 6314, 2204, 2205, 3897, 1783, 2969, 6307, 5355, 295, 2970, 7379 2244, 1560, 4489, 5312, 3311, 5356, 6009, 5947, 2522, 5882, 7380 5751, 2227, 3178, 5665, 5631, 5590, 5582, 5550, 4292, 4175, 7381 2747, 2896, 3144, 1783, 5412, 2539, 2210, 2895, 4060, 4424, 7382 4997, 4125, 3140, 2514, 4805, 4617, 4618, 4632, 2485, 4312, 7383 4167, 4069, 3974, 862, 2335, 2501, 115, 1560, 2003, 5483, 7384 5205, 4818, 1783, 2358, 2210, 2835, 5140, 3936, 297, 1752, 7385 3935, 3934, 5359, 3933, 3932, 2401, 2400, 2029, 295, 2399, 7386 4617, 4618, 2398, 4635, 4636, 4637, 5141, 5346, 2237, 1508, 7387 2487, 1505, 1357, 2487, 1356, 2487, 2487, 2487, 2487, 1355, 7388 1354, 1353, 1352, 5693, 90, 1351, 1350, 1349, 1345, 2226, 7389 2023, 4139, 2009, 1344, 1343, 3179, 1342, 1341, 3176, 1340, 7390 2241, 1339, 1338, 1337, 296, 91, 1336, 1335, 1334, 3145, 7391 3146, 3147, 3148, 1333, 1332, 2017, 1331, 1330, 297, 3139, 7392 1329, 1328, 1327, 56, 1326, 96, 1325, 289, 2241, 1324, 7393 1323, 6025, 1322, 3897, 4623, 3942, 290, 1321, 1320, 1319, 7394 1318, 1317, 1316, 1315, 6600, 1314, 4424, 58, 1301, 4632, 7395 1300, 1299, 1298, 1297, 1296, 1295, 1294, 1293, 1292, 1291, 7396 1290, 1289, 5706, 2216, 2522, 4617, 4618, 233, 1288, 1287, 7397 5378, 295, 106, 1286, 296, 1285, 1284, 3208, 3206, 2522, 7398 2522, 3311, 1283, 1282, 1281, 1280, 1279, 1225, 1278, 1277, 7399 5152, 2211, 2522, 1276, 1275, 1274, 1273, 1272, 2646, 1271, 7400 3192, 1270, 2522, 4824, 119, 2522, 1269, 1268, 4183, 1267, 7401 2522, 1266, 3149, 3150, 1265, 1264, 1263, 1262, 1224, 2211, 7402 1261, 4623, 6599, 1260, 2522, 2230, 1249, 1461, 219, 1641, 7403 1461, 297, 59, 1248, 130, 1247, 2525, 233, 1242, 1241, 7404 114, 127, 1234, 1428, 1233, 1232, 1214, 3142, 1213, 1212, 7405 1211, 1168, 4617, 4618, 1167, 3311, 4623, 5138, 1166, 1461, 7406 1461, 1461, 4633, 1560, 1165, 2243, 1164, 229, 1163, 122, 7407 1561, 1154, 126, 1153, 862, 1152, 4424, 3181, 1151, 2151, 7408 4461, 1109, 994, 993, 1571, 992, 974, 296, 326, 2525, 7409 6310, 325, 4034, 2243, 2522, 2514, 2485, 2998, 324, 323, 7410 322, 5349, 295, 321, 4716, 295, 2028, 1734, 320, 319, 7411 289, 318, 115, 317, 1226, 4183, 316, 2522, 315, 290, 7412 314, 1225, 1783, 313, 312, 311, 1628, 310, 309, 1461, 7413 308, 295, 1461, 307, 306, 305, 1683, 1684, 1685, 2022, 7414 4639, 304, 303, 2132, 302, 1647, 2241, 301, 1372, 4633, 7415 233, 3311, 300, 4575, 2228, 1670, 2187, 2188, 1560, 1461, 7416 295, 4623, 297, 299, 298, 297, 4558, 2201, 2202, 2208, 7417 2231, 2207, 2203, 6027, 2200, 2198, 2199, 2191, 2192, 2193, 7418 2194, 2196, 2197, 1869, 4633, 4555, 4401, 4441, 6495, 1461, 7419 2190, 297, 1734, 4142, 182, 1461, 1461, 4141, 4109, 5471, 7420 1641, 3989, 2200, 2198, 2199, 2191, 2192, 2193, 2194, 2196, 7421 2197, 3950, 3940, 235, 2361, 3190, 2317, 1994, 296, 2719, 7422 297, 296, 3143, 2316, 3175, 2566, 2524, 1461, 2317, 1461, 7423 2382, 1461, 2283, 2241, 2189, 2316, 2012, 4634, 1781, 1855, 7424 1734, 1778, 1687, 1461, 289, 1537, 2184, 296, 4623, 1534, 7425 290, 4617, 4618, 290, 2320, 2910, 6596, 230, 1628, 3994, 7426 6158, 6572, 6556, 234, 6448, 1641, 2315, 2274, 2241, 6440, 7427 289, 6327, 6089, 6072, 6031, 6008, 296, 1670, 5728, 290, 7428 119, 233, 2078, 5722, 1217, 1662, 5721, 5720, 1734, 4633, 7429 6011, 5713, 1609, 1613, 5712, 1628, 2243, 5710, 1734, 289, 7430 1979, 5705, 5630, 5603, 1664, 5587, 4181, 1461, 290, 1461, 7431 233, 2281, 5585, 1579, 1734, 5581, 5379, 5345, 5344, 5303, 7432 5302, 5301, 1545, 1461, 4634, 1461, 1544, 5262, 1542, 1974, 7433 1541, 1798, 1621, 5226, 5221, 4718, 4712, 2106, 4654, 233, 7434 2949, 1532, 2038, 229, 4645, 122, 2007, 4616, 126, 4613, 7435 4612, 4610, 2195, 219, 219, 4605, 4617, 4618, 4604, 4634, 7436 4603, 4600, 1701, 1702, 4599, 4598, 4594, 4574, 4556, 4554, 7437 4476, 3948, 3924, 2241, 3163, 2184, 4633, 2083, 2086, 4617, 7438 4618, 295, 295, 1516, 1656, 2397, 4180, 2274, 2901, 2899, 7439 1226, 2183, 2518, 6819, 6737, 6736, 1713, 1225, 3129, 3130, 7440 3131, 3156, 3141, 3135, 1690, 3137, 3138, 3136, 3123, 3124, 7441 3125, 3126, 3127, 3128, 6696, 295, 5481, 6649, 4754, 6647, 7442 4628, 4626, 4627, 4619, 4620, 4621, 4622, 4624, 4625, 1539, 7443 1693, 5248, 6503, 2104, 1703, 1704, 5604, 6417, 1992, 2276, 7444 295, 297, 297, 1862, 6393, 1954, 1959, 4623, 6388, 6387, 7445 1850, 6386, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 7446 2241, 1147, 295, 2275, 4634, 2273, 6366, 6365, 6363, 1150, 7447 182, 6326, 6325, 2004, 4443, 297, 6026, 6309, 1670, 6302, 7448 3109, 6287, 6284, 1743, 6282, 6265, 1461, 1989, 6263, 235, 7449 6182, 6153, 1461, 4180, 6070, 1962, 1964, 296, 296, 5991, 7450 297, 5987, 2071, 5985, 5983, 5948, 5820, 2152, 4626, 4627, 7451 4619, 4620, 4621, 4622, 4624, 4625, 2115, 2117, 5819, 5727, 7452 289, 289, 297, 295, 5666, 5594, 5469, 5468, 5449, 290, 7453 290, 296, 5448, 230, 1370, 4629, 4630, 4631, 1856, 234, 7454 5446, 4180, 4628, 4626, 4627, 4619, 4620, 4621, 4622, 4624, 7455 4625, 4634, 4623, 5413, 289, 2162, 296, 4706, 2338, 5318, 7456 233, 233, 5305, 290, 5216, 2261, 5153, 2113, 5110, 5100, 7457 4977, 4913, 4880, 4806, 2260, 4623, 4579, 2297, 296, 289, 7458 1461, 1461, 1461, 297, 4578, 3115, 1461, 4573, 290, 4545, 7459 6330, 4709, 4418, 869, 233, 869, 4416, 2016, 4415, 4208, 7460 2323, 289, 2322, 2321, 295, 1869, 1461, 2318, 1869, 5604, 7461 290, 2312, 2307, 2304, 3938, 3931, 2263, 3895, 3219, 233, 7462 3188, 2959, 2490, 2339, 2332, 2331, 1461, 1966, 2330, 2420, 7463 1641, 2329, 2328, 2327, 2158, 2326, 2185, 2446, 2420, 296, 7464 1641, 4460, 2325, 1641, 1734, 2347, 2324, 4628, 4626, 4627, 7465 4619, 4620, 4621, 4622, 4624, 4625, 2313, 2302, 2301, 2241, 7466 6329, 219, 289, 2300, 297, 2385, 2299, 2298, 295, 2297, 7467 295, 290, 2296, 295, 2295, 2294, 2293, 2127, 2292, 2291, 7468 2290, 6121, 3207, 3205, 2289, 2413, 2288, 2287, 2344, 2345, 7469 1630, 2276, 2262, 2146, 956, 1029, 2259, 2254, 1655, 1566, 7470 1461, 1555, 233, 4633, 6328, 3191, 1535, 5997, 2272, 5789, 7471 2089, 5701, 5377, 5334, 5321, 4561, 2109, 3987, 3949, 1641, 7472 296, 5791, 4442, 2163, 3929, 2747, 1461, 2408, 297, 5744, 7473 297, 5376, 1370, 297, 2275, 4752, 4627, 4619, 4620, 4621, 7474 4622, 4624, 4625, 289, 2159, 5144, 2257, 2378, 4617, 4618, 7475 1461, 5884, 290, 1680, 1682, 4286, 2187, 2188, 1869, 6728, 7476 2407, 6398, 6389, 1697, 2559, 5583, 2319, 6311, 6217, 6045, 7477 6030, 1347, 5935, 5927, 5926, 5924, 1346, 2167, 5923, 2367, 7478 2166, 5922, 2161, 233, 296, 2531, 296, 2241, 1697, 296, 7479 2190, 1734, 5921, 2557, 1734, 1734, 1734, 1734, 1734, 5920, 7480 1503, 2180, 2181, 2443, 5883, 2745, 5769, 289, 5675, 289, 7481 4617, 4618, 289, 4635, 4636, 4637, 290, 5674, 290, 5673, 7482 5672, 290, 1630, 5671, 1697, 6012, 2187, 2188, 5670, 1649, 7483 2420, 1675, 1670, 5692, 2189, 2109, 5669, 5668, 1681, 2421, 7484 5667, 1370, 2471, 2193, 2194, 2196, 2197, 233, 2421, 233, 7485 5548, 1697, 233, 1697, 2308, 2309, 1461, 2403, 2405, 1630, 7486 2190, 2368, 2808, 2551, 2550, 5435, 5416, 1697, 2559, 5415, 7487 5414, 5326, 5325, 5324, 1697, 5155, 5154, 1147, 4634, 2396, 7488 4916, 2359, 5010, 2423, 5009, 1150, 1147, 5006, 4811, 4810, 7489 4809, 4808, 2423, 5203, 1150, 1695, 6592, 2530, 6678, 4632, 7490 6676, 6588, 1461, 2361, 2189, 4967, 1630, 1851, 1853, 4350, 7491 1676, 1858, 4234, 5610, 48, 2365, 2317, 2297, 2297, 5506, 7492 3189, 2297, 1461, 2316, 1742, 4602, 2502, 4601, 4527, 4219, 7493 2545, 1678, 2336, 5464, 5002, 2736, 4619, 4620, 4621, 4622, 7494 4624, 4625, 5610, 5090, 2429, 5089, 5612, 5596, 1312, 5401, 7495 2363, 5402, 2195, 4882, 2477, 2377, 2375, 2480, 2372, 2376, 7496 1531, 2373, 1531, 2371, 6157, 1841, 6358, 2586, 6359, 2334, 7497 2878, 866, 4667, 866, 5608, 5612, 1799, 2642, 2600, 2589, 7498 2285, 2533, 2597, 1751, 1675, 6406, 2430, 2491, 6534, 2935, 7499 6268, 6006, 4485, 5049, 6359, 5931, 2591, 2879, 2406, 3177, 7500 4999, 4667, 5580, 2529, 2554, 5512, 4623, 2950, 2499, 1313, 7501 5503, 6074, 2282, 1675, 2504, 5474, 2108, 1752, 2506, 4998, 7502 5195, 1628, 1842, 4789, 2673, 2511, 4094, 2979, 2912, 2513, 7503 2671, 1711, 4567, 2527, 2624, 4667, 5250, 3172, 6747, 2521, 7504 2421, 6780, 2827, 4621, 4622, 4624, 4625, 2832, 4217, 6177, 7505 6597, 4299, 2807, 2714, 1672, 963, 2402, 6149, 2806, 963, 7506 2311, 4288, 2333, 5107, 4619, 4620, 4621, 4622, 4624, 4625, 7507 2814, 2942, 1734, 1734, 2082, 1999, 1651, 1503, 1147, 2599, 7508 1605, 2833, 4309, 1869, 2423, 6822, 1150, 1515, 6612, 6609, 7509 4639, 2571, 5900, 2572, 5896, 5134, 5440, 6381, 6014, 2534, 7510 2852, 6510, 2746, 2579, 2580, 2552, 4885, 4306, 1734, 3178, 7511 4304, 1717, 5459, 2676, 2140, 4753, 2817, 964, 2573, 2574, 7512 5125, 964, 5033, 6680, 6679, 2577, 2578, 6180, 6176, 2817, 7513 6155, 6598, 5196, 2186, 4633, 2108, 2743, 1682, 2817, 6210, 7514 4793, 1734, 4981, 6720, 1677, 2556, 1375, 5870, 5525, 2266, 7515 3013, 2044, 2052, 2271, 4050, 4817, 2662, 2001, 6812, 4179, 7516 1310, 1308, 1306, 5868, 2241, 1100, 6214, 2803, 2603, 2812, 7517 4394, 6104, 6399, 5865, 6656, 2823, 4177, 1108, 5004, 2739, 7518 2394, 1105, 2625, 1839, 2844, 6203, 2555, 1734, 6188, 1734, 7519 5940, 1734, 2660, 1207, 1797, 5939, 2546, 5523, 5522, 5514, 7520 5489, 1796, 3179, 5488, 5486, 3176, 5485, 4107, 1673, 1734, 7521 1734, 5473, 5432, 2717, 2656, 3011, 5549, 2744, 2241, 4179, 7522 1674, 1681, 5431, 1734, 1767, 5932, 2962, 5039, 2962, 5003, 7523 5524, 5038, 5014, 1374, 4969, 4739, 4177, 3090, 4572, 2853, 7524 1368, 4571, 4570, 4817, 1461, 1665, 1461, 1676, 2889, 2893, 7525 2740, 4569, 4531, 1461, 4348, 4347, 1461, 4193, 2446, 2446, 7526 1869, 4795, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 7527 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 7528 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 7529 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 862, 7530 1461, 862, 1461, 1461, 1461, 1461, 2753, 2741, 5584, 4634, 7531 6749, 6748, 6750, 6178, 2829, 2828, 2830, 2715, 1715, 2378, 7532 2974, 6150, 1147, 1208, 1795, 1682, 4965, 4329, 1461, 4311, 7533 1150, 2883, 1461, 1461, 2894, 2815, 2800, 2775, 5058, 4298, 7534 1461, 2956, 4290, 4279, 1461, 4882, 1461, 1461, 2943, 5443, 7535 4278, 1367, 3015, 3046, 1869, 2881, 2882, 2867, 2867, 4915, 7536 1461, 1461, 1461, 1461, 3224, 2939, 1461, 1461, 1461, 1461, 7537 1461, 1461, 1461, 1461, 2977, 2866, 2866, 2879, 2869, 5000, 7538 2045, 966, 2799, 3988, 3181, 2987, 2591, 2796, 6721, 3012, 7539 4196, 1672, 3159, 1676, 2816, 1461, 1461, 1461, 1461, 1461, 7540 1461, 1461, 1461, 1461, 2965, 1461, 3169, 2816, 3002, 1681, 7541 1461, 2813, 5864, 4266, 2885, 4106, 2816, 2821, 966, 6657, 7542 3223, 4265, 869, 6231, 2443, 2443, 5849, 1991, 4263, 1869, 7543 4021, 5866, 3216, 1370, 4252, 1370, 1675, 869, 4625, 2953, 7544 2047, 2191, 2192, 2193, 2194, 2196, 2197, 5885, 3040, 4452, 7545 2906, 2561, 2562, 1869, 3265, 3265, 3279, 1461, 1461, 1461, 7546 3298, 3299, 3301, 2688, 2918, 2916, 2113, 2967, 2113, 3309, 7547 5842, 6243, 4250, 3013, 2002, 1369, 1699, 1700, 3010, 4245, 7548 4244, 1677, 4240, 4224, 4223, 4629, 4630, 4631, 2992, 4184, 7549 2945, 3965, 4628, 4626, 4627, 4619, 4620, 4621, 4622, 4624, 7550 4625, 3956, 1641, 2431, 1628, 1852, 2960, 2160, 2963, 4238, 7551 1744, 2056, 1699, 1700, 1776, 1303, 2197, 3946, 3947, 3027, 7552 5818, 2933, 3039, 3026, 1776, 1656, 2971, 4966, 2972, 1591, 7553 3172, 3175, 5843, 1205, 6723, 1204, 4802, 1672, 3011, 1699, 7554 1700, 1699, 1700, 2797, 2584, 1673, 2048, 5546, 2802, 4813, 7555 1641, 3982, 2095, 3121, 2094, 2561, 2562, 1674, 3912, 2999, 7556 2702, 4023, 1699, 1700, 2395, 2997, 1532, 219, 1532, 3182, 7557 2701, 3023, 3014, 3007, 3001, 1347, 1370, 3000, 1347, 1347, 7558 3030, 1857, 1423, 3031, 3032, 1630, 1370, 6213, 5801, 1461, 7559 1370, 6098, 6103, 2604, 3218, 2064, 1641, 1641, 4221, 3220, 7560 3221, 6679, 3222, 1773, 2154, 3225, 3904, 3226, 3227, 1848, 7561 2093, 2854, 2092, 4044, 4057, 2810, 3105, 4277, 4000, 4267, 7562 4195, 2367, 2747, 5059, 2698, 3105, 1794, 1677, 6790, 1842, 7563 5862, 3009, 2804, 4269, 1503, 2611, 4003, 1869, 5826, 4308, 7564 1752, 2641, 1842, 3968, 965, 1775, 6095, 1752, 4729, 6724, 7565 3954, 5403, 3117, 3157, 4816, 1775, 1813, 4070, 4207, 1734, 7566 1734, 4457, 6374, 3952, 4815, 2993, 4792, 3928, 2605, 4134, 7567 3971, 1210, 5470, 1209, 3903, 2669, 1819, 4307, 1774, 4157, 7568 4807, 965, 2798, 1370, 5867, 4542, 2349, 4271, 1628, 1366, 7569 1641, 1673, 1641, 3911, 4037, 3916, 3303, 5012, 3922, 3923, 7570 3997, 3996, 4305, 1674, 2699, 4303, 4503, 6232, 2855, 6096, 7571 1739, 1670, 3012, 1654, 4020, 4518, 1461, 5825, 3261, 4540, 7572 3290, 6230, 1461, 3282, 3990, 4268, 3274, 2443, 3305, 6228, 7573 2653, 6411, 4178, 3893, 3894, 1090, 2608, 2602, 2155, 4270, 7574 6732, 1147, 4816, 1147, 3909, 3910, 3905, 1716, 2319, 1150, 7575 4042, 1150, 4815, 2165, 6594, 3975, 6761, 2365, 2655, 6722, 7576 1362, 2661, 1734, 4047, 4012, 3976, 1106, 1106, 1305, 2612, 7577 4316, 5838, 4206, 1675, 2964, 4830, 6726, 967, 3281, 5839, 7578 4829, 5532, 4053, 1106, 4136, 2353, 1461, 1106, 6227, 1531, 7579 5844, 2687, 4048, 5530, 1147, 2684, 2077, 2659, 4194, 6239, 7580 866, 3010, 1150, 5535, 1531, 6376, 5099, 4055, 1543, 3978, 7581 3979, 3113, 5236, 4160, 967, 866, 3981, 5802, 3111, 6229, 7582 5545, 4027, 4102, 4333, 4346, 1023, 2446, 4089, 4090, 4091, 7583 4092, 3993, 4041, 5841, 4256, 6805, 4074, 5817, 2308, 2309, 7584 1817, 2870, 2356, 3181, 1258, 6347, 1609, 4001, 1613, 4112, 7585 4032, 5532, 4056, 4617, 4618, 5845, 4635, 4636, 4637, 4005, 7586 2075, 2351, 2685, 5530, 4006, 4008, 4276, 1091, 6346, 5860, 7587 4009, 4517, 5560, 5535, 4024, 1646, 5220, 4099, 4054, 4933, 7588 4039, 2354, 6345, 4031, 4537, 1628, 5181, 5182, 5863, 4331, 7589 5534, 5456, 4038, 2686, 4117, 4924, 4119, 5938, 4121, 3972, 7590 4123, 4124, 2557, 2557, 5487, 5237, 1869, 5484, 4162, 4163, 7591 4029, 4045, 4851, 1791, 4051, 4220, 4033, 4538, 1734, 1675, 7592 1549, 4543, 4185, 2933, 3999, 5385, 2352, 5239, 5533, 4617, 7593 4618, 4140, 4635, 4636, 4637, 4046, 2794, 1551, 5561, 5384, 7594 4852, 2697, 4632, 5383, 4389, 4934, 5382, 2809, 5371, 3087, 7595 5370, 1641, 5219, 5800, 5369, 6595, 5181, 5182, 5368, 1021, 7596 5534, 4925, 5045, 2055, 2811, 1546, 4159, 4682, 4385, 5037, 7597 1461, 1780, 1461, 4065, 4066, 4108, 3969, 4067, 4068, 4963, 7598 1461, 1590, 4819, 3998, 4182, 4310, 4264, 3114, 4251, 4243, 7599 5559, 4222, 2443, 4798, 2645, 2644, 6531, 4932, 5533, 2706, 7600 4116, 4156, 2805, 2266, 4110, 2793, 4111, 2808, 6725, 1641, 7601 4390, 5840, 1714, 4923, 1090, 4127, 2768, 1552, 4632, 2716, 7602 6708, 2700, 4036, 6707, 4132, 4850, 4430, 2708, 2747, 3963, 7603 5454, 4226, 6730, 4064, 4427, 3970, 4510, 4511, 6763, 1362, 7604 4166, 1734, 1096, 1095, 4301, 4148, 4149, 6469, 907, 4623, 7605 5013, 1553, 6664, 1734, 2801, 1734, 4241, 4853, 5430, 5861, 7606 1734, 1630, 4388, 5429, 5850, 5851, 2355, 5043, 1630, 3101, 7607 4211, 2791, 2015, 5046, 2021, 902, 2027, 4173, 6593, 1628, 7608 4821, 6246, 2769, 4284, 4225, 2106, 2610, 3181, 5957, 1461, 7609 5018, 5017, 1092, 4188, 6241, 1461, 1461, 2810, 4242, 1550, 7610 1304, 5569, 4317, 3099, 219, 4274, 4198, 4201, 2745, 3181, 7611 4280, 1461, 2705, 4232, 4233, 4235, 4236, 4237, 4239, 5131, 7612 6375, 4101, 4145, 2792, 5531, 4623, 4337, 2750, 862, 6625, 7613 4158, 5132, 1814, 4639, 2767, 4800, 2583, 4118, 4396, 4120, 7614 4539, 4122, 4398, 862, 2707, 4247, 1091, 3085, 4439, 2486, 7615 4541, 3088, 2126, 3104, 2131, 1461, 1461, 6731, 4349, 4260, 7616 4261, 1461, 4533, 4386, 4387, 5062, 4273, 1741, 2145, 1250, 7617 2150, 4272, 4282, 4336, 1461, 1461, 4434, 4633, 4296, 4289, 7618 1461, 1461, 4335, 6097, 4063, 4334, 1461, 4322, 4323, 2156, 7619 4494, 4495, 2081, 2751, 5531, 4328, 1251, 2807, 2874, 1846, 7620 4959, 6733, 4681, 2806, 6806, 6382, 4321, 4961, 1022, 4639, 7621 4869, 4165, 3084, 4728, 1147, 3953, 5018, 5017, 6487, 1812, 7622 4399, 4169, 1150, 6141, 5131, 336, 4477, 3951, 2836, 4486, 7623 4487, 4960, 1461, 2843, 1093, 4492, 4490, 1818, 2654, 1461, 7624 2867, 4958, 4496, 1461, 4497, 2749, 4108, 1738, 1740, 4957, 7625 1653, 2755, 1630, 4633, 4954, 5537, 90, 4287, 2866, 1461, 7626 4345, 2241, 1235, 6467, 2873, 4470, 1094, 4472, 3095, 4422, 7627 4534, 4411, 1024, 4147, 2607, 2601, 1020, 91, 5004, 2077, 7628 2759, 3915, 6563, 4794, 6564, 4423, 1815, 1259, 4483, 1240, 7629 2164, 4559, 4468, 3096, 4482, 56, 4897, 96, 4438, 1811, 7630 962, 3097, 2187, 2188, 4480, 3102, 2000, 4450, 2827, 4454, 7631 4463, 2868, 1753, 1564, 6468, 4903, 4473, 4509, 2811, 58, 7632 2113, 1096, 1095, 2305, 4750, 5537, 2218, 2861, 2868, 4471, 7633 4498, 1098, 5044, 2219, 4557, 2809, 2190, 2241, 6642, 3112, 7634 4500, 5028, 4849, 6663, 106, 4499, 2756, 2833, 1547, 5979, 7635 6643, 1097, 4634, 4332, 1461, 1461, 1461, 1461, 2871, 4896, 7636 4504, 2353, 3027, 1461, 1461, 1461, 3026, 2837, 1461, 2244, 7637 1613, 1092, 4519, 2833, 4905, 2871, 5426, 4526, 6428, 2737, 7638 2189, 5777, 1461, 869, 6062, 1461, 1461, 1461, 1461, 5778, 7639 1224, 2209, 1099, 1869, 3162, 1532, 6689, 6759, 6521, 5902, 7640 4179, 2206, 5455, 1816, 59, 2746, 130, 928, 2825, 2253, 7641 1532, 3908, 114, 127, 4506, 4577, 1548, 4199, 2356, 4330, 7642 4775, 4532, 3298, 3298, 3298, 6764, 1370, 4656, 4634, 2704, 7643 3921, 4283, 3944, 1369, 6622, 5252, 3086, 3906, 90, 2824, 7644 5994, 2374, 5849, 6420, 5683, 4962, 5684, 4904, 4870, 1630, 7645 2777, 5943, 5198, 5788, 5776, 5539, 5372, 2354, 6421, 91, 7646 1570, 1394, 1252, 1253, 5691, 2864, 6053, 1568, 4617, 4618, 7647 4501, 4635, 4636, 4637, 6437, 6626, 2760, 56, 903, 96, 7648 2187, 2188, 2819, 6528, 115, 1758, 5842, 6452, 2212, 2213, 7649 2214, 2215, 5835, 6286, 6240, 6422, 2787, 5942, 2195, 3282, 7650 3282, 58, 4560, 4566, 2218, 5941, 4597, 5636, 2777, 5116, 7651 4943, 5833, 2726, 1093, 2190, 4941, 4764, 2727, 4254, 3962, 7652 2744, 5837, 6247, 2929, 3098, 2346, 106, 4338, 4629, 4630, 7653 4631, 1567, 1558, 894, 3100, 4628, 4626, 4627, 4619, 4620, 7654 4621, 4622, 4624, 4625, 6220, 1094, 4078, 2244, 5843, 4799, 7655 2582, 2761, 2762, 2820, 2787, 1236, 1237, 4632, 2189, 2217, 7656 2220, 5602, 2175, 2668, 2174, 2174, 2487, 5725, 6409, 2783, 7657 5578, 5427, 1224, 6424, 1360, 904, 1090, 6662, 2169, 2757, 7658 2829, 2828, 2830, 5292, 3029, 2748, 59, 2547, 130, 4079, 7659 6175, 2204, 2205, 2349, 114, 127, 6769, 6113, 5836, 6423, 7660 5980, 1362, 5492, 4942, 4629, 4630, 4631, 4078, 4255, 6296, 7661 1098, 4628, 4626, 4627, 4619, 4620, 4621, 4622, 4624, 4625, 7662 6425, 2840, 4651, 4652, 4653, 4731, 2210, 2783, 6051, 2758, 7663 1097, 6641, 4876, 6052, 6356, 5637, 905, 2780, 906, 5031, 7664 4668, 4660, 2355, 1630, 5032, 4082, 5518, 5493, 4088, 5441, 7665 4079, 2728, 119, 5439, 5117, 2859, 2544, 5105, 1361, 4872, 7666 4440, 4433, 4420, 2957, 4623, 2951, 115, 2944, 2937, 2911, 7667 2732, 1099, 2905, 4087, 4085, 4320, 2195, 3019, 5235, 3282, 7668 3282, 3282, 3282, 1254, 1255, 2049, 6438, 2838, 4661, 2173, 7669 2173, 6278, 2353, 5397, 1582, 2780, 2785, 973, 5306, 2647, 7670 3899, 6493, 2764, 5199, 4183, 5925, 4082, 5676, 1091, 4088, 7671 2241, 2174, 6455, 2856, 4228, 229, 4640, 122, 2868, 2909, 7672 126, 4617, 4618, 2860, 4635, 4636, 4637, 4259, 2670, 5639, 7673 2865, 2540, 4690, 6019, 4087, 4085, 5685, 2217, 2220, 2839, 7674 4417, 1592, 6258, 6256, 2542, 3902, 6152, 2776, 4639, 2356, 7675 1531, 4888, 1630, 295, 2785, 4200, 4884, 4883, 2585, 2729, 7676 2734, 866, 1226, 4524, 2786, 2862, 2175, 2175, 2351, 1225, 7677 2253, 4083, 4502, 2216, 2763, 5320, 1238, 1239, 4679, 4678, 7678 1785, 1784, 2990, 5364, 2980, 2903, 6054, 5838, 2354, 3901, 7679 1777, 2857, 4633, 2543, 3900, 5839, 2087, 2858, 2773, 3961, 7680 2790, 2211, 4944, 5726, 2210, 4257, 5844, 5293, 3960, 4084, 7681 4632, 3959, 3958, 297, 3957, 2088, 2102, 2100, 1257, 5294, 7682 2068, 5574, 2786, 1367, 2570, 5894, 5491, 5597, 5598, 6164, 7683 2681, 6369, 4083, 2352, 119, 5970, 2173, 1630, 1630, 4204, 7684 3020, 5686, 182, 6768, 5447, 2955, 5352, 4691, 5052, 5841, 7685 5436, 2747, 6260, 6686, 2730, 1012, 2849, 6139, 2790, 6132, 7686 6131, 235, 6130, 4393, 2771, 4105, 5192, 2765, 4803, 296, 7687 4084, 5845, 4763, 4762, 4761, 2243, 2241, 4760, 2778, 4982, 7688 4744, 1155, 4743, 1096, 1095, 4742, 1759, 4697, 2241, 2788, 7689 4741, 4491, 289, 6499, 1013, 4397, 4081, 229, 2070, 122, 7690 4395, 290, 126, 4689, 2984, 230, 2784, 4696, 1162, 5353, 7691 2737, 234, 4076, 6426, 6160, 2878, 2772, 4623, 6439, 4229, 7692 4230, 6427, 1720, 6277, 6370, 5398, 2517, 6147, 5497, 6507, 7693 4248, 6159, 2118, 1092, 5807, 295, 2778, 6259, 5806, 5354, 7694 6490, 2781, 5351, 5731, 1226, 4945, 4695, 2788, 4258, 5309, 7695 2779, 1225, 5362, 6165, 4086, 3187, 1760, 4081, 2789, 5360, 7696 6116, 5373, 1843, 1536, 2784, 6530, 1461, 4634, 1461, 4674, 7697 4675, 4857, 6690, 2355, 4249, 2693, 2735, 869, 6688, 2211, 7698 1845, 2207, 2203, 6148, 2200, 2198, 2199, 2191, 2192, 2193, 7699 2194, 2196, 2197, 3186, 1838, 297, 5361, 2434, 6500, 2781, 7700 6614, 4639, 6401, 1807, 6390, 5357, 5502, 6128, 2779, 869, 7701 1805, 1869, 4732, 1461, 1803, 4086, 2789, 1630, 1630, 1630, 7702 1630, 1869, 1801, 4858, 182, 4676, 5030, 5840, 1771, 6371, 7703 6069, 5358, 972, 5955, 1769, 1766, 1641, 5797, 1764, 2782, 7704 1762, 1755, 5437, 235, 1749, 4633, 1747, 5724, 5573, 5390, 7705 4648, 296, 4080, 2243, 4715, 5215, 2446, 5193, 4970, 4758, 7706 1869, 4611, 2569, 4544, 4421, 4410, 1641, 4297, 4291, 4218, 7707 4692, 4693, 4694, 4151, 289, 1093, 3995, 2989, 1641, 2975, 7708 5850, 5851, 2958, 290, 4023, 2446, 2713, 230, 2709, 862, 7709 2847, 2680, 2588, 234, 6234, 4767, 2479, 2782, 2381, 2887, 7710 2139, 2101, 2099, 1256, 1847, 1359, 2658, 1094, 5805, 2616, 7711 4649, 4845, 4844, 4080, 2116, 4834, 4686, 2169, 4138, 1461, 7712 4721, 4722, 4137, 4072, 3008, 4983, 2904, 1790, 2731, 2241, 7713 2619, 1461, 2478, 2476, 4711, 2286, 2153, 1499, 6586, 5098, 7714 5903, 5505, 5504, 4629, 4630, 4631, 5996, 5490, 5907, 2439, 7715 4628, 4626, 4627, 4619, 4620, 4621, 4622, 4624, 4625, 4772, 7716 4774, 4684, 5880, 1104, 4765, 2191, 2192, 2193, 2194, 2196, 7717 2197, 6660, 1098, 4128, 1156, 1157, 6489, 1641, 5355, 1641, 7718 6017, 5912, 2695, 5898, 5895, 5232, 5356, 5831, 4733, 4734, 7719 4735, 4736, 1097, 2694, 5373, 5830, 4790, 5121, 1844, 4685, 7720 4700, 5635, 5622, 4726, 4698, 4726, 5521, 5495, 4796, 6655, 7721 4701, 4702, 1837, 4708, 1394, 1394, 1394, 5462, 4699, 2412, 7722 4634, 1806, 2443, 1670, 5460, 4727, 4704, 1869, 1804, 4683, 7723 1869, 5438, 1802, 1099, 5109, 5103, 5091, 4020, 4453, 4445, 7724 1800, 4437, 4429, 5359, 4782, 4413, 1770, 4412, 2736, 1107, 7725 2443, 2443, 1768, 1765, 4408, 1641, 1763, 4391, 1761, 1754, 7726 4703, 2446, 1748, 4035, 1746, 4707, 4030, 2902, 2900, 2880, 7727 4801, 2834, 4871, 2766, 6568, 2752, 2738, 2526, 1461, 2523, 7728 2515, 4756, 2512, 2507, 2736, 2505, 2500, 2494, 2492, 2488, 7729 2178, 4994, 4126, 1147, 1641, 1512, 2843, 4253, 6680, 4522, 7730 5677, 1150, 2548, 6368, 4170, 4745, 2886, 2536, 2537, 4804, 7731 4384, 4921, 4171, 2657, 4168, 1641, 2615, 4746, 6550, 6445, 7732 6032, 5919, 1513, 1641, 5804, 4481, 4797, 2712, 2565, 4773, 7733 6046, 1136, 4936, 2054, 1159, 1158, 1641, 1641, 1952, 4771, 7734 4940, 6298, 4179, 4179, 1531, 4205, 4153, 6290, 1307, 1309, 7735 4738, 4779, 3977, 4948, 4949, 866, 1532, 4786, 4783, 4177, 7736 4202, 1461, 1461, 2691, 2037, 2832, 1573, 5649, 2747, 1869, 7737 4843, 4950, 4791, 4955, 2832, 4887, 1531, 2606, 4892, 2954, 7738 4757, 4894, 1641, 4873, 2710, 4842, 4825, 866, 4826, 1615, 7739 4827, 1835, 1836, 1616, 1867, 2651, 4629, 4630, 4631, 4992, 7740 1461, 6549, 2643, 4628, 4626, 4627, 4619, 4620, 4621, 4622, 7741 4624, 4625, 1160, 1161, 4523, 2613, 4968, 4768, 5871, 1641, 7742 5914, 2179, 2187, 2188, 4337, 1361, 1649, 2443, 1745, 4900, 7743 4995, 4918, 4776, 1692, 2711, 4778, 5026, 2187, 2188, 4780, 7744 4781, 4828, 1001, 4406, 4784, 5024, 4785, 4344, 2535, 5022, 7745 4787, 4209, 6313, 1514, 1244, 4341, 2190, 6162, 4922, 1689, 7746 5732, 5711, 4901, 4720, 4210, 4231, 1734, 2182, 1734, 1648, 7747 1572, 4407, 1869, 5619, 4343, 6674, 327, 1139, 1616, 1734, 7748 1734, 4914, 4340, 1461, 5517, 4835, 4023, 4023, 1616, 4210, 7749 5029, 4820, 2097, 4822, 6621, 4856, 2938, 5538, 4978, 5011, 7750 2189, 4846, 4847, 4848, 4859, 4860, 1660, 4306, 1641, 4304, 7751 4313, 6412, 5516, 1004, 1004, 2189, 4293, 4295, 4214, 4342, 7752 4212, 5007, 1810, 1018, 4906, 5106, 4886, 4339, 1461, 4890, 7753 6498, 6475, 859, 4294, 4213, 4937, 6443, 6441, 6367, 6279, 7754 4927, 6276, 6140, 5953, 2098, 5633, 5621, 5601, 1734, 5108, 7755 4462, 4426, 4409, 3306, 2532, 2432, 6727, 6161, 4129, 4130, 7756 1734, 5031, 1734, 5031, 6308, 4281, 5032, 2872, 5032, 2718, 7757 1998, 1997, 1990, 1849, 1363, 4747, 2849, 6767, 4617, 4618, 7758 6781, 5122, 5063, 5021, 2187, 2188, 5021, 6692, 4928, 5928, 7759 4931, 1461, 4929, 5995, 4930, 4973, 5031, 4300, 1461, 1461, 7760 2009, 5032, 1461, 1461, 1461, 2845, 1461, 2576, 4059, 219, 7761 219, 2009, 4980, 4979, 1719, 1461, 2446, 5703, 3042, 3043, 7762 1718, 5136, 5095, 5005, 1461, 5115, 4993, 2575, 4058, 1869, 7763 5375, 2008, 4984, 2392, 4986, 2009, 5104, 4990, 1461, 4020, 7764 4020, 4996, 5047, 5023, 5050, 4143, 1869, 3217, 5027, 2576, 7765 2575, 6539, 2443, 2443, 4274, 5035, 2446, 2446, 1461, 1461, 7766 5629, 1461, 1461, 1461, 5118, 1809, 6280, 4840, 1808, 6250, 7767 6204, 6110, 6106, 6105, 5916, 5147, 5911, 5910, 4854, 5779, 7768 2406, 4855, 1461, 862, 5775, 5774, 1461, 1140, 2446, 2446, 7769 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 7770 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 1461, 7771 4226, 1461, 5702, 5171, 5054, 862, 5423, 5218, 5069, 1461, 7772 1461, 2446, 5265, 5040, 5266, 1147, 1461, 5200, 5201, 5102, 7773 5096, 1141, 5189, 1150, 5374, 5243, 5187, 5190, 1461, 5101, 7774 4988, 5191, 5056, 5036, 4985, 4146, 5074, 2280, 2279, 869, 7775 869, 4174, 2720, 1461, 6752, 6709, 5133, 6554, 6479, 6478, 7776 1952, 5135, 6477, 1952, 6400, 5142, 6338, 6333, 6332, 6254, 7777 2439, 2439, 5145, 5146, 6192, 6122, 6115, 1370, 6114, 6112, 7778 6109, 6108, 2443, 6107, 6102, 5304, 6101, 1869, 4480, 4964, 7779 1461, 1461, 5989, 5956, 5869, 5790, 5773, 4480, 5772, 5197, 7780 5661, 5347, 5655, 5586, 5458, 5450, 5114, 4893, 4837, 4777, 7781 1641, 1641, 4444, 4414, 4203, 4403, 2383, 4405, 4152, 2393, 7782 4135, 4098, 2443, 2443, 4097, 4096, 4095, 4026, 3992, 1641, 7783 1641, 3991, 3116, 2952, 2924, 2420, 2923, 1641, 2922, 2921, 7784 2920, 4023, 2446, 2919, 2446, 2696, 2652, 5223, 5225, 2637, 7785 2636, 2635, 5231, 2634, 2443, 2443, 2497, 2496, 2495, 2493, 7786 5242, 2411, 5238, 5240, 5241, 2410, 1461, 2063, 5247, 5254, 7787 2062, 2061, 2060, 2059, 1734, 4459, 2058, 2057, 4459, 1734, 7788 1734, 1734, 1734, 5261, 2053, 2051, 5263, 2443, 2050, 1869, 7789 5264, 5296, 1985, 1984, 5034, 1834, 1833, 1756, 1712, 5268, 7790 1709, 5270, 5365, 1708, 1707, 1394, 1706, 1705, 1652, 1599, 7791 4920, 1598, 1597, 1952, 1596, 1595, 1594, 5393, 5311, 5394, 7792 1593, 1587, 1586, 1585, 1584, 1583, 1494, 5343, 3282, 3282, 7793 2538, 4935, 5297, 5316, 5317, 1311, 1302, 6373, 5848, 4939, 7794 5847, 5846, 2692, 2932, 113, 2046, 4246, 105, 5174, 5173, 7795 1532, 1461, 4947, 5313, 5314, 2841, 5457, 2703, 6414, 6538, 7796 6628, 2770, 5962, 5123, 6536, 4010, 2489, 5066, 6249, 2567, 7797 2774, 6410, 6242, 1174, 1060, 6529, 2032, 1189, 6509, 5327, 7798 4726, 5329, 1532, 4895, 1461, 1461, 5328, 4351, 1757, 2620, 7799 4710, 5339, 3930, 6466, 4020, 5333, 5707, 4576, 4991, 6321, 7800 5363, 6061, 3185, 2284, 4659, 107, 1416, 2443, 2443, 1459, 7801 2443, 5978, 5977, 5832, 3928, 3282, 3282, 3282, 3282, 3282, 7802 3282, 3282, 3282, 3282, 3282, 3282, 3282, 3282, 3282, 3282, 7803 3282, 3282, 3282, 3282, 3282, 5025, 3282, 5444, 5077, 5386, 7804 1461, 1461, 5974, 5475, 5392, 2421, 5973, 2436, 1461, 2438, 7805 5405, 1379, 5442, 1872, 3323, 5408, 5409, 3326, 5494, 6562, 7806 2549, 5496, 2558, 1630, 5499, 2310, 3264, 1437, 1476, 1734, 7807 1734, 1432, 5507, 2439, 1433, 5407, 5406, 1734, 2440, 1436, 7808 1734, 1734, 1434, 1147, 1435, 2303, 5419, 5420, 5498, 2423, 7809 1431, 1150, 5112, 5628, 5097, 4466, 5143, 2107, 2105, 5422, 7810 1062, 3926, 3110, 3170, 1734, 4565, 2277, 5513, 1396, 1641, 7811 5428, 1418, 5540, 3166, 1565, 1407, 1531, 1531, 5480, 5482, 7812 4687, 5130, 3307, 5330, 5366, 5367, 5557, 866, 866, 3018, 7813 1734, 1199, 1028, 4614, 3173, 1554, 5552, 3287, 3280, 3276, 7814 4455, 4788, 5124, 5380, 5381, 2446, 1630, 2157, 6076, 2255, 7815 4467, 5391, 1686, 1400, 3108, 2268, 4549, 3028, 5137, 5479, 7816 4713, 2096, 5500, 5501, 5519, 5467, 3986, 6541, 5342, 5472, 7817 1461, 5251, 3943, 4144, 2928, 1511, 1510, 1563, 1509, 1438, 7818 6515, 6512, 2831, 5981, 2446, 5072, 4227, 5395, 5073, 2541, 7819 4052, 5396, 5529, 1734, 3120, 5092, 869, 1412, 4113, 5618, 7820 5643, 4114, 1461, 5562, 5563, 1977, 2678, 4838, 4672, 4226, 7821 869, 1461, 5599, 5651, 2065, 6169, 1422, 863, 2240, 1734, 7822 4378, 4377, 6362, 1671, 1734, 1734, 1734, 1669, 1668, 1667, 7823 6789, 4319, 4314, 5592, 334, 334, 334, 334, 1952, 897, 7824 898, 2850, 914, 897, 914, 926, 5528, 5542, 971, 5453, 7825 5640, 5452, 991, 5541, 5451, 5526, 5576, 998, 998, 998, 7826 998, 4317, 334, 1734, 294, 5611, 1630, 1630, 4516, 2176, 7827 2168, 334, 5565, 5558, 291, 5613, 1869, 5617, 5641, 1461, 7828 1461, 293, 292, 5551, 4899, 1461, 1461, 2446, 5646, 5754, 7829 1461, 1461, 5348, 1461, 2897, 1231, 5567, 5614, 5461, 5571, 7830 5463, 4093, 334, 1721, 5632, 1461, 5566, 5477, 5051, 5647, 7831 28, 2443, 5662, 5575, 1005, 1006, 5572, 5579, 5555, 1007, 7832 4062, 1461, 2568, 1688, 5400, 27, 26, 25, 24, 136, 7833 29, 51, 32, 5600, 31, 5, 23, 181, 2439, 179, 7834 156, 5624, 177, 5626, 176, 146, 175, 174, 5658, 173, 7835 2443, 172, 5700, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 7836 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 1630, 7837 1630, 1630, 1630, 5687, 1630, 5642, 5623, 2581, 1710, 171, 7838 5645, 5652, 170, 869, 5644, 178, 169, 168, 5696, 163, 7839 167, 869, 5660, 5620, 5520, 1869, 1869, 166, 5653, 165, 7840 164, 5659, 162, 2446, 160, 5688, 161, 155, 159, 869, 7841 158, 1394, 157, 154, 2726, 1952, 153, 1869, 152, 2727, 7842 151, 150, 149, 148, 5729, 1734, 1734, 147, 145, 5678, 7843 180, 144, 143, 5680, 236, 142, 141, 140, 5681, 5679, 7844 219, 139, 30, 138, 137, 984, 985, 71, 70, 1869, 7845 133, 134, 22, 2443, 4715, 862, 862, 49, 17, 75, 7846 76, 1641, 21, 16, 44, 110, 4468, 125, 124, 897, 7847 897, 3045, 123, 45, 120, 43, 20, 334, 19, 4480, 7848 18, 118, 117, 116, 42, 1734, 1734, 1461, 40, 14, 7849 12, 46, 1540, 2369, 15, 7, 112, 1869, 228, 227, 7850 224, 223, 226, 222, 225, 109, 1461, 5418, 221, 1952, 7851 111, 220, 108, 5723, 38, 13, 5750, 869, 212, 869, 7852 5606, 99, 216, 215, 5740, 5742, 214, 213, 103, 211, 7853 5781, 5782, 210, 209, 201, 218, 97, 208, 102, 5748, 7854 101, 5827, 207, 98, 1641, 217, 100, 104, 36, 9, 7855 74, 6049, 5194, 2728, 1869, 128, 1641, 5736, 5739, 1641, 7856 129, 5879, 5855, 1531, 5855, 3183, 47, 5733, 95, 2443, 7857 94, 5749, 2732, 5888, 866, 5738, 5891, 1531, 93, 92, 7858 5753, 35, 1461, 5824, 1952, 1869, 5734, 5735, 866, 73, 7859 34, 287, 288, 286, 5780, 5784, 5785, 5786, 5787, 5897, 7860 285, 283, 5899, 5808, 284, 282, 5901, 281, 1952, 5793, 7861 5794, 5795, 5796, 196, 261, 5799, 5798, 260, 259, 1461, 7862 258, 257, 1461, 256, 255, 254, 253, 5858, 248, 252, 7863 250, 249, 5812, 251, 5829, 5811, 247, 277, 5873, 276, 7864 5809, 275, 274, 273, 1734, 1734, 5929, 272, 271, 1461, 7865 270, 264, 5816, 4023, 1461, 1461, 5823, 263, 5737, 269, 7866 268, 2729, 2734, 267, 3939, 869, 266, 265, 262, 280, 7867 206, 205, 202, 204, 203, 88, 246, 245, 244, 242, 7868 238, 241, 243, 240, 239, 237, 279, 5874, 278, 200, 7869 1641, 199, 89, 194, 195, 87, 193, 192, 191, 5937, 7870 190, 189, 188, 187, 5918, 86, 1869, 6000, 198, 197, 7871 5855, 1734, 33, 2, 5909, 1, 0, 0, 5934, 0, 7872 5889, 0, 1532, 1532, 0, 5556, 0, 0, 0, 0, 7873 0, 0, 5950, 0, 0, 0, 0, 0, 1734, 1734, 7874 1734, 1734, 1734, 1461, 1734, 1734, 1734, 0, 5954, 0, 7875 1531, 0, 0, 0, 0, 0, 2730, 0, 1531, 5821, 7876 5822, 866, 1461, 1461, 1461, 0, 5936, 5933, 6020, 866, 7877 0, 6001, 5993, 5982, 5952, 5803, 1531, 1869, 5930, 5892, 7878 5611, 0, 1461, 0, 0, 1461, 1461, 866, 5872, 5859, 7879 5613, 0, 1952, 0, 5021, 1461, 6021, 5945, 2446, 5958, 7880 0, 5972, 1461, 1461, 5944, 5976, 4020, 4909, 5875, 5876, 7881 5984, 0, 2737, 0, 0, 0, 5992, 5990, 0, 2443, 7882 0, 5951, 1461, 0, 0, 0, 6004, 1734, 6007, 1734, 7883 1734, 0, 5946, 0, 0, 6015, 5949, 0, 0, 0, 7884 1734, 0, 0, 0, 0, 0, 0, 6022, 4061, 5915, 7885 0, 5917, 6023, 0, 0, 0, 6003, 6055, 0, 0, 7886 6029, 0, 0, 0, 0, 0, 0, 0, 1641, 0, 7887 6035, 6034, 0, 4907, 0, 0, 0, 0, 2735, 0, 7888 0, 0, 4546, 4547, 1531, 0, 1531, 0, 0, 0, 7889 1461, 1461, 0, 5171, 5171, 866, 0, 866, 0, 6071, 7890 0, 0, 862, 0, 0, 0, 1869, 0, 0, 0, 7891 0, 0, 0, 0, 1461, 6037, 862, 5971, 6064, 6065, 7892 6042, 6047, 0, 0, 0, 4908, 0, 1461, 0, 0, 7893 6048, 0, 0, 0, 0, 0, 1461, 0, 0, 6088, 7894 0, 2446, 0, 0, 6085, 0, 6086, 6087, 0, 6137, 7895 6138, 1461, 6082, 6083, 1461, 0, 0, 6146, 6090, 6091, 7896 0, 0, 0, 0, 2443, 0, 0, 0, 0, 0, 7897 0, 0, 0, 0, 0, 1461, 0, 0, 1461, 0, 7898 5758, 0, 6197, 5756, 0, 1869, 0, 0, 0, 0, 7899 0, 1734, 1461, 5768, 1734, 1734, 0, 1461, 1461, 6194, 7900 5764, 0, 0, 1461, 6172, 0, 1461, 6143, 0, 6144, 7901 1641, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7902 0, 0, 0, 0, 0, 0, 6142, 6224, 6136, 0, 7903 2731, 6191, 1531, 6145, 0, 0, 1734, 6151, 0, 5766, 7904 5767, 5765, 2736, 866, 5757, 6238, 5761, 0, 0, 0, 7905 0, 0, 0, 0, 869, 0, 869, 0, 0, 0, 7906 0, 1952, 4641, 4642, 4643, 4644, 0, 0, 6209, 0, 7907 0, 0, 5762, 0, 0, 0, 0, 0, 0, 1556, 7908 6233, 2446, 0, 6253, 0, 0, 0, 6193, 1869, 862, 7909 914, 1734, 0, 0, 6271, 0, 0, 862, 0, 5855, 7910 6257, 5855, 6198, 0, 914, 6222, 0, 2443, 0, 0, 7911 334, 334, 6206, 0, 0, 862, 1734, 0, 1589, 0, 7912 3282, 6251, 0, 0, 0, 2962, 6189, 4910, 4911, 334, 7913 4912, 334, 334, 0, 1620, 334, 0, 1635, 0, 6235, 7914 1461, 2446, 0, 6236, 0, 0, 0, 0, 6291, 0, 7915 1650, 0, 6248, 0, 0, 0, 0, 0, 991, 5878, 7916 6255, 991, 6262, 0, 6264, 0, 0, 5611, 0, 1532, 7917 6215, 6216, 5887, 0, 6225, 5890, 6292, 5613, 0, 6270, 7918 0, 6272, 6127, 1532, 998, 0, 0, 0, 1641, 1641, 7919 1641, 1641, 0, 0, 1641, 1641, 1641, 1641, 6283, 1641, 7920 1641, 6281, 0, 0, 6295, 6275, 0, 6293, 4974, 4975, 7921 6295, 4976, 6300, 6299, 0, 0, 6237, 6288, 0, 5759, 7922 0, 0, 0, 862, 1461, 862, 1461, 5760, 1461, 0, 7923 6301, 0, 6303, 0, 0, 0, 6312, 0, 869, 3282, 7924 0, 0, 6319, 6350, 0, 0, 0, 2443, 0, 0, 7925 0, 1461, 0, 869, 334, 0, 0, 0, 0, 0, 7926 6331, 0, 0, 0, 0, 0, 1394, 0, 6355, 0, 7927 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7928 6183, 6184, 1630, 5855, 5763, 0, 0, 0, 1734, 0, 7929 6306, 334, 0, 334, 334, 334, 334, 1620, 5855, 334, 7930 334, 0, 0, 0, 0, 0, 0, 2443, 1635, 0, 7931 1461, 1461, 1630, 0, 0, 6354, 0, 6353, 1461, 5074, 7932 0, 6205, 334, 6207, 2011, 6208, 0, 6266, 0, 6357, 7933 6404, 6384, 0, 0, 869, 6377, 869, 0, 6378, 0, 7934 0, 0, 2030, 0, 330, 6430, 0, 0, 0, 6442, 7935 0, 0, 0, 2042, 6416, 869, 1532, 0, 869, 0, 7936 0, 6385, 1734, 0, 1532, 6394, 6297, 0, 0, 0, 7937 2067, 862, 1635, 1734, 0, 0, 0, 334, 334, 5855, 7938 1620, 5855, 1532, 0, 1461, 1461, 1461, 0, 0, 0, 7939 6396, 0, 0, 0, 6402, 1461, 0, 0, 0, 0, 7940 5855, 0, 0, 5855, 0, 0, 991, 0, 334, 334, 7941 6408, 0, 6199, 0, 0, 0, 4751, 6407, 0, 0, 7942 2133, 1531, 6429, 1531, 0, 0, 0, 1027, 0, 0, 7943 0, 2141, 866, 0, 866, 6418, 1231, 5993, 0, 0, 7944 0, 0, 6432, 6470, 6434, 5611, 0, 6456, 6447, 0, 7945 6457, 0, 6458, 0, 0, 5613, 0, 6461, 1630, 1461, 7946 1461, 6462, 6463, 6449, 1461, 3282, 6451, 6471, 6472, 1734, 7947 1641, 0, 1641, 0, 6460, 0, 6476, 0, 0, 0, 7948 1461, 2446, 334, 0, 6514, 6517, 0, 0, 0, 0, 7949 1532, 0, 1532, 0, 0, 6522, 0, 0, 6480, 6481, 7950 6482, 6483, 6334, 6335, 6336, 6337, 6540, 6488, 6339, 6340, 7951 6341, 6342, 0, 6343, 6344, 6545, 6496, 6497, 6518, 0, 7952 0, 0, 0, 6523, 0, 0, 6505, 6504, 0, 0, 7953 0, 0, 0, 6547, 0, 6567, 0, 6519, 1461, 1461, 7954 1461, 0, 0, 6544, 0, 0, 6524, 0, 1952, 0, 7955 0, 3282, 0, 0, 0, 0, 6537, 6506, 0, 0, 7956 0, 0, 0, 0, 0, 0, 0, 0, 2439, 0, 7957 0, 0, 6484, 6485, 6486, 0, 3282, 1630, 0, 6535, 7958 0, 1461, 0, 0, 6565, 6551, 0, 0, 6601, 0, 7959 6555, 0, 0, 6558, 0, 6606, 2439, 2439, 6566, 0, 7960 0, 0, 0, 0, 4673, 1531, 0, 0, 0, 6582, 7961 6579, 6580, 0, 6581, 6620, 0, 866, 6395, 0, 0, 7962 1531, 4879, 0, 0, 2736, 6624, 6223, 0, 0, 0, 7963 6638, 866, 0, 6603, 0, 0, 0, 0, 1532, 0, 7964 0, 6646, 0, 0, 6636, 6525, 1461, 2443, 6640, 6464, 7965 6623, 6465, 0, 0, 1641, 1641, 1641, 6, 6637, 2962, 7966 11, 0, 10, 6645, 6661, 6253, 6619, 6627, 6644, 1630, 7967 8, 0, 6648, 219, 0, 6631, 6654, 6681, 6630, 0, 7968 6653, 897, 0, 0, 0, 0, 0, 0, 6667, 6668, 7969 6617, 6652, 0, 0, 0, 0, 6675, 1461, 6677, 6695, 7970 0, 1531, 334, 1531, 334, 6683, 6514, 6672, 334, 6517, 7971 6604, 6685, 866, 0, 866, 6705, 6687, 0, 869, 2011, 7972 869, 6693, 1531, 0, 6639, 1531, 1620, 1635, 334, 6691, 7973 334, 2409, 6701, 866, 6718, 6711, 866, 6703, 334, 6698, 7974 914, 0, 0, 0, 0, 6543, 6710, 334, 6714, 0, 7975 6719, 6704, 0, 0, 0, 0, 0, 0, 0, 6712, 7976 862, 1641, 862, 5855, 6673, 5855, 0, 0, 6658, 0, 7977 0, 0, 2498, 2439, 0, 6734, 0, 6735, 6743, 0, 7978 0, 0, 6751, 6684, 6526, 334, 6527, 6741, 6740, 6742, 7979 0, 0, 0, 6739, 334, 0, 6697, 0, 1461, 1461, 7980 6753, 6762, 0, 1630, 6745, 6760, 0, 1461, 1461, 0, 7981 0, 6700, 6754, 6702, 0, 0, 6765, 6706, 0, 0, 7982 6778, 6777, 6770, 0, 0, 6775, 6713, 0, 6715, 6782, 7983 0, 0, 6786, 991, 0, 0, 6783, 0, 6794, 6785, 7984 6793, 6792, 0, 6602, 0, 0, 0, 0, 0, 0, 7985 0, 0, 0, 0, 0, 6798, 6797, 0, 0, 0, 7986 6799, 0, 1641, 0, 6801, 0, 6771, 6772, 6811, 6809, 7987 6787, 998, 6808, 998, 0, 0, 6813, 6814, 0, 6807, 7988 6744, 0, 0, 998, 998, 6818, 0, 6802, 6791, 1630, 7989 1461, 6756, 6821, 6823, 0, 0, 6825, 6828, 6800, 6826, 7990 6815, 6831, 6811, 6830, 6827, 0, 0, 0, 0, 0, 7991 6817, 0, 0, 0, 1630, 0, 0, 0, 991, 0, 7992 0, 0, 6779, 0, 0, 0, 334, 0, 0, 0, 7993 0, 6784, 6616, 0, 2617, 6618, 0, 0, 0, 334, 7994 0, 334, 0, 334, 862, 334, 0, 0, 334, 6824, 7995 334, 0, 0, 0, 0, 0, 0, 0, 897, 862, 7996 0, 0, 0, 6543, 0, 0, 0, 0, 6669, 6670, 7997 6671, 0, 0, 2726, 1630, 0, 2434, 2663, 2727, 6816, 7998 2664, 0, 2665, 0, 2666, 0, 2667, 0, 0, 0, 7999 0, 0, 6820, 0, 0, 0, 0, 0, 2439, 2439, 8000 0, 334, 334, 334, 334, 0, 0, 334, 334, 0, 8001 0, 0, 0, 0, 0, 0, 3042, 5255, 0, 0, 8002 0, 0, 0, 5625, 0, 0, 0, 1532, 0, 1532, 8003 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8004 862, 0, 862, 0, 0, 0, 0, 0, 3042, 5271, 8005 4468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8006 0, 862, 0, 0, 862, 0, 0, 0, 0, 0, 8007 0, 0, 0, 0, 0, 6738, 0, 0, 0, 0, 8008 0, 5300, 0, 0, 0, 1531, 0, 1531, 0, 4468, 8009 0, 0, 0, 90, 0, 0, 866, 0, 866, 0, 8010 0, 0, 0, 0, 0, 0, 0, 0, 5682, 0, 8011 0, 0, 2728, 0, 91, 0, 0, 0, 0, 0, 8012 0, 0, 0, 0, 0, 0, 0, 0, 2439, 0, 8013 0, 2732, 0, 0, 96, 0, 0, 0, 0, 0, 8014 0, 0, 0, 1630, 0, 0, 6773, 0, 0, 0, 8015 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8016 0, 0, 0, 2187, 2188, 0, 1952, 0, 2439, 2439, 8017 0, 0, 0, 0, 0, 0, 1952, 0, 0, 334, 8018 0, 106, 0, 334, 0, 0, 0, 2218, 0, 0, 8019 0, 0, 0, 0, 2219, 0, 2587, 2190, 0, 0, 8020 2439, 2439, 0, 0, 0, 0, 0, 0, 0, 0, 8021 0, 1532, 0, 0, 0, 1952, 0, 0, 0, 0, 8022 2729, 2734, 4717, 0, 334, 334, 1532, 1224, 0, 0, 8023 2244, 0, 4724, 2439, 0, 0, 0, 0, 0, 0, 8024 0, 2189, 0, 130, 334, 0, 0, 0, 0, 114, 8025 127, 0, 2209, 0, 0, 334, 0, 0, 0, 0, 8026 0, 0, 334, 0, 0, 0, 0, 0, 0, 0, 8027 0, 4755, 0, 0, 1394, 1578, 1578, 0, 0, 334, 8028 0, 334, 0, 0, 0, 897, 1394, 334, 0, 0, 8029 0, 0, 0, 0, 1604, 0, 1604, 1604, 0, 991, 8030 1027, 0, 0, 1231, 0, 0, 0, 1532, 0, 1532, 8031 0, 5211, 5212, 0, 0, 2730, 0, 0, 0, 0, 8032 0, 115, 0, 0, 0, 0, 0, 0, 1532, 0, 8033 0, 1532, 0, 0, 0, 1620, 334, 0, 0, 0, 8034 971, 0, 0, 0, 991, 5964, 0, 0, 0, 2212, 8035 2213, 2214, 2215, 2439, 2439, 0, 2439, 0, 0, 2195, 8036 1630, 0, 0, 0, 0, 0, 2724, 0, 0, 0, 8037 0, 2737, 0, 0, 0, 0, 2777, 0, 0, 0, 8038 0, 0, 1952, 0, 0, 1952, 0, 0, 0, 0, 8039 0, 0, 0, 0, 0, 0, 0, 0, 5272, 5273, 8040 5274, 5275, 5276, 5277, 5278, 5279, 5280, 5281, 5282, 5283, 8041 5284, 5285, 5286, 5287, 5288, 5289, 5290, 5291, 0, 5295, 8042 2217, 2220, 2787, 0, 862, 5905, 862, 0, 0, 0, 8043 0, 0, 2722, 0, 0, 0, 0, 2735, 4839, 0, 8044 3122, 1867, 0, 0, 0, 0, 0, 0, 0, 0, 8045 0, 0, 0, 0, 0, 0, 0, 0, 0, 1960, 8046 1578, 1578, 0, 0, 1978, 1027, 0, 0, 3983, 0, 8047 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8048 0, 0, 0, 0, 2723, 0, 0, 2210, 0, 119, 8049 0, 0, 0, 0, 0, 2783, 0, 0, 0, 0, 8050 0, 0, 0, 0, 0, 4879, 0, 0, 0, 0, 8051 0, 0, 0, 0, 0, 897, 5988, 0, 3308, 0, 8052 0, 0, 0, 0, 1952, 0, 0, 0, 0, 0, 8053 0, 334, 0, 0, 0, 0, 6002, 0, 0, 0, 8054 897, 0, 1027, 1027, 0, 0, 334, 0, 897, 0, 8055 0, 0, 229, 0, 122, 0, 0, 126, 0, 0, 8056 334, 0, 0, 2780, 0, 6028, 0, 0, 0, 0, 8057 0, 2241, 0, 0, 0, 0, 0, 0, 0, 0, 8058 0, 0, 0, 0, 0, 0, 0, 0, 0, 2731, 8059 295, 0, 0, 0, 90, 334, 1635, 0, 0, 1226, 8060 0, 0, 334, 0, 334, 2011, 1225, 334, 334, 0, 8061 0, 0, 0, 5965, 0, 91, 0, 0, 0, 0, 8062 0, 0, 2785, 0, 0, 0, 0, 1952, 0, 0, 8063 0, 0, 0, 0, 2216, 96, 0, 0, 0, 0, 8064 0, 0, 0, 0, 0, 0, 0, 2434, 0, 0, 8065 297, 0, 334, 1635, 0, 334, 914, 2439, 914, 0, 8066 0, 0, 2211, 0, 0, 334, 0, 0, 334, 0, 8067 0, 0, 334, 0, 4025, 0, 0, 0, 0, 182, 8068 334, 334, 106, 4717, 0, 334, 0, 334, 0, 0, 8069 2786, 1532, 1620, 1532, 334, 334, 2439, 0, 235, 0, 8070 0, 0, 1635, 1635, 4043, 0, 296, 0, 0, 334, 8071 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8072 6133, 0, 0, 0, 0, 0, 2790, 0, 1224, 289, 8073 0, 0, 0, 0, 0, 0, 2243, 0, 290, 0, 8074 0, 0, 230, 0, 130, 0, 0, 0, 234, 0, 8075 114, 127, 0, 998, 998, 0, 0, 998, 998, 0, 8076 0, 0, 0, 5747, 334, 0, 0, 0, 0, 233, 8077 0, 0, 0, 1386, 0, 0, 0, 0, 0, 0, 8078 0, 0, 0, 0, 1952, 0, 0, 0, 0, 0, 8079 334, 1620, 334, 0, 0, 0, 0, 0, 0, 2439, 8080 0, 1952, 4115, 334, 2778, 0, 0, 1620, 0, 1620, 8081 0, 1620, 0, 0, 0, 2788, 0, 0, 0, 0, 8082 0, 0, 115, 0, 0, 0, 0, 0, 0, 0, 8083 0, 0, 2784, 0, 0, 0, 0, 0, 0, 0, 8084 5228, 0, 4249, 0, 0, 2200, 2198, 2199, 2191, 2192, 8085 2193, 2194, 2196, 2197, 0, 0, 0, 5244, 0, 0, 8086 334, 0, 0, 0, 0, 0, 0, 2781, 0, 0, 8087 0, 0, 0, 0, 0, 0, 2779, 334, 334, 334, 8088 334, 1620, 0, 0, 2789, 0, 0, 0, 0, 0, 8089 0, 1620, 0, 0, 334, 1978, 0, 0, 0, 0, 8090 0, 0, 0, 0, 0, 0, 4192, 0, 0, 0, 8091 0, 0, 0, 0, 0, 2439, 0, 5966, 334, 0, 8092 0, 0, 0, 4617, 4618, 0, 4635, 4636, 4637, 0, 8093 0, 0, 334, 0, 0, 0, 0, 0, 0, 0, 8094 0, 0, 1952, 0, 0, 0, 334, 0, 0, 0, 8095 1604, 0, 0, 0, 0, 0, 0, 0, 0, 1978, 8096 0, 0, 0, 0, 0, 2782, 0, 0, 0, 4262, 8097 0, 5967, 0, 0, 0, 0, 0, 0, 0, 0, 8098 0, 991, 0, 0, 0, 0, 991, 0, 0, 0, 8099 119, 0, 0, 0, 0, 0, 0, 0, 5340, 0, 8100 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8101 0, 0, 4632, 0, 334, 2187, 2188, 0, 2221, 2222, 8102 2223, 2232, 2233, 2234, 0, 0, 0, 0, 0, 0, 8103 0, 0, 0, 0, 4326, 2011, 0, 0, 2225, 2218, 8104 0, 0, 0, 0, 1952, 0, 2219, 0, 0, 2190, 8105 0, 0, 0, 229, 0, 122, 0, 0, 126, 0, 8106 0, 2238, 1417, 132, 2187, 2188, 0, 0, 0, 0, 8107 2232, 2233, 2234, 0, 0, 334, 4400, 0, 0, 0, 8108 0, 0, 2244, 0, 0, 0, 0, 0, 2218, 0, 8109 0, 295, 0, 2189, 0, 2219, 0, 0, 2190, 0, 8110 1226, 0, 0, 0, 2209, 0, 0, 1225, 0, 2011, 8111 2238, 0, 334, 0, 2206, 4326, 6392, 0, 0, 4623, 8112 0, 0, 334, 0, 0, 0, 0, 0, 0, 0, 8113 0, 2244, 0, 4449, 0, 0, 0, 0, 0, 0, 8114 0, 0, 2189, 0, 4192, 0, 897, 0, 0, 0, 8115 0, 297, 0, 2209, 0, 1231, 4192, 0, 2434, 0, 8116 0, 0, 0, 2206, 0, 2439, 0, 0, 2677, 2679, 8117 0, 0, 2682, 2683, 0, 0, 0, 132, 334, 0, 8118 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8119 0, 6444, 0, 0, 6446, 0, 0, 0, 0, 235, 8120 0, 2212, 2213, 2214, 2215, 0, 0, 296, 0, 334, 8121 0, 2195, 0, 0, 0, 0, 0, 0, 334, 0, 8122 0, 2187, 2188, 0, 0, 0, 0, 0, 0, 0, 8123 289, 0, 0, 1722, 0, 0, 0, 0, 0, 290, 8124 0, 0, 0, 230, 0, 2218, 0, 4633, 0, 234, 8125 2212, 2213, 2214, 2215, 0, 2190, 0, 0, 0, 2229, 8126 2195, 0, 0, 2239, 0, 0, 0, 0, 0, 0, 8127 233, 0, 2217, 2220, 0, 0, 0, 0, 0, 0, 8128 0, 0, 1348, 0, 0, 0, 0, 0, 2244, 0, 8129 0, 0, 0, 0, 0, 2235, 1371, 2236, 0, 2189, 8130 0, 6181, 0, 0, 2204, 2205, 0, 0, 2229, 0, 8131 2439, 0, 2239, 0, 0, 0, 0, 0, 1982, 0, 8132 0, 2217, 2220, 0, 2227, 0, 0, 0, 0, 0, 8133 0, 2241, 186, 0, 0, 0, 0, 0, 0, 2210, 8134 0, 90, 2011, 55, 54, 0, 0, 0, 0, 0, 8135 0, 0, 0, 2204, 2205, 0, 6552, 0, 6553, 0, 8136 1521, 0, 91, 0, 0, 0, 2035, 84, 0, 0, 8137 0, 0, 0, 2227, 0, 0, 0, 0, 0, 0, 8138 56, 0, 96, 0, 0, 0, 0, 0, 2210, 2915, 8139 2915, 2237, 0, 0, 0, 0, 77, 0, 0, 0, 8140 0, 0, 0, 0, 58, 0, 184, 0, 0, 0, 8141 0, 0, 2226, 0, 0, 0, 0, 2195, 0, 0, 8142 2677, 0, 4634, 2241, 2121, 0, 57, 0, 0, 106, 8143 0, 1952, 0, 0, 0, 0, 0, 0, 0, 0, 8144 2136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8145 0, 0, 0, 2439, 0, 0, 0, 0, 0, 60, 8146 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8147 61, 0, 2241, 0, 0, 67, 0, 0, 2217, 2220, 8148 0, 85, 0, 0, 0, 0, 2216, 0, 0, 59, 8149 0, 130, 334, 0, 0, 0, 0, 114, 127, 0, 8150 0, 2434, 0, 6068, 0, 0, 0, 79, 0, 0, 8151 0, 0, 0, 0, 2211, 0, 0, 0, 0, 0, 8152 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8153 0, 0, 0, 0, 0, 2216, 0, 0, 0, 0, 8154 0, 0, 0, 0, 0, 2210, 0, 62, 2230, 0, 8155 1952, 1952, 0, 0, 0, 0, 0, 0, 0, 0, 8156 0, 0, 0, 2211, 0, 0, 0, 0, 0, 115, 8157 0, 0, 1952, 0, 0, 0, 0, 0, 0, 0, 8158 0, 0, 0, 0, 0, 0, 0, 0, 2243, 0, 8159 0, 0, 0, 2439, 0, 0, 0, 2230, 4629, 4630, 8160 4631, 0, 0, 0, 1952, 4628, 4626, 4627, 4619, 4620, 8161 4621, 4622, 4624, 4625, 0, 0, 0, 0, 0, 0, 8162 0, 0, 6154, 0, 0, 0, 0, 0, 5752, 2241, 8163 0, 0, 0, 0, 0, 0, 0, 2243, 0, 0, 8164 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8165 0, 0, 1952, 2439, 0, 0, 0, 80, 0, 0, 8166 5792, 1394, 0, 0, 0, 0, 0, 0, 0, 0, 8167 0, 0, 0, 0, 0, 0, 0, 2228, 0, 0, 8168 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8169 2201, 2202, 2208, 2231, 2207, 2203, 0, 2200, 2198, 2199, 8170 2191, 2192, 2193, 2194, 2196, 2197, 0, 0, 1867, 1952, 8171 0, 5716, 0, 0, 0, 5715, 0, 0, 0, 0, 8172 2211, 0, 0, 0, 0, 0, 2228, 0, 0, 0, 8173 0, 0, 0, 0, 0, 0, 0, 119, 0, 0, 8174 1952, 0, 2231, 2207, 2203, 0, 2200, 2198, 2199, 2191, 8175 2192, 2193, 2194, 2196, 2197, 63, 0, 0, 0, 0, 8176 1027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8177 2482, 0, 1578, 1578, 66, 0, 0, 1394, 0, 0, 8178 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8179 81, 0, 0, 0, 2243, 0, 0, 0, 0, 68, 8180 229, 0, 122, 0, 0, 126, 0, 0, 0, 0, 8181 0, 0, 64, 0, 0, 0, 185, 1027, 0, 0, 8182 0, 0, 0, 0, 65, 0, 0, 0, 0, 0, 8183 1578, 0, 0, 1578, 0, 0, 0, 1578, 295, 0, 8184 0, 0, 0, 0, 0, 1604, 4028, 72, 6318, 0, 8185 1604, 0, 1604, 0, 83, 0, 0, 0, 0, 1027, 8186 1027, 1952, 0, 0, 0, 0, 2187, 2188, 0, 0, 8187 0, 0, 0, 183, 0, 0, 0, 0, 0, 0, 8188 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8189 2218, 0, 0, 0, 0, 0, 0, 0, 297, 0, 8190 2190, 0, 0, 0, 2198, 2199, 2191, 2192, 2193, 2194, 8191 2196, 2197, 0, 0, 0, 0, 0, 0, 0, 0, 8192 2592, 2593, 2594, 2595, 2596, 0, 0, 182, 0, 0, 8193 0, 0, 1952, 2244, 6361, 0, 0, 82, 0, 0, 8194 0, 0, 0, 0, 2189, 0, 235, 0, 0, 0, 8195 0, 0, 0, 0, 296, 0, 132, 1978, 0, 6383, 8196 0, 0, 0, 0, 0, 0, 0, 0, 1027, 0, 8197 0, 0, 0, 0, 0, 2187, 2188, 289, 2221, 2222, 8198 2223, 2232, 2233, 2234, 0, 0, 290, 0, 5752, 0, 8199 230, 0, 0, 2439, 0, 0, 234, 0, 0, 2218, 8200 0, 0, 0, 0, 0, 0, 2219, 0, 0, 2190, 8201 0, 0, 0, 0, 0, 0, 0, 233, 0, 0, 8202 3, 2238, 0, 132, 0, 0, 0, 0, 0, 0, 8203 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8204 0, 0, 2244, 1978, 1978, 0, 0, 0, 0, 0, 8205 0, 0, 0, 2189, 0, 0, 0, 0, 0, 0, 8206 0, 1952, 2195, 0, 2209, 0, 0, 0, 0, 0, 8207 0, 0, 0, 0, 2206, 0, 0, 0, 0, 0, 8208 0, 0, 0, 0, 0, 0, 334, 0, 0, 0, 8209 0, 897, 0, 0, 0, 0, 897, 0, 0, 897, 8210 0, 0, 897, 897, 0, 0, 0, 897, 0, 1394, 8211 897, 1960, 0, 0, 0, 0, 0, 3045, 334, 132, 8212 0, 0, 0, 2217, 2220, 0, 0, 0, 0, 0, 8213 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8214 1952, 0, 334, 0, 0, 0, 0, 0, 0, 0, 8215 0, 0, 2224, 0, 334, 0, 0, 2011, 0, 0, 8216 0, 2212, 2213, 2214, 2215, 0, 0, 0, 0, 0, 8217 0, 2195, 0, 0, 0, 0, 0, 0, 0, 1978, 8218 0, 0, 0, 0, 914, 0, 1527, 0, 0, 0, 8219 2210, 0, 0, 0, 0, 0, 3045, 0, 0, 0, 8220 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8221 334, 0, 0, 0, 334, 334, 0, 0, 0, 2229, 8222 132, 0, 132, 2239, 132, 0, 0, 0, 0, 0, 8223 0, 0, 2217, 2220, 2035, 0, 0, 0, 0, 0, 8224 0, 329, 329, 1952, 892, 0, 0, 0, 0, 0, 8225 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8226 0, 0, 0, 0, 2204, 2205, 0, 2936, 0, 5169, 8227 0, 0, 0, 0, 2241, 0, 0, 0, 0, 0, 8228 1371, 132, 132, 0, 2227, 5167, 0, 0, 0, 4823, 8229 0, 0, 0, 0, 0, 0, 0, 5159, 0, 2210, 8230 132, 0, 132, 0, 0, 0, 0, 5178, 5179, 0, 8231 0, 0, 0, 0, 0, 0, 132, 2973, 132, 4831, 8232 0, 4832, 4833, 0, 0, 2011, 0, 0, 0, 0, 8233 0, 334, 0, 0, 0, 2986, 2988, 1620, 334, 0, 8234 334, 0, 0, 0, 0, 0, 0, 0, 1620, 2991, 8235 0, 1620, 0, 0, 0, 0, 4192, 4192, 334, 0, 8236 4865, 4868, 0, 0, 0, 2211, 0, 4192, 0, 2409, 8237 0, 0, 0, 0, 1604, 0, 0, 0, 4192, 2409, 8238 0, 4192, 2409, 2241, 0, 2409, 0, 0, 4865, 0, 8239 5181, 5182, 0, 0, 5172, 0, 0, 0, 0, 0, 8240 334, 334, 4868, 0, 334, 0, 0, 0, 0, 0, 8241 0, 0, 0, 0, 0, 0, 5161, 0, 2224, 0, 8242 0, 0, 0, 4868, 0, 334, 0, 0, 0, 0, 8243 4938, 4868, 5160, 0, 0, 0, 1348, 0, 0, 2243, 8244 0, 0, 0, 4946, 4868, 0, 2216, 4952, 0, 4952, 8245 0, 0, 0, 0, 0, 0, 0, 0, 0, 1620, 8246 2258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8247 0, 0, 0, 0, 2211, 0, 0, 0, 2264, 0, 8248 0, 0, 2270, 0, 4192, 0, 4192, 0, 4989, 4192, 8249 4868, 0, 5170, 4192, 0, 0, 0, 0, 0, 0, 8250 0, 0, 0, 0, 0, 0, 0, 0, 2230, 0, 8251 0, 0, 0, 2187, 2188, 0, 0, 0, 0, 991, 8252 0, 0, 991, 0, 0, 0, 0, 4868, 4369, 0, 8253 991, 0, 0, 0, 0, 5157, 0, 2218, 0, 0, 8254 0, 0, 0, 0, 2219, 0, 0, 2190, 2243, 0, 8255 2199, 2191, 2192, 2193, 2194, 2196, 2197, 0, 0, 0, 8256 2224, 0, 0, 0, 1620, 0, 2224, 4359, 4357, 0, 8257 0, 334, 0, 0, 0, 4361, 4363, 4353, 0, 0, 8258 2244, 0, 0, 0, 0, 2362, 334, 2364, 0, 132, 8259 0, 2189, 0, 5064, 0, 0, 0, 5070, 4192, 0, 8260 0, 334, 2209, 0, 0, 0, 0, 0, 0, 1635, 8261 0, 5180, 2206, 0, 0, 1394, 0, 0, 0, 0, 8262 0, 0, 5113, 4381, 0, 334, 0, 0, 0, 0, 8263 4449, 0, 0, 1620, 0, 0, 0, 2228, 0, 0, 8264 4192, 0, 897, 0, 0, 0, 0, 0, 5175, 4192, 8265 2201, 2202, 2208, 2231, 2207, 2203, 0, 2200, 2198, 2199, 8266 2191, 2192, 2193, 2194, 2196, 2197, 0, 0, 0, 0, 8267 0, 0, 0, 0, 0, 5214, 5168, 5162, 5163, 5164, 8268 5165, 5166, 0, 2187, 2188, 0, 2221, 2222, 2223, 2232, 8269 2233, 2234, 0, 0, 0, 0, 0, 0, 0, 2212, 8270 2213, 2214, 2215, 0, 334, 0, 2225, 2218, 0, 2195, 8271 0, 0, 0, 0, 2219, 0, 0, 2190, 0, 0, 8272 0, 5185, 5183, 0, 0, 0, 0, 0, 0, 2238, 8273 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8274 0, 0, 2224, 0, 0, 0, 0, 0, 0, 0, 8275 2244, 0, 0, 0, 0, 0, 5177, 5249, 0, 0, 8276 2224, 2189, 0, 0, 0, 0, 0, 0, 0, 0, 8277 2217, 2220, 2209, 0, 0, 5176, 0, 0, 0, 0, 8278 0, 0, 2206, 0, 0, 4073, 0, 2224, 4355, 5184, 8279 5186, 0, 2224, 0, 0, 0, 0, 0, 2224, 4371, 8280 0, 0, 2204, 2205, 0, 0, 0, 0, 1110, 0, 8281 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8282 0, 0, 0, 0, 4370, 4360, 4358, 4362, 4364, 4354, 8283 4356, 4372, 4380, 4374, 1123, 0, 0, 2210, 0, 0, 8284 0, 0, 0, 5307, 4366, 4368, 4376, 132, 0, 0, 8285 0, 0, 0, 0, 0, 0, 0, 1121, 334, 334, 8286 0, 0, 0, 0, 0, 0, 0, 0, 0, 2212, 8287 2213, 2214, 2215, 0, 0, 0, 0, 0, 0, 2195, 8288 0, 4382, 0, 897, 0, 1124, 5332, 897, 4154, 0, 8289 0, 0, 0, 0, 0, 897, 0, 0, 2224, 0, 8290 0, 0, 0, 2224, 0, 0, 0, 0, 0, 0, 8291 0, 0, 0, 0, 0, 0, 0, 2224, 0, 0, 8292 0, 2241, 2224, 0, 0, 0, 0, 2229, 0, 0, 8293 0, 2239, 0, 0, 0, 0, 0, 0, 0, 0, 8294 2217, 2220, 1117, 4379, 334, 0, 0, 0, 0, 0, 8295 0, 1133, 0, 0, 0, 0, 0, 0, 0, 0, 8296 0, 0, 0, 2235, 0, 2236, 0, 0, 1122, 0, 8297 0, 0, 2204, 2205, 0, 0, 0, 0, 0, 0, 8298 0, 0, 334, 0, 2216, 0, 0, 0, 0, 0, 8299 0, 0, 2227, 0, 0, 0, 0, 0, 0, 4868, 8300 0, 0, 0, 0, 4043, 0, 0, 2210, 0, 0, 8301 0, 0, 2211, 0, 0, 0, 4373, 0, 0, 2224, 8302 2224, 2224, 2224, 2224, 2224, 2224, 2224, 0, 1115, 0, 8303 0, 0, 0, 0, 0, 0, 0, 0, 0, 2224, 8304 0, 0, 0, 0, 4318, 0, 966, 0, 0, 0, 8305 0, 0, 2224, 0, 0, 0, 0, 0, 0, 2237, 8306 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8307 0, 0, 0, 0, 0, 0, 1119, 0, 0, 0, 8308 2226, 0, 0, 0, 0, 0, 2243, 0, 0, 0, 8309 0, 2241, 0, 0, 0, 991, 4383, 0, 0, 0, 8310 0, 3286, 0, 0, 0, 0, 4365, 4367, 0, 0, 8311 4375, 0, 0, 0, 0, 0, 2224, 0, 0, 0, 8312 0, 0, 2224, 0, 0, 0, 0, 0, 0, 0, 8313 0, 0, 0, 0, 4952, 0, 0, 4952, 0, 0, 8314 4952, 0, 0, 1132, 0, 0, 0, 0, 4952, 0, 8315 0, 0, 0, 0, 2216, 0, 0, 0, 0, 0, 8316 0, 0, 0, 0, 334, 0, 0, 0, 0, 0, 8317 0, 0, 0, 0, 0, 0, 0, 0, 0, 1371, 8318 0, 1371, 2211, 0, 0, 0, 4493, 0, 4326, 0, 8319 0, 0, 2207, 2203, 0, 2200, 2198, 2199, 2191, 2192, 8320 2193, 2194, 2196, 2197, 0, 0, 0, 0, 0, 0, 8321 0, 0, 0, 0, 2187, 2188, 2230, 4868, 0, 334, 8322 0, 0, 0, 914, 914, 1635, 0, 0, 0, 1112, 8323 0, 0, 0, 0, 0, 0, 0, 0, 2218, 0, 8324 1348, 0, 0, 1348, 1348, 2219, 0, 0, 2190, 0, 8325 0, 0, 0, 0, 0, 0, 2243, 1116, 0, 0, 8326 334, 1820, 5595, 0, 1118, 4449, 2409, 0, 0, 0, 8327 0, 334, 0, 0, 0, 0, 2348, 0, 5616, 0, 8328 4326, 2244, 0, 334, 0, 0, 0, 334, 0, 334, 8329 0, 0, 2189, 2224, 0, 0, 334, 0, 1864, 0, 8330 0, 0, 3107, 2209, 0, 334, 1976, 0, 0, 965, 8331 0, 0, 0, 2206, 0, 0, 0, 0, 4192, 334, 8332 0, 0, 1371, 0, 0, 1128, 0, 0, 0, 0, 8333 1231, 4192, 2264, 0, 1114, 0, 2264, 0, 0, 0, 8334 0, 0, 0, 0, 0, 2228, 0, 0, 0, 0, 8335 0, 0, 0, 0, 0, 0, 0, 0, 2201, 2202, 8336 2208, 2231, 2207, 2203, 0, 2200, 2198, 2199, 2191, 2192, 8337 2193, 2194, 2196, 2197, 0, 1604, 5209, 0, 0, 1978, 8338 1978, 0, 0, 5714, 0, 0, 0, 0, 0, 0, 8339 0, 0, 0, 1111, 0, 0, 0, 0, 0, 963, 8340 2212, 2213, 2214, 2215, 0, 0, 0, 0, 0, 0, 8341 2195, 0, 0, 0, 1521, 2122, 2123, 0, 0, 0, 8342 0, 0, 2224, 0, 1120, 0, 0, 0, 5708, 2364, 8343 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8344 0, 0, 967, 0, 0, 0, 0, 0, 0, 0, 8345 0, 0, 0, 0, 1113, 0, 0, 0, 0, 0, 8346 0, 1127, 0, 2224, 0, 0, 0, 0, 0, 0, 8347 0, 2217, 2220, 0, 0, 0, 0, 0, 0, 0, 8348 0, 0, 0, 0, 0, 0, 1130, 1131, 0, 1126, 8349 0, 0, 334, 0, 0, 132, 0, 0, 2011, 0, 8350 334, 0, 0, 2204, 2205, 1978, 0, 0, 0, 0, 8351 0, 0, 1378, 0, 0, 0, 0, 0, 334, 0, 8352 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8353 0, 0, 0, 0, 0, 0, 0, 0, 2210, 0, 8354 0, 0, 0, 0, 0, 0, 0, 0, 1635, 1635, 8355 1635, 1635, 0, 0, 0, 0, 0, 0, 0, 0, 8356 0, 0, 1635, 1635, 1635, 1635, 1978, 334, 1635, 0, 8357 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8358 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8359 2677, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8360 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8361 0, 4192, 4192, 0, 4865, 0, 0, 4952, 4192, 0, 8362 0, 0, 2241, 0, 0, 0, 5857, 0, 5857, 2011, 8363 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8364 4192, 0, 2409, 0, 0, 0, 4865, 0, 2011, 2011, 8365 334, 4868, 0, 0, 0, 0, 0, 0, 0, 0, 8366 0, 0, 0, 0, 4868, 0, 334, 4868, 0, 334, 8367 5893, 0, 0, 0, 0, 4952, 0, 0, 4952, 0, 8368 0, 0, 4952, 0, 0, 2216, 0, 0, 0, 0, 8369 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8370 0, 4192, 0, 4192, 334, 0, 132, 132, 0, 0, 8371 0, 0, 0, 2211, 0, 2379, 0, 0, 0, 4326, 8372 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8373 991, 0, 0, 0, 0, 2404, 0, 1976, 0, 0, 8374 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8375 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8376 0, 0, 0, 0, 0, 0, 0, 0, 0, 4192, 8377 4192, 0, 0, 0, 5857, 0, 4449, 0, 5986, 0, 8378 0, 0, 0, 0, 4865, 0, 0, 2243, 0, 0, 8379 1027, 2224, 0, 0, 0, 2224, 0, 0, 0, 0, 8380 0, 1976, 334, 0, 0, 0, 0, 0, 0, 0, 8381 2224, 6010, 0, 0, 0, 0, 334, 0, 0, 0, 8382 0, 2224, 2224, 2224, 2224, 2224, 2224, 2224, 2224, 2224, 8383 2224, 2224, 2224, 2224, 2224, 2224, 2224, 2224, 2224, 2224, 8384 2224, 2224, 2224, 2224, 2224, 2224, 2224, 2224, 2224, 2224, 8385 2224, 2224, 2224, 2224, 2224, 2224, 2224, 2224, 0, 0, 8386 0, 0, 0, 2224, 0, 2224, 2224, 2224, 2224, 0, 8387 0, 0, 0, 0, 0, 0, 0, 3286, 3286, 0, 8388 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8389 0, 0, 2224, 2207, 2203, 0, 2200, 2198, 2199, 2191, 8390 2192, 2193, 2194, 2196, 2197, 0, 5169, 0, 0, 0, 8391 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8392 0, 0, 5167, 0, 0, 0, 5332, 0, 0, 0, 8393 0, 0, 0, 2609, 5159, 0, 0, 0, 2224, 0, 8394 0, 0, 0, 0, 5178, 5179, 0, 0, 2626, 0, 8395 2628, 0, 2630, 0, 0, 2632, 0, 2633, 0, 0, 8396 0, 0, 0, 132, 0, 132, 0, 0, 2224, 0, 8397 0, 2224, 0, 0, 2224, 0, 0, 2224, 0, 0, 8398 0, 0, 0, 2224, 2224, 2224, 2224, 2224, 2224, 2224, 8399 0, 0, 0, 0, 0, 0, 0, 334, 334, 0, 8400 0, 0, 0, 0, 0, 0, 0, 0, 2674, 2675, 8401 4192, 2409, 0, 2409, 0, 0, 5616, 0, 0, 0, 8402 0, 0, 0, 132, 0, 334, 132, 5181, 5182, 0, 8403 0, 5172, 132, 0, 0, 6170, 0, 6170, 0, 0, 8404 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8405 0, 0, 2224, 5161, 0, 4638, 0, 3286, 3286, 3286, 8406 3286, 0, 991, 2224, 0, 2224, 0, 0, 0, 5160, 8407 2224, 0, 0, 0, 0, 4952, 4952, 0, 0, 0, 8408 4952, 0, 1620, 0, 0, 0, 0, 0, 3257, 3258, 8409 3259, 3260, 3253, 3254, 3255, 3256, 0, 0, 0, 0, 8410 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8411 0, 0, 0, 0, 0, 0, 0, 0, 4868, 0, 8412 334, 0, 0, 0, 0, 0, 0, 0, 0, 5170, 8413 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8414 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8415 0, 3107, 0, 0, 0, 0, 0, 0, 0, 5616, 8416 0, 0, 0, 5857, 0, 5857, 0, 2011, 0, 0, 8417 0, 4192, 2264, 0, 0, 0, 0, 0, 334, 0, 8418 0, 0, 0, 0, 3233, 3234, 3235, 3236, 0, 0, 8419 0, 0, 5113, 0, 6285, 0, 0, 0, 0, 0, 8420 0, 0, 0, 0, 0, 0, 2011, 0, 0, 3245, 8421 3246, 3247, 3248, 3241, 3242, 3243, 3244, 3249, 3250, 3251, 8422 3252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8423 0, 0, 0, 0, 0, 0, 1644, 0, 0, 0, 8424 0, 0, 0, 0, 0, 0, 0, 0, 5180, 0, 8425 0, 2926, 0, 0, 5249, 0, 0, 0, 0, 0, 8426 0, 0, 0, 0, 0, 1378, 1378, 1378, 0, 2948, 8427 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8428 0, 0, 0, 0, 0, 5175, 2961, 0, 2961, 0, 8429 0, 0, 0, 0, 2968, 3229, 3230, 3231, 3232, 3237, 8430 3238, 3239, 3240, 0, 0, 0, 0, 0, 0, 0, 8431 0, 0, 0, 5168, 5162, 5163, 5164, 5165, 5166, 4952, 8432 6352, 0, 0, 0, 0, 0, 0, 5616, 0, 1027, 8433 0, 0, 0, 0, 0, 1786, 0, 0, 1792, 0, 8434 0, 0, 0, 2995, 0, 0, 0, 5857, 0, 0, 8435 0, 0, 0, 0, 0, 0, 0, 0, 5185, 5183, 8436 0, 0, 5857, 0, 0, 0, 0, 0, 0, 0, 8437 0, 0, 0, 0, 0, 1521, 0, 0, 0, 0, 8438 0, 0, 0, 0, 3107, 0, 0, 0, 0, 0, 8439 334, 0, 0, 5177, 0, 1968, 0, 0, 0, 0, 8440 0, 1986, 0, 0, 0, 0, 0, 0, 0, 0, 8441 0, 0, 5176, 0, 914, 0, 0, 0, 0, 0, 8442 0, 0, 0, 0, 0, 0, 5184, 5186, 0, 0, 8443 0, 0, 0, 2013, 0, 2018, 0, 2024, 0, 0, 8444 0, 0, 0, 5857, 0, 5857, 0, 0, 2677, 0, 8445 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8446 0, 0, 0, 0, 5857, 0, 334, 5857, 0, 0, 8447 0, 0, 0, 0, 0, 0, 0, 0, 2409, 0, 8448 0, 0, 0, 0, 0, 0, 0, 0, 0, 2011, 8449 0, 2011, 0, 0, 0, 0, 0, 0, 0, 0, 8450 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8451 0, 0, 0, 2124, 0, 2129, 0, 0, 0, 0, 8452 0, 0, 0, 0, 0, 1635, 1635, 1635, 0, 2143, 8453 0, 2148, 0, 0, 2187, 2188, 0, 2221, 2222, 2223, 8454 2232, 2233, 2234, 6494, 0, 0, 0, 0, 0, 0, 8455 0, 0, 0, 0, 0, 0, 0, 2225, 2218, 6170, 8456 0, 0, 334, 0, 1462, 2219, 0, 3937, 2190, 0, 8457 0, 4952, 0, 0, 0, 0, 0, 0, 0, 0, 8458 2238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8459 0, 0, 0, 0, 0, 0, 0, 4192, 0, 0, 8460 0, 2244, 0, 0, 0, 5060, 5061, 0, 0, 0, 8461 0, 0, 2189, 0, 0, 0, 0, 0, 0, 0, 8462 0, 872, 0, 2209, 0, 0, 0, 0, 0, 0, 8463 0, 0, 334, 2206, 0, 0, 0, 0, 0, 0, 8464 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8465 0, 0, 0, 0, 5249, 0, 0, 0, 2245, 2246, 8466 2247, 2248, 2249, 2250, 2251, 2252, 0, 0, 0, 0, 8467 0, 0, 0, 0, 5149, 0, 0, 0, 0, 0, 8468 0, 0, 0, 2011, 0, 0, 5188, 0, 0, 0, 8469 0, 0, 2265, 0, 2187, 2188, 0, 0, 2278, 0, 8470 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8471 0, 0, 334, 0, 0, 0, 2948, 0, 2218, 2224, 8472 2212, 2213, 2214, 2215, 0, 2219, 0, 0, 2190, 0, 8473 2195, 0, 1027, 0, 0, 0, 0, 0, 0, 0, 8474 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8475 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8476 0, 2244, 0, 0, 0, 0, 5616, 0, 0, 0, 8477 0, 4071, 2189, 0, 0, 0, 0, 0, 2229, 0, 8478 0, 0, 2239, 2209, 0, 0, 2342, 2342, 2342, 0, 8479 0, 2217, 2220, 2206, 0, 0, 0, 4100, 0, 4103, 8480 0, 0, 4326, 0, 0, 0, 0, 0, 0, 0, 8481 0, 0, 0, 0, 2235, 4192, 2236, 0, 0, 0, 8482 0, 0, 0, 2204, 2205, 0, 0, 5857, 0, 5857, 8483 0, 0, 4952, 0, 2677, 0, 0, 0, 0, 0, 8484 0, 0, 0, 2227, 0, 0, 0, 0, 0, 0, 8485 0, 0, 0, 0, 0, 0, 5208, 0, 2210, 0, 8486 0, 0, 872, 0, 0, 0, 0, 4150, 0, 1027, 8487 0, 0, 0, 0, 4326, 0, 0, 0, 0, 0, 8488 2212, 2213, 2214, 2215, 4161, 1976, 1976, 4164, 0, 0, 8489 2195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8490 0, 4172, 4192, 0, 0, 2224, 2519, 2224, 0, 0, 8491 2237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8492 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8493 0, 2226, 0, 0, 0, 0, 0, 0, 0, 0, 8494 0, 4192, 2241, 0, 0, 0, 0, 0, 0, 0, 8495 0, 2217, 2220, 0, 0, 0, 1378, 0, 0, 0, 8496 0, 0, 0, 0, 0, 0, 0, 0, 0, 1521, 8497 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8498 0, 0, 0, 2204, 2205, 0, 4952, 0, 0, 0, 8499 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8500 0, 0, 4952, 0, 0, 2216, 0, 5410, 5411, 0, 8501 0, 0, 0, 0, 0, 0, 0, 0, 2210, 0, 8502 0, 1976, 0, 0, 0, 0, 0, 0, 0, 0, 8503 0, 0, 0, 2211, 0, 0, 0, 0, 0, 0, 8504 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8505 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8506 0, 0, 2648, 0, 0, 0, 0, 2230, 0, 0, 8507 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8508 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8509 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8510 0, 0, 2241, 0, 0, 0, 0, 2243, 2689, 0, 8511 0, 0, 0, 0, 0, 0, 0, 0, 0, 4425, 8512 0, 0, 0, 0, 0, 0, 0, 0, 0, 2948, 8513 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8514 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8515 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8516 0, 0, 0, 1978, 0, 2216, 0, 0, 0, 0, 8517 0, 0, 0, 0, 0, 0, 2224, 0, 2224, 0, 8518 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8519 0, 0, 0, 2211, 0, 5527, 2228, 0, 0, 0, 8520 0, 0, 0, 0, 0, 0, 5543, 5544, 0, 2201, 8521 2202, 2208, 2231, 2207, 2203, 0, 2200, 2198, 2199, 2191, 8522 2192, 2193, 2194, 2196, 2197, 4525, 0, 0, 0, 0, 8523 5553, 0, 0, 0, 5222, 0, 0, 0, 0, 0, 8524 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8525 0, 0, 0, 0, 0, 0, 5577, 0, 0, 0, 8526 0, 0, 0, 0, 0, 0, 0, 2243, 0, 0, 8527 0, 0, 0, 0, 0, 132, 132, 0, 132, 0, 8528 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8529 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8530 0, 0, 0, 2224, 2224, 0, 3286, 3286, 0, 0, 8531 2224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8532 4638, 4638, 0, 0, 2224, 2224, 0, 0, 0, 0, 8533 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8534 0, 0, 2224, 0, 0, 5657, 0, 0, 0, 0, 8535 2986, 5663, 5664, 0, 2224, 0, 132, 132, 0, 132, 8536 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8537 0, 0, 0, 2207, 2203, 0, 2200, 2198, 2199, 2191, 8538 2192, 2193, 2194, 2196, 2197, 0, 0, 0, 0, 0, 8539 0, 0, 0, 3286, 3286, 3286, 3286, 3286, 3286, 3286, 8540 3286, 3286, 3286, 3286, 3286, 3286, 3286, 3286, 3286, 3286, 8541 3286, 3286, 3286, 0, 3286, 4638, 4638, 4638, 4638, 0, 8542 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8543 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8544 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8545 3017, 2224, 3021, 0, 0, 0, 0, 0, 0, 3036, 8546 0, 0, 1378, 0, 0, 0, 0, 0, 3047, 3048, 8547 3049, 3050, 3051, 3052, 3053, 3054, 3055, 3056, 3057, 3058, 8548 3059, 3060, 3061, 3062, 3063, 3064, 3065, 3066, 3067, 3068, 8549 3069, 3070, 3071, 3072, 3073, 3074, 3075, 3076, 3077, 3078, 8550 3079, 3080, 3081, 3082, 3083, 0, 3089, 0, 3091, 3092, 8551 3093, 3094, 0, 0, 0, 0, 0, 0, 0, 0, 8552 0, 0, 0, 1371, 0, 0, 0, 0, 0, 0, 8553 0, 0, 0, 0, 3118, 0, 0, 132, 132, 0, 8554 0, 0, 0, 0, 0, 0, 2265, 0, 0, 0, 8555 3164, 5770, 5771, 0, 0, 1027, 0, 0, 0, 0, 8556 0, 0, 0, 0, 0, 0, 3194, 3197, 3200, 3203, 8557 0, 0, 3209, 3210, 3211, 3212, 3213, 3214, 3215, 0, 8558 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8559 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8560 0, 872, 0, 3278, 0, 3289, 3291, 3296, 0, 0, 8561 0, 5813, 5814, 0, 0, 0, 0, 0, 0, 0, 8562 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8563 0, 0, 0, 0, 0, 0, 2187, 2188, 0, 2221, 8564 2222, 2223, 2232, 2233, 2234, 0, 0, 0, 0, 0, 8565 0, 0, 0, 0, 0, 0, 0, 0, 0, 2225, 8566 2218, 0, 0, 3945, 0, 0, 0, 2219, 0, 0, 8567 2190, 0, 2224, 0, 0, 0, 0, 872, 0, 0, 8568 0, 0, 2238, 0, 0, 0, 872, 0, 0, 0, 8569 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8570 0, 0, 0, 2244, 0, 0, 0, 0, 0, 0, 8571 0, 0, 0, 0, 2189, 0, 0, 0, 0, 0, 8572 0, 0, 0, 0, 0, 2209, 0, 0, 0, 0, 8573 0, 0, 0, 0, 872, 2206, 0, 0, 0, 0, 8574 0, 1521, 1521, 0, 0, 2224, 2224, 0, 0, 0, 8575 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8576 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8577 2986, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8578 0, 0, 872, 0, 0, 0, 0, 0, 0, 0, 8579 0, 0, 872, 0, 0, 0, 0, 0, 0, 0, 8580 0, 0, 0, 0, 0, 0, 0, 0, 872, 0, 8581 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8582 0, 0, 2212, 2213, 2214, 2215, 0, 0, 0, 0, 8583 0, 0, 2195, 0, 0, 0, 0, 0, 0, 0, 8584 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8585 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8586 0, 0, 0, 0, 6036, 0, 6038, 6039, 6040, 0, 8587 0, 6043, 6044, 0, 0, 0, 0, 0, 0, 0, 8588 2229, 0, 0, 0, 2239, 0, 0, 0, 0, 0, 8589 0, 0, 0, 2217, 2220, 0, 0, 0, 0, 0, 8590 0, 0, 2224, 0, 0, 0, 0, 0, 0, 0, 8591 0, 0, 0, 0, 0, 0, 2235, 0, 2236, 0, 8592 0, 0, 4131, 0, 0, 2204, 2205, 0, 4133, 0, 8593 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8594 0, 0, 0, 0, 0, 2227, 0, 0, 0, 0, 8595 0, 0, 0, 6094, 0, 6099, 6100, 0, 0, 0, 8596 2210, 0, 0, 0, 0, 0, 6111, 0, 0, 0, 8597 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8598 2224, 2224, 0, 0, 2224, 4638, 4638, 2224, 0, 0, 8599 0, 2224, 0, 0, 0, 0, 0, 0, 2224, 0, 8600 0, 0, 0, 0, 0, 0, 0, 2224, 0, 0, 8601 0, 0, 2237, 0, 0, 0, 0, 0, 0, 0, 8602 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8603 2224, 2224, 2224, 2224, 2224, 0, 0, 0, 0, 0, 8604 0, 2224, 0, 2224, 2241, 0, 4638, 4638, 4638, 4638, 8605 4638, 4638, 4638, 4638, 4638, 4638, 4638, 4638, 4638, 4638, 8606 4638, 4638, 4638, 4638, 4638, 4638, 0, 0, 0, 4638, 8607 0, 0, 2224, 2224, 0, 0, 0, 0, 0, 0, 8608 0, 0, 0, 0, 2224, 0, 0, 872, 0, 872, 8609 0, 0, 0, 2224, 0, 0, 0, 0, 0, 872, 8610 0, 0, 872, 0, 0, 0, 0, 2216, 0, 0, 8611 0, 0, 0, 0, 0, 2224, 0, 6211, 0, 0, 8612 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8613 0, 2447, 0, 0, 0, 2211, 0, 0, 872, 0, 8614 0, 0, 0, 0, 0, 0, 0, 0, 0, 4737, 8615 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8616 0, 0, 0, 0, 0, 0, 0, 0, 0, 2230, 8617 0, 132, 0, 2224, 0, 0, 4402, 0, 4404, 0, 8618 0, 0, 0, 0, 0, 0, 0, 0, 1521, 0, 8619 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8620 0, 0, 1521, 0, 0, 0, 0, 0, 0, 2243, 8621 0, 0, 0, 0, 0, 0, 0, 0, 0, 2224, 8622 0, 1976, 1976, 0, 0, 0, 0, 0, 0, 0, 8623 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8624 0, 0, 6305, 0, 0, 0, 0, 0, 0, 0, 8625 2224, 0, 872, 0, 0, 0, 132, 0, 0, 0, 8626 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8627 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8628 0, 0, 2224, 2224, 0, 872, 0, 0, 872, 872, 8629 872, 872, 872, 0, 0, 0, 0, 0, 2228, 0, 8630 0, 2245, 2246, 0, 0, 0, 0, 0, 0, 0, 8631 0, 2201, 2202, 2208, 2231, 2207, 2203, 1378, 2200, 2198, 8632 2199, 2191, 2192, 2193, 2194, 2196, 2197, 0, 0, 0, 8633 0, 0, 0, 0, 0, 0, 0, 0, 4836, 0, 8634 0, 0, 0, 0, 0, 4841, 0, 1976, 2187, 2188, 8635 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8636 0, 4529, 4530, 0, 0, 4861, 0, 4536, 132, 0, 8637 0, 0, 2218, 0, 0, 1521, 0, 0, 0, 2219, 8638 0, 0, 2190, 1521, 0, 0, 4550, 4551, 0, 0, 8639 0, 0, 3164, 0, 0, 0, 0, 0, 0, 0, 8640 0, 0, 0, 0, 0, 0, 0, 4917, 4919, 0, 8641 0, 2948, 0, 0, 6397, 2244, 0, 0, 0, 0, 8642 0, 0, 0, 0, 0, 0, 2189, 0, 2224, 0, 8643 0, 0, 0, 0, 0, 0, 0, 2209, 0, 0, 8644 0, 0, 0, 0, 0, 0, 0, 2206, 0, 4568, 8645 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8646 0, 0, 0, 2224, 2224, 4580, 0, 0, 2224, 2224, 8647 0, 0, 2224, 2224, 0, 0, 0, 0, 2224, 0, 8648 0, 0, 0, 2224, 0, 0, 0, 0, 0, 0, 8649 0, 0, 0, 0, 0, 0, 0, 0, 3286, 2986, 8650 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8651 4535, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8652 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8653 0, 0, 0, 0, 2212, 2213, 2214, 2215, 0, 0, 8654 0, 0, 0, 0, 2195, 0, 0, 0, 0, 0, 8655 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8656 0, 0, 0, 0, 0, 0, 872, 872, 0, 3296, 8657 3296, 3296, 0, 132, 0, 0, 0, 872, 0, 0, 8658 0, 0, 0, 0, 0, 0, 0, 0, 2342, 2224, 8659 0, 3081, 3082, 3083, 3089, 0, 0, 0, 0, 0, 8660 0, 0, 872, 0, 0, 2217, 2220, 0, 5093, 0, 8661 0, 0, 0, 0, 0, 0, 0, 3286, 0, 0, 8662 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8663 0, 0, 0, 0, 0, 872, 0, 2204, 2205, 0, 8664 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8665 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8666 0, 0, 0, 0, 132, 0, 0, 0, 0, 0, 8667 0, 0, 2210, 0, 0, 0, 0, 0, 0, 0, 8668 2224, 872, 0, 872, 132, 872, 0, 0, 0, 0, 8669 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8670 0, 0, 0, 872, 872, 0, 0, 0, 0, 0, 8671 0, 5204, 0, 132, 0, 0, 0, 872, 0, 0, 8672 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8673 0, 0, 0, 2224, 2224, 0, 0, 0, 0, 0, 8674 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8675 0, 0, 2447, 2447, 872, 0, 2241, 0, 0, 0, 8676 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8677 0, 0, 0, 0, 0, 0, 1171, 0, 0, 0, 8678 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8679 0, 0, 0, 0, 0, 0, 0, 1175, 0, 0, 8680 0, 0, 1176, 0, 0, 0, 0, 0, 0, 0, 8681 0, 0, 0, 0, 0, 2224, 0, 0, 0, 2216, 8682 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8683 2224, 2224, 2224, 0, 0, 0, 0, 0, 0, 0, 8684 2224, 2224, 4638, 3286, 0, 0, 0, 2211, 872, 2224, 8685 0, 1177, 2224, 1191, 0, 0, 0, 0, 0, 0, 8686 0, 0, 0, 0, 0, 0, 0, 0, 132, 0, 8687 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8688 0, 0, 1178, 0, 0, 0, 0, 1179, 0, 0, 8689 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8690 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8691 1200, 0, 0, 0, 0, 0, 872, 0, 0, 1180, 8692 0, 2243, 0, 872, 0, 0, 0, 0, 4638, 3286, 8693 0, 872, 0, 0, 0, 0, 1198, 0, 0, 0, 8694 0, 0, 0, 0, 0, 2224, 0, 872, 0, 0, 8695 0, 0, 0, 2224, 3286, 0, 0, 0, 0, 0, 8696 0, 2224, 1173, 1170, 0, 0, 0, 0, 0, 0, 8697 0, 0, 0, 0, 2224, 0, 2224, 0, 0, 0, 8698 0, 0, 0, 0, 0, 0, 2224, 0, 0, 5404, 8699 1181, 0, 2224, 2224, 0, 2224, 0, 0, 0, 0, 8700 0, 0, 0, 0, 0, 0, 0, 0, 1202, 0, 8701 0, 0, 0, 0, 966, 0, 0, 2187, 2188, 0, 8702 2221, 2222, 2223, 2232, 2233, 2234, 0, 2207, 2203, 0, 8703 2200, 2198, 2199, 2191, 2192, 2193, 2194, 2196, 2197, 0, 8704 2225, 2218, 0, 0, 0, 0, 0, 0, 2219, 0, 8705 0, 2190, 0, 0, 0, 0, 0, 0, 0, 0, 8706 0, 0, 0, 2238, 0, 0, 2187, 2188, 0, 2221, 8707 2222, 2223, 2232, 2233, 2234, 0, 0, 0, 0, 0, 8708 0, 0, 0, 0, 2244, 0, 0, 0, 0, 2225, 8709 2218, 0, 4638, 3107, 0, 2189, 0, 2219, 0, 0, 8710 2190, 1201, 0, 0, 0, 0, 2209, 0, 0, 0, 8711 0, 1196, 2238, 0, 0, 0, 2206, 0, 0, 0, 8712 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8713 0, 872, 0, 2244, 2224, 4638, 0, 0, 2224, 0, 8714 0, 0, 0, 0, 2189, 0, 0, 0, 0, 0, 8715 0, 0, 0, 872, 872, 2209, 0, 4638, 0, 0, 8716 0, 0, 0, 0, 0, 2206, 0, 0, 0, 0, 8717 0, 0, 0, 0, 4677, 0, 0, 0, 0, 0, 8718 0, 0, 1195, 0, 0, 0, 0, 2224, 0, 0, 8719 0, 0, 0, 1182, 0, 0, 0, 0, 0, 0, 8720 0, 0, 0, 2212, 2213, 2214, 2215, 0, 0, 0, 8721 0, 0, 0, 2195, 0, 0, 0, 0, 0, 4677, 8722 0, 0, 0, 0, 0, 0, 2948, 0, 1183, 0, 8723 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8724 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8725 0, 0, 2212, 2213, 2214, 2215, 872, 0, 0, 0, 8726 0, 2229, 2195, 0, 132, 2239, 0, 5593, 0, 0, 8727 0, 0, 0, 0, 2217, 2220, 0, 965, 5605, 0, 8728 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8729 1169, 0, 0, 1192, 2948, 0, 2948, 2235, 0, 2236, 8730 0, 0, 0, 5634, 0, 1184, 2204, 2205, 0, 0, 8731 2229, 0, 0, 0, 2239, 0, 0, 0, 0, 0, 8732 2447, 0, 0, 2217, 2220, 1378, 2227, 0, 0, 0, 8733 0, 0, 0, 0, 0, 0, 0, 1378, 1190, 132, 8734 0, 2210, 132, 0, 0, 0, 2235, 0, 2236, 0, 8735 0, 0, 2224, 0, 0, 2204, 2205, 0, 0, 1185, 8736 0, 0, 0, 1186, 1205, 0, 1204, 963, 0, 0, 8737 0, 1187, 0, 0, 0, 2227, 0, 0, 0, 2224, 8738 0, 0, 0, 0, 0, 0, 0, 1188, 0, 0, 8739 2210, 0, 1197, 2237, 0, 0, 0, 0, 1206, 0, 8740 872, 1203, 0, 0, 0, 0, 0, 0, 0, 0, 8741 967, 0, 872, 0, 2226, 0, 0, 0, 0, 0, 8742 0, 0, 0, 0, 0, 2241, 0, 0, 0, 964, 8743 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8744 0, 0, 2237, 0, 0, 0, 0, 0, 0, 0, 8745 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8746 0, 0, 0, 2226, 0, 0, 0, 0, 0, 0, 8747 0, 0, 0, 0, 2241, 0, 0, 0, 0, 0, 8748 0, 0, 0, 0, 4898, 0, 0, 0, 2216, 0, 8749 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8750 0, 0, 0, 0, 132, 0, 132, 0, 0, 0, 8751 0, 0, 0, 0, 0, 0, 2211, 0, 0, 0, 8752 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8753 0, 0, 0, 0, 0, 872, 0, 2216, 0, 0, 8754 2224, 0, 0, 0, 0, 0, 0, 872, 0, 872, 8755 2230, 0, 0, 0, 872, 0, 0, 0, 0, 0, 8756 0, 0, 0, 0, 0, 2211, 0, 4971, 4972, 0, 8757 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8758 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8759 2243, 0, 0, 0, 0, 0, 0, 0, 0, 2230, 8760 0, 132, 0, 0, 0, 0, 0, 0, 0, 0, 8761 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8762 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8763 0, 0, 0, 0, 0, 0, 0, 0, 0, 2243, 8764 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8765 0, 0, 0, 0, 0, 0, 0, 5877, 0, 0, 8766 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8767 0, 0, 0, 2948, 0, 0, 0, 0, 0, 2228, 8768 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8769 0, 0, 2201, 2202, 2208, 2231, 2207, 2203, 0, 2200, 8770 2198, 2199, 2191, 2192, 2193, 2194, 2196, 2197, 0, 0, 8771 0, 0, 0, 4589, 0, 0, 0, 4590, 0, 0, 8772 0, 0, 0, 0, 0, 0, 0, 0, 2228, 0, 8773 0, 0, 0, 0, 5128, 0, 0, 0, 0, 0, 8774 0, 2201, 2202, 2208, 2231, 2207, 2203, 0, 2200, 2198, 8775 2199, 2191, 2192, 2193, 2194, 2196, 2197, 0, 0, 0, 8776 0, 0, 3160, 0, 2187, 2188, 3161, 2221, 2222, 2223, 8777 2232, 2233, 2234, 0, 0, 0, 0, 0, 0, 0, 8778 0, 0, 0, 0, 0, 0, 0, 2225, 2218, 0, 8779 0, 0, 0, 0, 0, 2219, 0, 3036, 2190, 0, 8780 0, 0, 0, 0, 5206, 5207, 0, 0, 5210, 2948, 8781 2238, 0, 5213, 0, 0, 0, 0, 0, 0, 0, 8782 0, 5217, 0, 6016, 0, 0, 0, 0, 0, 0, 8783 5224, 2244, 0, 0, 0, 0, 0, 0, 0, 0, 8784 0, 0, 2189, 0, 5233, 0, 0, 0, 0, 0, 8785 0, 0, 0, 2209, 0, 0, 0, 0, 0, 0, 8786 0, 0, 0, 2206, 5256, 5257, 0, 5258, 5259, 5260, 8787 0, 0, 0, 0, 0, 0, 0, 872, 0, 0, 8788 0, 0, 0, 0, 0, 0, 0, 872, 5267, 0, 8789 0, 0, 5269, 0, 0, 0, 0, 0, 0, 0, 8790 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8791 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8792 0, 0, 0, 0, 0, 5298, 5299, 0, 0, 0, 8793 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8794 0, 0, 0, 0, 5310, 0, 0, 0, 0, 0, 8795 2212, 2213, 2214, 2215, 0, 0, 0, 0, 0, 5319, 8796 2195, 0, 0, 0, 0, 0, 0, 2187, 2188, 0, 8797 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8798 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8799 0, 2218, 0, 0, 0, 0, 5341, 3036, 2219, 0, 8800 0, 2190, 0, 0, 6135, 1976, 0, 0, 2229, 0, 8801 0, 0, 2239, 0, 0, 0, 0, 0, 0, 0, 8802 0, 2217, 2220, 0, 0, 0, 0, 0, 0, 0, 8803 0, 0, 6156, 0, 2244, 0, 0, 0, 0, 0, 8804 0, 0, 0, 0, 2235, 2189, 2236, 0, 0, 0, 8805 0, 0, 0, 2204, 2205, 0, 2209, 0, 0, 0, 8806 0, 0, 0, 0, 0, 0, 2206, 0, 0, 0, 8807 0, 0, 5399, 2227, 0, 0, 0, 0, 0, 0, 8808 0, 0, 0, 0, 0, 0, 0, 0, 2210, 0, 8809 0, 2187, 2188, 0, 2221, 2222, 2223, 2232, 2233, 2234, 8810 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8811 0, 0, 0, 0, 2225, 2218, 0, 0, 0, 0, 8812 0, 0, 2219, 0, 0, 2190, 0, 2948, 0, 4528, 8813 0, 0, 0, 0, 0, 0, 0, 2238, 0, 0, 8814 2237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8815 0, 0, 0, 2212, 2213, 2214, 2215, 5445, 2244, 0, 8816 0, 2226, 0, 2195, 0, 0, 0, 0, 0, 2189, 8817 0, 0, 2241, 0, 0, 0, 0, 0, 0, 0, 8818 2209, 0, 0, 0, 0, 2961, 0, 0, 0, 0, 8819 2206, 5476, 0, 0, 0, 0, 0, 0, 0, 0, 8820 0, 0, 0, 1426, 0, 0, 0, 0, 0, 0, 8821 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8822 0, 0, 0, 0, 2217, 2220, 0, 0, 0, 0, 8823 0, 0, 0, 0, 0, 2216, 0, 0, 0, 0, 8824 0, 0, 0, 0, 0, 0, 5508, 5509, 0, 0, 8825 0, 0, 0, 0, 0, 0, 2204, 2205, 333, 333, 8826 871, 333, 0, 2211, 0, 0, 0, 0, 0, 0, 8827 0, 0, 0, 0, 0, 0, 0, 2212, 2213, 2214, 8828 2215, 0, 0, 0, 0, 0, 333, 2195, 0, 0, 8829 0, 2210, 0, 0, 0, 1148, 0, 2230, 0, 0, 8830 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8831 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8832 0, 0, 0, 0, 0, 0, 1148, 0, 0, 0, 8833 0, 0, 0, 0, 0, 2229, 0, 2243, 0, 2239, 8834 0, 0, 0, 0, 0, 0, 0, 0, 2217, 2220, 8835 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8836 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8837 0, 2235, 0, 2236, 0, 2241, 2342, 0, 0, 0, 8838 2204, 2205, 0, 0, 0, 0, 0, 0, 0, 0, 8839 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8840 2227, 0, 0, 0, 0, 0, 0, 0, 2342, 0, 8841 0, 0, 0, 0, 0, 2210, 0, 5654, 0, 0, 8842 0, 0, 0, 0, 0, 0, 2228, 0, 0, 0, 8843 0, 0, 0, 0, 0, 0, 0, 0, 2216, 2201, 8844 2202, 2208, 2231, 2207, 2203, 0, 2200, 2198, 2199, 2191, 8845 2192, 2193, 2194, 2196, 2197, 0, 0, 0, 0, 0, 8846 0, 0, 0, 0, 4592, 0, 2211, 2237, 0, 0, 8847 0, 872, 0, 6450, 0, 0, 0, 0, 0, 0, 8848 0, 0, 0, 0, 0, 5689, 5690, 0, 2226, 0, 8849 0, 5694, 5695, 0, 0, 0, 5698, 5699, 0, 2241, 8850 0, 1533, 0, 872, 0, 872, 0, 0, 0, 0, 8851 0, 5704, 0, 0, 0, 872, 0, 0, 0, 0, 8852 0, 0, 0, 0, 0, 0, 0, 5709, 0, 0, 8853 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8854 2243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8855 2447, 0, 0, 0, 872, 0, 0, 0, 0, 0, 8856 0, 0, 2216, 0, 0, 0, 0, 0, 0, 6508, 8857 0, 0, 0, 0, 0, 0, 0, 0, 0, 2447, 8858 0, 0, 0, 0, 0, 0, 0, 0, 0, 870, 8859 2211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8860 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8861 0, 0, 0, 0, 2187, 2188, 0, 2221, 2222, 2223, 8862 2232, 2233, 2234, 0, 2230, 0, 0, 0, 0, 0, 8863 0, 0, 0, 0, 0, 0, 0, 2225, 2218, 6560, 8864 0, 0, 0, 0, 0, 2219, 2207, 2203, 2190, 2200, 8865 2198, 2199, 2191, 2192, 2193, 2194, 2196, 2197, 0, 0, 8866 2238, 0, 0, 0, 2243, 0, 0, 0, 0, 0, 8867 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8868 0, 2244, 0, 0, 0, 0, 0, 0, 0, 0, 8869 0, 0, 2189, 5815, 0, 0, 0, 0, 0, 0, 8870 0, 0, 0, 2209, 0, 0, 0, 0, 0, 0, 8871 0, 0, 1378, 2206, 0, 0, 0, 0, 0, 2961, 8872 0, 872, 0, 0, 872, 0, 0, 0, 0, 0, 8873 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8874 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8875 0, 0, 0, 2228, 0, 2447, 0, 0, 2187, 2188, 8876 0, 0, 0, 0, 0, 0, 2201, 2202, 2208, 2231, 8877 2207, 2203, 0, 2200, 2198, 2199, 2191, 2192, 2193, 2194, 8878 2196, 2197, 2218, 0, 0, 0, 0, 0, 5906, 2219, 8879 0, 4591, 2190, 0, 0, 0, 0, 0, 0, 0, 8880 2212, 2213, 2214, 2215, 0, 0, 0, 0, 0, 0, 8881 2195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8882 0, 0, 0, 0, 0, 2244, 0, 0, 1378, 0, 8883 0, 0, 0, 0, 0, 0, 2189, 0, 0, 0, 8884 0, 0, 0, 0, 0, 0, 0, 2209, 0, 0, 8885 0, 0, 0, 0, 0, 0, 0, 2206, 2229, 0, 8886 5959, 5960, 2239, 872, 0, 0, 0, 0, 0, 0, 8887 0, 2217, 2220, 0, 0, 0, 0, 0, 0, 0, 8888 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8889 0, 0, 0, 0, 2235, 0, 2236, 0, 0, 0, 8890 0, 0, 0, 2204, 2205, 0, 0, 0, 0, 0, 8891 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8892 0, 0, 0, 2227, 0, 0, 0, 0, 0, 0, 8893 0, 0, 0, 0, 0, 0, 0, 0, 2210, 0, 8894 0, 0, 0, 0, 2212, 2213, 2214, 2215, 0, 6041, 8895 0, 0, 0, 0, 2195, 0, 0, 0, 0, 0, 8896 872, 0, 872, 0, 0, 0, 872, 0, 6056, 6057, 8897 6058, 0, 0, 872, 872, 0, 0, 0, 0, 0, 8898 0, 0, 0, 0, 0, 0, 0, 0, 3036, 0, 8899 2237, 6066, 6067, 0, 0, 0, 0, 0, 0, 0, 8900 0, 0, 0, 0, 948, 0, 0, 0, 6075, 6078, 8901 0, 2226, 0, 0, 0, 2217, 2220, 0, 0, 0, 8902 0, 0, 2241, 0, 0, 932, 0, 0, 3036, 0, 8903 933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8904 0, 0, 872, 0, 0, 0, 0, 2204, 2205, 0, 8905 0, 0, 0, 0, 872, 0, 872, 0, 0, 0, 8906 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8907 0, 0, 0, 0, 0, 0, 0, 0, 0, 934, 8908 0, 0, 2210, 0, 0, 2216, 0, 0, 0, 0, 8909 0, 0, 935, 0, 0, 0, 0, 0, 0, 0, 8910 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8911 2447, 0, 0, 2211, 0, 936, 0, 0, 0, 0, 8912 0, 0, 0, 872, 0, 0, 0, 0, 0, 0, 8913 0, 0, 0, 6171, 333, 333, 0, 0, 954, 0, 8914 872, 0, 6179, 0, 0, 0, 0, 2230, 0, 0, 8915 2447, 2447, 0, 333, 0, 333, 333, 6187, 0, 333, 8916 1378, 0, 0, 0, 937, 0, 2241, 0, 0, 0, 8917 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8918 0, 6200, 2447, 2447, 6202, 0, 0, 2243, 0, 0, 8919 938, 929, 0, 0, 0, 0, 0, 0, 6212, 0, 8920 0, 0, 0, 6218, 6219, 0, 0, 0, 0, 6221, 8921 0, 0, 0, 0, 0, 2447, 0, 0, 939, 0, 8922 0, 0, 0, 0, 930, 0, 0, 0, 0, 2216, 8923 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8924 0, 0, 966, 872, 872, 0, 0, 0, 0, 0, 8925 0, 0, 0, 0, 0, 0, 0, 2211, 0, 0, 8926 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8927 0, 0, 953, 0, 0, 0, 2228, 0, 333, 0, 8928 0, 872, 0, 0, 0, 0, 0, 0, 0, 2201, 8929 2202, 2208, 2231, 2207, 2203, 0, 2200, 2198, 2199, 2191, 8930 2192, 2193, 2194, 2196, 2197, 0, 0, 0, 0, 0, 8931 0, 0, 0, 0, 4588, 333, 0, 333, 333, 333, 8932 333, 0, 0, 333, 333, 0, 0, 0, 0, 0, 8933 0, 2243, 0, 0, 0, 0, 2447, 0, 2447, 950, 8934 0, 0, 0, 0, 0, 0, 1148, 0, 0, 0, 8935 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8936 0, 0, 0, 0, 0, 0, 0, 0, 872, 0, 8937 0, 0, 0, 872, 872, 872, 872, 0, 0, 0, 8938 0, 0, 0, 872, 0, 0, 0, 0, 0, 0, 8939 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8940 0, 333, 333, 0, 0, 0, 0, 0, 0, 0, 8941 0, 0, 0, 0, 0, 0, 0, 0, 0, 961, 8942 0, 941, 0, 0, 0, 0, 0, 0, 0, 0, 8943 6360, 0, 333, 333, 6364, 0, 0, 2207, 2203, 0, 8944 2200, 2198, 2199, 2191, 2192, 2193, 2194, 2196, 2197, 0, 8945 0, 0, 962, 931, 0, 0, 942, 0, 0, 0, 8946 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8947 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8948 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8949 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8950 0, 0, 0, 0, 0, 965, 333, 0, 0, 0, 8951 0, 0, 0, 943, 0, 0, 2342, 0, 959, 960, 8952 0, 957, 0, 0, 6413, 0, 0, 0, 0, 0, 8953 951, 0, 0, 944, 0, 0, 0, 0, 0, 0, 8954 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8955 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8956 0, 0, 0, 872, 872, 0, 0, 0, 0, 0, 8957 0, 872, 0, 0, 872, 872, 0, 0, 0, 0, 8958 0, 0, 0, 0, 0, 0, 0, 945, 0, 952, 8959 0, 3036, 3036, 0, 0, 963, 0, 0, 872, 946, 8960 0, 6078, 0, 0, 0, 0, 0, 0, 0, 0, 8961 0, 0, 0, 0, 0, 947, 0, 0, 0, 0, 8962 955, 0, 0, 0, 872, 0, 1736, 0, 0, 0, 8963 0, 0, 0, 0, 0, 0, 0, 0, 967, 2447, 8964 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8965 949, 0, 0, 0, 0, 0, 0, 964, 0, 0, 8966 0, 0, 0, 0, 0, 0, 1378, 0, 0, 2187, 8967 2188, 0, 2221, 2222, 2223, 2232, 2233, 2234, 2447, 0, 8968 0, 0, 0, 0, 0, 0, 0, 872, 0, 0, 8969 872, 0, 2225, 2218, 0, 0, 0, 0, 0, 0, 8970 2219, 0, 1871, 2190, 872, 0, 0, 0, 0, 0, 8971 0, 1736, 0, 872, 0, 2238, 0, 0, 872, 872, 8972 872, 873, 0, 0, 0, 0, 871, 0, 1533, 0, 8973 0, 0, 333, 0, 0, 0, 2244, 0, 0, 0, 8974 0, 0, 0, 0, 6578, 6578, 6578, 2189, 0, 0, 8975 0, 0, 333, 871, 333, 0, 0, 872, 2209, 1736, 8976 0, 0, 1148, 0, 0, 0, 0, 0, 2206, 0, 8977 872, 1148, 0, 0, 0, 0, 335, 335, 0, 335, 8978 0, 2447, 0, 0, 0, 0, 0, 6605, 0, 0, 8979 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8980 0, 0, 0, 0, 335, 0, 0, 1736, 0, 333, 8981 0, 0, 0, 335, 0, 0, 0, 1736, 333, 0, 8982 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8983 0, 0, 0, 1736, 0, 0, 0, 0, 0, 0, 8984 0, 0, 0, 0, 335, 0, 0, 0, 0, 0, 8985 0, 0, 6578, 0, 0, 2212, 2213, 2214, 2215, 0, 8986 0, 0, 0, 0, 0, 2195, 0, 0, 0, 0, 8987 0, 0, 0, 0, 0, 0, 0, 872, 0, 0, 8988 0, 0, 0, 0, 0, 872, 0, 0, 0, 872, 8989 872, 0, 0, 0, 0, 0, 0, 2447, 0, 0, 8990 0, 0, 0, 872, 0, 0, 0, 0, 0, 0, 8991 0, 872, 0, 2229, 0, 0, 0, 2239, 0, 872, 8992 872, 0, 0, 0, 0, 0, 2217, 2220, 0, 0, 8993 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8994 0, 0, 0, 872, 0, 0, 0, 0, 0, 2235, 8995 333, 2236, 0, 0, 0, 0, 0, 0, 2204, 2205, 8996 0, 948, 0, 1148, 0, 333, 0, 333, 0, 333, 8997 0, 0, 333, 0, 333, 0, 0, 0, 2227, 872, 8998 872, 0, 932, 0, 0, 0, 0, 933, 0, 0, 8999 0, 872, 0, 2210, 0, 0, 0, 0, 0, 0, 9000 0, 0, 0, 0, 6578, 6766, 0, 0, 0, 0, 9001 0, 872, 0, 872, 0, 0, 0, 0, 0, 0, 9002 0, 0, 0, 0, 0, 333, 333, 333, 333, 0, 9003 0, 333, 333, 0, 0, 0, 934, 0, 0, 0, 9004 0, 0, 0, 0, 0, 2237, 0, 0, 872, 935, 9005 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9006 0, 0, 0, 0, 0, 0, 2226, 0, 0, 0, 9007 0, 0, 936, 0, 0, 0, 0, 2241, 0, 872, 9008 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9009 0, 0, 0, 0, 0, 954, 0, 0, 0, 0, 9010 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9011 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9012 0, 937, 0, 0, 1871, 0, 0, 1871, 0, 0, 9013 0, 0, 0, 0, 0, 0, 0, 0, 872, 872, 9014 2216, 0, 0, 0, 0, 0, 0, 938, 929, 0, 9015 0, 0, 0, 0, 0, 0, 0, 0, 0, 872, 9016 0, 0, 0, 1736, 0, 0, 0, 0, 2211, 0, 9017 0, 0, 0, 0, 0, 939, 0, 0, 0, 0, 9018 0, 930, 0, 0, 0, 0, 0, 0, 0, 0, 9019 0, 0, 0, 0, 0, 0, 0, 0, 0, 966, 9020 872, 0, 2230, 333, 0, 872, 0, 1148, 0, 0, 9021 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9022 0, 0, 0, 0, 0, 0, 0, 0, 0, 953, 9023 0, 0, 872, 872, 872, 872, 872, 0, 872, 872, 9024 872, 0, 2243, 0, 0, 0, 0, 0, 333, 333, 9025 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9026 0, 0, 0, 0, 0, 0, 0, 0, 333, 0, 9027 0, 872, 0, 0, 0, 0, 0, 1871, 0, 333, 9028 0, 0, 0, 0, 0, 0, 333, 0, 0, 0, 9029 0, 0, 2447, 0, 0, 0, 950, 0, 0, 0, 9030 0, 0, 0, 333, 0, 333, 0, 0, 0, 0, 9031 1736, 333, 0, 1736, 1736, 1736, 1736, 1736, 0, 0, 9032 0, 872, 0, 872, 872, 0, 0, 0, 0, 0, 9033 0, 2228, 0, 0, 872, 0, 0, 0, 0, 0, 9034 0, 0, 0, 0, 2201, 2202, 2208, 2231, 2207, 2203, 9035 0, 2200, 2198, 2199, 2191, 2192, 2193, 2194, 2196, 2197, 9036 333, 0, 0, 0, 0, 0, 0, 0, 0, 4587, 9037 0, 0, 0, 0, 0, 0, 0, 0, 941, 0, 9038 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9039 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9040 872, 0, 0, 0, 0, 0, 0, 0, 0, 962, 9041 931, 0, 0, 942, 0, 0, 0, 0, 0, 0, 9042 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9043 0, 0, 0, 0, 0, 2447, 0, 0, 0, 0, 9044 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9045 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9046 0, 0, 965, 0, 0, 0, 0, 0, 0, 0, 9047 943, 0, 0, 0, 0, 959, 960, 0, 957, 872, 9048 0, 0, 0, 0, 0, 872, 0, 951, 872, 872, 9049 944, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9050 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9051 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9052 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9053 872, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9054 0, 0, 0, 0, 945, 0, 952, 0, 872, 0, 9055 872, 0, 963, 0, 0, 1533, 946, 0, 0, 0, 9056 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9057 1533, 0, 947, 0, 0, 2447, 0, 955, 0, 0, 9058 0, 0, 872, 0, 333, 872, 0, 0, 0, 0, 9059 0, 1736, 1736, 0, 0, 967, 0, 0, 0, 0, 9060 0, 0, 1871, 0, 0, 0, 0, 949, 0, 0, 9061 872, 0, 0, 0, 964, 0, 0, 0, 0, 333, 9062 0, 0, 0, 0, 0, 0, 1148, 1736, 1148, 0, 9063 0, 333, 333, 0, 0, 2447, 0, 0, 0, 0, 9064 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9065 0, 0, 335, 335, 0, 0, 0, 0, 0, 0, 9066 1736, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9067 0, 335, 0, 335, 335, 0, 333, 335, 0, 1148, 9068 0, 0, 0, 0, 0, 0, 0, 0, 0, 333, 9069 0, 0, 333, 0, 0, 0, 333, 0, 0, 0, 9070 0, 0, 0, 0, 333, 333, 1736, 0, 1736, 333, 9071 1736, 333, 0, 0, 0, 0, 0, 0, 333, 333, 9072 0, 0, 0, 0, 0, 0, 0, 0, 1736, 1736, 9073 0, 0, 872, 333, 0, 0, 0, 0, 0, 0, 9074 0, 0, 1736, 0, 0, 0, 0, 872, 0, 0, 9075 0, 0, 0, 0, 0, 0, 0, 0, 1737, 0, 9076 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9077 0, 0, 0, 0, 0, 0, 0, 0, 0, 1871, 9078 0, 0, 872, 0, 0, 0, 0, 0, 333, 0, 9079 0, 0, 0, 339, 0, 0, 335, 0, 0, 0, 9080 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9081 0, 0, 0, 0, 333, 0, 333, 0, 0, 0, 9082 0, 0, 0, 0, 0, 0, 0, 333, 872, 0, 9083 872, 0, 0, 335, 1737, 335, 335, 335, 335, 0, 9084 0, 335, 335, 1737, 0, 0, 0, 0, 0, 872, 9085 0, 0, 872, 0, 0, 0, 872, 0, 0, 0, 9086 0, 0, 0, 0, 335, 0, 0, 872, 0, 0, 9087 0, 0, 0, 1871, 0, 0, 0, 0, 0, 0, 9088 0, 0, 0, 0, 333, 1138, 0, 0, 0, 0, 9089 0, 1737, 0, 0, 0, 0, 0, 0, 0, 0, 9090 0, 333, 333, 333, 333, 0, 2187, 2188, 0, 2221, 9091 2222, 2223, 2232, 2233, 2234, 0, 1138, 0, 333, 335, 9092 335, 0, 0, 0, 0, 0, 0, 0, 0, 2225, 9093 2218, 0, 0, 0, 0, 0, 0, 2219, 0, 1737, 9094 2190, 0, 333, 0, 0, 0, 0, 0, 1871, 1737, 9095 335, 335, 2238, 0, 0, 0, 333, 0, 0, 0, 9096 0, 0, 0, 872, 0, 1737, 0, 0, 0, 0, 9097 333, 0, 1871, 2244, 0, 2447, 0, 0, 0, 0, 9098 0, 0, 0, 0, 2189, 0, 0, 0, 0, 0, 9099 0, 0, 0, 0, 0, 2209, 0, 0, 0, 0, 9100 0, 0, 0, 0, 0, 2206, 0, 0, 0, 0, 9101 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9102 0, 0, 0, 0, 335, 0, 0, 0, 0, 0, 9103 0, 0, 0, 0, 0, 0, 0, 0, 333, 0, 9104 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9105 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9106 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9107 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9108 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9109 0, 0, 2212, 2213, 2214, 2215, 0, 0, 0, 1148, 9110 0, 0, 2195, 0, 0, 0, 0, 0, 0, 0, 9111 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9112 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9113 0, 0, 0, 0, 0, 0, 333, 0, 0, 0, 9114 0, 0, 0, 0, 0, 0, 333, 0, 0, 0, 9115 2229, 0, 0, 0, 2239, 0, 1871, 0, 0, 0, 9116 0, 0, 0, 2217, 2220, 0, 0, 0, 0, 0, 9117 0, 0, 0, 0, 0, 0, 0, 0, 1736, 1736, 9118 0, 0, 0, 0, 0, 0, 2235, 0, 2236, 0, 9119 0, 0, 0, 0, 0, 2204, 2205, 0, 0, 0, 9120 0, 0, 333, 0, 0, 0, 0, 0, 0, 0, 9121 0, 0, 872, 0, 872, 2227, 0, 0, 0, 0, 9122 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9123 2210, 0, 0, 333, 0, 0, 0, 0, 0, 0, 9124 0, 0, 333, 0, 0, 0, 0, 0, 0, 0, 9125 335, 0, 0, 0, 0, 0, 1737, 0, 0, 1737, 9126 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9127 335, 335, 335, 0, 0, 0, 0, 0, 0, 0, 9128 335, 1736, 2237, 0, 0, 0, 0, 0, 0, 335, 9129 0, 0, 0, 0, 0, 1737, 0, 0, 0, 0, 9130 0, 0, 0, 2226, 0, 0, 0, 0, 0, 0, 9131 0, 0, 0, 0, 2241, 0, 0, 0, 0, 0, 9132 0, 0, 0, 0, 0, 0, 0, 335, 0, 0, 9133 0, 0, 0, 0, 0, 0, 335, 0, 0, 0, 9134 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9135 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9136 0, 0, 0, 0, 0, 2187, 2188, 0, 2221, 2222, 9137 2223, 2232, 2233, 2234, 0, 0, 0, 2216, 0, 0, 9138 0, 0, 0, 0, 0, 0, 0, 0, 2225, 2218, 9139 0, 0, 0, 0, 0, 0, 2219, 0, 0, 2190, 9140 0, 0, 0, 0, 0, 2211, 0, 0, 0, 1737, 9141 0, 2238, 0, 0, 0, 0, 0, 0, 0, 0, 9142 0, 0, 0, 0, 0, 1871, 0, 0, 0, 0, 9143 0, 0, 2244, 0, 0, 0, 0, 1736, 0, 2230, 9144 0, 0, 1737, 2189, 0, 1737, 1737, 1737, 1737, 1737, 9145 0, 0, 0, 0, 2209, 0, 0, 0, 0, 0, 9146 0, 0, 0, 0, 2206, 0, 0, 0, 335, 0, 9147 0, 0, 0, 0, 0, 0, 0, 0, 0, 2243, 9148 0, 335, 0, 335, 0, 335, 0, 335, 0, 0, 9149 335, 0, 335, 0, 0, 0, 0, 0, 0, 0, 9150 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9151 0, 0, 0, 0, 0, 0, 1533, 0, 0, 0, 9152 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9153 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9154 0, 0, 0, 335, 335, 335, 335, 0, 0, 335, 9155 335, 2212, 2213, 2214, 2215, 0, 0, 0, 0, 0, 9156 1736, 2195, 0, 0, 0, 0, 0, 0, 2228, 0, 9157 0, 0, 1736, 0, 1736, 0, 0, 0, 0, 1736, 9158 0, 2201, 2202, 2208, 2231, 2207, 2203, 0, 2200, 2198, 9159 2199, 2191, 2192, 2193, 2194, 2196, 2197, 0, 0, 0, 9160 0, 0, 0, 0, 0, 0, 4586, 0, 0, 2229, 9161 0, 0, 0, 2239, 0, 0, 0, 0, 0, 0, 9162 0, 0, 2217, 2220, 0, 0, 0, 0, 0, 0, 9163 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9164 0, 0, 0, 0, 0, 2235, 0, 2236, 0, 0, 9165 0, 0, 0, 0, 2204, 2205, 0, 0, 0, 0, 9166 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9167 0, 0, 0, 0, 2227, 0, 0, 0, 0, 0, 9168 0, 0, 0, 0, 0, 0, 0, 0, 0, 2210, 9169 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9170 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9171 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9172 0, 335, 0, 1737, 1737, 335, 0, 0, 0, 0, 9173 0, 0, 0, 0, 1737, 0, 0, 0, 0, 0, 9174 0, 2237, 0, 0, 0, 0, 0, 0, 0, 0, 9175 0, 0, 0, 0, 0, 0, 0, 0, 0, 1737, 9176 0, 0, 2226, 0, 0, 0, 335, 335, 0, 0, 9177 0, 0, 0, 2241, 0, 0, 0, 0, 0, 0, 9178 0, 0, 0, 0, 0, 0, 335, 0, 0, 0, 9179 0, 0, 1737, 0, 0, 0, 0, 335, 0, 0, 9180 0, 0, 0, 0, 335, 0, 0, 0, 0, 0, 9181 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9182 0, 335, 0, 335, 0, 0, 0, 0, 0, 335, 9183 1735, 0, 0, 0, 0, 0, 2216, 0, 1737, 0, 9184 1737, 0, 1737, 0, 0, 0, 0, 0, 0, 0, 9185 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9186 1737, 1737, 0, 0, 2211, 0, 0, 0, 0, 0, 9187 0, 0, 0, 0, 1737, 0, 0, 0, 335, 0, 9188 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9189 0, 0, 0, 0, 0, 0, 0, 0, 2230, 0, 9190 0, 0, 0, 0, 0, 0, 1870, 0, 0, 0, 9191 0, 1737, 1871, 0, 0, 1735, 0, 0, 0, 0, 9192 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9193 0, 0, 0, 0, 0, 0, 0, 0, 2243, 0, 9194 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9195 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9196 0, 0, 0, 1735, 0, 0, 0, 0, 0, 0, 9197 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9198 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9199 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9200 0, 0, 0, 0, 0, 1737, 0, 0, 0, 0, 9201 0, 1735, 0, 0, 0, 0, 0, 0, 0, 0, 9202 0, 1735, 0, 0, 0, 0, 0, 2228, 0, 0, 9203 0, 0, 0, 0, 0, 0, 0, 1735, 0, 0, 9204 2201, 2202, 2208, 2231, 2207, 2203, 0, 2200, 2198, 2199, 9205 2191, 2192, 2193, 2194, 2196, 2197, 0, 0, 0, 0, 9206 0, 0, 0, 0, 0, 3161, 0, 0, 0, 0, 9207 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9208 1737, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9209 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9210 0, 0, 335, 0, 1737, 0, 0, 0, 0, 0, 9211 1533, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9212 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9213 0, 0, 0, 0, 0, 0, 0, 335, 0, 0, 9214 0, 0, 871, 0, 335, 0, 335, 0, 0, 335, 9215 335, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9216 0, 0, 0, 0, 0, 0, 333, 0, 0, 0, 9217 0, 0, 0, 0, 0, 0, 0, 0, 1148, 0, 9218 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9219 0, 0, 0, 0, 335, 0, 0, 335, 0, 0, 9220 0, 0, 0, 0, 0, 0, 0, 335, 0, 0, 9221 335, 0, 1737, 0, 335, 0, 0, 0, 0, 0, 9222 0, 0, 335, 335, 0, 0, 0, 335, 0, 335, 9223 0, 0, 0, 0, 333, 0, 335, 335, 333, 333, 9224 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9225 0, 335, 0, 0, 0, 0, 0, 0, 0, 0, 9226 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9227 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9228 0, 0, 0, 0, 0, 0, 0, 0, 1737, 0, 9229 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9230 0, 0, 0, 0, 0, 0, 335, 0, 0, 0, 9231 1737, 1737, 0, 0, 0, 0, 0, 0, 0, 0, 9232 0, 0, 0, 0, 0, 0, 0, 0, 1870, 0, 9233 0, 1870, 335, 0, 335, 0, 0, 0, 0, 0, 9234 0, 0, 0, 0, 0, 335, 0, 0, 0, 0, 9235 0, 0, 2419, 0, 0, 333, 0, 0, 0, 0, 9236 0, 2419, 333, 0, 333, 0, 0, 1735, 0, 0, 9237 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9238 0, 0, 333, 0, 0, 0, 0, 0, 0, 0, 9239 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9240 0, 0, 335, 0, 0, 0, 0, 0, 0, 0, 9241 0, 0, 0, 1737, 0, 0, 0, 0, 0, 335, 9242 335, 335, 335, 0, 333, 333, 0, 0, 333, 0, 9243 0, 0, 0, 0, 0, 871, 335, 0, 0, 0, 9244 0, 0, 0, 0, 0, 0, 0, 0, 0, 333, 9245 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9246 335, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9247 0, 0, 0, 0, 335, 0, 0, 0, 0, 0, 9248 0, 1870, 0, 0, 0, 0, 0, 0, 335, 0, 9249 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9250 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9251 0, 0, 0, 0, 1735, 0, 0, 1735, 1735, 1735, 9252 1735, 1735, 0, 0, 0, 0, 0, 0, 0, 0, 9253 1871, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9254 1871, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9255 0, 0, 0, 2419, 0, 0, 335, 1737, 0, 0, 9256 0, 0, 0, 0, 0, 0, 0, 0, 0, 1737, 9257 0, 0, 0, 0, 0, 0, 0, 0, 0, 1871, 9258 0, 0, 0, 0, 0, 2187, 2188, 0, 2221, 2222, 9259 2223, 2232, 2233, 2234, 0, 333, 0, 0, 0, 0, 9260 0, 0, 0, 0, 0, 0, 0, 0, 2225, 2218, 9261 1148, 0, 0, 0, 0, 0, 2219, 335, 0, 2190, 9262 0, 0, 0, 0, 0, 333, 0, 0, 0, 0, 9263 0, 2238, 0, 0, 0, 0, 0, 0, 0, 0, 9264 0, 0, 0, 0, 0, 0, 0, 0, 0, 333, 9265 0, 0, 2244, 0, 335, 0, 0, 0, 0, 0, 9266 0, 0, 0, 2189, 335, 0, 0, 0, 0, 0, 9267 0, 0, 0, 0, 2209, 0, 0, 0, 0, 0, 9268 0, 0, 0, 0, 2206, 0, 0, 0, 0, 0, 9269 0, 0, 1737, 0, 0, 0, 0, 0, 0, 0, 9270 0, 0, 0, 0, 1737, 0, 1737, 0, 0, 0, 9271 0, 1737, 0, 0, 0, 0, 0, 0, 0, 0, 9272 335, 0, 0, 0, 0, 0, 0, 0, 333, 0, 9273 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9274 0, 0, 0, 0, 0, 0, 1871, 0, 0, 1871, 9275 0, 335, 0, 0, 0, 0, 0, 0, 0, 0, 9276 335, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9277 0, 2212, 2213, 2214, 2215, 0, 0, 0, 0, 0, 9278 0, 2195, 0, 0, 0, 0, 0, 0, 0, 0, 9279 0, 0, 0, 0, 0, 1735, 1735, 0, 0, 0, 9280 0, 0, 0, 0, 0, 0, 1870, 0, 0, 0, 9281 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9282 0, 0, 0, 0, 0, 0, 0, 0, 0, 2229, 9283 0, 1735, 0, 2239, 0, 0, 0, 0, 0, 0, 9284 0, 0, 2217, 2220, 0, 0, 0, 0, 0, 0, 9285 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9286 0, 0, 0, 0, 1735, 2235, 0, 2236, 0, 0, 9287 0, 0, 0, 0, 2204, 2205, 0, 0, 0, 0, 9288 0, 0, 1533, 1533, 0, 0, 0, 0, 1871, 0, 9289 0, 0, 0, 0, 2227, 0, 0, 0, 0, 0, 9290 0, 0, 0, 0, 0, 0, 0, 0, 0, 2210, 9291 1735, 0, 1735, 0, 1735, 0, 0, 0, 0, 0, 9292 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9293 0, 0, 1735, 1735, 0, 0, 0, 0, 0, 0, 9294 0, 0, 0, 0, 0, 0, 1735, 0, 0, 0, 9295 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9296 0, 2237, 0, 0, 0, 0, 0, 0, 1148, 0, 9297 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9298 0, 0, 2226, 1870, 0, 1736, 0, 1736, 0, 0, 9299 0, 1871, 0, 2241, 0, 0, 0, 0, 1736, 1736, 9300 0, 0, 0, 0, 0, 0, 333, 0, 0, 0, 9301 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9302 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9303 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9304 0, 0, 0, 0, 1737, 0, 0, 0, 0, 0, 9305 0, 0, 0, 0, 0, 0, 2216, 0, 0, 0, 9306 0, 0, 0, 0, 0, 0, 0, 1736, 0, 0, 9307 0, 0, 0, 0, 0, 0, 0, 1870, 0, 1736, 9308 0, 1736, 0, 0, 2211, 0, 0, 0, 0, 0, 9309 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9310 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9311 0, 0, 0, 0, 0, 0, 0, 0, 2230, 0, 9312 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9313 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9314 0, 0, 0, 0, 0, 0, 0, 0, 1871, 0, 9315 0, 0, 1870, 0, 0, 0, 0, 0, 2243, 0, 9316 0, 0, 0, 0, 0, 1871, 0, 2187, 2188, 0, 9317 2221, 2222, 2223, 2232, 2233, 2234, 1870, 0, 0, 0, 9318 0, 0, 0, 0, 0, 0, 0, 0, 333, 0, 9319 2225, 2218, 0, 0, 0, 0, 0, 0, 2219, 0, 9320 0, 2190, 0, 0, 0, 0, 0, 0, 0, 0, 9321 0, 0, 0, 2238, 0, 0, 0, 0, 0, 0, 9322 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9323 0, 0, 0, 0, 2244, 0, 0, 0, 0, 0, 9324 0, 0, 0, 333, 0, 2189, 0, 2228, 0, 0, 9325 0, 0, 0, 0, 0, 0, 2209, 0, 0, 0, 9326 2201, 2202, 2208, 2231, 2207, 2203, 2206, 2200, 2198, 2199, 9327 2191, 2192, 2193, 2194, 2196, 2197, 0, 0, 0, 0, 9328 0, 6491, 0, 0, 333, 0, 0, 0, 0, 0, 9329 0, 0, 0, 0, 0, 333, 0, 0, 0, 0, 9330 0, 0, 0, 0, 0, 0, 1871, 333, 0, 0, 9331 0, 333, 0, 333, 0, 0, 0, 0, 0, 0, 9332 333, 0, 0, 0, 0, 0, 0, 0, 0, 1533, 9333 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9334 0, 0, 0, 1533, 0, 0, 0, 0, 0, 0, 9335 0, 0, 0, 2212, 2213, 2214, 2215, 0, 0, 0, 9336 1870, 0, 0, 2195, 0, 0, 0, 0, 0, 0, 9337 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9338 0, 0, 1735, 1735, 0, 0, 0, 0, 0, 0, 9339 0, 0, 0, 1736, 0, 0, 0, 0, 1736, 1736, 9340 1736, 1736, 0, 0, 0, 0, 0, 0, 1871, 0, 9341 0, 2229, 0, 0, 0, 2239, 0, 0, 0, 0, 9342 0, 0, 0, 0, 2217, 2220, 0, 0, 0, 0, 9343 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9344 0, 0, 0, 0, 0, 0, 0, 2235, 0, 2236, 9345 0, 0, 0, 0, 0, 0, 2204, 2205, 0, 0, 9346 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9347 0, 0, 0, 0, 0, 0, 2227, 0, 0, 0, 9348 0, 0, 0, 0, 0, 1735, 0, 0, 0, 0, 9349 0, 2210, 0, 0, 0, 0, 0, 0, 0, 0, 9350 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9351 0, 0, 0, 0, 0, 0, 1533, 0, 0, 0, 9352 0, 0, 0, 0, 1533, 0, 0, 0, 0, 0, 9353 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9354 0, 0, 871, 2237, 0, 0, 0, 0, 0, 0, 9355 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9356 0, 0, 0, 0, 2226, 0, 0, 0, 0, 0, 9357 0, 0, 0, 0, 0, 2241, 0, 0, 0, 0, 9358 0, 0, 0, 0, 0, 0, 0, 0, 1736, 1736, 9359 0, 333, 0, 0, 0, 0, 1736, 0, 0, 1736, 9360 1736, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9361 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9362 0, 0, 0, 1736, 0, 0, 0, 0, 0, 1870, 9363 0, 0, 0, 0, 0, 0, 0, 0, 2216, 0, 9364 0, 1735, 0, 0, 0, 0, 0, 0, 0, 1736, 9365 871, 0, 871, 0, 0, 0, 0, 0, 0, 0, 9366 0, 0, 1737, 0, 0, 0, 2211, 0, 0, 0, 9367 0, 0, 1737, 0, 333, 0, 0, 0, 0, 0, 9368 0, 0, 0, 0, 335, 0, 0, 0, 0, 0, 9369 333, 0, 0, 333, 0, 0, 335, 0, 0, 0, 9370 2230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9371 0, 1737, 1736, 0, 0, 0, 0, 0, 0, 0, 9372 0, 0, 0, 0, 0, 0, 0, 0, 333, 0, 9373 0, 0, 0, 0, 0, 1737, 0, 0, 1736, 0, 9374 2243, 0, 0, 1736, 1736, 1736, 0, 0, 0, 0, 9375 0, 0, 335, 0, 0, 0, 335, 335, 0, 0, 9376 0, 0, 0, 0, 1735, 0, 0, 0, 0, 0, 9377 0, 0, 0, 0, 0, 0, 1735, 0, 1735, 0, 9378 0, 0, 1736, 1735, 0, 0, 0, 0, 0, 0, 9379 0, 0, 0, 0, 0, 1871, 0, 0, 871, 0, 9380 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9381 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9382 0, 0, 0, 0, 0, 0, 333, 0, 0, 2228, 9383 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9384 333, 0, 2201, 2202, 2208, 2231, 2207, 2203, 0, 2200, 9385 2198, 2199, 2191, 2192, 2193, 2194, 2196, 2197, 0, 0, 9386 0, 0, 0, 6379, 0, 0, 0, 0, 0, 0, 9387 0, 0, 0, 335, 0, 0, 0, 0, 1737, 0, 9388 335, 1737, 335, 0, 0, 0, 0, 0, 0, 0, 9389 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9390 335, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9391 0, 0, 0, 0, 1871, 1871, 0, 0, 0, 0, 9392 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9393 0, 0, 0, 0, 0, 0, 1871, 0, 0, 0, 9394 0, 0, 335, 335, 1736, 1736, 335, 0, 0, 0, 9395 0, 0, 0, 335, 0, 0, 0, 0, 0, 0, 9396 0, 0, 0, 0, 0, 0, 0, 335, 1871, 0, 9397 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9398 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9399 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9400 0, 0, 0, 0, 1736, 1736, 0, 0, 0, 0, 9401 0, 0, 0, 0, 0, 0, 1871, 0, 0, 0, 9402 1737, 333, 333, 0, 0, 0, 0, 0, 0, 0, 9403 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9404 0, 0, 0, 0, 0, 0, 0, 0, 0, 333, 9405 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9406 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9407 0, 0, 0, 1871, 0, 0, 0, 0, 0, 0, 9408 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9409 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9410 0, 0, 0, 0, 1871, 0, 0, 0, 0, 0, 9411 0, 0, 0, 335, 0, 0, 1870, 1737, 0, 1737, 9412 0, 0, 0, 1737, 0, 0, 0, 0, 335, 0, 9413 1737, 1737, 0, 0, 0, 0, 0, 1737, 1737, 0, 9414 0, 0, 0, 335, 333, 0, 0, 0, 0, 0, 9415 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9416 0, 0, 0, 1736, 1736, 0, 0, 335, 0, 0, 9417 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9418 0, 0, 0, 0, 0, 0, 0, 871, 0, 871, 9419 0, 0, 0, 0, 0, 0, 0, 0, 0, 1737, 9420 0, 0, 333, 0, 0, 0, 0, 0, 0, 0, 9421 0, 1737, 0, 1737, 0, 0, 0, 0, 0, 0, 9422 0, 0, 0, 0, 0, 1871, 0, 0, 0, 0, 9423 1736, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9424 0, 0, 0, 0, 0, 0, 335, 0, 0, 0, 9425 0, 0, 0, 0, 0, 0, 0, 1736, 1736, 1736, 9426 1736, 1736, 0, 1736, 1736, 1736, 0, 0, 0, 0, 9427 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9428 1737, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9429 0, 0, 0, 0, 0, 0, 1871, 1737, 0, 0, 9430 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9431 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9432 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9433 0, 0, 0, 2187, 2188, 0, 2221, 2222, 2223, 2232, 9434 2233, 2234, 0, 0, 0, 0, 1736, 0, 1736, 1736, 9435 0, 0, 0, 0, 0, 0, 2225, 2218, 0, 1736, 9436 0, 0, 0, 0, 2219, 0, 0, 2190, 0, 0, 9437 0, 871, 0, 0, 0, 0, 0, 0, 0, 2238, 9438 0, 0, 0, 0, 0, 0, 871, 0, 0, 0, 9439 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9440 2244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9441 0, 2189, 0, 0, 333, 0, 0, 0, 0, 0, 9442 0, 0, 2209, 0, 0, 1871, 0, 0, 0, 0, 9443 0, 0, 2206, 0, 0, 0, 0, 0, 1737, 0, 9444 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9445 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9446 0, 0, 0, 0, 0, 0, 0, 871, 0, 871, 9447 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9448 0, 0, 0, 0, 0, 0, 335, 0, 871, 0, 9449 333, 871, 1737, 0, 0, 0, 0, 0, 0, 0, 9450 0, 0, 0, 0, 1871, 0, 0, 0, 0, 0, 9451 1736, 0, 0, 1736, 1736, 0, 0, 0, 0, 2212, 9452 2213, 2214, 2215, 0, 335, 1737, 0, 0, 0, 2195, 9453 1737, 1737, 1737, 1737, 0, 0, 0, 0, 0, 0, 9454 1737, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9455 0, 0, 0, 0, 0, 1736, 0, 0, 0, 0, 9456 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9457 0, 0, 0, 0, 0, 0, 0, 2229, 0, 0, 9458 0, 2239, 0, 0, 0, 0, 333, 0, 0, 0, 9459 2217, 2220, 0, 0, 0, 0, 0, 0, 0, 0, 9460 0, 0, 0, 0, 0, 0, 0, 1871, 0, 0, 9461 1736, 0, 0, 2235, 0, 2236, 0, 0, 0, 0, 9462 0, 0, 2204, 2205, 0, 0, 0, 0, 0, 0, 9463 0, 0, 0, 0, 0, 1736, 0, 0, 0, 0, 9464 0, 0, 2227, 0, 0, 0, 0, 0, 0, 0, 9465 0, 0, 0, 0, 0, 0, 333, 2210, 0, 0, 9466 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9467 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9468 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9469 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9470 0, 0, 0, 0, 0, 0, 335, 0, 0, 2237, 9471 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9472 1737, 1737, 0, 0, 0, 0, 0, 0, 1737, 0, 9473 2226, 1737, 1737, 0, 1870, 0, 333, 0, 0, 0, 9474 0, 2241, 0, 0, 1870, 0, 0, 0, 0, 0, 9475 0, 0, 0, 0, 0, 1737, 0, 0, 0, 0, 9476 0, 335, 0, 0, 0, 0, 0, 0, 0, 0, 9477 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9478 0, 1737, 0, 1870, 0, 0, 0, 0, 0, 0, 9479 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9480 0, 0, 335, 0, 2216, 0, 0, 1736, 0, 0, 9481 0, 0, 0, 335, 0, 0, 0, 0, 0, 0, 9482 0, 0, 0, 0, 0, 335, 0, 0, 0, 335, 9483 0, 335, 2211, 0, 0, 0, 0, 0, 335, 0, 9484 0, 0, 0, 0, 1737, 0, 0, 0, 0, 0, 9485 0, 871, 0, 871, 0, 0, 0, 0, 0, 0, 9486 0, 0, 0, 0, 0, 0, 2230, 0, 0, 0, 9487 1737, 0, 0, 0, 0, 1737, 1737, 1737, 0, 0, 9488 0, 1736, 0, 0, 0, 0, 0, 0, 0, 0, 9489 0, 0, 1736, 0, 0, 0, 0, 0, 0, 0, 9490 0, 0, 0, 0, 0, 0, 2243, 0, 0, 0, 9491 0, 0, 0, 0, 1737, 0, 0, 0, 0, 0, 9492 0, 0, 0, 0, 0, 0, 0, 1737, 0, 0, 9493 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9494 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9495 1870, 0, 0, 1870, 0, 0, 0, 0, 0, 0, 9496 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9497 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9498 0, 0, 0, 0, 0, 0, 0, 0, 1736, 0, 9499 0, 0, 0, 0, 0, 2228, 0, 0, 0, 0, 9500 0, 0, 0, 0, 0, 0, 0, 0, 2201, 2202, 9501 2208, 2231, 2207, 2203, 0, 2200, 2198, 2199, 2191, 2192, 9502 2193, 2194, 2196, 2197, 0, 0, 0, 0, 0, 6317, 9503 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9504 0, 0, 0, 0, 0, 0, 1737, 1737, 0, 0, 9505 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9506 0, 0, 0, 0, 0, 0, 0, 0, 1737, 0, 9507 0, 0, 0, 0, 0, 0, 1737, 1737, 0, 0, 9508 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9509 0, 0, 1870, 0, 0, 0, 0, 0, 0, 0, 9510 1737, 0, 0, 0, 0, 0, 0, 0, 0, 335, 9511 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9512 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9513 0, 0, 0, 0, 0, 0, 1737, 1737, 0, 0, 9514 0, 0, 0, 0, 0, 0, 0, 0, 1737, 0, 9515 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9516 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9517 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9518 0, 0, 0, 0, 0, 0, 0, 0, 0, 1735, 9519 0, 1735, 335, 0, 0, 1870, 0, 0, 0, 0, 9520 1138, 0, 1735, 1735, 0, 1737, 0, 0, 335, 0, 9521 0, 335, 0, 0, 2187, 2188, 0, 2221, 2222, 2223, 9522 2232, 2233, 2234, 0, 0, 0, 0, 0, 0, 0, 9523 0, 0, 0, 0, 0, 0, 1737, 2225, 2218, 0, 9524 0, 0, 0, 0, 0, 2219, 335, 0, 2190, 0, 9525 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9526 2238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9527 0, 1735, 0, 0, 0, 0, 0, 0, 0, 0, 9528 0, 2244, 0, 1735, 0, 1735, 0, 0, 0, 0, 9529 0, 0, 2189, 0, 0, 1737, 1737, 0, 0, 0, 9530 0, 0, 0, 2209, 1737, 0, 0, 0, 0, 0, 9531 0, 0, 0, 2206, 0, 0, 0, 0, 0, 0, 9532 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9533 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9534 0, 0, 0, 0, 335, 0, 0, 0, 0, 0, 9535 0, 0, 1870, 0, 0, 0, 0, 1737, 335, 0, 9536 0, 0, 1737, 0, 0, 0, 0, 0, 0, 1870, 9537 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9538 0, 0, 0, 0, 0, 0, 0, 0, 0, 1737, 9539 1737, 1737, 1737, 1737, 0, 1737, 1737, 1737, 0, 0, 9540 2212, 2213, 2214, 2215, 0, 0, 0, 0, 0, 0, 9541 2195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9542 0, 0, 0, 0, 0, 0, 0, 0, 1737, 0, 9543 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9544 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9545 0, 0, 0, 0, 0, 0, 0, 0, 2229, 0, 9546 0, 0, 2239, 0, 0, 0, 0, 0, 0, 0, 9547 0, 2217, 2220, 0, 0, 0, 0, 0, 1737, 0, 9548 1737, 1737, 0, 0, 0, 0, 0, 0, 0, 0, 9549 0, 1737, 0, 0, 2235, 0, 2236, 0, 0, 0, 9550 0, 0, 0, 2204, 2205, 0, 0, 0, 0, 0, 9551 1870, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9552 0, 0, 0, 2227, 0, 0, 0, 0, 0, 0, 9553 0, 0, 0, 0, 0, 0, 0, 0, 2210, 335, 9554 335, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9555 0, 0, 0, 0, 0, 0, 0, 1737, 2419, 0, 9556 0, 0, 0, 0, 0, 0, 0, 335, 0, 0, 9557 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9558 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9559 2237, 0, 0, 0, 0, 0, 0, 1735, 0, 0, 9560 0, 0, 1735, 1735, 1735, 1735, 0, 0, 0, 0, 9561 0, 2226, 1870, 0, 0, 0, 0, 0, 0, 0, 9562 0, 0, 2241, 0, 0, 0, 0, 0, 0, 0, 9563 0, 0, 0, 0, 0, 0, 1737, 0, 0, 0, 9564 0, 0, 1737, 0, 0, 1737, 1737, 0, 0, 0, 9565 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9566 0, 0, 335, 0, 0, 0, 0, 0, 0, 0, 9567 2187, 2188, 0, 2221, 2222, 2223, 2232, 2233, 2234, 0, 9568 0, 0, 0, 0, 0, 2216, 0, 1737, 0, 0, 9569 0, 0, 0, 2225, 2218, 0, 0, 0, 0, 0, 9570 0, 2219, 0, 0, 2190, 0, 0, 0, 0, 0, 9571 0, 0, 0, 2211, 0, 0, 2238, 0, 0, 0, 9572 335, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9573 0, 0, 0, 0, 0, 0, 0, 2244, 0, 1737, 9574 0, 0, 1737, 0, 0, 0, 0, 2230, 2189, 0, 9575 0, 0, 0, 0, 0, 0, 0, 0, 0, 2209, 9576 0, 0, 0, 0, 0, 0, 0, 1737, 0, 2206, 9577 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9578 0, 0, 0, 0, 0, 0, 0, 2243, 0, 0, 9579 0, 0, 1735, 1735, 0, 0, 0, 0, 0, 0, 9580 1735, 0, 0, 1735, 1735, 0, 0, 0, 0, 0, 9581 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9582 0, 0, 0, 0, 0, 0, 0, 1735, 0, 0, 9583 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9584 0, 2187, 2188, 0, 2221, 2222, 2223, 2232, 2233, 2234, 9585 0, 0, 0, 1735, 0, 0, 2212, 2213, 2214, 2215, 9586 0, 0, 0, 0, 2225, 2218, 2195, 0, 0, 0, 9587 0, 0, 2219, 0, 0, 2190, 2228, 0, 0, 0, 9588 0, 0, 0, 0, 0, 0, 0, 2238, 0, 2201, 9589 2202, 2208, 2231, 2207, 2203, 0, 2200, 2198, 2199, 2191, 9590 2192, 2193, 2194, 2196, 2197, 0, 0, 0, 2244, 0, 9591 6316, 0, 0, 0, 2229, 0, 1735, 0, 2239, 2189, 9592 0, 0, 0, 0, 0, 0, 0, 2217, 2220, 0, 9593 2209, 0, 335, 0, 0, 0, 0, 0, 0, 1737, 9594 2206, 0, 1735, 0, 0, 0, 0, 1735, 1735, 1735, 9595 2235, 0, 2236, 0, 0, 0, 0, 0, 0, 2204, 9596 2205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9597 0, 0, 0, 0, 0, 0, 0, 0, 0, 2227, 9598 0, 0, 0, 0, 0, 0, 1735, 0, 0, 0, 9599 0, 0, 0, 0, 2210, 0, 0, 0, 0, 1870, 9600 0, 0, 0, 0, 0, 0, 0, 0, 335, 0, 9601 0, 0, 0, 1737, 0, 0, 0, 0, 0, 0, 9602 0, 0, 0, 0, 1737, 0, 0, 2212, 2213, 2214, 9603 2215, 0, 0, 0, 0, 0, 0, 2195, 0, 0, 9604 0, 0, 0, 0, 0, 0, 2237, 0, 0, 0, 9605 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9606 0, 0, 0, 0, 0, 0, 0, 2226, 0, 0, 9607 0, 0, 0, 0, 0, 0, 0, 0, 2241, 0, 9608 0, 0, 0, 0, 0, 2229, 0, 0, 0, 2239, 9609 0, 0, 0, 0, 0, 0, 0, 0, 2217, 2220, 9610 0, 0, 0, 0, 335, 0, 0, 0, 0, 0, 9611 0, 0, 0, 0, 0, 0, 0, 0, 1870, 1870, 9612 1737, 2235, 0, 2236, 0, 0, 0, 0, 0, 0, 9613 2204, 2205, 0, 0, 0, 0, 0, 0, 0, 0, 9614 1870, 2216, 0, 0, 0, 0, 0, 0, 1735, 1735, 9615 2227, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9616 0, 0, 0, 0, 0, 2210, 0, 0, 0, 2211, 9617 0, 0, 1870, 0, 335, 0, 0, 0, 0, 0, 9618 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9619 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9620 0, 0, 0, 2230, 0, 0, 0, 0, 1735, 1735, 9621 0, 0, 0, 0, 0, 0, 0, 2237, 0, 0, 9622 1870, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9623 0, 0, 0, 0, 0, 0, 0, 0, 2226, 0, 9624 0, 0, 0, 2243, 0, 0, 0, 0, 0, 2241, 9625 0, 0, 0, 0, 335, 0, 0, 0, 0, 0, 9626 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9627 0, 0, 0, 0, 0, 0, 0, 1870, 0, 0, 9628 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9629 0, 0, 0, 0, 0, 0, 0, 2187, 2188, 0, 9630 2221, 2222, 2223, 2232, 2233, 2234, 0, 0, 1870, 0, 9631 0, 0, 2216, 0, 0, 0, 0, 0, 0, 0, 9632 2225, 2218, 0, 0, 0, 0, 0, 0, 2219, 0, 9633 0, 2190, 2228, 0, 0, 0, 0, 0, 0, 0, 9634 2211, 0, 0, 2238, 0, 2201, 2202, 2208, 2231, 2207, 9635 2203, 0, 2200, 2198, 2199, 2191, 2192, 2193, 2194, 2196, 9636 2197, 0, 0, 0, 2244, 0, 6063, 1735, 1735, 0, 9637 0, 0, 0, 0, 2230, 2189, 0, 0, 0, 0, 9638 0, 0, 0, 0, 0, 0, 2209, 0, 0, 0, 9639 0, 0, 0, 0, 0, 0, 2206, 0, 0, 0, 9640 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9641 0, 0, 0, 0, 2243, 0, 0, 0, 0, 0, 9642 0, 0, 0, 0, 0, 0, 0, 0, 0, 1870, 9643 0, 0, 0, 0, 1735, 0, 0, 0, 0, 0, 9644 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9645 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9646 0, 1735, 1735, 1735, 1735, 1735, 0, 1735, 1735, 1735, 9647 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9648 0, 0, 0, 2212, 2213, 2214, 2215, 0, 0, 0, 9649 0, 0, 0, 2195, 0, 0, 0, 0, 0, 0, 9650 1870, 0, 0, 2228, 0, 0, 0, 0, 0, 0, 9651 0, 0, 0, 0, 0, 0, 2201, 2202, 2208, 2231, 9652 2207, 2203, 0, 2200, 2198, 2199, 2191, 2192, 2193, 2194, 9653 2196, 2197, 0, 0, 0, 0, 0, 5852, 0, 0, 9654 0, 2229, 0, 0, 0, 2239, 0, 0, 0, 0, 9655 1735, 0, 1735, 1735, 2217, 2220, 0, 0, 0, 0, 9656 0, 0, 0, 1735, 0, 0, 0, 0, 0, 0, 9657 0, 0, 0, 0, 0, 0, 0, 2235, 0, 2236, 9658 0, 0, 0, 0, 0, 0, 2204, 2205, 0, 0, 9659 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9660 0, 0, 0, 0, 0, 0, 2227, 0, 0, 0, 9661 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9662 0, 2210, 0, 0, 0, 0, 0, 0, 0, 1870, 9663 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9664 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9665 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9666 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9667 0, 0, 0, 2237, 0, 0, 0, 0, 0, 0, 9668 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9669 0, 0, 0, 0, 2226, 0, 0, 0, 0, 0, 9670 0, 0, 0, 0, 0, 2241, 0, 0, 1870, 0, 9671 0, 0, 0, 0, 1735, 0, 0, 1735, 1735, 0, 9672 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9673 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9674 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9675 0, 0, 0, 0, 0, 0, 0, 0, 0, 1735, 9676 0, 0, 0, 0, 0, 0, 0, 0, 2216, 0, 9677 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9678 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9679 0, 0, 0, 0, 0, 0, 2211, 0, 0, 0, 9680 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9681 0, 1870, 0, 0, 1735, 0, 0, 0, 0, 0, 9682 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9683 2230, 0, 0, 0, 0, 0, 0, 0, 0, 1735, 9684 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9685 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9686 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9687 2243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9688 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9689 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9690 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9691 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9692 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9693 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9694 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9695 0, 0, 0, 0, 0, 0, 0, 0, 0, 2228, 9696 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9697 0, 0, 2201, 2202, 2208, 2231, 2207, 2203, 0, 2200, 9698 2198, 2199, 2191, 2192, 2193, 2194, 2196, 2197, 0, 0, 9699 0, 0, 0, 5719, 0, 0, 0, 0, 0, 0, 9700 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9701 0, 1735, 0, 0, 0, 0, 0, 0, 0, 0, 9702 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9703 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9704 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9705 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9706 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9707 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9708 0, 0, 0, 0, 0, 1735, 1868, 0, 0, 0, 9709 0, 0, 0, 0, 0, 0, 1735, 0, 0, 0, 9710 0, 0, 0, 345, 346, 348, 347, 349, 350, 351, 9711 352, 1873, 353, 354, 1874, 1875, 1876, 0, 1877, 805, 9712 1878, 1879, 1880, 356, 0, 355, 1881, 357, 358, 359, 9713 874, 360, 361, 362, 363, 364, 365, 366, 367, 806, 9714 807, 0, 368, 808, 369, 809, 1882, 810, 370, 371, 9715 372, 373, 374, 375, 376, 377, 378, 379, 1883, 1884, 9716 0, 380, 811, 812, 813, 1885, 381, 382, 383, 384, 9717 814, 1886, 875, 1887, 385, 386, 387, 388, 389, 390, 9718 391, 392, 0, 1888, 394, 395, 396, 393, 397, 398, 9719 1889, 399, 1735, 400, 401, 402, 403, 404, 405, 406, 9720 1890, 407, 408, 409, 876, 410, 411, 412, 1891, 1892, 9721 1894, 1893, 1895, 1896, 1897, 413, 414, 415, 416, 417, 9722 0, 418, 420, 421, 815, 422, 816, 1898, 425, 427, 9723 419, 423, 1899, 426, 424, 428, 429, 1900, 430, 431, 9724 432, 433, 1901, 1902, 434, 435, 436, 1903, 437, 438, 9725 440, 439, 1904, 441, 442, 443, 1905, 444, 445, 817, 9726 446, 447, 448, 450, 452, 449, 451, 453, 454, 455, 9727 456, 457, 818, 819, 458, 459, 1906, 340, 1907, 0, 9728 0, 0, 0, 460, 461, 462, 820, 0, 0, 0, 9729 463, 1908, 465, 469, 466, 467, 468, 470, 1909, 464, 9730 471, 472, 1910, 877, 473, 474, 475, 821, 822, 476, 9731 477, 478, 479, 480, 481, 482, 483, 484, 1911, 485, 9732 486, 823, 1912, 824, 487, 1913, 488, 489, 490, 491, 9733 492, 493, 494, 825, 826, 827, 595, 879, 495, 496, 9734 497, 1914, 498, 499, 500, 501, 502, 503, 504, 0, 9735 0, 0, 505, 506, 507, 508, 1915, 342, 341, 343, 9736 878, 828, 509, 596, 510, 829, 830, 1916, 831, 1917, 9737 511, 512, 515, 880, 832, 881, 514, 516, 517, 882, 9738 518, 0, 0, 0, 519, 520, 521, 522, 523, 524, 9739 525, 1918, 526, 528, 527, 1919, 530, 833, 529, 883, 9740 531, 532, 884, 1920, 533, 534, 535, 536, 537, 538, 9741 541, 1921, 1922, 539, 540, 542, 543, 0, 544, 545, 9742 547, 550, 546, 548, 549, 551, 552, 565, 566, 553, 9743 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 9744 564, 568, 0, 567, 885, 569, 570, 571, 572, 573, 9745 581, 583, 584, 579, 580, 582, 585, 586, 588, 589, 9746 576, 577, 578, 886, 587, 574, 1923, 575, 344, 887, 9747 590, 591, 592, 593, 1924, 834, 594, 835, 597, 598, 9748 1925, 0, 599, 0, 600, 1926, 1927, 602, 603, 604, 9749 1928, 1929, 605, 606, 836, 888, 607, 889, 837, 608, 9750 609, 601, 610, 611, 612, 613, 614, 615, 616, 617, 9751 618, 619, 1930, 620, 621, 838, 622, 623, 624, 839, 9752 625, 626, 627, 840, 628, 841, 629, 630, 1931, 631, 9753 632, 633, 0, 634, 635, 636, 637, 638, 639, 640, 9754 641, 642, 643, 842, 644, 645, 647, 646, 648, 649, 9755 1932, 650, 0, 651, 652, 653, 0, 0, 0, 0, 9756 0, 654, 655, 657, 0, 658, 659, 660, 661, 662, 9757 656, 663, 664, 665, 666, 667, 668, 669, 1933, 671, 9758 672, 670, 673, 674, 890, 675, 676, 677, 678, 679, 9759 843, 680, 0, 681, 682, 690, 691, 692, 683, 684, 9760 686, 693, 685, 694, 695, 696, 697, 699, 698, 1934, 9761 701, 702, 700, 703, 704, 705, 706, 1935, 707, 844, 9762 708, 687, 688, 709, 710, 711, 891, 712, 713, 714, 9763 715, 716, 717, 718, 719, 720, 845, 0, 721, 1936, 9764 722, 723, 724, 725, 726, 727, 729, 689, 730, 731, 9765 732, 737, 738, 846, 733, 734, 735, 736, 847, 740, 9766 741, 742, 743, 1937, 744, 745, 0, 739, 728, 1938, 9767 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 9768 1939, 756, 848, 849, 850, 851, 1940, 768, 1941, 757, 9769 759, 760, 761, 762, 852, 763, 853, 1942, 764, 765, 9770 766, 767, 758, 769, 770, 1943, 1944, 771, 772, 773, 9771 774, 776, 778, 779, 780, 775, 777, 781, 1945, 782, 9772 1946, 0, 783, 784, 785, 854, 855, 856, 1947, 787, 9773 788, 786, 789, 790, 793, 791, 792, 857, 796, 513, 9774 797, 798, 799, 794, 795, 1948, 1949, 1950, 1951, 800, 9775 801, 858, 802, 803, 804, 0, 0, 0, 0, 0, 9776 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9777 0, 0, 0, 0, 0, 0, 0, 0, 0, 1868, 9778 0, 0, 0, 0, 0, 0, 3913, 0, 0, 0, 9779 0, 0, 0, 0, 0, 3914, 345, 346, 348, 347, 9780 349, 350, 351, 352, 1873, 353, 354, 1874, 1875, 1876, 9781 0, 1877, 805, 1878, 1879, 1880, 356, 0, 355, 1881, 9782 357, 358, 359, 874, 360, 361, 362, 363, 364, 365, 9783 366, 367, 806, 807, 0, 368, 808, 369, 809, 1882, 9784 810, 370, 371, 372, 373, 374, 375, 376, 377, 378, 9785 379, 1883, 1884, 0, 380, 811, 812, 813, 1885, 381, 9786 382, 383, 384, 814, 1886, 875, 1887, 385, 386, 387, 9787 388, 389, 390, 391, 392, 0, 1888, 394, 395, 396, 9788 393, 397, 398, 1889, 399, 0, 400, 401, 402, 403, 9789 404, 405, 406, 1890, 407, 408, 409, 876, 410, 411, 9790 412, 1891, 1892, 1894, 1893, 1895, 1896, 1897, 413, 414, 9791 415, 416, 417, 0, 418, 420, 421, 815, 422, 816, 9792 1898, 425, 427, 419, 423, 1899, 426, 424, 428, 429, 9793 1900, 430, 431, 432, 433, 1901, 1902, 434, 435, 436, 9794 1903, 437, 438, 440, 439, 1904, 441, 442, 443, 1905, 9795 444, 445, 817, 446, 447, 448, 450, 452, 449, 451, 9796 453, 454, 455, 456, 457, 818, 819, 458, 459, 1906, 9797 340, 1907, 0, 0, 0, 0, 460, 461, 462, 820, 9798 0, 0, 0, 463, 1908, 465, 469, 466, 467, 468, 9799 470, 1909, 464, 471, 472, 1910, 877, 473, 474, 475, 9800 821, 822, 476, 477, 478, 479, 480, 481, 482, 483, 9801 484, 1911, 485, 486, 823, 1912, 824, 487, 1913, 488, 9802 489, 490, 491, 492, 493, 494, 825, 826, 827, 595, 9803 879, 495, 496, 497, 1914, 498, 499, 500, 501, 502, 9804 503, 504, 0, 0, 0, 505, 506, 507, 508, 1915, 9805 342, 341, 343, 878, 828, 509, 596, 510, 829, 830, 9806 1916, 831, 1917, 511, 512, 515, 880, 832, 881, 514, 9807 516, 517, 882, 518, 0, 0, 0, 519, 520, 521, 9808 522, 523, 524, 525, 1918, 526, 528, 527, 1919, 530, 9809 833, 529, 883, 531, 532, 884, 1920, 533, 534, 535, 9810 536, 537, 538, 541, 1921, 1922, 539, 540, 542, 543, 9811 0, 544, 545, 547, 550, 546, 548, 549, 551, 552, 9812 565, 566, 553, 554, 555, 556, 557, 558, 559, 560, 9813 561, 562, 563, 564, 568, 0, 567, 885, 569, 570, 9814 571, 572, 573, 581, 583, 584, 579, 580, 582, 585, 9815 586, 588, 589, 576, 577, 578, 886, 587, 574, 1923, 9816 575, 344, 887, 590, 591, 592, 593, 1924, 834, 594, 9817 835, 597, 598, 1925, 0, 599, 0, 600, 1926, 1927, 9818 602, 603, 604, 1928, 1929, 605, 606, 836, 888, 607, 9819 889, 837, 608, 609, 601, 610, 611, 612, 613, 614, 9820 615, 616, 617, 618, 619, 1930, 620, 621, 838, 622, 9821 623, 624, 839, 625, 626, 627, 840, 628, 841, 629, 9822 630, 1931, 631, 632, 633, 0, 634, 635, 636, 637, 9823 638, 639, 640, 641, 642, 643, 842, 644, 645, 647, 9824 646, 648, 649, 1932, 650, 0, 651, 652, 653, 0, 9825 0, 0, 0, 0, 654, 655, 657, 0, 658, 659, 9826 660, 661, 662, 656, 663, 664, 665, 666, 667, 668, 9827 669, 1933, 671, 672, 670, 673, 674, 890, 675, 676, 9828 677, 678, 679, 843, 680, 0, 681, 682, 690, 691, 9829 692, 683, 684, 686, 693, 685, 694, 695, 696, 697, 9830 699, 698, 1934, 701, 702, 700, 703, 704, 705, 706, 9831 1935, 707, 844, 708, 687, 688, 709, 710, 711, 891, 9832 712, 713, 714, 715, 716, 717, 718, 719, 720, 845, 9833 0, 721, 1936, 722, 723, 724, 725, 726, 727, 729, 9834 689, 730, 731, 732, 737, 738, 846, 733, 734, 735, 9835 736, 847, 740, 741, 742, 743, 1937, 744, 745, 0, 9836 739, 728, 1938, 746, 747, 748, 749, 750, 751, 752, 9837 753, 754, 755, 1939, 756, 848, 849, 850, 851, 1940, 9838 768, 1941, 757, 759, 760, 761, 762, 852, 763, 853, 9839 1942, 764, 765, 766, 767, 758, 769, 770, 1943, 1944, 9840 771, 772, 773, 774, 776, 778, 779, 780, 775, 777, 9841 781, 1945, 782, 1946, 0, 783, 784, 785, 854, 855, 9842 856, 1947, 787, 788, 786, 789, 790, 793, 791, 792, 9843 857, 796, 513, 797, 798, 799, 794, 795, 1948, 1949, 9844 1950, 1951, 800, 801, 858, 802, 803, 804, 0, 0, 9845 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9846 0, 0, 0, 0, 0, 0, 0, 0, 0, 3325, 9847 0, 0, 0, 5227, 0, 0, 2187, 2188, 0, 2221, 9848 2222, 2223, 2232, 2233, 2234, 5229, 3327, 3328, 3329, 3330, 9849 3331, 3332, 3333, 3334, 3335, 3336, 3337, 3338, 3339, 3314, 9850 2218, 3341, 3340, 0, 3322, 3342, 3345, 2219, 3343, 3344, 9851 3313, 3346, 3347, 3348, 3349, 3350, 3351, 3352, 3353, 3354, 9852 3355, 3356, 3320, 3357, 0, 3358, 3359, 3363, 3360, 3361, 9853 3362, 3364, 3365, 3366, 3367, 3368, 3369, 3370, 3371, 3372, 9854 3373, 3374, 3375, 2244, 3376, 0, 0, 3377, 3378, 3379, 9855 3380, 3381, 3382, 3383, 2189, 3384, 3385, 3386, 3387, 3388, 9856 3389, 3390, 3391, 3392, 3393, 2209, 3394, 3395, 3396, 3397, 9857 3398, 3399, 3400, 3401, 3402, 2206, 3403, 3404, 3405, 3406, 9858 3407, 3408, 3409, 0, 3410, 3411, 3412, 3413, 3414, 3415, 9859 3416, 3417, 3418, 3420, 3419, 3421, 3422, 3423, 3424, 3425, 9860 3426, 3427, 3428, 0, 0, 3431, 3432, 3433, 3430, 3434, 9861 3436, 3437, 3440, 3429, 3435, 3438, 3439, 3441, 3442, 3443, 9862 3444, 3445, 3446, 3447, 3448, 3449, 3450, 3451, 3452, 3453, 9863 3454, 3455, 3456, 3457, 3458, 3459, 3460, 3461, 3462, 0, 9864 3463, 3464, 3467, 3465, 3466, 3468, 3470, 3472, 3469, 3471, 9865 3473, 3474, 3475, 3476, 3477, 3478, 3479, 3480, 3481, 3482, 9866 3483, 0, 2212, 2213, 2214, 2215, 3484, 0, 3485, 3486, 9867 0, 0, 2195, 3487, 0, 3488, 3492, 3489, 3490, 3491, 9868 3493, 3494, 3495, 3496, 3497, 0, 3498, 3499, 3500, 3501, 9869 3502, 3503, 3508, 3509, 3510, 3504, 3505, 3506, 3507, 3511, 9870 3512, 0, 3513, 3514, 3515, 0, 3516, 3517, 0, 3518, 9871 3519, 3520, 3521, 3522, 0, 3523, 3524, 3525, 3526, 3527, 9872 3317, 3528, 3529, 3530, 3321, 3531, 3534, 3532, 3533, 3535, 9873 3536, 3537, 0, 2217, 2220, 3538, 3539, 3543, 3545, 3544, 9874 3542, 3541, 3540, 3546, 3547, 3548, 3549, 3550, 3551, 3552, 9875 0, 3553, 0, 3554, 3555, 3557, 3319, 3558, 2236, 3559, 9876 3560, 3561, 3562, 3563, 0, 2204, 2205, 3564, 3565, 3566, 9877 3567, 3568, 3569, 3570, 3571, 3572, 3574, 3573, 3575, 3577, 9878 3578, 3576, 3579, 3580, 3581, 3316, 0, 3582, 3583, 3584, 9879 3585, 3586, 3587, 3588, 3589, 3590, 3591, 3592, 3593, 3594, 9880 2210, 3595, 3596, 3598, 3600, 3597, 3599, 0, 3601, 3602, 9881 0, 3603, 3604, 3605, 3606, 3607, 3608, 3609, 3610, 3611, 9882 3612, 3613, 3614, 3615, 3617, 0, 3616, 3618, 3619, 3620, 9883 3621, 3622, 3623, 3624, 3625, 3626, 3627, 3628, 3629, 3630, 9884 3631, 3635, 3636, 3645, 3646, 3644, 3632, 3633, 3634, 3637, 9885 3638, 3639, 2237, 3640, 3641, 3642, 3643, 3647, 3648, 3649, 9886 3650, 3651, 3652, 0, 0, 3653, 0, 3654, 0, 3655, 9887 3656, 3657, 3658, 3315, 0, 3659, 3660, 3661, 3662, 0, 9888 0, 3663, 3664, 3665, 3324, 3666, 3667, 3668, 3669, 3670, 9889 3671, 3672, 3673, 3674, 3675, 3676, 3677, 3678, 3679, 3680, 9890 3681, 3682, 3683, 3684, 3685, 3686, 3687, 3688, 0, 3689, 9891 3690, 3691, 3692, 3693, 3694, 0, 3695, 3696, 3697, 3698, 9892 3699, 3700, 3701, 3702, 3703, 3704, 3705, 3706, 3707, 3709, 9893 3708, 3710, 3711, 3712, 3713, 0, 3714, 3715, 3716, 0, 9894 0, 0, 0, 0, 3717, 3718, 3720, 2216, 3721, 3722, 9895 3723, 3724, 3725, 3719, 3726, 3727, 3728, 3729, 3730, 3731, 9896 3732, 0, 3734, 3735, 3733, 3736, 3737, 3738, 3739, 3740, 9897 3741, 3742, 3743, 3744, 3745, 2211, 3746, 3747, 3748, 3749, 9898 3750, 3751, 3752, 3756, 3753, 3755, 3754, 3757, 3758, 0, 9899 3759, 3760, 3761, 3762, 3763, 3764, 3765, 3766, 3767, 3768, 9900 3769, 3770, 3771, 3772, 3773, 3774, 3775, 3776, 3777, 3318, 9901 3778, 3779, 3780, 3781, 3782, 3783, 3784, 3786, 3785, 3787, 9902 0, 3788, 3789, 3790, 3791, 3792, 3793, 3794, 3795, 3797, 9903 3798, 3799, 3800, 3801, 3806, 3807, 3808, 3802, 3803, 3804, 9904 3805, 3810, 3811, 3812, 3814, 3813, 3815, 3816, 3817, 2243, 9905 3809, 3796, 3818, 3819, 3820, 3821, 3822, 3823, 3824, 3826, 9906 3825, 3827, 3828, 3829, 3831, 3832, 3835, 3833, 3834, 0, 9907 3830, 3838, 3836, 3839, 3840, 3841, 3842, 3843, 3844, 3845, 9908 3846, 3847, 3848, 3849, 3850, 3837, 3851, 3852, 0, 3853, 9909 3854, 3855, 3856, 3857, 3859, 3861, 3862, 3863, 3858, 3860, 9910 3864, 3865, 3866, 3867, 0, 3868, 3869, 3870, 3871, 3872, 9911 3873, 3874, 3875, 3876, 0, 3877, 3878, 3881, 3879, 3880, 9912 3882, 3885, 3556, 3886, 3887, 3888, 3883, 3884, 3889, 0, 9913 0, 0, 0, 0, 3890, 3891, 0, 3892, 2228, 0, 9914 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9915 1868, 2201, 2202, 2208, 2231, 2207, 2203, 0, 2200, 2198, 9916 2199, 2191, 2192, 2193, 2194, 2196, 2197, 345, 346, 348, 9917 347, 349, 350, 351, 352, 1873, 353, 354, 1874, 1875, 9918 1876, 0, 1877, 805, 1878, 1879, 1880, 356, 0, 355, 9919 1881, 357, 358, 359, 874, 360, 361, 362, 363, 364, 9920 365, 366, 367, 806, 807, 0, 368, 808, 369, 809, 9921 1882, 810, 370, 371, 372, 373, 374, 375, 376, 377, 9922 378, 379, 1883, 1884, 0, 380, 811, 812, 813, 1885, 9923 381, 382, 383, 384, 814, 1886, 875, 1887, 385, 386, 9924 387, 388, 389, 390, 391, 392, 0, 1888, 394, 395, 9925 396, 393, 397, 398, 1889, 399, 0, 400, 401, 402, 9926 403, 404, 405, 406, 1890, 407, 408, 409, 876, 410, 9927 411, 412, 1891, 1892, 1894, 1893, 1895, 1896, 1897, 413, 9928 414, 415, 416, 417, 0, 418, 420, 421, 815, 422, 9929 816, 1898, 425, 427, 419, 423, 1899, 426, 424, 428, 9930 429, 1900, 430, 431, 432, 433, 1901, 1902, 434, 435, 9931 436, 1903, 437, 438, 440, 439, 1904, 441, 442, 443, 9932 1905, 444, 445, 817, 446, 447, 448, 450, 452, 449, 9933 451, 453, 454, 455, 456, 457, 818, 819, 458, 459, 9934 1906, 340, 1907, 0, 0, 0, 0, 460, 461, 462, 9935 820, 0, 0, 0, 463, 1908, 465, 469, 466, 467, 9936 468, 470, 1909, 464, 471, 472, 1910, 877, 473, 474, 9937 475, 821, 822, 476, 477, 478, 479, 480, 481, 482, 9938 483, 484, 1911, 485, 486, 823, 1912, 824, 487, 1913, 9939 488, 489, 490, 491, 492, 493, 494, 825, 826, 827, 9940 595, 879, 495, 496, 497, 1914, 498, 499, 500, 501, 9941 502, 503, 504, 0, 0, 0, 505, 506, 507, 508, 9942 1915, 342, 341, 343, 878, 828, 509, 596, 510, 829, 9943 830, 1916, 831, 1917, 511, 512, 515, 880, 832, 881, 9944 514, 516, 517, 882, 518, 0, 0, 0, 519, 520, 9945 521, 522, 523, 524, 525, 1918, 526, 528, 527, 1919, 9946 530, 833, 529, 883, 531, 532, 884, 1920, 533, 534, 9947 535, 536, 537, 538, 541, 1921, 1922, 539, 540, 542, 9948 543, 0, 544, 545, 547, 550, 546, 548, 549, 551, 9949 552, 565, 566, 553, 554, 555, 556, 557, 558, 559, 9950 560, 561, 562, 563, 564, 568, 0, 567, 885, 569, 9951 570, 571, 572, 573, 581, 583, 584, 579, 580, 582, 9952 585, 586, 588, 589, 576, 577, 578, 886, 587, 574, 9953 1923, 575, 344, 887, 590, 591, 592, 593, 1924, 834, 9954 594, 835, 597, 598, 1925, 0, 599, 0, 600, 1926, 9955 1927, 602, 603, 604, 1928, 1929, 605, 606, 836, 888, 9956 607, 889, 837, 608, 609, 601, 610, 611, 612, 613, 9957 614, 615, 616, 617, 618, 619, 1930, 620, 621, 838, 9958 622, 623, 624, 839, 625, 626, 627, 840, 628, 841, 9959 629, 630, 1931, 631, 632, 633, 0, 634, 635, 636, 9960 637, 638, 639, 640, 641, 642, 643, 842, 644, 645, 9961 647, 646, 648, 649, 1932, 650, 0, 651, 652, 653, 9962 0, 0, 0, 0, 0, 654, 655, 657, 0, 658, 9963 659, 660, 661, 662, 656, 663, 664, 665, 666, 667, 9964 668, 669, 1933, 671, 672, 670, 673, 674, 890, 675, 9965 676, 677, 678, 679, 843, 680, 0, 681, 682, 690, 9966 691, 692, 683, 684, 686, 693, 685, 694, 695, 696, 9967 697, 699, 698, 1934, 701, 702, 700, 703, 704, 705, 9968 706, 1935, 707, 844, 708, 687, 688, 709, 710, 711, 9969 891, 712, 713, 714, 715, 716, 717, 718, 719, 720, 9970 845, 0, 721, 1936, 722, 723, 724, 725, 726, 727, 9971 729, 689, 730, 731, 732, 737, 738, 846, 733, 734, 9972 735, 736, 847, 740, 741, 742, 743, 1937, 744, 745, 9973 0, 739, 728, 1938, 746, 747, 748, 749, 750, 751, 9974 752, 753, 754, 755, 1939, 756, 848, 849, 850, 851, 9975 1940, 768, 1941, 757, 759, 760, 761, 762, 852, 763, 9976 853, 1942, 764, 765, 766, 767, 758, 769, 770, 1943, 9977 1944, 771, 772, 773, 774, 776, 778, 779, 780, 775, 9978 777, 781, 1945, 782, 1946, 0, 783, 784, 785, 854, 9979 855, 856, 1947, 787, 788, 786, 789, 790, 793, 791, 9980 792, 857, 796, 513, 797, 798, 799, 794, 795, 1948, 9981 1949, 1950, 1951, 800, 801, 858, 802, 803, 804, 1868, 9982 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9983 0, 0, 0, 0, 0, 0, 345, 346, 348, 347, 9984 349, 350, 351, 352, 1873, 353, 354, 1874, 1875, 1876, 9985 5743, 1877, 805, 1878, 1879, 1880, 356, 0, 355, 1881, 9986 357, 358, 359, 874, 360, 361, 362, 363, 364, 365, 9987 366, 367, 806, 807, 0, 368, 808, 369, 809, 1882, 9988 810, 370, 371, 372, 373, 374, 375, 376, 377, 378, 9989 379, 1883, 1884, 0, 380, 811, 812, 813, 1885, 381, 9990 382, 383, 384, 814, 1886, 875, 1887, 385, 386, 387, 9991 388, 389, 390, 391, 392, 0, 1888, 394, 395, 396, 9992 393, 397, 398, 1889, 399, 0, 400, 401, 402, 403, 9993 404, 405, 406, 1890, 407, 408, 409, 876, 410, 411, 9994 412, 1891, 1892, 1894, 1893, 1895, 1896, 1897, 413, 414, 9995 415, 416, 417, 0, 418, 420, 421, 815, 422, 816, 9996 1898, 425, 427, 419, 423, 1899, 426, 424, 428, 429, 9997 1900, 430, 431, 432, 433, 1901, 1902, 434, 435, 436, 9998 1903, 437, 438, 440, 439, 1904, 441, 442, 443, 1905, 9999 444, 445, 817, 446, 447, 448, 450, 452, 449, 451, 10000 453, 454, 455, 456, 457, 818, 819, 458, 459, 1906, 10001 340, 1907, 0, 0, 0, 0, 460, 461, 462, 820, 10002 0, 0, 0, 463, 1908, 465, 469, 466, 467, 468, 10003 470, 1909, 464, 471, 472, 1910, 877, 473, 474, 475, 10004 821, 822, 476, 477, 478, 479, 480, 481, 482, 483, 10005 484, 1911, 485, 486, 823, 1912, 824, 487, 1913, 488, 10006 489, 490, 491, 492, 493, 494, 825, 826, 827, 595, 10007 879, 495, 496, 497, 1914, 498, 499, 500, 501, 502, 10008 503, 504, 0, 0, 0, 505, 506, 507, 508, 1915, 10009 342, 341, 343, 878, 828, 509, 596, 510, 829, 830, 10010 1916, 831, 1917, 511, 512, 515, 880, 832, 881, 514, 10011 516, 517, 882, 518, 0, 0, 0, 519, 520, 521, 10012 522, 523, 524, 525, 1918, 526, 528, 527, 1919, 530, 10013 833, 529, 883, 531, 532, 884, 1920, 533, 534, 535, 10014 536, 537, 538, 541, 1921, 1922, 539, 540, 542, 543, 10015 0, 544, 545, 547, 550, 546, 548, 549, 551, 552, 10016 565, 566, 553, 554, 555, 556, 557, 558, 559, 560, 10017 561, 562, 563, 564, 568, 0, 567, 885, 569, 570, 10018 571, 572, 573, 581, 583, 584, 579, 580, 582, 585, 10019 586, 588, 589, 576, 577, 578, 886, 587, 574, 1923, 10020 575, 344, 887, 590, 591, 592, 593, 1924, 834, 594, 10021 835, 597, 598, 1925, 0, 599, 0, 600, 1926, 1927, 10022 602, 603, 604, 1928, 1929, 605, 606, 836, 888, 607, 10023 889, 837, 608, 609, 601, 610, 611, 612, 613, 614, 10024 615, 616, 617, 618, 619, 1930, 620, 621, 838, 622, 10025 623, 624, 839, 625, 626, 627, 840, 628, 841, 629, 10026 630, 1931, 631, 632, 633, 0, 634, 635, 636, 637, 10027 638, 639, 640, 641, 642, 643, 842, 644, 645, 647, 10028 646, 648, 649, 1932, 650, 0, 651, 652, 653, 0, 10029 0, 0, 0, 0, 654, 655, 657, 0, 658, 659, 10030 660, 661, 662, 656, 663, 664, 665, 666, 667, 668, 10031 669, 1933, 671, 672, 670, 673, 674, 890, 675, 676, 10032 677, 678, 679, 843, 680, 0, 681, 682, 690, 691, 10033 692, 683, 684, 686, 693, 685, 694, 695, 696, 697, 10034 699, 698, 1934, 701, 702, 700, 703, 704, 705, 706, 10035 1935, 707, 844, 708, 687, 688, 709, 710, 711, 891, 10036 712, 713, 714, 715, 716, 717, 718, 719, 720, 845, 10037 0, 721, 1936, 722, 723, 724, 725, 726, 727, 729, 10038 689, 730, 731, 732, 737, 738, 846, 733, 734, 735, 10039 736, 847, 740, 741, 742, 743, 1937, 744, 745, 0, 10040 739, 728, 1938, 746, 747, 748, 749, 750, 751, 752, 10041 753, 754, 755, 1939, 756, 848, 849, 850, 851, 1940, 10042 768, 1941, 757, 759, 760, 761, 762, 852, 763, 853, 10043 1942, 764, 765, 766, 767, 758, 769, 770, 1943, 1944, 10044 771, 772, 773, 774, 776, 778, 779, 780, 775, 777, 10045 781, 1945, 782, 1946, 0, 783, 784, 785, 854, 855, 10046 856, 1947, 787, 788, 786, 789, 790, 793, 791, 792, 10047 857, 796, 513, 797, 798, 799, 794, 795, 1948, 1949, 10048 1950, 1951, 800, 801, 858, 802, 803, 804, 1868, 0, 10049 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10050 0, 0, 0, 0, 0, 345, 346, 348, 347, 349, 10051 350, 351, 352, 1873, 353, 354, 1874, 1875, 1876, 5741, 10052 1877, 805, 1878, 1879, 1880, 356, 0, 355, 1881, 357, 10053 358, 359, 874, 360, 361, 362, 363, 364, 365, 366, 10054 367, 806, 807, 0, 368, 808, 369, 809, 1882, 810, 10055 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 10056 1883, 1884, 0, 380, 811, 812, 813, 1885, 381, 382, 10057 383, 384, 814, 1886, 875, 1887, 385, 386, 387, 388, 10058 389, 390, 391, 392, 0, 1888, 394, 395, 396, 393, 10059 397, 398, 1889, 399, 0, 400, 401, 402, 403, 404, 10060 405, 406, 1890, 407, 408, 409, 876, 410, 411, 412, 10061 1891, 1892, 1894, 1893, 1895, 1896, 1897, 413, 414, 415, 10062 416, 417, 0, 418, 420, 421, 815, 422, 816, 1898, 10063 425, 427, 419, 423, 1899, 426, 424, 428, 429, 1900, 10064 430, 431, 432, 433, 1901, 1902, 434, 435, 436, 1903, 10065 437, 438, 440, 439, 1904, 441, 442, 443, 1905, 444, 10066 445, 817, 446, 447, 448, 450, 452, 449, 451, 453, 10067 454, 455, 456, 457, 818, 819, 458, 459, 1906, 340, 10068 1907, 0, 0, 0, 0, 460, 461, 462, 820, 0, 10069 0, 0, 463, 1908, 465, 469, 466, 467, 468, 470, 10070 1909, 464, 471, 472, 1910, 877, 473, 474, 475, 821, 10071 822, 476, 477, 478, 479, 480, 481, 482, 483, 484, 10072 1911, 485, 486, 823, 1912, 824, 487, 1913, 488, 489, 10073 490, 491, 492, 493, 494, 825, 826, 827, 595, 879, 10074 495, 496, 497, 1914, 498, 499, 500, 501, 502, 503, 10075 504, 0, 0, 0, 505, 506, 507, 508, 1915, 342, 10076 341, 343, 878, 828, 509, 596, 510, 829, 830, 1916, 10077 831, 1917, 511, 512, 515, 880, 832, 881, 514, 516, 10078 517, 882, 518, 0, 0, 0, 519, 520, 521, 522, 10079 523, 524, 525, 1918, 526, 528, 527, 1919, 530, 833, 10080 529, 883, 531, 532, 884, 1920, 533, 534, 535, 536, 10081 537, 538, 541, 1921, 1922, 539, 540, 542, 543, 0, 10082 544, 545, 547, 550, 546, 548, 549, 551, 552, 565, 10083 566, 553, 554, 555, 556, 557, 558, 559, 560, 561, 10084 562, 563, 564, 568, 0, 567, 885, 569, 570, 571, 10085 572, 573, 581, 583, 584, 579, 580, 582, 585, 586, 10086 588, 589, 576, 577, 578, 886, 587, 574, 1923, 575, 10087 344, 887, 590, 591, 592, 593, 1924, 834, 594, 835, 10088 597, 598, 1925, 0, 599, 0, 600, 1926, 1927, 602, 10089 603, 604, 1928, 1929, 605, 606, 836, 888, 607, 889, 10090 837, 608, 609, 601, 610, 611, 612, 613, 614, 615, 10091 616, 617, 618, 619, 1930, 620, 621, 838, 622, 623, 10092 624, 839, 625, 626, 627, 840, 628, 841, 629, 630, 10093 1931, 631, 632, 633, 0, 634, 635, 636, 637, 638, 10094 639, 640, 641, 642, 643, 842, 644, 645, 647, 646, 10095 648, 649, 1932, 650, 0, 651, 652, 653, 0, 0, 10096 0, 0, 0, 654, 655, 657, 0, 658, 659, 660, 10097 661, 662, 656, 663, 664, 665, 666, 667, 668, 669, 10098 1933, 671, 672, 670, 673, 674, 890, 675, 676, 677, 10099 678, 679, 843, 680, 0, 681, 682, 690, 691, 692, 10100 683, 684, 686, 693, 685, 694, 695, 696, 697, 699, 10101 698, 1934, 701, 702, 700, 703, 704, 705, 706, 1935, 10102 707, 844, 708, 687, 688, 709, 710, 711, 891, 712, 10103 713, 714, 715, 716, 717, 718, 719, 720, 845, 0, 10104 721, 1936, 722, 723, 724, 725, 726, 727, 729, 689, 10105 730, 731, 732, 737, 738, 846, 733, 734, 735, 736, 10106 847, 740, 741, 742, 743, 1937, 744, 745, 0, 739, 10107 728, 1938, 746, 747, 748, 749, 750, 751, 752, 753, 10108 754, 755, 1939, 756, 848, 849, 850, 851, 1940, 768, 10109 1941, 757, 759, 760, 761, 762, 852, 763, 853, 1942, 10110 764, 765, 766, 767, 758, 769, 770, 1943, 1944, 771, 10111 772, 773, 774, 776, 778, 779, 780, 775, 777, 781, 10112 1945, 782, 1946, 0, 783, 784, 785, 854, 855, 856, 10113 1947, 787, 788, 786, 789, 790, 793, 791, 792, 857, 10114 796, 513, 797, 798, 799, 794, 795, 1948, 1949, 1950, 10115 1951, 800, 801, 858, 802, 803, 804, 0, 0, 0, 10116 0, 0, 0, 0, 0, 0, 1868, 0, 0, 0, 10117 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10118 0, 0, 6060, 345, 346, 348, 347, 349, 350, 351, 10119 352, 1873, 353, 354, 1874, 1875, 1876, 0, 1877, 805, 10120 1878, 1879, 1880, 356, 0, 355, 1881, 357, 358, 359, 10121 874, 360, 361, 362, 363, 364, 365, 366, 367, 806, 10122 807, 0, 368, 808, 369, 809, 1882, 810, 370, 371, 10123 372, 373, 374, 375, 376, 377, 378, 379, 1883, 1884, 10124 0, 380, 811, 812, 813, 1885, 381, 382, 383, 384, 10125 814, 1886, 875, 1887, 385, 386, 387, 388, 389, 390, 10126 391, 392, 0, 1888, 394, 395, 396, 393, 397, 398, 10127 1889, 399, 0, 400, 401, 402, 403, 404, 405, 406, 10128 1890, 407, 408, 409, 876, 410, 411, 412, 1891, 1892, 10129 1894, 1893, 1895, 1896, 1897, 413, 414, 415, 416, 417, 10130 0, 418, 420, 421, 815, 422, 816, 1898, 425, 427, 10131 419, 423, 1899, 426, 424, 428, 429, 1900, 430, 431, 10132 432, 433, 1901, 1902, 434, 435, 436, 1903, 437, 438, 10133 440, 439, 1904, 441, 442, 443, 1905, 444, 445, 817, 10134 446, 447, 448, 450, 452, 449, 451, 453, 454, 455, 10135 456, 457, 818, 819, 458, 459, 1906, 340, 1907, 0, 10136 0, 0, 0, 460, 461, 462, 820, 0, 0, 0, 10137 463, 1908, 465, 469, 466, 467, 468, 470, 1909, 464, 10138 471, 472, 1910, 877, 473, 474, 475, 821, 822, 476, 10139 477, 478, 479, 480, 481, 482, 483, 484, 1911, 485, 10140 486, 823, 1912, 824, 487, 1913, 488, 489, 490, 491, 10141 492, 493, 494, 825, 826, 827, 595, 879, 495, 496, 10142 497, 1914, 498, 499, 500, 501, 502, 503, 504, 0, 10143 0, 0, 505, 506, 507, 508, 1915, 342, 341, 343, 10144 878, 828, 509, 596, 510, 829, 830, 1916, 831, 1917, 10145 511, 512, 515, 880, 832, 881, 514, 516, 517, 882, 10146 518, 0, 0, 0, 519, 520, 521, 522, 523, 524, 10147 525, 1918, 526, 528, 527, 1919, 530, 833, 529, 883, 10148 531, 532, 884, 1920, 533, 534, 535, 536, 537, 538, 10149 541, 1921, 1922, 539, 540, 542, 543, 0, 544, 545, 10150 547, 550, 546, 548, 549, 551, 552, 565, 566, 553, 10151 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 10152 564, 568, 0, 567, 885, 569, 570, 571, 572, 573, 10153 581, 583, 584, 579, 580, 582, 585, 586, 588, 589, 10154 576, 577, 578, 886, 587, 574, 1923, 575, 344, 887, 10155 590, 591, 592, 593, 1924, 834, 594, 835, 597, 598, 10156 1925, 0, 599, 0, 600, 1926, 1927, 602, 603, 604, 10157 1928, 1929, 605, 606, 836, 888, 607, 889, 837, 608, 10158 609, 601, 610, 611, 612, 613, 614, 615, 616, 617, 10159 618, 619, 1930, 620, 621, 838, 622, 623, 624, 839, 10160 625, 626, 627, 840, 628, 841, 629, 630, 1931, 631, 10161 632, 633, 0, 634, 635, 636, 637, 638, 639, 640, 10162 641, 642, 643, 842, 644, 645, 647, 646, 648, 649, 10163 1932, 650, 0, 651, 652, 653, 0, 0, 0, 0, 10164 0, 654, 655, 657, 0, 658, 659, 660, 661, 662, 10165 656, 663, 664, 665, 666, 667, 668, 669, 1933, 671, 10166 672, 670, 673, 674, 890, 675, 676, 677, 678, 679, 10167 843, 680, 0, 681, 682, 690, 691, 692, 683, 684, 10168 686, 693, 685, 694, 695, 696, 697, 699, 698, 1934, 10169 701, 702, 700, 703, 704, 705, 706, 1935, 707, 844, 10170 708, 687, 688, 709, 710, 711, 891, 712, 713, 714, 10171 715, 716, 717, 718, 719, 720, 845, 0, 721, 1936, 10172 722, 723, 724, 725, 726, 727, 729, 689, 730, 731, 10173 732, 737, 738, 846, 733, 734, 735, 736, 847, 740, 10174 741, 742, 743, 1937, 744, 745, 0, 739, 728, 1938, 10175 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 10176 1939, 756, 848, 849, 850, 851, 1940, 768, 1941, 757, 10177 759, 760, 761, 762, 852, 763, 853, 1942, 764, 765, 10178 766, 767, 758, 769, 770, 1943, 1944, 771, 772, 773, 10179 774, 776, 778, 779, 780, 775, 777, 781, 1945, 782, 10180 1946, 0, 783, 784, 785, 854, 855, 856, 1947, 787, 10181 788, 786, 789, 790, 793, 791, 792, 857, 796, 513, 10182 797, 798, 799, 794, 795, 1948, 1949, 1950, 1951, 800, 10183 801, 858, 802, 803, 804, 0, 0, 0, 0, 0, 10184 0, 0, 0, 0, 1868, 0, 0, 0, 0, 0, 10185 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10186 5886, 345, 346, 348, 347, 349, 350, 351, 352, 1873, 10187 353, 354, 1874, 1875, 1876, 0, 1877, 805, 1878, 1879, 10188 1880, 356, 0, 355, 1881, 357, 358, 359, 874, 360, 10189 361, 362, 363, 364, 365, 366, 367, 806, 807, 0, 10190 368, 808, 369, 809, 1882, 810, 370, 371, 372, 373, 10191 374, 375, 376, 377, 378, 379, 1883, 1884, 0, 380, 10192 811, 812, 813, 1885, 381, 382, 383, 384, 814, 1886, 10193 875, 1887, 385, 386, 387, 388, 389, 390, 391, 392, 10194 0, 1888, 394, 395, 396, 393, 397, 398, 1889, 399, 10195 0, 400, 401, 402, 403, 404, 405, 406, 1890, 407, 10196 408, 409, 876, 410, 411, 412, 1891, 1892, 1894, 1893, 10197 1895, 1896, 1897, 413, 414, 415, 416, 417, 0, 418, 10198 420, 421, 815, 422, 816, 1898, 425, 427, 419, 423, 10199 1899, 426, 424, 428, 429, 1900, 430, 431, 432, 433, 10200 1901, 1902, 434, 435, 436, 1903, 437, 438, 440, 439, 10201 1904, 441, 442, 443, 1905, 444, 445, 817, 446, 447, 10202 448, 450, 452, 449, 451, 453, 454, 455, 456, 457, 10203 818, 819, 458, 459, 1906, 340, 1907, 0, 0, 0, 10204 0, 460, 461, 462, 820, 0, 0, 0, 463, 1908, 10205 465, 469, 466, 467, 468, 470, 1909, 464, 471, 472, 10206 1910, 877, 473, 474, 475, 821, 822, 476, 477, 478, 10207 479, 480, 481, 482, 483, 484, 1911, 485, 486, 823, 10208 1912, 824, 487, 1913, 488, 489, 490, 491, 492, 493, 10209 494, 825, 826, 827, 595, 879, 495, 496, 497, 1914, 10210 498, 499, 500, 501, 502, 503, 504, 0, 0, 0, 10211 505, 506, 507, 508, 1915, 342, 341, 343, 878, 828, 10212 509, 596, 510, 829, 830, 1916, 831, 1917, 511, 512, 10213 515, 880, 832, 881, 514, 516, 517, 882, 518, 0, 10214 0, 0, 519, 520, 521, 522, 523, 524, 525, 1918, 10215 526, 528, 527, 1919, 530, 833, 529, 883, 531, 532, 10216 884, 1920, 533, 534, 535, 536, 537, 538, 541, 1921, 10217 1922, 539, 540, 542, 543, 0, 544, 545, 547, 550, 10218 546, 548, 549, 551, 552, 565, 566, 553, 554, 555, 10219 556, 557, 558, 559, 560, 561, 562, 563, 564, 568, 10220 0, 567, 885, 569, 570, 571, 572, 573, 581, 583, 10221 584, 579, 580, 582, 585, 586, 588, 589, 576, 577, 10222 578, 886, 587, 574, 1923, 575, 344, 887, 590, 591, 10223 592, 593, 1924, 834, 594, 835, 597, 598, 1925, 0, 10224 599, 0, 600, 1926, 1927, 602, 603, 604, 1928, 1929, 10225 605, 606, 836, 888, 607, 889, 837, 608, 609, 601, 10226 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 10227 1930, 620, 621, 838, 622, 623, 624, 839, 625, 626, 10228 627, 840, 628, 841, 629, 630, 1931, 631, 632, 633, 10229 0, 634, 635, 636, 637, 638, 639, 640, 641, 642, 10230 643, 842, 644, 645, 647, 646, 648, 649, 1932, 650, 10231 0, 651, 652, 653, 0, 0, 0, 0, 0, 654, 10232 655, 657, 0, 658, 659, 660, 661, 662, 656, 663, 10233 664, 665, 666, 667, 668, 669, 1933, 671, 672, 670, 10234 673, 674, 890, 675, 676, 677, 678, 679, 843, 680, 10235 0, 681, 682, 690, 691, 692, 683, 684, 686, 693, 10236 685, 694, 695, 696, 697, 699, 698, 1934, 701, 702, 10237 700, 703, 704, 705, 706, 1935, 707, 844, 708, 687, 10238 688, 709, 710, 711, 891, 712, 713, 714, 715, 716, 10239 717, 718, 719, 720, 845, 0, 721, 1936, 722, 723, 10240 724, 725, 726, 727, 729, 689, 730, 731, 732, 737, 10241 738, 846, 733, 734, 735, 736, 847, 740, 741, 742, 10242 743, 1937, 744, 745, 0, 739, 728, 1938, 746, 747, 10243 748, 749, 750, 751, 752, 753, 754, 755, 1939, 756, 10244 848, 849, 850, 851, 1940, 768, 1941, 757, 759, 760, 10245 761, 762, 852, 763, 853, 1942, 764, 765, 766, 767, 10246 758, 769, 770, 1943, 1944, 771, 772, 773, 774, 776, 10247 778, 779, 780, 775, 777, 781, 1945, 782, 1946, 0, 10248 783, 784, 785, 854, 855, 856, 1947, 787, 788, 786, 10249 789, 790, 793, 791, 792, 857, 796, 513, 797, 798, 10250 799, 794, 795, 1948, 1949, 1950, 1951, 800, 801, 858, 10251 802, 803, 804, 0, 0, 0, 0, 0, 0, 0, 10252 0, 0, 1868, 0, 0, 0, 0, 0, 0, 0, 10253 0, 0, 0, 0, 0, 0, 0, 0, 5417, 345, 10254 346, 348, 347, 349, 350, 351, 352, 1873, 353, 354, 10255 1874, 1875, 1876, 0, 1877, 805, 1878, 1879, 1880, 356, 10256 0, 355, 1881, 357, 358, 359, 874, 360, 361, 362, 10257 363, 364, 365, 366, 367, 806, 807, 0, 368, 808, 10258 369, 809, 1882, 810, 370, 371, 372, 373, 374, 375, 10259 376, 377, 378, 379, 1883, 1884, 0, 380, 811, 812, 10260 813, 1885, 381, 382, 383, 384, 814, 1886, 875, 1887, 10261 385, 386, 387, 388, 389, 390, 391, 392, 0, 1888, 10262 394, 395, 396, 393, 397, 398, 1889, 399, 0, 400, 10263 401, 402, 403, 404, 405, 406, 1890, 407, 408, 409, 10264 876, 410, 411, 412, 1891, 1892, 1894, 1893, 1895, 1896, 10265 1897, 413, 414, 415, 416, 417, 0, 418, 420, 421, 10266 815, 422, 816, 1898, 425, 427, 419, 423, 1899, 426, 10267 424, 428, 429, 1900, 430, 431, 432, 433, 1901, 1902, 10268 434, 435, 436, 1903, 437, 438, 440, 439, 1904, 441, 10269 442, 443, 1905, 444, 445, 817, 446, 447, 448, 450, 10270 452, 449, 451, 453, 454, 455, 456, 457, 818, 819, 10271 458, 459, 1906, 340, 1907, 0, 0, 0, 0, 460, 10272 461, 462, 820, 0, 0, 0, 463, 1908, 465, 469, 10273 466, 467, 468, 470, 1909, 464, 471, 472, 1910, 877, 10274 473, 474, 475, 821, 822, 476, 477, 478, 479, 480, 10275 481, 482, 483, 484, 1911, 485, 486, 823, 1912, 824, 10276 487, 1913, 488, 489, 490, 491, 492, 493, 494, 825, 10277 826, 827, 595, 879, 495, 496, 497, 1914, 498, 499, 10278 500, 501, 502, 503, 504, 0, 0, 0, 505, 506, 10279 507, 508, 1915, 342, 341, 343, 878, 828, 509, 596, 10280 510, 829, 830, 1916, 831, 1917, 511, 512, 515, 880, 10281 832, 881, 514, 516, 517, 882, 518, 0, 0, 0, 10282 519, 520, 521, 522, 523, 524, 525, 1918, 526, 528, 10283 527, 1919, 530, 833, 529, 883, 531, 532, 884, 1920, 10284 533, 534, 535, 536, 537, 538, 541, 1921, 1922, 539, 10285 540, 542, 543, 0, 544, 545, 547, 550, 546, 548, 10286 549, 551, 552, 565, 566, 553, 554, 555, 556, 557, 10287 558, 559, 560, 561, 562, 563, 564, 568, 0, 567, 10288 885, 569, 570, 571, 572, 573, 581, 583, 584, 579, 10289 580, 582, 585, 586, 588, 589, 576, 577, 578, 886, 10290 587, 574, 1923, 575, 344, 887, 590, 591, 592, 593, 10291 1924, 834, 594, 835, 597, 598, 1925, 0, 599, 0, 10292 600, 1926, 1927, 602, 603, 604, 1928, 1929, 605, 606, 10293 836, 888, 607, 889, 837, 608, 609, 601, 610, 611, 10294 612, 613, 614, 615, 616, 617, 618, 619, 1930, 620, 10295 621, 838, 622, 623, 624, 839, 625, 626, 627, 840, 10296 628, 841, 629, 630, 1931, 631, 632, 633, 0, 634, 10297 635, 636, 637, 638, 639, 640, 641, 642, 643, 842, 10298 644, 645, 647, 646, 648, 649, 1932, 650, 0, 651, 10299 652, 653, 0, 0, 0, 0, 0, 654, 655, 657, 10300 0, 658, 659, 660, 661, 662, 656, 663, 664, 665, 10301 666, 667, 668, 669, 1933, 671, 672, 670, 673, 674, 10302 890, 675, 676, 677, 678, 679, 843, 680, 0, 681, 10303 682, 690, 691, 692, 683, 684, 686, 693, 685, 694, 10304 695, 696, 697, 699, 698, 1934, 701, 702, 700, 703, 10305 704, 705, 706, 1935, 707, 844, 708, 687, 688, 709, 10306 710, 711, 891, 712, 713, 714, 715, 716, 717, 718, 10307 719, 720, 845, 0, 721, 1936, 722, 723, 724, 725, 10308 726, 727, 729, 689, 730, 731, 732, 737, 738, 846, 10309 733, 734, 735, 736, 847, 740, 741, 742, 743, 1937, 10310 744, 745, 0, 739, 728, 1938, 746, 747, 748, 749, 10311 750, 751, 752, 753, 754, 755, 1939, 756, 848, 849, 10312 850, 851, 1940, 768, 1941, 757, 759, 760, 761, 762, 10313 852, 763, 853, 1942, 764, 765, 766, 767, 758, 769, 10314 770, 1943, 1944, 771, 772, 773, 774, 776, 778, 779, 10315 780, 775, 777, 781, 1945, 782, 1946, 0, 783, 784, 10316 785, 854, 855, 856, 1947, 787, 788, 786, 789, 790, 10317 793, 791, 792, 857, 796, 513, 797, 798, 799, 794, 10318 795, 1948, 1949, 1950, 1951, 800, 801, 858, 802, 803, 10319 804, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10320 1868, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10321 0, 0, 0, 0, 0, 0, 5245, 345, 346, 348, 10322 347, 349, 350, 351, 352, 1873, 353, 354, 1874, 1875, 10323 1876, 0, 1877, 805, 1878, 1879, 1880, 356, 0, 355, 10324 1881, 357, 358, 359, 874, 360, 361, 362, 363, 364, 10325 365, 366, 367, 806, 807, 0, 368, 808, 369, 809, 10326 1882, 810, 370, 371, 372, 373, 374, 375, 376, 377, 10327 378, 379, 1883, 1884, 0, 380, 811, 812, 813, 1885, 10328 381, 382, 383, 384, 814, 1886, 875, 1887, 385, 386, 10329 387, 388, 389, 390, 391, 392, 0, 1888, 394, 395, 10330 396, 393, 397, 398, 1889, 399, 0, 400, 401, 402, 10331 403, 404, 405, 406, 1890, 407, 408, 409, 876, 410, 10332 411, 412, 1891, 1892, 1894, 1893, 1895, 1896, 1897, 413, 10333 414, 415, 416, 417, 0, 418, 420, 421, 815, 422, 10334 816, 1898, 425, 427, 419, 423, 1899, 426, 424, 428, 10335 429, 1900, 430, 431, 432, 433, 1901, 1902, 434, 435, 10336 436, 1903, 437, 438, 440, 439, 1904, 441, 442, 443, 10337 1905, 444, 445, 817, 446, 447, 448, 450, 452, 449, 10338 451, 453, 454, 455, 456, 457, 818, 819, 458, 459, 10339 1906, 340, 1907, 0, 0, 0, 0, 460, 461, 462, 10340 820, 0, 0, 0, 463, 1908, 465, 469, 466, 467, 10341 468, 470, 1909, 464, 471, 472, 1910, 877, 473, 474, 10342 475, 821, 822, 476, 477, 478, 479, 480, 481, 482, 10343 483, 484, 1911, 485, 486, 823, 1912, 824, 487, 1913, 10344 488, 489, 490, 491, 492, 493, 494, 825, 826, 827, 10345 595, 879, 495, 496, 497, 1914, 498, 499, 500, 501, 10346 502, 503, 504, 0, 0, 0, 505, 506, 507, 508, 10347 1915, 342, 341, 343, 878, 828, 509, 596, 510, 829, 10348 830, 1916, 831, 1917, 511, 512, 515, 880, 832, 881, 10349 514, 516, 517, 882, 518, 0, 0, 0, 519, 520, 10350 521, 522, 523, 524, 525, 1918, 526, 528, 527, 1919, 10351 530, 833, 529, 883, 531, 532, 884, 1920, 533, 534, 10352 535, 536, 537, 538, 541, 1921, 1922, 539, 540, 542, 10353 543, 0, 544, 545, 547, 550, 546, 548, 549, 551, 10354 552, 565, 566, 553, 554, 555, 556, 557, 558, 559, 10355 560, 561, 562, 563, 564, 568, 0, 567, 885, 569, 10356 570, 571, 572, 573, 581, 583, 584, 579, 580, 582, 10357 585, 586, 588, 589, 576, 577, 578, 886, 587, 574, 10358 1923, 575, 344, 887, 590, 591, 592, 593, 1924, 834, 10359 594, 835, 597, 598, 1925, 0, 599, 0, 600, 1926, 10360 1927, 602, 603, 604, 1928, 1929, 605, 606, 836, 888, 10361 607, 889, 837, 608, 609, 601, 610, 611, 612, 613, 10362 614, 615, 616, 617, 618, 619, 1930, 620, 621, 838, 10363 622, 623, 624, 839, 625, 626, 627, 840, 628, 841, 10364 629, 630, 1931, 631, 632, 633, 0, 634, 635, 636, 10365 637, 638, 639, 640, 641, 642, 643, 842, 644, 645, 10366 647, 646, 648, 649, 1932, 650, 0, 651, 652, 653, 10367 0, 0, 0, 0, 0, 654, 655, 657, 0, 658, 10368 659, 660, 661, 662, 656, 663, 664, 665, 666, 667, 10369 668, 669, 1933, 671, 672, 670, 673, 674, 890, 675, 10370 676, 677, 678, 679, 843, 680, 0, 681, 682, 690, 10371 691, 692, 683, 684, 686, 693, 685, 694, 695, 696, 10372 697, 699, 698, 1934, 701, 702, 700, 703, 704, 705, 10373 706, 1935, 707, 844, 708, 687, 688, 709, 710, 711, 10374 891, 712, 713, 714, 715, 716, 717, 718, 719, 720, 10375 845, 0, 721, 1936, 722, 723, 724, 725, 726, 727, 10376 729, 689, 730, 731, 732, 737, 738, 846, 733, 734, 10377 735, 736, 847, 740, 741, 742, 743, 1937, 744, 745, 10378 0, 739, 728, 1938, 746, 747, 748, 749, 750, 751, 10379 752, 753, 754, 755, 1939, 756, 848, 849, 850, 851, 10380 1940, 768, 1941, 757, 759, 760, 761, 762, 852, 763, 10381 853, 1942, 764, 765, 766, 767, 758, 769, 770, 1943, 10382 1944, 771, 772, 773, 774, 776, 778, 779, 780, 775, 10383 777, 781, 1945, 782, 1946, 0, 783, 784, 785, 854, 10384 855, 856, 1947, 787, 788, 786, 789, 790, 793, 791, 10385 792, 857, 796, 513, 797, 798, 799, 794, 795, 1948, 10386 1949, 1950, 1951, 800, 801, 858, 802, 803, 804, 0, 10387 0, 0, 0, 0, 0, 0, 0, 0, 1868, 0, 10388 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10389 0, 0, 0, 0, 5053, 345, 346, 348, 347, 349, 10390 350, 351, 352, 1873, 353, 354, 1874, 1875, 1876, 0, 10391 1877, 805, 1878, 1879, 1880, 356, 0, 355, 1881, 357, 10392 358, 359, 874, 360, 361, 362, 363, 364, 365, 366, 10393 367, 806, 807, 0, 368, 808, 369, 809, 1882, 810, 10394 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 10395 1883, 1884, 0, 380, 811, 812, 813, 1885, 381, 382, 10396 383, 384, 814, 1886, 875, 1887, 385, 386, 387, 388, 10397 389, 390, 391, 392, 0, 1888, 394, 395, 396, 393, 10398 397, 398, 1889, 399, 0, 400, 401, 402, 403, 404, 10399 405, 406, 1890, 407, 408, 409, 876, 410, 411, 412, 10400 1891, 1892, 1894, 1893, 1895, 1896, 1897, 413, 414, 415, 10401 416, 417, 0, 418, 420, 421, 815, 422, 816, 1898, 10402 425, 427, 419, 423, 1899, 426, 424, 428, 429, 1900, 10403 430, 431, 432, 433, 1901, 1902, 434, 435, 436, 1903, 10404 437, 438, 440, 439, 1904, 441, 442, 443, 1905, 444, 10405 445, 817, 446, 447, 448, 450, 452, 449, 451, 453, 10406 454, 455, 456, 457, 818, 819, 458, 459, 1906, 340, 10407 1907, 0, 0, 0, 0, 460, 461, 462, 820, 0, 10408 0, 0, 463, 1908, 465, 469, 466, 467, 468, 470, 10409 1909, 464, 471, 472, 1910, 877, 473, 474, 475, 821, 10410 822, 476, 477, 478, 479, 480, 481, 482, 483, 484, 10411 1911, 485, 486, 823, 1912, 824, 487, 1913, 488, 489, 10412 490, 491, 492, 493, 494, 825, 826, 827, 595, 879, 10413 495, 496, 497, 1914, 498, 499, 500, 501, 502, 503, 10414 504, 0, 0, 0, 505, 506, 507, 508, 1915, 342, 10415 341, 343, 878, 828, 509, 596, 510, 829, 830, 1916, 10416 831, 1917, 511, 512, 515, 880, 832, 881, 514, 516, 10417 517, 882, 518, 0, 0, 0, 519, 520, 521, 522, 10418 523, 524, 525, 1918, 526, 528, 527, 1919, 530, 833, 10419 529, 883, 531, 532, 884, 1920, 533, 534, 535, 536, 10420 537, 538, 541, 1921, 1922, 539, 540, 542, 543, 0, 10421 544, 545, 547, 550, 546, 548, 549, 551, 552, 565, 10422 566, 553, 554, 555, 556, 557, 558, 559, 560, 561, 10423 562, 563, 564, 568, 0, 567, 885, 569, 570, 571, 10424 572, 573, 581, 583, 584, 579, 580, 582, 585, 586, 10425 588, 589, 576, 577, 578, 886, 587, 574, 1923, 575, 10426 344, 887, 590, 591, 592, 593, 1924, 834, 594, 835, 10427 597, 598, 1925, 0, 599, 0, 600, 1926, 1927, 602, 10428 603, 604, 1928, 1929, 605, 606, 836, 888, 607, 889, 10429 837, 608, 609, 601, 610, 611, 612, 613, 614, 615, 10430 616, 617, 618, 619, 1930, 620, 621, 838, 622, 623, 10431 624, 839, 625, 626, 627, 840, 628, 841, 629, 630, 10432 1931, 631, 632, 633, 0, 634, 635, 636, 637, 638, 10433 639, 640, 641, 642, 643, 842, 644, 645, 647, 646, 10434 648, 649, 1932, 650, 0, 651, 652, 653, 0, 0, 10435 0, 0, 0, 654, 655, 657, 0, 658, 659, 660, 10436 661, 662, 656, 663, 664, 665, 666, 667, 668, 669, 10437 1933, 671, 672, 670, 673, 674, 890, 675, 676, 677, 10438 678, 679, 843, 680, 0, 681, 682, 690, 691, 692, 10439 683, 684, 686, 693, 685, 694, 695, 696, 697, 699, 10440 698, 1934, 701, 702, 700, 703, 704, 705, 706, 1935, 10441 707, 844, 708, 687, 688, 709, 710, 711, 891, 712, 10442 713, 714, 715, 716, 717, 718, 719, 720, 845, 0, 10443 721, 1936, 722, 723, 724, 725, 726, 727, 729, 689, 10444 730, 731, 732, 737, 738, 846, 733, 734, 735, 736, 10445 847, 740, 741, 742, 743, 1937, 744, 745, 0, 739, 10446 728, 1938, 746, 747, 748, 749, 750, 751, 752, 753, 10447 754, 755, 1939, 756, 848, 849, 850, 851, 1940, 768, 10448 1941, 757, 759, 760, 761, 762, 852, 763, 853, 1942, 10449 764, 765, 766, 767, 758, 769, 770, 1943, 1944, 771, 10450 772, 773, 774, 776, 778, 779, 780, 775, 777, 781, 10451 1945, 782, 1946, 0, 783, 784, 785, 854, 855, 856, 10452 1947, 787, 788, 786, 789, 790, 793, 791, 792, 857, 10453 796, 513, 797, 798, 799, 794, 795, 1948, 1949, 1950, 10454 1951, 800, 801, 858, 802, 803, 804, 0, 0, 0, 10455 0, 0, 0, 0, 0, 0, 1868, 0, 0, 0, 10456 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10457 0, 0, 3184, 345, 346, 348, 347, 349, 350, 351, 10458 352, 1873, 353, 354, 1874, 1875, 1876, 0, 1877, 805, 10459 1878, 1879, 1880, 356, 0, 355, 1881, 357, 358, 359, 10460 874, 360, 361, 362, 363, 364, 365, 366, 367, 806, 10461 807, 0, 368, 808, 369, 809, 1882, 810, 370, 371, 10462 372, 373, 374, 375, 376, 377, 378, 379, 1883, 1884, 10463 0, 380, 811, 812, 813, 1885, 381, 382, 383, 384, 10464 814, 1886, 875, 1887, 385, 386, 387, 388, 389, 390, 10465 391, 392, 0, 1888, 394, 395, 396, 393, 397, 398, 10466 1889, 399, 0, 400, 401, 402, 403, 404, 405, 406, 10467 1890, 407, 408, 409, 876, 410, 411, 412, 1891, 1892, 10468 1894, 1893, 1895, 1896, 1897, 413, 414, 415, 416, 417, 10469 0, 418, 420, 421, 815, 422, 816, 1898, 425, 427, 10470 419, 423, 1899, 426, 424, 428, 429, 1900, 430, 431, 10471 432, 433, 1901, 1902, 434, 435, 436, 1903, 437, 438, 10472 440, 439, 1904, 441, 442, 443, 1905, 444, 445, 817, 10473 446, 447, 448, 450, 452, 449, 451, 453, 454, 455, 10474 456, 457, 818, 819, 458, 459, 1906, 340, 1907, 0, 10475 0, 0, 0, 460, 461, 462, 820, 0, 0, 0, 10476 463, 1908, 465, 469, 466, 467, 468, 470, 1909, 464, 10477 471, 472, 1910, 877, 473, 474, 475, 821, 822, 476, 10478 477, 478, 479, 480, 481, 482, 483, 484, 1911, 485, 10479 486, 823, 1912, 824, 487, 1913, 488, 489, 490, 491, 10480 492, 493, 494, 825, 826, 827, 595, 879, 495, 496, 10481 497, 1914, 498, 499, 500, 501, 502, 503, 504, 0, 10482 0, 0, 505, 506, 507, 508, 1915, 342, 341, 343, 10483 878, 828, 509, 596, 510, 829, 830, 1916, 831, 1917, 10484 511, 512, 515, 880, 832, 881, 514, 516, 517, 882, 10485 518, 0, 0, 0, 519, 520, 521, 522, 523, 524, 10486 525, 1918, 526, 528, 527, 1919, 530, 833, 529, 883, 10487 531, 532, 884, 1920, 533, 534, 535, 536, 537, 538, 10488 541, 1921, 1922, 539, 540, 542, 543, 0, 544, 545, 10489 547, 550, 546, 548, 549, 551, 552, 565, 566, 553, 10490 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 10491 564, 568, 0, 567, 885, 569, 570, 571, 572, 573, 10492 581, 583, 584, 579, 580, 582, 585, 586, 588, 589, 10493 576, 577, 578, 886, 587, 574, 1923, 575, 344, 887, 10494 590, 591, 592, 593, 1924, 834, 594, 835, 597, 598, 10495 1925, 0, 599, 0, 600, 1926, 1927, 602, 603, 604, 10496 1928, 1929, 605, 606, 836, 888, 607, 889, 837, 608, 10497 609, 601, 610, 611, 612, 613, 614, 615, 616, 617, 10498 618, 619, 1930, 620, 621, 838, 622, 623, 624, 839, 10499 625, 626, 627, 840, 628, 841, 629, 630, 1931, 631, 10500 632, 633, 0, 634, 635, 636, 637, 638, 639, 640, 10501 641, 642, 643, 842, 644, 645, 647, 646, 648, 649, 10502 1932, 650, 0, 651, 652, 653, 0, 0, 0, 0, 10503 0, 654, 655, 657, 0, 658, 659, 660, 661, 662, 10504 656, 663, 664, 665, 666, 667, 668, 669, 1933, 671, 10505 672, 670, 673, 674, 890, 675, 676, 677, 678, 679, 10506 843, 680, 0, 681, 682, 690, 691, 692, 683, 684, 10507 686, 693, 685, 694, 695, 696, 697, 699, 698, 1934, 10508 701, 702, 700, 703, 704, 705, 706, 1935, 707, 844, 10509 708, 687, 688, 709, 710, 711, 891, 712, 713, 714, 10510 715, 716, 717, 718, 719, 720, 845, 0, 721, 1936, 10511 722, 723, 724, 725, 726, 727, 729, 689, 730, 731, 10512 732, 737, 738, 846, 733, 734, 735, 736, 847, 740, 10513 741, 742, 743, 1937, 744, 745, 0, 739, 728, 1938, 10514 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 10515 1939, 756, 848, 849, 850, 851, 1940, 768, 1941, 757, 10516 759, 760, 761, 762, 852, 763, 853, 1942, 764, 765, 10517 766, 767, 758, 769, 770, 1943, 1944, 771, 772, 773, 10518 774, 776, 778, 779, 780, 775, 777, 781, 1945, 782, 10519 1946, 0, 783, 784, 785, 854, 855, 856, 1947, 787, 10520 788, 786, 789, 790, 793, 791, 792, 857, 796, 513, 10521 797, 798, 799, 794, 795, 1948, 1949, 1950, 1951, 800, 10522 801, 858, 802, 803, 804, 0, 0, 0, 0, 0, 10523 0, 0, 1372, 0, 1460, 1403, 1404, 1405, 1401, 1402, 10524 1414, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10525 2898, 345, 346, 348, 347, 349, 350, 351, 352, 0, 10526 353, 354, 0, 0, 0, 0, 0, 1452, 1419, 0, 10527 0, 356, 0, 355, 0, 357, 358, 359, 874, 360, 10528 361, 362, 363, 364, 365, 366, 367, 806, 1466, 0, 10529 368, 1474, 369, 1473, 0, 1484, 370, 371, 372, 373, 10530 374, 375, 376, 377, 378, 379, 1421, 1451, 1385, 380, 10531 1497, 1498, 813, 0, 381, 382, 383, 384, 1458, 0, 10532 1439, 0, 385, 386, 387, 388, 389, 390, 391, 392, 10533 0, 0, 394, 395, 396, 393, 397, 398, 0, 399, 10534 0, 400, 401, 402, 403, 404, 405, 406, 0, 407, 10535 408, 409, 876, 410, 411, 412, 1442, 1440, 1441, 1448, 10536 1444, 1443, 1447, 413, 414, 415, 416, 417, 1477, 418, 10537 420, 421, 1471, 422, 1470, 1390, 425, 427, 419, 423, 10538 0, 426, 424, 428, 429, 0, 430, 431, 432, 433, 10539 0, 0, 434, 1469, 436, 0, 437, 438, 440, 439, 10540 0, 441, 442, 443, 0, 444, 445, 1397, 446, 447, 10541 448, 450, 452, 449, 451, 453, 454, 455, 456, 457, 10542 1485, 1486, 458, 459, 1410, 340, 0, 0, 0, 0, 10543 0, 460, 461, 462, 1468, 0, 0, 0, 463, 0, 10544 465, 469, 466, 467, 468, 470, 0, 464, 471, 472, 10545 0, 877, 473, 474, 475, 1482, 1483, 476, 477, 478, 10546 479, 480, 481, 482, 483, 484, 0, 485, 486, 1492, 10547 0, 1420, 487, 0, 488, 489, 490, 491, 492, 493, 10548 494, 1453, 1454, 1457, 595, 879, 495, 496, 497, 0, 10549 498, 499, 500, 501, 502, 503, 504, 0, 0, 0, 10550 505, 506, 507, 508, 0, 867, 341, 343, 878, 828, 10551 509, 596, 510, 1463, 1464, 0, 1424, 0, 511, 512, 10552 515, 880, 1455, 881, 514, 516, 517, 882, 518, 0, 10553 0, 0, 519, 520, 521, 522, 523, 524, 525, 0, 10554 526, 528, 527, 0, 530, 1493, 529, 883, 531, 532, 10555 884, 0, 533, 534, 535, 536, 537, 538, 541, 1446, 10556 1445, 539, 540, 542, 543, 0, 544, 545, 547, 550, 10557 546, 548, 549, 551, 552, 565, 566, 553, 554, 555, 10558 556, 557, 558, 559, 560, 561, 562, 563, 564, 568, 10559 0, 567, 885, 569, 570, 571, 572, 573, 581, 583, 10560 584, 579, 580, 582, 585, 586, 588, 589, 576, 577, 10561 578, 886, 587, 574, 1387, 575, 344, 887, 590, 591, 10562 592, 593, 1411, 1456, 594, 1472, 597, 598, 0, 0, 10563 599, 0, 600, 0, 0, 602, 603, 604, 0, 0, 10564 605, 606, 836, 888, 607, 889, 1487, 608, 609, 1398, 10565 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 10566 0, 620, 621, 838, 622, 623, 624, 839, 625, 626, 10567 627, 1488, 628, 841, 629, 630, 0, 631, 632, 633, 10568 0, 634, 635, 636, 637, 638, 639, 640, 641, 642, 10569 643, 1467, 644, 645, 647, 646, 648, 649, 0, 650, 10570 0, 651, 652, 653, 0, 0, 0, 0, 0, 654, 10571 655, 657, 0, 658, 659, 660, 661, 662, 656, 663, 10572 664, 665, 666, 667, 668, 669, 0, 671, 672, 670, 10573 673, 674, 890, 675, 676, 677, 678, 679, 1399, 680, 10574 0, 681, 682, 690, 691, 692, 683, 684, 686, 693, 10575 685, 694, 695, 696, 697, 699, 698, 295, 701, 702, 10576 700, 703, 704, 705, 706, 1449, 707, 844, 708, 687, 10577 688, 709, 710, 711, 891, 712, 713, 714, 715, 716, 10578 717, 718, 719, 720, 1465, 0, 721, 0, 722, 723, 10579 724, 725, 726, 727, 729, 689, 730, 731, 732, 737, 10580 738, 1496, 733, 734, 735, 736, 1489, 740, 741, 742, 10581 743, 0, 744, 745, 1384, 739, 728, 297, 746, 747, 10582 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 10583 1478, 1479, 1480, 1481, 0, 768, 0, 757, 759, 760, 10584 761, 762, 1490, 763, 1491, 1409, 764, 765, 766, 767, 10585 758, 769, 770, 0, 1391, 771, 772, 773, 774, 776, 10586 778, 779, 780, 775, 777, 781, 1450, 782, 0, 0, 10587 783, 784, 785, 2114, 1475, 1495, 0, 787, 788, 786, 10588 789, 790, 793, 791, 792, 857, 796, 513, 797, 798, 10589 799, 794, 795, 0, 0, 0, 289, 800, 801, 858, 10590 802, 803, 804, 1388, 0, 290, 0, 0, 0, 0, 10591 0, 0, 0, 0, 0, 0, 0, 0, 0, 1383, 10592 0, 0, 0, 0, 0, 0, 1381, 1382, 0, 0, 10593 0, 0, 0, 0, 864, 0, 2269, 2267, 0, 2390, 10594 1413, 1460, 1403, 1404, 1405, 1401, 1402, 1414, 0, 0, 10595 0, 0, 0, 0, 0, 0, 0, 0, 345, 346, 10596 348, 347, 349, 350, 351, 352, 2387, 353, 354, 0, 10597 0, 0, 0, 0, 1452, 1419, 0, 0, 356, 0, 10598 355, 0, 357, 358, 359, 874, 360, 361, 362, 363, 10599 364, 365, 366, 367, 806, 1466, 0, 368, 1474, 369, 10600 1473, 0, 1484, 370, 371, 372, 373, 374, 375, 376, 10601 377, 378, 379, 1421, 1451, 1385, 380, 1497, 1498, 813, 10602 0, 381, 382, 383, 384, 1458, 0, 1439, 0, 385, 10603 386, 387, 388, 389, 390, 391, 392, 0, 0, 394, 10604 395, 396, 393, 397, 398, 0, 399, 0, 400, 401, 10605 402, 403, 404, 405, 406, 0, 407, 408, 409, 876, 10606 410, 411, 412, 1442, 1440, 1441, 1448, 1444, 1443, 1447, 10607 413, 414, 415, 416, 417, 1477, 418, 420, 421, 1471, 10608 422, 1470, 1390, 425, 427, 419, 423, 0, 426, 424, 10609 428, 429, 0, 430, 431, 432, 433, 2388, 0, 434, 10610 1469, 436, 0, 437, 438, 440, 439, 0, 441, 442, 10611 443, 0, 444, 445, 1397, 446, 447, 448, 450, 452, 10612 449, 451, 453, 454, 455, 456, 457, 1485, 1486, 458, 10613 459, 1410, 340, 0, 0, 0, 0, 0, 460, 461, 10614 462, 1468, 0, 0, 0, 463, 0, 465, 469, 466, 10615 467, 468, 470, 0, 464, 471, 472, 0, 877, 473, 10616 474, 475, 1482, 1483, 476, 477, 478, 479, 480, 481, 10617 482, 483, 484, 0, 485, 486, 1492, 0, 1420, 487, 10618 0, 488, 489, 490, 491, 492, 493, 494, 1453, 1454, 10619 1457, 595, 879, 495, 496, 497, 0, 498, 499, 500, 10620 501, 502, 503, 504, 0, 0, 0, 505, 506, 507, 10621 508, 0, 867, 341, 343, 878, 828, 509, 596, 510, 10622 1463, 1464, 0, 1424, 0, 511, 512, 515, 880, 1455, 10623 881, 514, 516, 517, 882, 518, 0, 0, 0, 519, 10624 520, 521, 522, 523, 524, 525, 0, 526, 528, 527, 10625 0, 530, 1493, 529, 883, 531, 532, 884, 0, 533, 10626 534, 535, 536, 537, 538, 541, 1446, 1445, 539, 540, 10627 542, 543, 0, 544, 545, 547, 550, 546, 548, 549, 10628 551, 552, 565, 566, 553, 554, 555, 556, 557, 558, 10629 559, 560, 561, 562, 563, 564, 568, 0, 567, 885, 10630 569, 570, 571, 572, 573, 581, 583, 584, 579, 580, 10631 582, 585, 586, 588, 589, 576, 577, 578, 886, 587, 10632 574, 1387, 575, 344, 887, 590, 591, 592, 593, 1411, 10633 1456, 594, 1472, 597, 598, 0, 0, 599, 0, 600, 10634 0, 0, 602, 603, 604, 0, 0, 605, 606, 836, 10635 888, 607, 889, 1487, 608, 609, 1398, 610, 611, 612, 10636 613, 614, 615, 616, 617, 618, 619, 0, 620, 621, 10637 838, 622, 623, 624, 839, 625, 626, 627, 1488, 628, 10638 841, 629, 630, 0, 631, 632, 633, 0, 634, 635, 10639 636, 637, 638, 639, 640, 641, 642, 643, 1467, 644, 10640 645, 647, 646, 648, 649, 0, 650, 0, 651, 652, 10641 653, 0, 0, 0, 0, 0, 654, 655, 657, 0, 10642 658, 659, 660, 661, 662, 656, 663, 664, 665, 666, 10643 667, 668, 669, 0, 671, 672, 670, 673, 674, 890, 10644 675, 676, 677, 678, 679, 1399, 680, 0, 681, 682, 10645 690, 691, 692, 683, 684, 686, 693, 685, 694, 695, 10646 696, 697, 699, 698, 0, 701, 702, 700, 703, 704, 10647 705, 706, 1449, 707, 844, 708, 687, 688, 709, 710, 10648 711, 891, 712, 713, 714, 715, 716, 717, 718, 719, 10649 720, 1465, 0, 721, 0, 722, 723, 724, 725, 726, 10650 727, 729, 689, 730, 731, 732, 737, 738, 1496, 733, 10651 734, 735, 736, 1489, 740, 741, 742, 743, 0, 744, 10652 745, 1384, 739, 728, 0, 746, 747, 748, 749, 750, 10653 751, 752, 753, 754, 755, 0, 756, 1478, 1479, 1480, 10654 1481, 0, 768, 0, 757, 759, 760, 761, 762, 1490, 10655 763, 1491, 1409, 764, 765, 766, 767, 758, 769, 770, 10656 0, 1391, 771, 772, 773, 774, 776, 778, 779, 780, 10657 775, 777, 781, 1450, 782, 0, 0, 783, 784, 785, 10658 854, 1475, 1495, 2386, 787, 788, 786, 789, 790, 793, 10659 791, 792, 857, 796, 513, 797, 798, 799, 794, 795, 10660 0, 0, 0, 0, 800, 801, 858, 802, 803, 804, 10661 1388, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10662 0, 0, 0, 0, 0, 0, 1383, 0, 0, 1865, 10663 0, 1868, 0, 1381, 1382, 2389, 0, 0, 0, 0, 10664 0, 864, 0, 1415, 2384, 0, 0, 1413, 345, 346, 10665 348, 347, 349, 350, 351, 352, 1873, 353, 354, 1874, 10666 1875, 1876, 0, 1877, 805, 1878, 1879, 1880, 356, 0, 10667 355, 1881, 357, 358, 359, 874, 360, 361, 362, 363, 10668 364, 365, 366, 367, 806, 807, 0, 368, 808, 369, 10669 809, 1882, 810, 370, 371, 372, 373, 374, 375, 376, 10670 377, 378, 379, 1883, 1884, 0, 380, 811, 812, 813, 10671 1885, 381, 382, 383, 384, 814, 1886, 875, 1887, 385, 10672 386, 387, 388, 389, 390, 391, 392, 0, 1888, 394, 10673 395, 396, 393, 397, 398, 1889, 399, 0, 400, 401, 10674 402, 403, 404, 405, 406, 1890, 407, 408, 409, 876, 10675 410, 411, 412, 1891, 1892, 1894, 1893, 1895, 1896, 1897, 10676 413, 414, 415, 416, 417, 0, 418, 420, 421, 815, 10677 422, 816, 1898, 425, 427, 419, 423, 1899, 426, 424, 10678 428, 429, 1900, 430, 431, 432, 433, 1901, 1902, 434, 10679 435, 436, 1903, 437, 438, 440, 439, 1904, 441, 442, 10680 443, 1905, 444, 445, 817, 446, 447, 448, 450, 452, 10681 449, 451, 453, 454, 455, 456, 457, 818, 819, 458, 10682 459, 1906, 340, 1907, 0, 0, 0, 0, 460, 461, 10683 462, 820, 0, 0, 0, 463, 1908, 465, 469, 466, 10684 467, 468, 470, 1909, 464, 471, 472, 1910, 877, 473, 10685 474, 475, 821, 822, 476, 477, 478, 479, 480, 481, 10686 482, 483, 484, 1911, 485, 486, 823, 1912, 824, 487, 10687 1913, 488, 489, 490, 491, 492, 493, 494, 825, 826, 10688 827, 595, 879, 495, 496, 497, 1914, 498, 499, 500, 10689 501, 502, 503, 504, 0, 0, 0, 505, 506, 507, 10690 508, 1915, 342, 341, 343, 878, 828, 509, 596, 510, 10691 829, 830, 1916, 831, 1917, 511, 512, 515, 880, 832, 10692 881, 514, 516, 517, 882, 518, 0, 0, 0, 519, 10693 520, 521, 522, 523, 524, 525, 1918, 526, 528, 527, 10694 1919, 530, 833, 529, 883, 531, 532, 884, 1920, 533, 10695 534, 535, 536, 537, 538, 541, 1921, 1922, 539, 540, 10696 542, 543, 0, 544, 545, 547, 550, 546, 548, 549, 10697 551, 552, 565, 566, 553, 554, 555, 556, 557, 558, 10698 559, 560, 561, 562, 563, 564, 568, 0, 567, 885, 10699 569, 570, 571, 572, 573, 581, 583, 584, 579, 580, 10700 582, 585, 586, 588, 589, 576, 577, 578, 886, 587, 10701 574, 1923, 575, 344, 887, 590, 591, 592, 593, 1924, 10702 834, 594, 835, 597, 598, 1925, 0, 599, 0, 600, 10703 1926, 1927, 602, 603, 604, 1928, 1929, 605, 606, 836, 10704 888, 607, 889, 837, 608, 609, 601, 610, 611, 612, 10705 613, 614, 615, 616, 617, 618, 619, 1930, 620, 621, 10706 838, 622, 623, 624, 839, 625, 626, 627, 840, 628, 10707 841, 629, 630, 1931, 631, 632, 633, 0, 634, 635, 10708 636, 637, 638, 639, 640, 641, 642, 643, 842, 644, 10709 645, 647, 646, 648, 649, 1932, 650, 0, 651, 652, 10710 653, 0, 0, 0, 0, 0, 654, 655, 657, 0, 10711 658, 659, 660, 661, 662, 656, 663, 664, 665, 666, 10712 667, 668, 669, 1933, 671, 672, 670, 673, 674, 890, 10713 675, 676, 677, 678, 679, 843, 680, 0, 681, 682, 10714 690, 691, 692, 683, 684, 686, 693, 685, 694, 695, 10715 696, 697, 699, 698, 1934, 701, 702, 700, 703, 704, 10716 705, 706, 1935, 707, 844, 708, 687, 688, 709, 710, 10717 711, 891, 712, 713, 714, 715, 716, 717, 718, 719, 10718 720, 845, 0, 721, 1936, 722, 723, 724, 725, 726, 10719 727, 729, 689, 730, 731, 732, 737, 738, 846, 733, 10720 734, 735, 736, 847, 740, 741, 742, 743, 1937, 744, 10721 745, 0, 739, 728, 1938, 746, 747, 748, 749, 750, 10722 751, 752, 753, 754, 755, 1939, 756, 848, 849, 850, 10723 851, 1940, 768, 1941, 757, 759, 760, 761, 762, 852, 10724 763, 853, 1942, 764, 765, 766, 767, 758, 769, 770, 10725 1943, 1944, 771, 772, 773, 774, 776, 778, 779, 780, 10726 775, 777, 781, 1945, 782, 1946, 0, 783, 784, 785, 10727 854, 855, 856, 1947, 787, 788, 786, 789, 790, 793, 10728 791, 792, 857, 796, 513, 797, 798, 799, 794, 795, 10729 1948, 1949, 1950, 1951, 800, 801, 858, 802, 803, 804, 10730 1868, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10731 0, 0, 0, 0, 0, 0, 0, 345, 346, 348, 10732 347, 349, 350, 351, 352, 1873, 353, 354, 1874, 1875, 10733 1876, 0, 1877, 805, 1878, 1879, 1880, 356, 0, 355, 10734 1881, 357, 358, 359, 874, 360, 361, 362, 363, 364, 10735 365, 366, 367, 806, 807, 0, 368, 808, 369, 809, 10736 1882, 810, 370, 371, 372, 373, 374, 375, 376, 377, 10737 378, 379, 1883, 1884, 0, 380, 811, 812, 813, 1885, 10738 381, 382, 383, 384, 814, 1886, 875, 1887, 385, 386, 10739 387, 388, 389, 390, 391, 392, 0, 1888, 394, 395, 10740 396, 393, 397, 398, 1889, 399, 0, 400, 401, 402, 10741 403, 404, 405, 406, 1890, 407, 408, 409, 876, 410, 10742 411, 412, 1891, 1892, 1894, 1893, 1895, 1896, 1897, 413, 10743 414, 415, 416, 417, 0, 418, 420, 421, 815, 422, 10744 816, 1898, 425, 427, 419, 423, 1899, 426, 424, 428, 10745 429, 1900, 430, 431, 432, 433, 1901, 1902, 434, 435, 10746 436, 1903, 437, 438, 440, 439, 1904, 441, 442, 443, 10747 1905, 444, 445, 817, 446, 447, 448, 450, 452, 449, 10748 451, 453, 454, 455, 456, 457, 818, 819, 458, 459, 10749 1906, 340, 1907, 0, 0, 0, 0, 460, 461, 462, 10750 820, 0, 0, 0, 463, 1908, 465, 469, 466, 467, 10751 468, 470, 1909, 464, 471, 472, 1910, 877, 473, 474, 10752 475, 821, 822, 476, 477, 478, 479, 480, 481, 482, 10753 483, 484, 1911, 485, 486, 823, 1912, 824, 487, 1913, 10754 488, 489, 490, 491, 492, 493, 494, 825, 826, 827, 10755 595, 879, 495, 496, 497, 1914, 498, 499, 500, 501, 10756 502, 503, 504, 0, 0, 0, 505, 506, 507, 508, 10757 1915, 342, 341, 343, 878, 828, 509, 596, 510, 829, 10758 830, 1916, 831, 1917, 511, 512, 515, 880, 832, 881, 10759 514, 516, 517, 882, 518, 0, 0, 0, 519, 520, 10760 521, 522, 523, 524, 525, 1918, 526, 528, 527, 1919, 10761 530, 833, 529, 883, 531, 532, 884, 1920, 533, 534, 10762 535, 536, 537, 538, 541, 1921, 1922, 539, 540, 542, 10763 543, 0, 544, 545, 547, 550, 546, 548, 549, 551, 10764 552, 565, 566, 553, 554, 555, 556, 557, 558, 559, 10765 560, 561, 562, 563, 564, 568, 0, 567, 885, 569, 10766 570, 571, 572, 573, 581, 583, 584, 579, 580, 582, 10767 585, 586, 588, 589, 576, 577, 578, 886, 587, 574, 10768 1923, 575, 344, 887, 590, 591, 592, 593, 1924, 834, 10769 594, 835, 597, 598, 1925, 0, 599, 0, 600, 1926, 10770 1927, 602, 603, 604, 1928, 1929, 605, 606, 836, 888, 10771 607, 889, 837, 608, 609, 601, 610, 611, 612, 613, 10772 614, 615, 616, 617, 618, 619, 1930, 620, 621, 838, 10773 622, 623, 624, 839, 625, 626, 627, 840, 628, 841, 10774 629, 630, 1931, 631, 632, 633, 0, 634, 635, 636, 10775 637, 638, 639, 640, 641, 642, 643, 842, 644, 645, 10776 647, 646, 648, 649, 1932, 650, 0, 651, 652, 653, 10777 0, 0, 0, 0, 0, 654, 655, 657, 0, 658, 10778 659, 660, 661, 662, 656, 663, 664, 665, 666, 667, 10779 668, 669, 1933, 671, 672, 670, 673, 674, 890, 675, 10780 676, 677, 678, 679, 843, 680, 0, 681, 682, 690, 10781 691, 692, 683, 684, 686, 693, 685, 694, 695, 696, 10782 697, 699, 698, 1934, 701, 702, 700, 703, 704, 705, 10783 706, 1935, 707, 844, 708, 687, 688, 709, 710, 711, 10784 891, 712, 713, 714, 715, 716, 717, 718, 719, 720, 10785 845, 0, 721, 1936, 722, 723, 724, 725, 726, 727, 10786 729, 689, 730, 731, 732, 737, 738, 846, 733, 734, 10787 735, 736, 847, 740, 741, 742, 743, 1937, 744, 745, 10788 0, 739, 728, 1938, 746, 747, 748, 749, 750, 751, 10789 752, 753, 754, 755, 1939, 756, 848, 849, 850, 851, 10790 1940, 768, 1941, 757, 759, 760, 761, 762, 852, 763, 10791 853, 1942, 764, 765, 766, 767, 758, 769, 770, 1943, 10792 1944, 771, 772, 773, 774, 776, 778, 779, 780, 775, 10793 777, 781, 1945, 782, 1946, 0, 783, 784, 785, 854, 10794 855, 856, 1947, 787, 788, 786, 789, 790, 793, 791, 10795 792, 857, 796, 513, 797, 798, 799, 794, 795, 1948, 10796 1949, 1950, 1951, 800, 801, 858, 802, 803, 804, 1460, 10797 1403, 1404, 1405, 1401, 1402, 1414, 0, 0, 0, 0, 10798 0, 0, 0, 0, 0, 0, 345, 346, 348, 347, 10799 349, 350, 351, 352, 0, 353, 354, 0, 0, 0, 10800 0, 0, 1452, 1419, 0, 0, 356, 0, 355, 0, 10801 357, 358, 359, 874, 360, 361, 362, 363, 364, 365, 10802 366, 367, 806, 1466, 0, 368, 1474, 369, 1473, 0, 10803 1484, 370, 371, 372, 373, 374, 375, 376, 377, 378, 10804 379, 1421, 1451, 1385, 380, 1497, 1498, 813, 0, 381, 10805 382, 383, 384, 1458, 0, 1439, 0, 385, 386, 387, 10806 388, 389, 390, 391, 392, 0, 0, 394, 395, 396, 10807 393, 397, 398, 0, 399, 0, 400, 401, 402, 403, 10808 404, 405, 406, 0, 407, 408, 409, 876, 410, 411, 10809 412, 1442, 1440, 1441, 1448, 1444, 1443, 1447, 413, 414, 10810 415, 416, 417, 1477, 418, 420, 421, 1471, 422, 1470, 10811 1390, 425, 427, 419, 423, 0, 426, 424, 428, 429, 10812 0, 430, 431, 432, 433, 0, 0, 434, 1469, 436, 10813 0, 437, 438, 440, 439, 0, 441, 442, 443, 0, 10814 444, 445, 1397, 446, 447, 448, 450, 452, 449, 451, 10815 453, 454, 455, 456, 457, 1485, 1486, 458, 459, 1410, 10816 340, 0, 0, 0, 0, 0, 460, 461, 462, 1468, 10817 0, 0, 0, 463, 0, 465, 469, 466, 467, 468, 10818 470, 0, 464, 471, 472, 0, 877, 473, 474, 475, 10819 1482, 1483, 476, 477, 478, 479, 480, 481, 482, 483, 10820 484, 0, 485, 486, 1492, 0, 1420, 487, 0, 488, 10821 489, 490, 491, 492, 493, 494, 1453, 1454, 1457, 595, 10822 879, 495, 496, 497, 0, 498, 499, 500, 501, 502, 10823 503, 504, 0, 0, 0, 505, 506, 507, 508, 0, 10824 867, 341, 343, 878, 828, 509, 596, 510, 1463, 1464, 10825 0, 1424, 0, 511, 512, 515, 880, 1455, 881, 514, 10826 516, 517, 882, 518, 0, 0, 0, 519, 520, 521, 10827 522, 523, 524, 525, 0, 526, 528, 527, 0, 530, 10828 1493, 529, 883, 531, 532, 884, 0, 533, 534, 535, 10829 536, 537, 538, 541, 1446, 1445, 539, 540, 542, 543, 10830 0, 544, 545, 547, 550, 546, 548, 549, 551, 552, 10831 565, 566, 553, 554, 555, 556, 557, 558, 559, 560, 10832 561, 562, 563, 564, 568, 0, 567, 885, 569, 570, 10833 571, 572, 573, 581, 583, 584, 579, 580, 582, 585, 10834 586, 588, 589, 576, 577, 578, 886, 587, 574, 1387, 10835 575, 344, 887, 590, 591, 592, 593, 1411, 1456, 594, 10836 1472, 597, 598, 0, 0, 599, 0, 600, 0, 0, 10837 602, 603, 604, 0, 0, 605, 606, 836, 888, 607, 10838 889, 1487, 608, 609, 1398, 610, 611, 612, 613, 614, 10839 615, 616, 617, 618, 619, 0, 620, 621, 838, 622, 10840 623, 624, 839, 625, 626, 627, 1488, 628, 841, 629, 10841 630, 0, 631, 632, 633, 0, 634, 635, 636, 637, 10842 638, 639, 640, 641, 642, 643, 1467, 644, 645, 647, 10843 646, 648, 649, 0, 650, 0, 651, 652, 653, 0, 10844 0, 0, 0, 0, 654, 655, 657, 0, 658, 659, 10845 660, 661, 662, 656, 663, 664, 665, 666, 667, 668, 10846 669, 0, 671, 672, 670, 673, 674, 890, 675, 676, 10847 677, 678, 679, 1399, 680, 0, 681, 682, 690, 691, 10848 692, 683, 684, 686, 693, 685, 694, 695, 696, 697, 10849 699, 698, 295, 701, 702, 700, 703, 704, 705, 706, 10850 1449, 707, 844, 708, 687, 688, 709, 710, 711, 891, 10851 712, 713, 714, 715, 716, 717, 718, 719, 720, 1465, 10852 0, 721, 0, 722, 723, 724, 725, 726, 727, 729, 10853 689, 730, 731, 732, 737, 738, 1496, 733, 734, 735, 10854 736, 1489, 740, 741, 742, 743, 0, 744, 745, 1384, 10855 739, 728, 297, 746, 747, 748, 749, 750, 751, 752, 10856 753, 754, 755, 0, 756, 1478, 1479, 1480, 1481, 0, 10857 768, 0, 757, 759, 760, 761, 762, 1490, 763, 1491, 10858 1409, 764, 765, 766, 767, 758, 769, 770, 0, 1391, 10859 771, 772, 773, 774, 776, 778, 779, 780, 775, 777, 10860 781, 1450, 782, 0, 0, 783, 784, 785, 2114, 1475, 10861 1495, 0, 787, 788, 786, 789, 790, 793, 791, 792, 10862 857, 796, 513, 797, 798, 799, 794, 795, 0, 0, 10863 0, 289, 800, 801, 858, 802, 803, 804, 1388, 0, 10864 290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10865 0, 0, 0, 0, 1383, 0, 0, 0, 0, 0, 10866 0, 1381, 1382, 0, 0, 0, 0, 0, 0, 864, 10867 0, 2269, 4548, 0, 0, 1413, 1460, 1403, 1404, 1405, 10868 1401, 1402, 1414, 0, 0, 0, 0, 0, 0, 0, 10869 0, 0, 0, 345, 346, 348, 347, 349, 350, 351, 10870 352, 0, 353, 354, 0, 0, 0, 0, 0, 1452, 10871 1419, 0, 0, 356, 0, 355, 0, 357, 358, 359, 10872 874, 360, 361, 362, 363, 364, 365, 366, 367, 806, 10873 1466, 0, 368, 1474, 369, 1473, 0, 1484, 370, 371, 10874 372, 373, 374, 375, 376, 377, 378, 379, 1421, 1451, 10875 1385, 380, 1497, 1498, 813, 0, 381, 382, 383, 384, 10876 1458, 0, 1439, 0, 385, 386, 387, 388, 389, 390, 10877 391, 392, 0, 0, 394, 395, 396, 393, 397, 398, 10878 0, 399, 0, 400, 401, 402, 403, 404, 405, 406, 10879 0, 407, 408, 409, 876, 410, 411, 412, 1442, 1440, 10880 1441, 1448, 1444, 1443, 1447, 413, 414, 415, 416, 417, 10881 1477, 418, 420, 421, 1471, 422, 1470, 1390, 425, 427, 10882 419, 423, 0, 426, 424, 428, 429, 0, 430, 431, 10883 432, 433, 0, 0, 434, 1469, 436, 0, 437, 438, 10884 440, 439, 0, 441, 442, 443, 0, 444, 445, 1397, 10885 446, 447, 448, 450, 452, 449, 451, 453, 454, 455, 10886 456, 457, 1485, 1486, 458, 459, 1410, 340, 0, 0, 10887 0, 0, 0, 460, 461, 462, 1468, 0, 0, 0, 10888 463, 0, 465, 469, 466, 467, 468, 470, 0, 464, 10889 471, 472, 0, 877, 473, 474, 475, 1482, 1483, 476, 10890 477, 478, 479, 480, 481, 482, 483, 484, 0, 485, 10891 486, 1492, 0, 1420, 487, 0, 488, 489, 490, 491, 10892 492, 493, 494, 1453, 1454, 1457, 595, 879, 495, 496, 10893 497, 0, 498, 499, 500, 501, 502, 503, 504, 0, 10894 0, 0, 505, 506, 507, 508, 0, 867, 341, 343, 10895 878, 828, 509, 596, 510, 1463, 1464, 0, 1424, 0, 10896 511, 512, 515, 880, 1455, 881, 514, 516, 517, 882, 10897 518, 0, 0, 0, 519, 520, 521, 522, 523, 524, 10898 525, 0, 526, 528, 527, 0, 530, 1493, 529, 883, 10899 531, 532, 884, 0, 533, 534, 535, 536, 537, 538, 10900 541, 1446, 1445, 539, 540, 542, 543, 0, 544, 545, 10901 547, 550, 546, 548, 549, 551, 552, 565, 566, 553, 10902 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 10903 564, 568, 0, 567, 885, 569, 570, 571, 572, 573, 10904 581, 583, 584, 579, 580, 582, 585, 586, 588, 589, 10905 576, 577, 578, 886, 587, 574, 1387, 575, 344, 887, 10906 590, 591, 592, 593, 1411, 1456, 594, 1472, 597, 598, 10907 0, 0, 599, 0, 600, 0, 0, 602, 603, 604, 10908 0, 0, 605, 606, 836, 888, 607, 889, 1487, 608, 10909 609, 1398, 610, 611, 612, 613, 614, 615, 616, 617, 10910 618, 619, 0, 620, 621, 838, 622, 623, 624, 839, 10911 625, 626, 627, 1488, 628, 841, 629, 630, 0, 631, 10912 632, 633, 0, 634, 635, 636, 637, 638, 639, 640, 10913 641, 642, 643, 1467, 644, 645, 647, 646, 648, 649, 10914 0, 650, 0, 651, 652, 653, 0, 0, 0, 0, 10915 0, 654, 655, 657, 0, 658, 659, 660, 661, 662, 10916 656, 663, 664, 665, 666, 667, 668, 669, 0, 671, 10917 672, 670, 673, 674, 890, 675, 676, 677, 678, 679, 10918 1399, 680, 0, 681, 682, 690, 691, 692, 683, 684, 10919 686, 693, 685, 694, 695, 696, 697, 699, 698, 295, 10920 701, 702, 700, 703, 704, 705, 706, 1449, 707, 844, 10921 708, 687, 688, 709, 710, 711, 891, 712, 713, 714, 10922 715, 716, 717, 718, 719, 720, 1465, 0, 721, 0, 10923 722, 723, 724, 725, 726, 727, 729, 689, 730, 731, 10924 732, 737, 738, 1496, 733, 734, 735, 736, 1489, 740, 10925 741, 742, 743, 0, 744, 745, 1384, 739, 728, 297, 10926 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 10927 0, 756, 1478, 1479, 1480, 1481, 0, 768, 0, 757, 10928 759, 760, 761, 762, 1490, 763, 1491, 1409, 764, 765, 10929 766, 767, 758, 769, 770, 0, 1391, 771, 772, 773, 10930 774, 776, 778, 779, 780, 775, 777, 781, 1450, 782, 10931 0, 0, 783, 784, 785, 2114, 1475, 1495, 0, 787, 10932 788, 786, 789, 790, 793, 791, 792, 857, 796, 513, 10933 797, 798, 799, 794, 795, 0, 0, 0, 289, 800, 10934 801, 858, 802, 803, 804, 1388, 0, 290, 0, 0, 10935 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10936 0, 1383, 0, 0, 0, 0, 0, 0, 1381, 1382, 10937 0, 0, 0, 0, 0, 0, 864, 0, 2269, 2267, 10938 0, 0, 1413, 1460, 1403, 1404, 1405, 1401, 1402, 1414, 10939 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10940 345, 346, 348, 347, 349, 350, 351, 352, 0, 353, 10941 354, 0, 0, 0, 0, 0, 1452, 1419, 0, 0, 10942 356, 0, 355, 0, 357, 358, 359, 874, 360, 361, 10943 362, 363, 364, 365, 366, 367, 806, 1466, 0, 368, 10944 1474, 369, 1473, 3292, 1484, 370, 371, 372, 373, 374, 10945 375, 376, 377, 378, 379, 1421, 1451, 1385, 380, 1497, 10946 1498, 813, 0, 381, 382, 383, 384, 1458, 0, 1439, 10947 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 10948 0, 394, 395, 396, 393, 397, 398, 0, 399, 0, 10949 400, 401, 402, 403, 404, 405, 406, 0, 407, 408, 10950 409, 876, 410, 411, 412, 1442, 1440, 1441, 1448, 1444, 10951 1443, 1447, 413, 414, 415, 416, 417, 1477, 418, 420, 10952 421, 1471, 422, 1470, 1390, 425, 427, 419, 423, 0, 10953 426, 424, 428, 429, 0, 430, 431, 432, 433, 0, 10954 0, 434, 1469, 436, 0, 437, 438, 440, 439, 0, 10955 441, 442, 443, 0, 444, 445, 1397, 446, 447, 448, 10956 450, 452, 449, 451, 453, 454, 455, 456, 457, 1485, 10957 1486, 458, 459, 1410, 340, 0, 0, 0, 0, 0, 10958 460, 461, 462, 1468, 0, 0, 0, 463, 0, 465, 10959 469, 466, 467, 468, 470, 0, 464, 471, 472, 3297, 10960 877, 473, 474, 475, 1482, 1483, 476, 477, 478, 479, 10961 480, 481, 482, 483, 484, 0, 485, 486, 1492, 0, 10962 1420, 487, 0, 488, 489, 490, 491, 492, 493, 494, 10963 1453, 1454, 1457, 595, 879, 495, 496, 497, 0, 498, 10964 499, 500, 501, 502, 503, 504, 0, 0, 0, 505, 10965 506, 507, 508, 0, 867, 341, 343, 878, 828, 509, 10966 596, 510, 1463, 1464, 0, 1424, 0, 511, 512, 515, 10967 880, 1455, 881, 514, 516, 517, 882, 518, 0, 0, 10968 0, 519, 520, 521, 522, 523, 524, 525, 0, 526, 10969 528, 527, 3293, 530, 1493, 529, 883, 531, 532, 884, 10970 0, 533, 534, 535, 536, 537, 538, 541, 1446, 1445, 10971 539, 540, 542, 543, 0, 544, 545, 547, 550, 546, 10972 548, 549, 551, 552, 565, 566, 553, 554, 555, 556, 10973 557, 558, 559, 560, 561, 562, 563, 564, 568, 0, 10974 567, 885, 569, 570, 571, 572, 573, 581, 583, 584, 10975 579, 580, 582, 585, 586, 588, 589, 576, 577, 578, 10976 886, 587, 574, 1387, 575, 344, 887, 590, 591, 592, 10977 593, 1411, 1456, 594, 1472, 597, 598, 0, 0, 599, 10978 0, 600, 0, 0, 602, 603, 604, 0, 0, 605, 10979 606, 836, 888, 607, 889, 1487, 608, 609, 1398, 610, 10980 611, 612, 613, 614, 615, 616, 617, 618, 619, 0, 10981 620, 621, 838, 622, 623, 624, 839, 625, 626, 627, 10982 1488, 628, 841, 629, 630, 0, 631, 632, 633, 0, 10983 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 10984 1467, 644, 645, 647, 646, 648, 649, 0, 650, 0, 10985 651, 652, 653, 0, 0, 0, 0, 0, 654, 655, 10986 657, 0, 658, 659, 660, 661, 662, 656, 663, 664, 10987 665, 666, 667, 668, 669, 0, 671, 672, 670, 673, 10988 674, 890, 675, 676, 677, 678, 679, 1399, 680, 0, 10989 681, 682, 690, 691, 692, 683, 684, 686, 693, 685, 10990 694, 695, 696, 697, 699, 698, 0, 701, 702, 700, 10991 703, 704, 705, 706, 1449, 707, 844, 708, 687, 688, 10992 709, 710, 711, 891, 712, 713, 714, 715, 716, 717, 10993 718, 719, 720, 1465, 0, 721, 0, 722, 723, 724, 10994 725, 726, 727, 729, 689, 730, 731, 732, 737, 738, 10995 1496, 733, 734, 735, 736, 1489, 740, 741, 742, 743, 10996 0, 744, 745, 1384, 739, 728, 0, 746, 747, 748, 10997 749, 750, 751, 752, 753, 754, 755, 0, 756, 1478, 10998 1479, 1480, 1481, 0, 768, 3294, 757, 759, 760, 761, 10999 762, 1490, 763, 1491, 1409, 764, 765, 766, 767, 758, 11000 769, 770, 0, 1391, 771, 772, 773, 774, 776, 778, 11001 779, 780, 775, 777, 781, 1450, 782, 0, 0, 783, 11002 784, 785, 854, 1475, 1495, 0, 787, 788, 786, 789, 11003 790, 793, 791, 792, 857, 796, 513, 797, 798, 799, 11004 794, 795, 0, 0, 0, 0, 800, 801, 858, 802, 11005 803, 804, 1388, 0, 0, 0, 0, 0, 0, 0, 11006 0, 0, 0, 0, 0, 0, 0, 0, 1383, 0, 11007 0, 0, 0, 0, 0, 1381, 1382, 0, 0, 0, 11008 0, 0, 0, 864, 0, 1415, 0, 0, 3204, 1413, 11009 1460, 1403, 1404, 1405, 1401, 1402, 1414, 0, 0, 0, 11010 0, 0, 0, 0, 0, 0, 0, 345, 346, 348, 11011 347, 349, 350, 351, 352, 0, 353, 354, 0, 0, 11012 0, 0, 0, 1452, 1419, 0, 0, 356, 0, 355, 11013 0, 357, 358, 359, 874, 360, 361, 362, 363, 364, 11014 365, 366, 367, 806, 1466, 0, 368, 1474, 369, 1473, 11015 0, 1484, 370, 371, 372, 373, 374, 375, 376, 377, 11016 378, 379, 1421, 1451, 1385, 380, 1497, 1498, 813, 0, 11017 381, 382, 383, 384, 1458, 0, 1439, 0, 385, 386, 11018 387, 388, 389, 390, 391, 392, 0, 0, 394, 395, 11019 396, 393, 397, 398, 0, 399, 0, 400, 401, 402, 11020 403, 404, 405, 406, 0, 407, 408, 409, 876, 410, 11021 411, 412, 1442, 1440, 1441, 1448, 1444, 1443, 1447, 413, 11022 414, 415, 416, 417, 1477, 418, 420, 421, 1471, 422, 11023 1470, 1390, 425, 427, 419, 423, 0, 426, 424, 428, 11024 429, 0, 430, 431, 432, 433, 0, 0, 434, 1469, 11025 436, 0, 437, 438, 440, 439, 0, 441, 442, 443, 11026 0, 444, 445, 1397, 446, 447, 448, 450, 452, 449, 11027 451, 453, 454, 455, 456, 457, 1485, 1486, 458, 459, 11028 1410, 340, 0, 0, 0, 0, 0, 460, 461, 462, 11029 1468, 0, 0, 0, 463, 0, 465, 469, 466, 467, 11030 468, 470, 0, 464, 471, 472, 0, 877, 473, 474, 11031 475, 1482, 1483, 476, 477, 478, 479, 480, 481, 482, 11032 483, 484, 0, 485, 486, 1492, 0, 1420, 487, 0, 11033 488, 489, 490, 491, 492, 493, 494, 1453, 1454, 1457, 11034 595, 879, 495, 496, 497, 0, 498, 499, 500, 501, 11035 502, 503, 504, 0, 0, 0, 505, 506, 507, 508, 11036 0, 867, 341, 343, 878, 828, 509, 596, 510, 1463, 11037 1464, 0, 1424, 0, 511, 512, 515, 880, 1455, 881, 11038 514, 516, 517, 882, 518, 0, 0, 0, 519, 520, 11039 521, 522, 523, 524, 525, 0, 526, 528, 527, 0, 11040 530, 1493, 529, 883, 531, 532, 884, 0, 533, 534, 11041 535, 536, 537, 538, 541, 1446, 1445, 539, 540, 542, 11042 543, 0, 544, 545, 547, 550, 546, 548, 549, 551, 11043 552, 565, 566, 553, 554, 555, 556, 557, 558, 559, 11044 560, 561, 562, 563, 564, 568, 0, 567, 885, 569, 11045 570, 571, 572, 573, 581, 583, 584, 579, 580, 582, 11046 585, 586, 588, 589, 576, 577, 578, 886, 587, 574, 11047 1387, 575, 344, 887, 590, 591, 592, 593, 1411, 1456, 11048 594, 1472, 597, 598, 0, 0, 599, 0, 600, 0, 11049 0, 602, 603, 604, 0, 0, 605, 606, 836, 888, 11050 607, 889, 1487, 608, 609, 1398, 610, 611, 612, 613, 11051 614, 615, 616, 617, 618, 619, 0, 620, 621, 838, 11052 622, 623, 624, 839, 625, 626, 627, 1488, 628, 841, 11053 629, 630, 0, 631, 632, 633, 0, 634, 635, 636, 11054 637, 638, 639, 640, 641, 642, 643, 1467, 644, 645, 11055 647, 646, 648, 649, 0, 650, 0, 651, 652, 653, 11056 0, 0, 0, 0, 0, 654, 655, 657, 0, 658, 11057 659, 660, 661, 662, 656, 663, 664, 665, 666, 667, 11058 668, 669, 0, 671, 672, 670, 673, 674, 890, 675, 11059 676, 677, 678, 679, 1399, 680, 0, 681, 682, 690, 11060 691, 692, 683, 684, 686, 693, 685, 694, 695, 696, 11061 697, 699, 698, 0, 701, 702, 700, 703, 704, 705, 11062 706, 1449, 707, 844, 708, 687, 688, 709, 710, 711, 11063 891, 712, 713, 714, 715, 716, 717, 718, 719, 720, 11064 1465, 0, 721, 0, 722, 723, 724, 725, 726, 727, 11065 729, 689, 730, 731, 732, 737, 738, 1496, 733, 734, 11066 735, 736, 1489, 740, 741, 742, 743, 0, 744, 745, 11067 1384, 739, 728, 0, 746, 747, 748, 749, 750, 751, 11068 752, 753, 754, 755, 0, 756, 1478, 1479, 1480, 1481, 11069 0, 768, 0, 757, 759, 760, 761, 762, 1490, 763, 11070 1491, 1409, 764, 765, 766, 767, 758, 769, 770, 0, 11071 1391, 771, 772, 773, 774, 776, 778, 779, 780, 775, 11072 777, 781, 1450, 782, 0, 0, 783, 784, 785, 854, 11073 1475, 1495, 0, 787, 788, 786, 789, 790, 793, 791, 11074 792, 857, 796, 513, 797, 798, 799, 794, 795, 0, 11075 0, 0, 0, 800, 801, 858, 802, 803, 804, 1388, 11076 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11077 0, 0, 0, 0, 0, 1383, 0, 0, 0, 0, 11078 0, 0, 1381, 1382, 0, 0, 0, 0, 0, 0, 11079 864, 0, 1415, 3202, 0, 3201, 1413, 1460, 1403, 1404, 11080 1405, 1401, 1402, 1414, 0, 0, 0, 0, 0, 0, 11081 0, 0, 0, 0, 345, 346, 348, 347, 349, 350, 11082 351, 352, 0, 353, 354, 0, 0, 0, 0, 0, 11083 1452, 1419, 0, 0, 356, 0, 355, 0, 357, 358, 11084 359, 874, 360, 361, 362, 363, 364, 365, 366, 367, 11085 806, 1466, 0, 368, 1474, 369, 1473, 0, 1484, 370, 11086 371, 372, 373, 374, 375, 376, 377, 378, 379, 1421, 11087 1451, 1385, 380, 1497, 1498, 813, 0, 381, 382, 383, 11088 384, 1458, 0, 1439, 0, 385, 386, 387, 388, 389, 11089 390, 391, 392, 0, 0, 394, 395, 396, 393, 397, 11090 398, 0, 399, 0, 400, 401, 402, 403, 404, 405, 11091 406, 0, 407, 408, 409, 876, 410, 411, 412, 1442, 11092 1440, 1441, 1448, 1444, 1443, 1447, 413, 414, 415, 416, 11093 417, 1477, 418, 420, 421, 1471, 422, 1470, 1390, 425, 11094 427, 419, 423, 0, 426, 424, 428, 429, 0, 430, 11095 431, 432, 433, 0, 0, 434, 1469, 436, 0, 437, 11096 438, 440, 439, 0, 441, 442, 443, 0, 444, 445, 11097 1397, 446, 447, 448, 450, 452, 449, 451, 453, 454, 11098 455, 456, 457, 1485, 1486, 458, 459, 1410, 340, 0, 11099 0, 0, 0, 0, 460, 461, 462, 1468, 0, 0, 11100 0, 463, 0, 465, 469, 466, 467, 468, 470, 0, 11101 464, 471, 472, 0, 877, 473, 474, 475, 1482, 1483, 11102 476, 477, 478, 479, 480, 481, 482, 483, 484, 0, 11103 485, 486, 1492, 0, 1420, 487, 0, 488, 489, 490, 11104 491, 492, 493, 494, 1453, 1454, 1457, 595, 879, 495, 11105 496, 497, 0, 498, 499, 500, 501, 502, 503, 504, 11106 0, 0, 0, 505, 506, 507, 508, 0, 867, 341, 11107 343, 878, 828, 509, 596, 510, 1463, 1464, 0, 1424, 11108 0, 511, 512, 515, 880, 1455, 881, 514, 516, 517, 11109 882, 518, 0, 0, 0, 519, 520, 521, 522, 523, 11110 524, 525, 0, 526, 528, 527, 0, 530, 1493, 529, 11111 883, 531, 532, 884, 0, 533, 534, 535, 536, 537, 11112 538, 541, 1446, 1445, 539, 540, 542, 543, 0, 544, 11113 545, 547, 550, 546, 548, 549, 551, 552, 565, 566, 11114 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 11115 563, 564, 568, 0, 567, 885, 569, 570, 571, 572, 11116 573, 581, 583, 584, 579, 580, 582, 585, 586, 588, 11117 589, 576, 577, 578, 886, 587, 574, 1387, 575, 344, 11118 887, 590, 591, 592, 593, 1411, 1456, 594, 1472, 597, 11119 598, 0, 0, 599, 0, 600, 0, 0, 602, 603, 11120 604, 0, 0, 605, 606, 836, 888, 607, 889, 1487, 11121 608, 609, 1398, 610, 611, 612, 613, 614, 615, 616, 11122 617, 618, 619, 0, 620, 621, 838, 622, 623, 624, 11123 839, 625, 626, 627, 1488, 628, 841, 629, 630, 0, 11124 631, 632, 633, 0, 634, 635, 636, 637, 638, 639, 11125 640, 641, 642, 643, 1467, 644, 645, 647, 646, 648, 11126 649, 0, 650, 0, 651, 652, 653, 0, 0, 0, 11127 0, 0, 654, 655, 657, 0, 658, 659, 660, 661, 11128 662, 656, 663, 664, 665, 666, 667, 668, 669, 0, 11129 671, 672, 670, 673, 674, 890, 675, 676, 677, 678, 11130 679, 1399, 680, 0, 681, 682, 690, 691, 692, 683, 11131 684, 686, 693, 685, 694, 695, 696, 697, 699, 698, 11132 0, 701, 702, 700, 703, 704, 705, 706, 1449, 707, 11133 844, 708, 687, 688, 709, 710, 711, 891, 712, 713, 11134 714, 715, 716, 717, 718, 719, 720, 1465, 0, 721, 11135 0, 722, 723, 724, 725, 726, 727, 729, 689, 730, 11136 731, 732, 737, 738, 1496, 733, 734, 735, 736, 1489, 11137 740, 741, 742, 743, 0, 744, 745, 1384, 739, 728, 11138 0, 746, 747, 748, 749, 750, 751, 752, 753, 754, 11139 755, 0, 756, 1478, 1479, 1480, 1481, 0, 768, 0, 11140 757, 759, 760, 761, 762, 1490, 763, 1491, 1409, 764, 11141 765, 766, 767, 758, 769, 770, 0, 1391, 771, 772, 11142 773, 774, 776, 778, 779, 780, 775, 777, 781, 1450, 11143 782, 0, 0, 783, 784, 785, 854, 1475, 1495, 0, 11144 787, 788, 786, 789, 790, 793, 791, 792, 857, 796, 11145 513, 797, 798, 799, 794, 795, 0, 0, 0, 0, 11146 800, 801, 858, 802, 803, 804, 1388, 0, 0, 0, 11147 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11148 0, 0, 1383, 0, 0, 0, 0, 0, 0, 1381, 11149 1382, 0, 0, 0, 0, 0, 0, 864, 0, 1415, 11150 3199, 0, 3198, 1413, 1460, 1403, 1404, 1405, 1401, 1402, 11151 1414, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11152 0, 345, 346, 348, 347, 349, 350, 351, 352, 0, 11153 353, 354, 0, 0, 0, 0, 0, 1452, 1419, 0, 11154 0, 356, 0, 355, 0, 357, 358, 359, 874, 360, 11155 361, 362, 363, 364, 365, 366, 367, 806, 1466, 0, 11156 368, 1474, 369, 1473, 0, 1484, 370, 371, 372, 373, 11157 374, 375, 376, 377, 378, 379, 1421, 1451, 1385, 380, 11158 1497, 1498, 813, 0, 381, 382, 383, 384, 1458, 0, 11159 1439, 0, 385, 386, 387, 388, 389, 390, 391, 392, 11160 0, 0, 394, 395, 396, 393, 397, 398, 0, 399, 11161 0, 400, 401, 402, 403, 404, 405, 406, 0, 407, 11162 408, 409, 876, 410, 411, 412, 1442, 1440, 1441, 1448, 11163 1444, 1443, 1447, 413, 414, 415, 416, 417, 1477, 418, 11164 420, 421, 1471, 422, 1470, 1390, 425, 427, 419, 423, 11165 0, 426, 424, 428, 429, 0, 430, 431, 432, 433, 11166 0, 0, 434, 1469, 436, 0, 437, 438, 440, 439, 11167 0, 441, 442, 443, 0, 444, 445, 1397, 446, 447, 11168 448, 450, 452, 449, 451, 453, 454, 455, 456, 457, 11169 1485, 1486, 458, 459, 1410, 340, 0, 0, 0, 0, 11170 0, 460, 461, 462, 1468, 0, 0, 0, 463, 0, 11171 465, 469, 466, 467, 468, 470, 0, 464, 471, 472, 11172 0, 877, 473, 474, 475, 1482, 1483, 476, 477, 478, 11173 479, 480, 481, 482, 483, 484, 0, 485, 486, 1492, 11174 0, 1420, 487, 0, 488, 489, 490, 491, 492, 493, 11175 494, 1453, 1454, 1457, 595, 879, 495, 496, 497, 0, 11176 498, 499, 500, 501, 502, 503, 504, 0, 0, 0, 11177 505, 506, 507, 508, 0, 867, 341, 343, 878, 828, 11178 509, 596, 510, 1463, 1464, 0, 1424, 0, 511, 512, 11179 515, 880, 1455, 881, 514, 516, 517, 882, 518, 0, 11180 0, 0, 519, 520, 521, 522, 523, 524, 525, 0, 11181 526, 528, 527, 0, 530, 1493, 529, 883, 531, 532, 11182 884, 0, 533, 534, 535, 536, 537, 538, 541, 1446, 11183 1445, 539, 540, 542, 543, 0, 544, 545, 547, 550, 11184 546, 548, 549, 551, 552, 565, 566, 553, 554, 555, 11185 556, 557, 558, 559, 560, 561, 562, 563, 564, 568, 11186 0, 567, 885, 569, 570, 571, 572, 573, 581, 583, 11187 584, 579, 580, 582, 585, 586, 588, 589, 576, 577, 11188 578, 886, 587, 574, 1387, 575, 344, 887, 590, 591, 11189 592, 593, 1411, 1456, 594, 1472, 597, 598, 0, 0, 11190 599, 0, 600, 0, 0, 602, 603, 604, 0, 0, 11191 605, 606, 836, 888, 607, 889, 1487, 608, 609, 1398, 11192 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 11193 0, 620, 621, 838, 622, 623, 624, 839, 625, 626, 11194 627, 1488, 628, 841, 629, 630, 0, 631, 632, 633, 11195 0, 634, 635, 636, 637, 638, 639, 640, 641, 642, 11196 643, 1467, 644, 645, 647, 646, 648, 649, 0, 650, 11197 0, 651, 652, 653, 0, 0, 0, 0, 0, 654, 11198 655, 657, 0, 658, 659, 660, 661, 662, 656, 663, 11199 664, 665, 666, 667, 668, 669, 0, 671, 672, 670, 11200 673, 674, 890, 675, 676, 677, 678, 679, 1399, 680, 11201 0, 681, 682, 690, 691, 692, 683, 684, 686, 693, 11202 685, 694, 695, 696, 697, 699, 698, 0, 701, 702, 11203 700, 703, 704, 705, 706, 1449, 707, 844, 708, 687, 11204 688, 709, 710, 711, 891, 712, 713, 714, 715, 716, 11205 717, 718, 719, 720, 1465, 0, 721, 0, 722, 723, 11206 724, 725, 726, 727, 729, 689, 730, 731, 732, 737, 11207 738, 1496, 733, 734, 735, 736, 1489, 740, 741, 742, 11208 743, 0, 744, 745, 1384, 739, 728, 0, 746, 747, 11209 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 11210 1478, 1479, 1480, 1481, 0, 768, 0, 757, 759, 760, 11211 761, 762, 1490, 763, 1491, 1409, 764, 765, 766, 767, 11212 758, 769, 770, 0, 1391, 771, 772, 773, 774, 776, 11213 778, 779, 780, 775, 777, 781, 1450, 782, 0, 0, 11214 783, 784, 785, 854, 1475, 1495, 0, 787, 788, 786, 11215 789, 790, 793, 791, 792, 857, 796, 513, 797, 798, 11216 799, 794, 795, 0, 0, 0, 0, 800, 801, 858, 11217 802, 803, 804, 1388, 0, 0, 0, 0, 0, 0, 11218 0, 0, 0, 0, 0, 0, 0, 0, 0, 1383, 11219 0, 0, 0, 0, 0, 0, 1381, 1382, 0, 0, 11220 0, 0, 0, 0, 864, 0, 1415, 3196, 0, 3195, 11221 1413, 1460, 1403, 1404, 1405, 1401, 1402, 1414, 0, 0, 11222 0, 0, 0, 0, 0, 0, 0, 0, 345, 346, 11223 348, 347, 349, 350, 351, 352, 0, 353, 354, 0, 11224 0, 0, 0, 0, 1452, 1419, 0, 0, 356, 0, 11225 355, 0, 357, 358, 359, 874, 360, 361, 362, 363, 11226 364, 365, 366, 367, 806, 1466, 0, 368, 1474, 369, 11227 1473, 0, 1484, 370, 371, 372, 373, 374, 375, 376, 11228 377, 378, 379, 1421, 1451, 1385, 380, 1497, 1498, 813, 11229 0, 381, 382, 383, 384, 1458, 0, 1439, 0, 385, 11230 386, 387, 388, 389, 390, 391, 392, 0, 0, 394, 11231 395, 396, 393, 397, 398, 0, 399, 0, 400, 401, 11232 402, 403, 404, 405, 406, 0, 407, 408, 409, 876, 11233 410, 411, 412, 1442, 1440, 1441, 1448, 1444, 1443, 1447, 11234 413, 414, 415, 416, 417, 1477, 418, 420, 421, 1471, 11235 422, 1470, 1390, 425, 427, 419, 423, 0, 426, 424, 11236 428, 429, 0, 430, 431, 432, 433, 0, 0, 434, 11237 1469, 436, 0, 437, 438, 440, 439, 0, 441, 442, 11238 443, 0, 444, 445, 1397, 446, 447, 448, 450, 452, 11239 449, 451, 453, 454, 455, 456, 457, 1485, 1486, 458, 11240 459, 1410, 340, 0, 0, 0, 0, 0, 460, 461, 11241 462, 1468, 0, 0, 0, 463, 0, 465, 469, 466, 11242 467, 468, 470, 0, 464, 471, 472, 0, 877, 473, 11243 474, 475, 1482, 1483, 476, 477, 478, 479, 480, 481, 11244 482, 483, 484, 0, 485, 486, 1492, 0, 1420, 487, 11245 0, 488, 489, 490, 491, 492, 493, 494, 1453, 1454, 11246 1457, 595, 879, 495, 496, 497, 0, 498, 499, 500, 11247 501, 502, 503, 504, 0, 0, 0, 505, 506, 507, 11248 508, 0, 867, 341, 343, 878, 828, 509, 596, 510, 11249 1463, 1464, 0, 1424, 0, 511, 512, 515, 880, 1455, 11250 881, 514, 516, 517, 882, 518, 0, 0, 0, 519, 11251 520, 521, 522, 523, 524, 525, 0, 526, 528, 527, 11252 0, 530, 1493, 529, 883, 531, 532, 884, 0, 533, 11253 534, 535, 536, 537, 538, 541, 1446, 1445, 539, 540, 11254 542, 543, 0, 544, 545, 547, 550, 546, 548, 549, 11255 551, 552, 565, 566, 553, 554, 555, 556, 557, 558, 11256 559, 560, 561, 562, 563, 564, 568, 0, 567, 885, 11257 569, 570, 571, 572, 573, 581, 583, 584, 579, 580, 11258 582, 585, 586, 588, 589, 576, 577, 578, 886, 587, 11259 574, 1387, 575, 344, 887, 590, 591, 592, 593, 1411, 11260 1456, 594, 1472, 597, 598, 0, 0, 599, 0, 600, 11261 0, 0, 602, 603, 604, 0, 0, 605, 606, 836, 11262 888, 607, 889, 1487, 608, 609, 1398, 610, 611, 612, 11263 613, 614, 615, 616, 617, 618, 619, 0, 620, 621, 11264 838, 622, 623, 624, 839, 625, 626, 627, 1488, 628, 11265 841, 629, 630, 0, 631, 632, 633, 0, 634, 635, 11266 636, 637, 638, 639, 640, 641, 642, 643, 1467, 644, 11267 645, 647, 646, 648, 649, 0, 650, 0, 651, 652, 11268 653, 0, 0, 0, 0, 0, 654, 655, 657, 0, 11269 658, 659, 660, 661, 662, 656, 663, 664, 665, 666, 11270 667, 668, 669, 0, 671, 672, 670, 673, 674, 890, 11271 675, 676, 677, 678, 679, 1399, 680, 0, 681, 682, 11272 690, 691, 692, 683, 684, 686, 693, 685, 694, 695, 11273 696, 697, 699, 698, 0, 701, 702, 700, 703, 704, 11274 705, 706, 1449, 707, 844, 708, 687, 688, 709, 710, 11275 711, 891, 712, 713, 714, 715, 716, 717, 718, 719, 11276 720, 1465, 0, 721, 0, 722, 723, 724, 725, 726, 11277 727, 729, 689, 730, 731, 732, 737, 738, 1496, 733, 11278 734, 735, 736, 1489, 740, 741, 742, 743, 0, 744, 11279 745, 1384, 739, 728, 0, 746, 747, 748, 749, 750, 11280 751, 752, 753, 754, 755, 0, 756, 1478, 1479, 1480, 11281 1481, 0, 768, 0, 757, 759, 760, 761, 762, 1490, 11282 763, 1491, 1409, 764, 765, 766, 767, 758, 769, 770, 11283 0, 1391, 771, 772, 773, 774, 776, 778, 779, 780, 11284 775, 777, 781, 1450, 782, 0, 0, 783, 784, 785, 11285 854, 1475, 1495, 0, 787, 788, 786, 789, 790, 793, 11286 791, 792, 857, 796, 513, 797, 798, 799, 794, 795, 11287 0, 0, 0, 0, 800, 801, 858, 802, 803, 804, 11288 1388, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11289 0, 0, 0, 0, 0, 0, 1383, 0, 0, 0, 11290 0, 0, 0, 1381, 1382, 0, 0, 0, 0, 0, 11291 0, 864, 0, 1415, 3193, 0, 1788, 1413, 1460, 1403, 11292 1404, 1405, 1401, 1402, 1414, 0, 0, 0, 0, 0, 11293 0, 0, 0, 0, 0, 345, 346, 348, 347, 349, 11294 350, 351, 352, 0, 353, 354, 0, 0, 0, 0, 11295 0, 1452, 1419, 0, 0, 356, 0, 355, 0, 357, 11296 358, 359, 874, 360, 361, 362, 363, 364, 365, 366, 11297 367, 806, 1466, 0, 368, 1474, 369, 1473, 0, 1484, 11298 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 11299 1421, 1451, 1385, 380, 1497, 1498, 813, 0, 381, 382, 11300 383, 384, 1458, 0, 1439, 0, 385, 386, 387, 388, 11301 389, 390, 391, 392, 0, 0, 394, 395, 396, 393, 11302 397, 398, 0, 399, 0, 400, 401, 402, 403, 404, 11303 405, 406, 0, 407, 408, 409, 876, 410, 411, 412, 11304 1442, 1440, 1441, 1448, 1444, 1443, 1447, 413, 414, 415, 11305 416, 417, 1477, 418, 420, 421, 1471, 422, 1470, 1390, 11306 425, 427, 419, 423, 0, 426, 424, 428, 429, 0, 11307 430, 431, 432, 433, 0, 0, 434, 1469, 436, 0, 11308 437, 438, 440, 439, 0, 441, 442, 443, 0, 444, 11309 445, 1397, 446, 447, 448, 450, 452, 449, 451, 453, 11310 454, 455, 456, 457, 1485, 1486, 458, 459, 1410, 340, 11311 0, 0, 0, 0, 0, 460, 461, 462, 1468, 0, 11312 0, 0, 463, 0, 465, 469, 466, 467, 468, 470, 11313 0, 464, 471, 472, 0, 877, 473, 474, 475, 1482, 11314 1483, 476, 477, 478, 479, 480, 481, 482, 483, 484, 11315 0, 485, 486, 1492, 0, 1420, 487, 0, 488, 489, 11316 490, 491, 492, 493, 494, 1453, 1454, 1457, 595, 879, 11317 495, 496, 497, 0, 498, 499, 500, 501, 502, 503, 11318 504, 0, 0, 0, 505, 506, 507, 508, 0, 867, 11319 341, 343, 878, 828, 509, 596, 510, 1463, 1464, 0, 11320 1424, 0, 511, 512, 515, 880, 1455, 881, 514, 516, 11321 517, 882, 518, 0, 0, 0, 519, 520, 521, 522, 11322 523, 524, 525, 0, 526, 528, 527, 0, 530, 1493, 11323 529, 883, 531, 532, 884, 0, 533, 534, 535, 536, 11324 537, 538, 541, 1446, 1445, 539, 540, 542, 543, 0, 11325 544, 545, 547, 550, 546, 548, 549, 551, 552, 565, 11326 566, 553, 554, 555, 556, 557, 558, 559, 560, 561, 11327 562, 563, 564, 568, 0, 567, 885, 569, 570, 571, 11328 572, 573, 581, 583, 584, 579, 580, 582, 585, 586, 11329 588, 589, 576, 577, 578, 886, 587, 574, 1387, 575, 11330 344, 887, 590, 591, 592, 593, 1411, 1456, 594, 1472, 11331 597, 598, 0, 0, 599, 0, 600, 0, 0, 602, 11332 603, 604, 0, 0, 605, 606, 836, 888, 607, 889, 11333 1487, 608, 609, 1398, 610, 611, 612, 613, 614, 615, 11334 616, 617, 618, 619, 0, 620, 621, 838, 622, 623, 11335 624, 839, 625, 626, 627, 1488, 628, 841, 629, 630, 11336 0, 631, 632, 633, 0, 634, 635, 636, 637, 638, 11337 639, 640, 641, 642, 643, 1467, 644, 645, 647, 646, 11338 648, 649, 0, 650, 0, 651, 652, 653, 0, 0, 11339 0, 0, 0, 654, 655, 657, 0, 658, 659, 660, 11340 661, 662, 656, 663, 664, 665, 666, 667, 668, 669, 11341 0, 671, 672, 670, 673, 674, 890, 675, 676, 677, 11342 678, 679, 1399, 680, 0, 681, 682, 690, 691, 692, 11343 683, 684, 686, 693, 685, 694, 695, 696, 697, 699, 11344 698, 0, 701, 702, 700, 703, 704, 705, 706, 1449, 11345 707, 844, 708, 687, 688, 709, 710, 711, 891, 712, 11346 713, 714, 715, 716, 717, 718, 719, 720, 1465, 0, 11347 721, 0, 722, 723, 724, 725, 726, 727, 729, 689, 11348 730, 731, 732, 737, 738, 1496, 733, 734, 735, 736, 11349 1489, 740, 741, 742, 743, 0, 744, 745, 1384, 739, 11350 728, 0, 746, 747, 748, 749, 750, 751, 752, 753, 11351 754, 755, 0, 756, 1478, 1479, 1480, 1481, 0, 768, 11352 0, 757, 759, 760, 761, 762, 1490, 763, 1491, 1409, 11353 764, 765, 766, 767, 758, 769, 770, 0, 1391, 771, 11354 772, 773, 774, 776, 778, 779, 780, 775, 777, 781, 11355 1450, 782, 0, 0, 783, 784, 785, 854, 1475, 1495, 11356 0, 787, 788, 786, 789, 790, 793, 791, 792, 857, 11357 796, 513, 797, 798, 799, 794, 795, 1787, 0, 0, 11358 0, 800, 801, 858, 802, 803, 804, 1388, 0, 0, 11359 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11360 0, 0, 0, 1383, 0, 0, 0, 0, 0, 0, 11361 1381, 1382, 0, 0, 0, 0, 0, 0, 864, 0, 11362 1415, 0, 0, 1377, 1413, 1460, 1403, 1404, 1405, 1401, 11363 1402, 1414, 0, 0, 0, 0, 0, 0, 0, 0, 11364 0, 0, 345, 346, 348, 347, 349, 350, 351, 352, 11365 0, 353, 354, 0, 0, 0, 0, 0, 1452, 1419, 11366 0, 0, 356, 0, 355, 0, 357, 358, 359, 874, 11367 360, 361, 362, 363, 364, 365, 366, 367, 806, 1466, 11368 0, 368, 1474, 369, 1473, 0, 1484, 370, 371, 372, 11369 373, 374, 375, 376, 377, 378, 379, 1421, 1451, 1385, 11370 380, 1497, 1498, 813, 0, 381, 382, 383, 384, 1458, 11371 0, 1439, 0, 385, 386, 387, 388, 389, 390, 391, 11372 392, 0, 0, 394, 395, 396, 393, 397, 398, 0, 11373 399, 0, 400, 401, 402, 403, 404, 405, 406, 0, 11374 407, 408, 409, 876, 410, 411, 412, 1442, 1440, 1441, 11375 1448, 1444, 1443, 1447, 413, 414, 415, 416, 417, 1477, 11376 418, 420, 421, 1471, 422, 1470, 1390, 425, 427, 419, 11377 423, 0, 426, 424, 428, 429, 0, 430, 431, 432, 11378 433, 0, 0, 434, 1469, 436, 0, 437, 438, 440, 11379 439, 0, 441, 442, 443, 0, 444, 445, 1397, 446, 11380 447, 448, 450, 452, 449, 451, 453, 454, 455, 456, 11381 457, 1485, 1486, 458, 459, 1410, 340, 0, 0, 0, 11382 0, 0, 460, 461, 462, 1468, 0, 0, 0, 463, 11383 0, 465, 469, 466, 467, 468, 470, 0, 464, 471, 11384 472, 0, 877, 473, 474, 475, 1482, 1483, 476, 477, 11385 478, 479, 480, 481, 482, 483, 484, 0, 485, 486, 11386 1492, 0, 1420, 487, 0, 488, 489, 490, 491, 492, 11387 493, 494, 1453, 1454, 1457, 595, 879, 495, 496, 497, 11388 0, 498, 499, 500, 501, 502, 503, 504, 0, 0, 11389 0, 505, 506, 507, 508, 0, 867, 341, 343, 878, 11390 828, 509, 596, 510, 1463, 1464, 0, 1424, 0, 511, 11391 512, 515, 880, 1455, 881, 514, 516, 517, 882, 518, 11392 0, 0, 0, 519, 520, 521, 522, 523, 524, 525, 11393 0, 526, 528, 527, 0, 530, 1493, 529, 883, 531, 11394 532, 884, 0, 533, 534, 535, 536, 537, 538, 541, 11395 1446, 1445, 539, 540, 542, 543, 0, 544, 545, 547, 11396 550, 546, 548, 549, 551, 552, 565, 566, 553, 554, 11397 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 11398 568, 0, 567, 885, 569, 570, 571, 572, 573, 581, 11399 583, 584, 579, 580, 582, 585, 586, 588, 589, 576, 11400 577, 578, 1393, 587, 574, 1387, 575, 344, 887, 590, 11401 591, 592, 593, 1411, 1456, 594, 1472, 597, 598, 0, 11402 0, 599, 0, 600, 1392, 0, 602, 603, 604, 0, 11403 0, 605, 606, 836, 888, 607, 889, 1487, 608, 609, 11404 1398, 610, 611, 612, 613, 614, 615, 616, 617, 618, 11405 619, 0, 620, 621, 838, 622, 623, 624, 839, 625, 11406 626, 627, 1488, 628, 841, 629, 630, 0, 631, 632, 11407 633, 0, 634, 635, 636, 637, 638, 639, 640, 641, 11408 642, 643, 1467, 644, 645, 647, 646, 648, 649, 0, 11409 650, 0, 651, 652, 653, 0, 0, 0, 0, 0, 11410 654, 655, 657, 0, 658, 659, 660, 661, 662, 656, 11411 663, 664, 665, 666, 667, 668, 669, 0, 671, 672, 11412 670, 673, 674, 890, 675, 676, 677, 678, 679, 1399, 11413 680, 0, 681, 682, 690, 691, 692, 683, 684, 686, 11414 693, 685, 694, 695, 696, 697, 699, 698, 0, 701, 11415 702, 700, 703, 704, 705, 706, 1449, 707, 844, 708, 11416 687, 688, 709, 710, 711, 891, 712, 713, 714, 715, 11417 716, 717, 718, 719, 720, 1465, 0, 721, 0, 722, 11418 723, 724, 725, 726, 727, 729, 689, 730, 731, 732, 11419 737, 738, 1496, 733, 734, 735, 736, 1489, 740, 741, 11420 742, 743, 0, 744, 745, 1384, 739, 728, 0, 746, 11421 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 11422 756, 1478, 1479, 1480, 1481, 0, 768, 0, 757, 759, 11423 760, 761, 762, 1490, 763, 1491, 1409, 764, 765, 766, 11424 767, 758, 769, 770, 0, 1391, 771, 772, 773, 774, 11425 776, 778, 779, 780, 775, 777, 781, 1450, 782, 0, 11426 0, 783, 784, 785, 854, 1475, 1495, 0, 787, 788, 11427 786, 789, 790, 793, 791, 792, 857, 796, 513, 797, 11428 798, 799, 794, 795, 0, 0, 0, 0, 800, 801, 11429 858, 802, 803, 804, 1388, 0, 0, 0, 0, 0, 11430 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11431 1383, 0, 0, 0, 0, 0, 0, 1381, 1382, 0, 11432 0, 0, 0, 0, 0, 864, 0, 1415, 0, 0, 11433 0, 1413, 1460, 1403, 1404, 1405, 1401, 1402, 1414, 0, 11434 0, 0, 0, 0, 0, 0, 0, 0, 0, 345, 11435 346, 348, 347, 349, 350, 351, 352, 0, 353, 354, 11436 0, 0, 0, 0, 0, 1452, 1419, 0, 0, 356, 11437 0, 355, 0, 357, 358, 359, 874, 360, 361, 362, 11438 363, 364, 365, 366, 367, 806, 1466, 0, 368, 1474, 11439 369, 1473, 0, 1484, 370, 371, 372, 373, 374, 375, 11440 376, 377, 378, 379, 1421, 1451, 1385, 380, 1497, 1498, 11441 813, 0, 381, 382, 383, 384, 1458, 0, 1439, 0, 11442 385, 386, 387, 388, 389, 390, 391, 392, 0, 0, 11443 394, 395, 396, 393, 397, 398, 0, 399, 0, 400, 11444 401, 402, 403, 6520, 405, 406, 0, 407, 408, 409, 11445 876, 410, 411, 412, 1442, 1440, 1441, 1448, 1444, 1443, 11446 1447, 413, 414, 415, 416, 417, 1477, 418, 420, 421, 11447 1471, 422, 1470, 1390, 425, 427, 419, 423, 0, 426, 11448 424, 428, 429, 0, 430, 431, 432, 433, 0, 0, 11449 434, 1469, 436, 0, 437, 438, 440, 439, 0, 441, 11450 442, 443, 0, 444, 445, 1397, 446, 447, 448, 450, 11451 452, 449, 451, 453, 454, 455, 456, 457, 1485, 1486, 11452 458, 459, 1410, 340, 0, 0, 0, 0, 0, 460, 11453 461, 462, 1468, 0, 0, 0, 463, 0, 465, 469, 11454 466, 467, 468, 470, 0, 464, 471, 472, 0, 877, 11455 473, 474, 475, 1482, 1483, 476, 477, 478, 479, 480, 11456 481, 482, 483, 484, 0, 485, 486, 1492, 0, 1420, 11457 487, 0, 488, 489, 490, 491, 492, 493, 494, 1453, 11458 1454, 1457, 595, 879, 495, 496, 497, 0, 498, 499, 11459 500, 501, 502, 503, 504, 0, 0, 0, 505, 506, 11460 507, 508, 0, 867, 341, 343, 878, 828, 509, 596, 11461 510, 1463, 1464, 0, 1424, 0, 511, 512, 515, 880, 11462 1455, 881, 514, 516, 517, 882, 518, 0, 0, 0, 11463 519, 520, 521, 522, 523, 524, 525, 0, 526, 528, 11464 527, 0, 530, 1493, 529, 883, 531, 532, 884, 0, 11465 533, 534, 535, 536, 537, 538, 541, 1446, 1445, 539, 11466 540, 542, 543, 0, 544, 545, 547, 550, 546, 548, 11467 549, 551, 552, 565, 566, 553, 554, 555, 556, 557, 11468 558, 559, 560, 561, 562, 563, 564, 568, 0, 567, 11469 885, 569, 570, 571, 572, 573, 581, 583, 584, 579, 11470 580, 582, 585, 586, 588, 589, 576, 577, 578, 1393, 11471 587, 574, 1387, 575, 344, 887, 590, 591, 592, 593, 11472 1411, 1456, 594, 1472, 597, 598, 0, 0, 599, 0, 11473 600, 1392, 0, 602, 603, 604, 0, 0, 605, 606, 11474 836, 888, 607, 889, 1487, 608, 609, 1398, 610, 611, 11475 612, 613, 614, 615, 616, 617, 618, 619, 0, 620, 11476 621, 838, 622, 623, 624, 839, 625, 626, 627, 1488, 11477 628, 841, 629, 630, 0, 631, 632, 633, 0, 634, 11478 635, 636, 637, 638, 639, 640, 641, 642, 643, 1467, 11479 644, 645, 647, 646, 648, 649, 0, 650, 0, 651, 11480 652, 653, 0, 0, 0, 0, 0, 654, 655, 657, 11481 0, 658, 659, 660, 661, 662, 656, 663, 664, 665, 11482 666, 667, 668, 669, 0, 671, 672, 670, 673, 674, 11483 890, 675, 676, 677, 678, 679, 1399, 680, 0, 681, 11484 682, 690, 691, 692, 683, 684, 686, 693, 685, 694, 11485 695, 696, 697, 699, 698, 0, 701, 702, 700, 703, 11486 704, 705, 706, 1449, 707, 844, 708, 687, 688, 709, 11487 710, 711, 891, 712, 713, 714, 715, 716, 717, 718, 11488 719, 720, 1465, 0, 721, 0, 722, 723, 724, 725, 11489 726, 727, 729, 689, 730, 731, 732, 737, 738, 1496, 11490 733, 734, 735, 736, 1489, 740, 741, 742, 743, 0, 11491 744, 745, 1384, 739, 728, 0, 746, 747, 748, 749, 11492 750, 751, 752, 753, 754, 755, 0, 756, 1478, 1479, 11493 1480, 1481, 0, 768, 0, 757, 759, 760, 761, 762, 11494 1490, 763, 1491, 1409, 764, 765, 766, 767, 758, 769, 11495 770, 0, 1391, 771, 772, 773, 774, 776, 778, 779, 11496 780, 775, 777, 781, 1450, 782, 0, 0, 783, 784, 11497 785, 854, 1475, 1495, 0, 787, 788, 786, 789, 790, 11498 793, 791, 792, 857, 796, 513, 797, 798, 799, 794, 11499 795, 0, 0, 0, 0, 800, 801, 858, 802, 803, 11500 804, 1388, 0, 0, 0, 0, 0, 0, 0, 0, 11501 0, 0, 0, 0, 0, 0, 0, 1383, 0, 0, 11502 0, 0, 0, 0, 1381, 1382, 0, 0, 0, 0, 11503 0, 0, 864, 0, 1415, 0, 0, 0, 1413, 1460, 11504 1403, 1404, 1405, 1401, 1402, 1414, 0, 0, 0, 0, 11505 0, 0, 0, 0, 0, 0, 345, 346, 348, 347, 11506 349, 350, 351, 352, 0, 353, 354, 0, 0, 0, 11507 0, 0, 1452, 1419, 0, 0, 356, 0, 355, 0, 11508 357, 358, 359, 874, 360, 361, 362, 363, 364, 365, 11509 366, 367, 806, 1466, 0, 368, 1474, 369, 1473, 0, 11510 1484, 370, 371, 372, 373, 374, 375, 376, 377, 378, 11511 379, 1421, 1451, 1385, 380, 1497, 1498, 813, 0, 381, 11512 382, 383, 384, 1458, 0, 1439, 0, 385, 386, 387, 11513 388, 389, 390, 391, 392, 0, 0, 394, 395, 396, 11514 393, 397, 398, 0, 399, 0, 400, 401, 402, 403, 11515 404, 405, 406, 0, 407, 408, 409, 876, 410, 411, 11516 412, 1442, 1440, 1441, 1448, 1444, 1443, 1447, 413, 414, 11517 415, 416, 417, 1477, 418, 420, 421, 1471, 422, 1470, 11518 1390, 425, 427, 419, 423, 0, 426, 424, 428, 429, 11519 0, 430, 431, 432, 433, 0, 0, 434, 1469, 436, 11520 0, 437, 438, 440, 439, 0, 441, 442, 443, 0, 11521 444, 445, 1397, 446, 447, 448, 450, 452, 449, 451, 11522 453, 454, 455, 456, 457, 1485, 1486, 458, 459, 1410, 11523 340, 0, 0, 0, 0, 0, 460, 461, 462, 1468, 11524 0, 0, 0, 463, 0, 465, 469, 466, 467, 468, 11525 470, 0, 464, 471, 472, 0, 877, 473, 474, 475, 11526 1482, 1483, 476, 477, 478, 479, 480, 481, 482, 483, 11527 484, 0, 485, 486, 1492, 0, 1420, 487, 0, 488, 11528 489, 490, 491, 492, 493, 494, 1453, 1454, 1457, 595, 11529 879, 495, 496, 497, 0, 498, 499, 500, 501, 502, 11530 503, 504, 0, 0, 0, 505, 506, 507, 508, 0, 11531 867, 341, 3038, 878, 828, 509, 596, 510, 1463, 1464, 11532 0, 1424, 0, 511, 512, 515, 880, 1455, 881, 514, 11533 516, 517, 882, 518, 0, 0, 0, 519, 520, 521, 11534 522, 523, 524, 525, 0, 526, 528, 527, 0, 530, 11535 1493, 529, 883, 531, 532, 884, 0, 533, 534, 535, 11536 536, 537, 538, 541, 1446, 1445, 539, 540, 542, 543, 11537 0, 544, 545, 547, 550, 546, 548, 549, 551, 552, 11538 565, 566, 553, 554, 555, 556, 557, 558, 559, 560, 11539 561, 562, 563, 564, 568, 0, 567, 885, 569, 570, 11540 571, 572, 573, 581, 583, 584, 579, 580, 582, 585, 11541 586, 588, 589, 576, 577, 578, 886, 587, 574, 1387, 11542 575, 344, 887, 590, 591, 592, 593, 1411, 1456, 594, 11543 1472, 597, 598, 0, 0, 599, 0, 600, 0, 0, 11544 602, 603, 604, 0, 0, 605, 606, 836, 888, 607, 11545 889, 1487, 608, 609, 1398, 610, 611, 612, 613, 614, 11546 615, 616, 617, 618, 619, 0, 620, 621, 838, 622, 11547 623, 624, 839, 625, 626, 627, 1488, 628, 841, 629, 11548 630, 3037, 631, 632, 633, 0, 634, 635, 636, 637, 11549 638, 639, 640, 641, 642, 643, 1467, 644, 645, 647, 11550 646, 648, 649, 0, 650, 0, 651, 652, 653, 0, 11551 0, 0, 0, 0, 654, 655, 657, 0, 658, 659, 11552 660, 661, 662, 656, 663, 664, 665, 666, 667, 668, 11553 669, 0, 671, 672, 670, 673, 674, 890, 675, 676, 11554 677, 678, 679, 1399, 680, 0, 681, 682, 690, 691, 11555 692, 683, 684, 686, 693, 685, 694, 695, 696, 697, 11556 699, 698, 0, 701, 702, 700, 703, 704, 705, 706, 11557 1449, 707, 844, 708, 687, 688, 709, 710, 711, 891, 11558 712, 713, 714, 715, 716, 717, 718, 719, 720, 1465, 11559 0, 721, 0, 722, 723, 724, 725, 726, 727, 729, 11560 689, 730, 731, 732, 737, 738, 1496, 733, 734, 735, 11561 736, 1489, 740, 741, 742, 743, 0, 744, 745, 1384, 11562 739, 728, 0, 746, 747, 748, 749, 750, 751, 752, 11563 753, 754, 755, 0, 756, 1478, 1479, 1480, 1481, 0, 11564 768, 0, 757, 759, 760, 761, 762, 1490, 763, 1491, 11565 1409, 764, 765, 766, 767, 758, 769, 770, 0, 1391, 11566 771, 772, 773, 774, 776, 778, 779, 780, 775, 777, 11567 781, 1450, 782, 0, 0, 783, 784, 785, 854, 1475, 11568 1495, 0, 787, 788, 786, 789, 790, 793, 791, 792, 11569 857, 796, 513, 797, 798, 799, 794, 795, 0, 0, 11570 0, 0, 800, 801, 858, 802, 803, 804, 1388, 0, 11571 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11572 0, 0, 0, 0, 1383, 0, 0, 0, 0, 0, 11573 0, 1381, 1382, 0, 0, 0, 0, 0, 0, 864, 11574 0, 1415, 0, 0, 0, 1413, 1460, 1403, 1404, 1405, 11575 1401, 1402, 1414, 0, 0, 0, 0, 0, 0, 0, 11576 0, 0, 0, 345, 346, 348, 347, 349, 350, 351, 11577 352, 0, 353, 354, 0, 0, 0, 0, 0, 1452, 11578 1419, 0, 0, 356, 0, 355, 0, 357, 358, 359, 11579 874, 360, 361, 362, 363, 364, 365, 366, 367, 806, 11580 1466, 0, 368, 1474, 369, 1473, 0, 1484, 370, 371, 11581 372, 373, 374, 375, 376, 377, 378, 379, 1421, 1451, 11582 1385, 380, 1497, 1498, 813, 0, 381, 382, 383, 384, 11583 1458, 0, 1439, 0, 385, 386, 387, 388, 389, 390, 11584 391, 392, 0, 0, 394, 395, 396, 393, 397, 398, 11585 0, 399, 0, 400, 401, 402, 403, 404, 405, 406, 11586 0, 407, 408, 409, 876, 410, 411, 412, 1442, 1440, 11587 1441, 1448, 1444, 1443, 1447, 413, 414, 415, 416, 417, 11588 1477, 418, 420, 421, 1471, 422, 1470, 1390, 425, 427, 11589 419, 423, 0, 426, 424, 428, 429, 0, 430, 431, 11590 432, 433, 0, 0, 434, 1469, 436, 0, 437, 438, 11591 440, 439, 0, 441, 442, 443, 0, 444, 445, 1397, 11592 446, 447, 448, 450, 452, 449, 451, 453, 454, 455, 11593 456, 457, 1485, 1486, 458, 459, 1410, 340, 0, 0, 11594 0, 0, 0, 460, 461, 462, 1468, 0, 0, 0, 11595 463, 0, 465, 469, 466, 467, 468, 470, 0, 464, 11596 471, 472, 0, 877, 473, 474, 475, 1482, 1483, 476, 11597 477, 478, 479, 480, 481, 482, 483, 484, 0, 485, 11598 486, 1492, 0, 1420, 487, 0, 488, 489, 490, 491, 11599 492, 493, 494, 1453, 1454, 1457, 595, 879, 495, 496, 11600 497, 0, 498, 499, 500, 501, 502, 503, 504, 0, 11601 0, 0, 505, 506, 507, 508, 0, 867, 341, 343, 11602 878, 828, 509, 596, 510, 1463, 1464, 0, 1424, 0, 11603 511, 512, 515, 880, 1455, 881, 514, 516, 517, 882, 11604 518, 0, 0, 0, 519, 520, 521, 522, 523, 524, 11605 525, 0, 526, 528, 527, 0, 530, 1493, 529, 883, 11606 531, 532, 884, 0, 533, 534, 535, 536, 537, 538, 11607 541, 1446, 1445, 539, 540, 542, 543, 0, 544, 545, 11608 547, 550, 546, 548, 549, 551, 552, 565, 566, 553, 11609 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 11610 564, 568, 0, 567, 885, 569, 570, 571, 572, 573, 11611 581, 583, 584, 579, 580, 582, 585, 586, 588, 589, 11612 576, 577, 578, 886, 587, 574, 1387, 575, 344, 887, 11613 590, 591, 592, 593, 1411, 1456, 594, 1472, 597, 598, 11614 0, 0, 599, 0, 600, 0, 0, 602, 603, 604, 11615 0, 0, 605, 606, 836, 888, 607, 889, 1487, 608, 11616 609, 1398, 610, 611, 612, 613, 614, 615, 616, 617, 11617 618, 619, 0, 620, 621, 838, 622, 623, 624, 839, 11618 625, 626, 627, 1488, 628, 841, 629, 630, 0, 631, 11619 632, 633, 0, 634, 635, 636, 637, 638, 639, 640, 11620 641, 642, 643, 1467, 644, 645, 647, 646, 648, 649, 11621 0, 650, 0, 651, 652, 653, 0, 0, 0, 0, 11622 0, 654, 655, 657, 0, 658, 659, 660, 661, 662, 11623 656, 663, 664, 665, 666, 667, 668, 669, 0, 671, 11624 672, 670, 673, 674, 890, 675, 676, 677, 678, 679, 11625 1399, 680, 0, 681, 682, 690, 691, 692, 683, 684, 11626 686, 693, 685, 694, 695, 696, 697, 699, 698, 0, 11627 701, 702, 700, 703, 704, 705, 706, 1449, 707, 844, 11628 708, 687, 688, 709, 710, 711, 891, 712, 713, 714, 11629 715, 716, 717, 718, 719, 720, 1465, 0, 721, 0, 11630 722, 723, 724, 725, 726, 727, 729, 689, 730, 731, 11631 732, 737, 738, 1496, 733, 734, 735, 736, 1489, 740, 11632 741, 742, 743, 0, 744, 745, 1384, 739, 728, 0, 11633 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 11634 0, 756, 1478, 1479, 1480, 1481, 0, 768, 0, 757, 11635 759, 760, 761, 762, 1490, 763, 1491, 1409, 764, 765, 11636 766, 767, 758, 769, 770, 0, 1391, 771, 772, 773, 11637 774, 776, 778, 779, 780, 775, 777, 781, 1450, 782, 11638 0, 0, 783, 784, 785, 854, 1475, 1495, 0, 787, 11639 788, 786, 789, 790, 793, 791, 792, 857, 796, 513, 11640 797, 798, 799, 794, 795, 0, 0, 0, 0, 800, 11641 801, 858, 802, 803, 804, 1388, 0, 0, 0, 0, 11642 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11643 0, 1383, 0, 0, 0, 0, 0, 0, 1381, 1382, 11644 2343, 0, 0, 0, 0, 0, 864, 0, 1415, 0, 11645 0, 0, 1413, 1460, 1403, 1404, 1405, 1401, 1402, 1414, 11646 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11647 345, 346, 348, 347, 349, 350, 351, 352, 0, 353, 11648 354, 0, 0, 0, 0, 0, 1452, 1419, 0, 0, 11649 356, 0, 355, 0, 357, 358, 359, 874, 360, 361, 11650 362, 363, 364, 365, 366, 367, 806, 1466, 0, 368, 11651 1474, 369, 1473, 0, 1484, 370, 371, 372, 373, 374, 11652 375, 376, 377, 378, 379, 1421, 1451, 1385, 380, 1497, 11653 1498, 813, 0, 381, 382, 383, 384, 1458, 0, 1439, 11654 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 11655 0, 394, 395, 396, 393, 397, 398, 0, 399, 0, 11656 400, 401, 402, 403, 6190, 405, 406, 0, 407, 408, 11657 409, 876, 410, 411, 412, 1442, 1440, 1441, 1448, 1444, 11658 1443, 1447, 413, 414, 415, 416, 417, 1477, 418, 420, 11659 421, 1471, 422, 1470, 1390, 425, 427, 419, 423, 0, 11660 426, 424, 428, 429, 0, 430, 431, 432, 433, 0, 11661 0, 434, 1469, 436, 0, 437, 438, 440, 439, 0, 11662 441, 442, 443, 0, 444, 445, 1397, 446, 447, 448, 11663 450, 452, 449, 451, 453, 454, 455, 456, 457, 1485, 11664 1486, 458, 459, 1410, 340, 0, 0, 0, 0, 0, 11665 460, 461, 462, 1468, 0, 0, 0, 463, 0, 465, 11666 469, 466, 467, 468, 470, 0, 464, 471, 472, 0, 11667 877, 473, 474, 475, 1482, 1483, 476, 477, 478, 479, 11668 480, 481, 482, 483, 484, 0, 485, 486, 1492, 0, 11669 1420, 487, 0, 488, 489, 490, 491, 492, 493, 494, 11670 1453, 1454, 1457, 595, 879, 495, 496, 497, 0, 498, 11671 499, 500, 501, 502, 503, 504, 0, 0, 0, 505, 11672 506, 507, 508, 0, 867, 341, 343, 878, 828, 509, 11673 596, 510, 1463, 1464, 0, 1424, 0, 511, 512, 515, 11674 880, 1455, 881, 514, 516, 517, 882, 518, 0, 0, 11675 0, 519, 520, 521, 522, 523, 524, 525, 0, 526, 11676 528, 527, 0, 530, 1493, 529, 883, 531, 532, 884, 11677 0, 533, 534, 535, 536, 537, 538, 541, 1446, 1445, 11678 539, 540, 542, 543, 0, 544, 545, 547, 550, 546, 11679 548, 549, 551, 552, 565, 566, 553, 554, 555, 556, 11680 557, 558, 559, 560, 561, 562, 563, 564, 568, 0, 11681 567, 885, 569, 570, 571, 572, 573, 581, 583, 584, 11682 579, 580, 582, 585, 586, 588, 589, 576, 577, 578, 11683 1393, 587, 574, 1387, 575, 344, 887, 590, 591, 592, 11684 593, 1411, 1456, 594, 1472, 597, 598, 0, 0, 599, 11685 0, 600, 1392, 0, 602, 603, 604, 0, 0, 605, 11686 606, 836, 888, 607, 889, 1487, 608, 609, 1398, 610, 11687 611, 612, 613, 614, 615, 616, 617, 618, 619, 0, 11688 620, 621, 838, 622, 623, 624, 839, 625, 626, 627, 11689 1488, 628, 841, 629, 630, 0, 631, 632, 633, 0, 11690 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 11691 1467, 644, 645, 647, 646, 648, 649, 0, 650, 0, 11692 651, 652, 653, 0, 0, 0, 0, 0, 654, 655, 11693 657, 0, 658, 659, 660, 661, 662, 656, 663, 664, 11694 665, 666, 667, 668, 669, 0, 671, 672, 670, 673, 11695 674, 890, 675, 676, 677, 678, 679, 1399, 680, 0, 11696 681, 682, 690, 691, 692, 683, 684, 686, 693, 685, 11697 694, 695, 696, 697, 699, 698, 0, 701, 702, 700, 11698 703, 704, 705, 706, 1449, 707, 844, 708, 687, 688, 11699 709, 710, 711, 891, 712, 713, 714, 715, 716, 717, 11700 718, 719, 720, 1465, 0, 721, 0, 722, 723, 724, 11701 725, 726, 727, 729, 689, 730, 731, 732, 737, 738, 11702 1496, 733, 734, 735, 736, 1489, 740, 741, 742, 743, 11703 0, 744, 745, 1384, 739, 728, 0, 746, 747, 748, 11704 749, 750, 751, 752, 753, 754, 755, 0, 756, 1478, 11705 1479, 1480, 1481, 0, 768, 0, 757, 759, 760, 761, 11706 762, 1490, 763, 1491, 1409, 764, 765, 766, 767, 758, 11707 769, 770, 0, 1391, 771, 772, 773, 774, 776, 778, 11708 779, 780, 775, 777, 781, 1450, 782, 0, 0, 783, 11709 784, 785, 854, 1475, 1495, 0, 787, 788, 786, 789, 11710 790, 793, 791, 792, 857, 796, 513, 797, 798, 799, 11711 794, 795, 0, 0, 0, 0, 800, 801, 858, 802, 11712 803, 804, 1388, 0, 0, 0, 0, 0, 0, 0, 11713 0, 0, 0, 0, 0, 0, 0, 0, 1383, 0, 11714 0, 0, 0, 0, 0, 1381, 1382, 0, 0, 0, 11715 0, 0, 0, 864, 0, 1415, 0, 0, 0, 1413, 11716 1460, 1403, 1404, 1405, 1401, 1402, 1414, 0, 0, 0, 11717 0, 0, 0, 0, 0, 0, 0, 345, 346, 348, 11718 347, 349, 350, 351, 352, 0, 353, 354, 0, 0, 11719 0, 0, 0, 1452, 1419, 0, 0, 356, 0, 355, 11720 0, 357, 358, 359, 874, 360, 361, 362, 363, 364, 11721 365, 366, 367, 806, 1466, 0, 368, 1474, 369, 1473, 11722 0, 1484, 370, 371, 372, 373, 374, 375, 376, 377, 11723 378, 379, 1421, 1451, 1385, 380, 1497, 1498, 813, 0, 11724 381, 382, 383, 384, 1458, 0, 1439, 0, 385, 386, 11725 387, 388, 389, 390, 391, 392, 0, 0, 394, 395, 11726 396, 393, 397, 398, 0, 399, 0, 400, 401, 402, 11727 403, 404, 405, 406, 0, 407, 408, 409, 876, 410, 11728 411, 412, 1442, 1440, 1441, 1448, 1444, 1443, 1447, 413, 11729 414, 415, 416, 417, 1477, 418, 420, 421, 1471, 422, 11730 1470, 1390, 425, 427, 419, 423, 0, 426, 424, 428, 11731 429, 0, 430, 431, 432, 433, 0, 0, 434, 1469, 11732 436, 0, 437, 438, 440, 439, 0, 441, 442, 443, 11733 0, 444, 445, 1397, 446, 447, 448, 450, 452, 449, 11734 451, 453, 454, 455, 456, 457, 1485, 1486, 458, 459, 11735 1410, 340, 0, 0, 0, 0, 0, 460, 461, 462, 11736 1468, 0, 0, 0, 463, 0, 465, 469, 466, 467, 11737 468, 470, 0, 464, 471, 472, 0, 877, 473, 474, 11738 475, 1482, 1483, 476, 477, 478, 479, 480, 481, 482, 11739 483, 484, 0, 485, 486, 1492, 0, 1420, 487, 0, 11740 488, 489, 490, 491, 492, 493, 494, 1453, 1454, 1457, 11741 595, 879, 495, 496, 497, 0, 498, 499, 500, 501, 11742 502, 503, 504, 0, 0, 0, 505, 506, 507, 508, 11743 0, 867, 341, 343, 878, 828, 509, 596, 510, 1463, 11744 1464, 0, 1424, 0, 511, 512, 515, 880, 1455, 881, 11745 514, 516, 517, 882, 518, 0, 0, 0, 519, 520, 11746 521, 522, 523, 524, 525, 0, 526, 528, 527, 0, 11747 530, 1493, 529, 883, 531, 532, 884, 0, 533, 534, 11748 535, 536, 537, 538, 541, 1446, 1445, 539, 540, 542, 11749 543, 0, 544, 545, 547, 550, 546, 548, 549, 551, 11750 552, 565, 566, 553, 554, 555, 556, 557, 558, 559, 11751 560, 561, 562, 563, 564, 568, 0, 567, 885, 569, 11752 570, 571, 572, 573, 581, 583, 584, 579, 580, 582, 11753 585, 586, 588, 589, 576, 577, 578, 1393, 587, 574, 11754 1387, 575, 344, 887, 590, 591, 592, 593, 1411, 1456, 11755 594, 1472, 597, 598, 0, 0, 599, 0, 600, 1392, 11756 0, 602, 603, 604, 0, 0, 605, 606, 836, 888, 11757 607, 889, 1487, 608, 609, 1398, 610, 611, 612, 613, 11758 614, 615, 616, 617, 618, 619, 0, 620, 621, 838, 11759 622, 623, 624, 839, 625, 626, 627, 1488, 628, 841, 11760 629, 630, 0, 631, 632, 633, 0, 634, 635, 636, 11761 637, 638, 639, 640, 641, 642, 643, 1467, 644, 645, 11762 647, 646, 648, 649, 0, 650, 0, 651, 652, 653, 11763 0, 0, 0, 0, 0, 654, 655, 657, 0, 658, 11764 659, 660, 661, 662, 656, 663, 664, 665, 666, 667, 11765 668, 669, 0, 671, 672, 670, 673, 674, 890, 675, 11766 676, 677, 678, 679, 1399, 680, 0, 681, 682, 690, 11767 691, 692, 683, 684, 686, 693, 685, 694, 695, 696, 11768 697, 699, 698, 0, 701, 702, 700, 703, 704, 705, 11769 706, 1449, 707, 844, 708, 687, 688, 709, 710, 711, 11770 891, 712, 713, 714, 715, 716, 717, 718, 719, 720, 11771 1465, 0, 721, 0, 722, 723, 724, 725, 726, 727, 11772 729, 689, 730, 731, 732, 737, 738, 1496, 733, 734, 11773 735, 736, 1489, 740, 741, 742, 743, 0, 744, 745, 11774 1384, 739, 728, 0, 746, 747, 748, 749, 750, 751, 11775 752, 753, 754, 755, 0, 756, 1478, 1479, 1480, 1481, 11776 0, 768, 0, 757, 759, 760, 761, 762, 1490, 763, 11777 1491, 1409, 764, 765, 766, 767, 758, 769, 770, 0, 11778 1391, 771, 772, 773, 774, 776, 778, 779, 780, 775, 11779 777, 781, 1450, 782, 0, 0, 783, 784, 785, 854, 11780 1475, 1495, 0, 787, 788, 786, 789, 790, 793, 791, 11781 792, 857, 796, 513, 797, 798, 799, 794, 795, 0, 11782 0, 0, 0, 800, 801, 858, 802, 803, 804, 1388, 11783 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11784 0, 0, 0, 0, 0, 1383, 0, 0, 0, 0, 11785 0, 0, 1381, 1382, 0, 0, 0, 0, 0, 0, 11786 864, 0, 1415, 0, 0, 0, 1413, 1460, 1403, 1404, 11787 1405, 1401, 1402, 1414, 0, 0, 0, 0, 0, 0, 11788 0, 0, 0, 0, 345, 346, 348, 347, 349, 350, 11789 351, 352, 0, 353, 354, 0, 0, 0, 0, 0, 11790 1452, 1419, 0, 0, 356, 0, 355, 0, 357, 358, 11791 359, 874, 360, 361, 362, 363, 364, 365, 366, 367, 11792 806, 1466, 0, 368, 1474, 369, 1473, 0, 1484, 370, 11793 371, 372, 373, 374, 375, 376, 377, 378, 379, 1421, 11794 1451, 1385, 380, 1497, 1498, 813, 0, 381, 382, 383, 11795 384, 1458, 0, 1439, 0, 385, 386, 387, 388, 389, 11796 390, 391, 392, 0, 0, 394, 395, 396, 393, 397, 11797 398, 0, 399, 0, 400, 401, 402, 403, 404, 405, 11798 406, 0, 407, 408, 409, 876, 410, 411, 412, 1442, 11799 1440, 1441, 1448, 1444, 1443, 1447, 413, 414, 415, 416, 11800 417, 1477, 418, 420, 421, 1471, 422, 1470, 1390, 425, 11801 427, 419, 423, 0, 426, 424, 428, 429, 0, 430, 11802 431, 432, 433, 0, 0, 434, 1469, 436, 0, 437, 11803 438, 440, 439, 0, 441, 442, 443, 0, 444, 445, 11804 1397, 446, 447, 448, 450, 452, 449, 451, 453, 454, 11805 455, 456, 457, 1485, 1486, 458, 459, 1410, 340, 0, 11806 0, 0, 0, 0, 460, 461, 462, 1468, 0, 0, 11807 0, 463, 0, 465, 469, 466, 467, 468, 470, 0, 11808 464, 471, 472, 0, 877, 473, 474, 475, 1482, 1483, 11809 476, 477, 478, 479, 480, 481, 482, 483, 484, 0, 11810 485, 486, 1492, 0, 1420, 487, 0, 488, 489, 490, 11811 491, 492, 493, 494, 1453, 1454, 1457, 595, 879, 495, 11812 496, 497, 0, 498, 499, 500, 501, 502, 503, 504, 11813 0, 0, 0, 505, 506, 507, 508, 0, 867, 341, 11814 343, 878, 828, 509, 596, 510, 1463, 1464, 0, 1424, 11815 0, 511, 512, 515, 880, 1455, 881, 514, 516, 517, 11816 882, 518, 0, 0, 0, 519, 520, 521, 522, 523, 11817 524, 525, 0, 526, 528, 527, 0, 530, 1493, 529, 11818 883, 531, 532, 884, 0, 533, 534, 535, 536, 537, 11819 538, 541, 1446, 1445, 539, 540, 542, 543, 0, 544, 11820 545, 547, 550, 546, 548, 549, 551, 552, 565, 566, 11821 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 11822 563, 564, 568, 0, 567, 885, 569, 570, 571, 572, 11823 573, 581, 583, 584, 579, 580, 582, 585, 586, 588, 11824 589, 576, 577, 578, 886, 587, 574, 1387, 575, 5648, 11825 887, 590, 591, 592, 593, 1411, 1456, 594, 1472, 597, 11826 598, 0, 0, 599, 0, 600, 0, 0, 602, 603, 11827 604, 0, 0, 605, 606, 836, 888, 607, 889, 1487, 11828 608, 609, 1398, 610, 611, 612, 613, 614, 615, 616, 11829 617, 618, 619, 0, 620, 621, 838, 622, 623, 624, 11830 839, 625, 626, 627, 1488, 628, 841, 629, 630, 0, 11831 631, 632, 633, 0, 634, 635, 636, 637, 638, 639, 11832 640, 641, 642, 643, 1467, 644, 645, 647, 646, 648, 11833 649, 0, 650, 0, 651, 652, 653, 0, 0, 0, 11834 0, 0, 654, 655, 657, 0, 658, 659, 660, 661, 11835 662, 656, 663, 664, 665, 666, 667, 668, 669, 0, 11836 671, 672, 670, 673, 674, 890, 675, 676, 677, 678, 11837 679, 1399, 680, 0, 681, 682, 690, 691, 692, 683, 11838 684, 686, 693, 685, 694, 695, 696, 697, 699, 698, 11839 0, 701, 702, 700, 703, 704, 705, 706, 1449, 707, 11840 844, 708, 687, 688, 709, 710, 711, 891, 712, 713, 11841 714, 715, 716, 717, 718, 719, 720, 1465, 0, 721, 11842 0, 722, 723, 724, 725, 726, 727, 729, 689, 730, 11843 731, 732, 737, 738, 1496, 733, 734, 735, 736, 1489, 11844 740, 741, 742, 743, 0, 744, 745, 1384, 739, 728, 11845 0, 746, 747, 748, 749, 750, 751, 752, 753, 754, 11846 755, 0, 756, 1478, 1479, 1480, 1481, 0, 768, 0, 11847 757, 759, 760, 761, 762, 1490, 763, 1491, 1409, 764, 11848 765, 766, 767, 758, 769, 770, 0, 1391, 771, 772, 11849 773, 774, 776, 778, 779, 780, 775, 777, 781, 1450, 11850 782, 0, 0, 783, 784, 785, 854, 1475, 1495, 0, 11851 787, 788, 786, 789, 790, 793, 791, 792, 857, 796, 11852 513, 797, 798, 799, 794, 795, 0, 0, 0, 0, 11853 800, 801, 858, 802, 803, 804, 1388, 0, 0, 0, 11854 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11855 0, 0, 1383, 0, 0, 0, 0, 0, 0, 1381, 11856 1382, 2343, 0, 0, 0, 0, 0, 864, 0, 1415, 11857 0, 0, 0, 1413, 1460, 1403, 1404, 1405, 1401, 1402, 11858 1414, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11859 0, 345, 346, 348, 347, 349, 350, 351, 352, 0, 11860 353, 354, 0, 0, 0, 0, 0, 1452, 1419, 0, 11861 0, 356, 0, 355, 0, 357, 358, 359, 874, 360, 11862 361, 362, 363, 364, 365, 366, 367, 806, 1466, 0, 11863 368, 1474, 369, 1473, 0, 1484, 370, 371, 372, 373, 11864 374, 375, 376, 377, 378, 379, 1421, 1451, 1385, 380, 11865 1497, 1498, 813, 0, 381, 382, 383, 384, 1458, 0, 11866 1439, 0, 385, 386, 387, 388, 389, 390, 391, 392, 11867 0, 0, 394, 395, 396, 393, 397, 398, 0, 399, 11868 0, 400, 401, 402, 403, 404, 405, 406, 0, 407, 11869 408, 409, 876, 410, 411, 412, 1442, 1440, 1441, 1448, 11870 1444, 1443, 1447, 413, 414, 415, 416, 417, 1477, 418, 11871 420, 421, 1471, 422, 1470, 1390, 425, 427, 419, 423, 11872 0, 426, 424, 428, 429, 0, 430, 431, 432, 433, 11873 0, 0, 434, 1469, 436, 0, 437, 438, 440, 439, 11874 0, 441, 442, 443, 0, 444, 445, 1397, 446, 447, 11875 448, 450, 452, 449, 451, 453, 454, 455, 456, 457, 11876 1485, 1486, 458, 459, 1410, 340, 0, 0, 0, 0, 11877 0, 460, 461, 462, 1468, 0, 0, 0, 463, 0, 11878 465, 469, 466, 467, 468, 470, 0, 464, 471, 472, 11879 0, 877, 473, 474, 475, 1482, 1483, 476, 477, 478, 11880 479, 480, 481, 482, 483, 484, 0, 485, 486, 1492, 11881 0, 1420, 487, 0, 488, 489, 490, 491, 492, 493, 11882 494, 1453, 1454, 1457, 595, 879, 495, 496, 497, 0, 11883 498, 499, 500, 501, 502, 503, 504, 0, 0, 0, 11884 505, 506, 507, 508, 0, 867, 341, 343, 878, 828, 11885 509, 596, 510, 1463, 1464, 0, 1424, 0, 511, 512, 11886 515, 880, 1455, 881, 514, 516, 517, 882, 518, 0, 11887 0, 0, 519, 520, 521, 522, 523, 524, 525, 0, 11888 526, 528, 527, 0, 530, 1493, 529, 883, 531, 532, 11889 884, 0, 533, 534, 535, 536, 537, 538, 541, 1446, 11890 1445, 539, 540, 542, 543, 0, 544, 545, 547, 550, 11891 546, 548, 549, 551, 552, 565, 566, 553, 554, 555, 11892 556, 557, 558, 559, 560, 561, 562, 563, 564, 568, 11893 0, 567, 885, 569, 570, 571, 572, 573, 581, 583, 11894 584, 579, 580, 582, 585, 586, 588, 589, 576, 577, 11895 578, 886, 587, 574, 1387, 575, 344, 887, 590, 591, 11896 592, 593, 1411, 1456, 594, 1472, 597, 598, 0, 0, 11897 599, 0, 600, 0, 0, 602, 603, 604, 0, 0, 11898 605, 606, 836, 888, 607, 889, 1487, 608, 609, 1398, 11899 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 11900 0, 620, 621, 838, 622, 623, 624, 839, 625, 626, 11901 627, 1488, 628, 841, 629, 630, 0, 631, 632, 633, 11902 0, 634, 635, 636, 637, 638, 639, 640, 641, 642, 11903 643, 1467, 644, 645, 647, 646, 648, 649, 0, 650, 11904 0, 651, 652, 653, 0, 0, 0, 0, 0, 654, 11905 655, 657, 0, 658, 659, 660, 661, 662, 656, 663, 11906 664, 665, 666, 667, 668, 669, 0, 671, 672, 670, 11907 673, 674, 890, 675, 676, 677, 678, 679, 1399, 680, 11908 0, 681, 682, 690, 691, 692, 683, 684, 686, 693, 11909 685, 694, 695, 696, 697, 699, 698, 0, 701, 702, 11910 700, 703, 704, 705, 706, 1449, 707, 844, 708, 687, 11911 688, 709, 710, 711, 891, 712, 713, 714, 715, 716, 11912 717, 718, 719, 720, 1465, 0, 721, 0, 722, 723, 11913 724, 725, 726, 727, 729, 689, 730, 731, 732, 737, 11914 738, 1496, 733, 734, 735, 736, 1489, 740, 741, 742, 11915 743, 0, 744, 745, 1384, 739, 728, 0, 746, 747, 11916 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 11917 1478, 1479, 1480, 1481, 0, 768, 0, 757, 759, 760, 11918 761, 762, 1490, 763, 1491, 1409, 764, 765, 766, 767, 11919 758, 769, 770, 0, 1391, 771, 772, 773, 774, 776, 11920 778, 779, 780, 775, 777, 781, 1450, 782, 0, 0, 11921 783, 784, 785, 854, 1475, 1495, 4719, 787, 788, 786, 11922 789, 790, 793, 791, 792, 857, 796, 513, 797, 798, 11923 799, 794, 795, 0, 0, 0, 0, 800, 801, 858, 11924 802, 803, 804, 1388, 0, 0, 0, 0, 0, 0, 11925 0, 0, 0, 0, 0, 0, 0, 0, 0, 1383, 11926 0, 0, 0, 0, 0, 0, 1381, 1382, 0, 0, 11927 0, 0, 0, 0, 864, 0, 1415, 0, 0, 0, 11928 1413, 1460, 1403, 1404, 1405, 1401, 1402, 1414, 0, 0, 11929 0, 0, 0, 0, 0, 0, 0, 0, 345, 346, 11930 348, 347, 349, 350, 351, 352, 0, 353, 354, 0, 11931 0, 0, 0, 0, 1452, 1419, 0, 0, 356, 0, 11932 355, 0, 357, 358, 359, 874, 360, 361, 362, 363, 11933 364, 365, 366, 367, 806, 1466, 0, 368, 1474, 369, 11934 1473, 0, 1484, 370, 371, 372, 373, 374, 375, 376, 11935 377, 378, 379, 1421, 1451, 1385, 380, 1497, 1498, 813, 11936 0, 381, 382, 383, 384, 1458, 0, 1439, 0, 385, 11937 386, 387, 388, 389, 390, 391, 392, 0, 0, 394, 11938 395, 396, 393, 397, 398, 0, 399, 0, 400, 401, 11939 402, 403, 404, 405, 406, 0, 407, 408, 409, 876, 11940 410, 411, 412, 1442, 1440, 1441, 1448, 1444, 1443, 1447, 11941 413, 414, 415, 416, 417, 1477, 418, 420, 421, 1471, 11942 422, 1470, 1390, 425, 427, 419, 423, 0, 426, 424, 11943 428, 429, 0, 430, 431, 432, 433, 0, 0, 434, 11944 1469, 436, 0, 437, 438, 440, 439, 0, 441, 442, 11945 443, 0, 444, 445, 1397, 446, 447, 448, 450, 452, 11946 449, 451, 453, 454, 455, 456, 457, 1485, 1486, 458, 11947 459, 1410, 340, 0, 0, 0, 0, 0, 460, 461, 11948 462, 1468, 0, 0, 0, 463, 0, 465, 469, 466, 11949 467, 468, 470, 0, 464, 471, 472, 3297, 877, 473, 11950 474, 475, 1482, 1483, 476, 477, 478, 479, 480, 481, 11951 482, 483, 484, 0, 485, 486, 1492, 0, 1420, 487, 11952 0, 488, 489, 490, 491, 492, 493, 494, 1453, 1454, 11953 1457, 595, 879, 495, 496, 497, 0, 498, 499, 500, 11954 501, 502, 503, 504, 0, 0, 0, 505, 506, 507, 11955 508, 0, 867, 341, 343, 878, 828, 509, 596, 510, 11956 1463, 1464, 0, 1424, 0, 511, 512, 515, 880, 1455, 11957 881, 514, 516, 517, 882, 518, 0, 0, 0, 519, 11958 520, 521, 522, 523, 524, 525, 0, 526, 528, 527, 11959 0, 530, 1493, 529, 883, 531, 532, 884, 0, 533, 11960 534, 535, 536, 537, 538, 541, 1446, 1445, 539, 540, 11961 542, 543, 0, 544, 545, 547, 550, 546, 548, 549, 11962 551, 552, 565, 566, 553, 554, 555, 556, 557, 558, 11963 559, 560, 561, 562, 563, 564, 568, 0, 567, 885, 11964 569, 570, 571, 572, 573, 581, 583, 584, 579, 580, 11965 582, 585, 586, 588, 589, 576, 577, 578, 886, 587, 11966 574, 1387, 575, 344, 887, 590, 591, 592, 593, 1411, 11967 1456, 594, 1472, 597, 598, 0, 0, 599, 0, 600, 11968 0, 0, 602, 603, 604, 0, 0, 605, 606, 836, 11969 888, 607, 889, 1487, 608, 609, 1398, 610, 611, 612, 11970 613, 614, 615, 616, 617, 618, 619, 0, 620, 621, 11971 838, 622, 623, 624, 839, 625, 626, 627, 1488, 628, 11972 841, 629, 630, 0, 631, 632, 633, 0, 634, 635, 11973 636, 637, 638, 639, 640, 641, 642, 643, 1467, 644, 11974 645, 647, 646, 648, 649, 0, 650, 0, 651, 652, 11975 653, 0, 0, 0, 0, 0, 654, 655, 657, 0, 11976 658, 659, 660, 661, 662, 656, 663, 664, 665, 666, 11977 667, 668, 669, 0, 671, 672, 670, 673, 674, 890, 11978 675, 676, 677, 678, 679, 1399, 680, 0, 681, 682, 11979 690, 691, 692, 683, 684, 686, 693, 685, 694, 695, 11980 696, 697, 699, 698, 0, 701, 702, 700, 703, 704, 11981 705, 706, 1449, 707, 844, 708, 687, 688, 709, 710, 11982 711, 891, 712, 713, 714, 715, 716, 717, 718, 719, 11983 720, 1465, 0, 721, 0, 722, 723, 724, 725, 726, 11984 727, 729, 689, 730, 731, 732, 737, 738, 1496, 733, 11985 734, 735, 736, 1489, 740, 741, 742, 743, 0, 744, 11986 745, 1384, 739, 728, 0, 746, 747, 748, 749, 750, 11987 751, 752, 753, 754, 755, 0, 756, 1478, 1479, 1480, 11988 1481, 0, 768, 0, 757, 759, 760, 761, 762, 1490, 11989 763, 1491, 1409, 764, 765, 766, 767, 758, 769, 770, 11990 0, 1391, 771, 772, 773, 774, 776, 778, 779, 780, 11991 775, 777, 781, 1450, 782, 0, 0, 783, 784, 785, 11992 854, 1475, 1495, 0, 787, 788, 786, 789, 790, 793, 11993 791, 792, 857, 796, 513, 797, 798, 799, 794, 795, 11994 0, 0, 0, 0, 800, 801, 858, 802, 803, 804, 11995 1388, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11996 0, 0, 0, 0, 0, 0, 1383, 0, 0, 0, 11997 0, 0, 0, 1381, 1382, 0, 0, 0, 0, 0, 11998 0, 864, 0, 1415, 0, 0, 0, 1413, 1460, 1403, 11999 1404, 1405, 1401, 1402, 1414, 0, 0, 0, 0, 0, 12000 0, 0, 0, 0, 0, 345, 346, 348, 347, 349, 12001 350, 351, 352, 0, 353, 354, 0, 0, 0, 0, 12002 0, 1452, 1419, 0, 0, 356, 0, 355, 0, 357, 12003 358, 359, 874, 360, 361, 362, 363, 364, 365, 366, 12004 367, 806, 1466, 0, 368, 1474, 369, 1473, 0, 1484, 12005 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 12006 1421, 1451, 1385, 380, 1497, 1498, 813, 0, 381, 382, 12007 383, 384, 1458, 0, 1439, 0, 385, 386, 387, 388, 12008 389, 390, 391, 392, 0, 0, 394, 395, 396, 393, 12009 397, 398, 0, 399, 0, 400, 401, 402, 403, 404, 12010 405, 406, 0, 407, 408, 409, 876, 410, 411, 412, 12011 1442, 1440, 1441, 1448, 1444, 1443, 1447, 413, 414, 415, 12012 416, 417, 1477, 418, 420, 421, 1471, 422, 1470, 1390, 12013 425, 427, 419, 423, 0, 426, 424, 428, 429, 0, 12014 430, 431, 432, 433, 0, 0, 434, 1469, 436, 0, 12015 437, 438, 440, 439, 0, 441, 442, 443, 0, 444, 12016 445, 1397, 446, 447, 448, 450, 452, 449, 451, 453, 12017 454, 455, 456, 457, 1485, 1486, 458, 459, 1410, 340, 12018 0, 0, 0, 0, 0, 460, 461, 462, 1468, 0, 12019 0, 0, 463, 0, 465, 469, 466, 467, 468, 470, 12020 0, 464, 471, 472, 0, 877, 473, 474, 475, 1482, 12021 1483, 476, 477, 478, 479, 480, 481, 482, 483, 484, 12022 0, 485, 486, 1492, 0, 1420, 487, 0, 488, 489, 12023 490, 491, 492, 493, 494, 1453, 1454, 1457, 595, 879, 12024 495, 496, 497, 0, 498, 499, 500, 501, 502, 503, 12025 504, 0, 0, 0, 505, 506, 507, 508, 0, 867, 12026 341, 343, 878, 828, 509, 596, 510, 1463, 1464, 0, 12027 1424, 0, 511, 512, 515, 880, 1455, 881, 514, 516, 12028 517, 882, 518, 0, 0, 0, 519, 520, 521, 522, 12029 523, 524, 525, 0, 526, 528, 527, 0, 530, 1493, 12030 529, 883, 531, 532, 884, 0, 533, 534, 535, 536, 12031 537, 538, 541, 1446, 1445, 539, 540, 542, 543, 0, 12032 544, 545, 547, 550, 546, 548, 549, 551, 552, 565, 12033 566, 553, 554, 555, 556, 557, 558, 559, 560, 561, 12034 562, 563, 564, 568, 0, 567, 885, 569, 570, 571, 12035 572, 573, 581, 583, 584, 579, 580, 582, 585, 586, 12036 588, 589, 576, 577, 578, 886, 587, 574, 1387, 575, 12037 344, 887, 590, 591, 592, 593, 1411, 1456, 594, 1472, 12038 597, 598, 0, 0, 599, 0, 600, 0, 0, 602, 12039 603, 604, 0, 0, 605, 606, 836, 888, 607, 889, 12040 1487, 608, 609, 1398, 610, 611, 612, 613, 614, 615, 12041 616, 617, 618, 619, 0, 620, 621, 838, 622, 623, 12042 624, 839, 625, 626, 627, 1488, 628, 841, 629, 630, 12043 0, 631, 632, 633, 0, 634, 635, 636, 637, 638, 12044 639, 640, 641, 642, 643, 1467, 644, 645, 647, 646, 12045 648, 649, 0, 650, 0, 651, 652, 653, 0, 0, 12046 0, 0, 0, 654, 655, 657, 0, 658, 659, 660, 12047 661, 662, 656, 663, 664, 665, 666, 667, 668, 669, 12048 0, 671, 672, 670, 673, 674, 890, 675, 676, 677, 12049 678, 679, 1399, 680, 0, 681, 682, 690, 691, 692, 12050 683, 684, 686, 693, 685, 694, 695, 696, 697, 699, 12051 698, 0, 701, 702, 700, 703, 704, 705, 706, 1449, 12052 707, 844, 708, 687, 688, 709, 710, 711, 891, 712, 12053 713, 714, 715, 716, 717, 718, 719, 720, 1465, 0, 12054 721, 0, 722, 723, 724, 725, 726, 727, 729, 689, 12055 730, 731, 732, 737, 738, 1496, 733, 734, 735, 736, 12056 1489, 740, 741, 742, 743, 0, 744, 745, 1384, 739, 12057 728, 0, 746, 747, 748, 749, 750, 751, 752, 753, 12058 754, 755, 0, 756, 1478, 1479, 1480, 1481, 0, 768, 12059 0, 757, 759, 760, 761, 762, 1490, 763, 1491, 1409, 12060 764, 765, 766, 767, 758, 769, 770, 0, 1391, 771, 12061 772, 773, 774, 776, 778, 779, 780, 775, 777, 781, 12062 1450, 782, 0, 0, 783, 784, 785, 854, 1475, 1495, 12063 0, 787, 788, 786, 789, 790, 793, 791, 792, 857, 12064 796, 513, 797, 798, 799, 794, 795, 0, 0, 0, 12065 0, 800, 801, 858, 802, 803, 804, 1388, 0, 0, 12066 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12067 0, 0, 0, 1383, 0, 0, 0, 0, 0, 0, 12068 1381, 1382, 0, 0, 0, 0, 0, 0, 864, 0, 12069 1415, 2267, 0, 3302, 1413, 1460, 1403, 1404, 1405, 1401, 12070 1402, 1414, 0, 0, 0, 0, 0, 0, 0, 0, 12071 0, 0, 345, 346, 348, 347, 349, 350, 351, 352, 12072 0, 353, 354, 0, 0, 0, 0, 0, 1452, 1419, 12073 0, 0, 356, 0, 355, 0, 357, 358, 359, 874, 12074 360, 361, 362, 363, 364, 365, 366, 367, 806, 1466, 12075 0, 368, 1474, 369, 1473, 0, 1484, 370, 371, 372, 12076 373, 374, 375, 376, 377, 378, 379, 1421, 1451, 1385, 12077 380, 1497, 1498, 813, 0, 381, 382, 383, 384, 1458, 12078 0, 1439, 0, 385, 386, 387, 388, 389, 390, 391, 12079 392, 0, 0, 394, 395, 396, 393, 397, 398, 0, 12080 399, 0, 400, 401, 402, 403, 404, 405, 406, 0, 12081 407, 408, 409, 876, 410, 411, 412, 1442, 1440, 1441, 12082 1448, 1444, 1443, 1447, 413, 414, 415, 416, 417, 1477, 12083 418, 420, 421, 1471, 422, 1470, 1390, 425, 427, 419, 12084 423, 0, 426, 424, 428, 429, 0, 430, 431, 432, 12085 433, 0, 0, 434, 1469, 436, 0, 437, 438, 440, 12086 439, 0, 441, 442, 443, 0, 444, 445, 1397, 446, 12087 447, 448, 450, 452, 449, 451, 453, 454, 455, 456, 12088 457, 1485, 1486, 458, 459, 1410, 340, 0, 0, 0, 12089 0, 0, 460, 461, 462, 1468, 0, 0, 0, 463, 12090 0, 465, 469, 466, 467, 468, 470, 0, 464, 471, 12091 472, 0, 877, 473, 474, 475, 1482, 1483, 476, 477, 12092 478, 479, 480, 481, 482, 483, 484, 0, 485, 486, 12093 1492, 0, 1420, 487, 0, 488, 489, 490, 491, 492, 12094 493, 494, 1453, 1454, 1457, 595, 879, 495, 496, 497, 12095 0, 498, 499, 500, 501, 502, 503, 504, 0, 0, 12096 0, 505, 506, 507, 508, 0, 867, 341, 343, 878, 12097 828, 509, 596, 510, 1463, 1464, 0, 1424, 0, 511, 12098 512, 515, 880, 1455, 881, 514, 516, 517, 882, 518, 12099 0, 0, 0, 519, 520, 521, 522, 523, 524, 525, 12100 0, 526, 528, 527, 0, 530, 1493, 529, 883, 531, 12101 532, 884, 0, 533, 534, 535, 536, 537, 538, 541, 12102 1446, 1445, 539, 540, 542, 543, 0, 544, 545, 547, 12103 550, 546, 548, 549, 551, 552, 565, 566, 553, 554, 12104 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 12105 568, 0, 567, 885, 569, 570, 571, 572, 573, 581, 12106 583, 584, 579, 580, 582, 585, 586, 588, 589, 576, 12107 577, 578, 886, 587, 574, 1387, 575, 344, 887, 590, 12108 591, 592, 593, 1411, 1456, 594, 1472, 597, 598, 0, 12109 0, 599, 0, 600, 0, 0, 602, 603, 604, 0, 12110 0, 605, 606, 836, 888, 607, 889, 1487, 608, 609, 12111 1398, 610, 611, 612, 613, 614, 615, 616, 617, 618, 12112 619, 0, 620, 621, 838, 622, 623, 624, 839, 625, 12113 626, 627, 1488, 628, 841, 629, 630, 0, 631, 632, 12114 633, 0, 634, 635, 636, 637, 638, 639, 640, 641, 12115 642, 643, 1467, 644, 645, 647, 646, 648, 649, 0, 12116 650, 0, 651, 652, 653, 0, 0, 0, 0, 0, 12117 654, 655, 657, 0, 658, 659, 660, 661, 662, 656, 12118 663, 664, 665, 666, 667, 668, 669, 0, 671, 672, 12119 670, 673, 674, 890, 675, 676, 677, 678, 679, 1399, 12120 680, 0, 681, 682, 690, 691, 692, 683, 684, 686, 12121 693, 685, 694, 695, 696, 697, 699, 698, 0, 701, 12122 702, 700, 703, 704, 705, 706, 1449, 707, 844, 708, 12123 687, 688, 709, 710, 711, 891, 712, 713, 714, 715, 12124 716, 717, 718, 719, 720, 1465, 0, 721, 0, 722, 12125 723, 724, 725, 726, 727, 729, 689, 730, 731, 732, 12126 737, 738, 1496, 733, 734, 735, 736, 1489, 740, 741, 12127 742, 743, 0, 744, 745, 1384, 739, 728, 0, 746, 12128 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 12129 756, 1478, 1479, 1480, 1481, 0, 768, 0, 757, 759, 12130 760, 761, 762, 1490, 763, 1491, 1409, 764, 765, 766, 12131 767, 758, 769, 770, 0, 1391, 771, 772, 773, 774, 12132 776, 778, 779, 780, 775, 777, 781, 1450, 782, 0, 12133 0, 783, 784, 785, 854, 1475, 1495, 0, 787, 788, 12134 786, 789, 790, 793, 791, 792, 857, 796, 513, 797, 12135 798, 799, 794, 795, 0, 0, 0, 0, 800, 801, 12136 858, 802, 803, 804, 1388, 0, 0, 0, 0, 0, 12137 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12138 1383, 0, 0, 0, 0, 0, 0, 1381, 1382, 0, 12139 0, 0, 0, 0, 0, 864, 0, 1415, 0, 0, 12140 3300, 1413, 1460, 1403, 1404, 1405, 1401, 1402, 1414, 0, 12141 0, 0, 0, 0, 0, 0, 0, 0, 0, 345, 12142 346, 348, 347, 349, 350, 351, 352, 0, 353, 354, 12143 0, 0, 0, 0, 0, 1452, 1419, 0, 0, 356, 12144 0, 355, 0, 357, 358, 359, 874, 360, 361, 362, 12145 363, 364, 365, 366, 367, 806, 1466, 0, 368, 1474, 12146 369, 1473, 0, 1484, 370, 371, 372, 373, 374, 375, 12147 376, 377, 378, 379, 1421, 1451, 1385, 380, 1497, 1498, 12148 813, 0, 381, 382, 383, 384, 1458, 0, 1439, 0, 12149 385, 386, 387, 388, 389, 390, 391, 392, 0, 0, 12150 394, 395, 396, 393, 397, 398, 0, 399, 0, 400, 12151 401, 402, 403, 404, 405, 406, 0, 407, 408, 409, 12152 876, 410, 411, 412, 1442, 1440, 1441, 1448, 1444, 1443, 12153 1447, 413, 414, 415, 416, 417, 1477, 418, 420, 421, 12154 1471, 422, 1470, 1390, 425, 427, 419, 423, 0, 426, 12155 424, 428, 429, 0, 430, 431, 432, 433, 0, 0, 12156 434, 1469, 436, 0, 437, 438, 440, 439, 0, 441, 12157 442, 443, 0, 444, 445, 1397, 446, 447, 448, 450, 12158 452, 449, 451, 453, 454, 455, 456, 457, 1485, 1486, 12159 458, 459, 1410, 340, 0, 0, 0, 0, 0, 460, 12160 461, 462, 1468, 0, 0, 0, 463, 0, 465, 469, 12161 466, 467, 468, 470, 0, 464, 471, 472, 0, 877, 12162 473, 474, 475, 1482, 1483, 476, 477, 478, 479, 480, 12163 481, 482, 483, 484, 0, 485, 486, 1492, 0, 1420, 12164 487, 0, 488, 489, 490, 491, 492, 493, 494, 1453, 12165 1454, 1457, 595, 879, 495, 496, 497, 0, 498, 499, 12166 500, 501, 502, 503, 504, 0, 0, 0, 505, 506, 12167 507, 508, 0, 867, 341, 343, 878, 828, 509, 596, 12168 510, 1463, 1464, 0, 1424, 0, 511, 512, 515, 880, 12169 1455, 881, 514, 516, 517, 882, 518, 0, 0, 0, 12170 519, 520, 521, 522, 523, 524, 525, 0, 526, 528, 12171 527, 0, 530, 1493, 529, 883, 531, 532, 884, 0, 12172 533, 534, 535, 536, 537, 538, 541, 1446, 1445, 539, 12173 540, 542, 543, 0, 544, 545, 547, 550, 546, 548, 12174 549, 551, 552, 565, 566, 553, 554, 555, 556, 557, 12175 558, 559, 560, 561, 562, 563, 564, 568, 0, 567, 12176 885, 569, 570, 571, 572, 573, 581, 583, 584, 579, 12177 580, 582, 585, 586, 588, 589, 576, 577, 578, 886, 12178 587, 574, 1387, 575, 344, 887, 590, 591, 592, 593, 12179 1411, 1456, 594, 1472, 597, 598, 0, 0, 599, 0, 12180 600, 0, 0, 602, 603, 604, 0, 0, 605, 606, 12181 836, 888, 607, 889, 1487, 608, 609, 1398, 610, 611, 12182 612, 613, 614, 615, 616, 617, 618, 619, 0, 620, 12183 621, 838, 622, 623, 624, 839, 625, 626, 627, 1488, 12184 628, 841, 629, 630, 0, 631, 632, 633, 0, 634, 12185 635, 636, 637, 638, 639, 640, 641, 642, 643, 1467, 12186 644, 645, 647, 646, 648, 649, 0, 650, 0, 651, 12187 652, 653, 0, 0, 0, 0, 0, 654, 655, 657, 12188 0, 658, 659, 660, 661, 662, 656, 663, 664, 665, 12189 666, 667, 668, 669, 0, 671, 672, 670, 673, 674, 12190 890, 675, 676, 677, 678, 679, 1399, 680, 0, 681, 12191 682, 690, 691, 692, 683, 684, 686, 693, 685, 694, 12192 695, 696, 697, 699, 698, 0, 701, 702, 700, 703, 12193 704, 705, 706, 1449, 707, 844, 708, 687, 688, 709, 12194 710, 711, 891, 712, 713, 714, 715, 716, 717, 718, 12195 719, 720, 1465, 0, 721, 0, 722, 723, 724, 725, 12196 726, 727, 729, 689, 730, 731, 732, 737, 738, 1496, 12197 733, 734, 735, 736, 1489, 740, 741, 742, 743, 0, 12198 744, 745, 1384, 739, 728, 0, 746, 747, 748, 749, 12199 750, 751, 752, 753, 754, 755, 0, 756, 1478, 1479, 12200 1480, 1481, 0, 768, 0, 757, 759, 760, 761, 762, 12201 1490, 763, 1491, 1409, 764, 765, 766, 767, 758, 769, 12202 770, 0, 1391, 771, 772, 773, 774, 776, 778, 779, 12203 780, 775, 777, 781, 1450, 782, 0, 0, 783, 784, 12204 785, 854, 1475, 1495, 0, 787, 788, 786, 789, 790, 12205 793, 791, 792, 857, 796, 513, 797, 798, 799, 794, 12206 795, 0, 0, 0, 0, 800, 801, 858, 802, 803, 12207 804, 1388, 0, 0, 0, 0, 0, 0, 0, 0, 12208 0, 0, 0, 0, 0, 0, 0, 1383, 0, 0, 12209 0, 0, 0, 0, 1381, 1382, 0, 0, 0, 0, 12210 0, 0, 864, 0, 1415, 0, 0, 3288, 1413, 1460, 12211 1403, 1404, 1405, 1401, 1402, 1414, 0, 0, 0, 0, 12212 0, 0, 0, 0, 0, 0, 345, 346, 348, 347, 12213 349, 350, 351, 352, 0, 353, 354, 0, 0, 0, 12214 0, 0, 1452, 1419, 0, 0, 356, 0, 355, 0, 12215 357, 358, 359, 874, 360, 361, 362, 363, 364, 365, 12216 366, 367, 806, 1466, 0, 368, 1474, 369, 1473, 0, 12217 1484, 370, 371, 372, 373, 374, 375, 376, 377, 378, 12218 379, 1421, 1451, 1385, 380, 1497, 1498, 813, 0, 381, 12219 382, 383, 384, 1458, 0, 1439, 0, 385, 386, 387, 12220 388, 389, 390, 391, 392, 0, 0, 394, 395, 396, 12221 393, 397, 398, 0, 399, 0, 400, 401, 402, 403, 12222 404, 405, 406, 0, 407, 408, 409, 876, 410, 411, 12223 412, 1442, 1440, 1441, 1448, 1444, 1443, 1447, 413, 414, 12224 415, 416, 417, 1477, 418, 420, 421, 1471, 422, 1470, 12225 1390, 425, 427, 419, 423, 0, 426, 424, 428, 429, 12226 0, 430, 431, 432, 433, 0, 0, 434, 1469, 436, 12227 0, 437, 438, 440, 439, 0, 441, 442, 443, 0, 12228 444, 445, 1397, 446, 447, 448, 450, 452, 449, 451, 12229 453, 454, 455, 456, 457, 1485, 1486, 458, 459, 1410, 12230 340, 0, 0, 0, 0, 0, 460, 461, 462, 1468, 12231 0, 0, 0, 463, 0, 465, 469, 466, 467, 468, 12232 470, 0, 464, 471, 472, 0, 877, 473, 474, 475, 12233 1482, 1483, 476, 477, 478, 479, 480, 481, 482, 483, 12234 484, 0, 485, 486, 1492, 0, 1420, 487, 0, 488, 12235 489, 490, 491, 492, 493, 494, 1453, 1454, 1457, 595, 12236 879, 495, 496, 497, 0, 498, 499, 500, 501, 502, 12237 503, 504, 0, 0, 0, 505, 506, 507, 508, 0, 12238 867, 341, 343, 878, 828, 509, 596, 510, 1463, 1464, 12239 0, 1424, 0, 511, 512, 515, 880, 1455, 881, 514, 12240 516, 517, 882, 518, 0, 0, 0, 519, 520, 521, 12241 522, 523, 524, 525, 0, 526, 528, 527, 0, 530, 12242 1493, 529, 883, 531, 532, 884, 0, 533, 534, 535, 12243 536, 537, 538, 541, 1446, 1445, 539, 540, 542, 543, 12244 0, 544, 545, 547, 550, 546, 548, 549, 551, 552, 12245 565, 566, 553, 554, 555, 556, 557, 558, 559, 560, 12246 561, 562, 563, 564, 568, 0, 567, 885, 569, 570, 12247 571, 572, 573, 581, 583, 584, 579, 580, 582, 585, 12248 586, 588, 589, 576, 577, 578, 886, 587, 574, 1387, 12249 575, 344, 887, 590, 591, 592, 593, 1411, 1456, 594, 12250 1472, 597, 598, 0, 0, 599, 0, 600, 0, 0, 12251 602, 603, 604, 0, 0, 605, 606, 836, 888, 607, 12252 889, 1487, 608, 609, 1398, 610, 611, 612, 613, 614, 12253 615, 616, 617, 618, 619, 0, 620, 621, 838, 622, 12254 623, 624, 839, 625, 626, 627, 1488, 628, 841, 629, 12255 630, 0, 631, 632, 633, 0, 634, 635, 636, 637, 12256 638, 639, 640, 641, 642, 643, 1467, 644, 645, 647, 12257 646, 648, 649, 0, 650, 0, 651, 652, 653, 0, 12258 0, 0, 0, 0, 654, 655, 657, 0, 658, 659, 12259 660, 661, 662, 656, 663, 664, 665, 666, 667, 668, 12260 669, 0, 671, 672, 670, 673, 674, 890, 675, 676, 12261 677, 678, 679, 1399, 680, 0, 681, 682, 690, 691, 12262 692, 683, 684, 686, 693, 685, 694, 695, 696, 697, 12263 699, 698, 0, 701, 702, 700, 703, 704, 705, 706, 12264 1449, 707, 844, 708, 687, 688, 709, 710, 711, 891, 12265 712, 713, 714, 715, 716, 717, 718, 719, 720, 1465, 12266 0, 721, 0, 722, 723, 724, 725, 726, 727, 729, 12267 689, 730, 731, 732, 737, 738, 1496, 733, 734, 735, 12268 736, 1489, 740, 741, 742, 743, 0, 744, 745, 1384, 12269 739, 728, 0, 746, 747, 748, 749, 750, 751, 752, 12270 753, 754, 755, 0, 756, 1478, 1479, 1480, 1481, 0, 12271 768, 0, 757, 759, 760, 761, 762, 1490, 763, 1491, 12272 1409, 764, 765, 766, 767, 758, 769, 770, 0, 1391, 12273 771, 772, 773, 774, 776, 778, 779, 780, 775, 777, 12274 781, 1450, 782, 0, 0, 783, 784, 785, 854, 1475, 12275 1495, 0, 787, 788, 786, 789, 790, 793, 791, 792, 12276 857, 796, 513, 797, 798, 799, 794, 795, 0, 0, 12277 0, 0, 800, 801, 858, 802, 803, 804, 1388, 0, 12278 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12279 0, 0, 0, 0, 1383, 0, 0, 0, 0, 0, 12280 0, 1381, 1382, 0, 0, 0, 0, 0, 0, 864, 12281 0, 1415, 0, 0, 3277, 1413, 1460, 1403, 1404, 1405, 12282 1401, 1402, 1414, 0, 0, 0, 0, 0, 0, 0, 12283 0, 0, 0, 345, 346, 348, 347, 349, 350, 351, 12284 352, 0, 353, 354, 0, 0, 0, 0, 0, 1452, 12285 1419, 0, 0, 356, 0, 355, 0, 357, 358, 359, 12286 874, 360, 361, 362, 363, 364, 365, 366, 367, 806, 12287 1466, 0, 368, 1474, 369, 1473, 0, 1484, 370, 371, 12288 372, 373, 374, 375, 376, 377, 378, 379, 1421, 1451, 12289 1385, 380, 1497, 1498, 813, 0, 381, 382, 383, 384, 12290 1458, 0, 1439, 0, 385, 386, 387, 388, 389, 390, 12291 391, 392, 0, 0, 394, 395, 396, 393, 397, 398, 12292 0, 399, 0, 400, 401, 402, 403, 404, 405, 406, 12293 0, 407, 408, 409, 876, 410, 411, 412, 1442, 1440, 12294 1441, 1448, 1444, 1443, 1447, 413, 414, 415, 416, 417, 12295 1477, 418, 420, 421, 1471, 422, 1470, 1390, 425, 427, 12296 419, 423, 0, 426, 424, 428, 429, 0, 430, 431, 12297 432, 433, 0, 0, 434, 1469, 436, 0, 437, 438, 12298 440, 439, 0, 441, 442, 443, 0, 444, 445, 1397, 12299 446, 447, 448, 450, 452, 449, 451, 453, 454, 455, 12300 456, 457, 1485, 1486, 458, 459, 1410, 340, 0, 0, 12301 0, 0, 0, 460, 461, 462, 1468, 0, 0, 0, 12302 463, 0, 465, 469, 466, 467, 468, 470, 0, 464, 12303 471, 472, 0, 877, 473, 474, 475, 1482, 1483, 476, 12304 477, 478, 479, 480, 481, 482, 483, 484, 0, 485, 12305 486, 1492, 0, 1420, 487, 0, 488, 489, 490, 491, 12306 492, 493, 494, 1453, 1454, 1457, 595, 879, 495, 496, 12307 497, 0, 498, 499, 500, 501, 502, 503, 504, 0, 12308 0, 0, 505, 506, 507, 508, 0, 867, 341, 343, 12309 878, 828, 509, 596, 510, 1463, 1464, 0, 1424, 0, 12310 511, 512, 515, 880, 1455, 881, 514, 516, 517, 882, 12311 518, 0, 0, 0, 519, 520, 521, 522, 523, 524, 12312 525, 0, 526, 528, 527, 0, 530, 1493, 529, 883, 12313 531, 532, 884, 0, 533, 534, 535, 536, 537, 538, 12314 541, 1446, 1445, 539, 540, 542, 543, 0, 544, 545, 12315 547, 550, 546, 548, 549, 551, 552, 565, 566, 553, 12316 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 12317 564, 568, 0, 567, 885, 569, 570, 571, 572, 573, 12318 581, 583, 584, 579, 580, 582, 585, 586, 588, 589, 12319 576, 577, 578, 886, 587, 574, 1387, 575, 344, 887, 12320 590, 591, 592, 593, 1411, 1456, 594, 1472, 597, 598, 12321 0, 0, 599, 0, 600, 0, 0, 602, 603, 604, 12322 0, 0, 605, 606, 836, 888, 607, 889, 1487, 608, 12323 609, 1398, 610, 611, 612, 613, 614, 615, 616, 617, 12324 618, 619, 0, 620, 621, 838, 622, 623, 624, 839, 12325 625, 626, 627, 1488, 628, 841, 629, 630, 0, 631, 12326 632, 633, 0, 634, 635, 636, 637, 638, 639, 640, 12327 641, 642, 643, 1467, 644, 645, 647, 646, 648, 649, 12328 0, 650, 0, 651, 652, 653, 0, 0, 0, 0, 12329 0, 654, 655, 657, 0, 658, 659, 660, 661, 662, 12330 656, 663, 664, 665, 666, 667, 668, 669, 0, 671, 12331 672, 670, 673, 674, 890, 675, 676, 677, 678, 679, 12332 1399, 680, 0, 681, 682, 690, 691, 692, 683, 684, 12333 686, 693, 685, 694, 695, 696, 697, 699, 698, 0, 12334 701, 702, 700, 703, 704, 705, 706, 1449, 707, 844, 12335 708, 687, 688, 709, 710, 711, 891, 712, 713, 714, 12336 715, 716, 717, 718, 719, 720, 1465, 0, 721, 0, 12337 722, 723, 724, 725, 726, 727, 729, 689, 730, 731, 12338 732, 737, 738, 1496, 733, 734, 735, 736, 1489, 740, 12339 741, 742, 743, 0, 744, 745, 1384, 739, 728, 0, 12340 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 12341 0, 756, 1478, 1479, 1480, 1481, 0, 768, 0, 757, 12342 759, 760, 761, 762, 1490, 763, 1491, 1409, 764, 765, 12343 766, 767, 758, 769, 770, 0, 1391, 771, 772, 773, 12344 774, 776, 778, 779, 780, 775, 777, 781, 1450, 782, 12345 0, 0, 783, 784, 785, 854, 1475, 1495, 0, 787, 12346 788, 786, 789, 790, 793, 791, 792, 857, 796, 513, 12347 797, 798, 799, 794, 795, 0, 0, 0, 0, 800, 12348 801, 858, 802, 803, 804, 1388, 0, 0, 0, 0, 12349 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12350 0, 1383, 0, 0, 0, 0, 0, 0, 1381, 1382, 12351 0, 0, 0, 0, 0, 0, 864, 0, 1415, 0, 12352 0, 3275, 1413, 3266, 3273, 1404, 1405, 1401, 1402, 1414, 12353 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12354 345, 346, 348, 347, 349, 350, 351, 352, 0, 353, 12355 354, 0, 0, 0, 0, 0, 1452, 1419, 0, 0, 12356 356, 0, 355, 0, 357, 358, 359, 874, 360, 361, 12357 362, 363, 364, 365, 366, 367, 806, 1466, 0, 368, 12358 1474, 369, 1473, 0, 1484, 370, 371, 372, 373, 374, 12359 375, 376, 377, 378, 379, 1421, 1451, 1385, 380, 1497, 12360 1498, 813, 0, 381, 382, 383, 384, 1458, 0, 1439, 12361 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 12362 0, 394, 395, 396, 393, 397, 398, 0, 399, 0, 12363 400, 401, 402, 403, 404, 405, 406, 0, 407, 408, 12364 409, 876, 410, 411, 412, 1442, 1440, 1441, 1448, 1444, 12365 1443, 1447, 413, 414, 415, 416, 417, 1477, 3269, 420, 12366 421, 1471, 422, 1470, 1390, 425, 427, 419, 423, 0, 12367 426, 424, 428, 429, 0, 430, 431, 432, 433, 0, 12368 0, 434, 1469, 436, 0, 437, 438, 440, 439, 0, 12369 441, 442, 443, 0, 444, 445, 1397, 446, 447, 448, 12370 450, 452, 449, 451, 453, 454, 455, 456, 457, 1485, 12371 1486, 458, 459, 1410, 340, 0, 0, 0, 0, 0, 12372 460, 461, 462, 1468, 0, 0, 0, 463, 0, 465, 12373 469, 466, 467, 468, 470, 0, 464, 471, 472, 0, 12374 877, 473, 474, 475, 1482, 1483, 476, 477, 478, 479, 12375 480, 481, 482, 483, 484, 0, 485, 486, 1492, 0, 12376 1420, 487, 0, 488, 489, 490, 491, 492, 3270, 494, 12377 1453, 1454, 1457, 595, 879, 495, 496, 497, 0, 498, 12378 499, 500, 501, 502, 503, 504, 0, 0, 0, 505, 12379 506, 507, 508, 0, 867, 341, 343, 878, 828, 509, 12380 596, 510, 1463, 1464, 0, 1424, 0, 511, 512, 515, 12381 880, 1455, 881, 514, 516, 517, 882, 518, 0, 0, 12382 0, 519, 520, 521, 522, 523, 524, 525, 0, 526, 12383 528, 527, 0, 530, 1493, 529, 883, 531, 532, 884, 12384 0, 533, 534, 535, 536, 537, 538, 541, 1446, 1445, 12385 539, 540, 542, 543, 0, 544, 545, 547, 550, 546, 12386 548, 3271, 551, 552, 3268, 566, 553, 554, 555, 556, 12387 557, 558, 559, 560, 561, 562, 563, 564, 568, 0, 12388 567, 885, 569, 570, 571, 572, 573, 581, 583, 584, 12389 579, 580, 582, 585, 586, 588, 589, 576, 577, 578, 12390 886, 587, 574, 1387, 575, 344, 887, 590, 591, 592, 12391 593, 1411, 1456, 594, 1472, 597, 598, 0, 0, 599, 12392 0, 600, 0, 0, 602, 603, 604, 0, 0, 605, 12393 606, 836, 888, 607, 889, 1487, 608, 609, 1398, 610, 12394 611, 612, 613, 614, 615, 616, 617, 618, 619, 0, 12395 620, 621, 838, 622, 623, 624, 839, 625, 626, 627, 12396 1488, 628, 841, 629, 630, 0, 631, 632, 633, 0, 12397 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 12398 1467, 644, 645, 647, 646, 648, 649, 0, 650, 0, 12399 651, 652, 653, 0, 0, 0, 0, 0, 654, 655, 12400 657, 0, 658, 659, 660, 661, 662, 656, 663, 664, 12401 665, 666, 667, 668, 669, 0, 671, 672, 670, 673, 12402 674, 890, 675, 676, 677, 678, 679, 1399, 680, 0, 12403 681, 682, 690, 691, 692, 683, 684, 686, 693, 685, 12404 694, 695, 696, 3272, 699, 698, 0, 701, 702, 700, 12405 703, 704, 705, 706, 1449, 707, 844, 708, 687, 688, 12406 709, 710, 711, 891, 712, 713, 714, 715, 716, 717, 12407 718, 719, 720, 1465, 0, 721, 0, 722, 723, 724, 12408 725, 726, 727, 729, 689, 730, 731, 732, 737, 738, 12409 1496, 733, 734, 735, 736, 1489, 740, 741, 742, 743, 12410 0, 744, 745, 1384, 739, 728, 0, 746, 747, 748, 12411 749, 750, 751, 752, 753, 754, 755, 0, 756, 1478, 12412 1479, 1480, 1481, 0, 768, 0, 757, 759, 760, 761, 12413 762, 1490, 763, 1491, 1409, 764, 765, 766, 767, 758, 12414 769, 770, 0, 1391, 771, 772, 773, 774, 776, 778, 12415 779, 780, 775, 777, 781, 1450, 782, 0, 0, 783, 12416 784, 785, 854, 1475, 1495, 0, 787, 788, 786, 789, 12417 790, 793, 791, 792, 857, 796, 513, 797, 798, 799, 12418 794, 795, 0, 0, 0, 0, 800, 801, 858, 802, 12419 3267, 804, 1388, 0, 0, 0, 0, 0, 0, 0, 12420 0, 0, 0, 0, 0, 0, 0, 0, 1383, 0, 12421 0, 0, 0, 0, 0, 1381, 1382, 0, 0, 0, 12422 0, 0, 0, 864, 0, 1415, 0, 0, 3263, 1413, 12423 3266, 3273, 1404, 1405, 1401, 1402, 1414, 0, 0, 0, 12424 0, 0, 0, 0, 0, 0, 0, 345, 346, 348, 12425 347, 349, 350, 351, 352, 0, 353, 354, 0, 0, 12426 0, 0, 0, 1452, 1419, 0, 0, 356, 0, 355, 12427 0, 357, 358, 359, 874, 360, 361, 362, 363, 364, 12428 365, 366, 367, 806, 1466, 0, 368, 1474, 369, 1473, 12429 0, 1484, 370, 371, 372, 373, 374, 375, 376, 377, 12430 378, 379, 1421, 1451, 1385, 380, 1497, 1498, 813, 0, 12431 381, 382, 383, 384, 1458, 0, 1439, 0, 385, 386, 12432 387, 388, 389, 390, 391, 392, 0, 0, 394, 395, 12433 396, 393, 397, 398, 0, 399, 0, 400, 401, 402, 12434 403, 404, 405, 406, 0, 407, 408, 409, 876, 410, 12435 411, 412, 1442, 1440, 1441, 1448, 1444, 1443, 1447, 413, 12436 414, 415, 416, 417, 1477, 3269, 420, 421, 1471, 422, 12437 1470, 1390, 425, 427, 419, 423, 0, 426, 424, 428, 12438 429, 0, 430, 431, 432, 433, 0, 0, 434, 1469, 12439 436, 0, 437, 438, 440, 439, 0, 441, 442, 443, 12440 0, 444, 445, 1397, 446, 447, 448, 450, 452, 449, 12441 451, 453, 454, 455, 456, 457, 1485, 1486, 458, 459, 12442 1410, 340, 0, 0, 0, 0, 0, 460, 461, 462, 12443 1468, 0, 0, 0, 463, 0, 465, 469, 466, 467, 12444 468, 470, 0, 464, 471, 472, 0, 877, 473, 474, 12445 475, 1482, 1483, 476, 477, 478, 479, 480, 481, 482, 12446 483, 484, 0, 485, 486, 1492, 0, 1420, 487, 0, 12447 488, 489, 490, 491, 492, 3270, 494, 1453, 1454, 1457, 12448 595, 879, 495, 496, 497, 0, 498, 499, 500, 501, 12449 502, 503, 504, 0, 0, 0, 505, 506, 507, 508, 12450 0, 867, 341, 343, 878, 828, 509, 596, 510, 1463, 12451 1464, 0, 1424, 0, 511, 512, 515, 880, 1455, 881, 12452 514, 516, 517, 882, 518, 0, 0, 0, 519, 520, 12453 521, 522, 523, 524, 525, 0, 526, 528, 527, 0, 12454 530, 1493, 529, 883, 531, 532, 884, 0, 533, 534, 12455 535, 536, 537, 538, 541, 1446, 1445, 539, 540, 542, 12456 543, 0, 544, 545, 547, 550, 546, 548, 3271, 551, 12457 552, 3268, 566, 553, 554, 555, 556, 557, 558, 559, 12458 560, 561, 562, 563, 564, 568, 0, 567, 885, 569, 12459 570, 571, 572, 573, 581, 583, 584, 579, 580, 582, 12460 585, 586, 588, 589, 576, 577, 578, 886, 587, 574, 12461 1387, 575, 344, 887, 590, 591, 592, 593, 1411, 1456, 12462 594, 1472, 597, 598, 0, 0, 599, 0, 600, 0, 12463 0, 602, 603, 604, 0, 0, 605, 606, 836, 888, 12464 607, 889, 1487, 608, 609, 1398, 610, 611, 612, 613, 12465 614, 615, 616, 617, 618, 619, 0, 620, 621, 838, 12466 622, 623, 624, 839, 625, 626, 627, 1488, 628, 841, 12467 629, 630, 0, 631, 632, 633, 0, 634, 635, 636, 12468 637, 638, 639, 640, 641, 642, 643, 1467, 644, 645, 12469 647, 646, 648, 649, 0, 650, 0, 651, 652, 653, 12470 0, 0, 0, 0, 0, 654, 655, 657, 0, 658, 12471 659, 660, 661, 662, 656, 663, 664, 665, 666, 667, 12472 668, 669, 0, 671, 672, 670, 673, 674, 890, 675, 12473 676, 677, 678, 679, 1399, 680, 0, 681, 682, 690, 12474 691, 692, 683, 684, 686, 693, 685, 694, 695, 696, 12475 3272, 699, 698, 0, 701, 702, 700, 703, 704, 705, 12476 706, 1449, 707, 844, 708, 687, 688, 709, 710, 711, 12477 891, 712, 713, 714, 715, 716, 717, 718, 719, 720, 12478 1465, 0, 721, 0, 722, 723, 724, 725, 726, 727, 12479 729, 689, 730, 731, 732, 737, 738, 1496, 733, 734, 12480 735, 736, 1489, 740, 741, 742, 743, 0, 744, 745, 12481 1384, 739, 728, 0, 746, 747, 748, 749, 750, 751, 12482 752, 753, 754, 755, 0, 756, 1478, 1479, 1480, 1481, 12483 0, 768, 0, 757, 759, 760, 761, 762, 1490, 763, 12484 1491, 1409, 764, 765, 766, 767, 758, 769, 770, 0, 12485 1391, 771, 772, 773, 774, 776, 778, 779, 780, 775, 12486 777, 781, 1450, 782, 0, 0, 783, 784, 785, 854, 12487 1475, 1495, 0, 787, 788, 786, 789, 790, 793, 791, 12488 792, 857, 796, 513, 797, 798, 799, 794, 795, 0, 12489 0, 0, 0, 800, 801, 858, 802, 3267, 804, 1388, 12490 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12491 0, 0, 0, 0, 0, 1383, 0, 0, 0, 0, 12492 0, 0, 1381, 1382, 0, 0, 0, 0, 0, 0, 12493 864, 0, 1415, 0, 0, 0, 1413, 1460, 1403, 1404, 12494 1405, 1401, 1402, 1414, 0, 0, 0, 0, 0, 0, 12495 0, 0, 0, 0, 345, 346, 348, 347, 349, 350, 12496 351, 352, 3016, 353, 354, 0, 0, 0, 0, 0, 12497 1452, 1419, 0, 0, 356, 0, 355, 0, 357, 358, 12498 359, 874, 360, 361, 362, 363, 364, 365, 366, 367, 12499 806, 1466, 0, 368, 1474, 369, 1473, 0, 1484, 370, 12500 371, 372, 373, 374, 375, 376, 377, 378, 379, 1421, 12501 1451, 1385, 380, 1497, 1498, 813, 0, 381, 382, 383, 12502 384, 1458, 0, 1439, 0, 385, 386, 387, 388, 389, 12503 390, 391, 392, 0, 0, 394, 395, 396, 393, 397, 12504 398, 0, 399, 0, 400, 401, 402, 403, 404, 405, 12505 406, 0, 407, 408, 409, 876, 410, 411, 412, 1442, 12506 1440, 1441, 1448, 1444, 1443, 1447, 413, 414, 415, 416, 12507 417, 1477, 418, 420, 421, 1471, 422, 1470, 1390, 425, 12508 427, 419, 423, 0, 426, 424, 428, 429, 0, 430, 12509 431, 432, 433, 0, 0, 434, 1469, 436, 0, 437, 12510 438, 440, 439, 0, 441, 442, 443, 0, 444, 445, 12511 1397, 446, 447, 448, 450, 452, 449, 451, 453, 454, 12512 455, 456, 457, 1485, 1486, 458, 459, 1410, 340, 0, 12513 0, 0, 0, 0, 460, 461, 462, 1468, 0, 0, 12514 0, 463, 0, 465, 469, 466, 467, 468, 470, 0, 12515 464, 471, 472, 0, 877, 473, 474, 475, 1482, 1483, 12516 476, 477, 478, 479, 480, 481, 482, 483, 484, 0, 12517 485, 486, 1492, 0, 1420, 487, 0, 488, 489, 490, 12518 491, 492, 493, 494, 1453, 1454, 1457, 595, 879, 495, 12519 496, 497, 0, 498, 499, 500, 501, 502, 503, 504, 12520 0, 0, 0, 505, 506, 507, 508, 0, 867, 341, 12521 343, 878, 828, 509, 596, 510, 1463, 1464, 0, 1424, 12522 0, 511, 512, 515, 880, 1455, 881, 514, 516, 517, 12523 882, 518, 0, 0, 0, 519, 520, 521, 522, 523, 12524 524, 525, 0, 526, 528, 527, 0, 530, 1493, 529, 12525 883, 531, 532, 884, 0, 533, 534, 535, 536, 537, 12526 538, 541, 1446, 1445, 539, 540, 542, 543, 0, 544, 12527 545, 547, 550, 546, 548, 549, 551, 552, 565, 566, 12528 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 12529 563, 564, 568, 0, 567, 885, 569, 570, 571, 572, 12530 573, 581, 583, 584, 579, 580, 582, 585, 586, 588, 12531 589, 576, 577, 578, 886, 587, 574, 1387, 575, 344, 12532 887, 590, 591, 592, 593, 1411, 1456, 594, 1472, 597, 12533 598, 0, 0, 599, 0, 600, 0, 0, 602, 603, 12534 604, 0, 0, 605, 606, 836, 888, 607, 889, 1487, 12535 608, 609, 1398, 610, 611, 612, 613, 614, 615, 616, 12536 617, 618, 619, 0, 620, 621, 838, 622, 623, 624, 12537 839, 625, 626, 627, 1488, 628, 841, 629, 630, 0, 12538 631, 632, 633, 0, 634, 635, 636, 637, 638, 639, 12539 640, 641, 642, 643, 1467, 644, 645, 647, 646, 648, 12540 649, 0, 650, 0, 651, 652, 653, 0, 0, 0, 12541 0, 0, 654, 655, 657, 0, 658, 659, 660, 661, 12542 662, 656, 663, 664, 665, 666, 667, 668, 669, 0, 12543 671, 672, 670, 673, 674, 890, 675, 676, 677, 678, 12544 679, 1399, 680, 0, 681, 682, 690, 691, 692, 683, 12545 684, 686, 693, 685, 694, 695, 696, 697, 699, 698, 12546 0, 701, 702, 700, 703, 704, 705, 706, 1449, 707, 12547 844, 708, 687, 688, 709, 710, 711, 891, 712, 713, 12548 714, 715, 716, 717, 718, 719, 720, 1465, 0, 721, 12549 0, 722, 723, 724, 725, 726, 727, 729, 689, 730, 12550 731, 732, 737, 738, 1496, 733, 734, 735, 736, 1489, 12551 740, 741, 742, 743, 0, 744, 745, 1384, 739, 728, 12552 0, 746, 747, 748, 749, 750, 751, 752, 753, 754, 12553 755, 0, 756, 1478, 1479, 1480, 1481, 0, 768, 0, 12554 757, 759, 760, 761, 762, 1490, 763, 1491, 1409, 764, 12555 765, 766, 767, 758, 769, 770, 0, 1391, 771, 772, 12556 773, 774, 776, 778, 779, 780, 775, 777, 781, 1450, 12557 782, 0, 0, 783, 784, 785, 854, 1475, 1495, 0, 12558 787, 788, 786, 789, 790, 793, 791, 792, 857, 796, 12559 513, 797, 798, 799, 794, 795, 0, 0, 0, 0, 12560 800, 801, 858, 802, 803, 804, 1388, 0, 0, 0, 12561 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12562 0, 0, 1383, 0, 0, 0, 0, 0, 0, 1381, 12563 1382, 0, 0, 0, 0, 0, 0, 864, 0, 1415, 12564 0, 0, 2690, 1413, 1460, 1403, 1404, 1405, 1401, 1402, 12565 1414, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12566 0, 345, 346, 348, 347, 349, 350, 351, 352, 0, 12567 353, 354, 0, 0, 0, 0, 0, 1452, 1419, 0, 12568 0, 356, 0, 355, 0, 357, 358, 359, 874, 360, 12569 361, 362, 363, 364, 365, 366, 367, 806, 1466, 0, 12570 368, 1474, 369, 1473, 0, 1484, 370, 371, 372, 373, 12571 374, 375, 376, 377, 378, 379, 1421, 1451, 1385, 380, 12572 1497, 1498, 813, 0, 381, 382, 383, 384, 1458, 0, 12573 1439, 0, 385, 386, 387, 388, 389, 390, 391, 392, 12574 0, 0, 394, 395, 396, 393, 397, 398, 0, 399, 12575 0, 400, 401, 402, 403, 404, 405, 406, 0, 407, 12576 408, 409, 876, 410, 411, 412, 1442, 1440, 1441, 1448, 12577 1444, 1443, 1447, 413, 414, 415, 416, 417, 1477, 418, 12578 420, 421, 1471, 422, 1470, 1390, 425, 427, 419, 423, 12579 0, 426, 424, 428, 429, 0, 430, 431, 432, 433, 12580 0, 0, 434, 1469, 436, 0, 437, 438, 440, 439, 12581 0, 441, 442, 443, 0, 444, 445, 1397, 446, 447, 12582 448, 450, 452, 449, 451, 453, 454, 455, 456, 457, 12583 1485, 1486, 458, 459, 1410, 340, 0, 0, 0, 0, 12584 0, 460, 461, 462, 1468, 0, 0, 0, 463, 0, 12585 465, 469, 466, 467, 468, 470, 0, 464, 471, 472, 12586 0, 877, 473, 474, 475, 1482, 1483, 476, 477, 478, 12587 479, 480, 481, 482, 483, 484, 0, 485, 486, 1492, 12588 0, 1420, 487, 0, 488, 489, 490, 491, 492, 493, 12589 494, 1453, 1454, 1457, 595, 879, 495, 496, 497, 0, 12590 498, 499, 500, 501, 502, 503, 504, 0, 0, 0, 12591 505, 506, 507, 508, 0, 867, 341, 343, 878, 828, 12592 509, 596, 510, 1463, 1464, 0, 1424, 0, 511, 512, 12593 515, 880, 1455, 881, 514, 516, 517, 882, 518, 0, 12594 0, 0, 519, 520, 521, 522, 523, 524, 525, 0, 12595 526, 528, 527, 0, 530, 1493, 529, 883, 531, 532, 12596 884, 0, 533, 534, 535, 536, 537, 538, 541, 1446, 12597 1445, 539, 540, 542, 543, 0, 544, 545, 547, 550, 12598 546, 548, 549, 551, 552, 565, 566, 553, 554, 555, 12599 556, 557, 558, 559, 560, 561, 562, 563, 564, 568, 12600 0, 567, 885, 569, 570, 571, 572, 573, 581, 583, 12601 584, 579, 580, 582, 585, 586, 588, 589, 576, 577, 12602 578, 886, 587, 574, 1387, 575, 344, 887, 590, 591, 12603 592, 593, 1411, 1456, 594, 1472, 597, 598, 0, 0, 12604 599, 0, 600, 0, 0, 602, 603, 604, 0, 0, 12605 605, 606, 836, 888, 607, 889, 1487, 608, 609, 1398, 12606 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 12607 0, 620, 621, 838, 622, 623, 624, 839, 625, 626, 12608 627, 1488, 628, 841, 629, 630, 0, 631, 632, 633, 12609 0, 634, 635, 636, 637, 638, 639, 640, 641, 642, 12610 643, 1467, 644, 645, 647, 646, 648, 649, 0, 650, 12611 0, 651, 652, 653, 0, 0, 0, 0, 0, 654, 12612 655, 657, 0, 658, 659, 660, 661, 662, 656, 663, 12613 664, 665, 666, 667, 668, 669, 0, 671, 672, 670, 12614 673, 674, 890, 675, 676, 677, 678, 679, 1399, 680, 12615 0, 681, 682, 690, 691, 692, 683, 684, 686, 693, 12616 685, 694, 695, 696, 697, 699, 698, 0, 701, 702, 12617 700, 703, 704, 705, 706, 1449, 707, 844, 708, 687, 12618 688, 709, 710, 711, 891, 712, 713, 714, 715, 716, 12619 717, 718, 719, 720, 1465, 0, 721, 0, 722, 723, 12620 724, 725, 726, 727, 729, 689, 730, 731, 732, 737, 12621 738, 1496, 733, 734, 735, 736, 1489, 740, 741, 742, 12622 743, 0, 744, 745, 1384, 739, 728, 0, 746, 747, 12623 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 12624 1478, 1479, 1480, 1481, 0, 768, 0, 757, 759, 760, 12625 761, 762, 1490, 763, 1491, 1409, 764, 765, 766, 767, 12626 758, 769, 770, 0, 1391, 771, 772, 773, 774, 776, 12627 778, 779, 780, 775, 777, 781, 1450, 782, 0, 0, 12628 783, 784, 785, 854, 1475, 1495, 0, 787, 788, 786, 12629 789, 790, 793, 791, 792, 857, 796, 513, 797, 798, 12630 799, 794, 795, 0, 0, 0, 0, 800, 801, 858, 12631 802, 803, 804, 1388, 0, 0, 0, 0, 0, 0, 12632 0, 0, 0, 0, 0, 0, 0, 0, 0, 1383, 12633 0, 0, 0, 0, 0, 0, 1381, 1382, 0, 0, 12634 0, 0, 0, 0, 864, 0, 1415, 0, 0, 2649, 12635 1413, 1460, 1403, 1404, 1405, 1401, 1402, 1414, 0, 0, 12636 0, 0, 0, 0, 0, 0, 0, 0, 345, 346, 12637 348, 347, 349, 350, 351, 352, 0, 353, 354, 0, 12638 0, 0, 0, 0, 1452, 1419, 0, 0, 356, 0, 12639 355, 0, 357, 358, 359, 874, 360, 361, 362, 363, 12640 364, 365, 366, 367, 806, 1466, 0, 368, 1474, 369, 12641 1473, 0, 1484, 370, 371, 372, 373, 374, 375, 376, 12642 377, 378, 379, 1421, 1451, 1385, 380, 1497, 1498, 813, 12643 0, 381, 382, 383, 384, 1458, 0, 1439, 0, 385, 12644 386, 387, 388, 389, 390, 391, 392, 0, 0, 394, 12645 395, 396, 393, 397, 398, 0, 399, 0, 400, 401, 12646 402, 403, 404, 405, 406, 0, 407, 408, 409, 876, 12647 410, 411, 412, 1442, 1440, 1441, 1448, 1444, 1443, 1447, 12648 413, 414, 415, 416, 417, 1477, 418, 420, 421, 1471, 12649 422, 1470, 1390, 425, 427, 419, 423, 0, 426, 424, 12650 428, 429, 0, 430, 431, 432, 433, 0, 0, 434, 12651 1469, 436, 0, 437, 438, 440, 439, 0, 441, 442, 12652 443, 0, 444, 445, 1397, 446, 447, 448, 450, 452, 12653 449, 451, 453, 454, 455, 456, 457, 1485, 1486, 458, 12654 459, 1410, 340, 0, 0, 0, 0, 0, 460, 461, 12655 462, 1468, 0, 0, 0, 463, 0, 465, 469, 466, 12656 467, 468, 470, 0, 464, 471, 472, 0, 877, 473, 12657 474, 475, 1482, 1483, 476, 477, 478, 479, 480, 481, 12658 482, 483, 484, 0, 485, 486, 1492, 0, 1420, 487, 12659 0, 488, 489, 490, 491, 492, 493, 494, 1453, 1454, 12660 1457, 595, 879, 495, 496, 497, 0, 498, 499, 500, 12661 501, 502, 503, 504, 0, 0, 0, 505, 506, 507, 12662 508, 0, 867, 341, 343, 878, 828, 509, 596, 510, 12663 1463, 1464, 0, 1424, 0, 511, 512, 515, 880, 1455, 12664 881, 514, 516, 517, 882, 518, 0, 0, 0, 519, 12665 520, 521, 522, 523, 524, 525, 0, 526, 528, 527, 12666 0, 530, 1493, 529, 883, 531, 532, 884, 0, 533, 12667 534, 535, 536, 537, 538, 541, 1446, 1445, 539, 540, 12668 542, 543, 0, 544, 545, 547, 550, 546, 548, 549, 12669 551, 552, 565, 566, 553, 554, 555, 556, 557, 558, 12670 559, 560, 561, 562, 563, 564, 568, 0, 567, 885, 12671 569, 570, 571, 572, 573, 581, 583, 584, 579, 580, 12672 582, 585, 586, 588, 589, 576, 577, 578, 886, 587, 12673 574, 1387, 575, 344, 887, 590, 591, 592, 593, 1411, 12674 1456, 594, 1472, 597, 598, 0, 0, 599, 0, 600, 12675 0, 0, 602, 603, 604, 0, 0, 605, 606, 836, 12676 888, 607, 889, 1487, 608, 609, 1398, 610, 611, 612, 12677 613, 614, 615, 616, 617, 618, 619, 0, 620, 621, 12678 838, 622, 623, 624, 839, 625, 626, 627, 1488, 628, 12679 841, 629, 630, 0, 631, 632, 633, 0, 634, 635, 12680 636, 637, 638, 639, 640, 641, 642, 643, 1467, 644, 12681 645, 647, 646, 648, 649, 0, 650, 0, 651, 652, 12682 653, 0, 0, 0, 0, 0, 654, 655, 657, 0, 12683 658, 659, 660, 661, 662, 656, 663, 664, 665, 666, 12684 667, 668, 669, 0, 671, 672, 670, 673, 674, 890, 12685 675, 676, 677, 678, 679, 1399, 680, 0, 681, 682, 12686 690, 691, 692, 683, 684, 686, 693, 685, 694, 695, 12687 696, 697, 699, 698, 0, 701, 702, 700, 703, 704, 12688 705, 706, 1449, 707, 844, 708, 687, 688, 709, 710, 12689 711, 891, 712, 713, 714, 715, 716, 717, 718, 719, 12690 720, 1465, 0, 721, 0, 722, 723, 724, 725, 726, 12691 727, 729, 689, 730, 731, 732, 737, 738, 1496, 733, 12692 734, 735, 736, 1489, 740, 741, 742, 743, 0, 744, 12693 745, 1384, 739, 728, 0, 746, 747, 748, 749, 750, 12694 751, 752, 753, 754, 755, 0, 756, 1478, 1479, 1480, 12695 1481, 0, 768, 0, 757, 759, 760, 761, 762, 1490, 12696 763, 1491, 1409, 764, 765, 766, 767, 758, 769, 770, 12697 0, 1391, 771, 772, 773, 774, 776, 778, 779, 780, 12698 775, 777, 781, 1450, 782, 0, 0, 783, 784, 785, 12699 854, 1475, 1495, 0, 787, 788, 786, 789, 790, 793, 12700 791, 792, 857, 796, 513, 797, 798, 799, 794, 795, 12701 0, 0, 0, 0, 800, 801, 858, 802, 803, 804, 12702 1388, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12703 0, 0, 0, 0, 0, 0, 1383, 0, 0, 0, 12704 0, 0, 0, 1381, 1382, 0, 0, 0, 0, 0, 12705 0, 864, 0, 1415, 0, 0, 2149, 1413, 1460, 1403, 12706 1404, 1405, 1401, 1402, 1414, 0, 0, 0, 0, 0, 12707 0, 0, 0, 0, 0, 345, 346, 348, 347, 349, 12708 350, 351, 352, 0, 353, 354, 0, 0, 0, 0, 12709 0, 1452, 1419, 0, 0, 356, 0, 355, 0, 357, 12710 358, 359, 874, 360, 361, 362, 363, 364, 365, 366, 12711 367, 806, 1466, 0, 368, 1474, 369, 1473, 0, 1484, 12712 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 12713 1421, 1451, 1385, 380, 1497, 1498, 813, 0, 381, 382, 12714 383, 384, 1458, 0, 1439, 0, 385, 386, 387, 388, 12715 389, 390, 391, 392, 0, 0, 394, 395, 396, 393, 12716 397, 398, 0, 399, 0, 400, 401, 402, 403, 404, 12717 405, 406, 0, 407, 408, 409, 876, 410, 411, 412, 12718 1442, 1440, 1441, 1448, 1444, 1443, 1447, 413, 414, 415, 12719 416, 417, 1477, 418, 420, 421, 1471, 422, 1470, 1390, 12720 425, 427, 419, 423, 0, 426, 424, 428, 429, 0, 12721 430, 431, 432, 433, 0, 0, 434, 1469, 436, 0, 12722 437, 438, 440, 439, 0, 441, 442, 443, 0, 444, 12723 445, 1397, 446, 447, 448, 450, 452, 449, 451, 453, 12724 454, 455, 456, 457, 1485, 1486, 458, 459, 1410, 340, 12725 0, 0, 0, 0, 0, 460, 461, 462, 1468, 0, 12726 0, 0, 463, 0, 465, 469, 466, 467, 468, 470, 12727 0, 464, 471, 472, 0, 877, 473, 474, 475, 1482, 12728 1483, 476, 477, 478, 479, 480, 481, 482, 483, 484, 12729 0, 485, 486, 1492, 0, 1420, 487, 0, 488, 489, 12730 490, 491, 492, 493, 494, 1453, 1454, 1457, 595, 879, 12731 495, 496, 497, 0, 498, 499, 500, 501, 502, 503, 12732 504, 0, 0, 0, 505, 506, 507, 508, 0, 867, 12733 341, 343, 878, 828, 509, 596, 510, 1463, 1464, 0, 12734 1424, 0, 511, 512, 515, 880, 1455, 881, 514, 516, 12735 517, 882, 518, 0, 0, 0, 519, 520, 521, 522, 12736 523, 524, 525, 0, 526, 528, 527, 0, 530, 1493, 12737 529, 883, 531, 532, 884, 0, 533, 534, 535, 536, 12738 537, 538, 541, 1446, 1445, 539, 540, 542, 543, 0, 12739 544, 545, 547, 550, 546, 548, 549, 551, 552, 565, 12740 566, 553, 554, 555, 556, 557, 558, 559, 560, 561, 12741 562, 563, 564, 568, 0, 567, 885, 569, 570, 571, 12742 572, 573, 581, 583, 584, 579, 580, 582, 585, 586, 12743 588, 589, 576, 577, 578, 886, 587, 574, 1387, 575, 12744 344, 887, 590, 591, 592, 593, 1411, 1456, 594, 1472, 12745 597, 598, 0, 0, 599, 0, 600, 0, 0, 602, 12746 603, 604, 0, 0, 605, 606, 836, 888, 607, 889, 12747 1487, 608, 609, 1398, 610, 611, 612, 613, 614, 615, 12748 616, 617, 618, 619, 0, 620, 621, 838, 622, 623, 12749 624, 839, 625, 626, 627, 1488, 628, 841, 629, 630, 12750 0, 631, 632, 633, 0, 634, 635, 636, 637, 638, 12751 639, 640, 641, 642, 643, 1467, 644, 645, 647, 646, 12752 648, 649, 0, 650, 0, 651, 652, 653, 0, 0, 12753 0, 0, 0, 654, 655, 657, 0, 658, 659, 660, 12754 661, 662, 656, 663, 664, 665, 666, 667, 668, 669, 12755 0, 671, 672, 670, 673, 674, 890, 675, 676, 677, 12756 678, 679, 1399, 680, 0, 681, 682, 690, 691, 692, 12757 683, 684, 686, 693, 685, 694, 695, 696, 697, 699, 12758 698, 0, 701, 702, 700, 703, 704, 705, 706, 1449, 12759 707, 844, 708, 687, 688, 709, 710, 711, 891, 712, 12760 713, 714, 715, 716, 717, 718, 719, 720, 1465, 0, 12761 721, 0, 722, 723, 724, 725, 726, 727, 729, 689, 12762 730, 731, 732, 737, 738, 1496, 733, 734, 735, 736, 12763 1489, 740, 741, 742, 743, 0, 744, 745, 1384, 739, 12764 728, 0, 746, 747, 748, 749, 750, 751, 752, 753, 12765 754, 755, 0, 756, 1478, 1479, 1480, 1481, 0, 768, 12766 0, 757, 759, 760, 761, 762, 1490, 763, 1491, 1409, 12767 764, 765, 766, 767, 758, 769, 770, 0, 1391, 771, 12768 772, 773, 774, 776, 778, 779, 780, 775, 777, 781, 12769 1450, 782, 0, 0, 783, 784, 785, 854, 1475, 1495, 12770 0, 787, 788, 786, 789, 790, 793, 791, 792, 857, 12771 796, 513, 797, 798, 799, 794, 795, 0, 0, 0, 12772 0, 800, 801, 858, 802, 803, 804, 1388, 0, 0, 12773 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12774 0, 0, 0, 1383, 0, 0, 0, 0, 0, 0, 12775 1381, 1382, 0, 0, 0, 0, 0, 0, 864, 0, 12776 1415, 0, 0, 2144, 1413, 1460, 1403, 1404, 1405, 1401, 12777 1402, 1414, 0, 0, 0, 0, 0, 0, 0, 0, 12778 0, 0, 345, 346, 348, 347, 349, 350, 351, 352, 12779 0, 353, 354, 0, 0, 0, 0, 0, 1452, 1419, 12780 0, 0, 356, 0, 355, 0, 357, 358, 359, 874, 12781 360, 361, 362, 363, 364, 365, 366, 367, 806, 1466, 12782 0, 368, 1474, 369, 1473, 0, 1484, 370, 371, 372, 12783 373, 374, 375, 376, 377, 378, 379, 1421, 1451, 1385, 12784 380, 1497, 1498, 813, 0, 381, 382, 383, 384, 1458, 12785 0, 1439, 0, 385, 386, 387, 388, 389, 390, 391, 12786 392, 0, 0, 394, 395, 396, 393, 397, 398, 0, 12787 399, 0, 400, 401, 402, 403, 404, 405, 406, 0, 12788 407, 408, 409, 876, 410, 411, 412, 1442, 1440, 1441, 12789 1448, 1444, 1443, 1447, 413, 414, 415, 416, 417, 1477, 12790 418, 420, 421, 1471, 422, 1470, 1390, 425, 427, 419, 12791 423, 0, 426, 424, 428, 429, 0, 430, 431, 432, 12792 433, 0, 0, 434, 1469, 436, 0, 437, 438, 440, 12793 439, 0, 441, 442, 443, 0, 444, 445, 1397, 446, 12794 447, 448, 450, 452, 449, 451, 453, 454, 455, 456, 12795 457, 1485, 1486, 458, 459, 1410, 340, 0, 0, 0, 12796 0, 0, 460, 461, 462, 1468, 0, 0, 0, 463, 12797 0, 465, 469, 466, 467, 468, 470, 0, 464, 471, 12798 472, 0, 877, 473, 474, 475, 1482, 1483, 476, 477, 12799 478, 479, 480, 481, 482, 483, 484, 0, 485, 486, 12800 1492, 0, 1420, 487, 0, 488, 489, 490, 491, 492, 12801 493, 494, 1453, 1454, 1457, 595, 879, 495, 496, 497, 12802 0, 498, 499, 500, 501, 502, 503, 504, 0, 0, 12803 0, 505, 506, 507, 508, 0, 867, 341, 343, 878, 12804 828, 509, 596, 510, 1463, 1464, 0, 1424, 0, 511, 12805 512, 515, 880, 1455, 881, 514, 516, 517, 882, 518, 12806 0, 0, 0, 519, 520, 521, 522, 523, 524, 525, 12807 0, 526, 528, 527, 0, 530, 1493, 529, 883, 531, 12808 532, 884, 0, 533, 534, 535, 536, 537, 538, 541, 12809 1446, 1445, 539, 540, 542, 543, 0, 544, 545, 547, 12810 550, 546, 548, 549, 551, 552, 565, 566, 553, 554, 12811 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 12812 568, 0, 567, 885, 569, 570, 571, 572, 573, 581, 12813 583, 584, 579, 580, 582, 585, 586, 588, 589, 576, 12814 577, 578, 886, 587, 574, 1387, 575, 344, 887, 590, 12815 591, 592, 593, 1411, 1456, 594, 1472, 597, 598, 0, 12816 0, 599, 0, 600, 0, 0, 602, 603, 604, 0, 12817 0, 605, 606, 836, 888, 607, 889, 1487, 608, 609, 12818 1398, 610, 611, 612, 613, 614, 615, 616, 617, 618, 12819 619, 0, 620, 621, 838, 622, 623, 624, 839, 625, 12820 626, 627, 1488, 628, 841, 629, 630, 0, 631, 632, 12821 633, 0, 634, 635, 636, 637, 638, 639, 640, 641, 12822 642, 643, 1467, 644, 645, 647, 646, 648, 649, 0, 12823 650, 0, 651, 652, 653, 0, 0, 0, 0, 0, 12824 654, 655, 657, 0, 658, 659, 660, 661, 662, 656, 12825 663, 664, 665, 666, 667, 668, 669, 0, 671, 672, 12826 670, 673, 674, 890, 675, 676, 677, 678, 679, 1399, 12827 680, 0, 681, 682, 690, 691, 692, 683, 684, 686, 12828 693, 685, 694, 695, 696, 697, 699, 698, 0, 701, 12829 702, 700, 703, 704, 705, 706, 1449, 707, 844, 708, 12830 687, 688, 709, 710, 711, 891, 712, 713, 714, 715, 12831 716, 717, 718, 719, 720, 1465, 0, 721, 0, 722, 12832 723, 724, 725, 726, 727, 729, 689, 730, 731, 732, 12833 737, 738, 1496, 733, 734, 735, 736, 1489, 740, 741, 12834 742, 743, 0, 744, 745, 1384, 739, 728, 0, 746, 12835 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 12836 756, 1478, 1479, 1480, 1481, 0, 768, 0, 757, 759, 12837 760, 761, 762, 1490, 763, 1491, 1409, 764, 765, 766, 12838 767, 758, 769, 770, 0, 1391, 771, 772, 773, 774, 12839 776, 778, 779, 780, 775, 777, 781, 1450, 782, 0, 12840 0, 783, 784, 785, 854, 1475, 1495, 0, 787, 788, 12841 786, 789, 790, 793, 791, 792, 857, 796, 513, 797, 12842 798, 799, 794, 795, 0, 0, 0, 0, 800, 801, 12843 858, 802, 803, 804, 1388, 0, 0, 0, 0, 0, 12844 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12845 1383, 0, 0, 0, 0, 0, 0, 1381, 1382, 0, 12846 0, 0, 0, 0, 0, 864, 0, 1415, 0, 0, 12847 2130, 1413, 1460, 1403, 1404, 1405, 1401, 1402, 1414, 0, 12848 0, 0, 0, 0, 0, 0, 0, 0, 0, 345, 12849 346, 348, 347, 349, 350, 351, 352, 0, 353, 354, 12850 0, 0, 0, 0, 0, 1452, 1419, 0, 0, 356, 12851 0, 355, 0, 357, 358, 359, 874, 360, 361, 362, 12852 363, 364, 365, 366, 367, 806, 1466, 0, 368, 1474, 12853 369, 1473, 0, 1484, 370, 371, 372, 373, 374, 375, 12854 376, 377, 378, 379, 1421, 1451, 1385, 380, 1497, 1498, 12855 813, 0, 381, 382, 383, 384, 1458, 0, 1439, 0, 12856 385, 386, 387, 388, 389, 390, 391, 392, 0, 0, 12857 394, 395, 396, 393, 397, 398, 0, 399, 0, 400, 12858 401, 402, 403, 404, 405, 406, 0, 407, 408, 409, 12859 876, 410, 411, 412, 1442, 1440, 1441, 1448, 1444, 1443, 12860 1447, 413, 414, 415, 416, 417, 1477, 418, 420, 421, 12861 1471, 422, 1470, 1390, 425, 427, 419, 423, 0, 426, 12862 424, 428, 429, 0, 430, 431, 432, 433, 0, 0, 12863 434, 1469, 436, 0, 437, 438, 440, 439, 0, 441, 12864 442, 443, 0, 444, 445, 1397, 446, 447, 448, 450, 12865 452, 449, 451, 453, 454, 455, 456, 457, 1485, 1486, 12866 458, 459, 1410, 340, 0, 0, 0, 0, 0, 460, 12867 461, 462, 1468, 0, 0, 0, 463, 0, 465, 469, 12868 466, 467, 468, 470, 0, 464, 471, 472, 0, 877, 12869 473, 474, 475, 1482, 1483, 476, 477, 478, 479, 480, 12870 481, 482, 483, 484, 0, 485, 486, 1492, 0, 1420, 12871 487, 0, 488, 489, 490, 491, 492, 493, 494, 1453, 12872 1454, 1457, 595, 879, 495, 496, 497, 0, 498, 499, 12873 500, 501, 502, 503, 504, 0, 0, 0, 505, 506, 12874 507, 508, 0, 867, 341, 343, 878, 828, 509, 596, 12875 510, 1463, 1464, 0, 1424, 0, 511, 512, 515, 880, 12876 1455, 881, 514, 516, 517, 882, 518, 0, 0, 0, 12877 519, 520, 521, 522, 523, 524, 525, 0, 526, 528, 12878 527, 0, 530, 1493, 529, 883, 531, 532, 884, 0, 12879 533, 534, 535, 536, 537, 538, 541, 1446, 1445, 539, 12880 540, 542, 543, 0, 544, 545, 547, 550, 546, 548, 12881 549, 551, 552, 565, 566, 553, 554, 555, 556, 557, 12882 558, 559, 560, 561, 562, 563, 564, 568, 0, 567, 12883 885, 569, 570, 571, 572, 573, 581, 583, 584, 579, 12884 580, 582, 585, 586, 588, 589, 576, 577, 578, 886, 12885 587, 574, 1387, 575, 344, 887, 590, 591, 592, 593, 12886 1411, 1456, 594, 1472, 597, 598, 0, 0, 599, 0, 12887 600, 0, 0, 602, 603, 604, 0, 0, 605, 606, 12888 836, 888, 607, 889, 1487, 608, 609, 1398, 610, 611, 12889 612, 613, 614, 615, 616, 617, 618, 619, 0, 620, 12890 621, 838, 622, 623, 624, 839, 625, 626, 627, 1488, 12891 628, 841, 629, 630, 0, 631, 632, 633, 0, 634, 12892 635, 636, 637, 638, 639, 640, 641, 642, 643, 1467, 12893 644, 645, 647, 646, 648, 649, 0, 650, 0, 651, 12894 652, 653, 0, 0, 0, 0, 0, 654, 655, 657, 12895 0, 658, 659, 660, 661, 662, 656, 663, 664, 665, 12896 666, 667, 668, 669, 0, 671, 672, 670, 673, 674, 12897 890, 675, 676, 677, 678, 679, 1399, 680, 0, 681, 12898 682, 690, 691, 692, 683, 684, 686, 693, 685, 694, 12899 695, 696, 697, 699, 698, 0, 701, 702, 700, 703, 12900 704, 705, 706, 1449, 707, 844, 708, 687, 688, 709, 12901 710, 711, 891, 712, 713, 714, 715, 716, 717, 718, 12902 719, 720, 1465, 0, 721, 0, 722, 723, 724, 725, 12903 726, 727, 729, 689, 730, 731, 732, 737, 738, 1496, 12904 733, 734, 735, 736, 1489, 740, 741, 742, 743, 0, 12905 744, 745, 1384, 739, 728, 0, 746, 747, 748, 749, 12906 750, 751, 752, 753, 754, 755, 0, 756, 1478, 1479, 12907 1480, 1481, 0, 768, 0, 757, 759, 760, 761, 762, 12908 1490, 763, 1491, 1409, 764, 765, 766, 767, 758, 769, 12909 770, 0, 1391, 771, 772, 773, 774, 776, 778, 779, 12910 780, 775, 777, 781, 1450, 782, 0, 0, 783, 784, 12911 785, 854, 1475, 1495, 0, 787, 788, 786, 789, 790, 12912 793, 791, 792, 857, 796, 513, 797, 798, 799, 794, 12913 795, 0, 0, 0, 0, 800, 801, 858, 802, 803, 12914 804, 1388, 0, 0, 0, 0, 0, 0, 0, 0, 12915 0, 0, 0, 0, 0, 0, 0, 1383, 0, 0, 12916 0, 0, 0, 0, 1381, 1382, 0, 0, 0, 0, 12917 0, 0, 864, 0, 1415, 0, 0, 2125, 1413, 1460, 12918 1403, 1404, 1405, 1401, 1402, 1414, 0, 0, 0, 0, 12919 0, 0, 0, 0, 0, 0, 345, 346, 348, 347, 12920 349, 350, 351, 352, 0, 353, 354, 0, 0, 0, 12921 0, 0, 1452, 1419, 0, 0, 356, 0, 355, 0, 12922 357, 358, 359, 874, 360, 361, 362, 363, 364, 365, 12923 366, 367, 806, 1466, 0, 368, 1474, 369, 1473, 0, 12924 1484, 370, 371, 372, 373, 374, 375, 376, 377, 378, 12925 379, 1421, 1451, 1385, 380, 1497, 1498, 813, 0, 381, 12926 382, 383, 384, 1458, 0, 1439, 0, 385, 386, 387, 12927 388, 389, 390, 391, 392, 0, 0, 394, 395, 396, 12928 393, 397, 398, 0, 399, 0, 400, 401, 402, 403, 12929 404, 405, 406, 0, 407, 408, 409, 876, 410, 411, 12930 412, 1442, 1440, 1441, 1448, 1444, 1443, 1447, 413, 414, 12931 415, 416, 417, 1477, 418, 420, 421, 1471, 422, 1470, 12932 1390, 425, 427, 419, 423, 0, 426, 424, 428, 429, 12933 0, 430, 431, 432, 433, 0, 0, 434, 1469, 436, 12934 0, 437, 438, 440, 439, 0, 441, 442, 443, 0, 12935 444, 445, 1397, 446, 447, 448, 450, 452, 449, 451, 12936 453, 454, 455, 456, 457, 1485, 1486, 458, 459, 1410, 12937 340, 0, 0, 0, 0, 0, 460, 461, 462, 1468, 12938 0, 0, 0, 463, 0, 465, 469, 466, 467, 468, 12939 470, 0, 464, 471, 472, 0, 877, 473, 474, 475, 12940 1482, 1483, 476, 477, 478, 479, 480, 481, 482, 483, 12941 484, 0, 485, 486, 1492, 0, 1420, 487, 0, 488, 12942 489, 490, 491, 492, 493, 494, 1453, 1454, 1457, 595, 12943 879, 495, 496, 497, 0, 498, 499, 500, 501, 502, 12944 503, 504, 0, 0, 0, 505, 506, 507, 508, 0, 12945 867, 341, 343, 878, 828, 509, 596, 510, 1463, 1464, 12946 0, 1424, 0, 511, 512, 515, 880, 1455, 881, 514, 12947 516, 517, 882, 518, 0, 0, 0, 519, 520, 521, 12948 522, 523, 524, 525, 0, 526, 528, 527, 0, 530, 12949 1493, 529, 883, 531, 532, 884, 0, 533, 534, 535, 12950 536, 537, 538, 541, 1446, 1445, 539, 540, 542, 543, 12951 0, 544, 545, 547, 550, 546, 548, 549, 551, 552, 12952 565, 566, 553, 554, 555, 556, 557, 558, 559, 560, 12953 561, 562, 563, 564, 568, 0, 567, 885, 569, 570, 12954 571, 572, 573, 581, 583, 584, 579, 580, 582, 585, 12955 586, 588, 589, 576, 577, 578, 886, 587, 574, 1387, 12956 575, 344, 887, 590, 591, 592, 593, 1411, 1456, 594, 12957 1472, 597, 598, 0, 0, 599, 0, 600, 0, 0, 12958 602, 603, 604, 0, 0, 605, 606, 836, 888, 607, 12959 889, 1487, 608, 609, 1398, 610, 611, 612, 613, 614, 12960 615, 616, 617, 618, 619, 0, 620, 621, 838, 622, 12961 623, 624, 839, 625, 626, 627, 1488, 628, 841, 629, 12962 630, 0, 631, 632, 633, 0, 634, 635, 636, 637, 12963 638, 639, 640, 641, 642, 643, 1467, 644, 645, 647, 12964 646, 648, 649, 0, 650, 0, 651, 652, 653, 0, 12965 0, 0, 0, 0, 654, 655, 657, 0, 658, 659, 12966 660, 661, 662, 656, 663, 664, 665, 666, 667, 668, 12967 669, 0, 671, 672, 670, 673, 674, 890, 675, 676, 12968 677, 678, 679, 1399, 680, 0, 681, 682, 690, 691, 12969 692, 683, 684, 686, 693, 685, 694, 695, 696, 697, 12970 699, 698, 0, 701, 702, 700, 703, 704, 705, 706, 12971 1449, 707, 844, 708, 687, 688, 709, 710, 711, 891, 12972 712, 713, 714, 715, 716, 717, 718, 719, 720, 1465, 12973 0, 721, 0, 722, 723, 724, 725, 726, 727, 729, 12974 689, 730, 731, 732, 737, 738, 1496, 733, 734, 735, 12975 736, 1489, 740, 741, 742, 743, 0, 744, 745, 1384, 12976 739, 728, 0, 746, 747, 748, 749, 750, 751, 752, 12977 753, 754, 755, 0, 756, 1478, 1479, 1480, 1481, 0, 12978 768, 0, 757, 759, 760, 761, 762, 1490, 763, 1491, 12979 1409, 764, 765, 766, 767, 758, 769, 770, 0, 1391, 12980 771, 772, 773, 774, 776, 778, 779, 780, 775, 777, 12981 781, 1450, 782, 0, 0, 783, 784, 785, 854, 1475, 12982 1495, 0, 787, 788, 786, 789, 790, 793, 791, 792, 12983 857, 796, 513, 797, 798, 799, 794, 795, 0, 0, 12984 0, 0, 800, 801, 858, 802, 803, 804, 1388, 0, 12985 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12986 0, 0, 0, 0, 1383, 0, 0, 0, 0, 0, 12987 0, 1381, 1382, 0, 0, 0, 0, 0, 0, 864, 12988 0, 1415, 0, 0, 2026, 1413, 1460, 1403, 1404, 1405, 12989 1401, 1402, 1414, 0, 0, 0, 0, 0, 0, 0, 12990 0, 0, 0, 345, 346, 348, 347, 349, 350, 351, 12991 352, 0, 353, 354, 0, 0, 0, 0, 0, 1452, 12992 1419, 0, 0, 356, 0, 355, 0, 357, 358, 359, 12993 874, 360, 361, 362, 363, 364, 365, 366, 367, 806, 12994 1466, 0, 368, 1474, 369, 1473, 0, 1484, 370, 371, 12995 372, 373, 374, 375, 376, 377, 378, 379, 1421, 1451, 12996 1385, 380, 1497, 1498, 813, 0, 381, 382, 383, 384, 12997 1458, 0, 1439, 0, 385, 386, 387, 388, 389, 390, 12998 391, 392, 0, 0, 394, 395, 396, 393, 397, 398, 12999 0, 399, 0, 400, 401, 402, 403, 404, 405, 406, 13000 0, 407, 408, 409, 876, 410, 411, 412, 1442, 1440, 13001 1441, 1448, 1444, 1443, 1447, 413, 414, 415, 416, 417, 13002 1477, 418, 420, 421, 1471, 422, 1470, 1390, 425, 427, 13003 419, 423, 0, 426, 424, 428, 429, 0, 430, 431, 13004 432, 433, 0, 0, 434, 1469, 436, 0, 437, 438, 13005 440, 439, 0, 441, 442, 443, 0, 444, 445, 1397, 13006 446, 447, 448, 450, 452, 449, 451, 453, 454, 455, 13007 456, 457, 1485, 1486, 458, 459, 1410, 340, 0, 0, 13008 0, 0, 0, 460, 461, 462, 1468, 0, 0, 0, 13009 463, 0, 465, 469, 466, 467, 468, 470, 0, 464, 13010 471, 472, 0, 877, 473, 474, 475, 1482, 1483, 476, 13011 477, 478, 479, 480, 481, 482, 483, 484, 0, 485, 13012 486, 1492, 0, 1420, 487, 0, 488, 489, 490, 491, 13013 492, 493, 494, 2025, 1454, 1457, 595, 879, 495, 496, 13014 497, 0, 498, 499, 500, 501, 502, 503, 504, 0, 13015 0, 0, 505, 506, 507, 508, 0, 867, 341, 343, 13016 878, 828, 509, 596, 510, 1463, 1464, 0, 1424, 0, 13017 511, 512, 515, 880, 1455, 881, 514, 516, 517, 882, 13018 518, 0, 0, 0, 519, 520, 521, 522, 523, 524, 13019 525, 0, 526, 528, 527, 0, 530, 1493, 529, 883, 13020 531, 532, 884, 0, 533, 534, 535, 536, 537, 538, 13021 541, 1446, 1445, 539, 540, 542, 543, 0, 544, 545, 13022 547, 550, 546, 548, 549, 551, 552, 565, 566, 553, 13023 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 13024 564, 568, 0, 567, 885, 569, 570, 571, 572, 573, 13025 581, 583, 584, 579, 580, 582, 585, 586, 588, 589, 13026 576, 577, 578, 886, 587, 574, 1387, 575, 344, 887, 13027 590, 591, 592, 593, 1411, 1456, 594, 1472, 597, 598, 13028 0, 0, 599, 0, 600, 0, 0, 602, 603, 604, 13029 0, 0, 605, 606, 836, 888, 607, 889, 1487, 608, 13030 609, 1398, 610, 611, 612, 613, 614, 615, 616, 617, 13031 618, 619, 0, 620, 621, 838, 622, 623, 624, 839, 13032 625, 626, 627, 1488, 628, 841, 629, 630, 0, 631, 13033 632, 633, 0, 634, 635, 636, 637, 638, 639, 640, 13034 641, 642, 643, 1467, 644, 645, 647, 646, 648, 649, 13035 0, 650, 0, 651, 652, 653, 0, 0, 0, 0, 13036 0, 654, 655, 657, 0, 658, 659, 660, 661, 662, 13037 656, 663, 664, 665, 666, 667, 668, 669, 0, 671, 13038 672, 670, 673, 674, 890, 675, 676, 677, 678, 679, 13039 1399, 680, 0, 681, 682, 690, 691, 692, 683, 684, 13040 686, 693, 685, 694, 695, 696, 697, 699, 698, 0, 13041 701, 702, 700, 703, 704, 705, 706, 1449, 707, 844, 13042 708, 687, 688, 709, 710, 711, 891, 712, 713, 714, 13043 715, 716, 717, 718, 719, 720, 1465, 0, 721, 0, 13044 722, 723, 724, 725, 726, 727, 729, 689, 730, 731, 13045 732, 737, 738, 1496, 733, 734, 735, 736, 1489, 740, 13046 741, 742, 743, 0, 744, 745, 1384, 739, 728, 0, 13047 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 13048 0, 756, 1478, 1479, 1480, 1481, 0, 768, 0, 757, 13049 759, 760, 761, 762, 1490, 763, 1491, 1409, 764, 765, 13050 766, 767, 758, 769, 770, 0, 1391, 771, 772, 773, 13051 774, 776, 778, 779, 780, 775, 777, 781, 1450, 782, 13052 0, 0, 783, 784, 785, 854, 1475, 1495, 0, 787, 13053 788, 786, 789, 790, 793, 791, 792, 857, 796, 513, 13054 797, 798, 799, 794, 795, 0, 0, 0, 0, 800, 13055 801, 858, 802, 803, 804, 1388, 0, 0, 0, 0, 13056 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13057 0, 1383, 0, 0, 0, 0, 0, 0, 1381, 1382, 13058 0, 0, 0, 0, 0, 0, 864, 0, 1415, 0, 13059 0, 2020, 1413, 1460, 1403, 1404, 1405, 1401, 1402, 1414, 13060 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13061 345, 346, 348, 347, 349, 350, 351, 352, 0, 353, 13062 354, 0, 0, 0, 0, 0, 1452, 1419, 0, 0, 13063 356, 0, 355, 0, 357, 358, 359, 874, 360, 361, 13064 362, 363, 364, 365, 366, 367, 806, 1466, 0, 368, 13065 1474, 369, 1473, 0, 1484, 370, 371, 372, 373, 374, 13066 375, 376, 377, 378, 379, 1421, 1451, 1385, 380, 1497, 13067 1498, 813, 0, 381, 382, 383, 384, 1458, 0, 1439, 13068 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 13069 0, 394, 395, 396, 393, 397, 398, 0, 399, 0, 13070 400, 401, 402, 403, 404, 405, 406, 0, 407, 408, 13071 409, 876, 410, 411, 412, 1442, 1440, 1441, 1448, 1444, 13072 1443, 1447, 413, 414, 415, 416, 417, 1477, 418, 420, 13073 421, 1471, 422, 1470, 1390, 425, 427, 419, 423, 0, 13074 426, 424, 428, 429, 0, 430, 431, 432, 433, 0, 13075 0, 434, 1469, 436, 0, 437, 438, 440, 439, 0, 13076 441, 442, 443, 0, 444, 445, 1397, 446, 447, 448, 13077 450, 452, 449, 451, 453, 454, 455, 456, 457, 1485, 13078 1486, 458, 459, 1410, 340, 0, 0, 0, 0, 0, 13079 460, 461, 462, 1468, 0, 0, 0, 463, 0, 465, 13080 469, 466, 467, 468, 470, 0, 464, 471, 472, 0, 13081 877, 473, 474, 475, 1482, 1483, 476, 477, 478, 479, 13082 480, 481, 482, 483, 484, 0, 485, 486, 1492, 0, 13083 1420, 487, 0, 488, 489, 490, 491, 492, 493, 494, 13084 2019, 1454, 1457, 595, 879, 495, 496, 497, 0, 498, 13085 499, 500, 501, 502, 503, 504, 0, 0, 0, 505, 13086 506, 507, 508, 0, 867, 341, 343, 878, 828, 509, 13087 596, 510, 1463, 1464, 0, 1424, 0, 511, 512, 515, 13088 880, 1455, 881, 514, 516, 517, 882, 518, 0, 0, 13089 0, 519, 520, 521, 522, 523, 524, 525, 0, 526, 13090 528, 527, 0, 530, 1493, 529, 883, 531, 532, 884, 13091 0, 533, 534, 535, 536, 537, 538, 541, 1446, 1445, 13092 539, 540, 542, 543, 0, 544, 545, 547, 550, 546, 13093 548, 549, 551, 552, 565, 566, 553, 554, 555, 556, 13094 557, 558, 559, 560, 561, 562, 563, 564, 568, 0, 13095 567, 885, 569, 570, 571, 572, 573, 581, 583, 584, 13096 579, 580, 582, 585, 586, 588, 589, 576, 577, 578, 13097 886, 587, 574, 1387, 575, 344, 887, 590, 591, 592, 13098 593, 1411, 1456, 594, 1472, 597, 598, 0, 0, 599, 13099 0, 600, 0, 0, 602, 603, 604, 0, 0, 605, 13100 606, 836, 888, 607, 889, 1487, 608, 609, 1398, 610, 13101 611, 612, 613, 614, 615, 616, 617, 618, 619, 0, 13102 620, 621, 838, 622, 623, 624, 839, 625, 626, 627, 13103 1488, 628, 841, 629, 630, 0, 631, 632, 633, 0, 13104 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 13105 1467, 644, 645, 647, 646, 648, 649, 0, 650, 0, 13106 651, 652, 653, 0, 0, 0, 0, 0, 654, 655, 13107 657, 0, 658, 659, 660, 661, 662, 656, 663, 664, 13108 665, 666, 667, 668, 669, 0, 671, 672, 670, 673, 13109 674, 890, 675, 676, 677, 678, 679, 1399, 680, 0, 13110 681, 682, 690, 691, 692, 683, 684, 686, 693, 685, 13111 694, 695, 696, 697, 699, 698, 0, 701, 702, 700, 13112 703, 704, 705, 706, 1449, 707, 844, 708, 687, 688, 13113 709, 710, 711, 891, 712, 713, 714, 715, 716, 717, 13114 718, 719, 720, 1465, 0, 721, 0, 722, 723, 724, 13115 725, 726, 727, 729, 689, 730, 731, 732, 737, 738, 13116 1496, 733, 734, 735, 736, 1489, 740, 741, 742, 743, 13117 0, 744, 745, 1384, 739, 728, 0, 746, 747, 748, 13118 749, 750, 751, 752, 753, 754, 755, 0, 756, 1478, 13119 1479, 1480, 1481, 0, 768, 0, 757, 759, 760, 761, 13120 762, 1490, 763, 1491, 1409, 764, 765, 766, 767, 758, 13121 769, 770, 0, 1391, 771, 772, 773, 774, 776, 778, 13122 779, 780, 775, 777, 781, 1450, 782, 0, 0, 783, 13123 784, 785, 854, 1475, 1495, 0, 787, 788, 786, 789, 13124 790, 793, 791, 792, 857, 796, 513, 797, 798, 799, 13125 794, 795, 0, 0, 0, 0, 800, 801, 858, 802, 13126 803, 804, 1388, 0, 0, 0, 0, 0, 0, 0, 13127 0, 0, 0, 0, 0, 0, 0, 0, 1383, 0, 13128 0, 0, 0, 0, 0, 1381, 1382, 0, 0, 0, 13129 0, 0, 0, 864, 0, 1415, 0, 0, 2014, 1413, 13130 1460, 1403, 1404, 1405, 1401, 1402, 1414, 0, 0, 0, 13131 0, 0, 0, 0, 0, 0, 0, 345, 346, 348, 13132 347, 349, 350, 351, 352, 0, 353, 354, 0, 0, 13133 0, 0, 0, 1452, 1419, 0, 0, 356, 0, 355, 13134 0, 357, 358, 359, 874, 360, 361, 362, 363, 364, 13135 365, 366, 367, 806, 1466, 0, 368, 1474, 369, 1473, 13136 0, 1484, 370, 371, 372, 373, 374, 375, 376, 377, 13137 378, 379, 1421, 1451, 1385, 380, 1497, 1498, 813, 0, 13138 381, 382, 383, 384, 1458, 0, 1439, 0, 385, 386, 13139 387, 388, 389, 390, 391, 392, 0, 0, 394, 395, 13140 396, 393, 397, 398, 0, 399, 0, 400, 401, 402, 13141 403, 404, 405, 406, 0, 407, 408, 409, 876, 410, 13142 411, 412, 1442, 1440, 1441, 1448, 1444, 1443, 1447, 413, 13143 414, 415, 416, 417, 1477, 418, 420, 421, 1471, 422, 13144 1470, 1390, 425, 427, 419, 423, 0, 426, 424, 428, 13145 429, 0, 430, 431, 432, 433, 0, 0, 434, 1469, 13146 436, 0, 437, 438, 440, 439, 0, 441, 442, 443, 13147 0, 444, 445, 1397, 446, 447, 448, 450, 452, 449, 13148 451, 453, 454, 455, 456, 457, 1485, 1486, 458, 459, 13149 1410, 340, 0, 0, 0, 0, 0, 460, 461, 462, 13150 1468, 0, 0, 0, 463, 0, 465, 469, 466, 467, 13151 468, 470, 0, 464, 471, 472, 0, 877, 473, 474, 13152 475, 1482, 1483, 476, 477, 478, 479, 480, 481, 482, 13153 483, 484, 0, 485, 486, 1492, 0, 1420, 487, 0, 13154 488, 489, 490, 491, 492, 493, 494, 1453, 1454, 1457, 13155 595, 879, 495, 496, 497, 0, 498, 499, 500, 501, 13156 502, 503, 504, 0, 0, 0, 505, 506, 507, 508, 13157 0, 867, 341, 343, 878, 828, 509, 596, 510, 1463, 13158 1464, 0, 1424, 0, 511, 512, 515, 880, 1455, 881, 13159 514, 516, 517, 882, 518, 0, 0, 0, 519, 520, 13160 521, 522, 523, 524, 525, 0, 526, 528, 527, 0, 13161 530, 1493, 529, 883, 531, 532, 884, 0, 533, 534, 13162 535, 536, 537, 538, 541, 1446, 1445, 539, 540, 542, 13163 543, 0, 544, 545, 547, 550, 546, 548, 549, 551, 13164 552, 565, 566, 553, 554, 555, 556, 557, 558, 559, 13165 560, 561, 562, 563, 564, 568, 0, 567, 885, 569, 13166 570, 571, 572, 573, 581, 583, 584, 579, 580, 582, 13167 585, 586, 588, 589, 576, 577, 578, 886, 587, 574, 13168 1387, 575, 344, 887, 590, 591, 592, 593, 1411, 1456, 13169 594, 1472, 597, 598, 0, 0, 599, 0, 600, 0, 13170 0, 602, 603, 604, 0, 0, 605, 606, 836, 888, 13171 607, 889, 1487, 608, 609, 1398, 610, 611, 612, 613, 13172 614, 615, 616, 617, 618, 619, 0, 620, 621, 838, 13173 622, 623, 624, 839, 625, 626, 627, 1488, 628, 841, 13174 629, 630, 0, 631, 632, 633, 0, 634, 635, 636, 13175 637, 638, 639, 640, 641, 642, 643, 1467, 644, 645, 13176 647, 646, 648, 649, 0, 650, 0, 651, 652, 653, 13177 0, 0, 0, 0, 0, 654, 655, 657, 0, 658, 13178 659, 660, 661, 662, 656, 663, 664, 665, 666, 667, 13179 668, 669, 0, 671, 672, 670, 673, 674, 890, 675, 13180 676, 677, 678, 679, 1399, 680, 0, 681, 682, 690, 13181 691, 692, 683, 684, 686, 693, 685, 694, 695, 696, 13182 697, 699, 698, 0, 701, 702, 700, 703, 704, 705, 13183 706, 1449, 707, 844, 708, 687, 688, 709, 710, 711, 13184 891, 712, 713, 714, 715, 716, 717, 718, 719, 720, 13185 1465, 0, 721, 0, 722, 723, 724, 725, 726, 727, 13186 729, 689, 730, 731, 732, 737, 738, 1496, 733, 734, 13187 735, 736, 1489, 740, 741, 742, 743, 0, 744, 745, 13188 1384, 739, 728, 0, 746, 747, 748, 749, 750, 751, 13189 752, 753, 754, 755, 0, 756, 1478, 1479, 1480, 1481, 13190 0, 768, 0, 757, 759, 760, 761, 762, 1490, 763, 13191 1491, 1409, 764, 765, 766, 767, 758, 769, 770, 0, 13192 1391, 771, 772, 773, 774, 776, 778, 779, 780, 775, 13193 777, 781, 1450, 782, 0, 0, 783, 784, 785, 854, 13194 1475, 1495, 0, 787, 788, 786, 789, 790, 793, 791, 13195 792, 857, 796, 513, 797, 798, 799, 794, 795, 0, 13196 0, 0, 0, 800, 801, 858, 802, 803, 804, 1388, 13197 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13198 0, 0, 0, 0, 0, 1383, 0, 0, 0, 0, 13199 0, 0, 1381, 1382, 0, 0, 0, 0, 0, 0, 13200 864, 0, 1415, 0, 0, 1987, 1413, 1460, 1403, 1404, 13201 1405, 1401, 1402, 1414, 0, 0, 0, 0, 0, 0, 13202 0, 0, 0, 0, 345, 346, 348, 347, 349, 350, 13203 351, 352, 0, 353, 354, 0, 0, 0, 0, 0, 13204 1452, 1419, 0, 0, 356, 0, 355, 0, 357, 358, 13205 359, 874, 360, 361, 362, 363, 364, 365, 366, 367, 13206 806, 1466, 0, 368, 1474, 369, 1473, 0, 1484, 370, 13207 371, 372, 373, 374, 375, 376, 377, 378, 379, 1421, 13208 1451, 1385, 380, 1497, 1498, 813, 0, 381, 382, 383, 13209 384, 1458, 0, 1439, 0, 385, 386, 387, 388, 389, 13210 390, 391, 392, 0, 0, 394, 395, 396, 393, 397, 13211 398, 0, 399, 0, 400, 401, 402, 403, 404, 405, 13212 406, 0, 407, 408, 409, 876, 410, 411, 412, 1442, 13213 1440, 1441, 1448, 1444, 1443, 1447, 413, 414, 415, 416, 13214 417, 1477, 418, 420, 421, 1471, 422, 1470, 1390, 425, 13215 427, 419, 423, 0, 426, 424, 428, 429, 0, 430, 13216 431, 432, 433, 0, 0, 434, 1469, 436, 0, 437, 13217 438, 440, 439, 0, 441, 442, 443, 0, 444, 445, 13218 1397, 446, 447, 448, 450, 452, 449, 451, 453, 454, 13219 455, 456, 457, 1485, 1486, 458, 459, 1410, 340, 0, 13220 0, 0, 0, 0, 460, 461, 462, 1468, 0, 0, 13221 0, 463, 0, 465, 469, 466, 467, 468, 470, 0, 13222 464, 471, 472, 0, 877, 473, 474, 475, 1482, 1483, 13223 476, 477, 478, 479, 480, 481, 482, 483, 484, 0, 13224 485, 486, 1492, 0, 1420, 487, 0, 488, 489, 490, 13225 491, 492, 493, 494, 1453, 1454, 1457, 595, 879, 495, 13226 496, 497, 0, 498, 499, 500, 501, 502, 503, 504, 13227 0, 0, 0, 505, 506, 507, 508, 0, 867, 341, 13228 343, 878, 828, 509, 596, 510, 1463, 1464, 0, 1424, 13229 0, 511, 512, 515, 880, 1455, 881, 514, 516, 517, 13230 882, 518, 0, 0, 0, 519, 520, 521, 522, 523, 13231 524, 525, 0, 526, 528, 527, 0, 530, 1493, 529, 13232 883, 531, 532, 884, 0, 533, 534, 535, 536, 537, 13233 538, 541, 1446, 1445, 539, 540, 542, 543, 0, 544, 13234 545, 547, 550, 546, 548, 549, 551, 552, 565, 566, 13235 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 13236 563, 564, 568, 0, 567, 885, 569, 570, 571, 572, 13237 573, 581, 583, 584, 579, 580, 582, 585, 586, 588, 13238 589, 576, 577, 578, 886, 587, 574, 1387, 575, 344, 13239 887, 590, 591, 592, 593, 1411, 1456, 594, 1472, 597, 13240 598, 0, 0, 599, 0, 600, 0, 0, 602, 603, 13241 604, 0, 0, 605, 606, 836, 888, 607, 889, 1487, 13242 608, 609, 1398, 610, 611, 612, 613, 614, 615, 616, 13243 617, 618, 619, 0, 620, 621, 838, 622, 623, 624, 13244 839, 625, 626, 627, 1488, 628, 841, 629, 630, 0, 13245 631, 632, 633, 0, 634, 635, 636, 637, 638, 639, 13246 640, 641, 642, 643, 1467, 644, 645, 647, 646, 648, 13247 649, 0, 650, 0, 651, 652, 653, 0, 0, 0, 13248 0, 0, 654, 655, 657, 0, 658, 659, 660, 661, 13249 662, 656, 663, 664, 665, 666, 667, 668, 669, 0, 13250 671, 672, 670, 673, 674, 890, 675, 676, 677, 678, 13251 679, 1399, 680, 0, 681, 682, 690, 691, 692, 683, 13252 684, 686, 693, 685, 694, 695, 696, 697, 699, 698, 13253 0, 701, 702, 700, 703, 704, 705, 706, 1449, 707, 13254 844, 708, 687, 688, 709, 710, 711, 891, 712, 713, 13255 714, 715, 716, 717, 718, 719, 720, 1465, 0, 721, 13256 0, 722, 723, 724, 725, 726, 727, 729, 689, 730, 13257 731, 732, 737, 738, 1496, 733, 734, 735, 736, 1489, 13258 740, 741, 742, 743, 0, 744, 745, 1384, 739, 728, 13259 0, 746, 747, 748, 749, 750, 751, 752, 753, 754, 13260 755, 0, 756, 1478, 1479, 1480, 1481, 0, 768, 0, 13261 757, 759, 760, 761, 762, 1490, 763, 1491, 1409, 764, 13262 765, 766, 767, 758, 769, 770, 0, 1391, 771, 772, 13263 773, 774, 776, 778, 779, 780, 775, 777, 781, 1450, 13264 782, 0, 0, 783, 784, 785, 854, 1475, 1495, 0, 13265 787, 788, 786, 789, 790, 793, 791, 792, 857, 796, 13266 513, 797, 798, 799, 794, 795, 0, 0, 0, 0, 13267 800, 801, 858, 802, 803, 804, 1388, 0, 0, 0, 13268 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13269 0, 0, 1383, 0, 0, 0, 0, 0, 0, 1381, 13270 1382, 0, 0, 0, 0, 0, 0, 864, 0, 1415, 13271 0, 0, 1967, 1413, 1460, 1403, 1404, 1405, 1401, 1402, 13272 1414, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13273 0, 345, 346, 348, 347, 349, 350, 351, 352, 0, 13274 353, 354, 0, 0, 0, 0, 0, 1452, 1419, 0, 13275 0, 356, 0, 355, 0, 357, 358, 359, 874, 360, 13276 361, 362, 363, 364, 365, 366, 367, 806, 1466, 0, 13277 368, 1474, 369, 1473, 0, 1484, 370, 371, 372, 373, 13278 374, 375, 376, 377, 378, 379, 1421, 1451, 1385, 380, 13279 1497, 1498, 813, 0, 381, 382, 383, 384, 1458, 0, 13280 1439, 0, 385, 386, 387, 388, 389, 390, 391, 392, 13281 0, 0, 394, 395, 396, 393, 397, 398, 0, 399, 13282 0, 400, 401, 402, 403, 404, 405, 406, 0, 407, 13283 408, 409, 876, 410, 411, 412, 1442, 1440, 1441, 1448, 13284 1444, 1443, 1447, 413, 414, 415, 416, 417, 1477, 418, 13285 420, 421, 1471, 422, 1470, 1390, 425, 427, 419, 423, 13286 0, 426, 424, 428, 429, 0, 430, 431, 432, 433, 13287 0, 0, 434, 1469, 436, 0, 437, 438, 440, 439, 13288 0, 441, 442, 443, 0, 444, 445, 1397, 446, 447, 13289 448, 450, 452, 449, 1971, 453, 454, 455, 456, 457, 13290 1485, 1486, 458, 459, 1410, 340, 0, 0, 0, 0, 13291 0, 460, 461, 462, 1468, 0, 0, 0, 463, 0, 13292 465, 469, 466, 467, 468, 470, 0, 464, 471, 472, 13293 0, 877, 473, 474, 475, 1482, 1483, 476, 477, 478, 13294 479, 480, 481, 482, 483, 484, 0, 485, 486, 1492, 13295 0, 1420, 487, 0, 488, 489, 490, 491, 492, 493, 13296 494, 1453, 1454, 1457, 595, 879, 495, 496, 497, 0, 13297 498, 499, 500, 501, 502, 503, 504, 0, 0, 0, 13298 505, 506, 507, 508, 0, 867, 341, 343, 878, 828, 13299 509, 596, 510, 1463, 1464, 0, 1424, 0, 511, 512, 13300 515, 880, 1455, 881, 514, 516, 517, 882, 518, 0, 13301 0, 0, 519, 520, 521, 522, 523, 524, 525, 0, 13302 526, 528, 527, 0, 530, 1493, 529, 883, 531, 532, 13303 884, 0, 533, 534, 535, 536, 537, 538, 541, 1446, 13304 1445, 539, 540, 542, 543, 0, 544, 545, 547, 550, 13305 546, 548, 549, 551, 552, 565, 566, 553, 554, 555, 13306 556, 557, 558, 559, 560, 561, 562, 563, 564, 568, 13307 0, 567, 885, 569, 570, 571, 572, 573, 581, 583, 13308 584, 579, 580, 582, 585, 586, 588, 589, 576, 577, 13309 578, 886, 587, 574, 1387, 575, 344, 887, 590, 591, 13310 592, 593, 1411, 1456, 594, 1472, 597, 598, 0, 0, 13311 599, 0, 600, 0, 0, 602, 603, 604, 0, 0, 13312 605, 606, 836, 888, 607, 889, 1487, 608, 609, 1398, 13313 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 13314 0, 620, 621, 838, 622, 623, 624, 839, 625, 626, 13315 627, 1488, 628, 841, 629, 630, 0, 631, 632, 633, 13316 0, 634, 635, 636, 637, 638, 639, 640, 641, 642, 13317 643, 1467, 644, 645, 647, 646, 648, 649, 0, 650, 13318 0, 651, 652, 653, 0, 0, 0, 0, 0, 654, 13319 655, 1972, 0, 658, 659, 660, 661, 662, 656, 663, 13320 664, 665, 666, 667, 668, 669, 0, 671, 672, 670, 13321 673, 674, 890, 675, 676, 677, 678, 679, 1399, 680, 13322 0, 681, 682, 690, 691, 692, 683, 684, 686, 693, 13323 685, 694, 695, 696, 697, 699, 698, 0, 701, 702, 13324 700, 703, 704, 705, 706, 1449, 707, 844, 708, 687, 13325 688, 709, 710, 711, 891, 712, 713, 714, 715, 716, 13326 717, 718, 719, 720, 1465, 0, 721, 0, 722, 723, 13327 724, 725, 726, 727, 729, 689, 730, 731, 732, 737, 13328 738, 1496, 733, 734, 735, 736, 1489, 740, 741, 742, 13329 743, 0, 744, 745, 1384, 739, 728, 0, 746, 747, 13330 748, 749, 750, 751, 752, 753, 1970, 755, 0, 756, 13331 1478, 1479, 1480, 1481, 0, 768, 0, 757, 759, 760, 13332 761, 762, 1490, 763, 1491, 1409, 764, 765, 766, 767, 13333 758, 769, 770, 0, 1391, 771, 772, 773, 774, 776, 13334 778, 779, 780, 775, 777, 781, 1450, 782, 0, 0, 13335 783, 784, 785, 854, 1475, 1495, 0, 787, 788, 786, 13336 789, 790, 793, 791, 792, 857, 796, 513, 797, 798, 13337 799, 794, 795, 0, 0, 0, 0, 800, 801, 858, 13338 802, 803, 804, 1388, 0, 0, 0, 0, 0, 0, 13339 0, 0, 0, 0, 0, 0, 0, 0, 0, 1383, 13340 0, 0, 0, 0, 0, 0, 1381, 1382, 0, 0, 13341 0, 0, 0, 0, 864, 0, 1415, 0, 0, 1793, 13342 1413, 1460, 1403, 1404, 1405, 1401, 1402, 1414, 0, 0, 13343 0, 0, 0, 0, 0, 0, 0, 0, 345, 346, 13344 348, 347, 349, 350, 351, 352, 0, 353, 354, 0, 13345 0, 0, 0, 0, 1452, 1419, 0, 0, 356, 0, 13346 355, 0, 357, 358, 359, 874, 360, 361, 362, 363, 13347 364, 365, 366, 367, 806, 1466, 0, 368, 1474, 369, 13348 1473, 0, 1484, 370, 371, 372, 373, 374, 375, 376, 13349 377, 378, 379, 1421, 1451, 1385, 380, 1497, 1498, 813, 13350 0, 381, 382, 383, 384, 1458, 0, 1439, 0, 385, 13351 386, 387, 388, 389, 390, 391, 392, 0, 0, 394, 13352 395, 396, 393, 397, 398, 0, 399, 0, 400, 401, 13353 402, 403, 404, 405, 406, 0, 407, 408, 409, 876, 13354 410, 411, 412, 1442, 1440, 1441, 1448, 1444, 1443, 1447, 13355 413, 414, 415, 416, 417, 1477, 418, 420, 421, 1471, 13356 422, 1470, 1390, 425, 427, 419, 423, 0, 426, 424, 13357 428, 429, 0, 430, 431, 432, 433, 0, 0, 434, 13358 1469, 436, 0, 437, 438, 440, 439, 0, 441, 442, 13359 443, 0, 444, 445, 1397, 446, 447, 448, 450, 452, 13360 449, 451, 453, 454, 455, 456, 457, 1485, 1486, 458, 13361 459, 1410, 340, 0, 0, 0, 0, 0, 460, 461, 13362 462, 1468, 0, 0, 0, 463, 0, 465, 469, 466, 13363 467, 468, 470, 0, 464, 471, 472, 0, 877, 473, 13364 474, 475, 1482, 1483, 476, 477, 478, 479, 480, 481, 13365 482, 483, 484, 0, 485, 486, 1492, 0, 1420, 487, 13366 0, 488, 489, 490, 491, 492, 493, 494, 1453, 1454, 13367 1457, 595, 879, 495, 496, 497, 0, 498, 499, 500, 13368 501, 502, 503, 504, 0, 0, 0, 505, 506, 507, 13369 508, 0, 867, 341, 343, 878, 828, 509, 596, 510, 13370 1463, 1464, 0, 1424, 0, 511, 512, 515, 880, 1455, 13371 881, 514, 516, 517, 882, 518, 0, 0, 0, 519, 13372 520, 521, 522, 523, 524, 525, 0, 526, 528, 527, 13373 0, 530, 1493, 529, 883, 531, 532, 884, 0, 533, 13374 534, 535, 536, 537, 538, 541, 1446, 1445, 539, 540, 13375 542, 543, 0, 544, 545, 547, 550, 546, 548, 549, 13376 551, 552, 565, 566, 553, 554, 555, 556, 557, 558, 13377 559, 560, 561, 562, 563, 564, 568, 0, 567, 885, 13378 569, 570, 571, 572, 573, 581, 583, 584, 579, 580, 13379 582, 585, 586, 588, 589, 576, 577, 578, 886, 587, 13380 574, 1387, 575, 344, 887, 590, 591, 592, 593, 1411, 13381 1456, 594, 1472, 597, 598, 0, 0, 599, 0, 600, 13382 0, 0, 602, 603, 604, 0, 0, 605, 606, 836, 13383 888, 607, 889, 1487, 608, 609, 1398, 610, 611, 612, 13384 613, 614, 615, 616, 617, 618, 619, 0, 620, 621, 13385 838, 622, 623, 624, 839, 625, 626, 627, 1488, 628, 13386 841, 629, 630, 0, 631, 632, 633, 0, 634, 635, 13387 636, 637, 638, 639, 640, 641, 642, 643, 1467, 644, 13388 645, 647, 646, 648, 649, 0, 650, 0, 651, 652, 13389 653, 0, 0, 0, 0, 0, 654, 655, 657, 0, 13390 658, 659, 660, 661, 662, 656, 663, 664, 665, 666, 13391 667, 668, 669, 0, 671, 672, 670, 673, 674, 890, 13392 675, 676, 677, 678, 679, 1399, 680, 0, 681, 682, 13393 690, 691, 692, 683, 684, 686, 693, 685, 694, 695, 13394 696, 697, 699, 698, 0, 701, 702, 700, 703, 704, 13395 705, 706, 1449, 707, 844, 708, 687, 688, 709, 710, 13396 711, 891, 712, 713, 714, 715, 716, 717, 718, 719, 13397 720, 1465, 0, 721, 0, 722, 723, 724, 725, 726, 13398 727, 729, 689, 730, 731, 732, 737, 738, 1496, 733, 13399 734, 735, 736, 1489, 740, 741, 742, 743, 0, 744, 13400 745, 1384, 739, 728, 0, 746, 747, 748, 749, 750, 13401 751, 752, 753, 754, 755, 0, 756, 1478, 1479, 1480, 13402 1481, 0, 768, 0, 757, 759, 760, 761, 762, 1490, 13403 763, 1491, 1409, 764, 765, 766, 767, 758, 769, 770, 13404 0, 1391, 771, 772, 773, 774, 776, 778, 779, 780, 13405 775, 777, 781, 1450, 782, 0, 0, 783, 784, 785, 13406 854, 1475, 1495, 0, 787, 788, 786, 789, 790, 793, 13407 791, 792, 857, 796, 513, 797, 798, 799, 794, 795, 13408 0, 0, 0, 0, 800, 801, 858, 802, 803, 804, 13409 1388, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13410 0, 0, 0, 0, 0, 0, 1383, 0, 0, 0, 13411 0, 0, 0, 1381, 1382, 0, 0, 0, 0, 0, 13412 0, 864, 0, 1415, 0, 0, 1645, 1413, 1460, 1403, 13413 1404, 1405, 1401, 1402, 1414, 0, 0, 0, 0, 0, 13414 0, 0, 0, 0, 0, 345, 346, 348, 347, 349, 13415 350, 351, 352, 0, 353, 354, 0, 0, 0, 0, 13416 0, 1452, 1419, 0, 0, 356, 0, 355, 0, 357, 13417 358, 359, 874, 360, 361, 362, 363, 364, 365, 366, 13418 367, 806, 1466, 0, 368, 1474, 369, 1473, 0, 1484, 13419 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 13420 1421, 1451, 1385, 380, 1497, 1498, 813, 0, 381, 382, 13421 383, 384, 1458, 0, 1439, 0, 385, 386, 387, 388, 13422 389, 390, 391, 392, 0, 0, 394, 395, 396, 393, 13423 397, 398, 0, 399, 0, 400, 401, 402, 403, 404, 13424 405, 406, 0, 407, 408, 409, 876, 410, 411, 412, 13425 1442, 1440, 1441, 1448, 1444, 1443, 1447, 413, 414, 415, 13426 416, 417, 1477, 418, 420, 421, 1471, 422, 1470, 1390, 13427 425, 427, 419, 423, 0, 426, 424, 428, 429, 0, 13428 430, 431, 432, 433, 0, 0, 434, 1469, 436, 0, 13429 437, 438, 440, 439, 0, 441, 442, 443, 0, 444, 13430 445, 1397, 446, 447, 448, 450, 452, 449, 451, 453, 13431 454, 455, 456, 457, 1485, 1486, 458, 459, 1410, 340, 13432 0, 0, 0, 0, 0, 460, 461, 462, 1468, 0, 13433 0, 0, 463, 0, 465, 469, 466, 467, 468, 470, 13434 0, 464, 471, 472, 0, 877, 473, 474, 475, 1482, 13435 1483, 476, 477, 478, 479, 480, 481, 482, 483, 484, 13436 0, 485, 486, 1492, 0, 1420, 487, 0, 488, 489, 13437 490, 491, 492, 493, 494, 1453, 1454, 1457, 595, 879, 13438 495, 496, 497, 0, 498, 499, 500, 501, 502, 503, 13439 504, 0, 0, 0, 505, 506, 507, 508, 0, 867, 13440 341, 343, 878, 828, 509, 596, 510, 1463, 1464, 0, 13441 1424, 0, 511, 512, 515, 880, 1455, 881, 514, 516, 13442 517, 882, 518, 0, 0, 0, 519, 520, 521, 522, 13443 523, 524, 525, 0, 526, 528, 527, 0, 530, 1493, 13444 529, 883, 531, 532, 884, 0, 533, 534, 535, 536, 13445 537, 538, 541, 1446, 1445, 539, 540, 542, 543, 0, 13446 544, 545, 547, 550, 546, 548, 549, 551, 552, 565, 13447 566, 553, 554, 555, 556, 557, 558, 559, 560, 561, 13448 562, 563, 564, 568, 0, 567, 885, 569, 570, 571, 13449 572, 573, 581, 583, 584, 579, 580, 582, 585, 586, 13450 588, 589, 576, 577, 578, 886, 587, 574, 1387, 575, 13451 344, 887, 590, 591, 592, 593, 1411, 1456, 594, 1472, 13452 597, 598, 0, 0, 599, 0, 600, 0, 0, 602, 13453 603, 604, 0, 0, 605, 606, 836, 888, 607, 889, 13454 1487, 608, 609, 1398, 610, 611, 612, 613, 614, 615, 13455 616, 617, 618, 619, 0, 620, 621, 838, 622, 623, 13456 624, 839, 625, 626, 627, 1488, 628, 841, 629, 630, 13457 0, 631, 632, 633, 0, 634, 635, 636, 637, 638, 13458 639, 640, 641, 642, 643, 1467, 644, 645, 647, 646, 13459 648, 649, 0, 650, 0, 651, 652, 653, 0, 0, 13460 0, 0, 0, 654, 655, 657, 0, 658, 659, 660, 13461 661, 662, 656, 663, 664, 665, 666, 667, 668, 669, 13462 0, 671, 672, 670, 673, 674, 890, 675, 676, 677, 13463 678, 679, 1399, 680, 0, 681, 682, 690, 691, 692, 13464 683, 684, 686, 693, 685, 694, 695, 696, 697, 699, 13465 698, 0, 701, 702, 700, 703, 704, 705, 706, 1449, 13466 707, 844, 708, 687, 688, 709, 710, 711, 891, 712, 13467 713, 714, 715, 716, 717, 718, 719, 720, 1465, 0, 13468 721, 0, 722, 723, 724, 725, 726, 727, 729, 689, 13469 730, 731, 732, 737, 738, 1496, 733, 734, 735, 736, 13470 1489, 740, 741, 742, 743, 0, 744, 745, 1384, 739, 13471 728, 0, 746, 747, 748, 749, 750, 751, 752, 753, 13472 754, 755, 0, 756, 1478, 1479, 1480, 1481, 0, 768, 13473 0, 757, 759, 760, 761, 762, 1490, 763, 1491, 1409, 13474 764, 765, 766, 767, 758, 769, 770, 0, 1391, 771, 13475 772, 773, 774, 776, 778, 779, 780, 775, 777, 781, 13476 1450, 782, 0, 0, 783, 784, 785, 854, 1475, 1495, 13477 0, 787, 788, 786, 789, 790, 793, 791, 792, 857, 13478 796, 513, 797, 798, 799, 794, 795, 0, 0, 0, 13479 0, 800, 801, 858, 802, 803, 804, 1388, 0, 0, 13480 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13481 0, 0, 0, 1383, 0, 0, 0, 0, 0, 0, 13482 1381, 1382, 0, 0, 0, 0, 0, 0, 864, 0, 13483 1415, 0, 0, 0, 1413, 1460, 1403, 1404, 1405, 1401, 13484 1402, 1414, 0, 0, 0, 0, 0, 0, 0, 0, 13485 0, 0, 345, 346, 348, 347, 349, 350, 351, 352, 13486 0, 353, 354, 0, 0, 0, 0, 0, 1452, 1419, 13487 0, 0, 356, 0, 355, 0, 357, 358, 359, 874, 13488 360, 361, 362, 363, 364, 365, 366, 367, 806, 1466, 13489 0, 368, 1474, 369, 1473, 0, 1484, 370, 371, 372, 13490 373, 374, 375, 376, 377, 378, 379, 1421, 1451, 1385, 13491 380, 1497, 1498, 813, 0, 381, 382, 383, 384, 1458, 13492 0, 1439, 0, 385, 386, 387, 388, 389, 390, 391, 13493 392, 0, 0, 394, 395, 396, 393, 397, 398, 0, 13494 399, 0, 400, 401, 402, 403, 404, 405, 406, 0, 13495 407, 408, 409, 876, 410, 411, 412, 1442, 1440, 1441, 13496 1448, 1444, 1443, 1447, 413, 414, 415, 416, 417, 1477, 13497 418, 420, 421, 1471, 422, 1470, 1390, 425, 427, 419, 13498 423, 0, 426, 424, 428, 429, 0, 430, 431, 432, 13499 433, 0, 0, 434, 1469, 436, 0, 437, 438, 440, 13500 439, 0, 441, 442, 443, 0, 444, 445, 1397, 446, 13501 447, 448, 450, 452, 449, 451, 453, 454, 455, 456, 13502 457, 1485, 1486, 458, 459, 1410, 340, 0, 0, 0, 13503 0, 0, 460, 461, 462, 1468, 0, 0, 0, 463, 13504 0, 465, 469, 466, 467, 468, 470, 0, 464, 471, 13505 472, 0, 877, 473, 474, 475, 1482, 1483, 476, 477, 13506 478, 479, 480, 481, 482, 483, 484, 0, 485, 486, 13507 1492, 0, 1420, 487, 0, 488, 489, 490, 491, 492, 13508 493, 494, 1453, 1454, 1457, 595, 879, 495, 496, 497, 13509 0, 498, 499, 500, 501, 502, 503, 504, 0, 0, 13510 0, 505, 506, 507, 508, 0, 867, 341, 343, 878, 13511 828, 509, 596, 510, 1463, 1464, 0, 1424, 0, 511, 13512 512, 515, 880, 1455, 881, 514, 516, 517, 882, 518, 13513 0, 0, 0, 519, 520, 521, 522, 523, 524, 525, 13514 0, 526, 528, 527, 0, 530, 1493, 529, 883, 531, 13515 532, 884, 0, 533, 534, 535, 536, 537, 538, 541, 13516 1446, 1445, 539, 540, 542, 543, 0, 544, 545, 547, 13517 550, 546, 548, 549, 551, 552, 565, 566, 553, 554, 13518 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 13519 568, 0, 567, 885, 569, 570, 571, 572, 573, 581, 13520 583, 584, 579, 580, 582, 585, 586, 588, 589, 576, 13521 577, 578, 886, 587, 574, 1387, 575, 344, 887, 590, 13522 591, 592, 593, 1411, 1456, 594, 1472, 597, 598, 0, 13523 0, 599, 0, 600, 0, 0, 602, 603, 604, 0, 13524 0, 605, 606, 836, 888, 607, 889, 1487, 608, 609, 13525 1398, 610, 611, 612, 613, 614, 615, 616, 617, 618, 13526 619, 0, 620, 621, 838, 622, 623, 624, 839, 625, 13527 626, 627, 1488, 628, 841, 629, 630, 0, 631, 632, 13528 633, 0, 634, 635, 636, 637, 638, 639, 640, 641, 13529 642, 643, 1467, 644, 645, 647, 646, 648, 649, 0, 13530 650, 0, 651, 652, 653, 0, 0, 0, 0, 0, 13531 654, 655, 657, 0, 658, 659, 660, 661, 662, 656, 13532 663, 664, 665, 666, 667, 668, 669, 0, 671, 672, 13533 670, 673, 674, 890, 675, 676, 677, 678, 679, 1399, 13534 680, 0, 681, 682, 690, 691, 692, 683, 684, 686, 13535 693, 685, 694, 695, 696, 697, 699, 698, 0, 701, 13536 702, 700, 703, 704, 705, 706, 1449, 707, 844, 708, 13537 687, 688, 709, 710, 711, 891, 712, 713, 714, 715, 13538 716, 717, 718, 719, 720, 1465, 0, 721, 0, 722, 13539 723, 724, 725, 726, 727, 729, 689, 730, 731, 732, 13540 737, 738, 1496, 733, 734, 735, 736, 1489, 740, 741, 13541 742, 743, 0, 744, 745, 1384, 739, 728, 0, 746, 13542 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 13543 756, 1478, 1479, 1480, 1481, 0, 768, 0, 757, 759, 13544 760, 761, 762, 1490, 763, 1491, 1409, 764, 765, 766, 13545 767, 758, 769, 770, 0, 1391, 771, 772, 773, 774, 13546 776, 778, 779, 780, 775, 777, 781, 1450, 782, 0, 13547 0, 783, 784, 785, 854, 1475, 1495, 0, 787, 788, 13548 786, 789, 790, 793, 791, 792, 857, 796, 513, 797, 13549 798, 799, 794, 795, 0, 0, 0, 0, 800, 801, 13550 858, 802, 803, 804, 1388, 0, 0, 0, 0, 0, 13551 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13552 1383, 0, 0, 0, 0, 0, 0, 1381, 1382, 0, 13553 0, 0, 0, 0, 0, 864, 0, 1415, 0, 0, 13554 0, 1413, 1460, 1403, 1404, 1405, 1401, 1402, 1414, 0, 13555 0, 0, 0, 0, 0, 0, 0, 0, 0, 345, 13556 346, 348, 347, 349, 350, 351, 352, 0, 353, 354, 13557 0, 0, 0, 0, 0, 1452, 1419, 0, 0, 356, 13558 0, 355, 0, 357, 358, 359, 874, 360, 361, 362, 13559 363, 364, 365, 366, 367, 806, 1466, 0, 368, 1474, 13560 369, 1473, 0, 1484, 370, 371, 372, 373, 374, 375, 13561 376, 377, 378, 379, 1421, 1451, 1385, 380, 1497, 1498, 13562 813, 0, 381, 382, 383, 384, 1458, 0, 1439, 0, 13563 385, 386, 387, 388, 389, 390, 391, 392, 0, 0, 13564 394, 395, 396, 393, 397, 398, 0, 399, 0, 400, 13565 401, 402, 403, 404, 405, 406, 0, 407, 408, 409, 13566 876, 410, 411, 6577, 1442, 1440, 1441, 1448, 1444, 1443, 13567 1447, 413, 414, 415, 416, 417, 1477, 418, 420, 421, 13568 1471, 422, 1470, 1390, 425, 427, 419, 423, 0, 426, 13569 424, 428, 429, 0, 430, 431, 432, 433, 0, 0, 13570 434, 1469, 436, 0, 437, 438, 440, 439, 0, 441, 13571 442, 443, 0, 444, 445, 1397, 446, 447, 448, 450, 13572 452, 449, 451, 453, 454, 455, 456, 457, 1485, 1486, 13573 458, 459, 1410, 340, 0, 0, 0, 0, 0, 460, 13574 461, 462, 1468, 0, 0, 0, 463, 0, 465, 469, 13575 466, 467, 468, 470, 0, 464, 471, 472, 0, 877, 13576 473, 474, 475, 1482, 1483, 476, 477, 478, 479, 480, 13577 481, 482, 483, 484, 0, 485, 486, 1492, 0, 1420, 13578 487, 0, 488, 489, 490, 491, 492, 493, 494, 1453, 13579 1454, 1457, 595, 879, 495, 496, 497, 0, 498, 499, 13580 500, 501, 502, 503, 504, 0, 0, 0, 505, 506, 13581 507, 508, 0, 867, 341, 343, 878, 828, 509, 596, 13582 510, 1463, 1464, 0, 1424, 0, 511, 512, 515, 880, 13583 1455, 881, 514, 516, 517, 882, 518, 0, 0, 0, 13584 519, 520, 521, 522, 523, 524, 525, 0, 526, 528, 13585 527, 0, 530, 1493, 529, 883, 531, 532, 884, 0, 13586 533, 534, 535, 536, 537, 538, 541, 1446, 1445, 539, 13587 540, 542, 543, 0, 544, 545, 547, 550, 546, 548, 13588 549, 551, 552, 565, 566, 553, 554, 555, 556, 557, 13589 558, 559, 560, 561, 562, 563, 564, 568, 0, 567, 13590 885, 569, 570, 571, 572, 573, 581, 583, 584, 579, 13591 580, 582, 585, 586, 588, 589, 576, 577, 578, 886, 13592 587, 574, 1387, 575, 344, 887, 590, 591, 592, 593, 13593 1411, 1456, 594, 1472, 597, 598, 0, 0, 599, 0, 13594 600, 0, 0, 602, 603, 604, 0, 0, 605, 606, 13595 836, 888, 607, 889, 1487, 608, 609, 1398, 610, 611, 13596 612, 613, 614, 615, 616, 617, 618, 619, 0, 620, 13597 621, 838, 622, 623, 624, 839, 625, 626, 627, 1488, 13598 628, 841, 629, 630, 0, 631, 632, 633, 0, 634, 13599 635, 636, 637, 638, 639, 640, 641, 642, 643, 1467, 13600 644, 645, 647, 646, 648, 649, 0, 650, 0, 651, 13601 652, 653, 0, 0, 0, 0, 0, 654, 655, 657, 13602 0, 658, 659, 660, 661, 662, 656, 663, 664, 665, 13603 666, 667, 668, 669, 0, 671, 672, 670, 673, 674, 13604 890, 675, 676, 677, 678, 679, 1399, 680, 0, 681, 13605 682, 690, 691, 692, 683, 684, 686, 693, 685, 694, 13606 695, 696, 697, 699, 698, 0, 701, 702, 700, 703, 13607 704, 705, 706, 1449, 707, 844, 708, 687, 688, 709, 13608 710, 711, 891, 712, 713, 714, 715, 716, 717, 718, 13609 719, 720, 1465, 0, 721, 0, 722, 723, 724, 725, 13610 726, 727, 729, 689, 730, 731, 732, 737, 738, 1496, 13611 733, 734, 735, 736, 1489, 740, 741, 742, 743, 0, 13612 744, 745, 1384, 739, 728, 0, 746, 747, 748, 749, 13613 750, 751, 752, 753, 754, 755, 0, 756, 1478, 1479, 13614 1480, 1481, 0, 768, 0, 757, 759, 760, 761, 762, 13615 1490, 763, 1491, 1409, 764, 765, 766, 767, 758, 6576, 13616 770, 0, 1391, 771, 772, 773, 774, 776, 778, 779, 13617 780, 775, 777, 781, 1450, 782, 0, 0, 783, 784, 13618 785, 854, 1475, 1495, 0, 787, 788, 786, 789, 790, 13619 793, 791, 792, 857, 796, 513, 797, 798, 799, 794, 13620 795, 0, 0, 0, 0, 800, 801, 858, 802, 803, 13621 804, 1388, 0, 0, 0, 0, 0, 0, 0, 0, 13622 0, 0, 0, 0, 0, 0, 0, 1383, 0, 0, 13623 0, 0, 0, 0, 1381, 1382, 0, 0, 0, 0, 13624 0, 0, 864, 0, 1415, 0, 0, 0, 1413, 1460, 13625 1403, 1404, 1405, 1401, 1402, 1414, 0, 0, 0, 0, 13626 0, 0, 0, 0, 0, 0, 345, 346, 348, 347, 13627 349, 350, 351, 352, 0, 353, 354, 0, 0, 0, 13628 0, 0, 1452, 1419, 0, 0, 356, 0, 355, 0, 13629 357, 358, 359, 874, 360, 361, 362, 363, 364, 365, 13630 366, 367, 6575, 1466, 0, 368, 1474, 369, 1473, 0, 13631 1484, 370, 371, 372, 373, 374, 375, 376, 377, 378, 13632 379, 1421, 1451, 1385, 380, 1497, 1498, 813, 0, 381, 13633 382, 383, 384, 1458, 0, 1439, 0, 385, 386, 387, 13634 388, 389, 390, 391, 392, 0, 0, 394, 395, 396, 13635 393, 397, 398, 0, 399, 0, 400, 401, 402, 403, 13636 404, 405, 406, 0, 407, 408, 409, 876, 410, 411, 13637 6577, 1442, 1440, 1441, 1448, 1444, 1443, 1447, 413, 414, 13638 415, 416, 417, 1477, 418, 420, 421, 1471, 422, 1470, 13639 1390, 425, 427, 419, 423, 0, 426, 424, 428, 429, 13640 0, 430, 431, 432, 433, 0, 0, 434, 1469, 436, 13641 0, 437, 438, 440, 439, 0, 441, 442, 443, 0, 13642 444, 445, 1397, 446, 447, 448, 450, 452, 449, 451, 13643 453, 454, 455, 456, 457, 1485, 1486, 458, 459, 1410, 13644 340, 0, 0, 0, 0, 0, 460, 461, 462, 1468, 13645 0, 0, 0, 463, 0, 465, 469, 466, 467, 468, 13646 470, 0, 464, 471, 472, 0, 877, 473, 474, 475, 13647 1482, 1483, 476, 477, 478, 479, 480, 481, 482, 483, 13648 484, 0, 485, 486, 1492, 0, 1420, 487, 0, 488, 13649 489, 490, 491, 492, 493, 494, 1453, 1454, 1457, 595, 13650 879, 495, 496, 497, 0, 498, 499, 500, 501, 502, 13651 503, 504, 0, 0, 0, 505, 506, 507, 508, 0, 13652 867, 341, 343, 878, 828, 509, 596, 510, 1463, 1464, 13653 0, 1424, 0, 511, 512, 515, 880, 1455, 881, 514, 13654 516, 517, 882, 518, 0, 0, 0, 519, 520, 521, 13655 522, 523, 524, 525, 0, 526, 528, 527, 0, 530, 13656 1493, 529, 883, 531, 532, 884, 0, 533, 534, 535, 13657 536, 537, 538, 541, 1446, 1445, 539, 540, 542, 543, 13658 0, 544, 545, 547, 550, 546, 548, 549, 551, 552, 13659 565, 566, 553, 554, 555, 556, 557, 558, 559, 560, 13660 561, 562, 563, 564, 568, 0, 567, 885, 569, 570, 13661 571, 572, 573, 581, 583, 584, 579, 580, 582, 585, 13662 586, 588, 589, 576, 577, 578, 886, 587, 574, 1387, 13663 575, 344, 887, 590, 591, 592, 593, 1411, 1456, 594, 13664 1472, 597, 598, 0, 0, 599, 0, 600, 0, 0, 13665 602, 603, 604, 0, 0, 605, 606, 836, 888, 607, 13666 889, 1487, 608, 609, 1398, 610, 611, 612, 613, 614, 13667 615, 616, 617, 618, 619, 0, 620, 621, 838, 622, 13668 623, 624, 839, 625, 626, 627, 1488, 628, 841, 629, 13669 630, 0, 631, 632, 633, 0, 634, 635, 636, 637, 13670 638, 639, 640, 641, 642, 643, 1467, 644, 645, 647, 13671 646, 648, 649, 0, 650, 0, 651, 652, 653, 0, 13672 0, 0, 0, 0, 654, 655, 657, 0, 658, 659, 13673 660, 661, 662, 656, 663, 664, 665, 666, 667, 668, 13674 669, 0, 671, 672, 670, 673, 674, 890, 675, 676, 13675 677, 678, 679, 1399, 680, 0, 681, 682, 690, 691, 13676 692, 683, 684, 686, 693, 685, 694, 695, 696, 697, 13677 699, 698, 0, 701, 702, 700, 703, 704, 705, 706, 13678 1449, 707, 844, 708, 687, 688, 709, 710, 711, 891, 13679 712, 713, 714, 715, 716, 717, 718, 719, 720, 1465, 13680 0, 721, 0, 722, 723, 724, 725, 726, 727, 729, 13681 689, 730, 731, 732, 737, 738, 1496, 733, 734, 735, 13682 736, 1489, 740, 741, 742, 743, 0, 744, 745, 1384, 13683 739, 728, 0, 746, 747, 748, 749, 750, 751, 752, 13684 753, 754, 755, 0, 756, 1478, 1479, 1480, 1481, 0, 13685 768, 0, 757, 759, 760, 761, 762, 1490, 763, 1491, 13686 1409, 764, 765, 766, 767, 758, 6576, 770, 0, 1391, 13687 771, 772, 773, 774, 776, 778, 779, 780, 775, 777, 13688 781, 1450, 782, 0, 0, 783, 784, 785, 854, 1475, 13689 1495, 0, 787, 788, 786, 789, 790, 793, 791, 792, 13690 857, 796, 513, 797, 798, 799, 794, 795, 0, 0, 13691 0, 0, 800, 801, 858, 802, 803, 804, 1388, 0, 13692 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13693 0, 0, 0, 0, 1383, 0, 0, 0, 0, 0, 13694 0, 1381, 1382, 0, 0, 0, 0, 0, 0, 864, 13695 0, 1415, 0, 0, 0, 1413, 1460, 1403, 1404, 1405, 13696 1401, 1402, 1414, 0, 0, 0, 0, 0, 0, 0, 13697 0, 0, 0, 345, 346, 348, 347, 349, 350, 351, 13698 352, 0, 353, 354, 0, 0, 0, 0, 0, 1452, 13699 1419, 0, 0, 356, 0, 355, 0, 357, 358, 359, 13700 874, 360, 361, 362, 363, 364, 365, 366, 367, 806, 13701 1466, 0, 368, 1474, 369, 1473, 0, 1484, 370, 371, 13702 372, 373, 374, 375, 376, 377, 378, 379, 1421, 1451, 13703 1385, 380, 1497, 1498, 813, 0, 381, 382, 383, 384, 13704 1458, 0, 1439, 0, 385, 386, 387, 388, 389, 390, 13705 391, 392, 0, 0, 394, 395, 396, 393, 397, 398, 13706 0, 399, 0, 400, 401, 402, 403, 404, 405, 406, 13707 0, 407, 408, 409, 876, 410, 6080, 412, 1442, 1440, 13708 1441, 1448, 1444, 1443, 1447, 413, 414, 415, 416, 417, 13709 1477, 418, 420, 421, 1471, 422, 1470, 1390, 425, 427, 13710 419, 423, 0, 426, 424, 428, 429, 0, 430, 431, 13711 432, 433, 0, 0, 434, 1469, 436, 0, 437, 438, 13712 440, 439, 0, 441, 442, 443, 0, 444, 445, 1397, 13713 446, 447, 448, 450, 452, 449, 451, 453, 454, 455, 13714 456, 457, 1485, 1486, 458, 459, 1410, 340, 0, 0, 13715 0, 0, 0, 460, 461, 462, 1468, 0, 0, 0, 13716 463, 0, 465, 469, 466, 467, 468, 470, 0, 464, 13717 471, 472, 0, 877, 473, 474, 475, 1482, 1483, 476, 13718 477, 478, 479, 480, 481, 482, 483, 484, 0, 485, 13719 486, 1492, 0, 6081, 487, 0, 488, 489, 490, 491, 13720 492, 493, 494, 1453, 1454, 1457, 595, 879, 495, 496, 13721 497, 0, 498, 499, 500, 501, 502, 503, 504, 0, 13722 0, 0, 505, 506, 507, 508, 0, 867, 341, 343, 13723 878, 828, 509, 596, 510, 1463, 1464, 0, 1424, 0, 13724 511, 512, 515, 880, 1455, 881, 514, 516, 517, 882, 13725 518, 0, 0, 0, 519, 520, 521, 522, 523, 524, 13726 525, 0, 526, 528, 527, 0, 530, 1493, 529, 883, 13727 531, 532, 884, 0, 533, 534, 535, 536, 537, 538, 13728 541, 1446, 1445, 539, 540, 542, 543, 0, 544, 545, 13729 547, 550, 546, 548, 549, 551, 552, 565, 566, 553, 13730 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 13731 564, 568, 0, 567, 885, 569, 570, 571, 572, 573, 13732 581, 583, 584, 579, 580, 582, 585, 586, 588, 589, 13733 576, 577, 578, 886, 587, 574, 1387, 575, 344, 887, 13734 590, 591, 592, 593, 1411, 1456, 594, 1472, 597, 598, 13735 0, 0, 599, 0, 600, 0, 0, 602, 603, 604, 13736 0, 0, 605, 606, 836, 888, 607, 889, 1487, 608, 13737 609, 1398, 610, 611, 612, 613, 614, 615, 616, 617, 13738 618, 619, 0, 620, 621, 838, 622, 623, 624, 839, 13739 625, 626, 627, 1488, 628, 841, 629, 630, 0, 631, 13740 632, 633, 0, 634, 635, 636, 637, 638, 639, 640, 13741 641, 642, 643, 1467, 644, 645, 647, 646, 648, 649, 13742 0, 650, 0, 651, 652, 653, 0, 0, 0, 0, 13743 0, 654, 655, 657, 0, 658, 659, 660, 661, 662, 13744 656, 663, 664, 665, 666, 667, 668, 669, 0, 671, 13745 672, 670, 673, 674, 890, 675, 676, 677, 6079, 679, 13746 1399, 680, 0, 681, 682, 690, 691, 692, 683, 684, 13747 686, 693, 685, 694, 695, 696, 697, 699, 698, 0, 13748 701, 702, 700, 703, 704, 705, 706, 1449, 707, 844, 13749 708, 687, 688, 709, 710, 711, 891, 712, 713, 714, 13750 715, 716, 717, 718, 719, 720, 1465, 0, 721, 0, 13751 722, 723, 724, 725, 726, 727, 729, 689, 730, 731, 13752 732, 737, 738, 1496, 733, 734, 735, 736, 1489, 740, 13753 741, 742, 743, 0, 744, 745, 1384, 739, 728, 0, 13754 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 13755 0, 756, 1478, 1479, 1480, 1481, 0, 768, 0, 757, 13756 759, 760, 761, 762, 1490, 763, 1491, 1409, 764, 765, 13757 766, 767, 758, 769, 770, 0, 1391, 771, 772, 773, 13758 774, 776, 778, 779, 780, 775, 777, 781, 1450, 782, 13759 0, 0, 783, 784, 785, 854, 1475, 1495, 0, 787, 13760 788, 786, 789, 790, 793, 791, 792, 857, 796, 513, 13761 797, 798, 799, 794, 795, 0, 0, 0, 0, 800, 13762 801, 858, 802, 803, 804, 1388, 0, 0, 0, 0, 13763 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13764 0, 1383, 0, 0, 0, 0, 0, 0, 1381, 1382, 13765 0, 0, 0, 0, 0, 0, 864, 0, 1415, 0, 13766 0, 0, 1413, 1460, 1403, 1404, 1405, 1401, 1402, 1414, 13767 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13768 345, 346, 348, 347, 349, 350, 351, 352, 0, 353, 13769 354, 0, 0, 0, 0, 0, 1452, 1419, 0, 0, 13770 356, 0, 355, 0, 357, 358, 359, 874, 360, 361, 13771 362, 363, 364, 365, 366, 367, 806, 1466, 0, 368, 13772 1474, 369, 1473, 0, 1484, 370, 371, 372, 373, 374, 13773 375, 376, 377, 378, 379, 1421, 1451, 1385, 380, 1497, 13774 1498, 813, 0, 381, 382, 383, 384, 1458, 0, 1439, 13775 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 13776 0, 394, 395, 396, 393, 397, 398, 0, 399, 0, 13777 400, 401, 402, 403, 404, 405, 406, 0, 407, 408, 13778 409, 876, 410, 411, 412, 1442, 1440, 1441, 1448, 1444, 13779 1443, 1447, 413, 414, 415, 416, 417, 1477, 418, 420, 13780 421, 1471, 422, 1470, 1390, 425, 427, 419, 423, 0, 13781 426, 424, 428, 429, 0, 430, 431, 432, 433, 0, 13782 0, 434, 1469, 436, 0, 437, 438, 440, 439, 0, 13783 441, 442, 443, 0, 444, 445, 1397, 446, 447, 448, 13784 450, 452, 449, 451, 453, 454, 455, 456, 457, 1485, 13785 1486, 458, 459, 1410, 340, 0, 0, 0, 0, 0, 13786 460, 461, 462, 1468, 0, 0, 0, 463, 0, 465, 13787 469, 466, 467, 468, 470, 0, 464, 471, 472, 0, 13788 877, 2520, 474, 475, 1482, 1483, 476, 477, 478, 479, 13789 480, 481, 482, 483, 484, 0, 485, 486, 1492, 0, 13790 1420, 487, 0, 488, 489, 490, 491, 492, 493, 494, 13791 1453, 1454, 1457, 595, 879, 495, 496, 497, 0, 498, 13792 499, 500, 501, 502, 503, 504, 0, 0, 0, 505, 13793 506, 507, 508, 0, 867, 341, 343, 878, 828, 509, 13794 596, 510, 1463, 1464, 0, 1424, 0, 511, 512, 515, 13795 880, 1455, 881, 514, 516, 517, 882, 518, 0, 0, 13796 0, 519, 520, 521, 522, 523, 524, 525, 0, 526, 13797 528, 527, 0, 530, 1493, 529, 883, 531, 532, 884, 13798 0, 533, 534, 535, 536, 537, 538, 541, 1446, 1445, 13799 539, 540, 542, 543, 0, 544, 545, 547, 550, 546, 13800 548, 549, 551, 552, 565, 566, 553, 554, 555, 556, 13801 557, 558, 559, 560, 561, 562, 563, 564, 568, 0, 13802 567, 885, 569, 570, 571, 572, 573, 581, 583, 584, 13803 579, 580, 582, 585, 586, 588, 589, 576, 577, 578, 13804 886, 587, 574, 1387, 575, 344, 887, 590, 591, 592, 13805 593, 1411, 1456, 594, 1472, 597, 598, 0, 0, 599, 13806 0, 600, 0, 0, 602, 603, 604, 0, 0, 605, 13807 606, 836, 888, 607, 889, 1487, 608, 609, 1398, 610, 13808 611, 612, 613, 614, 615, 616, 617, 618, 619, 0, 13809 620, 621, 838, 622, 623, 624, 839, 625, 626, 627, 13810 1488, 628, 841, 629, 630, 0, 631, 632, 633, 0, 13811 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 13812 1467, 644, 645, 647, 646, 648, 649, 0, 650, 0, 13813 651, 652, 653, 0, 0, 0, 0, 0, 654, 655, 13814 657, 0, 658, 659, 660, 661, 662, 656, 663, 664, 13815 665, 666, 667, 668, 669, 0, 671, 672, 670, 673, 13816 674, 890, 675, 676, 677, 678, 679, 1399, 680, 0, 13817 681, 682, 690, 691, 692, 683, 684, 686, 693, 685, 13818 694, 695, 696, 697, 699, 698, 0, 701, 702, 700, 13819 703, 704, 705, 706, 1449, 707, 844, 708, 687, 688, 13820 709, 710, 711, 891, 712, 713, 714, 715, 716, 717, 13821 718, 719, 720, 1465, 0, 721, 0, 722, 723, 724, 13822 725, 726, 727, 729, 689, 730, 731, 732, 737, 738, 13823 1496, 733, 734, 735, 736, 1489, 740, 741, 742, 743, 13824 0, 744, 745, 1384, 739, 728, 0, 746, 747, 748, 13825 749, 750, 751, 752, 753, 754, 755, 0, 756, 1478, 13826 1479, 1480, 1481, 0, 768, 0, 757, 759, 760, 761, 13827 762, 1490, 763, 1491, 1409, 764, 765, 766, 767, 758, 13828 769, 770, 0, 1391, 771, 772, 773, 774, 776, 778, 13829 779, 780, 775, 777, 781, 1450, 782, 0, 0, 783, 13830 784, 785, 854, 1475, 1495, 0, 787, 788, 786, 789, 13831 790, 793, 791, 792, 857, 796, 513, 797, 798, 799, 13832 794, 795, 0, 0, 0, 0, 800, 801, 858, 802, 13833 803, 804, 1388, 0, 0, 0, 0, 0, 0, 0, 13834 0, 0, 0, 0, 0, 0, 0, 0, 1383, 0, 13835 0, 0, 0, 0, 0, 1381, 1382, 0, 0, 0, 13836 0, 0, 0, 3168, 0, 1415, 0, 0, 0, 1413, 13837 1460, 1403, 1404, 1405, 4514, 4515, 1414, 0, 0, 0, 13838 0, 0, 0, 0, 0, 0, 0, 345, 346, 348, 13839 347, 349, 350, 351, 352, 0, 353, 354, 0, 0, 13840 0, 0, 0, 1452, 1419, 0, 0, 356, 0, 355, 13841 0, 357, 358, 359, 874, 360, 361, 362, 363, 364, 13842 365, 366, 367, 806, 1466, 0, 368, 1474, 369, 1473, 13843 0, 1484, 370, 371, 372, 373, 374, 375, 376, 377, 13844 378, 379, 1421, 1451, 1385, 380, 1497, 1498, 813, 0, 13845 381, 382, 383, 384, 1458, 0, 1439, 0, 385, 386, 13846 387, 388, 389, 390, 391, 392, 0, 0, 394, 395, 13847 396, 393, 397, 398, 0, 399, 0, 400, 401, 402, 13848 403, 404, 405, 406, 0, 407, 408, 409, 876, 410, 13849 411, 412, 1442, 1440, 1441, 1448, 1444, 1443, 1447, 413, 13850 414, 415, 416, 417, 1477, 418, 420, 421, 1471, 422, 13851 1470, 1390, 425, 427, 419, 423, 0, 426, 424, 428, 13852 429, 0, 430, 431, 432, 433, 0, 0, 434, 1469, 13853 436, 0, 437, 438, 440, 439, 0, 441, 442, 443, 13854 0, 444, 445, 1397, 446, 447, 448, 450, 452, 449, 13855 451, 453, 454, 455, 456, 457, 1485, 1486, 458, 459, 13856 1410, 340, 0, 0, 0, 0, 0, 460, 461, 462, 13857 1468, 0, 0, 0, 463, 0, 465, 469, 466, 467, 13858 468, 470, 0, 464, 471, 472, 0, 877, 473, 474, 13859 475, 1482, 1483, 476, 477, 478, 479, 480, 481, 482, 13860 483, 484, 0, 485, 486, 1492, 0, 1420, 487, 0, 13861 488, 489, 490, 491, 492, 493, 494, 1453, 1454, 1457, 13862 595, 879, 495, 496, 497, 0, 498, 499, 500, 501, 13863 502, 503, 504, 0, 0, 0, 505, 506, 507, 508, 13864 0, 867, 341, 343, 878, 828, 509, 596, 510, 1463, 13865 1464, 0, 1424, 0, 511, 512, 515, 880, 1455, 881, 13866 514, 516, 517, 882, 518, 0, 0, 0, 519, 520, 13867 521, 522, 523, 524, 525, 0, 526, 528, 527, 0, 13868 530, 1493, 529, 883, 531, 532, 884, 0, 533, 534, 13869 535, 536, 537, 538, 541, 1446, 1445, 539, 540, 542, 13870 543, 0, 544, 545, 547, 550, 546, 548, 549, 551, 13871 552, 565, 566, 553, 554, 555, 556, 557, 558, 559, 13872 560, 561, 562, 563, 564, 568, 0, 567, 885, 569, 13873 570, 571, 572, 573, 581, 583, 584, 579, 580, 582, 13874 585, 586, 588, 589, 576, 577, 578, 886, 587, 574, 13875 1387, 575, 344, 887, 590, 591, 592, 593, 1411, 1456, 13876 594, 1472, 597, 598, 0, 0, 599, 0, 600, 0, 13877 0, 602, 603, 604, 0, 0, 605, 606, 836, 888, 13878 607, 889, 1487, 608, 609, 1398, 610, 611, 612, 613, 13879 614, 615, 616, 617, 618, 619, 0, 620, 621, 838, 13880 622, 623, 624, 839, 625, 626, 627, 1488, 628, 841, 13881 629, 630, 0, 631, 632, 633, 0, 634, 635, 636, 13882 637, 638, 639, 640, 641, 642, 643, 1467, 644, 645, 13883 647, 646, 648, 649, 0, 650, 0, 651, 652, 653, 13884 0, 0, 0, 0, 0, 654, 655, 657, 0, 658, 13885 659, 660, 661, 662, 656, 663, 664, 665, 666, 667, 13886 668, 669, 0, 671, 672, 670, 673, 674, 890, 675, 13887 676, 677, 678, 679, 1399, 680, 0, 681, 682, 690, 13888 691, 692, 683, 684, 686, 693, 685, 694, 695, 696, 13889 697, 699, 698, 0, 701, 702, 700, 703, 704, 705, 13890 706, 1449, 707, 844, 708, 687, 688, 709, 710, 711, 13891 891, 712, 713, 714, 715, 716, 717, 718, 719, 720, 13892 1465, 0, 721, 0, 722, 723, 724, 725, 726, 727, 13893 729, 689, 730, 731, 732, 737, 738, 1496, 733, 734, 13894 735, 736, 1489, 740, 741, 742, 743, 0, 744, 745, 13895 1384, 739, 728, 0, 746, 747, 748, 749, 750, 751, 13896 752, 753, 754, 755, 0, 756, 1478, 1479, 1480, 1481, 13897 0, 768, 0, 757, 759, 760, 761, 762, 1490, 763, 13898 1491, 1409, 764, 765, 766, 767, 758, 769, 770, 0, 13899 1391, 771, 772, 773, 774, 776, 778, 779, 780, 775, 13900 777, 781, 1450, 782, 0, 0, 783, 784, 785, 854, 13901 1475, 1495, 0, 787, 788, 786, 789, 790, 793, 791, 13902 792, 857, 796, 513, 797, 798, 799, 794, 795, 0, 13903 0, 0, 0, 800, 801, 858, 802, 803, 804, 1388, 13904 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13905 0, 0, 0, 0, 0, 1383, 0, 0, 0, 0, 13906 0, 0, 1381, 1382, 0, 0, 0, 0, 0, 0, 13907 864, 0, 1415, 0, 0, 0, 1413, 1460, 1403, 1404, 13908 1405, 4512, 4513, 1414, 0, 0, 0, 0, 0, 0, 13909 0, 0, 0, 0, 345, 346, 348, 347, 349, 350, 13910 351, 352, 0, 353, 354, 0, 0, 0, 0, 0, 13911 1452, 1419, 0, 0, 356, 0, 355, 0, 357, 358, 13912 359, 874, 360, 361, 362, 363, 364, 365, 366, 367, 13913 806, 1466, 0, 368, 1474, 369, 1473, 0, 1484, 370, 13914 371, 372, 373, 374, 375, 376, 377, 378, 379, 1421, 13915 1451, 1385, 380, 1497, 1498, 813, 0, 381, 382, 383, 13916 384, 1458, 0, 1439, 0, 385, 386, 387, 388, 389, 13917 390, 391, 392, 0, 0, 394, 395, 396, 393, 397, 13918 398, 0, 399, 0, 400, 401, 402, 403, 404, 405, 13919 406, 0, 407, 408, 409, 876, 410, 411, 412, 1442, 13920 1440, 1441, 1448, 1444, 1443, 1447, 413, 414, 415, 416, 13921 417, 1477, 418, 420, 421, 1471, 422, 1470, 1390, 425, 13922 427, 419, 423, 0, 426, 424, 428, 429, 0, 430, 13923 431, 432, 433, 0, 0, 434, 1469, 436, 0, 437, 13924 438, 440, 439, 0, 441, 442, 443, 0, 444, 445, 13925 1397, 446, 447, 448, 450, 452, 449, 451, 453, 454, 13926 455, 456, 457, 1485, 1486, 458, 459, 1410, 340, 0, 13927 0, 0, 0, 0, 460, 461, 462, 1468, 0, 0, 13928 0, 463, 0, 465, 469, 466, 467, 468, 470, 0, 13929 464, 471, 472, 0, 877, 473, 474, 475, 1482, 1483, 13930 476, 477, 478, 479, 480, 481, 482, 483, 484, 0, 13931 485, 486, 1492, 0, 1420, 487, 0, 488, 489, 490, 13932 491, 492, 493, 494, 1453, 1454, 1457, 595, 879, 495, 13933 496, 497, 0, 498, 499, 500, 501, 502, 503, 504, 13934 0, 0, 0, 505, 506, 507, 508, 0, 867, 341, 13935 343, 878, 828, 509, 596, 510, 1463, 1464, 0, 1424, 13936 0, 511, 512, 515, 880, 1455, 881, 514, 516, 517, 13937 882, 518, 0, 0, 0, 519, 520, 521, 522, 523, 13938 524, 525, 0, 526, 528, 527, 0, 530, 1493, 529, 13939 883, 531, 532, 884, 0, 533, 534, 535, 536, 537, 13940 538, 541, 1446, 1445, 539, 540, 542, 543, 0, 544, 13941 545, 547, 550, 546, 548, 549, 551, 552, 565, 566, 13942 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 13943 563, 564, 568, 0, 567, 885, 569, 570, 571, 572, 13944 573, 581, 583, 584, 579, 580, 582, 585, 586, 588, 13945 589, 576, 577, 578, 886, 587, 574, 1387, 575, 344, 13946 887, 590, 591, 592, 593, 1411, 1456, 594, 1472, 597, 13947 598, 0, 0, 599, 0, 600, 0, 0, 602, 603, 13948 604, 0, 0, 605, 606, 836, 888, 607, 889, 1487, 13949 608, 609, 1398, 610, 611, 612, 613, 614, 615, 616, 13950 617, 618, 619, 0, 620, 621, 838, 622, 623, 624, 13951 839, 625, 626, 627, 1488, 628, 841, 629, 630, 0, 13952 631, 632, 633, 0, 634, 635, 636, 637, 638, 639, 13953 640, 641, 642, 643, 1467, 644, 645, 647, 646, 648, 13954 649, 0, 650, 0, 651, 652, 653, 0, 0, 0, 13955 0, 0, 654, 655, 657, 0, 658, 659, 660, 661, 13956 662, 656, 663, 664, 665, 666, 667, 668, 669, 0, 13957 671, 672, 670, 673, 674, 890, 675, 676, 677, 678, 13958 679, 1399, 680, 0, 681, 682, 690, 691, 692, 683, 13959 684, 686, 693, 685, 694, 695, 696, 697, 699, 698, 13960 0, 701, 702, 700, 703, 704, 705, 706, 1449, 707, 13961 844, 708, 687, 688, 709, 710, 711, 891, 712, 713, 13962 714, 715, 716, 717, 718, 719, 720, 1465, 0, 721, 13963 0, 722, 723, 724, 725, 726, 727, 729, 689, 730, 13964 731, 732, 737, 738, 1496, 733, 734, 735, 736, 1489, 13965 740, 741, 742, 743, 0, 744, 745, 1384, 739, 728, 13966 0, 746, 747, 748, 749, 750, 751, 752, 753, 754, 13967 755, 0, 756, 1478, 1479, 1480, 1481, 0, 768, 0, 13968 757, 759, 760, 761, 762, 1490, 763, 1491, 1409, 764, 13969 765, 766, 767, 758, 769, 770, 0, 1391, 771, 772, 13970 773, 774, 776, 778, 779, 780, 775, 777, 781, 1450, 13971 782, 0, 0, 783, 784, 785, 854, 1475, 1495, 0, 13972 787, 788, 786, 789, 790, 793, 791, 792, 857, 796, 13973 513, 797, 798, 799, 794, 795, 0, 0, 0, 0, 13974 800, 801, 858, 802, 803, 804, 1388, 0, 0, 0, 13975 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13976 0, 0, 1383, 0, 0, 0, 0, 0, 0, 1381, 13977 1382, 0, 0, 0, 0, 0, 0, 864, 0, 1415, 13978 0, 0, 0, 1413, 1460, 1403, 1404, 1405, 1401, 1402, 13979 1414, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13980 0, 345, 346, 348, 347, 349, 350, 351, 352, 0, 13981 353, 354, 0, 0, 0, 0, 0, 1452, 1419, 0, 13982 0, 356, 0, 355, 0, 357, 358, 359, 874, 360, 13983 361, 362, 363, 364, 365, 366, 367, 806, 1466, 0, 13984 368, 1474, 369, 1473, 0, 1484, 370, 371, 372, 373, 13985 374, 375, 376, 377, 378, 379, 1421, 1451, 1385, 380, 13986 1497, 1498, 813, 0, 381, 382, 383, 384, 1458, 0, 13987 1439, 0, 385, 386, 387, 388, 389, 390, 391, 392, 13988 0, 0, 394, 395, 396, 393, 397, 398, 0, 399, 13989 0, 400, 401, 402, 403, 404, 405, 406, 0, 407, 13990 408, 409, 876, 410, 411, 412, 1442, 1440, 1441, 1448, 13991 1444, 1443, 1447, 413, 414, 415, 416, 417, 1477, 418, 13992 420, 421, 1471, 422, 1470, 1390, 425, 427, 419, 423, 13993 0, 426, 424, 428, 429, 0, 430, 431, 432, 433, 13994 0, 0, 434, 1469, 436, 0, 437, 438, 440, 439, 13995 0, 441, 442, 443, 0, 444, 445, 1397, 446, 447, 13996 448, 450, 452, 449, 451, 453, 454, 455, 456, 457, 13997 1485, 1486, 458, 459, 1410, 340, 0, 0, 0, 0, 13998 0, 460, 461, 462, 1468, 0, 0, 0, 463, 0, 13999 465, 469, 466, 467, 468, 470, 0, 464, 471, 472, 14000 0, 877, 473, 474, 475, 1482, 1483, 476, 477, 478, 14001 479, 480, 481, 482, 483, 484, 0, 485, 486, 1492, 14002 0, 1420, 487, 0, 488, 489, 490, 491, 492, 493, 14003 494, 1453, 1454, 1457, 595, 879, 495, 496, 497, 0, 14004 498, 499, 500, 501, 502, 503, 504, 0, 0, 0, 14005 505, 506, 507, 508, 0, 867, 341, 343, 878, 828, 14006 509, 596, 510, 1463, 1464, 0, 1424, 0, 511, 512, 14007 515, 880, 1455, 881, 514, 516, 517, 882, 518, 0, 14008 0, 0, 519, 520, 521, 522, 523, 524, 525, 0, 14009 526, 528, 527, 0, 530, 1493, 529, 883, 531, 532, 14010 884, 0, 533, 534, 535, 536, 537, 538, 541, 1446, 14011 1445, 539, 540, 542, 543, 0, 544, 545, 547, 550, 14012 546, 548, 549, 551, 552, 565, 566, 553, 554, 555, 14013 556, 557, 558, 559, 560, 561, 562, 563, 564, 568, 14014 0, 567, 885, 569, 570, 571, 572, 573, 581, 583, 14015 584, 579, 580, 582, 585, 586, 588, 589, 576, 577, 14016 578, 886, 587, 574, 1387, 575, 344, 887, 590, 591, 14017 592, 593, 1411, 1456, 594, 1472, 597, 598, 0, 0, 14018 599, 0, 600, 0, 0, 602, 603, 604, 0, 0, 14019 605, 606, 836, 888, 607, 889, 1487, 608, 609, 1398, 14020 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 14021 0, 620, 621, 838, 622, 623, 624, 839, 625, 626, 14022 627, 1488, 628, 841, 629, 630, 0, 631, 632, 633, 14023 0, 634, 635, 636, 637, 638, 639, 640, 641, 642, 14024 643, 1467, 644, 645, 647, 646, 648, 649, 0, 650, 14025 0, 651, 652, 653, 0, 0, 0, 0, 0, 654, 14026 655, 657, 0, 658, 659, 660, 661, 662, 656, 663, 14027 664, 665, 666, 667, 668, 669, 0, 671, 672, 670, 14028 673, 674, 890, 675, 676, 677, 678, 679, 1399, 680, 14029 0, 681, 682, 690, 691, 692, 683, 684, 686, 693, 14030 685, 694, 695, 696, 697, 699, 698, 0, 701, 702, 14031 700, 703, 704, 705, 706, 1449, 707, 844, 708, 687, 14032 688, 709, 710, 711, 891, 712, 713, 714, 715, 716, 14033 717, 718, 719, 720, 1465, 0, 721, 0, 722, 723, 14034 724, 725, 726, 727, 729, 689, 730, 731, 732, 737, 14035 738, 1496, 733, 734, 735, 736, 1489, 740, 741, 742, 14036 743, 0, 744, 745, 1384, 739, 728, 0, 746, 747, 14037 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 14038 1478, 1479, 1480, 1481, 0, 768, 0, 757, 759, 760, 14039 761, 762, 1490, 763, 1491, 1409, 764, 765, 766, 767, 14040 758, 769, 770, 0, 1391, 771, 772, 773, 774, 776, 14041 778, 779, 780, 775, 777, 781, 1450, 782, 0, 0, 14042 783, 784, 785, 854, 1475, 1495, 0, 787, 788, 786, 14043 789, 790, 793, 791, 792, 857, 796, 513, 797, 798, 14044 799, 794, 795, 0, 0, 0, 0, 800, 801, 858, 14045 802, 803, 804, 1388, 0, 0, 0, 0, 0, 0, 14046 0, 0, 0, 0, 0, 0, 0, 0, 0, 1383, 14047 0, 0, 0, 0, 0, 0, 1381, 1382, 0, 0, 14048 0, 0, 0, 0, 3168, 0, 1415, 0, 0, 0, 14049 1413, 1460, 1403, 1404, 1405, 1401, 1402, 1414, 0, 0, 14050 0, 0, 0, 0, 0, 0, 0, 0, 345, 346, 14051 348, 347, 349, 350, 351, 352, 0, 353, 354, 0, 14052 0, 0, 0, 0, 1452, 1419, 0, 0, 356, 0, 14053 355, 0, 357, 358, 359, 874, 360, 361, 362, 363, 14054 364, 365, 366, 367, 806, 1466, 0, 368, 1474, 369, 14055 1473, 0, 1484, 370, 371, 372, 373, 374, 375, 376, 14056 377, 378, 379, 1421, 1451, 1385, 380, 1497, 1498, 813, 14057 0, 381, 382, 383, 384, 1458, 0, 1439, 0, 385, 14058 386, 387, 388, 389, 390, 391, 392, 0, 0, 394, 14059 395, 396, 393, 397, 398, 0, 399, 0, 400, 401, 14060 402, 403, 404, 405, 406, 0, 407, 408, 409, 876, 14061 410, 411, 412, 1442, 1440, 1441, 1448, 1444, 1443, 1447, 14062 413, 414, 415, 416, 417, 1477, 418, 420, 421, 1471, 14063 422, 1470, 1390, 425, 427, 419, 423, 0, 426, 424, 14064 428, 429, 0, 430, 431, 432, 433, 0, 0, 434, 14065 1469, 436, 0, 437, 438, 440, 439, 0, 441, 442, 14066 443, 0, 444, 445, 1397, 446, 447, 448, 450, 452, 14067 449, 451, 453, 454, 455, 456, 457, 1485, 1486, 458, 14068 459, 1410, 340, 0, 0, 0, 0, 0, 460, 461, 14069 462, 1468, 0, 0, 0, 463, 0, 465, 469, 466, 14070 467, 468, 470, 0, 464, 471, 472, 0, 877, 473, 14071 474, 475, 1482, 1483, 476, 477, 478, 479, 480, 481, 14072 482, 483, 484, 0, 485, 486, 1492, 0, 1420, 487, 14073 0, 488, 489, 490, 491, 492, 493, 494, 1453, 1454, 14074 1457, 595, 879, 495, 496, 497, 0, 498, 499, 500, 14075 501, 502, 503, 504, 0, 0, 0, 505, 506, 507, 14076 508, 0, 867, 341, 343, 878, 828, 509, 596, 510, 14077 1463, 1464, 0, 1424, 0, 511, 512, 515, 880, 1455, 14078 881, 514, 516, 517, 882, 518, 0, 0, 0, 519, 14079 520, 521, 522, 523, 524, 525, 0, 526, 528, 527, 14080 0, 530, 1493, 529, 883, 531, 532, 884, 0, 533, 14081 534, 535, 536, 537, 538, 541, 1446, 1445, 539, 540, 14082 542, 543, 0, 544, 545, 547, 550, 546, 548, 549, 14083 551, 552, 565, 566, 553, 554, 555, 556, 557, 558, 14084 559, 560, 561, 562, 563, 564, 568, 0, 567, 885, 14085 569, 570, 571, 572, 573, 581, 583, 584, 579, 580, 14086 582, 585, 586, 588, 589, 576, 577, 578, 886, 587, 14087 574, 1387, 575, 344, 887, 590, 591, 592, 593, 1411, 14088 1456, 594, 1472, 597, 598, 0, 0, 599, 0, 600, 14089 0, 0, 602, 603, 604, 0, 0, 605, 606, 836, 14090 888, 607, 889, 1487, 608, 609, 1398, 610, 611, 612, 14091 613, 614, 615, 616, 617, 618, 619, 0, 620, 621, 14092 838, 622, 623, 624, 839, 625, 626, 627, 1488, 628, 14093 841, 629, 630, 0, 631, 632, 633, 0, 634, 635, 14094 636, 637, 638, 639, 640, 641, 642, 643, 1467, 644, 14095 645, 647, 646, 648, 649, 0, 650, 0, 651, 652, 14096 653, 0, 0, 0, 0, 0, 654, 655, 657, 0, 14097 658, 659, 660, 661, 662, 656, 663, 664, 665, 666, 14098 667, 668, 669, 0, 671, 672, 670, 673, 674, 890, 14099 675, 676, 677, 678, 679, 1399, 680, 0, 681, 682, 14100 690, 691, 692, 683, 684, 686, 693, 685, 694, 695, 14101 696, 697, 699, 698, 0, 701, 702, 700, 703, 704, 14102 705, 706, 1449, 707, 844, 708, 687, 688, 709, 710, 14103 711, 891, 712, 713, 714, 715, 716, 717, 718, 719, 14104 720, 1465, 0, 721, 0, 722, 723, 724, 725, 726, 14105 727, 729, 689, 730, 731, 732, 737, 738, 1496, 733, 14106 734, 735, 736, 1489, 740, 741, 742, 743, 0, 744, 14107 745, 1384, 739, 728, 0, 746, 747, 748, 749, 750, 14108 751, 752, 753, 754, 755, 0, 756, 1478, 1479, 1480, 14109 1481, 0, 768, 0, 757, 759, 760, 761, 762, 1490, 14110 763, 1491, 1409, 764, 765, 766, 767, 758, 769, 770, 14111 0, 1391, 771, 772, 773, 774, 776, 778, 779, 780, 14112 775, 777, 781, 1450, 782, 0, 0, 783, 784, 785, 14113 854, 1475, 1495, 0, 787, 788, 786, 789, 790, 793, 14114 791, 792, 857, 796, 513, 797, 798, 799, 794, 795, 14115 0, 0, 0, 0, 800, 801, 858, 802, 803, 804, 14116 1388, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14117 0, 0, 0, 0, 0, 0, 1383, 0, 0, 0, 14118 0, 0, 0, 3024, 3025, 0, 0, 0, 0, 0, 14119 0, 864, 0, 1415, 0, 0, 0, 1413, 1460, 1403, 14120 1404, 1405, 1401, 1402, 1414, 0, 0, 0, 0, 0, 14121 0, 0, 0, 0, 0, 345, 346, 348, 347, 349, 14122 350, 351, 352, 0, 353, 354, 0, 0, 0, 0, 14123 0, 1452, 1419, 0, 0, 356, 0, 355, 0, 357, 14124 358, 359, 874, 360, 361, 362, 363, 364, 365, 366, 14125 367, 806, 1466, 0, 368, 1474, 369, 1473, 0, 1484, 14126 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 14127 1421, 1451, 1385, 380, 1497, 1498, 813, 0, 381, 382, 14128 383, 384, 1458, 0, 1439, 0, 385, 386, 387, 388, 14129 389, 390, 391, 392, 0, 0, 394, 395, 396, 393, 14130 397, 398, 0, 399, 0, 400, 401, 402, 403, 404, 14131 405, 406, 0, 407, 408, 409, 876, 410, 411, 412, 14132 1442, 1440, 1441, 1448, 1444, 1443, 1447, 413, 414, 415, 14133 416, 417, 1477, 418, 420, 421, 1471, 422, 1470, 1390, 14134 425, 427, 419, 423, 0, 426, 424, 428, 429, 0, 14135 430, 431, 432, 433, 0, 0, 434, 1469, 436, 0, 14136 437, 438, 440, 439, 0, 441, 442, 443, 0, 444, 14137 445, 1397, 446, 447, 448, 450, 452, 449, 451, 453, 14138 454, 455, 456, 457, 1485, 1486, 458, 459, 1410, 340, 14139 0, 0, 0, 0, 0, 460, 461, 462, 1468, 0, 14140 0, 0, 463, 0, 465, 469, 466, 467, 468, 470, 14141 0, 464, 471, 472, 0, 877, 2520, 474, 475, 1482, 14142 1483, 476, 477, 478, 479, 480, 481, 482, 483, 484, 14143 0, 485, 486, 1492, 0, 1420, 487, 0, 488, 489, 14144 490, 491, 492, 493, 494, 1453, 1454, 1457, 595, 879, 14145 495, 496, 497, 0, 498, 499, 500, 501, 502, 503, 14146 504, 0, 0, 0, 505, 506, 507, 508, 0, 867, 14147 341, 343, 878, 828, 509, 596, 510, 1463, 1464, 0, 14148 1424, 0, 511, 512, 515, 880, 1455, 881, 514, 516, 14149 517, 882, 518, 0, 0, 0, 519, 520, 521, 522, 14150 523, 524, 525, 0, 526, 528, 527, 0, 530, 1493, 14151 529, 883, 531, 532, 884, 0, 533, 534, 535, 536, 14152 537, 538, 541, 1446, 1445, 539, 540, 542, 543, 0, 14153 544, 545, 547, 550, 546, 548, 549, 551, 552, 565, 14154 566, 553, 554, 555, 556, 557, 558, 559, 560, 561, 14155 562, 563, 564, 568, 0, 567, 885, 569, 570, 571, 14156 572, 573, 581, 583, 584, 579, 580, 582, 585, 586, 14157 588, 589, 576, 577, 578, 886, 587, 574, 1387, 575, 14158 344, 887, 590, 591, 592, 593, 1411, 1456, 594, 1472, 14159 597, 598, 0, 0, 599, 0, 600, 0, 0, 602, 14160 603, 604, 0, 0, 605, 606, 836, 888, 607, 889, 14161 1487, 608, 609, 1398, 610, 611, 612, 613, 614, 615, 14162 616, 617, 618, 619, 0, 620, 621, 838, 622, 623, 14163 624, 839, 625, 626, 627, 1488, 628, 841, 629, 630, 14164 0, 631, 632, 633, 0, 634, 635, 636, 637, 638, 14165 639, 640, 641, 642, 643, 1467, 644, 645, 647, 646, 14166 648, 649, 0, 650, 0, 651, 652, 653, 0, 0, 14167 0, 0, 0, 654, 655, 657, 0, 658, 659, 660, 14168 661, 662, 656, 663, 664, 665, 666, 667, 668, 669, 14169 0, 671, 672, 670, 673, 674, 890, 675, 676, 677, 14170 678, 679, 1399, 680, 0, 681, 682, 690, 691, 692, 14171 683, 684, 686, 693, 685, 694, 695, 696, 697, 699, 14172 698, 0, 701, 702, 700, 703, 704, 705, 706, 1449, 14173 707, 844, 708, 687, 688, 709, 710, 711, 891, 712, 14174 713, 714, 715, 716, 717, 718, 719, 720, 1465, 0, 14175 721, 0, 722, 723, 724, 725, 726, 727, 729, 689, 14176 730, 731, 732, 737, 738, 1496, 733, 734, 735, 736, 14177 1489, 740, 741, 742, 743, 0, 744, 745, 1384, 739, 14178 728, 0, 746, 747, 748, 749, 750, 751, 752, 753, 14179 754, 755, 0, 756, 1478, 1479, 1480, 1481, 0, 768, 14180 0, 757, 759, 760, 761, 762, 1490, 763, 1491, 1409, 14181 764, 765, 766, 767, 758, 769, 770, 0, 1391, 771, 14182 772, 773, 774, 776, 778, 779, 780, 775, 777, 781, 14183 1450, 782, 0, 0, 783, 784, 785, 854, 1475, 1495, 14184 0, 787, 788, 786, 789, 790, 793, 791, 792, 857, 14185 796, 513, 797, 798, 799, 794, 795, 0, 0, 0, 14186 0, 800, 801, 858, 802, 803, 804, 1388, 0, 0, 14187 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14188 0, 0, 0, 1383, 0, 0, 0, 0, 0, 0, 14189 1381, 1382, 0, 0, 0, 0, 0, 0, 864, 0, 14190 1415, 0, 0, 0, 1413, 1460, 1403, 1404, 1405, 1401, 14191 1402, 1414, 0, 0, 0, 0, 0, 0, 0, 0, 14192 0, 0, 345, 346, 348, 347, 349, 350, 351, 352, 14193 0, 353, 354, 0, 0, 0, 0, 0, 1452, 1419, 14194 0, 0, 356, 0, 355, 0, 357, 358, 359, 874, 14195 360, 361, 362, 363, 364, 365, 366, 367, 806, 1466, 14196 0, 368, 1474, 369, 1473, 0, 1484, 370, 371, 372, 14197 373, 374, 375, 376, 377, 378, 379, 1421, 1451, 0, 14198 380, 1497, 1498, 813, 0, 381, 382, 383, 384, 1458, 14199 0, 1439, 0, 385, 386, 387, 388, 389, 390, 391, 14200 392, 0, 0, 394, 395, 396, 393, 397, 398, 0, 14201 399, 0, 400, 401, 402, 403, 404, 405, 406, 0, 14202 407, 408, 409, 876, 410, 411, 412, 1442, 1440, 1441, 14203 1448, 1444, 1443, 1447, 413, 414, 415, 416, 417, 1477, 14204 418, 420, 421, 1471, 422, 1470, 0, 425, 427, 419, 14205 423, 0, 426, 424, 428, 429, 0, 430, 431, 432, 14206 433, 0, 0, 434, 1469, 436, 0, 437, 438, 440, 14207 439, 0, 441, 442, 443, 0, 444, 445, 1397, 446, 14208 447, 448, 450, 452, 449, 451, 453, 454, 455, 456, 14209 457, 1485, 1486, 458, 459, 1410, 340, 0, 0, 0, 14210 0, 0, 460, 461, 462, 1468, 0, 0, 0, 463, 14211 0, 465, 469, 466, 467, 468, 470, 0, 464, 471, 14212 472, 0, 877, 473, 474, 475, 1482, 1483, 476, 477, 14213 478, 479, 480, 481, 482, 483, 484, 0, 485, 486, 14214 1492, 0, 1420, 487, 0, 488, 489, 490, 491, 492, 14215 493, 494, 1453, 1454, 1457, 595, 879, 495, 496, 497, 14216 0, 498, 499, 500, 501, 502, 503, 504, 0, 0, 14217 0, 505, 506, 507, 508, 0, 867, 341, 343, 878, 14218 828, 509, 596, 510, 1463, 1464, 0, 1424, 0, 511, 14219 512, 515, 880, 1455, 881, 514, 516, 517, 882, 518, 14220 0, 0, 0, 519, 520, 521, 522, 523, 524, 525, 14221 0, 526, 528, 527, 0, 530, 1493, 529, 883, 531, 14222 532, 884, 0, 533, 534, 535, 536, 537, 538, 541, 14223 1446, 1445, 539, 540, 542, 543, 0, 544, 545, 547, 14224 550, 546, 548, 549, 551, 552, 565, 566, 553, 554, 14225 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 14226 568, 0, 567, 885, 569, 570, 571, 572, 573, 581, 14227 583, 584, 579, 580, 582, 585, 586, 588, 589, 576, 14228 577, 578, 886, 587, 574, 0, 575, 344, 887, 590, 14229 591, 592, 593, 1411, 1456, 594, 1472, 597, 598, 0, 14230 0, 599, 0, 600, 0, 0, 602, 603, 604, 0, 14231 0, 605, 606, 836, 888, 607, 889, 1487, 608, 609, 14232 1398, 610, 611, 612, 613, 614, 615, 616, 617, 618, 14233 619, 0, 620, 621, 838, 622, 623, 624, 839, 625, 14234 626, 627, 1488, 628, 841, 629, 630, 0, 631, 632, 14235 633, 0, 634, 635, 636, 637, 638, 639, 640, 641, 14236 642, 643, 1467, 644, 645, 647, 646, 648, 649, 0, 14237 650, 0, 651, 652, 653, 0, 0, 0, 0, 0, 14238 654, 655, 657, 0, 658, 659, 660, 661, 662, 656, 14239 663, 664, 665, 666, 667, 668, 669, 0, 671, 672, 14240 670, 673, 674, 890, 675, 676, 677, 678, 679, 1399, 14241 680, 0, 681, 682, 690, 691, 692, 683, 684, 686, 14242 693, 685, 694, 695, 696, 697, 699, 698, 0, 701, 14243 702, 700, 703, 704, 705, 706, 1449, 707, 844, 708, 14244 687, 688, 709, 710, 711, 891, 712, 713, 714, 715, 14245 716, 717, 718, 719, 720, 1465, 0, 721, 0, 722, 14246 723, 724, 725, 726, 727, 729, 689, 730, 731, 732, 14247 737, 738, 1496, 733, 734, 735, 736, 1489, 740, 741, 14248 742, 743, 0, 744, 745, 0, 739, 728, 0, 746, 14249 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 14250 756, 1478, 1479, 1480, 1481, 0, 768, 0, 757, 759, 14251 760, 761, 762, 1490, 763, 1491, 1409, 764, 765, 766, 14252 767, 758, 769, 770, 0, 0, 771, 772, 773, 774, 14253 776, 778, 779, 780, 775, 777, 781, 1450, 782, 0, 14254 0, 783, 784, 785, 854, 1475, 1495, 0, 787, 788, 14255 786, 789, 790, 793, 791, 792, 857, 796, 513, 797, 14256 798, 799, 794, 795, 0, 0, 0, 0, 800, 801, 14257 858, 802, 803, 804, 0, 0, 0, 0, 0, 0, 14258 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14259 3285, 0, 0, 0, 0, 0, 0, 3283, 3284, 0, 14260 0, 0, 0, 0, 0, 864, 0, 1415, 0, 0, 14261 0, 1413, 1460, 1403, 1404, 1405, 1401, 1402, 1414, 0, 14262 0, 0, 0, 0, 0, 0, 0, 0, 0, 345, 14263 346, 348, 347, 349, 350, 351, 352, 0, 353, 354, 14264 0, 0, 0, 0, 0, 1452, 1419, 0, 0, 356, 14265 0, 355, 0, 357, 358, 359, 874, 360, 361, 362, 14266 363, 364, 365, 366, 367, 806, 1466, 0, 368, 1474, 14267 369, 1473, 0, 1484, 370, 371, 372, 373, 374, 375, 14268 376, 377, 378, 379, 1421, 1451, 0, 380, 1497, 1498, 14269 813, 0, 381, 382, 383, 384, 1458, 0, 1439, 0, 14270 385, 386, 387, 388, 389, 390, 391, 392, 0, 0, 14271 394, 395, 396, 393, 397, 398, 0, 399, 0, 400, 14272 401, 402, 403, 404, 405, 406, 0, 407, 408, 409, 14273 876, 410, 411, 412, 1442, 1440, 1441, 1448, 1444, 1443, 14274 1447, 413, 414, 415, 416, 417, 1477, 418, 420, 421, 14275 1471, 422, 1470, 0, 425, 427, 419, 423, 0, 426, 14276 424, 428, 429, 0, 430, 431, 432, 433, 0, 0, 14277 434, 1469, 436, 0, 437, 438, 440, 439, 0, 441, 14278 442, 443, 0, 444, 445, 1397, 446, 447, 448, 450, 14279 452, 449, 451, 453, 454, 455, 456, 457, 1485, 1486, 14280 458, 459, 1410, 340, 0, 0, 0, 0, 0, 460, 14281 461, 462, 1468, 0, 0, 0, 463, 0, 465, 469, 14282 466, 467, 468, 470, 0, 464, 471, 472, 0, 877, 14283 473, 474, 475, 1482, 1483, 476, 477, 478, 479, 480, 14284 481, 482, 483, 484, 0, 485, 486, 1492, 0, 1420, 14285 487, 0, 488, 489, 490, 491, 492, 493, 494, 1453, 14286 1454, 1457, 595, 879, 495, 496, 497, 0, 498, 499, 14287 500, 501, 502, 503, 504, 0, 0, 0, 505, 506, 14288 507, 508, 0, 867, 341, 343, 878, 828, 509, 596, 14289 510, 1463, 1464, 0, 1424, 0, 511, 512, 515, 880, 14290 1455, 881, 514, 516, 517, 882, 518, 0, 0, 0, 14291 519, 520, 521, 522, 523, 524, 525, 0, 526, 528, 14292 527, 0, 530, 1493, 529, 883, 531, 532, 884, 0, 14293 533, 534, 535, 536, 537, 538, 541, 1446, 1445, 539, 14294 540, 542, 543, 0, 544, 545, 547, 550, 546, 548, 14295 549, 551, 552, 565, 566, 553, 554, 555, 556, 557, 14296 558, 559, 560, 561, 562, 563, 564, 568, 0, 567, 14297 885, 569, 570, 571, 572, 573, 581, 583, 584, 579, 14298 580, 582, 585, 586, 588, 589, 576, 577, 578, 886, 14299 587, 574, 0, 575, 344, 887, 590, 591, 592, 593, 14300 1411, 1456, 594, 1472, 597, 598, 0, 0, 599, 0, 14301 600, 0, 0, 602, 603, 604, 0, 0, 605, 606, 14302 836, 888, 607, 889, 1487, 608, 609, 601, 610, 611, 14303 612, 613, 614, 615, 616, 617, 618, 619, 0, 620, 14304 621, 838, 622, 623, 624, 839, 625, 626, 627, 1488, 14305 628, 841, 629, 630, 0, 631, 632, 633, 0, 634, 14306 635, 636, 637, 638, 639, 640, 641, 642, 643, 1467, 14307 644, 645, 647, 646, 648, 649, 0, 650, 0, 651, 14308 652, 653, 0, 0, 0, 0, 0, 654, 655, 657, 14309 0, 658, 659, 660, 661, 662, 656, 663, 664, 665, 14310 666, 667, 668, 669, 0, 671, 672, 670, 673, 674, 14311 890, 675, 676, 677, 678, 679, 4507, 4508, 0, 681, 14312 682, 690, 691, 692, 683, 684, 686, 693, 685, 694, 14313 695, 696, 697, 699, 698, 0, 701, 702, 700, 703, 14314 704, 705, 706, 1449, 707, 844, 708, 687, 688, 709, 14315 710, 711, 891, 712, 713, 714, 715, 716, 717, 718, 14316 719, 720, 1465, 0, 721, 0, 722, 723, 724, 725, 14317 726, 727, 729, 689, 730, 731, 732, 737, 738, 1496, 14318 733, 734, 735, 736, 1489, 740, 741, 742, 743, 0, 14319 744, 745, 0, 739, 728, 0, 746, 747, 748, 749, 14320 750, 751, 752, 753, 754, 755, 0, 756, 1478, 1479, 14321 1480, 1481, 0, 768, 0, 757, 759, 760, 761, 762, 14322 1490, 763, 1491, 1409, 764, 765, 766, 767, 758, 769, 14323 770, 0, 0, 771, 772, 773, 774, 776, 778, 779, 14324 780, 775, 777, 781, 1450, 782, 0, 0, 783, 784, 14325 785, 854, 1475, 1495, 0, 787, 788, 786, 789, 790, 14326 793, 791, 792, 857, 796, 513, 797, 798, 799, 794, 14327 795, 0, 0, 0, 0, 800, 801, 858, 802, 803, 14328 804, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14329 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14330 0, 0, 0, 0, 2561, 2562, 0, 0, 0, 0, 14331 0, 0, 864, 0, 1415, 0, 0, 0, 1413, 1460, 14332 1403, 1404, 1405, 1401, 1402, 1414, 0, 0, 0, 0, 14333 0, 0, 0, 0, 0, 0, 345, 346, 348, 347, 14334 349, 350, 351, 352, 0, 353, 354, 0, 0, 0, 14335 0, 0, 1452, 1419, 0, 0, 356, 0, 355, 0, 14336 357, 358, 359, 874, 360, 361, 362, 363, 364, 365, 14337 366, 367, 0, 1466, 0, 368, 1474, 369, 1473, 0, 14338 1484, 370, 371, 372, 373, 374, 375, 376, 377, 378, 14339 379, 1421, 1451, 1385, 380, 1497, 1498, 813, 0, 381, 14340 382, 383, 384, 1458, 0, 1439, 0, 385, 386, 387, 14341 388, 389, 390, 391, 392, 0, 0, 394, 395, 396, 14342 393, 397, 398, 0, 399, 0, 400, 401, 402, 403, 14343 404, 405, 406, 0, 407, 408, 409, 876, 410, 411, 14344 6577, 1442, 1440, 1441, 1448, 1444, 1443, 1447, 413, 414, 14345 415, 416, 417, 1477, 418, 420, 421, 1471, 422, 1470, 14346 1390, 425, 427, 419, 423, 0, 426, 424, 428, 429, 14347 0, 430, 431, 432, 433, 0, 0, 434, 1469, 436, 14348 0, 437, 438, 440, 439, 0, 441, 442, 443, 0, 14349 444, 445, 1397, 446, 447, 448, 450, 452, 449, 451, 14350 453, 454, 455, 456, 457, 1485, 1486, 458, 459, 1410, 14351 340, 0, 0, 0, 0, 0, 460, 461, 462, 1468, 14352 0, 0, 0, 463, 0, 465, 469, 466, 467, 468, 14353 470, 0, 464, 471, 472, 0, 877, 473, 474, 475, 14354 1482, 1483, 476, 477, 478, 479, 480, 481, 482, 483, 14355 484, 0, 485, 486, 1492, 0, 1420, 487, 0, 488, 14356 489, 490, 491, 492, 493, 494, 1453, 1454, 1457, 595, 14357 0, 495, 496, 497, 0, 498, 499, 500, 501, 502, 14358 503, 504, 0, 0, 0, 505, 506, 507, 508, 0, 14359 867, 341, 343, 878, 828, 509, 596, 510, 1463, 1464, 14360 0, 1424, 0, 511, 512, 515, 0, 1455, 0, 514, 14361 516, 517, 882, 518, 0, 0, 0, 519, 520, 521, 14362 522, 523, 524, 525, 0, 526, 528, 527, 0, 530, 14363 1493, 529, 883, 531, 532, 0, 0, 533, 534, 535, 14364 536, 537, 538, 541, 1446, 1445, 539, 540, 542, 543, 14365 0, 544, 545, 547, 550, 546, 548, 549, 551, 552, 14366 565, 566, 553, 554, 555, 556, 557, 558, 559, 560, 14367 561, 562, 563, 564, 568, 0, 567, 885, 569, 570, 14368 571, 572, 573, 581, 583, 584, 579, 580, 582, 585, 14369 586, 588, 589, 576, 577, 578, 886, 587, 574, 1387, 14370 575, 344, 0, 590, 591, 592, 593, 1411, 1456, 594, 14371 1472, 597, 598, 0, 0, 599, 0, 600, 0, 0, 14372 602, 603, 604, 0, 0, 605, 606, 836, 888, 607, 14373 889, 1487, 608, 609, 1398, 610, 611, 612, 613, 614, 14374 615, 616, 617, 618, 619, 0, 620, 621, 838, 622, 14375 623, 624, 839, 625, 626, 627, 1488, 628, 841, 629, 14376 630, 0, 631, 632, 633, 0, 634, 635, 636, 637, 14377 638, 639, 640, 641, 642, 643, 1467, 644, 645, 647, 14378 646, 648, 649, 0, 650, 0, 651, 652, 653, 0, 14379 0, 0, 0, 0, 654, 655, 657, 0, 658, 659, 14380 660, 661, 662, 656, 663, 664, 665, 666, 667, 668, 14381 669, 0, 671, 672, 670, 673, 674, 890, 675, 676, 14382 677, 678, 679, 1399, 680, 0, 681, 682, 690, 691, 14383 692, 683, 684, 686, 693, 685, 694, 695, 696, 697, 14384 699, 698, 0, 701, 702, 700, 703, 704, 705, 706, 14385 1449, 707, 844, 708, 687, 688, 709, 710, 711, 0, 14386 712, 713, 714, 715, 716, 717, 718, 719, 720, 1465, 14387 0, 721, 0, 722, 723, 724, 725, 726, 727, 729, 14388 689, 730, 731, 732, 737, 738, 1496, 733, 734, 735, 14389 736, 1489, 740, 741, 742, 743, 0, 744, 745, 1384, 14390 739, 728, 0, 746, 747, 748, 749, 750, 751, 752, 14391 753, 754, 755, 0, 756, 1478, 1479, 1480, 1481, 0, 14392 768, 0, 757, 759, 760, 761, 762, 1490, 763, 1491, 14393 1409, 764, 765, 766, 767, 758, 6576, 770, 0, 1391, 14394 771, 772, 773, 774, 776, 778, 779, 780, 775, 777, 14395 781, 1450, 782, 0, 0, 783, 784, 785, 854, 1475, 14396 1495, 0, 787, 788, 786, 789, 790, 793, 791, 792, 14397 857, 796, 513, 797, 798, 799, 794, 795, 0, 0, 14398 0, 0, 800, 801, 858, 802, 803, 804, 0, 0, 14399 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14400 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14401 0, 1381, 1382, 0, 0, 0, 0, 0, 0, 864, 14402 0, 1415, 0, 0, 3304, 1413, 1460, 1403, 1404, 1405, 14403 1401, 1402, 1414, 0, 0, 0, 0, 0, 0, 0, 14404 0, 0, 0, 345, 346, 348, 347, 349, 350, 351, 14405 352, 0, 353, 354, 0, 0, 0, 0, 0, 1452, 14406 1419, 0, 0, 356, 0, 355, 0, 357, 358, 359, 14407 874, 360, 361, 362, 363, 364, 365, 366, 367, 806, 14408 1466, 0, 368, 1474, 369, 1473, 0, 1484, 370, 371, 14409 372, 373, 374, 375, 376, 377, 378, 379, 0, 1451, 14410 0, 380, 1497, 1498, 813, 0, 381, 382, 383, 384, 14411 1458, 0, 1439, 0, 385, 386, 387, 388, 389, 390, 14412 391, 392, 0, 0, 394, 395, 396, 393, 397, 398, 14413 0, 399, 0, 400, 401, 402, 403, 404, 405, 406, 14414 0, 407, 408, 409, 876, 410, 411, 412, 1442, 1440, 14415 1441, 1448, 1444, 1443, 1447, 413, 414, 415, 416, 417, 14416 1477, 418, 420, 421, 1471, 422, 1470, 0, 425, 427, 14417 419, 423, 0, 426, 424, 428, 429, 0, 430, 431, 14418 432, 433, 0, 0, 434, 1469, 436, 0, 437, 438, 14419 440, 439, 0, 441, 442, 443, 0, 444, 445, 817, 14420 446, 447, 448, 450, 452, 449, 451, 453, 454, 455, 14421 456, 457, 1485, 1486, 458, 459, 1410, 340, 0, 0, 14422 0, 0, 0, 460, 461, 462, 1468, 0, 0, 0, 14423 463, 0, 465, 469, 466, 467, 468, 470, 0, 464, 14424 471, 472, 0, 877, 473, 474, 475, 1482, 1483, 476, 14425 477, 478, 479, 480, 481, 482, 483, 484, 0, 485, 14426 486, 1492, 0, 1420, 487, 0, 488, 489, 490, 491, 14427 492, 493, 494, 1453, 1454, 1457, 595, 879, 495, 496, 14428 497, 0, 498, 499, 500, 501, 502, 503, 504, 0, 14429 0, 0, 505, 506, 507, 508, 0, 867, 341, 343, 14430 878, 828, 509, 596, 510, 1463, 1464, 0, 1424, 0, 14431 511, 512, 515, 880, 1455, 881, 514, 516, 517, 882, 14432 518, 0, 0, 0, 519, 520, 521, 522, 523, 524, 14433 525, 0, 526, 528, 527, 0, 530, 1493, 529, 883, 14434 531, 532, 884, 0, 533, 534, 535, 536, 537, 538, 14435 541, 1446, 1445, 539, 540, 542, 543, 0, 544, 545, 14436 547, 550, 546, 548, 549, 551, 552, 565, 566, 553, 14437 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 14438 564, 568, 0, 567, 885, 569, 570, 571, 572, 573, 14439 581, 583, 584, 579, 580, 582, 585, 586, 588, 589, 14440 576, 577, 578, 886, 587, 574, 0, 575, 344, 887, 14441 590, 591, 592, 593, 1411, 1456, 594, 1472, 597, 598, 14442 0, 0, 599, 0, 600, 0, 0, 602, 603, 604, 14443 0, 0, 605, 606, 836, 888, 607, 889, 1487, 608, 14444 609, 601, 610, 611, 612, 613, 614, 615, 616, 617, 14445 618, 619, 0, 620, 621, 838, 622, 623, 624, 839, 14446 625, 626, 627, 1488, 628, 841, 629, 630, 0, 631, 14447 632, 633, 0, 634, 635, 636, 637, 638, 639, 640, 14448 641, 642, 643, 1467, 644, 645, 647, 646, 648, 649, 14449 0, 650, 0, 651, 652, 653, 0, 0, 0, 0, 14450 0, 654, 655, 657, 0, 658, 659, 660, 661, 662, 14451 656, 663, 664, 665, 666, 667, 668, 669, 0, 671, 14452 672, 670, 673, 674, 890, 675, 676, 677, 678, 679, 14453 1399, 680, 0, 681, 682, 690, 691, 692, 683, 684, 14454 686, 693, 685, 694, 695, 696, 697, 699, 698, 0, 14455 701, 702, 700, 703, 704, 705, 706, 1449, 707, 844, 14456 708, 687, 688, 709, 710, 711, 891, 712, 713, 714, 14457 715, 716, 717, 718, 719, 720, 1465, 0, 721, 0, 14458 722, 723, 724, 725, 726, 727, 729, 689, 730, 731, 14459 732, 737, 738, 1496, 733, 734, 735, 736, 1489, 740, 14460 741, 742, 743, 0, 744, 745, 0, 739, 728, 0, 14461 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 14462 0, 756, 1478, 1479, 1480, 1481, 0, 768, 0, 757, 14463 759, 760, 761, 762, 1490, 763, 1491, 1409, 764, 765, 14464 766, 767, 758, 769, 770, 0, 0, 771, 772, 773, 14465 774, 776, 778, 779, 780, 775, 777, 781, 1450, 782, 14466 0, 0, 783, 784, 785, 854, 1475, 1495, 0, 787, 14467 788, 786, 789, 790, 793, 791, 792, 857, 796, 513, 14468 797, 798, 799, 794, 795, 0, 0, 0, 0, 800, 14469 801, 858, 802, 803, 804, 2040, 0, 1460, 1403, 1404, 14470 1405, 1401, 1402, 1414, 0, 0, 0, 0, 0, 0, 14471 0, 0, 0, 0, 345, 346, 348, 347, 349, 350, 14472 351, 352, 0, 353, 354, 0, 1629, 0, 1415, 0, 14473 1452, 1419, 1413, 0, 356, 0, 355, 0, 357, 358, 14474 359, 874, 360, 361, 362, 363, 364, 365, 366, 367, 14475 806, 1466, 0, 368, 1474, 369, 1473, 0, 1484, 370, 14476 371, 372, 373, 374, 375, 376, 377, 378, 379, 0, 14477 1451, 0, 380, 1497, 1498, 813, 0, 381, 382, 383, 14478 384, 1458, 0, 1439, 0, 385, 386, 387, 388, 389, 14479 390, 391, 392, 0, 0, 394, 395, 396, 393, 397, 14480 398, 0, 399, 0, 400, 401, 402, 403, 404, 405, 14481 406, 0, 407, 408, 409, 876, 410, 411, 412, 1442, 14482 1440, 1441, 1448, 1444, 1443, 1447, 413, 414, 415, 416, 14483 417, 1477, 418, 420, 421, 1471, 422, 1470, 0, 425, 14484 427, 419, 423, 0, 426, 424, 428, 429, 0, 430, 14485 431, 432, 433, 0, 0, 434, 1469, 436, 0, 437, 14486 438, 440, 439, 0, 441, 442, 443, 0, 444, 445, 14487 817, 446, 447, 448, 450, 452, 449, 451, 453, 454, 14488 455, 456, 457, 1485, 1486, 458, 459, 1410, 340, 0, 14489 0, 0, 0, 0, 460, 461, 462, 1468, 0, 0, 14490 0, 463, 0, 465, 469, 466, 467, 468, 470, 0, 14491 464, 471, 472, 0, 877, 473, 474, 475, 1482, 1483, 14492 476, 477, 478, 479, 480, 481, 482, 483, 484, 0, 14493 485, 486, 1492, 0, 1420, 487, 0, 488, 489, 490, 14494 491, 492, 493, 494, 2039, 1454, 1457, 595, 879, 495, 14495 496, 497, 0, 498, 499, 500, 501, 502, 503, 504, 14496 0, 0, 0, 505, 506, 507, 508, 0, 867, 341, 14497 343, 878, 828, 509, 596, 510, 1463, 1464, 0, 1424, 14498 0, 511, 512, 515, 880, 1455, 881, 514, 516, 517, 14499 882, 518, 0, 0, 0, 519, 520, 521, 522, 523, 14500 524, 525, 0, 526, 528, 527, 0, 530, 1493, 529, 14501 883, 531, 532, 884, 0, 533, 534, 535, 536, 537, 14502 538, 541, 1446, 1445, 539, 540, 542, 543, 0, 544, 14503 545, 547, 550, 546, 548, 549, 551, 552, 565, 566, 14504 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 14505 563, 564, 568, 0, 567, 885, 569, 570, 571, 572, 14506 573, 581, 583, 584, 579, 580, 582, 585, 586, 588, 14507 589, 576, 577, 578, 886, 587, 574, 0, 575, 344, 14508 887, 590, 591, 592, 593, 1411, 1456, 594, 1472, 597, 14509 598, 0, 0, 599, 0, 600, 0, 0, 602, 603, 14510 604, 0, 0, 605, 606, 836, 888, 607, 889, 1487, 14511 608, 609, 601, 610, 611, 612, 613, 614, 615, 616, 14512 617, 618, 619, 0, 620, 621, 838, 622, 623, 624, 14513 839, 625, 626, 627, 1488, 628, 841, 629, 630, 0, 14514 631, 632, 633, 0, 634, 635, 636, 637, 638, 639, 14515 640, 641, 642, 643, 1467, 644, 645, 647, 646, 648, 14516 649, 0, 650, 0, 651, 652, 653, 0, 0, 0, 14517 0, 0, 654, 655, 657, 0, 658, 659, 660, 661, 14518 662, 656, 663, 664, 665, 666, 667, 668, 669, 0, 14519 671, 672, 670, 673, 674, 890, 675, 676, 677, 678, 14520 679, 1399, 680, 0, 681, 682, 690, 691, 692, 683, 14521 684, 686, 693, 685, 694, 695, 696, 697, 699, 698, 14522 0, 701, 702, 700, 703, 704, 705, 706, 1449, 707, 14523 844, 708, 687, 688, 709, 710, 711, 891, 712, 713, 14524 714, 715, 716, 717, 718, 719, 720, 1465, 0, 721, 14525 0, 722, 723, 724, 725, 726, 727, 729, 689, 730, 14526 731, 732, 737, 738, 1496, 733, 734, 735, 736, 1489, 14527 740, 741, 742, 743, 0, 744, 745, 0, 739, 728, 14528 0, 746, 747, 748, 749, 750, 751, 752, 753, 754, 14529 755, 0, 756, 1478, 1479, 1480, 1481, 0, 768, 0, 14530 757, 759, 760, 761, 762, 1490, 763, 1491, 1409, 764, 14531 765, 766, 767, 758, 769, 770, 0, 0, 771, 772, 14532 773, 774, 776, 778, 779, 780, 775, 777, 781, 1450, 14533 782, 0, 0, 783, 784, 785, 854, 1475, 1495, 0, 14534 787, 788, 786, 789, 790, 793, 791, 792, 857, 796, 14535 513, 797, 798, 799, 794, 795, 0, 0, 0, 0, 14536 800, 801, 858, 802, 803, 804, 1988, 0, 1460, 1403, 14537 1404, 1405, 1401, 1402, 1414, 0, 0, 0, 0, 0, 14538 0, 0, 0, 0, 0, 345, 346, 348, 347, 349, 14539 350, 351, 352, 0, 353, 354, 0, 864, 0, 1415, 14540 0, 1452, 1419, 1413, 0, 356, 0, 355, 0, 357, 14541 358, 359, 874, 360, 361, 362, 363, 364, 365, 366, 14542 367, 806, 1466, 0, 368, 1474, 369, 1473, 0, 1484, 14543 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 14544 0, 1451, 0, 380, 1497, 1498, 813, 0, 381, 382, 14545 383, 384, 1458, 0, 1439, 0, 385, 386, 387, 388, 14546 389, 390, 391, 392, 0, 0, 394, 395, 396, 393, 14547 397, 398, 0, 399, 0, 400, 401, 402, 403, 404, 14548 405, 406, 0, 407, 408, 409, 876, 410, 411, 412, 14549 1442, 1440, 1441, 1448, 1444, 1443, 1447, 413, 414, 415, 14550 416, 417, 1477, 418, 420, 421, 1471, 422, 1470, 0, 14551 425, 427, 419, 423, 0, 426, 424, 428, 429, 0, 14552 430, 431, 432, 433, 0, 0, 434, 1469, 436, 0, 14553 437, 438, 440, 439, 0, 441, 442, 443, 0, 444, 14554 445, 817, 446, 447, 448, 450, 452, 449, 451, 453, 14555 454, 455, 456, 457, 1485, 1486, 458, 459, 1410, 340, 14556 0, 0, 0, 0, 0, 460, 461, 462, 1468, 0, 14557 0, 0, 463, 0, 465, 469, 466, 467, 468, 470, 14558 0, 464, 471, 472, 0, 877, 473, 474, 475, 1482, 14559 1483, 476, 477, 478, 479, 480, 481, 482, 483, 484, 14560 0, 485, 486, 1492, 0, 1420, 487, 0, 488, 489, 14561 490, 491, 492, 493, 494, 1453, 1454, 1457, 595, 879, 14562 495, 496, 497, 0, 498, 499, 500, 501, 502, 503, 14563 504, 0, 0, 0, 505, 506, 507, 508, 0, 867, 14564 341, 343, 878, 828, 509, 596, 510, 1463, 1464, 0, 14565 1424, 0, 511, 512, 515, 880, 1455, 881, 514, 516, 14566 517, 882, 518, 0, 0, 0, 519, 520, 521, 522, 14567 523, 524, 525, 0, 526, 528, 527, 0, 530, 1493, 14568 529, 883, 531, 532, 884, 0, 533, 534, 535, 536, 14569 537, 538, 541, 1446, 1445, 539, 540, 542, 543, 0, 14570 544, 545, 547, 550, 546, 548, 549, 551, 552, 565, 14571 566, 553, 554, 555, 556, 557, 558, 559, 560, 561, 14572 562, 563, 564, 568, 0, 567, 885, 569, 570, 571, 14573 572, 573, 581, 583, 584, 579, 580, 582, 585, 586, 14574 588, 589, 576, 577, 578, 886, 587, 574, 0, 575, 14575 344, 887, 590, 591, 592, 593, 1411, 1456, 594, 1472, 14576 597, 598, 0, 0, 599, 0, 600, 0, 0, 602, 14577 603, 604, 0, 0, 605, 606, 836, 888, 607, 889, 14578 1487, 608, 609, 601, 610, 611, 612, 613, 614, 615, 14579 616, 617, 618, 619, 0, 620, 621, 838, 622, 623, 14580 624, 839, 625, 626, 627, 1488, 628, 841, 629, 630, 14581 0, 631, 632, 633, 0, 634, 635, 636, 637, 638, 14582 639, 640, 641, 642, 643, 1467, 644, 645, 647, 646, 14583 648, 649, 0, 650, 0, 651, 652, 653, 0, 0, 14584 0, 0, 0, 654, 655, 657, 0, 658, 659, 660, 14585 661, 662, 656, 663, 664, 665, 666, 667, 668, 669, 14586 0, 671, 672, 670, 673, 674, 890, 675, 676, 677, 14587 678, 679, 1399, 680, 0, 681, 682, 690, 691, 692, 14588 683, 684, 686, 693, 685, 694, 695, 696, 697, 699, 14589 698, 0, 701, 702, 700, 703, 704, 705, 706, 1449, 14590 707, 844, 708, 687, 688, 709, 710, 711, 891, 712, 14591 713, 714, 715, 716, 717, 718, 719, 720, 1465, 0, 14592 721, 0, 722, 723, 724, 725, 726, 727, 729, 689, 14593 730, 731, 732, 737, 738, 1496, 733, 734, 735, 736, 14594 1489, 740, 741, 742, 743, 0, 744, 745, 0, 739, 14595 728, 0, 746, 747, 748, 749, 750, 751, 752, 753, 14596 754, 755, 0, 756, 1478, 1479, 1480, 1481, 0, 768, 14597 0, 757, 759, 760, 761, 762, 1490, 763, 1491, 1409, 14598 764, 765, 766, 767, 758, 769, 770, 0, 0, 771, 14599 772, 773, 774, 776, 778, 779, 780, 775, 777, 781, 14600 1450, 782, 0, 0, 783, 784, 785, 854, 1475, 1495, 14601 0, 787, 788, 786, 789, 790, 793, 791, 792, 857, 14602 796, 513, 797, 798, 799, 794, 795, 0, 0, 0, 14603 0, 800, 801, 858, 802, 803, 804, 1627, 0, 1460, 14604 1403, 1404, 1405, 1401, 1402, 1414, 0, 0, 0, 0, 14605 0, 0, 0, 0, 0, 0, 345, 346, 348, 347, 14606 349, 350, 351, 352, 0, 353, 354, 0, 1629, 0, 14607 1415, 0, 1452, 1419, 1413, 0, 356, 0, 355, 0, 14608 357, 358, 359, 874, 360, 361, 362, 363, 364, 365, 14609 366, 367, 806, 1466, 0, 368, 1474, 369, 1473, 0, 14610 1484, 370, 371, 372, 373, 374, 375, 376, 377, 378, 14611 379, 0, 1451, 0, 380, 1497, 1498, 813, 0, 381, 14612 382, 383, 384, 1458, 0, 1439, 0, 385, 386, 387, 14613 388, 389, 390, 391, 392, 0, 0, 394, 395, 396, 14614 393, 397, 398, 0, 399, 0, 400, 401, 402, 403, 14615 404, 405, 406, 0, 407, 408, 409, 876, 410, 411, 14616 412, 1442, 1440, 1441, 1448, 1444, 1443, 1447, 413, 414, 14617 415, 416, 417, 1477, 418, 420, 421, 1471, 422, 1470, 14618 0, 425, 427, 419, 423, 0, 426, 424, 428, 429, 14619 0, 430, 431, 432, 433, 0, 0, 434, 1469, 436, 14620 0, 437, 438, 440, 439, 0, 441, 442, 443, 0, 14621 444, 445, 817, 446, 447, 448, 450, 452, 449, 451, 14622 453, 454, 455, 456, 457, 1485, 1486, 458, 459, 1410, 14623 340, 0, 0, 0, 0, 0, 460, 461, 462, 1468, 14624 0, 0, 0, 463, 0, 465, 469, 466, 467, 468, 14625 470, 0, 464, 471, 472, 0, 877, 473, 474, 475, 14626 1482, 1483, 476, 477, 478, 479, 480, 481, 482, 483, 14627 484, 0, 485, 486, 1492, 0, 1420, 487, 0, 488, 14628 489, 490, 491, 492, 493, 494, 1626, 1454, 1457, 595, 14629 879, 495, 496, 497, 0, 498, 499, 500, 501, 502, 14630 503, 504, 0, 0, 0, 505, 506, 507, 508, 0, 14631 867, 341, 343, 878, 828, 509, 596, 510, 1463, 1464, 14632 0, 1424, 0, 511, 512, 515, 880, 1455, 881, 514, 14633 516, 517, 882, 518, 0, 0, 0, 519, 520, 521, 14634 522, 523, 524, 525, 0, 526, 528, 527, 0, 530, 14635 1493, 529, 883, 531, 532, 884, 0, 533, 534, 535, 14636 536, 537, 538, 541, 1446, 1445, 539, 540, 542, 543, 14637 0, 544, 545, 547, 550, 546, 548, 549, 551, 552, 14638 565, 566, 553, 554, 555, 556, 557, 558, 559, 560, 14639 561, 562, 563, 564, 568, 0, 567, 885, 569, 570, 14640 571, 572, 573, 581, 583, 584, 579, 580, 582, 585, 14641 586, 588, 589, 576, 577, 578, 886, 587, 574, 0, 14642 575, 344, 887, 590, 591, 592, 593, 1411, 1456, 594, 14643 1472, 597, 598, 0, 0, 599, 0, 600, 0, 0, 14644 602, 603, 604, 0, 0, 605, 606, 836, 888, 607, 14645 889, 1487, 608, 609, 601, 610, 611, 612, 613, 614, 14646 615, 616, 617, 618, 619, 0, 620, 621, 838, 622, 14647 623, 624, 839, 625, 626, 627, 1488, 628, 841, 629, 14648 630, 0, 631, 632, 633, 0, 634, 635, 636, 637, 14649 638, 639, 640, 641, 642, 643, 1467, 644, 645, 647, 14650 646, 648, 649, 0, 650, 0, 651, 652, 653, 0, 14651 0, 0, 0, 0, 654, 655, 657, 0, 658, 659, 14652 660, 661, 662, 656, 663, 664, 665, 666, 667, 668, 14653 669, 0, 671, 672, 670, 673, 674, 890, 675, 676, 14654 677, 678, 679, 1399, 680, 0, 681, 682, 690, 691, 14655 692, 683, 684, 686, 693, 685, 694, 695, 696, 697, 14656 699, 698, 0, 701, 702, 700, 703, 704, 705, 706, 14657 1449, 707, 844, 708, 687, 688, 709, 710, 711, 891, 14658 712, 713, 714, 715, 716, 717, 718, 719, 720, 1465, 14659 0, 721, 0, 722, 723, 724, 725, 726, 727, 729, 14660 689, 730, 731, 732, 737, 738, 1496, 733, 734, 735, 14661 736, 1489, 740, 741, 742, 743, 0, 744, 745, 0, 14662 739, 728, 0, 746, 747, 748, 749, 750, 751, 752, 14663 753, 754, 755, 0, 756, 1478, 1479, 1480, 1481, 0, 14664 768, 0, 757, 759, 760, 761, 762, 1490, 763, 1491, 14665 1409, 764, 765, 766, 767, 758, 769, 770, 0, 0, 14666 771, 772, 773, 774, 776, 778, 779, 780, 775, 777, 14667 781, 1450, 782, 0, 0, 783, 784, 785, 854, 1475, 14668 1495, 0, 787, 788, 786, 789, 790, 793, 791, 792, 14669 857, 796, 513, 797, 798, 799, 794, 795, 0, 0, 14670 0, 0, 800, 801, 858, 802, 803, 804, 0, 1460, 14671 1403, 1404, 1405, 1401, 1402, 1414, 0, 0, 0, 0, 14672 0, 0, 0, 0, 0, 0, 345, 346, 348, 347, 14673 349, 350, 351, 352, 0, 353, 354, 0, 0, 1629, 14674 0, 1415, 1452, 1419, 0, 1413, 356, 0, 355, 0, 14675 357, 358, 359, 874, 360, 361, 362, 363, 364, 365, 14676 366, 367, 806, 1466, 0, 368, 1474, 369, 1473, 0, 14677 1484, 370, 371, 372, 373, 374, 375, 376, 377, 378, 14678 379, 0, 1451, 0, 380, 1497, 1498, 813, 0, 381, 14679 382, 383, 384, 1458, 0, 1439, 0, 385, 386, 387, 14680 388, 389, 390, 391, 392, 0, 0, 394, 395, 396, 14681 393, 397, 398, 0, 399, 0, 400, 401, 402, 403, 14682 404, 405, 406, 0, 407, 408, 409, 876, 410, 411, 14683 412, 1442, 1440, 1441, 1448, 1444, 1443, 1447, 413, 414, 14684 415, 416, 417, 1477, 418, 420, 421, 1471, 422, 1470, 14685 0, 425, 427, 419, 423, 0, 426, 424, 428, 429, 14686 0, 430, 431, 432, 433, 0, 0, 434, 1469, 436, 14687 0, 437, 438, 440, 439, 0, 441, 442, 443, 0, 14688 444, 445, 817, 446, 447, 448, 450, 452, 449, 451, 14689 453, 454, 455, 456, 457, 1485, 1486, 458, 459, 1410, 14690 340, 0, 0, 0, 0, 0, 460, 461, 462, 1468, 14691 0, 0, 0, 463, 0, 465, 469, 466, 467, 468, 14692 470, 0, 464, 471, 472, 0, 877, 473, 474, 475, 14693 1482, 1483, 476, 477, 478, 479, 480, 481, 482, 483, 14694 484, 0, 485, 486, 1492, 0, 1420, 487, 0, 488, 14695 489, 490, 491, 492, 493, 494, 1453, 1454, 1457, 595, 14696 879, 495, 496, 497, 0, 498, 499, 500, 501, 502, 14697 503, 504, 0, 0, 0, 505, 506, 507, 508, 0, 14698 867, 341, 343, 878, 828, 509, 596, 510, 1463, 1464, 14699 0, 1424, 0, 511, 512, 515, 880, 1455, 881, 514, 14700 516, 517, 882, 518, 0, 0, 0, 519, 520, 521, 14701 522, 523, 524, 525, 0, 526, 528, 527, 0, 530, 14702 1493, 529, 883, 531, 532, 884, 0, 533, 534, 535, 14703 536, 537, 538, 541, 1446, 1445, 539, 540, 542, 543, 14704 0, 544, 545, 547, 550, 546, 548, 549, 551, 552, 14705 565, 566, 553, 554, 555, 556, 557, 558, 559, 560, 14706 561, 562, 563, 564, 568, 0, 567, 885, 569, 570, 14707 571, 572, 573, 581, 583, 584, 579, 580, 582, 585, 14708 586, 588, 589, 576, 577, 578, 886, 587, 574, 0, 14709 575, 344, 887, 590, 591, 592, 593, 1411, 1456, 594, 14710 1472, 597, 598, 0, 0, 599, 0, 600, 0, 0, 14711 602, 603, 604, 0, 0, 605, 606, 836, 888, 607, 14712 889, 1487, 608, 609, 601, 610, 611, 612, 613, 614, 14713 615, 616, 617, 618, 619, 0, 620, 621, 838, 622, 14714 623, 624, 839, 625, 626, 627, 1488, 628, 841, 629, 14715 630, 0, 631, 632, 633, 0, 634, 635, 636, 637, 14716 638, 639, 640, 641, 642, 643, 1467, 644, 645, 647, 14717 646, 648, 649, 0, 650, 0, 651, 652, 653, 0, 14718 0, 0, 0, 0, 654, 655, 657, 0, 658, 659, 14719 660, 661, 662, 656, 663, 664, 665, 666, 667, 668, 14720 669, 0, 671, 672, 670, 673, 674, 890, 675, 676, 14721 677, 678, 679, 1399, 680, 0, 681, 682, 690, 691, 14722 692, 683, 684, 686, 693, 685, 694, 695, 696, 697, 14723 699, 698, 0, 701, 702, 700, 703, 704, 705, 706, 14724 1449, 707, 844, 708, 687, 688, 709, 710, 711, 891, 14725 712, 713, 714, 715, 716, 717, 718, 719, 720, 1465, 14726 0, 721, 0, 722, 723, 724, 725, 726, 727, 729, 14727 689, 730, 731, 732, 737, 738, 1496, 733, 734, 735, 14728 736, 1489, 740, 741, 742, 743, 0, 744, 745, 0, 14729 739, 728, 0, 746, 747, 748, 749, 750, 751, 752, 14730 753, 754, 755, 0, 756, 1478, 1479, 1480, 1481, 0, 14731 768, 0, 757, 759, 760, 761, 762, 1490, 763, 1491, 14732 1409, 764, 765, 766, 767, 758, 769, 770, 0, 0, 14733 771, 772, 773, 774, 776, 778, 779, 780, 775, 777, 14734 781, 1450, 782, 0, 0, 783, 784, 785, 854, 1475, 14735 1495, 0, 787, 788, 786, 789, 790, 793, 791, 792, 14736 857, 796, 513, 797, 798, 799, 794, 795, 0, 0, 14737 0, 0, 800, 801, 858, 802, 803, 804, 0, 1460, 14738 1403, 1404, 1405, 1401, 1402, 1414, 0, 0, 0, 0, 14739 0, 0, 0, 0, 0, 0, 345, 346, 348, 347, 14740 349, 350, 351, 352, 0, 353, 354, 0, 0, 864, 14741 0, 1415, 1452, 1419, 0, 1413, 356, 0, 355, 0, 14742 357, 358, 359, 874, 360, 361, 362, 363, 364, 365, 14743 366, 367, 806, 1466, 0, 368, 1474, 369, 1473, 0, 14744 1484, 370, 371, 372, 373, 374, 375, 376, 377, 378, 14745 379, 0, 1451, 0, 380, 1497, 1498, 813, 0, 381, 14746 382, 383, 384, 1458, 0, 1439, 0, 385, 386, 387, 14747 388, 389, 390, 391, 392, 0, 0, 394, 395, 396, 14748 393, 397, 398, 0, 399, 0, 400, 401, 402, 403, 14749 404, 405, 406, 0, 407, 408, 409, 876, 410, 411, 14750 412, 1442, 1440, 1441, 1448, 1444, 1443, 1447, 413, 414, 14751 415, 416, 417, 1477, 418, 420, 421, 1471, 422, 1470, 14752 0, 425, 427, 419, 423, 0, 426, 424, 428, 429, 14753 0, 430, 431, 432, 433, 0, 0, 434, 1469, 436, 14754 0, 437, 438, 440, 439, 0, 441, 442, 443, 0, 14755 444, 445, 817, 446, 447, 448, 450, 452, 449, 451, 14756 453, 454, 455, 456, 457, 1485, 1486, 458, 459, 1410, 14757 340, 0, 0, 0, 0, 0, 460, 461, 462, 1468, 14758 0, 0, 0, 463, 0, 465, 469, 466, 467, 468, 14759 470, 0, 464, 471, 472, 0, 877, 473, 474, 475, 14760 1482, 1483, 476, 477, 478, 479, 480, 481, 482, 483, 14761 484, 0, 485, 486, 1492, 0, 1420, 487, 0, 488, 14762 489, 490, 491, 492, 493, 494, 1453, 1454, 1457, 595, 14763 879, 495, 496, 497, 0, 498, 499, 500, 501, 502, 14764 503, 504, 0, 0, 0, 505, 506, 507, 508, 0, 14765 867, 341, 343, 878, 828, 509, 596, 510, 1463, 1464, 14766 0, 1424, 0, 511, 512, 515, 880, 1455, 881, 514, 14767 516, 517, 882, 518, 0, 0, 0, 519, 520, 521, 14768 522, 523, 524, 525, 0, 526, 528, 527, 0, 530, 14769 1493, 529, 883, 531, 532, 884, 0, 533, 534, 535, 14770 536, 537, 538, 541, 1446, 1445, 539, 540, 542, 543, 14771 0, 544, 545, 547, 550, 546, 548, 549, 551, 552, 14772 565, 566, 553, 554, 555, 556, 557, 558, 559, 560, 14773 561, 562, 563, 564, 568, 0, 567, 885, 569, 570, 14774 571, 572, 573, 581, 583, 584, 579, 580, 582, 585, 14775 586, 588, 589, 576, 577, 578, 886, 587, 574, 0, 14776 575, 344, 887, 590, 591, 592, 593, 1411, 1456, 594, 14777 1472, 597, 598, 0, 0, 599, 0, 600, 0, 0, 14778 602, 603, 604, 0, 0, 605, 606, 836, 888, 607, 14779 889, 1487, 608, 609, 601, 610, 611, 612, 613, 614, 14780 615, 616, 617, 618, 619, 0, 620, 621, 838, 622, 14781 623, 624, 839, 625, 626, 627, 1488, 628, 841, 629, 14782 630, 0, 631, 632, 633, 0, 634, 635, 636, 637, 14783 638, 639, 640, 641, 642, 643, 1467, 644, 645, 647, 14784 646, 648, 649, 0, 650, 0, 651, 652, 653, 0, 14785 0, 0, 0, 0, 654, 655, 657, 0, 658, 659, 14786 660, 661, 662, 656, 663, 664, 665, 666, 667, 668, 14787 669, 0, 671, 672, 670, 673, 674, 890, 675, 676, 14788 677, 678, 679, 1399, 680, 0, 681, 682, 690, 691, 14789 692, 683, 684, 686, 693, 685, 694, 695, 696, 697, 14790 699, 698, 0, 701, 702, 700, 703, 704, 705, 706, 14791 1449, 707, 844, 708, 687, 688, 709, 710, 711, 891, 14792 712, 713, 714, 715, 716, 717, 718, 719, 720, 1465, 14793 0, 721, 0, 722, 723, 724, 725, 726, 727, 729, 14794 689, 730, 731, 732, 737, 738, 1496, 733, 734, 735, 14795 736, 1489, 740, 741, 742, 743, 0, 744, 745, 0, 14796 739, 728, 0, 746, 747, 748, 749, 750, 751, 752, 14797 753, 754, 755, 0, 756, 1478, 1479, 1480, 1481, 0, 14798 768, 0, 757, 759, 760, 761, 762, 1490, 763, 1491, 14799 1409, 764, 765, 766, 767, 758, 769, 770, 0, 0, 14800 771, 772, 773, 774, 776, 778, 779, 780, 775, 777, 14801 781, 1450, 782, 0, 0, 783, 784, 785, 854, 1475, 14802 1495, 0, 787, 788, 786, 789, 790, 793, 791, 792, 14803 857, 796, 513, 797, 798, 799, 794, 795, 0, 0, 14804 0, 0, 800, 801, 858, 802, 803, 804, 1372, 0, 14805 868, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14806 0, 0, 0, 0, 0, 0, 0, 345, 346, 348, 14807 347, 349, 350, 351, 352, 0, 353, 354, 0, 1629, 14808 0, 1415, 0, 1452, 0, 1413, 0, 356, 0, 355, 14809 0, 357, 358, 359, 874, 360, 361, 362, 363, 364, 14810 365, 366, 367, 806, 807, 0, 368, 808, 369, 809, 14811 0, 810, 370, 371, 372, 373, 374, 375, 376, 377, 14812 378, 379, 0, 1451, 0, 380, 811, 812, 813, 0, 14813 381, 382, 383, 384, 1458, 0, 1439, 0, 385, 386, 14814 387, 388, 389, 390, 391, 392, 0, 0, 394, 395, 14815 396, 393, 397, 398, 0, 399, 0, 400, 401, 402, 14816 403, 404, 405, 406, 0, 407, 408, 409, 876, 410, 14817 411, 412, 1442, 1440, 1441, 1448, 1444, 1443, 1447, 413, 14818 414, 415, 416, 417, 0, 418, 420, 421, 815, 422, 14819 816, 0, 425, 427, 419, 423, 0, 426, 424, 428, 14820 429, 0, 430, 431, 432, 433, 0, 0, 434, 435, 14821 436, 0, 437, 438, 440, 439, 0, 441, 442, 443, 14822 0, 444, 445, 817, 446, 447, 448, 450, 452, 449, 14823 451, 453, 454, 455, 456, 457, 1485, 1486, 458, 459, 14824 0, 340, 0, 0, 0, 0, 0, 460, 461, 462, 14825 820, 0, 0, 0, 463, 0, 465, 469, 466, 467, 14826 468, 470, 0, 464, 471, 472, 0, 877, 473, 474, 14827 475, 821, 822, 476, 477, 478, 479, 480, 481, 482, 14828 483, 484, 0, 485, 486, 1492, 0, 824, 487, 0, 14829 488, 489, 490, 491, 492, 493, 494, 1453, 1454, 1457, 14830 595, 879, 495, 496, 497, 0, 498, 499, 500, 501, 14831 502, 503, 504, 0, 0, 0, 505, 506, 507, 508, 14832 0, 867, 341, 343, 878, 828, 509, 596, 510, 829, 14833 830, 0, 831, 0, 511, 512, 515, 880, 1455, 881, 14834 514, 516, 517, 882, 518, 0, 0, 0, 519, 520, 14835 521, 522, 523, 524, 525, 1522, 526, 528, 527, 0, 14836 530, 1493, 529, 883, 531, 532, 884, 0, 533, 534, 14837 535, 536, 537, 538, 541, 1446, 1445, 539, 540, 542, 14838 543, 0, 544, 545, 547, 550, 546, 548, 549, 551, 14839 552, 565, 566, 553, 554, 555, 556, 557, 558, 559, 14840 560, 561, 562, 563, 564, 568, 0, 567, 885, 569, 14841 570, 571, 572, 573, 581, 583, 584, 579, 580, 582, 14842 585, 586, 588, 589, 576, 577, 578, 886, 587, 574, 14843 0, 575, 344, 887, 590, 591, 592, 593, 0, 1456, 14844 594, 835, 597, 598, 0, 0, 599, 0, 600, 0, 14845 1528, 602, 603, 604, 0, 0, 605, 606, 836, 888, 14846 607, 889, 1487, 608, 609, 601, 610, 611, 612, 613, 14847 614, 615, 616, 617, 618, 619, 0, 620, 621, 838, 14848 622, 623, 624, 839, 625, 626, 627, 1488, 628, 841, 14849 629, 630, 0, 631, 632, 633, 0, 634, 635, 636, 14850 637, 638, 639, 640, 641, 642, 643, 842, 644, 645, 14851 647, 646, 648, 649, 0, 650, 0, 651, 652, 653, 14852 0, 0, 0, 0, 0, 654, 655, 657, 0, 658, 14853 659, 660, 661, 662, 656, 663, 664, 665, 666, 667, 14854 668, 669, 0, 671, 672, 670, 673, 674, 890, 675, 14855 676, 677, 678, 679, 843, 1530, 0, 681, 682, 690, 14856 691, 692, 683, 684, 686, 693, 685, 694, 695, 696, 14857 697, 699, 698, 295, 701, 702, 700, 703, 704, 705, 14858 706, 1449, 707, 844, 708, 687, 688, 709, 710, 711, 14859 891, 712, 713, 714, 715, 716, 717, 718, 719, 720, 14860 845, 0, 721, 0, 722, 723, 724, 725, 726, 727, 14861 729, 689, 730, 731, 732, 737, 738, 846, 733, 734, 14862 735, 736, 1489, 740, 741, 742, 743, 0, 744, 745, 14863 0, 739, 728, 297, 746, 747, 748, 749, 750, 751, 14864 752, 753, 754, 755, 0, 756, 848, 849, 850, 851, 14865 0, 768, 0, 757, 759, 760, 761, 762, 1490, 763, 14866 1491, 0, 764, 765, 766, 767, 758, 769, 770, 0, 14867 0, 771, 772, 773, 774, 776, 778, 779, 780, 775, 14868 777, 781, 1450, 782, 0, 0, 783, 784, 785, 2114, 14869 855, 856, 0, 787, 788, 786, 789, 790, 793, 791, 14870 792, 857, 796, 513, 797, 798, 799, 794, 795, 0, 14871 0, 0, 289, 800, 801, 858, 802, 803, 804, 0, 14872 868, 290, 0, 0, 0, 0, 0, 0, 0, 0, 14873 0, 0, 0, 0, 0, 0, 0, 345, 346, 348, 14874 347, 349, 350, 351, 352, 0, 353, 354, 0, 0, 14875 1526, 0, 2366, 1452, 0, 0, 0, 356, 0, 355, 14876 0, 357, 358, 359, 874, 360, 361, 362, 363, 364, 14877 365, 366, 367, 806, 807, 0, 368, 808, 369, 809, 14878 0, 810, 370, 371, 372, 373, 374, 375, 376, 377, 14879 378, 379, 0, 1451, 0, 380, 811, 812, 813, 0, 14880 381, 382, 383, 384, 1458, 0, 1439, 0, 385, 386, 14881 387, 388, 389, 390, 391, 392, 0, 0, 394, 395, 14882 396, 393, 397, 398, 0, 399, 0, 400, 401, 402, 14883 403, 404, 405, 406, 0, 407, 408, 409, 876, 410, 14884 411, 412, 1442, 1440, 1441, 1448, 1444, 1443, 1447, 413, 14885 414, 415, 416, 417, 0, 418, 420, 421, 815, 422, 14886 816, 0, 425, 427, 419, 423, 0, 426, 424, 428, 14887 429, 0, 430, 431, 432, 433, 0, 0, 434, 435, 14888 436, 0, 437, 438, 440, 439, 0, 441, 442, 443, 14889 0, 444, 445, 817, 446, 447, 448, 450, 452, 449, 14890 451, 453, 454, 455, 456, 457, 1485, 1486, 458, 459, 14891 0, 340, 0, 0, 0, 0, 0, 460, 461, 462, 14892 820, 0, 0, 0, 463, 0, 465, 469, 466, 467, 14893 468, 470, 0, 464, 471, 472, 0, 877, 473, 474, 14894 475, 821, 822, 476, 477, 478, 479, 480, 481, 482, 14895 483, 484, 0, 485, 486, 1492, 0, 824, 487, 0, 14896 488, 489, 490, 491, 492, 493, 494, 1453, 1454, 1457, 14897 595, 879, 495, 496, 497, 0, 498, 499, 500, 501, 14898 502, 503, 504, 0, 0, 0, 505, 506, 507, 508, 14899 0, 867, 341, 343, 878, 828, 509, 596, 510, 829, 14900 830, 0, 831, 0, 511, 512, 515, 880, 1455, 881, 14901 514, 516, 517, 882, 518, 0, 0, 0, 519, 520, 14902 521, 522, 523, 524, 525, 1522, 526, 528, 527, 0, 14903 530, 1493, 529, 883, 531, 532, 884, 0, 533, 534, 14904 535, 536, 537, 538, 541, 1446, 1445, 539, 540, 542, 14905 543, 0, 544, 545, 547, 550, 546, 548, 549, 551, 14906 552, 565, 566, 553, 554, 555, 556, 557, 558, 559, 14907 560, 561, 562, 563, 564, 568, 0, 567, 885, 569, 14908 570, 571, 572, 573, 581, 583, 584, 579, 580, 582, 14909 585, 586, 588, 589, 576, 577, 578, 886, 587, 574, 14910 0, 575, 344, 887, 590, 591, 592, 593, 0, 1456, 14911 594, 835, 597, 598, 0, 0, 599, 0, 600, 0, 14912 1528, 602, 603, 604, 0, 0, 605, 606, 836, 888, 14913 607, 889, 1487, 608, 609, 601, 610, 611, 612, 613, 14914 614, 615, 616, 617, 618, 619, 0, 620, 621, 838, 14915 622, 623, 624, 839, 625, 626, 627, 1488, 628, 841, 14916 629, 630, 0, 631, 632, 633, 0, 634, 635, 636, 14917 637, 638, 639, 640, 641, 642, 643, 842, 644, 645, 14918 647, 646, 648, 649, 0, 650, 0, 651, 652, 653, 14919 0, 0, 0, 0, 0, 654, 655, 657, 0, 658, 14920 659, 660, 661, 662, 656, 663, 664, 665, 666, 667, 14921 668, 669, 0, 671, 672, 670, 673, 674, 890, 675, 14922 676, 677, 678, 679, 843, 1530, 0, 681, 682, 690, 14923 691, 692, 683, 684, 686, 693, 685, 694, 695, 696, 14924 697, 699, 698, 295, 701, 702, 700, 703, 704, 705, 14925 706, 1449, 707, 844, 708, 687, 688, 709, 710, 711, 14926 891, 712, 713, 714, 715, 716, 717, 718, 719, 720, 14927 845, 0, 721, 0, 722, 723, 724, 725, 726, 727, 14928 729, 689, 730, 731, 732, 737, 738, 846, 733, 734, 14929 735, 736, 1489, 740, 741, 742, 743, 0, 744, 745, 14930 0, 739, 728, 297, 746, 747, 748, 749, 750, 751, 14931 752, 753, 754, 755, 0, 756, 848, 849, 850, 851, 14932 0, 768, 0, 757, 759, 760, 761, 762, 1490, 763, 14933 1491, 0, 764, 765, 766, 767, 758, 769, 770, 0, 14934 0, 771, 772, 773, 774, 776, 778, 779, 780, 775, 14935 777, 781, 1450, 782, 0, 0, 783, 784, 785, 2114, 14936 855, 856, 0, 787, 788, 786, 789, 790, 793, 791, 14937 792, 857, 796, 513, 797, 798, 799, 794, 795, 0, 14938 0, 0, 289, 800, 801, 858, 802, 803, 804, 0, 14939 4670, 290, 868, 0, 0, 0, 0, 0, 0, 0, 14940 0, 0, 0, 0, 0, 0, 0, 0, 0, 345, 14941 346, 348, 347, 349, 350, 351, 352, 0, 353, 354, 14942 1526, 0, 2366, 0, 0, 1452, 0, 0, 0, 356, 14943 0, 355, 0, 357, 358, 359, 874, 360, 361, 362, 14944 363, 364, 365, 366, 367, 806, 807, 0, 368, 808, 14945 369, 809, 0, 810, 370, 371, 372, 373, 374, 375, 14946 376, 377, 378, 379, 0, 1451, 0, 380, 811, 812, 14947 813, 0, 381, 382, 383, 384, 1458, 0, 1439, 0, 14948 385, 386, 387, 388, 389, 390, 391, 392, 0, 0, 14949 394, 395, 396, 393, 397, 398, 0, 399, 0, 400, 14950 401, 402, 403, 404, 405, 406, 0, 407, 408, 409, 14951 876, 410, 411, 412, 1442, 1440, 1441, 1448, 1444, 1443, 14952 1447, 413, 414, 415, 416, 417, 0, 418, 420, 421, 14953 815, 422, 816, 0, 425, 427, 419, 423, 0, 426, 14954 424, 428, 429, 0, 430, 431, 432, 433, 0, 0, 14955 434, 435, 436, 0, 437, 438, 440, 439, 0, 441, 14956 442, 443, 0, 444, 445, 817, 446, 447, 448, 450, 14957 452, 449, 451, 453, 454, 455, 456, 457, 1485, 1486, 14958 458, 459, 0, 340, 0, 0, 0, 0, 0, 460, 14959 461, 462, 820, 0, 0, 0, 463, 0, 465, 469, 14960 466, 467, 468, 470, 0, 464, 471, 472, 0, 877, 14961 473, 474, 475, 821, 822, 476, 477, 478, 479, 480, 14962 481, 482, 483, 484, 0, 485, 486, 1492, 0, 824, 14963 487, 0, 488, 489, 490, 491, 492, 493, 494, 1453, 14964 1454, 1457, 595, 879, 495, 496, 497, 0, 498, 499, 14965 500, 501, 502, 503, 504, 0, 0, 0, 505, 506, 14966 507, 508, 0, 867, 341, 343, 878, 828, 509, 596, 14967 510, 829, 830, 0, 831, 0, 511, 512, 515, 880, 14968 1455, 881, 514, 516, 517, 882, 518, 0, 0, 0, 14969 519, 520, 521, 522, 523, 524, 525, 1522, 526, 528, 14970 527, 0, 530, 1493, 529, 883, 531, 532, 884, 0, 14971 533, 534, 535, 536, 537, 538, 541, 1446, 1445, 539, 14972 540, 542, 543, 0, 544, 545, 547, 550, 546, 548, 14973 549, 551, 552, 565, 566, 553, 554, 555, 556, 557, 14974 558, 559, 560, 561, 562, 563, 564, 568, 0, 567, 14975 885, 569, 570, 571, 572, 573, 581, 583, 584, 579, 14976 580, 582, 585, 586, 588, 589, 576, 577, 578, 886, 14977 587, 574, 0, 575, 344, 887, 590, 591, 592, 593, 14978 0, 1456, 594, 835, 597, 598, 0, 0, 599, 0, 14979 600, 0, 1528, 602, 603, 604, 0, 0, 605, 606, 14980 836, 888, 607, 889, 1487, 608, 609, 601, 610, 611, 14981 612, 613, 614, 615, 616, 617, 618, 619, 0, 620, 14982 621, 838, 622, 623, 624, 839, 625, 626, 627, 1488, 14983 628, 841, 629, 630, 0, 631, 632, 633, 0, 634, 14984 635, 636, 637, 638, 639, 640, 641, 642, 643, 842, 14985 644, 645, 647, 646, 648, 649, 0, 650, 0, 651, 14986 652, 653, 0, 0, 0, 0, 0, 654, 655, 657, 14987 0, 658, 659, 660, 661, 662, 656, 663, 664, 665, 14988 666, 667, 668, 669, 0, 671, 672, 670, 673, 674, 14989 890, 675, 676, 677, 678, 679, 843, 1530, 0, 681, 14990 682, 690, 691, 692, 683, 684, 686, 693, 685, 694, 14991 695, 696, 697, 699, 698, 0, 701, 702, 700, 703, 14992 704, 705, 706, 1449, 707, 844, 708, 687, 688, 709, 14993 710, 711, 891, 712, 713, 714, 715, 716, 717, 718, 14994 719, 720, 845, 0, 721, 0, 722, 723, 724, 725, 14995 726, 727, 729, 689, 730, 731, 732, 737, 738, 846, 14996 733, 734, 735, 736, 1489, 740, 741, 742, 743, 0, 14997 744, 745, 0, 739, 728, 0, 746, 747, 748, 749, 14998 750, 751, 752, 753, 754, 755, 0, 756, 848, 849, 14999 850, 851, 0, 768, 0, 757, 759, 760, 761, 762, 15000 1490, 763, 1491, 0, 764, 765, 766, 767, 758, 769, 15001 770, 0, 0, 771, 772, 773, 774, 776, 778, 779, 15002 780, 775, 777, 781, 1450, 782, 0, 0, 783, 784, 15003 785, 854, 855, 856, 0, 787, 788, 786, 789, 790, 15004 793, 791, 792, 857, 796, 513, 797, 798, 799, 794, 15005 795, 0, 1518, 0, 868, 800, 801, 858, 802, 803, 15006 804, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15007 0, 345, 346, 348, 347, 349, 350, 351, 352, 0, 15008 353, 354, 0, 0, 0, 0, 0, 1452, 0, 0, 15009 0, 356, 1526, 355, 1524, 357, 358, 359, 874, 360, 15010 361, 362, 363, 364, 365, 366, 367, 806, 807, 0, 15011 368, 808, 369, 809, 0, 810, 370, 371, 372, 373, 15012 374, 375, 376, 377, 378, 379, 0, 1451, 0, 380, 15013 811, 812, 813, 0, 381, 382, 383, 384, 1458, 0, 15014 1439, 0, 385, 386, 387, 388, 389, 390, 391, 392, 15015 0, 0, 394, 395, 396, 393, 397, 398, 0, 399, 15016 0, 400, 401, 402, 403, 404, 405, 406, 0, 407, 15017 408, 409, 876, 410, 411, 412, 1442, 1440, 1441, 1448, 15018 1444, 1443, 1447, 413, 414, 415, 416, 417, 0, 418, 15019 420, 421, 815, 422, 816, 0, 425, 427, 419, 423, 15020 0, 426, 424, 428, 429, 0, 430, 431, 432, 433, 15021 0, 0, 434, 435, 436, 0, 437, 438, 440, 439, 15022 0, 441, 442, 443, 0, 444, 445, 817, 446, 447, 15023 448, 450, 452, 449, 451, 453, 454, 455, 456, 457, 15024 1485, 1486, 458, 459, 0, 340, 0, 0, 0, 0, 15025 0, 460, 461, 462, 820, 0, 0, 0, 463, 0, 15026 465, 469, 466, 467, 468, 470, 0, 464, 471, 472, 15027 0, 877, 473, 474, 475, 821, 822, 476, 477, 478, 15028 479, 480, 481, 482, 483, 484, 0, 485, 486, 1492, 15029 0, 824, 487, 0, 488, 489, 490, 491, 492, 493, 15030 494, 1453, 1454, 1457, 595, 879, 495, 496, 497, 0, 15031 498, 499, 500, 501, 502, 503, 504, 0, 0, 0, 15032 505, 506, 507, 508, 0, 867, 341, 343, 878, 828, 15033 509, 596, 510, 829, 830, 0, 831, 0, 511, 512, 15034 515, 880, 1455, 881, 514, 516, 517, 882, 518, 0, 15035 0, 0, 519, 520, 521, 522, 523, 524, 525, 1522, 15036 526, 528, 527, 0, 530, 1493, 529, 883, 531, 532, 15037 884, 0, 533, 534, 535, 536, 537, 538, 541, 1446, 15038 1445, 539, 540, 542, 543, 0, 544, 545, 547, 550, 15039 546, 548, 549, 551, 552, 565, 566, 553, 554, 555, 15040 556, 557, 558, 559, 560, 561, 562, 563, 564, 568, 15041 0, 567, 885, 569, 570, 571, 572, 573, 581, 583, 15042 584, 579, 580, 582, 585, 586, 588, 589, 576, 577, 15043 578, 886, 587, 574, 0, 575, 344, 887, 590, 591, 15044 592, 593, 0, 1456, 594, 835, 597, 598, 0, 0, 15045 599, 0, 600, 0, 1528, 602, 603, 604, 0, 0, 15046 605, 606, 836, 888, 607, 889, 1487, 608, 609, 601, 15047 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 15048 0, 620, 621, 838, 622, 623, 624, 839, 625, 626, 15049 627, 1488, 628, 841, 629, 630, 0, 631, 632, 633, 15050 0, 634, 635, 636, 637, 638, 639, 640, 641, 642, 15051 643, 842, 644, 645, 647, 646, 648, 649, 0, 650, 15052 0, 651, 652, 653, 0, 0, 0, 0, 0, 654, 15053 655, 657, 0, 658, 659, 660, 661, 662, 656, 663, 15054 664, 665, 666, 667, 668, 669, 0, 671, 672, 670, 15055 673, 674, 890, 675, 676, 677, 678, 679, 843, 1530, 15056 0, 681, 682, 690, 691, 692, 683, 684, 686, 693, 15057 685, 694, 695, 696, 697, 699, 698, 0, 701, 702, 15058 700, 703, 704, 705, 706, 1449, 707, 844, 708, 687, 15059 688, 709, 710, 711, 891, 712, 713, 714, 715, 716, 15060 717, 718, 719, 720, 845, 0, 721, 0, 722, 723, 15061 724, 725, 726, 727, 729, 689, 730, 731, 732, 737, 15062 738, 846, 733, 734, 735, 736, 1489, 740, 741, 742, 15063 743, 0, 744, 745, 0, 739, 728, 0, 746, 747, 15064 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 15065 848, 849, 850, 851, 0, 768, 0, 757, 759, 760, 15066 761, 762, 1490, 763, 1491, 0, 764, 765, 766, 767, 15067 758, 769, 770, 0, 0, 771, 772, 773, 774, 776, 15068 778, 779, 780, 775, 777, 781, 1450, 782, 0, 0, 15069 783, 784, 785, 854, 855, 856, 0, 787, 788, 786, 15070 789, 790, 793, 791, 792, 857, 796, 513, 797, 798, 15071 799, 794, 795, 0, 0, 0, 868, 800, 801, 858, 15072 802, 803, 804, 0, 0, 0, 0, 0, 0, 0, 15073 0, 0, 0, 345, 346, 348, 347, 349, 350, 351, 15074 352, 0, 353, 354, 0, 0, 0, 0, 0, 1452, 15075 0, 0, 0, 356, 1526, 355, 1524, 357, 358, 359, 15076 874, 360, 361, 362, 363, 364, 365, 366, 367, 806, 15077 807, 0, 368, 808, 369, 809, 0, 810, 370, 371, 15078 372, 373, 374, 375, 376, 377, 378, 379, 0, 1451, 15079 0, 380, 811, 812, 813, 0, 381, 382, 383, 384, 15080 1458, 0, 1439, 0, 385, 386, 387, 388, 389, 390, 15081 391, 392, 0, 0, 394, 395, 396, 393, 397, 398, 15082 0, 399, 0, 400, 401, 402, 403, 404, 405, 406, 15083 0, 407, 408, 409, 876, 410, 411, 412, 1442, 1440, 15084 1441, 1448, 1444, 1443, 1447, 413, 414, 415, 416, 417, 15085 0, 418, 420, 421, 815, 422, 816, 0, 425, 427, 15086 419, 423, 0, 426, 424, 428, 429, 0, 430, 431, 15087 432, 433, 0, 0, 434, 435, 436, 0, 437, 438, 15088 440, 439, 0, 441, 442, 443, 0, 444, 445, 817, 15089 446, 447, 448, 450, 452, 449, 451, 453, 454, 455, 15090 456, 457, 1485, 1486, 458, 459, 0, 340, 0, 0, 15091 0, 0, 0, 460, 461, 462, 820, 0, 0, 0, 15092 463, 0, 465, 469, 466, 467, 468, 470, 0, 464, 15093 471, 472, 0, 877, 473, 474, 475, 821, 822, 476, 15094 477, 478, 479, 480, 481, 482, 483, 484, 0, 485, 15095 486, 1492, 0, 824, 487, 0, 488, 489, 490, 491, 15096 492, 493, 494, 1453, 1454, 1457, 595, 879, 495, 496, 15097 497, 0, 498, 499, 500, 501, 502, 503, 504, 0, 15098 0, 0, 505, 506, 507, 508, 0, 867, 341, 343, 15099 878, 828, 509, 596, 510, 829, 830, 0, 831, 0, 15100 511, 512, 515, 880, 1455, 881, 514, 516, 517, 882, 15101 518, 0, 0, 0, 519, 520, 521, 522, 523, 524, 15102 525, 1522, 526, 528, 527, 0, 530, 1493, 529, 883, 15103 531, 532, 884, 0, 533, 534, 535, 536, 537, 538, 15104 541, 1446, 1445, 539, 540, 542, 543, 0, 544, 545, 15105 547, 550, 546, 548, 549, 551, 552, 565, 566, 553, 15106 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 15107 564, 568, 0, 567, 885, 569, 570, 571, 572, 573, 15108 581, 583, 584, 579, 580, 582, 585, 586, 588, 589, 15109 576, 577, 578, 886, 587, 574, 0, 575, 344, 887, 15110 590, 591, 592, 593, 0, 1456, 594, 835, 597, 598, 15111 0, 0, 599, 0, 600, 0, 1528, 602, 603, 604, 15112 0, 0, 605, 606, 836, 888, 607, 889, 1487, 608, 15113 609, 601, 610, 611, 612, 613, 614, 615, 616, 617, 15114 618, 619, 0, 620, 621, 838, 622, 623, 624, 839, 15115 625, 626, 627, 1488, 628, 841, 629, 630, 0, 631, 15116 632, 633, 0, 634, 635, 636, 637, 638, 639, 640, 15117 641, 642, 643, 842, 644, 645, 647, 646, 648, 649, 15118 0, 650, 0, 651, 652, 653, 0, 0, 0, 0, 15119 0, 654, 655, 657, 0, 658, 659, 660, 661, 662, 15120 656, 663, 664, 665, 666, 667, 668, 669, 0, 671, 15121 672, 670, 673, 674, 890, 675, 676, 677, 678, 679, 15122 843, 1530, 0, 681, 682, 690, 691, 692, 683, 684, 15123 686, 693, 685, 694, 695, 696, 697, 699, 698, 0, 15124 701, 702, 700, 703, 704, 705, 706, 1449, 707, 844, 15125 708, 687, 688, 709, 710, 711, 891, 712, 713, 714, 15126 715, 716, 717, 718, 719, 720, 845, 0, 721, 0, 15127 722, 723, 724, 725, 726, 727, 729, 689, 730, 731, 15128 732, 737, 738, 846, 733, 734, 735, 736, 1489, 740, 15129 741, 742, 743, 0, 744, 745, 0, 739, 728, 0, 15130 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 15131 0, 756, 848, 849, 850, 851, 0, 768, 0, 757, 15132 759, 760, 761, 762, 1490, 763, 1491, 0, 764, 765, 15133 766, 767, 758, 769, 770, 0, 0, 771, 772, 773, 15134 774, 776, 778, 779, 780, 775, 777, 781, 1450, 782, 15135 0, 0, 783, 784, 785, 854, 855, 856, 0, 787, 15136 788, 786, 789, 790, 793, 791, 792, 857, 796, 513, 15137 797, 798, 799, 794, 795, 0, 0, 0, 868, 800, 15138 801, 858, 802, 803, 804, 0, 0, 0, 0, 0, 15139 0, 0, 0, 0, 0, 345, 346, 348, 347, 349, 15140 350, 351, 352, 0, 353, 354, 0, 0, 0, 0, 15141 0, 1452, 0, 0, 0, 356, 1526, 355, 1524, 357, 15142 358, 359, 874, 360, 361, 362, 363, 364, 365, 366, 15143 367, 806, 807, 0, 368, 808, 369, 809, 0, 810, 15144 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 15145 0, 1451, 0, 380, 811, 812, 813, 0, 381, 382, 15146 383, 384, 1458, 0, 1439, 0, 385, 386, 387, 388, 15147 389, 390, 391, 392, 0, 0, 394, 395, 396, 393, 15148 397, 398, 0, 399, 0, 400, 401, 402, 403, 404, 15149 405, 406, 0, 407, 408, 409, 876, 410, 411, 412, 15150 1442, 1440, 1441, 1448, 1444, 1443, 1447, 413, 414, 415, 15151 416, 417, 0, 418, 420, 421, 815, 422, 816, 0, 15152 425, 427, 419, 423, 0, 426, 424, 428, 429, 0, 15153 430, 431, 432, 433, 0, 0, 434, 435, 436, 0, 15154 437, 438, 440, 439, 0, 441, 442, 443, 0, 444, 15155 445, 817, 446, 447, 448, 450, 452, 449, 451, 453, 15156 454, 455, 456, 457, 1485, 1486, 458, 459, 0, 340, 15157 0, 0, 0, 0, 0, 460, 461, 462, 820, 0, 15158 0, 0, 463, 0, 465, 469, 466, 467, 468, 470, 15159 0, 464, 471, 472, 0, 877, 473, 474, 475, 821, 15160 822, 476, 477, 478, 479, 480, 481, 482, 483, 484, 15161 0, 485, 486, 1492, 0, 824, 487, 0, 488, 489, 15162 490, 491, 492, 493, 494, 1453, 1454, 1457, 595, 879, 15163 495, 496, 497, 0, 498, 499, 500, 501, 502, 503, 15164 504, 0, 0, 0, 505, 506, 507, 508, 0, 867, 15165 341, 343, 878, 828, 509, 596, 510, 829, 830, 0, 15166 831, 0, 511, 512, 515, 880, 1455, 881, 514, 516, 15167 517, 882, 518, 0, 0, 0, 519, 520, 521, 522, 15168 523, 524, 525, 0, 526, 528, 527, 0, 530, 1493, 15169 529, 883, 531, 532, 884, 0, 533, 534, 535, 536, 15170 537, 538, 541, 1446, 1445, 539, 540, 542, 543, 0, 15171 544, 545, 547, 550, 546, 548, 549, 551, 552, 565, 15172 566, 553, 554, 555, 556, 557, 558, 559, 560, 561, 15173 562, 563, 564, 568, 0, 567, 885, 569, 570, 571, 15174 572, 573, 581, 583, 584, 579, 580, 582, 585, 586, 15175 588, 589, 576, 577, 578, 886, 587, 574, 0, 575, 15176 344, 887, 590, 591, 592, 593, 0, 1456, 594, 835, 15177 597, 598, 0, 0, 599, 0, 600, 0, 0, 602, 15178 603, 604, 0, 0, 605, 606, 836, 888, 607, 889, 15179 1487, 608, 609, 601, 610, 611, 612, 613, 614, 615, 15180 616, 617, 618, 619, 0, 620, 621, 838, 622, 623, 15181 624, 839, 625, 626, 627, 1488, 628, 841, 629, 630, 15182 0, 631, 632, 633, 0, 634, 635, 636, 637, 638, 15183 639, 640, 641, 642, 643, 842, 644, 645, 647, 646, 15184 648, 649, 0, 650, 0, 651, 652, 653, 0, 0, 15185 0, 0, 0, 654, 655, 657, 0, 658, 659, 660, 15186 661, 662, 656, 663, 664, 665, 666, 667, 668, 669, 15187 0, 671, 672, 670, 673, 674, 890, 675, 676, 677, 15188 678, 679, 843, 680, 0, 681, 682, 690, 691, 692, 15189 683, 684, 686, 693, 685, 694, 695, 696, 697, 699, 15190 698, 0, 701, 702, 700, 703, 704, 705, 706, 1449, 15191 707, 844, 708, 687, 688, 709, 710, 711, 891, 712, 15192 713, 714, 715, 716, 717, 718, 719, 720, 845, 0, 15193 721, 0, 722, 723, 724, 725, 726, 727, 729, 689, 15194 730, 731, 732, 737, 738, 846, 733, 734, 735, 736, 15195 1489, 740, 741, 742, 743, 0, 744, 745, 0, 739, 15196 728, 0, 746, 747, 748, 749, 750, 751, 752, 753, 15197 754, 755, 0, 756, 848, 849, 850, 851, 0, 768, 15198 0, 757, 759, 760, 761, 762, 1490, 763, 1491, 0, 15199 764, 765, 766, 767, 758, 769, 770, 0, 0, 771, 15200 772, 773, 774, 776, 778, 779, 780, 775, 777, 781, 15201 1450, 782, 0, 0, 783, 784, 785, 854, 855, 856, 15202 0, 787, 788, 786, 789, 790, 793, 791, 792, 857, 15203 796, 513, 797, 798, 799, 794, 795, 0, 0, 0, 15204 868, 800, 801, 858, 802, 803, 804, 0, 0, 0, 15205 0, 0, 0, 0, 0, 0, 0, 345, 346, 348, 15206 347, 349, 350, 351, 352, 0, 353, 354, 0, 0, 15207 0, 0, 0, 1452, 0, 0, 0, 356, 864, 355, 15208 5856, 357, 358, 359, 874, 360, 361, 362, 363, 364, 15209 365, 366, 367, 806, 807, 0, 368, 808, 369, 809, 15210 0, 810, 370, 371, 372, 373, 374, 375, 376, 377, 15211 378, 379, 0, 1451, 0, 380, 811, 812, 813, 0, 15212 381, 382, 383, 384, 1458, 0, 1439, 0, 385, 386, 15213 387, 388, 389, 390, 391, 392, 0, 0, 394, 395, 15214 396, 393, 397, 398, 0, 399, 0, 400, 401, 402, 15215 403, 404, 405, 406, 0, 407, 408, 409, 876, 410, 15216 411, 412, 1442, 1440, 1441, 1448, 1444, 1443, 1447, 413, 15217 414, 415, 416, 417, 0, 418, 420, 421, 815, 422, 15218 816, 0, 425, 427, 419, 423, 0, 426, 424, 428, 15219 429, 0, 430, 431, 432, 433, 0, 0, 434, 435, 15220 436, 0, 437, 438, 440, 439, 0, 441, 442, 443, 15221 0, 444, 445, 817, 446, 447, 448, 450, 452, 449, 15222 451, 453, 454, 455, 456, 457, 1485, 1486, 458, 459, 15223 0, 340, 0, 0, 0, 0, 0, 460, 461, 462, 15224 820, 0, 0, 0, 463, 0, 465, 469, 466, 467, 15225 468, 470, 0, 464, 471, 472, 0, 877, 473, 474, 15226 475, 821, 822, 476, 477, 478, 479, 480, 481, 482, 15227 483, 484, 0, 485, 486, 1492, 0, 824, 487, 0, 15228 488, 489, 490, 491, 492, 493, 494, 1453, 1454, 1457, 15229 595, 879, 495, 496, 497, 0, 498, 499, 500, 501, 15230 502, 503, 504, 0, 0, 0, 505, 506, 507, 508, 15231 0, 867, 341, 343, 878, 828, 509, 596, 510, 829, 15232 830, 0, 831, 0, 511, 512, 515, 880, 1455, 881, 15233 514, 516, 517, 882, 518, 0, 0, 0, 519, 520, 15234 521, 522, 523, 524, 525, 0, 526, 528, 527, 0, 15235 530, 1493, 529, 883, 531, 532, 884, 0, 533, 534, 15236 535, 536, 537, 538, 541, 1446, 1445, 539, 540, 542, 15237 543, 0, 544, 545, 547, 550, 546, 548, 549, 551, 15238 552, 565, 566, 553, 554, 555, 556, 557, 558, 559, 15239 560, 561, 562, 563, 564, 568, 0, 567, 885, 569, 15240 570, 571, 572, 573, 581, 583, 584, 579, 580, 582, 15241 585, 586, 588, 589, 576, 577, 578, 886, 587, 574, 15242 0, 575, 344, 887, 590, 591, 592, 593, 0, 1456, 15243 594, 835, 597, 598, 0, 0, 599, 0, 600, 0, 15244 0, 602, 603, 604, 0, 0, 605, 606, 836, 888, 15245 607, 889, 1487, 608, 609, 601, 610, 611, 612, 613, 15246 614, 615, 616, 617, 618, 619, 0, 620, 621, 838, 15247 622, 623, 624, 839, 625, 626, 627, 1488, 628, 841, 15248 629, 630, 0, 631, 632, 633, 0, 634, 635, 636, 15249 637, 638, 639, 640, 641, 642, 643, 842, 644, 645, 15250 647, 646, 648, 649, 0, 650, 0, 651, 652, 653, 15251 0, 0, 0, 0, 0, 654, 655, 657, 0, 658, 15252 659, 660, 661, 662, 656, 663, 664, 665, 666, 667, 15253 668, 669, 0, 671, 672, 670, 673, 674, 890, 675, 15254 676, 677, 678, 679, 843, 1530, 0, 681, 682, 690, 15255 691, 692, 683, 684, 686, 693, 685, 694, 695, 696, 15256 697, 699, 698, 0, 701, 702, 700, 703, 704, 705, 15257 706, 1449, 707, 844, 708, 687, 688, 709, 710, 711, 15258 891, 712, 713, 714, 715, 716, 717, 718, 719, 720, 15259 845, 0, 721, 0, 722, 723, 724, 725, 726, 727, 15260 729, 689, 730, 731, 732, 737, 738, 846, 733, 734, 15261 735, 736, 1489, 740, 741, 742, 743, 0, 744, 745, 15262 0, 739, 728, 0, 746, 747, 748, 749, 750, 751, 15263 752, 753, 754, 755, 0, 756, 848, 849, 850, 851, 15264 0, 768, 0, 757, 759, 760, 761, 762, 1490, 763, 15265 1491, 0, 764, 765, 766, 767, 758, 769, 770, 0, 15266 0, 771, 772, 773, 774, 776, 778, 779, 780, 775, 15267 777, 781, 1450, 782, 0, 0, 783, 784, 785, 854, 15268 855, 856, 0, 787, 788, 786, 789, 790, 793, 791, 15269 792, 857, 796, 513, 797, 798, 799, 794, 795, 0, 15270 0, 0, 868, 800, 801, 858, 802, 803, 804, 0, 15271 0, 0, 0, 0, 0, 0, 0, 0, 0, 345, 15272 346, 348, 347, 349, 350, 351, 352, 0, 353, 354, 15273 0, 0, 0, 0, 0, 1452, 0, 0, 0, 356, 15274 864, 355, 2259, 357, 358, 359, 874, 360, 361, 362, 15275 363, 364, 365, 366, 367, 806, 807, 0, 368, 808, 15276 369, 809, 0, 810, 370, 371, 372, 373, 374, 375, 15277 376, 377, 378, 379, 0, 1451, 0, 380, 811, 812, 15278 813, 0, 381, 382, 383, 384, 1458, 0, 1439, 0, 15279 385, 386, 387, 388, 389, 390, 391, 392, 0, 0, 15280 394, 395, 396, 393, 397, 398, 0, 399, 0, 400, 15281 401, 402, 403, 404, 405, 406, 0, 407, 408, 409, 15282 876, 410, 411, 412, 1442, 1440, 1441, 1448, 1444, 1443, 15283 1447, 413, 414, 415, 416, 417, 0, 418, 420, 421, 15284 815, 422, 816, 0, 425, 427, 419, 423, 0, 426, 15285 424, 428, 429, 0, 430, 431, 432, 433, 0, 0, 15286 434, 435, 436, 0, 437, 438, 440, 439, 0, 441, 15287 442, 443, 0, 444, 445, 817, 446, 447, 448, 450, 15288 452, 449, 451, 453, 454, 455, 456, 457, 1485, 1486, 15289 458, 459, 0, 340, 0, 0, 0, 0, 0, 460, 15290 461, 462, 820, 0, 0, 0, 463, 0, 465, 469, 15291 466, 467, 468, 470, 0, 464, 471, 472, 0, 877, 15292 473, 474, 475, 821, 822, 476, 477, 478, 479, 480, 15293 481, 482, 483, 484, 0, 485, 486, 1492, 0, 824, 15294 487, 0, 488, 489, 490, 491, 492, 493, 494, 1453, 15295 1454, 1457, 595, 879, 495, 496, 497, 0, 498, 499, 15296 500, 501, 502, 503, 504, 0, 0, 0, 505, 506, 15297 507, 508, 0, 867, 341, 343, 878, 828, 509, 596, 15298 510, 829, 830, 0, 831, 0, 511, 512, 515, 880, 15299 1455, 881, 514, 516, 517, 882, 518, 0, 0, 0, 15300 519, 520, 521, 522, 523, 524, 525, 0, 526, 528, 15301 527, 0, 530, 1493, 529, 883, 531, 532, 884, 0, 15302 533, 534, 535, 536, 537, 538, 541, 1446, 1445, 539, 15303 540, 542, 543, 0, 544, 545, 547, 550, 546, 548, 15304 549, 551, 552, 565, 566, 553, 554, 555, 556, 557, 15305 558, 559, 560, 561, 562, 563, 564, 568, 0, 567, 15306 885, 569, 570, 571, 572, 573, 581, 583, 584, 579, 15307 580, 582, 585, 586, 588, 589, 576, 577, 578, 886, 15308 587, 574, 0, 575, 344, 887, 590, 591, 592, 593, 15309 0, 1456, 594, 835, 597, 598, 0, 0, 599, 0, 15310 600, 0, 0, 602, 603, 604, 0, 0, 605, 606, 15311 836, 888, 607, 889, 1487, 608, 609, 601, 610, 611, 15312 612, 613, 614, 615, 616, 617, 618, 619, 0, 620, 15313 621, 838, 622, 623, 624, 839, 625, 626, 627, 1488, 15314 628, 841, 629, 630, 0, 631, 632, 633, 0, 634, 15315 635, 636, 637, 638, 639, 640, 641, 642, 643, 842, 15316 644, 645, 647, 646, 648, 649, 0, 650, 0, 651, 15317 652, 653, 0, 0, 0, 0, 0, 654, 655, 657, 15318 0, 658, 659, 660, 661, 662, 656, 663, 664, 665, 15319 666, 667, 668, 669, 0, 671, 672, 670, 673, 674, 15320 890, 675, 676, 677, 678, 679, 843, 680, 0, 681, 15321 682, 690, 691, 692, 683, 684, 686, 693, 685, 694, 15322 695, 696, 697, 699, 698, 0, 701, 702, 700, 703, 15323 704, 705, 706, 1449, 707, 844, 708, 687, 688, 709, 15324 710, 711, 891, 712, 713, 714, 715, 716, 717, 718, 15325 719, 720, 845, 0, 721, 0, 722, 723, 724, 725, 15326 726, 727, 729, 689, 730, 731, 732, 737, 738, 846, 15327 733, 734, 735, 736, 1489, 740, 741, 742, 743, 0, 15328 744, 745, 0, 739, 728, 0, 746, 747, 748, 749, 15329 750, 751, 752, 753, 754, 755, 0, 756, 848, 849, 15330 850, 851, 0, 768, 0, 757, 759, 760, 761, 762, 15331 1490, 763, 1491, 0, 764, 765, 766, 767, 758, 769, 15332 770, 0, 0, 771, 772, 773, 774, 776, 778, 779, 15333 780, 775, 777, 781, 1450, 782, 0, 0, 783, 784, 15334 785, 854, 855, 856, 0, 787, 788, 786, 789, 790, 15335 793, 791, 792, 857, 796, 513, 797, 798, 799, 794, 15336 795, 0, 337, 0, 0, 800, 801, 858, 802, 803, 15337 804, 0, 3132, 3133, 3134, 3151, 3152, 3153, 0, 345, 15338 346, 348, 347, 349, 350, 351, 352, 0, 353, 354, 15339 0, 0, 0, 3154, 0, 805, 0, 0, 0, 356, 15340 3155, 355, 864, 357, 358, 359, 0, 360, 361, 362, 15341 363, 364, 365, 366, 367, 806, 807, 0, 368, 808, 15342 369, 809, 0, 810, 370, 371, 372, 373, 374, 375, 15343 376, 377, 378, 379, 0, 0, 2244, 380, 811, 812, 15344 813, 0, 381, 382, 383, 384, 814, 0, 0, 0, 15345 385, 386, 387, 388, 389, 390, 391, 392, 3144, 0, 15346 394, 395, 396, 393, 397, 398, 0, 399, 3140, 400, 15347 401, 402, 403, 404, 405, 406, 0, 407, 408, 409, 15348 0, 410, 411, 412, 0, 0, 0, 0, 0, 0, 15349 0, 413, 414, 415, 416, 417, 0, 418, 420, 421, 15350 815, 422, 816, 0, 425, 427, 419, 423, 0, 426, 15351 424, 428, 429, 0, 430, 431, 432, 433, 0, 0, 15352 434, 435, 436, 0, 437, 438, 440, 439, 0, 441, 15353 442, 443, 0, 444, 445, 817, 446, 447, 448, 450, 15354 452, 449, 451, 453, 454, 455, 456, 457, 818, 819, 15355 458, 459, 0, 0, 0, 3145, 3146, 3147, 3148, 460, 15356 461, 462, 820, 0, 0, 3139, 463, 0, 465, 469, 15357 466, 467, 468, 470, 0, 464, 471, 472, 0, 0, 15358 473, 474, 475, 821, 822, 476, 477, 478, 479, 480, 15359 481, 482, 483, 484, 0, 485, 486, 823, 0, 824, 15360 487, 0, 488, 489, 490, 491, 492, 493, 494, 825, 15361 826, 827, 595, 0, 495, 496, 497, 0, 498, 499, 15362 500, 501, 502, 503, 504, 0, 0, 0, 505, 506, 15363 507, 508, 0, 0, 0, 0, 0, 828, 509, 596, 15364 510, 829, 830, 0, 831, 0, 511, 512, 515, 0, 15365 832, 0, 514, 516, 517, 0, 518, 0, 3149, 3150, 15366 519, 520, 521, 522, 523, 524, 525, 0, 526, 528, 15367 527, 0, 530, 833, 529, 0, 531, 532, 0, 0, 15368 533, 534, 535, 536, 537, 538, 541, 0, 0, 539, 15369 540, 542, 543, 3142, 544, 545, 547, 550, 546, 548, 15370 549, 551, 552, 565, 566, 553, 554, 555, 556, 557, 15371 558, 559, 560, 561, 562, 563, 564, 568, 0, 567, 15372 0, 569, 570, 571, 572, 573, 581, 583, 584, 579, 15373 580, 582, 585, 586, 588, 589, 576, 577, 578, 0, 15374 587, 574, 0, 575, 0, 0, 590, 591, 592, 593, 15375 0, 834, 594, 835, 597, 598, 0, 0, 599, 0, 15376 600, 0, 0, 602, 603, 604, 0, 0, 605, 606, 15377 836, 0, 607, 0, 837, 608, 609, 601, 610, 611, 15378 612, 613, 614, 615, 616, 617, 618, 619, 0, 620, 15379 621, 838, 622, 623, 624, 839, 625, 626, 627, 840, 15380 628, 841, 629, 630, 0, 631, 632, 633, 0, 634, 15381 635, 636, 637, 638, 639, 640, 641, 642, 643, 842, 15382 644, 645, 647, 646, 648, 649, 0, 650, 0, 651, 15383 652, 653, 0, 0, 0, 0, 0, 654, 655, 657, 15384 0, 658, 659, 660, 661, 662, 656, 663, 664, 665, 15385 666, 667, 668, 669, 0, 671, 672, 670, 673, 674, 15386 0, 675, 676, 677, 678, 679, 843, 680, 3143, 681, 15387 682, 690, 691, 692, 683, 684, 686, 693, 685, 694, 15388 695, 696, 697, 699, 698, 0, 701, 702, 700, 703, 15389 704, 705, 706, 0, 707, 844, 708, 687, 688, 709, 15390 710, 711, 0, 712, 713, 714, 715, 716, 717, 718, 15391 719, 720, 845, 0, 721, 0, 722, 723, 724, 725, 15392 726, 727, 729, 689, 730, 731, 732, 737, 738, 846, 15393 733, 734, 735, 736, 847, 740, 741, 742, 743, 0, 15394 744, 745, 2243, 739, 728, 0, 746, 747, 748, 749, 15395 750, 751, 752, 753, 754, 755, 0, 756, 848, 849, 15396 850, 851, 0, 768, 0, 757, 759, 760, 761, 762, 15397 852, 763, 853, 0, 764, 765, 766, 767, 758, 769, 15398 770, 0, 0, 771, 772, 773, 774, 776, 778, 779, 15399 780, 775, 777, 781, 0, 782, 0, 0, 783, 784, 15400 785, 854, 855, 856, 0, 787, 788, 786, 789, 790, 15401 793, 791, 792, 857, 796, 513, 797, 798, 799, 794, 15402 795, 0, 0, 0, 0, 800, 801, 858, 802, 803, 15403 804, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15404 0, 1372, 0, 1733, 3129, 3130, 3131, 3156, 3141, 3135, 15405 0, 3137, 3138, 3136, 3123, 3124, 3125, 3126, 3127, 3128, 15406 345, 346, 348, 347, 349, 350, 351, 352, 0, 353, 15407 354, 0, 0, 0, 0, 0, 805, 0, 0, 0, 15408 356, 0, 355, 0, 357, 358, 359, 874, 360, 361, 15409 362, 363, 364, 365, 366, 367, 806, 807, 0, 368, 15410 808, 369, 809, 0, 810, 370, 371, 372, 373, 374, 15411 375, 376, 377, 378, 379, 0, 0, 0, 380, 811, 15412 812, 813, 0, 381, 382, 383, 384, 814, 0, 875, 15413 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 15414 0, 394, 395, 396, 393, 397, 398, 0, 399, 0, 15415 400, 401, 402, 403, 404, 405, 406, 0, 407, 408, 15416 409, 876, 410, 411, 412, 0, 0, 0, 0, 0, 15417 0, 0, 413, 414, 415, 416, 417, 0, 418, 420, 15418 421, 815, 422, 816, 0, 425, 427, 419, 423, 0, 15419 426, 424, 428, 429, 0, 430, 431, 432, 433, 0, 15420 0, 434, 435, 436, 0, 437, 438, 440, 439, 0, 15421 441, 442, 443, 0, 444, 445, 817, 446, 447, 448, 15422 450, 452, 449, 451, 453, 454, 455, 456, 457, 818, 15423 819, 458, 459, 0, 340, 0, 0, 0, 0, 0, 15424 460, 461, 462, 820, 0, 0, 0, 463, 0, 465, 15425 469, 466, 467, 468, 470, 0, 464, 471, 472, 0, 15426 877, 473, 474, 475, 821, 822, 476, 477, 478, 479, 15427 480, 481, 482, 483, 484, 0, 485, 486, 823, 0, 15428 824, 487, 0, 488, 489, 490, 491, 492, 493, 494, 15429 825, 826, 827, 595, 879, 495, 496, 497, 0, 498, 15430 499, 500, 501, 502, 503, 504, 0, 0, 0, 505, 15431 506, 507, 508, 0, 0, 0, 0, 878, 828, 509, 15432 596, 510, 829, 830, 0, 831, 0, 511, 512, 515, 15433 880, 832, 881, 514, 516, 517, 882, 518, 0, 0, 15434 0, 519, 520, 521, 522, 523, 524, 525, 0, 526, 15435 528, 527, 0, 530, 833, 529, 883, 531, 532, 884, 15436 0, 533, 534, 535, 536, 537, 538, 541, 0, 0, 15437 539, 540, 542, 543, 0, 544, 545, 547, 550, 546, 15438 548, 549, 551, 552, 565, 566, 553, 554, 555, 556, 15439 557, 558, 559, 560, 561, 562, 563, 564, 568, 0, 15440 567, 885, 569, 570, 571, 572, 573, 581, 583, 584, 15441 579, 580, 582, 585, 586, 588, 589, 576, 577, 578, 15442 886, 587, 574, 0, 575, 0, 887, 590, 591, 592, 15443 593, 0, 834, 594, 835, 597, 598, 0, 0, 599, 15444 0, 600, 0, 0, 602, 603, 604, 0, 0, 605, 15445 606, 836, 888, 607, 889, 837, 608, 609, 601, 610, 15446 611, 612, 613, 614, 615, 616, 617, 618, 619, 0, 15447 620, 621, 838, 622, 623, 624, 839, 625, 626, 627, 15448 840, 628, 841, 629, 630, 0, 631, 632, 633, 0, 15449 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 15450 842, 644, 645, 647, 646, 648, 649, 0, 650, 0, 15451 651, 652, 653, 0, 0, 0, 0, 0, 654, 655, 15452 657, 0, 658, 659, 660, 661, 662, 656, 663, 664, 15453 665, 666, 667, 668, 669, 0, 671, 672, 670, 673, 15454 674, 890, 675, 676, 677, 678, 679, 843, 680, 0, 15455 681, 682, 690, 691, 692, 683, 684, 686, 693, 685, 15456 694, 695, 696, 697, 699, 698, 295, 701, 702, 700, 15457 703, 704, 705, 706, 0, 707, 844, 708, 687, 688, 15458 709, 710, 711, 891, 712, 713, 714, 715, 716, 717, 15459 718, 719, 720, 845, 0, 721, 0, 722, 723, 724, 15460 725, 726, 727, 729, 689, 730, 731, 732, 737, 738, 15461 846, 733, 734, 735, 736, 847, 740, 741, 742, 743, 15462 0, 744, 745, 0, 739, 728, 297, 746, 747, 748, 15463 749, 750, 751, 752, 753, 754, 755, 0, 756, 848, 15464 849, 850, 851, 0, 768, 0, 757, 759, 760, 761, 15465 762, 852, 763, 853, 0, 764, 765, 766, 767, 758, 15466 769, 770, 0, 0, 771, 772, 773, 774, 776, 778, 15467 779, 780, 775, 777, 781, 0, 782, 0, 0, 783, 15468 784, 785, 2114, 855, 856, 0, 787, 788, 786, 789, 15469 790, 793, 791, 792, 857, 796, 513, 797, 798, 799, 15470 794, 795, 0, 0, 0, 289, 800, 801, 858, 802, 15471 803, 804, 0, 2111, 290, 1733, 0, 0, 0, 0, 15472 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15473 0, 0, 345, 346, 348, 347, 349, 350, 351, 352, 15474 0, 353, 354, 0, 0, 233, 0, 0, 805, 0, 15475 0, 0, 356, 0, 355, 0, 357, 358, 359, 874, 15476 360, 361, 362, 363, 364, 365, 366, 367, 806, 807, 15477 0, 368, 808, 369, 809, 0, 810, 370, 371, 372, 15478 373, 374, 375, 376, 377, 378, 379, 0, 0, 0, 15479 380, 811, 812, 813, 0, 381, 382, 383, 384, 814, 15480 0, 875, 0, 385, 386, 387, 388, 389, 390, 391, 15481 392, 0, 0, 394, 395, 396, 393, 397, 398, 0, 15482 399, 0, 400, 401, 402, 403, 404, 405, 406, 0, 15483 407, 408, 409, 876, 410, 411, 412, 0, 0, 0, 15484 0, 0, 0, 0, 413, 414, 415, 416, 417, 0, 15485 418, 420, 421, 815, 422, 816, 0, 425, 427, 419, 15486 423, 0, 426, 424, 428, 429, 0, 430, 431, 432, 15487 433, 0, 0, 434, 435, 436, 0, 437, 438, 440, 15488 439, 0, 441, 442, 443, 0, 444, 445, 817, 446, 15489 447, 448, 450, 452, 449, 451, 453, 454, 455, 456, 15490 457, 818, 819, 458, 459, 0, 340, 0, 0, 0, 15491 0, 0, 460, 461, 462, 820, 0, 0, 0, 463, 15492 0, 465, 469, 466, 467, 468, 470, 0, 464, 471, 15493 472, 0, 877, 473, 474, 475, 821, 822, 476, 477, 15494 478, 479, 480, 481, 482, 483, 484, 0, 485, 486, 15495 823, 0, 824, 487, 0, 488, 489, 490, 491, 492, 15496 493, 494, 825, 826, 827, 595, 879, 495, 496, 497, 15497 0, 498, 499, 500, 501, 502, 503, 504, 0, 0, 15498 0, 505, 506, 507, 508, 0, 0, 0, 0, 878, 15499 828, 509, 596, 510, 829, 830, 0, 831, 0, 511, 15500 512, 515, 880, 832, 881, 514, 516, 517, 882, 518, 15501 0, 0, 0, 519, 520, 521, 522, 523, 524, 525, 15502 0, 526, 528, 527, 0, 530, 833, 529, 883, 531, 15503 532, 884, 0, 533, 534, 535, 536, 537, 538, 541, 15504 0, 0, 539, 540, 542, 543, 0, 544, 545, 547, 15505 550, 546, 548, 549, 551, 552, 565, 566, 553, 554, 15506 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 15507 568, 0, 567, 885, 569, 570, 571, 572, 573, 581, 15508 583, 584, 579, 580, 582, 585, 586, 588, 589, 576, 15509 577, 578, 886, 587, 574, 0, 575, 0, 887, 590, 15510 591, 592, 593, 0, 834, 594, 835, 597, 598, 0, 15511 0, 599, 0, 600, 0, 0, 602, 603, 604, 0, 15512 0, 605, 606, 836, 888, 607, 889, 837, 608, 609, 15513 601, 610, 611, 612, 613, 614, 615, 616, 617, 618, 15514 619, 0, 620, 621, 838, 622, 623, 624, 839, 625, 15515 626, 627, 840, 628, 841, 629, 630, 0, 631, 632, 15516 633, 0, 634, 635, 636, 637, 638, 639, 640, 641, 15517 642, 643, 842, 644, 645, 647, 646, 648, 649, 0, 15518 650, 0, 651, 652, 653, 0, 0, 0, 0, 0, 15519 654, 655, 657, 0, 658, 659, 660, 661, 662, 656, 15520 663, 664, 665, 666, 667, 668, 669, 0, 671, 672, 15521 670, 673, 674, 890, 675, 676, 677, 678, 679, 843, 15522 680, 0, 681, 682, 690, 691, 692, 683, 684, 686, 15523 693, 685, 694, 695, 696, 697, 699, 698, 295, 701, 15524 702, 700, 703, 704, 705, 706, 0, 707, 844, 708, 15525 687, 688, 709, 710, 711, 891, 712, 713, 714, 715, 15526 716, 717, 718, 719, 720, 845, 0, 721, 0, 722, 15527 723, 724, 725, 726, 727, 729, 689, 730, 731, 732, 15528 737, 738, 846, 733, 734, 735, 736, 847, 740, 741, 15529 742, 743, 0, 744, 745, 0, 739, 728, 297, 746, 15530 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 15531 756, 848, 849, 850, 851, 0, 768, 0, 757, 759, 15532 760, 761, 762, 852, 763, 853, 0, 764, 765, 766, 15533 767, 758, 769, 770, 0, 0, 771, 772, 773, 774, 15534 776, 778, 779, 780, 775, 777, 781, 0, 782, 0, 15535 0, 783, 784, 785, 2114, 855, 856, 0, 787, 788, 15536 786, 789, 790, 793, 791, 792, 857, 796, 513, 797, 15537 798, 799, 794, 795, 0, 0, 0, 289, 800, 801, 15538 858, 802, 803, 804, 0, 0, 290, 1733, 1732, 0, 15539 0, 0, 0, 1730, 0, 0, 0, 0, 0, 0, 15540 0, 0, 0, 0, 345, 346, 348, 347, 349, 350, 15541 351, 352, 0, 353, 354, 0, 0, 233, 0, 0, 15542 805, 0, 0, 0, 356, 0, 355, 0, 357, 358, 15543 359, 874, 360, 361, 362, 363, 364, 365, 366, 367, 15544 806, 807, 0, 368, 808, 369, 809, 0, 810, 370, 15545 371, 372, 373, 374, 375, 376, 377, 378, 379, 0, 15546 0, 0, 380, 811, 812, 813, 0, 381, 382, 383, 15547 384, 814, 0, 875, 0, 385, 386, 387, 388, 389, 15548 390, 391, 392, 0, 0, 394, 395, 396, 393, 397, 15549 398, 0, 399, 0, 400, 401, 402, 403, 404, 405, 15550 406, 0, 407, 408, 409, 876, 410, 411, 412, 0, 15551 0, 0, 0, 0, 0, 0, 413, 414, 415, 416, 15552 417, 0, 418, 420, 421, 815, 422, 816, 0, 425, 15553 427, 419, 423, 0, 426, 424, 428, 429, 0, 430, 15554 431, 432, 433, 0, 0, 434, 435, 436, 0, 437, 15555 438, 440, 439, 0, 441, 442, 443, 0, 444, 445, 15556 817, 446, 447, 448, 450, 452, 449, 451, 453, 454, 15557 455, 456, 457, 818, 819, 458, 459, 0, 340, 0, 15558 0, 0, 0, 0, 460, 461, 462, 820, 0, 0, 15559 0, 463, 0, 465, 469, 466, 467, 468, 470, 0, 15560 464, 471, 472, 0, 877, 473, 474, 475, 821, 822, 15561 476, 477, 478, 479, 480, 481, 482, 483, 484, 0, 15562 485, 486, 823, 0, 824, 487, 0, 488, 489, 490, 15563 491, 492, 493, 494, 825, 826, 827, 595, 879, 495, 15564 496, 497, 0, 498, 499, 500, 501, 502, 503, 504, 15565 0, 0, 0, 505, 506, 507, 508, 0, 0, 0, 15566 0, 878, 828, 509, 596, 510, 829, 830, 0, 831, 15567 0, 511, 512, 515, 880, 832, 881, 514, 516, 517, 15568 882, 518, 0, 0, 0, 519, 520, 521, 522, 523, 15569 524, 525, 0, 526, 528, 527, 0, 530, 833, 529, 15570 883, 531, 532, 884, 0, 533, 534, 535, 536, 537, 15571 538, 541, 0, 0, 539, 540, 542, 543, 0, 544, 15572 545, 547, 550, 546, 548, 549, 551, 552, 565, 566, 15573 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 15574 563, 564, 568, 0, 567, 885, 569, 570, 571, 572, 15575 573, 581, 583, 584, 579, 580, 582, 585, 586, 588, 15576 589, 576, 577, 578, 886, 587, 574, 0, 575, 0, 15577 887, 590, 591, 592, 593, 0, 834, 594, 835, 597, 15578 598, 0, 0, 599, 0, 600, 0, 0, 602, 603, 15579 604, 0, 0, 605, 606, 836, 888, 607, 889, 837, 15580 608, 609, 601, 610, 611, 612, 613, 614, 615, 616, 15581 617, 618, 619, 0, 620, 621, 838, 622, 623, 624, 15582 839, 625, 626, 627, 840, 628, 841, 629, 630, 0, 15583 631, 632, 633, 0, 634, 635, 636, 637, 638, 639, 15584 640, 641, 642, 643, 842, 644, 645, 647, 646, 648, 15585 649, 0, 650, 0, 651, 652, 653, 0, 0, 0, 15586 0, 0, 654, 655, 657, 0, 658, 659, 660, 661, 15587 662, 656, 663, 664, 665, 666, 667, 668, 669, 0, 15588 671, 672, 670, 673, 674, 890, 675, 676, 677, 678, 15589 679, 843, 680, 0, 681, 682, 690, 691, 692, 683, 15590 684, 686, 693, 685, 694, 695, 696, 697, 699, 698, 15591 0, 701, 702, 700, 703, 704, 705, 706, 0, 707, 15592 844, 708, 687, 688, 709, 710, 711, 891, 712, 713, 15593 714, 715, 716, 717, 718, 719, 720, 845, 0, 721, 15594 0, 722, 723, 724, 725, 726, 727, 729, 689, 730, 15595 731, 732, 737, 738, 846, 733, 734, 735, 736, 847, 15596 740, 741, 742, 743, 0, 744, 745, 0, 739, 728, 15597 0, 746, 747, 748, 749, 750, 751, 752, 753, 754, 15598 755, 0, 756, 848, 849, 850, 851, 0, 768, 0, 15599 757, 759, 760, 761, 762, 852, 763, 853, 0, 764, 15600 765, 766, 767, 758, 769, 770, 0, 0, 771, 772, 15601 773, 774, 776, 778, 779, 780, 775, 777, 781, 0, 15602 782, 0, 0, 783, 784, 785, 854, 855, 856, 0, 15603 787, 788, 786, 789, 790, 793, 791, 792, 857, 796, 15604 513, 797, 798, 799, 794, 795, 0, 0, 0, 0, 15605 800, 801, 858, 802, 803, 804, 0, 1733, 1732, 0, 15606 0, 0, 0, 1730, 0, 0, 0, 0, 0, 0, 15607 0, 0, 0, 0, 345, 346, 348, 347, 349, 350, 15608 351, 352, 0, 353, 354, 0, 0, 0, 0, 2138, 15609 805, 0, 0, 0, 356, 0, 355, 0, 357, 358, 15610 359, 874, 360, 361, 362, 363, 364, 365, 366, 367, 15611 806, 807, 0, 368, 808, 369, 809, 0, 810, 370, 15612 371, 372, 373, 374, 375, 376, 377, 378, 379, 0, 15613 0, 0, 380, 811, 812, 813, 0, 381, 382, 383, 15614 384, 814, 0, 875, 0, 385, 386, 387, 388, 389, 15615 390, 391, 392, 0, 0, 394, 395, 396, 393, 397, 15616 398, 0, 399, 0, 400, 401, 402, 403, 404, 405, 15617 406, 0, 407, 408, 409, 876, 410, 411, 412, 0, 15618 0, 0, 0, 0, 0, 0, 413, 414, 415, 416, 15619 417, 0, 418, 420, 421, 815, 422, 816, 0, 425, 15620 427, 419, 423, 0, 426, 424, 428, 429, 0, 430, 15621 431, 432, 433, 0, 0, 434, 435, 436, 0, 437, 15622 438, 440, 439, 0, 441, 442, 443, 0, 444, 445, 15623 817, 446, 447, 448, 450, 452, 449, 451, 453, 454, 15624 455, 456, 457, 818, 819, 458, 459, 0, 340, 0, 15625 0, 0, 0, 0, 460, 461, 462, 820, 0, 0, 15626 0, 463, 0, 465, 469, 466, 467, 468, 470, 0, 15627 464, 471, 472, 0, 877, 473, 474, 475, 821, 822, 15628 476, 477, 478, 479, 480, 481, 482, 483, 484, 0, 15629 485, 486, 823, 0, 824, 487, 0, 488, 489, 490, 15630 491, 492, 493, 494, 825, 826, 827, 595, 879, 495, 15631 496, 497, 0, 498, 499, 500, 501, 502, 503, 504, 15632 0, 0, 0, 505, 506, 507, 508, 0, 0, 0, 15633 0, 878, 828, 509, 596, 510, 829, 830, 0, 831, 15634 0, 511, 512, 515, 880, 832, 881, 514, 516, 517, 15635 882, 518, 0, 0, 0, 519, 520, 521, 522, 523, 15636 524, 525, 0, 526, 528, 527, 0, 530, 833, 529, 15637 883, 531, 532, 884, 0, 533, 534, 535, 536, 537, 15638 538, 541, 0, 0, 539, 540, 542, 543, 0, 544, 15639 545, 547, 550, 546, 548, 549, 551, 552, 565, 566, 15640 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 15641 563, 564, 568, 0, 567, 885, 569, 570, 571, 572, 15642 573, 581, 583, 584, 579, 580, 582, 585, 586, 588, 15643 589, 576, 577, 578, 886, 587, 574, 0, 575, 0, 15644 887, 590, 591, 592, 593, 0, 834, 594, 835, 597, 15645 598, 0, 0, 599, 0, 600, 0, 0, 602, 603, 15646 604, 0, 0, 605, 606, 836, 888, 607, 889, 837, 15647 608, 609, 601, 610, 611, 612, 613, 614, 615, 616, 15648 617, 618, 619, 0, 620, 621, 838, 622, 623, 624, 15649 839, 625, 626, 627, 840, 628, 841, 629, 630, 0, 15650 631, 632, 633, 0, 634, 635, 636, 637, 638, 639, 15651 640, 641, 642, 643, 842, 644, 645, 647, 646, 648, 15652 649, 0, 650, 0, 651, 652, 653, 0, 0, 0, 15653 0, 0, 654, 655, 657, 0, 658, 659, 660, 661, 15654 662, 656, 663, 664, 665, 666, 667, 668, 669, 0, 15655 671, 672, 670, 673, 674, 890, 675, 676, 677, 678, 15656 679, 843, 680, 0, 681, 682, 690, 691, 692, 683, 15657 684, 686, 693, 685, 694, 695, 696, 697, 699, 698, 15658 0, 701, 702, 700, 703, 704, 705, 706, 0, 707, 15659 844, 708, 687, 688, 709, 710, 711, 891, 712, 713, 15660 714, 715, 716, 717, 718, 719, 720, 845, 0, 721, 15661 0, 722, 723, 724, 725, 726, 727, 729, 689, 730, 15662 731, 732, 737, 738, 846, 733, 734, 735, 736, 847, 15663 740, 741, 742, 743, 0, 744, 745, 0, 739, 728, 15664 0, 746, 747, 748, 749, 750, 751, 752, 753, 754, 15665 755, 0, 756, 848, 849, 850, 851, 0, 768, 0, 15666 757, 759, 760, 761, 762, 852, 763, 853, 0, 764, 15667 765, 766, 767, 758, 769, 770, 0, 0, 771, 772, 15668 773, 774, 776, 778, 779, 780, 775, 777, 781, 0, 15669 782, 0, 0, 783, 784, 785, 854, 855, 856, 0, 15670 787, 788, 786, 789, 790, 793, 791, 792, 857, 796, 15671 513, 797, 798, 799, 794, 795, 0, 0, 0, 0, 15672 800, 801, 858, 802, 803, 804, 0, 1733, 2891, 0, 15673 0, 0, 0, 2892, 0, 0, 0, 0, 0, 0, 15674 0, 0, 0, 0, 345, 346, 348, 347, 349, 350, 15675 351, 352, 0, 353, 354, 0, 0, 0, 0, 5148, 15676 805, 0, 0, 0, 356, 0, 355, 0, 357, 358, 15677 359, 874, 360, 361, 362, 363, 364, 365, 366, 367, 15678 806, 807, 0, 368, 808, 369, 809, 0, 810, 370, 15679 371, 372, 373, 374, 375, 376, 377, 378, 379, 0, 15680 0, 0, 380, 811, 812, 813, 0, 381, 382, 383, 15681 384, 814, 0, 875, 0, 385, 386, 387, 388, 389, 15682 390, 391, 392, 0, 0, 394, 395, 396, 393, 397, 15683 398, 0, 399, 0, 400, 401, 402, 403, 404, 405, 15684 406, 0, 407, 408, 409, 876, 410, 411, 412, 0, 15685 0, 0, 0, 0, 0, 0, 413, 414, 415, 416, 15686 417, 0, 418, 420, 421, 815, 422, 816, 0, 425, 15687 427, 419, 423, 0, 426, 424, 428, 429, 0, 430, 15688 431, 432, 433, 0, 0, 434, 435, 436, 0, 437, 15689 438, 440, 439, 0, 441, 442, 443, 0, 444, 445, 15690 817, 446, 447, 448, 450, 452, 449, 451, 453, 454, 15691 455, 456, 457, 818, 819, 458, 459, 0, 340, 0, 15692 0, 0, 0, 0, 460, 461, 462, 820, 0, 0, 15693 0, 463, 0, 465, 469, 466, 467, 468, 470, 0, 15694 464, 471, 472, 0, 877, 473, 474, 475, 821, 822, 15695 476, 477, 478, 479, 480, 481, 482, 483, 484, 0, 15696 485, 486, 823, 0, 824, 487, 0, 488, 489, 490, 15697 491, 492, 493, 494, 825, 826, 827, 595, 879, 495, 15698 496, 497, 0, 498, 499, 500, 501, 502, 503, 504, 15699 0, 0, 0, 505, 506, 507, 508, 0, 0, 0, 15700 0, 878, 828, 509, 596, 510, 829, 830, 0, 831, 15701 0, 511, 512, 515, 880, 832, 881, 514, 516, 517, 15702 882, 518, 0, 0, 0, 519, 520, 521, 522, 523, 15703 524, 525, 0, 2890, 528, 527, 0, 530, 833, 529, 15704 883, 531, 532, 884, 0, 533, 534, 535, 536, 537, 15705 538, 541, 0, 0, 539, 540, 542, 543, 0, 544, 15706 545, 547, 550, 546, 548, 549, 551, 552, 565, 566, 15707 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 15708 563, 564, 568, 0, 567, 885, 569, 570, 571, 572, 15709 573, 581, 583, 584, 579, 580, 582, 585, 586, 588, 15710 589, 576, 577, 578, 886, 587, 574, 0, 575, 0, 15711 887, 590, 591, 592, 593, 0, 834, 594, 835, 597, 15712 598, 0, 0, 599, 0, 600, 0, 0, 602, 603, 15713 604, 0, 0, 605, 606, 836, 888, 607, 889, 837, 15714 608, 609, 601, 610, 611, 612, 613, 614, 615, 616, 15715 617, 618, 619, 0, 620, 621, 838, 622, 623, 624, 15716 839, 625, 626, 627, 840, 628, 841, 629, 630, 0, 15717 631, 632, 633, 0, 634, 635, 636, 637, 638, 639, 15718 640, 641, 642, 643, 842, 644, 645, 647, 646, 648, 15719 649, 0, 650, 0, 651, 652, 653, 0, 0, 0, 15720 0, 0, 654, 655, 657, 0, 658, 659, 660, 661, 15721 662, 656, 663, 664, 665, 666, 667, 668, 669, 0, 15722 671, 672, 670, 673, 674, 890, 675, 676, 677, 678, 15723 679, 843, 680, 0, 681, 682, 690, 691, 692, 683, 15724 684, 686, 693, 685, 694, 695, 696, 697, 699, 698, 15725 0, 701, 702, 700, 703, 704, 705, 706, 0, 707, 15726 844, 708, 687, 688, 709, 710, 711, 891, 712, 713, 15727 714, 715, 716, 717, 718, 719, 720, 845, 0, 721, 15728 0, 722, 723, 724, 725, 726, 727, 729, 689, 730, 15729 731, 732, 737, 738, 846, 733, 734, 735, 736, 847, 15730 740, 741, 742, 743, 0, 744, 745, 0, 739, 728, 15731 0, 746, 747, 748, 749, 750, 751, 752, 753, 754, 15732 755, 0, 756, 848, 849, 850, 851, 0, 768, 0, 15733 757, 759, 760, 761, 762, 852, 763, 853, 0, 764, 15734 765, 766, 767, 758, 769, 770, 0, 0, 771, 772, 15735 773, 774, 776, 778, 779, 780, 775, 777, 781, 0, 15736 782, 0, 0, 783, 784, 785, 854, 855, 856, 0, 15737 787, 788, 786, 789, 790, 793, 791, 792, 857, 796, 15738 513, 797, 798, 799, 794, 795, 0, 0, 0, 0, 15739 800, 801, 858, 802, 803, 804, 0, 1733, 1732, 0, 15740 0, 0, 0, 1730, 0, 0, 0, 0, 0, 0, 15741 0, 0, 0, 0, 345, 346, 348, 347, 349, 350, 15742 351, 352, 0, 353, 354, 0, 0, 0, 0, 2138, 15743 805, 0, 0, 0, 356, 0, 355, 0, 357, 358, 15744 359, 874, 360, 361, 362, 363, 364, 365, 366, 367, 15745 806, 807, 0, 368, 808, 369, 809, 0, 810, 370, 15746 371, 372, 373, 374, 375, 376, 377, 378, 379, 0, 15747 0, 0, 380, 811, 812, 813, 0, 381, 382, 383, 15748 384, 814, 0, 875, 0, 385, 386, 387, 388, 389, 15749 390, 391, 392, 0, 0, 394, 395, 396, 393, 397, 15750 398, 0, 399, 0, 400, 401, 402, 403, 404, 405, 15751 406, 0, 407, 408, 409, 876, 410, 411, 412, 0, 15752 0, 0, 0, 0, 0, 0, 413, 414, 415, 416, 15753 417, 0, 418, 420, 421, 815, 422, 816, 0, 425, 15754 427, 419, 423, 0, 426, 424, 428, 429, 0, 430, 15755 431, 432, 433, 0, 0, 434, 435, 436, 0, 437, 15756 438, 440, 439, 0, 441, 442, 443, 0, 444, 445, 15757 817, 446, 447, 448, 450, 452, 449, 451, 453, 454, 15758 455, 456, 457, 818, 819, 458, 459, 0, 340, 0, 15759 0, 0, 0, 0, 460, 461, 462, 820, 0, 0, 15760 0, 463, 0, 465, 469, 466, 467, 468, 470, 0, 15761 464, 471, 472, 0, 877, 473, 474, 475, 821, 822, 15762 476, 477, 478, 479, 480, 481, 482, 483, 484, 0, 15763 485, 486, 823, 0, 824, 487, 0, 488, 489, 490, 15764 491, 492, 493, 494, 825, 826, 827, 595, 879, 495, 15765 496, 497, 0, 498, 499, 500, 501, 502, 503, 504, 15766 0, 0, 0, 505, 506, 507, 508, 0, 0, 0, 15767 0, 878, 828, 509, 596, 510, 829, 830, 0, 831, 15768 0, 511, 512, 515, 880, 832, 881, 514, 516, 517, 15769 882, 518, 0, 0, 0, 519, 520, 521, 522, 523, 15770 524, 525, 0, 526, 528, 527, 0, 530, 833, 529, 15771 883, 531, 532, 884, 0, 533, 534, 535, 536, 537, 15772 538, 541, 0, 0, 539, 540, 542, 543, 0, 544, 15773 545, 547, 550, 546, 548, 549, 551, 552, 565, 566, 15774 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 15775 563, 564, 568, 0, 567, 885, 569, 570, 571, 572, 15776 573, 581, 583, 584, 579, 580, 582, 585, 586, 588, 15777 589, 576, 577, 578, 886, 587, 574, 0, 575, 0, 15778 887, 590, 591, 592, 593, 0, 834, 594, 835, 597, 15779 598, 0, 0, 599, 0, 600, 0, 0, 602, 603, 15780 604, 0, 0, 605, 606, 836, 888, 607, 889, 837, 15781 608, 609, 601, 610, 611, 612, 613, 614, 615, 616, 15782 617, 618, 619, 0, 620, 621, 838, 622, 623, 624, 15783 839, 625, 626, 627, 840, 628, 841, 629, 630, 0, 15784 631, 632, 633, 0, 634, 635, 636, 637, 638, 639, 15785 640, 641, 642, 643, 842, 644, 645, 647, 646, 648, 15786 649, 0, 650, 0, 651, 652, 653, 0, 0, 0, 15787 0, 0, 654, 655, 657, 0, 658, 659, 660, 661, 15788 662, 656, 663, 664, 665, 666, 667, 668, 669, 0, 15789 671, 672, 670, 673, 674, 890, 675, 676, 677, 678, 15790 679, 843, 680, 0, 681, 682, 690, 691, 692, 683, 15791 684, 686, 693, 685, 694, 695, 696, 697, 699, 698, 15792 0, 701, 702, 700, 703, 704, 705, 706, 0, 707, 15793 844, 708, 687, 688, 709, 710, 711, 891, 712, 713, 15794 714, 715, 716, 717, 718, 719, 720, 845, 0, 721, 15795 0, 722, 723, 724, 725, 726, 727, 729, 689, 730, 15796 731, 732, 737, 738, 846, 733, 734, 735, 736, 847, 15797 740, 741, 742, 743, 0, 744, 745, 0, 739, 728, 15798 0, 746, 747, 748, 749, 750, 751, 752, 753, 754, 15799 755, 0, 756, 848, 849, 850, 851, 0, 768, 0, 15800 757, 759, 760, 761, 762, 852, 763, 853, 0, 764, 15801 765, 766, 767, 758, 769, 770, 0, 0, 771, 772, 15802 773, 774, 776, 778, 779, 780, 775, 777, 781, 0, 15803 782, 0, 0, 783, 784, 785, 854, 855, 856, 0, 15804 787, 788, 786, 789, 790, 793, 791, 792, 857, 796, 15805 513, 797, 798, 799, 794, 795, 0, 0, 0, 868, 15806 800, 801, 858, 802, 803, 804, 0, 0, 0, 0, 15807 0, 0, 0, 0, 0, 0, 345, 346, 348, 347, 15808 349, 350, 351, 352, 0, 353, 354, 0, 0, 0, 15809 0, 0, 805, 0, 0, 0, 356, 0, 355, 2120, 15810 357, 358, 359, 874, 360, 361, 362, 363, 364, 365, 15811 366, 367, 806, 807, 0, 368, 808, 369, 809, 0, 15812 810, 370, 371, 372, 373, 374, 375, 376, 377, 378, 15813 379, 0, 0, 0, 380, 811, 812, 813, 0, 381, 15814 382, 383, 384, 814, 0, 875, 0, 385, 386, 387, 15815 388, 389, 390, 391, 392, 0, 0, 394, 395, 396, 15816 393, 397, 398, 0, 399, 0, 400, 401, 402, 403, 15817 404, 405, 406, 0, 407, 408, 409, 876, 410, 411, 15818 412, 0, 0, 0, 0, 0, 0, 0, 413, 414, 15819 415, 416, 417, 0, 418, 420, 421, 815, 422, 816, 15820 0, 425, 427, 419, 423, 0, 426, 424, 428, 429, 15821 0, 430, 431, 432, 433, 0, 0, 434, 435, 436, 15822 0, 437, 438, 440, 439, 0, 441, 442, 443, 0, 15823 444, 445, 817, 446, 447, 448, 450, 452, 449, 451, 15824 453, 454, 455, 456, 457, 818, 819, 458, 459, 0, 15825 340, 0, 0, 0, 0, 0, 460, 461, 462, 820, 15826 0, 0, 0, 463, 0, 465, 469, 466, 467, 468, 15827 470, 0, 464, 471, 472, 0, 877, 473, 474, 475, 15828 821, 822, 476, 477, 478, 479, 480, 481, 482, 483, 15829 484, 0, 485, 486, 823, 0, 824, 487, 0, 488, 15830 489, 490, 491, 492, 493, 494, 825, 826, 827, 595, 15831 879, 495, 496, 497, 0, 498, 499, 500, 501, 502, 15832 503, 504, 0, 0, 0, 505, 506, 507, 508, 0, 15833 867, 341, 343, 878, 828, 509, 596, 510, 829, 830, 15834 0, 831, 0, 511, 512, 515, 880, 832, 881, 514, 15835 516, 517, 882, 518, 0, 0, 0, 519, 520, 521, 15836 522, 523, 524, 525, 0, 526, 528, 527, 0, 530, 15837 833, 529, 883, 531, 532, 884, 0, 533, 534, 535, 15838 536, 537, 538, 541, 0, 0, 539, 540, 542, 543, 15839 0, 544, 545, 547, 550, 546, 548, 549, 551, 552, 15840 565, 566, 553, 554, 555, 556, 557, 558, 559, 560, 15841 561, 562, 563, 564, 568, 0, 567, 885, 569, 570, 15842 571, 572, 573, 581, 583, 584, 579, 580, 582, 585, 15843 586, 588, 589, 576, 577, 578, 886, 587, 574, 0, 15844 575, 344, 887, 590, 591, 592, 593, 0, 834, 594, 15845 835, 597, 598, 0, 0, 599, 0, 600, 0, 0, 15846 602, 603, 604, 0, 0, 605, 606, 836, 888, 607, 15847 889, 837, 608, 609, 601, 610, 611, 612, 613, 614, 15848 615, 616, 617, 618, 619, 0, 620, 621, 838, 622, 15849 623, 624, 839, 625, 626, 627, 840, 628, 841, 629, 15850 630, 0, 631, 632, 633, 0, 634, 635, 636, 637, 15851 638, 639, 640, 641, 642, 643, 842, 644, 645, 647, 15852 646, 648, 649, 0, 650, 0, 651, 652, 653, 0, 15853 0, 0, 0, 0, 654, 655, 657, 0, 658, 659, 15854 660, 661, 662, 656, 663, 664, 665, 666, 667, 668, 15855 669, 0, 671, 672, 670, 673, 674, 890, 675, 676, 15856 677, 678, 679, 843, 680, 0, 681, 682, 690, 691, 15857 692, 683, 684, 686, 693, 685, 694, 695, 696, 697, 15858 699, 698, 0, 701, 702, 700, 703, 704, 705, 706, 15859 0, 707, 844, 708, 687, 688, 709, 710, 711, 891, 15860 712, 713, 714, 715, 716, 717, 718, 719, 720, 845, 15861 0, 721, 0, 722, 723, 724, 725, 726, 727, 729, 15862 689, 730, 731, 732, 737, 738, 846, 733, 734, 735, 15863 736, 847, 740, 741, 742, 743, 0, 744, 745, 0, 15864 739, 728, 0, 746, 747, 748, 749, 750, 751, 752, 15865 753, 754, 755, 0, 756, 848, 849, 850, 851, 0, 15866 768, 0, 757, 759, 760, 761, 762, 852, 763, 853, 15867 0, 764, 765, 766, 767, 758, 769, 770, 0, 0, 15868 771, 772, 773, 774, 776, 778, 779, 780, 775, 777, 15869 781, 0, 782, 0, 0, 783, 784, 785, 854, 855, 15870 856, 0, 787, 788, 786, 789, 790, 793, 791, 792, 15871 857, 796, 513, 797, 798, 799, 794, 795, 0, 1372, 15872 0, 337, 800, 801, 858, 802, 803, 804, 0, 0, 15873 0, 0, 0, 0, 0, 0, 0, 0, 345, 346, 15874 348, 347, 349, 350, 351, 352, 0, 353, 354, 0, 15875 0, 0, 0, 0, 805, 0, 0, 0, 356, 864, 15876 355, 0, 357, 358, 359, 0, 360, 361, 362, 363, 15877 364, 365, 366, 367, 806, 807, 0, 368, 808, 369, 15878 809, 0, 810, 370, 371, 372, 373, 374, 375, 376, 15879 377, 378, 379, 0, 0, 0, 380, 811, 812, 813, 15880 0, 381, 382, 383, 384, 814, 0, 0, 0, 385, 15881 386, 387, 388, 389, 390, 391, 392, 0, 0, 394, 15882 395, 396, 393, 397, 398, 0, 399, 0, 400, 401, 15883 402, 403, 404, 405, 406, 0, 407, 408, 409, 0, 15884 410, 411, 412, 0, 0, 0, 0, 0, 0, 0, 15885 413, 414, 415, 416, 417, 0, 418, 420, 421, 815, 15886 422, 816, 0, 425, 427, 419, 423, 0, 426, 424, 15887 428, 429, 0, 430, 431, 432, 433, 0, 0, 434, 15888 435, 436, 0, 437, 438, 440, 439, 0, 441, 442, 15889 443, 0, 444, 445, 817, 446, 447, 448, 450, 452, 15890 449, 451, 453, 454, 455, 456, 457, 818, 819, 458, 15891 459, 0, 0, 0, 0, 0, 0, 0, 460, 461, 15892 462, 820, 0, 0, 0, 463, 0, 465, 469, 466, 15893 467, 468, 470, 0, 464, 471, 472, 0, 0, 473, 15894 474, 475, 821, 822, 476, 477, 478, 479, 480, 481, 15895 482, 483, 484, 0, 485, 486, 823, 0, 824, 487, 15896 0, 488, 489, 490, 491, 492, 493, 494, 825, 826, 15897 827, 595, 0, 495, 496, 497, 0, 498, 499, 500, 15898 501, 502, 503, 504, 0, 0, 0, 505, 506, 507, 15899 508, 0, 0, 0, 0, 0, 828, 509, 596, 510, 15900 829, 830, 0, 831, 0, 511, 512, 515, 0, 832, 15901 0, 514, 516, 517, 0, 518, 0, 0, 0, 519, 15902 520, 521, 522, 523, 524, 525, 0, 526, 528, 527, 15903 0, 530, 833, 529, 0, 531, 532, 0, 0, 533, 15904 534, 535, 536, 537, 538, 541, 0, 0, 539, 540, 15905 542, 543, 0, 544, 545, 547, 550, 546, 548, 549, 15906 551, 552, 565, 566, 553, 554, 555, 556, 557, 558, 15907 559, 560, 561, 562, 563, 564, 568, 0, 567, 0, 15908 569, 570, 571, 572, 573, 581, 583, 584, 579, 580, 15909 582, 585, 586, 588, 589, 576, 577, 578, 0, 587, 15910 574, 0, 575, 0, 0, 590, 591, 592, 593, 0, 15911 834, 594, 835, 597, 598, 0, 0, 599, 0, 600, 15912 0, 0, 602, 603, 604, 0, 0, 605, 606, 836, 15913 0, 607, 0, 837, 608, 609, 601, 610, 611, 612, 15914 613, 614, 615, 616, 617, 618, 619, 0, 620, 621, 15915 838, 622, 623, 624, 839, 625, 626, 627, 840, 628, 15916 841, 629, 630, 0, 631, 632, 633, 0, 634, 635, 15917 636, 637, 638, 639, 640, 641, 642, 643, 842, 644, 15918 645, 647, 646, 648, 649, 0, 650, 0, 651, 652, 15919 653, 0, 0, 0, 0, 0, 654, 655, 657, 0, 15920 658, 659, 660, 661, 662, 656, 663, 664, 665, 666, 15921 667, 668, 669, 0, 671, 672, 670, 673, 674, 0, 15922 675, 676, 677, 678, 679, 843, 680, 0, 681, 682, 15923 690, 691, 692, 683, 684, 686, 693, 685, 694, 695, 15924 696, 697, 699, 698, 295, 701, 702, 700, 703, 704, 15925 705, 706, 0, 707, 844, 708, 687, 688, 709, 710, 15926 711, 0, 712, 713, 714, 715, 716, 717, 718, 719, 15927 720, 845, 0, 721, 0, 722, 723, 724, 725, 726, 15928 727, 729, 689, 730, 731, 732, 737, 738, 846, 733, 15929 734, 735, 736, 847, 740, 741, 742, 743, 0, 744, 15930 745, 0, 739, 728, 297, 746, 747, 748, 749, 750, 15931 751, 752, 753, 754, 755, 0, 756, 848, 849, 850, 15932 851, 0, 768, 0, 757, 759, 760, 761, 762, 852, 15933 763, 853, 0, 764, 765, 766, 767, 758, 769, 770, 15934 0, 0, 771, 772, 773, 774, 776, 778, 779, 780, 15935 775, 777, 781, 0, 782, 0, 0, 783, 784, 785, 15936 2114, 855, 856, 0, 787, 788, 786, 789, 790, 793, 15937 791, 792, 857, 796, 513, 797, 798, 799, 794, 795, 15938 0, 0, 0, 289, 800, 801, 858, 802, 803, 804, 15939 0, 337, 290, 0, 0, 0, 0, 0, 0, 0, 15940 0, 0, 0, 0, 0, 0, 0, 0, 345, 346, 15941 348, 347, 349, 350, 351, 352, 0, 353, 354, 0, 15942 0, 0, 0, 233, 805, 0, 0, 0, 356, 0, 15943 355, 0, 357, 358, 359, 0, 360, 361, 362, 363, 15944 364, 365, 366, 367, 806, 807, 0, 368, 808, 369, 15945 809, 0, 810, 370, 371, 372, 373, 374, 375, 376, 15946 377, 378, 379, 0, 0, 0, 380, 811, 812, 813, 15947 0, 381, 382, 383, 384, 814, 0, 0, 0, 385, 15948 386, 387, 388, 389, 390, 391, 392, 0, 0, 394, 15949 395, 396, 393, 397, 398, 0, 399, 0, 400, 401, 15950 402, 403, 404, 405, 406, 0, 407, 408, 409, 0, 15951 410, 411, 412, 0, 0, 0, 0, 0, 0, 0, 15952 413, 414, 415, 416, 417, 0, 418, 420, 421, 815, 15953 422, 816, 0, 425, 427, 419, 423, 0, 426, 424, 15954 428, 429, 0, 430, 431, 432, 433, 0, 0, 434, 15955 435, 436, 0, 437, 438, 440, 439, 0, 441, 442, 15956 443, 0, 444, 445, 817, 446, 447, 448, 450, 452, 15957 449, 451, 453, 454, 455, 456, 457, 818, 819, 458, 15958 459, 0, 340, 0, 0, 0, 0, 0, 460, 461, 15959 462, 820, 0, 0, 0, 463, 0, 465, 469, 466, 15960 467, 468, 470, 0, 464, 471, 472, 0, 0, 473, 15961 474, 475, 821, 822, 476, 477, 478, 479, 480, 481, 15962 482, 483, 484, 0, 485, 486, 823, 0, 824, 487, 15963 0, 488, 489, 490, 491, 492, 493, 494, 825, 826, 15964 827, 595, 0, 495, 496, 497, 0, 498, 499, 500, 15965 501, 502, 503, 504, 0, 0, 0, 505, 506, 507, 15966 508, 0, 342, 341, 343, 0, 828, 509, 596, 510, 15967 829, 830, 0, 831, 0, 511, 512, 515, 0, 832, 15968 0, 514, 516, 517, 0, 518, 0, 0, 0, 519, 15969 520, 521, 522, 523, 524, 525, 0, 526, 528, 527, 15970 0, 530, 833, 529, 0, 531, 532, 0, 0, 533, 15971 534, 535, 536, 537, 538, 541, 0, 0, 539, 540, 15972 542, 543, 0, 544, 545, 547, 550, 546, 548, 549, 15973 551, 552, 565, 566, 553, 554, 555, 556, 557, 558, 15974 559, 560, 561, 562, 563, 564, 568, 0, 567, 0, 15975 569, 570, 571, 572, 573, 581, 583, 584, 579, 580, 15976 582, 585, 586, 588, 589, 576, 577, 578, 0, 587, 15977 574, 0, 575, 344, 0, 590, 591, 592, 593, 0, 15978 834, 594, 835, 597, 598, 0, 0, 599, 0, 600, 15979 0, 0, 602, 603, 604, 0, 0, 605, 606, 836, 15980 0, 607, 0, 837, 608, 609, 601, 610, 611, 612, 15981 613, 614, 615, 616, 617, 618, 619, 0, 620, 621, 15982 838, 622, 623, 624, 839, 625, 626, 627, 840, 628, 15983 841, 629, 630, 0, 631, 632, 633, 0, 634, 635, 15984 636, 637, 638, 639, 640, 641, 642, 643, 842, 644, 15985 645, 647, 646, 648, 649, 0, 650, 0, 651, 652, 15986 653, 0, 0, 0, 0, 0, 654, 655, 657, 0, 15987 658, 659, 660, 661, 662, 656, 663, 664, 665, 666, 15988 667, 668, 669, 0, 671, 672, 670, 673, 674, 0, 15989 675, 676, 677, 678, 679, 843, 680, 0, 681, 682, 15990 690, 691, 692, 683, 684, 686, 693, 685, 694, 695, 15991 696, 697, 699, 698, 0, 701, 702, 700, 703, 704, 15992 705, 706, 0, 707, 844, 708, 687, 688, 709, 710, 15993 711, 0, 712, 713, 714, 715, 716, 717, 718, 719, 15994 720, 845, 0, 721, 0, 722, 723, 724, 725, 726, 15995 727, 729, 689, 730, 731, 732, 737, 738, 846, 733, 15996 734, 735, 736, 847, 740, 741, 742, 743, 0, 744, 15997 745, 0, 739, 728, 0, 746, 747, 748, 749, 750, 15998 751, 752, 753, 754, 755, 0, 756, 848, 849, 850, 15999 851, 0, 768, 0, 757, 759, 760, 761, 762, 852, 16000 763, 853, 0, 764, 765, 766, 767, 758, 769, 770, 16001 0, 0, 771, 772, 773, 774, 776, 778, 779, 780, 16002 775, 777, 781, 0, 782, 0, 0, 783, 784, 785, 16003 854, 855, 856, 0, 787, 788, 786, 789, 790, 793, 16004 791, 792, 857, 796, 513, 797, 798, 799, 794, 795, 16005 0, 0, 0, 337, 800, 801, 858, 802, 803, 804, 16006 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16007 345, 346, 348, 347, 349, 350, 351, 352, 0, 353, 16008 354, 0, 0, 0, 0, 0, 805, 0, 0, 0, 16009 356, 0, 355, 2380, 357, 358, 359, 0, 360, 361, 16010 362, 363, 364, 365, 366, 367, 806, 807, 0, 368, 16011 808, 369, 809, 0, 810, 370, 371, 372, 373, 374, 16012 375, 376, 377, 378, 379, 0, 0, 0, 380, 811, 16013 812, 813, 0, 381, 382, 383, 384, 814, 0, 0, 16014 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 16015 0, 394, 395, 396, 393, 397, 398, 0, 399, 0, 16016 400, 401, 402, 403, 404, 405, 406, 0, 407, 408, 16017 409, 0, 410, 411, 412, 0, 0, 0, 0, 0, 16018 0, 0, 413, 414, 415, 416, 417, 0, 418, 420, 16019 421, 815, 422, 816, 0, 425, 427, 419, 423, 0, 16020 426, 424, 428, 429, 0, 430, 431, 432, 433, 0, 16021 0, 434, 435, 436, 0, 437, 438, 440, 439, 0, 16022 441, 442, 443, 0, 444, 445, 817, 446, 447, 448, 16023 450, 452, 449, 451, 453, 454, 455, 456, 457, 818, 16024 819, 458, 459, 0, 340, 0, 0, 0, 0, 0, 16025 460, 461, 462, 820, 0, 0, 0, 463, 0, 465, 16026 469, 466, 467, 468, 470, 0, 464, 471, 472, 0, 16027 0, 473, 474, 475, 821, 822, 476, 477, 478, 479, 16028 480, 481, 482, 483, 484, 0, 485, 486, 823, 0, 16029 824, 487, 0, 488, 489, 490, 491, 492, 493, 494, 16030 825, 826, 827, 595, 0, 495, 496, 497, 0, 498, 16031 499, 500, 501, 502, 503, 504, 0, 0, 0, 505, 16032 506, 507, 508, 0, 342, 341, 343, 0, 828, 509, 16033 596, 510, 829, 830, 0, 831, 0, 511, 512, 515, 16034 0, 832, 0, 514, 516, 517, 0, 518, 0, 0, 16035 0, 519, 520, 521, 522, 523, 524, 525, 0, 526, 16036 528, 527, 0, 530, 833, 529, 0, 531, 532, 0, 16037 0, 533, 534, 535, 536, 537, 538, 541, 0, 0, 16038 539, 540, 542, 543, 0, 544, 545, 547, 550, 546, 16039 548, 549, 551, 552, 565, 566, 553, 554, 555, 556, 16040 557, 558, 559, 560, 561, 562, 563, 564, 568, 0, 16041 567, 0, 569, 570, 571, 572, 573, 581, 583, 584, 16042 579, 580, 582, 585, 586, 588, 589, 576, 577, 578, 16043 0, 587, 574, 0, 575, 344, 0, 590, 591, 592, 16044 593, 0, 834, 594, 835, 597, 598, 0, 0, 599, 16045 0, 600, 0, 0, 602, 603, 604, 0, 0, 605, 16046 606, 836, 0, 607, 0, 837, 608, 609, 601, 610, 16047 611, 612, 613, 614, 615, 616, 617, 618, 619, 0, 16048 620, 621, 838, 622, 623, 624, 839, 625, 626, 627, 16049 840, 628, 841, 629, 630, 0, 631, 632, 633, 0, 16050 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 16051 842, 644, 645, 647, 646, 648, 649, 0, 650, 0, 16052 651, 652, 653, 0, 0, 0, 0, 0, 654, 655, 16053 657, 0, 658, 659, 660, 661, 662, 656, 663, 664, 16054 665, 666, 667, 668, 669, 0, 671, 672, 670, 673, 16055 674, 0, 675, 676, 677, 678, 679, 843, 680, 0, 16056 681, 682, 690, 691, 692, 683, 684, 686, 693, 685, 16057 694, 695, 696, 697, 699, 698, 0, 701, 702, 700, 16058 703, 704, 705, 706, 0, 707, 844, 708, 687, 688, 16059 709, 710, 711, 0, 712, 713, 714, 715, 716, 717, 16060 718, 719, 720, 845, 0, 721, 0, 722, 723, 724, 16061 725, 726, 727, 729, 689, 730, 731, 732, 737, 738, 16062 846, 733, 734, 735, 736, 847, 740, 741, 742, 743, 16063 0, 744, 745, 0, 739, 728, 0, 746, 747, 748, 16064 749, 750, 751, 752, 753, 754, 755, 0, 756, 848, 16065 849, 850, 851, 0, 768, 0, 757, 759, 760, 761, 16066 762, 852, 763, 853, 0, 764, 765, 766, 767, 758, 16067 769, 770, 0, 0, 771, 772, 773, 774, 776, 778, 16068 779, 780, 775, 777, 781, 0, 782, 0, 0, 783, 16069 784, 785, 854, 855, 856, 0, 787, 788, 786, 789, 16070 790, 793, 791, 792, 857, 796, 513, 797, 798, 799, 16071 794, 795, 0, 0, 0, 337, 800, 801, 858, 802, 16072 803, 804, 0, 0, 0, 0, 0, 0, 0, 0, 16073 0, 0, 345, 346, 348, 347, 349, 350, 351, 352, 16074 0, 353, 354, 0, 0, 0, 0, 0, 805, 0, 16075 0, 0, 356, 0, 355, 893, 357, 358, 359, 0, 16076 360, 361, 362, 363, 364, 365, 366, 367, 806, 807, 16077 0, 368, 808, 369, 809, 0, 810, 370, 371, 372, 16078 373, 374, 375, 376, 377, 378, 379, 0, 0, 0, 16079 380, 811, 812, 813, 0, 381, 382, 383, 384, 814, 16080 0, 0, 0, 385, 386, 387, 388, 389, 390, 391, 16081 392, 0, 0, 394, 395, 396, 393, 397, 398, 0, 16082 399, 0, 400, 401, 402, 403, 404, 405, 406, 0, 16083 407, 408, 409, 0, 410, 411, 412, 0, 0, 0, 16084 0, 0, 0, 0, 413, 414, 415, 416, 417, 0, 16085 418, 420, 421, 815, 422, 816, 0, 425, 427, 419, 16086 423, 0, 426, 424, 428, 429, 0, 430, 431, 432, 16087 433, 0, 0, 434, 435, 436, 0, 437, 438, 440, 16088 439, 0, 441, 442, 443, 0, 444, 445, 817, 446, 16089 447, 448, 450, 452, 449, 451, 453, 454, 455, 456, 16090 457, 818, 819, 458, 459, 0, 340, 0, 0, 0, 16091 0, 0, 460, 461, 462, 820, 0, 0, 0, 463, 16092 0, 465, 469, 466, 467, 468, 470, 0, 464, 471, 16093 472, 0, 0, 473, 474, 475, 821, 822, 476, 477, 16094 478, 479, 480, 481, 482, 483, 484, 0, 485, 486, 16095 823, 0, 824, 487, 0, 488, 489, 490, 491, 492, 16096 493, 494, 825, 826, 827, 595, 0, 495, 496, 497, 16097 0, 498, 499, 500, 501, 502, 503, 504, 0, 0, 16098 0, 505, 506, 507, 508, 0, 342, 341, 343, 0, 16099 828, 509, 596, 510, 829, 830, 0, 831, 0, 511, 16100 512, 515, 0, 832, 0, 514, 516, 517, 0, 518, 16101 0, 0, 0, 519, 520, 521, 522, 523, 524, 525, 16102 0, 526, 528, 527, 0, 530, 833, 529, 0, 531, 16103 532, 0, 0, 533, 534, 535, 536, 537, 538, 541, 16104 0, 0, 539, 540, 542, 543, 0, 544, 545, 547, 16105 550, 546, 548, 549, 551, 552, 565, 566, 553, 554, 16106 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 16107 568, 0, 567, 0, 569, 570, 571, 572, 573, 581, 16108 583, 584, 579, 580, 582, 585, 586, 588, 589, 576, 16109 577, 578, 0, 587, 574, 0, 575, 344, 0, 590, 16110 591, 592, 593, 0, 834, 594, 835, 597, 598, 0, 16111 0, 599, 0, 600, 0, 0, 602, 603, 604, 0, 16112 0, 605, 606, 836, 0, 607, 0, 837, 608, 609, 16113 601, 610, 611, 612, 613, 614, 615, 616, 617, 618, 16114 619, 0, 620, 621, 838, 622, 623, 624, 839, 625, 16115 626, 627, 840, 628, 841, 629, 630, 0, 631, 632, 16116 633, 0, 634, 635, 636, 637, 638, 639, 640, 641, 16117 642, 643, 842, 644, 645, 647, 646, 648, 649, 0, 16118 650, 0, 651, 652, 653, 0, 0, 0, 0, 0, 16119 654, 655, 657, 0, 658, 659, 660, 661, 662, 656, 16120 663, 664, 665, 666, 667, 668, 669, 0, 671, 672, 16121 670, 673, 674, 0, 675, 676, 677, 678, 679, 843, 16122 680, 0, 681, 682, 690, 691, 692, 683, 684, 686, 16123 693, 685, 694, 695, 696, 697, 699, 698, 0, 701, 16124 702, 700, 703, 704, 705, 706, 0, 707, 844, 708, 16125 687, 688, 709, 710, 711, 0, 712, 713, 714, 715, 16126 716, 717, 718, 719, 720, 845, 0, 721, 0, 722, 16127 723, 724, 725, 726, 727, 729, 689, 730, 731, 732, 16128 737, 738, 846, 733, 734, 735, 736, 847, 740, 741, 16129 742, 743, 0, 744, 745, 0, 739, 728, 0, 746, 16130 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 16131 756, 848, 849, 850, 851, 0, 768, 0, 757, 759, 16132 760, 761, 762, 852, 763, 853, 0, 764, 765, 766, 16133 767, 758, 769, 770, 0, 0, 771, 772, 773, 774, 16134 776, 778, 779, 780, 775, 777, 781, 0, 782, 0, 16135 0, 783, 784, 785, 854, 855, 856, 0, 787, 788, 16136 786, 789, 790, 793, 791, 792, 857, 796, 513, 797, 16137 798, 799, 794, 795, 0, 337, 0, 0, 800, 801, 16138 858, 802, 803, 804, 0, 0, 0, 0, 0, 0, 16139 0, 0, 345, 346, 348, 347, 349, 350, 351, 352, 16140 0, 353, 354, 0, 0, 0, 0, 0, 805, 0, 16141 0, 0, 356, 0, 355, 2108, 357, 358, 359, 0, 16142 360, 361, 362, 363, 364, 365, 366, 367, 806, 807, 16143 0, 368, 808, 369, 809, 0, 810, 370, 371, 372, 16144 373, 374, 375, 376, 377, 378, 379, 0, 0, 0, 16145 380, 811, 812, 813, 0, 381, 382, 383, 384, 814, 16146 0, 0, 0, 385, 386, 387, 388, 389, 390, 391, 16147 392, 0, 0, 394, 395, 396, 393, 397, 398, 0, 16148 399, 0, 400, 401, 402, 403, 404, 405, 406, 0, 16149 407, 408, 409, 0, 410, 411, 412, 0, 0, 0, 16150 0, 0, 0, 0, 413, 414, 415, 416, 417, 0, 16151 418, 420, 421, 815, 422, 816, 0, 425, 427, 419, 16152 423, 0, 426, 424, 428, 429, 0, 430, 431, 432, 16153 433, 0, 0, 434, 435, 436, 0, 437, 438, 440, 16154 439, 0, 441, 442, 443, 0, 444, 445, 817, 446, 16155 447, 448, 450, 452, 449, 451, 453, 454, 455, 456, 16156 457, 818, 819, 458, 459, 0, 340, 0, 0, 0, 16157 0, 0, 460, 461, 462, 820, 0, 0, 0, 463, 16158 0, 465, 469, 466, 467, 468, 470, 0, 464, 471, 16159 472, 0, 0, 473, 474, 475, 821, 822, 476, 477, 16160 478, 479, 480, 481, 482, 483, 484, 0, 485, 486, 16161 823, 0, 824, 487, 0, 488, 489, 490, 491, 492, 16162 493, 494, 825, 826, 827, 595, 0, 495, 496, 497, 16163 0, 498, 499, 500, 501, 502, 503, 504, 0, 0, 16164 0, 505, 506, 507, 508, 0, 342, 341, 343, 0, 16165 828, 509, 596, 510, 829, 830, 0, 831, 0, 511, 16166 512, 515, 0, 832, 0, 514, 516, 517, 0, 518, 16167 0, 0, 0, 519, 520, 521, 522, 523, 524, 525, 16168 0, 526, 528, 527, 0, 530, 833, 529, 0, 531, 16169 532, 0, 0, 533, 534, 535, 536, 537, 538, 541, 16170 0, 0, 539, 540, 542, 543, 0, 544, 545, 547, 16171 550, 546, 548, 549, 551, 552, 565, 566, 553, 554, 16172 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 16173 568, 0, 567, 0, 569, 570, 571, 572, 573, 581, 16174 583, 584, 579, 580, 582, 585, 586, 588, 589, 576, 16175 577, 578, 0, 587, 574, 0, 575, 344, 0, 590, 16176 591, 592, 593, 0, 834, 594, 835, 597, 598, 0, 16177 0, 599, 0, 600, 0, 0, 602, 603, 604, 0, 16178 0, 605, 606, 836, 0, 607, 0, 837, 608, 609, 16179 601, 610, 611, 612, 613, 614, 615, 616, 617, 618, 16180 619, 0, 620, 621, 838, 622, 623, 624, 839, 625, 16181 626, 627, 840, 628, 841, 629, 630, 0, 631, 632, 16182 633, 0, 634, 635, 636, 637, 638, 639, 640, 641, 16183 642, 643, 842, 644, 645, 647, 646, 648, 649, 0, 16184 650, 0, 651, 652, 653, 0, 0, 0, 0, 0, 16185 654, 655, 657, 0, 658, 659, 660, 661, 662, 656, 16186 663, 664, 665, 666, 667, 668, 669, 0, 671, 672, 16187 670, 673, 674, 0, 675, 676, 677, 678, 679, 843, 16188 680, 0, 681, 682, 690, 691, 692, 683, 684, 686, 16189 693, 685, 694, 695, 696, 697, 699, 698, 0, 701, 16190 702, 700, 703, 704, 705, 706, 0, 707, 844, 708, 16191 687, 688, 709, 710, 711, 0, 712, 713, 714, 715, 16192 716, 717, 718, 719, 720, 845, 0, 721, 0, 722, 16193 723, 724, 725, 726, 727, 729, 689, 730, 731, 732, 16194 737, 738, 846, 733, 734, 735, 736, 847, 740, 741, 16195 742, 743, 0, 744, 745, 0, 739, 728, 0, 746, 16196 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 16197 756, 848, 849, 850, 851, 0, 768, 0, 757, 759, 16198 760, 761, 762, 852, 763, 853, 0, 764, 765, 766, 16199 767, 758, 769, 770, 0, 0, 771, 772, 773, 774, 16200 776, 778, 779, 780, 775, 777, 781, 0, 782, 0, 16201 0, 783, 784, 785, 854, 855, 856, 0, 787, 788, 16202 786, 789, 790, 793, 791, 792, 857, 796, 513, 797, 16203 798, 799, 794, 795, 0, 337, 4327, 0, 800, 801, 16204 858, 802, 803, 804, 0, 0, 0, 0, 0, 0, 16205 0, 0, 345, 346, 348, 347, 349, 350, 351, 352, 16206 0, 353, 354, 0, 0, 0, 0, 0, 805, 0, 16207 0, 0, 356, 0, 355, 5094, 357, 358, 359, 0, 16208 360, 361, 362, 363, 364, 365, 366, 367, 806, 807, 16209 0, 368, 808, 369, 809, 0, 810, 370, 371, 372, 16210 373, 374, 375, 376, 377, 378, 379, 0, 0, 0, 16211 380, 811, 812, 813, 0, 381, 382, 383, 384, 814, 16212 0, 0, 0, 385, 386, 387, 388, 389, 390, 391, 16213 392, 0, 0, 394, 395, 396, 393, 397, 398, 0, 16214 399, 0, 400, 401, 402, 403, 404, 405, 406, 0, 16215 407, 408, 409, 0, 410, 411, 412, 0, 0, 0, 16216 0, 0, 0, 0, 413, 414, 415, 416, 417, 0, 16217 418, 420, 421, 815, 422, 816, 0, 425, 427, 419, 16218 423, 0, 426, 424, 428, 429, 0, 430, 431, 432, 16219 433, 0, 0, 434, 435, 436, 0, 437, 438, 440, 16220 439, 0, 441, 442, 443, 0, 444, 445, 817, 446, 16221 447, 448, 450, 452, 449, 451, 453, 454, 455, 456, 16222 457, 818, 819, 458, 459, 0, 0, 0, 0, 0, 16223 0, 0, 460, 461, 462, 820, 0, 0, 0, 463, 16224 0, 465, 469, 466, 467, 468, 470, 0, 464, 471, 16225 472, 0, 0, 473, 474, 475, 821, 822, 476, 477, 16226 478, 479, 480, 481, 482, 483, 484, 0, 485, 486, 16227 823, 0, 824, 487, 0, 488, 489, 490, 491, 492, 16228 493, 494, 825, 826, 827, 595, 0, 495, 496, 497, 16229 0, 498, 499, 500, 501, 502, 503, 504, 0, 0, 16230 0, 505, 506, 507, 508, 0, 0, 0, 0, 0, 16231 828, 509, 596, 510, 829, 830, 0, 831, 0, 511, 16232 512, 515, 0, 832, 0, 514, 516, 517, 0, 518, 16233 0, 0, 0, 519, 520, 521, 522, 523, 524, 525, 16234 0, 526, 528, 527, 0, 530, 833, 529, 0, 531, 16235 532, 0, 0, 533, 534, 535, 536, 537, 538, 541, 16236 0, 0, 539, 540, 542, 543, 0, 544, 545, 547, 16237 550, 546, 548, 549, 551, 552, 565, 566, 553, 554, 16238 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 16239 568, 0, 567, 0, 569, 570, 571, 572, 573, 581, 16240 583, 584, 579, 580, 582, 585, 586, 588, 589, 576, 16241 577, 578, 0, 587, 574, 0, 575, 0, 0, 590, 16242 591, 592, 593, 0, 834, 594, 835, 597, 598, 0, 16243 0, 599, 0, 600, 0, 0, 602, 603, 604, 0, 16244 0, 605, 606, 836, 0, 607, 0, 837, 608, 609, 16245 601, 610, 611, 612, 613, 614, 615, 616, 617, 618, 16246 619, 0, 620, 621, 838, 622, 623, 624, 839, 625, 16247 626, 627, 840, 628, 841, 629, 630, 0, 631, 632, 16248 633, 0, 634, 635, 636, 637, 638, 639, 640, 641, 16249 642, 643, 842, 644, 645, 647, 646, 648, 649, 0, 16250 650, 0, 651, 652, 653, 0, 0, 0, 0, 0, 16251 654, 655, 657, 0, 658, 659, 660, 661, 662, 656, 16252 663, 664, 665, 666, 667, 668, 669, 0, 671, 672, 16253 670, 673, 674, 0, 675, 676, 677, 678, 679, 843, 16254 680, 0, 681, 682, 690, 691, 692, 683, 684, 686, 16255 693, 685, 694, 695, 696, 697, 699, 698, 0, 701, 16256 702, 700, 703, 704, 705, 706, 0, 707, 844, 708, 16257 687, 688, 709, 710, 711, 0, 712, 713, 714, 715, 16258 716, 717, 718, 719, 720, 845, 0, 721, 0, 722, 16259 723, 724, 725, 726, 727, 729, 689, 730, 731, 732, 16260 737, 738, 846, 733, 734, 735, 736, 847, 740, 741, 16261 742, 743, 0, 744, 745, 0, 739, 728, 0, 746, 16262 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 16263 756, 848, 849, 850, 851, 0, 768, 0, 757, 759, 16264 760, 761, 762, 852, 763, 853, 0, 764, 765, 766, 16265 767, 758, 769, 770, 0, 0, 771, 772, 773, 774, 16266 776, 778, 779, 780, 775, 777, 781, 0, 782, 0, 16267 0, 783, 784, 785, 854, 855, 856, 0, 787, 788, 16268 786, 789, 790, 793, 791, 792, 857, 796, 513, 797, 16269 798, 799, 794, 795, 0, 0, 0, 4022, 800, 801, 16270 858, 802, 803, 804, 0, 0, 0, 0, 0, 0, 16271 0, 0, 0, 0, 345, 346, 348, 347, 349, 350, 16272 351, 352, 0, 353, 354, 0, 0, 0, 0, 0, 16273 0, 0, 0, 0, 356, 0, 355, 6694, 357, 358, 16274 359, 874, 360, 361, 362, 363, 364, 365, 366, 367, 16275 0, 2451, 0, 368, 2458, 369, 2457, 0, 2466, 370, 16276 371, 372, 373, 374, 375, 376, 377, 378, 379, 0, 16277 0, 0, 380, 2469, 2470, 0, 0, 381, 382, 383, 16278 384, 0, 0, 875, 0, 385, 386, 387, 388, 389, 16279 390, 391, 392, 0, 0, 394, 395, 396, 393, 397, 16280 398, 0, 399, 0, 400, 401, 402, 403, 404, 405, 16281 406, 0, 407, 408, 409, 876, 410, 411, 412, 0, 16282 0, 0, 0, 0, 0, 0, 413, 414, 415, 416, 16283 417, 1477, 418, 420, 421, 2455, 422, 2454, 0, 425, 16284 427, 419, 423, 0, 426, 424, 428, 429, 0, 430, 16285 431, 432, 433, 0, 0, 434, 1469, 436, 0, 437, 16286 438, 440, 439, 0, 441, 442, 443, 0, 444, 445, 16287 0, 446, 447, 448, 450, 452, 449, 451, 453, 454, 16288 455, 456, 457, 0, 0, 458, 459, 0, 340, 0, 16289 0, 0, 0, 0, 460, 461, 462, 2453, 0, 0, 16290 0, 463, 0, 465, 469, 466, 467, 468, 470, 0, 16291 464, 471, 472, 0, 877, 473, 474, 475, 2464, 2465, 16292 476, 477, 478, 479, 480, 481, 482, 483, 484, 0, 16293 485, 486, 0, 0, 0, 487, 0, 488, 489, 490, 16294 491, 492, 493, 494, 0, 0, 0, 595, 879, 495, 16295 496, 497, 4016, 498, 499, 500, 501, 502, 503, 504, 16296 0, 0, 0, 505, 506, 507, 508, 0, 0, 0, 16297 0, 878, 4018, 509, 596, 510, 2448, 2449, 0, 2444, 16298 0, 511, 512, 515, 880, 0, 881, 514, 516, 517, 16299 882, 518, 0, 0, 0, 519, 520, 521, 522, 523, 16300 524, 525, 0, 526, 528, 527, 0, 530, 0, 529, 16301 883, 531, 532, 884, 0, 533, 534, 535, 536, 537, 16302 538, 541, 0, 0, 539, 540, 542, 543, 0, 544, 16303 545, 547, 550, 546, 548, 549, 551, 552, 565, 566, 16304 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 16305 563, 564, 568, 0, 567, 885, 569, 570, 571, 572, 16306 573, 581, 583, 584, 579, 580, 582, 585, 586, 588, 16307 589, 576, 577, 578, 886, 587, 574, 0, 575, 0, 16308 887, 590, 591, 592, 593, 0, 0, 594, 2456, 597, 16309 598, 0, 0, 599, 0, 600, 0, 0, 602, 603, 16310 604, 0, 0, 605, 606, 4017, 888, 607, 889, 0, 16311 608, 609, 601, 610, 611, 612, 613, 614, 615, 616, 16312 617, 618, 619, 0, 620, 621, 2441, 622, 623, 624, 16313 2442, 625, 626, 627, 0, 628, 0, 629, 630, 0, 16314 631, 632, 633, 0, 634, 635, 636, 637, 638, 639, 16315 640, 641, 642, 643, 2452, 644, 645, 647, 646, 648, 16316 649, 0, 650, 0, 651, 652, 653, 0, 0, 0, 16317 0, 0, 654, 655, 657, 0, 658, 659, 660, 661, 16318 662, 656, 663, 664, 665, 666, 667, 668, 669, 0, 16319 671, 672, 670, 673, 674, 890, 675, 676, 677, 678, 16320 679, 0, 680, 0, 681, 682, 690, 691, 692, 683, 16321 684, 686, 693, 685, 694, 695, 696, 697, 699, 698, 16322 0, 701, 702, 700, 703, 704, 705, 706, 0, 707, 16323 0, 708, 687, 688, 709, 710, 711, 891, 712, 713, 16324 714, 715, 716, 717, 718, 719, 720, 2450, 0, 721, 16325 0, 722, 723, 724, 725, 726, 727, 729, 689, 730, 16326 731, 732, 737, 738, 2468, 733, 734, 735, 736, 0, 16327 740, 741, 742, 743, 0, 744, 745, 0, 739, 728, 16328 0, 746, 747, 748, 749, 750, 751, 752, 753, 754, 16329 755, 0, 756, 2460, 2461, 2462, 2463, 0, 768, 0, 16330 757, 759, 760, 761, 762, 0, 763, 0, 0, 764, 16331 765, 766, 767, 758, 769, 770, 0, 0, 771, 772, 16332 773, 774, 776, 778, 779, 780, 775, 777, 781, 0, 16333 782, 0, 0, 783, 784, 785, 0, 2459, 2467, 4019, 16334 787, 788, 786, 789, 790, 793, 791, 792, 0, 796, 16335 513, 797, 798, 799, 794, 795, 0, 0, 0, 0, 16336 800, 801, 0, 802, 803, 804, 0, 0, 337, 0, 16337 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16338 0, 0, 0, 0, 0, 345, 346, 348, 347, 349, 16339 350, 351, 352, 0, 353, 354, 0, 0, 0, 0, 16340 4011, 805, 0, 2437, 0, 356, 0, 355, 0, 357, 16341 358, 359, 0, 360, 361, 362, 363, 364, 365, 366, 16342 367, 806, 807, 0, 368, 808, 369, 809, 0, 810, 16343 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 16344 0, 0, 0, 380, 811, 812, 813, 0, 381, 382, 16345 383, 384, 814, 0, 0, 0, 385, 386, 387, 388, 16346 389, 390, 391, 392, 0, 0, 394, 395, 396, 393, 16347 397, 398, 0, 399, 0, 400, 401, 402, 403, 404, 16348 405, 406, 0, 407, 408, 409, 0, 410, 411, 412, 16349 0, 0, 0, 0, 0, 0, 0, 413, 414, 415, 16350 416, 417, 0, 418, 420, 421, 815, 422, 816, 0, 16351 425, 427, 419, 423, 0, 426, 424, 428, 429, 0, 16352 430, 431, 432, 433, 0, 0, 434, 435, 436, 0, 16353 437, 438, 440, 439, 0, 441, 442, 443, 0, 444, 16354 445, 817, 446, 447, 448, 450, 452, 449, 451, 453, 16355 454, 455, 456, 457, 818, 819, 458, 459, 0, 0, 16356 0, 0, 0, 0, 0, 460, 461, 462, 820, 0, 16357 0, 0, 463, 0, 465, 469, 466, 467, 468, 470, 16358 0, 464, 471, 472, 0, 0, 473, 474, 475, 821, 16359 822, 476, 477, 478, 479, 480, 481, 482, 483, 484, 16360 0, 485, 486, 823, 0, 824, 487, 0, 488, 489, 16361 490, 491, 492, 493, 494, 825, 826, 827, 595, 0, 16362 495, 496, 497, 0, 498, 499, 500, 501, 502, 503, 16363 504, 0, 0, 0, 505, 506, 507, 508, 0, 0, 16364 0, 0, 0, 828, 509, 596, 510, 829, 830, 0, 16365 831, 0, 511, 512, 515, 0, 832, 0, 514, 516, 16366 517, 0, 518, 0, 0, 0, 519, 520, 521, 522, 16367 523, 524, 525, 0, 526, 528, 527, 0, 530, 833, 16368 529, 0, 531, 532, 0, 0, 533, 534, 535, 536, 16369 537, 538, 541, 0, 0, 539, 540, 542, 543, 0, 16370 544, 545, 547, 550, 546, 548, 549, 551, 552, 565, 16371 566, 553, 554, 555, 556, 557, 558, 559, 560, 561, 16372 562, 563, 564, 568, 0, 567, 0, 569, 570, 571, 16373 572, 573, 581, 583, 584, 579, 580, 582, 585, 586, 16374 588, 589, 576, 577, 578, 0, 587, 574, 0, 575, 16375 0, 0, 590, 591, 592, 593, 0, 834, 594, 835, 16376 597, 598, 0, 0, 599, 0, 600, 0, 0, 602, 16377 603, 604, 0, 0, 605, 606, 836, 0, 607, 0, 16378 837, 608, 609, 601, 610, 611, 612, 613, 614, 615, 16379 616, 617, 618, 619, 0, 620, 621, 838, 622, 623, 16380 624, 839, 625, 626, 627, 840, 628, 841, 629, 630, 16381 0, 631, 632, 633, 0, 634, 635, 636, 637, 638, 16382 639, 640, 641, 642, 643, 842, 644, 645, 647, 646, 16383 648, 649, 0, 650, 0, 651, 652, 653, 0, 0, 16384 0, 0, 0, 654, 655, 657, 0, 658, 659, 660, 16385 661, 662, 656, 663, 664, 665, 666, 667, 668, 669, 16386 0, 671, 672, 670, 673, 674, 0, 675, 676, 677, 16387 678, 679, 843, 680, 0, 681, 682, 690, 691, 692, 16388 683, 684, 686, 693, 685, 694, 695, 696, 697, 699, 16389 698, 0, 701, 702, 700, 703, 704, 705, 706, 0, 16390 707, 844, 708, 687, 688, 709, 710, 711, 0, 712, 16391 713, 714, 715, 716, 717, 718, 719, 720, 845, 0, 16392 721, 0, 722, 723, 724, 725, 726, 727, 729, 689, 16393 730, 731, 732, 737, 738, 846, 733, 734, 735, 736, 16394 847, 740, 741, 742, 743, 0, 744, 745, 0, 739, 16395 728, 0, 746, 747, 748, 749, 750, 751, 752, 753, 16396 754, 755, 0, 756, 848, 849, 850, 851, 0, 768, 16397 0, 757, 759, 760, 761, 762, 852, 763, 853, 0, 16398 764, 765, 766, 767, 758, 769, 770, 0, 0, 771, 16399 772, 773, 774, 776, 778, 779, 780, 775, 777, 781, 16400 0, 782, 0, 0, 783, 784, 785, 854, 855, 856, 16401 0, 787, 788, 786, 789, 790, 793, 791, 792, 857, 16402 796, 513, 797, 798, 799, 794, 795, 0, 0, 0, 16403 4022, 800, 801, 858, 802, 803, 804, 0, 0, 0, 16404 0, 0, 0, 0, 0, 0, 0, 345, 346, 348, 16405 347, 349, 350, 351, 352, 0, 353, 354, 0, 0, 16406 0, 0, 0, 0, 0, 0, 0, 356, 0, 355, 16407 4469, 357, 358, 359, 874, 360, 361, 362, 363, 364, 16408 365, 366, 367, 0, 2451, 0, 368, 2458, 369, 2457, 16409 0, 2466, 370, 371, 372, 373, 374, 375, 376, 377, 16410 378, 379, 0, 0, 0, 380, 2469, 2470, 0, 0, 16411 381, 382, 383, 384, 0, 0, 875, 0, 385, 386, 16412 387, 388, 389, 390, 391, 392, 0, 0, 394, 395, 16413 396, 393, 397, 398, 0, 399, 0, 400, 401, 402, 16414 403, 404, 405, 406, 0, 407, 408, 409, 876, 410, 16415 411, 412, 0, 0, 0, 0, 0, 0, 0, 413, 16416 414, 415, 416, 417, 1477, 418, 420, 421, 2455, 422, 16417 2454, 0, 425, 427, 419, 423, 0, 426, 424, 428, 16418 429, 0, 430, 431, 432, 433, 0, 0, 434, 1469, 16419 436, 0, 437, 438, 440, 439, 0, 441, 442, 443, 16420 0, 444, 445, 0, 446, 447, 448, 450, 452, 449, 16421 451, 453, 454, 455, 456, 457, 0, 0, 458, 459, 16422 0, 340, 0, 0, 0, 0, 0, 460, 461, 462, 16423 2453, 0, 0, 0, 463, 0, 465, 469, 466, 467, 16424 468, 470, 0, 464, 471, 472, 0, 877, 473, 474, 16425 475, 2464, 2465, 476, 477, 478, 479, 480, 481, 482, 16426 483, 484, 0, 485, 486, 0, 0, 0, 487, 0, 16427 488, 489, 490, 491, 492, 493, 494, 0, 0, 0, 16428 595, 879, 495, 496, 497, 4016, 498, 499, 500, 501, 16429 502, 503, 504, 0, 0, 0, 505, 506, 507, 508, 16430 0, 0, 0, 0, 878, 4018, 509, 596, 510, 2448, 16431 2449, 0, 2444, 0, 511, 512, 515, 880, 0, 881, 16432 514, 516, 517, 882, 518, 0, 0, 0, 519, 520, 16433 521, 522, 523, 524, 525, 0, 526, 528, 527, 0, 16434 530, 0, 529, 883, 531, 532, 884, 0, 533, 534, 16435 535, 536, 537, 538, 541, 0, 0, 539, 540, 542, 16436 543, 0, 544, 545, 547, 550, 546, 548, 549, 551, 16437 552, 565, 566, 553, 554, 555, 556, 557, 558, 559, 16438 560, 561, 562, 563, 564, 568, 0, 567, 885, 569, 16439 570, 571, 572, 573, 581, 583, 584, 579, 580, 582, 16440 585, 586, 588, 589, 576, 577, 578, 886, 587, 574, 16441 0, 575, 0, 887, 590, 591, 592, 593, 0, 0, 16442 594, 2456, 597, 598, 0, 0, 599, 0, 600, 0, 16443 0, 602, 603, 604, 0, 0, 605, 606, 4017, 888, 16444 607, 889, 0, 608, 609, 601, 610, 611, 612, 613, 16445 614, 615, 616, 617, 618, 619, 0, 620, 621, 2441, 16446 622, 623, 624, 2442, 625, 626, 627, 0, 628, 0, 16447 629, 630, 0, 631, 632, 633, 0, 634, 635, 636, 16448 637, 638, 639, 640, 641, 642, 643, 2452, 644, 645, 16449 647, 646, 648, 649, 0, 650, 0, 651, 652, 653, 16450 0, 0, 0, 0, 0, 654, 655, 657, 0, 658, 16451 659, 660, 661, 662, 656, 663, 664, 665, 666, 667, 16452 668, 669, 0, 671, 672, 670, 673, 674, 890, 675, 16453 676, 677, 678, 679, 0, 680, 0, 681, 682, 690, 16454 691, 692, 683, 684, 686, 693, 685, 694, 695, 696, 16455 697, 699, 698, 0, 701, 702, 700, 703, 704, 705, 16456 706, 0, 707, 0, 708, 687, 688, 709, 710, 711, 16457 891, 712, 713, 714, 715, 716, 717, 718, 719, 720, 16458 2450, 0, 721, 0, 722, 723, 724, 725, 726, 727, 16459 729, 689, 730, 731, 732, 737, 738, 2468, 733, 734, 16460 735, 736, 0, 740, 741, 742, 743, 0, 744, 745, 16461 0, 739, 728, 0, 746, 747, 748, 749, 750, 751, 16462 752, 753, 754, 755, 0, 756, 2460, 2461, 2462, 2463, 16463 0, 768, 0, 757, 759, 760, 761, 762, 0, 763, 16464 0, 0, 764, 765, 766, 767, 758, 769, 770, 0, 16465 0, 771, 772, 773, 774, 776, 778, 779, 780, 775, 16466 777, 781, 0, 782, 0, 0, 783, 784, 785, 0, 16467 2459, 2467, 4019, 787, 788, 786, 789, 790, 793, 791, 16468 792, 0, 796, 513, 797, 798, 799, 794, 795, 0, 16469 0, 0, 337, 800, 801, 0, 802, 803, 804, 0, 16470 0, 0, 0, 0, 0, 0, 0, 0, 0, 345, 16471 346, 348, 347, 349, 350, 351, 352, 0, 353, 354, 16472 0, 0, 0, 0, 0, 805, 0, 0, 0, 356, 16473 0, 355, 0, 357, 358, 359, 2437, 360, 361, 362, 16474 363, 364, 365, 366, 367, 806, 807, 0, 368, 808, 16475 369, 809, 0, 810, 370, 371, 372, 373, 374, 375, 16476 376, 377, 378, 379, 0, 0, 0, 380, 811, 812, 16477 813, 0, 381, 382, 383, 384, 814, 0, 0, 0, 16478 385, 386, 387, 388, 389, 390, 391, 392, 0, 0, 16479 394, 395, 396, 393, 397, 398, 0, 399, 0, 400, 16480 401, 402, 403, 404, 405, 406, 0, 407, 408, 409, 16481 0, 410, 411, 412, 0, 0, 0, 0, 0, 0, 16482 0, 413, 414, 415, 416, 417, 0, 418, 420, 421, 16483 815, 422, 816, 0, 425, 427, 419, 423, 0, 426, 16484 424, 428, 429, 0, 430, 431, 432, 433, 0, 0, 16485 434, 435, 436, 0, 437, 438, 440, 439, 0, 441, 16486 442, 443, 0, 444, 445, 817, 446, 447, 448, 450, 16487 452, 449, 451, 453, 454, 455, 456, 457, 818, 819, 16488 458, 459, 0, 0, 0, 0, 0, 0, 0, 460, 16489 461, 462, 820, 0, 0, 0, 463, 0, 465, 469, 16490 466, 467, 468, 470, 0, 464, 471, 472, 0, 0, 16491 473, 474, 475, 821, 822, 476, 477, 478, 479, 480, 16492 481, 482, 483, 484, 0, 485, 486, 823, 0, 824, 16493 487, 0, 488, 489, 490, 491, 492, 493, 494, 825, 16494 826, 827, 595, 0, 495, 496, 497, 0, 498, 499, 16495 500, 501, 502, 503, 504, 0, 0, 0, 505, 506, 16496 507, 508, 0, 0, 0, 0, 0, 828, 509, 596, 16497 510, 829, 830, 0, 831, 0, 511, 512, 515, 0, 16498 832, 0, 514, 516, 517, 0, 518, 0, 0, 0, 16499 519, 520, 521, 522, 523, 524, 525, 0, 526, 528, 16500 527, 0, 530, 833, 529, 0, 531, 532, 0, 0, 16501 533, 534, 535, 536, 537, 538, 541, 0, 0, 539, 16502 540, 542, 543, 0, 544, 545, 547, 550, 546, 548, 16503 549, 551, 552, 565, 566, 553, 554, 555, 556, 557, 16504 558, 559, 560, 561, 562, 563, 564, 568, 0, 567, 16505 0, 569, 570, 571, 572, 573, 581, 583, 584, 579, 16506 580, 582, 585, 586, 588, 589, 576, 577, 578, 0, 16507 587, 574, 0, 575, 0, 0, 590, 591, 592, 593, 16508 0, 834, 594, 835, 597, 598, 0, 0, 599, 0, 16509 600, 0, 0, 602, 603, 604, 0, 0, 605, 606, 16510 836, 0, 607, 0, 837, 608, 609, 601, 610, 611, 16511 612, 613, 614, 615, 616, 617, 618, 619, 0, 620, 16512 621, 838, 622, 623, 624, 839, 625, 626, 627, 840, 16513 628, 841, 629, 630, 0, 631, 632, 633, 0, 634, 16514 635, 636, 637, 638, 639, 640, 641, 642, 643, 842, 16515 644, 645, 647, 646, 648, 649, 0, 650, 0, 651, 16516 652, 653, 0, 0, 0, 0, 0, 654, 655, 657, 16517 0, 658, 659, 660, 661, 662, 656, 663, 664, 665, 16518 666, 667, 668, 669, 0, 671, 672, 670, 673, 674, 16519 0, 675, 676, 677, 678, 679, 843, 680, 0, 681, 16520 682, 690, 691, 692, 683, 684, 686, 693, 685, 694, 16521 695, 696, 697, 699, 698, 0, 701, 702, 700, 703, 16522 704, 705, 706, 0, 707, 844, 708, 687, 688, 709, 16523 710, 711, 0, 712, 713, 714, 715, 716, 717, 718, 16524 719, 720, 845, 0, 721, 0, 722, 723, 724, 725, 16525 726, 727, 729, 689, 730, 731, 732, 737, 738, 846, 16526 733, 734, 735, 736, 847, 740, 741, 742, 743, 0, 16527 744, 745, 0, 739, 728, 0, 746, 747, 748, 749, 16528 750, 751, 752, 753, 754, 755, 0, 756, 848, 849, 16529 850, 851, 0, 768, 0, 757, 759, 760, 761, 762, 16530 852, 763, 853, 0, 764, 765, 766, 767, 758, 769, 16531 770, 0, 0, 771, 772, 773, 774, 776, 778, 779, 16532 780, 775, 777, 781, 0, 782, 0, 0, 783, 784, 16533 785, 854, 855, 856, 0, 787, 788, 786, 789, 790, 16534 793, 791, 792, 857, 796, 513, 797, 798, 799, 794, 16535 795, 0, 0, 0, 337, 800, 801, 858, 802, 803, 16536 804, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16537 0, 345, 346, 348, 347, 349, 350, 351, 352, 0, 16538 353, 354, 0, 0, 0, 0, 0, 805, 0, 0, 16539 0, 356, 0, 355, 5248, 357, 358, 359, 0, 360, 16540 361, 362, 363, 364, 365, 366, 367, 806, 807, 0, 16541 368, 808, 369, 809, 0, 810, 370, 371, 372, 373, 16542 374, 375, 376, 377, 378, 379, 0, 0, 0, 380, 16543 811, 812, 813, 0, 381, 382, 383, 384, 814, 0, 16544 0, 0, 385, 386, 387, 388, 389, 390, 391, 392, 16545 0, 0, 394, 395, 396, 393, 397, 398, 0, 399, 16546 0, 400, 401, 402, 403, 404, 405, 406, 0, 407, 16547 408, 409, 0, 410, 411, 412, 0, 0, 0, 0, 16548 0, 0, 0, 413, 414, 415, 416, 417, 0, 418, 16549 420, 421, 815, 422, 816, 0, 425, 427, 419, 423, 16550 0, 426, 424, 428, 429, 0, 430, 431, 432, 433, 16551 0, 0, 434, 435, 436, 0, 437, 438, 440, 439, 16552 0, 441, 442, 443, 0, 444, 445, 817, 446, 447, 16553 448, 450, 452, 449, 451, 453, 454, 455, 456, 457, 16554 818, 819, 458, 459, 0, 0, 0, 0, 0, 0, 16555 0, 460, 461, 462, 820, 0, 0, 0, 463, 0, 16556 465, 469, 466, 467, 468, 470, 0, 464, 471, 472, 16557 0, 0, 473, 474, 475, 821, 822, 476, 477, 478, 16558 479, 480, 481, 482, 483, 484, 0, 485, 486, 823, 16559 0, 824, 487, 0, 488, 489, 490, 491, 492, 493, 16560 494, 825, 826, 827, 595, 0, 495, 496, 497, 0, 16561 498, 499, 500, 501, 502, 503, 504, 0, 0, 0, 16562 505, 506, 507, 508, 0, 0, 0, 0, 0, 828, 16563 509, 596, 510, 829, 830, 0, 831, 0, 511, 512, 16564 515, 0, 832, 0, 514, 516, 517, 0, 518, 0, 16565 0, 0, 519, 520, 521, 522, 523, 524, 525, 0, 16566 526, 528, 527, 0, 530, 833, 529, 0, 531, 532, 16567 0, 0, 533, 534, 535, 536, 537, 538, 541, 0, 16568 0, 539, 540, 542, 543, 0, 544, 545, 547, 550, 16569 546, 548, 549, 551, 552, 565, 566, 553, 554, 555, 16570 556, 557, 558, 559, 560, 561, 562, 563, 564, 568, 16571 0, 567, 0, 569, 570, 571, 572, 573, 581, 583, 16572 584, 579, 580, 582, 585, 586, 588, 589, 576, 577, 16573 578, 0, 587, 574, 0, 575, 0, 0, 590, 591, 16574 592, 593, 0, 834, 594, 835, 597, 598, 0, 0, 16575 599, 0, 600, 0, 0, 602, 603, 604, 0, 0, 16576 605, 606, 836, 0, 607, 0, 837, 608, 609, 601, 16577 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 16578 0, 620, 621, 838, 622, 623, 624, 839, 625, 626, 16579 627, 840, 628, 841, 629, 630, 0, 631, 632, 633, 16580 0, 634, 635, 636, 637, 638, 639, 640, 641, 642, 16581 643, 842, 644, 645, 647, 646, 648, 649, 0, 650, 16582 0, 651, 652, 653, 0, 0, 0, 0, 0, 654, 16583 655, 657, 0, 658, 659, 660, 661, 662, 656, 663, 16584 664, 665, 666, 667, 668, 669, 0, 671, 672, 670, 16585 673, 674, 0, 675, 676, 677, 678, 679, 843, 680, 16586 0, 681, 682, 690, 691, 692, 683, 684, 686, 693, 16587 685, 694, 695, 696, 697, 699, 698, 0, 701, 702, 16588 700, 703, 704, 705, 706, 0, 707, 844, 708, 687, 16589 688, 709, 710, 711, 0, 712, 713, 714, 715, 716, 16590 717, 718, 719, 720, 845, 0, 721, 0, 722, 723, 16591 724, 725, 726, 727, 729, 689, 730, 731, 732, 737, 16592 738, 846, 733, 734, 735, 736, 847, 740, 741, 742, 16593 743, 0, 744, 745, 0, 739, 728, 0, 746, 747, 16594 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 16595 848, 849, 850, 851, 0, 768, 0, 757, 759, 760, 16596 761, 762, 852, 763, 853, 0, 764, 765, 766, 767, 16597 758, 769, 770, 0, 0, 771, 772, 773, 774, 776, 16598 778, 779, 780, 775, 777, 781, 0, 782, 0, 0, 16599 783, 784, 785, 854, 855, 856, 0, 787, 788, 786, 16600 789, 790, 793, 791, 792, 857, 796, 513, 797, 798, 16601 799, 794, 795, 0, 1246, 0, 1137, 800, 801, 858, 16602 802, 803, 804, 0, 0, 0, 0, 0, 0, 0, 16603 0, 0, 0, 345, 346, 348, 347, 349, 350, 351, 16604 352, 0, 353, 354, 0, 0, 0, 0, 0, 805, 16605 0, 0, 0, 356, 0, 355, 2976, 357, 358, 359, 16606 0, 360, 361, 362, 363, 364, 365, 366, 367, 806, 16607 807, 0, 368, 808, 369, 809, 0, 810, 370, 371, 16608 372, 373, 374, 375, 376, 377, 378, 379, 0, 0, 16609 0, 380, 811, 812, 813, 0, 381, 382, 383, 384, 16610 814, 0, 0, 0, 385, 386, 387, 388, 389, 390, 16611 391, 392, 0, 0, 394, 395, 396, 393, 397, 398, 16612 0, 399, 0, 400, 401, 402, 403, 404, 405, 406, 16613 0, 407, 408, 409, 0, 410, 411, 412, 0, 0, 16614 0, 0, 0, 0, 0, 413, 414, 415, 1144, 417, 16615 0, 418, 420, 421, 815, 422, 816, 0, 425, 427, 16616 419, 423, 0, 426, 424, 428, 429, 0, 430, 431, 16617 432, 433, 0, 0, 434, 435, 436, 0, 437, 438, 16618 440, 439, 0, 441, 442, 443, 0, 444, 445, 817, 16619 446, 447, 448, 450, 452, 449, 451, 453, 454, 455, 16620 456, 457, 818, 819, 458, 459, 0, 340, 0, 0, 16621 0, 0, 0, 460, 461, 462, 820, 0, 0, 0, 16622 463, 0, 465, 469, 466, 467, 468, 470, 0, 464, 16623 471, 472, 1243, 0, 473, 474, 475, 821, 822, 476, 16624 477, 478, 479, 480, 481, 482, 483, 484, 0, 485, 16625 486, 823, 0, 824, 487, 0, 488, 489, 490, 491, 16626 492, 493, 494, 825, 826, 827, 595, 0, 495, 496, 16627 497, 0, 498, 499, 500, 501, 502, 503, 504, 0, 16628 0, 0, 505, 506, 507, 508, 0, 342, 341, 343, 16629 0, 828, 509, 596, 510, 829, 830, 0, 831, 0, 16630 511, 512, 515, 0, 832, 0, 514, 516, 517, 0, 16631 518, 0, 0, 0, 519, 520, 521, 522, 523, 524, 16632 525, 0, 526, 528, 527, 0, 530, 833, 529, 0, 16633 531, 532, 0, 0, 533, 534, 535, 536, 537, 538, 16634 541, 0, 0, 539, 540, 542, 543, 0, 544, 545, 16635 547, 550, 546, 548, 549, 551, 552, 565, 566, 553, 16636 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 16637 564, 568, 0, 567, 0, 569, 570, 571, 572, 573, 16638 581, 583, 584, 579, 580, 582, 585, 586, 588, 589, 16639 576, 577, 578, 0, 587, 574, 0, 575, 344, 0, 16640 590, 591, 592, 593, 0, 834, 594, 835, 597, 598, 16641 0, 0, 599, 0, 600, 0, 0, 602, 603, 604, 16642 0, 0, 605, 606, 836, 0, 607, 0, 837, 608, 16643 609, 601, 610, 611, 612, 613, 614, 615, 616, 617, 16644 618, 619, 0, 620, 621, 838, 622, 623, 624, 839, 16645 625, 626, 627, 840, 628, 841, 629, 630, 0, 631, 16646 632, 633, 0, 634, 635, 636, 637, 638, 639, 640, 16647 641, 642, 643, 842, 644, 645, 647, 646, 648, 649, 16648 0, 650, 0, 651, 652, 653, 0, 0, 0, 0, 16649 0, 654, 655, 657, 0, 658, 659, 660, 661, 662, 16650 656, 663, 664, 665, 666, 667, 668, 669, 0, 671, 16651 672, 670, 673, 674, 0, 675, 676, 677, 678, 679, 16652 843, 680, 0, 681, 682, 690, 691, 692, 683, 684, 16653 686, 693, 685, 694, 695, 696, 697, 699, 698, 0, 16654 701, 702, 700, 703, 704, 705, 706, 0, 707, 844, 16655 708, 687, 688, 709, 710, 711, 0, 712, 713, 714, 16656 715, 716, 717, 718, 719, 720, 845, 0, 721, 0, 16657 722, 723, 724, 725, 726, 727, 729, 689, 730, 731, 16658 732, 737, 738, 846, 733, 734, 735, 736, 847, 740, 16659 741, 742, 743, 0, 744, 1245, 0, 739, 728, 1142, 16660 746, 747, 748, 749, 750, 1146, 752, 753, 754, 755, 16661 0, 756, 848, 849, 850, 851, 0, 768, 0, 757, 16662 759, 760, 761, 762, 852, 763, 853, 0, 764, 765, 16663 766, 767, 758, 769, 770, 0, 0, 771, 772, 773, 16664 774, 776, 778, 779, 780, 775, 777, 781, 0, 782, 16665 0, 0, 783, 784, 785, 854, 855, 856, 0, 787, 16666 788, 786, 789, 790, 793, 791, 792, 1145, 796, 513, 16667 797, 798, 799, 794, 795, 2418, 0, 0, 0, 800, 16668 801, 858, 802, 803, 804, 0, 0, 0, 0, 0, 16669 0, 0, 345, 346, 348, 347, 349, 350, 351, 352, 16670 5389, 353, 354, 0, 0, 0, 0, 0, 805, 0, 16671 1149, 0, 356, 0, 355, 0, 357, 358, 359, 0, 16672 360, 361, 362, 363, 364, 365, 366, 367, 806, 807, 16673 0, 368, 808, 369, 809, 0, 810, 370, 371, 372, 16674 373, 374, 375, 376, 377, 378, 379, 0, 0, 0, 16675 380, 811, 812, 813, 0, 381, 382, 383, 384, 814, 16676 0, 0, 0, 385, 386, 387, 388, 389, 390, 391, 16677 392, 0, 0, 394, 395, 396, 393, 397, 398, 0, 16678 399, 0, 400, 401, 402, 403, 404, 405, 406, 0, 16679 407, 408, 409, 0, 410, 411, 412, 0, 0, 0, 16680 0, 0, 0, 0, 413, 414, 415, 2425, 417, 0, 16681 418, 420, 421, 815, 422, 816, 0, 425, 427, 419, 16682 423, 0, 426, 424, 428, 429, 0, 430, 431, 432, 16683 433, 0, 0, 434, 435, 436, 0, 437, 438, 440, 16684 439, 0, 441, 442, 443, 0, 444, 445, 817, 446, 16685 447, 448, 450, 452, 449, 451, 453, 454, 455, 456, 16686 2426, 818, 819, 458, 459, 0, 340, 0, 0, 0, 16687 0, 0, 460, 461, 462, 820, 0, 0, 0, 463, 16688 0, 465, 469, 466, 467, 468, 470, 0, 464, 471, 16689 472, 0, 0, 2427, 474, 475, 821, 822, 476, 477, 16690 478, 479, 480, 481, 482, 483, 484, 0, 485, 486, 16691 823, 0, 824, 487, 0, 488, 489, 490, 491, 492, 16692 493, 494, 825, 826, 827, 595, 0, 495, 496, 497, 16693 0, 498, 499, 500, 501, 502, 503, 504, 0, 0, 16694 0, 505, 506, 507, 508, 0, 342, 341, 343, 0, 16695 828, 509, 596, 510, 829, 830, 0, 831, 0, 511, 16696 512, 515, 0, 832, 0, 514, 516, 517, 0, 518, 16697 0, 0, 0, 519, 520, 521, 522, 523, 524, 525, 16698 0, 526, 528, 527, 0, 530, 833, 529, 0, 531, 16699 532, 0, 0, 533, 534, 535, 536, 537, 538, 541, 16700 0, 0, 539, 540, 542, 543, 0, 544, 545, 547, 16701 550, 546, 548, 549, 551, 552, 565, 566, 553, 554, 16702 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 16703 568, 0, 567, 0, 569, 570, 571, 572, 573, 581, 16704 583, 584, 579, 580, 582, 585, 586, 588, 589, 576, 16705 577, 578, 0, 587, 574, 0, 575, 344, 0, 590, 16706 591, 592, 593, 0, 834, 594, 835, 597, 598, 0, 16707 0, 599, 0, 600, 0, 0, 602, 603, 604, 0, 16708 0, 605, 606, 836, 0, 607, 0, 837, 608, 609, 16709 601, 610, 611, 612, 613, 614, 615, 616, 617, 618, 16710 619, 0, 620, 621, 838, 622, 623, 624, 839, 625, 16711 626, 627, 840, 628, 841, 629, 630, 0, 631, 632, 16712 633, 0, 2428, 635, 636, 637, 638, 639, 640, 641, 16713 642, 643, 842, 644, 645, 647, 646, 648, 649, 0, 16714 650, 0, 651, 652, 653, 0, 0, 0, 0, 0, 16715 654, 655, 657, 0, 658, 659, 660, 661, 662, 656, 16716 663, 664, 665, 666, 667, 668, 669, 0, 671, 672, 16717 670, 673, 674, 0, 675, 676, 677, 678, 679, 843, 16718 680, 0, 681, 682, 690, 691, 692, 683, 684, 686, 16719 5388, 685, 694, 695, 696, 697, 699, 698, 0, 2422, 16720 702, 700, 703, 704, 705, 706, 0, 707, 844, 708, 16721 687, 688, 709, 710, 711, 0, 712, 713, 714, 715, 16722 716, 717, 718, 719, 720, 845, 0, 721, 0, 722, 16723 723, 724, 725, 726, 727, 729, 689, 730, 731, 732, 16724 737, 738, 846, 733, 734, 735, 736, 847, 740, 741, 16725 742, 743, 0, 744, 745, 0, 739, 728, 2424, 746, 16726 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 16727 756, 848, 849, 850, 851, 0, 768, 0, 757, 759, 16728 760, 761, 762, 852, 763, 853, 0, 764, 765, 5387, 16729 767, 758, 769, 770, 0, 0, 771, 772, 773, 774, 16730 776, 778, 779, 780, 775, 777, 781, 0, 782, 0, 16731 0, 783, 784, 785, 854, 855, 856, 0, 787, 788, 16732 786, 789, 790, 793, 791, 792, 857, 796, 513, 797, 16733 798, 799, 794, 795, 0, 5055, 0, 1137, 800, 801, 16734 858, 802, 803, 804, 0, 0, 0, 0, 0, 0, 16735 0, 0, 0, 0, 345, 346, 348, 347, 349, 350, 16736 351, 352, 0, 353, 354, 0, 0, 0, 0, 1149, 16737 805, 0, 0, 0, 356, 0, 355, 0, 357, 358, 16738 359, 0, 360, 361, 362, 363, 364, 365, 366, 367, 16739 806, 807, 0, 368, 808, 369, 809, 0, 810, 370, 16740 371, 372, 373, 374, 375, 376, 377, 378, 379, 0, 16741 0, 0, 380, 811, 812, 813, 0, 381, 382, 383, 16742 384, 814, 0, 0, 0, 385, 386, 387, 388, 389, 16743 390, 391, 392, 0, 0, 394, 395, 396, 393, 397, 16744 398, 0, 399, 0, 400, 401, 402, 403, 404, 405, 16745 406, 0, 407, 408, 409, 0, 410, 411, 412, 0, 16746 0, 0, 0, 0, 0, 0, 413, 414, 415, 1144, 16747 417, 0, 418, 420, 421, 815, 422, 816, 0, 425, 16748 427, 419, 423, 0, 426, 424, 428, 429, 0, 430, 16749 431, 432, 433, 0, 0, 434, 435, 436, 0, 437, 16750 438, 440, 439, 0, 441, 442, 443, 0, 444, 445, 16751 817, 446, 447, 448, 450, 452, 449, 451, 453, 454, 16752 455, 456, 457, 818, 819, 458, 459, 0, 340, 0, 16753 0, 0, 0, 0, 460, 461, 462, 820, 0, 0, 16754 0, 463, 0, 465, 469, 466, 467, 468, 470, 0, 16755 464, 471, 472, 0, 0, 473, 474, 475, 821, 822, 16756 476, 477, 478, 479, 480, 481, 482, 483, 484, 0, 16757 485, 486, 823, 0, 824, 487, 0, 488, 489, 490, 16758 491, 492, 493, 494, 825, 826, 827, 595, 0, 495, 16759 496, 497, 0, 498, 499, 500, 501, 502, 503, 504, 16760 0, 0, 0, 505, 506, 507, 508, 0, 342, 341, 16761 343, 0, 828, 509, 596, 510, 829, 830, 0, 831, 16762 0, 511, 512, 515, 0, 832, 0, 514, 516, 517, 16763 0, 518, 0, 0, 0, 519, 520, 521, 522, 523, 16764 524, 525, 0, 526, 528, 527, 0, 530, 833, 529, 16765 0, 531, 532, 0, 0, 533, 534, 535, 536, 537, 16766 538, 541, 0, 0, 539, 540, 542, 543, 0, 544, 16767 545, 547, 550, 546, 548, 549, 551, 552, 565, 566, 16768 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 16769 563, 564, 568, 0, 567, 0, 569, 570, 571, 572, 16770 573, 581, 583, 584, 579, 580, 582, 585, 586, 588, 16771 589, 576, 577, 578, 0, 587, 574, 0, 575, 344, 16772 0, 590, 591, 592, 593, 0, 834, 594, 835, 597, 16773 598, 0, 0, 599, 0, 600, 0, 0, 602, 603, 16774 604, 0, 0, 605, 606, 836, 0, 607, 0, 837, 16775 608, 609, 601, 610, 611, 612, 613, 614, 615, 616, 16776 617, 618, 619, 0, 620, 621, 838, 622, 623, 624, 16777 839, 625, 626, 627, 840, 628, 841, 629, 630, 0, 16778 631, 632, 633, 0, 634, 635, 636, 637, 638, 639, 16779 640, 641, 642, 643, 842, 644, 645, 647, 646, 648, 16780 649, 0, 650, 0, 651, 652, 653, 0, 0, 0, 16781 0, 0, 654, 655, 657, 0, 658, 659, 660, 661, 16782 662, 656, 663, 664, 665, 666, 667, 668, 669, 0, 16783 671, 672, 670, 673, 674, 0, 675, 676, 677, 678, 16784 679, 843, 680, 0, 681, 682, 690, 691, 692, 683, 16785 684, 686, 693, 685, 694, 695, 696, 697, 699, 698, 16786 0, 701, 702, 700, 703, 704, 705, 706, 0, 707, 16787 844, 708, 687, 688, 709, 710, 711, 0, 712, 713, 16788 714, 715, 716, 717, 718, 719, 720, 845, 0, 721, 16789 0, 722, 723, 724, 725, 726, 727, 729, 689, 730, 16790 731, 732, 737, 738, 846, 733, 734, 735, 736, 847, 16791 740, 741, 742, 743, 0, 744, 745, 0, 739, 728, 16792 1142, 746, 747, 748, 749, 750, 1146, 752, 753, 754, 16793 755, 0, 756, 848, 849, 850, 851, 0, 768, 0, 16794 757, 759, 760, 761, 762, 852, 763, 853, 0, 764, 16795 765, 766, 767, 758, 769, 770, 0, 0, 771, 772, 16796 773, 774, 776, 778, 779, 780, 775, 777, 781, 0, 16797 782, 0, 0, 783, 784, 785, 854, 855, 856, 0, 16798 787, 788, 786, 789, 790, 793, 791, 792, 1145, 796, 16799 513, 797, 798, 799, 794, 795, 2445, 0, 0, 0, 16800 800, 801, 858, 802, 803, 804, 0, 0, 0, 0, 16801 0, 0, 0, 345, 346, 348, 347, 349, 350, 351, 16802 352, 0, 353, 354, 0, 0, 0, 0, 0, 0, 16803 0, 1149, 0, 356, 0, 355, 0, 357, 358, 359, 16804 874, 360, 361, 362, 363, 364, 365, 366, 367, 0, 16805 2451, 0, 368, 2458, 369, 2457, 0, 2466, 370, 371, 16806 372, 373, 374, 375, 376, 377, 378, 379, 0, 0, 16807 0, 380, 2469, 2470, 0, 0, 381, 382, 383, 384, 16808 0, 0, 875, 0, 385, 386, 387, 388, 389, 390, 16809 391, 392, 0, 0, 394, 395, 396, 393, 397, 398, 16810 0, 399, 0, 400, 401, 402, 403, 404, 405, 406, 16811 0, 407, 408, 409, 876, 410, 411, 412, 0, 0, 16812 0, 0, 0, 0, 0, 413, 414, 415, 416, 417, 16813 1477, 418, 420, 421, 2455, 422, 2454, 0, 425, 427, 16814 419, 423, 0, 426, 424, 428, 429, 0, 430, 431, 16815 432, 433, 0, 0, 434, 1469, 436, 0, 437, 438, 16816 440, 439, 0, 441, 442, 443, 0, 444, 445, 0, 16817 446, 447, 448, 450, 452, 449, 451, 453, 454, 455, 16818 456, 457, 0, 0, 458, 459, 0, 0, 0, 0, 16819 0, 0, 0, 460, 461, 462, 2453, 0, 0, 0, 16820 463, 0, 465, 469, 466, 467, 468, 470, 0, 464, 16821 471, 472, 0, 877, 473, 474, 475, 2464, 2465, 476, 16822 477, 478, 479, 480, 481, 482, 483, 484, 0, 485, 16823 486, 0, 0, 0, 487, 0, 488, 489, 490, 491, 16824 492, 493, 494, 0, 0, 0, 595, 879, 495, 496, 16825 497, 4016, 498, 499, 500, 501, 502, 503, 504, 0, 16826 0, 0, 505, 506, 507, 508, 0, 0, 0, 0, 16827 878, 4018, 509, 596, 510, 2448, 2449, 0, 2444, 0, 16828 511, 512, 515, 880, 0, 881, 514, 516, 517, 882, 16829 518, 0, 0, 0, 519, 520, 521, 522, 523, 524, 16830 525, 0, 526, 528, 527, 0, 530, 0, 529, 883, 16831 531, 532, 884, 0, 533, 534, 535, 536, 537, 538, 16832 541, 0, 0, 539, 540, 542, 543, 0, 544, 545, 16833 547, 550, 546, 548, 549, 551, 552, 565, 566, 553, 16834 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 16835 564, 568, 0, 567, 885, 569, 570, 571, 572, 573, 16836 581, 583, 584, 579, 580, 582, 585, 586, 588, 589, 16837 576, 577, 578, 886, 587, 574, 0, 575, 0, 887, 16838 590, 591, 592, 593, 0, 0, 594, 2456, 597, 598, 16839 0, 0, 599, 0, 600, 0, 0, 602, 603, 604, 16840 0, 0, 605, 606, 4017, 888, 607, 889, 0, 608, 16841 609, 601, 610, 611, 612, 613, 614, 615, 616, 617, 16842 618, 619, 0, 620, 621, 2441, 622, 623, 624, 2442, 16843 625, 626, 627, 0, 628, 0, 629, 630, 0, 631, 16844 632, 633, 0, 634, 635, 636, 637, 638, 639, 640, 16845 641, 642, 643, 2452, 644, 645, 647, 646, 648, 649, 16846 0, 650, 0, 651, 652, 653, 0, 0, 0, 0, 16847 0, 654, 655, 657, 0, 658, 659, 660, 661, 662, 16848 656, 663, 664, 665, 666, 667, 668, 669, 0, 671, 16849 672, 670, 673, 674, 890, 675, 676, 677, 678, 679, 16850 0, 680, 0, 681, 682, 690, 691, 692, 683, 684, 16851 686, 693, 685, 694, 695, 696, 697, 699, 698, 0, 16852 701, 702, 700, 703, 704, 705, 706, 0, 707, 0, 16853 708, 687, 688, 709, 710, 711, 891, 712, 713, 714, 16854 715, 716, 717, 718, 719, 720, 2450, 0, 721, 0, 16855 722, 723, 724, 725, 726, 727, 729, 689, 730, 731, 16856 732, 737, 738, 2468, 733, 734, 735, 736, 0, 740, 16857 741, 742, 743, 0, 744, 745, 0, 739, 728, 0, 16858 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 16859 0, 756, 2460, 2461, 2462, 2463, 0, 768, 0, 757, 16860 759, 760, 761, 762, 0, 763, 0, 0, 764, 765, 16861 766, 767, 758, 769, 770, 0, 0, 771, 772, 773, 16862 774, 776, 778, 779, 780, 775, 777, 781, 0, 782, 16863 0, 0, 783, 784, 785, 0, 2459, 2467, 4019, 787, 16864 788, 786, 789, 790, 793, 791, 792, 0, 796, 513, 16865 797, 798, 799, 794, 795, 0, 0, 0, 2418, 800, 16866 801, 0, 802, 803, 804, 0, 0, 0, 0, 0, 16867 0, 0, 0, 0, 0, 345, 346, 348, 347, 349, 16868 350, 351, 352, 2474, 353, 354, 0, 0, 0, 0, 16869 0, 805, 0, 0, 0, 356, 0, 355, 0, 357, 16870 358, 359, 2437, 360, 361, 362, 363, 364, 365, 366, 16871 367, 806, 807, 0, 368, 808, 369, 809, 0, 810, 16872 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 16873 0, 0, 0, 380, 811, 812, 813, 0, 381, 382, 16874 383, 384, 814, 0, 0, 0, 385, 386, 387, 388, 16875 389, 390, 391, 392, 0, 0, 394, 395, 396, 393, 16876 397, 398, 0, 399, 0, 400, 401, 402, 403, 404, 16877 405, 406, 0, 407, 408, 409, 0, 410, 411, 412, 16878 0, 0, 0, 0, 0, 0, 0, 413, 414, 415, 16879 2425, 417, 0, 418, 420, 421, 815, 422, 816, 0, 16880 425, 427, 419, 423, 0, 426, 424, 428, 429, 0, 16881 430, 431, 432, 433, 0, 0, 434, 435, 436, 0, 16882 437, 438, 440, 439, 0, 441, 442, 443, 0, 444, 16883 445, 817, 446, 447, 448, 450, 452, 449, 451, 453, 16884 454, 455, 456, 2426, 818, 819, 458, 459, 0, 340, 16885 0, 0, 0, 0, 0, 460, 461, 462, 820, 0, 16886 0, 0, 463, 0, 465, 469, 466, 467, 468, 470, 16887 0, 464, 471, 472, 0, 0, 2427, 474, 475, 821, 16888 822, 476, 477, 478, 479, 480, 481, 482, 483, 484, 16889 0, 485, 486, 823, 0, 824, 487, 0, 488, 489, 16890 490, 491, 492, 493, 494, 825, 826, 827, 595, 0, 16891 495, 496, 497, 0, 498, 499, 500, 501, 502, 503, 16892 504, 0, 0, 0, 505, 506, 507, 508, 0, 342, 16893 341, 343, 0, 828, 509, 596, 510, 829, 830, 0, 16894 831, 0, 511, 512, 515, 0, 832, 0, 514, 516, 16895 517, 0, 518, 0, 0, 0, 519, 520, 521, 522, 16896 523, 524, 525, 0, 526, 528, 527, 0, 530, 833, 16897 529, 0, 531, 532, 0, 0, 533, 534, 535, 536, 16898 537, 538, 541, 0, 0, 539, 540, 542, 543, 0, 16899 544, 545, 547, 550, 546, 548, 549, 551, 552, 565, 16900 566, 553, 554, 555, 556, 557, 558, 559, 560, 561, 16901 562, 563, 564, 568, 0, 567, 0, 569, 570, 571, 16902 572, 573, 581, 583, 584, 579, 580, 582, 585, 586, 16903 588, 589, 576, 577, 578, 0, 587, 574, 0, 575, 16904 344, 0, 590, 591, 592, 593, 0, 834, 594, 835, 16905 597, 598, 0, 0, 599, 0, 600, 0, 0, 602, 16906 603, 604, 0, 0, 605, 606, 836, 0, 607, 0, 16907 837, 608, 609, 601, 610, 611, 612, 613, 614, 615, 16908 616, 617, 618, 619, 0, 620, 621, 838, 622, 623, 16909 624, 839, 625, 626, 627, 840, 628, 841, 629, 630, 16910 0, 631, 632, 633, 0, 2428, 635, 636, 637, 638, 16911 639, 640, 641, 642, 643, 842, 644, 645, 647, 646, 16912 648, 649, 0, 650, 0, 651, 652, 653, 0, 0, 16913 0, 0, 0, 654, 655, 657, 0, 658, 659, 660, 16914 661, 662, 656, 663, 664, 665, 666, 667, 668, 669, 16915 0, 671, 672, 670, 673, 674, 0, 675, 676, 677, 16916 678, 679, 843, 680, 0, 681, 682, 690, 691, 692, 16917 683, 684, 686, 2473, 685, 694, 695, 696, 697, 699, 16918 698, 0, 2475, 702, 700, 703, 704, 705, 706, 0, 16919 707, 844, 708, 687, 688, 709, 710, 711, 0, 712, 16920 713, 714, 715, 716, 717, 718, 719, 720, 845, 0, 16921 721, 0, 722, 723, 724, 725, 726, 727, 729, 689, 16922 730, 731, 732, 737, 738, 846, 733, 734, 735, 736, 16923 847, 740, 741, 742, 743, 0, 744, 745, 0, 739, 16924 728, 2424, 746, 747, 748, 749, 750, 751, 752, 753, 16925 754, 755, 0, 756, 848, 849, 850, 851, 0, 768, 16926 0, 757, 759, 760, 761, 762, 852, 763, 853, 0, 16927 764, 765, 2472, 767, 758, 769, 770, 0, 0, 771, 16928 772, 773, 774, 776, 778, 779, 780, 775, 777, 781, 16929 0, 782, 0, 0, 783, 784, 785, 854, 855, 856, 16930 0, 787, 788, 786, 789, 790, 793, 791, 792, 857, 16931 796, 513, 797, 798, 799, 794, 795, 2418, 0, 0, 16932 0, 800, 801, 858, 802, 803, 804, 0, 0, 0, 16933 0, 0, 0, 0, 345, 346, 348, 347, 349, 350, 16934 351, 352, 2417, 353, 354, 0, 0, 0, 0, 0, 16935 805, 0, 1149, 0, 356, 0, 355, 0, 357, 358, 16936 359, 0, 360, 361, 362, 363, 364, 365, 366, 367, 16937 806, 807, 0, 368, 808, 369, 809, 0, 810, 370, 16938 371, 372, 373, 374, 375, 376, 377, 378, 379, 0, 16939 0, 0, 380, 811, 812, 813, 0, 381, 382, 383, 16940 384, 814, 0, 0, 0, 385, 386, 387, 388, 389, 16941 390, 391, 392, 0, 0, 394, 395, 396, 393, 397, 16942 398, 0, 399, 0, 400, 401, 402, 403, 404, 405, 16943 406, 0, 407, 408, 409, 0, 410, 411, 412, 0, 16944 0, 0, 0, 0, 0, 0, 413, 414, 415, 2425, 16945 417, 0, 418, 420, 421, 815, 422, 816, 0, 425, 16946 427, 419, 423, 0, 426, 424, 428, 429, 0, 430, 16947 431, 432, 433, 0, 0, 434, 435, 436, 0, 437, 16948 438, 440, 439, 0, 441, 442, 443, 0, 444, 445, 16949 817, 446, 447, 448, 450, 452, 449, 451, 453, 454, 16950 455, 456, 2426, 818, 819, 458, 459, 0, 340, 0, 16951 0, 0, 0, 0, 460, 461, 462, 820, 0, 0, 16952 0, 463, 0, 465, 469, 466, 467, 468, 470, 0, 16953 464, 471, 472, 0, 0, 2427, 474, 475, 821, 822, 16954 476, 477, 478, 479, 480, 481, 482, 483, 484, 0, 16955 485, 486, 823, 0, 824, 487, 0, 488, 489, 490, 16956 491, 492, 493, 494, 825, 826, 827, 595, 0, 495, 16957 496, 497, 0, 498, 499, 500, 501, 502, 503, 504, 16958 0, 0, 0, 505, 506, 507, 508, 0, 342, 341, 16959 343, 0, 828, 509, 596, 510, 829, 830, 0, 831, 16960 0, 511, 512, 515, 0, 832, 0, 514, 516, 517, 16961 0, 518, 0, 0, 0, 519, 520, 521, 522, 523, 16962 524, 525, 0, 526, 528, 527, 0, 530, 833, 529, 16963 0, 531, 532, 0, 0, 533, 534, 535, 536, 537, 16964 538, 541, 0, 0, 539, 540, 542, 543, 0, 544, 16965 545, 547, 550, 546, 548, 549, 551, 552, 565, 566, 16966 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 16967 563, 564, 568, 0, 567, 0, 569, 570, 571, 572, 16968 573, 581, 583, 584, 579, 580, 582, 585, 586, 588, 16969 589, 576, 577, 578, 0, 587, 574, 0, 575, 344, 16970 0, 590, 591, 592, 593, 0, 834, 594, 835, 597, 16971 598, 0, 0, 599, 0, 600, 0, 0, 602, 603, 16972 604, 0, 0, 605, 606, 836, 0, 607, 0, 837, 16973 608, 609, 601, 610, 611, 612, 613, 614, 615, 616, 16974 617, 618, 619, 0, 620, 621, 838, 622, 623, 624, 16975 839, 625, 626, 627, 840, 628, 841, 629, 630, 0, 16976 631, 632, 633, 0, 2428, 635, 636, 637, 638, 639, 16977 640, 641, 642, 643, 842, 644, 645, 647, 646, 648, 16978 649, 0, 650, 0, 651, 652, 653, 0, 0, 0, 16979 0, 0, 654, 655, 657, 0, 658, 659, 660, 661, 16980 662, 656, 663, 664, 665, 666, 667, 668, 669, 0, 16981 671, 672, 670, 673, 674, 0, 675, 676, 677, 678, 16982 679, 843, 680, 0, 681, 682, 690, 691, 692, 683, 16983 684, 686, 2416, 685, 694, 695, 696, 697, 699, 698, 16984 0, 2422, 702, 700, 703, 704, 705, 706, 0, 707, 16985 844, 708, 687, 688, 709, 710, 711, 0, 712, 713, 16986 714, 715, 716, 717, 718, 719, 720, 845, 0, 721, 16987 0, 722, 723, 724, 725, 726, 727, 729, 689, 730, 16988 731, 732, 737, 738, 846, 733, 734, 735, 736, 847, 16989 740, 741, 742, 743, 0, 744, 745, 0, 739, 728, 16990 2424, 746, 747, 748, 749, 750, 751, 752, 753, 754, 16991 755, 0, 756, 848, 849, 850, 851, 0, 768, 0, 16992 757, 759, 760, 761, 762, 852, 763, 853, 0, 764, 16993 765, 2415, 767, 758, 769, 770, 0, 0, 771, 772, 16994 773, 774, 776, 778, 779, 780, 775, 777, 781, 0, 16995 782, 0, 0, 783, 784, 785, 854, 855, 856, 0, 16996 787, 788, 786, 789, 790, 793, 791, 792, 857, 796, 16997 513, 797, 798, 799, 794, 795, 0, 1135, 0, 1137, 16998 800, 801, 858, 802, 803, 804, 0, 0, 0, 0, 16999 0, 0, 0, 0, 0, 0, 345, 346, 348, 347, 17000 349, 350, 351, 352, 0, 353, 354, 0, 0, 0, 17001 0, 1149, 805, 0, 0, 0, 356, 0, 355, 0, 17002 357, 358, 359, 0, 360, 361, 362, 363, 364, 365, 17003 366, 367, 806, 807, 0, 368, 808, 369, 809, 0, 17004 810, 370, 371, 372, 373, 374, 375, 376, 377, 378, 17005 379, 0, 0, 0, 380, 811, 812, 813, 0, 381, 17006 382, 383, 384, 814, 0, 0, 0, 385, 386, 387, 17007 388, 389, 390, 391, 392, 0, 0, 394, 395, 396, 17008 393, 397, 398, 0, 399, 0, 400, 401, 402, 403, 17009 404, 405, 406, 0, 407, 408, 409, 0, 410, 411, 17010 412, 0, 0, 0, 0, 0, 0, 0, 413, 414, 17011 415, 1144, 417, 0, 418, 420, 421, 815, 422, 816, 17012 0, 425, 427, 419, 423, 0, 426, 424, 428, 429, 17013 0, 430, 431, 432, 433, 0, 0, 434, 435, 436, 17014 0, 437, 438, 440, 439, 0, 441, 442, 443, 0, 17015 444, 445, 817, 446, 447, 448, 450, 452, 449, 451, 17016 453, 454, 455, 456, 457, 818, 819, 458, 459, 0, 17017 340, 0, 0, 0, 0, 0, 460, 461, 462, 820, 17018 0, 0, 0, 463, 0, 465, 469, 466, 467, 468, 17019 470, 0, 464, 471, 472, 0, 0, 473, 474, 475, 17020 821, 822, 476, 477, 478, 479, 480, 481, 482, 483, 17021 484, 0, 485, 486, 823, 0, 824, 487, 0, 488, 17022 489, 490, 491, 492, 493, 494, 825, 826, 827, 595, 17023 0, 495, 496, 497, 0, 498, 499, 500, 501, 502, 17024 503, 504, 0, 0, 0, 505, 506, 507, 508, 0, 17025 342, 341, 343, 0, 828, 509, 596, 510, 829, 830, 17026 0, 831, 0, 511, 512, 515, 0, 832, 0, 514, 17027 516, 517, 0, 518, 0, 0, 0, 519, 520, 521, 17028 522, 523, 524, 525, 0, 526, 528, 527, 0, 530, 17029 833, 529, 0, 531, 532, 0, 0, 533, 534, 535, 17030 536, 537, 538, 541, 0, 0, 539, 540, 542, 543, 17031 0, 544, 545, 547, 550, 546, 548, 549, 551, 552, 17032 565, 566, 553, 554, 555, 556, 557, 558, 559, 560, 17033 561, 562, 563, 564, 568, 0, 567, 0, 569, 570, 17034 571, 572, 573, 581, 583, 584, 579, 580, 582, 585, 17035 586, 588, 589, 576, 577, 578, 0, 587, 574, 0, 17036 575, 344, 0, 590, 591, 592, 593, 0, 834, 594, 17037 835, 597, 598, 0, 0, 599, 0, 600, 0, 0, 17038 602, 603, 604, 0, 0, 605, 606, 836, 0, 607, 17039 0, 837, 608, 609, 601, 610, 611, 612, 613, 614, 17040 615, 616, 617, 618, 619, 0, 620, 621, 838, 622, 17041 623, 624, 839, 625, 626, 627, 840, 628, 841, 629, 17042 630, 0, 631, 632, 633, 0, 634, 635, 636, 637, 17043 638, 639, 640, 641, 642, 643, 842, 644, 645, 647, 17044 646, 648, 649, 0, 650, 0, 651, 652, 653, 0, 17045 0, 0, 0, 0, 654, 655, 657, 0, 658, 659, 17046 660, 661, 662, 656, 663, 664, 665, 666, 667, 668, 17047 669, 0, 671, 672, 670, 673, 674, 0, 675, 676, 17048 677, 678, 679, 843, 680, 0, 681, 682, 690, 691, 17049 692, 683, 684, 686, 693, 685, 694, 695, 696, 697, 17050 699, 698, 0, 701, 702, 700, 703, 704, 705, 706, 17051 0, 707, 844, 708, 687, 688, 709, 710, 711, 0, 17052 712, 713, 714, 715, 716, 717, 718, 719, 720, 845, 17053 0, 721, 0, 722, 723, 724, 725, 726, 727, 729, 17054 689, 730, 731, 732, 737, 738, 846, 733, 734, 735, 17055 736, 847, 740, 741, 742, 743, 0, 744, 745, 0, 17056 739, 728, 1142, 746, 747, 748, 749, 750, 1146, 752, 17057 753, 754, 755, 0, 756, 848, 849, 850, 851, 0, 17058 768, 0, 757, 759, 760, 761, 762, 852, 763, 853, 17059 0, 764, 765, 766, 767, 758, 769, 770, 0, 0, 17060 771, 772, 773, 774, 776, 778, 779, 780, 775, 777, 17061 781, 0, 782, 0, 0, 783, 784, 785, 854, 855, 17062 856, 0, 787, 788, 786, 789, 790, 793, 791, 792, 17063 1145, 796, 513, 797, 798, 799, 794, 795, 0, 4002, 17064 0, 337, 800, 801, 858, 802, 803, 804, 0, 0, 17065 0, 0, 0, 0, 0, 0, 0, 0, 345, 346, 17066 348, 347, 349, 350, 351, 352, 0, 353, 354, 0, 17067 0, 0, 0, 1149, 805, 0, 0, 0, 356, 0, 17068 355, 0, 357, 358, 359, 0, 360, 361, 362, 363, 17069 364, 365, 366, 367, 806, 807, 0, 368, 808, 369, 17070 809, 0, 810, 370, 371, 372, 373, 374, 375, 376, 17071 377, 378, 379, 0, 0, 0, 380, 811, 812, 813, 17072 0, 381, 382, 383, 384, 814, 0, 0, 0, 385, 17073 386, 387, 388, 389, 390, 391, 392, 0, 0, 394, 17074 395, 396, 393, 397, 398, 0, 399, 0, 400, 401, 17075 402, 403, 404, 405, 406, 0, 407, 408, 409, 0, 17076 410, 411, 412, 0, 0, 0, 0, 0, 0, 0, 17077 413, 414, 415, 416, 417, 0, 418, 420, 421, 815, 17078 422, 816, 0, 425, 427, 419, 423, 0, 426, 424, 17079 428, 429, 0, 430, 431, 432, 433, 0, 0, 434, 17080 435, 436, 0, 437, 438, 440, 439, 0, 441, 442, 17081 443, 0, 444, 445, 817, 446, 447, 448, 450, 452, 17082 449, 451, 453, 454, 455, 456, 457, 818, 819, 458, 17083 459, 0, 340, 0, 0, 0, 0, 0, 460, 461, 17084 462, 820, 0, 0, 0, 463, 0, 465, 469, 466, 17085 467, 468, 470, 0, 464, 471, 472, 0, 0, 473, 17086 474, 475, 821, 822, 476, 477, 478, 479, 480, 481, 17087 482, 483, 484, 0, 485, 486, 823, 0, 824, 487, 17088 0, 488, 489, 490, 491, 492, 493, 494, 825, 826, 17089 827, 595, 0, 495, 496, 497, 0, 498, 499, 500, 17090 501, 502, 503, 504, 0, 0, 0, 505, 506, 507, 17091 508, 0, 342, 341, 343, 0, 828, 509, 596, 510, 17092 829, 830, 0, 831, 0, 511, 512, 515, 0, 832, 17093 0, 514, 516, 517, 0, 518, 0, 0, 0, 519, 17094 520, 521, 522, 523, 524, 525, 0, 526, 528, 527, 17095 0, 530, 833, 529, 0, 531, 532, 0, 0, 533, 17096 534, 535, 536, 537, 538, 541, 0, 0, 539, 540, 17097 542, 543, 0, 544, 545, 547, 550, 546, 548, 549, 17098 551, 552, 565, 566, 553, 554, 555, 556, 557, 558, 17099 559, 560, 561, 562, 563, 564, 568, 0, 567, 0, 17100 569, 570, 571, 572, 573, 581, 583, 584, 579, 580, 17101 582, 585, 586, 588, 589, 576, 577, 578, 0, 587, 17102 574, 0, 575, 344, 0, 590, 591, 592, 593, 0, 17103 834, 594, 835, 597, 598, 0, 0, 599, 0, 600, 17104 0, 0, 602, 603, 604, 0, 0, 605, 606, 836, 17105 0, 607, 0, 837, 608, 609, 601, 610, 611, 612, 17106 613, 614, 615, 616, 617, 618, 619, 0, 620, 621, 17107 838, 622, 623, 624, 839, 625, 626, 627, 840, 628, 17108 841, 629, 630, 0, 631, 632, 633, 0, 634, 635, 17109 636, 637, 638, 639, 640, 641, 642, 643, 842, 644, 17110 645, 647, 646, 648, 649, 0, 650, 0, 651, 652, 17111 653, 0, 0, 0, 0, 0, 654, 655, 657, 0, 17112 658, 659, 660, 661, 662, 656, 663, 664, 665, 666, 17113 667, 668, 669, 0, 671, 672, 670, 673, 674, 0, 17114 675, 676, 677, 678, 679, 843, 680, 0, 681, 682, 17115 690, 691, 692, 683, 684, 686, 693, 685, 694, 695, 17116 696, 697, 699, 698, 0, 701, 702, 700, 703, 704, 17117 705, 706, 0, 707, 844, 708, 687, 688, 709, 710, 17118 711, 0, 712, 713, 714, 715, 716, 717, 718, 719, 17119 720, 845, 0, 721, 0, 722, 723, 724, 725, 726, 17120 727, 729, 689, 730, 731, 732, 737, 738, 846, 733, 17121 734, 735, 736, 847, 740, 741, 742, 743, 0, 744, 17122 745, 0, 739, 728, 0, 746, 747, 748, 749, 750, 17123 751, 752, 753, 754, 755, 0, 756, 848, 849, 850, 17124 851, 0, 768, 0, 757, 759, 760, 761, 762, 852, 17125 763, 853, 0, 764, 765, 766, 767, 758, 769, 770, 17126 0, 0, 771, 772, 773, 774, 776, 778, 779, 780, 17127 775, 777, 781, 0, 782, 0, 0, 783, 784, 785, 17128 854, 855, 856, 0, 787, 788, 786, 789, 790, 793, 17129 791, 792, 857, 796, 513, 797, 798, 799, 794, 795, 17130 2418, 0, 0, 0, 800, 801, 858, 802, 803, 804, 17131 0, 0, 0, 0, 0, 0, 0, 345, 346, 348, 17132 347, 349, 350, 351, 352, 0, 353, 354, 0, 0, 17133 0, 0, 0, 805, 0, 1149, 0, 356, 0, 355, 17134 0, 357, 358, 359, 0, 360, 361, 362, 363, 364, 17135 365, 366, 367, 806, 807, 0, 368, 808, 369, 809, 17136 0, 810, 370, 371, 372, 373, 374, 375, 376, 377, 17137 378, 379, 0, 0, 0, 380, 811, 812, 813, 0, 17138 381, 382, 383, 384, 814, 0, 0, 0, 385, 386, 17139 387, 388, 389, 390, 391, 392, 0, 0, 394, 395, 17140 396, 393, 397, 398, 0, 399, 0, 400, 401, 402, 17141 403, 404, 405, 406, 0, 407, 408, 409, 0, 410, 17142 411, 412, 0, 0, 0, 0, 0, 0, 0, 413, 17143 414, 415, 2425, 417, 0, 418, 420, 421, 815, 422, 17144 816, 0, 425, 427, 419, 423, 0, 426, 424, 428, 17145 429, 0, 430, 431, 432, 433, 0, 0, 434, 435, 17146 436, 0, 437, 438, 440, 439, 0, 441, 442, 443, 17147 0, 444, 445, 817, 446, 447, 448, 450, 452, 449, 17148 451, 453, 454, 455, 456, 2426, 818, 819, 458, 459, 17149 0, 340, 0, 0, 0, 0, 0, 460, 461, 462, 17150 820, 0, 0, 0, 463, 0, 465, 469, 466, 467, 17151 468, 470, 0, 464, 471, 472, 0, 0, 2427, 474, 17152 475, 821, 822, 476, 477, 478, 479, 480, 481, 482, 17153 483, 484, 0, 485, 486, 823, 0, 824, 487, 0, 17154 488, 489, 490, 491, 492, 493, 494, 825, 826, 827, 17155 595, 0, 495, 496, 497, 0, 498, 499, 500, 501, 17156 502, 503, 504, 0, 0, 0, 505, 506, 507, 508, 17157 0, 342, 341, 343, 0, 828, 509, 596, 510, 829, 17158 830, 0, 831, 0, 511, 512, 515, 0, 832, 0, 17159 514, 516, 517, 0, 518, 0, 0, 0, 519, 520, 17160 521, 522, 523, 524, 525, 0, 526, 528, 527, 0, 17161 530, 833, 529, 0, 531, 532, 0, 0, 533, 534, 17162 535, 536, 537, 538, 541, 0, 0, 539, 540, 542, 17163 543, 0, 544, 545, 547, 550, 546, 548, 549, 551, 17164 552, 565, 566, 553, 554, 555, 556, 557, 558, 559, 17165 560, 561, 562, 563, 564, 568, 0, 567, 0, 569, 17166 570, 571, 572, 573, 581, 583, 584, 579, 580, 582, 17167 585, 586, 588, 589, 576, 577, 578, 0, 587, 574, 17168 0, 575, 344, 0, 590, 591, 592, 593, 0, 834, 17169 594, 835, 597, 598, 0, 0, 599, 0, 600, 0, 17170 0, 602, 603, 604, 0, 0, 605, 606, 836, 0, 17171 607, 0, 837, 608, 609, 601, 610, 611, 612, 613, 17172 614, 615, 616, 617, 618, 619, 0, 620, 621, 838, 17173 622, 623, 624, 839, 625, 626, 627, 840, 628, 841, 17174 629, 630, 0, 631, 632, 633, 0, 2428, 635, 636, 17175 637, 638, 639, 640, 641, 642, 643, 842, 644, 645, 17176 647, 646, 648, 649, 0, 650, 0, 651, 652, 653, 17177 0, 0, 0, 0, 0, 654, 655, 657, 0, 658, 17178 659, 660, 661, 662, 656, 663, 664, 665, 666, 667, 17179 668, 669, 0, 671, 672, 670, 673, 674, 0, 2621, 17180 676, 677, 678, 679, 843, 680, 0, 681, 682, 690, 17181 691, 692, 683, 684, 686, 2622, 685, 694, 695, 696, 17182 697, 699, 698, 0, 2422, 702, 700, 703, 704, 705, 17183 706, 0, 707, 844, 708, 687, 688, 709, 710, 711, 17184 0, 712, 713, 714, 715, 716, 717, 718, 719, 720, 17185 845, 0, 721, 0, 722, 723, 724, 725, 726, 727, 17186 729, 689, 730, 731, 732, 737, 738, 846, 733, 734, 17187 735, 736, 847, 740, 741, 742, 743, 0, 744, 745, 17188 0, 739, 728, 2424, 746, 747, 748, 749, 750, 751, 17189 752, 753, 754, 755, 0, 756, 848, 849, 850, 851, 17190 0, 768, 0, 757, 759, 760, 761, 762, 852, 763, 17191 853, 0, 764, 765, 2623, 767, 758, 769, 770, 0, 17192 0, 771, 772, 773, 774, 776, 778, 779, 780, 775, 17193 777, 781, 0, 782, 0, 0, 783, 784, 785, 854, 17194 855, 856, 0, 787, 788, 786, 789, 790, 793, 791, 17195 792, 857, 796, 513, 797, 798, 799, 794, 795, 337, 17196 0, 0, 0, 800, 801, 858, 802, 803, 804, 0, 17197 0, 0, 0, 0, 0, 0, 345, 346, 348, 347, 17198 349, 350, 351, 352, 0, 353, 354, 0, 0, 0, 17199 0, 0, 805, 0, 1149, 0, 356, 0, 355, 0, 17200 357, 358, 359, 0, 360, 361, 362, 363, 364, 365, 17201 366, 367, 806, 807, 0, 368, 808, 369, 809, 0, 17202 810, 370, 371, 372, 373, 374, 375, 376, 377, 378, 17203 379, 0, 0, 0, 380, 811, 812, 813, 0, 381, 17204 382, 383, 384, 814, 0, 0, 0, 385, 386, 387, 17205 388, 389, 390, 391, 392, 0, 0, 394, 395, 396, 17206 393, 397, 398, 0, 399, 0, 400, 401, 402, 403, 17207 404, 405, 406, 0, 407, 408, 409, 0, 410, 411, 17208 412, 0, 0, 0, 0, 0, 0, 0, 413, 414, 17209 415, 416, 417, 0, 418, 420, 421, 815, 422, 816, 17210 0, 425, 427, 419, 423, 0, 426, 424, 428, 429, 17211 0, 430, 431, 432, 433, 0, 0, 434, 435, 436, 17212 0, 437, 438, 440, 439, 0, 441, 442, 443, 0, 17213 444, 445, 817, 446, 447, 448, 450, 452, 449, 451, 17214 453, 454, 455, 456, 457, 818, 819, 458, 459, 0, 17215 340, 0, 0, 0, 0, 0, 460, 461, 462, 820, 17216 0, 0, 0, 463, 0, 465, 469, 466, 467, 468, 17217 470, 0, 464, 471, 472, 0, 0, 473, 474, 475, 17218 821, 822, 476, 477, 478, 479, 480, 481, 482, 483, 17219 484, 0, 485, 486, 823, 0, 824, 487, 0, 488, 17220 489, 490, 491, 492, 493, 494, 825, 826, 827, 595, 17221 0, 495, 496, 497, 0, 498, 499, 500, 501, 502, 17222 503, 504, 0, 0, 0, 505, 506, 507, 508, 0, 17223 342, 341, 343, 0, 828, 509, 596, 510, 829, 830, 17224 0, 831, 0, 511, 512, 515, 0, 832, 0, 514, 17225 516, 517, 0, 518, 0, 0, 0, 519, 520, 521, 17226 522, 523, 524, 525, 0, 526, 528, 527, 0, 530, 17227 833, 529, 0, 531, 532, 0, 0, 533, 534, 535, 17228 536, 537, 538, 541, 0, 0, 539, 540, 542, 543, 17229 0, 544, 545, 547, 550, 546, 548, 549, 551, 552, 17230 565, 566, 553, 554, 555, 556, 557, 558, 559, 560, 17231 561, 562, 563, 564, 568, 0, 567, 0, 569, 570, 17232 571, 572, 573, 581, 583, 584, 579, 580, 582, 585, 17233 586, 588, 589, 576, 577, 578, 0, 587, 574, 0, 17234 575, 344, 0, 590, 591, 592, 593, 0, 834, 594, 17235 835, 597, 598, 0, 0, 599, 0, 600, 0, 0, 17236 602, 603, 604, 0, 0, 605, 606, 836, 0, 607, 17237 0, 837, 608, 609, 601, 610, 611, 612, 613, 614, 17238 615, 616, 617, 618, 619, 0, 620, 621, 838, 622, 17239 623, 624, 839, 625, 626, 627, 840, 628, 841, 629, 17240 630, 0, 631, 632, 633, 0, 634, 635, 636, 637, 17241 638, 639, 640, 641, 642, 643, 842, 644, 645, 647, 17242 646, 648, 649, 0, 650, 0, 651, 652, 653, 0, 17243 0, 0, 0, 0, 654, 655, 657, 0, 658, 659, 17244 660, 661, 662, 656, 663, 664, 665, 666, 667, 668, 17245 669, 0, 671, 672, 670, 673, 674, 0, 675, 676, 17246 677, 678, 679, 843, 680, 0, 681, 682, 690, 691, 17247 692, 683, 684, 686, 693, 685, 694, 695, 696, 697, 17248 699, 698, 0, 701, 702, 700, 703, 704, 705, 706, 17249 0, 707, 844, 708, 687, 688, 709, 710, 711, 0, 17250 712, 713, 714, 715, 716, 717, 718, 719, 720, 845, 17251 0, 721, 0, 722, 723, 724, 725, 726, 727, 729, 17252 689, 730, 731, 732, 737, 738, 846, 733, 734, 735, 17253 736, 847, 740, 741, 742, 743, 0, 744, 745, 0, 17254 739, 728, 0, 746, 747, 748, 749, 750, 751, 752, 17255 753, 754, 755, 0, 756, 848, 849, 850, 851, 0, 17256 768, 0, 757, 759, 760, 761, 762, 852, 763, 853, 17257 0, 764, 765, 766, 767, 758, 769, 770, 0, 0, 17258 771, 772, 773, 774, 776, 778, 779, 780, 775, 777, 17259 781, 0, 782, 0, 0, 783, 784, 785, 854, 855, 17260 856, 0, 787, 788, 786, 789, 790, 793, 791, 792, 17261 857, 796, 513, 797, 798, 799, 794, 795, 337, 0, 17262 0, 0, 800, 801, 858, 802, 803, 804, 0, 0, 17263 0, 0, 0, 0, 0, 345, 346, 348, 347, 349, 17264 350, 351, 352, 0, 353, 354, 0, 0, 0, 0, 17265 0, 805, 0, 1149, 0, 356, 0, 355, 0, 357, 17266 358, 359, 0, 360, 361, 362, 363, 364, 365, 366, 17267 367, 806, 807, 0, 368, 808, 369, 809, 0, 810, 17268 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 17269 0, 0, 0, 380, 811, 812, 813, 0, 381, 382, 17270 383, 384, 814, 0, 0, 0, 385, 386, 387, 388, 17271 389, 390, 391, 392, 0, 0, 394, 395, 396, 393, 17272 397, 398, 0, 399, 0, 400, 401, 402, 403, 404, 17273 405, 406, 0, 407, 408, 409, 0, 410, 411, 412, 17274 0, 0, 0, 0, 0, 0, 0, 413, 414, 415, 17275 416, 417, 0, 418, 420, 421, 815, 422, 816, 0, 17276 425, 427, 419, 423, 0, 426, 424, 428, 429, 0, 17277 430, 431, 432, 433, 0, 0, 434, 435, 436, 0, 17278 437, 438, 440, 439, 0, 441, 442, 443, 0, 444, 17279 445, 817, 446, 447, 448, 450, 452, 449, 451, 453, 17280 454, 455, 456, 457, 818, 819, 458, 459, 0, 340, 17281 0, 0, 0, 0, 0, 460, 461, 462, 820, 0, 17282 0, 0, 463, 0, 465, 469, 466, 467, 468, 470, 17283 0, 464, 471, 472, 0, 0, 473, 474, 475, 821, 17284 822, 476, 477, 478, 479, 480, 481, 482, 483, 484, 17285 0, 485, 486, 823, 0, 824, 487, 0, 488, 489, 17286 490, 491, 492, 493, 494, 825, 826, 827, 595, 0, 17287 495, 496, 497, 0, 498, 499, 500, 501, 502, 503, 17288 504, 0, 0, 0, 505, 506, 507, 508, 0, 342, 17289 341, 343, 0, 828, 509, 596, 510, 829, 830, 0, 17290 831, 0, 511, 512, 515, 0, 832, 0, 514, 516, 17291 517, 0, 518, 0, 0, 0, 519, 520, 521, 522, 17292 523, 524, 525, 0, 526, 528, 527, 0, 530, 833, 17293 529, 0, 531, 532, 0, 0, 533, 534, 535, 536, 17294 537, 538, 541, 0, 0, 539, 540, 542, 543, 0, 17295 544, 545, 547, 550, 546, 548, 549, 551, 552, 565, 17296 566, 553, 554, 555, 556, 557, 558, 559, 560, 561, 17297 562, 563, 564, 568, 0, 567, 0, 569, 570, 571, 17298 572, 573, 581, 583, 584, 579, 580, 582, 585, 586, 17299 588, 589, 576, 577, 578, 0, 587, 574, 0, 575, 17300 344, 0, 590, 591, 592, 593, 0, 834, 594, 835, 17301 597, 598, 0, 0, 599, 0, 600, 0, 0, 602, 17302 603, 604, 0, 0, 605, 606, 836, 0, 607, 0, 17303 837, 608, 609, 601, 610, 611, 612, 613, 614, 615, 17304 616, 617, 618, 619, 0, 620, 621, 838, 622, 623, 17305 624, 839, 625, 626, 627, 840, 628, 841, 629, 630, 17306 0, 631, 632, 633, 0, 634, 635, 636, 637, 638, 17307 639, 640, 641, 642, 643, 842, 644, 645, 647, 646, 17308 648, 649, 0, 650, 0, 651, 652, 653, 0, 0, 17309 0, 0, 0, 654, 655, 657, 0, 658, 659, 660, 17310 661, 662, 656, 663, 664, 665, 666, 667, 668, 669, 17311 0, 671, 672, 670, 673, 674, 0, 675, 676, 677, 17312 678, 679, 843, 680, 0, 681, 682, 690, 691, 692, 17313 683, 684, 686, 693, 685, 694, 695, 696, 697, 699, 17314 698, 0, 701, 702, 700, 703, 704, 705, 706, 0, 17315 707, 844, 708, 687, 688, 709, 710, 711, 0, 712, 17316 713, 714, 715, 716, 717, 718, 719, 720, 845, 0, 17317 721, 0, 722, 723, 724, 725, 726, 727, 729, 689, 17318 730, 731, 732, 737, 738, 846, 733, 734, 735, 736, 17319 847, 740, 741, 742, 743, 0, 744, 745, 0, 739, 17320 728, 0, 746, 747, 748, 749, 750, 751, 752, 753, 17321 754, 755, 0, 756, 848, 849, 850, 851, 0, 768, 17322 0, 757, 759, 760, 761, 762, 852, 763, 853, 0, 17323 764, 765, 766, 767, 758, 769, 770, 0, 0, 771, 17324 772, 773, 774, 776, 778, 779, 780, 775, 777, 781, 17325 0, 782, 0, 0, 783, 784, 785, 854, 855, 856, 17326 0, 787, 788, 786, 789, 790, 793, 791, 792, 857, 17327 796, 513, 797, 798, 799, 794, 795, 4022, 0, 0, 17328 0, 800, 801, 858, 802, 803, 804, 0, 0, 0, 17329 0, 0, 0, 0, 345, 346, 348, 347, 349, 350, 17330 351, 352, 0, 353, 354, 0, 0, 0, 0, 0, 17331 0, 0, 1026, 0, 356, 0, 355, 0, 357, 358, 17332 359, 874, 360, 361, 362, 363, 364, 365, 366, 367, 17333 0, 2451, 0, 368, 2458, 369, 2457, 0, 2466, 370, 17334 371, 372, 373, 374, 375, 376, 377, 378, 379, 0, 17335 0, 0, 380, 2469, 2470, 0, 0, 381, 382, 383, 17336 384, 0, 0, 875, 0, 385, 386, 387, 388, 389, 17337 390, 391, 392, 0, 0, 394, 395, 396, 393, 397, 17338 398, 0, 399, 0, 400, 401, 402, 403, 404, 405, 17339 406, 0, 407, 408, 409, 876, 410, 411, 412, 0, 17340 0, 0, 0, 0, 0, 0, 413, 414, 415, 416, 17341 417, 1477, 418, 420, 421, 2455, 422, 2454, 0, 425, 17342 427, 419, 423, 0, 426, 424, 428, 429, 0, 430, 17343 431, 432, 433, 0, 0, 434, 1469, 436, 0, 437, 17344 438, 440, 439, 0, 441, 442, 443, 0, 444, 445, 17345 0, 446, 447, 448, 450, 452, 449, 451, 453, 454, 17346 455, 456, 457, 0, 0, 458, 459, 0, 340, 0, 17347 0, 0, 0, 0, 460, 461, 462, 2453, 0, 0, 17348 0, 463, 0, 465, 469, 466, 467, 468, 470, 0, 17349 464, 471, 472, 0, 877, 473, 474, 475, 2464, 2465, 17350 476, 477, 478, 479, 480, 481, 482, 483, 484, 0, 17351 485, 486, 0, 0, 0, 487, 0, 488, 489, 490, 17352 491, 492, 493, 494, 0, 0, 0, 595, 879, 495, 17353 496, 497, 0, 498, 499, 500, 501, 502, 503, 504, 17354 0, 0, 0, 505, 506, 507, 508, 0, 0, 0, 17355 0, 878, 0, 509, 596, 510, 2448, 2449, 0, 2444, 17356 0, 511, 512, 515, 880, 0, 881, 514, 516, 517, 17357 882, 518, 0, 0, 0, 519, 520, 521, 522, 523, 17358 524, 525, 0, 526, 528, 527, 0, 530, 0, 529, 17359 883, 531, 532, 884, 0, 533, 534, 535, 536, 537, 17360 538, 541, 0, 0, 539, 540, 542, 543, 0, 544, 17361 545, 547, 550, 546, 548, 549, 551, 552, 565, 566, 17362 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 17363 563, 564, 568, 0, 567, 885, 569, 570, 571, 572, 17364 573, 581, 583, 584, 579, 580, 582, 585, 586, 588, 17365 589, 576, 577, 578, 886, 587, 574, 0, 575, 0, 17366 887, 590, 591, 592, 593, 0, 0, 594, 2456, 597, 17367 598, 0, 0, 599, 0, 600, 0, 0, 602, 603, 17368 604, 0, 0, 605, 606, 0, 888, 607, 889, 0, 17369 608, 609, 601, 610, 611, 612, 613, 614, 615, 616, 17370 617, 618, 619, 0, 620, 621, 2441, 622, 623, 624, 17371 2442, 625, 626, 627, 0, 628, 0, 629, 630, 0, 17372 631, 632, 633, 0, 634, 635, 636, 637, 638, 639, 17373 640, 641, 642, 643, 2452, 644, 645, 647, 646, 648, 17374 649, 0, 650, 0, 651, 652, 653, 0, 0, 0, 17375 0, 0, 654, 655, 657, 0, 658, 659, 660, 661, 17376 662, 656, 663, 664, 665, 666, 667, 668, 669, 0, 17377 671, 672, 670, 673, 674, 890, 675, 676, 677, 678, 17378 679, 0, 680, 0, 681, 682, 690, 691, 692, 683, 17379 684, 686, 693, 685, 694, 695, 696, 697, 699, 698, 17380 0, 701, 702, 700, 703, 704, 705, 706, 0, 707, 17381 0, 708, 687, 688, 709, 710, 711, 891, 712, 713, 17382 714, 715, 716, 717, 718, 719, 720, 2450, 0, 721, 17383 0, 722, 723, 724, 725, 726, 727, 729, 689, 730, 17384 731, 732, 737, 738, 2468, 733, 734, 735, 736, 0, 17385 740, 741, 742, 743, 0, 744, 745, 0, 739, 728, 17386 0, 746, 747, 748, 749, 750, 751, 752, 753, 754, 17387 755, 0, 756, 2460, 2461, 2462, 2463, 0, 768, 0, 17388 757, 759, 760, 761, 762, 0, 763, 0, 0, 764, 17389 765, 766, 767, 758, 769, 770, 0, 0, 771, 772, 17390 773, 774, 776, 778, 779, 780, 775, 777, 781, 0, 17391 782, 0, 0, 783, 784, 785, 0, 2459, 2467, 0, 17392 787, 788, 786, 789, 790, 793, 791, 792, 0, 796, 17393 513, 797, 798, 799, 794, 795, 0, 0, 0, 0, 17394 800, 801, 0, 802, 803, 804, 0, 2445, 0, 0, 17395 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17396 0, 0, 0, 0, 345, 346, 348, 347, 349, 350, 17397 351, 352, 0, 353, 354, 0, 0, 0, 0, 0, 17398 0, 0, 0, 2437, 356, 0, 355, 0, 357, 358, 17399 359, 874, 360, 361, 362, 363, 364, 365, 366, 367, 17400 0, 2451, 0, 368, 2458, 369, 2457, 0, 2466, 370, 17401 371, 372, 373, 374, 375, 376, 377, 378, 379, 0, 17402 0, 0, 380, 2469, 2470, 0, 0, 381, 382, 383, 17403 384, 0, 0, 875, 0, 385, 386, 387, 388, 389, 17404 390, 391, 392, 0, 0, 394, 395, 396, 393, 397, 17405 398, 0, 399, 0, 400, 401, 402, 403, 404, 405, 17406 406, 0, 407, 408, 409, 876, 410, 411, 412, 0, 17407 0, 0, 0, 0, 0, 0, 413, 414, 415, 416, 17408 417, 1477, 418, 420, 421, 2455, 422, 2454, 0, 425, 17409 427, 419, 423, 0, 426, 424, 428, 429, 0, 430, 17410 431, 432, 433, 0, 0, 434, 1469, 436, 0, 437, 17411 438, 440, 439, 0, 441, 442, 443, 0, 444, 445, 17412 0, 446, 447, 448, 450, 452, 449, 451, 453, 454, 17413 455, 456, 457, 0, 0, 458, 459, 0, 0, 0, 17414 0, 0, 0, 0, 460, 461, 462, 2453, 0, 0, 17415 0, 463, 0, 465, 469, 466, 467, 468, 470, 0, 17416 464, 471, 472, 0, 877, 473, 474, 475, 2464, 2465, 17417 476, 477, 478, 479, 480, 481, 482, 483, 484, 0, 17418 485, 486, 0, 0, 0, 487, 0, 488, 489, 490, 17419 491, 492, 493, 494, 0, 0, 0, 595, 879, 495, 17420 496, 497, 0, 498, 499, 500, 501, 502, 503, 504, 17421 0, 0, 0, 505, 506, 507, 508, 0, 0, 0, 17422 0, 878, 0, 509, 596, 510, 2448, 2449, 0, 2444, 17423 0, 511, 512, 515, 880, 0, 881, 514, 516, 517, 17424 882, 518, 0, 0, 0, 519, 520, 521, 522, 523, 17425 524, 525, 0, 526, 528, 527, 0, 530, 0, 529, 17426 883, 531, 532, 884, 0, 533, 534, 535, 536, 537, 17427 538, 541, 0, 0, 539, 540, 542, 543, 0, 544, 17428 545, 547, 550, 546, 548, 549, 551, 552, 565, 566, 17429 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 17430 563, 564, 568, 0, 567, 885, 569, 570, 571, 572, 17431 573, 581, 583, 584, 579, 580, 582, 585, 586, 588, 17432 589, 576, 577, 578, 886, 587, 574, 0, 575, 0, 17433 887, 590, 591, 592, 593, 0, 0, 594, 2456, 597, 17434 598, 0, 0, 599, 0, 600, 0, 0, 602, 603, 17435 604, 0, 0, 605, 606, 0, 888, 607, 889, 0, 17436 608, 609, 601, 610, 611, 612, 613, 614, 615, 616, 17437 617, 618, 619, 0, 620, 621, 2441, 622, 623, 624, 17438 2442, 625, 626, 627, 0, 628, 0, 629, 630, 0, 17439 631, 632, 633, 0, 634, 635, 636, 637, 638, 639, 17440 640, 641, 642, 643, 2452, 644, 645, 647, 646, 648, 17441 649, 0, 650, 0, 651, 652, 653, 0, 0, 0, 17442 0, 0, 654, 655, 657, 0, 658, 659, 660, 661, 17443 662, 656, 663, 664, 665, 666, 667, 668, 669, 0, 17444 671, 672, 670, 673, 674, 890, 675, 676, 677, 678, 17445 679, 0, 680, 0, 681, 682, 690, 691, 692, 683, 17446 684, 686, 693, 685, 694, 695, 696, 697, 699, 698, 17447 0, 701, 702, 700, 703, 704, 705, 706, 0, 707, 17448 0, 708, 687, 688, 709, 710, 711, 891, 712, 713, 17449 714, 715, 716, 717, 718, 719, 720, 2450, 0, 721, 17450 0, 722, 723, 724, 725, 726, 727, 729, 689, 730, 17451 731, 732, 737, 738, 2468, 733, 734, 735, 736, 0, 17452 740, 741, 742, 743, 0, 744, 745, 0, 739, 728, 17453 0, 746, 747, 748, 749, 750, 751, 752, 753, 754, 17454 755, 0, 756, 2460, 2461, 2462, 2463, 0, 768, 0, 17455 757, 759, 760, 761, 762, 0, 763, 0, 0, 764, 17456 765, 766, 767, 758, 769, 770, 0, 0, 771, 772, 17457 773, 774, 776, 778, 779, 780, 775, 777, 781, 0, 17458 782, 0, 0, 783, 784, 785, 0, 2459, 2467, 0, 17459 787, 788, 786, 789, 790, 793, 791, 792, 0, 796, 17460 513, 797, 798, 799, 794, 795, 0, 0, 0, 337, 17461 800, 801, 0, 802, 803, 804, 0, 0, 0, 0, 17462 0, 0, 0, 0, 0, 0, 345, 346, 348, 347, 17463 349, 350, 351, 352, 0, 353, 354, 0, 0, 0, 17464 0, 0, 805, 0, 0, 0, 356, 0, 355, 0, 17465 357, 358, 359, 2437, 360, 361, 362, 363, 364, 365, 17466 366, 367, 806, 807, 0, 368, 808, 369, 809, 0, 17467 810, 370, 371, 372, 373, 374, 375, 376, 377, 378, 17468 379, 0, 0, 0, 380, 811, 812, 813, 0, 381, 17469 382, 383, 384, 814, 0, 0, 0, 385, 386, 387, 17470 388, 389, 390, 391, 392, 0, 0, 394, 395, 396, 17471 393, 397, 398, 0, 399, 0, 400, 401, 402, 403, 17472 404, 405, 406, 0, 407, 408, 409, 0, 410, 411, 17473 412, 0, 0, 0, 0, 0, 0, 0, 413, 414, 17474 415, 416, 417, 0, 418, 420, 421, 815, 422, 816, 17475 0, 425, 427, 419, 423, 0, 426, 424, 428, 429, 17476 0, 430, 431, 432, 433, 0, 0, 434, 435, 436, 17477 0, 437, 438, 440, 439, 0, 441, 442, 443, 0, 17478 444, 445, 817, 446, 447, 448, 450, 452, 449, 451, 17479 453, 454, 455, 456, 457, 818, 819, 458, 459, 0, 17480 0, 0, 0, 0, 0, 0, 460, 461, 462, 820, 17481 0, 0, 0, 463, 0, 465, 469, 466, 467, 468, 17482 470, 0, 464, 471, 472, 0, 0, 473, 474, 475, 17483 821, 822, 476, 477, 478, 479, 480, 481, 482, 483, 17484 484, 0, 485, 486, 823, 0, 824, 487, 0, 488, 17485 489, 490, 491, 492, 493, 494, 825, 826, 827, 595, 17486 0, 495, 496, 497, 0, 498, 499, 500, 501, 502, 17487 503, 504, 0, 0, 0, 505, 506, 507, 508, 0, 17488 0, 0, 0, 0, 828, 509, 596, 510, 829, 830, 17489 0, 831, 0, 511, 512, 515, 0, 832, 0, 514, 17490 516, 517, 0, 518, 0, 0, 0, 519, 520, 521, 17491 522, 523, 524, 525, 0, 526, 528, 527, 0, 530, 17492 833, 529, 0, 531, 532, 0, 0, 533, 534, 535, 17493 536, 537, 538, 541, 0, 0, 539, 540, 542, 543, 17494 0, 544, 545, 547, 550, 546, 548, 549, 551, 552, 17495 565, 566, 553, 554, 555, 556, 557, 558, 559, 560, 17496 561, 562, 563, 564, 568, 0, 567, 0, 569, 570, 17497 571, 572, 573, 581, 583, 584, 579, 580, 582, 585, 17498 586, 588, 589, 576, 577, 578, 0, 587, 574, 0, 17499 575, 0, 0, 590, 591, 592, 593, 0, 834, 594, 17500 835, 597, 598, 0, 0, 599, 0, 600, 0, 0, 17501 602, 603, 604, 0, 0, 605, 606, 836, 0, 607, 17502 0, 837, 608, 609, 601, 610, 611, 612, 613, 614, 17503 615, 616, 617, 618, 619, 0, 620, 621, 838, 622, 17504 623, 624, 839, 625, 626, 627, 840, 628, 841, 629, 17505 630, 0, 631, 632, 633, 0, 634, 635, 636, 637, 17506 638, 639, 640, 641, 642, 643, 842, 644, 645, 647, 17507 646, 648, 649, 0, 650, 0, 651, 652, 653, 0, 17508 0, 0, 0, 0, 654, 655, 657, 0, 658, 659, 17509 660, 661, 662, 656, 663, 664, 665, 666, 667, 668, 17510 669, 0, 671, 672, 670, 673, 674, 0, 675, 676, 17511 677, 678, 679, 843, 680, 0, 681, 682, 690, 691, 17512 692, 683, 684, 686, 693, 685, 694, 695, 696, 697, 17513 699, 698, 0, 701, 702, 700, 703, 704, 705, 706, 17514 0, 707, 844, 708, 687, 688, 709, 710, 711, 0, 17515 712, 713, 714, 715, 716, 717, 718, 719, 720, 845, 17516 0, 721, 0, 722, 723, 724, 725, 726, 727, 729, 17517 689, 730, 731, 732, 737, 738, 846, 733, 734, 735, 17518 736, 847, 740, 741, 742, 743, 0, 744, 745, 0, 17519 739, 728, 0, 746, 747, 748, 749, 750, 751, 752, 17520 753, 754, 755, 0, 756, 848, 849, 850, 851, 0, 17521 768, 0, 757, 759, 760, 761, 762, 852, 763, 853, 17522 0, 764, 765, 766, 767, 758, 769, 770, 0, 0, 17523 771, 772, 773, 774, 776, 778, 779, 780, 775, 777, 17524 781, 0, 782, 0, 0, 783, 784, 785, 854, 855, 17525 856, 0, 787, 788, 786, 789, 790, 793, 791, 792, 17526 857, 796, 513, 797, 798, 799, 794, 795, 0, 0, 17527 0, 0, 800, 801, 858, 802, 803, 804, 1733, 1732, 17528 0, 0, 0, 0, 1730, 0, 0, 0, 0, 0, 17529 0, 0, 0, 0, 0, 345, 346, 348, 347, 349, 17530 350, 351, 352, 5421, 353, 354, 0, 0, 0, 0, 17531 0, 805, 0, 0, 0, 356, 0, 355, 0, 357, 17532 358, 359, 874, 360, 361, 362, 363, 364, 365, 366, 17533 367, 806, 807, 0, 368, 808, 369, 809, 0, 810, 17534 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 17535 0, 0, 0, 380, 811, 812, 813, 0, 381, 382, 17536 383, 384, 814, 0, 875, 0, 385, 386, 387, 388, 17537 389, 390, 391, 392, 0, 0, 394, 395, 396, 393, 17538 397, 398, 0, 399, 0, 400, 401, 402, 403, 404, 17539 405, 406, 0, 407, 408, 409, 876, 410, 411, 412, 17540 0, 0, 0, 0, 0, 0, 0, 413, 414, 415, 17541 416, 417, 0, 418, 420, 421, 815, 422, 816, 0, 17542 425, 427, 419, 423, 0, 426, 424, 428, 429, 0, 17543 430, 431, 432, 433, 0, 0, 434, 435, 436, 0, 17544 437, 438, 440, 439, 0, 441, 442, 443, 0, 444, 17545 445, 817, 446, 447, 448, 450, 452, 449, 451, 453, 17546 454, 455, 456, 457, 818, 819, 458, 459, 0, 340, 17547 0, 0, 0, 0, 0, 460, 461, 462, 820, 0, 17548 0, 0, 463, 0, 465, 469, 466, 467, 468, 470, 17549 0, 464, 471, 472, 0, 877, 473, 474, 475, 821, 17550 822, 476, 477, 478, 479, 480, 481, 482, 483, 484, 17551 0, 485, 486, 823, 0, 824, 487, 0, 488, 489, 17552 490, 491, 492, 493, 494, 825, 826, 827, 595, 879, 17553 495, 496, 497, 0, 498, 499, 500, 501, 502, 503, 17554 504, 0, 0, 0, 505, 506, 507, 508, 0, 0, 17555 0, 0, 878, 828, 509, 596, 510, 829, 830, 0, 17556 831, 0, 511, 512, 515, 880, 832, 881, 514, 516, 17557 517, 882, 518, 0, 0, 0, 519, 520, 521, 522, 17558 523, 524, 525, 0, 526, 528, 527, 0, 530, 833, 17559 529, 883, 531, 532, 884, 0, 533, 534, 535, 536, 17560 537, 538, 541, 0, 0, 539, 540, 542, 543, 0, 17561 544, 545, 547, 550, 546, 548, 549, 551, 552, 565, 17562 566, 553, 554, 555, 556, 557, 558, 559, 560, 561, 17563 562, 563, 564, 568, 0, 567, 885, 569, 570, 571, 17564 572, 573, 581, 583, 584, 579, 580, 582, 585, 586, 17565 588, 589, 576, 577, 578, 886, 587, 574, 0, 575, 17566 0, 887, 590, 591, 592, 593, 5554, 834, 594, 835, 17567 597, 598, 0, 0, 599, 0, 600, 0, 0, 602, 17568 603, 604, 0, 0, 605, 606, 836, 888, 607, 889, 17569 837, 608, 609, 601, 610, 611, 612, 613, 614, 615, 17570 616, 617, 618, 619, 0, 620, 621, 838, 622, 623, 17571 624, 839, 625, 626, 627, 840, 628, 841, 629, 630, 17572 0, 631, 632, 633, 0, 634, 635, 636, 637, 638, 17573 639, 640, 641, 642, 643, 842, 644, 645, 647, 646, 17574 648, 649, 0, 650, 0, 651, 652, 653, 0, 0, 17575 0, 0, 0, 654, 655, 657, 0, 658, 659, 660, 17576 661, 662, 656, 663, 664, 665, 666, 667, 668, 669, 17577 0, 671, 672, 670, 673, 674, 890, 675, 676, 677, 17578 678, 679, 843, 680, 0, 681, 682, 690, 691, 692, 17579 683, 684, 686, 693, 685, 694, 695, 696, 697, 699, 17580 698, 0, 701, 702, 700, 703, 704, 705, 706, 0, 17581 707, 844, 708, 687, 688, 709, 710, 711, 891, 712, 17582 713, 714, 715, 716, 717, 718, 719, 720, 845, 0, 17583 721, 0, 722, 723, 724, 725, 726, 727, 729, 689, 17584 730, 731, 732, 737, 738, 846, 733, 734, 735, 736, 17585 847, 740, 741, 742, 743, 0, 744, 745, 0, 739, 17586 728, 0, 746, 747, 748, 749, 750, 751, 752, 753, 17587 754, 755, 0, 756, 848, 849, 850, 851, 0, 768, 17588 0, 757, 759, 760, 761, 762, 852, 763, 853, 0, 17589 764, 765, 766, 767, 758, 769, 770, 0, 0, 771, 17590 772, 773, 774, 776, 778, 779, 780, 775, 777, 781, 17591 0, 782, 0, 0, 783, 784, 785, 854, 855, 856, 17592 0, 787, 788, 786, 789, 790, 793, 791, 792, 857, 17593 796, 513, 797, 798, 799, 794, 795, 0, 0, 0, 17594 0, 800, 801, 858, 802, 803, 804, 4155, 0, 1733, 17595 1732, 0, 0, 0, 0, 1730, 0, 0, 0, 0, 17596 0, 0, 0, 0, 0, 0, 345, 346, 348, 347, 17597 349, 350, 351, 352, 0, 353, 354, 0, 0, 0, 17598 0, 0, 805, 0, 0, 0, 356, 0, 355, 0, 17599 357, 358, 359, 874, 360, 361, 362, 363, 364, 365, 17600 366, 367, 806, 807, 0, 368, 808, 369, 809, 0, 17601 810, 370, 371, 372, 373, 374, 375, 376, 377, 378, 17602 379, 0, 0, 0, 380, 811, 812, 813, 0, 381, 17603 382, 383, 384, 814, 0, 875, 0, 385, 386, 387, 17604 388, 389, 390, 391, 392, 0, 0, 394, 395, 396, 17605 393, 397, 398, 0, 399, 0, 400, 401, 402, 403, 17606 404, 405, 406, 0, 407, 408, 409, 876, 410, 411, 17607 412, 0, 0, 0, 0, 0, 0, 0, 413, 414, 17608 415, 416, 417, 0, 418, 420, 421, 815, 422, 816, 17609 0, 425, 427, 419, 423, 0, 426, 424, 428, 429, 17610 0, 430, 431, 432, 433, 0, 0, 434, 435, 436, 17611 0, 437, 438, 440, 439, 0, 441, 442, 443, 0, 17612 444, 445, 817, 446, 447, 448, 450, 452, 449, 451, 17613 453, 454, 455, 456, 457, 818, 819, 458, 459, 0, 17614 340, 0, 0, 0, 0, 0, 460, 461, 462, 820, 17615 0, 0, 0, 463, 0, 465, 469, 466, 467, 468, 17616 470, 0, 464, 471, 472, 0, 877, 473, 474, 475, 17617 821, 822, 476, 477, 478, 479, 480, 481, 482, 483, 17618 484, 0, 485, 486, 823, 0, 824, 487, 0, 488, 17619 489, 490, 491, 492, 493, 494, 825, 826, 827, 595, 17620 879, 495, 496, 497, 0, 498, 499, 500, 501, 502, 17621 503, 504, 0, 0, 0, 505, 506, 507, 508, 0, 17622 0, 0, 0, 878, 828, 509, 596, 510, 829, 830, 17623 0, 831, 0, 511, 512, 515, 880, 832, 881, 514, 17624 516, 517, 882, 518, 0, 0, 0, 519, 520, 521, 17625 522, 523, 524, 525, 0, 526, 528, 527, 0, 530, 17626 833, 529, 883, 531, 532, 884, 0, 533, 534, 535, 17627 536, 537, 538, 541, 0, 0, 539, 540, 542, 543, 17628 0, 544, 545, 547, 550, 546, 548, 549, 551, 552, 17629 565, 566, 553, 554, 555, 556, 557, 558, 559, 560, 17630 561, 562, 563, 564, 568, 0, 567, 885, 569, 570, 17631 571, 572, 573, 581, 583, 584, 579, 580, 582, 585, 17632 586, 588, 589, 576, 577, 578, 886, 587, 574, 0, 17633 575, 0, 887, 590, 591, 592, 593, 0, 834, 594, 17634 835, 597, 598, 0, 0, 599, 0, 600, 0, 0, 17635 602, 603, 604, 0, 0, 605, 606, 836, 888, 607, 17636 889, 837, 608, 609, 601, 610, 611, 612, 613, 614, 17637 615, 616, 617, 618, 619, 0, 620, 621, 838, 622, 17638 623, 624, 839, 625, 626, 627, 840, 628, 841, 629, 17639 630, 0, 631, 632, 633, 0, 634, 635, 636, 637, 17640 638, 639, 640, 641, 642, 643, 842, 644, 645, 647, 17641 646, 648, 649, 0, 650, 0, 651, 652, 653, 0, 17642 0, 0, 0, 0, 654, 655, 657, 0, 658, 659, 17643 660, 661, 662, 656, 663, 664, 665, 666, 667, 668, 17644 669, 0, 671, 672, 670, 673, 674, 890, 675, 676, 17645 677, 678, 679, 843, 680, 0, 681, 682, 690, 691, 17646 692, 683, 684, 686, 693, 685, 694, 695, 696, 697, 17647 699, 698, 0, 701, 702, 700, 703, 704, 705, 706, 17648 0, 707, 844, 708, 687, 688, 709, 710, 711, 891, 17649 712, 713, 714, 715, 716, 717, 718, 719, 720, 845, 17650 0, 721, 0, 722, 723, 724, 725, 726, 727, 729, 17651 689, 730, 731, 732, 737, 738, 846, 733, 734, 735, 17652 736, 847, 740, 741, 742, 743, 0, 744, 745, 0, 17653 739, 728, 0, 746, 747, 748, 749, 750, 751, 752, 17654 753, 754, 755, 0, 756, 848, 849, 850, 851, 0, 17655 768, 0, 757, 759, 760, 761, 762, 852, 763, 853, 17656 0, 764, 765, 766, 767, 758, 769, 770, 0, 0, 17657 771, 772, 773, 774, 776, 778, 779, 780, 775, 777, 17658 781, 0, 782, 0, 0, 783, 784, 785, 854, 855, 17659 856, 0, 787, 788, 786, 789, 790, 793, 791, 792, 17660 857, 796, 513, 797, 798, 799, 794, 795, 0, 0, 17661 0, 0, 800, 801, 858, 802, 803, 804, 2907, 0, 17662 1733, 1732, 0, 0, 0, 0, 1730, 0, 0, 0, 17663 0, 0, 0, 0, 0, 0, 0, 345, 346, 348, 17664 347, 349, 350, 351, 352, 0, 353, 354, 0, 0, 17665 0, 0, 0, 805, 0, 0, 0, 356, 0, 355, 17666 0, 357, 358, 359, 874, 360, 361, 362, 363, 364, 17667 365, 366, 367, 806, 807, 0, 368, 808, 369, 809, 17668 0, 810, 370, 371, 372, 373, 374, 375, 376, 377, 17669 378, 379, 0, 0, 0, 380, 811, 812, 813, 0, 17670 381, 382, 383, 384, 814, 0, 875, 0, 385, 386, 17671 387, 388, 389, 390, 391, 392, 0, 0, 394, 395, 17672 396, 393, 397, 398, 0, 399, 0, 400, 401, 402, 17673 403, 404, 405, 406, 0, 407, 408, 409, 876, 410, 17674 411, 412, 0, 0, 0, 0, 0, 0, 0, 413, 17675 414, 415, 416, 417, 0, 418, 420, 421, 815, 422, 17676 816, 0, 425, 427, 419, 423, 0, 426, 424, 428, 17677 429, 0, 430, 431, 432, 433, 0, 0, 434, 435, 17678 436, 0, 437, 438, 440, 439, 0, 441, 442, 443, 17679 0, 444, 445, 817, 446, 447, 448, 450, 452, 449, 17680 451, 453, 454, 455, 456, 457, 818, 819, 458, 459, 17681 0, 340, 0, 0, 0, 0, 0, 460, 461, 462, 17682 820, 0, 0, 0, 463, 0, 465, 469, 466, 467, 17683 468, 470, 0, 464, 471, 472, 0, 877, 473, 474, 17684 475, 821, 822, 476, 477, 478, 479, 480, 481, 482, 17685 483, 484, 0, 485, 486, 823, 0, 824, 487, 0, 17686 488, 489, 490, 491, 492, 493, 494, 2036, 826, 827, 17687 595, 879, 495, 496, 497, 0, 498, 499, 500, 501, 17688 502, 503, 504, 0, 0, 0, 505, 506, 507, 508, 17689 0, 0, 0, 0, 878, 828, 509, 596, 510, 829, 17690 830, 0, 831, 0, 511, 512, 515, 880, 832, 881, 17691 514, 516, 517, 882, 518, 0, 0, 0, 519, 520, 17692 521, 522, 523, 524, 525, 0, 526, 528, 527, 0, 17693 530, 833, 529, 883, 531, 532, 884, 0, 533, 534, 17694 535, 536, 537, 538, 541, 0, 0, 539, 540, 542, 17695 543, 0, 544, 545, 547, 550, 546, 548, 549, 551, 17696 552, 565, 566, 553, 554, 555, 556, 557, 558, 559, 17697 560, 561, 562, 563, 564, 568, 0, 567, 885, 569, 17698 570, 571, 572, 573, 581, 583, 584, 579, 580, 582, 17699 585, 586, 588, 589, 576, 577, 578, 886, 587, 574, 17700 0, 575, 0, 887, 590, 591, 592, 593, 0, 834, 17701 594, 835, 597, 598, 0, 0, 599, 0, 600, 0, 17702 0, 602, 603, 604, 0, 0, 605, 606, 836, 888, 17703 607, 889, 837, 608, 609, 601, 610, 611, 612, 613, 17704 614, 615, 616, 617, 618, 619, 0, 620, 621, 838, 17705 622, 623, 624, 839, 625, 626, 627, 840, 628, 841, 17706 629, 630, 0, 631, 632, 633, 0, 634, 635, 636, 17707 637, 638, 639, 640, 641, 642, 643, 842, 644, 645, 17708 647, 646, 648, 649, 0, 650, 0, 651, 652, 653, 17709 0, 0, 0, 0, 0, 654, 655, 657, 0, 658, 17710 659, 660, 661, 662, 656, 663, 664, 665, 666, 667, 17711 668, 669, 0, 671, 672, 670, 673, 674, 890, 675, 17712 676, 677, 678, 679, 843, 680, 0, 681, 682, 690, 17713 691, 692, 683, 684, 686, 693, 685, 694, 695, 696, 17714 697, 699, 698, 0, 701, 702, 700, 703, 704, 705, 17715 706, 0, 707, 844, 708, 687, 688, 709, 710, 711, 17716 891, 712, 713, 714, 715, 716, 717, 718, 719, 720, 17717 845, 0, 721, 0, 722, 723, 724, 725, 726, 727, 17718 729, 689, 730, 731, 732, 737, 738, 846, 733, 734, 17719 735, 736, 847, 740, 741, 742, 743, 0, 744, 745, 17720 0, 739, 728, 0, 746, 747, 748, 749, 750, 751, 17721 752, 753, 754, 755, 0, 756, 848, 849, 850, 851, 17722 0, 768, 0, 757, 759, 760, 761, 762, 852, 763, 17723 853, 0, 764, 765, 766, 767, 758, 769, 770, 0, 17724 0, 771, 772, 773, 774, 776, 778, 779, 780, 775, 17725 777, 781, 0, 782, 0, 0, 783, 784, 785, 854, 17726 855, 856, 0, 787, 788, 786, 789, 790, 793, 791, 17727 792, 857, 796, 513, 797, 798, 799, 794, 795, 0, 17728 0, 0, 0, 800, 801, 858, 802, 803, 804, 2483, 17729 0, 1733, 1732, 0, 0, 0, 0, 1730, 0, 0, 17730 0, 0, 0, 0, 0, 0, 0, 0, 345, 346, 17731 348, 347, 349, 350, 351, 352, 0, 353, 354, 0, 17732 0, 0, 0, 0, 805, 0, 0, 0, 356, 0, 17733 355, 0, 357, 358, 359, 874, 360, 361, 362, 363, 17734 364, 365, 366, 367, 806, 807, 0, 368, 808, 369, 17735 809, 0, 810, 370, 371, 372, 373, 374, 375, 376, 17736 377, 378, 379, 0, 0, 0, 380, 811, 812, 813, 17737 0, 381, 382, 383, 384, 814, 0, 875, 0, 385, 17738 386, 387, 388, 389, 390, 391, 392, 0, 0, 394, 17739 395, 396, 393, 397, 398, 0, 399, 0, 400, 401, 17740 402, 403, 404, 405, 406, 0, 407, 408, 409, 876, 17741 410, 411, 412, 0, 0, 0, 0, 0, 0, 0, 17742 413, 414, 415, 416, 417, 0, 418, 420, 421, 815, 17743 422, 816, 0, 425, 427, 419, 423, 0, 426, 424, 17744 428, 429, 0, 430, 431, 432, 433, 0, 0, 434, 17745 435, 436, 0, 437, 438, 440, 439, 0, 441, 442, 17746 443, 0, 444, 445, 817, 446, 447, 448, 450, 452, 17747 449, 451, 453, 454, 455, 456, 457, 818, 819, 458, 17748 459, 0, 340, 0, 0, 0, 0, 0, 460, 461, 17749 462, 820, 0, 0, 0, 463, 0, 465, 469, 466, 17750 467, 468, 470, 0, 464, 471, 472, 0, 877, 473, 17751 474, 475, 821, 822, 476, 477, 478, 479, 480, 481, 17752 482, 483, 484, 0, 485, 486, 823, 0, 824, 487, 17753 0, 488, 489, 490, 491, 492, 493, 494, 825, 826, 17754 827, 595, 879, 495, 496, 497, 0, 498, 499, 500, 17755 501, 502, 503, 504, 0, 0, 0, 505, 506, 507, 17756 508, 0, 0, 0, 0, 878, 828, 509, 596, 510, 17757 829, 830, 0, 831, 0, 511, 512, 515, 880, 832, 17758 881, 514, 516, 517, 882, 518, 0, 0, 0, 519, 17759 520, 521, 522, 523, 524, 525, 0, 526, 528, 527, 17760 0, 530, 833, 529, 883, 531, 532, 884, 0, 533, 17761 534, 535, 536, 537, 538, 541, 0, 0, 539, 540, 17762 542, 543, 0, 544, 545, 547, 550, 546, 548, 549, 17763 551, 552, 565, 566, 553, 554, 555, 556, 557, 558, 17764 559, 560, 561, 562, 563, 564, 568, 0, 567, 885, 17765 569, 570, 571, 572, 573, 581, 583, 584, 579, 580, 17766 582, 585, 586, 588, 589, 576, 577, 578, 886, 587, 17767 574, 0, 575, 0, 887, 590, 591, 592, 593, 0, 17768 834, 594, 835, 597, 598, 0, 0, 599, 0, 600, 17769 0, 0, 602, 603, 604, 0, 0, 605, 606, 836, 17770 888, 607, 889, 837, 608, 609, 601, 610, 611, 612, 17771 613, 614, 615, 616, 617, 618, 619, 0, 620, 621, 17772 838, 622, 623, 624, 839, 625, 626, 627, 840, 628, 17773 841, 629, 630, 0, 631, 632, 633, 0, 634, 635, 17774 636, 637, 638, 639, 640, 641, 642, 643, 842, 644, 17775 645, 647, 646, 648, 649, 0, 650, 0, 651, 652, 17776 653, 0, 0, 0, 0, 0, 654, 655, 657, 0, 17777 658, 659, 660, 661, 662, 656, 663, 664, 665, 666, 17778 667, 668, 669, 0, 671, 672, 670, 673, 674, 890, 17779 675, 676, 677, 678, 679, 843, 680, 0, 681, 682, 17780 690, 691, 692, 683, 684, 686, 693, 685, 694, 695, 17781 696, 697, 699, 698, 0, 701, 702, 700, 703, 704, 17782 705, 706, 0, 707, 844, 708, 687, 688, 709, 710, 17783 711, 891, 712, 713, 714, 715, 716, 717, 718, 719, 17784 720, 845, 0, 721, 0, 722, 723, 724, 725, 726, 17785 727, 729, 689, 730, 731, 732, 737, 738, 846, 733, 17786 734, 735, 736, 847, 740, 741, 742, 743, 0, 744, 17787 745, 0, 739, 728, 0, 746, 747, 748, 749, 750, 17788 751, 752, 753, 754, 755, 0, 756, 848, 849, 850, 17789 851, 0, 768, 0, 757, 759, 760, 761, 762, 852, 17790 763, 853, 0, 764, 765, 766, 767, 758, 769, 770, 17791 0, 0, 771, 772, 773, 774, 776, 778, 779, 780, 17792 775, 777, 781, 0, 782, 0, 0, 783, 784, 785, 17793 854, 855, 856, 0, 787, 788, 786, 789, 790, 793, 17794 791, 792, 857, 796, 513, 797, 798, 799, 794, 795, 17795 0, 0, 0, 0, 800, 801, 858, 802, 803, 804, 17796 2033, 0, 1733, 1732, 0, 0, 0, 0, 1730, 0, 17797 0, 0, 0, 0, 0, 0, 0, 0, 0, 345, 17798 346, 348, 347, 349, 350, 351, 352, 0, 353, 354, 17799 0, 0, 0, 0, 0, 805, 0, 0, 0, 356, 17800 0, 355, 0, 357, 358, 359, 874, 360, 361, 362, 17801 363, 364, 365, 366, 367, 806, 807, 0, 368, 808, 17802 369, 809, 0, 810, 370, 371, 372, 373, 374, 375, 17803 376, 377, 378, 379, 0, 0, 0, 380, 811, 812, 17804 813, 0, 381, 382, 383, 384, 814, 0, 875, 0, 17805 385, 386, 387, 388, 389, 390, 391, 392, 0, 0, 17806 394, 395, 396, 393, 397, 398, 0, 399, 0, 400, 17807 401, 402, 403, 404, 405, 406, 0, 407, 408, 409, 17808 876, 410, 411, 412, 0, 0, 0, 0, 0, 0, 17809 0, 413, 414, 415, 416, 417, 0, 418, 420, 421, 17810 815, 422, 816, 0, 425, 427, 419, 423, 0, 426, 17811 424, 428, 429, 0, 430, 431, 432, 433, 0, 0, 17812 434, 435, 436, 0, 437, 438, 440, 439, 0, 441, 17813 442, 443, 0, 444, 445, 817, 446, 447, 448, 450, 17814 452, 449, 451, 453, 454, 455, 456, 457, 818, 819, 17815 458, 459, 0, 340, 0, 0, 0, 0, 0, 460, 17816 461, 462, 820, 0, 0, 0, 463, 0, 465, 469, 17817 466, 467, 468, 470, 0, 464, 471, 472, 0, 877, 17818 473, 474, 475, 821, 822, 476, 477, 478, 479, 480, 17819 481, 482, 483, 484, 0, 485, 486, 823, 0, 824, 17820 487, 0, 488, 489, 490, 491, 492, 493, 494, 2036, 17821 826, 827, 595, 879, 495, 496, 497, 0, 498, 499, 17822 500, 501, 502, 503, 504, 0, 0, 0, 505, 506, 17823 507, 508, 0, 0, 0, 0, 878, 828, 509, 596, 17824 510, 829, 830, 0, 831, 0, 511, 512, 515, 880, 17825 832, 881, 514, 516, 517, 882, 518, 0, 0, 0, 17826 519, 520, 521, 522, 523, 524, 525, 0, 526, 528, 17827 527, 0, 530, 833, 529, 883, 531, 532, 884, 0, 17828 533, 534, 535, 536, 537, 538, 541, 0, 0, 539, 17829 540, 542, 543, 0, 544, 545, 547, 550, 546, 548, 17830 549, 551, 552, 565, 566, 553, 554, 555, 556, 557, 17831 558, 559, 560, 561, 562, 563, 564, 568, 0, 567, 17832 885, 569, 570, 571, 572, 573, 581, 583, 584, 579, 17833 580, 582, 585, 586, 588, 589, 576, 577, 578, 886, 17834 587, 574, 0, 575, 0, 887, 590, 591, 592, 593, 17835 0, 834, 594, 835, 597, 598, 0, 0, 599, 0, 17836 600, 0, 0, 602, 603, 604, 0, 0, 605, 606, 17837 836, 888, 607, 889, 837, 608, 609, 601, 610, 611, 17838 612, 613, 614, 615, 616, 617, 618, 619, 0, 620, 17839 621, 838, 622, 623, 624, 839, 625, 626, 627, 840, 17840 628, 841, 629, 630, 0, 631, 632, 633, 0, 634, 17841 635, 636, 637, 638, 639, 640, 641, 642, 643, 842, 17842 644, 645, 647, 646, 648, 649, 0, 650, 0, 651, 17843 652, 653, 0, 0, 0, 0, 0, 654, 655, 657, 17844 0, 658, 659, 660, 661, 662, 656, 663, 664, 665, 17845 666, 667, 668, 669, 0, 671, 672, 670, 673, 674, 17846 890, 675, 676, 677, 678, 679, 843, 680, 0, 681, 17847 682, 690, 691, 692, 683, 684, 686, 693, 685, 694, 17848 695, 696, 697, 699, 698, 0, 701, 702, 700, 703, 17849 704, 705, 706, 0, 707, 844, 708, 687, 688, 709, 17850 710, 711, 891, 712, 713, 714, 715, 716, 717, 718, 17851 719, 720, 845, 0, 721, 0, 722, 723, 724, 725, 17852 726, 727, 729, 689, 730, 731, 732, 737, 738, 846, 17853 733, 734, 735, 736, 847, 740, 741, 742, 743, 0, 17854 744, 745, 0, 739, 728, 0, 746, 747, 748, 749, 17855 750, 751, 752, 753, 754, 755, 0, 756, 848, 849, 17856 850, 851, 0, 768, 0, 757, 759, 760, 761, 762, 17857 852, 763, 853, 0, 764, 765, 766, 767, 758, 769, 17858 770, 0, 0, 771, 772, 773, 774, 776, 778, 779, 17859 780, 775, 777, 781, 0, 782, 0, 0, 783, 784, 17860 785, 854, 855, 856, 0, 787, 788, 786, 789, 790, 17861 793, 791, 792, 857, 796, 513, 797, 798, 799, 794, 17862 795, 0, 0, 0, 0, 800, 801, 858, 802, 803, 17863 804, 1983, 0, 1733, 1732, 0, 0, 0, 0, 1730, 17864 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17865 345, 346, 348, 347, 349, 350, 351, 352, 0, 353, 17866 354, 0, 0, 0, 0, 0, 805, 0, 0, 0, 17867 356, 0, 355, 0, 357, 358, 359, 874, 360, 361, 17868 362, 363, 364, 365, 366, 367, 806, 807, 0, 368, 17869 808, 369, 809, 0, 810, 370, 371, 372, 373, 374, 17870 375, 376, 377, 378, 379, 0, 0, 0, 380, 811, 17871 812, 813, 0, 381, 382, 383, 384, 814, 0, 875, 17872 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 17873 0, 394, 395, 396, 393, 397, 398, 0, 399, 0, 17874 400, 401, 402, 403, 404, 405, 406, 0, 407, 408, 17875 409, 876, 410, 411, 412, 0, 0, 0, 0, 0, 17876 0, 0, 413, 414, 415, 416, 417, 0, 418, 420, 17877 421, 815, 422, 816, 0, 425, 427, 419, 423, 0, 17878 426, 424, 428, 429, 0, 430, 431, 432, 433, 0, 17879 0, 434, 435, 436, 0, 437, 438, 440, 439, 0, 17880 441, 442, 443, 0, 444, 445, 817, 446, 447, 448, 17881 450, 452, 449, 451, 453, 454, 455, 456, 457, 818, 17882 819, 458, 459, 0, 340, 0, 0, 0, 0, 0, 17883 460, 461, 462, 820, 0, 0, 0, 463, 0, 465, 17884 469, 466, 467, 468, 470, 0, 464, 471, 472, 0, 17885 877, 473, 474, 475, 821, 822, 476, 477, 478, 479, 17886 480, 481, 482, 483, 484, 0, 485, 486, 823, 0, 17887 824, 487, 0, 488, 489, 490, 491, 492, 493, 494, 17888 825, 826, 827, 595, 879, 495, 496, 497, 0, 498, 17889 499, 500, 501, 502, 503, 504, 0, 0, 0, 505, 17890 506, 507, 508, 0, 0, 0, 0, 878, 828, 509, 17891 596, 510, 829, 830, 0, 831, 0, 511, 512, 515, 17892 880, 832, 881, 514, 516, 517, 882, 518, 0, 0, 17893 0, 519, 520, 521, 522, 523, 524, 525, 0, 526, 17894 528, 527, 0, 530, 833, 529, 883, 531, 532, 884, 17895 0, 533, 534, 535, 536, 537, 538, 541, 0, 0, 17896 539, 540, 542, 543, 0, 544, 545, 547, 550, 546, 17897 548, 549, 551, 552, 565, 566, 553, 554, 555, 556, 17898 557, 558, 559, 560, 561, 562, 563, 564, 568, 0, 17899 567, 885, 569, 570, 571, 572, 573, 581, 583, 584, 17900 579, 580, 582, 585, 586, 588, 589, 576, 577, 578, 17901 886, 587, 574, 0, 575, 0, 887, 590, 591, 592, 17902 593, 0, 834, 594, 835, 597, 598, 0, 0, 599, 17903 0, 600, 0, 0, 602, 603, 604, 0, 0, 605, 17904 606, 836, 888, 607, 889, 837, 608, 609, 601, 610, 17905 611, 612, 613, 614, 615, 616, 617, 618, 619, 0, 17906 620, 621, 838, 622, 623, 624, 839, 625, 626, 627, 17907 840, 628, 841, 629, 630, 0, 631, 632, 633, 0, 17908 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 17909 842, 644, 645, 647, 646, 648, 649, 0, 650, 0, 17910 651, 652, 653, 0, 0, 0, 0, 0, 654, 655, 17911 657, 0, 658, 659, 660, 661, 662, 656, 663, 664, 17912 665, 666, 667, 668, 669, 0, 671, 672, 670, 673, 17913 674, 890, 675, 676, 677, 678, 679, 843, 680, 0, 17914 681, 682, 690, 691, 692, 1981, 684, 686, 693, 685, 17915 694, 695, 696, 697, 699, 698, 0, 701, 702, 700, 17916 703, 704, 705, 706, 0, 707, 844, 708, 687, 688, 17917 709, 710, 711, 891, 712, 713, 714, 715, 716, 717, 17918 718, 719, 720, 845, 0, 721, 0, 722, 723, 724, 17919 725, 726, 727, 729, 689, 730, 731, 732, 737, 738, 17920 846, 733, 734, 735, 736, 847, 740, 741, 742, 743, 17921 0, 744, 745, 0, 739, 728, 0, 746, 747, 748, 17922 749, 750, 751, 752, 753, 754, 755, 0, 756, 848, 17923 849, 850, 851, 0, 768, 0, 757, 759, 760, 761, 17924 762, 852, 763, 853, 0, 764, 765, 766, 767, 758, 17925 769, 770, 0, 0, 771, 772, 773, 774, 776, 778, 17926 779, 780, 775, 777, 781, 0, 782, 0, 0, 783, 17927 784, 785, 854, 855, 856, 0, 787, 788, 786, 789, 17928 790, 793, 791, 792, 857, 796, 513, 797, 798, 799, 17929 794, 795, 0, 0, 0, 0, 800, 801, 858, 802, 17930 803, 804, 1728, 0, 1733, 1732, 0, 0, 0, 0, 17931 1730, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17932 0, 345, 346, 348, 347, 349, 350, 351, 352, 0, 17933 353, 354, 0, 0, 0, 0, 0, 805, 0, 0, 17934 0, 356, 0, 355, 0, 357, 358, 359, 874, 360, 17935 361, 362, 363, 364, 365, 366, 367, 806, 807, 0, 17936 368, 808, 369, 809, 0, 810, 370, 371, 372, 373, 17937 374, 375, 376, 377, 378, 379, 0, 0, 0, 380, 17938 811, 812, 813, 0, 381, 382, 383, 384, 814, 0, 17939 875, 0, 385, 386, 387, 388, 389, 390, 391, 392, 17940 0, 0, 394, 395, 396, 393, 1727, 398, 0, 399, 17941 0, 400, 401, 402, 403, 404, 405, 406, 0, 407, 17942 408, 409, 876, 410, 411, 412, 0, 0, 0, 0, 17943 0, 0, 0, 413, 414, 415, 416, 417, 0, 418, 17944 420, 421, 815, 422, 816, 0, 425, 427, 419, 423, 17945 0, 426, 424, 428, 429, 0, 430, 431, 432, 433, 17946 0, 0, 434, 435, 436, 0, 437, 438, 440, 439, 17947 0, 441, 442, 443, 0, 444, 445, 817, 446, 447, 17948 448, 450, 452, 449, 451, 453, 454, 455, 456, 457, 17949 818, 819, 458, 459, 0, 340, 0, 0, 0, 0, 17950 0, 1724, 461, 462, 820, 0, 0, 0, 463, 0, 17951 465, 469, 466, 467, 468, 470, 0, 464, 471, 472, 17952 0, 877, 473, 474, 475, 821, 822, 476, 477, 478, 17953 479, 480, 481, 482, 483, 484, 0, 485, 486, 823, 17954 0, 824, 487, 0, 488, 489, 490, 491, 492, 493, 17955 494, 825, 826, 827, 595, 879, 495, 496, 497, 0, 17956 498, 499, 500, 501, 502, 503, 504, 0, 0, 0, 17957 505, 506, 507, 508, 0, 0, 0, 0, 878, 828, 17958 509, 596, 510, 829, 830, 0, 831, 0, 511, 512, 17959 515, 880, 832, 881, 514, 516, 517, 882, 518, 0, 17960 0, 0, 519, 520, 521, 522, 523, 524, 525, 0, 17961 526, 528, 527, 0, 530, 833, 529, 883, 531, 532, 17962 884, 0, 533, 534, 535, 536, 537, 538, 541, 0, 17963 0, 539, 540, 542, 543, 0, 544, 545, 547, 550, 17964 546, 548, 549, 551, 552, 565, 566, 553, 554, 555, 17965 556, 557, 558, 559, 560, 561, 562, 563, 564, 568, 17966 0, 567, 885, 569, 570, 571, 572, 573, 581, 583, 17967 584, 579, 580, 582, 585, 586, 588, 589, 576, 577, 17968 578, 886, 587, 574, 0, 575, 0, 887, 590, 591, 17969 592, 593, 0, 834, 594, 835, 597, 598, 0, 0, 17970 599, 0, 600, 0, 0, 602, 603, 604, 0, 0, 17971 605, 606, 836, 888, 607, 889, 837, 608, 609, 601, 17972 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 17973 0, 620, 621, 838, 622, 623, 624, 839, 625, 626, 17974 627, 840, 628, 841, 629, 630, 0, 631, 632, 633, 17975 0, 634, 635, 636, 637, 638, 639, 640, 641, 1725, 17976 643, 842, 644, 645, 647, 646, 648, 649, 0, 650, 17977 0, 651, 652, 653, 0, 0, 0, 0, 0, 654, 17978 655, 657, 0, 658, 659, 660, 661, 662, 656, 663, 17979 664, 665, 666, 667, 668, 669, 0, 671, 672, 670, 17980 673, 674, 890, 675, 676, 677, 678, 679, 843, 680, 17981 0, 681, 682, 690, 691, 692, 683, 684, 686, 693, 17982 685, 1723, 695, 696, 697, 699, 698, 0, 701, 702, 17983 700, 703, 704, 705, 706, 0, 707, 844, 708, 687, 17984 688, 709, 710, 711, 891, 712, 713, 714, 715, 716, 17985 717, 718, 719, 720, 845, 0, 721, 0, 722, 723, 17986 724, 725, 726, 727, 729, 689, 730, 731, 732, 737, 17987 738, 846, 733, 734, 735, 736, 847, 740, 741, 742, 17988 743, 0, 744, 745, 0, 739, 728, 0, 746, 747, 17989 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 17990 848, 849, 850, 851, 0, 768, 0, 757, 759, 760, 17991 761, 762, 852, 763, 853, 0, 764, 765, 766, 767, 17992 758, 769, 770, 0, 0, 771, 772, 773, 774, 776, 17993 778, 779, 780, 775, 777, 781, 0, 782, 0, 0, 17994 783, 1726, 785, 854, 855, 856, 0, 787, 788, 786, 17995 789, 790, 793, 791, 792, 857, 796, 513, 797, 798, 17996 799, 794, 795, 0, 0, 0, 0, 800, 801, 858, 17997 802, 803, 804, 1733, 1732, 0, 0, 0, 0, 1730, 17998 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17999 345, 346, 348, 347, 349, 350, 351, 352, 0, 353, 18000 354, 0, 0, 0, 0, 0, 805, 0, 0, 0, 18001 356, 0, 355, 0, 357, 358, 359, 874, 360, 361, 18002 362, 363, 364, 365, 366, 367, 806, 807, 0, 368, 18003 808, 369, 809, 0, 810, 370, 371, 372, 373, 374, 18004 375, 376, 377, 378, 379, 0, 0, 0, 380, 811, 18005 812, 813, 0, 381, 382, 383, 384, 814, 0, 875, 18006 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 18007 0, 394, 395, 396, 393, 397, 398, 0, 399, 0, 18008 400, 401, 402, 403, 404, 405, 406, 0, 407, 408, 18009 409, 876, 410, 411, 412, 0, 0, 0, 0, 0, 18010 0, 0, 413, 414, 415, 416, 417, 0, 418, 420, 18011 421, 815, 422, 816, 0, 425, 427, 419, 423, 0, 18012 426, 424, 428, 429, 0, 430, 431, 432, 433, 0, 18013 0, 434, 435, 436, 0, 437, 438, 440, 439, 0, 18014 441, 442, 443, 0, 444, 445, 817, 446, 447, 448, 18015 450, 452, 449, 451, 453, 454, 455, 456, 457, 818, 18016 819, 458, 459, 0, 340, 0, 0, 0, 0, 0, 18017 460, 461, 462, 820, 0, 0, 0, 463, 0, 465, 18018 469, 466, 467, 468, 470, 0, 464, 471, 472, 0, 18019 877, 473, 474, 475, 821, 822, 476, 477, 478, 479, 18020 480, 481, 482, 483, 484, 0, 485, 486, 823, 0, 18021 824, 487, 0, 488, 489, 490, 491, 492, 493, 494, 18022 825, 826, 827, 595, 879, 495, 496, 497, 0, 498, 18023 499, 500, 501, 502, 503, 504, 0, 0, 0, 505, 18024 506, 507, 508, 0, 0, 0, 0, 878, 828, 509, 18025 596, 510, 829, 830, 0, 831, 0, 511, 512, 515, 18026 880, 832, 881, 514, 516, 517, 882, 518, 0, 0, 18027 0, 519, 520, 521, 522, 523, 524, 525, 0, 526, 18028 528, 527, 0, 530, 833, 529, 883, 531, 532, 884, 18029 0, 533, 534, 535, 536, 537, 538, 541, 0, 0, 18030 539, 540, 542, 543, 0, 544, 545, 547, 550, 546, 18031 548, 549, 551, 552, 565, 566, 553, 554, 555, 556, 18032 557, 558, 559, 560, 561, 562, 563, 564, 568, 0, 18033 567, 885, 569, 570, 571, 572, 573, 581, 583, 584, 18034 579, 580, 582, 585, 586, 588, 589, 576, 577, 578, 18035 886, 587, 574, 0, 575, 0, 887, 590, 591, 592, 18036 593, 0, 834, 594, 835, 597, 598, 0, 0, 599, 18037 0, 600, 0, 0, 602, 603, 604, 0, 0, 605, 18038 606, 836, 888, 607, 889, 837, 608, 609, 601, 610, 18039 611, 612, 613, 614, 615, 616, 617, 618, 619, 0, 18040 620, 621, 838, 622, 623, 624, 839, 625, 626, 627, 18041 840, 628, 841, 629, 630, 0, 631, 632, 633, 0, 18042 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 18043 842, 644, 645, 647, 646, 648, 649, 0, 650, 0, 18044 651, 652, 653, 0, 0, 0, 0, 0, 654, 655, 18045 657, 0, 658, 659, 660, 661, 662, 656, 663, 664, 18046 665, 666, 667, 668, 669, 0, 671, 672, 670, 673, 18047 674, 890, 675, 676, 677, 678, 679, 843, 680, 0, 18048 681, 682, 690, 691, 692, 683, 684, 686, 693, 685, 18049 694, 695, 696, 697, 699, 698, 0, 701, 702, 700, 18050 703, 704, 705, 706, 0, 707, 844, 708, 687, 688, 18051 709, 710, 711, 891, 712, 713, 714, 715, 716, 717, 18052 718, 719, 720, 845, 0, 721, 0, 722, 723, 724, 18053 725, 726, 727, 729, 689, 730, 731, 732, 737, 738, 18054 846, 733, 734, 735, 736, 847, 740, 741, 742, 743, 18055 0, 744, 745, 0, 739, 728, 0, 746, 747, 748, 18056 749, 750, 751, 752, 753, 754, 755, 0, 756, 848, 18057 849, 850, 851, 0, 768, 0, 757, 759, 760, 761, 18058 762, 852, 763, 853, 0, 764, 765, 766, 767, 758, 18059 769, 770, 0, 0, 771, 772, 773, 774, 776, 778, 18060 779, 780, 775, 777, 781, 0, 782, 0, 0, 783, 18061 784, 785, 854, 855, 856, 0, 787, 788, 786, 789, 18062 790, 793, 791, 792, 857, 796, 513, 797, 798, 799, 18063 794, 795, 1733, 1732, 0, 0, 800, 801, 858, 802, 18064 803, 804, 0, 0, 0, 0, 0, 0, 0, 345, 18065 346, 348, 347, 349, 350, 351, 352, 0, 353, 354, 18066 0, 0, 0, 0, 0, 805, 0, 0, 0, 356, 18067 0, 355, 0, 357, 358, 359, 874, 360, 361, 362, 18068 363, 364, 365, 366, 367, 806, 807, 0, 368, 808, 18069 369, 809, 0, 810, 370, 371, 372, 373, 374, 375, 18070 376, 377, 378, 379, 0, 0, 0, 380, 811, 812, 18071 813, 0, 381, 382, 383, 384, 814, 0, 875, 0, 18072 385, 386, 387, 388, 389, 390, 391, 392, 0, 0, 18073 394, 395, 396, 393, 397, 398, 0, 399, 0, 400, 18074 401, 402, 403, 404, 405, 406, 0, 407, 408, 409, 18075 876, 410, 411, 412, 0, 0, 0, 0, 0, 0, 18076 0, 413, 414, 415, 416, 417, 0, 418, 420, 421, 18077 815, 422, 816, 0, 425, 427, 419, 423, 0, 426, 18078 424, 428, 429, 0, 430, 431, 432, 433, 0, 0, 18079 434, 435, 436, 0, 437, 438, 440, 439, 0, 441, 18080 442, 443, 0, 444, 445, 817, 446, 447, 448, 450, 18081 452, 449, 451, 453, 454, 455, 456, 457, 818, 819, 18082 458, 459, 0, 340, 0, 0, 0, 0, 0, 460, 18083 461, 462, 820, 0, 0, 0, 463, 0, 465, 469, 18084 466, 467, 468, 470, 0, 464, 471, 472, 0, 877, 18085 473, 474, 475, 821, 822, 476, 477, 478, 479, 480, 18086 481, 482, 483, 484, 0, 485, 486, 823, 0, 824, 18087 487, 0, 488, 489, 490, 491, 492, 493, 494, 825, 18088 826, 827, 595, 879, 495, 496, 497, 0, 498, 499, 18089 500, 501, 502, 503, 504, 0, 0, 0, 505, 506, 18090 507, 508, 0, 0, 0, 0, 878, 828, 509, 596, 18091 510, 829, 830, 0, 831, 0, 511, 512, 515, 880, 18092 832, 881, 514, 516, 517, 882, 518, 0, 0, 0, 18093 519, 520, 521, 522, 523, 524, 525, 0, 526, 528, 18094 527, 0, 530, 833, 529, 883, 531, 532, 884, 0, 18095 533, 534, 535, 536, 537, 538, 541, 0, 0, 539, 18096 540, 542, 543, 0, 544, 545, 547, 550, 546, 548, 18097 549, 551, 552, 565, 566, 553, 554, 555, 556, 557, 18098 558, 559, 560, 561, 562, 563, 564, 568, 0, 567, 18099 885, 569, 570, 571, 572, 573, 581, 583, 584, 579, 18100 580, 582, 585, 586, 588, 589, 576, 577, 578, 886, 18101 587, 574, 0, 575, 0, 887, 590, 591, 592, 593, 18102 0, 834, 594, 835, 597, 598, 0, 0, 599, 0, 18103 600, 0, 0, 602, 603, 604, 0, 0, 605, 606, 18104 836, 888, 607, 889, 837, 608, 609, 601, 610, 611, 18105 612, 613, 614, 615, 616, 617, 618, 619, 0, 620, 18106 621, 838, 622, 623, 624, 839, 625, 626, 627, 840, 18107 628, 841, 629, 630, 0, 631, 632, 633, 0, 634, 18108 635, 636, 637, 638, 639, 640, 641, 642, 643, 842, 18109 644, 645, 647, 646, 648, 649, 0, 650, 0, 651, 18110 652, 653, 0, 0, 0, 0, 0, 654, 655, 657, 18111 0, 658, 659, 660, 661, 662, 656, 663, 664, 665, 18112 666, 667, 668, 669, 0, 671, 672, 670, 673, 674, 18113 890, 675, 676, 677, 678, 679, 843, 680, 0, 681, 18114 682, 690, 691, 692, 683, 684, 686, 693, 685, 694, 18115 695, 696, 697, 699, 698, 0, 701, 702, 700, 703, 18116 704, 705, 706, 0, 707, 844, 708, 687, 688, 709, 18117 710, 711, 891, 712, 713, 714, 715, 716, 717, 718, 18118 719, 720, 845, 0, 721, 0, 722, 723, 724, 725, 18119 726, 727, 729, 689, 730, 731, 732, 737, 738, 846, 18120 733, 734, 735, 736, 847, 740, 741, 742, 743, 0, 18121 744, 745, 0, 739, 728, 0, 746, 747, 748, 749, 18122 750, 751, 752, 753, 754, 755, 0, 756, 848, 849, 18123 850, 851, 0, 768, 0, 757, 759, 760, 761, 762, 18124 852, 763, 853, 0, 764, 765, 766, 767, 758, 769, 18125 770, 0, 0, 771, 772, 773, 774, 776, 778, 779, 18126 780, 775, 777, 781, 0, 782, 0, 0, 783, 784, 18127 785, 854, 855, 856, 0, 787, 788, 786, 789, 790, 18128 793, 791, 792, 857, 796, 513, 797, 798, 799, 794, 18129 795, 1733, 0, 0, 0, 800, 801, 858, 802, 803, 18130 804, 0, 0, 0, 0, 0, 0, 0, 345, 346, 18131 348, 347, 349, 350, 351, 352, 0, 353, 354, 0, 18132 0, 0, 0, 0, 805, 0, 0, 0, 356, 0, 18133 355, 0, 357, 358, 359, 874, 360, 361, 362, 363, 18134 364, 365, 366, 367, 806, 807, 0, 368, 808, 369, 18135 809, 0, 810, 370, 371, 372, 373, 374, 375, 376, 18136 377, 378, 379, 0, 0, 0, 380, 811, 812, 813, 18137 0, 381, 382, 383, 384, 814, 0, 875, 0, 385, 18138 386, 387, 388, 389, 390, 391, 392, 0, 0, 394, 18139 395, 396, 393, 397, 398, 0, 399, 0, 400, 401, 18140 402, 403, 404, 405, 406, 0, 407, 408, 409, 876, 18141 410, 411, 412, 0, 0, 0, 0, 0, 0, 0, 18142 413, 414, 415, 416, 417, 0, 418, 420, 421, 815, 18143 422, 816, 0, 425, 427, 419, 423, 0, 426, 424, 18144 428, 429, 0, 430, 431, 432, 433, 0, 0, 434, 18145 435, 436, 0, 437, 438, 440, 439, 0, 441, 442, 18146 443, 0, 444, 445, 817, 446, 447, 448, 450, 452, 18147 449, 451, 453, 454, 455, 456, 457, 818, 819, 458, 18148 459, 0, 340, 0, 0, 0, 0, 0, 460, 461, 18149 462, 820, 0, 0, 0, 463, 0, 465, 469, 466, 18150 467, 468, 470, 0, 464, 471, 472, 0, 877, 473, 18151 474, 475, 821, 822, 476, 477, 478, 479, 480, 481, 18152 482, 483, 484, 0, 485, 486, 823, 0, 824, 487, 18153 0, 488, 489, 490, 491, 492, 493, 494, 825, 826, 18154 827, 595, 879, 495, 496, 497, 0, 498, 499, 500, 18155 501, 502, 503, 504, 0, 0, 0, 505, 506, 507, 18156 508, 0, 0, 0, 0, 878, 828, 509, 596, 510, 18157 829, 830, 0, 831, 0, 511, 512, 515, 880, 832, 18158 881, 514, 516, 517, 882, 518, 0, 0, 0, 519, 18159 520, 521, 522, 523, 524, 525, 0, 526, 528, 527, 18160 0, 530, 833, 529, 883, 531, 532, 884, 0, 533, 18161 534, 535, 536, 537, 538, 541, 0, 0, 539, 540, 18162 542, 543, 0, 544, 545, 547, 550, 546, 548, 549, 18163 551, 552, 565, 566, 553, 554, 555, 556, 557, 558, 18164 559, 560, 561, 562, 563, 564, 568, 0, 567, 885, 18165 569, 570, 571, 572, 573, 581, 583, 584, 579, 580, 18166 582, 585, 586, 588, 589, 576, 577, 578, 886, 587, 18167 574, 0, 575, 0, 887, 590, 591, 592, 593, 0, 18168 834, 594, 835, 597, 598, 0, 0, 599, 0, 600, 18169 0, 0, 602, 603, 604, 0, 0, 605, 606, 836, 18170 888, 607, 889, 837, 608, 609, 601, 610, 611, 612, 18171 613, 614, 615, 616, 617, 618, 619, 0, 620, 621, 18172 838, 622, 623, 624, 839, 625, 626, 627, 840, 628, 18173 841, 629, 630, 0, 631, 632, 633, 0, 634, 635, 18174 636, 637, 638, 639, 640, 641, 642, 643, 842, 644, 18175 645, 647, 646, 648, 649, 0, 650, 0, 651, 652, 18176 653, 0, 0, 0, 0, 0, 654, 655, 657, 0, 18177 658, 659, 660, 661, 662, 656, 663, 664, 665, 666, 18178 667, 668, 669, 0, 671, 672, 670, 673, 674, 890, 18179 675, 676, 677, 678, 679, 843, 680, 0, 681, 682, 18180 690, 691, 692, 683, 684, 686, 693, 685, 694, 695, 18181 696, 697, 699, 698, 0, 701, 702, 700, 703, 704, 18182 705, 706, 0, 707, 844, 708, 687, 688, 709, 710, 18183 711, 891, 712, 713, 714, 715, 716, 717, 718, 719, 18184 720, 845, 0, 721, 0, 722, 723, 724, 725, 726, 18185 727, 729, 689, 730, 731, 732, 737, 738, 846, 733, 18186 734, 735, 736, 847, 740, 741, 742, 743, 0, 744, 18187 745, 0, 739, 728, 0, 746, 747, 748, 749, 750, 18188 751, 752, 753, 754, 755, 0, 756, 848, 849, 850, 18189 851, 0, 768, 0, 757, 759, 760, 761, 762, 852, 18190 763, 853, 0, 764, 765, 766, 767, 758, 769, 770, 18191 0, 0, 771, 772, 773, 774, 776, 778, 779, 780, 18192 775, 777, 781, 0, 782, 0, 0, 783, 784, 785, 18193 854, 855, 856, 0, 787, 788, 786, 789, 790, 793, 18194 791, 792, 857, 796, 513, 797, 798, 799, 794, 795, 18195 337, 0, 0, 0, 800, 801, 858, 802, 803, 804, 18196 0, 0, 0, 0, 0, 0, 0, 345, 346, 348, 18197 347, 349, 350, 351, 352, 0, 353, 354, 0, 0, 18198 0, 0, 0, 805, 0, 0, 0, 356, 0, 355, 18199 0, 357, 358, 359, 0, 360, 361, 362, 363, 364, 18200 365, 366, 367, 806, 807, 0, 368, 808, 369, 809, 18201 0, 810, 370, 371, 372, 373, 374, 375, 376, 377, 18202 378, 379, 0, 0, 0, 380, 811, 812, 813, 4193, 18203 381, 382, 383, 384, 814, 0, 0, 0, 385, 386, 18204 387, 388, 389, 390, 391, 392, 0, 0, 394, 395, 18205 396, 393, 397, 398, 5086, 399, 0, 400, 401, 402, 18206 403, 404, 405, 406, 0, 407, 408, 409, 0, 410, 18207 411, 412, 0, 0, 0, 0, 0, 0, 0, 413, 18208 414, 415, 416, 417, 0, 418, 420, 421, 815, 422, 18209 816, 0, 425, 427, 419, 423, 0, 426, 424, 428, 18210 429, 0, 430, 431, 432, 433, 0, 0, 434, 435, 18211 436, 0, 437, 438, 440, 439, 0, 441, 442, 443, 18212 0, 4197, 445, 817, 446, 447, 448, 450, 452, 449, 18213 451, 453, 454, 455, 456, 457, 818, 819, 458, 459, 18214 0, 5085, 0, 0, 0, 0, 0, 460, 461, 462, 18215 820, 0, 0, 0, 463, 0, 465, 469, 466, 467, 18216 468, 470, 4196, 464, 471, 472, 0, 0, 473, 474, 18217 475, 821, 822, 476, 477, 478, 479, 480, 481, 482, 18218 483, 484, 0, 485, 486, 823, 0, 824, 487, 0, 18219 488, 489, 490, 491, 492, 493, 494, 825, 826, 827, 18220 595, 0, 495, 496, 497, 0, 498, 499, 500, 501, 18221 502, 503, 504, 0, 0, 0, 505, 506, 507, 508, 18222 0, 5081, 5082, 0, 0, 828, 509, 596, 510, 829, 18223 830, 0, 831, 0, 511, 5084, 515, 0, 832, 0, 18224 514, 516, 517, 0, 518, 0, 0, 0, 519, 520, 18225 521, 522, 523, 524, 525, 0, 526, 528, 527, 0, 18226 530, 833, 529, 0, 531, 532, 5080, 0, 533, 534, 18227 535, 536, 537, 538, 541, 0, 0, 539, 540, 542, 18228 543, 0, 544, 545, 547, 550, 546, 548, 549, 551, 18229 552, 565, 566, 553, 554, 555, 556, 557, 558, 559, 18230 560, 561, 562, 563, 564, 568, 0, 567, 0, 569, 18231 570, 571, 572, 573, 581, 583, 584, 579, 580, 582, 18232 585, 586, 588, 589, 576, 577, 578, 0, 587, 574, 18233 0, 575, 0, 0, 590, 591, 592, 593, 0, 834, 18234 594, 835, 597, 598, 0, 0, 599, 0, 600, 0, 18235 0, 602, 603, 604, 0, 0, 605, 606, 836, 0, 18236 607, 0, 837, 608, 609, 601, 610, 611, 612, 613, 18237 614, 615, 616, 617, 618, 619, 0, 620, 621, 838, 18238 622, 623, 624, 839, 625, 626, 627, 840, 628, 841, 18239 629, 630, 4195, 631, 632, 633, 0, 634, 635, 636, 18240 637, 638, 639, 640, 641, 642, 643, 842, 644, 645, 18241 647, 646, 648, 649, 0, 650, 0, 651, 652, 653, 18242 0, 0, 0, 0, 0, 654, 655, 657, 0, 658, 18243 659, 660, 661, 662, 656, 663, 664, 665, 666, 667, 18244 668, 669, 0, 671, 672, 670, 673, 674, 0, 675, 18245 676, 677, 678, 679, 843, 680, 0, 681, 682, 690, 18246 691, 692, 683, 684, 686, 693, 685, 694, 695, 696, 18247 697, 699, 698, 0, 701, 702, 700, 703, 704, 705, 18248 706, 0, 707, 844, 708, 687, 688, 709, 710, 711, 18249 0, 712, 713, 714, 715, 716, 717, 718, 719, 720, 18250 845, 0, 721, 0, 722, 723, 724, 725, 726, 727, 18251 729, 689, 730, 731, 732, 737, 738, 846, 733, 734, 18252 735, 736, 847, 740, 741, 742, 743, 0, 744, 745, 18253 0, 739, 728, 0, 746, 747, 748, 749, 750, 751, 18254 752, 753, 754, 755, 0, 756, 848, 849, 850, 851, 18255 0, 768, 0, 757, 759, 760, 761, 762, 852, 763, 18256 853, 0, 764, 765, 766, 767, 758, 769, 770, 0, 18257 5083, 771, 772, 773, 774, 776, 778, 779, 780, 775, 18258 777, 781, 0, 782, 0, 0, 783, 784, 785, 854, 18259 855, 856, 0, 787, 788, 786, 789, 790, 793, 791, 18260 792, 857, 796, 513, 797, 798, 799, 794, 795, 1830, 18261 0, 337, 0, 800, 801, 858, 802, 803, 804, 0, 18262 0, 0, 0, 0, 0, 0, 0, 0, 345, 346, 18263 348, 347, 349, 350, 351, 352, 1829, 353, 354, 0, 18264 0, 0, 0, 0, 805, 0, 0, 0, 356, 0, 18265 355, 0, 357, 358, 359, 0, 360, 361, 362, 363, 18266 364, 365, 366, 367, 806, 807, 0, 368, 808, 369, 18267 809, 0, 810, 370, 371, 372, 373, 374, 375, 376, 18268 377, 378, 379, 0, 0, 0, 380, 811, 812, 813, 18269 0, 381, 382, 383, 384, 814, 0, 0, 0, 385, 18270 386, 387, 388, 389, 390, 391, 392, 0, 0, 394, 18271 395, 396, 393, 397, 398, 0, 399, 0, 400, 401, 18272 402, 403, 404, 405, 406, 0, 407, 408, 409, 0, 18273 410, 411, 412, 0, 0, 0, 0, 0, 0, 0, 18274 413, 414, 415, 1824, 417, 0, 418, 420, 421, 815, 18275 422, 816, 0, 425, 427, 419, 423, 0, 426, 424, 18276 428, 429, 0, 430, 431, 432, 433, 0, 0, 434, 18277 435, 436, 0, 437, 438, 440, 439, 0, 441, 442, 18278 443, 0, 444, 445, 817, 446, 447, 448, 450, 452, 18279 449, 451, 453, 454, 455, 456, 1832, 818, 819, 458, 18280 459, 0, 340, 0, 0, 0, 0, 0, 460, 461, 18281 462, 820, 0, 0, 0, 463, 0, 465, 469, 466, 18282 467, 468, 470, 0, 464, 471, 472, 0, 0, 1827, 18283 474, 475, 821, 822, 476, 477, 478, 479, 480, 481, 18284 482, 483, 484, 0, 485, 486, 823, 0, 824, 487, 18285 0, 488, 489, 490, 491, 492, 493, 494, 825, 826, 18286 827, 595, 0, 495, 496, 497, 0, 498, 499, 500, 18287 501, 502, 503, 504, 0, 0, 0, 505, 1825, 507, 18288 508, 0, 342, 341, 343, 0, 828, 509, 596, 510, 18289 829, 830, 0, 831, 0, 511, 512, 515, 0, 832, 18290 0, 514, 516, 517, 0, 518, 0, 0, 0, 519, 18291 520, 521, 522, 523, 524, 525, 0, 526, 528, 527, 18292 0, 530, 833, 529, 0, 531, 532, 0, 0, 533, 18293 534, 535, 536, 537, 538, 541, 0, 0, 539, 540, 18294 542, 543, 0, 544, 545, 547, 550, 546, 548, 549, 18295 551, 552, 565, 566, 553, 554, 555, 556, 557, 558, 18296 559, 560, 561, 562, 563, 564, 568, 0, 567, 0, 18297 569, 570, 571, 572, 573, 581, 583, 584, 579, 580, 18298 582, 585, 586, 588, 589, 576, 577, 578, 0, 587, 18299 574, 0, 575, 344, 0, 590, 591, 592, 593, 0, 18300 834, 594, 835, 597, 598, 0, 0, 599, 0, 600, 18301 0, 0, 602, 603, 604, 0, 0, 605, 606, 836, 18302 0, 607, 0, 837, 608, 609, 601, 610, 611, 612, 18303 613, 614, 615, 616, 617, 618, 619, 0, 620, 621, 18304 838, 622, 623, 624, 839, 625, 626, 627, 840, 628, 18305 841, 629, 630, 0, 631, 632, 633, 0, 1828, 635, 18306 636, 637, 638, 639, 640, 641, 642, 643, 842, 644, 18307 645, 647, 646, 648, 649, 0, 650, 0, 651, 652, 18308 653, 0, 0, 0, 0, 0, 654, 655, 657, 0, 18309 658, 659, 660, 661, 662, 656, 663, 664, 665, 666, 18310 667, 668, 669, 0, 671, 672, 670, 673, 674, 0, 18311 675, 676, 677, 678, 679, 843, 680, 0, 681, 682, 18312 690, 691, 692, 1831, 684, 686, 693, 685, 694, 695, 18313 696, 697, 1826, 698, 0, 1823, 702, 700, 703, 704, 18314 705, 706, 0, 707, 844, 708, 687, 688, 709, 710, 18315 711, 0, 712, 713, 714, 715, 716, 717, 718, 719, 18316 720, 845, 0, 721, 0, 722, 723, 724, 725, 726, 18317 727, 729, 689, 730, 731, 732, 737, 738, 846, 733, 18318 734, 735, 736, 847, 740, 741, 742, 743, 0, 744, 18319 745, 0, 739, 728, 1821, 746, 747, 748, 749, 750, 18320 751, 752, 753, 754, 755, 0, 756, 848, 849, 850, 18321 851, 0, 768, 0, 757, 759, 760, 761, 762, 852, 18322 763, 853, 0, 764, 765, 766, 767, 758, 769, 770, 18323 0, 0, 771, 772, 773, 774, 776, 778, 779, 780, 18324 775, 777, 781, 0, 782, 0, 0, 783, 784, 785, 18325 854, 855, 856, 0, 787, 1822, 786, 789, 790, 793, 18326 791, 792, 857, 796, 513, 797, 798, 799, 794, 795, 18327 1956, 0, 337, 0, 800, 801, 858, 802, 803, 804, 18328 0, 0, 0, 0, 0, 0, 0, 0, 0, 345, 18329 346, 348, 347, 349, 350, 351, 352, 0, 353, 354, 18330 0, 0, 0, 0, 0, 805, 0, 0, 0, 356, 18331 0, 355, 0, 357, 358, 359, 0, 360, 361, 362, 18332 363, 364, 365, 366, 367, 806, 807, 0, 368, 808, 18333 369, 809, 0, 810, 370, 371, 372, 373, 374, 375, 18334 376, 377, 378, 379, 0, 0, 0, 380, 811, 812, 18335 813, 0, 381, 382, 383, 384, 814, 0, 0, 0, 18336 385, 386, 387, 388, 389, 390, 391, 392, 0, 0, 18337 394, 395, 396, 393, 397, 398, 0, 399, 0, 400, 18338 401, 402, 403, 404, 405, 406, 0, 407, 408, 409, 18339 0, 410, 411, 412, 0, 0, 0, 0, 0, 0, 18340 0, 413, 414, 415, 416, 417, 0, 418, 420, 421, 18341 815, 422, 816, 0, 425, 427, 419, 423, 0, 426, 18342 424, 428, 429, 0, 430, 431, 432, 433, 0, 0, 18343 434, 435, 436, 0, 437, 438, 440, 439, 0, 441, 18344 442, 443, 0, 444, 445, 817, 446, 447, 448, 450, 18345 452, 449, 451, 453, 454, 455, 456, 457, 818, 819, 18346 458, 459, 0, 340, 0, 0, 0, 0, 0, 460, 18347 461, 462, 820, 0, 0, 0, 463, 0, 465, 469, 18348 466, 467, 468, 470, 0, 464, 471, 472, 0, 0, 18349 473, 474, 475, 821, 822, 476, 477, 478, 479, 480, 18350 481, 482, 483, 484, 0, 485, 486, 823, 0, 824, 18351 487, 0, 488, 489, 490, 491, 492, 493, 494, 1958, 18352 826, 827, 595, 0, 495, 496, 497, 0, 498, 499, 18353 500, 501, 502, 503, 504, 0, 0, 0, 505, 506, 18354 507, 508, 0, 342, 341, 343, 0, 828, 509, 596, 18355 510, 829, 830, 0, 831, 0, 511, 512, 515, 0, 18356 832, 0, 514, 516, 517, 0, 518, 0, 0, 0, 18357 519, 520, 521, 522, 523, 524, 525, 0, 526, 528, 18358 527, 0, 530, 833, 529, 0, 531, 532, 0, 0, 18359 533, 534, 535, 536, 537, 538, 541, 0, 0, 539, 18360 540, 542, 543, 0, 544, 545, 547, 550, 546, 548, 18361 549, 551, 552, 565, 566, 553, 554, 555, 556, 557, 18362 558, 559, 560, 561, 562, 563, 564, 568, 0, 567, 18363 0, 569, 570, 571, 572, 573, 581, 583, 584, 579, 18364 580, 582, 585, 586, 588, 589, 576, 577, 578, 0, 18365 587, 574, 0, 575, 344, 0, 590, 591, 592, 593, 18366 0, 834, 594, 835, 597, 598, 0, 0, 599, 0, 18367 600, 0, 1528, 602, 603, 604, 0, 0, 605, 606, 18368 836, 0, 607, 0, 837, 608, 609, 601, 610, 611, 18369 612, 613, 614, 615, 616, 617, 618, 619, 0, 620, 18370 621, 838, 622, 623, 624, 839, 625, 626, 627, 840, 18371 628, 841, 629, 630, 0, 631, 632, 633, 0, 634, 18372 635, 636, 637, 638, 639, 640, 641, 642, 643, 842, 18373 644, 645, 647, 646, 648, 649, 0, 650, 0, 651, 18374 652, 653, 0, 0, 0, 0, 0, 654, 655, 657, 18375 0, 658, 659, 660, 661, 662, 656, 663, 664, 665, 18376 666, 667, 668, 669, 0, 671, 672, 670, 673, 674, 18377 0, 675, 676, 677, 678, 679, 843, 680, 0, 681, 18378 682, 690, 691, 692, 683, 684, 686, 693, 685, 694, 18379 695, 696, 697, 699, 698, 0, 701, 702, 700, 703, 18380 704, 705, 706, 0, 707, 844, 708, 687, 688, 709, 18381 710, 711, 0, 712, 713, 714, 715, 716, 717, 718, 18382 719, 720, 845, 0, 721, 0, 722, 723, 724, 725, 18383 726, 727, 729, 689, 730, 731, 732, 737, 738, 846, 18384 733, 734, 735, 736, 847, 740, 741, 742, 743, 0, 18385 744, 745, 0, 739, 728, 0, 746, 747, 748, 749, 18386 750, 751, 752, 753, 754, 755, 0, 756, 848, 849, 18387 850, 851, 0, 768, 0, 757, 759, 760, 761, 762, 18388 852, 763, 853, 0, 764, 765, 766, 767, 758, 769, 18389 770, 0, 0, 771, 772, 773, 774, 776, 778, 779, 18390 780, 775, 777, 781, 0, 782, 0, 0, 783, 784, 18391 785, 854, 855, 856, 0, 787, 788, 786, 789, 790, 18392 793, 791, 792, 857, 796, 513, 797, 798, 799, 794, 18393 795, 1953, 0, 337, 0, 800, 801, 858, 802, 803, 18394 804, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18395 345, 346, 348, 347, 349, 350, 351, 352, 0, 353, 18396 354, 0, 0, 0, 0, 0, 805, 0, 0, 0, 18397 356, 0, 355, 0, 357, 358, 359, 0, 360, 361, 18398 362, 363, 364, 365, 366, 367, 806, 807, 0, 368, 18399 808, 369, 809, 0, 810, 370, 371, 372, 373, 374, 18400 375, 376, 377, 378, 379, 0, 0, 0, 380, 811, 18401 812, 813, 0, 381, 382, 383, 384, 814, 0, 0, 18402 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 18403 0, 394, 395, 396, 393, 397, 398, 0, 399, 0, 18404 400, 401, 402, 403, 404, 405, 406, 0, 407, 408, 18405 409, 0, 410, 411, 412, 0, 0, 0, 0, 0, 18406 0, 0, 413, 414, 415, 416, 417, 0, 418, 420, 18407 421, 815, 422, 816, 0, 425, 427, 419, 423, 0, 18408 426, 424, 428, 429, 0, 430, 431, 432, 433, 0, 18409 0, 434, 435, 436, 0, 437, 438, 440, 439, 0, 18410 441, 442, 443, 0, 444, 445, 817, 446, 447, 448, 18411 450, 452, 449, 451, 453, 454, 455, 456, 457, 818, 18412 819, 458, 459, 0, 340, 0, 0, 0, 0, 0, 18413 460, 461, 462, 820, 0, 0, 0, 463, 0, 465, 18414 469, 466, 467, 468, 470, 0, 464, 471, 472, 0, 18415 0, 473, 474, 475, 821, 822, 476, 477, 478, 479, 18416 480, 481, 482, 483, 484, 0, 485, 486, 823, 0, 18417 824, 487, 0, 488, 489, 490, 491, 492, 493, 494, 18418 1955, 826, 827, 595, 0, 495, 496, 497, 0, 498, 18419 499, 500, 501, 502, 503, 504, 0, 0, 0, 505, 18420 506, 507, 508, 0, 342, 341, 343, 0, 828, 509, 18421 596, 510, 829, 830, 0, 831, 0, 511, 512, 515, 18422 0, 832, 0, 514, 516, 517, 0, 518, 0, 0, 18423 0, 519, 520, 521, 522, 523, 524, 525, 0, 526, 18424 528, 527, 0, 530, 833, 529, 0, 531, 532, 0, 18425 0, 533, 534, 535, 536, 537, 538, 541, 0, 0, 18426 539, 540, 542, 543, 0, 544, 545, 547, 550, 546, 18427 548, 549, 551, 552, 565, 566, 553, 554, 555, 556, 18428 557, 558, 559, 560, 561, 562, 563, 564, 568, 0, 18429 567, 0, 569, 570, 571, 572, 573, 581, 583, 584, 18430 579, 580, 582, 585, 586, 588, 589, 576, 577, 578, 18431 0, 587, 574, 0, 575, 344, 0, 590, 591, 592, 18432 593, 0, 834, 594, 835, 597, 598, 0, 0, 599, 18433 0, 600, 0, 1528, 602, 603, 604, 0, 0, 605, 18434 606, 836, 0, 607, 0, 837, 608, 609, 601, 610, 18435 611, 612, 613, 614, 615, 616, 617, 618, 619, 0, 18436 620, 621, 838, 622, 623, 624, 839, 625, 626, 627, 18437 840, 628, 841, 629, 630, 0, 631, 632, 633, 0, 18438 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 18439 842, 644, 645, 647, 646, 648, 649, 0, 650, 0, 18440 651, 652, 653, 0, 0, 0, 0, 0, 654, 655, 18441 657, 0, 658, 659, 660, 661, 662, 656, 663, 664, 18442 665, 666, 667, 668, 669, 0, 671, 672, 670, 673, 18443 674, 0, 675, 676, 677, 678, 679, 843, 680, 0, 18444 681, 682, 690, 691, 692, 683, 684, 686, 693, 685, 18445 694, 695, 696, 697, 699, 698, 0, 701, 702, 700, 18446 703, 704, 705, 706, 0, 707, 844, 708, 687, 688, 18447 709, 710, 711, 0, 712, 713, 714, 715, 716, 717, 18448 718, 719, 720, 845, 0, 721, 0, 722, 723, 724, 18449 725, 726, 727, 729, 689, 730, 731, 732, 737, 738, 18450 846, 733, 734, 735, 736, 847, 740, 741, 742, 743, 18451 0, 744, 745, 0, 739, 728, 0, 746, 747, 748, 18452 749, 750, 751, 752, 753, 754, 755, 0, 756, 848, 18453 849, 850, 851, 0, 768, 0, 757, 759, 760, 761, 18454 762, 852, 763, 853, 0, 764, 765, 766, 767, 758, 18455 769, 770, 0, 0, 771, 772, 773, 774, 776, 778, 18456 779, 780, 775, 777, 781, 0, 782, 0, 0, 783, 18457 784, 785, 854, 855, 856, 0, 787, 788, 786, 789, 18458 790, 793, 791, 792, 857, 796, 513, 797, 798, 799, 18459 794, 795, 1861, 0, 337, 0, 800, 801, 858, 802, 18460 803, 804, 0, 0, 0, 0, 0, 0, 0, 0, 18461 0, 345, 346, 348, 347, 349, 350, 351, 352, 0, 18462 353, 354, 0, 0, 0, 0, 0, 805, 0, 0, 18463 0, 356, 0, 355, 0, 357, 358, 359, 0, 360, 18464 361, 362, 363, 364, 365, 366, 367, 806, 807, 0, 18465 368, 808, 369, 809, 0, 810, 370, 371, 372, 373, 18466 374, 375, 376, 377, 378, 379, 0, 0, 0, 380, 18467 811, 812, 813, 0, 381, 382, 383, 384, 814, 0, 18468 0, 0, 385, 386, 387, 388, 389, 390, 391, 392, 18469 0, 0, 394, 395, 396, 393, 397, 398, 0, 399, 18470 0, 400, 401, 402, 403, 404, 405, 406, 0, 407, 18471 408, 409, 0, 410, 411, 412, 0, 0, 0, 0, 18472 0, 0, 0, 413, 414, 415, 416, 417, 0, 418, 18473 420, 421, 815, 422, 816, 0, 425, 427, 419, 423, 18474 0, 426, 424, 428, 429, 0, 430, 431, 432, 433, 18475 0, 0, 434, 435, 436, 0, 437, 438, 440, 439, 18476 0, 441, 442, 443, 0, 444, 445, 817, 446, 447, 18477 448, 450, 452, 449, 451, 453, 454, 455, 456, 457, 18478 818, 819, 458, 459, 0, 340, 0, 0, 0, 0, 18479 0, 460, 461, 462, 820, 0, 0, 0, 463, 0, 18480 465, 469, 466, 467, 468, 470, 0, 464, 471, 472, 18481 0, 0, 473, 474, 475, 821, 822, 476, 477, 478, 18482 479, 480, 481, 482, 483, 484, 0, 485, 486, 823, 18483 0, 824, 487, 0, 488, 489, 490, 491, 492, 493, 18484 494, 1863, 826, 827, 595, 0, 495, 496, 497, 0, 18485 498, 499, 500, 501, 502, 503, 504, 0, 0, 0, 18486 505, 506, 507, 508, 0, 342, 341, 343, 0, 828, 18487 509, 596, 510, 829, 830, 0, 831, 0, 511, 512, 18488 515, 0, 832, 0, 514, 516, 517, 0, 518, 0, 18489 0, 0, 519, 520, 521, 522, 523, 524, 525, 0, 18490 526, 528, 527, 0, 530, 833, 529, 0, 531, 532, 18491 0, 0, 533, 534, 535, 536, 537, 538, 541, 0, 18492 0, 539, 540, 542, 543, 0, 544, 545, 547, 550, 18493 546, 548, 549, 551, 552, 565, 566, 553, 554, 555, 18494 556, 557, 558, 559, 560, 561, 562, 563, 564, 568, 18495 0, 567, 0, 569, 570, 571, 572, 573, 581, 583, 18496 584, 579, 580, 582, 585, 586, 588, 589, 576, 577, 18497 578, 0, 587, 574, 0, 575, 344, 0, 590, 591, 18498 592, 593, 0, 834, 594, 835, 597, 598, 0, 0, 18499 599, 0, 600, 0, 1528, 602, 603, 604, 0, 0, 18500 605, 606, 836, 0, 607, 0, 837, 608, 609, 601, 18501 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 18502 0, 620, 621, 838, 622, 623, 624, 839, 625, 626, 18503 627, 840, 628, 841, 629, 630, 0, 631, 632, 633, 18504 0, 634, 635, 636, 637, 638, 639, 640, 641, 642, 18505 643, 842, 644, 645, 647, 646, 648, 649, 0, 650, 18506 0, 651, 652, 653, 0, 0, 0, 0, 0, 654, 18507 655, 657, 0, 658, 659, 660, 661, 662, 656, 663, 18508 664, 665, 666, 667, 668, 669, 0, 671, 672, 670, 18509 673, 674, 0, 675, 676, 677, 678, 679, 843, 680, 18510 0, 681, 682, 690, 691, 692, 683, 684, 686, 693, 18511 685, 694, 695, 696, 697, 699, 698, 0, 701, 702, 18512 700, 703, 704, 705, 706, 0, 707, 844, 708, 687, 18513 688, 709, 710, 711, 0, 712, 713, 714, 715, 716, 18514 717, 718, 719, 720, 845, 0, 721, 0, 722, 723, 18515 724, 725, 726, 727, 729, 689, 730, 731, 732, 737, 18516 738, 846, 733, 734, 735, 736, 847, 740, 741, 742, 18517 743, 0, 744, 745, 0, 739, 728, 0, 746, 747, 18518 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 18519 848, 849, 850, 851, 0, 768, 0, 757, 759, 760, 18520 761, 762, 852, 763, 853, 0, 764, 765, 766, 767, 18521 758, 769, 770, 0, 0, 771, 772, 773, 774, 776, 18522 778, 779, 780, 775, 777, 781, 0, 782, 0, 0, 18523 783, 784, 785, 854, 855, 856, 0, 787, 788, 786, 18524 789, 790, 793, 791, 792, 857, 796, 513, 797, 798, 18525 799, 794, 795, 337, 0, 0, 0, 800, 801, 858, 18526 802, 803, 804, 0, 0, 0, 0, 0, 0, 0, 18527 345, 346, 348, 347, 349, 350, 351, 352, 0, 353, 18528 354, 0, 0, 0, 0, 0, 805, 0, 0, 0, 18529 356, 0, 355, 0, 357, 358, 359, 0, 360, 361, 18530 362, 363, 364, 365, 366, 367, 806, 807, 0, 368, 18531 808, 369, 809, 0, 810, 370, 371, 372, 373, 374, 18532 375, 376, 377, 378, 379, 0, 0, 0, 380, 811, 18533 812, 813, 0, 381, 382, 383, 384, 814, 0, 0, 18534 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 18535 0, 394, 395, 396, 393, 397, 398, 0, 399, 0, 18536 400, 401, 402, 403, 404, 405, 406, 0, 407, 408, 18537 409, 0, 410, 411, 412, 0, 0, 0, 0, 0, 18538 0, 0, 413, 414, 415, 416, 417, 0, 418, 420, 18539 421, 815, 422, 816, 0, 425, 427, 419, 423, 0, 18540 426, 424, 428, 429, 0, 430, 431, 432, 433, 0, 18541 0, 434, 435, 436, 0, 437, 438, 440, 439, 0, 18542 441, 442, 443, 0, 444, 445, 817, 446, 447, 448, 18543 450, 452, 449, 451, 453, 454, 455, 456, 457, 818, 18544 819, 458, 459, 0, 340, 0, 0, 0, 0, 0, 18545 460, 461, 462, 820, 0, 0, 0, 463, 0, 465, 18546 469, 466, 467, 468, 470, 0, 464, 471, 472, 0, 18547 0, 473, 474, 475, 821, 822, 476, 477, 478, 479, 18548 480, 481, 482, 483, 484, 0, 485, 486, 823, 0, 18549 824, 487, 0, 488, 489, 490, 491, 492, 493, 494, 18550 825, 826, 827, 595, 0, 495, 496, 497, 0, 498, 18551 499, 500, 501, 502, 503, 504, 0, 0, 0, 505, 18552 506, 507, 508, 0, 342, 341, 343, 0, 828, 509, 18553 596, 510, 829, 830, 0, 831, 0, 511, 512, 515, 18554 0, 832, 0, 514, 516, 517, 0, 518, 0, 0, 18555 0, 519, 520, 521, 522, 523, 524, 525, 0, 526, 18556 528, 527, 0, 530, 833, 529, 0, 531, 532, 0, 18557 0, 533, 534, 535, 536, 537, 538, 541, 0, 0, 18558 539, 540, 542, 543, 0, 544, 545, 547, 550, 546, 18559 548, 549, 551, 552, 565, 566, 553, 554, 555, 556, 18560 557, 558, 559, 560, 561, 562, 563, 564, 568, 0, 18561 567, 0, 569, 570, 571, 572, 573, 581, 583, 584, 18562 579, 580, 582, 585, 586, 588, 589, 576, 577, 578, 18563 0, 587, 574, 0, 575, 344, 0, 590, 591, 592, 18564 593, 0, 834, 594, 835, 597, 598, 0, 0, 599, 18565 0, 600, 0, 1528, 602, 603, 604, 0, 0, 605, 18566 606, 836, 0, 607, 0, 837, 608, 609, 601, 610, 18567 611, 612, 613, 614, 615, 616, 617, 618, 619, 0, 18568 620, 621, 838, 622, 623, 624, 839, 625, 626, 627, 18569 840, 628, 841, 629, 630, 0, 631, 632, 633, 0, 18570 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 18571 842, 644, 645, 647, 646, 648, 649, 0, 650, 0, 18572 651, 652, 653, 0, 0, 0, 0, 0, 654, 655, 18573 657, 0, 658, 659, 660, 661, 662, 656, 663, 664, 18574 665, 666, 667, 668, 669, 0, 671, 672, 670, 673, 18575 674, 0, 675, 676, 677, 678, 679, 843, 680, 0, 18576 681, 682, 690, 691, 692, 683, 684, 686, 693, 685, 18577 694, 695, 696, 697, 699, 698, 0, 701, 702, 700, 18578 703, 704, 705, 706, 0, 707, 844, 708, 687, 688, 18579 709, 710, 711, 0, 712, 713, 714, 715, 716, 717, 18580 718, 719, 720, 845, 0, 721, 0, 722, 723, 724, 18581 725, 726, 727, 729, 689, 730, 731, 732, 737, 738, 18582 846, 733, 734, 735, 736, 847, 740, 741, 742, 743, 18583 0, 744, 745, 0, 739, 728, 0, 746, 747, 748, 18584 749, 750, 751, 752, 753, 754, 755, 0, 756, 848, 18585 849, 850, 851, 0, 768, 0, 757, 759, 760, 761, 18586 762, 852, 763, 853, 0, 764, 765, 766, 767, 758, 18587 769, 770, 0, 0, 771, 772, 773, 774, 776, 778, 18588 779, 780, 775, 777, 781, 0, 782, 0, 0, 783, 18589 784, 785, 854, 855, 856, 0, 787, 788, 786, 789, 18590 790, 793, 791, 792, 857, 796, 513, 797, 798, 799, 18591 794, 795, 337, 0, 0, 0, 800, 801, 858, 802, 18592 803, 804, 0, 0, 0, 0, 0, 0, 0, 345, 18593 346, 348, 347, 349, 350, 351, 352, 0, 353, 354, 18594 0, 0, 0, 0, 0, 805, 0, 0, 0, 356, 18595 0, 355, 0, 357, 358, 359, 0, 360, 361, 362, 18596 363, 364, 365, 366, 367, 806, 807, 0, 368, 808, 18597 369, 809, 0, 810, 370, 371, 372, 373, 374, 375, 18598 376, 377, 378, 379, 0, 0, 0, 380, 811, 812, 18599 813, 0, 381, 382, 383, 384, 814, 0, 0, 0, 18600 385, 386, 387, 388, 389, 390, 391, 392, 0, 0, 18601 394, 395, 396, 393, 397, 398, 0, 399, 0, 400, 18602 401, 402, 403, 404, 405, 406, 0, 407, 408, 409, 18603 0, 410, 411, 412, 0, 0, 0, 0, 0, 0, 18604 0, 413, 414, 415, 416, 417, 0, 418, 420, 421, 18605 815, 422, 816, 0, 425, 427, 419, 423, 0, 426, 18606 424, 428, 429, 0, 430, 431, 432, 433, 0, 0, 18607 434, 435, 436, 0, 437, 438, 440, 439, 0, 441, 18608 442, 443, 0, 444, 445, 817, 446, 447, 448, 450, 18609 452, 449, 451, 453, 454, 455, 456, 457, 818, 819, 18610 458, 459, 0, 340, 0, 0, 0, 0, 0, 460, 18611 461, 462, 820, 0, 0, 0, 463, 0, 465, 469, 18612 466, 467, 468, 470, 0, 464, 471, 472, 0, 0, 18613 473, 474, 475, 821, 822, 476, 477, 478, 479, 480, 18614 481, 482, 483, 484, 0, 485, 486, 823, 0, 824, 18615 487, 0, 488, 489, 490, 491, 492, 493, 494, 825, 18616 826, 827, 595, 0, 495, 496, 497, 0, 498, 499, 18617 500, 501, 502, 503, 504, 0, 0, 0, 505, 506, 18618 507, 508, 0, 342, 341, 343, 0, 828, 509, 596, 18619 510, 829, 830, 0, 831, 0, 511, 512, 515, 0, 18620 832, 0, 514, 516, 517, 0, 518, 0, 0, 0, 18621 519, 520, 521, 522, 523, 524, 525, 0, 526, 528, 18622 527, 0, 530, 833, 529, 0, 531, 532, 0, 0, 18623 533, 534, 535, 536, 537, 538, 541, 0, 0, 539, 18624 540, 542, 543, 0, 544, 545, 547, 550, 546, 548, 18625 549, 551, 552, 565, 566, 553, 554, 555, 556, 557, 18626 558, 559, 560, 561, 562, 563, 564, 568, 0, 567, 18627 0, 569, 570, 571, 572, 573, 581, 583, 584, 579, 18628 580, 582, 585, 586, 588, 589, 576, 577, 578, 4926, 18629 587, 574, 0, 575, 344, 0, 590, 591, 592, 593, 18630 0, 834, 594, 835, 597, 598, 0, 0, 599, 0, 18631 600, 0, 0, 602, 603, 604, 0, 0, 605, 606, 18632 836, 0, 607, 0, 837, 608, 609, 601, 610, 611, 18633 612, 613, 614, 615, 616, 617, 618, 619, 0, 620, 18634 621, 838, 622, 623, 624, 839, 625, 626, 627, 840, 18635 628, 841, 629, 630, 0, 631, 632, 633, 0, 634, 18636 635, 636, 637, 638, 639, 640, 641, 642, 643, 842, 18637 644, 645, 647, 646, 648, 649, 0, 650, 0, 651, 18638 652, 653, 0, 0, 0, 0, 0, 654, 655, 657, 18639 0, 658, 659, 660, 661, 662, 656, 663, 664, 665, 18640 666, 667, 668, 669, 0, 671, 672, 670, 673, 674, 18641 0, 675, 676, 677, 678, 679, 843, 680, 0, 681, 18642 682, 690, 691, 692, 683, 684, 686, 693, 685, 694, 18643 695, 696, 697, 699, 698, 0, 701, 702, 700, 703, 18644 704, 705, 706, 0, 707, 844, 708, 687, 688, 709, 18645 710, 711, 0, 712, 713, 714, 715, 716, 717, 718, 18646 719, 720, 845, 0, 721, 0, 722, 723, 724, 725, 18647 726, 727, 729, 689, 730, 731, 732, 737, 738, 846, 18648 733, 734, 735, 736, 847, 740, 741, 742, 743, 0, 18649 744, 745, 0, 739, 728, 0, 746, 747, 748, 749, 18650 750, 751, 752, 753, 754, 755, 0, 756, 848, 849, 18651 850, 851, 0, 768, 0, 757, 759, 760, 761, 762, 18652 852, 763, 853, 0, 764, 765, 766, 767, 758, 769, 18653 770, 0, 0, 771, 772, 773, 774, 776, 778, 779, 18654 780, 775, 777, 781, 0, 782, 0, 0, 783, 784, 18655 785, 854, 855, 856, 0, 787, 788, 786, 789, 790, 18656 793, 791, 792, 857, 796, 513, 797, 798, 799, 794, 18657 795, 4436, 0, 337, 0, 800, 801, 858, 802, 803, 18658 804, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18659 345, 346, 348, 347, 349, 350, 351, 352, 0, 353, 18660 354, 0, 0, 0, 0, 0, 805, 0, 0, 0, 18661 356, 0, 355, 0, 357, 358, 359, 0, 360, 361, 18662 362, 363, 364, 365, 366, 367, 806, 807, 0, 368, 18663 808, 369, 809, 0, 810, 370, 371, 372, 373, 374, 18664 375, 376, 377, 378, 379, 0, 0, 0, 380, 811, 18665 812, 813, 0, 381, 382, 383, 384, 814, 0, 0, 18666 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 18667 0, 394, 395, 396, 393, 397, 398, 0, 399, 0, 18668 400, 401, 402, 403, 404, 405, 406, 0, 407, 408, 18669 409, 0, 410, 411, 412, 0, 0, 0, 0, 0, 18670 0, 0, 413, 414, 415, 416, 417, 0, 418, 420, 18671 421, 815, 422, 816, 0, 425, 427, 419, 423, 0, 18672 426, 424, 428, 429, 0, 430, 431, 432, 433, 0, 18673 0, 434, 435, 436, 0, 437, 438, 440, 439, 0, 18674 441, 442, 443, 0, 444, 445, 817, 446, 447, 448, 18675 450, 452, 449, 451, 453, 454, 455, 456, 457, 818, 18676 819, 458, 459, 0, 340, 0, 0, 0, 0, 0, 18677 460, 461, 462, 820, 0, 0, 0, 463, 0, 465, 18678 469, 466, 467, 468, 470, 0, 464, 471, 472, 0, 18679 0, 473, 474, 475, 821, 822, 476, 477, 478, 479, 18680 480, 481, 482, 483, 484, 0, 485, 486, 823, 0, 18681 824, 487, 0, 488, 489, 490, 491, 492, 493, 494, 18682 4435, 826, 827, 595, 0, 495, 496, 497, 0, 498, 18683 499, 500, 501, 502, 503, 504, 0, 0, 0, 505, 18684 506, 507, 508, 0, 342, 341, 343, 0, 828, 509, 18685 596, 510, 829, 830, 0, 831, 0, 511, 512, 515, 18686 0, 832, 0, 514, 516, 517, 0, 518, 0, 0, 18687 0, 519, 520, 521, 522, 523, 524, 525, 0, 526, 18688 528, 527, 0, 530, 833, 529, 0, 531, 532, 0, 18689 0, 533, 534, 535, 536, 537, 538, 541, 0, 0, 18690 539, 540, 542, 543, 0, 544, 545, 547, 550, 546, 18691 548, 549, 551, 552, 565, 566, 553, 554, 555, 556, 18692 557, 558, 559, 560, 561, 562, 563, 564, 568, 0, 18693 567, 0, 569, 570, 571, 572, 573, 581, 583, 584, 18694 579, 580, 582, 585, 586, 588, 589, 576, 577, 578, 18695 0, 587, 574, 0, 575, 344, 0, 590, 591, 592, 18696 593, 0, 834, 594, 835, 597, 598, 0, 0, 599, 18697 0, 600, 0, 0, 602, 603, 604, 0, 0, 605, 18698 606, 836, 0, 607, 0, 837, 608, 609, 601, 610, 18699 611, 612, 613, 614, 615, 616, 617, 618, 619, 0, 18700 620, 621, 838, 622, 623, 624, 839, 625, 626, 627, 18701 840, 628, 841, 629, 630, 0, 631, 632, 633, 0, 18702 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 18703 842, 644, 645, 647, 646, 648, 649, 0, 650, 0, 18704 651, 652, 653, 0, 0, 0, 0, 0, 654, 655, 18705 657, 0, 658, 659, 660, 661, 662, 656, 663, 664, 18706 665, 666, 667, 668, 669, 0, 671, 672, 670, 673, 18707 674, 0, 675, 676, 677, 678, 679, 843, 680, 0, 18708 681, 682, 690, 691, 692, 683, 684, 686, 693, 685, 18709 694, 695, 696, 697, 699, 698, 0, 701, 702, 700, 18710 703, 704, 705, 706, 0, 707, 844, 708, 687, 688, 18711 709, 710, 711, 0, 712, 713, 714, 715, 716, 717, 18712 718, 719, 720, 845, 0, 721, 0, 722, 723, 724, 18713 725, 726, 727, 729, 689, 730, 731, 732, 737, 738, 18714 846, 733, 734, 735, 736, 847, 740, 741, 742, 743, 18715 0, 744, 745, 0, 739, 728, 0, 746, 747, 748, 18716 749, 750, 751, 752, 753, 754, 755, 0, 756, 848, 18717 849, 850, 851, 0, 768, 0, 757, 759, 760, 761, 18718 762, 852, 763, 853, 0, 764, 765, 766, 767, 758, 18719 769, 770, 0, 0, 771, 772, 773, 774, 776, 778, 18720 779, 780, 775, 777, 781, 0, 782, 0, 0, 783, 18721 784, 785, 854, 855, 856, 0, 787, 788, 786, 789, 18722 790, 793, 791, 792, 857, 796, 513, 797, 798, 799, 18723 794, 795, 337, 0, 0, 0, 800, 801, 858, 802, 18724 803, 804, 0, 0, 0, 0, 0, 0, 0, 345, 18725 346, 348, 347, 349, 350, 351, 352, 0, 353, 354, 18726 0, 0, 0, 0, 0, 805, 0, 0, 0, 356, 18727 0, 355, 0, 357, 358, 359, 0, 360, 361, 362, 18728 363, 364, 365, 366, 367, 806, 807, 0, 368, 808, 18729 369, 809, 0, 810, 370, 371, 372, 373, 374, 375, 18730 376, 377, 378, 379, 0, 0, 0, 380, 811, 812, 18731 813, 4193, 381, 382, 383, 384, 814, 0, 0, 4187, 18732 385, 386, 387, 388, 389, 390, 391, 392, 0, 0, 18733 394, 395, 396, 393, 397, 398, 4189, 399, 0, 400, 18734 401, 402, 403, 404, 405, 406, 0, 407, 408, 409, 18735 0, 410, 411, 412, 0, 0, 0, 0, 0, 0, 18736 0, 413, 414, 415, 416, 417, 0, 418, 420, 421, 18737 815, 422, 816, 0, 425, 427, 419, 423, 0, 426, 18738 424, 428, 429, 0, 430, 431, 432, 433, 0, 0, 18739 434, 435, 436, 0, 437, 438, 440, 439, 0, 441, 18740 442, 443, 0, 4197, 445, 817, 446, 447, 448, 450, 18741 452, 449, 451, 453, 454, 455, 456, 457, 818, 819, 18742 458, 459, 0, 0, 0, 0, 0, 0, 0, 460, 18743 461, 462, 820, 0, 0, 0, 463, 0, 465, 469, 18744 466, 467, 468, 470, 4196, 464, 471, 472, 0, 0, 18745 473, 474, 475, 821, 822, 476, 477, 478, 479, 480, 18746 481, 482, 483, 484, 0, 485, 486, 823, 0, 824, 18747 487, 0, 488, 489, 490, 491, 492, 493, 494, 4186, 18748 826, 827, 595, 0, 495, 496, 497, 0, 498, 499, 18749 500, 501, 502, 503, 504, 0, 0, 0, 505, 506, 18750 507, 508, 0, 0, 0, 0, 0, 828, 509, 596, 18751 510, 829, 830, 0, 831, 0, 511, 512, 515, 0, 18752 832, 0, 514, 516, 517, 0, 518, 0, 0, 0, 18753 519, 520, 521, 522, 523, 524, 525, 0, 526, 528, 18754 527, 0, 530, 833, 529, 0, 531, 532, 0, 0, 18755 533, 534, 535, 536, 537, 538, 541, 0, 0, 539, 18756 540, 542, 543, 0, 544, 545, 547, 550, 546, 548, 18757 549, 551, 552, 565, 566, 553, 554, 555, 556, 557, 18758 558, 559, 560, 561, 562, 563, 564, 568, 0, 567, 18759 0, 569, 570, 571, 572, 573, 581, 583, 584, 579, 18760 580, 582, 585, 586, 588, 589, 576, 577, 578, 0, 18761 587, 574, 0, 575, 0, 0, 590, 591, 592, 593, 18762 0, 834, 594, 835, 597, 598, 0, 0, 599, 0, 18763 600, 0, 0, 602, 603, 604, 0, 0, 605, 606, 18764 836, 0, 607, 0, 837, 608, 609, 601, 610, 611, 18765 612, 613, 614, 615, 616, 617, 618, 619, 0, 620, 18766 621, 838, 622, 623, 624, 839, 625, 626, 627, 840, 18767 628, 841, 629, 630, 4195, 631, 632, 633, 0, 634, 18768 635, 636, 637, 638, 639, 640, 641, 642, 643, 842, 18769 644, 645, 647, 646, 648, 649, 0, 650, 0, 651, 18770 652, 653, 0, 0, 0, 0, 0, 654, 655, 657, 18771 0, 658, 659, 660, 661, 662, 656, 663, 664, 665, 18772 666, 667, 668, 669, 0, 671, 672, 670, 673, 674, 18773 0, 675, 676, 677, 678, 679, 843, 680, 0, 681, 18774 682, 690, 691, 692, 683, 684, 686, 693, 685, 694, 18775 695, 696, 697, 699, 698, 0, 701, 702, 700, 703, 18776 704, 705, 706, 0, 707, 844, 708, 687, 688, 709, 18777 710, 711, 0, 712, 713, 714, 715, 716, 717, 718, 18778 719, 720, 845, 0, 721, 0, 722, 723, 724, 725, 18779 726, 727, 729, 689, 730, 731, 732, 737, 738, 846, 18780 733, 734, 735, 736, 847, 740, 741, 742, 743, 0, 18781 744, 745, 0, 739, 728, 0, 746, 747, 748, 749, 18782 750, 751, 752, 753, 754, 755, 0, 756, 848, 849, 18783 850, 851, 0, 768, 0, 757, 759, 760, 761, 762, 18784 852, 763, 853, 0, 764, 765, 766, 767, 758, 769, 18785 770, 0, 4194, 771, 772, 773, 774, 776, 778, 779, 18786 780, 775, 777, 781, 0, 782, 0, 0, 783, 784, 18787 785, 854, 855, 856, 0, 787, 788, 786, 789, 790, 18788 793, 791, 792, 857, 796, 513, 797, 798, 799, 794, 18789 795, 2996, 0, 337, 0, 800, 801, 858, 802, 803, 18790 804, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18791 345, 346, 348, 347, 349, 350, 351, 352, 0, 353, 18792 354, 0, 0, 0, 0, 0, 805, 0, 0, 0, 18793 356, 0, 355, 0, 357, 358, 359, 0, 360, 361, 18794 362, 363, 364, 365, 366, 367, 806, 807, 0, 368, 18795 808, 369, 809, 0, 810, 370, 371, 372, 373, 374, 18796 375, 376, 377, 378, 379, 0, 0, 0, 380, 811, 18797 812, 813, 0, 381, 382, 383, 384, 814, 0, 0, 18798 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 18799 0, 394, 395, 396, 393, 397, 398, 0, 399, 0, 18800 400, 401, 402, 403, 404, 405, 406, 0, 407, 408, 18801 409, 0, 410, 411, 412, 0, 0, 0, 0, 0, 18802 0, 0, 413, 414, 415, 416, 417, 0, 418, 420, 18803 421, 815, 422, 816, 0, 425, 427, 419, 423, 0, 18804 426, 424, 428, 429, 0, 430, 431, 432, 433, 0, 18805 0, 434, 435, 436, 0, 437, 438, 440, 439, 0, 18806 441, 442, 443, 0, 444, 445, 817, 446, 447, 448, 18807 450, 452, 449, 451, 453, 454, 455, 456, 457, 818, 18808 819, 458, 459, 0, 340, 0, 0, 0, 0, 0, 18809 460, 461, 462, 820, 0, 0, 0, 463, 0, 465, 18810 469, 466, 467, 468, 470, 0, 464, 471, 472, 0, 18811 0, 473, 474, 475, 821, 822, 476, 477, 478, 479, 18812 480, 481, 482, 483, 484, 0, 485, 486, 823, 0, 18813 824, 487, 0, 488, 489, 490, 491, 492, 493, 494, 18814 825, 826, 827, 595, 0, 495, 496, 497, 0, 498, 18815 499, 500, 501, 502, 503, 504, 0, 0, 0, 505, 18816 506, 507, 508, 0, 342, 341, 343, 0, 828, 509, 18817 596, 510, 829, 830, 0, 831, 0, 511, 512, 515, 18818 0, 832, 0, 514, 516, 517, 0, 518, 0, 0, 18819 0, 519, 520, 521, 522, 523, 524, 525, 0, 526, 18820 528, 527, 0, 530, 833, 529, 0, 531, 532, 0, 18821 0, 533, 534, 535, 536, 537, 538, 541, 0, 0, 18822 539, 540, 542, 543, 0, 544, 545, 547, 550, 546, 18823 548, 549, 551, 552, 565, 566, 553, 554, 555, 556, 18824 557, 558, 559, 560, 561, 562, 563, 564, 568, 0, 18825 567, 0, 569, 570, 571, 572, 573, 581, 583, 584, 18826 579, 580, 582, 585, 586, 588, 589, 576, 577, 578, 18827 0, 587, 574, 0, 575, 344, 0, 590, 591, 592, 18828 593, 0, 834, 594, 835, 597, 598, 0, 0, 599, 18829 0, 600, 0, 0, 602, 603, 604, 0, 0, 605, 18830 606, 836, 0, 607, 0, 837, 608, 609, 601, 610, 18831 611, 612, 613, 614, 615, 616, 617, 618, 619, 0, 18832 620, 621, 838, 622, 623, 624, 839, 625, 626, 627, 18833 840, 628, 841, 629, 630, 0, 631, 632, 633, 0, 18834 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 18835 842, 644, 645, 647, 646, 648, 649, 0, 650, 0, 18836 651, 652, 653, 0, 0, 0, 0, 0, 654, 655, 18837 657, 0, 658, 659, 660, 661, 662, 656, 663, 664, 18838 665, 666, 667, 668, 669, 0, 671, 672, 670, 673, 18839 674, 0, 675, 676, 677, 678, 679, 843, 680, 0, 18840 681, 682, 690, 691, 692, 683, 684, 686, 693, 685, 18841 694, 695, 696, 697, 699, 698, 0, 701, 702, 700, 18842 703, 704, 705, 706, 0, 707, 844, 708, 687, 688, 18843 709, 710, 711, 0, 712, 713, 714, 715, 716, 717, 18844 718, 719, 720, 845, 0, 721, 0, 722, 723, 724, 18845 725, 726, 727, 729, 689, 730, 731, 732, 737, 738, 18846 846, 733, 734, 735, 736, 847, 740, 741, 742, 743, 18847 0, 744, 745, 0, 739, 728, 0, 746, 747, 748, 18848 749, 750, 751, 752, 753, 754, 755, 0, 756, 848, 18849 849, 850, 851, 0, 768, 0, 757, 759, 760, 761, 18850 762, 852, 763, 853, 0, 764, 765, 766, 767, 758, 18851 769, 770, 0, 0, 771, 772, 773, 774, 776, 778, 18852 779, 780, 775, 777, 781, 0, 782, 0, 0, 783, 18853 784, 785, 854, 855, 856, 0, 787, 788, 786, 789, 18854 790, 793, 791, 792, 857, 796, 513, 797, 798, 799, 18855 794, 795, 2941, 0, 337, 0, 800, 801, 858, 802, 18856 803, 804, 0, 0, 0, 0, 0, 0, 0, 0, 18857 0, 345, 346, 348, 347, 349, 350, 351, 352, 0, 18858 353, 354, 0, 0, 0, 0, 0, 805, 0, 0, 18859 0, 356, 0, 355, 0, 357, 358, 359, 0, 360, 18860 361, 362, 363, 364, 365, 366, 367, 806, 807, 0, 18861 368, 808, 369, 809, 0, 810, 370, 371, 372, 373, 18862 374, 375, 376, 377, 378, 379, 0, 0, 0, 380, 18863 811, 812, 813, 0, 381, 382, 383, 384, 814, 0, 18864 0, 0, 385, 386, 387, 388, 389, 390, 391, 392, 18865 0, 0, 394, 395, 396, 393, 397, 398, 0, 399, 18866 0, 400, 401, 402, 403, 404, 405, 406, 0, 407, 18867 408, 409, 0, 410, 411, 412, 0, 0, 0, 0, 18868 0, 0, 0, 413, 414, 415, 416, 417, 0, 418, 18869 420, 421, 815, 422, 816, 0, 425, 427, 419, 423, 18870 0, 426, 424, 428, 429, 0, 430, 431, 432, 433, 18871 0, 0, 434, 435, 436, 0, 437, 438, 440, 439, 18872 0, 441, 442, 443, 0, 444, 445, 817, 446, 447, 18873 448, 450, 452, 449, 451, 453, 454, 455, 456, 457, 18874 818, 819, 458, 459, 0, 340, 0, 0, 0, 0, 18875 0, 460, 461, 462, 820, 0, 0, 0, 463, 0, 18876 465, 469, 466, 467, 468, 470, 0, 464, 471, 472, 18877 0, 0, 473, 474, 475, 821, 822, 476, 477, 478, 18878 479, 480, 481, 482, 483, 484, 0, 485, 486, 823, 18879 0, 824, 487, 0, 488, 489, 490, 491, 492, 493, 18880 494, 2940, 826, 827, 595, 0, 495, 496, 497, 0, 18881 498, 499, 500, 501, 502, 503, 504, 0, 0, 0, 18882 505, 506, 507, 508, 0, 342, 341, 343, 0, 828, 18883 509, 596, 510, 829, 830, 0, 831, 0, 511, 512, 18884 515, 0, 832, 0, 514, 516, 517, 0, 518, 0, 18885 0, 0, 519, 520, 521, 522, 523, 524, 525, 0, 18886 526, 528, 527, 0, 530, 833, 529, 0, 531, 532, 18887 0, 0, 533, 534, 535, 536, 537, 538, 541, 0, 18888 0, 539, 540, 542, 543, 0, 544, 545, 547, 550, 18889 546, 548, 549, 551, 552, 565, 566, 553, 554, 555, 18890 556, 557, 558, 559, 560, 561, 562, 563, 564, 568, 18891 0, 567, 0, 569, 570, 571, 572, 573, 581, 583, 18892 584, 579, 580, 582, 585, 586, 588, 589, 576, 577, 18893 578, 0, 587, 574, 0, 575, 344, 0, 590, 591, 18894 592, 593, 0, 834, 594, 835, 597, 598, 0, 0, 18895 599, 0, 600, 0, 0, 602, 603, 604, 0, 0, 18896 605, 606, 836, 0, 607, 0, 837, 608, 609, 601, 18897 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 18898 0, 620, 621, 838, 622, 623, 624, 839, 625, 626, 18899 627, 840, 628, 841, 629, 630, 0, 631, 632, 633, 18900 0, 634, 635, 636, 637, 638, 639, 640, 641, 642, 18901 643, 842, 644, 645, 647, 646, 648, 649, 0, 650, 18902 0, 651, 652, 653, 0, 0, 0, 0, 0, 654, 18903 655, 657, 0, 658, 659, 660, 661, 662, 656, 663, 18904 664, 665, 666, 667, 668, 669, 0, 671, 672, 670, 18905 673, 674, 0, 675, 676, 677, 678, 679, 843, 680, 18906 0, 681, 682, 690, 691, 692, 683, 684, 686, 693, 18907 685, 694, 695, 696, 697, 699, 698, 0, 701, 702, 18908 700, 703, 704, 705, 706, 0, 707, 844, 708, 687, 18909 688, 709, 710, 711, 0, 712, 713, 714, 715, 716, 18910 717, 718, 719, 720, 845, 0, 721, 0, 722, 723, 18911 724, 725, 726, 727, 729, 689, 730, 731, 732, 737, 18912 738, 846, 733, 734, 735, 736, 847, 740, 741, 742, 18913 743, 0, 744, 745, 0, 739, 728, 0, 746, 747, 18914 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 18915 848, 849, 850, 851, 0, 768, 0, 757, 759, 760, 18916 761, 762, 852, 763, 853, 0, 764, 765, 766, 767, 18917 758, 769, 770, 0, 0, 771, 772, 773, 774, 776, 18918 778, 779, 780, 775, 777, 781, 0, 782, 0, 0, 18919 783, 784, 785, 854, 855, 856, 0, 787, 788, 786, 18920 789, 790, 793, 791, 792, 857, 796, 513, 797, 798, 18921 799, 794, 795, 2925, 0, 337, 0, 800, 801, 858, 18922 802, 803, 804, 0, 0, 0, 0, 0, 0, 0, 18923 0, 0, 345, 346, 348, 347, 349, 350, 351, 352, 18924 0, 353, 354, 0, 0, 0, 0, 0, 805, 0, 18925 0, 0, 356, 0, 355, 0, 357, 358, 359, 0, 18926 360, 361, 362, 363, 364, 365, 366, 367, 806, 807, 18927 0, 368, 808, 369, 809, 0, 810, 370, 371, 372, 18928 373, 374, 375, 376, 377, 378, 379, 0, 0, 0, 18929 380, 811, 812, 813, 0, 381, 382, 383, 384, 814, 18930 0, 0, 0, 385, 386, 387, 388, 389, 390, 391, 18931 392, 0, 0, 394, 395, 396, 393, 397, 398, 0, 18932 399, 0, 400, 401, 402, 403, 404, 405, 406, 0, 18933 407, 408, 409, 0, 410, 411, 412, 0, 0, 0, 18934 0, 0, 0, 0, 413, 414, 415, 416, 417, 0, 18935 418, 420, 421, 815, 422, 816, 0, 425, 427, 419, 18936 423, 0, 426, 424, 428, 429, 0, 430, 431, 432, 18937 433, 0, 0, 434, 435, 436, 0, 437, 438, 440, 18938 439, 0, 441, 442, 443, 0, 444, 445, 817, 446, 18939 447, 448, 450, 452, 449, 451, 453, 454, 455, 456, 18940 457, 818, 819, 458, 459, 0, 340, 0, 0, 0, 18941 0, 0, 460, 461, 462, 820, 0, 0, 0, 463, 18942 0, 465, 469, 466, 467, 468, 470, 0, 464, 471, 18943 472, 0, 0, 473, 474, 475, 821, 822, 476, 477, 18944 478, 479, 480, 481, 482, 483, 484, 0, 485, 486, 18945 823, 0, 824, 487, 0, 488, 489, 490, 491, 492, 18946 493, 494, 2927, 826, 827, 595, 0, 495, 496, 497, 18947 0, 498, 499, 500, 501, 502, 503, 504, 0, 0, 18948 0, 505, 506, 507, 508, 0, 342, 341, 343, 0, 18949 828, 509, 596, 510, 829, 830, 0, 831, 0, 511, 18950 512, 515, 0, 832, 0, 514, 516, 517, 0, 518, 18951 0, 0, 0, 519, 520, 521, 522, 523, 524, 525, 18952 0, 526, 528, 527, 0, 530, 833, 529, 0, 531, 18953 532, 0, 0, 533, 534, 535, 536, 537, 538, 541, 18954 0, 0, 539, 540, 542, 543, 0, 544, 545, 547, 18955 550, 546, 548, 549, 551, 552, 565, 566, 553, 554, 18956 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 18957 568, 0, 567, 0, 569, 570, 571, 572, 573, 581, 18958 583, 584, 579, 580, 582, 585, 586, 588, 589, 576, 18959 577, 578, 0, 587, 574, 0, 575, 344, 0, 590, 18960 591, 592, 593, 0, 834, 594, 835, 597, 598, 0, 18961 0, 599, 0, 600, 0, 0, 602, 603, 604, 0, 18962 0, 605, 606, 836, 0, 607, 0, 837, 608, 609, 18963 601, 610, 611, 612, 613, 614, 615, 616, 617, 618, 18964 619, 0, 620, 621, 838, 622, 623, 624, 839, 625, 18965 626, 627, 840, 628, 841, 629, 630, 0, 631, 632, 18966 633, 0, 634, 635, 636, 637, 638, 639, 640, 641, 18967 642, 643, 842, 644, 645, 647, 646, 648, 649, 0, 18968 650, 0, 651, 652, 653, 0, 0, 0, 0, 0, 18969 654, 655, 657, 0, 658, 659, 660, 661, 662, 656, 18970 663, 664, 665, 666, 667, 668, 669, 0, 671, 672, 18971 670, 673, 674, 0, 675, 676, 677, 678, 679, 843, 18972 680, 0, 681, 682, 690, 691, 692, 683, 684, 686, 18973 693, 685, 694, 695, 696, 697, 699, 698, 0, 701, 18974 702, 700, 703, 704, 705, 706, 0, 707, 844, 708, 18975 687, 688, 709, 710, 711, 0, 712, 713, 714, 715, 18976 716, 717, 718, 719, 720, 845, 0, 721, 0, 722, 18977 723, 724, 725, 726, 727, 729, 689, 730, 731, 732, 18978 737, 738, 846, 733, 734, 735, 736, 847, 740, 741, 18979 742, 743, 0, 744, 745, 0, 739, 728, 0, 746, 18980 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 18981 756, 848, 849, 850, 851, 0, 768, 0, 757, 759, 18982 760, 761, 762, 852, 763, 853, 0, 764, 765, 766, 18983 767, 758, 769, 770, 0, 0, 771, 772, 773, 774, 18984 776, 778, 779, 780, 775, 777, 781, 0, 782, 0, 18985 0, 783, 784, 785, 854, 855, 856, 0, 787, 788, 18986 786, 789, 790, 793, 791, 792, 857, 796, 513, 797, 18987 798, 799, 794, 795, 2917, 0, 337, 0, 800, 801, 18988 858, 802, 803, 804, 0, 0, 0, 0, 0, 0, 18989 0, 0, 0, 345, 346, 348, 347, 349, 350, 351, 18990 352, 0, 353, 354, 0, 0, 0, 0, 0, 805, 18991 0, 0, 0, 356, 0, 355, 0, 357, 358, 359, 18992 0, 360, 361, 362, 363, 364, 365, 366, 367, 806, 18993 807, 0, 368, 808, 369, 809, 0, 810, 370, 371, 18994 372, 373, 374, 375, 376, 377, 378, 379, 0, 0, 18995 0, 380, 811, 812, 813, 0, 381, 382, 383, 384, 18996 814, 0, 0, 0, 385, 386, 387, 388, 389, 390, 18997 391, 392, 0, 0, 394, 395, 396, 393, 397, 398, 18998 0, 399, 0, 400, 401, 402, 403, 404, 405, 406, 18999 0, 407, 408, 409, 0, 410, 411, 412, 0, 0, 19000 0, 0, 0, 0, 0, 413, 414, 415, 416, 417, 19001 0, 418, 420, 421, 815, 422, 816, 0, 425, 427, 19002 419, 423, 0, 426, 424, 428, 429, 0, 430, 431, 19003 432, 433, 0, 0, 434, 435, 436, 0, 437, 438, 19004 440, 439, 0, 441, 442, 443, 0, 444, 445, 817, 19005 446, 447, 448, 450, 452, 449, 451, 453, 454, 455, 19006 456, 457, 818, 819, 458, 459, 0, 340, 0, 0, 19007 0, 0, 0, 460, 461, 462, 820, 0, 0, 0, 19008 463, 0, 465, 469, 466, 467, 468, 470, 0, 464, 19009 471, 472, 0, 0, 473, 474, 475, 821, 822, 476, 19010 477, 478, 479, 480, 481, 482, 483, 484, 0, 485, 19011 486, 823, 0, 824, 487, 0, 488, 489, 490, 491, 19012 492, 493, 494, 825, 826, 827, 595, 0, 495, 496, 19013 497, 0, 498, 499, 500, 501, 502, 503, 504, 0, 19014 0, 0, 505, 506, 507, 508, 0, 342, 341, 343, 19015 0, 828, 509, 596, 510, 829, 830, 0, 831, 0, 19016 511, 512, 515, 0, 832, 0, 514, 516, 517, 0, 19017 518, 0, 0, 0, 519, 520, 521, 522, 523, 524, 19018 525, 0, 526, 528, 527, 0, 530, 833, 529, 0, 19019 531, 532, 0, 0, 533, 534, 535, 536, 537, 538, 19020 541, 0, 0, 539, 540, 542, 543, 0, 544, 545, 19021 547, 550, 546, 548, 549, 551, 552, 565, 566, 553, 19022 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 19023 564, 568, 0, 567, 0, 569, 570, 571, 572, 573, 19024 581, 583, 584, 579, 580, 582, 585, 586, 588, 589, 19025 576, 577, 578, 0, 587, 574, 0, 575, 344, 0, 19026 590, 591, 592, 593, 0, 834, 594, 835, 597, 598, 19027 0, 0, 599, 0, 600, 0, 0, 602, 603, 604, 19028 0, 0, 605, 606, 836, 0, 607, 0, 837, 608, 19029 609, 601, 610, 611, 612, 613, 614, 615, 616, 617, 19030 618, 619, 0, 620, 621, 838, 622, 623, 624, 839, 19031 625, 626, 627, 840, 628, 841, 629, 630, 0, 631, 19032 632, 633, 0, 634, 635, 636, 637, 638, 639, 640, 19033 641, 642, 643, 842, 644, 645, 647, 646, 648, 649, 19034 0, 650, 0, 651, 652, 653, 0, 0, 0, 0, 19035 0, 654, 655, 657, 0, 658, 659, 660, 661, 662, 19036 656, 663, 664, 665, 666, 667, 668, 669, 0, 671, 19037 672, 670, 673, 674, 0, 675, 676, 677, 678, 679, 19038 843, 680, 0, 681, 682, 690, 691, 692, 683, 684, 19039 686, 693, 685, 694, 695, 696, 697, 699, 698, 0, 19040 701, 702, 700, 703, 704, 705, 706, 0, 707, 844, 19041 708, 687, 688, 709, 710, 711, 0, 712, 713, 714, 19042 715, 716, 717, 718, 719, 720, 845, 0, 721, 0, 19043 722, 723, 724, 725, 726, 727, 729, 689, 730, 731, 19044 732, 737, 738, 846, 733, 734, 735, 736, 847, 740, 19045 741, 742, 743, 0, 744, 745, 0, 739, 728, 0, 19046 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 19047 0, 756, 848, 849, 850, 851, 0, 768, 0, 757, 19048 759, 760, 761, 762, 852, 763, 853, 0, 764, 765, 19049 766, 767, 758, 769, 770, 0, 0, 771, 772, 773, 19050 774, 776, 778, 779, 780, 775, 777, 781, 0, 782, 19051 0, 0, 783, 784, 785, 854, 855, 856, 0, 787, 19052 788, 786, 789, 790, 793, 791, 792, 857, 796, 513, 19053 797, 798, 799, 794, 795, 2914, 0, 337, 0, 800, 19054 801, 858, 802, 803, 804, 0, 0, 0, 0, 0, 19055 0, 0, 0, 0, 345, 346, 348, 347, 349, 350, 19056 351, 352, 0, 353, 354, 0, 0, 0, 0, 0, 19057 805, 0, 0, 0, 356, 0, 355, 0, 357, 358, 19058 359, 0, 360, 361, 362, 363, 364, 365, 366, 367, 19059 806, 807, 0, 368, 808, 369, 809, 0, 810, 370, 19060 371, 372, 373, 374, 375, 376, 377, 378, 379, 0, 19061 0, 0, 380, 811, 812, 813, 0, 381, 382, 383, 19062 384, 814, 0, 0, 0, 385, 386, 387, 388, 389, 19063 390, 391, 392, 0, 0, 394, 395, 396, 393, 397, 19064 398, 0, 399, 0, 400, 401, 402, 403, 404, 405, 19065 406, 0, 407, 408, 409, 0, 410, 411, 412, 0, 19066 0, 0, 0, 0, 0, 0, 413, 414, 415, 416, 19067 417, 0, 418, 420, 421, 815, 422, 816, 0, 425, 19068 427, 419, 423, 0, 426, 424, 428, 429, 0, 430, 19069 431, 432, 433, 0, 0, 434, 435, 436, 0, 437, 19070 438, 440, 439, 0, 441, 442, 443, 0, 444, 445, 19071 817, 446, 447, 448, 450, 452, 449, 451, 453, 454, 19072 455, 456, 457, 818, 819, 458, 459, 0, 340, 0, 19073 0, 0, 0, 0, 460, 461, 462, 820, 0, 0, 19074 0, 463, 0, 465, 469, 466, 467, 468, 470, 0, 19075 464, 471, 472, 0, 0, 473, 474, 475, 821, 822, 19076 476, 477, 478, 479, 480, 481, 482, 483, 484, 0, 19077 485, 486, 823, 0, 824, 487, 0, 488, 489, 490, 19078 491, 492, 493, 494, 825, 826, 827, 595, 0, 495, 19079 496, 497, 0, 498, 499, 500, 501, 502, 503, 504, 19080 0, 0, 0, 505, 506, 507, 508, 0, 342, 341, 19081 343, 0, 828, 509, 596, 510, 829, 830, 0, 831, 19082 0, 511, 512, 515, 0, 832, 0, 514, 516, 517, 19083 0, 518, 0, 0, 0, 519, 520, 521, 522, 523, 19084 524, 525, 0, 526, 528, 527, 0, 530, 833, 529, 19085 0, 531, 532, 0, 0, 533, 534, 535, 536, 537, 19086 538, 541, 0, 0, 539, 540, 542, 543, 0, 544, 19087 545, 547, 550, 546, 548, 549, 551, 552, 565, 566, 19088 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 19089 563, 564, 568, 0, 567, 0, 569, 570, 571, 572, 19090 573, 581, 583, 584, 579, 580, 582, 585, 586, 588, 19091 589, 576, 577, 578, 0, 587, 574, 0, 575, 344, 19092 0, 590, 591, 592, 593, 0, 834, 594, 835, 597, 19093 598, 0, 0, 599, 0, 600, 0, 0, 602, 603, 19094 604, 0, 0, 605, 606, 836, 0, 607, 0, 837, 19095 608, 609, 601, 610, 611, 612, 613, 614, 615, 616, 19096 617, 618, 619, 0, 620, 621, 838, 622, 623, 624, 19097 839, 625, 626, 627, 840, 628, 841, 629, 630, 0, 19098 631, 632, 633, 0, 634, 635, 636, 637, 638, 639, 19099 640, 641, 642, 643, 842, 644, 645, 647, 646, 648, 19100 649, 0, 650, 0, 651, 652, 653, 0, 0, 0, 19101 0, 0, 654, 655, 657, 0, 658, 659, 660, 661, 19102 662, 656, 663, 664, 665, 666, 667, 668, 669, 0, 19103 671, 672, 670, 673, 674, 0, 675, 676, 677, 678, 19104 679, 843, 680, 0, 681, 682, 690, 691, 692, 683, 19105 684, 686, 693, 685, 694, 695, 696, 697, 699, 698, 19106 0, 701, 702, 700, 703, 704, 705, 706, 0, 707, 19107 844, 708, 687, 688, 709, 710, 711, 0, 712, 713, 19108 714, 715, 716, 717, 718, 719, 720, 845, 0, 721, 19109 0, 722, 723, 724, 725, 726, 727, 729, 689, 730, 19110 731, 732, 737, 738, 846, 733, 734, 735, 736, 847, 19111 740, 741, 742, 743, 0, 744, 745, 0, 739, 728, 19112 0, 746, 747, 748, 749, 750, 751, 752, 753, 754, 19113 755, 0, 756, 848, 849, 850, 851, 0, 768, 0, 19114 757, 759, 760, 761, 762, 852, 763, 853, 0, 764, 19115 765, 766, 767, 758, 769, 770, 0, 0, 771, 772, 19116 773, 774, 776, 778, 779, 780, 775, 777, 781, 0, 19117 782, 0, 0, 783, 784, 785, 854, 855, 856, 0, 19118 787, 788, 786, 789, 790, 793, 791, 792, 857, 796, 19119 513, 797, 798, 799, 794, 795, 337, 0, 0, 0, 19120 800, 801, 858, 802, 803, 804, 0, 0, 0, 0, 19121 0, 0, 0, 345, 346, 348, 347, 349, 350, 351, 19122 352, 0, 353, 354, 0, 0, 0, 0, 0, 805, 19123 0, 0, 0, 356, 0, 355, 0, 357, 358, 359, 19124 0, 360, 361, 362, 363, 364, 365, 366, 367, 806, 19125 807, 0, 368, 808, 369, 809, 0, 810, 370, 371, 19126 372, 373, 374, 375, 376, 377, 378, 379, 0, 0, 19127 0, 380, 811, 812, 813, 0, 381, 382, 383, 384, 19128 814, 0, 0, 0, 385, 386, 387, 388, 389, 390, 19129 391, 392, 0, 0, 394, 395, 396, 393, 397, 398, 19130 0, 399, 0, 400, 401, 402, 403, 404, 405, 406, 19131 0, 407, 408, 409, 0, 410, 411, 412, 0, 0, 19132 0, 0, 0, 0, 0, 413, 414, 415, 416, 417, 19133 0, 418, 420, 421, 815, 422, 816, 0, 425, 427, 19134 419, 423, 0, 426, 424, 428, 429, 0, 430, 431, 19135 432, 433, 0, 0, 434, 435, 436, 0, 437, 438, 19136 440, 439, 0, 441, 442, 443, 0, 444, 445, 817, 19137 446, 447, 448, 450, 452, 449, 451, 453, 454, 455, 19138 456, 457, 818, 819, 458, 459, 0, 340, 0, 0, 19139 0, 0, 0, 460, 461, 462, 820, 0, 0, 0, 19140 463, 0, 465, 469, 466, 467, 468, 470, 0, 464, 19141 471, 472, 0, 0, 473, 474, 475, 821, 822, 476, 19142 477, 478, 479, 480, 481, 482, 483, 484, 0, 485, 19143 486, 823, 0, 824, 487, 0, 488, 489, 490, 491, 19144 492, 493, 494, 2884, 826, 827, 595, 0, 495, 496, 19145 497, 0, 498, 499, 500, 501, 502, 503, 504, 0, 19146 0, 0, 505, 506, 507, 508, 0, 342, 341, 343, 19147 0, 828, 509, 596, 510, 829, 830, 0, 831, 0, 19148 511, 512, 515, 0, 832, 0, 514, 516, 517, 0, 19149 518, 0, 0, 0, 519, 520, 521, 522, 523, 524, 19150 525, 0, 526, 528, 527, 0, 530, 833, 529, 0, 19151 531, 532, 0, 0, 533, 534, 535, 536, 537, 538, 19152 541, 0, 0, 539, 540, 542, 543, 0, 544, 545, 19153 547, 550, 546, 548, 549, 551, 552, 565, 566, 553, 19154 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 19155 564, 568, 0, 567, 0, 569, 570, 571, 572, 573, 19156 581, 583, 584, 579, 580, 582, 585, 586, 588, 589, 19157 576, 577, 578, 0, 587, 574, 0, 575, 344, 0, 19158 590, 591, 592, 593, 0, 834, 594, 835, 597, 598, 19159 0, 0, 599, 0, 600, 0, 1528, 602, 603, 604, 19160 0, 0, 605, 606, 836, 0, 607, 0, 837, 608, 19161 609, 601, 610, 611, 612, 613, 614, 615, 616, 617, 19162 618, 619, 0, 620, 621, 838, 622, 623, 624, 839, 19163 625, 626, 627, 840, 628, 841, 629, 630, 0, 631, 19164 632, 633, 0, 634, 635, 636, 637, 638, 639, 640, 19165 641, 642, 643, 842, 644, 645, 647, 646, 648, 649, 19166 0, 650, 0, 651, 652, 653, 0, 0, 0, 0, 19167 0, 654, 655, 657, 0, 658, 659, 660, 661, 662, 19168 656, 663, 664, 665, 666, 667, 668, 669, 0, 671, 19169 672, 670, 673, 674, 0, 675, 676, 677, 678, 679, 19170 843, 680, 0, 681, 682, 690, 691, 692, 683, 684, 19171 686, 693, 685, 694, 695, 696, 697, 699, 698, 0, 19172 701, 702, 700, 703, 704, 705, 706, 0, 707, 844, 19173 708, 687, 688, 709, 710, 711, 0, 712, 713, 714, 19174 715, 716, 717, 718, 719, 720, 845, 0, 721, 0, 19175 722, 723, 724, 725, 726, 727, 729, 689, 730, 731, 19176 732, 737, 738, 846, 733, 734, 735, 736, 847, 740, 19177 741, 742, 743, 0, 744, 745, 0, 739, 728, 0, 19178 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 19179 0, 756, 848, 849, 850, 851, 0, 768, 0, 757, 19180 759, 760, 761, 762, 852, 763, 853, 0, 764, 765, 19181 766, 767, 758, 769, 770, 0, 0, 771, 772, 773, 19182 774, 776, 778, 779, 780, 775, 777, 781, 0, 782, 19183 0, 0, 783, 784, 785, 854, 855, 856, 0, 787, 19184 788, 786, 789, 790, 793, 791, 792, 857, 796, 513, 19185 797, 798, 799, 794, 795, 2085, 0, 337, 0, 800, 19186 801, 858, 802, 803, 804, 0, 0, 0, 0, 0, 19187 0, 0, 0, 0, 345, 346, 348, 347, 349, 350, 19188 351, 352, 0, 353, 354, 0, 0, 0, 0, 0, 19189 805, 0, 0, 0, 356, 0, 355, 0, 357, 358, 19190 359, 0, 360, 361, 362, 363, 364, 365, 366, 367, 19191 806, 807, 0, 368, 808, 369, 809, 0, 810, 370, 19192 371, 372, 373, 374, 375, 376, 377, 378, 379, 0, 19193 0, 0, 380, 811, 812, 813, 0, 381, 382, 383, 19194 384, 814, 0, 0, 0, 385, 386, 387, 388, 389, 19195 390, 391, 392, 0, 0, 394, 395, 396, 393, 397, 19196 398, 0, 399, 0, 400, 401, 402, 403, 404, 405, 19197 406, 0, 407, 408, 409, 0, 410, 411, 412, 0, 19198 0, 0, 0, 0, 0, 0, 413, 414, 415, 416, 19199 417, 0, 418, 420, 421, 815, 422, 816, 0, 425, 19200 427, 419, 423, 0, 426, 424, 428, 429, 0, 430, 19201 431, 432, 433, 0, 0, 434, 435, 436, 0, 437, 19202 438, 440, 439, 0, 441, 442, 443, 0, 444, 445, 19203 817, 446, 447, 448, 450, 452, 449, 451, 453, 454, 19204 455, 456, 457, 818, 819, 458, 459, 0, 340, 0, 19205 0, 0, 0, 0, 460, 461, 462, 820, 0, 0, 19206 0, 463, 0, 465, 469, 466, 467, 468, 470, 0, 19207 464, 471, 472, 0, 0, 473, 474, 475, 821, 822, 19208 476, 477, 478, 479, 480, 481, 482, 483, 484, 0, 19209 485, 486, 823, 0, 824, 487, 0, 488, 489, 490, 19210 491, 492, 493, 494, 2084, 826, 827, 595, 0, 495, 19211 496, 497, 0, 498, 499, 500, 501, 502, 503, 504, 19212 0, 0, 0, 505, 506, 507, 508, 0, 342, 341, 19213 343, 0, 828, 509, 596, 510, 829, 830, 0, 831, 19214 0, 511, 512, 515, 0, 832, 0, 514, 516, 517, 19215 0, 518, 0, 0, 0, 519, 520, 521, 522, 523, 19216 524, 525, 0, 526, 528, 527, 0, 530, 833, 529, 19217 0, 531, 532, 0, 0, 533, 534, 535, 536, 537, 19218 538, 541, 0, 0, 539, 540, 542, 543, 0, 544, 19219 545, 547, 550, 546, 548, 549, 551, 552, 565, 566, 19220 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 19221 563, 564, 568, 0, 567, 0, 569, 570, 571, 572, 19222 573, 581, 583, 584, 579, 580, 582, 585, 586, 588, 19223 589, 576, 577, 578, 0, 587, 574, 0, 575, 344, 19224 0, 590, 591, 592, 593, 0, 834, 594, 835, 597, 19225 598, 0, 0, 599, 0, 600, 0, 0, 602, 603, 19226 604, 0, 0, 605, 606, 836, 0, 607, 0, 837, 19227 608, 609, 601, 610, 611, 612, 613, 614, 615, 616, 19228 617, 618, 619, 0, 620, 621, 838, 622, 623, 624, 19229 839, 625, 626, 627, 840, 628, 841, 629, 630, 0, 19230 631, 632, 633, 0, 634, 635, 636, 637, 638, 639, 19231 640, 641, 642, 643, 842, 644, 645, 647, 646, 648, 19232 649, 0, 650, 0, 651, 652, 653, 0, 0, 0, 19233 0, 0, 654, 655, 657, 0, 658, 659, 660, 661, 19234 662, 656, 663, 664, 665, 666, 667, 668, 669, 0, 19235 671, 672, 670, 673, 674, 0, 675, 676, 677, 678, 19236 679, 843, 680, 0, 681, 682, 690, 691, 692, 683, 19237 684, 686, 693, 685, 694, 695, 696, 697, 699, 698, 19238 0, 701, 702, 700, 703, 704, 705, 706, 0, 707, 19239 844, 708, 687, 688, 709, 710, 711, 0, 712, 713, 19240 714, 715, 716, 717, 718, 719, 720, 845, 0, 721, 19241 0, 722, 723, 724, 725, 726, 727, 729, 689, 730, 19242 731, 732, 737, 738, 846, 733, 734, 735, 736, 847, 19243 740, 741, 742, 743, 0, 744, 745, 0, 739, 728, 19244 0, 746, 747, 748, 749, 750, 751, 752, 753, 754, 19245 755, 0, 756, 848, 849, 850, 851, 0, 768, 0, 19246 757, 759, 760, 761, 762, 852, 763, 853, 0, 764, 19247 765, 766, 767, 758, 769, 770, 0, 0, 771, 772, 19248 773, 774, 776, 778, 779, 780, 775, 777, 781, 0, 19249 782, 0, 0, 783, 784, 785, 854, 855, 856, 0, 19250 787, 788, 786, 789, 790, 793, 791, 792, 857, 796, 19251 513, 797, 798, 799, 794, 795, 1980, 0, 337, 0, 19252 800, 801, 858, 802, 803, 804, 0, 0, 0, 0, 19253 0, 0, 0, 0, 0, 345, 346, 348, 347, 349, 19254 350, 351, 352, 0, 353, 354, 0, 0, 0, 0, 19255 0, 805, 0, 0, 0, 356, 0, 355, 0, 357, 19256 358, 359, 0, 360, 361, 362, 363, 364, 365, 366, 19257 367, 806, 807, 0, 368, 808, 369, 809, 0, 810, 19258 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 19259 0, 0, 0, 380, 811, 812, 813, 0, 381, 382, 19260 383, 384, 814, 0, 0, 0, 385, 386, 387, 388, 19261 389, 390, 391, 392, 0, 0, 394, 395, 396, 393, 19262 397, 398, 0, 399, 0, 400, 401, 402, 403, 404, 19263 405, 406, 0, 407, 408, 409, 0, 410, 411, 412, 19264 0, 0, 0, 0, 0, 0, 0, 413, 414, 415, 19265 416, 417, 0, 418, 420, 421, 815, 422, 816, 0, 19266 425, 427, 419, 423, 0, 426, 424, 428, 429, 0, 19267 430, 431, 432, 433, 0, 0, 434, 435, 436, 0, 19268 437, 438, 440, 439, 0, 441, 442, 443, 0, 444, 19269 445, 817, 446, 447, 448, 450, 452, 449, 451, 453, 19270 454, 455, 456, 457, 818, 819, 458, 459, 0, 340, 19271 0, 0, 0, 0, 0, 460, 461, 462, 820, 0, 19272 0, 0, 463, 0, 465, 469, 466, 467, 468, 470, 19273 0, 464, 471, 472, 0, 0, 473, 474, 475, 821, 19274 822, 476, 477, 478, 479, 480, 481, 482, 483, 484, 19275 0, 485, 486, 823, 0, 824, 487, 0, 488, 489, 19276 490, 491, 492, 493, 494, 825, 826, 827, 595, 0, 19277 495, 496, 497, 0, 498, 499, 500, 501, 502, 503, 19278 504, 0, 0, 0, 505, 506, 507, 508, 0, 342, 19279 341, 343, 0, 828, 509, 596, 510, 829, 830, 0, 19280 831, 0, 511, 512, 515, 0, 832, 0, 514, 516, 19281 517, 0, 518, 0, 0, 0, 519, 520, 521, 522, 19282 523, 524, 525, 0, 526, 528, 527, 0, 530, 833, 19283 529, 0, 531, 532, 0, 0, 533, 534, 535, 536, 19284 537, 538, 541, 0, 0, 539, 540, 542, 543, 0, 19285 544, 545, 547, 550, 546, 548, 549, 551, 552, 565, 19286 566, 553, 554, 555, 556, 557, 558, 559, 560, 561, 19287 562, 563, 564, 568, 0, 567, 0, 569, 570, 571, 19288 572, 573, 581, 583, 584, 579, 580, 582, 585, 586, 19289 588, 589, 576, 577, 578, 0, 587, 574, 0, 575, 19290 344, 0, 590, 591, 592, 593, 0, 834, 594, 835, 19291 597, 598, 0, 0, 599, 0, 600, 0, 0, 602, 19292 603, 604, 0, 0, 605, 606, 836, 0, 607, 0, 19293 837, 608, 609, 601, 610, 611, 612, 613, 614, 615, 19294 616, 617, 618, 619, 0, 620, 621, 838, 622, 623, 19295 624, 839, 625, 626, 627, 840, 628, 841, 629, 630, 19296 0, 631, 632, 633, 0, 634, 635, 636, 637, 638, 19297 639, 640, 641, 642, 643, 842, 644, 645, 647, 646, 19298 648, 649, 0, 650, 0, 651, 652, 653, 0, 0, 19299 0, 0, 0, 654, 655, 657, 0, 658, 659, 660, 19300 661, 662, 656, 663, 664, 665, 666, 667, 668, 669, 19301 0, 671, 672, 670, 673, 674, 0, 675, 676, 677, 19302 678, 679, 843, 680, 0, 681, 682, 690, 691, 692, 19303 683, 684, 686, 693, 685, 694, 695, 696, 697, 699, 19304 698, 0, 701, 702, 700, 703, 704, 705, 706, 0, 19305 707, 844, 708, 687, 688, 709, 710, 711, 0, 712, 19306 713, 714, 715, 716, 717, 718, 719, 720, 845, 0, 19307 721, 0, 722, 723, 724, 725, 726, 727, 729, 689, 19308 730, 731, 732, 737, 738, 846, 733, 734, 735, 736, 19309 847, 740, 741, 742, 743, 0, 744, 745, 0, 739, 19310 728, 0, 746, 747, 748, 749, 750, 751, 752, 753, 19311 754, 755, 0, 756, 848, 849, 850, 851, 0, 768, 19312 0, 757, 759, 760, 761, 762, 852, 763, 853, 0, 19313 764, 765, 766, 767, 758, 769, 770, 0, 0, 771, 19314 772, 773, 774, 776, 778, 779, 780, 775, 777, 781, 19315 0, 782, 0, 0, 783, 784, 785, 854, 855, 856, 19316 0, 787, 788, 786, 789, 790, 793, 791, 792, 857, 19317 796, 513, 797, 798, 799, 794, 795, 1973, 0, 337, 19318 0, 800, 801, 858, 802, 803, 804, 0, 0, 0, 19319 0, 0, 0, 0, 0, 0, 345, 346, 348, 347, 19320 349, 350, 351, 352, 0, 353, 354, 0, 0, 0, 19321 0, 0, 805, 0, 0, 0, 356, 0, 355, 0, 19322 357, 358, 359, 0, 360, 361, 362, 363, 364, 365, 19323 366, 367, 806, 807, 0, 368, 808, 369, 809, 0, 19324 810, 370, 371, 372, 373, 374, 375, 376, 377, 378, 19325 379, 0, 0, 0, 380, 811, 812, 813, 0, 381, 19326 382, 383, 384, 814, 0, 0, 0, 385, 386, 387, 19327 388, 389, 390, 391, 392, 0, 0, 394, 395, 396, 19328 393, 397, 398, 0, 399, 0, 400, 401, 402, 403, 19329 404, 405, 406, 0, 407, 408, 409, 0, 410, 411, 19330 412, 0, 0, 0, 0, 0, 0, 0, 413, 414, 19331 415, 416, 417, 0, 418, 420, 421, 815, 422, 816, 19332 0, 425, 427, 419, 423, 0, 426, 424, 428, 429, 19333 0, 430, 431, 432, 433, 0, 0, 434, 435, 436, 19334 0, 437, 438, 440, 439, 0, 441, 442, 443, 0, 19335 444, 445, 817, 446, 447, 448, 450, 452, 449, 451, 19336 453, 454, 455, 456, 457, 818, 819, 458, 459, 0, 19337 340, 0, 0, 0, 0, 0, 460, 461, 462, 820, 19338 0, 0, 0, 463, 0, 465, 469, 466, 467, 468, 19339 470, 0, 464, 471, 472, 0, 0, 473, 474, 475, 19340 821, 822, 476, 477, 478, 479, 480, 481, 482, 483, 19341 484, 0, 485, 486, 823, 0, 824, 487, 0, 488, 19342 489, 490, 491, 492, 493, 494, 1975, 826, 827, 595, 19343 0, 495, 496, 497, 0, 498, 499, 500, 501, 502, 19344 503, 504, 0, 0, 0, 505, 506, 507, 508, 0, 19345 342, 341, 343, 0, 828, 509, 596, 510, 829, 830, 19346 0, 831, 0, 511, 512, 515, 0, 832, 0, 514, 19347 516, 517, 0, 518, 0, 0, 0, 519, 520, 521, 19348 522, 523, 524, 525, 0, 526, 528, 527, 0, 530, 19349 833, 529, 0, 531, 532, 0, 0, 533, 534, 535, 19350 536, 537, 538, 541, 0, 0, 539, 540, 542, 543, 19351 0, 544, 545, 547, 550, 546, 548, 549, 551, 552, 19352 565, 566, 553, 554, 555, 556, 557, 558, 559, 560, 19353 561, 562, 563, 564, 568, 0, 567, 0, 569, 570, 19354 571, 572, 573, 581, 583, 584, 579, 580, 582, 585, 19355 586, 588, 589, 576, 577, 578, 0, 587, 574, 0, 19356 575, 344, 0, 590, 591, 592, 593, 0, 834, 594, 19357 835, 597, 598, 0, 0, 599, 0, 600, 0, 0, 19358 602, 603, 604, 0, 0, 605, 606, 836, 0, 607, 19359 0, 837, 608, 609, 601, 610, 611, 612, 613, 614, 19360 615, 616, 617, 618, 619, 0, 620, 621, 838, 622, 19361 623, 624, 839, 625, 626, 627, 840, 628, 841, 629, 19362 630, 0, 631, 632, 633, 0, 634, 635, 636, 637, 19363 638, 639, 640, 641, 642, 643, 842, 644, 645, 647, 19364 646, 648, 649, 0, 650, 0, 651, 652, 653, 0, 19365 0, 0, 0, 0, 654, 655, 657, 0, 658, 659, 19366 660, 661, 662, 656, 663, 664, 665, 666, 667, 668, 19367 669, 0, 671, 672, 670, 673, 674, 0, 675, 676, 19368 677, 678, 679, 843, 680, 0, 681, 682, 690, 691, 19369 692, 683, 684, 686, 693, 685, 694, 695, 696, 697, 19370 699, 698, 0, 701, 702, 700, 703, 704, 705, 706, 19371 0, 707, 844, 708, 687, 688, 709, 710, 711, 0, 19372 712, 713, 714, 715, 716, 717, 718, 719, 720, 845, 19373 0, 721, 0, 722, 723, 724, 725, 726, 727, 729, 19374 689, 730, 731, 732, 737, 738, 846, 733, 734, 735, 19375 736, 847, 740, 741, 742, 743, 0, 744, 745, 0, 19376 739, 728, 0, 746, 747, 748, 749, 750, 751, 752, 19377 753, 754, 755, 0, 756, 848, 849, 850, 851, 0, 19378 768, 0, 757, 759, 760, 761, 762, 852, 763, 853, 19379 0, 764, 765, 766, 767, 758, 769, 770, 0, 0, 19380 771, 772, 773, 774, 776, 778, 779, 780, 775, 777, 19381 781, 0, 782, 0, 0, 783, 784, 785, 854, 855, 19382 856, 0, 787, 788, 786, 789, 790, 793, 791, 792, 19383 857, 796, 513, 797, 798, 799, 794, 795, 1963, 0, 19384 337, 0, 800, 801, 858, 802, 803, 804, 0, 0, 19385 0, 0, 0, 0, 0, 0, 0, 345, 346, 348, 19386 347, 349, 350, 351, 352, 0, 353, 354, 0, 0, 19387 0, 0, 0, 805, 0, 0, 0, 356, 0, 355, 19388 0, 357, 358, 359, 0, 360, 361, 362, 363, 364, 19389 365, 366, 367, 806, 807, 0, 368, 808, 369, 809, 19390 0, 810, 370, 371, 372, 373, 374, 375, 376, 377, 19391 378, 379, 0, 0, 0, 380, 811, 812, 813, 0, 19392 381, 382, 383, 384, 814, 0, 0, 0, 385, 386, 19393 387, 388, 389, 390, 391, 392, 0, 0, 394, 395, 19394 396, 393, 397, 398, 0, 399, 0, 400, 401, 402, 19395 403, 404, 405, 406, 0, 407, 408, 409, 0, 410, 19396 411, 412, 0, 0, 0, 0, 0, 0, 0, 413, 19397 414, 415, 416, 417, 0, 418, 420, 421, 815, 422, 19398 816, 0, 425, 427, 419, 423, 0, 426, 424, 428, 19399 429, 0, 430, 431, 432, 433, 0, 0, 434, 435, 19400 436, 0, 437, 438, 440, 439, 0, 441, 442, 443, 19401 0, 444, 445, 817, 446, 447, 448, 450, 452, 449, 19402 451, 453, 454, 455, 456, 457, 818, 819, 458, 459, 19403 0, 340, 0, 0, 0, 0, 0, 460, 461, 462, 19404 820, 0, 0, 0, 463, 0, 465, 469, 466, 467, 19405 468, 470, 0, 464, 471, 472, 0, 0, 473, 474, 19406 475, 821, 822, 476, 477, 478, 479, 480, 481, 482, 19407 483, 484, 0, 485, 486, 823, 0, 824, 487, 0, 19408 488, 489, 490, 491, 492, 493, 494, 825, 826, 827, 19409 595, 0, 495, 496, 497, 0, 498, 499, 500, 501, 19410 502, 503, 504, 0, 0, 0, 505, 506, 507, 508, 19411 0, 342, 341, 343, 0, 828, 509, 596, 510, 829, 19412 830, 0, 831, 0, 511, 512, 515, 0, 832, 0, 19413 514, 516, 517, 0, 518, 0, 0, 0, 519, 520, 19414 521, 522, 523, 524, 525, 0, 526, 528, 527, 0, 19415 530, 833, 529, 0, 531, 532, 0, 0, 533, 534, 19416 535, 536, 537, 538, 541, 0, 0, 539, 540, 542, 19417 543, 0, 544, 545, 547, 550, 546, 548, 549, 551, 19418 552, 565, 566, 553, 554, 555, 556, 557, 558, 559, 19419 560, 561, 562, 563, 564, 568, 0, 567, 0, 569, 19420 570, 571, 572, 573, 581, 583, 584, 579, 580, 582, 19421 585, 586, 588, 589, 576, 577, 578, 0, 587, 574, 19422 0, 575, 344, 0, 590, 591, 592, 593, 0, 834, 19423 594, 835, 597, 598, 0, 0, 599, 0, 600, 0, 19424 0, 602, 603, 604, 0, 0, 605, 606, 836, 0, 19425 607, 0, 837, 608, 609, 601, 610, 611, 612, 613, 19426 614, 615, 616, 617, 618, 619, 0, 620, 621, 838, 19427 622, 623, 624, 839, 625, 626, 627, 840, 628, 841, 19428 629, 630, 0, 631, 632, 633, 0, 634, 635, 636, 19429 637, 638, 639, 640, 641, 642, 643, 842, 644, 645, 19430 647, 646, 648, 649, 0, 650, 0, 651, 652, 653, 19431 0, 0, 0, 0, 0, 654, 655, 657, 0, 658, 19432 659, 660, 661, 662, 656, 663, 664, 665, 666, 667, 19433 668, 669, 0, 671, 672, 670, 673, 674, 0, 675, 19434 676, 677, 678, 679, 843, 680, 0, 681, 682, 690, 19435 691, 692, 683, 684, 686, 693, 685, 694, 695, 696, 19436 697, 699, 698, 0, 701, 702, 700, 703, 704, 705, 19437 706, 0, 707, 844, 708, 687, 688, 709, 710, 711, 19438 0, 712, 713, 714, 715, 716, 717, 718, 719, 720, 19439 845, 0, 721, 0, 722, 723, 724, 725, 726, 727, 19440 729, 689, 730, 731, 732, 737, 738, 846, 733, 734, 19441 735, 736, 847, 740, 741, 742, 743, 0, 744, 745, 19442 0, 739, 728, 0, 746, 747, 748, 749, 750, 751, 19443 752, 753, 754, 755, 0, 756, 848, 849, 850, 851, 19444 0, 768, 0, 757, 759, 760, 761, 762, 852, 763, 19445 853, 0, 764, 765, 766, 767, 758, 769, 770, 0, 19446 0, 771, 772, 773, 774, 776, 778, 779, 780, 775, 19447 777, 781, 0, 782, 0, 0, 783, 784, 785, 854, 19448 855, 856, 0, 787, 788, 786, 789, 790, 793, 791, 19449 792, 857, 796, 513, 797, 798, 799, 794, 795, 1961, 19450 0, 337, 0, 800, 801, 858, 802, 803, 804, 0, 19451 0, 0, 0, 0, 0, 0, 0, 0, 345, 346, 19452 348, 347, 349, 350, 351, 352, 0, 353, 354, 0, 19453 0, 0, 0, 0, 805, 0, 0, 0, 356, 0, 19454 355, 0, 357, 358, 359, 0, 360, 361, 362, 363, 19455 364, 365, 366, 367, 806, 807, 0, 368, 808, 369, 19456 809, 0, 810, 370, 371, 372, 373, 374, 375, 376, 19457 377, 378, 379, 0, 0, 0, 380, 811, 812, 813, 19458 0, 381, 382, 383, 384, 814, 0, 0, 0, 385, 19459 386, 387, 388, 389, 390, 391, 392, 0, 0, 394, 19460 395, 396, 393, 397, 398, 0, 399, 0, 400, 401, 19461 402, 403, 404, 405, 406, 0, 407, 408, 409, 0, 19462 410, 411, 412, 0, 0, 0, 0, 0, 0, 0, 19463 413, 414, 415, 416, 417, 0, 418, 420, 421, 815, 19464 422, 816, 0, 425, 427, 419, 423, 0, 426, 424, 19465 428, 429, 0, 430, 431, 432, 433, 0, 0, 434, 19466 435, 436, 0, 437, 438, 440, 439, 0, 441, 442, 19467 443, 0, 444, 445, 817, 446, 447, 448, 450, 452, 19468 449, 451, 453, 454, 455, 456, 457, 818, 819, 458, 19469 459, 0, 340, 0, 0, 0, 0, 0, 460, 461, 19470 462, 820, 0, 0, 0, 463, 0, 465, 469, 466, 19471 467, 468, 470, 0, 464, 471, 472, 0, 0, 473, 19472 474, 475, 821, 822, 476, 477, 478, 479, 480, 481, 19473 482, 483, 484, 0, 485, 486, 823, 0, 824, 487, 19474 0, 488, 489, 490, 491, 492, 493, 494, 825, 826, 19475 827, 595, 0, 495, 496, 497, 0, 498, 499, 500, 19476 501, 502, 503, 504, 0, 0, 0, 505, 506, 507, 19477 508, 0, 342, 341, 343, 0, 828, 509, 596, 510, 19478 829, 830, 0, 831, 0, 511, 512, 515, 0, 832, 19479 0, 514, 516, 517, 0, 518, 0, 0, 0, 519, 19480 520, 521, 522, 523, 524, 525, 0, 526, 528, 527, 19481 0, 530, 833, 529, 0, 531, 532, 0, 0, 533, 19482 534, 535, 536, 537, 538, 541, 0, 0, 539, 540, 19483 542, 543, 0, 544, 545, 547, 550, 546, 548, 549, 19484 551, 552, 565, 566, 553, 554, 555, 556, 557, 558, 19485 559, 560, 561, 562, 563, 564, 568, 0, 567, 0, 19486 569, 570, 571, 572, 573, 581, 583, 584, 579, 580, 19487 582, 585, 586, 588, 589, 576, 577, 578, 0, 587, 19488 574, 0, 575, 344, 0, 590, 591, 592, 593, 0, 19489 834, 594, 835, 597, 598, 0, 0, 599, 0, 600, 19490 0, 0, 602, 603, 604, 0, 0, 605, 606, 836, 19491 0, 607, 0, 837, 608, 609, 601, 610, 611, 612, 19492 613, 614, 615, 616, 617, 618, 619, 0, 620, 621, 19493 838, 622, 623, 624, 839, 625, 626, 627, 840, 628, 19494 841, 629, 630, 0, 631, 632, 633, 0, 634, 635, 19495 636, 637, 638, 639, 640, 641, 642, 643, 842, 644, 19496 645, 647, 646, 648, 649, 0, 650, 0, 651, 652, 19497 653, 0, 0, 0, 0, 0, 654, 655, 657, 0, 19498 658, 659, 660, 661, 662, 656, 663, 664, 665, 666, 19499 667, 668, 669, 0, 671, 672, 670, 673, 674, 0, 19500 675, 676, 677, 678, 679, 843, 680, 0, 681, 682, 19501 690, 691, 692, 683, 684, 686, 693, 685, 694, 695, 19502 696, 697, 699, 698, 0, 701, 702, 700, 703, 704, 19503 705, 706, 0, 707, 844, 708, 687, 688, 709, 710, 19504 711, 0, 712, 713, 714, 715, 716, 717, 718, 719, 19505 720, 845, 0, 721, 0, 722, 723, 724, 725, 726, 19506 727, 729, 689, 730, 731, 732, 737, 738, 846, 733, 19507 734, 735, 736, 847, 740, 741, 742, 743, 0, 744, 19508 745, 0, 739, 728, 0, 746, 747, 748, 749, 750, 19509 751, 752, 753, 754, 755, 0, 756, 848, 849, 850, 19510 851, 0, 768, 0, 757, 759, 760, 761, 762, 852, 19511 763, 853, 0, 764, 765, 766, 767, 758, 769, 770, 19512 0, 0, 771, 772, 773, 774, 776, 778, 779, 780, 19513 775, 777, 781, 0, 782, 0, 0, 783, 784, 785, 19514 854, 855, 856, 0, 787, 788, 786, 789, 790, 793, 19515 791, 792, 857, 796, 513, 797, 798, 799, 794, 795, 19516 1623, 0, 337, 0, 800, 801, 858, 802, 803, 804, 19517 0, 0, 0, 0, 0, 0, 0, 0, 0, 345, 19518 346, 348, 347, 349, 350, 351, 352, 0, 353, 354, 19519 0, 0, 0, 0, 0, 805, 0, 0, 0, 356, 19520 0, 355, 0, 357, 358, 359, 0, 360, 361, 362, 19521 363, 364, 365, 366, 367, 806, 807, 0, 368, 808, 19522 369, 809, 0, 810, 370, 371, 372, 373, 374, 375, 19523 376, 377, 378, 379, 0, 0, 0, 380, 811, 812, 19524 813, 0, 381, 382, 383, 384, 814, 0, 0, 0, 19525 385, 386, 387, 388, 389, 390, 391, 392, 0, 0, 19526 394, 395, 396, 393, 397, 398, 0, 399, 0, 400, 19527 401, 402, 403, 404, 405, 406, 0, 407, 408, 409, 19528 0, 410, 411, 412, 0, 0, 0, 0, 0, 0, 19529 0, 413, 414, 415, 416, 417, 0, 418, 420, 421, 19530 815, 422, 816, 0, 425, 427, 419, 423, 0, 426, 19531 424, 428, 429, 0, 430, 431, 432, 433, 0, 0, 19532 434, 435, 436, 0, 437, 438, 440, 439, 0, 441, 19533 442, 443, 0, 444, 445, 817, 446, 447, 448, 450, 19534 452, 449, 451, 453, 454, 455, 456, 457, 818, 819, 19535 458, 459, 0, 340, 0, 0, 0, 0, 0, 460, 19536 461, 462, 820, 0, 0, 0, 463, 0, 465, 469, 19537 466, 467, 468, 470, 0, 464, 471, 472, 0, 0, 19538 473, 474, 475, 821, 822, 476, 477, 478, 479, 480, 19539 481, 482, 483, 484, 0, 485, 486, 823, 0, 824, 19540 487, 0, 488, 489, 490, 491, 492, 493, 494, 1622, 19541 826, 827, 595, 0, 495, 496, 497, 0, 498, 499, 19542 500, 501, 502, 503, 504, 0, 0, 0, 505, 506, 19543 507, 508, 0, 342, 341, 343, 0, 828, 509, 596, 19544 510, 829, 830, 0, 831, 0, 511, 512, 515, 0, 19545 832, 0, 514, 516, 517, 0, 518, 0, 0, 0, 19546 519, 520, 521, 522, 523, 524, 525, 0, 526, 528, 19547 527, 0, 530, 833, 529, 0, 531, 532, 0, 0, 19548 533, 534, 535, 536, 537, 538, 541, 0, 0, 539, 19549 540, 542, 543, 0, 544, 545, 547, 550, 546, 548, 19550 549, 551, 552, 565, 566, 553, 554, 555, 556, 557, 19551 558, 559, 560, 561, 562, 563, 564, 568, 0, 567, 19552 0, 569, 570, 571, 572, 573, 581, 583, 584, 579, 19553 580, 582, 585, 586, 588, 589, 576, 577, 578, 0, 19554 587, 574, 0, 575, 344, 0, 590, 591, 592, 593, 19555 0, 834, 594, 835, 597, 598, 0, 0, 599, 0, 19556 600, 0, 0, 602, 603, 604, 0, 0, 605, 606, 19557 836, 0, 607, 0, 837, 608, 609, 601, 610, 611, 19558 612, 613, 614, 615, 616, 617, 618, 619, 0, 620, 19559 621, 838, 622, 623, 624, 839, 625, 626, 627, 840, 19560 628, 841, 629, 630, 0, 631, 632, 633, 0, 634, 19561 635, 636, 637, 638, 639, 640, 641, 642, 643, 842, 19562 644, 645, 647, 646, 648, 649, 0, 650, 0, 651, 19563 652, 653, 0, 0, 0, 0, 0, 654, 655, 657, 19564 0, 658, 659, 660, 661, 662, 656, 663, 664, 665, 19565 666, 667, 668, 669, 0, 671, 672, 670, 673, 674, 19566 0, 675, 676, 677, 678, 679, 843, 680, 0, 681, 19567 682, 690, 691, 692, 683, 684, 686, 693, 685, 694, 19568 695, 696, 697, 699, 698, 0, 701, 702, 700, 703, 19569 704, 705, 706, 0, 707, 844, 708, 687, 688, 709, 19570 710, 711, 0, 712, 713, 714, 715, 716, 717, 718, 19571 719, 720, 845, 0, 721, 0, 722, 723, 724, 725, 19572 726, 727, 729, 689, 730, 731, 732, 737, 738, 846, 19573 733, 734, 735, 736, 847, 740, 741, 742, 743, 0, 19574 744, 745, 0, 739, 728, 0, 746, 747, 748, 749, 19575 750, 751, 752, 753, 754, 755, 0, 756, 848, 849, 19576 850, 851, 0, 768, 0, 757, 759, 760, 761, 762, 19577 852, 763, 853, 0, 764, 765, 766, 767, 758, 769, 19578 770, 0, 0, 771, 772, 773, 774, 776, 778, 779, 19579 780, 775, 777, 781, 0, 782, 0, 0, 783, 784, 19580 785, 854, 855, 856, 0, 787, 788, 786, 789, 790, 19581 793, 791, 792, 857, 796, 513, 797, 798, 799, 794, 19582 795, 1612, 0, 337, 0, 800, 801, 858, 802, 803, 19583 804, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19584 345, 346, 348, 347, 349, 350, 351, 352, 0, 353, 19585 354, 0, 0, 0, 0, 0, 805, 0, 0, 0, 19586 356, 0, 355, 0, 357, 358, 359, 0, 360, 361, 19587 362, 363, 364, 365, 366, 367, 806, 807, 0, 368, 19588 808, 369, 809, 0, 810, 370, 371, 372, 373, 374, 19589 375, 376, 377, 378, 379, 0, 0, 0, 380, 811, 19590 812, 813, 0, 381, 382, 383, 384, 814, 0, 0, 19591 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 19592 0, 394, 395, 396, 393, 397, 398, 0, 399, 0, 19593 400, 401, 402, 403, 404, 405, 406, 0, 407, 408, 19594 409, 0, 410, 411, 412, 0, 0, 0, 0, 0, 19595 0, 0, 413, 414, 415, 416, 417, 0, 418, 420, 19596 421, 815, 422, 816, 0, 425, 427, 419, 423, 0, 19597 426, 424, 428, 429, 0, 430, 431, 432, 433, 0, 19598 0, 434, 435, 436, 0, 437, 438, 440, 439, 0, 19599 441, 442, 443, 0, 444, 445, 817, 446, 447, 448, 19600 450, 452, 449, 451, 453, 454, 455, 456, 457, 818, 19601 819, 458, 459, 0, 340, 0, 0, 0, 0, 0, 19602 460, 461, 462, 820, 0, 0, 0, 463, 0, 465, 19603 469, 466, 467, 468, 470, 0, 464, 471, 472, 0, 19604 0, 473, 474, 475, 821, 822, 476, 477, 478, 479, 19605 480, 481, 482, 483, 484, 0, 485, 486, 823, 0, 19606 824, 487, 0, 488, 489, 490, 491, 492, 493, 494, 19607 1611, 826, 827, 595, 0, 495, 496, 497, 0, 498, 19608 499, 500, 501, 502, 503, 504, 0, 0, 0, 505, 19609 506, 507, 508, 0, 342, 341, 343, 0, 828, 509, 19610 596, 510, 829, 830, 0, 831, 0, 511, 512, 515, 19611 0, 832, 0, 514, 516, 517, 0, 518, 0, 0, 19612 0, 519, 520, 521, 522, 523, 524, 525, 0, 526, 19613 528, 527, 0, 530, 833, 529, 0, 531, 532, 0, 19614 0, 533, 534, 535, 536, 537, 538, 541, 0, 0, 19615 539, 540, 542, 543, 0, 544, 545, 547, 550, 546, 19616 548, 549, 551, 552, 565, 566, 553, 554, 555, 556, 19617 557, 558, 559, 560, 561, 562, 563, 564, 568, 0, 19618 567, 0, 569, 570, 571, 572, 573, 581, 583, 584, 19619 579, 580, 582, 585, 586, 588, 589, 576, 577, 578, 19620 0, 587, 574, 0, 575, 344, 0, 590, 591, 592, 19621 593, 0, 834, 594, 835, 597, 598, 0, 0, 599, 19622 0, 600, 0, 0, 602, 603, 604, 0, 0, 605, 19623 606, 836, 0, 607, 0, 837, 608, 609, 601, 610, 19624 611, 612, 613, 614, 615, 616, 617, 618, 619, 0, 19625 620, 621, 838, 622, 623, 624, 839, 625, 626, 627, 19626 840, 628, 841, 629, 630, 0, 631, 632, 633, 0, 19627 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 19628 842, 644, 645, 647, 646, 648, 649, 0, 650, 0, 19629 651, 652, 653, 0, 0, 0, 0, 0, 654, 655, 19630 657, 0, 658, 659, 660, 661, 662, 656, 663, 664, 19631 665, 666, 667, 668, 669, 0, 671, 672, 670, 673, 19632 674, 0, 675, 676, 677, 678, 679, 843, 680, 0, 19633 681, 682, 690, 691, 692, 683, 684, 686, 693, 685, 19634 694, 695, 696, 697, 699, 698, 0, 701, 702, 700, 19635 703, 704, 705, 706, 0, 707, 844, 708, 687, 688, 19636 709, 710, 711, 0, 712, 713, 714, 715, 716, 717, 19637 718, 719, 720, 845, 0, 721, 0, 722, 723, 724, 19638 725, 726, 727, 729, 689, 730, 731, 732, 737, 738, 19639 846, 733, 734, 735, 736, 847, 740, 741, 742, 743, 19640 0, 744, 745, 0, 739, 728, 0, 746, 747, 748, 19641 749, 750, 751, 752, 753, 754, 755, 0, 756, 848, 19642 849, 850, 851, 0, 768, 0, 757, 759, 760, 761, 19643 762, 852, 763, 853, 0, 764, 765, 766, 767, 758, 19644 769, 770, 0, 0, 771, 772, 773, 774, 776, 778, 19645 779, 780, 775, 777, 781, 0, 782, 0, 0, 783, 19646 784, 785, 854, 855, 856, 0, 787, 788, 786, 789, 19647 790, 793, 791, 792, 857, 796, 513, 797, 798, 799, 19648 794, 795, 1608, 0, 337, 0, 800, 801, 858, 802, 19649 803, 804, 0, 0, 0, 0, 0, 0, 0, 0, 19650 0, 345, 346, 348, 347, 349, 350, 351, 352, 0, 19651 353, 354, 0, 0, 0, 0, 0, 805, 0, 0, 19652 0, 356, 0, 355, 0, 357, 358, 359, 0, 360, 19653 361, 362, 363, 364, 365, 366, 367, 806, 807, 0, 19654 368, 808, 369, 809, 0, 810, 370, 371, 372, 373, 19655 374, 375, 376, 377, 378, 379, 0, 0, 0, 380, 19656 811, 812, 813, 0, 381, 382, 383, 384, 814, 0, 19657 0, 0, 385, 386, 387, 388, 389, 390, 391, 392, 19658 0, 0, 394, 395, 396, 393, 397, 398, 0, 399, 19659 0, 400, 401, 402, 403, 404, 405, 406, 0, 407, 19660 408, 409, 0, 410, 411, 412, 0, 0, 0, 0, 19661 0, 0, 0, 413, 414, 415, 416, 417, 0, 418, 19662 420, 421, 815, 422, 816, 0, 425, 427, 419, 423, 19663 0, 426, 424, 428, 429, 0, 430, 431, 432, 433, 19664 0, 0, 434, 435, 436, 0, 437, 438, 440, 439, 19665 0, 441, 442, 443, 0, 444, 445, 817, 446, 447, 19666 448, 450, 452, 449, 451, 453, 454, 455, 456, 457, 19667 818, 819, 458, 459, 0, 340, 0, 0, 0, 0, 19668 0, 460, 461, 462, 820, 0, 0, 0, 463, 0, 19669 465, 469, 466, 467, 468, 470, 0, 464, 471, 472, 19670 0, 0, 473, 474, 475, 821, 822, 476, 477, 478, 19671 479, 480, 481, 482, 483, 484, 0, 485, 486, 823, 19672 0, 824, 487, 0, 488, 489, 490, 491, 492, 493, 19673 494, 1607, 826, 827, 595, 0, 495, 496, 497, 0, 19674 498, 499, 500, 501, 502, 503, 504, 0, 0, 0, 19675 505, 506, 507, 508, 0, 342, 341, 343, 0, 828, 19676 509, 596, 510, 829, 830, 0, 831, 0, 511, 512, 19677 515, 0, 832, 0, 514, 516, 517, 0, 518, 0, 19678 0, 0, 519, 520, 521, 522, 523, 524, 525, 0, 19679 526, 528, 527, 0, 530, 833, 529, 0, 531, 532, 19680 0, 0, 533, 534, 535, 536, 537, 538, 541, 0, 19681 0, 539, 540, 542, 543, 0, 544, 545, 547, 550, 19682 546, 548, 549, 551, 552, 565, 566, 553, 554, 555, 19683 556, 557, 558, 559, 560, 561, 562, 563, 564, 568, 19684 0, 567, 0, 569, 570, 571, 572, 573, 581, 583, 19685 584, 579, 580, 582, 585, 586, 588, 589, 576, 577, 19686 578, 0, 587, 574, 0, 575, 344, 0, 590, 591, 19687 592, 593, 0, 834, 594, 835, 597, 598, 0, 0, 19688 599, 0, 600, 0, 0, 602, 603, 604, 0, 0, 19689 605, 606, 836, 0, 607, 0, 837, 608, 609, 601, 19690 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 19691 0, 620, 621, 838, 622, 623, 624, 839, 625, 626, 19692 627, 840, 628, 841, 629, 630, 0, 631, 632, 633, 19693 0, 634, 635, 636, 637, 638, 639, 640, 641, 642, 19694 643, 842, 644, 645, 647, 646, 648, 649, 0, 650, 19695 0, 651, 652, 653, 0, 0, 0, 0, 0, 654, 19696 655, 657, 0, 658, 659, 660, 661, 662, 656, 663, 19697 664, 665, 666, 667, 668, 669, 0, 671, 672, 670, 19698 673, 674, 0, 675, 676, 677, 678, 679, 843, 680, 19699 0, 681, 682, 690, 691, 692, 683, 684, 686, 693, 19700 685, 694, 695, 696, 697, 699, 698, 0, 701, 702, 19701 700, 703, 704, 705, 706, 0, 707, 844, 708, 687, 19702 688, 709, 710, 711, 0, 712, 713, 714, 715, 716, 19703 717, 718, 719, 720, 845, 0, 721, 0, 722, 723, 19704 724, 725, 726, 727, 729, 689, 730, 731, 732, 737, 19705 738, 846, 733, 734, 735, 736, 847, 740, 741, 742, 19706 743, 0, 744, 745, 0, 739, 728, 0, 746, 747, 19707 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 19708 848, 849, 850, 851, 0, 768, 0, 757, 759, 760, 19709 761, 762, 852, 763, 853, 0, 764, 765, 766, 767, 19710 758, 769, 770, 0, 0, 771, 772, 773, 774, 776, 19711 778, 779, 780, 775, 777, 781, 0, 782, 0, 0, 19712 783, 784, 785, 854, 855, 856, 0, 787, 788, 786, 19713 789, 790, 793, 791, 792, 857, 796, 513, 797, 798, 19714 799, 794, 795, 1602, 0, 337, 0, 800, 801, 858, 19715 802, 803, 804, 0, 0, 0, 0, 0, 0, 0, 19716 0, 0, 345, 346, 348, 347, 349, 350, 351, 352, 19717 0, 353, 354, 0, 0, 0, 0, 0, 805, 0, 19718 0, 0, 356, 0, 355, 0, 357, 358, 359, 0, 19719 360, 361, 362, 363, 364, 365, 366, 367, 806, 807, 19720 0, 368, 808, 369, 809, 0, 810, 370, 371, 372, 19721 373, 374, 375, 376, 377, 378, 379, 0, 0, 0, 19722 380, 811, 812, 813, 0, 381, 382, 383, 384, 814, 19723 0, 0, 0, 385, 386, 387, 388, 389, 390, 391, 19724 392, 0, 0, 394, 395, 396, 393, 397, 398, 0, 19725 399, 0, 400, 401, 402, 403, 404, 405, 406, 0, 19726 407, 408, 409, 0, 410, 411, 412, 0, 0, 0, 19727 0, 0, 0, 0, 413, 414, 415, 416, 417, 0, 19728 418, 420, 421, 815, 422, 816, 0, 425, 427, 419, 19729 423, 0, 426, 424, 428, 429, 0, 430, 431, 432, 19730 433, 0, 0, 434, 435, 436, 0, 437, 438, 440, 19731 439, 0, 441, 442, 443, 0, 444, 445, 817, 446, 19732 447, 448, 450, 452, 449, 451, 453, 454, 455, 456, 19733 457, 818, 819, 458, 459, 0, 340, 0, 0, 0, 19734 0, 0, 460, 461, 462, 820, 0, 0, 0, 463, 19735 0, 465, 469, 466, 467, 468, 470, 0, 464, 471, 19736 472, 0, 0, 473, 474, 475, 821, 822, 476, 477, 19737 478, 479, 480, 481, 482, 483, 484, 0, 485, 486, 19738 823, 0, 824, 487, 0, 488, 489, 490, 491, 492, 19739 493, 494, 1601, 826, 827, 595, 0, 495, 496, 497, 19740 0, 498, 499, 500, 501, 502, 503, 504, 0, 0, 19741 0, 505, 506, 507, 508, 0, 342, 341, 343, 0, 19742 828, 509, 596, 510, 829, 830, 0, 831, 0, 511, 19743 512, 515, 0, 832, 0, 514, 516, 517, 0, 518, 19744 0, 0, 0, 519, 520, 521, 522, 523, 524, 525, 19745 0, 526, 528, 527, 0, 530, 833, 529, 0, 531, 19746 532, 0, 0, 533, 534, 535, 536, 537, 538, 541, 19747 0, 0, 539, 540, 542, 543, 0, 544, 545, 547, 19748 550, 546, 548, 549, 551, 552, 565, 566, 553, 554, 19749 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 19750 568, 0, 567, 0, 569, 570, 571, 572, 573, 581, 19751 583, 584, 579, 580, 582, 585, 586, 588, 589, 576, 19752 577, 578, 0, 587, 574, 0, 575, 344, 0, 590, 19753 591, 592, 593, 0, 834, 594, 835, 597, 598, 0, 19754 0, 599, 0, 600, 0, 0, 602, 603, 604, 0, 19755 0, 605, 606, 836, 0, 607, 0, 837, 608, 609, 19756 601, 610, 611, 612, 613, 614, 615, 616, 617, 618, 19757 619, 0, 620, 621, 838, 622, 623, 624, 839, 625, 19758 626, 627, 840, 628, 841, 629, 630, 0, 631, 632, 19759 633, 0, 634, 635, 636, 637, 638, 639, 640, 641, 19760 642, 643, 842, 644, 645, 647, 646, 648, 649, 0, 19761 650, 0, 651, 652, 653, 0, 0, 0, 0, 0, 19762 654, 655, 657, 0, 658, 659, 660, 661, 662, 656, 19763 663, 664, 665, 666, 667, 668, 669, 0, 671, 672, 19764 670, 673, 674, 0, 675, 676, 677, 678, 679, 843, 19765 680, 0, 681, 682, 690, 691, 692, 683, 684, 686, 19766 693, 685, 694, 695, 696, 697, 699, 698, 0, 701, 19767 702, 700, 703, 704, 705, 706, 0, 707, 844, 708, 19768 687, 688, 709, 710, 711, 0, 712, 713, 714, 715, 19769 716, 717, 718, 719, 720, 845, 0, 721, 0, 722, 19770 723, 724, 725, 726, 727, 729, 689, 730, 731, 732, 19771 737, 738, 846, 733, 734, 735, 736, 847, 740, 741, 19772 742, 743, 0, 744, 745, 0, 739, 728, 0, 746, 19773 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 19774 756, 848, 849, 850, 851, 0, 768, 0, 757, 759, 19775 760, 761, 762, 852, 763, 853, 0, 764, 765, 766, 19776 767, 758, 769, 770, 0, 0, 771, 772, 773, 774, 19777 776, 778, 779, 780, 775, 777, 781, 0, 782, 0, 19778 0, 783, 784, 785, 854, 855, 856, 0, 787, 788, 19779 786, 789, 790, 793, 791, 792, 857, 796, 513, 797, 19780 798, 799, 794, 795, 1581, 0, 337, 0, 800, 801, 19781 858, 802, 803, 804, 0, 0, 0, 0, 0, 0, 19782 0, 0, 0, 345, 346, 348, 347, 349, 350, 351, 19783 352, 0, 353, 354, 0, 0, 0, 0, 0, 805, 19784 0, 0, 0, 356, 0, 355, 0, 357, 358, 359, 19785 0, 360, 361, 362, 363, 364, 365, 366, 367, 806, 19786 807, 0, 368, 808, 369, 809, 0, 810, 370, 371, 19787 372, 373, 374, 375, 376, 377, 378, 379, 0, 0, 19788 0, 380, 811, 812, 813, 0, 381, 382, 383, 384, 19789 814, 0, 0, 0, 385, 386, 387, 388, 389, 390, 19790 391, 392, 0, 0, 394, 395, 396, 393, 397, 398, 19791 0, 399, 0, 400, 401, 402, 403, 404, 405, 406, 19792 0, 407, 408, 409, 0, 410, 411, 412, 0, 0, 19793 0, 0, 0, 0, 0, 413, 414, 415, 416, 417, 19794 0, 418, 420, 421, 815, 422, 816, 0, 425, 427, 19795 419, 423, 0, 426, 424, 428, 429, 0, 430, 431, 19796 432, 433, 0, 0, 434, 435, 436, 0, 437, 438, 19797 440, 439, 0, 441, 442, 443, 0, 444, 445, 817, 19798 446, 447, 448, 450, 452, 449, 451, 453, 454, 455, 19799 456, 457, 818, 819, 458, 459, 0, 340, 0, 0, 19800 0, 0, 0, 460, 461, 462, 820, 0, 0, 0, 19801 463, 0, 465, 469, 466, 467, 468, 470, 0, 464, 19802 471, 472, 0, 0, 473, 474, 475, 821, 822, 476, 19803 477, 478, 479, 480, 481, 482, 483, 484, 0, 485, 19804 486, 823, 0, 824, 487, 0, 488, 489, 490, 491, 19805 492, 493, 494, 1580, 826, 827, 595, 0, 495, 496, 19806 497, 0, 498, 499, 500, 501, 502, 503, 504, 0, 19807 0, 0, 505, 506, 507, 508, 0, 342, 341, 343, 19808 0, 828, 509, 596, 510, 829, 830, 0, 831, 0, 19809 511, 512, 515, 0, 832, 0, 514, 516, 517, 0, 19810 518, 0, 0, 0, 519, 520, 521, 522, 523, 524, 19811 525, 0, 526, 528, 527, 0, 530, 833, 529, 0, 19812 531, 532, 0, 0, 533, 534, 535, 536, 537, 538, 19813 541, 0, 0, 539, 540, 542, 543, 0, 544, 545, 19814 547, 550, 546, 548, 549, 551, 552, 565, 566, 553, 19815 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 19816 564, 568, 0, 567, 0, 569, 570, 571, 572, 573, 19817 581, 583, 584, 579, 580, 582, 585, 586, 588, 589, 19818 576, 577, 578, 0, 587, 574, 0, 575, 344, 0, 19819 590, 591, 592, 593, 0, 834, 594, 835, 597, 598, 19820 0, 0, 599, 0, 600, 0, 0, 602, 603, 604, 19821 0, 0, 605, 606, 836, 0, 607, 0, 837, 608, 19822 609, 601, 610, 611, 612, 613, 614, 615, 616, 617, 19823 618, 619, 0, 620, 621, 838, 622, 623, 624, 839, 19824 625, 626, 627, 840, 628, 841, 629, 630, 0, 631, 19825 632, 633, 0, 634, 635, 636, 637, 638, 639, 640, 19826 641, 642, 643, 842, 644, 645, 647, 646, 648, 649, 19827 0, 650, 0, 651, 652, 653, 0, 0, 0, 0, 19828 0, 654, 655, 657, 0, 658, 659, 660, 661, 662, 19829 656, 663, 664, 665, 666, 667, 668, 669, 0, 671, 19830 672, 670, 673, 674, 0, 675, 676, 677, 678, 679, 19831 843, 680, 0, 681, 682, 690, 691, 692, 683, 684, 19832 686, 693, 685, 694, 695, 696, 697, 699, 698, 0, 19833 701, 702, 700, 703, 704, 705, 706, 0, 707, 844, 19834 708, 687, 688, 709, 710, 711, 0, 712, 713, 714, 19835 715, 716, 717, 718, 719, 720, 845, 0, 721, 0, 19836 722, 723, 724, 725, 726, 727, 729, 689, 730, 731, 19837 732, 737, 738, 846, 733, 734, 735, 736, 847, 740, 19838 741, 742, 743, 0, 744, 745, 0, 739, 728, 0, 19839 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 19840 0, 756, 848, 849, 850, 851, 0, 768, 0, 757, 19841 759, 760, 761, 762, 852, 763, 853, 0, 764, 765, 19842 766, 767, 758, 769, 770, 0, 0, 771, 772, 773, 19843 774, 776, 778, 779, 780, 775, 777, 781, 0, 782, 19844 0, 0, 783, 784, 785, 854, 855, 856, 0, 787, 19845 788, 786, 789, 790, 793, 791, 792, 857, 796, 513, 19846 797, 798, 799, 794, 795, 1576, 0, 337, 0, 800, 19847 801, 858, 802, 803, 804, 0, 0, 0, 0, 0, 19848 0, 0, 0, 0, 345, 346, 348, 347, 349, 350, 19849 351, 352, 0, 353, 354, 0, 0, 0, 0, 0, 19850 805, 0, 0, 0, 356, 0, 355, 0, 357, 358, 19851 359, 0, 360, 361, 362, 363, 364, 365, 366, 367, 19852 806, 807, 0, 368, 808, 369, 809, 0, 810, 370, 19853 371, 372, 373, 374, 375, 376, 377, 378, 379, 0, 19854 0, 0, 380, 811, 812, 813, 0, 381, 382, 383, 19855 384, 814, 0, 0, 0, 385, 386, 387, 388, 389, 19856 390, 391, 392, 0, 0, 394, 395, 396, 393, 397, 19857 398, 0, 399, 0, 400, 401, 402, 403, 404, 405, 19858 406, 0, 407, 408, 409, 0, 410, 411, 412, 0, 19859 0, 0, 0, 0, 0, 0, 413, 414, 415, 416, 19860 417, 0, 418, 420, 421, 815, 422, 816, 0, 425, 19861 427, 419, 423, 0, 426, 424, 428, 429, 0, 430, 19862 431, 432, 433, 0, 0, 434, 435, 436, 0, 437, 19863 438, 440, 439, 0, 441, 442, 443, 0, 444, 445, 19864 817, 446, 447, 448, 450, 452, 449, 451, 453, 454, 19865 455, 456, 457, 818, 819, 458, 459, 0, 340, 0, 19866 0, 0, 0, 0, 460, 461, 462, 820, 0, 0, 19867 0, 463, 0, 465, 469, 466, 467, 468, 470, 0, 19868 464, 471, 472, 0, 0, 473, 474, 475, 821, 822, 19869 476, 477, 478, 479, 480, 481, 482, 483, 484, 0, 19870 485, 486, 823, 0, 824, 487, 0, 488, 489, 490, 19871 491, 492, 493, 494, 1575, 826, 827, 595, 0, 495, 19872 496, 497, 0, 498, 499, 500, 501, 502, 503, 504, 19873 0, 0, 0, 505, 506, 507, 508, 0, 342, 341, 19874 343, 0, 828, 509, 596, 510, 829, 830, 0, 831, 19875 0, 511, 512, 515, 0, 832, 0, 514, 516, 517, 19876 0, 518, 0, 0, 0, 519, 520, 521, 522, 523, 19877 524, 525, 0, 526, 528, 527, 0, 530, 833, 529, 19878 0, 531, 532, 0, 0, 533, 534, 535, 536, 537, 19879 538, 541, 0, 0, 539, 540, 542, 543, 0, 544, 19880 545, 547, 550, 546, 548, 549, 551, 552, 565, 566, 19881 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 19882 563, 564, 568, 0, 567, 0, 569, 570, 571, 572, 19883 573, 581, 583, 584, 579, 580, 582, 585, 586, 588, 19884 589, 576, 577, 578, 0, 587, 574, 0, 575, 344, 19885 0, 590, 591, 592, 593, 0, 834, 594, 835, 597, 19886 598, 0, 0, 599, 0, 600, 0, 0, 602, 603, 19887 604, 0, 0, 605, 606, 836, 0, 607, 0, 837, 19888 608, 609, 601, 610, 611, 612, 613, 614, 615, 616, 19889 617, 618, 619, 0, 620, 621, 838, 622, 623, 624, 19890 839, 625, 626, 627, 840, 628, 841, 629, 630, 0, 19891 631, 632, 633, 0, 634, 635, 636, 637, 638, 639, 19892 640, 641, 642, 643, 842, 644, 645, 647, 646, 648, 19893 649, 0, 650, 0, 651, 652, 653, 0, 0, 0, 19894 0, 0, 654, 655, 657, 0, 658, 659, 660, 661, 19895 662, 656, 663, 664, 665, 666, 667, 668, 669, 0, 19896 671, 672, 670, 673, 674, 0, 675, 676, 677, 678, 19897 679, 843, 680, 0, 681, 682, 690, 691, 692, 683, 19898 684, 686, 693, 685, 694, 695, 696, 697, 699, 698, 19899 0, 701, 702, 700, 703, 704, 705, 706, 0, 707, 19900 844, 708, 687, 688, 709, 710, 711, 0, 712, 713, 19901 714, 715, 716, 717, 718, 719, 720, 845, 0, 721, 19902 0, 722, 723, 724, 725, 726, 727, 729, 689, 730, 19903 731, 732, 737, 738, 846, 733, 734, 735, 736, 847, 19904 740, 741, 742, 743, 0, 744, 745, 0, 739, 728, 19905 0, 746, 747, 748, 749, 750, 751, 752, 753, 754, 19906 755, 0, 756, 848, 849, 850, 851, 0, 768, 0, 19907 757, 759, 760, 761, 762, 852, 763, 853, 0, 764, 19908 765, 766, 767, 758, 769, 770, 0, 0, 771, 772, 19909 773, 774, 776, 778, 779, 780, 775, 777, 781, 0, 19910 782, 0, 0, 783, 784, 785, 854, 855, 856, 0, 19911 787, 788, 786, 789, 790, 793, 791, 792, 857, 796, 19912 513, 797, 798, 799, 794, 795, 860, 0, 337, 0, 19913 800, 801, 858, 802, 803, 804, 0, 0, 0, 0, 19914 0, 0, 0, 0, 0, 345, 346, 348, 347, 349, 19915 350, 351, 352, 0, 353, 354, 0, 0, 0, 0, 19916 0, 805, 0, 0, 0, 356, 0, 355, 0, 357, 19917 358, 359, 0, 360, 361, 362, 363, 364, 365, 366, 19918 367, 806, 807, 0, 368, 808, 369, 809, 0, 810, 19919 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 19920 0, 0, 0, 380, 811, 812, 813, 0, 381, 382, 19921 383, 384, 814, 0, 0, 0, 385, 386, 387, 388, 19922 389, 390, 391, 392, 0, 0, 394, 395, 396, 393, 19923 397, 398, 0, 399, 0, 400, 401, 402, 403, 404, 19924 405, 406, 0, 407, 408, 409, 0, 410, 411, 412, 19925 0, 0, 0, 0, 0, 0, 0, 413, 414, 415, 19926 416, 417, 0, 418, 420, 421, 815, 422, 816, 0, 19927 425, 427, 419, 423, 0, 426, 424, 428, 429, 0, 19928 430, 431, 432, 433, 0, 0, 434, 435, 436, 0, 19929 437, 438, 440, 439, 0, 441, 442, 443, 0, 444, 19930 445, 817, 446, 447, 448, 450, 452, 449, 451, 453, 19931 454, 455, 456, 457, 818, 819, 458, 459, 0, 340, 19932 0, 0, 0, 0, 0, 460, 461, 462, 820, 0, 19933 0, 0, 463, 0, 465, 469, 466, 467, 468, 470, 19934 0, 464, 471, 472, 0, 0, 473, 474, 475, 821, 19935 822, 476, 477, 478, 479, 480, 481, 482, 483, 484, 19936 0, 485, 486, 823, 0, 824, 487, 0, 488, 489, 19937 490, 491, 492, 493, 494, 825, 826, 827, 595, 0, 19938 495, 496, 497, 0, 498, 499, 500, 501, 502, 503, 19939 504, 0, 0, 0, 505, 506, 507, 508, 0, 342, 19940 341, 343, 0, 828, 509, 596, 510, 829, 830, 0, 19941 831, 0, 511, 512, 515, 0, 832, 0, 514, 516, 19942 517, 0, 518, 0, 0, 0, 519, 520, 521, 522, 19943 523, 524, 525, 0, 526, 528, 527, 0, 530, 833, 19944 529, 0, 531, 532, 0, 0, 533, 534, 535, 536, 19945 537, 538, 541, 0, 0, 539, 540, 542, 543, 0, 19946 544, 545, 547, 550, 546, 548, 549, 551, 552, 565, 19947 566, 553, 554, 555, 556, 557, 558, 559, 560, 561, 19948 562, 563, 564, 568, 0, 567, 0, 569, 570, 571, 19949 572, 573, 581, 583, 584, 579, 580, 582, 585, 586, 19950 588, 589, 576, 577, 578, 0, 587, 574, 0, 575, 19951 344, 0, 590, 591, 592, 593, 0, 834, 594, 835, 19952 597, 598, 0, 0, 599, 0, 600, 0, 0, 602, 19953 603, 604, 0, 0, 605, 606, 836, 0, 607, 0, 19954 837, 608, 609, 601, 610, 611, 612, 613, 614, 615, 19955 616, 617, 618, 619, 0, 620, 621, 838, 622, 623, 19956 624, 839, 625, 626, 627, 840, 628, 841, 629, 630, 19957 0, 631, 632, 633, 0, 634, 635, 636, 637, 638, 19958 639, 640, 641, 642, 643, 842, 644, 645, 647, 646, 19959 648, 649, 0, 650, 0, 651, 652, 653, 0, 0, 19960 0, 0, 0, 654, 655, 657, 0, 658, 659, 660, 19961 661, 662, 656, 663, 664, 665, 666, 667, 668, 669, 19962 0, 671, 672, 670, 673, 674, 0, 675, 676, 677, 19963 678, 679, 843, 680, 0, 681, 682, 690, 691, 692, 19964 683, 684, 686, 693, 685, 694, 695, 696, 697, 699, 19965 698, 0, 701, 702, 700, 703, 704, 705, 706, 0, 19966 707, 844, 708, 687, 688, 709, 710, 711, 0, 712, 19967 713, 714, 715, 716, 717, 718, 719, 720, 845, 0, 19968 721, 0, 722, 723, 724, 725, 726, 727, 729, 689, 19969 730, 731, 732, 737, 738, 846, 733, 734, 735, 736, 19970 847, 740, 741, 742, 743, 0, 744, 745, 0, 739, 19971 728, 0, 746, 747, 748, 749, 750, 751, 752, 753, 19972 754, 755, 0, 756, 848, 849, 850, 851, 0, 768, 19973 0, 757, 759, 760, 761, 762, 852, 763, 853, 0, 19974 764, 765, 766, 767, 758, 769, 770, 0, 0, 771, 19975 772, 773, 774, 776, 778, 779, 780, 775, 777, 781, 19976 0, 782, 0, 0, 783, 784, 785, 854, 855, 856, 19977 0, 787, 788, 786, 789, 790, 793, 791, 792, 857, 19978 796, 513, 797, 798, 799, 794, 795, 328, 0, 337, 19979 0, 800, 801, 858, 802, 803, 804, 0, 0, 0, 19980 0, 0, 0, 0, 0, 0, 345, 346, 348, 347, 19981 349, 350, 351, 352, 0, 353, 354, 0, 0, 0, 19982 0, 0, 805, 0, 0, 0, 356, 0, 355, 0, 19983 357, 358, 359, 0, 360, 361, 362, 363, 364, 365, 19984 366, 367, 806, 807, 0, 368, 808, 369, 809, 0, 19985 810, 370, 371, 372, 373, 374, 375, 376, 377, 378, 19986 379, 0, 0, 0, 380, 811, 812, 813, 0, 381, 19987 382, 383, 384, 814, 0, 0, 0, 385, 386, 387, 19988 388, 389, 390, 391, 392, 0, 0, 394, 395, 396, 19989 393, 397, 398, 0, 399, 0, 400, 401, 402, 403, 19990 404, 405, 406, 0, 407, 408, 409, 0, 410, 411, 19991 412, 0, 0, 0, 0, 0, 0, 0, 413, 414, 19992 415, 416, 417, 0, 418, 420, 421, 815, 422, 816, 19993 0, 425, 427, 419, 423, 0, 426, 424, 428, 429, 19994 0, 430, 431, 432, 433, 0, 0, 434, 435, 436, 19995 0, 437, 438, 440, 439, 0, 441, 442, 443, 0, 19996 444, 445, 817, 446, 447, 448, 450, 452, 449, 451, 19997 453, 454, 455, 456, 457, 818, 819, 458, 459, 0, 19998 340, 0, 0, 0, 0, 0, 460, 461, 462, 820, 19999 0, 0, 0, 463, 0, 465, 469, 466, 467, 468, 20000 470, 0, 464, 471, 472, 0, 0, 473, 474, 475, 20001 821, 822, 476, 477, 478, 479, 480, 481, 482, 483, 20002 484, 0, 485, 486, 823, 0, 824, 487, 0, 488, 20003 489, 490, 491, 492, 493, 494, 825, 826, 827, 595, 20004 0, 495, 496, 497, 0, 498, 499, 500, 501, 502, 20005 503, 504, 0, 0, 0, 505, 506, 507, 508, 0, 20006 342, 341, 343, 0, 828, 509, 596, 510, 829, 830, 20007 0, 831, 0, 511, 512, 515, 0, 832, 0, 514, 20008 516, 517, 0, 518, 0, 0, 0, 519, 520, 521, 20009 522, 523, 524, 525, 0, 526, 528, 527, 0, 530, 20010 833, 529, 0, 531, 532, 0, 0, 533, 534, 535, 20011 536, 537, 538, 541, 0, 0, 539, 540, 542, 543, 20012 0, 544, 545, 547, 550, 546, 548, 549, 551, 552, 20013 565, 566, 553, 554, 555, 556, 557, 558, 559, 560, 20014 561, 562, 563, 564, 568, 0, 567, 0, 569, 570, 20015 571, 572, 573, 581, 583, 584, 579, 580, 582, 585, 20016 586, 588, 589, 576, 577, 578, 0, 587, 574, 0, 20017 575, 344, 0, 590, 591, 592, 593, 0, 834, 594, 20018 835, 597, 598, 0, 0, 599, 0, 600, 0, 0, 20019 602, 603, 604, 0, 0, 605, 606, 836, 0, 607, 20020 0, 837, 608, 609, 601, 610, 611, 612, 613, 614, 20021 615, 616, 617, 618, 619, 0, 620, 621, 838, 622, 20022 623, 624, 839, 625, 626, 627, 840, 628, 841, 629, 20023 630, 0, 631, 632, 633, 0, 634, 635, 636, 637, 20024 638, 639, 640, 641, 642, 643, 842, 644, 645, 647, 20025 646, 648, 649, 0, 650, 0, 651, 652, 653, 0, 20026 0, 0, 0, 0, 654, 655, 657, 0, 658, 659, 20027 660, 661, 662, 656, 663, 664, 665, 666, 667, 668, 20028 669, 0, 671, 672, 670, 673, 674, 0, 675, 676, 20029 677, 678, 679, 843, 680, 0, 681, 682, 690, 691, 20030 692, 683, 684, 686, 693, 685, 694, 695, 696, 697, 20031 699, 698, 0, 701, 702, 700, 703, 704, 705, 706, 20032 0, 707, 844, 708, 687, 688, 709, 710, 711, 0, 20033 712, 713, 714, 715, 716, 717, 718, 719, 720, 845, 20034 0, 721, 0, 722, 723, 724, 725, 726, 727, 729, 20035 689, 730, 731, 732, 737, 738, 846, 733, 734, 735, 20036 736, 847, 740, 741, 742, 743, 0, 744, 745, 0, 20037 739, 728, 0, 746, 747, 748, 749, 750, 751, 752, 20038 753, 754, 755, 0, 756, 848, 849, 850, 851, 0, 20039 768, 0, 757, 759, 760, 761, 762, 852, 763, 853, 20040 0, 764, 765, 766, 767, 758, 769, 770, 0, 0, 20041 771, 772, 773, 774, 776, 778, 779, 780, 775, 777, 20042 781, 0, 782, 0, 0, 783, 784, 785, 854, 855, 20043 856, 0, 787, 788, 786, 789, 790, 793, 791, 792, 20044 857, 796, 513, 797, 798, 799, 794, 795, 337, 0, 20045 0, 0, 800, 801, 858, 802, 803, 804, 0, 0, 20046 0, 0, 0, 0, 0, 345, 346, 348, 347, 349, 20047 350, 351, 352, 0, 353, 354, 0, 0, 0, 0, 20048 0, 805, 0, 0, 0, 356, 0, 355, 0, 357, 20049 358, 359, 0, 360, 361, 362, 363, 364, 365, 366, 20050 367, 806, 807, 0, 368, 808, 369, 809, 0, 810, 20051 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 20052 0, 0, 0, 380, 811, 812, 813, 0, 381, 382, 20053 383, 384, 814, 0, 0, 0, 385, 386, 387, 388, 20054 389, 390, 391, 392, 0, 0, 394, 395, 396, 393, 20055 397, 398, 0, 399, 0, 400, 401, 402, 403, 404, 20056 405, 406, 0, 407, 408, 409, 0, 410, 411, 412, 20057 0, 0, 0, 0, 0, 0, 0, 413, 414, 415, 20058 416, 417, 0, 418, 420, 421, 815, 422, 816, 0, 20059 425, 427, 419, 423, 0, 426, 424, 428, 429, 0, 20060 430, 431, 432, 433, 0, 0, 434, 435, 436, 0, 20061 437, 438, 440, 439, 0, 441, 442, 443, 0, 444, 20062 445, 817, 446, 447, 448, 450, 452, 449, 451, 453, 20063 454, 455, 456, 457, 818, 819, 458, 459, 0, 340, 20064 0, 0, 0, 0, 0, 460, 461, 462, 820, 0, 20065 0, 0, 463, 0, 465, 469, 466, 467, 468, 470, 20066 0, 464, 471, 472, 0, 0, 473, 474, 475, 821, 20067 822, 476, 477, 478, 479, 480, 481, 482, 483, 484, 20068 0, 485, 486, 823, 0, 824, 487, 0, 488, 489, 20069 490, 491, 492, 493, 494, 825, 826, 827, 595, 0, 20070 495, 496, 497, 0, 498, 499, 500, 501, 502, 503, 20071 504, 0, 0, 0, 505, 506, 507, 508, 0, 342, 20072 341, 343, 0, 828, 509, 596, 510, 829, 830, 0, 20073 831, 0, 511, 512, 515, 0, 832, 0, 514, 516, 20074 517, 0, 518, 0, 0, 0, 519, 520, 521, 522, 20075 523, 524, 525, 0, 526, 528, 527, 0, 530, 833, 20076 529, 0, 531, 532, 0, 0, 533, 534, 535, 536, 20077 537, 538, 541, 0, 0, 539, 540, 542, 543, 0, 20078 544, 545, 547, 550, 546, 548, 549, 551, 552, 565, 20079 566, 553, 554, 555, 556, 557, 558, 559, 560, 561, 20080 562, 563, 564, 568, 0, 567, 0, 569, 570, 571, 20081 572, 573, 581, 583, 584, 579, 580, 582, 585, 586, 20082 588, 589, 576, 577, 578, 0, 587, 574, 0, 575, 20083 344, 0, 590, 591, 592, 593, 0, 834, 594, 835, 20084 597, 598, 0, 0, 599, 0, 600, 0, 0, 602, 20085 603, 604, 0, 0, 605, 606, 836, 0, 607, 0, 20086 837, 608, 609, 601, 610, 611, 612, 613, 614, 615, 20087 616, 617, 618, 619, 0, 620, 621, 838, 622, 623, 20088 624, 839, 625, 626, 627, 840, 628, 841, 629, 630, 20089 0, 631, 632, 633, 0, 634, 635, 636, 637, 638, 20090 639, 640, 641, 642, 643, 842, 644, 645, 647, 646, 20091 648, 649, 0, 650, 0, 651, 652, 653, 0, 0, 20092 0, 0, 0, 654, 655, 657, 0, 658, 659, 660, 20093 661, 662, 656, 663, 664, 665, 666, 667, 668, 669, 20094 0, 671, 672, 670, 673, 674, 0, 675, 676, 677, 20095 678, 679, 843, 680, 0, 681, 682, 690, 691, 692, 20096 683, 684, 686, 693, 685, 694, 695, 696, 697, 699, 20097 698, 0, 701, 702, 700, 703, 704, 705, 706, 0, 20098 707, 844, 708, 687, 688, 709, 710, 711, 0, 712, 20099 713, 714, 715, 716, 717, 718, 719, 720, 845, 0, 20100 721, 0, 722, 723, 724, 725, 726, 727, 729, 689, 20101 730, 731, 732, 737, 738, 846, 733, 734, 735, 736, 20102 847, 740, 741, 742, 743, 0, 744, 745, 0, 739, 20103 728, 0, 746, 747, 748, 749, 750, 751, 752, 753, 20104 754, 755, 0, 756, 848, 849, 850, 851, 0, 768, 20105 0, 757, 759, 760, 761, 762, 852, 763, 853, 0, 20106 764, 765, 766, 767, 758, 769, 770, 0, 0, 771, 20107 772, 773, 774, 776, 778, 779, 780, 775, 777, 781, 20108 0, 782, 0, 0, 783, 784, 785, 854, 855, 856, 20109 0, 787, 788, 786, 789, 790, 793, 791, 792, 857, 20110 796, 513, 797, 798, 799, 794, 795, 337, 0, 0, 20111 0, 800, 801, 858, 802, 803, 804, 0, 0, 0, 20112 0, 0, 0, 0, 345, 346, 348, 347, 349, 350, 20113 351, 352, 0, 353, 354, 0, 0, 0, 0, 0, 20114 805, 0, 0, 0, 356, 0, 355, 0, 357, 358, 20115 359, 0, 360, 361, 362, 363, 364, 365, 366, 367, 20116 806, 807, 0, 368, 808, 369, 809, 0, 810, 370, 20117 371, 372, 373, 374, 375, 376, 377, 378, 379, 0, 20118 0, 0, 380, 811, 812, 813, 0, 381, 382, 383, 20119 384, 814, 0, 0, 0, 385, 386, 387, 388, 389, 20120 390, 391, 392, 0, 0, 394, 395, 396, 393, 397, 20121 398, 0, 399, 0, 400, 401, 402, 403, 404, 405, 20122 406, 0, 407, 408, 409, 0, 410, 411, 412, 0, 20123 0, 0, 0, 0, 0, 0, 413, 414, 415, 416, 20124 417, 0, 418, 420, 421, 815, 422, 816, 0, 425, 20125 427, 419, 423, 0, 426, 424, 428, 429, 0, 430, 20126 431, 432, 433, 0, 0, 434, 435, 436, 0, 437, 20127 438, 440, 439, 0, 441, 442, 443, 0, 444, 445, 20128 817, 446, 447, 448, 450, 452, 449, 451, 453, 454, 20129 455, 456, 457, 818, 819, 458, 459, 0, 340, 0, 20130 0, 0, 0, 0, 460, 461, 462, 820, 0, 0, 20131 0, 463, 0, 465, 469, 466, 467, 468, 470, 0, 20132 464, 471, 472, 0, 0, 473, 474, 475, 821, 822, 20133 476, 477, 478, 479, 480, 481, 482, 483, 484, 0, 20134 485, 486, 823, 0, 824, 487, 0, 488, 489, 490, 20135 491, 492, 493, 494, 2947, 826, 827, 595, 0, 495, 20136 496, 497, 0, 498, 499, 500, 501, 502, 503, 504, 20137 0, 0, 0, 505, 506, 507, 508, 0, 342, 341, 20138 343, 0, 828, 509, 596, 510, 829, 830, 0, 831, 20139 0, 511, 512, 515, 0, 832, 0, 514, 516, 517, 20140 0, 518, 0, 0, 0, 519, 520, 521, 522, 523, 20141 524, 525, 0, 526, 528, 527, 0, 530, 833, 529, 20142 0, 531, 532, 0, 0, 533, 534, 535, 536, 537, 20143 538, 541, 0, 0, 539, 540, 542, 543, 0, 544, 20144 545, 547, 550, 546, 548, 549, 551, 552, 565, 566, 20145 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 20146 563, 564, 568, 0, 567, 0, 569, 570, 571, 572, 20147 573, 581, 583, 584, 579, 580, 582, 585, 586, 588, 20148 589, 576, 577, 578, 0, 587, 574, 0, 575, 344, 20149 0, 590, 591, 592, 593, 0, 834, 594, 835, 597, 20150 598, 0, 0, 599, 0, 600, 0, 0, 602, 603, 20151 604, 0, 0, 605, 606, 836, 0, 607, 0, 837, 20152 608, 609, 601, 610, 611, 612, 613, 614, 615, 616, 20153 617, 618, 619, 0, 620, 621, 838, 622, 623, 624, 20154 839, 625, 626, 627, 840, 628, 841, 629, 630, 0, 20155 631, 632, 633, 0, 634, 635, 636, 637, 638, 639, 20156 640, 641, 642, 643, 842, 644, 645, 647, 646, 648, 20157 649, 0, 650, 0, 651, 652, 653, 0, 0, 0, 20158 0, 0, 654, 655, 657, 0, 658, 659, 660, 661, 20159 662, 656, 663, 664, 665, 666, 667, 668, 669, 0, 20160 671, 672, 670, 673, 674, 0, 675, 676, 677, 678, 20161 679, 843, 680, 0, 681, 682, 690, 691, 692, 683, 20162 684, 686, 693, 685, 694, 695, 696, 697, 699, 698, 20163 0, 701, 702, 700, 703, 704, 705, 706, 0, 707, 20164 844, 708, 687, 688, 709, 710, 711, 0, 712, 713, 20165 714, 715, 716, 717, 718, 719, 720, 845, 0, 721, 20166 0, 722, 723, 724, 725, 726, 727, 729, 689, 730, 20167 731, 732, 737, 738, 846, 733, 734, 735, 736, 847, 20168 740, 741, 742, 743, 0, 744, 745, 0, 739, 728, 20169 0, 746, 747, 748, 749, 750, 751, 752, 753, 754, 20170 755, 0, 756, 848, 849, 850, 851, 0, 768, 0, 20171 757, 759, 760, 761, 762, 852, 763, 853, 0, 764, 20172 765, 766, 767, 758, 769, 770, 0, 0, 771, 772, 20173 773, 774, 776, 778, 779, 780, 775, 777, 781, 0, 20174 782, 0, 0, 783, 784, 785, 854, 855, 856, 0, 20175 787, 788, 786, 789, 790, 793, 791, 792, 857, 796, 20176 513, 797, 798, 799, 794, 795, 337, 0, 0, 0, 20177 800, 801, 858, 802, 803, 804, 0, 0, 0, 0, 20178 0, 0, 0, 345, 346, 348, 347, 349, 350, 351, 20179 352, 0, 353, 354, 0, 0, 0, 0, 0, 805, 20180 0, 0, 0, 356, 0, 355, 0, 357, 358, 359, 20181 0, 360, 361, 362, 363, 364, 365, 366, 367, 806, 20182 807, 0, 368, 808, 369, 809, 0, 810, 370, 371, 20183 372, 373, 374, 375, 376, 377, 378, 379, 0, 0, 20184 0, 380, 811, 812, 813, 0, 381, 382, 383, 384, 20185 814, 0, 0, 0, 385, 386, 387, 388, 389, 390, 20186 391, 392, 0, 0, 394, 395, 396, 393, 397, 398, 20187 0, 399, 0, 400, 401, 402, 403, 404, 405, 406, 20188 0, 407, 408, 409, 0, 410, 411, 412, 0, 0, 20189 0, 0, 0, 0, 0, 413, 414, 415, 2631, 417, 20190 0, 418, 420, 421, 815, 422, 816, 0, 425, 427, 20191 419, 423, 0, 426, 424, 428, 429, 0, 430, 431, 20192 432, 433, 0, 0, 434, 435, 436, 0, 437, 438, 20193 440, 439, 0, 441, 442, 443, 0, 444, 445, 817, 20194 446, 447, 448, 450, 452, 449, 451, 453, 454, 455, 20195 456, 457, 818, 819, 458, 459, 0, 340, 0, 0, 20196 0, 0, 0, 460, 461, 462, 820, 0, 0, 0, 20197 463, 0, 465, 469, 466, 467, 468, 470, 0, 464, 20198 471, 472, 0, 0, 473, 474, 475, 821, 822, 476, 20199 477, 478, 479, 480, 481, 482, 483, 484, 0, 485, 20200 486, 823, 0, 824, 487, 0, 488, 489, 490, 491, 20201 492, 493, 494, 825, 826, 827, 595, 0, 495, 496, 20202 497, 0, 498, 499, 500, 501, 502, 503, 504, 0, 20203 0, 0, 505, 506, 507, 508, 0, 342, 341, 343, 20204 0, 828, 509, 596, 510, 829, 830, 0, 831, 0, 20205 511, 512, 515, 0, 832, 0, 514, 516, 517, 0, 20206 518, 0, 0, 0, 519, 520, 521, 522, 523, 524, 20207 525, 0, 526, 528, 527, 0, 530, 833, 529, 0, 20208 531, 532, 0, 0, 533, 534, 535, 536, 537, 538, 20209 541, 0, 0, 539, 540, 542, 543, 0, 544, 545, 20210 547, 550, 546, 548, 549, 551, 552, 565, 566, 553, 20211 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 20212 564, 568, 0, 567, 0, 569, 570, 571, 572, 573, 20213 581, 583, 584, 579, 580, 582, 585, 586, 588, 589, 20214 576, 577, 578, 0, 587, 574, 0, 575, 344, 0, 20215 590, 591, 592, 593, 0, 834, 594, 835, 597, 598, 20216 0, 0, 599, 0, 600, 0, 0, 602, 603, 604, 20217 0, 0, 605, 606, 836, 0, 607, 0, 837, 608, 20218 609, 601, 610, 611, 612, 613, 614, 615, 616, 617, 20219 618, 619, 0, 620, 621, 838, 622, 623, 624, 839, 20220 625, 626, 627, 840, 628, 841, 629, 630, 0, 631, 20221 632, 633, 0, 634, 635, 636, 637, 638, 639, 640, 20222 641, 642, 643, 842, 644, 645, 647, 646, 648, 649, 20223 0, 650, 0, 651, 652, 653, 0, 0, 0, 0, 20224 0, 654, 655, 657, 0, 658, 659, 660, 661, 662, 20225 656, 663, 664, 665, 666, 667, 668, 669, 0, 671, 20226 672, 670, 673, 674, 0, 675, 676, 677, 678, 679, 20227 843, 680, 0, 681, 682, 690, 691, 692, 683, 684, 20228 686, 693, 685, 694, 695, 696, 697, 699, 698, 0, 20229 701, 702, 700, 703, 704, 705, 706, 0, 707, 844, 20230 708, 687, 688, 709, 710, 711, 0, 712, 713, 714, 20231 715, 716, 717, 718, 719, 720, 845, 0, 721, 0, 20232 722, 723, 724, 725, 726, 727, 729, 689, 730, 731, 20233 732, 737, 738, 846, 733, 734, 735, 736, 847, 740, 20234 741, 742, 743, 0, 744, 745, 0, 739, 728, 0, 20235 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 20236 0, 756, 848, 849, 850, 851, 0, 768, 0, 757, 20237 759, 760, 761, 762, 852, 763, 853, 0, 764, 765, 20238 766, 767, 758, 769, 770, 0, 0, 771, 772, 773, 20239 774, 776, 778, 779, 780, 775, 777, 781, 0, 782, 20240 0, 0, 783, 784, 785, 854, 855, 856, 0, 787, 20241 788, 786, 789, 790, 793, 791, 792, 857, 796, 513, 20242 797, 798, 799, 794, 795, 337, 0, 0, 0, 800, 20243 801, 858, 802, 803, 804, 0, 0, 0, 0, 0, 20244 0, 0, 345, 346, 348, 347, 349, 350, 351, 352, 20245 0, 353, 354, 0, 0, 0, 0, 0, 805, 0, 20246 0, 0, 356, 0, 355, 0, 357, 358, 359, 0, 20247 360, 361, 362, 363, 364, 365, 366, 367, 806, 807, 20248 0, 368, 808, 369, 809, 0, 810, 370, 371, 372, 20249 373, 374, 375, 376, 377, 378, 379, 0, 0, 0, 20250 380, 811, 812, 813, 0, 381, 382, 383, 384, 814, 20251 0, 0, 0, 385, 386, 387, 388, 389, 390, 391, 20252 392, 0, 0, 394, 395, 396, 393, 397, 398, 0, 20253 399, 0, 400, 401, 402, 403, 404, 405, 406, 0, 20254 407, 408, 409, 0, 410, 411, 412, 0, 0, 0, 20255 0, 0, 0, 0, 413, 414, 415, 2629, 417, 0, 20256 418, 420, 421, 815, 422, 816, 0, 425, 427, 419, 20257 423, 0, 426, 424, 428, 429, 0, 430, 431, 432, 20258 433, 0, 0, 434, 435, 436, 0, 437, 438, 440, 20259 439, 0, 441, 442, 443, 0, 444, 445, 817, 446, 20260 447, 448, 450, 452, 449, 451, 453, 454, 455, 456, 20261 457, 818, 819, 458, 459, 0, 340, 0, 0, 0, 20262 0, 0, 460, 461, 462, 820, 0, 0, 0, 463, 20263 0, 465, 469, 466, 467, 468, 470, 0, 464, 471, 20264 472, 0, 0, 473, 474, 475, 821, 822, 476, 477, 20265 478, 479, 480, 481, 482, 483, 484, 0, 485, 486, 20266 823, 0, 824, 487, 0, 488, 489, 490, 491, 492, 20267 493, 494, 825, 826, 827, 595, 0, 495, 496, 497, 20268 0, 498, 499, 500, 501, 502, 503, 504, 0, 0, 20269 0, 505, 506, 507, 508, 0, 342, 341, 343, 0, 20270 828, 509, 596, 510, 829, 830, 0, 831, 0, 511, 20271 512, 515, 0, 832, 0, 514, 516, 517, 0, 518, 20272 0, 0, 0, 519, 520, 521, 522, 523, 524, 525, 20273 0, 526, 528, 527, 0, 530, 833, 529, 0, 531, 20274 532, 0, 0, 533, 534, 535, 536, 537, 538, 541, 20275 0, 0, 539, 540, 542, 543, 0, 544, 545, 547, 20276 550, 546, 548, 549, 551, 552, 565, 566, 553, 554, 20277 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 20278 568, 0, 567, 0, 569, 570, 571, 572, 573, 581, 20279 583, 584, 579, 580, 582, 585, 586, 588, 589, 576, 20280 577, 578, 0, 587, 574, 0, 575, 344, 0, 590, 20281 591, 592, 593, 0, 834, 594, 835, 597, 598, 0, 20282 0, 599, 0, 600, 0, 0, 602, 603, 604, 0, 20283 0, 605, 606, 836, 0, 607, 0, 837, 608, 609, 20284 601, 610, 611, 612, 613, 614, 615, 616, 617, 618, 20285 619, 0, 620, 621, 838, 622, 623, 624, 839, 625, 20286 626, 627, 840, 628, 841, 629, 630, 0, 631, 632, 20287 633, 0, 634, 635, 636, 637, 638, 639, 640, 641, 20288 642, 643, 842, 644, 645, 647, 646, 648, 649, 0, 20289 650, 0, 651, 652, 653, 0, 0, 0, 0, 0, 20290 654, 655, 657, 0, 658, 659, 660, 661, 662, 656, 20291 663, 664, 665, 666, 667, 668, 669, 0, 671, 672, 20292 670, 673, 674, 0, 675, 676, 677, 678, 679, 843, 20293 680, 0, 681, 682, 690, 691, 692, 683, 684, 686, 20294 693, 685, 694, 695, 696, 697, 699, 698, 0, 701, 20295 702, 700, 703, 704, 705, 706, 0, 707, 844, 708, 20296 687, 688, 709, 710, 711, 0, 712, 713, 714, 715, 20297 716, 717, 718, 719, 720, 845, 0, 721, 0, 722, 20298 723, 724, 725, 726, 727, 729, 689, 730, 731, 732, 20299 737, 738, 846, 733, 734, 735, 736, 847, 740, 741, 20300 742, 743, 0, 744, 745, 0, 739, 728, 0, 746, 20301 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 20302 756, 848, 849, 850, 851, 0, 768, 0, 757, 759, 20303 760, 761, 762, 852, 763, 853, 0, 764, 765, 766, 20304 767, 758, 769, 770, 0, 0, 771, 772, 773, 774, 20305 776, 778, 779, 780, 775, 777, 781, 0, 782, 0, 20306 0, 783, 784, 785, 854, 855, 856, 0, 787, 788, 20307 786, 789, 790, 793, 791, 792, 857, 796, 513, 797, 20308 798, 799, 794, 795, 337, 0, 0, 0, 800, 801, 20309 858, 802, 803, 804, 0, 0, 0, 0, 0, 0, 20310 0, 345, 346, 348, 347, 349, 350, 351, 352, 0, 20311 353, 354, 0, 0, 0, 0, 0, 805, 0, 0, 20312 0, 356, 0, 355, 0, 357, 358, 359, 0, 360, 20313 361, 362, 363, 364, 365, 366, 367, 806, 807, 0, 20314 368, 808, 369, 809, 0, 810, 370, 371, 372, 373, 20315 374, 375, 376, 377, 378, 379, 0, 0, 0, 380, 20316 811, 812, 813, 0, 381, 382, 383, 384, 814, 0, 20317 0, 0, 385, 386, 387, 388, 389, 390, 391, 392, 20318 0, 0, 394, 395, 396, 393, 397, 398, 0, 399, 20319 0, 400, 401, 402, 403, 404, 405, 406, 0, 407, 20320 408, 409, 0, 410, 411, 412, 0, 0, 0, 0, 20321 0, 0, 0, 413, 414, 415, 2627, 417, 0, 418, 20322 420, 421, 815, 422, 816, 0, 425, 427, 419, 423, 20323 0, 426, 424, 428, 429, 0, 430, 431, 432, 433, 20324 0, 0, 434, 435, 436, 0, 437, 438, 440, 439, 20325 0, 441, 442, 443, 0, 444, 445, 817, 446, 447, 20326 448, 450, 452, 449, 451, 453, 454, 455, 456, 457, 20327 818, 819, 458, 459, 0, 340, 0, 0, 0, 0, 20328 0, 460, 461, 462, 820, 0, 0, 0, 463, 0, 20329 465, 469, 466, 467, 468, 470, 0, 464, 471, 472, 20330 0, 0, 473, 474, 475, 821, 822, 476, 477, 478, 20331 479, 480, 481, 482, 483, 484, 0, 485, 486, 823, 20332 0, 824, 487, 0, 488, 489, 490, 491, 492, 493, 20333 494, 825, 826, 827, 595, 0, 495, 496, 497, 0, 20334 498, 499, 500, 501, 502, 503, 504, 0, 0, 0, 20335 505, 506, 507, 508, 0, 342, 341, 343, 0, 828, 20336 509, 596, 510, 829, 830, 0, 831, 0, 511, 512, 20337 515, 0, 832, 0, 514, 516, 517, 0, 518, 0, 20338 0, 0, 519, 520, 521, 522, 523, 524, 525, 0, 20339 526, 528, 527, 0, 530, 833, 529, 0, 531, 532, 20340 0, 0, 533, 534, 535, 536, 537, 538, 541, 0, 20341 0, 539, 540, 542, 543, 0, 544, 545, 547, 550, 20342 546, 548, 549, 551, 552, 565, 566, 553, 554, 555, 20343 556, 557, 558, 559, 560, 561, 562, 563, 564, 568, 20344 0, 567, 0, 569, 570, 571, 572, 573, 581, 583, 20345 584, 579, 580, 582, 585, 586, 588, 589, 576, 577, 20346 578, 0, 587, 574, 0, 575, 344, 0, 590, 591, 20347 592, 593, 0, 834, 594, 835, 597, 598, 0, 0, 20348 599, 0, 600, 0, 0, 602, 603, 604, 0, 0, 20349 605, 606, 836, 0, 607, 0, 837, 608, 609, 601, 20350 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 20351 0, 620, 621, 838, 622, 623, 624, 839, 625, 626, 20352 627, 840, 628, 841, 629, 630, 0, 631, 632, 633, 20353 0, 634, 635, 636, 637, 638, 639, 640, 641, 642, 20354 643, 842, 644, 645, 647, 646, 648, 649, 0, 650, 20355 0, 651, 652, 653, 0, 0, 0, 0, 0, 654, 20356 655, 657, 0, 658, 659, 660, 661, 662, 656, 663, 20357 664, 665, 666, 667, 668, 669, 0, 671, 672, 670, 20358 673, 674, 0, 675, 676, 677, 678, 679, 843, 680, 20359 0, 681, 682, 690, 691, 692, 683, 684, 686, 693, 20360 685, 694, 695, 696, 697, 699, 698, 0, 701, 702, 20361 700, 703, 704, 705, 706, 0, 707, 844, 708, 687, 20362 688, 709, 710, 711, 0, 712, 713, 714, 715, 716, 20363 717, 718, 719, 720, 845, 0, 721, 0, 722, 723, 20364 724, 725, 726, 727, 729, 689, 730, 731, 732, 737, 20365 738, 846, 733, 734, 735, 736, 847, 740, 741, 742, 20366 743, 0, 744, 745, 0, 739, 728, 0, 746, 747, 20367 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 20368 848, 849, 850, 851, 0, 768, 0, 757, 759, 760, 20369 761, 762, 852, 763, 853, 0, 764, 765, 766, 767, 20370 758, 769, 770, 0, 0, 771, 772, 773, 774, 776, 20371 778, 779, 780, 775, 777, 781, 0, 782, 0, 0, 20372 783, 784, 785, 854, 855, 856, 0, 787, 788, 786, 20373 789, 790, 793, 791, 792, 857, 796, 513, 797, 798, 20374 799, 794, 795, 337, 0, 0, 0, 800, 801, 858, 20375 802, 803, 804, 0, 0, 0, 0, 0, 0, 0, 20376 345, 346, 348, 347, 349, 350, 351, 352, 0, 353, 20377 354, 0, 0, 0, 0, 0, 805, 0, 0, 0, 20378 356, 0, 355, 0, 357, 358, 359, 0, 360, 361, 20379 362, 363, 364, 365, 366, 367, 806, 807, 0, 368, 20380 808, 369, 809, 0, 810, 370, 371, 372, 373, 374, 20381 375, 376, 377, 378, 379, 0, 0, 0, 380, 811, 20382 812, 813, 0, 381, 382, 383, 384, 814, 0, 0, 20383 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 20384 0, 394, 395, 396, 393, 397, 398, 0, 399, 0, 20385 400, 401, 402, 403, 404, 405, 406, 0, 407, 408, 20386 409, 0, 410, 411, 412, 0, 0, 0, 0, 0, 20387 0, 0, 413, 414, 415, 416, 417, 0, 418, 420, 20388 421, 815, 422, 816, 0, 425, 427, 419, 423, 0, 20389 426, 424, 428, 429, 0, 430, 431, 432, 433, 0, 20390 0, 434, 435, 436, 0, 437, 438, 440, 439, 0, 20391 441, 442, 443, 0, 444, 445, 817, 446, 447, 448, 20392 450, 452, 449, 451, 453, 454, 455, 456, 457, 818, 20393 819, 458, 459, 0, 340, 0, 0, 0, 0, 0, 20394 460, 461, 462, 820, 0, 0, 0, 463, 0, 465, 20395 469, 466, 467, 468, 470, 0, 464, 471, 472, 0, 20396 0, 473, 474, 475, 821, 822, 476, 477, 478, 479, 20397 480, 481, 482, 483, 484, 0, 485, 486, 823, 0, 20398 824, 487, 0, 488, 489, 490, 491, 492, 493, 494, 20399 2509, 826, 827, 595, 0, 495, 496, 497, 0, 498, 20400 499, 500, 501, 502, 503, 504, 0, 0, 0, 505, 20401 506, 507, 508, 0, 342, 341, 343, 0, 828, 509, 20402 596, 510, 829, 830, 0, 831, 0, 511, 512, 515, 20403 0, 832, 0, 514, 516, 517, 0, 518, 0, 0, 20404 0, 519, 520, 521, 522, 523, 524, 525, 0, 526, 20405 528, 527, 0, 530, 833, 529, 0, 531, 532, 0, 20406 0, 533, 534, 535, 536, 537, 538, 541, 0, 0, 20407 539, 540, 542, 543, 0, 544, 545, 547, 550, 546, 20408 548, 549, 551, 552, 565, 566, 553, 554, 555, 556, 20409 557, 558, 559, 560, 561, 562, 563, 564, 568, 0, 20410 567, 0, 569, 570, 571, 572, 573, 581, 583, 584, 20411 579, 580, 582, 585, 586, 588, 589, 576, 577, 578, 20412 0, 587, 574, 0, 575, 344, 0, 590, 591, 592, 20413 593, 0, 834, 594, 835, 597, 598, 0, 0, 599, 20414 0, 600, 0, 0, 602, 603, 604, 0, 0, 605, 20415 606, 836, 0, 607, 0, 837, 608, 609, 601, 610, 20416 611, 612, 613, 614, 615, 616, 617, 618, 619, 0, 20417 620, 621, 838, 622, 623, 624, 839, 625, 626, 627, 20418 840, 628, 841, 629, 630, 0, 631, 632, 633, 0, 20419 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 20420 842, 644, 645, 647, 646, 648, 649, 0, 650, 0, 20421 651, 652, 653, 0, 0, 0, 0, 0, 654, 655, 20422 657, 0, 658, 659, 660, 661, 662, 656, 663, 664, 20423 665, 666, 667, 668, 669, 0, 671, 672, 670, 673, 20424 674, 0, 675, 676, 677, 678, 679, 843, 680, 0, 20425 681, 682, 690, 691, 692, 683, 684, 686, 693, 685, 20426 694, 695, 696, 697, 699, 698, 0, 701, 702, 700, 20427 703, 704, 705, 706, 0, 707, 844, 708, 687, 688, 20428 709, 710, 711, 0, 712, 713, 714, 715, 716, 717, 20429 718, 719, 720, 845, 0, 721, 0, 722, 723, 724, 20430 725, 726, 727, 729, 689, 730, 731, 732, 737, 738, 20431 846, 733, 734, 735, 736, 847, 740, 741, 742, 743, 20432 0, 744, 745, 0, 739, 728, 0, 746, 747, 748, 20433 749, 750, 751, 752, 753, 754, 755, 0, 756, 848, 20434 849, 850, 851, 0, 768, 0, 757, 759, 760, 761, 20435 762, 852, 763, 853, 0, 764, 765, 766, 767, 758, 20436 769, 770, 0, 0, 771, 772, 773, 774, 776, 778, 20437 779, 780, 775, 777, 781, 0, 782, 0, 0, 783, 20438 784, 785, 854, 855, 856, 0, 787, 788, 786, 789, 20439 790, 793, 791, 792, 857, 796, 513, 797, 798, 799, 20440 794, 795, 337, 0, 0, 0, 800, 801, 858, 802, 20441 803, 804, 0, 0, 0, 0, 0, 0, 0, 345, 20442 346, 348, 347, 349, 350, 351, 352, 0, 353, 354, 20443 0, 0, 0, 0, 0, 805, 0, 0, 0, 356, 20444 0, 355, 0, 357, 358, 359, 0, 360, 361, 362, 20445 363, 364, 365, 366, 367, 806, 807, 0, 368, 808, 20446 369, 809, 0, 810, 370, 371, 372, 373, 374, 375, 20447 376, 377, 378, 379, 0, 0, 0, 380, 811, 812, 20448 813, 0, 381, 382, 383, 384, 814, 0, 0, 0, 20449 385, 386, 387, 388, 389, 390, 391, 392, 0, 0, 20450 394, 395, 396, 393, 397, 398, 0, 399, 0, 400, 20451 401, 402, 403, 404, 405, 406, 0, 407, 408, 409, 20452 0, 410, 411, 412, 0, 0, 0, 0, 0, 0, 20453 0, 413, 414, 415, 416, 417, 0, 418, 420, 421, 20454 815, 422, 816, 0, 425, 427, 419, 423, 0, 426, 20455 424, 428, 429, 0, 430, 431, 432, 433, 0, 0, 20456 434, 435, 436, 0, 437, 438, 440, 439, 0, 441, 20457 442, 443, 0, 444, 445, 817, 446, 447, 448, 450, 20458 452, 449, 451, 453, 454, 455, 456, 457, 818, 819, 20459 458, 459, 0, 340, 0, 0, 0, 0, 0, 460, 20460 461, 462, 820, 0, 0, 0, 463, 0, 465, 469, 20461 466, 467, 468, 470, 0, 464, 471, 472, 0, 0, 20462 473, 474, 475, 821, 822, 476, 477, 478, 479, 480, 20463 481, 482, 483, 484, 0, 485, 486, 823, 0, 824, 20464 487, 0, 488, 489, 490, 491, 492, 493, 494, 2503, 20465 826, 827, 595, 0, 495, 496, 497, 0, 498, 499, 20466 500, 501, 502, 503, 504, 0, 0, 0, 505, 506, 20467 507, 508, 0, 342, 341, 343, 0, 828, 509, 596, 20468 510, 829, 830, 0, 831, 0, 511, 512, 515, 0, 20469 832, 0, 514, 516, 517, 0, 518, 0, 0, 0, 20470 519, 520, 521, 522, 523, 524, 525, 0, 526, 528, 20471 527, 0, 530, 833, 529, 0, 531, 532, 0, 0, 20472 533, 534, 535, 536, 537, 538, 541, 0, 0, 539, 20473 540, 542, 543, 0, 544, 545, 547, 550, 546, 548, 20474 549, 551, 552, 565, 566, 553, 554, 555, 556, 557, 20475 558, 559, 560, 561, 562, 563, 564, 568, 0, 567, 20476 0, 569, 570, 571, 572, 573, 581, 583, 584, 579, 20477 580, 582, 585, 586, 588, 589, 576, 577, 578, 0, 20478 587, 574, 0, 575, 344, 0, 590, 591, 592, 593, 20479 0, 834, 594, 835, 597, 598, 0, 0, 599, 0, 20480 600, 0, 0, 602, 603, 604, 0, 0, 605, 606, 20481 836, 0, 607, 0, 837, 608, 609, 601, 610, 611, 20482 612, 613, 614, 615, 616, 617, 618, 619, 0, 620, 20483 621, 838, 622, 623, 624, 839, 625, 626, 627, 840, 20484 628, 841, 629, 630, 0, 631, 632, 633, 0, 634, 20485 635, 636, 637, 638, 639, 640, 641, 642, 643, 842, 20486 644, 645, 647, 646, 648, 649, 0, 650, 0, 651, 20487 652, 653, 0, 0, 0, 0, 0, 654, 655, 657, 20488 0, 658, 659, 660, 661, 662, 656, 663, 664, 665, 20489 666, 667, 668, 669, 0, 671, 672, 670, 673, 674, 20490 0, 675, 676, 677, 678, 679, 843, 680, 0, 681, 20491 682, 690, 691, 692, 683, 684, 686, 693, 685, 694, 20492 695, 696, 697, 699, 698, 0, 701, 702, 700, 703, 20493 704, 705, 706, 0, 707, 844, 708, 687, 688, 709, 20494 710, 711, 0, 712, 713, 714, 715, 716, 717, 718, 20495 719, 720, 845, 0, 721, 0, 722, 723, 724, 725, 20496 726, 727, 729, 689, 730, 731, 732, 737, 738, 846, 20497 733, 734, 735, 736, 847, 740, 741, 742, 743, 0, 20498 744, 745, 0, 739, 728, 0, 746, 747, 748, 749, 20499 750, 751, 752, 753, 754, 755, 0, 756, 848, 849, 20500 850, 851, 0, 768, 0, 757, 759, 760, 761, 762, 20501 852, 763, 853, 0, 764, 765, 766, 767, 758, 769, 20502 770, 0, 0, 771, 772, 773, 774, 776, 778, 779, 20503 780, 775, 777, 781, 0, 782, 0, 0, 783, 784, 20504 785, 854, 855, 856, 0, 787, 788, 786, 789, 790, 20505 793, 791, 792, 857, 796, 513, 797, 798, 799, 794, 20506 795, 925, 0, 337, 0, 800, 801, 858, 802, 803, 20507 804, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20508 345, 346, 348, 347, 349, 923, 351, 352, 912, 353, 20509 354, 0, 0, 0, 0, 0, 805, 0, 0, 0, 20510 356, 0, 355, 0, 357, 358, 359, 0, 360, 361, 20511 362, 363, 364, 365, 366, 367, 806, 807, 0, 368, 20512 808, 369, 809, 0, 810, 370, 371, 372, 373, 374, 20513 375, 376, 377, 378, 379, 0, 0, 0, 380, 811, 20514 812, 813, 0, 381, 382, 383, 384, 814, 0, 0, 20515 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 20516 0, 394, 395, 396, 393, 397, 398, 0, 399, 0, 20517 400, 401, 402, 403, 404, 405, 406, 915, 407, 408, 20518 409, 0, 410, 411, 412, 0, 0, 0, 0, 0, 20519 0, 0, 413, 414, 415, 416, 417, 0, 418, 420, 20520 421, 815, 422, 816, 0, 425, 427, 419, 423, 0, 20521 426, 424, 428, 429, 0, 430, 431, 432, 433, 0, 20522 0, 434, 435, 436, 0, 437, 438, 440, 439, 0, 20523 441, 442, 443, 0, 444, 445, 817, 446, 447, 448, 20524 450, 452, 449, 451, 453, 454, 455, 456, 457, 818, 20525 819, 458, 459, 0, 0, 0, 0, 0, 0, 0, 20526 460, 461, 462, 820, 0, 0, 0, 463, 0, 465, 20527 469, 466, 467, 468, 470, 0, 464, 471, 472, 0, 20528 0, 473, 474, 475, 821, 822, 476, 477, 478, 479, 20529 480, 481, 482, 483, 484, 921, 485, 486, 823, 0, 20530 824, 487, 0, 488, 489, 490, 491, 492, 493, 494, 20531 825, 826, 827, 595, 0, 495, 496, 497, 0, 498, 20532 499, 500, 501, 502, 503, 504, 0, 0, 0, 505, 20533 506, 507, 508, 0, 0, 0, 0, 0, 828, 509, 20534 596, 510, 829, 830, 0, 831, 0, 511, 512, 515, 20535 0, 832, 0, 514, 516, 517, 0, 518, 0, 0, 20536 0, 519, 520, 521, 522, 523, 524, 525, 0, 526, 20537 528, 527, 0, 530, 833, 529, 0, 531, 532, 0, 20538 0, 533, 534, 535, 536, 537, 538, 541, 0, 0, 20539 539, 540, 542, 543, 0, 544, 545, 547, 550, 546, 20540 548, 549, 551, 552, 565, 566, 553, 554, 555, 556, 20541 557, 558, 559, 560, 561, 562, 563, 564, 568, 0, 20542 567, 0, 569, 570, 571, 572, 573, 581, 583, 584, 20543 579, 580, 582, 585, 586, 588, 589, 576, 577, 578, 20544 0, 587, 574, 0, 575, 0, 0, 590, 591, 592, 20545 593, 0, 834, 594, 835, 597, 598, 0, 0, 599, 20546 0, 600, 0, 0, 602, 603, 604, 0, 0, 605, 20547 606, 836, 0, 607, 0, 837, 608, 609, 601, 610, 20548 611, 612, 613, 614, 615, 616, 617, 618, 619, 0, 20549 620, 621, 838, 622, 623, 624, 839, 625, 626, 627, 20550 840, 628, 841, 629, 630, 0, 631, 632, 633, 0, 20551 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 20552 842, 644, 645, 647, 646, 648, 649, 0, 650, 0, 20553 651, 652, 653, 0, 0, 0, 0, 0, 654, 655, 20554 657, 0, 658, 659, 660, 661, 662, 656, 663, 664, 20555 665, 666, 667, 668, 669, 0, 671, 672, 670, 673, 20556 674, 0, 675, 676, 677, 678, 679, 843, 680, 0, 20557 681, 682, 690, 691, 692, 683, 684, 686, 693, 685, 20558 694, 695, 696, 697, 699, 698, 917, 701, 702, 700, 20559 703, 704, 705, 706, 0, 707, 844, 708, 687, 688, 20560 709, 710, 711, 0, 712, 713, 714, 715, 716, 717, 20561 718, 719, 720, 845, 0, 721, 0, 722, 723, 724, 20562 725, 726, 727, 729, 689, 730, 731, 732, 737, 738, 20563 846, 733, 734, 735, 736, 847, 740, 741, 742, 743, 20564 0, 744, 924, 0, 739, 728, 0, 746, 747, 748, 20565 749, 750, 751, 752, 753, 754, 755, 0, 756, 848, 20566 849, 850, 851, 0, 768, 0, 757, 759, 760, 761, 20567 762, 852, 763, 853, 0, 764, 765, 766, 767, 758, 20568 769, 770, 0, 0, 771, 772, 773, 774, 776, 778, 20569 779, 780, 775, 777, 781, 0, 782, 0, 0, 783, 20570 784, 785, 854, 855, 856, 0, 787, 788, 786, 789, 20571 790, 793, 791, 792, 857, 796, 513, 797, 798, 799, 20572 794, 795, 911, 0, 337, 0, 800, 801, 858, 802, 20573 803, 804, 0, 0, 0, 0, 0, 0, 0, 0, 20574 0, 345, 346, 348, 347, 349, 350, 351, 352, 912, 20575 353, 354, 0, 0, 0, 0, 0, 805, 0, 0, 20576 0, 356, 0, 355, 0, 357, 358, 359, 0, 360, 20577 361, 362, 363, 364, 365, 366, 367, 806, 807, 0, 20578 368, 808, 369, 809, 0, 810, 370, 371, 372, 373, 20579 374, 375, 376, 377, 378, 379, 0, 0, 0, 380, 20580 811, 812, 813, 0, 381, 382, 383, 384, 814, 0, 20581 0, 0, 385, 386, 387, 388, 389, 390, 391, 392, 20582 0, 0, 394, 395, 396, 393, 397, 398, 0, 399, 20583 0, 400, 401, 402, 403, 404, 405, 406, 915, 407, 20584 408, 409, 0, 410, 411, 412, 0, 0, 0, 0, 20585 0, 0, 0, 413, 414, 415, 416, 417, 0, 418, 20586 420, 421, 815, 422, 816, 0, 425, 427, 419, 423, 20587 0, 426, 424, 428, 429, 0, 430, 431, 432, 433, 20588 0, 0, 434, 435, 436, 0, 437, 438, 440, 439, 20589 0, 441, 442, 443, 0, 444, 445, 817, 446, 447, 20590 448, 450, 452, 449, 451, 453, 454, 455, 456, 457, 20591 818, 819, 458, 459, 0, 0, 0, 0, 0, 0, 20592 0, 460, 461, 462, 820, 0, 0, 0, 463, 0, 20593 465, 469, 466, 467, 468, 470, 0, 464, 471, 472, 20594 0, 0, 473, 474, 475, 821, 822, 476, 477, 478, 20595 479, 480, 481, 482, 483, 484, 916, 485, 486, 823, 20596 0, 824, 487, 0, 488, 489, 490, 491, 492, 493, 20597 494, 825, 826, 827, 595, 0, 495, 496, 497, 0, 20598 498, 499, 500, 501, 502, 503, 504, 0, 0, 0, 20599 505, 506, 507, 508, 0, 0, 0, 0, 0, 828, 20600 509, 596, 510, 829, 830, 0, 831, 0, 511, 512, 20601 515, 0, 832, 0, 514, 516, 517, 0, 518, 0, 20602 0, 0, 519, 520, 521, 522, 523, 524, 525, 0, 20603 526, 528, 527, 0, 530, 833, 529, 0, 531, 532, 20604 0, 0, 533, 534, 535, 536, 537, 538, 541, 0, 20605 0, 539, 540, 542, 543, 0, 544, 545, 547, 550, 20606 546, 548, 549, 551, 552, 565, 566, 553, 554, 555, 20607 556, 557, 558, 559, 560, 561, 562, 563, 564, 568, 20608 0, 567, 0, 569, 570, 571, 572, 573, 581, 583, 20609 584, 579, 580, 582, 585, 586, 588, 589, 576, 577, 20610 578, 0, 587, 574, 0, 575, 0, 0, 590, 591, 20611 592, 593, 0, 834, 594, 835, 597, 598, 0, 0, 20612 599, 0, 600, 0, 0, 602, 603, 604, 0, 0, 20613 605, 606, 836, 0, 607, 0, 837, 608, 609, 601, 20614 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 20615 0, 620, 621, 838, 622, 623, 624, 839, 625, 626, 20616 627, 840, 628, 841, 629, 630, 0, 631, 632, 633, 20617 0, 634, 635, 636, 637, 638, 639, 640, 641, 642, 20618 643, 842, 644, 645, 647, 646, 648, 649, 0, 650, 20619 0, 651, 652, 653, 0, 0, 0, 0, 0, 654, 20620 655, 657, 0, 658, 659, 660, 661, 662, 656, 663, 20621 664, 665, 666, 667, 668, 669, 0, 671, 672, 670, 20622 673, 674, 0, 675, 676, 677, 678, 679, 843, 680, 20623 0, 681, 682, 690, 691, 692, 683, 684, 686, 693, 20624 685, 694, 695, 696, 697, 699, 698, 917, 701, 702, 20625 700, 703, 704, 705, 706, 0, 707, 844, 708, 687, 20626 688, 709, 710, 711, 0, 712, 713, 714, 715, 716, 20627 717, 718, 719, 720, 845, 0, 721, 0, 722, 723, 20628 724, 725, 726, 727, 729, 689, 730, 731, 732, 737, 20629 738, 846, 733, 734, 735, 736, 847, 740, 741, 742, 20630 743, 0, 744, 910, 0, 739, 728, 0, 746, 747, 20631 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 20632 848, 849, 850, 851, 0, 768, 0, 757, 759, 760, 20633 761, 762, 852, 763, 853, 0, 764, 765, 766, 767, 20634 758, 769, 770, 0, 0, 771, 772, 773, 774, 776, 20635 778, 779, 780, 775, 777, 781, 0, 782, 0, 0, 20636 783, 784, 785, 854, 855, 856, 0, 787, 788, 786, 20637 789, 790, 793, 791, 792, 857, 796, 513, 797, 798, 20638 799, 794, 795, 337, 0, 0, 0, 800, 801, 858, 20639 802, 803, 804, 0, 0, 0, 0, 0, 0, 0, 20640 345, 346, 348, 347, 349, 350, 351, 352, 912, 353, 20641 354, 0, 0, 0, 0, 0, 805, 0, 0, 0, 20642 356, 0, 355, 0, 357, 358, 359, 0, 360, 361, 20643 362, 363, 364, 365, 366, 367, 806, 807, 0, 368, 20644 808, 369, 809, 0, 810, 370, 371, 372, 373, 374, 20645 375, 376, 377, 378, 379, 0, 0, 0, 380, 811, 20646 812, 813, 0, 381, 382, 383, 384, 814, 0, 0, 20647 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 20648 0, 394, 395, 396, 393, 397, 398, 0, 399, 0, 20649 400, 401, 402, 403, 404, 405, 406, 915, 407, 408, 20650 409, 0, 410, 411, 412, 0, 0, 0, 0, 0, 20651 0, 0, 413, 414, 415, 416, 417, 0, 418, 420, 20652 421, 815, 422, 816, 0, 425, 427, 419, 423, 0, 20653 426, 424, 428, 429, 0, 430, 431, 432, 433, 0, 20654 0, 434, 435, 436, 0, 437, 438, 440, 439, 0, 20655 441, 442, 443, 0, 444, 445, 817, 446, 447, 448, 20656 450, 452, 449, 451, 453, 454, 455, 456, 457, 818, 20657 819, 458, 459, 0, 0, 0, 0, 0, 0, 0, 20658 460, 461, 462, 820, 0, 0, 0, 463, 0, 465, 20659 469, 466, 467, 468, 470, 0, 464, 471, 472, 0, 20660 0, 473, 474, 475, 821, 822, 476, 477, 478, 479, 20661 480, 481, 482, 483, 484, 916, 485, 486, 823, 0, 20662 824, 487, 0, 488, 489, 490, 491, 492, 493, 494, 20663 825, 826, 827, 595, 0, 495, 496, 497, 0, 498, 20664 499, 500, 501, 502, 503, 504, 0, 0, 0, 505, 20665 506, 507, 508, 0, 0, 0, 0, 0, 828, 509, 20666 596, 510, 829, 830, 0, 831, 0, 511, 512, 515, 20667 0, 832, 0, 514, 516, 517, 0, 518, 0, 0, 20668 0, 519, 520, 521, 522, 523, 524, 525, 0, 526, 20669 528, 527, 0, 530, 833, 529, 0, 531, 532, 0, 20670 0, 533, 534, 535, 536, 537, 538, 541, 0, 0, 20671 539, 540, 542, 543, 0, 544, 545, 547, 550, 546, 20672 548, 549, 551, 552, 565, 566, 553, 554, 555, 556, 20673 557, 558, 559, 560, 561, 562, 563, 564, 568, 0, 20674 567, 0, 569, 570, 571, 572, 573, 581, 583, 584, 20675 579, 580, 582, 585, 586, 588, 589, 576, 577, 578, 20676 0, 587, 574, 0, 575, 0, 0, 590, 591, 592, 20677 593, 0, 834, 594, 835, 597, 598, 0, 0, 599, 20678 0, 600, 0, 0, 602, 603, 604, 0, 0, 605, 20679 606, 836, 0, 607, 0, 837, 608, 609, 601, 610, 20680 611, 612, 613, 614, 615, 616, 617, 618, 619, 0, 20681 620, 621, 838, 622, 623, 624, 839, 625, 626, 627, 20682 840, 628, 841, 629, 630, 0, 631, 632, 633, 0, 20683 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 20684 842, 644, 645, 647, 646, 648, 649, 0, 650, 0, 20685 651, 652, 653, 0, 0, 0, 0, 0, 654, 655, 20686 657, 0, 658, 659, 660, 661, 662, 656, 663, 664, 20687 665, 666, 667, 668, 669, 0, 671, 672, 670, 673, 20688 674, 0, 675, 676, 677, 678, 679, 843, 680, 0, 20689 681, 682, 690, 691, 692, 683, 684, 686, 693, 685, 20690 694, 695, 696, 697, 699, 698, 917, 701, 702, 700, 20691 703, 704, 705, 706, 0, 707, 844, 708, 687, 688, 20692 709, 710, 711, 0, 712, 713, 714, 715, 716, 717, 20693 718, 719, 720, 845, 0, 721, 0, 722, 723, 724, 20694 725, 726, 727, 729, 689, 730, 731, 732, 737, 738, 20695 846, 733, 734, 735, 736, 847, 740, 741, 742, 743, 20696 0, 744, 745, 0, 739, 728, 0, 746, 747, 748, 20697 749, 750, 751, 752, 753, 754, 755, 0, 756, 848, 20698 849, 850, 851, 0, 768, 0, 757, 759, 760, 761, 20699 762, 852, 763, 853, 0, 764, 765, 766, 767, 758, 20700 769, 770, 0, 0, 771, 772, 773, 774, 776, 778, 20701 779, 780, 775, 777, 781, 0, 782, 0, 0, 783, 20702 784, 785, 854, 855, 856, 0, 787, 788, 786, 789, 20703 790, 793, 791, 792, 857, 796, 513, 797, 798, 799, 20704 794, 795, 337, 0, 0, 0, 800, 801, 858, 802, 20705 803, 804, 0, 0, 0, 0, 0, 0, 0, 345, 20706 346, 348, 347, 349, 350, 351, 352, 912, 353, 354, 20707 0, 0, 0, 0, 0, 805, 0, 0, 0, 356, 20708 0, 355, 0, 357, 358, 359, 0, 360, 361, 362, 20709 363, 364, 365, 366, 367, 806, 807, 0, 368, 808, 20710 369, 809, 0, 810, 370, 371, 372, 373, 374, 375, 20711 376, 377, 378, 379, 0, 0, 0, 380, 811, 812, 20712 813, 0, 381, 382, 383, 384, 814, 0, 0, 0, 20713 385, 386, 387, 388, 389, 390, 391, 392, 0, 0, 20714 394, 395, 396, 393, 397, 398, 0, 399, 0, 400, 20715 401, 402, 403, 404, 405, 406, 915, 407, 408, 409, 20716 0, 410, 411, 412, 0, 0, 0, 0, 0, 0, 20717 0, 413, 414, 415, 416, 417, 0, 418, 420, 421, 20718 815, 422, 816, 0, 425, 427, 419, 423, 0, 426, 20719 424, 428, 429, 0, 430, 431, 432, 433, 0, 0, 20720 434, 435, 436, 0, 437, 438, 440, 439, 0, 441, 20721 442, 443, 0, 444, 445, 817, 446, 447, 448, 450, 20722 452, 449, 451, 453, 454, 455, 456, 457, 818, 819, 20723 458, 459, 0, 0, 0, 0, 0, 0, 0, 460, 20724 461, 462, 820, 0, 0, 0, 463, 0, 465, 469, 20725 466, 467, 468, 470, 0, 464, 471, 472, 0, 0, 20726 473, 474, 475, 821, 822, 476, 477, 478, 479, 480, 20727 481, 482, 483, 484, 5564, 485, 486, 823, 0, 824, 20728 487, 0, 488, 489, 490, 491, 492, 493, 494, 825, 20729 826, 827, 595, 0, 495, 496, 497, 0, 498, 499, 20730 500, 501, 502, 503, 504, 0, 0, 0, 505, 506, 20731 507, 508, 0, 0, 0, 0, 0, 828, 509, 596, 20732 510, 829, 830, 0, 831, 0, 511, 512, 515, 0, 20733 832, 0, 514, 516, 517, 0, 518, 0, 0, 0, 20734 519, 520, 521, 522, 523, 524, 525, 0, 526, 528, 20735 527, 0, 530, 833, 529, 0, 531, 532, 0, 0, 20736 533, 534, 535, 536, 537, 538, 541, 0, 0, 539, 20737 540, 542, 543, 0, 544, 545, 547, 550, 546, 548, 20738 549, 551, 552, 565, 566, 553, 554, 555, 556, 557, 20739 558, 559, 560, 561, 562, 563, 564, 568, 0, 567, 20740 0, 569, 570, 571, 572, 573, 581, 583, 584, 579, 20741 580, 582, 585, 586, 588, 589, 576, 577, 578, 0, 20742 587, 574, 0, 575, 0, 0, 590, 591, 592, 593, 20743 0, 834, 594, 835, 597, 598, 0, 0, 599, 0, 20744 600, 0, 0, 602, 603, 604, 0, 0, 605, 606, 20745 836, 0, 607, 0, 837, 608, 609, 601, 610, 611, 20746 612, 613, 614, 615, 616, 617, 618, 619, 0, 620, 20747 621, 838, 622, 623, 624, 839, 625, 626, 627, 840, 20748 628, 841, 629, 630, 0, 631, 632, 633, 0, 634, 20749 635, 636, 637, 638, 639, 640, 641, 642, 643, 842, 20750 644, 645, 647, 646, 648, 649, 0, 650, 0, 651, 20751 652, 653, 0, 0, 0, 0, 0, 654, 655, 657, 20752 0, 658, 659, 660, 661, 662, 656, 663, 664, 665, 20753 666, 667, 668, 669, 0, 671, 672, 670, 673, 674, 20754 0, 675, 676, 677, 678, 679, 843, 680, 0, 681, 20755 682, 690, 691, 692, 683, 684, 686, 693, 685, 694, 20756 695, 696, 697, 699, 698, 917, 701, 702, 700, 703, 20757 704, 705, 706, 0, 707, 844, 708, 687, 688, 709, 20758 710, 711, 0, 712, 713, 714, 715, 716, 717, 718, 20759 719, 720, 845, 0, 721, 0, 722, 723, 724, 725, 20760 726, 727, 729, 689, 730, 731, 732, 737, 738, 846, 20761 733, 734, 735, 736, 847, 740, 741, 742, 743, 0, 20762 744, 745, 0, 739, 728, 0, 746, 747, 748, 749, 20763 750, 751, 752, 753, 754, 755, 0, 756, 848, 849, 20764 850, 851, 0, 768, 0, 757, 759, 760, 761, 762, 20765 852, 763, 853, 0, 764, 765, 766, 767, 758, 769, 20766 770, 0, 0, 771, 772, 773, 774, 776, 778, 779, 20767 780, 775, 777, 781, 0, 782, 0, 0, 783, 784, 20768 785, 854, 855, 856, 0, 787, 788, 786, 789, 790, 20769 793, 791, 792, 857, 796, 513, 797, 798, 799, 794, 20770 795, 337, 0, 0, 0, 800, 801, 858, 802, 803, 20771 804, 0, 0, 0, 0, 0, 0, 0, 345, 346, 20772 348, 347, 349, 350, 351, 352, 912, 353, 354, 0, 20773 0, 0, 0, 0, 805, 0, 0, 0, 356, 0, 20774 355, 0, 357, 358, 359, 0, 360, 361, 362, 363, 20775 364, 365, 366, 367, 806, 807, 0, 368, 808, 369, 20776 809, 0, 810, 370, 371, 372, 373, 374, 375, 376, 20777 377, 378, 379, 0, 0, 0, 380, 811, 812, 813, 20778 0, 381, 382, 383, 384, 814, 0, 0, 0, 385, 20779 386, 387, 388, 389, 390, 391, 392, 0, 0, 394, 20780 395, 396, 393, 397, 398, 0, 399, 0, 400, 401, 20781 402, 403, 404, 405, 406, 915, 407, 408, 409, 0, 20782 410, 411, 412, 0, 0, 0, 0, 0, 0, 0, 20783 413, 414, 415, 416, 417, 0, 418, 420, 421, 815, 20784 422, 816, 0, 425, 427, 419, 423, 0, 426, 424, 20785 428, 429, 0, 430, 431, 432, 433, 0, 0, 434, 20786 435, 436, 0, 437, 438, 440, 439, 0, 441, 442, 20787 443, 0, 444, 445, 817, 446, 447, 448, 450, 452, 20788 449, 451, 453, 454, 455, 456, 457, 818, 819, 458, 20789 459, 0, 0, 0, 0, 0, 0, 0, 460, 461, 20790 462, 820, 0, 0, 0, 463, 0, 465, 469, 466, 20791 467, 468, 470, 0, 464, 471, 472, 0, 0, 473, 20792 474, 475, 821, 822, 476, 477, 478, 479, 480, 481, 20793 482, 483, 484, 916, 485, 486, 823, 0, 824, 487, 20794 0, 488, 489, 490, 491, 492, 493, 494, 825, 826, 20795 827, 595, 0, 495, 496, 497, 0, 498, 499, 500, 20796 501, 502, 503, 504, 0, 0, 0, 505, 506, 507, 20797 508, 0, 0, 0, 0, 0, 828, 509, 596, 510, 20798 829, 830, 0, 831, 0, 511, 512, 515, 0, 832, 20799 0, 514, 516, 517, 0, 518, 0, 0, 0, 519, 20800 520, 521, 522, 523, 524, 525, 0, 526, 528, 527, 20801 0, 530, 833, 529, 0, 531, 532, 0, 0, 533, 20802 534, 535, 536, 537, 538, 541, 0, 0, 539, 540, 20803 542, 543, 0, 544, 545, 547, 550, 546, 548, 549, 20804 551, 552, 565, 566, 553, 554, 555, 556, 557, 558, 20805 559, 560, 561, 562, 563, 564, 568, 0, 567, 0, 20806 569, 570, 571, 572, 573, 581, 583, 584, 579, 580, 20807 582, 585, 586, 588, 589, 576, 577, 578, 0, 587, 20808 574, 0, 575, 0, 0, 590, 591, 592, 593, 0, 20809 834, 594, 835, 597, 598, 0, 0, 599, 0, 600, 20810 0, 0, 602, 603, 604, 0, 0, 605, 606, 836, 20811 0, 607, 0, 837, 608, 609, 601, 610, 611, 612, 20812 613, 614, 615, 616, 617, 618, 619, 0, 620, 621, 20813 838, 622, 623, 624, 839, 625, 626, 627, 840, 628, 20814 841, 629, 630, 0, 631, 632, 633, 0, 634, 635, 20815 636, 637, 638, 639, 640, 641, 642, 643, 842, 644, 20816 645, 647, 646, 648, 649, 0, 650, 0, 651, 652, 20817 653, 0, 0, 0, 0, 0, 654, 655, 657, 0, 20818 658, 659, 660, 661, 662, 656, 663, 664, 665, 666, 20819 667, 668, 669, 0, 671, 672, 670, 673, 674, 0, 20820 675, 676, 677, 678, 679, 843, 680, 0, 681, 682, 20821 690, 691, 692, 683, 684, 686, 693, 685, 694, 695, 20822 696, 697, 699, 698, 917, 701, 702, 700, 703, 704, 20823 705, 706, 0, 707, 844, 708, 687, 688, 709, 710, 20824 711, 0, 712, 713, 714, 715, 716, 717, 718, 719, 20825 720, 845, 0, 721, 0, 722, 723, 724, 725, 726, 20826 727, 729, 689, 730, 731, 732, 737, 738, 846, 733, 20827 734, 735, 736, 847, 740, 741, 742, 743, 0, 744, 20828 4004, 0, 739, 728, 0, 746, 747, 748, 749, 750, 20829 751, 752, 753, 754, 755, 0, 756, 848, 849, 850, 20830 851, 0, 768, 0, 757, 759, 760, 761, 762, 852, 20831 763, 853, 0, 764, 765, 766, 767, 758, 769, 770, 20832 0, 0, 771, 772, 773, 774, 776, 778, 779, 780, 20833 775, 777, 781, 0, 782, 0, 0, 783, 784, 785, 20834 854, 855, 856, 0, 787, 788, 786, 789, 790, 793, 20835 791, 792, 857, 796, 513, 797, 798, 799, 794, 795, 20836 337, 0, 0, 0, 800, 801, 858, 802, 803, 804, 20837 0, 0, 0, 0, 0, 0, 0, 345, 346, 348, 20838 347, 349, 350, 351, 352, 0, 353, 354, 0, 0, 20839 0, 0, 0, 805, 0, 0, 0, 356, 0, 355, 20840 0, 357, 358, 359, 0, 360, 361, 362, 363, 364, 20841 365, 366, 367, 806, 807, 0, 368, 808, 369, 809, 20842 0, 810, 370, 371, 372, 373, 374, 375, 376, 377, 20843 378, 379, 0, 0, 0, 380, 811, 812, 813, 0, 20844 381, 382, 383, 384, 814, 0, 0, 0, 385, 386, 20845 387, 388, 389, 390, 391, 392, 0, 0, 394, 395, 20846 396, 393, 397, 398, 0, 399, 0, 400, 401, 402, 20847 403, 404, 405, 406, 915, 407, 408, 409, 0, 410, 20848 411, 412, 0, 0, 0, 0, 0, 0, 0, 413, 20849 414, 415, 416, 417, 0, 418, 420, 421, 815, 422, 20850 816, 0, 425, 427, 419, 423, 0, 426, 424, 428, 20851 429, 0, 430, 431, 432, 433, 0, 0, 434, 435, 20852 436, 0, 437, 438, 440, 439, 0, 441, 442, 443, 20853 0, 444, 445, 817, 446, 447, 448, 450, 452, 449, 20854 451, 453, 454, 455, 456, 457, 818, 819, 458, 459, 20855 0, 0, 0, 0, 0, 0, 0, 460, 461, 462, 20856 820, 0, 0, 0, 463, 0, 465, 469, 466, 467, 20857 468, 470, 0, 464, 471, 472, 0, 0, 473, 474, 20858 475, 821, 822, 476, 477, 478, 479, 480, 481, 482, 20859 483, 484, 916, 485, 486, 823, 0, 824, 487, 0, 20860 488, 489, 490, 491, 492, 493, 494, 825, 826, 827, 20861 595, 0, 495, 496, 497, 0, 498, 499, 500, 501, 20862 502, 503, 504, 0, 0, 0, 505, 506, 507, 508, 20863 0, 0, 0, 0, 0, 828, 509, 596, 510, 829, 20864 830, 0, 831, 0, 511, 512, 515, 0, 832, 0, 20865 514, 516, 517, 0, 518, 0, 0, 0, 519, 520, 20866 521, 522, 523, 524, 525, 0, 526, 528, 527, 0, 20867 530, 833, 529, 0, 531, 532, 0, 0, 533, 534, 20868 535, 536, 537, 538, 541, 0, 0, 539, 540, 542, 20869 543, 0, 544, 545, 547, 550, 546, 548, 549, 551, 20870 552, 565, 566, 553, 554, 555, 556, 557, 558, 559, 20871 560, 561, 562, 563, 564, 568, 0, 567, 0, 569, 20872 570, 571, 572, 573, 581, 583, 584, 579, 580, 582, 20873 585, 586, 588, 589, 576, 577, 578, 0, 587, 574, 20874 0, 575, 0, 0, 590, 591, 592, 593, 0, 834, 20875 594, 835, 597, 598, 0, 0, 599, 0, 600, 0, 20876 0, 602, 603, 604, 0, 0, 605, 606, 836, 0, 20877 607, 0, 837, 608, 609, 601, 610, 611, 612, 613, 20878 614, 615, 616, 617, 618, 619, 0, 620, 621, 838, 20879 622, 623, 624, 839, 625, 626, 627, 840, 628, 841, 20880 629, 630, 0, 631, 632, 633, 0, 634, 635, 636, 20881 637, 638, 639, 640, 641, 642, 643, 842, 644, 645, 20882 647, 646, 648, 649, 0, 650, 0, 651, 652, 653, 20883 0, 0, 0, 0, 0, 654, 655, 657, 0, 658, 20884 659, 660, 661, 662, 656, 663, 664, 665, 666, 667, 20885 668, 669, 0, 671, 672, 670, 673, 674, 0, 675, 20886 676, 677, 678, 679, 843, 680, 0, 681, 682, 690, 20887 691, 692, 683, 684, 686, 693, 685, 694, 695, 696, 20888 697, 699, 698, 917, 701, 702, 700, 703, 704, 705, 20889 706, 0, 707, 844, 708, 687, 688, 709, 710, 711, 20890 0, 712, 713, 714, 715, 716, 717, 718, 719, 720, 20891 845, 0, 721, 0, 722, 723, 724, 725, 726, 727, 20892 729, 689, 730, 731, 732, 737, 738, 846, 733, 734, 20893 735, 736, 847, 740, 741, 742, 743, 0, 744, 745, 20894 0, 739, 728, 0, 746, 747, 748, 749, 750, 751, 20895 752, 753, 754, 755, 0, 756, 848, 849, 850, 851, 20896 0, 768, 0, 757, 759, 760, 761, 762, 852, 763, 20897 853, 0, 764, 765, 766, 767, 758, 769, 770, 0, 20898 0, 771, 772, 773, 774, 776, 778, 779, 780, 775, 20899 777, 781, 0, 782, 0, 0, 783, 784, 785, 854, 20900 855, 856, 0, 787, 788, 786, 789, 790, 793, 791, 20901 792, 857, 796, 513, 797, 798, 799, 794, 795, 1230, 20902 0, 337, 0, 800, 801, 858, 802, 803, 804, 0, 20903 0, 0, 0, 0, 0, 0, 0, 0, 345, 346, 20904 348, 347, 349, 350, 351, 352, 0, 353, 354, 0, 20905 0, 0, 0, 0, 805, 0, 0, 0, 356, 0, 20906 355, 0, 357, 358, 359, 0, 360, 361, 362, 363, 20907 364, 365, 366, 367, 806, 807, 0, 368, 808, 369, 20908 809, 0, 810, 370, 371, 372, 373, 374, 375, 376, 20909 377, 378, 379, 0, 0, 0, 380, 811, 812, 813, 20910 0, 381, 382, 383, 384, 814, 0, 0, 0, 385, 20911 386, 387, 388, 389, 390, 391, 392, 0, 0, 394, 20912 395, 396, 393, 397, 398, 0, 399, 0, 400, 401, 20913 402, 403, 404, 405, 406, 0, 407, 408, 409, 0, 20914 410, 411, 412, 0, 0, 0, 0, 0, 0, 0, 20915 413, 414, 415, 416, 417, 0, 418, 420, 421, 815, 20916 422, 816, 0, 425, 427, 419, 423, 0, 426, 424, 20917 428, 429, 0, 430, 431, 432, 433, 0, 0, 434, 20918 435, 436, 0, 437, 438, 440, 439, 0, 441, 442, 20919 443, 0, 444, 445, 817, 446, 447, 448, 450, 452, 20920 449, 451, 453, 454, 455, 456, 457, 818, 819, 458, 20921 459, 0, 0, 0, 0, 0, 0, 0, 460, 461, 20922 462, 820, 0, 0, 0, 463, 0, 465, 469, 466, 20923 467, 468, 470, 0, 464, 471, 472, 0, 0, 473, 20924 474, 475, 821, 822, 476, 477, 478, 479, 480, 481, 20925 482, 483, 484, 0, 485, 486, 823, 0, 824, 487, 20926 0, 488, 489, 490, 491, 492, 493, 494, 825, 826, 20927 827, 595, 0, 495, 496, 497, 0, 498, 499, 500, 20928 501, 502, 503, 504, 0, 0, 0, 505, 506, 507, 20929 508, 0, 0, 0, 0, 0, 828, 509, 596, 510, 20930 829, 830, 0, 831, 1229, 511, 512, 515, 0, 832, 20931 0, 514, 516, 517, 0, 518, 0, 0, 0, 519, 20932 520, 521, 522, 523, 524, 525, 0, 526, 528, 527, 20933 0, 530, 833, 529, 0, 531, 532, 0, 0, 533, 20934 534, 535, 536, 537, 538, 541, 0, 0, 539, 540, 20935 542, 543, 0, 544, 545, 547, 550, 546, 548, 549, 20936 551, 552, 565, 566, 553, 554, 555, 556, 557, 558, 20937 559, 560, 561, 562, 563, 564, 568, 0, 567, 0, 20938 569, 570, 571, 572, 573, 581, 583, 584, 579, 580, 20939 582, 585, 586, 588, 589, 576, 577, 578, 0, 587, 20940 574, 0, 575, 0, 0, 590, 591, 592, 593, 0, 20941 834, 594, 835, 597, 598, 0, 0, 599, 0, 600, 20942 0, 0, 602, 603, 604, 0, 0, 605, 606, 836, 20943 0, 607, 0, 837, 608, 609, 601, 610, 611, 612, 20944 613, 614, 615, 616, 617, 618, 619, 0, 620, 621, 20945 838, 622, 623, 624, 839, 625, 626, 627, 840, 628, 20946 841, 629, 630, 0, 631, 632, 633, 0, 634, 635, 20947 636, 637, 638, 639, 640, 641, 642, 643, 842, 644, 20948 645, 647, 646, 648, 649, 0, 650, 0, 651, 652, 20949 653, 0, 0, 0, 0, 0, 654, 655, 657, 0, 20950 658, 659, 660, 661, 662, 656, 663, 664, 665, 666, 20951 667, 668, 669, 0, 671, 672, 670, 673, 674, 0, 20952 675, 676, 677, 678, 679, 843, 680, 0, 681, 682, 20953 690, 691, 692, 683, 684, 686, 693, 685, 694, 695, 20954 696, 697, 699, 698, 0, 701, 702, 700, 703, 704, 20955 705, 706, 0, 707, 844, 708, 687, 688, 709, 710, 20956 711, 0, 712, 713, 714, 715, 716, 717, 718, 719, 20957 720, 845, 0, 721, 0, 722, 723, 724, 725, 726, 20958 727, 729, 689, 730, 731, 732, 737, 738, 846, 733, 20959 734, 735, 736, 847, 740, 741, 742, 743, 0, 744, 20960 745, 0, 739, 728, 1228, 746, 747, 748, 749, 750, 20961 751, 752, 753, 754, 755, 0, 756, 848, 849, 850, 20962 851, 0, 768, 0, 757, 759, 760, 761, 762, 852, 20963 763, 853, 0, 764, 765, 766, 767, 758, 769, 770, 20964 0, 0, 771, 772, 773, 774, 776, 778, 779, 780, 20965 775, 777, 781, 0, 782, 0, 0, 783, 784, 785, 20966 854, 855, 856, 0, 787, 788, 786, 789, 790, 793, 20967 791, 792, 857, 796, 513, 797, 798, 799, 794, 795, 20968 1019, 0, 337, 0, 800, 801, 858, 802, 803, 804, 20969 0, 0, 0, 0, 0, 0, 0, 0, 0, 345, 20970 1008, 348, 347, 349, 350, 351, 352, 0, 353, 354, 20971 0, 0, 0, 0, 0, 805, 0, 0, 0, 356, 20972 0, 355, 0, 357, 358, 359, 0, 360, 361, 362, 20973 363, 1017, 365, 366, 367, 806, 807, 0, 368, 808, 20974 369, 809, 0, 810, 370, 371, 372, 373, 374, 375, 20975 376, 377, 378, 379, 0, 0, 0, 380, 811, 812, 20976 813, 0, 381, 382, 383, 384, 814, 0, 0, 0, 20977 385, 386, 387, 388, 389, 390, 391, 392, 0, 0, 20978 394, 395, 396, 393, 397, 398, 0, 399, 0, 400, 20979 401, 402, 403, 404, 405, 406, 0, 407, 408, 409, 20980 0, 410, 411, 412, 0, 0, 0, 0, 0, 0, 20981 0, 413, 414, 415, 416, 417, 0, 418, 420, 421, 20982 815, 422, 816, 0, 425, 427, 419, 423, 0, 426, 20983 424, 428, 429, 0, 430, 431, 432, 433, 0, 0, 20984 434, 435, 436, 0, 437, 438, 440, 439, 0, 441, 20985 442, 443, 0, 444, 445, 817, 446, 447, 448, 450, 20986 452, 449, 451, 453, 454, 455, 456, 457, 818, 819, 20987 458, 459, 0, 0, 0, 0, 0, 0, 0, 460, 20988 461, 1010, 820, 0, 0, 0, 463, 0, 465, 469, 20989 466, 467, 468, 470, 0, 464, 1016, 472, 1012, 0, 20990 473, 474, 475, 821, 822, 476, 477, 478, 479, 480, 20991 481, 482, 483, 484, 0, 485, 486, 823, 0, 824, 20992 487, 0, 488, 489, 490, 491, 492, 493, 494, 825, 20993 826, 827, 595, 0, 495, 496, 497, 1013, 498, 499, 20994 500, 501, 502, 503, 504, 0, 0, 0, 505, 506, 20995 507, 508, 0, 0, 0, 0, 0, 828, 509, 596, 20996 510, 829, 830, 0, 831, 0, 511, 512, 515, 0, 20997 832, 0, 514, 516, 517, 0, 518, 0, 0, 0, 20998 519, 520, 521, 522, 523, 524, 1011, 0, 526, 528, 20999 527, 0, 530, 833, 529, 0, 531, 532, 0, 0, 21000 533, 534, 535, 536, 537, 538, 541, 0, 0, 539, 21001 540, 542, 543, 0, 544, 545, 547, 550, 546, 548, 21002 549, 551, 552, 565, 566, 553, 554, 555, 556, 557, 21003 558, 559, 560, 561, 562, 563, 564, 568, 0, 567, 21004 0, 569, 570, 571, 1014, 573, 581, 583, 584, 579, 21005 580, 582, 585, 586, 588, 589, 576, 577, 578, 0, 21006 587, 574, 0, 575, 0, 0, 590, 591, 592, 593, 21007 0, 834, 594, 835, 597, 598, 0, 0, 599, 0, 21008 600, 0, 0, 602, 603, 604, 0, 0, 605, 606, 21009 836, 0, 607, 0, 837, 608, 609, 601, 610, 611, 21010 612, 613, 614, 615, 616, 617, 618, 619, 0, 620, 21011 621, 838, 622, 623, 624, 839, 625, 626, 627, 840, 21012 628, 841, 629, 630, 0, 1015, 632, 633, 0, 634, 21013 635, 636, 637, 638, 639, 640, 641, 642, 643, 842, 21014 644, 645, 647, 646, 648, 649, 0, 650, 0, 651, 21015 652, 653, 0, 0, 0, 0, 0, 654, 1009, 657, 21016 0, 658, 659, 660, 661, 662, 656, 663, 664, 665, 21017 666, 667, 668, 669, 0, 671, 672, 670, 673, 674, 21018 0, 675, 676, 677, 678, 679, 843, 680, 0, 681, 21019 682, 690, 691, 692, 683, 684, 686, 693, 685, 694, 21020 695, 696, 697, 699, 698, 0, 701, 702, 700, 703, 21021 704, 705, 706, 0, 707, 844, 708, 687, 688, 709, 21022 710, 711, 0, 712, 713, 714, 715, 716, 717, 718, 21023 719, 720, 845, 0, 721, 0, 722, 723, 724, 725, 21024 726, 727, 729, 689, 730, 731, 732, 737, 738, 846, 21025 733, 734, 735, 736, 847, 740, 741, 742, 743, 0, 21026 744, 745, 0, 739, 728, 0, 746, 747, 748, 749, 21027 750, 751, 752, 753, 754, 755, 0, 756, 848, 849, 21028 850, 851, 0, 768, 0, 757, 759, 760, 761, 762, 21029 852, 763, 853, 0, 764, 765, 766, 767, 758, 769, 21030 770, 0, 0, 771, 772, 773, 774, 776, 778, 779, 21031 780, 775, 777, 781, 0, 782, 0, 0, 783, 784, 21032 785, 854, 855, 856, 0, 787, 788, 786, 789, 790, 21033 793, 791, 792, 857, 796, 513, 797, 798, 799, 794, 21034 795, 1002, 0, 337, 0, 800, 801, 858, 802, 803, 21035 804, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21036 345, 1008, 348, 347, 349, 350, 351, 352, 0, 353, 21037 354, 0, 0, 0, 0, 0, 805, 0, 0, 0, 21038 356, 0, 355, 0, 357, 358, 359, 0, 360, 361, 21039 362, 363, 1017, 365, 366, 367, 806, 807, 0, 368, 21040 808, 369, 809, 0, 810, 370, 371, 372, 373, 374, 21041 375, 376, 377, 378, 379, 0, 0, 0, 380, 811, 21042 812, 813, 0, 381, 382, 383, 384, 814, 0, 0, 21043 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 21044 0, 394, 395, 396, 393, 397, 398, 0, 399, 0, 21045 400, 401, 402, 403, 404, 405, 406, 0, 407, 408, 21046 409, 0, 410, 411, 412, 0, 0, 0, 0, 0, 21047 0, 0, 413, 414, 415, 416, 417, 0, 418, 420, 21048 421, 815, 422, 816, 0, 425, 427, 419, 423, 0, 21049 426, 424, 428, 429, 0, 430, 431, 432, 433, 0, 21050 0, 434, 435, 436, 0, 437, 438, 440, 439, 0, 21051 441, 442, 443, 0, 444, 445, 817, 446, 447, 448, 21052 450, 452, 449, 451, 453, 454, 455, 456, 457, 818, 21053 819, 458, 459, 0, 0, 0, 0, 0, 0, 0, 21054 460, 461, 1010, 820, 0, 0, 0, 463, 0, 465, 21055 469, 466, 467, 468, 470, 0, 464, 1016, 472, 1012, 21056 0, 473, 474, 475, 821, 822, 476, 477, 478, 479, 21057 480, 481, 482, 483, 484, 0, 485, 486, 823, 0, 21058 824, 487, 0, 488, 489, 490, 491, 492, 493, 494, 21059 825, 826, 827, 595, 0, 495, 496, 497, 1013, 498, 21060 499, 500, 501, 502, 503, 504, 0, 0, 0, 505, 21061 506, 507, 508, 0, 0, 0, 0, 0, 828, 509, 21062 596, 510, 829, 830, 0, 831, 0, 511, 512, 515, 21063 0, 832, 0, 514, 516, 517, 0, 518, 0, 0, 21064 0, 519, 520, 521, 522, 523, 524, 1011, 0, 526, 21065 528, 527, 0, 530, 833, 529, 0, 531, 532, 0, 21066 0, 533, 534, 535, 536, 537, 538, 541, 0, 0, 21067 539, 540, 542, 543, 0, 544, 545, 547, 550, 546, 21068 548, 549, 551, 552, 565, 566, 553, 554, 555, 556, 21069 557, 558, 559, 560, 561, 562, 563, 564, 568, 0, 21070 567, 0, 569, 570, 571, 1014, 573, 581, 583, 584, 21071 579, 580, 582, 585, 586, 588, 589, 576, 577, 578, 21072 0, 587, 574, 0, 575, 0, 0, 590, 591, 592, 21073 593, 0, 834, 594, 835, 597, 598, 0, 0, 599, 21074 0, 600, 0, 0, 602, 603, 604, 0, 0, 605, 21075 606, 836, 0, 607, 0, 837, 608, 609, 601, 610, 21076 611, 612, 613, 614, 615, 616, 617, 618, 619, 0, 21077 620, 621, 838, 622, 623, 624, 839, 625, 626, 627, 21078 840, 628, 841, 629, 630, 0, 1015, 632, 633, 0, 21079 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 21080 842, 644, 645, 647, 646, 648, 649, 0, 650, 0, 21081 651, 652, 653, 0, 0, 0, 0, 0, 654, 1009, 21082 657, 0, 658, 659, 660, 661, 662, 656, 663, 664, 21083 665, 666, 667, 668, 669, 0, 671, 672, 670, 673, 21084 674, 0, 675, 676, 677, 678, 679, 843, 680, 0, 21085 681, 682, 690, 691, 692, 683, 684, 686, 693, 685, 21086 694, 695, 696, 697, 699, 698, 0, 701, 702, 700, 21087 703, 704, 705, 706, 0, 707, 844, 708, 687, 688, 21088 709, 710, 711, 0, 712, 713, 714, 715, 716, 717, 21089 718, 719, 720, 845, 0, 721, 0, 722, 723, 724, 21090 725, 726, 727, 729, 689, 730, 731, 732, 737, 738, 21091 846, 733, 734, 735, 736, 847, 740, 741, 742, 743, 21092 0, 744, 745, 0, 739, 728, 0, 746, 747, 748, 21093 749, 750, 751, 752, 753, 754, 755, 0, 756, 848, 21094 849, 850, 851, 0, 768, 0, 757, 759, 760, 761, 21095 762, 852, 763, 853, 0, 764, 765, 766, 767, 758, 21096 769, 770, 0, 0, 771, 772, 773, 774, 776, 778, 21097 779, 780, 775, 777, 781, 0, 782, 0, 0, 783, 21098 784, 785, 854, 855, 856, 0, 787, 788, 786, 789, 21099 790, 793, 791, 792, 857, 796, 513, 797, 798, 799, 21100 794, 795, 337, 4953, 0, 0, 800, 801, 858, 802, 21101 803, 804, 0, 0, 0, 0, 0, 0, 0, 345, 21102 346, 348, 347, 349, 350, 351, 352, 0, 353, 354, 21103 0, 0, 0, 0, 0, 805, 0, 0, 0, 356, 21104 0, 355, 0, 357, 358, 359, 0, 360, 361, 362, 21105 363, 364, 365, 366, 367, 806, 807, 0, 368, 808, 21106 369, 809, 0, 810, 370, 371, 372, 373, 374, 375, 21107 376, 377, 378, 379, 0, 0, 0, 380, 811, 812, 21108 813, 0, 381, 382, 383, 384, 814, 0, 0, 0, 21109 385, 386, 387, 388, 389, 390, 391, 392, 0, 0, 21110 394, 395, 396, 393, 397, 398, 0, 399, 0, 400, 21111 401, 402, 403, 404, 405, 406, 0, 407, 408, 409, 21112 0, 410, 411, 412, 0, 0, 0, 0, 0, 0, 21113 0, 413, 414, 415, 416, 417, 0, 418, 420, 421, 21114 815, 422, 816, 0, 425, 427, 419, 423, 0, 426, 21115 424, 428, 429, 0, 430, 431, 432, 433, 0, 0, 21116 434, 435, 436, 0, 437, 438, 440, 439, 0, 441, 21117 442, 443, 0, 444, 445, 817, 446, 447, 448, 450, 21118 452, 449, 451, 453, 454, 455, 456, 457, 818, 819, 21119 458, 459, 0, 0, 0, 0, 0, 0, 0, 460, 21120 461, 462, 820, 0, 0, 0, 463, 0, 465, 469, 21121 466, 467, 468, 470, 0, 464, 471, 472, 0, 0, 21122 473, 474, 475, 821, 822, 476, 477, 478, 479, 480, 21123 481, 482, 483, 484, 0, 485, 486, 823, 0, 824, 21124 487, 0, 488, 489, 490, 491, 492, 493, 494, 825, 21125 826, 827, 595, 0, 495, 496, 497, 0, 498, 499, 21126 500, 501, 502, 503, 504, 0, 0, 0, 505, 506, 21127 507, 508, 0, 0, 0, 0, 0, 828, 509, 596, 21128 510, 829, 830, 0, 831, 0, 511, 512, 515, 0, 21129 832, 0, 514, 516, 517, 0, 518, 0, 0, 0, 21130 519, 520, 521, 522, 523, 524, 525, 0, 526, 528, 21131 527, 0, 530, 833, 529, 0, 531, 532, 0, 0, 21132 533, 534, 535, 536, 537, 538, 541, 0, 0, 539, 21133 540, 542, 543, 0, 544, 545, 547, 550, 546, 548, 21134 549, 551, 552, 565, 566, 553, 554, 555, 556, 557, 21135 558, 559, 560, 561, 562, 563, 564, 568, 0, 567, 21136 0, 569, 570, 571, 572, 573, 581, 583, 584, 579, 21137 580, 582, 585, 586, 588, 589, 576, 577, 578, 0, 21138 587, 574, 0, 575, 0, 0, 590, 591, 592, 593, 21139 0, 834, 594, 835, 597, 598, 0, 0, 599, 0, 21140 600, 0, 0, 602, 603, 604, 0, 0, 605, 606, 21141 836, 0, 607, 0, 837, 608, 609, 601, 610, 611, 21142 612, 613, 614, 615, 616, 617, 618, 619, 0, 620, 21143 621, 838, 622, 623, 624, 839, 625, 626, 627, 840, 21144 628, 841, 629, 630, 6351, 631, 632, 633, 0, 634, 21145 635, 636, 637, 638, 639, 640, 641, 642, 643, 842, 21146 644, 645, 647, 646, 648, 649, 0, 650, 0, 651, 21147 652, 653, 0, 0, 0, 0, 0, 654, 655, 657, 21148 0, 658, 659, 660, 661, 662, 656, 663, 664, 665, 21149 666, 667, 668, 669, 0, 671, 672, 670, 673, 674, 21150 0, 675, 676, 677, 678, 679, 843, 680, 0, 681, 21151 682, 690, 691, 692, 683, 684, 686, 693, 685, 694, 21152 695, 696, 697, 699, 698, 0, 701, 702, 700, 703, 21153 704, 705, 706, 0, 707, 844, 708, 687, 688, 709, 21154 710, 711, 0, 712, 713, 714, 715, 716, 717, 718, 21155 719, 720, 845, 0, 721, 0, 722, 723, 724, 725, 21156 726, 727, 729, 689, 730, 731, 732, 737, 738, 846, 21157 733, 734, 735, 736, 847, 740, 741, 742, 743, 0, 21158 744, 745, 0, 739, 728, 0, 746, 747, 748, 749, 21159 750, 751, 752, 753, 754, 755, 0, 756, 848, 849, 21160 850, 851, 0, 768, 0, 757, 759, 760, 761, 762, 21161 852, 763, 853, 0, 764, 765, 766, 767, 758, 769, 21162 770, 0, 0, 771, 772, 773, 774, 776, 778, 779, 21163 780, 775, 777, 781, 0, 782, 0, 0, 783, 784, 21164 785, 854, 855, 856, 0, 787, 788, 786, 789, 790, 21165 793, 791, 792, 857, 796, 513, 797, 798, 799, 794, 21166 795, 337, 0, 0, 0, 800, 801, 858, 802, 803, 21167 804, 0, 0, 0, 0, 0, 0, 0, 345, 346, 21168 348, 347, 349, 350, 351, 352, 0, 353, 354, 0, 21169 0, 0, 0, 0, 805, 0, 0, 0, 356, 0, 21170 355, 0, 357, 358, 359, 0, 360, 361, 362, 363, 21171 364, 365, 366, 367, 806, 807, 0, 368, 808, 369, 21172 809, 0, 810, 370, 371, 372, 373, 374, 375, 376, 21173 377, 378, 379, 0, 0, 0, 380, 811, 812, 813, 21174 0, 381, 382, 383, 384, 814, 0, 0, 0, 385, 21175 386, 387, 388, 389, 390, 391, 392, 0, 0, 394, 21176 395, 396, 393, 397, 398, 0, 399, 0, 400, 401, 21177 402, 403, 404, 405, 406, 0, 407, 408, 409, 0, 21178 410, 411, 412, 0, 0, 0, 0, 0, 0, 0, 21179 413, 414, 415, 416, 417, 0, 418, 420, 421, 815, 21180 422, 816, 0, 425, 427, 419, 423, 0, 426, 424, 21181 428, 429, 0, 430, 431, 432, 433, 0, 0, 434, 21182 435, 436, 0, 437, 438, 440, 439, 0, 441, 442, 21183 443, 0, 444, 445, 817, 446, 447, 448, 450, 452, 21184 449, 451, 453, 454, 455, 456, 457, 818, 819, 458, 21185 459, 0, 5085, 0, 0, 0, 0, 0, 460, 461, 21186 462, 820, 0, 0, 0, 463, 0, 465, 469, 466, 21187 467, 468, 470, 0, 464, 471, 472, 0, 0, 473, 21188 474, 475, 821, 822, 476, 477, 478, 479, 480, 481, 21189 482, 483, 484, 0, 485, 486, 823, 0, 824, 487, 21190 0, 488, 489, 490, 491, 492, 493, 494, 825, 826, 21191 827, 595, 0, 495, 496, 497, 0, 498, 499, 500, 21192 501, 502, 503, 504, 0, 0, 0, 505, 506, 507, 21193 508, 0, 0, 0, 0, 0, 828, 509, 596, 510, 21194 829, 830, 0, 831, 0, 511, 512, 515, 0, 832, 21195 0, 514, 516, 517, 0, 518, 0, 0, 0, 519, 21196 520, 521, 522, 523, 524, 525, 0, 526, 528, 527, 21197 0, 530, 833, 529, 0, 531, 532, 0, 0, 533, 21198 534, 535, 536, 537, 538, 541, 0, 0, 539, 540, 21199 542, 543, 0, 544, 545, 547, 550, 546, 548, 549, 21200 551, 552, 565, 566, 553, 554, 555, 556, 557, 558, 21201 559, 560, 561, 562, 563, 564, 568, 0, 567, 0, 21202 569, 570, 571, 572, 573, 581, 583, 584, 579, 580, 21203 582, 585, 586, 588, 589, 576, 577, 578, 0, 587, 21204 574, 0, 575, 0, 0, 590, 591, 592, 593, 0, 21205 834, 594, 835, 597, 598, 0, 0, 599, 0, 600, 21206 0, 0, 602, 603, 604, 0, 0, 605, 606, 836, 21207 0, 607, 0, 837, 608, 609, 601, 610, 611, 612, 21208 613, 614, 615, 616, 617, 618, 619, 0, 620, 621, 21209 838, 622, 623, 624, 839, 625, 626, 627, 840, 628, 21210 841, 629, 630, 5975, 631, 632, 633, 0, 634, 635, 21211 636, 637, 638, 639, 640, 641, 642, 643, 842, 644, 21212 645, 647, 646, 648, 649, 0, 650, 0, 651, 652, 21213 653, 0, 0, 0, 0, 0, 654, 655, 657, 0, 21214 658, 659, 660, 661, 662, 656, 663, 664, 665, 666, 21215 667, 668, 669, 0, 671, 672, 670, 673, 674, 0, 21216 675, 676, 677, 678, 679, 843, 680, 0, 681, 682, 21217 690, 691, 692, 683, 684, 686, 693, 685, 694, 695, 21218 696, 697, 699, 698, 0, 701, 702, 700, 703, 704, 21219 705, 706, 0, 707, 844, 708, 687, 688, 709, 710, 21220 711, 0, 712, 713, 714, 715, 716, 717, 718, 719, 21221 720, 845, 0, 721, 0, 722, 723, 724, 725, 726, 21222 727, 729, 689, 730, 731, 732, 737, 738, 846, 733, 21223 734, 735, 736, 847, 740, 741, 742, 743, 0, 744, 21224 745, 0, 739, 728, 0, 746, 747, 748, 749, 750, 21225 751, 752, 753, 754, 755, 0, 756, 848, 849, 850, 21226 851, 0, 768, 0, 757, 759, 760, 761, 762, 852, 21227 763, 853, 0, 764, 765, 766, 767, 758, 769, 770, 21228 0, 0, 771, 772, 773, 774, 776, 778, 779, 780, 21229 775, 777, 781, 0, 782, 0, 0, 783, 784, 785, 21230 854, 855, 856, 0, 787, 788, 786, 789, 790, 793, 21231 791, 792, 857, 796, 513, 797, 798, 799, 794, 795, 21232 337, 4953, 0, 0, 800, 801, 858, 802, 803, 804, 21233 0, 0, 0, 0, 0, 0, 0, 345, 346, 348, 21234 347, 349, 350, 351, 352, 0, 353, 354, 0, 0, 21235 0, 0, 0, 805, 0, 0, 0, 356, 0, 355, 21236 0, 357, 358, 359, 0, 360, 361, 362, 363, 364, 21237 365, 366, 367, 806, 807, 0, 368, 808, 369, 809, 21238 0, 810, 370, 371, 372, 373, 374, 375, 376, 377, 21239 378, 379, 0, 0, 0, 380, 811, 812, 813, 0, 21240 381, 382, 383, 384, 814, 0, 0, 0, 385, 386, 21241 387, 388, 389, 390, 391, 392, 0, 0, 394, 395, 21242 396, 393, 397, 398, 0, 399, 0, 400, 401, 402, 21243 403, 404, 405, 406, 0, 407, 408, 409, 0, 410, 21244 411, 412, 0, 0, 0, 0, 0, 0, 0, 413, 21245 414, 415, 416, 417, 0, 418, 420, 421, 815, 422, 21246 816, 0, 425, 427, 419, 423, 0, 426, 424, 428, 21247 429, 0, 430, 431, 432, 433, 0, 0, 434, 435, 21248 436, 0, 437, 438, 440, 439, 0, 441, 442, 443, 21249 0, 444, 445, 817, 446, 447, 448, 450, 452, 449, 21250 451, 453, 454, 455, 456, 457, 818, 819, 458, 459, 21251 0, 0, 0, 0, 0, 0, 0, 460, 461, 462, 21252 820, 0, 0, 0, 463, 0, 465, 469, 466, 467, 21253 468, 470, 0, 464, 471, 472, 0, 0, 473, 474, 21254 475, 821, 822, 476, 477, 478, 479, 480, 481, 482, 21255 483, 484, 0, 485, 486, 823, 0, 824, 487, 0, 21256 488, 489, 490, 491, 492, 493, 494, 825, 826, 827, 21257 595, 0, 495, 496, 497, 0, 498, 499, 500, 501, 21258 502, 503, 504, 0, 0, 0, 505, 506, 507, 508, 21259 0, 0, 0, 0, 0, 828, 509, 596, 510, 829, 21260 830, 0, 831, 0, 511, 512, 515, 0, 832, 0, 21261 514, 516, 517, 0, 518, 0, 0, 0, 519, 520, 21262 521, 522, 523, 524, 525, 0, 526, 528, 527, 0, 21263 530, 833, 529, 0, 531, 532, 0, 0, 533, 534, 21264 535, 536, 537, 538, 541, 0, 0, 539, 540, 542, 21265 543, 0, 544, 545, 547, 550, 546, 548, 549, 551, 21266 552, 565, 566, 553, 554, 555, 556, 557, 558, 559, 21267 560, 561, 562, 563, 564, 568, 0, 567, 0, 569, 21268 570, 571, 572, 573, 581, 583, 584, 579, 580, 582, 21269 585, 586, 588, 589, 576, 577, 578, 0, 587, 574, 21270 0, 575, 0, 0, 590, 591, 592, 593, 0, 834, 21271 594, 835, 597, 598, 0, 0, 599, 0, 600, 0, 21272 0, 602, 603, 604, 0, 0, 605, 606, 836, 0, 21273 607, 0, 837, 608, 609, 601, 610, 611, 612, 613, 21274 614, 615, 616, 617, 618, 619, 0, 620, 621, 838, 21275 622, 623, 624, 839, 625, 626, 627, 840, 628, 841, 21276 629, 630, 5828, 631, 632, 633, 0, 634, 635, 636, 21277 637, 638, 639, 640, 641, 642, 643, 842, 644, 645, 21278 647, 646, 648, 649, 0, 650, 0, 651, 652, 653, 21279 0, 0, 0, 0, 0, 654, 655, 657, 0, 658, 21280 659, 660, 661, 662, 656, 663, 664, 665, 666, 667, 21281 668, 669, 0, 671, 672, 670, 673, 674, 0, 675, 21282 676, 677, 678, 679, 843, 680, 0, 681, 682, 690, 21283 691, 692, 683, 684, 686, 693, 685, 694, 695, 696, 21284 697, 699, 698, 0, 701, 702, 700, 703, 704, 705, 21285 706, 0, 707, 844, 708, 687, 688, 709, 710, 711, 21286 0, 712, 713, 714, 715, 716, 717, 718, 719, 720, 21287 845, 0, 721, 0, 722, 723, 724, 725, 726, 727, 21288 729, 689, 730, 731, 732, 737, 738, 846, 733, 734, 21289 735, 736, 847, 740, 741, 742, 743, 0, 744, 745, 21290 0, 739, 728, 0, 746, 747, 748, 749, 750, 751, 21291 752, 753, 754, 755, 0, 756, 848, 849, 850, 851, 21292 0, 768, 0, 757, 759, 760, 761, 762, 852, 763, 21293 853, 0, 764, 765, 766, 767, 758, 769, 770, 0, 21294 0, 771, 772, 773, 774, 776, 778, 779, 780, 775, 21295 777, 781, 0, 782, 0, 0, 783, 784, 785, 854, 21296 855, 856, 0, 787, 788, 786, 789, 790, 793, 791, 21297 792, 857, 796, 513, 797, 798, 799, 794, 795, 1657, 21298 0, 337, 0, 800, 801, 858, 802, 803, 804, 0, 21299 0, 0, 0, 0, 0, 0, 0, 0, 345, 346, 21300 348, 347, 349, 350, 351, 352, 0, 353, 354, 0, 21301 0, 0, 0, 0, 805, 0, 0, 0, 356, 0, 21302 355, 0, 357, 358, 359, 1660, 360, 361, 362, 363, 21303 364, 365, 366, 367, 806, 807, 0, 368, 808, 369, 21304 809, 0, 810, 370, 371, 372, 373, 374, 375, 376, 21305 377, 378, 379, 0, 0, 0, 380, 811, 812, 1658, 21306 0, 381, 382, 383, 384, 814, 0, 0, 0, 385, 21307 386, 387, 388, 389, 390, 391, 392, 0, 0, 394, 21308 395, 396, 393, 397, 398, 0, 399, 0, 400, 401, 21309 402, 403, 404, 405, 406, 0, 407, 408, 409, 0, 21310 410, 411, 412, 0, 0, 0, 0, 0, 0, 0, 21311 413, 414, 415, 416, 417, 0, 418, 420, 421, 815, 21312 422, 816, 0, 425, 427, 419, 423, 0, 426, 424, 21313 428, 429, 0, 430, 431, 432, 433, 0, 0, 434, 21314 435, 436, 0, 437, 438, 440, 439, 0, 441, 442, 21315 443, 0, 444, 445, 817, 446, 447, 448, 450, 452, 21316 449, 451, 453, 454, 455, 456, 457, 818, 819, 458, 21317 459, 0, 0, 0, 0, 0, 0, 0, 460, 461, 21318 462, 820, 0, 0, 0, 463, 0, 465, 469, 466, 21319 467, 468, 470, 0, 464, 471, 472, 0, 0, 473, 21320 474, 475, 821, 822, 476, 477, 478, 479, 480, 481, 21321 482, 483, 484, 0, 485, 486, 823, 0, 824, 487, 21322 0, 488, 489, 490, 491, 492, 493, 494, 825, 826, 21323 827, 595, 0, 495, 496, 497, 0, 498, 499, 500, 21324 501, 502, 503, 504, 0, 0, 0, 505, 506, 507, 21325 508, 0, 0, 0, 0, 0, 828, 509, 596, 510, 21326 829, 830, 0, 831, 0, 511, 512, 515, 0, 832, 21327 0, 514, 516, 517, 0, 518, 0, 0, 0, 519, 21328 520, 521, 522, 523, 524, 525, 0, 526, 528, 527, 21329 0, 530, 833, 529, 0, 531, 532, 0, 0, 533, 21330 534, 535, 536, 537, 538, 541, 0, 0, 539, 540, 21331 542, 543, 0, 544, 545, 547, 550, 546, 548, 549, 21332 551, 552, 565, 566, 553, 554, 555, 556, 557, 558, 21333 559, 560, 561, 562, 563, 564, 568, 0, 990, 0, 21334 569, 570, 571, 572, 573, 581, 583, 584, 579, 580, 21335 582, 585, 586, 588, 589, 576, 577, 578, 0, 587, 21336 574, 0, 575, 0, 0, 590, 591, 592, 593, 0, 21337 834, 594, 835, 597, 598, 0, 0, 599, 0, 600, 21338 0, 0, 602, 603, 604, 0, 0, 605, 606, 836, 21339 0, 607, 0, 837, 608, 609, 601, 610, 611, 612, 21340 613, 614, 615, 616, 617, 618, 619, 0, 620, 621, 21341 838, 622, 623, 624, 839, 625, 626, 627, 840, 628, 21342 841, 629, 630, 0, 631, 632, 633, 0, 634, 635, 21343 636, 637, 638, 639, 640, 641, 642, 643, 842, 644, 21344 645, 647, 646, 648, 649, 0, 650, 0, 651, 652, 21345 653, 0, 0, 0, 0, 0, 654, 655, 657, 0, 21346 658, 659, 660, 661, 662, 656, 663, 664, 665, 666, 21347 667, 668, 669, 0, 671, 672, 670, 673, 674, 0, 21348 989, 676, 677, 678, 679, 843, 680, 0, 681, 682, 21349 690, 691, 692, 683, 684, 686, 988, 685, 694, 695, 21350 696, 697, 699, 698, 0, 701, 702, 700, 703, 704, 21351 1661, 706, 0, 707, 844, 708, 687, 688, 709, 710, 21352 711, 0, 712, 713, 714, 715, 716, 717, 718, 719, 21353 720, 845, 0, 721, 0, 722, 723, 724, 725, 726, 21354 727, 729, 689, 730, 731, 732, 737, 738, 846, 733, 21355 734, 735, 736, 847, 740, 741, 742, 743, 0, 744, 21356 745, 0, 739, 728, 0, 746, 747, 748, 749, 750, 21357 751, 752, 753, 754, 755, 0, 756, 986, 849, 850, 21358 851, 0, 768, 0, 757, 759, 760, 761, 762, 852, 21359 763, 853, 0, 764, 765, 766, 767, 758, 769, 770, 21360 0, 0, 771, 772, 773, 774, 776, 778, 779, 780, 21361 775, 777, 781, 0, 782, 0, 0, 783, 784, 785, 21362 854, 855, 856, 0, 787, 788, 786, 789, 790, 793, 21363 791, 792, 857, 796, 513, 797, 798, 799, 794, 795, 21364 1657, 0, 337, 0, 800, 801, 858, 802, 803, 804, 21365 0, 0, 0, 0, 0, 0, 0, 0, 0, 345, 21366 346, 348, 347, 349, 350, 351, 352, 0, 353, 354, 21367 0, 0, 0, 0, 0, 805, 0, 0, 0, 356, 21368 0, 355, 0, 357, 358, 359, 1660, 360, 361, 362, 21369 363, 364, 365, 366, 367, 806, 807, 0, 368, 808, 21370 369, 809, 0, 810, 370, 371, 372, 373, 374, 375, 21371 376, 377, 378, 379, 0, 0, 0, 380, 811, 812, 21372 1658, 0, 381, 382, 383, 384, 814, 0, 0, 0, 21373 385, 386, 387, 388, 389, 390, 391, 392, 0, 0, 21374 394, 395, 396, 393, 397, 398, 0, 399, 0, 400, 21375 401, 402, 403, 404, 405, 406, 0, 407, 408, 409, 21376 0, 410, 411, 412, 0, 0, 0, 0, 0, 0, 21377 0, 413, 414, 415, 416, 417, 0, 418, 420, 421, 21378 815, 422, 816, 0, 425, 427, 419, 423, 0, 426, 21379 424, 428, 429, 0, 430, 431, 432, 433, 0, 0, 21380 434, 435, 436, 0, 437, 438, 440, 439, 0, 441, 21381 442, 443, 0, 444, 445, 817, 446, 447, 448, 450, 21382 452, 449, 451, 453, 454, 455, 456, 457, 818, 819, 21383 458, 459, 0, 0, 0, 0, 0, 0, 0, 460, 21384 461, 462, 820, 0, 0, 0, 463, 0, 465, 469, 21385 466, 467, 468, 470, 0, 464, 471, 472, 0, 0, 21386 473, 474, 475, 821, 822, 476, 477, 478, 479, 480, 21387 481, 482, 483, 484, 0, 485, 486, 823, 0, 824, 21388 487, 0, 488, 489, 490, 491, 492, 493, 494, 825, 21389 826, 827, 595, 0, 495, 496, 497, 0, 498, 499, 21390 500, 501, 502, 503, 504, 0, 0, 0, 505, 506, 21391 507, 508, 0, 0, 0, 0, 0, 828, 509, 596, 21392 510, 829, 830, 0, 831, 0, 511, 512, 515, 0, 21393 832, 0, 514, 516, 517, 0, 518, 0, 0, 0, 21394 519, 520, 521, 522, 523, 524, 525, 0, 526, 528, 21395 527, 0, 530, 833, 529, 0, 531, 532, 0, 0, 21396 533, 534, 535, 536, 537, 538, 541, 0, 0, 539, 21397 540, 542, 543, 0, 544, 545, 547, 550, 546, 548, 21398 549, 551, 552, 565, 566, 553, 554, 555, 556, 557, 21399 558, 559, 560, 561, 562, 563, 564, 568, 0, 990, 21400 0, 569, 570, 571, 572, 573, 581, 583, 584, 579, 21401 580, 582, 585, 586, 588, 589, 576, 577, 578, 0, 21402 587, 574, 0, 575, 0, 0, 590, 591, 592, 593, 21403 0, 834, 594, 835, 597, 598, 0, 0, 599, 0, 21404 600, 0, 0, 602, 603, 604, 0, 0, 605, 606, 21405 836, 0, 607, 0, 837, 608, 609, 601, 610, 611, 21406 612, 613, 614, 615, 616, 617, 618, 619, 0, 620, 21407 621, 838, 622, 623, 624, 839, 625, 626, 627, 840, 21408 628, 841, 629, 630, 0, 631, 632, 633, 0, 634, 21409 635, 636, 637, 638, 639, 640, 641, 642, 643, 842, 21410 644, 645, 647, 646, 648, 649, 0, 650, 0, 651, 21411 652, 653, 0, 0, 0, 0, 0, 654, 655, 657, 21412 0, 658, 659, 660, 661, 662, 656, 663, 664, 665, 21413 666, 667, 668, 669, 0, 671, 672, 670, 673, 674, 21414 0, 989, 676, 677, 678, 679, 843, 680, 0, 681, 21415 682, 690, 691, 692, 683, 684, 686, 988, 685, 694, 21416 695, 696, 697, 699, 698, 0, 701, 702, 700, 703, 21417 704, 1661, 706, 0, 707, 844, 708, 687, 688, 709, 21418 710, 711, 0, 712, 713, 714, 715, 716, 717, 718, 21419 719, 720, 845, 0, 721, 0, 722, 723, 724, 725, 21420 726, 727, 729, 689, 730, 731, 732, 737, 738, 846, 21421 733, 734, 735, 736, 847, 740, 741, 742, 743, 0, 21422 744, 745, 0, 739, 728, 0, 746, 747, 748, 749, 21423 750, 751, 752, 753, 754, 755, 0, 756, 986, 849, 21424 850, 851, 0, 768, 0, 757, 1659, 760, 761, 762, 21425 852, 763, 853, 0, 764, 765, 766, 767, 758, 769, 21426 770, 0, 0, 771, 772, 773, 774, 776, 778, 779, 21427 780, 775, 777, 781, 0, 782, 0, 0, 783, 784, 21428 785, 854, 855, 856, 0, 787, 788, 786, 789, 790, 21429 793, 791, 792, 857, 796, 513, 797, 798, 799, 794, 21430 795, 997, 0, 337, 0, 800, 801, 858, 802, 803, 21431 804, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21432 345, 346, 348, 347, 349, 350, 351, 352, 995, 353, 21433 354, 0, 0, 0, 0, 0, 805, 0, 0, 0, 21434 356, 0, 355, 0, 357, 358, 359, 0, 360, 361, 21435 362, 363, 364, 365, 366, 367, 806, 807, 0, 368, 21436 808, 369, 809, 0, 810, 370, 371, 372, 373, 374, 21437 375, 376, 377, 378, 379, 0, 0, 0, 380, 811, 21438 812, 813, 0, 381, 382, 383, 384, 814, 0, 0, 21439 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 21440 0, 394, 395, 396, 393, 397, 398, 0, 399, 0, 21441 400, 401, 402, 403, 404, 405, 406, 0, 407, 408, 21442 409, 0, 410, 411, 412, 0, 0, 0, 0, 0, 21443 0, 0, 413, 414, 415, 416, 417, 0, 418, 420, 21444 421, 815, 422, 816, 0, 425, 427, 419, 423, 0, 21445 426, 424, 428, 429, 0, 430, 431, 432, 433, 0, 21446 0, 434, 435, 436, 0, 437, 438, 440, 439, 0, 21447 441, 442, 443, 0, 444, 445, 817, 446, 447, 448, 21448 450, 452, 449, 451, 453, 454, 455, 456, 457, 818, 21449 819, 458, 459, 0, 0, 0, 0, 0, 0, 0, 21450 460, 461, 462, 820, 0, 0, 0, 463, 0, 465, 21451 469, 466, 467, 468, 470, 0, 464, 471, 472, 0, 21452 0, 473, 474, 475, 821, 822, 476, 477, 478, 479, 21453 480, 481, 482, 483, 484, 0, 485, 486, 823, 0, 21454 824, 487, 0, 488, 489, 490, 491, 492, 493, 494, 21455 825, 826, 827, 595, 0, 495, 496, 497, 0, 498, 21456 499, 500, 501, 502, 503, 504, 0, 0, 0, 505, 21457 506, 507, 508, 0, 0, 0, 0, 0, 828, 509, 21458 596, 510, 829, 830, 0, 831, 0, 511, 512, 515, 21459 0, 832, 0, 514, 516, 517, 0, 518, 0, 0, 21460 0, 519, 520, 521, 522, 523, 524, 525, 0, 526, 21461 528, 527, 0, 530, 833, 529, 0, 531, 532, 0, 21462 0, 533, 534, 535, 536, 537, 538, 541, 0, 0, 21463 539, 540, 542, 543, 0, 544, 545, 547, 550, 546, 21464 548, 549, 551, 552, 565, 566, 553, 554, 555, 556, 21465 557, 558, 559, 560, 561, 562, 563, 564, 568, 0, 21466 567, 0, 569, 570, 571, 572, 573, 581, 583, 584, 21467 579, 580, 582, 585, 586, 588, 589, 576, 577, 578, 21468 0, 587, 574, 0, 575, 0, 0, 590, 591, 592, 21469 593, 0, 834, 594, 835, 597, 598, 0, 0, 599, 21470 0, 600, 0, 0, 602, 603, 604, 0, 0, 605, 21471 606, 836, 0, 607, 0, 837, 608, 609, 601, 610, 21472 611, 612, 613, 614, 615, 616, 617, 618, 619, 0, 21473 620, 621, 838, 622, 623, 624, 839, 625, 626, 627, 21474 840, 628, 841, 629, 630, 0, 631, 632, 633, 0, 21475 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 21476 842, 644, 645, 647, 646, 648, 649, 0, 650, 0, 21477 651, 652, 653, 0, 0, 0, 0, 0, 654, 655, 21478 657, 0, 658, 659, 660, 661, 662, 656, 663, 664, 21479 665, 666, 667, 668, 669, 0, 671, 672, 670, 673, 21480 674, 0, 675, 676, 677, 678, 679, 843, 680, 0, 21481 681, 682, 690, 691, 692, 683, 684, 686, 693, 685, 21482 694, 695, 696, 697, 699, 698, 0, 701, 702, 700, 21483 703, 704, 705, 706, 0, 707, 844, 708, 687, 688, 21484 709, 710, 711, 0, 712, 713, 714, 715, 716, 717, 21485 718, 719, 720, 845, 0, 721, 0, 722, 723, 724, 21486 725, 726, 727, 729, 689, 730, 731, 732, 737, 738, 21487 846, 733, 734, 735, 736, 847, 740, 741, 742, 743, 21488 0, 744, 745, 0, 739, 728, 0, 746, 747, 748, 21489 749, 750, 751, 752, 753, 754, 755, 0, 756, 848, 21490 849, 850, 851, 0, 768, 0, 757, 759, 760, 761, 21491 762, 852, 763, 853, 0, 764, 765, 766, 767, 758, 21492 769, 770, 0, 0, 771, 772, 773, 774, 776, 778, 21493 779, 780, 775, 777, 781, 0, 782, 0, 0, 783, 21494 784, 785, 854, 855, 856, 0, 787, 788, 786, 789, 21495 790, 793, 791, 792, 857, 796, 513, 797, 798, 799, 21496 794, 795, 901, 0, 337, 0, 800, 801, 858, 802, 21497 803, 804, 0, 0, 0, 0, 0, 0, 0, 0, 21498 0, 345, 346, 348, 347, 349, 350, 351, 352, 900, 21499 353, 354, 0, 0, 0, 0, 0, 805, 0, 0, 21500 0, 356, 0, 355, 0, 357, 358, 359, 0, 360, 21501 361, 362, 363, 364, 365, 366, 367, 806, 807, 0, 21502 368, 808, 369, 809, 0, 810, 370, 371, 372, 373, 21503 374, 375, 376, 377, 378, 379, 0, 0, 0, 380, 21504 811, 812, 813, 0, 381, 382, 383, 384, 814, 0, 21505 0, 0, 385, 386, 387, 388, 389, 390, 391, 392, 21506 0, 0, 394, 395, 396, 393, 397, 398, 0, 399, 21507 0, 400, 401, 402, 403, 404, 405, 406, 0, 407, 21508 408, 409, 0, 410, 411, 412, 0, 0, 0, 0, 21509 0, 0, 0, 413, 414, 415, 416, 417, 0, 418, 21510 420, 421, 815, 422, 816, 0, 425, 427, 419, 423, 21511 0, 426, 424, 428, 429, 0, 430, 431, 432, 433, 21512 0, 0, 434, 435, 436, 0, 437, 438, 440, 439, 21513 0, 441, 442, 443, 0, 444, 445, 817, 446, 447, 21514 448, 450, 452, 449, 451, 453, 454, 455, 456, 457, 21515 818, 819, 458, 459, 0, 0, 0, 0, 0, 0, 21516 0, 460, 461, 462, 820, 0, 0, 0, 463, 0, 21517 465, 469, 466, 467, 468, 470, 0, 464, 471, 472, 21518 0, 0, 473, 474, 475, 821, 822, 476, 477, 478, 21519 479, 480, 481, 482, 483, 484, 0, 485, 486, 823, 21520 0, 824, 487, 0, 488, 489, 490, 491, 492, 493, 21521 494, 825, 826, 827, 595, 0, 495, 496, 497, 0, 21522 498, 499, 500, 501, 502, 503, 504, 0, 0, 0, 21523 505, 506, 507, 508, 0, 0, 0, 0, 0, 828, 21524 509, 596, 510, 829, 830, 0, 831, 0, 511, 512, 21525 515, 0, 832, 0, 514, 516, 517, 0, 518, 0, 21526 0, 0, 519, 520, 521, 522, 523, 524, 525, 0, 21527 526, 528, 527, 0, 530, 833, 529, 0, 531, 532, 21528 0, 0, 533, 534, 535, 536, 537, 538, 541, 0, 21529 0, 539, 540, 542, 543, 0, 544, 545, 547, 550, 21530 546, 548, 549, 551, 552, 565, 566, 553, 554, 555, 21531 556, 557, 558, 559, 560, 561, 562, 563, 564, 568, 21532 0, 567, 0, 569, 570, 571, 572, 573, 581, 583, 21533 584, 579, 580, 582, 585, 586, 588, 589, 576, 577, 21534 578, 0, 587, 574, 0, 575, 0, 0, 590, 591, 21535 592, 593, 0, 834, 594, 835, 597, 598, 0, 0, 21536 599, 0, 600, 0, 0, 602, 603, 604, 0, 0, 21537 605, 606, 836, 0, 607, 0, 837, 608, 609, 601, 21538 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 21539 0, 620, 621, 838, 622, 623, 624, 839, 625, 626, 21540 627, 840, 628, 841, 899, 630, 0, 631, 632, 633, 21541 0, 634, 635, 636, 637, 638, 639, 640, 641, 642, 21542 643, 842, 644, 645, 647, 646, 648, 649, 0, 650, 21543 0, 651, 652, 653, 0, 0, 0, 0, 0, 654, 21544 655, 657, 0, 658, 659, 660, 661, 662, 656, 663, 21545 664, 665, 666, 667, 668, 669, 0, 671, 672, 670, 21546 673, 674, 0, 675, 676, 677, 678, 679, 843, 680, 21547 0, 681, 682, 690, 691, 692, 683, 684, 686, 693, 21548 685, 694, 695, 696, 697, 699, 698, 0, 701, 702, 21549 700, 703, 704, 705, 706, 0, 707, 844, 708, 687, 21550 688, 709, 710, 711, 0, 712, 713, 714, 715, 716, 21551 717, 718, 719, 720, 845, 0, 721, 0, 722, 723, 21552 724, 725, 726, 727, 729, 689, 730, 731, 732, 737, 21553 738, 846, 733, 734, 735, 736, 847, 740, 741, 742, 21554 743, 0, 744, 745, 0, 739, 728, 0, 746, 747, 21555 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 21556 848, 849, 850, 851, 0, 768, 0, 757, 759, 760, 21557 761, 762, 852, 763, 853, 0, 764, 765, 766, 767, 21558 758, 769, 770, 0, 0, 771, 772, 773, 774, 776, 21559 778, 779, 780, 775, 777, 781, 0, 782, 0, 0, 21560 783, 784, 785, 854, 855, 856, 0, 787, 788, 786, 21561 789, 790, 793, 791, 792, 857, 796, 513, 797, 798, 21562 799, 794, 795, 337, 4953, 0, 0, 800, 801, 858, 21563 802, 803, 804, 0, 0, 0, 0, 0, 0, 0, 21564 345, 346, 348, 347, 349, 350, 351, 352, 0, 353, 21565 354, 0, 0, 0, 0, 0, 805, 0, 0, 0, 21566 356, 0, 355, 0, 357, 358, 359, 0, 360, 361, 21567 362, 363, 364, 365, 366, 367, 806, 807, 0, 368, 21568 808, 369, 809, 0, 810, 370, 371, 372, 373, 374, 21569 375, 376, 377, 378, 379, 0, 0, 0, 380, 811, 21570 812, 813, 0, 381, 382, 383, 384, 814, 0, 0, 21571 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 21572 0, 394, 395, 396, 393, 397, 398, 0, 399, 0, 21573 400, 401, 402, 403, 404, 405, 406, 0, 407, 408, 21574 409, 0, 410, 411, 412, 0, 0, 0, 0, 0, 21575 0, 0, 413, 414, 415, 416, 417, 0, 418, 420, 21576 421, 815, 422, 816, 0, 425, 427, 419, 423, 0, 21577 426, 424, 428, 429, 0, 430, 431, 432, 433, 0, 21578 0, 434, 435, 436, 0, 437, 438, 440, 439, 0, 21579 441, 442, 443, 0, 444, 445, 817, 446, 447, 448, 21580 450, 452, 449, 451, 453, 454, 455, 456, 457, 818, 21581 819, 458, 459, 0, 0, 0, 0, 0, 0, 0, 21582 460, 461, 462, 820, 0, 0, 0, 463, 0, 465, 21583 469, 466, 467, 468, 470, 0, 464, 471, 472, 0, 21584 0, 473, 474, 475, 821, 822, 476, 477, 478, 479, 21585 480, 481, 482, 483, 484, 0, 485, 486, 823, 0, 21586 824, 487, 0, 488, 489, 490, 491, 492, 493, 494, 21587 825, 826, 827, 595, 0, 495, 496, 497, 0, 498, 21588 499, 500, 501, 502, 503, 504, 0, 0, 0, 505, 21589 506, 507, 508, 0, 0, 0, 0, 0, 828, 509, 21590 596, 510, 829, 830, 0, 831, 0, 511, 512, 515, 21591 0, 832, 0, 514, 516, 517, 0, 518, 0, 0, 21592 0, 519, 520, 521, 522, 523, 524, 525, 0, 526, 21593 528, 527, 0, 530, 833, 529, 0, 531, 532, 0, 21594 0, 533, 534, 535, 536, 537, 538, 541, 0, 0, 21595 539, 540, 542, 543, 0, 544, 545, 547, 550, 546, 21596 548, 549, 551, 552, 565, 566, 553, 554, 555, 556, 21597 557, 558, 559, 560, 561, 562, 563, 564, 568, 0, 21598 567, 0, 569, 570, 571, 572, 573, 581, 583, 584, 21599 579, 580, 582, 585, 586, 588, 589, 576, 577, 578, 21600 0, 587, 574, 0, 575, 0, 0, 590, 591, 592, 21601 593, 0, 834, 594, 835, 597, 598, 0, 0, 599, 21602 0, 600, 0, 0, 602, 603, 604, 0, 0, 605, 21603 606, 836, 0, 607, 0, 837, 608, 609, 601, 610, 21604 611, 612, 613, 614, 615, 616, 617, 618, 619, 0, 21605 620, 621, 838, 622, 623, 624, 839, 625, 626, 627, 21606 840, 628, 841, 629, 630, 0, 631, 632, 633, 0, 21607 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 21608 842, 644, 645, 647, 646, 648, 649, 0, 650, 0, 21609 651, 652, 653, 0, 0, 0, 0, 0, 654, 655, 21610 657, 0, 658, 659, 660, 661, 662, 656, 663, 664, 21611 665, 666, 667, 668, 669, 0, 671, 672, 670, 673, 21612 674, 0, 675, 676, 677, 678, 679, 843, 680, 0, 21613 681, 682, 690, 691, 692, 683, 684, 686, 693, 685, 21614 694, 695, 696, 697, 699, 698, 0, 701, 702, 700, 21615 703, 704, 705, 706, 0, 707, 844, 708, 687, 688, 21616 709, 710, 711, 0, 712, 713, 714, 715, 716, 717, 21617 718, 719, 720, 845, 0, 721, 0, 722, 723, 724, 21618 725, 726, 727, 729, 689, 730, 731, 732, 737, 738, 21619 846, 733, 734, 735, 736, 847, 740, 741, 742, 743, 21620 0, 744, 745, 0, 739, 728, 0, 746, 747, 748, 21621 749, 750, 751, 752, 753, 754, 755, 0, 756, 848, 21622 849, 850, 851, 0, 768, 0, 757, 759, 760, 761, 21623 762, 852, 763, 853, 0, 764, 765, 766, 767, 758, 21624 769, 770, 0, 0, 771, 772, 773, 774, 776, 778, 21625 779, 780, 775, 777, 781, 0, 782, 0, 0, 783, 21626 784, 785, 854, 855, 856, 0, 787, 788, 786, 789, 21627 790, 793, 791, 792, 857, 796, 513, 797, 798, 799, 21628 794, 795, 337, 4327, 0, 0, 800, 801, 858, 802, 21629 803, 804, 0, 0, 0, 0, 0, 0, 0, 345, 21630 346, 348, 347, 349, 350, 351, 352, 0, 353, 354, 21631 0, 0, 0, 0, 0, 805, 0, 0, 0, 356, 21632 0, 355, 0, 357, 358, 359, 0, 360, 361, 362, 21633 363, 364, 365, 366, 367, 806, 807, 0, 368, 808, 21634 369, 809, 0, 810, 370, 371, 372, 373, 374, 375, 21635 376, 377, 378, 379, 0, 0, 0, 380, 811, 812, 21636 813, 0, 381, 382, 383, 384, 814, 0, 0, 0, 21637 385, 386, 387, 388, 389, 390, 391, 392, 0, 0, 21638 394, 395, 396, 393, 397, 398, 0, 399, 0, 400, 21639 401, 402, 403, 404, 405, 406, 0, 407, 408, 409, 21640 0, 410, 411, 412, 0, 0, 0, 0, 0, 0, 21641 0, 413, 414, 415, 416, 417, 0, 418, 420, 421, 21642 815, 422, 816, 0, 425, 427, 419, 423, 0, 426, 21643 424, 428, 429, 0, 430, 431, 432, 433, 0, 0, 21644 434, 435, 436, 0, 437, 438, 440, 439, 0, 441, 21645 442, 443, 0, 444, 445, 817, 446, 447, 448, 450, 21646 452, 449, 451, 453, 454, 455, 456, 457, 818, 819, 21647 458, 459, 0, 0, 0, 0, 0, 0, 0, 460, 21648 461, 462, 820, 0, 0, 0, 463, 0, 465, 469, 21649 466, 467, 468, 470, 0, 464, 471, 472, 0, 0, 21650 473, 474, 475, 821, 822, 476, 477, 478, 479, 480, 21651 481, 482, 483, 484, 0, 485, 486, 823, 0, 824, 21652 487, 0, 488, 489, 490, 491, 492, 493, 494, 825, 21653 826, 827, 595, 0, 495, 496, 497, 0, 498, 499, 21654 500, 501, 502, 503, 504, 0, 0, 0, 505, 506, 21655 507, 508, 0, 0, 0, 0, 0, 828, 509, 596, 21656 510, 829, 830, 0, 831, 0, 511, 512, 515, 0, 21657 832, 0, 514, 516, 517, 0, 518, 0, 0, 0, 21658 519, 520, 521, 522, 523, 524, 525, 0, 526, 528, 21659 527, 0, 530, 833, 529, 0, 531, 532, 0, 0, 21660 533, 534, 535, 536, 537, 538, 541, 0, 0, 539, 21661 540, 542, 543, 0, 544, 545, 547, 550, 546, 548, 21662 549, 551, 552, 565, 566, 553, 554, 555, 556, 557, 21663 558, 559, 560, 561, 562, 563, 564, 568, 0, 567, 21664 0, 569, 570, 571, 572, 573, 581, 583, 584, 579, 21665 580, 582, 585, 586, 588, 589, 576, 577, 578, 0, 21666 587, 574, 0, 575, 0, 0, 590, 591, 592, 593, 21667 0, 834, 594, 835, 597, 598, 0, 0, 599, 0, 21668 600, 0, 0, 602, 603, 604, 0, 0, 605, 606, 21669 836, 0, 607, 0, 837, 608, 609, 601, 610, 611, 21670 612, 613, 614, 615, 616, 617, 618, 619, 0, 620, 21671 621, 838, 622, 623, 624, 839, 625, 626, 627, 840, 21672 628, 841, 629, 630, 0, 631, 632, 633, 0, 634, 21673 635, 636, 637, 638, 639, 640, 641, 642, 643, 842, 21674 644, 645, 647, 646, 648, 649, 0, 650, 0, 651, 21675 652, 653, 0, 0, 0, 0, 0, 654, 655, 657, 21676 0, 658, 659, 660, 661, 662, 656, 663, 664, 665, 21677 666, 667, 668, 669, 0, 671, 672, 670, 673, 674, 21678 0, 675, 676, 677, 678, 679, 843, 680, 0, 681, 21679 682, 690, 691, 692, 683, 684, 686, 693, 685, 694, 21680 695, 696, 697, 699, 698, 0, 701, 702, 700, 703, 21681 704, 705, 706, 0, 707, 844, 708, 687, 688, 709, 21682 710, 711, 0, 712, 713, 714, 715, 716, 717, 718, 21683 719, 720, 845, 0, 721, 0, 722, 723, 724, 725, 21684 726, 727, 729, 689, 730, 731, 732, 737, 738, 846, 21685 733, 734, 735, 736, 847, 740, 741, 742, 743, 0, 21686 744, 745, 0, 739, 728, 0, 746, 747, 748, 749, 21687 750, 751, 752, 753, 754, 755, 0, 756, 848, 849, 21688 850, 851, 0, 768, 0, 757, 759, 760, 761, 762, 21689 852, 763, 853, 0, 764, 765, 766, 767, 758, 769, 21690 770, 0, 0, 771, 772, 773, 774, 776, 778, 779, 21691 780, 775, 777, 781, 0, 782, 0, 0, 783, 784, 21692 785, 854, 855, 856, 0, 787, 788, 786, 789, 790, 21693 793, 791, 792, 857, 796, 513, 797, 798, 799, 794, 21694 795, 337, 4866, 0, 0, 800, 801, 858, 802, 803, 21695 804, 0, 0, 0, 0, 0, 0, 0, 345, 346, 21696 348, 347, 349, 350, 351, 352, 0, 353, 354, 0, 21697 0, 0, 0, 0, 805, 0, 0, 0, 356, 0, 21698 355, 0, 357, 358, 359, 0, 360, 361, 362, 363, 21699 364, 365, 366, 367, 806, 807, 0, 368, 808, 369, 21700 809, 0, 810, 370, 371, 372, 373, 374, 375, 376, 21701 377, 378, 379, 0, 0, 0, 380, 811, 812, 813, 21702 0, 381, 382, 383, 384, 814, 0, 0, 0, 385, 21703 386, 387, 388, 389, 390, 391, 392, 0, 0, 394, 21704 395, 396, 393, 397, 398, 0, 399, 0, 400, 401, 21705 402, 403, 404, 405, 406, 0, 407, 408, 409, 0, 21706 410, 411, 412, 0, 0, 0, 0, 0, 0, 0, 21707 413, 414, 415, 416, 417, 0, 418, 420, 421, 815, 21708 422, 816, 0, 425, 427, 419, 423, 0, 426, 424, 21709 428, 429, 0, 430, 431, 432, 433, 0, 0, 434, 21710 435, 436, 0, 437, 438, 440, 439, 0, 441, 442, 21711 443, 0, 444, 445, 817, 446, 447, 448, 450, 452, 21712 449, 451, 453, 454, 455, 456, 457, 818, 819, 458, 21713 459, 0, 0, 0, 0, 0, 0, 0, 460, 461, 21714 462, 820, 0, 0, 0, 463, 0, 465, 469, 466, 21715 467, 468, 470, 0, 464, 471, 472, 0, 0, 473, 21716 474, 475, 821, 822, 476, 477, 478, 479, 480, 481, 21717 482, 483, 484, 0, 485, 486, 823, 0, 824, 487, 21718 0, 488, 489, 490, 491, 492, 493, 494, 825, 826, 21719 827, 595, 0, 495, 496, 497, 0, 498, 499, 500, 21720 501, 502, 503, 504, 0, 0, 0, 505, 506, 507, 21721 508, 0, 0, 0, 0, 0, 828, 509, 596, 510, 21722 829, 830, 0, 831, 0, 511, 512, 515, 0, 832, 21723 0, 514, 516, 517, 0, 518, 0, 0, 0, 519, 21724 520, 521, 522, 523, 524, 525, 0, 526, 528, 527, 21725 0, 530, 833, 529, 0, 531, 532, 0, 0, 533, 21726 534, 535, 536, 537, 538, 541, 0, 0, 539, 540, 21727 542, 543, 0, 544, 545, 547, 550, 546, 548, 549, 21728 551, 552, 565, 566, 553, 554, 555, 556, 557, 558, 21729 559, 560, 561, 562, 563, 564, 568, 0, 567, 0, 21730 569, 570, 571, 572, 573, 581, 583, 584, 579, 580, 21731 582, 585, 586, 588, 589, 576, 577, 578, 0, 587, 21732 574, 0, 575, 0, 0, 590, 591, 592, 593, 0, 21733 834, 594, 835, 597, 598, 0, 0, 599, 0, 600, 21734 0, 0, 602, 603, 604, 0, 0, 605, 606, 836, 21735 0, 607, 0, 837, 608, 609, 601, 610, 611, 612, 21736 613, 614, 615, 616, 617, 618, 619, 0, 620, 621, 21737 838, 622, 623, 624, 839, 625, 626, 627, 840, 628, 21738 841, 629, 630, 0, 631, 632, 633, 0, 634, 635, 21739 636, 637, 638, 639, 640, 641, 642, 643, 842, 644, 21740 645, 647, 646, 648, 649, 0, 650, 0, 651, 652, 21741 653, 0, 0, 0, 0, 0, 654, 655, 657, 0, 21742 658, 659, 660, 661, 662, 656, 663, 664, 665, 666, 21743 667, 668, 669, 0, 671, 672, 670, 673, 674, 0, 21744 675, 676, 677, 678, 679, 843, 680, 0, 681, 682, 21745 690, 691, 692, 683, 684, 686, 693, 685, 694, 695, 21746 696, 697, 699, 698, 0, 701, 702, 700, 703, 704, 21747 705, 706, 0, 707, 844, 708, 687, 688, 709, 710, 21748 711, 0, 712, 713, 714, 715, 716, 717, 718, 719, 21749 720, 845, 0, 721, 0, 722, 723, 724, 725, 726, 21750 727, 729, 689, 730, 731, 732, 737, 738, 846, 733, 21751 734, 735, 736, 847, 740, 741, 742, 743, 0, 744, 21752 745, 0, 739, 728, 0, 746, 747, 748, 749, 750, 21753 751, 752, 753, 754, 755, 0, 756, 848, 849, 850, 21754 851, 0, 768, 0, 757, 759, 760, 761, 762, 852, 21755 763, 853, 0, 764, 765, 766, 767, 758, 769, 770, 21756 0, 0, 771, 772, 773, 774, 776, 778, 779, 780, 21757 775, 777, 781, 0, 782, 0, 0, 783, 784, 785, 21758 854, 855, 856, 0, 787, 788, 786, 789, 790, 793, 21759 791, 792, 857, 796, 513, 797, 798, 799, 794, 795, 21760 337, 0, 0, 0, 800, 801, 858, 802, 803, 804, 21761 0, 0, 0, 0, 0, 0, 0, 345, 346, 348, 21762 347, 349, 350, 351, 352, 0, 353, 354, 0, 0, 21763 0, 0, 0, 805, 0, 0, 0, 356, 0, 355, 21764 0, 357, 358, 359, 0, 360, 361, 362, 363, 364, 21765 365, 366, 367, 806, 807, 0, 368, 808, 369, 809, 21766 0, 810, 370, 371, 372, 373, 374, 375, 376, 377, 21767 378, 379, 0, 0, 0, 380, 811, 812, 813, 0, 21768 381, 382, 383, 384, 814, 0, 0, 0, 385, 386, 21769 387, 388, 389, 390, 391, 392, 0, 0, 394, 395, 21770 396, 393, 397, 398, 0, 399, 0, 400, 401, 402, 21771 403, 404, 405, 406, 0, 407, 408, 409, 0, 410, 21772 411, 412, 0, 0, 0, 0, 0, 0, 0, 413, 21773 414, 415, 416, 417, 0, 418, 420, 421, 815, 422, 21774 816, 5478, 425, 427, 419, 423, 0, 426, 424, 428, 21775 429, 0, 430, 431, 432, 433, 0, 0, 434, 435, 21776 436, 0, 437, 438, 440, 439, 0, 441, 442, 443, 21777 0, 444, 445, 817, 446, 447, 448, 450, 452, 449, 21778 451, 453, 454, 455, 456, 457, 818, 819, 458, 459, 21779 0, 0, 0, 0, 0, 0, 0, 460, 461, 462, 21780 820, 0, 0, 0, 463, 0, 465, 469, 466, 467, 21781 468, 470, 0, 464, 471, 472, 0, 0, 473, 474, 21782 475, 821, 822, 476, 477, 478, 479, 480, 481, 482, 21783 483, 484, 0, 485, 486, 823, 0, 824, 487, 0, 21784 488, 489, 490, 491, 492, 493, 494, 825, 826, 827, 21785 595, 0, 495, 496, 497, 0, 498, 499, 500, 501, 21786 502, 503, 504, 0, 0, 0, 505, 506, 507, 508, 21787 0, 0, 0, 0, 0, 828, 509, 596, 510, 829, 21788 830, 0, 831, 0, 511, 512, 515, 0, 832, 0, 21789 514, 516, 517, 0, 518, 0, 0, 0, 519, 520, 21790 521, 522, 523, 524, 525, 0, 526, 528, 527, 0, 21791 530, 833, 529, 0, 531, 532, 0, 0, 533, 534, 21792 535, 536, 537, 538, 541, 0, 0, 539, 540, 542, 21793 543, 0, 544, 545, 547, 550, 546, 548, 549, 551, 21794 552, 565, 566, 553, 554, 555, 556, 557, 558, 559, 21795 560, 561, 562, 563, 564, 568, 0, 567, 0, 569, 21796 570, 571, 572, 573, 581, 583, 584, 579, 580, 582, 21797 585, 586, 588, 589, 576, 577, 578, 0, 587, 574, 21798 0, 575, 0, 0, 590, 591, 592, 593, 0, 834, 21799 594, 835, 597, 598, 0, 0, 599, 0, 600, 0, 21800 0, 602, 603, 604, 0, 0, 605, 606, 836, 0, 21801 607, 0, 837, 608, 609, 601, 610, 611, 612, 613, 21802 614, 615, 616, 617, 618, 619, 0, 620, 621, 838, 21803 622, 623, 624, 839, 625, 626, 627, 840, 628, 841, 21804 629, 630, 0, 631, 632, 633, 0, 634, 635, 636, 21805 637, 638, 639, 640, 641, 642, 643, 842, 644, 645, 21806 647, 646, 648, 649, 0, 650, 0, 651, 652, 653, 21807 0, 0, 0, 0, 0, 654, 655, 657, 0, 658, 21808 659, 660, 661, 662, 656, 663, 664, 665, 666, 667, 21809 668, 669, 0, 671, 672, 670, 673, 674, 0, 675, 21810 676, 677, 678, 679, 843, 680, 0, 681, 682, 690, 21811 691, 692, 683, 684, 686, 693, 685, 694, 695, 696, 21812 697, 699, 698, 0, 701, 702, 700, 703, 704, 705, 21813 706, 0, 707, 844, 708, 687, 688, 709, 710, 711, 21814 0, 712, 713, 714, 715, 716, 717, 718, 719, 720, 21815 845, 0, 721, 0, 722, 723, 724, 725, 726, 727, 21816 729, 689, 730, 731, 732, 737, 738, 846, 733, 734, 21817 735, 736, 847, 740, 741, 742, 743, 0, 744, 745, 21818 0, 739, 728, 0, 746, 747, 748, 749, 750, 751, 21819 752, 753, 754, 755, 0, 756, 848, 849, 850, 851, 21820 0, 768, 0, 757, 759, 760, 761, 762, 852, 763, 21821 853, 0, 764, 765, 766, 767, 758, 769, 770, 0, 21822 0, 771, 772, 773, 774, 776, 778, 779, 780, 775, 21823 777, 781, 0, 782, 0, 0, 783, 784, 785, 854, 21824 855, 856, 0, 787, 788, 786, 789, 790, 793, 791, 21825 792, 857, 796, 513, 797, 798, 799, 794, 795, 337, 21826 0, 0, 0, 800, 801, 858, 802, 803, 804, 0, 21827 0, 0, 0, 0, 0, 0, 345, 346, 348, 347, 21828 349, 350, 351, 352, 0, 353, 354, 0, 0, 0, 21829 0, 0, 805, 0, 3927, 0, 356, 0, 355, 0, 21830 357, 358, 359, 0, 360, 361, 362, 363, 364, 365, 21831 366, 367, 806, 807, 0, 368, 808, 369, 809, 0, 21832 810, 370, 371, 372, 373, 374, 375, 376, 377, 378, 21833 379, 0, 0, 0, 380, 811, 812, 813, 0, 381, 21834 382, 383, 384, 814, 0, 0, 0, 385, 386, 387, 21835 388, 389, 390, 391, 392, 0, 0, 394, 395, 396, 21836 393, 397, 398, 0, 399, 0, 400, 401, 402, 403, 21837 404, 405, 406, 0, 407, 408, 409, 0, 410, 411, 21838 412, 0, 0, 0, 0, 0, 0, 0, 413, 414, 21839 415, 416, 417, 0, 418, 420, 421, 815, 422, 816, 21840 0, 425, 427, 419, 423, 0, 426, 424, 428, 429, 21841 0, 430, 431, 432, 433, 0, 0, 434, 435, 436, 21842 0, 437, 438, 440, 439, 0, 441, 442, 443, 0, 21843 444, 445, 817, 446, 447, 448, 450, 452, 449, 451, 21844 453, 454, 455, 456, 457, 818, 819, 458, 459, 0, 21845 0, 0, 0, 0, 0, 0, 460, 461, 462, 820, 21846 0, 0, 0, 463, 0, 465, 469, 466, 467, 468, 21847 470, 0, 464, 471, 472, 0, 0, 473, 474, 475, 21848 821, 822, 476, 477, 478, 479, 480, 481, 482, 483, 21849 484, 0, 485, 486, 823, 0, 824, 487, 0, 488, 21850 489, 490, 491, 492, 493, 494, 825, 826, 827, 595, 21851 0, 495, 496, 497, 0, 498, 499, 500, 501, 502, 21852 503, 504, 0, 0, 0, 505, 506, 507, 508, 0, 21853 0, 0, 0, 0, 828, 509, 596, 510, 829, 830, 21854 0, 831, 0, 511, 512, 515, 0, 832, 0, 514, 21855 516, 517, 0, 518, 0, 0, 0, 519, 520, 521, 21856 522, 523, 524, 525, 0, 526, 528, 527, 0, 530, 21857 833, 529, 0, 531, 532, 0, 0, 533, 534, 535, 21858 536, 537, 538, 541, 0, 0, 539, 540, 542, 543, 21859 0, 544, 545, 547, 550, 546, 548, 549, 551, 552, 21860 565, 566, 553, 554, 555, 556, 557, 558, 559, 560, 21861 561, 562, 563, 564, 568, 0, 567, 0, 569, 570, 21862 571, 572, 573, 581, 583, 584, 579, 580, 582, 585, 21863 586, 588, 589, 576, 577, 578, 0, 587, 574, 0, 21864 575, 0, 0, 590, 591, 592, 593, 0, 834, 594, 21865 835, 597, 598, 0, 0, 599, 0, 600, 0, 0, 21866 602, 603, 604, 0, 0, 605, 606, 836, 0, 607, 21867 0, 837, 608, 609, 601, 610, 611, 612, 613, 614, 21868 615, 616, 617, 618, 619, 0, 620, 621, 838, 622, 21869 623, 624, 839, 625, 626, 627, 840, 628, 841, 629, 21870 630, 0, 631, 632, 633, 0, 634, 635, 636, 637, 21871 638, 639, 640, 641, 642, 643, 842, 644, 645, 647, 21872 646, 648, 649, 0, 650, 0, 651, 652, 653, 0, 21873 0, 0, 0, 0, 654, 655, 657, 0, 658, 659, 21874 660, 661, 662, 656, 663, 664, 665, 666, 667, 668, 21875 669, 0, 671, 672, 670, 673, 674, 0, 675, 676, 21876 677, 678, 679, 843, 680, 0, 681, 682, 690, 691, 21877 692, 683, 684, 686, 693, 685, 694, 695, 696, 697, 21878 699, 698, 0, 701, 702, 700, 703, 704, 705, 706, 21879 0, 707, 844, 708, 687, 688, 709, 710, 711, 0, 21880 712, 713, 714, 715, 716, 717, 718, 719, 720, 845, 21881 0, 721, 0, 722, 723, 724, 725, 726, 727, 729, 21882 689, 730, 731, 732, 737, 738, 846, 733, 734, 735, 21883 736, 847, 740, 741, 742, 743, 0, 744, 745, 0, 21884 739, 728, 0, 746, 747, 748, 749, 750, 751, 752, 21885 753, 754, 755, 0, 756, 848, 849, 850, 851, 0, 21886 768, 0, 757, 759, 760, 761, 762, 852, 763, 853, 21887 0, 764, 765, 766, 767, 758, 769, 770, 0, 0, 21888 771, 772, 773, 774, 776, 778, 779, 780, 775, 777, 21889 781, 0, 782, 0, 0, 783, 784, 785, 854, 855, 21890 856, 0, 787, 788, 786, 789, 790, 793, 791, 792, 21891 857, 796, 513, 797, 798, 799, 794, 795, 337, 0, 21892 0, 0, 800, 801, 858, 802, 803, 804, 0, 0, 21893 0, 0, 0, 0, 0, 345, 346, 348, 347, 349, 21894 350, 351, 352, 0, 353, 354, 0, 0, 0, 0, 21895 0, 805, 0, 3919, 0, 356, 0, 355, 0, 357, 21896 358, 359, 0, 360, 361, 362, 363, 364, 365, 366, 21897 367, 806, 807, 0, 368, 808, 369, 809, 0, 810, 21898 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 21899 0, 0, 0, 380, 811, 812, 813, 0, 381, 382, 21900 383, 384, 814, 0, 0, 0, 385, 386, 387, 388, 21901 389, 390, 391, 392, 0, 0, 394, 395, 396, 393, 21902 397, 398, 0, 399, 0, 400, 401, 402, 403, 404, 21903 405, 406, 0, 407, 408, 409, 0, 410, 411, 412, 21904 0, 0, 0, 0, 0, 0, 0, 413, 414, 415, 21905 416, 417, 0, 418, 420, 421, 815, 422, 816, 0, 21906 425, 427, 419, 423, 0, 426, 424, 428, 429, 0, 21907 430, 431, 432, 433, 0, 0, 434, 435, 436, 0, 21908 437, 438, 440, 439, 0, 441, 442, 443, 0, 444, 21909 445, 817, 446, 447, 448, 450, 452, 449, 451, 453, 21910 454, 455, 456, 457, 818, 819, 458, 459, 0, 0, 21911 0, 0, 0, 0, 0, 460, 461, 462, 820, 0, 21912 0, 0, 463, 0, 465, 469, 466, 467, 468, 470, 21913 0, 464, 471, 472, 0, 0, 473, 474, 475, 821, 21914 822, 476, 477, 478, 479, 480, 481, 482, 483, 484, 21915 0, 485, 486, 823, 0, 824, 487, 0, 488, 489, 21916 490, 491, 492, 493, 494, 825, 826, 827, 595, 0, 21917 495, 496, 497, 0, 498, 499, 500, 501, 502, 503, 21918 504, 0, 0, 0, 505, 506, 507, 508, 0, 0, 21919 0, 0, 0, 828, 509, 596, 510, 829, 830, 0, 21920 831, 0, 511, 512, 515, 0, 832, 0, 514, 516, 21921 517, 0, 518, 0, 0, 0, 519, 520, 521, 522, 21922 523, 524, 525, 0, 526, 528, 527, 0, 530, 833, 21923 529, 0, 531, 532, 0, 0, 533, 534, 535, 536, 21924 537, 538, 541, 0, 0, 539, 540, 542, 543, 0, 21925 544, 545, 547, 550, 546, 548, 549, 551, 552, 565, 21926 566, 553, 554, 555, 556, 557, 558, 559, 560, 561, 21927 562, 563, 564, 568, 0, 567, 0, 569, 570, 571, 21928 572, 573, 581, 583, 584, 579, 580, 582, 585, 586, 21929 588, 589, 576, 577, 578, 0, 587, 574, 0, 575, 21930 0, 0, 590, 591, 592, 593, 0, 834, 594, 835, 21931 597, 598, 0, 0, 599, 0, 600, 0, 0, 602, 21932 603, 604, 0, 0, 605, 606, 836, 0, 607, 0, 21933 837, 608, 609, 601, 610, 611, 612, 613, 614, 615, 21934 616, 617, 618, 619, 0, 620, 621, 838, 622, 623, 21935 624, 839, 625, 626, 627, 840, 628, 841, 629, 630, 21936 0, 631, 632, 633, 0, 634, 635, 636, 637, 638, 21937 639, 640, 641, 642, 643, 842, 644, 645, 647, 646, 21938 648, 649, 0, 650, 0, 651, 652, 653, 0, 0, 21939 0, 0, 0, 654, 655, 657, 0, 658, 659, 660, 21940 661, 662, 656, 663, 664, 665, 666, 667, 668, 669, 21941 0, 671, 672, 670, 673, 674, 0, 675, 676, 677, 21942 678, 679, 843, 680, 0, 681, 682, 690, 691, 692, 21943 683, 684, 686, 693, 685, 694, 695, 696, 697, 699, 21944 698, 0, 701, 702, 700, 703, 704, 705, 706, 0, 21945 707, 844, 708, 687, 688, 709, 710, 711, 0, 712, 21946 713, 714, 715, 716, 717, 718, 719, 720, 845, 0, 21947 721, 0, 722, 723, 724, 725, 726, 727, 729, 689, 21948 730, 731, 732, 737, 738, 846, 733, 734, 735, 736, 21949 847, 740, 741, 742, 743, 0, 744, 745, 0, 739, 21950 728, 0, 746, 747, 748, 749, 750, 751, 752, 753, 21951 754, 755, 0, 756, 848, 849, 850, 851, 0, 768, 21952 0, 757, 759, 760, 761, 762, 852, 763, 853, 0, 21953 764, 765, 766, 767, 758, 769, 770, 0, 0, 771, 21954 772, 773, 774, 776, 778, 779, 780, 775, 777, 781, 21955 0, 782, 0, 0, 783, 784, 785, 854, 855, 856, 21956 0, 787, 788, 786, 789, 790, 793, 791, 792, 857, 21957 796, 513, 797, 798, 799, 794, 795, 337, 4953, 0, 21958 0, 800, 801, 858, 802, 803, 804, 0, 0, 0, 21959 0, 0, 0, 0, 345, 346, 348, 347, 349, 350, 21960 351, 352, 0, 353, 354, 0, 0, 0, 0, 0, 21961 805, 0, 0, 0, 356, 0, 355, 0, 357, 358, 21962 359, 0, 360, 361, 362, 363, 364, 365, 366, 367, 21963 806, 807, 0, 368, 808, 369, 809, 0, 810, 370, 21964 371, 372, 373, 374, 375, 376, 377, 378, 379, 0, 21965 0, 0, 380, 811, 812, 813, 0, 381, 382, 383, 21966 384, 814, 0, 0, 0, 385, 386, 387, 388, 389, 21967 390, 391, 392, 0, 0, 394, 395, 396, 393, 397, 21968 398, 0, 399, 0, 400, 401, 402, 403, 404, 405, 21969 406, 0, 407, 408, 409, 0, 410, 411, 412, 0, 21970 0, 0, 0, 0, 0, 0, 413, 414, 415, 416, 21971 417, 0, 418, 420, 421, 815, 422, 816, 0, 425, 21972 427, 419, 423, 0, 426, 424, 428, 429, 0, 430, 21973 431, 432, 433, 0, 0, 434, 435, 436, 0, 437, 21974 438, 440, 439, 0, 441, 442, 443, 0, 444, 445, 21975 817, 446, 447, 448, 450, 452, 449, 451, 453, 454, 21976 455, 456, 457, 818, 819, 458, 459, 0, 0, 0, 21977 0, 0, 0, 0, 460, 461, 462, 820, 0, 0, 21978 0, 463, 0, 465, 469, 466, 467, 468, 470, 0, 21979 464, 471, 472, 0, 0, 473, 474, 475, 821, 822, 21980 476, 477, 478, 479, 480, 481, 482, 483, 484, 0, 21981 485, 486, 823, 0, 824, 487, 0, 488, 489, 490, 21982 491, 492, 493, 494, 4956, 826, 827, 595, 0, 495, 21983 496, 497, 0, 498, 499, 500, 501, 502, 503, 504, 21984 0, 0, 0, 505, 506, 507, 508, 0, 0, 0, 21985 0, 0, 828, 509, 596, 510, 829, 830, 0, 831, 21986 0, 511, 512, 515, 0, 832, 0, 514, 516, 517, 21987 0, 518, 0, 0, 0, 519, 520, 521, 522, 523, 21988 524, 525, 0, 526, 528, 527, 0, 530, 833, 529, 21989 0, 531, 532, 0, 0, 533, 534, 535, 536, 537, 21990 538, 541, 0, 0, 539, 540, 542, 543, 0, 544, 21991 545, 547, 550, 546, 548, 549, 551, 552, 565, 566, 21992 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 21993 563, 564, 568, 0, 567, 0, 569, 570, 571, 572, 21994 573, 581, 583, 584, 579, 580, 582, 585, 586, 588, 21995 589, 576, 577, 578, 0, 587, 574, 0, 575, 0, 21996 0, 590, 591, 592, 593, 0, 834, 594, 835, 597, 21997 598, 0, 0, 599, 0, 600, 0, 0, 602, 603, 21998 604, 0, 0, 605, 606, 836, 0, 607, 0, 837, 21999 608, 609, 601, 610, 611, 612, 613, 614, 615, 616, 22000 617, 618, 619, 0, 620, 621, 838, 622, 623, 624, 22001 839, 625, 626, 627, 840, 628, 841, 629, 630, 0, 22002 631, 632, 633, 0, 634, 635, 636, 637, 638, 639, 22003 640, 641, 642, 643, 842, 644, 645, 647, 646, 648, 22004 649, 0, 650, 0, 651, 652, 653, 0, 0, 0, 22005 0, 0, 654, 655, 657, 0, 658, 659, 660, 661, 22006 662, 656, 663, 664, 665, 666, 667, 668, 669, 0, 22007 671, 672, 670, 673, 674, 0, 675, 676, 677, 678, 22008 679, 843, 680, 0, 681, 682, 690, 691, 692, 683, 22009 684, 686, 693, 685, 694, 695, 696, 697, 699, 698, 22010 0, 701, 702, 700, 703, 704, 705, 706, 0, 707, 22011 844, 708, 687, 688, 709, 710, 711, 0, 712, 713, 22012 714, 715, 716, 717, 718, 719, 720, 845, 0, 721, 22013 0, 722, 723, 724, 725, 726, 727, 729, 689, 730, 22014 731, 732, 737, 738, 846, 733, 734, 735, 736, 847, 22015 740, 741, 742, 743, 0, 744, 745, 0, 739, 728, 22016 0, 746, 747, 748, 749, 750, 751, 752, 753, 754, 22017 755, 0, 756, 848, 849, 850, 851, 0, 768, 0, 22018 757, 759, 760, 761, 762, 852, 763, 853, 0, 764, 22019 765, 766, 767, 758, 769, 770, 0, 0, 771, 772, 22020 773, 774, 776, 778, 779, 780, 775, 777, 781, 0, 22021 782, 0, 0, 783, 784, 785, 854, 855, 856, 0, 22022 787, 788, 786, 789, 790, 793, 791, 792, 857, 796, 22023 513, 797, 798, 799, 794, 795, 337, 4953, 0, 0, 22024 800, 801, 858, 802, 803, 804, 0, 0, 0, 0, 22025 0, 0, 0, 345, 346, 348, 347, 349, 350, 351, 22026 352, 0, 353, 354, 0, 0, 0, 0, 0, 805, 22027 0, 0, 0, 356, 0, 355, 0, 357, 358, 359, 22028 0, 360, 361, 362, 363, 364, 365, 366, 367, 806, 22029 807, 0, 368, 808, 369, 809, 0, 810, 370, 371, 22030 372, 373, 374, 375, 376, 377, 378, 379, 0, 0, 22031 0, 380, 811, 812, 813, 0, 381, 382, 383, 384, 22032 814, 0, 0, 0, 385, 386, 387, 388, 389, 390, 22033 391, 392, 0, 0, 394, 395, 396, 393, 397, 398, 22034 0, 399, 0, 400, 401, 402, 403, 404, 405, 406, 22035 0, 407, 408, 409, 0, 410, 411, 412, 0, 0, 22036 0, 0, 0, 0, 0, 413, 414, 415, 416, 417, 22037 0, 418, 420, 421, 815, 422, 816, 0, 425, 427, 22038 419, 423, 0, 426, 424, 428, 429, 0, 430, 431, 22039 432, 433, 0, 0, 434, 435, 436, 0, 437, 438, 22040 440, 439, 0, 441, 442, 443, 0, 444, 445, 817, 22041 446, 447, 448, 450, 452, 449, 451, 453, 454, 455, 22042 456, 457, 818, 819, 458, 459, 0, 0, 0, 0, 22043 0, 0, 0, 460, 461, 462, 820, 0, 0, 0, 22044 463, 0, 465, 469, 466, 467, 468, 470, 0, 464, 22045 471, 472, 0, 0, 473, 474, 475, 821, 822, 476, 22046 477, 478, 479, 480, 481, 482, 483, 484, 0, 485, 22047 486, 823, 0, 824, 487, 0, 488, 489, 490, 491, 22048 492, 493, 494, 4951, 826, 827, 595, 0, 495, 496, 22049 497, 0, 498, 499, 500, 501, 502, 503, 504, 0, 22050 0, 0, 505, 506, 507, 508, 0, 0, 0, 0, 22051 0, 828, 509, 596, 510, 829, 830, 0, 831, 0, 22052 511, 512, 515, 0, 832, 0, 514, 516, 517, 0, 22053 518, 0, 0, 0, 519, 520, 521, 522, 523, 524, 22054 525, 0, 526, 528, 527, 0, 530, 833, 529, 0, 22055 531, 532, 0, 0, 533, 534, 535, 536, 537, 538, 22056 541, 0, 0, 539, 540, 542, 543, 0, 544, 545, 22057 547, 550, 546, 548, 549, 551, 552, 565, 566, 553, 22058 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 22059 564, 568, 0, 567, 0, 569, 570, 571, 572, 573, 22060 581, 583, 584, 579, 580, 582, 585, 586, 588, 589, 22061 576, 577, 578, 0, 587, 574, 0, 575, 0, 0, 22062 590, 591, 592, 593, 0, 834, 594, 835, 597, 598, 22063 0, 0, 599, 0, 600, 0, 0, 602, 603, 604, 22064 0, 0, 605, 606, 836, 0, 607, 0, 837, 608, 22065 609, 601, 610, 611, 612, 613, 614, 615, 616, 617, 22066 618, 619, 0, 620, 621, 838, 622, 623, 624, 839, 22067 625, 626, 627, 840, 628, 841, 629, 630, 0, 631, 22068 632, 633, 0, 634, 635, 636, 637, 638, 639, 640, 22069 641, 642, 643, 842, 644, 645, 647, 646, 648, 649, 22070 0, 650, 0, 651, 652, 653, 0, 0, 0, 0, 22071 0, 654, 655, 657, 0, 658, 659, 660, 661, 662, 22072 656, 663, 664, 665, 666, 667, 668, 669, 0, 671, 22073 672, 670, 673, 674, 0, 675, 676, 677, 678, 679, 22074 843, 680, 0, 681, 682, 690, 691, 692, 683, 684, 22075 686, 693, 685, 694, 695, 696, 697, 699, 698, 0, 22076 701, 702, 700, 703, 704, 705, 706, 0, 707, 844, 22077 708, 687, 688, 709, 710, 711, 0, 712, 713, 714, 22078 715, 716, 717, 718, 719, 720, 845, 0, 721, 0, 22079 722, 723, 724, 725, 726, 727, 729, 689, 730, 731, 22080 732, 737, 738, 846, 733, 734, 735, 736, 847, 740, 22081 741, 742, 743, 0, 744, 745, 0, 739, 728, 0, 22082 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 22083 0, 756, 848, 849, 850, 851, 0, 768, 0, 757, 22084 759, 760, 761, 762, 852, 763, 853, 0, 764, 765, 22085 766, 767, 758, 769, 770, 0, 0, 771, 772, 773, 22086 774, 776, 778, 779, 780, 775, 777, 781, 0, 782, 22087 0, 0, 783, 784, 785, 854, 855, 856, 0, 787, 22088 788, 786, 789, 790, 793, 791, 792, 857, 796, 513, 22089 797, 798, 799, 794, 795, 337, 4327, 0, 0, 800, 22090 801, 858, 802, 803, 804, 0, 0, 0, 0, 0, 22091 0, 0, 345, 346, 348, 347, 349, 350, 351, 352, 22092 0, 353, 354, 0, 0, 0, 0, 0, 805, 0, 22093 0, 0, 356, 0, 355, 0, 357, 358, 359, 0, 22094 360, 361, 362, 363, 364, 365, 366, 367, 806, 807, 22095 0, 368, 808, 369, 809, 0, 810, 370, 371, 372, 22096 373, 374, 375, 376, 377, 378, 379, 0, 0, 0, 22097 380, 811, 812, 813, 0, 381, 382, 383, 384, 814, 22098 0, 0, 0, 385, 386, 387, 388, 389, 390, 391, 22099 392, 0, 0, 394, 395, 396, 393, 397, 398, 0, 22100 399, 0, 400, 401, 402, 403, 404, 405, 406, 0, 22101 407, 408, 409, 0, 410, 411, 412, 0, 0, 0, 22102 0, 0, 0, 0, 413, 414, 415, 416, 417, 0, 22103 418, 420, 421, 815, 422, 816, 0, 425, 427, 419, 22104 423, 0, 426, 424, 428, 429, 0, 430, 431, 432, 22105 433, 0, 0, 434, 435, 436, 0, 437, 438, 440, 22106 439, 0, 441, 442, 443, 0, 444, 445, 817, 446, 22107 447, 448, 450, 452, 449, 451, 453, 454, 455, 456, 22108 457, 818, 819, 458, 459, 0, 0, 0, 0, 0, 22109 0, 0, 460, 461, 462, 820, 0, 0, 0, 463, 22110 0, 465, 469, 466, 467, 468, 470, 0, 464, 471, 22111 472, 0, 0, 473, 474, 475, 821, 822, 476, 477, 22112 478, 479, 480, 481, 482, 483, 484, 0, 485, 486, 22113 823, 0, 824, 487, 0, 488, 489, 490, 491, 492, 22114 493, 494, 825, 826, 827, 595, 0, 495, 496, 497, 22115 0, 498, 499, 500, 501, 502, 503, 504, 0, 0, 22116 0, 505, 506, 507, 508, 0, 0, 0, 0, 0, 22117 828, 509, 596, 510, 829, 830, 0, 831, 0, 511, 22118 512, 515, 0, 832, 0, 514, 516, 517, 0, 518, 22119 0, 0, 0, 519, 520, 521, 522, 523, 524, 525, 22120 0, 526, 528, 527, 0, 530, 833, 529, 0, 531, 22121 532, 0, 0, 533, 534, 535, 536, 537, 538, 541, 22122 0, 0, 539, 540, 542, 543, 0, 544, 545, 547, 22123 550, 546, 548, 549, 551, 552, 565, 566, 553, 554, 22124 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 22125 568, 0, 567, 0, 569, 570, 571, 572, 573, 581, 22126 583, 584, 579, 580, 582, 585, 586, 588, 589, 576, 22127 577, 578, 0, 587, 574, 0, 575, 0, 0, 590, 22128 591, 592, 593, 0, 834, 594, 835, 597, 598, 0, 22129 0, 599, 0, 600, 0, 0, 602, 603, 4428, 0, 22130 0, 605, 606, 836, 0, 607, 0, 837, 608, 609, 22131 601, 610, 611, 612, 613, 614, 615, 616, 617, 618, 22132 619, 0, 620, 621, 838, 622, 623, 624, 839, 625, 22133 626, 627, 840, 628, 841, 629, 630, 0, 631, 632, 22134 633, 0, 634, 635, 636, 637, 638, 639, 640, 641, 22135 642, 643, 842, 644, 645, 647, 646, 648, 649, 0, 22136 650, 0, 651, 652, 653, 0, 0, 0, 0, 0, 22137 654, 655, 657, 0, 658, 659, 660, 661, 662, 656, 22138 663, 664, 665, 666, 667, 668, 669, 0, 671, 672, 22139 670, 673, 674, 0, 675, 676, 677, 678, 679, 843, 22140 680, 0, 681, 682, 690, 691, 692, 683, 684, 686, 22141 693, 685, 694, 695, 696, 697, 699, 698, 0, 701, 22142 702, 700, 703, 704, 705, 706, 0, 707, 844, 708, 22143 687, 688, 709, 710, 711, 0, 712, 713, 714, 715, 22144 716, 717, 718, 719, 720, 845, 0, 721, 0, 722, 22145 723, 724, 725, 726, 727, 729, 689, 730, 731, 732, 22146 737, 738, 846, 733, 734, 735, 736, 847, 740, 741, 22147 742, 743, 0, 744, 745, 0, 739, 728, 0, 746, 22148 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 22149 756, 848, 849, 850, 851, 0, 768, 0, 757, 759, 22150 760, 761, 762, 852, 763, 853, 0, 764, 765, 766, 22151 767, 758, 769, 770, 0, 0, 771, 772, 773, 774, 22152 776, 778, 779, 780, 775, 777, 781, 0, 782, 0, 22153 0, 783, 784, 785, 854, 855, 856, 0, 787, 788, 22154 786, 789, 790, 793, 791, 792, 857, 796, 513, 797, 22155 798, 799, 794, 795, 337, 0, 0, 0, 800, 801, 22156 858, 802, 803, 804, 0, 0, 0, 0, 0, 0, 22157 0, 345, 346, 348, 347, 349, 350, 351, 352, 0, 22158 353, 354, 0, 0, 0, 0, 0, 805, 0, 0, 22159 0, 356, 0, 355, 0, 357, 358, 359, 0, 360, 22160 361, 362, 363, 364, 365, 366, 367, 806, 807, 0, 22161 368, 808, 369, 809, 0, 810, 370, 371, 372, 373, 22162 374, 375, 376, 377, 378, 379, 0, 0, 0, 380, 22163 811, 812, 813, 0, 381, 382, 383, 384, 814, 0, 22164 0, 0, 385, 386, 387, 388, 389, 390, 391, 392, 22165 0, 0, 394, 395, 396, 393, 397, 398, 0, 399, 22166 0, 400, 401, 402, 403, 404, 405, 406, 0, 407, 22167 408, 409, 0, 410, 411, 412, 0, 0, 0, 0, 22168 0, 0, 0, 413, 414, 415, 416, 417, 0, 418, 22169 420, 421, 815, 422, 816, 0, 425, 427, 419, 423, 22170 0, 426, 424, 428, 429, 0, 430, 431, 432, 433, 22171 0, 0, 434, 435, 436, 0, 437, 438, 440, 439, 22172 0, 441, 442, 443, 0, 444, 445, 817, 446, 447, 22173 448, 450, 452, 449, 451, 453, 454, 455, 456, 457, 22174 818, 819, 458, 459, 0, 0, 0, 0, 0, 0, 22175 0, 460, 461, 462, 820, 0, 0, 0, 463, 0, 22176 465, 469, 466, 467, 468, 470, 0, 464, 471, 472, 22177 0, 0, 473, 474, 475, 821, 822, 476, 477, 478, 22178 479, 480, 481, 482, 483, 484, 0, 485, 486, 823, 22179 0, 824, 487, 0, 488, 489, 490, 491, 492, 493, 22180 494, 825, 826, 827, 595, 0, 495, 496, 497, 0, 22181 498, 499, 500, 501, 502, 503, 504, 0, 0, 0, 22182 505, 506, 507, 508, 0, 0, 0, 0, 0, 828, 22183 509, 596, 510, 829, 830, 0, 831, 0, 511, 512, 22184 515, 0, 832, 0, 514, 516, 517, 0, 518, 0, 22185 0, 0, 519, 520, 521, 522, 523, 524, 525, 0, 22186 526, 528, 527, 0, 530, 833, 529, 0, 531, 532, 22187 0, 0, 533, 534, 535, 536, 537, 538, 541, 0, 22188 0, 539, 540, 542, 543, 0, 544, 545, 547, 550, 22189 546, 548, 549, 551, 552, 565, 566, 553, 554, 555, 22190 556, 557, 558, 559, 560, 561, 562, 563, 564, 568, 22191 0, 567, 0, 569, 570, 571, 572, 573, 581, 583, 22192 584, 579, 580, 582, 585, 586, 588, 589, 576, 577, 22193 578, 0, 587, 574, 0, 575, 0, 0, 590, 591, 22194 592, 593, 0, 834, 594, 835, 597, 598, 0, 0, 22195 599, 0, 600, 0, 0, 602, 603, 604, 0, 0, 22196 605, 606, 836, 0, 607, 0, 837, 608, 609, 601, 22197 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 22198 0, 620, 621, 838, 622, 623, 624, 839, 625, 626, 22199 627, 840, 628, 841, 629, 630, 2811, 631, 632, 633, 22200 0, 634, 635, 636, 637, 638, 639, 640, 641, 642, 22201 643, 842, 644, 645, 647, 646, 648, 649, 0, 650, 22202 0, 651, 652, 653, 0, 0, 0, 0, 0, 654, 22203 655, 657, 0, 658, 659, 660, 661, 662, 656, 663, 22204 664, 665, 666, 667, 668, 669, 0, 671, 672, 670, 22205 673, 674, 0, 989, 676, 677, 678, 679, 843, 680, 22206 0, 681, 682, 690, 691, 692, 683, 684, 686, 988, 22207 685, 694, 695, 696, 697, 4275, 698, 0, 701, 702, 22208 700, 703, 704, 705, 706, 0, 707, 844, 708, 687, 22209 688, 709, 710, 711, 0, 712, 713, 714, 715, 716, 22210 717, 718, 719, 720, 845, 0, 721, 0, 722, 723, 22211 724, 725, 726, 727, 729, 689, 730, 731, 732, 737, 22212 738, 846, 733, 734, 735, 736, 847, 740, 741, 742, 22213 743, 0, 744, 745, 0, 739, 728, 0, 746, 747, 22214 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 22215 986, 849, 850, 851, 0, 768, 0, 757, 759, 760, 22216 761, 762, 852, 763, 853, 0, 764, 765, 766, 767, 22217 758, 769, 770, 0, 0, 771, 772, 773, 774, 776, 22218 778, 779, 780, 775, 777, 781, 0, 782, 0, 0, 22219 783, 784, 785, 854, 855, 856, 0, 787, 788, 786, 22220 789, 790, 793, 791, 792, 857, 796, 513, 797, 798, 22221 799, 794, 795, 2994, 0, 337, 0, 800, 801, 858, 22222 802, 803, 804, 0, 0, 0, 0, 0, 0, 0, 22223 0, 0, 345, 346, 348, 347, 349, 350, 351, 352, 22224 0, 353, 354, 0, 0, 0, 0, 0, 805, 0, 22225 0, 0, 356, 0, 355, 0, 357, 358, 359, 0, 22226 360, 361, 362, 363, 364, 365, 366, 367, 806, 807, 22227 0, 368, 808, 369, 809, 0, 810, 370, 371, 372, 22228 373, 374, 375, 376, 377, 378, 379, 0, 0, 0, 22229 380, 811, 812, 813, 0, 381, 382, 383, 384, 814, 22230 0, 0, 0, 385, 386, 387, 388, 389, 390, 391, 22231 392, 0, 0, 394, 395, 396, 393, 397, 398, 0, 22232 399, 0, 400, 401, 402, 403, 404, 405, 406, 0, 22233 407, 408, 409, 0, 410, 411, 412, 0, 0, 0, 22234 0, 0, 0, 0, 413, 414, 415, 416, 417, 0, 22235 418, 420, 421, 815, 422, 816, 0, 425, 427, 419, 22236 423, 0, 426, 424, 428, 429, 0, 430, 431, 432, 22237 433, 0, 0, 434, 435, 436, 0, 437, 438, 440, 22238 439, 0, 441, 442, 443, 0, 444, 445, 817, 446, 22239 447, 448, 450, 452, 449, 451, 453, 454, 455, 456, 22240 457, 818, 819, 458, 459, 0, 0, 0, 0, 0, 22241 0, 0, 460, 461, 462, 820, 0, 0, 0, 463, 22242 0, 465, 469, 466, 467, 468, 470, 0, 464, 471, 22243 472, 0, 0, 473, 474, 475, 821, 822, 476, 477, 22244 478, 479, 480, 481, 482, 483, 484, 0, 485, 486, 22245 823, 0, 824, 487, 0, 488, 489, 490, 491, 492, 22246 493, 494, 825, 826, 827, 595, 0, 495, 496, 497, 22247 0, 498, 499, 500, 501, 502, 503, 504, 0, 0, 22248 0, 505, 506, 507, 508, 0, 0, 0, 0, 0, 22249 828, 509, 596, 510, 829, 830, 0, 831, 0, 511, 22250 512, 515, 0, 832, 0, 514, 516, 517, 0, 518, 22251 0, 0, 0, 519, 520, 521, 522, 523, 524, 525, 22252 0, 526, 528, 527, 0, 530, 833, 529, 0, 531, 22253 532, 0, 0, 533, 534, 535, 536, 537, 538, 541, 22254 0, 0, 539, 540, 542, 543, 0, 544, 545, 547, 22255 550, 546, 548, 549, 551, 552, 565, 566, 553, 554, 22256 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 22257 568, 0, 567, 0, 569, 570, 571, 572, 573, 581, 22258 583, 584, 579, 580, 582, 585, 586, 588, 589, 576, 22259 577, 578, 0, 587, 574, 0, 575, 0, 0, 590, 22260 591, 592, 593, 0, 834, 594, 835, 597, 598, 0, 22261 0, 599, 0, 600, 0, 0, 602, 603, 604, 0, 22262 0, 605, 606, 836, 0, 607, 0, 837, 608, 609, 22263 601, 610, 611, 612, 613, 614, 615, 616, 617, 618, 22264 619, 0, 620, 621, 838, 622, 623, 624, 839, 625, 22265 626, 627, 840, 628, 841, 629, 630, 0, 631, 632, 22266 633, 0, 634, 635, 636, 637, 638, 639, 640, 641, 22267 642, 643, 842, 644, 645, 647, 646, 648, 649, 0, 22268 650, 0, 651, 652, 653, 0, 0, 0, 0, 0, 22269 654, 655, 657, 0, 658, 659, 660, 661, 662, 656, 22270 663, 664, 665, 666, 667, 668, 669, 0, 671, 672, 22271 670, 673, 674, 0, 675, 676, 677, 678, 679, 843, 22272 680, 0, 681, 682, 690, 691, 692, 683, 684, 686, 22273 693, 685, 694, 695, 696, 697, 699, 698, 0, 701, 22274 702, 700, 703, 704, 705, 706, 0, 707, 844, 708, 22275 687, 688, 709, 710, 711, 0, 712, 713, 714, 715, 22276 716, 717, 718, 719, 720, 845, 0, 721, 0, 722, 22277 723, 724, 725, 726, 727, 729, 689, 730, 731, 732, 22278 737, 738, 846, 733, 734, 735, 736, 847, 740, 741, 22279 742, 743, 0, 744, 745, 0, 739, 728, 0, 746, 22280 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 22281 756, 848, 849, 850, 851, 0, 768, 0, 757, 759, 22282 760, 761, 762, 852, 763, 853, 0, 764, 765, 766, 22283 767, 758, 769, 770, 0, 0, 771, 772, 773, 774, 22284 776, 778, 779, 780, 775, 777, 781, 0, 782, 0, 22285 0, 783, 784, 785, 854, 855, 856, 0, 787, 788, 22286 786, 789, 790, 793, 791, 792, 857, 796, 513, 797, 22287 798, 799, 794, 795, 337, 0, 0, 0, 800, 801, 22288 858, 802, 803, 804, 0, 0, 0, 0, 0, 0, 22289 0, 345, 346, 348, 347, 349, 350, 351, 352, 2598, 22290 353, 354, 0, 0, 0, 0, 0, 805, 0, 0, 22291 0, 356, 0, 355, 0, 357, 358, 359, 0, 360, 22292 361, 362, 363, 364, 365, 366, 367, 806, 807, 0, 22293 368, 808, 369, 809, 0, 810, 370, 371, 372, 373, 22294 374, 375, 376, 377, 378, 379, 0, 0, 0, 380, 22295 811, 812, 813, 0, 381, 382, 383, 384, 814, 0, 22296 0, 0, 385, 386, 387, 388, 389, 390, 391, 392, 22297 0, 0, 394, 395, 396, 393, 397, 398, 0, 399, 22298 0, 400, 401, 402, 403, 404, 405, 406, 0, 407, 22299 408, 409, 0, 410, 411, 412, 0, 0, 0, 0, 22300 0, 0, 0, 413, 414, 415, 416, 417, 0, 418, 22301 420, 421, 815, 422, 816, 0, 425, 427, 419, 423, 22302 0, 426, 424, 428, 429, 0, 430, 431, 432, 433, 22303 0, 0, 434, 435, 436, 0, 437, 438, 440, 439, 22304 0, 441, 442, 443, 0, 444, 445, 817, 446, 447, 22305 448, 450, 452, 449, 451, 453, 454, 455, 456, 457, 22306 818, 819, 458, 459, 0, 0, 0, 0, 0, 0, 22307 0, 460, 461, 462, 820, 0, 0, 0, 463, 0, 22308 465, 469, 466, 467, 468, 470, 0, 464, 471, 472, 22309 0, 0, 473, 474, 475, 821, 822, 476, 477, 478, 22310 479, 480, 481, 482, 483, 484, 0, 485, 486, 823, 22311 0, 824, 487, 0, 488, 489, 490, 491, 492, 493, 22312 494, 825, 826, 827, 595, 0, 495, 496, 497, 0, 22313 498, 499, 500, 501, 502, 503, 504, 0, 0, 0, 22314 505, 506, 507, 508, 0, 0, 0, 0, 0, 828, 22315 509, 596, 510, 829, 830, 0, 831, 0, 511, 512, 22316 515, 0, 832, 0, 514, 516, 517, 0, 518, 0, 22317 0, 0, 519, 520, 521, 522, 523, 524, 525, 0, 22318 526, 528, 527, 0, 530, 833, 529, 0, 531, 532, 22319 0, 0, 533, 534, 535, 536, 537, 538, 541, 0, 22320 0, 539, 540, 542, 543, 0, 544, 545, 547, 550, 22321 546, 548, 549, 551, 552, 565, 566, 553, 554, 555, 22322 556, 557, 558, 559, 560, 561, 562, 563, 564, 568, 22323 0, 567, 0, 569, 570, 571, 572, 573, 581, 583, 22324 584, 579, 580, 582, 585, 586, 588, 589, 576, 577, 22325 578, 0, 587, 574, 0, 575, 0, 0, 590, 591, 22326 592, 593, 0, 834, 594, 835, 597, 598, 0, 0, 22327 599, 0, 600, 0, 0, 602, 603, 604, 0, 0, 22328 605, 606, 836, 0, 607, 0, 837, 608, 609, 601, 22329 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 22330 0, 620, 621, 838, 622, 623, 624, 839, 625, 626, 22331 627, 840, 628, 841, 629, 630, 0, 631, 632, 633, 22332 0, 634, 635, 636, 637, 638, 639, 640, 641, 642, 22333 643, 842, 644, 645, 647, 646, 648, 649, 0, 650, 22334 0, 651, 652, 653, 0, 0, 0, 0, 0, 654, 22335 655, 657, 0, 658, 659, 660, 661, 662, 656, 663, 22336 664, 665, 666, 667, 668, 669, 0, 671, 672, 670, 22337 673, 674, 0, 675, 676, 677, 678, 679, 843, 680, 22338 0, 681, 682, 690, 691, 692, 683, 684, 686, 693, 22339 685, 694, 695, 696, 697, 699, 698, 0, 701, 702, 22340 700, 703, 704, 705, 706, 0, 707, 844, 708, 687, 22341 688, 709, 710, 711, 0, 712, 713, 714, 715, 716, 22342 717, 718, 719, 720, 845, 0, 721, 0, 722, 723, 22343 724, 725, 726, 727, 729, 689, 730, 731, 732, 737, 22344 738, 846, 733, 734, 735, 736, 847, 740, 741, 742, 22345 743, 0, 744, 745, 0, 739, 728, 0, 746, 747, 22346 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 22347 848, 849, 850, 851, 0, 768, 0, 757, 759, 760, 22348 761, 762, 852, 763, 853, 0, 764, 765, 766, 767, 22349 758, 769, 770, 0, 0, 771, 772, 773, 774, 776, 22350 778, 779, 780, 775, 777, 781, 0, 782, 0, 0, 22351 783, 784, 785, 854, 855, 856, 0, 787, 788, 786, 22352 789, 790, 793, 791, 792, 857, 796, 513, 797, 798, 22353 799, 794, 795, 2142, 0, 337, 0, 800, 801, 858, 22354 802, 803, 804, 0, 0, 0, 0, 0, 0, 0, 22355 0, 0, 345, 346, 348, 347, 349, 350, 351, 352, 22356 0, 353, 354, 0, 0, 0, 0, 0, 805, 0, 22357 0, 0, 356, 0, 355, 0, 357, 358, 359, 0, 22358 360, 361, 362, 363, 364, 365, 366, 367, 806, 807, 22359 0, 368, 808, 369, 809, 0, 810, 370, 371, 372, 22360 373, 374, 375, 376, 377, 378, 379, 0, 0, 0, 22361 380, 811, 812, 813, 0, 381, 382, 383, 384, 814, 22362 0, 0, 0, 385, 386, 387, 388, 389, 390, 391, 22363 392, 0, 0, 394, 395, 396, 393, 397, 398, 0, 22364 399, 0, 400, 401, 402, 403, 404, 405, 406, 0, 22365 407, 408, 409, 0, 410, 411, 412, 0, 0, 0, 22366 0, 0, 0, 0, 413, 414, 415, 416, 417, 0, 22367 418, 420, 421, 815, 422, 816, 0, 425, 427, 419, 22368 423, 0, 426, 424, 428, 429, 0, 430, 431, 432, 22369 433, 0, 0, 434, 435, 436, 0, 437, 438, 440, 22370 439, 0, 441, 442, 443, 0, 444, 445, 817, 446, 22371 447, 448, 450, 452, 449, 451, 453, 454, 455, 456, 22372 457, 818, 819, 458, 459, 0, 0, 0, 0, 0, 22373 0, 0, 460, 461, 462, 820, 0, 0, 0, 463, 22374 0, 465, 469, 466, 467, 468, 470, 0, 464, 471, 22375 472, 0, 0, 473, 474, 475, 821, 822, 476, 477, 22376 478, 479, 480, 481, 482, 483, 484, 0, 485, 486, 22377 823, 0, 824, 487, 0, 488, 489, 490, 491, 492, 22378 493, 494, 825, 826, 827, 595, 0, 495, 496, 497, 22379 0, 498, 499, 500, 501, 502, 503, 504, 0, 0, 22380 0, 505, 506, 507, 508, 0, 0, 0, 0, 0, 22381 828, 509, 596, 510, 829, 830, 0, 831, 0, 511, 22382 512, 515, 0, 832, 0, 514, 516, 517, 0, 518, 22383 0, 0, 0, 519, 520, 521, 522, 523, 524, 525, 22384 0, 526, 528, 527, 0, 530, 833, 529, 0, 531, 22385 532, 0, 0, 533, 534, 535, 536, 537, 538, 541, 22386 0, 0, 539, 540, 542, 543, 0, 544, 545, 547, 22387 550, 546, 548, 549, 551, 552, 565, 566, 553, 554, 22388 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 22389 568, 0, 567, 0, 569, 570, 571, 572, 573, 581, 22390 583, 584, 579, 580, 582, 585, 586, 588, 589, 576, 22391 577, 578, 0, 587, 574, 0, 575, 0, 0, 590, 22392 591, 592, 593, 0, 834, 594, 835, 597, 598, 0, 22393 0, 599, 0, 600, 0, 0, 602, 603, 604, 0, 22394 0, 605, 606, 836, 0, 607, 0, 837, 608, 609, 22395 601, 610, 611, 612, 613, 614, 615, 616, 617, 618, 22396 619, 0, 620, 621, 838, 622, 623, 624, 839, 625, 22397 626, 627, 840, 628, 841, 629, 630, 0, 631, 632, 22398 633, 0, 634, 635, 636, 637, 638, 639, 640, 641, 22399 642, 643, 842, 644, 645, 647, 646, 648, 649, 0, 22400 650, 0, 651, 652, 653, 0, 0, 0, 0, 0, 22401 654, 655, 657, 0, 658, 659, 660, 661, 662, 656, 22402 663, 664, 665, 666, 667, 668, 669, 0, 671, 672, 22403 670, 673, 674, 0, 675, 676, 677, 678, 679, 843, 22404 680, 0, 681, 682, 690, 691, 692, 683, 684, 686, 22405 693, 685, 694, 695, 696, 697, 699, 698, 0, 701, 22406 702, 700, 703, 704, 705, 706, 0, 707, 844, 708, 22407 687, 688, 709, 710, 711, 0, 712, 713, 714, 715, 22408 716, 717, 718, 719, 720, 845, 0, 721, 0, 722, 22409 723, 724, 725, 726, 727, 729, 689, 730, 731, 732, 22410 737, 738, 846, 733, 734, 735, 736, 847, 740, 741, 22411 742, 743, 0, 744, 745, 0, 739, 728, 0, 746, 22412 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 22413 756, 848, 849, 850, 851, 0, 768, 0, 757, 759, 22414 760, 761, 762, 852, 763, 853, 0, 764, 765, 766, 22415 767, 758, 769, 770, 0, 0, 771, 772, 773, 774, 22416 776, 778, 779, 780, 775, 777, 781, 0, 782, 0, 22417 0, 783, 784, 785, 854, 855, 856, 0, 787, 788, 22418 786, 789, 790, 793, 791, 792, 857, 796, 513, 797, 22419 798, 799, 794, 795, 2134, 0, 337, 0, 800, 801, 22420 858, 802, 803, 804, 0, 0, 0, 0, 0, 0, 22421 0, 0, 0, 345, 346, 348, 347, 349, 350, 351, 22422 352, 0, 353, 354, 0, 0, 0, 0, 0, 805, 22423 0, 0, 0, 356, 0, 355, 0, 357, 358, 359, 22424 0, 360, 361, 362, 363, 364, 365, 366, 367, 806, 22425 807, 0, 368, 808, 369, 809, 0, 810, 370, 371, 22426 372, 373, 374, 375, 376, 377, 378, 379, 0, 0, 22427 0, 380, 811, 812, 813, 0, 381, 382, 383, 384, 22428 814, 0, 0, 0, 385, 386, 387, 388, 389, 390, 22429 391, 392, 0, 0, 394, 395, 396, 393, 397, 398, 22430 0, 399, 0, 400, 401, 402, 403, 404, 405, 406, 22431 0, 407, 408, 409, 0, 410, 411, 412, 0, 0, 22432 0, 0, 0, 0, 0, 413, 414, 415, 416, 417, 22433 0, 418, 420, 421, 815, 422, 816, 0, 425, 427, 22434 419, 423, 0, 426, 424, 428, 429, 0, 430, 431, 22435 432, 433, 0, 0, 434, 435, 436, 0, 437, 438, 22436 440, 439, 0, 441, 442, 443, 0, 444, 445, 817, 22437 446, 447, 448, 450, 452, 449, 451, 453, 454, 455, 22438 456, 457, 818, 819, 458, 459, 0, 0, 0, 0, 22439 0, 0, 0, 460, 461, 462, 820, 0, 0, 0, 22440 463, 0, 465, 469, 466, 467, 468, 470, 0, 464, 22441 471, 472, 0, 0, 473, 474, 475, 821, 822, 476, 22442 477, 478, 479, 480, 481, 482, 483, 484, 0, 485, 22443 486, 823, 0, 824, 487, 0, 488, 489, 490, 491, 22444 492, 493, 494, 825, 826, 827, 595, 0, 495, 496, 22445 497, 0, 498, 499, 500, 501, 502, 503, 504, 0, 22446 0, 0, 505, 506, 507, 508, 0, 0, 0, 0, 22447 0, 828, 509, 596, 510, 829, 830, 0, 831, 0, 22448 511, 512, 515, 0, 832, 0, 514, 516, 517, 0, 22449 518, 0, 0, 0, 519, 520, 521, 522, 523, 524, 22450 525, 0, 526, 528, 527, 0, 530, 833, 529, 0, 22451 531, 532, 0, 0, 533, 534, 535, 536, 537, 538, 22452 541, 0, 0, 539, 540, 542, 543, 0, 544, 545, 22453 547, 550, 546, 548, 549, 551, 552, 565, 566, 553, 22454 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 22455 564, 568, 0, 567, 0, 569, 570, 571, 572, 573, 22456 581, 583, 584, 579, 580, 582, 585, 586, 588, 589, 22457 576, 577, 578, 0, 587, 574, 0, 575, 0, 0, 22458 590, 591, 592, 593, 0, 834, 594, 835, 597, 598, 22459 0, 0, 599, 0, 600, 0, 0, 602, 603, 604, 22460 0, 0, 605, 606, 836, 0, 607, 0, 837, 608, 22461 609, 601, 610, 611, 612, 613, 614, 615, 616, 617, 22462 618, 619, 0, 620, 621, 838, 622, 623, 624, 839, 22463 625, 626, 627, 840, 628, 841, 629, 630, 0, 631, 22464 632, 633, 0, 634, 635, 636, 637, 638, 639, 640, 22465 641, 642, 643, 842, 644, 645, 647, 646, 648, 649, 22466 0, 650, 0, 651, 652, 653, 0, 0, 0, 0, 22467 0, 654, 655, 657, 0, 658, 659, 660, 661, 662, 22468 656, 663, 664, 665, 666, 667, 668, 669, 0, 671, 22469 672, 670, 673, 674, 0, 675, 676, 677, 678, 679, 22470 843, 680, 0, 681, 682, 690, 691, 692, 683, 684, 22471 686, 693, 685, 694, 695, 696, 697, 699, 698, 0, 22472 701, 702, 700, 703, 704, 705, 706, 0, 707, 844, 22473 708, 687, 688, 709, 710, 711, 0, 712, 713, 714, 22474 715, 716, 717, 718, 719, 720, 845, 0, 721, 0, 22475 722, 723, 724, 725, 726, 727, 729, 689, 730, 731, 22476 732, 737, 738, 846, 733, 734, 735, 736, 847, 740, 22477 741, 742, 743, 0, 744, 745, 0, 739, 728, 0, 22478 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 22479 0, 756, 848, 849, 850, 851, 0, 768, 0, 757, 22480 759, 760, 761, 762, 852, 763, 853, 0, 764, 765, 22481 766, 767, 758, 769, 770, 0, 0, 771, 772, 773, 22482 774, 776, 778, 779, 780, 775, 777, 781, 0, 782, 22483 0, 0, 783, 784, 785, 854, 855, 856, 0, 787, 22484 788, 786, 789, 790, 793, 791, 792, 857, 796, 513, 22485 797, 798, 799, 794, 795, 980, 0, 337, 0, 800, 22486 801, 858, 802, 803, 804, 0, 0, 0, 0, 0, 22487 0, 0, 0, 0, 345, 346, 348, 347, 349, 350, 22488 351, 352, 0, 353, 354, 0, 0, 0, 0, 0, 22489 805, 0, 0, 0, 356, 0, 355, 0, 357, 358, 22490 359, 0, 360, 361, 362, 363, 364, 365, 366, 367, 22491 806, 807, 0, 368, 808, 369, 809, 0, 810, 370, 22492 371, 372, 373, 374, 375, 376, 377, 378, 379, 0, 22493 0, 0, 380, 811, 812, 813, 0, 381, 382, 976, 22494 384, 814, 0, 0, 0, 385, 386, 387, 388, 389, 22495 390, 391, 392, 0, 0, 394, 395, 396, 393, 397, 22496 398, 0, 399, 0, 400, 401, 402, 403, 404, 405, 22497 406, 0, 407, 408, 409, 0, 410, 411, 412, 0, 22498 0, 0, 0, 0, 0, 0, 413, 414, 415, 416, 22499 417, 0, 418, 420, 421, 815, 422, 816, 0, 425, 22500 427, 419, 423, 0, 426, 424, 428, 429, 0, 430, 22501 431, 432, 433, 0, 0, 434, 435, 436, 0, 437, 22502 438, 440, 439, 0, 441, 442, 443, 0, 444, 445, 22503 817, 446, 447, 448, 450, 452, 449, 451, 453, 454, 22504 455, 456, 457, 818, 819, 458, 459, 0, 0, 0, 22505 0, 0, 0, 0, 460, 461, 462, 820, 0, 0, 22506 0, 463, 0, 465, 469, 466, 467, 468, 470, 0, 22507 464, 471, 472, 0, 0, 473, 474, 475, 821, 822, 22508 476, 477, 478, 479, 480, 481, 482, 483, 484, 0, 22509 485, 486, 823, 0, 824, 487, 0, 488, 489, 490, 22510 491, 492, 493, 494, 825, 826, 827, 595, 0, 495, 22511 496, 497, 0, 498, 499, 500, 501, 502, 503, 504, 22512 0, 0, 0, 505, 506, 507, 508, 0, 0, 0, 22513 0, 0, 828, 509, 596, 510, 829, 830, 0, 831, 22514 0, 511, 512, 515, 0, 832, 0, 514, 516, 517, 22515 0, 518, 0, 0, 0, 519, 520, 521, 522, 523, 22516 524, 525, 0, 526, 528, 527, 0, 530, 833, 529, 22517 0, 531, 532, 0, 0, 533, 534, 535, 536, 537, 22518 981, 541, 0, 0, 539, 540, 542, 543, 0, 544, 22519 545, 547, 550, 546, 548, 549, 551, 552, 565, 566, 22520 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 22521 563, 564, 568, 0, 990, 0, 569, 570, 571, 572, 22522 573, 581, 583, 584, 579, 580, 582, 585, 586, 588, 22523 589, 576, 577, 578, 0, 587, 574, 0, 575, 0, 22524 0, 590, 591, 592, 593, 0, 834, 594, 835, 597, 22525 598, 0, 0, 599, 0, 600, 0, 0, 602, 603, 22526 604, 0, 0, 605, 606, 836, 0, 607, 0, 837, 22527 608, 609, 601, 610, 611, 612, 613, 614, 615, 616, 22528 617, 618, 619, 0, 620, 621, 838, 622, 623, 624, 22529 839, 625, 626, 627, 840, 628, 841, 629, 630, 0, 22530 631, 632, 633, 0, 634, 635, 636, 637, 638, 639, 22531 640, 641, 642, 643, 842, 644, 645, 647, 646, 648, 22532 649, 0, 650, 0, 651, 652, 653, 0, 0, 0, 22533 0, 0, 654, 655, 657, 0, 658, 659, 660, 661, 22534 662, 656, 663, 664, 665, 666, 667, 668, 669, 0, 22535 671, 672, 670, 673, 674, 0, 989, 676, 677, 678, 22536 679, 843, 680, 0, 681, 682, 690, 691, 692, 683, 22537 684, 686, 988, 685, 694, 695, 696, 697, 699, 698, 22538 0, 701, 702, 700, 703, 704, 2119, 706, 0, 707, 22539 844, 708, 687, 688, 709, 710, 711, 0, 712, 713, 22540 714, 715, 716, 717, 718, 719, 720, 845, 0, 721, 22541 0, 722, 723, 724, 725, 726, 727, 729, 689, 730, 22542 731, 732, 737, 738, 846, 733, 734, 735, 736, 847, 22543 740, 741, 742, 743, 0, 744, 745, 0, 739, 728, 22544 0, 746, 747, 748, 749, 750, 751, 752, 753, 754, 22545 755, 0, 756, 986, 849, 850, 851, 0, 768, 0, 22546 757, 759, 760, 761, 762, 852, 763, 853, 0, 764, 22547 765, 766, 767, 758, 769, 770, 0, 0, 771, 772, 22548 773, 774, 776, 778, 779, 780, 775, 777, 781, 0, 22549 782, 0, 0, 783, 784, 785, 854, 855, 856, 0, 22550 787, 788, 786, 789, 790, 793, 791, 792, 857, 796, 22551 513, 797, 798, 799, 794, 795, 2091, 0, 337, 0, 22552 800, 801, 858, 802, 803, 804, 0, 0, 0, 0, 22553 0, 0, 0, 0, 0, 345, 346, 348, 347, 349, 22554 350, 351, 352, 0, 353, 354, 0, 0, 0, 0, 22555 0, 805, 0, 0, 0, 356, 0, 355, 0, 357, 22556 358, 359, 0, 360, 361, 362, 363, 364, 365, 366, 22557 367, 806, 807, 0, 368, 808, 369, 809, 0, 810, 22558 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 22559 0, 0, 0, 380, 811, 812, 813, 0, 381, 382, 22560 383, 384, 814, 0, 0, 0, 385, 386, 387, 388, 22561 389, 390, 391, 392, 0, 0, 394, 395, 396, 393, 22562 397, 398, 0, 399, 0, 400, 401, 402, 403, 404, 22563 405, 406, 0, 407, 408, 409, 0, 410, 411, 412, 22564 0, 0, 0, 0, 0, 0, 0, 413, 414, 415, 22565 416, 417, 0, 418, 420, 421, 815, 422, 816, 0, 22566 425, 427, 419, 423, 0, 426, 424, 428, 429, 0, 22567 430, 431, 432, 433, 0, 0, 434, 435, 436, 0, 22568 437, 438, 440, 439, 0, 441, 442, 443, 0, 444, 22569 445, 817, 446, 447, 448, 450, 452, 449, 451, 453, 22570 454, 455, 456, 457, 818, 819, 458, 459, 0, 0, 22571 0, 0, 0, 0, 0, 460, 461, 462, 820, 0, 22572 0, 0, 463, 0, 465, 469, 466, 467, 468, 470, 22573 0, 464, 471, 472, 0, 0, 473, 474, 475, 821, 22574 822, 476, 477, 478, 479, 480, 481, 482, 483, 484, 22575 0, 485, 486, 823, 0, 824, 487, 0, 488, 489, 22576 490, 491, 492, 493, 494, 2090, 826, 827, 595, 0, 22577 495, 496, 497, 0, 498, 499, 500, 501, 502, 503, 22578 504, 0, 0, 0, 505, 506, 507, 508, 0, 0, 22579 0, 0, 0, 828, 509, 596, 510, 829, 830, 0, 22580 831, 0, 511, 512, 515, 0, 832, 0, 514, 516, 22581 517, 0, 518, 0, 0, 0, 519, 520, 521, 522, 22582 523, 524, 525, 0, 526, 528, 527, 0, 530, 833, 22583 529, 0, 531, 532, 0, 0, 533, 534, 535, 536, 22584 537, 538, 541, 0, 0, 539, 540, 542, 543, 0, 22585 544, 545, 547, 550, 546, 548, 549, 551, 552, 565, 22586 566, 553, 554, 555, 556, 557, 558, 559, 560, 561, 22587 562, 563, 564, 568, 0, 567, 0, 569, 570, 571, 22588 572, 573, 581, 583, 584, 579, 580, 582, 585, 586, 22589 588, 589, 576, 577, 578, 0, 587, 574, 0, 575, 22590 0, 0, 590, 591, 592, 593, 0, 834, 594, 835, 22591 597, 598, 0, 0, 599, 0, 600, 0, 0, 602, 22592 603, 604, 0, 0, 605, 606, 836, 0, 607, 0, 22593 837, 608, 609, 601, 610, 611, 612, 613, 614, 615, 22594 616, 617, 618, 619, 0, 620, 621, 838, 622, 623, 22595 624, 839, 625, 626, 627, 840, 628, 841, 629, 630, 22596 0, 631, 632, 633, 0, 634, 635, 636, 637, 638, 22597 639, 640, 641, 642, 643, 842, 644, 645, 647, 646, 22598 648, 649, 0, 650, 0, 651, 652, 653, 0, 0, 22599 0, 0, 0, 654, 655, 657, 0, 658, 659, 660, 22600 661, 662, 656, 663, 664, 665, 666, 667, 668, 669, 22601 0, 671, 672, 670, 673, 674, 0, 675, 676, 677, 22602 678, 679, 843, 680, 0, 681, 682, 690, 691, 692, 22603 683, 684, 686, 693, 685, 694, 695, 696, 697, 699, 22604 698, 0, 701, 702, 700, 703, 704, 705, 706, 0, 22605 707, 844, 708, 687, 688, 709, 710, 711, 0, 712, 22606 713, 714, 715, 716, 717, 718, 719, 720, 845, 0, 22607 721, 0, 722, 723, 724, 725, 726, 727, 729, 689, 22608 730, 731, 732, 737, 738, 846, 733, 734, 735, 736, 22609 847, 740, 741, 742, 743, 0, 744, 745, 0, 739, 22610 728, 0, 746, 747, 748, 749, 750, 751, 752, 753, 22611 754, 755, 0, 756, 848, 849, 850, 851, 0, 768, 22612 0, 757, 759, 760, 761, 762, 852, 763, 853, 0, 22613 764, 765, 766, 767, 758, 769, 770, 0, 0, 771, 22614 772, 773, 774, 776, 778, 779, 780, 775, 777, 781, 22615 0, 782, 0, 0, 783, 784, 785, 854, 855, 856, 22616 0, 787, 788, 786, 789, 790, 793, 791, 792, 857, 22617 796, 513, 797, 798, 799, 794, 795, 2074, 0, 337, 22618 0, 800, 801, 858, 802, 803, 804, 0, 0, 0, 22619 0, 0, 0, 0, 0, 0, 345, 346, 348, 347, 22620 349, 350, 351, 352, 0, 353, 354, 0, 0, 0, 22621 0, 0, 805, 0, 0, 0, 356, 0, 355, 0, 22622 357, 358, 359, 0, 360, 361, 362, 363, 364, 365, 22623 366, 367, 806, 807, 0, 368, 808, 369, 809, 0, 22624 810, 370, 371, 372, 373, 374, 375, 376, 377, 378, 22625 379, 0, 0, 0, 380, 811, 812, 813, 0, 381, 22626 382, 383, 384, 814, 0, 0, 0, 385, 386, 387, 22627 388, 389, 390, 391, 392, 0, 0, 394, 395, 396, 22628 393, 397, 398, 0, 399, 0, 400, 401, 402, 403, 22629 404, 405, 406, 0, 407, 408, 409, 0, 410, 411, 22630 412, 0, 0, 0, 0, 0, 0, 0, 413, 414, 22631 415, 416, 417, 0, 418, 420, 421, 815, 422, 816, 22632 0, 425, 427, 419, 423, 0, 426, 424, 428, 429, 22633 0, 430, 431, 432, 433, 0, 0, 434, 435, 436, 22634 0, 437, 438, 440, 439, 0, 441, 442, 443, 0, 22635 444, 445, 817, 446, 447, 448, 450, 452, 449, 451, 22636 453, 454, 455, 456, 457, 818, 819, 458, 459, 0, 22637 0, 0, 0, 0, 0, 0, 460, 461, 462, 820, 22638 0, 0, 0, 463, 0, 465, 469, 466, 467, 468, 22639 470, 0, 464, 471, 472, 0, 0, 473, 474, 475, 22640 821, 822, 476, 477, 478, 479, 480, 481, 482, 483, 22641 484, 0, 485, 486, 823, 0, 824, 487, 0, 488, 22642 489, 490, 491, 492, 493, 494, 2072, 826, 827, 595, 22643 0, 495, 496, 497, 0, 498, 499, 500, 501, 502, 22644 503, 504, 0, 0, 0, 505, 506, 507, 508, 0, 22645 0, 0, 0, 0, 828, 509, 596, 510, 829, 830, 22646 0, 831, 0, 511, 512, 515, 0, 832, 0, 514, 22647 516, 517, 0, 518, 0, 0, 0, 519, 520, 521, 22648 522, 523, 524, 525, 0, 526, 528, 527, 0, 530, 22649 833, 529, 0, 531, 532, 0, 0, 533, 534, 535, 22650 536, 537, 538, 541, 0, 0, 539, 540, 542, 543, 22651 0, 544, 545, 547, 550, 546, 548, 549, 551, 552, 22652 565, 566, 553, 554, 555, 556, 557, 558, 559, 560, 22653 561, 562, 563, 564, 568, 0, 567, 0, 569, 570, 22654 571, 572, 573, 581, 583, 584, 579, 580, 582, 585, 22655 586, 588, 589, 576, 577, 578, 0, 587, 574, 0, 22656 575, 0, 0, 590, 591, 592, 593, 0, 834, 594, 22657 835, 597, 598, 0, 0, 599, 0, 600, 0, 0, 22658 602, 603, 604, 0, 0, 605, 606, 836, 0, 607, 22659 0, 837, 608, 609, 601, 610, 611, 612, 613, 614, 22660 615, 616, 617, 618, 619, 0, 620, 621, 838, 622, 22661 623, 624, 839, 625, 626, 627, 840, 628, 841, 629, 22662 630, 0, 631, 632, 633, 0, 634, 635, 636, 637, 22663 638, 639, 640, 641, 642, 643, 842, 644, 645, 647, 22664 646, 648, 649, 0, 650, 0, 651, 652, 653, 0, 22665 0, 0, 0, 0, 654, 655, 657, 0, 658, 659, 22666 660, 661, 662, 656, 663, 664, 665, 666, 667, 668, 22667 669, 0, 671, 672, 670, 673, 674, 0, 675, 676, 22668 677, 678, 679, 843, 680, 0, 681, 682, 690, 691, 22669 692, 683, 684, 686, 693, 685, 694, 695, 696, 697, 22670 699, 698, 0, 701, 702, 700, 703, 704, 705, 706, 22671 0, 707, 844, 708, 687, 688, 709, 710, 711, 0, 22672 712, 713, 714, 715, 716, 717, 718, 719, 720, 845, 22673 0, 721, 0, 722, 723, 724, 725, 726, 727, 729, 22674 689, 730, 731, 732, 737, 738, 846, 733, 734, 735, 22675 736, 847, 740, 741, 742, 743, 0, 744, 745, 0, 22676 739, 728, 0, 746, 747, 748, 749, 750, 751, 752, 22677 753, 754, 755, 0, 756, 848, 849, 850, 851, 0, 22678 768, 0, 757, 759, 760, 761, 762, 852, 763, 853, 22679 0, 764, 765, 766, 767, 758, 769, 770, 0, 0, 22680 771, 772, 773, 774, 776, 778, 779, 780, 775, 777, 22681 781, 0, 782, 0, 0, 783, 784, 785, 854, 855, 22682 856, 0, 787, 788, 786, 789, 790, 793, 791, 792, 22683 857, 796, 513, 797, 798, 799, 794, 795, 2066, 0, 22684 337, 0, 800, 801, 858, 802, 803, 804, 0, 0, 22685 0, 0, 0, 0, 0, 0, 0, 345, 346, 348, 22686 347, 349, 350, 351, 352, 0, 353, 354, 0, 0, 22687 0, 0, 0, 805, 0, 0, 0, 356, 0, 355, 22688 0, 357, 358, 359, 0, 360, 361, 362, 363, 364, 22689 365, 366, 367, 806, 807, 0, 368, 808, 369, 809, 22690 0, 810, 370, 371, 372, 373, 374, 375, 376, 377, 22691 378, 379, 0, 0, 0, 380, 811, 812, 813, 0, 22692 381, 382, 383, 384, 814, 0, 0, 0, 385, 386, 22693 387, 388, 389, 390, 391, 392, 0, 0, 394, 395, 22694 396, 393, 397, 398, 0, 399, 0, 400, 401, 402, 22695 403, 404, 405, 406, 0, 407, 408, 409, 0, 410, 22696 411, 412, 0, 0, 0, 0, 0, 0, 0, 413, 22697 414, 415, 416, 417, 0, 418, 420, 421, 815, 422, 22698 816, 0, 425, 427, 419, 423, 0, 426, 424, 428, 22699 429, 0, 430, 431, 432, 433, 0, 0, 434, 435, 22700 436, 0, 437, 438, 440, 439, 0, 441, 442, 443, 22701 0, 444, 445, 817, 446, 447, 448, 450, 452, 449, 22702 451, 453, 454, 455, 456, 457, 818, 819, 458, 459, 22703 0, 0, 0, 0, 0, 0, 0, 460, 461, 462, 22704 820, 0, 0, 0, 463, 0, 465, 469, 466, 467, 22705 468, 470, 0, 464, 471, 472, 0, 0, 473, 474, 22706 475, 821, 822, 476, 477, 478, 479, 480, 481, 482, 22707 483, 484, 0, 485, 486, 823, 0, 824, 487, 0, 22708 488, 489, 490, 491, 492, 493, 494, 825, 826, 827, 22709 595, 0, 495, 496, 497, 0, 498, 499, 500, 501, 22710 502, 503, 504, 0, 0, 0, 505, 506, 507, 508, 22711 0, 0, 0, 0, 0, 828, 509, 596, 510, 829, 22712 830, 0, 831, 0, 511, 512, 515, 0, 832, 0, 22713 514, 516, 517, 0, 518, 0, 0, 0, 519, 520, 22714 521, 522, 523, 524, 525, 0, 526, 528, 527, 0, 22715 530, 833, 529, 0, 531, 532, 0, 0, 533, 534, 22716 535, 536, 537, 538, 541, 0, 0, 539, 540, 542, 22717 543, 0, 544, 545, 547, 550, 546, 548, 549, 551, 22718 552, 565, 566, 553, 554, 555, 556, 557, 558, 559, 22719 560, 561, 562, 563, 564, 568, 0, 567, 0, 569, 22720 570, 571, 572, 573, 581, 583, 584, 579, 580, 582, 22721 585, 586, 588, 589, 576, 577, 578, 0, 587, 574, 22722 0, 575, 0, 0, 590, 591, 592, 593, 0, 834, 22723 594, 835, 597, 598, 0, 0, 599, 0, 600, 0, 22724 0, 602, 603, 604, 0, 0, 605, 606, 836, 0, 22725 607, 0, 837, 608, 609, 601, 610, 611, 612, 613, 22726 614, 615, 616, 617, 618, 619, 0, 620, 621, 838, 22727 622, 623, 624, 839, 625, 626, 627, 840, 628, 841, 22728 629, 630, 0, 631, 632, 633, 0, 634, 635, 636, 22729 637, 638, 639, 640, 641, 642, 643, 842, 644, 645, 22730 647, 646, 648, 649, 0, 650, 0, 651, 652, 653, 22731 0, 0, 0, 0, 0, 654, 655, 657, 0, 658, 22732 659, 660, 661, 662, 656, 663, 664, 665, 666, 667, 22733 668, 669, 0, 671, 672, 670, 673, 674, 0, 675, 22734 676, 677, 678, 679, 843, 680, 0, 681, 682, 690, 22735 691, 692, 683, 684, 686, 693, 685, 694, 695, 696, 22736 697, 699, 698, 0, 701, 702, 700, 703, 704, 705, 22737 706, 0, 707, 844, 708, 687, 688, 709, 710, 711, 22738 0, 712, 713, 714, 715, 716, 717, 718, 719, 720, 22739 845, 0, 721, 0, 722, 723, 724, 725, 726, 727, 22740 729, 689, 730, 731, 732, 737, 738, 846, 733, 734, 22741 735, 736, 847, 740, 741, 742, 743, 0, 744, 745, 22742 0, 739, 728, 0, 746, 747, 748, 749, 750, 751, 22743 752, 753, 754, 755, 0, 756, 848, 849, 850, 851, 22744 0, 768, 0, 757, 759, 760, 761, 762, 852, 763, 22745 853, 0, 764, 765, 766, 767, 758, 769, 770, 0, 22746 0, 771, 772, 773, 774, 776, 778, 779, 780, 775, 22747 777, 781, 0, 782, 0, 0, 783, 784, 785, 854, 22748 855, 856, 0, 787, 788, 786, 789, 790, 793, 791, 22749 792, 857, 796, 513, 797, 798, 799, 794, 795, 2043, 22750 0, 337, 0, 800, 801, 858, 802, 803, 804, 0, 22751 0, 0, 0, 0, 0, 0, 0, 0, 345, 346, 22752 348, 347, 349, 350, 351, 352, 0, 353, 354, 0, 22753 0, 0, 0, 0, 805, 0, 0, 0, 356, 0, 22754 355, 0, 357, 358, 359, 0, 360, 361, 362, 363, 22755 364, 365, 366, 367, 806, 807, 0, 368, 808, 369, 22756 809, 0, 810, 370, 371, 372, 373, 374, 375, 376, 22757 377, 378, 379, 0, 0, 0, 380, 811, 812, 813, 22758 0, 381, 382, 383, 384, 814, 0, 0, 0, 385, 22759 386, 387, 388, 389, 390, 391, 392, 0, 0, 394, 22760 395, 396, 393, 397, 398, 0, 399, 0, 400, 401, 22761 402, 403, 404, 405, 406, 0, 407, 408, 409, 0, 22762 410, 411, 412, 0, 0, 0, 0, 0, 0, 0, 22763 413, 414, 415, 416, 417, 0, 418, 420, 421, 815, 22764 422, 816, 0, 425, 427, 419, 423, 0, 426, 424, 22765 428, 429, 0, 430, 431, 432, 433, 0, 0, 434, 22766 435, 436, 0, 437, 438, 440, 439, 0, 441, 442, 22767 443, 0, 444, 445, 817, 446, 447, 448, 450, 452, 22768 449, 451, 453, 454, 455, 456, 457, 818, 819, 458, 22769 459, 0, 0, 0, 0, 0, 0, 0, 460, 461, 22770 462, 820, 0, 0, 0, 463, 0, 465, 469, 466, 22771 467, 468, 470, 0, 464, 471, 472, 0, 0, 473, 22772 474, 475, 821, 822, 476, 477, 478, 479, 480, 481, 22773 482, 483, 484, 0, 485, 486, 823, 0, 824, 487, 22774 0, 488, 489, 490, 491, 492, 493, 494, 2041, 826, 22775 827, 595, 0, 495, 496, 497, 0, 498, 499, 500, 22776 501, 502, 503, 504, 0, 0, 0, 505, 506, 507, 22777 508, 0, 0, 0, 0, 0, 828, 509, 596, 510, 22778 829, 830, 0, 831, 0, 511, 512, 515, 0, 832, 22779 0, 514, 516, 517, 0, 518, 0, 0, 0, 519, 22780 520, 521, 522, 523, 524, 525, 0, 526, 528, 527, 22781 0, 530, 833, 529, 0, 531, 532, 0, 0, 533, 22782 534, 535, 536, 537, 538, 541, 0, 0, 539, 540, 22783 542, 543, 0, 544, 545, 547, 550, 546, 548, 549, 22784 551, 552, 565, 566, 553, 554, 555, 556, 557, 558, 22785 559, 560, 561, 562, 563, 564, 568, 0, 567, 0, 22786 569, 570, 571, 572, 573, 581, 583, 584, 579, 580, 22787 582, 585, 586, 588, 589, 576, 577, 578, 0, 587, 22788 574, 0, 575, 0, 0, 590, 591, 592, 593, 0, 22789 834, 594, 835, 597, 598, 0, 0, 599, 0, 600, 22790 0, 0, 602, 603, 604, 0, 0, 605, 606, 836, 22791 0, 607, 0, 837, 608, 609, 601, 610, 611, 612, 22792 613, 614, 615, 616, 617, 618, 619, 0, 620, 621, 22793 838, 622, 623, 624, 839, 625, 626, 627, 840, 628, 22794 841, 629, 630, 0, 631, 632, 633, 0, 634, 635, 22795 636, 637, 638, 639, 640, 641, 642, 643, 842, 644, 22796 645, 647, 646, 648, 649, 0, 650, 0, 651, 652, 22797 653, 0, 0, 0, 0, 0, 654, 655, 657, 0, 22798 658, 659, 660, 661, 662, 656, 663, 664, 665, 666, 22799 667, 668, 669, 0, 671, 672, 670, 673, 674, 0, 22800 675, 676, 677, 678, 679, 843, 680, 0, 681, 682, 22801 690, 691, 692, 683, 684, 686, 693, 685, 694, 695, 22802 696, 697, 699, 698, 0, 701, 702, 700, 703, 704, 22803 705, 706, 0, 707, 844, 708, 687, 688, 709, 710, 22804 711, 0, 712, 713, 714, 715, 716, 717, 718, 719, 22805 720, 845, 0, 721, 0, 722, 723, 724, 725, 726, 22806 727, 729, 689, 730, 731, 732, 737, 738, 846, 733, 22807 734, 735, 736, 847, 740, 741, 742, 743, 0, 744, 22808 745, 0, 739, 728, 0, 746, 747, 748, 749, 750, 22809 751, 752, 753, 754, 755, 0, 756, 848, 849, 850, 22810 851, 0, 768, 0, 757, 759, 760, 761, 762, 852, 22811 763, 853, 0, 764, 765, 766, 767, 758, 769, 770, 22812 0, 0, 771, 772, 773, 774, 776, 778, 779, 780, 22813 775, 777, 781, 0, 782, 0, 0, 783, 784, 785, 22814 854, 855, 856, 0, 787, 788, 786, 789, 790, 793, 22815 791, 792, 857, 796, 513, 797, 798, 799, 794, 795, 22816 2031, 0, 337, 0, 800, 801, 858, 802, 803, 804, 22817 0, 0, 0, 0, 0, 0, 0, 0, 0, 345, 22818 346, 348, 347, 349, 350, 351, 352, 0, 353, 354, 22819 0, 0, 0, 0, 0, 805, 0, 0, 0, 356, 22820 0, 355, 0, 357, 358, 359, 0, 360, 361, 362, 22821 363, 364, 365, 366, 367, 806, 807, 0, 368, 808, 22822 369, 809, 0, 810, 370, 371, 372, 373, 374, 375, 22823 376, 377, 378, 379, 0, 0, 0, 380, 811, 812, 22824 813, 0, 381, 382, 383, 384, 814, 0, 0, 0, 22825 385, 386, 387, 388, 389, 390, 391, 392, 0, 0, 22826 394, 395, 396, 393, 397, 398, 0, 399, 0, 400, 22827 401, 402, 403, 404, 405, 406, 0, 407, 408, 409, 22828 0, 410, 411, 412, 0, 0, 0, 0, 0, 0, 22829 0, 413, 414, 415, 416, 417, 0, 418, 420, 421, 22830 815, 422, 816, 0, 425, 427, 419, 423, 0, 426, 22831 424, 428, 429, 0, 430, 431, 432, 433, 0, 0, 22832 434, 435, 436, 0, 437, 438, 440, 439, 0, 441, 22833 442, 443, 0, 444, 445, 817, 446, 447, 448, 450, 22834 452, 449, 451, 453, 454, 455, 456, 457, 818, 819, 22835 458, 459, 0, 0, 0, 0, 0, 0, 0, 460, 22836 461, 462, 820, 0, 0, 0, 463, 0, 465, 469, 22837 466, 467, 468, 470, 0, 464, 471, 472, 0, 0, 22838 473, 474, 475, 821, 822, 476, 477, 478, 479, 480, 22839 481, 482, 483, 484, 0, 485, 486, 823, 0, 824, 22840 487, 0, 488, 489, 490, 491, 492, 493, 494, 825, 22841 826, 827, 595, 0, 495, 496, 497, 0, 498, 499, 22842 500, 501, 502, 503, 504, 0, 0, 0, 505, 506, 22843 507, 508, 0, 0, 0, 0, 0, 828, 509, 596, 22844 510, 829, 830, 0, 831, 0, 511, 512, 515, 0, 22845 832, 0, 514, 516, 517, 0, 518, 0, 0, 0, 22846 519, 520, 521, 522, 523, 524, 525, 0, 526, 528, 22847 527, 0, 530, 833, 529, 0, 531, 532, 0, 0, 22848 533, 534, 535, 536, 537, 538, 541, 0, 0, 539, 22849 540, 542, 543, 0, 544, 545, 547, 550, 546, 548, 22850 549, 551, 552, 565, 566, 553, 554, 555, 556, 557, 22851 558, 559, 560, 561, 562, 563, 564, 568, 0, 567, 22852 0, 569, 570, 571, 572, 573, 581, 583, 584, 579, 22853 580, 582, 585, 586, 588, 589, 576, 577, 578, 0, 22854 587, 574, 0, 575, 0, 0, 590, 591, 592, 593, 22855 0, 834, 594, 835, 597, 598, 0, 0, 599, 0, 22856 600, 0, 0, 602, 603, 604, 0, 0, 605, 606, 22857 836, 0, 607, 0, 837, 608, 609, 601, 610, 611, 22858 612, 613, 614, 615, 616, 617, 618, 619, 0, 620, 22859 621, 838, 622, 623, 624, 839, 625, 626, 627, 840, 22860 628, 841, 629, 630, 0, 631, 632, 633, 0, 634, 22861 635, 636, 637, 638, 639, 640, 641, 642, 643, 842, 22862 644, 645, 647, 646, 648, 649, 0, 650, 0, 651, 22863 652, 653, 0, 0, 0, 0, 0, 654, 655, 657, 22864 0, 658, 659, 660, 661, 662, 656, 663, 664, 665, 22865 666, 667, 668, 669, 0, 671, 672, 670, 673, 674, 22866 0, 675, 676, 677, 678, 679, 843, 680, 0, 681, 22867 682, 690, 691, 692, 683, 684, 686, 693, 685, 694, 22868 695, 696, 697, 699, 698, 0, 701, 702, 700, 703, 22869 704, 705, 706, 0, 707, 844, 708, 687, 688, 709, 22870 710, 711, 0, 712, 713, 714, 715, 716, 717, 718, 22871 719, 720, 845, 0, 721, 0, 722, 723, 724, 725, 22872 726, 727, 729, 689, 730, 731, 732, 737, 738, 846, 22873 733, 734, 735, 736, 847, 740, 741, 742, 743, 0, 22874 744, 745, 0, 739, 728, 0, 746, 747, 748, 749, 22875 750, 751, 752, 753, 754, 755, 0, 756, 848, 849, 22876 850, 851, 0, 768, 0, 757, 759, 760, 761, 762, 22877 852, 763, 853, 0, 764, 765, 766, 767, 758, 769, 22878 770, 0, 0, 771, 772, 773, 774, 776, 778, 779, 22879 780, 775, 777, 781, 0, 782, 0, 0, 783, 784, 22880 785, 854, 855, 856, 0, 787, 788, 786, 789, 790, 22881 793, 791, 792, 857, 796, 513, 797, 798, 799, 794, 22882 795, 1993, 0, 337, 0, 800, 801, 858, 802, 803, 22883 804, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22884 345, 346, 348, 347, 349, 350, 351, 352, 0, 353, 22885 354, 0, 0, 0, 0, 0, 805, 0, 0, 0, 22886 356, 0, 355, 0, 357, 358, 359, 0, 360, 361, 22887 362, 363, 364, 365, 366, 367, 806, 807, 0, 368, 22888 808, 369, 809, 0, 810, 370, 371, 372, 373, 374, 22889 375, 376, 377, 378, 379, 0, 0, 0, 380, 811, 22890 812, 813, 0, 381, 382, 383, 384, 814, 0, 0, 22891 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 22892 0, 394, 395, 396, 393, 397, 398, 0, 399, 0, 22893 400, 401, 402, 403, 404, 405, 406, 0, 407, 408, 22894 409, 0, 410, 411, 412, 0, 0, 0, 0, 0, 22895 0, 0, 413, 414, 415, 416, 417, 0, 418, 420, 22896 421, 815, 422, 816, 0, 425, 427, 419, 423, 0, 22897 426, 424, 428, 429, 0, 430, 431, 432, 433, 0, 22898 0, 434, 435, 436, 0, 437, 438, 440, 439, 0, 22899 441, 442, 443, 0, 444, 445, 817, 446, 447, 448, 22900 450, 452, 449, 451, 453, 454, 455, 456, 457, 818, 22901 819, 458, 459, 0, 0, 0, 0, 0, 0, 0, 22902 460, 461, 462, 820, 0, 0, 0, 463, 0, 465, 22903 469, 466, 467, 468, 470, 0, 464, 471, 472, 0, 22904 0, 473, 474, 475, 821, 822, 476, 477, 478, 479, 22905 480, 481, 482, 483, 484, 0, 485, 486, 823, 0, 22906 824, 487, 0, 488, 489, 490, 491, 492, 493, 494, 22907 825, 826, 827, 595, 0, 495, 496, 497, 0, 498, 22908 499, 500, 501, 502, 503, 504, 0, 0, 0, 505, 22909 506, 507, 508, 0, 0, 0, 0, 0, 828, 509, 22910 596, 510, 829, 830, 0, 831, 0, 511, 512, 515, 22911 0, 832, 0, 514, 516, 517, 0, 518, 0, 0, 22912 0, 519, 520, 521, 522, 523, 524, 525, 0, 526, 22913 528, 527, 0, 530, 833, 529, 0, 531, 532, 0, 22914 0, 533, 534, 535, 536, 537, 538, 541, 0, 0, 22915 539, 540, 542, 543, 0, 544, 545, 547, 550, 546, 22916 548, 549, 551, 552, 565, 566, 553, 554, 555, 556, 22917 557, 558, 559, 560, 561, 562, 563, 564, 568, 0, 22918 567, 0, 569, 570, 571, 572, 573, 581, 583, 584, 22919 579, 580, 582, 585, 586, 588, 589, 576, 577, 578, 22920 0, 587, 574, 0, 575, 0, 0, 590, 591, 592, 22921 593, 0, 834, 594, 835, 597, 598, 0, 0, 599, 22922 0, 600, 0, 0, 602, 603, 604, 0, 0, 605, 22923 606, 836, 0, 607, 0, 837, 608, 609, 601, 610, 22924 611, 612, 613, 614, 615, 616, 617, 618, 619, 0, 22925 620, 621, 838, 622, 623, 624, 839, 625, 626, 627, 22926 840, 628, 841, 629, 630, 0, 631, 632, 633, 0, 22927 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 22928 842, 644, 645, 647, 646, 648, 649, 0, 650, 0, 22929 651, 652, 653, 0, 0, 0, 0, 0, 654, 655, 22930 657, 0, 658, 659, 660, 661, 662, 656, 663, 664, 22931 665, 666, 667, 668, 669, 0, 671, 672, 670, 673, 22932 674, 0, 675, 676, 677, 678, 679, 843, 680, 0, 22933 681, 682, 690, 691, 692, 683, 684, 686, 693, 685, 22934 694, 695, 696, 697, 699, 698, 0, 701, 702, 700, 22935 703, 704, 705, 706, 0, 707, 844, 708, 687, 688, 22936 709, 710, 711, 0, 712, 713, 714, 715, 716, 717, 22937 718, 719, 720, 845, 0, 721, 0, 722, 723, 724, 22938 725, 726, 727, 729, 689, 730, 731, 732, 737, 738, 22939 846, 733, 734, 735, 736, 847, 740, 741, 742, 743, 22940 0, 744, 745, 0, 739, 728, 0, 746, 747, 748, 22941 749, 750, 751, 752, 753, 754, 755, 0, 756, 848, 22942 849, 850, 851, 0, 768, 0, 757, 759, 760, 761, 22943 762, 852, 763, 853, 0, 764, 765, 766, 767, 758, 22944 769, 770, 0, 0, 771, 772, 773, 774, 776, 778, 22945 779, 780, 775, 777, 781, 0, 782, 0, 0, 783, 22946 784, 785, 854, 855, 856, 0, 787, 788, 786, 789, 22947 790, 793, 791, 792, 857, 796, 513, 797, 798, 799, 22948 794, 795, 1965, 0, 337, 0, 800, 801, 858, 802, 22949 803, 804, 0, 0, 0, 0, 0, 0, 0, 0, 22950 0, 345, 346, 348, 347, 349, 350, 351, 352, 0, 22951 353, 354, 0, 0, 0, 0, 0, 805, 0, 0, 22952 0, 356, 0, 355, 0, 357, 358, 359, 0, 360, 22953 361, 362, 363, 364, 365, 366, 367, 806, 807, 0, 22954 368, 808, 369, 809, 0, 810, 370, 371, 372, 373, 22955 374, 375, 376, 377, 378, 379, 0, 0, 0, 380, 22956 811, 812, 813, 0, 381, 382, 383, 384, 814, 0, 22957 0, 0, 385, 386, 387, 388, 389, 390, 391, 392, 22958 0, 0, 394, 395, 396, 393, 397, 398, 0, 399, 22959 0, 400, 401, 402, 403, 404, 405, 406, 0, 407, 22960 408, 409, 0, 410, 411, 412, 0, 0, 0, 0, 22961 0, 0, 0, 413, 414, 415, 416, 417, 0, 418, 22962 420, 421, 815, 422, 816, 0, 425, 427, 419, 423, 22963 0, 426, 424, 428, 429, 0, 430, 431, 432, 433, 22964 0, 0, 434, 435, 436, 0, 437, 438, 440, 439, 22965 0, 441, 442, 443, 0, 444, 445, 817, 446, 447, 22966 448, 450, 452, 449, 451, 453, 454, 455, 456, 457, 22967 818, 819, 458, 459, 0, 0, 0, 0, 0, 0, 22968 0, 460, 461, 462, 820, 0, 0, 0, 463, 0, 22969 465, 469, 466, 467, 468, 470, 0, 464, 471, 472, 22970 0, 0, 473, 474, 475, 821, 822, 476, 477, 478, 22971 479, 480, 481, 482, 483, 484, 0, 485, 486, 823, 22972 0, 824, 487, 0, 488, 489, 490, 491, 492, 493, 22973 494, 825, 826, 827, 595, 0, 495, 496, 497, 0, 22974 498, 499, 500, 501, 502, 503, 504, 0, 0, 0, 22975 505, 506, 507, 508, 0, 0, 0, 0, 0, 828, 22976 509, 596, 510, 829, 830, 0, 831, 0, 511, 512, 22977 515, 0, 832, 0, 514, 516, 517, 0, 518, 0, 22978 0, 0, 519, 520, 521, 522, 523, 524, 525, 0, 22979 526, 528, 527, 0, 530, 833, 529, 0, 531, 532, 22980 0, 0, 533, 534, 535, 536, 537, 538, 541, 0, 22981 0, 539, 540, 542, 543, 0, 544, 545, 547, 550, 22982 546, 548, 549, 551, 552, 565, 566, 553, 554, 555, 22983 556, 557, 558, 559, 560, 561, 562, 563, 564, 568, 22984 0, 567, 0, 569, 570, 571, 572, 573, 581, 583, 22985 584, 579, 580, 582, 585, 586, 588, 589, 576, 577, 22986 578, 0, 587, 574, 0, 575, 0, 0, 590, 591, 22987 592, 593, 0, 834, 594, 835, 597, 598, 0, 0, 22988 599, 0, 600, 0, 0, 602, 603, 604, 0, 0, 22989 605, 606, 836, 0, 607, 0, 837, 608, 609, 601, 22990 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 22991 0, 620, 621, 838, 622, 623, 624, 839, 625, 626, 22992 627, 840, 628, 841, 629, 630, 0, 631, 632, 633, 22993 0, 634, 635, 636, 637, 638, 639, 640, 641, 642, 22994 643, 842, 644, 645, 647, 646, 648, 649, 0, 650, 22995 0, 651, 652, 653, 0, 0, 0, 0, 0, 654, 22996 655, 657, 0, 658, 659, 660, 661, 662, 656, 663, 22997 664, 665, 666, 667, 668, 669, 0, 671, 672, 670, 22998 673, 674, 0, 675, 676, 677, 678, 679, 843, 680, 22999 0, 681, 682, 690, 691, 692, 683, 684, 686, 693, 23000 685, 694, 695, 696, 697, 699, 698, 0, 701, 702, 23001 700, 703, 704, 705, 706, 0, 707, 844, 708, 687, 23002 688, 709, 710, 711, 0, 712, 713, 714, 715, 716, 23003 717, 718, 719, 720, 845, 0, 721, 0, 722, 723, 23004 724, 725, 726, 727, 729, 689, 730, 731, 732, 737, 23005 738, 846, 733, 734, 735, 736, 847, 740, 741, 742, 23006 743, 0, 744, 745, 0, 739, 728, 0, 746, 747, 23007 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 23008 848, 849, 850, 851, 0, 768, 0, 757, 759, 760, 23009 761, 762, 852, 763, 853, 0, 764, 765, 766, 767, 23010 758, 769, 770, 0, 0, 771, 772, 773, 774, 776, 23011 778, 779, 780, 775, 777, 781, 0, 782, 0, 0, 23012 783, 784, 785, 854, 855, 856, 0, 787, 788, 786, 23013 789, 790, 793, 791, 792, 857, 796, 513, 797, 798, 23014 799, 794, 795, 1663, 0, 337, 0, 800, 801, 858, 23015 802, 803, 804, 0, 0, 0, 0, 0, 0, 0, 23016 0, 0, 345, 346, 348, 347, 349, 350, 351, 352, 23017 0, 353, 354, 0, 0, 0, 0, 0, 805, 0, 23018 0, 0, 356, 0, 355, 0, 357, 358, 359, 0, 23019 360, 361, 362, 363, 364, 365, 366, 367, 806, 807, 23020 0, 368, 808, 369, 809, 0, 810, 370, 371, 372, 23021 373, 374, 375, 376, 377, 378, 379, 0, 0, 0, 23022 380, 811, 812, 813, 0, 381, 382, 383, 384, 814, 23023 0, 0, 0, 385, 386, 387, 388, 389, 390, 391, 23024 392, 0, 0, 394, 395, 396, 393, 397, 398, 0, 23025 399, 0, 400, 401, 402, 403, 404, 405, 406, 0, 23026 407, 408, 409, 0, 410, 411, 412, 0, 0, 0, 23027 0, 0, 0, 0, 413, 414, 415, 416, 417, 0, 23028 418, 420, 421, 815, 422, 816, 0, 425, 427, 419, 23029 423, 0, 426, 424, 428, 429, 0, 430, 431, 432, 23030 433, 0, 0, 434, 435, 436, 0, 437, 438, 440, 23031 439, 0, 441, 442, 443, 0, 444, 445, 817, 446, 23032 447, 448, 450, 452, 449, 451, 453, 454, 455, 456, 23033 457, 818, 819, 458, 459, 0, 0, 0, 0, 0, 23034 0, 0, 460, 461, 462, 820, 0, 0, 0, 463, 23035 0, 465, 469, 466, 467, 468, 470, 0, 464, 471, 23036 472, 0, 0, 473, 474, 475, 821, 822, 476, 477, 23037 478, 479, 480, 481, 482, 483, 484, 0, 485, 486, 23038 823, 0, 824, 487, 0, 488, 489, 490, 491, 492, 23039 493, 494, 825, 826, 827, 595, 0, 495, 496, 497, 23040 0, 498, 499, 500, 501, 502, 503, 504, 0, 0, 23041 0, 505, 506, 507, 508, 0, 0, 0, 0, 0, 23042 828, 509, 596, 510, 829, 830, 0, 831, 0, 511, 23043 512, 515, 0, 832, 0, 514, 516, 517, 0, 518, 23044 0, 0, 0, 519, 520, 521, 522, 523, 524, 525, 23045 0, 526, 528, 527, 0, 530, 833, 529, 0, 531, 23046 532, 0, 0, 533, 534, 535, 536, 537, 538, 541, 23047 0, 0, 539, 540, 542, 543, 0, 544, 545, 547, 23048 550, 546, 548, 549, 551, 552, 565, 566, 553, 554, 23049 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 23050 568, 0, 567, 0, 569, 570, 571, 572, 573, 581, 23051 583, 584, 579, 580, 582, 585, 586, 588, 589, 576, 23052 577, 578, 0, 587, 574, 0, 575, 0, 0, 590, 23053 591, 592, 593, 0, 834, 594, 835, 597, 598, 0, 23054 0, 599, 0, 600, 0, 0, 602, 603, 604, 0, 23055 0, 605, 606, 836, 0, 607, 0, 837, 608, 609, 23056 601, 610, 611, 612, 613, 614, 615, 616, 617, 618, 23057 619, 0, 620, 621, 838, 622, 623, 624, 839, 625, 23058 626, 627, 840, 628, 841, 629, 630, 0, 631, 632, 23059 633, 0, 634, 635, 636, 637, 638, 639, 640, 641, 23060 642, 643, 842, 644, 645, 647, 646, 648, 649, 0, 23061 650, 0, 651, 652, 653, 0, 0, 0, 0, 0, 23062 654, 655, 657, 0, 658, 659, 660, 661, 662, 656, 23063 663, 664, 665, 666, 667, 668, 669, 0, 671, 672, 23064 670, 673, 674, 0, 989, 676, 677, 678, 679, 843, 23065 680, 0, 681, 682, 690, 691, 692, 683, 684, 686, 23066 988, 685, 694, 695, 696, 697, 699, 698, 0, 701, 23067 702, 700, 703, 704, 705, 706, 0, 707, 844, 708, 23068 687, 688, 709, 710, 711, 0, 712, 713, 714, 715, 23069 716, 717, 718, 719, 720, 845, 0, 721, 0, 722, 23070 723, 724, 725, 726, 727, 729, 689, 730, 731, 732, 23071 737, 738, 846, 733, 734, 735, 736, 847, 740, 741, 23072 742, 743, 0, 744, 745, 0, 739, 728, 0, 746, 23073 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 23074 756, 986, 849, 850, 851, 0, 768, 0, 757, 759, 23075 760, 761, 762, 852, 763, 853, 0, 764, 765, 766, 23076 767, 758, 769, 770, 0, 0, 771, 772, 773, 774, 23077 776, 778, 779, 780, 775, 777, 781, 0, 782, 0, 23078 0, 783, 784, 785, 854, 855, 856, 0, 787, 788, 23079 786, 789, 790, 793, 791, 792, 857, 796, 513, 797, 23080 798, 799, 794, 795, 1633, 0, 337, 0, 800, 801, 23081 858, 802, 803, 804, 0, 0, 0, 0, 0, 0, 23082 0, 0, 0, 345, 346, 348, 347, 349, 350, 351, 23083 352, 0, 353, 354, 0, 0, 0, 0, 0, 805, 23084 0, 0, 0, 356, 0, 355, 0, 357, 358, 359, 23085 0, 360, 361, 362, 363, 364, 365, 366, 367, 806, 23086 807, 0, 368, 808, 369, 809, 0, 810, 370, 371, 23087 372, 373, 374, 375, 376, 377, 378, 379, 0, 0, 23088 0, 380, 811, 812, 813, 0, 381, 382, 383, 384, 23089 814, 0, 0, 0, 385, 386, 387, 388, 389, 390, 23090 391, 392, 0, 0, 394, 395, 396, 393, 397, 398, 23091 0, 399, 0, 400, 401, 402, 403, 404, 405, 406, 23092 0, 407, 408, 409, 0, 410, 411, 412, 0, 0, 23093 0, 0, 0, 0, 0, 413, 414, 415, 416, 417, 23094 0, 418, 420, 421, 815, 422, 816, 0, 425, 427, 23095 419, 423, 0, 426, 424, 428, 429, 0, 430, 431, 23096 432, 433, 0, 0, 434, 435, 436, 0, 437, 438, 23097 440, 439, 0, 441, 442, 443, 0, 444, 445, 817, 23098 446, 447, 448, 450, 452, 449, 451, 453, 454, 455, 23099 456, 457, 818, 819, 458, 459, 0, 0, 0, 0, 23100 0, 0, 0, 460, 461, 462, 820, 0, 0, 0, 23101 463, 0, 465, 469, 466, 467, 468, 470, 0, 464, 23102 471, 472, 0, 0, 473, 474, 475, 821, 822, 476, 23103 477, 478, 479, 480, 481, 482, 483, 484, 0, 485, 23104 486, 823, 0, 824, 487, 0, 488, 489, 490, 491, 23105 492, 493, 494, 1632, 826, 827, 595, 0, 495, 496, 23106 497, 0, 498, 499, 500, 501, 502, 503, 504, 0, 23107 0, 0, 505, 506, 507, 508, 0, 0, 0, 0, 23108 0, 828, 509, 596, 510, 829, 830, 0, 831, 0, 23109 511, 512, 515, 0, 832, 0, 514, 516, 517, 0, 23110 518, 0, 0, 0, 519, 520, 521, 522, 523, 524, 23111 525, 0, 526, 528, 527, 0, 530, 833, 529, 0, 23112 531, 532, 0, 0, 533, 534, 535, 536, 537, 538, 23113 541, 0, 0, 539, 540, 542, 543, 0, 544, 545, 23114 547, 550, 546, 548, 549, 551, 552, 565, 566, 553, 23115 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 23116 564, 568, 0, 567, 0, 569, 570, 571, 572, 573, 23117 581, 583, 584, 579, 580, 582, 585, 586, 588, 589, 23118 576, 577, 578, 0, 587, 574, 0, 575, 0, 0, 23119 590, 591, 592, 593, 0, 834, 594, 835, 597, 598, 23120 0, 0, 599, 0, 600, 0, 0, 602, 603, 604, 23121 0, 0, 605, 606, 836, 0, 607, 0, 837, 608, 23122 609, 601, 610, 611, 612, 613, 614, 615, 616, 617, 23123 618, 619, 0, 620, 621, 838, 622, 623, 624, 839, 23124 625, 626, 627, 840, 628, 841, 629, 630, 0, 631, 23125 632, 633, 0, 634, 635, 636, 637, 638, 639, 640, 23126 641, 642, 643, 842, 644, 645, 647, 646, 648, 649, 23127 0, 650, 0, 651, 652, 653, 0, 0, 0, 0, 23128 0, 654, 655, 657, 0, 658, 659, 660, 661, 662, 23129 656, 663, 664, 665, 666, 667, 668, 669, 0, 671, 23130 672, 670, 673, 674, 0, 675, 676, 677, 678, 679, 23131 843, 680, 0, 681, 682, 690, 691, 692, 683, 684, 23132 686, 693, 685, 694, 695, 696, 697, 699, 698, 0, 23133 701, 702, 700, 703, 704, 705, 706, 0, 707, 844, 23134 708, 687, 688, 709, 710, 711, 0, 712, 713, 714, 23135 715, 716, 717, 718, 719, 720, 845, 0, 721, 0, 23136 722, 723, 724, 725, 726, 727, 729, 689, 730, 731, 23137 732, 737, 738, 846, 733, 734, 735, 736, 847, 740, 23138 741, 742, 743, 0, 744, 745, 0, 739, 728, 0, 23139 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 23140 0, 756, 848, 849, 850, 851, 0, 768, 0, 757, 23141 759, 760, 761, 762, 852, 763, 853, 0, 764, 765, 23142 766, 767, 758, 769, 770, 0, 0, 771, 772, 773, 23143 774, 776, 778, 779, 780, 775, 777, 781, 0, 782, 23144 0, 0, 783, 784, 785, 854, 855, 856, 0, 787, 23145 788, 786, 789, 790, 793, 791, 792, 857, 796, 513, 23146 797, 798, 799, 794, 795, 1619, 0, 337, 0, 800, 23147 801, 858, 802, 803, 804, 0, 0, 0, 0, 0, 23148 0, 0, 0, 0, 345, 346, 348, 347, 349, 350, 23149 351, 352, 0, 353, 354, 0, 0, 0, 0, 0, 23150 805, 0, 0, 0, 356, 0, 355, 0, 357, 358, 23151 359, 0, 360, 361, 362, 363, 364, 365, 366, 367, 23152 806, 807, 0, 368, 808, 369, 809, 0, 810, 370, 23153 371, 372, 373, 374, 375, 376, 377, 378, 379, 0, 23154 0, 0, 380, 811, 812, 813, 0, 381, 382, 383, 23155 384, 814, 0, 0, 0, 385, 386, 387, 388, 389, 23156 390, 391, 392, 0, 0, 394, 395, 396, 393, 397, 23157 398, 0, 399, 0, 400, 401, 402, 403, 404, 405, 23158 406, 0, 407, 408, 409, 0, 410, 411, 412, 0, 23159 0, 0, 0, 0, 0, 0, 413, 414, 415, 416, 23160 417, 0, 418, 420, 421, 815, 422, 816, 0, 425, 23161 427, 419, 423, 0, 426, 424, 428, 429, 0, 430, 23162 431, 432, 433, 0, 0, 434, 435, 436, 0, 437, 23163 438, 440, 439, 0, 441, 442, 443, 0, 444, 445, 23164 817, 446, 447, 448, 450, 452, 449, 451, 453, 454, 23165 455, 456, 457, 818, 819, 458, 459, 0, 0, 0, 23166 0, 0, 0, 0, 460, 461, 462, 820, 0, 0, 23167 0, 463, 0, 465, 469, 466, 467, 468, 470, 0, 23168 464, 471, 472, 0, 0, 473, 474, 475, 821, 822, 23169 476, 477, 478, 479, 480, 481, 482, 483, 484, 0, 23170 485, 486, 823, 0, 824, 487, 0, 488, 489, 490, 23171 491, 492, 493, 494, 1618, 826, 827, 595, 0, 495, 23172 496, 497, 0, 498, 499, 500, 501, 502, 503, 504, 23173 0, 0, 0, 505, 506, 507, 508, 0, 0, 0, 23174 0, 0, 828, 509, 596, 510, 829, 830, 0, 831, 23175 0, 511, 512, 515, 0, 832, 0, 514, 516, 517, 23176 0, 518, 0, 0, 0, 519, 520, 521, 522, 523, 23177 524, 525, 0, 526, 528, 527, 0, 530, 833, 529, 23178 0, 531, 532, 0, 0, 533, 534, 535, 536, 537, 23179 538, 541, 0, 0, 539, 540, 542, 543, 0, 544, 23180 545, 547, 550, 546, 548, 549, 551, 552, 565, 566, 23181 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 23182 563, 564, 568, 0, 567, 0, 569, 570, 571, 572, 23183 573, 581, 583, 584, 579, 580, 582, 585, 586, 588, 23184 589, 576, 577, 578, 0, 587, 574, 0, 575, 0, 23185 0, 590, 591, 592, 593, 0, 834, 594, 835, 597, 23186 598, 0, 0, 599, 0, 600, 0, 0, 602, 603, 23187 604, 0, 0, 605, 606, 836, 0, 607, 0, 837, 23188 608, 609, 601, 610, 611, 612, 613, 614, 615, 616, 23189 617, 618, 619, 0, 620, 621, 838, 622, 623, 624, 23190 839, 625, 626, 627, 840, 628, 841, 629, 630, 0, 23191 631, 632, 633, 0, 634, 635, 636, 637, 638, 639, 23192 640, 641, 642, 643, 842, 644, 645, 647, 646, 648, 23193 649, 0, 650, 0, 651, 652, 653, 0, 0, 0, 23194 0, 0, 654, 655, 657, 0, 658, 659, 660, 661, 23195 662, 656, 663, 664, 665, 666, 667, 668, 669, 0, 23196 671, 672, 670, 673, 674, 0, 675, 676, 677, 678, 23197 679, 843, 680, 0, 681, 682, 690, 691, 692, 683, 23198 684, 686, 693, 685, 694, 695, 696, 697, 699, 698, 23199 0, 701, 702, 700, 703, 704, 705, 706, 0, 707, 23200 844, 708, 687, 688, 709, 710, 711, 0, 712, 713, 23201 714, 715, 716, 717, 718, 719, 720, 845, 0, 721, 23202 0, 722, 723, 724, 725, 726, 727, 729, 689, 730, 23203 731, 732, 737, 738, 846, 733, 734, 735, 736, 847, 23204 740, 741, 742, 743, 0, 744, 745, 0, 739, 728, 23205 0, 746, 747, 748, 749, 750, 751, 752, 753, 754, 23206 755, 0, 756, 848, 849, 850, 851, 0, 768, 0, 23207 757, 759, 760, 761, 762, 852, 763, 853, 0, 764, 23208 765, 766, 767, 758, 769, 770, 0, 0, 771, 772, 23209 773, 774, 776, 778, 779, 780, 775, 777, 781, 0, 23210 782, 0, 0, 783, 784, 785, 854, 855, 856, 0, 23211 787, 788, 786, 789, 790, 793, 791, 792, 857, 796, 23212 513, 797, 798, 799, 794, 795, 337, 0, 0, 0, 23213 800, 801, 858, 802, 803, 804, 0, 0, 0, 0, 23214 0, 0, 0, 345, 346, 348, 347, 349, 350, 351, 23215 352, 1557, 353, 354, 0, 0, 0, 0, 0, 805, 23216 0, 0, 0, 356, 0, 355, 0, 357, 358, 359, 23217 0, 360, 361, 362, 363, 364, 365, 366, 367, 806, 23218 807, 0, 368, 808, 369, 809, 0, 810, 370, 371, 23219 372, 373, 374, 375, 376, 377, 378, 379, 0, 0, 23220 0, 380, 811, 812, 813, 0, 381, 382, 383, 384, 23221 814, 0, 0, 0, 385, 386, 387, 388, 389, 390, 23222 391, 392, 0, 0, 394, 395, 396, 393, 397, 398, 23223 0, 399, 0, 400, 401, 402, 403, 404, 405, 406, 23224 0, 407, 408, 409, 0, 410, 411, 412, 0, 0, 23225 0, 0, 0, 0, 0, 413, 414, 415, 416, 417, 23226 0, 418, 420, 421, 815, 422, 816, 0, 425, 427, 23227 419, 423, 0, 426, 424, 428, 429, 0, 430, 431, 23228 432, 433, 0, 0, 434, 435, 436, 0, 437, 438, 23229 440, 439, 0, 441, 442, 443, 0, 444, 445, 817, 23230 446, 447, 448, 450, 452, 449, 451, 453, 454, 455, 23231 456, 457, 818, 819, 458, 459, 0, 0, 0, 0, 23232 0, 0, 0, 460, 461, 462, 820, 0, 0, 0, 23233 463, 0, 465, 469, 466, 467, 468, 470, 0, 464, 23234 471, 472, 0, 0, 473, 474, 475, 821, 822, 476, 23235 477, 478, 479, 480, 481, 482, 483, 484, 0, 485, 23236 486, 823, 0, 824, 487, 0, 488, 489, 490, 491, 23237 492, 493, 494, 825, 826, 827, 595, 0, 495, 496, 23238 497, 0, 498, 499, 500, 501, 502, 503, 504, 0, 23239 0, 0, 505, 506, 507, 508, 0, 0, 0, 0, 23240 0, 828, 509, 596, 510, 829, 830, 0, 831, 0, 23241 511, 512, 515, 0, 832, 0, 514, 516, 517, 0, 23242 518, 0, 0, 0, 519, 520, 521, 522, 523, 524, 23243 525, 0, 526, 528, 527, 0, 530, 833, 529, 0, 23244 531, 532, 0, 0, 533, 534, 535, 536, 537, 538, 23245 541, 0, 0, 539, 540, 542, 543, 0, 544, 545, 23246 547, 550, 546, 548, 549, 551, 552, 565, 566, 553, 23247 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 23248 564, 568, 0, 567, 0, 569, 570, 571, 572, 573, 23249 581, 583, 584, 579, 580, 582, 585, 586, 588, 589, 23250 576, 577, 578, 0, 587, 574, 0, 575, 0, 0, 23251 590, 591, 592, 593, 0, 834, 594, 835, 597, 598, 23252 0, 0, 599, 0, 600, 0, 0, 602, 603, 604, 23253 0, 0, 605, 606, 836, 0, 607, 0, 837, 608, 23254 609, 601, 610, 611, 612, 613, 614, 615, 616, 617, 23255 618, 619, 0, 620, 621, 838, 622, 623, 624, 839, 23256 625, 626, 627, 840, 628, 841, 629, 630, 0, 631, 23257 632, 633, 0, 634, 635, 636, 637, 638, 639, 640, 23258 641, 642, 643, 842, 644, 645, 647, 646, 648, 649, 23259 0, 650, 0, 651, 652, 653, 0, 0, 0, 0, 23260 0, 654, 655, 657, 0, 658, 659, 660, 661, 662, 23261 656, 663, 664, 665, 666, 667, 668, 669, 0, 671, 23262 672, 670, 673, 674, 0, 675, 676, 677, 678, 679, 23263 843, 680, 0, 681, 682, 690, 691, 692, 683, 684, 23264 686, 693, 685, 694, 695, 696, 697, 699, 698, 0, 23265 701, 702, 700, 703, 704, 705, 706, 0, 707, 844, 23266 708, 687, 688, 709, 710, 711, 0, 712, 713, 714, 23267 715, 716, 717, 718, 719, 720, 845, 0, 721, 0, 23268 722, 723, 724, 725, 726, 727, 729, 689, 730, 731, 23269 732, 737, 738, 846, 733, 734, 735, 736, 847, 740, 23270 741, 742, 743, 0, 744, 745, 0, 739, 728, 0, 23271 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 23272 0, 756, 848, 849, 850, 851, 0, 768, 0, 757, 23273 759, 760, 761, 762, 852, 763, 853, 0, 764, 765, 23274 766, 767, 758, 769, 770, 0, 0, 771, 772, 773, 23275 774, 776, 778, 779, 780, 775, 777, 781, 0, 782, 23276 0, 0, 783, 784, 785, 854, 855, 856, 0, 787, 23277 788, 786, 789, 790, 793, 791, 792, 857, 796, 513, 23278 797, 798, 799, 794, 795, 1000, 0, 337, 0, 800, 23279 801, 858, 802, 803, 804, 0, 0, 0, 0, 0, 23280 0, 0, 0, 0, 345, 346, 348, 347, 349, 350, 23281 351, 352, 0, 353, 354, 0, 0, 0, 0, 0, 23282 805, 0, 0, 0, 356, 0, 355, 0, 357, 358, 23283 359, 0, 360, 361, 362, 363, 364, 365, 366, 367, 23284 806, 807, 0, 368, 808, 369, 809, 0, 810, 370, 23285 371, 372, 373, 374, 375, 376, 377, 378, 379, 0, 23286 0, 0, 380, 811, 812, 813, 0, 381, 382, 383, 23287 384, 814, 0, 0, 0, 385, 386, 387, 388, 389, 23288 390, 391, 392, 0, 0, 394, 395, 396, 393, 397, 23289 398, 0, 399, 0, 400, 401, 402, 403, 404, 405, 23290 406, 0, 407, 408, 409, 0, 410, 411, 412, 0, 23291 0, 0, 0, 0, 0, 0, 413, 414, 415, 416, 23292 417, 0, 418, 420, 421, 815, 422, 816, 0, 425, 23293 427, 419, 423, 0, 426, 424, 428, 429, 0, 430, 23294 431, 432, 433, 0, 0, 434, 435, 436, 0, 437, 23295 438, 440, 439, 0, 441, 442, 443, 0, 444, 445, 23296 817, 446, 447, 448, 450, 452, 449, 451, 453, 454, 23297 455, 456, 457, 818, 819, 458, 459, 0, 0, 0, 23298 0, 0, 0, 0, 460, 461, 462, 820, 0, 0, 23299 0, 463, 0, 465, 469, 466, 467, 468, 470, 0, 23300 464, 471, 472, 0, 0, 473, 474, 475, 821, 822, 23301 476, 477, 478, 479, 480, 481, 482, 483, 484, 0, 23302 485, 486, 823, 0, 824, 487, 0, 488, 489, 490, 23303 491, 492, 493, 494, 825, 826, 827, 595, 0, 495, 23304 496, 497, 0, 498, 499, 500, 501, 502, 503, 504, 23305 0, 0, 0, 505, 506, 507, 508, 0, 0, 0, 23306 0, 0, 828, 509, 596, 510, 829, 830, 0, 831, 23307 0, 511, 512, 515, 0, 832, 0, 514, 516, 517, 23308 0, 518, 0, 0, 0, 519, 520, 521, 522, 523, 23309 524, 525, 0, 526, 528, 527, 0, 530, 833, 529, 23310 0, 531, 532, 0, 0, 533, 534, 535, 536, 537, 23311 538, 541, 0, 0, 539, 540, 542, 543, 0, 544, 23312 545, 547, 550, 546, 548, 549, 551, 552, 565, 566, 23313 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 23314 563, 564, 568, 0, 567, 0, 569, 570, 571, 572, 23315 573, 581, 583, 584, 579, 580, 582, 585, 586, 588, 23316 589, 576, 577, 578, 0, 587, 574, 0, 575, 0, 23317 0, 590, 591, 592, 593, 0, 834, 594, 835, 597, 23318 598, 0, 0, 599, 0, 600, 0, 0, 602, 603, 23319 604, 0, 0, 605, 606, 836, 0, 607, 0, 837, 23320 608, 609, 601, 610, 611, 612, 613, 614, 615, 616, 23321 617, 618, 619, 0, 620, 621, 838, 622, 623, 624, 23322 839, 625, 626, 627, 840, 628, 841, 629, 630, 0, 23323 631, 632, 633, 0, 634, 635, 636, 637, 638, 639, 23324 640, 641, 642, 643, 842, 644, 645, 647, 646, 648, 23325 649, 0, 650, 0, 651, 652, 653, 0, 0, 0, 23326 0, 0, 654, 655, 657, 0, 658, 659, 660, 661, 23327 662, 656, 663, 664, 665, 666, 667, 668, 669, 0, 23328 671, 672, 670, 673, 674, 0, 675, 676, 677, 678, 23329 679, 843, 680, 0, 681, 682, 690, 691, 692, 683, 23330 684, 686, 693, 685, 694, 695, 696, 697, 699, 698, 23331 0, 701, 702, 700, 703, 704, 705, 706, 0, 707, 23332 844, 708, 687, 688, 709, 710, 711, 0, 712, 713, 23333 714, 715, 716, 717, 718, 719, 720, 845, 0, 721, 23334 0, 722, 723, 724, 725, 726, 727, 729, 689, 730, 23335 731, 732, 737, 738, 846, 733, 734, 735, 736, 847, 23336 740, 741, 742, 743, 0, 744, 745, 0, 739, 728, 23337 0, 746, 747, 748, 749, 750, 751, 752, 753, 754, 23338 755, 0, 756, 848, 849, 850, 851, 0, 768, 0, 23339 757, 759, 760, 761, 762, 852, 763, 853, 0, 764, 23340 765, 766, 767, 758, 769, 770, 0, 0, 771, 772, 23341 773, 774, 776, 778, 779, 780, 775, 777, 781, 0, 23342 782, 0, 0, 783, 784, 785, 854, 855, 856, 0, 23343 787, 788, 786, 789, 790, 793, 791, 792, 857, 796, 23344 513, 797, 798, 799, 794, 795, 980, 0, 337, 0, 23345 800, 801, 858, 802, 803, 804, 0, 0, 0, 0, 23346 0, 0, 0, 0, 0, 345, 346, 348, 347, 349, 23347 350, 351, 352, 0, 353, 354, 0, 0, 0, 0, 23348 0, 805, 0, 0, 0, 356, 0, 355, 0, 357, 23349 358, 359, 0, 360, 361, 362, 363, 364, 365, 366, 23350 367, 806, 807, 0, 368, 808, 369, 809, 0, 810, 23351 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 23352 0, 0, 0, 380, 811, 812, 813, 0, 381, 382, 23353 976, 384, 814, 0, 0, 0, 385, 386, 387, 388, 23354 389, 390, 391, 392, 0, 0, 394, 395, 396, 393, 23355 397, 398, 0, 975, 0, 400, 401, 402, 403, 404, 23356 405, 406, 0, 407, 408, 409, 0, 410, 411, 412, 23357 0, 0, 0, 0, 0, 0, 0, 413, 414, 415, 23358 416, 417, 0, 418, 420, 421, 815, 422, 816, 0, 23359 425, 427, 419, 423, 0, 426, 424, 428, 429, 0, 23360 430, 431, 432, 433, 0, 0, 434, 435, 436, 0, 23361 437, 438, 440, 439, 0, 441, 442, 443, 0, 444, 23362 445, 817, 446, 447, 448, 450, 452, 449, 451, 453, 23363 454, 455, 456, 457, 818, 819, 458, 459, 0, 0, 23364 0, 0, 0, 0, 0, 460, 461, 462, 820, 0, 23365 0, 0, 463, 0, 465, 469, 466, 467, 468, 470, 23366 0, 464, 471, 472, 0, 0, 473, 474, 475, 821, 23367 822, 476, 477, 478, 479, 480, 481, 482, 483, 484, 23368 0, 485, 486, 823, 0, 824, 487, 0, 488, 489, 23369 490, 491, 492, 493, 494, 825, 826, 827, 595, 0, 23370 495, 496, 497, 0, 498, 499, 500, 501, 502, 503, 23371 504, 0, 0, 0, 505, 506, 507, 508, 0, 0, 23372 0, 0, 0, 828, 509, 596, 510, 829, 830, 0, 23373 831, 0, 511, 512, 515, 0, 832, 0, 514, 516, 23374 517, 0, 518, 0, 0, 0, 519, 520, 521, 522, 23375 523, 524, 525, 0, 526, 528, 527, 0, 530, 833, 23376 529, 0, 531, 532, 0, 0, 533, 534, 535, 536, 23377 537, 981, 541, 0, 0, 539, 540, 542, 543, 0, 23378 544, 545, 547, 550, 546, 548, 549, 551, 552, 565, 23379 566, 553, 554, 555, 556, 557, 558, 559, 560, 561, 23380 562, 563, 564, 568, 0, 990, 0, 569, 570, 571, 23381 572, 573, 581, 583, 584, 579, 580, 582, 585, 586, 23382 588, 589, 576, 577, 578, 0, 587, 574, 0, 575, 23383 0, 0, 590, 591, 592, 593, 0, 834, 594, 835, 23384 597, 598, 0, 0, 599, 0, 600, 0, 0, 602, 23385 603, 604, 0, 0, 605, 606, 836, 0, 607, 0, 23386 837, 608, 609, 601, 610, 611, 612, 613, 614, 615, 23387 616, 617, 618, 619, 0, 620, 621, 838, 622, 623, 23388 624, 839, 625, 626, 627, 840, 628, 841, 629, 630, 23389 0, 631, 632, 633, 0, 634, 635, 636, 637, 638, 23390 639, 640, 641, 642, 643, 842, 644, 645, 647, 646, 23391 648, 649, 0, 650, 0, 651, 652, 653, 0, 0, 23392 0, 0, 0, 654, 655, 657, 0, 658, 659, 660, 23393 661, 662, 656, 663, 664, 665, 666, 667, 668, 669, 23394 0, 671, 672, 670, 673, 674, 0, 989, 676, 677, 23395 678, 679, 977, 680, 0, 681, 682, 690, 691, 692, 23396 683, 684, 686, 988, 685, 694, 695, 696, 697, 699, 23397 698, 0, 701, 702, 700, 703, 704, 978, 706, 0, 23398 707, 844, 708, 687, 688, 709, 710, 711, 0, 712, 23399 713, 714, 715, 716, 717, 718, 719, 720, 845, 0, 23400 721, 0, 722, 723, 724, 725, 726, 727, 729, 689, 23401 730, 731, 732, 737, 738, 846, 733, 734, 735, 736, 23402 847, 740, 741, 742, 743, 0, 744, 745, 0, 739, 23403 728, 0, 746, 747, 748, 749, 750, 751, 752, 753, 23404 754, 755, 0, 756, 986, 849, 850, 851, 0, 768, 23405 0, 757, 982, 760, 761, 762, 852, 763, 853, 0, 23406 764, 765, 766, 767, 758, 769, 770, 0, 0, 771, 23407 772, 773, 774, 776, 778, 779, 780, 775, 777, 781, 23408 0, 782, 0, 0, 783, 784, 785, 854, 855, 856, 23409 0, 787, 788, 786, 789, 790, 793, 791, 792, 857, 23410 796, 513, 797, 798, 799, 794, 795, 969, 0, 337, 23411 0, 800, 801, 858, 802, 803, 804, 0, 0, 0, 23412 0, 0, 0, 0, 0, 0, 345, 346, 348, 347, 23413 349, 350, 351, 352, 0, 353, 354, 0, 0, 0, 23414 0, 0, 805, 0, 0, 0, 356, 0, 355, 0, 23415 357, 358, 359, 0, 360, 361, 362, 363, 364, 365, 23416 366, 367, 806, 807, 0, 368, 808, 369, 809, 0, 23417 810, 370, 371, 372, 373, 374, 375, 376, 377, 378, 23418 379, 0, 0, 0, 380, 811, 812, 813, 0, 381, 23419 382, 383, 384, 814, 0, 0, 0, 385, 386, 387, 23420 388, 389, 390, 391, 392, 0, 0, 394, 395, 396, 23421 393, 397, 398, 0, 399, 0, 400, 401, 402, 403, 23422 404, 405, 406, 0, 407, 408, 409, 0, 410, 411, 23423 412, 0, 0, 0, 0, 0, 0, 0, 413, 414, 23424 415, 416, 417, 0, 418, 420, 421, 815, 422, 816, 23425 0, 425, 427, 419, 423, 0, 426, 424, 428, 429, 23426 0, 430, 431, 432, 433, 0, 0, 434, 435, 436, 23427 0, 437, 438, 440, 439, 0, 441, 442, 443, 0, 23428 444, 445, 817, 446, 447, 448, 450, 452, 449, 451, 23429 453, 454, 455, 456, 457, 818, 819, 458, 459, 0, 23430 0, 0, 0, 0, 0, 0, 460, 461, 462, 820, 23431 0, 0, 0, 463, 0, 465, 469, 466, 467, 468, 23432 470, 0, 464, 471, 472, 0, 0, 473, 474, 475, 23433 821, 822, 476, 477, 478, 479, 480, 481, 482, 483, 23434 484, 0, 485, 486, 823, 0, 824, 487, 0, 488, 23435 489, 490, 491, 492, 493, 494, 825, 826, 827, 595, 23436 0, 495, 496, 497, 0, 498, 499, 500, 501, 502, 23437 503, 504, 0, 0, 0, 505, 506, 507, 508, 0, 23438 0, 0, 0, 0, 828, 509, 596, 510, 829, 830, 23439 0, 831, 0, 511, 512, 515, 0, 832, 0, 514, 23440 516, 517, 0, 518, 0, 0, 0, 519, 520, 521, 23441 522, 523, 524, 525, 0, 526, 528, 527, 0, 530, 23442 833, 529, 0, 531, 532, 0, 0, 533, 534, 535, 23443 536, 537, 538, 541, 0, 0, 539, 540, 542, 543, 23444 0, 544, 545, 547, 550, 546, 548, 549, 551, 552, 23445 565, 566, 553, 554, 555, 556, 557, 558, 559, 560, 23446 561, 562, 563, 564, 568, 0, 567, 0, 569, 570, 23447 571, 572, 573, 581, 583, 584, 579, 580, 582, 585, 23448 586, 588, 589, 576, 577, 578, 0, 587, 574, 0, 23449 575, 0, 0, 590, 591, 592, 593, 0, 834, 594, 23450 835, 597, 598, 0, 0, 599, 0, 600, 0, 0, 23451 602, 603, 604, 0, 0, 605, 606, 836, 0, 607, 23452 0, 837, 608, 609, 601, 610, 611, 612, 613, 614, 23453 615, 616, 617, 618, 619, 0, 620, 621, 838, 622, 23454 623, 624, 839, 625, 626, 627, 840, 628, 841, 629, 23455 630, 0, 631, 632, 633, 0, 634, 635, 636, 637, 23456 638, 639, 640, 641, 642, 643, 842, 644, 645, 647, 23457 646, 648, 649, 0, 650, 0, 651, 652, 653, 0, 23458 0, 0, 0, 0, 654, 655, 657, 0, 658, 659, 23459 660, 661, 662, 656, 663, 664, 665, 666, 667, 668, 23460 669, 0, 671, 672, 670, 673, 674, 0, 675, 676, 23461 677, 678, 679, 843, 680, 0, 681, 682, 970, 691, 23462 692, 683, 684, 686, 693, 685, 694, 695, 696, 697, 23463 699, 698, 0, 701, 702, 700, 703, 704, 705, 706, 23464 0, 707, 844, 708, 687, 688, 709, 710, 711, 0, 23465 712, 713, 714, 715, 716, 717, 718, 719, 720, 845, 23466 0, 721, 0, 722, 723, 724, 725, 726, 727, 729, 23467 689, 730, 731, 732, 737, 738, 846, 733, 734, 735, 23468 736, 847, 740, 741, 742, 743, 0, 744, 745, 0, 23469 739, 728, 0, 746, 747, 748, 749, 750, 751, 752, 23470 753, 754, 755, 0, 756, 848, 849, 850, 851, 0, 23471 768, 0, 757, 759, 760, 761, 762, 852, 763, 853, 23472 0, 764, 765, 766, 767, 758, 769, 770, 0, 0, 23473 771, 772, 773, 774, 776, 778, 779, 780, 775, 777, 23474 781, 0, 782, 0, 0, 783, 784, 785, 854, 855, 23475 856, 0, 787, 788, 786, 789, 790, 793, 791, 792, 23476 857, 796, 513, 797, 798, 799, 794, 795, 927, 0, 23477 337, 0, 800, 801, 858, 802, 803, 804, 0, 0, 23478 0, 0, 0, 0, 0, 0, 0, 345, 346, 348, 23479 347, 349, 350, 351, 352, 0, 353, 354, 0, 0, 23480 0, 0, 0, 805, 0, 0, 0, 356, 0, 355, 23481 0, 357, 358, 359, 0, 360, 361, 362, 363, 364, 23482 365, 366, 367, 806, 807, 0, 368, 808, 369, 809, 23483 0, 810, 370, 371, 372, 373, 374, 375, 376, 377, 23484 378, 379, 0, 0, 0, 380, 811, 812, 813, 0, 23485 381, 382, 383, 384, 814, 0, 0, 0, 385, 386, 23486 387, 388, 389, 390, 391, 392, 0, 0, 394, 395, 23487 396, 393, 397, 398, 0, 399, 0, 400, 401, 402, 23488 403, 404, 405, 406, 0, 407, 408, 409, 0, 410, 23489 411, 412, 0, 0, 0, 0, 0, 0, 0, 413, 23490 414, 415, 416, 417, 0, 418, 420, 421, 815, 422, 23491 816, 0, 425, 427, 419, 423, 0, 426, 424, 428, 23492 429, 0, 430, 431, 432, 433, 0, 0, 434, 435, 23493 436, 0, 437, 438, 440, 439, 0, 441, 442, 443, 23494 0, 444, 445, 817, 446, 447, 448, 450, 452, 449, 23495 451, 453, 454, 455, 456, 457, 818, 819, 458, 459, 23496 0, 0, 0, 0, 0, 0, 0, 460, 461, 462, 23497 820, 0, 0, 0, 463, 0, 465, 469, 466, 467, 23498 468, 470, 0, 464, 471, 472, 0, 0, 473, 474, 23499 475, 821, 822, 476, 477, 478, 479, 480, 481, 482, 23500 483, 484, 0, 485, 486, 823, 0, 824, 487, 0, 23501 488, 489, 490, 491, 492, 493, 494, 825, 826, 827, 23502 595, 0, 495, 496, 497, 0, 498, 499, 500, 501, 23503 502, 503, 504, 0, 0, 0, 505, 506, 507, 508, 23504 0, 0, 0, 0, 0, 828, 509, 596, 510, 829, 23505 830, 0, 831, 0, 511, 512, 515, 0, 832, 0, 23506 514, 516, 517, 0, 518, 0, 0, 0, 519, 520, 23507 521, 522, 523, 524, 525, 0, 526, 528, 527, 0, 23508 530, 833, 529, 0, 531, 532, 0, 0, 533, 534, 23509 535, 536, 537, 538, 541, 0, 0, 539, 540, 542, 23510 543, 0, 544, 545, 547, 550, 546, 548, 549, 551, 23511 552, 565, 566, 553, 554, 555, 556, 557, 558, 559, 23512 560, 561, 562, 563, 564, 568, 0, 567, 0, 569, 23513 570, 571, 572, 573, 581, 583, 584, 579, 580, 582, 23514 585, 586, 588, 589, 576, 577, 578, 0, 587, 574, 23515 0, 575, 0, 0, 590, 591, 592, 593, 0, 834, 23516 594, 835, 597, 598, 0, 0, 599, 0, 600, 0, 23517 0, 602, 603, 604, 0, 0, 605, 606, 836, 0, 23518 607, 0, 837, 608, 609, 601, 610, 611, 612, 613, 23519 614, 615, 616, 617, 618, 619, 0, 620, 621, 838, 23520 622, 623, 624, 839, 625, 626, 627, 840, 628, 841, 23521 629, 630, 0, 631, 632, 633, 0, 634, 635, 636, 23522 637, 638, 639, 640, 641, 642, 643, 842, 644, 645, 23523 647, 646, 648, 649, 0, 650, 0, 651, 652, 653, 23524 0, 0, 0, 0, 0, 654, 655, 657, 0, 658, 23525 659, 660, 661, 662, 656, 663, 664, 665, 666, 667, 23526 668, 669, 0, 671, 672, 670, 673, 674, 0, 675, 23527 676, 677, 678, 679, 843, 680, 0, 681, 682, 690, 23528 691, 692, 683, 684, 686, 693, 685, 694, 695, 696, 23529 697, 699, 698, 0, 701, 702, 700, 703, 704, 705, 23530 706, 0, 707, 844, 708, 687, 688, 709, 710, 711, 23531 0, 712, 713, 714, 715, 716, 717, 718, 719, 720, 23532 845, 0, 721, 0, 722, 723, 724, 725, 726, 727, 23533 729, 689, 730, 731, 732, 737, 738, 846, 733, 734, 23534 735, 736, 847, 740, 741, 742, 743, 0, 744, 745, 23535 0, 739, 728, 0, 746, 747, 748, 749, 750, 751, 23536 752, 753, 754, 755, 0, 756, 848, 849, 850, 851, 23537 0, 768, 0, 757, 759, 760, 761, 762, 852, 763, 23538 853, 0, 764, 765, 766, 767, 758, 769, 770, 0, 23539 0, 771, 772, 773, 774, 776, 778, 779, 780, 775, 23540 777, 781, 0, 782, 0, 0, 783, 784, 785, 854, 23541 855, 856, 0, 787, 788, 786, 789, 790, 793, 791, 23542 792, 857, 796, 513, 797, 798, 799, 794, 795, 919, 23543 0, 337, 0, 800, 801, 858, 802, 803, 804, 0, 23544 0, 0, 0, 0, 0, 0, 0, 0, 345, 346, 23545 348, 347, 349, 350, 351, 352, 0, 353, 354, 0, 23546 0, 0, 0, 0, 805, 0, 0, 0, 356, 0, 23547 355, 0, 357, 358, 359, 0, 360, 361, 362, 363, 23548 364, 365, 366, 367, 806, 807, 0, 368, 808, 369, 23549 809, 0, 810, 370, 371, 372, 373, 374, 375, 376, 23550 377, 378, 379, 0, 0, 0, 380, 811, 812, 813, 23551 0, 381, 382, 383, 384, 814, 0, 0, 0, 385, 23552 386, 387, 388, 389, 390, 391, 392, 0, 0, 394, 23553 395, 396, 393, 397, 398, 0, 399, 0, 400, 401, 23554 402, 403, 404, 405, 406, 0, 407, 408, 409, 0, 23555 410, 411, 412, 0, 0, 0, 0, 0, 0, 0, 23556 413, 414, 415, 416, 417, 0, 418, 420, 421, 815, 23557 422, 816, 0, 425, 427, 419, 423, 0, 426, 424, 23558 428, 429, 0, 430, 431, 432, 433, 0, 0, 434, 23559 435, 436, 0, 437, 438, 440, 439, 0, 441, 442, 23560 443, 0, 444, 445, 817, 446, 447, 448, 450, 452, 23561 449, 451, 453, 454, 455, 456, 457, 818, 819, 458, 23562 459, 0, 0, 0, 0, 0, 0, 0, 460, 461, 23563 462, 820, 0, 0, 0, 463, 0, 465, 469, 466, 23564 467, 468, 470, 0, 464, 471, 472, 0, 0, 473, 23565 474, 475, 821, 822, 476, 477, 478, 479, 480, 481, 23566 482, 483, 484, 0, 485, 486, 823, 0, 824, 487, 23567 0, 488, 489, 490, 491, 492, 493, 494, 825, 826, 23568 827, 595, 0, 495, 496, 497, 0, 498, 499, 500, 23569 501, 502, 503, 504, 0, 0, 0, 505, 506, 507, 23570 508, 0, 0, 0, 0, 0, 828, 509, 596, 510, 23571 829, 830, 0, 831, 0, 511, 512, 515, 0, 832, 23572 0, 514, 516, 517, 0, 518, 0, 0, 0, 519, 23573 520, 521, 522, 523, 524, 525, 0, 526, 528, 527, 23574 0, 530, 833, 529, 0, 531, 532, 0, 0, 533, 23575 534, 535, 536, 537, 538, 541, 0, 0, 539, 540, 23576 542, 543, 0, 544, 545, 547, 550, 546, 548, 549, 23577 551, 552, 565, 566, 553, 554, 555, 556, 557, 558, 23578 559, 560, 561, 562, 563, 564, 568, 0, 567, 0, 23579 569, 570, 571, 572, 573, 581, 583, 584, 579, 580, 23580 582, 585, 586, 588, 589, 576, 577, 578, 0, 587, 23581 574, 0, 575, 0, 0, 590, 591, 592, 593, 0, 23582 834, 594, 835, 597, 598, 0, 0, 599, 0, 600, 23583 0, 0, 602, 603, 604, 0, 0, 605, 606, 836, 23584 0, 607, 0, 837, 608, 609, 601, 610, 611, 612, 23585 613, 614, 615, 616, 617, 618, 619, 0, 620, 621, 23586 838, 622, 623, 624, 839, 625, 626, 627, 840, 628, 23587 841, 629, 630, 0, 631, 632, 633, 0, 634, 635, 23588 636, 637, 638, 639, 640, 641, 642, 643, 842, 644, 23589 645, 647, 646, 648, 649, 0, 650, 0, 651, 652, 23590 653, 0, 0, 0, 0, 0, 654, 655, 657, 0, 23591 658, 659, 660, 661, 662, 656, 663, 664, 665, 666, 23592 667, 668, 669, 0, 671, 672, 670, 673, 674, 0, 23593 675, 676, 677, 678, 679, 843, 680, 0, 681, 682, 23594 690, 691, 692, 683, 684, 686, 693, 685, 694, 695, 23595 696, 697, 699, 698, 0, 701, 702, 700, 703, 704, 23596 705, 706, 0, 707, 844, 708, 687, 688, 709, 710, 23597 711, 0, 712, 713, 714, 715, 716, 717, 718, 719, 23598 720, 845, 0, 721, 0, 722, 723, 724, 725, 726, 23599 727, 729, 689, 730, 731, 732, 737, 738, 846, 733, 23600 734, 735, 736, 847, 740, 741, 742, 743, 0, 744, 23601 745, 0, 739, 728, 0, 746, 747, 748, 749, 750, 23602 751, 752, 753, 754, 755, 0, 756, 848, 849, 850, 23603 851, 0, 768, 0, 757, 759, 760, 761, 762, 852, 23604 763, 853, 0, 764, 765, 766, 767, 758, 769, 770, 23605 0, 0, 771, 772, 773, 774, 776, 778, 779, 780, 23606 775, 777, 781, 0, 782, 0, 0, 783, 784, 785, 23607 854, 855, 856, 0, 787, 788, 786, 789, 790, 793, 23608 791, 792, 857, 796, 513, 797, 798, 799, 794, 795, 23609 896, 0, 337, 0, 800, 801, 858, 802, 803, 804, 23610 0, 0, 0, 0, 0, 0, 0, 0, 0, 345, 23611 346, 348, 347, 349, 350, 351, 352, 0, 353, 354, 23612 0, 0, 0, 0, 0, 805, 0, 0, 0, 356, 23613 0, 355, 0, 357, 358, 359, 0, 360, 361, 362, 23614 363, 364, 365, 366, 367, 806, 807, 0, 368, 808, 23615 369, 809, 0, 810, 370, 371, 372, 373, 374, 375, 23616 376, 377, 378, 379, 0, 0, 0, 380, 811, 812, 23617 813, 0, 381, 382, 383, 384, 814, 0, 0, 0, 23618 385, 386, 387, 388, 389, 390, 391, 392, 0, 0, 23619 394, 395, 396, 393, 397, 398, 0, 399, 0, 400, 23620 401, 402, 403, 404, 405, 406, 0, 407, 408, 409, 23621 0, 410, 411, 412, 0, 0, 0, 0, 0, 0, 23622 0, 413, 414, 415, 416, 417, 0, 418, 420, 421, 23623 815, 422, 816, 0, 425, 427, 419, 423, 0, 426, 23624 424, 428, 429, 0, 430, 431, 432, 433, 0, 0, 23625 434, 435, 436, 0, 437, 438, 440, 439, 0, 441, 23626 442, 443, 0, 444, 445, 817, 446, 447, 448, 450, 23627 452, 449, 451, 453, 454, 455, 456, 457, 818, 819, 23628 458, 459, 0, 0, 0, 0, 0, 0, 0, 460, 23629 461, 462, 820, 0, 0, 0, 463, 0, 465, 469, 23630 466, 467, 468, 470, 0, 464, 471, 472, 0, 0, 23631 473, 474, 475, 821, 822, 476, 477, 478, 479, 480, 23632 481, 482, 483, 484, 0, 485, 486, 823, 0, 824, 23633 487, 0, 488, 489, 490, 491, 492, 493, 494, 825, 23634 826, 827, 595, 0, 495, 496, 497, 0, 498, 499, 23635 500, 501, 502, 503, 504, 0, 0, 0, 505, 506, 23636 507, 508, 0, 0, 0, 0, 0, 828, 509, 596, 23637 510, 829, 830, 0, 831, 0, 511, 512, 515, 0, 23638 832, 0, 514, 516, 517, 0, 518, 0, 0, 0, 23639 519, 520, 521, 522, 523, 524, 525, 0, 526, 528, 23640 527, 0, 530, 833, 529, 0, 531, 532, 0, 0, 23641 533, 534, 535, 536, 537, 538, 541, 0, 0, 539, 23642 540, 542, 543, 0, 544, 545, 547, 550, 546, 548, 23643 549, 551, 552, 565, 566, 553, 554, 555, 556, 557, 23644 558, 559, 560, 561, 562, 563, 564, 568, 0, 567, 23645 0, 569, 570, 571, 572, 573, 581, 583, 584, 579, 23646 580, 582, 585, 586, 588, 589, 576, 577, 578, 0, 23647 587, 574, 0, 575, 0, 0, 590, 591, 592, 593, 23648 0, 834, 594, 835, 597, 598, 0, 0, 599, 0, 23649 600, 0, 0, 602, 603, 604, 0, 0, 605, 606, 23650 836, 0, 607, 0, 837, 608, 609, 601, 610, 611, 23651 612, 613, 614, 615, 616, 617, 618, 619, 0, 620, 23652 621, 838, 622, 623, 624, 839, 625, 626, 627, 840, 23653 628, 841, 629, 630, 0, 631, 632, 633, 0, 634, 23654 635, 636, 637, 638, 639, 640, 641, 642, 643, 842, 23655 644, 645, 647, 646, 648, 649, 0, 650, 0, 651, 23656 652, 653, 0, 0, 0, 0, 0, 654, 655, 657, 23657 0, 658, 659, 660, 661, 662, 656, 663, 664, 665, 23658 666, 667, 668, 669, 0, 671, 672, 670, 673, 674, 23659 0, 675, 676, 677, 678, 679, 843, 680, 0, 681, 23660 682, 690, 691, 692, 683, 684, 686, 693, 685, 694, 23661 695, 696, 697, 699, 698, 0, 701, 702, 700, 703, 23662 704, 705, 706, 0, 707, 844, 708, 687, 688, 709, 23663 710, 711, 0, 712, 713, 714, 715, 716, 717, 718, 23664 719, 720, 845, 0, 721, 0, 722, 723, 724, 725, 23665 726, 727, 729, 689, 730, 731, 732, 737, 738, 846, 23666 733, 734, 735, 736, 847, 740, 741, 742, 743, 0, 23667 744, 745, 0, 739, 728, 0, 746, 747, 748, 749, 23668 750, 751, 752, 753, 754, 755, 0, 756, 848, 849, 23669 850, 851, 0, 768, 0, 757, 759, 760, 761, 762, 23670 852, 763, 853, 0, 764, 765, 766, 767, 758, 769, 23671 770, 0, 0, 771, 772, 773, 774, 776, 778, 779, 23672 780, 775, 777, 781, 0, 782, 0, 0, 783, 784, 23673 785, 854, 855, 856, 0, 787, 788, 786, 789, 790, 23674 793, 791, 792, 857, 796, 513, 797, 798, 799, 794, 23675 795, 337, 0, 0, 0, 800, 801, 858, 802, 803, 23676 804, 0, 0, 0, 0, 0, 0, 0, 345, 346, 23677 348, 347, 349, 350, 351, 352, 0, 353, 354, 0, 23678 0, 0, 0, 0, 805, 0, 0, 0, 356, 0, 23679 355, 0, 357, 358, 359, 0, 360, 361, 362, 363, 23680 364, 365, 366, 367, 806, 807, 0, 368, 808, 369, 23681 809, 0, 810, 370, 371, 372, 373, 374, 375, 376, 23682 377, 378, 379, 0, 0, 0, 380, 811, 812, 813, 23683 0, 381, 382, 383, 384, 814, 0, 0, 0, 385, 23684 386, 387, 388, 389, 390, 391, 392, 0, 0, 394, 23685 395, 396, 393, 397, 398, 0, 399, 0, 400, 401, 23686 402, 403, 404, 405, 406, 0, 407, 408, 409, 0, 23687 410, 411, 412, 0, 0, 0, 0, 0, 0, 0, 23688 413, 414, 415, 416, 417, 0, 418, 420, 421, 815, 23689 422, 816, 0, 425, 427, 419, 423, 0, 426, 424, 23690 428, 429, 0, 430, 431, 432, 433, 0, 0, 434, 23691 435, 436, 0, 437, 438, 440, 439, 0, 441, 442, 23692 443, 0, 444, 445, 817, 446, 447, 448, 450, 452, 23693 449, 451, 453, 454, 455, 456, 457, 818, 819, 458, 23694 459, 0, 0, 0, 0, 0, 0, 0, 460, 461, 23695 462, 820, 0, 0, 0, 463, 0, 465, 469, 466, 23696 467, 468, 470, 0, 464, 471, 472, 0, 0, 473, 23697 474, 475, 821, 822, 476, 477, 478, 479, 480, 481, 23698 482, 483, 484, 0, 485, 486, 823, 0, 824, 487, 23699 0, 488, 489, 490, 491, 492, 493, 494, 825, 826, 23700 827, 595, 0, 495, 496, 497, 0, 498, 499, 500, 23701 501, 502, 503, 504, 0, 0, 0, 505, 506, 507, 23702 508, 0, 0, 0, 0, 0, 828, 509, 596, 510, 23703 829, 830, 0, 831, 0, 511, 512, 515, 0, 832, 23704 0, 514, 516, 517, 0, 518, 0, 0, 0, 519, 23705 520, 521, 522, 523, 524, 525, 0, 526, 528, 527, 23706 0, 530, 833, 529, 0, 531, 532, 0, 0, 533, 23707 534, 535, 536, 537, 538, 541, 0, 0, 539, 540, 23708 542, 543, 0, 544, 545, 547, 550, 546, 548, 549, 23709 551, 552, 565, 566, 553, 554, 555, 556, 557, 558, 23710 559, 560, 561, 562, 563, 564, 568, 0, 567, 0, 23711 569, 570, 571, 572, 573, 581, 583, 584, 579, 580, 23712 582, 585, 586, 588, 589, 576, 577, 578, 0, 587, 23713 574, 0, 575, 0, 0, 590, 591, 592, 593, 0, 23714 834, 594, 835, 597, 598, 0, 0, 599, 0, 600, 23715 0, 0, 602, 603, 604, 0, 0, 605, 606, 836, 23716 0, 607, 0, 837, 608, 609, 601, 610, 611, 612, 23717 613, 614, 615, 616, 617, 618, 619, 0, 620, 621, 23718 838, 622, 623, 624, 839, 625, 626, 627, 840, 628, 23719 841, 629, 630, 0, 631, 632, 633, 0, 634, 635, 23720 636, 637, 638, 639, 640, 641, 642, 643, 842, 644, 23721 645, 647, 646, 648, 649, 0, 650, 0, 651, 652, 23722 653, 0, 0, 0, 0, 0, 654, 655, 657, 0, 23723 658, 659, 660, 661, 662, 656, 663, 664, 665, 666, 23724 667, 668, 669, 0, 671, 672, 670, 673, 674, 0, 23725 675, 676, 677, 678, 679, 843, 680, 0, 681, 682, 23726 690, 691, 692, 683, 684, 686, 693, 685, 694, 695, 23727 696, 697, 699, 698, 0, 701, 702, 700, 703, 704, 23728 705, 706, 0, 707, 844, 708, 687, 688, 709, 710, 23729 711, 0, 712, 713, 714, 715, 716, 717, 718, 719, 23730 720, 845, 0, 721, 0, 722, 723, 724, 725, 726, 23731 727, 729, 689, 730, 731, 732, 737, 738, 846, 733, 23732 734, 735, 736, 847, 740, 741, 742, 743, 0, 744, 23733 745, 0, 739, 728, 0, 746, 747, 748, 749, 750, 23734 751, 752, 753, 754, 755, 0, 756, 848, 849, 850, 23735 851, 0, 768, 0, 757, 759, 760, 761, 762, 852, 23736 763, 853, 0, 764, 765, 766, 767, 758, 769, 770, 23737 0, 0, 771, 772, 773, 774, 776, 778, 779, 780, 23738 775, 777, 781, 0, 782, 0, 0, 783, 784, 785, 23739 854, 855, 856, 0, 787, 788, 786, 789, 790, 793, 23740 791, 792, 857, 796, 513, 797, 798, 799, 794, 795, 23741 337, 0, 0, 0, 800, 801, 858, 802, 803, 804, 23742 0, 0, 0, 0, 0, 0, 0, 345, 346, 348, 23743 347, 349, 350, 351, 352, 0, 353, 354, 0, 0, 23744 0, 0, 0, 805, 0, 0, 0, 356, 0, 355, 23745 0, 357, 358, 359, 0, 360, 361, 362, 363, 364, 23746 365, 366, 367, 806, 807, 0, 368, 808, 369, 809, 23747 0, 810, 370, 371, 372, 373, 374, 375, 376, 377, 23748 378, 379, 0, 0, 0, 380, 811, 812, 813, 0, 23749 381, 382, 383, 384, 814, 0, 0, 0, 385, 386, 23750 387, 388, 389, 390, 391, 392, 0, 0, 394, 395, 23751 396, 393, 397, 398, 0, 399, 0, 400, 401, 402, 23752 403, 404, 405, 406, 0, 407, 408, 409, 0, 410, 23753 411, 412, 0, 0, 0, 0, 0, 0, 0, 413, 23754 414, 415, 416, 417, 0, 418, 420, 421, 815, 422, 23755 816, 0, 425, 427, 419, 423, 0, 426, 424, 428, 23756 429, 0, 430, 431, 432, 433, 0, 0, 434, 435, 23757 436, 0, 437, 438, 440, 439, 0, 441, 442, 443, 23758 0, 444, 445, 817, 446, 447, 448, 450, 452, 449, 23759 451, 453, 454, 455, 456, 457, 818, 819, 458, 459, 23760 0, 0, 0, 0, 0, 0, 0, 460, 461, 462, 23761 820, 0, 0, 0, 463, 0, 465, 469, 466, 467, 23762 468, 470, 0, 464, 471, 472, 0, 0, 473, 474, 23763 475, 821, 822, 476, 477, 478, 479, 480, 481, 482, 23764 483, 484, 0, 485, 486, 823, 0, 824, 487, 0, 23765 488, 489, 490, 491, 492, 493, 494, 5119, 826, 827, 23766 595, 0, 495, 496, 497, 0, 498, 499, 500, 501, 23767 502, 503, 504, 0, 0, 0, 505, 506, 507, 508, 23768 0, 0, 0, 0, 0, 828, 509, 596, 510, 829, 23769 830, 0, 831, 0, 511, 512, 515, 0, 832, 0, 23770 514, 516, 517, 0, 518, 0, 0, 0, 519, 520, 23771 521, 522, 523, 524, 525, 0, 526, 528, 527, 0, 23772 530, 833, 529, 0, 531, 532, 0, 0, 533, 534, 23773 535, 536, 537, 538, 541, 0, 0, 539, 540, 542, 23774 543, 0, 544, 545, 547, 550, 546, 548, 549, 551, 23775 552, 565, 566, 553, 554, 555, 556, 557, 558, 559, 23776 560, 561, 562, 563, 564, 568, 0, 567, 0, 569, 23777 570, 571, 572, 573, 581, 583, 584, 579, 580, 582, 23778 585, 586, 588, 589, 576, 577, 578, 0, 587, 574, 23779 0, 575, 0, 0, 590, 591, 592, 593, 0, 834, 23780 594, 835, 597, 598, 0, 0, 599, 0, 600, 0, 23781 0, 602, 603, 604, 0, 0, 605, 606, 836, 0, 23782 607, 0, 837, 608, 609, 601, 610, 611, 612, 613, 23783 614, 615, 616, 617, 618, 619, 0, 620, 621, 838, 23784 622, 623, 624, 839, 625, 626, 627, 840, 628, 841, 23785 629, 630, 0, 631, 632, 633, 0, 634, 635, 636, 23786 637, 638, 639, 640, 641, 642, 643, 842, 644, 645, 23787 647, 646, 648, 649, 0, 650, 0, 651, 652, 653, 23788 0, 0, 0, 0, 0, 654, 655, 657, 0, 658, 23789 659, 660, 661, 662, 656, 663, 664, 665, 666, 667, 23790 668, 669, 0, 671, 672, 670, 673, 674, 0, 675, 23791 676, 677, 678, 679, 843, 680, 0, 681, 682, 690, 23792 691, 692, 683, 684, 686, 693, 685, 694, 695, 696, 23793 697, 699, 698, 0, 701, 702, 700, 703, 704, 705, 23794 706, 0, 707, 844, 708, 687, 688, 709, 710, 711, 23795 0, 712, 713, 714, 715, 716, 717, 718, 719, 720, 23796 845, 0, 721, 0, 722, 723, 724, 725, 726, 727, 23797 729, 689, 730, 731, 732, 737, 738, 846, 733, 734, 23798 735, 736, 847, 740, 741, 742, 743, 0, 744, 745, 23799 0, 739, 728, 0, 746, 747, 748, 749, 750, 751, 23800 752, 753, 754, 755, 0, 756, 848, 849, 850, 851, 23801 0, 768, 0, 757, 759, 760, 761, 762, 852, 763, 23802 853, 0, 764, 765, 766, 767, 758, 769, 770, 0, 23803 0, 771, 772, 773, 774, 776, 778, 779, 780, 775, 23804 777, 781, 0, 782, 0, 0, 783, 784, 785, 854, 23805 855, 856, 0, 787, 788, 786, 789, 790, 793, 791, 23806 792, 857, 796, 513, 797, 798, 799, 794, 795, 337, 23807 0, 0, 0, 800, 801, 858, 802, 803, 804, 0, 23808 0, 0, 0, 0, 0, 0, 345, 346, 348, 347, 23809 349, 350, 351, 352, 0, 353, 354, 0, 0, 0, 23810 0, 0, 805, 0, 0, 0, 356, 0, 355, 0, 23811 357, 358, 359, 0, 360, 361, 362, 363, 364, 365, 23812 366, 367, 806, 807, 0, 368, 808, 369, 809, 0, 23813 810, 370, 371, 372, 373, 374, 375, 376, 377, 378, 23814 379, 0, 0, 0, 380, 811, 812, 813, 0, 381, 23815 382, 383, 384, 814, 0, 0, 0, 385, 386, 387, 23816 388, 389, 390, 391, 392, 0, 0, 394, 395, 396, 23817 393, 397, 398, 0, 399, 0, 400, 401, 402, 403, 23818 404, 405, 406, 0, 407, 408, 409, 0, 410, 411, 23819 412, 0, 0, 0, 0, 0, 0, 0, 413, 414, 23820 415, 416, 417, 0, 418, 420, 421, 815, 422, 816, 23821 0, 425, 427, 419, 423, 0, 426, 424, 428, 429, 23822 0, 430, 431, 432, 433, 0, 0, 434, 435, 436, 23823 0, 437, 438, 440, 439, 0, 441, 442, 443, 0, 23824 444, 445, 817, 446, 447, 448, 450, 452, 449, 451, 23825 453, 454, 455, 456, 457, 818, 819, 458, 459, 0, 23826 0, 0, 0, 0, 0, 0, 460, 461, 462, 820, 23827 0, 0, 0, 463, 0, 465, 469, 466, 467, 468, 23828 470, 0, 464, 471, 472, 0, 0, 473, 474, 475, 23829 821, 822, 476, 477, 478, 479, 480, 481, 482, 483, 23830 484, 0, 485, 486, 823, 0, 824, 487, 0, 488, 23831 489, 490, 491, 492, 493, 494, 825, 826, 827, 595, 23832 0, 495, 496, 497, 0, 498, 499, 500, 501, 502, 23833 503, 504, 0, 0, 0, 505, 506, 507, 508, 0, 23834 0, 0, 0, 0, 828, 509, 596, 510, 829, 830, 23835 0, 831, 0, 511, 512, 515, 0, 832, 0, 514, 23836 516, 517, 0, 518, 0, 0, 0, 519, 520, 521, 23837 522, 523, 524, 525, 0, 526, 528, 527, 0, 530, 23838 833, 529, 0, 531, 532, 0, 0, 533, 534, 535, 23839 536, 537, 538, 541, 0, 0, 539, 540, 542, 543, 23840 0, 544, 545, 547, 550, 546, 548, 549, 551, 552, 23841 565, 566, 553, 554, 555, 556, 557, 558, 559, 560, 23842 561, 562, 563, 564, 568, 0, 567, 0, 569, 570, 23843 571, 572, 573, 581, 583, 584, 579, 580, 582, 585, 23844 586, 588, 589, 576, 577, 578, 0, 587, 574, 0, 23845 575, 0, 0, 590, 591, 592, 593, 0, 834, 594, 23846 835, 597, 598, 0, 0, 599, 0, 600, 0, 0, 23847 602, 603, 604, 0, 0, 605, 606, 836, 0, 607, 23848 0, 837, 608, 609, 601, 610, 611, 612, 613, 614, 23849 615, 616, 617, 618, 619, 0, 620, 621, 838, 622, 23850 623, 624, 839, 625, 626, 627, 840, 628, 841, 629, 23851 630, 0, 631, 632, 633, 0, 634, 635, 636, 637, 23852 638, 639, 640, 641, 642, 643, 842, 644, 645, 647, 23853 646, 648, 649, 0, 650, 0, 651, 652, 653, 0, 23854 0, 0, 0, 0, 654, 655, 657, 0, 658, 659, 23855 660, 661, 662, 656, 663, 664, 665, 666, 667, 668, 23856 669, 0, 671, 672, 670, 673, 674, 0, 989, 676, 23857 677, 678, 679, 843, 680, 0, 681, 682, 690, 691, 23858 692, 683, 684, 686, 988, 685, 694, 695, 696, 697, 23859 699, 698, 0, 701, 702, 700, 703, 704, 705, 706, 23860 0, 707, 844, 708, 687, 688, 709, 710, 711, 0, 23861 712, 713, 714, 715, 716, 717, 718, 719, 720, 845, 23862 0, 721, 0, 722, 723, 724, 725, 726, 727, 729, 23863 689, 730, 731, 732, 737, 738, 846, 733, 734, 735, 23864 736, 847, 740, 741, 742, 743, 0, 744, 745, 0, 23865 739, 728, 0, 746, 747, 748, 749, 750, 751, 752, 23866 753, 754, 755, 0, 756, 986, 849, 850, 851, 0, 23867 768, 0, 757, 759, 760, 761, 762, 852, 763, 853, 23868 0, 764, 765, 766, 767, 758, 769, 770, 0, 0, 23869 771, 772, 773, 774, 776, 778, 779, 780, 775, 777, 23870 781, 0, 782, 0, 0, 783, 784, 785, 854, 855, 23871 856, 0, 787, 788, 786, 789, 790, 793, 791, 792, 23872 857, 796, 513, 797, 798, 799, 794, 795, 337, 0, 23873 0, 0, 800, 801, 858, 802, 803, 804, 0, 0, 23874 0, 0, 0, 0, 0, 345, 346, 348, 347, 349, 23875 350, 351, 352, 0, 353, 354, 0, 0, 0, 0, 23876 0, 805, 0, 0, 0, 356, 0, 355, 0, 357, 23877 358, 359, 0, 360, 361, 362, 363, 364, 365, 366, 23878 367, 806, 807, 0, 368, 808, 369, 809, 0, 810, 23879 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 23880 0, 0, 0, 380, 811, 812, 813, 0, 381, 382, 23881 383, 384, 814, 0, 0, 0, 385, 386, 387, 388, 23882 389, 390, 391, 392, 0, 0, 394, 395, 396, 393, 23883 397, 398, 0, 399, 0, 400, 401, 402, 403, 404, 23884 405, 406, 0, 407, 408, 409, 0, 410, 411, 412, 23885 0, 0, 0, 0, 0, 0, 0, 413, 414, 415, 23886 416, 417, 0, 418, 420, 421, 815, 422, 816, 0, 23887 425, 427, 419, 423, 0, 426, 424, 428, 429, 0, 23888 430, 431, 432, 433, 0, 0, 434, 435, 436, 0, 23889 437, 438, 440, 439, 0, 441, 442, 443, 0, 444, 23890 445, 817, 446, 447, 448, 450, 452, 449, 451, 453, 23891 454, 455, 456, 457, 818, 819, 458, 459, 0, 0, 23892 0, 0, 0, 0, 0, 460, 461, 462, 820, 0, 23893 0, 0, 463, 0, 465, 469, 466, 467, 468, 470, 23894 0, 464, 471, 472, 0, 0, 473, 474, 475, 821, 23895 822, 476, 477, 478, 479, 480, 481, 482, 483, 484, 23896 0, 485, 486, 823, 0, 824, 487, 0, 488, 489, 23897 490, 491, 492, 493, 494, 4987, 826, 827, 595, 0, 23898 495, 496, 497, 0, 498, 499, 500, 501, 502, 503, 23899 504, 0, 0, 0, 505, 506, 507, 508, 0, 0, 23900 0, 0, 0, 828, 509, 596, 510, 829, 830, 0, 23901 831, 0, 511, 512, 515, 0, 832, 0, 514, 516, 23902 517, 0, 518, 0, 0, 0, 519, 520, 521, 522, 23903 523, 524, 525, 0, 526, 528, 527, 0, 530, 833, 23904 529, 0, 531, 532, 0, 0, 533, 534, 535, 536, 23905 537, 538, 541, 0, 0, 539, 540, 542, 543, 0, 23906 544, 545, 547, 550, 546, 548, 549, 551, 552, 565, 23907 566, 553, 554, 555, 556, 557, 558, 559, 560, 561, 23908 562, 563, 564, 568, 0, 567, 0, 569, 570, 571, 23909 572, 573, 581, 583, 584, 579, 580, 582, 585, 586, 23910 588, 589, 576, 577, 578, 0, 587, 574, 0, 575, 23911 0, 0, 590, 591, 592, 593, 0, 834, 594, 835, 23912 597, 598, 0, 0, 599, 0, 600, 0, 0, 602, 23913 603, 604, 0, 0, 605, 606, 836, 0, 607, 0, 23914 837, 608, 609, 601, 610, 611, 612, 613, 614, 615, 23915 616, 617, 618, 619, 0, 620, 621, 838, 622, 623, 23916 624, 839, 625, 626, 627, 840, 628, 841, 629, 630, 23917 0, 631, 632, 633, 0, 634, 635, 636, 637, 638, 23918 639, 640, 641, 642, 643, 842, 644, 645, 647, 646, 23919 648, 649, 0, 650, 0, 651, 652, 653, 0, 0, 23920 0, 0, 0, 654, 655, 657, 0, 658, 659, 660, 23921 661, 662, 656, 663, 664, 665, 666, 667, 668, 669, 23922 0, 671, 672, 670, 673, 674, 0, 675, 676, 677, 23923 678, 679, 843, 680, 0, 681, 682, 690, 691, 692, 23924 683, 684, 686, 693, 685, 694, 695, 696, 697, 699, 23925 698, 0, 701, 702, 700, 703, 704, 705, 706, 0, 23926 707, 844, 708, 687, 688, 709, 710, 711, 0, 712, 23927 713, 714, 715, 716, 717, 718, 719, 720, 845, 0, 23928 721, 0, 722, 723, 724, 725, 726, 727, 729, 689, 23929 730, 731, 732, 737, 738, 846, 733, 734, 735, 736, 23930 847, 740, 741, 742, 743, 0, 744, 745, 0, 739, 23931 728, 0, 746, 747, 748, 749, 750, 751, 752, 753, 23932 754, 755, 0, 756, 848, 849, 850, 851, 0, 768, 23933 0, 757, 759, 760, 761, 762, 852, 763, 853, 0, 23934 764, 765, 766, 767, 758, 769, 770, 0, 0, 771, 23935 772, 773, 774, 776, 778, 779, 780, 775, 777, 781, 23936 0, 782, 0, 0, 783, 784, 785, 854, 855, 856, 23937 0, 787, 788, 786, 789, 790, 793, 791, 792, 857, 23938 796, 513, 797, 798, 799, 794, 795, 337, 0, 0, 23939 0, 800, 801, 858, 802, 803, 804, 0, 0, 0, 23940 0, 0, 0, 0, 345, 346, 348, 347, 349, 350, 23941 351, 352, 0, 353, 354, 0, 0, 0, 0, 0, 23942 805, 0, 0, 0, 356, 0, 355, 0, 357, 358, 23943 359, 0, 360, 361, 362, 363, 364, 365, 366, 367, 23944 806, 807, 0, 368, 808, 369, 809, 0, 810, 370, 23945 371, 372, 373, 374, 375, 376, 377, 378, 379, 0, 23946 0, 0, 380, 811, 812, 813, 0, 381, 382, 383, 23947 384, 814, 0, 0, 0, 385, 386, 387, 388, 389, 23948 390, 391, 392, 0, 0, 394, 395, 396, 393, 397, 23949 398, 0, 399, 0, 400, 401, 402, 403, 404, 405, 23950 406, 0, 407, 408, 409, 0, 410, 411, 412, 0, 23951 0, 0, 0, 0, 0, 0, 413, 414, 415, 416, 23952 417, 0, 418, 420, 421, 815, 422, 816, 0, 425, 23953 427, 419, 423, 0, 426, 424, 428, 429, 0, 430, 23954 431, 432, 433, 0, 0, 434, 435, 436, 0, 437, 23955 438, 440, 439, 0, 441, 442, 443, 0, 444, 445, 23956 817, 446, 447, 448, 450, 452, 449, 451, 453, 454, 23957 455, 456, 457, 818, 819, 458, 459, 0, 0, 0, 23958 0, 0, 0, 0, 460, 461, 462, 820, 0, 0, 23959 0, 463, 0, 465, 469, 466, 467, 468, 470, 0, 23960 464, 471, 472, 0, 0, 473, 474, 475, 821, 822, 23961 476, 477, 478, 479, 480, 481, 482, 483, 484, 0, 23962 485, 486, 823, 0, 824, 487, 0, 488, 489, 490, 23963 491, 492, 493, 494, 4891, 826, 827, 595, 0, 495, 23964 496, 497, 0, 498, 499, 500, 501, 502, 503, 504, 23965 0, 0, 0, 505, 506, 507, 508, 0, 0, 0, 23966 0, 0, 828, 509, 596, 510, 829, 830, 0, 831, 23967 0, 511, 512, 515, 0, 832, 0, 514, 516, 517, 23968 0, 518, 0, 0, 0, 519, 520, 521, 522, 523, 23969 524, 525, 0, 526, 528, 527, 0, 530, 833, 529, 23970 0, 531, 532, 0, 0, 533, 534, 535, 536, 537, 23971 538, 541, 0, 0, 539, 540, 542, 543, 0, 544, 23972 545, 547, 550, 546, 548, 549, 551, 552, 565, 566, 23973 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 23974 563, 564, 568, 0, 567, 0, 569, 570, 571, 572, 23975 573, 581, 583, 584, 579, 580, 582, 585, 586, 588, 23976 589, 576, 577, 578, 0, 587, 574, 0, 575, 0, 23977 0, 590, 591, 592, 593, 0, 834, 594, 835, 597, 23978 598, 0, 0, 599, 0, 600, 0, 0, 602, 603, 23979 604, 0, 0, 605, 606, 836, 0, 607, 0, 837, 23980 608, 609, 601, 610, 611, 612, 613, 614, 615, 616, 23981 617, 618, 619, 0, 620, 621, 838, 622, 623, 624, 23982 839, 625, 626, 627, 840, 628, 841, 629, 630, 0, 23983 631, 632, 633, 0, 634, 635, 636, 637, 638, 639, 23984 640, 641, 642, 643, 842, 644, 645, 647, 646, 648, 23985 649, 0, 650, 0, 651, 652, 653, 0, 0, 0, 23986 0, 0, 654, 655, 657, 0, 658, 659, 660, 661, 23987 662, 656, 663, 664, 665, 666, 667, 668, 669, 0, 23988 671, 672, 670, 673, 674, 0, 675, 676, 677, 678, 23989 679, 843, 680, 0, 681, 682, 690, 691, 692, 683, 23990 684, 686, 693, 685, 694, 695, 696, 697, 699, 698, 23991 0, 701, 702, 700, 703, 704, 705, 706, 0, 707, 23992 844, 708, 687, 688, 709, 710, 711, 0, 712, 713, 23993 714, 715, 716, 717, 718, 719, 720, 845, 0, 721, 23994 0, 722, 723, 724, 725, 726, 727, 729, 689, 730, 23995 731, 732, 737, 738, 846, 733, 734, 735, 736, 847, 23996 740, 741, 742, 743, 0, 744, 745, 0, 739, 728, 23997 0, 746, 747, 748, 749, 750, 751, 752, 753, 754, 23998 755, 0, 756, 848, 849, 850, 851, 0, 768, 0, 23999 757, 759, 760, 761, 762, 852, 763, 853, 0, 764, 24000 765, 766, 767, 758, 769, 770, 0, 0, 771, 772, 24001 773, 774, 776, 778, 779, 780, 775, 777, 781, 0, 24002 782, 0, 0, 783, 784, 785, 854, 855, 856, 0, 24003 787, 788, 786, 789, 790, 793, 791, 792, 857, 796, 24004 513, 797, 798, 799, 794, 795, 337, 0, 0, 0, 24005 800, 801, 858, 802, 803, 804, 0, 0, 0, 0, 24006 0, 0, 0, 345, 346, 348, 347, 349, 350, 351, 24007 352, 0, 353, 354, 0, 0, 0, 0, 0, 805, 24008 0, 0, 0, 356, 0, 355, 0, 357, 358, 359, 24009 0, 360, 361, 362, 363, 364, 365, 366, 367, 806, 24010 807, 0, 368, 808, 369, 809, 0, 810, 370, 371, 24011 372, 373, 374, 375, 376, 377, 378, 379, 0, 0, 24012 0, 380, 811, 812, 813, 0, 381, 382, 383, 384, 24013 814, 0, 0, 0, 385, 386, 387, 388, 389, 390, 24014 391, 392, 0, 0, 394, 395, 396, 393, 397, 398, 24015 0, 399, 0, 400, 401, 402, 403, 404, 405, 406, 24016 0, 407, 408, 409, 0, 410, 411, 412, 0, 0, 24017 0, 0, 0, 0, 0, 413, 414, 415, 416, 417, 24018 0, 418, 420, 421, 815, 422, 816, 0, 425, 427, 24019 419, 423, 0, 426, 424, 428, 429, 0, 430, 431, 24020 432, 433, 0, 0, 434, 435, 436, 0, 437, 438, 24021 440, 439, 0, 441, 442, 443, 0, 444, 445, 817, 24022 446, 447, 448, 450, 452, 449, 451, 453, 454, 455, 24023 456, 457, 818, 819, 458, 459, 0, 0, 0, 0, 24024 0, 0, 0, 460, 461, 462, 820, 0, 0, 0, 24025 463, 0, 465, 469, 466, 467, 468, 470, 0, 464, 24026 471, 472, 0, 0, 473, 474, 475, 821, 822, 476, 24027 477, 478, 479, 480, 481, 482, 483, 484, 0, 485, 24028 486, 823, 0, 824, 487, 0, 488, 489, 490, 491, 24029 492, 493, 494, 4889, 826, 827, 595, 0, 495, 496, 24030 497, 0, 498, 499, 500, 501, 502, 503, 504, 0, 24031 0, 0, 505, 506, 507, 508, 0, 0, 0, 0, 24032 0, 828, 509, 596, 510, 829, 830, 0, 831, 0, 24033 511, 512, 515, 0, 832, 0, 514, 516, 517, 0, 24034 518, 0, 0, 0, 519, 520, 521, 522, 523, 524, 24035 525, 0, 526, 528, 527, 0, 530, 833, 529, 0, 24036 531, 532, 0, 0, 533, 534, 535, 536, 537, 538, 24037 541, 0, 0, 539, 540, 542, 543, 0, 544, 545, 24038 547, 550, 546, 548, 549, 551, 552, 565, 566, 553, 24039 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 24040 564, 568, 0, 567, 0, 569, 570, 571, 572, 573, 24041 581, 583, 584, 579, 580, 582, 585, 586, 588, 589, 24042 576, 577, 578, 0, 587, 574, 0, 575, 0, 0, 24043 590, 591, 592, 593, 0, 834, 594, 835, 597, 598, 24044 0, 0, 599, 0, 600, 0, 0, 602, 603, 604, 24045 0, 0, 605, 606, 836, 0, 607, 0, 837, 608, 24046 609, 601, 610, 611, 612, 613, 614, 615, 616, 617, 24047 618, 619, 0, 620, 621, 838, 622, 623, 624, 839, 24048 625, 626, 627, 840, 628, 841, 629, 630, 0, 631, 24049 632, 633, 0, 634, 635, 636, 637, 638, 639, 640, 24050 641, 642, 643, 842, 644, 645, 647, 646, 648, 649, 24051 0, 650, 0, 651, 652, 653, 0, 0, 0, 0, 24052 0, 654, 655, 657, 0, 658, 659, 660, 661, 662, 24053 656, 663, 664, 665, 666, 667, 668, 669, 0, 671, 24054 672, 670, 673, 674, 0, 675, 676, 677, 678, 679, 24055 843, 680, 0, 681, 682, 690, 691, 692, 683, 684, 24056 686, 693, 685, 694, 695, 696, 697, 699, 698, 0, 24057 701, 702, 700, 703, 704, 705, 706, 0, 707, 844, 24058 708, 687, 688, 709, 710, 711, 0, 712, 713, 714, 24059 715, 716, 717, 718, 719, 720, 845, 0, 721, 0, 24060 722, 723, 724, 725, 726, 727, 729, 689, 730, 731, 24061 732, 737, 738, 846, 733, 734, 735, 736, 847, 740, 24062 741, 742, 743, 0, 744, 745, 0, 739, 728, 0, 24063 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 24064 0, 756, 848, 849, 850, 851, 0, 768, 0, 757, 24065 759, 760, 761, 762, 852, 763, 853, 0, 764, 765, 24066 766, 767, 758, 769, 770, 0, 0, 771, 772, 773, 24067 774, 776, 778, 779, 780, 775, 777, 781, 0, 782, 24068 0, 0, 783, 784, 785, 854, 855, 856, 0, 787, 24069 788, 786, 789, 790, 793, 791, 792, 857, 796, 513, 24070 797, 798, 799, 794, 795, 337, 0, 0, 0, 800, 24071 801, 858, 802, 803, 804, 0, 0, 0, 0, 0, 24072 0, 0, 345, 346, 348, 347, 349, 350, 351, 352, 24073 0, 353, 354, 0, 0, 0, 0, 0, 805, 0, 24074 0, 0, 356, 0, 355, 0, 357, 358, 359, 0, 24075 360, 361, 362, 363, 364, 365, 366, 367, 806, 807, 24076 0, 368, 808, 369, 809, 0, 810, 370, 371, 372, 24077 373, 374, 375, 376, 377, 378, 379, 0, 0, 0, 24078 380, 811, 812, 813, 0, 381, 382, 383, 384, 814, 24079 0, 0, 0, 385, 386, 387, 388, 389, 390, 391, 24080 392, 0, 0, 394, 395, 396, 393, 397, 398, 0, 24081 399, 0, 400, 401, 402, 403, 404, 405, 406, 0, 24082 407, 408, 409, 0, 410, 411, 412, 0, 0, 0, 24083 0, 0, 0, 0, 413, 414, 415, 416, 417, 0, 24084 418, 420, 421, 815, 422, 816, 0, 425, 427, 419, 24085 423, 0, 426, 424, 428, 429, 0, 430, 431, 432, 24086 433, 0, 0, 434, 435, 436, 0, 437, 438, 440, 24087 439, 0, 441, 442, 443, 0, 444, 445, 817, 446, 24088 447, 448, 450, 452, 449, 451, 453, 454, 455, 456, 24089 457, 818, 819, 458, 459, 0, 0, 0, 0, 0, 24090 0, 0, 460, 461, 462, 820, 0, 0, 0, 463, 24091 0, 465, 469, 466, 467, 468, 470, 0, 464, 471, 24092 472, 0, 0, 473, 474, 475, 821, 822, 476, 477, 24093 478, 479, 480, 481, 482, 483, 484, 0, 485, 486, 24094 823, 0, 824, 487, 0, 488, 489, 490, 491, 492, 24095 493, 494, 4877, 826, 827, 595, 0, 495, 496, 497, 24096 0, 498, 499, 500, 501, 502, 503, 504, 0, 0, 24097 0, 505, 506, 507, 508, 0, 0, 0, 0, 0, 24098 828, 509, 596, 510, 829, 830, 0, 831, 0, 511, 24099 512, 515, 0, 832, 0, 514, 516, 517, 0, 518, 24100 0, 0, 0, 519, 520, 521, 522, 523, 524, 525, 24101 0, 526, 528, 527, 0, 530, 833, 529, 0, 531, 24102 532, 0, 0, 533, 534, 535, 536, 537, 538, 541, 24103 0, 0, 539, 540, 542, 543, 0, 544, 545, 547, 24104 550, 546, 548, 549, 551, 552, 565, 566, 553, 554, 24105 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 24106 568, 0, 567, 0, 569, 570, 571, 572, 573, 581, 24107 583, 584, 579, 580, 582, 585, 586, 588, 589, 576, 24108 577, 578, 0, 587, 574, 0, 575, 0, 0, 590, 24109 591, 592, 593, 0, 834, 594, 835, 597, 598, 0, 24110 0, 599, 0, 600, 0, 0, 602, 603, 604, 0, 24111 0, 605, 606, 836, 0, 607, 0, 837, 608, 609, 24112 601, 610, 611, 612, 613, 614, 615, 616, 617, 618, 24113 619, 0, 620, 621, 838, 622, 623, 624, 839, 625, 24114 626, 627, 840, 628, 841, 629, 630, 0, 631, 632, 24115 633, 0, 634, 635, 636, 637, 638, 639, 640, 641, 24116 642, 643, 842, 644, 645, 647, 646, 648, 649, 0, 24117 650, 0, 651, 652, 653, 0, 0, 0, 0, 0, 24118 654, 655, 657, 0, 658, 659, 660, 661, 662, 656, 24119 663, 664, 665, 666, 667, 668, 669, 0, 671, 672, 24120 670, 673, 674, 0, 675, 676, 677, 678, 679, 843, 24121 680, 0, 681, 682, 690, 691, 692, 683, 684, 686, 24122 693, 685, 694, 695, 696, 697, 699, 698, 0, 701, 24123 702, 700, 703, 704, 705, 706, 0, 707, 844, 708, 24124 687, 688, 709, 710, 711, 0, 712, 713, 714, 715, 24125 716, 717, 718, 719, 720, 845, 0, 721, 0, 722, 24126 723, 724, 725, 726, 727, 729, 689, 730, 731, 732, 24127 737, 738, 846, 733, 734, 735, 736, 847, 740, 741, 24128 742, 743, 0, 744, 745, 0, 739, 728, 0, 746, 24129 747, 748, 749, 750, 751, 752, 753, 754, 755, 0, 24130 756, 848, 849, 850, 851, 0, 768, 0, 757, 759, 24131 760, 761, 762, 852, 763, 853, 0, 764, 765, 766, 24132 767, 758, 769, 770, 0, 0, 771, 772, 773, 774, 24133 776, 778, 779, 780, 775, 777, 781, 0, 782, 0, 24134 0, 783, 784, 785, 854, 855, 856, 0, 787, 788, 24135 786, 789, 790, 793, 791, 792, 857, 796, 513, 797, 24136 798, 799, 794, 795, 337, 0, 0, 0, 800, 801, 24137 858, 802, 803, 804, 0, 0, 0, 0, 0, 0, 24138 0, 345, 346, 348, 347, 349, 350, 351, 352, 0, 24139 353, 354, 0, 0, 0, 0, 0, 805, 0, 0, 24140 0, 356, 0, 355, 0, 357, 358, 359, 0, 360, 24141 361, 362, 363, 364, 365, 366, 367, 806, 807, 0, 24142 368, 808, 369, 809, 0, 810, 370, 371, 372, 373, 24143 374, 375, 376, 377, 378, 379, 0, 0, 0, 380, 24144 811, 812, 813, 0, 381, 382, 383, 384, 814, 0, 24145 0, 0, 385, 386, 387, 388, 389, 390, 391, 392, 24146 0, 0, 394, 395, 396, 393, 397, 398, 0, 399, 24147 0, 400, 401, 402, 403, 404, 405, 406, 0, 407, 24148 408, 409, 0, 410, 411, 412, 0, 0, 0, 0, 24149 0, 0, 0, 413, 414, 415, 416, 417, 0, 418, 24150 420, 421, 815, 422, 816, 0, 425, 427, 419, 423, 24151 0, 426, 424, 428, 429, 0, 430, 431, 432, 433, 24152 0, 0, 434, 435, 436, 0, 437, 438, 440, 439, 24153 0, 441, 442, 443, 0, 444, 445, 817, 446, 447, 24154 448, 450, 452, 449, 451, 453, 454, 455, 456, 457, 24155 818, 819, 458, 459, 0, 0, 0, 0, 0, 0, 24156 0, 460, 461, 462, 820, 0, 0, 0, 463, 0, 24157 465, 469, 466, 467, 468, 470, 0, 464, 471, 472, 24158 0, 0, 473, 474, 475, 821, 822, 476, 477, 478, 24159 479, 480, 481, 482, 483, 484, 0, 485, 486, 823, 24160 0, 824, 487, 0, 488, 489, 490, 491, 492, 493, 24161 494, 4874, 826, 827, 595, 0, 495, 496, 497, 0, 24162 498, 499, 500, 501, 502, 503, 504, 0, 0, 0, 24163 505, 506, 507, 508, 0, 0, 0, 0, 0, 828, 24164 509, 596, 510, 829, 830, 0, 831, 0, 511, 512, 24165 515, 0, 832, 0, 514, 516, 517, 0, 518, 0, 24166 0, 0, 519, 520, 521, 522, 523, 524, 525, 0, 24167 526, 528, 527, 0, 530, 833, 529, 0, 531, 532, 24168 0, 0, 533, 534, 535, 536, 537, 538, 541, 0, 24169 0, 539, 540, 542, 543, 0, 544, 545, 547, 550, 24170 546, 548, 549, 551, 552, 565, 566, 553, 554, 555, 24171 556, 557, 558, 559, 560, 561, 562, 563, 564, 568, 24172 0, 567, 0, 569, 570, 571, 572, 573, 581, 583, 24173 584, 579, 580, 582, 585, 586, 588, 589, 576, 577, 24174 578, 0, 587, 574, 0, 575, 0, 0, 590, 591, 24175 592, 593, 0, 834, 594, 835, 597, 598, 0, 0, 24176 599, 0, 600, 0, 0, 602, 603, 604, 0, 0, 24177 605, 606, 836, 0, 607, 0, 837, 608, 609, 601, 24178 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 24179 0, 620, 621, 838, 622, 623, 624, 839, 625, 626, 24180 627, 840, 628, 841, 629, 630, 0, 631, 632, 633, 24181 0, 634, 635, 636, 637, 638, 639, 640, 641, 642, 24182 643, 842, 644, 645, 647, 646, 648, 649, 0, 650, 24183 0, 651, 652, 653, 0, 0, 0, 0, 0, 654, 24184 655, 657, 0, 658, 659, 660, 661, 662, 656, 663, 24185 664, 665, 666, 667, 668, 669, 0, 671, 672, 670, 24186 673, 674, 0, 675, 676, 677, 678, 679, 843, 680, 24187 0, 681, 682, 690, 691, 692, 683, 684, 686, 693, 24188 685, 694, 695, 696, 697, 699, 698, 0, 701, 702, 24189 700, 703, 704, 705, 706, 0, 707, 844, 708, 687, 24190 688, 709, 710, 711, 0, 712, 713, 714, 715, 716, 24191 717, 718, 719, 720, 845, 0, 721, 0, 722, 723, 24192 724, 725, 726, 727, 729, 689, 730, 731, 732, 737, 24193 738, 846, 733, 734, 735, 736, 847, 740, 741, 742, 24194 743, 0, 744, 745, 0, 739, 728, 0, 746, 747, 24195 748, 749, 750, 751, 752, 753, 754, 755, 0, 756, 24196 848, 849, 850, 851, 0, 768, 0, 757, 759, 760, 24197 761, 762, 852, 763, 853, 0, 764, 765, 766, 767, 24198 758, 769, 770, 0, 0, 771, 772, 773, 774, 776, 24199 778, 779, 780, 775, 777, 781, 0, 782, 0, 0, 24200 783, 784, 785, 854, 855, 856, 0, 787, 788, 786, 24201 789, 790, 793, 791, 792, 857, 796, 513, 797, 798, 24202 799, 794, 795, 337, 0, 0, 0, 800, 801, 858, 24203 802, 803, 804, 0, 0, 0, 0, 0, 0, 0, 24204 345, 346, 348, 347, 349, 350, 351, 352, 0, 353, 24205 354, 0, 0, 0, 0, 0, 805, 0, 0, 0, 24206 356, 0, 355, 0, 357, 358, 359, 0, 360, 361, 24207 362, 363, 364, 365, 366, 367, 806, 807, 0, 368, 24208 808, 369, 809, 0, 810, 370, 371, 372, 373, 374, 24209 375, 376, 377, 378, 379, 0, 0, 0, 380, 811, 24210 812, 813, 0, 381, 382, 383, 384, 814, 0, 0, 24211 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 24212 0, 394, 395, 396, 393, 397, 398, 0, 399, 0, 24213 400, 401, 402, 403, 404, 405, 406, 0, 407, 408, 24214 409, 0, 410, 411, 412, 0, 0, 0, 0, 0, 24215 0, 0, 413, 414, 415, 416, 417, 0, 418, 420, 24216 421, 815, 422, 816, 0, 425, 427, 419, 423, 0, 24217 426, 424, 428, 429, 0, 430, 431, 432, 433, 0, 24218 0, 434, 435, 436, 0, 437, 438, 440, 439, 0, 24219 441, 442, 443, 0, 444, 445, 817, 446, 447, 448, 24220 450, 452, 449, 451, 453, 454, 455, 456, 457, 818, 24221 819, 458, 459, 0, 0, 0, 0, 0, 0, 0, 24222 460, 461, 462, 820, 0, 0, 0, 463, 0, 465, 24223 469, 466, 467, 468, 470, 0, 464, 471, 472, 0, 24224 0, 473, 474, 475, 821, 822, 476, 477, 478, 479, 24225 480, 481, 482, 483, 484, 0, 485, 486, 823, 0, 24226 824, 487, 0, 488, 489, 490, 491, 492, 493, 494, 24227 4447, 826, 827, 595, 0, 495, 496, 497, 0, 498, 24228 499, 500, 501, 502, 503, 504, 0, 0, 0, 505, 24229 506, 507, 508, 0, 0, 0, 0, 0, 828, 509, 24230 596, 510, 829, 830, 0, 831, 0, 511, 512, 515, 24231 0, 832, 0, 514, 516, 517, 0, 518, 0, 0, 24232 0, 519, 520, 521, 522, 523, 524, 525, 0, 526, 24233 528, 527, 0, 530, 833, 529, 0, 531, 532, 0, 24234 0, 533, 534, 535, 536, 537, 538, 541, 0, 0, 24235 539, 540, 542, 543, 0, 544, 545, 547, 550, 546, 24236 548, 549, 551, 552, 565, 566, 553, 554, 555, 556, 24237 557, 558, 559, 560, 561, 562, 563, 564, 568, 0, 24238 567, 0, 569, 570, 571, 572, 573, 581, 583, 584, 24239 579, 580, 582, 585, 586, 588, 589, 576, 577, 578, 24240 0, 587, 574, 0, 575, 0, 0, 590, 591, 592, 24241 593, 0, 834, 594, 835, 597, 598, 0, 0, 599, 24242 0, 600, 0, 0, 602, 603, 604, 0, 0, 605, 24243 606, 836, 0, 607, 0, 837, 608, 609, 601, 610, 24244 611, 612, 613, 614, 615, 616, 617, 618, 619, 0, 24245 620, 621, 838, 622, 623, 624, 839, 625, 626, 627, 24246 840, 628, 841, 629, 630, 0, 631, 632, 633, 0, 24247 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 24248 842, 644, 645, 647, 646, 648, 649, 0, 650, 0, 24249 651, 652, 653, 0, 0, 0, 0, 0, 654, 655, 24250 657, 0, 658, 659, 660, 661, 662, 656, 663, 664, 24251 665, 666, 667, 668, 669, 0, 671, 672, 670, 673, 24252 674, 0, 675, 676, 677, 678, 679, 843, 680, 0, 24253 681, 682, 690, 691, 692, 683, 684, 686, 693, 685, 24254 694, 695, 696, 697, 699, 698, 0, 701, 702, 700, 24255 703, 704, 705, 706, 0, 707, 844, 708, 687, 688, 24256 709, 710, 711, 0, 712, 713, 714, 715, 716, 717, 24257 718, 719, 720, 845, 0, 721, 0, 722, 723, 724, 24258 725, 726, 727, 729, 689, 730, 731, 732, 737, 738, 24259 846, 733, 734, 735, 736, 847, 740, 741, 742, 743, 24260 0, 744, 745, 0, 739, 728, 0, 746, 747, 748, 24261 749, 750, 751, 752, 753, 754, 755, 0, 756, 848, 24262 849, 850, 851, 0, 768, 0, 757, 759, 760, 761, 24263 762, 852, 763, 853, 0, 764, 765, 766, 767, 758, 24264 769, 770, 0, 0, 771, 772, 773, 774, 776, 778, 24265 779, 780, 775, 777, 781, 0, 782, 0, 0, 783, 24266 784, 785, 854, 855, 856, 0, 787, 788, 786, 789, 24267 790, 793, 791, 792, 857, 796, 513, 797, 798, 799, 24268 794, 795, 337, 0, 0, 0, 800, 801, 858, 802, 24269 803, 804, 0, 0, 0, 0, 0, 0, 0, 345, 24270 346, 348, 347, 349, 350, 351, 352, 0, 353, 354, 24271 0, 0, 0, 0, 0, 805, 0, 0, 0, 356, 24272 0, 355, 0, 357, 358, 359, 0, 360, 361, 362, 24273 363, 364, 365, 366, 367, 806, 807, 0, 368, 808, 24274 369, 809, 0, 810, 370, 371, 372, 373, 374, 375, 24275 376, 377, 378, 379, 0, 0, 0, 380, 811, 812, 24276 813, 0, 381, 382, 383, 384, 814, 0, 0, 0, 24277 385, 386, 387, 388, 389, 390, 391, 392, 0, 0, 24278 394, 395, 396, 393, 397, 398, 0, 399, 0, 400, 24279 401, 402, 403, 404, 405, 406, 0, 407, 408, 409, 24280 0, 410, 411, 412, 0, 0, 0, 0, 0, 0, 24281 0, 413, 414, 415, 416, 417, 0, 418, 420, 421, 24282 815, 422, 816, 0, 425, 427, 419, 423, 0, 426, 24283 424, 428, 429, 0, 430, 431, 432, 433, 0, 0, 24284 434, 435, 436, 0, 437, 438, 440, 439, 0, 441, 24285 442, 443, 0, 444, 445, 817, 446, 447, 448, 450, 24286 452, 449, 451, 453, 454, 455, 456, 457, 818, 819, 24287 458, 459, 0, 0, 0, 0, 0, 0, 0, 460, 24288 461, 462, 820, 0, 0, 0, 463, 0, 465, 469, 24289 466, 467, 468, 470, 0, 464, 471, 472, 0, 0, 24290 473, 474, 475, 821, 822, 476, 477, 478, 479, 480, 24291 481, 482, 483, 484, 0, 485, 486, 823, 0, 824, 24292 487, 0, 488, 489, 490, 491, 492, 493, 494, 825, 24293 826, 827, 595, 0, 495, 496, 497, 0, 498, 499, 24294 500, 501, 502, 503, 504, 0, 0, 0, 505, 506, 24295 507, 508, 0, 0, 0, 0, 0, 828, 509, 596, 24296 510, 829, 830, 0, 831, 0, 511, 512, 515, 0, 24297 832, 0, 514, 516, 517, 0, 518, 0, 0, 0, 24298 519, 520, 521, 522, 523, 524, 525, 0, 526, 528, 24299 527, 0, 530, 833, 529, 0, 531, 532, 0, 0, 24300 533, 534, 535, 536, 537, 538, 541, 0, 0, 539, 24301 540, 542, 543, 0, 544, 545, 547, 550, 546, 548, 24302 549, 551, 552, 565, 566, 553, 554, 555, 556, 557, 24303 558, 559, 560, 561, 562, 563, 564, 568, 0, 567, 24304 0, 569, 570, 571, 572, 573, 581, 583, 584, 579, 24305 580, 582, 585, 586, 588, 589, 576, 577, 578, 0, 24306 587, 574, 0, 575, 0, 0, 590, 591, 592, 593, 24307 0, 834, 594, 835, 597, 598, 0, 0, 599, 0, 24308 600, 0, 0, 602, 603, 604, 0, 0, 605, 606, 24309 836, 0, 607, 0, 837, 608, 609, 601, 610, 611, 24310 612, 613, 614, 615, 616, 617, 618, 619, 0, 620, 24311 621, 838, 622, 623, 624, 839, 625, 626, 627, 840, 24312 628, 841, 629, 630, 0, 631, 632, 633, 0, 634, 24313 635, 636, 637, 638, 639, 640, 641, 642, 643, 842, 24314 644, 645, 647, 646, 648, 649, 0, 650, 0, 651, 24315 652, 653, 0, 0, 0, 0, 0, 654, 655, 657, 24316 0, 658, 659, 660, 661, 662, 656, 663, 664, 665, 24317 666, 667, 668, 669, 0, 671, 672, 670, 673, 674, 24318 0, 675, 676, 677, 678, 679, 843, 680, 0, 681, 24319 682, 970, 691, 692, 683, 684, 686, 693, 685, 694, 24320 695, 696, 697, 699, 698, 0, 701, 702, 700, 703, 24321 704, 705, 706, 0, 707, 844, 708, 687, 688, 709, 24322 710, 711, 0, 712, 713, 714, 715, 716, 717, 718, 24323 719, 720, 845, 0, 721, 0, 722, 723, 724, 725, 24324 726, 727, 729, 689, 730, 731, 732, 737, 738, 846, 24325 733, 734, 735, 736, 847, 740, 741, 742, 743, 0, 24326 744, 745, 0, 739, 728, 0, 746, 747, 748, 749, 24327 750, 751, 752, 753, 754, 755, 0, 756, 848, 849, 24328 850, 851, 0, 768, 0, 757, 759, 760, 761, 762, 24329 852, 763, 853, 0, 764, 765, 766, 767, 758, 769, 24330 770, 0, 0, 771, 772, 773, 774, 776, 778, 779, 24331 780, 775, 777, 781, 0, 782, 0, 0, 783, 784, 24332 785, 854, 855, 856, 0, 787, 788, 786, 789, 790, 24333 793, 791, 792, 857, 796, 513, 797, 798, 799, 794, 24334 795, 337, 0, 0, 0, 800, 801, 858, 802, 803, 24335 804, 0, 0, 0, 0, 0, 0, 0, 345, 346, 24336 348, 347, 349, 350, 351, 352, 0, 353, 354, 0, 24337 0, 0, 0, 0, 805, 0, 2966, 0, 356, 0, 24338 355, 0, 357, 358, 359, 0, 360, 361, 362, 363, 24339 364, 365, 366, 367, 806, 807, 0, 368, 808, 369, 24340 809, 0, 810, 370, 371, 372, 373, 374, 375, 376, 24341 377, 378, 379, 0, 0, 0, 380, 811, 812, 813, 24342 0, 381, 382, 383, 384, 814, 0, 0, 0, 385, 24343 386, 387, 388, 389, 390, 391, 392, 0, 0, 394, 24344 395, 396, 393, 397, 398, 0, 399, 0, 400, 401, 24345 402, 403, 404, 405, 406, 0, 407, 408, 409, 0, 24346 410, 411, 412, 0, 0, 0, 0, 0, 0, 0, 24347 413, 414, 415, 416, 417, 0, 418, 420, 421, 815, 24348 422, 816, 0, 425, 427, 419, 423, 0, 426, 424, 24349 428, 429, 0, 430, 431, 432, 433, 0, 0, 434, 24350 435, 436, 0, 437, 438, 440, 439, 0, 441, 442, 24351 443, 0, 444, 445, 817, 446, 447, 448, 450, 452, 24352 449, 451, 453, 454, 455, 456, 457, 818, 819, 458, 24353 459, 0, 0, 0, 0, 0, 0, 0, 460, 461, 24354 462, 820, 0, 0, 0, 463, 0, 465, 469, 466, 24355 467, 468, 470, 0, 464, 471, 472, 0, 0, 473, 24356 474, 475, 821, 822, 476, 477, 478, 479, 480, 481, 24357 482, 483, 484, 0, 485, 486, 823, 0, 824, 487, 24358 0, 488, 489, 490, 491, 492, 493, 494, 825, 826, 24359 827, 595, 0, 495, 496, 497, 0, 498, 499, 500, 24360 501, 502, 503, 504, 0, 0, 0, 505, 506, 507, 24361 508, 0, 0, 0, 0, 0, 828, 509, 596, 510, 24362 829, 830, 0, 831, 0, 511, 512, 515, 0, 832, 24363 0, 514, 516, 517, 0, 518, 0, 0, 0, 519, 24364 520, 521, 522, 523, 524, 525, 0, 526, 528, 527, 24365 0, 530, 833, 529, 0, 531, 532, 0, 0, 533, 24366 534, 535, 536, 537, 538, 541, 0, 0, 539, 540, 24367 542, 543, 0, 544, 545, 547, 550, 546, 548, 549, 24368 551, 552, 565, 566, 553, 554, 555, 556, 557, 558, 24369 559, 560, 561, 562, 563, 564, 568, 0, 567, 0, 24370 569, 570, 571, 572, 573, 581, 583, 584, 579, 580, 24371 582, 585, 586, 588, 589, 576, 577, 578, 0, 587, 24372 574, 0, 575, 0, 0, 590, 591, 592, 593, 0, 24373 834, 594, 835, 597, 598, 0, 0, 599, 0, 600, 24374 0, 0, 602, 603, 604, 0, 0, 605, 606, 836, 24375 0, 607, 0, 837, 608, 609, 601, 610, 611, 612, 24376 613, 614, 615, 616, 617, 618, 619, 0, 620, 621, 24377 838, 622, 623, 624, 839, 625, 626, 627, 840, 628, 24378 841, 629, 630, 0, 631, 632, 633, 0, 634, 635, 24379 636, 637, 638, 639, 640, 641, 642, 643, 842, 644, 24380 645, 647, 646, 648, 649, 0, 650, 0, 651, 652, 24381 653, 0, 0, 0, 0, 0, 654, 655, 657, 0, 24382 658, 659, 660, 661, 662, 656, 663, 664, 665, 666, 24383 667, 668, 669, 0, 671, 672, 670, 673, 674, 0, 24384 675, 676, 677, 678, 679, 843, 680, 0, 681, 682, 24385 690, 691, 692, 683, 684, 686, 693, 685, 694, 695, 24386 696, 697, 699, 698, 0, 701, 702, 700, 703, 704, 24387 705, 706, 0, 0, 844, 708, 687, 688, 709, 710, 24388 711, 0, 712, 713, 714, 715, 716, 717, 718, 719, 24389 720, 845, 0, 721, 0, 722, 723, 724, 725, 726, 24390 727, 729, 689, 730, 731, 732, 737, 738, 846, 733, 24391 734, 735, 736, 847, 740, 741, 742, 743, 0, 744, 24392 745, 0, 739, 728, 0, 746, 747, 748, 749, 750, 24393 751, 752, 753, 754, 755, 0, 756, 848, 849, 850, 24394 851, 0, 768, 0, 757, 759, 760, 761, 762, 852, 24395 763, 853, 0, 764, 765, 766, 767, 758, 769, 770, 24396 0, 0, 771, 772, 773, 774, 776, 778, 779, 780, 24397 775, 777, 781, 0, 782, 0, 0, 783, 784, 785, 24398 854, 855, 856, 0, 787, 788, 786, 789, 790, 793, 24399 791, 792, 857, 796, 513, 797, 798, 799, 794, 795, 24400 337, 0, 0, 0, 800, 801, 858, 802, 803, 804, 24401 0, 0, 0, 0, 0, 0, 0, 345, 346, 348, 24402 347, 349, 350, 351, 352, 0, 353, 354, 0, 0, 24403 0, 0, 0, 805, 0, 0, 0, 356, 0, 355, 24404 0, 357, 358, 359, 0, 360, 361, 362, 363, 364, 24405 365, 366, 367, 806, 807, 0, 368, 808, 369, 809, 24406 0, 810, 370, 371, 372, 373, 374, 375, 376, 377, 24407 378, 379, 0, 0, 0, 380, 811, 812, 813, 0, 24408 381, 382, 383, 384, 814, 0, 0, 0, 385, 386, 24409 387, 388, 389, 390, 391, 392, 0, 0, 394, 395, 24410 396, 393, 397, 398, 0, 399, 0, 400, 401, 402, 24411 403, 404, 405, 406, 0, 407, 408, 409, 0, 410, 24412 411, 412, 0, 0, 0, 0, 0, 0, 0, 413, 24413 414, 415, 416, 417, 0, 418, 420, 421, 815, 422, 24414 816, 0, 425, 427, 419, 423, 0, 426, 424, 428, 24415 429, 0, 430, 431, 432, 433, 0, 0, 434, 435, 24416 436, 0, 437, 438, 440, 439, 0, 441, 442, 443, 24417 0, 444, 445, 817, 446, 2640, 448, 450, 452, 449, 24418 451, 453, 454, 455, 456, 457, 818, 819, 458, 459, 24419 0, 0, 0, 0, 0, 0, 0, 460, 461, 462, 24420 820, 0, 0, 0, 463, 0, 465, 469, 466, 467, 24421 468, 470, 0, 464, 471, 472, 0, 0, 473, 474, 24422 475, 821, 822, 476, 477, 478, 479, 480, 481, 482, 24423 483, 484, 0, 485, 486, 823, 0, 824, 487, 0, 24424 488, 489, 490, 491, 492, 493, 494, 825, 826, 827, 24425 595, 0, 495, 496, 497, 0, 498, 499, 500, 501, 24426 502, 503, 504, 0, 0, 0, 505, 506, 507, 508, 24427 0, 0, 0, 0, 0, 828, 509, 596, 510, 829, 24428 830, 0, 831, 0, 511, 512, 515, 0, 832, 0, 24429 514, 516, 517, 0, 518, 0, 0, 0, 519, 520, 24430 521, 522, 523, 524, 525, 0, 526, 528, 527, 0, 24431 530, 833, 529, 0, 531, 532, 0, 0, 533, 534, 24432 535, 536, 537, 538, 541, 0, 0, 539, 540, 542, 24433 543, 0, 544, 545, 547, 550, 546, 548, 549, 551, 24434 552, 565, 566, 553, 554, 555, 556, 557, 558, 559, 24435 560, 561, 562, 563, 564, 568, 0, 567, 0, 569, 24436 570, 571, 572, 573, 581, 583, 584, 579, 580, 582, 24437 585, 586, 588, 589, 576, 577, 578, 0, 587, 574, 24438 0, 575, 0, 0, 590, 591, 592, 593, 0, 834, 24439 594, 835, 597, 598, 0, 0, 599, 0, 600, 0, 24440 0, 602, 603, 604, 0, 0, 605, 606, 836, 0, 24441 607, 0, 837, 608, 609, 601, 610, 611, 612, 613, 24442 614, 615, 616, 617, 618, 619, 0, 620, 621, 838, 24443 622, 623, 624, 839, 625, 626, 627, 840, 628, 841, 24444 629, 630, 0, 631, 632, 633, 0, 634, 635, 636, 24445 637, 638, 639, 640, 641, 642, 643, 842, 644, 645, 24446 1501, 646, 648, 649, 0, 650, 0, 651, 652, 653, 24447 0, 0, 0, 0, 0, 654, 655, 657, 0, 658, 24448 659, 660, 661, 662, 656, 663, 664, 665, 666, 667, 24449 668, 669, 0, 671, 672, 670, 673, 674, 0, 675, 24450 676, 677, 678, 679, 843, 680, 0, 681, 682, 690, 24451 691, 692, 683, 684, 686, 693, 685, 694, 695, 696, 24452 697, 699, 698, 0, 701, 702, 700, 703, 704, 705, 24453 706, 0, 707, 844, 708, 687, 688, 709, 710, 711, 24454 0, 712, 713, 714, 715, 716, 717, 718, 719, 720, 24455 845, 0, 721, 0, 722, 723, 724, 725, 726, 727, 24456 729, 689, 730, 731, 732, 737, 738, 846, 733, 734, 24457 735, 736, 847, 740, 741, 742, 743, 0, 744, 745, 24458 0, 739, 728, 0, 746, 747, 748, 749, 750, 751, 24459 752, 753, 754, 755, 0, 756, 848, 849, 850, 851, 24460 0, 768, 0, 757, 759, 760, 761, 762, 852, 763, 24461 853, 0, 764, 765, 766, 767, 758, 769, 770, 0, 24462 0, 771, 772, 773, 774, 776, 778, 779, 780, 775, 24463 777, 781, 0, 782, 0, 0, 783, 784, 785, 854, 24464 855, 856, 0, 787, 788, 786, 789, 790, 793, 791, 24465 792, 857, 796, 513, 797, 798, 799, 794, 795, 337, 24466 0, 0, 0, 800, 801, 858, 802, 803, 804, 0, 24467 0, 0, 0, 0, 0, 0, 345, 346, 348, 347, 24468 349, 350, 351, 352, 0, 353, 354, 0, 0, 0, 24469 0, 0, 805, 0, 0, 0, 356, 0, 355, 0, 24470 357, 358, 359, 0, 360, 361, 362, 363, 364, 365, 24471 366, 367, 806, 807, 0, 368, 808, 369, 809, 0, 24472 810, 370, 371, 372, 373, 374, 375, 376, 377, 378, 24473 379, 0, 0, 0, 380, 811, 812, 813, 0, 381, 24474 382, 383, 384, 814, 0, 0, 0, 385, 386, 387, 24475 388, 389, 390, 391, 392, 0, 0, 394, 395, 396, 24476 393, 397, 398, 0, 399, 0, 400, 401, 402, 403, 24477 404, 405, 406, 0, 407, 408, 409, 0, 410, 411, 24478 412, 0, 0, 0, 0, 0, 0, 0, 413, 414, 24479 415, 416, 417, 0, 418, 420, 421, 815, 422, 816, 24480 0, 425, 427, 419, 423, 0, 426, 424, 428, 429, 24481 0, 430, 431, 432, 433, 0, 0, 434, 435, 436, 24482 0, 437, 438, 440, 439, 0, 441, 442, 443, 0, 24483 444, 445, 817, 446, 447, 448, 450, 452, 449, 451, 24484 453, 454, 455, 456, 457, 818, 819, 458, 459, 0, 24485 0, 0, 0, 0, 0, 0, 460, 461, 462, 820, 24486 0, 0, 0, 463, 0, 465, 469, 466, 467, 468, 24487 470, 0, 464, 471, 472, 0, 0, 473, 474, 475, 24488 821, 822, 476, 477, 478, 479, 480, 481, 482, 483, 24489 484, 0, 485, 486, 823, 0, 824, 487, 0, 488, 24490 489, 490, 491, 492, 493, 494, 1588, 826, 827, 595, 24491 0, 495, 496, 497, 0, 498, 499, 500, 501, 502, 24492 503, 504, 0, 0, 0, 505, 506, 507, 508, 0, 24493 0, 0, 0, 0, 828, 509, 596, 510, 829, 830, 24494 0, 831, 0, 511, 512, 515, 0, 832, 0, 514, 24495 516, 517, 0, 518, 0, 0, 0, 519, 520, 521, 24496 522, 523, 524, 525, 0, 526, 528, 527, 0, 530, 24497 833, 529, 0, 531, 532, 0, 0, 533, 534, 535, 24498 536, 537, 538, 541, 0, 0, 539, 540, 542, 543, 24499 0, 544, 545, 547, 550, 546, 548, 549, 551, 552, 24500 565, 566, 553, 554, 555, 556, 557, 558, 559, 560, 24501 561, 562, 563, 564, 568, 0, 567, 0, 569, 570, 24502 571, 572, 573, 581, 583, 584, 579, 580, 582, 585, 24503 586, 588, 589, 576, 577, 578, 0, 587, 574, 0, 24504 575, 0, 0, 590, 591, 592, 593, 0, 834, 594, 24505 835, 597, 598, 0, 0, 599, 0, 600, 0, 0, 24506 602, 603, 604, 0, 0, 605, 606, 836, 0, 607, 24507 0, 837, 608, 609, 601, 610, 611, 612, 613, 614, 24508 615, 616, 617, 618, 619, 0, 620, 621, 838, 622, 24509 623, 624, 839, 625, 626, 627, 840, 628, 841, 629, 24510 630, 0, 631, 632, 633, 0, 634, 635, 636, 637, 24511 638, 639, 640, 641, 642, 643, 842, 644, 645, 647, 24512 646, 648, 649, 0, 650, 0, 651, 652, 653, 0, 24513 0, 0, 0, 0, 654, 655, 657, 0, 658, 659, 24514 660, 661, 662, 656, 663, 664, 665, 666, 667, 668, 24515 669, 0, 671, 672, 670, 673, 674, 0, 675, 676, 24516 677, 678, 679, 843, 680, 0, 681, 682, 690, 691, 24517 692, 683, 684, 686, 693, 685, 694, 695, 696, 697, 24518 699, 698, 0, 701, 702, 700, 703, 704, 705, 706, 24519 0, 707, 844, 708, 687, 688, 709, 710, 711, 0, 24520 712, 713, 714, 715, 716, 717, 718, 719, 720, 845, 24521 0, 721, 0, 722, 723, 724, 725, 726, 727, 729, 24522 689, 730, 731, 732, 737, 738, 846, 733, 734, 735, 24523 736, 847, 740, 741, 742, 743, 0, 744, 745, 0, 24524 739, 728, 0, 746, 747, 748, 749, 750, 751, 752, 24525 753, 754, 755, 0, 756, 848, 849, 850, 851, 0, 24526 768, 0, 757, 759, 760, 761, 762, 852, 763, 853, 24527 0, 764, 765, 766, 767, 758, 769, 770, 0, 0, 24528 771, 772, 773, 774, 776, 778, 779, 780, 775, 777, 24529 781, 0, 782, 0, 0, 783, 784, 785, 854, 855, 24530 856, 0, 787, 788, 786, 789, 790, 793, 791, 792, 24531 857, 796, 513, 797, 798, 799, 794, 795, 337, 0, 24532 0, 0, 800, 801, 858, 802, 803, 804, 0, 0, 24533 0, 0, 0, 0, 0, 345, 346, 348, 347, 349, 24534 350, 351, 352, 0, 353, 354, 0, 0, 0, 0, 24535 0, 805, 0, 0, 0, 356, 0, 355, 0, 357, 24536 358, 359, 0, 360, 361, 362, 363, 364, 365, 366, 24537 367, 806, 807, 0, 368, 808, 369, 809, 0, 810, 24538 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 24539 0, 0, 0, 380, 811, 812, 813, 0, 381, 382, 24540 383, 384, 814, 0, 0, 0, 385, 386, 387, 388, 24541 389, 390, 391, 392, 0, 0, 394, 395, 396, 393, 24542 397, 398, 0, 399, 0, 400, 401, 402, 403, 404, 24543 405, 406, 0, 407, 408, 409, 0, 410, 411, 412, 24544 0, 0, 0, 0, 0, 0, 0, 413, 414, 415, 24545 416, 417, 0, 418, 420, 421, 815, 422, 816, 0, 24546 425, 427, 419, 423, 0, 426, 424, 428, 429, 0, 24547 430, 431, 432, 433, 0, 0, 434, 435, 436, 0, 24548 437, 438, 440, 439, 0, 441, 442, 443, 0, 444, 24549 445, 817, 446, 447, 448, 450, 452, 449, 451, 453, 24550 454, 455, 456, 457, 818, 819, 458, 459, 0, 0, 24551 0, 0, 0, 0, 0, 460, 461, 462, 820, 0, 24552 0, 0, 463, 0, 465, 469, 466, 467, 468, 470, 24553 0, 464, 471, 472, 0, 0, 473, 474, 475, 821, 24554 822, 476, 477, 478, 479, 480, 481, 482, 483, 484, 24555 0, 485, 486, 823, 0, 824, 487, 0, 488, 489, 24556 490, 491, 492, 493, 494, 825, 826, 827, 595, 0, 24557 495, 496, 497, 0, 498, 499, 500, 501, 502, 503, 24558 504, 0, 0, 0, 505, 506, 507, 508, 0, 0, 24559 0, 0, 0, 828, 509, 596, 510, 829, 830, 0, 24560 831, 0, 511, 512, 515, 0, 832, 0, 514, 516, 24561 517, 0, 518, 0, 0, 0, 519, 520, 521, 522, 24562 523, 524, 525, 0, 526, 528, 527, 0, 530, 833, 24563 529, 0, 531, 532, 0, 0, 533, 534, 535, 536, 24564 537, 538, 541, 0, 0, 539, 540, 542, 543, 0, 24565 544, 545, 547, 550, 546, 548, 549, 551, 552, 565, 24566 566, 553, 554, 555, 556, 557, 558, 559, 560, 561, 24567 562, 563, 564, 568, 0, 567, 0, 569, 570, 571, 24568 572, 573, 581, 583, 584, 579, 580, 582, 585, 586, 24569 588, 589, 576, 577, 578, 0, 587, 574, 0, 575, 24570 0, 0, 590, 591, 592, 593, 0, 834, 594, 835, 24571 597, 598, 0, 0, 599, 0, 600, 0, 0, 602, 24572 603, 604, 0, 0, 605, 606, 836, 0, 607, 0, 24573 837, 608, 609, 601, 610, 611, 612, 613, 614, 615, 24574 616, 617, 618, 619, 0, 620, 621, 838, 622, 623, 24575 624, 839, 625, 626, 627, 840, 628, 841, 629, 630, 24576 0, 631, 632, 633, 0, 634, 635, 636, 637, 638, 24577 639, 640, 641, 642, 643, 842, 644, 645, 1501, 646, 24578 648, 649, 0, 650, 0, 651, 652, 653, 0, 0, 24579 0, 0, 0, 654, 655, 657, 0, 658, 659, 660, 24580 661, 662, 656, 663, 664, 665, 666, 667, 668, 669, 24581 0, 671, 672, 670, 673, 674, 0, 675, 676, 677, 24582 678, 679, 843, 680, 0, 681, 682, 690, 691, 692, 24583 683, 684, 686, 693, 685, 694, 695, 696, 697, 699, 24584 698, 0, 701, 702, 700, 703, 704, 705, 706, 0, 24585 707, 844, 708, 687, 688, 709, 710, 711, 0, 712, 24586 713, 714, 715, 716, 717, 718, 719, 720, 845, 0, 24587 721, 0, 722, 723, 724, 725, 726, 727, 729, 689, 24588 730, 731, 732, 737, 738, 846, 733, 734, 735, 736, 24589 847, 740, 741, 742, 743, 0, 744, 745, 0, 739, 24590 728, 0, 746, 747, 748, 749, 750, 751, 752, 753, 24591 754, 755, 0, 756, 848, 849, 850, 851, 0, 768, 24592 0, 757, 759, 760, 761, 762, 852, 763, 853, 0, 24593 764, 765, 766, 767, 758, 769, 770, 0, 0, 771, 24594 772, 773, 774, 776, 778, 779, 780, 775, 777, 781, 24595 0, 782, 0, 0, 783, 784, 785, 854, 855, 856, 24596 0, 787, 788, 786, 789, 790, 793, 791, 792, 857, 24597 796, 513, 797, 798, 799, 794, 795, 337, 0, 0, 24598 0, 800, 801, 858, 802, 803, 804, 0, 0, 0, 24599 0, 0, 0, 0, 345, 346, 348, 347, 349, 350, 24600 351, 352, 0, 353, 354, 0, 0, 0, 0, 0, 24601 805, 0, 0, 0, 356, 0, 355, 0, 357, 358, 24602 359, 0, 360, 361, 362, 363, 364, 365, 366, 367, 24603 806, 807, 0, 368, 808, 369, 809, 0, 810, 370, 24604 371, 372, 373, 374, 375, 376, 377, 378, 379, 0, 24605 0, 0, 380, 811, 812, 813, 0, 381, 382, 383, 24606 384, 814, 0, 0, 0, 385, 386, 387, 388, 389, 24607 390, 391, 392, 0, 0, 394, 395, 396, 393, 397, 24608 398, 0, 399, 0, 400, 401, 402, 403, 404, 405, 24609 406, 0, 407, 408, 409, 0, 410, 411, 412, 0, 24610 0, 0, 0, 0, 0, 0, 413, 414, 415, 416, 24611 417, 0, 418, 420, 421, 815, 422, 816, 0, 425, 24612 427, 419, 423, 0, 426, 424, 428, 429, 0, 430, 24613 431, 432, 433, 0, 0, 434, 435, 436, 0, 437, 24614 438, 440, 439, 0, 441, 442, 443, 0, 444, 445, 24615 817, 446, 447, 448, 450, 452, 449, 451, 453, 454, 24616 455, 456, 457, 818, 819, 458, 459, 0, 0, 0, 24617 0, 0, 0, 0, 460, 461, 462, 820, 0, 0, 24618 0, 463, 0, 465, 469, 466, 467, 468, 470, 0, 24619 464, 471, 472, 0, 0, 473, 474, 475, 821, 822, 24620 476, 477, 478, 479, 480, 481, 482, 483, 484, 0, 24621 485, 486, 823, 0, 824, 0, 0, 488, 489, 490, 24622 491, 492, 493, 494, 825, 826, 827, 595, 0, 495, 24623 496, 497, 0, 498, 499, 500, 501, 502, 503, 504, 24624 0, 0, 0, 505, 506, 507, 508, 0, 0, 0, 24625 0, 0, 828, 509, 596, 510, 829, 830, 0, 831, 24626 0, 511, 512, 515, 0, 832, 0, 514, 516, 517, 24627 0, 518, 0, 0, 0, 519, 520, 521, 522, 523, 24628 524, 525, 0, 526, 528, 527, 0, 530, 833, 529, 24629 0, 531, 532, 0, 0, 533, 534, 535, 536, 537, 24630 538, 541, 0, 0, 539, 540, 542, 543, 0, 544, 24631 545, 547, 550, 546, 548, 549, 551, 552, 565, 566, 24632 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 24633 563, 564, 568, 0, 567, 0, 569, 570, 571, 572, 24634 573, 581, 583, 584, 579, 580, 582, 585, 586, 588, 24635 589, 576, 577, 578, 0, 587, 574, 0, 575, 0, 24636 0, 590, 591, 592, 593, 0, 834, 594, 835, 597, 24637 598, 0, 0, 599, 0, 600, 0, 0, 602, 603, 24638 604, 0, 0, 605, 606, 836, 0, 607, 0, 837, 24639 608, 609, 601, 610, 611, 612, 0, 614, 615, 616, 24640 617, 618, 619, 0, 620, 621, 838, 622, 623, 624, 24641 839, 625, 626, 627, 840, 628, 841, 629, 630, 0, 24642 631, 632, 633, 0, 634, 635, 636, 637, 638, 639, 24643 640, 0, 642, 643, 842, 644, 645, 647, 646, 648, 24644 649, 0, 650, 0, 651, 652, 653, 0, 0, 0, 24645 0, 0, 654, 655, 657, 0, 658, 659, 660, 661, 24646 662, 656, 663, 664, 665, 666, 667, 668, 669, 0, 24647 671, 672, 670, 673, 674, 0, 675, 676, 677, 678, 24648 679, 843, 0, 0, 681, 682, 690, 691, 692, 683, 24649 684, 686, 693, 685, 694, 695, 696, 697, 699, 698, 24650 0, 701, 702, 700, 703, 704, 705, 706, 0, 707, 24651 844, 708, 687, 688, 709, 710, 711, 0, 712, 713, 24652 714, 715, 716, 717, 718, 719, 720, 845, 0, 721, 24653 0, 722, 723, 724, 725, 726, 727, 729, 689, 730, 24654 731, 732, 737, 738, 846, 733, 734, 735, 736, 847, 24655 740, 741, 742, 743, 0, 744, 745, 0, 739, 728, 24656 0, 746, 747, 748, 749, 750, 751, 752, 753, 754, 24657 755, 0, 756, 848, 849, 850, 851, 0, 768, 0, 24658 757, 759, 760, 761, 762, 852, 763, 853, 0, 764, 24659 765, 766, 767, 758, 769, 770, 0, 0, 771, 772, 24660 773, 774, 776, 778, 779, 780, 775, 777, 781, 0, 24661 782, 0, 0, 783, 784, 785, 854, 855, 856, 0, 24662 787, 788, 786, 789, 790, 793, 791, 792, 857, 796, 24663 513, 797, 798, 799, 794, 795, 2080, 0, 1640, 0, 24664 800, 801, 858, 802, 803, 804, 0, 0, 0, 0, 24665 0, 0, 0, 0, 0, 345, 346, 348, 347, 349, 24666 350, 351, 352, 0, 353, 354, 0, 0, 0, 0, 24667 0, 0, 0, 0, 0, 356, 0, 355, 0, 357, 24668 358, 359, 0, 360, 361, 362, 363, 364, 365, 366, 24669 367, 0, 0, 0, 368, 0, 369, 0, 0, 0, 24670 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 24671 0, 0, 0, 380, 0, 0, 0, 0, 381, 382, 24672 383, 384, 0, 0, 0, 0, 385, 386, 387, 388, 24673 389, 390, 391, 392, 0, 0, 394, 395, 396, 393, 24674 397, 398, 0, 399, 0, 400, 401, 402, 403, 404, 24675 405, 406, 0, 407, 408, 409, 0, 410, 411, 412, 24676 0, 0, 0, 0, 0, 0, 1642, 413, 414, 415, 24677 416, 417, 0, 418, 420, 421, 0, 422, 0, 0, 24678 425, 427, 419, 423, 0, 426, 424, 428, 429, 0, 24679 430, 431, 432, 433, 0, 0, 434, 435, 436, 0, 24680 437, 438, 440, 439, 0, 441, 442, 443, 0, 444, 24681 445, 0, 446, 447, 448, 450, 452, 449, 451, 453, 24682 454, 455, 456, 457, 0, 0, 458, 459, 0, 0, 24683 0, 0, 0, 0, 0, 460, 461, 462, 0, 0, 24684 0, 0, 463, 0, 465, 469, 466, 467, 468, 470, 24685 0, 464, 471, 472, 0, 0, 473, 474, 475, 0, 24686 0, 476, 477, 478, 479, 480, 481, 482, 483, 484, 24687 0, 485, 486, 0, 0, 0, 487, 0, 488, 489, 24688 490, 491, 492, 493, 494, 2079, 0, 0, 595, 0, 24689 495, 496, 497, 0, 498, 499, 500, 501, 502, 503, 24690 504, 0, 0, 0, 505, 506, 507, 508, 0, 0, 24691 0, 0, 0, 0, 509, 596, 510, 0, 0, 0, 24692 0, 0, 511, 512, 515, 0, 0, 0, 514, 516, 24693 517, 0, 518, 0, 0, 0, 519, 520, 521, 522, 24694 523, 524, 525, 0, 526, 528, 527, 0, 530, 0, 24695 529, 0, 531, 532, 0, 0, 533, 534, 535, 536, 24696 537, 538, 541, 0, 0, 539, 540, 542, 543, 0, 24697 544, 545, 547, 550, 546, 548, 549, 551, 552, 565, 24698 566, 553, 554, 555, 556, 557, 558, 559, 560, 561, 24699 562, 563, 564, 568, 0, 567, 0, 569, 570, 571, 24700 572, 573, 581, 583, 584, 579, 580, 582, 585, 586, 24701 588, 589, 576, 577, 578, 0, 587, 574, 0, 575, 24702 0, 0, 590, 591, 592, 593, 0, 0, 594, 0, 24703 597, 598, 0, 0, 599, 0, 600, 0, 0, 602, 24704 603, 604, 0, 0, 605, 606, 0, 0, 607, 0, 24705 0, 608, 609, 601, 610, 611, 612, 613, 614, 615, 24706 616, 617, 618, 619, 0, 620, 621, 0, 622, 623, 24707 624, 0, 625, 626, 627, 0, 628, 0, 629, 630, 24708 0, 631, 632, 633, 0, 634, 635, 636, 637, 638, 24709 639, 640, 641, 642, 643, 0, 644, 645, 647, 646, 24710 648, 649, 0, 650, 0, 651, 652, 653, 0, 0, 24711 0, 0, 0, 654, 655, 657, 0, 658, 659, 660, 24712 661, 662, 656, 663, 664, 665, 666, 667, 668, 669, 24713 0, 671, 672, 670, 673, 674, 0, 675, 676, 677, 24714 678, 679, 0, 680, 0, 681, 682, 690, 691, 692, 24715 683, 684, 686, 693, 685, 694, 695, 696, 697, 699, 24716 698, 0, 701, 702, 700, 703, 704, 705, 706, 1643, 24717 707, 0, 708, 687, 688, 709, 710, 711, 0, 712, 24718 713, 714, 715, 716, 717, 718, 719, 720, 0, 0, 24719 721, 0, 722, 723, 724, 725, 726, 727, 729, 689, 24720 730, 731, 732, 737, 738, 0, 733, 734, 735, 736, 24721 0, 740, 741, 742, 743, 0, 744, 745, 0, 739, 24722 728, 0, 746, 747, 748, 749, 750, 751, 752, 753, 24723 754, 755, 0, 756, 0, 0, 0, 0, 0, 768, 24724 0, 757, 759, 760, 761, 762, 0, 763, 0, 0, 24725 764, 765, 766, 767, 758, 769, 770, 0, 0, 771, 24726 772, 773, 774, 776, 778, 779, 780, 775, 777, 781, 24727 0, 782, 0, 0, 783, 784, 785, 0, 0, 0, 24728 0, 787, 788, 786, 789, 790, 793, 791, 792, 0, 24729 796, 513, 797, 798, 799, 794, 795, 1996, 0, 1640, 24730 0, 800, 801, 0, 802, 803, 804, 0, 0, 0, 24731 0, 0, 0, 0, 0, 0, 345, 346, 348, 347, 24732 349, 350, 351, 352, 0, 353, 354, 0, 0, 0, 24733 0, 0, 0, 0, 0, 0, 356, 0, 355, 0, 24734 357, 358, 359, 0, 360, 361, 362, 363, 364, 365, 24735 366, 367, 0, 0, 0, 368, 0, 369, 0, 0, 24736 0, 370, 371, 372, 373, 374, 375, 376, 377, 378, 24737 379, 0, 0, 0, 380, 0, 0, 0, 0, 381, 24738 382, 383, 384, 0, 0, 0, 0, 385, 386, 387, 24739 388, 389, 390, 391, 392, 0, 0, 394, 395, 396, 24740 393, 397, 398, 0, 399, 0, 400, 401, 402, 403, 24741 404, 405, 406, 0, 407, 408, 409, 0, 410, 411, 24742 412, 0, 0, 0, 0, 0, 0, 1642, 413, 414, 24743 415, 416, 417, 0, 418, 420, 421, 0, 422, 0, 24744 0, 425, 427, 419, 423, 0, 426, 424, 428, 429, 24745 0, 430, 431, 432, 433, 0, 0, 434, 435, 436, 24746 0, 437, 438, 440, 439, 0, 441, 442, 443, 0, 24747 444, 445, 0, 446, 447, 448, 450, 452, 449, 451, 24748 453, 454, 455, 456, 457, 0, 0, 458, 459, 0, 24749 0, 0, 0, 0, 0, 0, 460, 461, 462, 0, 24750 0, 0, 0, 463, 0, 465, 469, 466, 467, 468, 24751 470, 0, 464, 471, 472, 0, 0, 473, 474, 475, 24752 0, 0, 476, 477, 478, 479, 480, 481, 482, 483, 24753 484, 0, 485, 486, 0, 0, 0, 487, 0, 488, 24754 489, 490, 491, 492, 493, 494, 1995, 0, 0, 595, 24755 0, 495, 496, 497, 0, 498, 499, 500, 501, 502, 24756 503, 504, 0, 0, 0, 505, 506, 507, 508, 0, 24757 0, 0, 0, 0, 0, 509, 596, 510, 0, 0, 24758 0, 0, 0, 511, 512, 515, 0, 0, 0, 514, 24759 516, 517, 0, 518, 0, 0, 0, 519, 520, 521, 24760 522, 523, 524, 525, 0, 526, 528, 527, 0, 530, 24761 0, 529, 0, 531, 532, 0, 0, 533, 534, 535, 24762 536, 537, 538, 541, 0, 0, 539, 540, 542, 543, 24763 0, 544, 545, 547, 550, 546, 548, 549, 551, 552, 24764 565, 566, 553, 554, 555, 556, 557, 558, 559, 560, 24765 561, 562, 563, 564, 568, 0, 567, 0, 569, 570, 24766 571, 572, 573, 581, 583, 584, 579, 580, 582, 585, 24767 586, 588, 589, 576, 577, 578, 0, 587, 574, 0, 24768 575, 0, 0, 590, 591, 592, 593, 0, 0, 594, 24769 0, 597, 598, 0, 0, 599, 0, 600, 0, 0, 24770 602, 603, 604, 0, 0, 605, 606, 0, 0, 607, 24771 0, 0, 608, 609, 601, 610, 611, 612, 613, 614, 24772 615, 616, 617, 618, 619, 0, 620, 621, 0, 622, 24773 623, 624, 0, 625, 626, 627, 0, 628, 0, 629, 24774 630, 0, 631, 632, 633, 0, 634, 635, 636, 637, 24775 638, 639, 640, 641, 642, 643, 0, 644, 645, 647, 24776 646, 648, 649, 0, 650, 0, 651, 652, 653, 0, 24777 0, 0, 0, 0, 654, 655, 657, 0, 658, 659, 24778 660, 661, 662, 656, 663, 664, 665, 666, 667, 668, 24779 669, 0, 671, 672, 670, 673, 674, 0, 675, 676, 24780 677, 678, 679, 0, 680, 0, 681, 682, 690, 691, 24781 692, 683, 684, 686, 693, 685, 694, 695, 696, 697, 24782 699, 698, 0, 701, 702, 700, 703, 704, 705, 706, 24783 1643, 707, 0, 708, 687, 688, 709, 710, 711, 0, 24784 712, 713, 714, 715, 716, 717, 718, 719, 720, 0, 24785 0, 721, 0, 722, 723, 724, 725, 726, 727, 729, 24786 689, 730, 731, 732, 737, 738, 0, 733, 734, 735, 24787 736, 0, 740, 741, 742, 743, 0, 744, 745, 0, 24788 739, 728, 0, 746, 747, 748, 749, 750, 751, 752, 24789 753, 754, 755, 0, 756, 0, 0, 0, 0, 0, 24790 768, 0, 757, 759, 760, 761, 762, 0, 763, 0, 24791 0, 764, 765, 766, 767, 758, 769, 770, 0, 0, 24792 771, 772, 773, 774, 776, 778, 779, 780, 775, 777, 24793 781, 0, 782, 0, 0, 783, 784, 785, 0, 0, 24794 0, 0, 787, 788, 786, 789, 790, 793, 791, 792, 24795 0, 796, 513, 797, 798, 799, 794, 795, 1638, 0, 24796 1640, 0, 800, 801, 0, 802, 803, 804, 0, 0, 24797 0, 0, 0, 0, 0, 0, 0, 345, 346, 348, 24798 347, 349, 350, 351, 352, 0, 353, 354, 0, 0, 24799 0, 0, 0, 0, 0, 0, 0, 356, 0, 355, 24800 0, 357, 358, 359, 0, 360, 361, 362, 363, 364, 24801 365, 366, 367, 0, 0, 0, 368, 0, 369, 0, 24802 0, 0, 370, 371, 372, 373, 374, 375, 376, 377, 24803 378, 379, 0, 0, 0, 380, 0, 0, 0, 0, 24804 381, 382, 383, 384, 0, 0, 0, 0, 385, 386, 24805 387, 388, 389, 390, 391, 392, 0, 0, 394, 395, 24806 396, 393, 397, 398, 0, 399, 0, 400, 401, 402, 24807 403, 404, 405, 406, 0, 407, 408, 409, 0, 410, 24808 411, 412, 0, 0, 0, 0, 0, 0, 1642, 413, 24809 414, 415, 416, 417, 0, 418, 420, 421, 0, 422, 24810 0, 0, 425, 427, 419, 423, 0, 426, 424, 428, 24811 429, 0, 430, 431, 432, 433, 0, 0, 434, 435, 24812 436, 0, 437, 438, 440, 439, 0, 441, 442, 443, 24813 0, 444, 445, 0, 446, 447, 448, 450, 452, 449, 24814 451, 453, 454, 455, 456, 457, 0, 0, 458, 459, 24815 0, 0, 0, 0, 0, 0, 0, 460, 461, 462, 24816 0, 0, 0, 0, 463, 0, 465, 469, 466, 467, 24817 468, 470, 0, 464, 471, 472, 0, 0, 473, 474, 24818 475, 0, 0, 476, 477, 478, 479, 480, 481, 482, 24819 483, 484, 0, 485, 486, 0, 0, 0, 487, 0, 24820 488, 489, 490, 491, 492, 493, 494, 1637, 0, 0, 24821 595, 0, 495, 496, 497, 0, 498, 499, 500, 501, 24822 502, 503, 504, 0, 0, 0, 505, 506, 507, 508, 24823 0, 0, 0, 0, 0, 0, 509, 596, 510, 0, 24824 0, 0, 0, 0, 511, 512, 515, 0, 0, 0, 24825 514, 516, 517, 0, 518, 0, 0, 0, 519, 520, 24826 521, 522, 523, 524, 525, 0, 526, 528, 527, 0, 24827 530, 0, 529, 0, 531, 532, 0, 0, 533, 534, 24828 535, 536, 537, 538, 541, 0, 0, 539, 540, 542, 24829 543, 0, 544, 545, 547, 550, 546, 548, 549, 551, 24830 552, 565, 566, 553, 554, 555, 556, 557, 558, 559, 24831 560, 561, 562, 563, 564, 568, 0, 567, 0, 569, 24832 570, 571, 572, 573, 581, 583, 584, 579, 580, 582, 24833 585, 586, 588, 589, 576, 577, 578, 0, 587, 574, 24834 0, 575, 0, 0, 590, 591, 592, 593, 0, 0, 24835 594, 0, 597, 598, 0, 0, 599, 0, 600, 0, 24836 0, 602, 603, 604, 0, 0, 605, 606, 0, 0, 24837 607, 0, 0, 608, 609, 601, 610, 611, 612, 613, 24838 614, 615, 616, 617, 618, 619, 0, 620, 621, 0, 24839 622, 623, 624, 0, 625, 626, 627, 0, 628, 0, 24840 629, 630, 0, 631, 632, 633, 0, 634, 635, 636, 24841 637, 638, 639, 640, 641, 642, 643, 0, 644, 645, 24842 647, 646, 648, 649, 0, 650, 0, 651, 652, 653, 24843 0, 0, 0, 0, 0, 654, 655, 657, 0, 658, 24844 659, 660, 661, 662, 656, 663, 664, 665, 666, 667, 24845 668, 669, 0, 671, 672, 670, 673, 674, 0, 675, 24846 676, 677, 678, 679, 0, 680, 0, 681, 682, 690, 24847 691, 692, 683, 684, 686, 693, 685, 694, 695, 696, 24848 697, 699, 698, 0, 701, 702, 700, 703, 704, 705, 24849 706, 1643, 707, 0, 708, 687, 688, 709, 710, 711, 24850 0, 712, 713, 714, 715, 716, 717, 718, 719, 720, 24851 0, 0, 721, 0, 722, 723, 724, 725, 726, 727, 24852 729, 689, 730, 731, 732, 737, 738, 0, 733, 734, 24853 735, 736, 0, 740, 741, 742, 743, 0, 744, 745, 24854 0, 739, 728, 0, 746, 747, 748, 749, 750, 751, 24855 752, 753, 754, 755, 0, 756, 0, 0, 0, 0, 24856 0, 768, 0, 757, 759, 760, 761, 762, 0, 763, 24857 0, 0, 764, 765, 766, 767, 758, 769, 770, 0, 24858 0, 771, 772, 773, 774, 776, 778, 779, 780, 775, 24859 777, 781, 0, 782, 0, 0, 783, 784, 785, 0, 24860 0, 0, 0, 787, 788, 786, 789, 790, 793, 791, 24861 792, 0, 796, 513, 797, 798, 799, 794, 795, 2528, 24862 0, 1640, 0, 800, 801, 0, 802, 803, 804, 0, 24863 0, 0, 0, 0, 0, 0, 0, 0, 345, 346, 24864 348, 347, 349, 350, 351, 352, 0, 353, 354, 0, 24865 0, 0, 0, 0, 0, 0, 0, 0, 356, 0, 24866 355, 0, 357, 358, 359, 0, 360, 361, 362, 363, 24867 364, 365, 366, 367, 0, 0, 0, 368, 0, 369, 24868 0, 0, 0, 370, 371, 372, 373, 374, 375, 376, 24869 377, 378, 379, 0, 0, 0, 380, 0, 0, 0, 24870 0, 381, 382, 383, 384, 0, 0, 0, 0, 385, 24871 386, 387, 388, 389, 390, 391, 392, 0, 0, 394, 24872 395, 396, 393, 397, 398, 0, 399, 0, 400, 401, 24873 402, 403, 404, 405, 406, 0, 407, 408, 409, 0, 24874 410, 411, 412, 0, 0, 0, 0, 0, 0, 1642, 24875 413, 414, 415, 416, 417, 0, 418, 420, 421, 0, 24876 422, 0, 0, 425, 427, 419, 423, 0, 426, 424, 24877 428, 429, 0, 430, 431, 432, 433, 0, 0, 434, 24878 435, 436, 0, 437, 438, 440, 439, 0, 441, 442, 24879 443, 0, 444, 445, 0, 446, 447, 448, 450, 452, 24880 449, 451, 453, 454, 455, 456, 457, 0, 0, 458, 24881 459, 0, 0, 0, 0, 0, 0, 0, 460, 461, 24882 462, 0, 0, 0, 0, 463, 0, 465, 469, 466, 24883 467, 468, 470, 0, 464, 471, 472, 0, 0, 473, 24884 474, 475, 0, 0, 476, 477, 478, 479, 480, 481, 24885 482, 483, 484, 0, 485, 486, 0, 0, 0, 487, 24886 0, 488, 489, 490, 491, 492, 493, 494, 0, 0, 24887 0, 595, 0, 495, 496, 497, 0, 498, 499, 500, 24888 501, 502, 503, 504, 0, 0, 0, 505, 506, 507, 24889 508, 0, 0, 0, 0, 0, 0, 509, 596, 510, 24890 0, 0, 0, 0, 0, 511, 512, 515, 0, 0, 24891 0, 514, 516, 517, 0, 518, 0, 0, 0, 519, 24892 520, 521, 522, 523, 524, 525, 0, 526, 528, 527, 24893 0, 530, 0, 529, 0, 531, 532, 0, 0, 533, 24894 534, 535, 536, 537, 538, 541, 0, 0, 539, 540, 24895 542, 543, 0, 544, 545, 547, 550, 546, 548, 549, 24896 551, 552, 565, 566, 553, 554, 555, 556, 557, 558, 24897 559, 560, 561, 562, 563, 564, 568, 0, 567, 0, 24898 569, 570, 571, 572, 573, 581, 583, 584, 579, 580, 24899 582, 585, 586, 588, 589, 576, 577, 578, 0, 587, 24900 574, 0, 575, 0, 0, 590, 591, 592, 593, 0, 24901 0, 594, 0, 597, 598, 0, 0, 599, 0, 600, 24902 0, 0, 602, 603, 604, 0, 0, 605, 606, 0, 24903 0, 607, 0, 0, 608, 609, 601, 610, 611, 612, 24904 613, 614, 615, 616, 617, 618, 619, 0, 620, 621, 24905 0, 622, 623, 624, 0, 625, 626, 627, 0, 628, 24906 0, 629, 630, 0, 631, 632, 633, 0, 634, 635, 24907 636, 637, 638, 639, 640, 641, 642, 643, 0, 644, 24908 645, 647, 646, 648, 649, 0, 650, 0, 651, 652, 24909 653, 0, 0, 0, 0, 0, 654, 655, 657, 0, 24910 658, 659, 660, 661, 662, 656, 663, 664, 665, 666, 24911 667, 668, 669, 0, 671, 672, 670, 673, 674, 0, 24912 675, 676, 677, 678, 679, 0, 680, 0, 681, 682, 24913 690, 691, 692, 683, 684, 686, 693, 685, 694, 695, 24914 696, 697, 699, 698, 0, 701, 702, 700, 703, 704, 24915 705, 706, 1643, 707, 0, 708, 687, 688, 709, 710, 24916 711, 0, 712, 713, 714, 715, 716, 717, 718, 719, 24917 720, 0, 0, 721, 0, 722, 723, 724, 725, 726, 24918 727, 729, 689, 730, 731, 732, 737, 738, 0, 733, 24919 734, 735, 736, 0, 740, 741, 742, 743, 0, 744, 24920 745, 0, 739, 728, 0, 746, 747, 748, 749, 750, 24921 751, 752, 753, 754, 755, 0, 756, 0, 0, 0, 24922 0, 0, 768, 0, 757, 759, 760, 761, 762, 0, 24923 763, 0, 0, 764, 765, 766, 767, 758, 769, 770, 24924 0, 0, 771, 772, 773, 774, 776, 778, 779, 780, 24925 775, 777, 781, 0, 782, 0, 0, 783, 784, 785, 24926 0, 0, 0, 0, 787, 788, 786, 789, 790, 793, 24927 791, 792, 0, 796, 513, 797, 798, 799, 794, 795, 24928 2481, 0, 1640, 0, 800, 801, 0, 802, 803, 804, 24929 0, 0, 0, 0, 0, 0, 0, 0, 0, 345, 24930 346, 348, 347, 349, 350, 351, 352, 0, 353, 354, 24931 0, 0, 0, 0, 0, 0, 0, 0, 0, 356, 24932 0, 355, 0, 357, 358, 359, 0, 360, 361, 362, 24933 363, 364, 365, 366, 367, 0, 0, 0, 368, 0, 24934 369, 0, 0, 0, 370, 371, 372, 373, 374, 375, 24935 376, 377, 378, 379, 0, 0, 0, 380, 0, 0, 24936 0, 0, 381, 382, 383, 384, 0, 0, 0, 0, 24937 385, 386, 387, 388, 389, 390, 391, 392, 0, 0, 24938 394, 395, 396, 393, 397, 398, 0, 399, 0, 400, 24939 401, 402, 403, 404, 405, 406, 0, 407, 408, 409, 24940 0, 410, 411, 412, 0, 0, 0, 0, 0, 0, 24941 1642, 413, 414, 415, 416, 417, 0, 418, 420, 421, 24942 0, 422, 0, 0, 425, 427, 419, 423, 0, 426, 24943 424, 428, 429, 0, 430, 431, 432, 433, 0, 0, 24944 434, 435, 436, 0, 437, 438, 440, 439, 0, 441, 24945 442, 443, 0, 444, 445, 0, 446, 447, 448, 450, 24946 452, 449, 451, 453, 454, 455, 456, 457, 0, 0, 24947 458, 459, 0, 0, 0, 0, 0, 0, 0, 460, 24948 461, 462, 0, 0, 0, 0, 463, 0, 465, 469, 24949 466, 467, 468, 470, 0, 464, 471, 472, 0, 0, 24950 473, 474, 475, 0, 0, 476, 477, 478, 479, 480, 24951 481, 482, 483, 484, 0, 485, 486, 0, 0, 0, 24952 487, 0, 488, 489, 490, 491, 492, 493, 494, 0, 24953 0, 0, 595, 0, 495, 496, 497, 0, 498, 499, 24954 500, 501, 502, 503, 504, 0, 0, 0, 505, 506, 24955 507, 508, 0, 0, 0, 0, 0, 0, 509, 596, 24956 510, 0, 0, 0, 0, 0, 511, 512, 515, 0, 24957 0, 0, 514, 516, 517, 0, 518, 0, 0, 0, 24958 519, 520, 521, 522, 523, 524, 525, 0, 526, 528, 24959 527, 0, 530, 0, 529, 0, 531, 532, 0, 0, 24960 533, 534, 535, 536, 537, 538, 541, 0, 0, 539, 24961 540, 542, 543, 0, 544, 545, 547, 550, 546, 548, 24962 549, 551, 552, 565, 566, 553, 554, 555, 556, 557, 24963 558, 559, 560, 561, 562, 563, 564, 568, 0, 567, 24964 0, 569, 570, 571, 572, 573, 581, 583, 584, 579, 24965 580, 582, 585, 586, 588, 589, 576, 577, 578, 0, 24966 587, 574, 0, 575, 0, 0, 590, 591, 592, 593, 24967 0, 0, 594, 0, 597, 598, 0, 0, 599, 0, 24968 600, 0, 0, 602, 603, 604, 0, 0, 605, 606, 24969 0, 0, 607, 0, 0, 608, 609, 601, 610, 611, 24970 612, 613, 614, 615, 616, 617, 618, 619, 0, 620, 24971 621, 0, 622, 623, 624, 0, 625, 626, 627, 0, 24972 628, 0, 629, 630, 0, 631, 632, 633, 0, 634, 24973 635, 636, 637, 638, 639, 640, 641, 642, 643, 0, 24974 644, 645, 647, 646, 648, 649, 0, 650, 0, 651, 24975 652, 653, 0, 0, 0, 0, 0, 654, 655, 657, 24976 0, 658, 659, 660, 661, 662, 656, 663, 664, 665, 24977 666, 667, 668, 669, 0, 671, 672, 670, 673, 674, 24978 0, 675, 676, 677, 678, 679, 0, 680, 0, 681, 24979 682, 690, 691, 692, 683, 684, 686, 693, 685, 694, 24980 695, 696, 697, 699, 698, 0, 701, 702, 700, 703, 24981 704, 705, 706, 1643, 707, 0, 708, 687, 688, 709, 24982 710, 711, 0, 712, 713, 714, 715, 716, 717, 718, 24983 719, 720, 0, 0, 721, 0, 722, 723, 724, 725, 24984 726, 727, 729, 689, 730, 731, 732, 737, 738, 0, 24985 733, 734, 735, 736, 0, 740, 741, 742, 743, 0, 24986 744, 745, 0, 739, 728, 0, 746, 747, 748, 749, 24987 750, 751, 752, 753, 754, 755, 0, 756, 0, 0, 24988 0, 0, 0, 768, 0, 757, 759, 760, 761, 762, 24989 0, 763, 0, 0, 764, 765, 766, 767, 758, 769, 24990 770, 0, 0, 771, 772, 773, 774, 776, 778, 779, 24991 780, 775, 777, 781, 0, 782, 0, 0, 783, 784, 24992 785, 0, 0, 0, 0, 787, 788, 786, 789, 790, 24993 793, 791, 792, 0, 796, 513, 797, 798, 799, 794, 24994 795, 1640, 0, 0, 0, 800, 801, 0, 802, 803, 24995 804, 0, 0, 0, 0, 0, 0, 0, 345, 346, 24996 348, 347, 349, 350, 351, 352, 0, 353, 354, 0, 24997 0, 0, 0, 0, 0, 0, 0, 0, 356, 0, 24998 355, 0, 357, 358, 359, 0, 360, 361, 362, 363, 24999 364, 365, 366, 367, 0, 0, 0, 368, 0, 369, 25000 0, 0, 0, 370, 371, 372, 373, 374, 375, 376, 25001 377, 378, 379, 0, 0, 0, 380, 0, 0, 0, 25002 0, 381, 382, 383, 384, 0, 0, 0, 0, 385, 25003 386, 387, 388, 389, 390, 391, 392, 0, 0, 394, 25004 395, 396, 393, 397, 398, 0, 399, 0, 400, 401, 25005 402, 403, 404, 405, 406, 0, 407, 408, 409, 0, 25006 410, 411, 412, 0, 0, 0, 0, 0, 0, 1642, 25007 413, 414, 415, 416, 417, 0, 418, 420, 421, 0, 25008 422, 0, 0, 425, 427, 419, 423, 0, 426, 424, 25009 428, 429, 0, 430, 431, 432, 433, 0, 0, 434, 25010 435, 436, 0, 437, 438, 440, 439, 0, 441, 442, 25011 443, 0, 444, 445, 0, 446, 447, 448, 450, 452, 25012 449, 451, 453, 454, 455, 456, 457, 0, 0, 458, 25013 459, 0, 0, 0, 0, 0, 0, 0, 460, 461, 25014 462, 0, 0, 0, 0, 463, 0, 465, 469, 466, 25015 467, 468, 470, 0, 464, 471, 472, 0, 0, 473, 25016 474, 475, 0, 0, 476, 477, 478, 479, 480, 481, 25017 482, 483, 484, 0, 485, 486, 0, 0, 0, 487, 25018 0, 488, 489, 490, 491, 492, 493, 494, 0, 0, 25019 0, 595, 0, 495, 496, 497, 0, 498, 499, 500, 25020 501, 502, 503, 504, 0, 0, 0, 505, 506, 507, 25021 508, 0, 0, 0, 0, 0, 0, 509, 596, 510, 25022 0, 0, 0, 0, 0, 511, 512, 515, 0, 0, 25023 0, 514, 516, 517, 0, 518, 0, 0, 0, 519, 25024 520, 521, 522, 523, 524, 525, 0, 526, 528, 527, 25025 0, 530, 0, 529, 0, 531, 532, 0, 0, 533, 25026 534, 535, 536, 537, 538, 541, 0, 0, 539, 540, 25027 542, 543, 0, 544, 545, 547, 550, 546, 548, 549, 25028 551, 552, 565, 566, 553, 554, 555, 556, 557, 558, 25029 559, 560, 561, 562, 563, 564, 568, 0, 567, 0, 25030 569, 570, 571, 572, 573, 581, 583, 584, 579, 580, 25031 582, 585, 586, 588, 589, 576, 577, 578, 0, 587, 25032 574, 0, 575, 0, 0, 590, 591, 592, 593, 0, 25033 0, 594, 0, 597, 598, 0, 0, 599, 0, 600, 25034 0, 0, 602, 603, 604, 0, 0, 605, 606, 0, 25035 0, 607, 0, 0, 608, 609, 601, 610, 611, 612, 25036 613, 614, 615, 616, 617, 618, 619, 0, 620, 621, 25037 0, 622, 623, 624, 0, 625, 626, 627, 0, 628, 25038 0, 629, 630, 0, 631, 632, 633, 0, 634, 635, 25039 636, 637, 638, 639, 640, 641, 642, 643, 0, 644, 25040 645, 647, 646, 648, 649, 0, 650, 0, 651, 652, 25041 653, 0, 0, 0, 0, 0, 654, 655, 657, 0, 25042 658, 659, 660, 661, 662, 656, 663, 664, 665, 666, 25043 667, 668, 669, 0, 671, 672, 670, 673, 674, 0, 25044 675, 676, 677, 678, 679, 0, 680, 0, 681, 682, 25045 690, 691, 692, 683, 684, 686, 693, 685, 694, 695, 25046 696, 697, 699, 698, 0, 701, 702, 700, 703, 704, 25047 705, 706, 1643, 707, 0, 708, 687, 688, 709, 710, 25048 711, 0, 712, 713, 714, 715, 716, 717, 718, 719, 25049 720, 0, 0, 721, 0, 722, 723, 724, 725, 726, 25050 727, 729, 689, 730, 731, 732, 737, 738, 0, 733, 25051 734, 735, 736, 0, 740, 741, 742, 743, 0, 744, 25052 745, 0, 739, 728, 0, 746, 747, 748, 749, 750, 25053 751, 752, 753, 754, 755, 0, 756, 0, 0, 0, 25054 0, 0, 768, 0, 757, 759, 760, 761, 762, 0, 25055 763, 0, 0, 764, 765, 766, 767, 758, 769, 770, 25056 0, 0, 771, 772, 773, 774, 776, 778, 779, 780, 25057 775, 777, 781, 0, 782, 0, 0, 783, 784, 785, 25058 0, 0, 0, 0, 787, 788, 786, 789, 790, 793, 25059 791, 792, 0, 796, 513, 797, 798, 799, 794, 795, 25060 0, 0, 0, 0, 800, 801, 0, 802, 803, 804, 25061 2187, 2188, 0, 2221, 2222, 2223, 2232, 2233, 2234, 0, 25062 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25063 0, 0, 0, 2225, 2218, 0, 0, 0, 0, 0, 25064 0, 2219, 0, 0, 2190, 0, 0, 2187, 2188, 0, 25065 2221, 2222, 2223, 2232, 2233, 2234, 2238, 0, 0, 0, 25066 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25067 2225, 2218, 0, 0, 0, 0, 0, 2244, 2219, 0, 25068 0, 2190, 0, 0, 0, 0, 0, 0, 2189, 0, 25069 0, 0, 0, 2238, 0, 0, 0, 0, 0, 2209, 25070 0, 0, 0, 0, 0, 0, 0, 0, 0, 2206, 25071 0, 0, 0, 0, 2244, 0, 0, 0, 0, 0, 25072 0, 0, 0, 0, 0, 2189, 0, 0, 0, 0, 25073 0, 0, 0, 0, 0, 0, 2209, 0, 0, 0, 25074 0, 0, 0, 0, 0, 0, 2206, 0, 0, 0, 25075 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25076 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25077 0, 2187, 2188, 0, 2221, 2222, 2223, 2232, 2233, 2234, 25078 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25079 0, 0, 0, 0, 2225, 2218, 2212, 2213, 2214, 2215, 25080 0, 0, 2219, 0, 0, 2190, 2195, 0, 0, 0, 25081 0, 0, 0, 0, 0, 0, 0, 2238, 0, 0, 25082 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25083 0, 0, 0, 2212, 2213, 2214, 2215, 0, 2244, 0, 25084 0, 0, 0, 2195, 0, 0, 0, 0, 0, 2189, 25085 0, 0, 0, 0, 2229, 0, 0, 0, 2239, 0, 25086 2209, 0, 0, 0, 0, 0, 0, 2217, 2220, 0, 25087 2206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25088 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25089 2235, 2229, 2236, 0, 0, 2239, 0, 0, 0, 2204, 25090 2205, 0, 0, 0, 2217, 2220, 0, 0, 0, 0, 25091 0, 0, 0, 0, 0, 0, 0, 0, 0, 2227, 25092 0, 0, 0, 0, 0, 0, 0, 2235, 0, 2236, 25093 0, 0, 0, 0, 2210, 0, 2204, 2205, 0, 0, 25094 0, 0, 2187, 2188, 0, 2221, 2222, 2223, 2232, 2233, 25095 2234, 0, 0, 0, 0, 0, 2227, 2212, 2213, 2214, 25096 2215, 0, 0, 0, 0, 2225, 2218, 2195, 0, 0, 25097 0, 2210, 0, 2219, 0, 0, 2190, 0, 0, 0, 25098 0, 0, 0, 0, 0, 0, 2237, 0, 2238, 0, 25099 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25100 0, 0, 0, 0, 0, 0, 0, 2226, 0, 2244, 25101 0, 0, 0, 0, 0, 2229, 0, 0, 2241, 2239, 25102 2189, 0, 0, 2237, 0, 0, 0, 0, 2217, 2220, 25103 0, 2209, 0, 0, 0, 0, 0, 0, 0, 0, 25104 0, 2206, 0, 0, 2226, 0, 0, 0, 0, 0, 25105 0, 2235, 0, 2236, 0, 2241, 0, 0, 0, 0, 25106 2204, 2205, 0, 0, 0, 0, 0, 0, 0, 0, 25107 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25108 2227, 2216, 0, 0, 0, 0, 0, 0, 0, 0, 25109 0, 0, 0, 0, 0, 2210, 0, 0, 0, 0, 25110 0, 0, 0, 0, 0, 0, 0, 0, 0, 2211, 25111 0, 0, 0, 0, 0, 0, 0, 0, 2216, 0, 25112 0, 0, 0, 0, 0, 0, 0, 0, 2212, 2213, 25113 2214, 2215, 0, 0, 0, 0, 0, 0, 2195, 0, 25114 0, 0, 0, 2230, 0, 0, 2211, 2237, 0, 0, 25115 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25116 0, 0, 0, 0, 0, 0, 0, 0, 2226, 0, 25117 0, 0, 0, 0, 0, 0, 0, 0, 0, 2241, 25118 2230, 0, 0, 2243, 0, 0, 2229, 0, 0, 0, 25119 2239, 0, 0, 0, 0, 0, 0, 0, 0, 2217, 25120 2220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25121 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25122 2243, 0, 2235, 0, 2236, 0, 0, 0, 0, 0, 25123 0, 2204, 2205, 0, 0, 0, 0, 0, 0, 0, 25124 0, 0, 2216, 0, 0, 0, 0, 0, 0, 0, 25125 0, 2227, 0, 0, 0, 0, 0, 0, 0, 0, 25126 0, 0, 0, 0, 0, 0, 2210, 0, 0, 0, 25127 2211, 0, 2228, 0, 0, 0, 0, 0, 0, 0, 25128 0, 0, 0, 0, 0, 2201, 2202, 2208, 2231, 2207, 25129 2203, 0, 2200, 2198, 2199, 2191, 2192, 2193, 2194, 2196, 25130 2197, 0, 0, 0, 2230, 0, 5718, 0, 0, 2228, 25131 0, 0, 0, 0, 0, 0, 0, 0, 2237, 0, 25132 0, 0, 2201, 2202, 2208, 2231, 2207, 2203, 0, 2200, 25133 2198, 2199, 2191, 2192, 2193, 2194, 2196, 2197, 0, 2226, 25134 0, 0, 0, 5717, 2243, 0, 0, 0, 0, 0, 25135 2241, 0, 0, 2187, 2188, 0, 2221, 2222, 2223, 2232, 25136 2233, 2234, 0, 0, 0, 0, 0, 0, 0, 0, 25137 0, 0, 0, 0, 0, 0, 2225, 2218, 0, 0, 25138 0, 0, 0, 0, 2219, 0, 0, 2190, 0, 0, 25139 0, 0, 0, 0, 0, 0, 0, 0, 0, 2238, 25140 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25141 0, 0, 0, 2216, 0, 0, 0, 0, 0, 0, 25142 2244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25143 0, 2189, 0, 2228, 0, 0, 0, 0, 0, 0, 25144 0, 2211, 2209, 0, 0, 0, 2201, 2202, 2208, 2231, 25145 2207, 2203, 2206, 2200, 2198, 2199, 2191, 2192, 2193, 2194, 25146 2196, 2197, 0, 0, 0, 0, 0, 5253, 0, 0, 25147 0, 0, 0, 0, 0, 2230, 0, 2187, 2188, 0, 25148 2221, 2222, 2223, 2232, 2233, 2234, 0, 0, 0, 0, 25149 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25150 2225, 2218, 0, 0, 0, 0, 0, 0, 2219, 0, 25151 0, 2190, 0, 0, 0, 2243, 0, 0, 0, 0, 25152 0, 0, 0, 2238, 0, 0, 0, 0, 0, 0, 25153 0, 0, 0, 0, 0, 0, 0, 0, 0, 2212, 25154 2213, 2214, 2215, 0, 2244, 0, 0, 0, 0, 2195, 25155 0, 0, 0, 0, 0, 2189, 2187, 2188, 0, 2221, 25156 2222, 2223, 2232, 2233, 2234, 0, 2209, 0, 0, 0, 25157 0, 0, 0, 0, 0, 0, 2206, 0, 0, 2225, 25158 2218, 0, 0, 0, 0, 0, 0, 2219, 0, 0, 25159 2190, 0, 0, 0, 0, 0, 0, 2229, 0, 0, 25160 0, 2239, 2238, 0, 2228, 0, 0, 0, 0, 0, 25161 2217, 2220, 0, 0, 0, 0, 0, 2201, 2202, 2208, 25162 2231, 2207, 2203, 2244, 2200, 2198, 2199, 2191, 2192, 2193, 25163 2194, 2196, 2197, 2235, 2189, 2236, 0, 0, 4584, 0, 25164 0, 0, 2204, 2205, 0, 2209, 0, 0, 0, 0, 25165 0, 0, 0, 0, 0, 2206, 0, 0, 0, 0, 25166 0, 0, 2227, 2212, 2213, 2214, 2215, 0, 0, 0, 25167 0, 0, 0, 2195, 0, 0, 0, 2210, 0, 0, 25168 2187, 2188, 0, 2221, 2222, 2223, 2232, 2233, 2234, 0, 25169 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25170 0, 0, 0, 2225, 2218, 0, 0, 0, 0, 0, 25171 0, 2219, 0, 0, 2190, 0, 0, 0, 0, 0, 25172 0, 2229, 0, 0, 0, 2239, 2238, 0, 0, 2237, 25173 0, 0, 0, 0, 2217, 2220, 0, 0, 0, 0, 25174 0, 0, 2212, 2213, 2214, 2215, 0, 2244, 0, 0, 25175 2226, 0, 2195, 0, 0, 0, 0, 2235, 2189, 2236, 25176 0, 2241, 0, 0, 0, 0, 2204, 2205, 0, 2209, 25177 0, 0, 0, 0, 0, 0, 0, 0, 0, 2206, 25178 0, 0, 0, 0, 0, 0, 2227, 0, 0, 0, 25179 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25180 2229, 2210, 0, 0, 2239, 0, 0, 0, 0, 0, 25181 0, 0, 0, 2217, 2220, 0, 0, 0, 0, 0, 25182 0, 0, 0, 0, 2216, 0, 0, 0, 0, 0, 25183 0, 0, 0, 0, 0, 0, 2235, 0, 2236, 0, 25184 0, 0, 0, 0, 0, 2204, 2205, 0, 0, 0, 25185 0, 0, 2211, 2237, 0, 0, 0, 0, 0, 0, 25186 0, 0, 0, 0, 0, 2227, 2212, 2213, 2214, 2215, 25187 0, 0, 0, 0, 2226, 0, 2195, 0, 0, 0, 25188 2210, 0, 0, 0, 0, 2241, 2230, 0, 0, 0, 25189 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25190 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25191 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25192 0, 0, 0, 0, 2229, 0, 2243, 0, 2239, 0, 25193 0, 0, 2237, 0, 0, 0, 0, 2217, 2220, 0, 25194 0, 0, 0, 0, 0, 0, 0, 0, 2216, 0, 25195 0, 0, 0, 2226, 0, 0, 0, 0, 0, 0, 25196 2235, 0, 2236, 0, 2241, 0, 0, 0, 0, 2204, 25197 2205, 0, 0, 0, 0, 0, 2211, 0, 0, 0, 25198 0, 0, 0, 0, 0, 0, 0, 0, 0, 2227, 25199 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25200 0, 0, 0, 0, 2210, 0, 0, 0, 0, 0, 25201 2230, 0, 0, 0, 0, 2228, 0, 0, 0, 0, 25202 0, 0, 0, 0, 0, 0, 0, 2216, 2201, 2202, 25203 2208, 2231, 2207, 2203, 0, 2200, 2198, 2199, 2191, 2192, 25204 2193, 2194, 2196, 2197, 0, 0, 0, 0, 0, 4583, 25205 2243, 0, 0, 0, 0, 2211, 2237, 0, 0, 0, 25206 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25207 0, 0, 0, 0, 0, 0, 0, 2226, 0, 0, 25208 0, 0, 0, 0, 0, 0, 0, 0, 2241, 2230, 25209 0, 2187, 2188, 0, 2221, 2222, 2223, 2232, 2233, 2234, 25210 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25211 0, 0, 0, 0, 2225, 2218, 0, 0, 0, 0, 25212 0, 0, 2219, 0, 0, 2190, 0, 0, 0, 2243, 25213 0, 0, 0, 0, 0, 0, 0, 2238, 0, 2228, 25214 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25215 0, 2216, 2201, 2202, 2208, 2231, 2207, 2203, 2244, 2200, 25216 2198, 2199, 2191, 2192, 2193, 2194, 2196, 2197, 0, 2189, 25217 0, 0, 0, 4582, 0, 0, 0, 0, 0, 2211, 25218 2209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25219 2206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25220 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25221 0, 0, 0, 2230, 0, 0, 0, 0, 2228, 0, 25222 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25223 0, 2201, 2202, 2208, 2231, 2207, 2203, 0, 2200, 2198, 25224 2199, 2191, 2192, 2193, 2194, 2196, 2197, 0, 0, 0, 25225 0, 0, 4581, 2243, 0, 0, 0, 0, 0, 0, 25226 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25227 0, 0, 0, 0, 0, 0, 0, 2212, 2213, 2214, 25228 2215, 0, 0, 0, 0, 0, 0, 2195, 0, 0, 25229 0, 0, 0, 0, 2187, 2188, 0, 2221, 2222, 2223, 25230 2232, 2233, 2234, 0, 0, 0, 0, 0, 2852, 0, 25231 0, 0, 0, 0, 0, 0, 0, 2225, 2218, 0, 25232 0, 0, 0, 0, 0, 2219, 0, 0, 2190, 0, 25233 0, 0, 0, 0, 0, 2229, 0, 0, 0, 2239, 25234 2238, 0, 2228, 0, 0, 0, 0, 0, 2217, 2220, 25235 0, 0, 0, 0, 0, 2201, 2202, 2208, 2231, 2207, 25236 2203, 2244, 2200, 2198, 2199, 2191, 2192, 2193, 2194, 2196, 25237 2197, 2235, 2189, 2236, 4552, 0, 0, 0, 0, 0, 25238 2204, 2205, 0, 2209, 0, 0, 0, 0, 0, 0, 25239 0, 0, 0, 2206, 0, 0, 0, 0, 0, 0, 25240 2227, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25241 0, 0, 0, 0, 0, 2210, 0, 0, 2187, 2188, 25242 0, 2221, 2222, 2223, 2232, 2233, 2234, 0, 0, 0, 25243 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25244 0, 2225, 2218, 0, 0, 0, 0, 2853, 0, 2219, 25245 0, 0, 2190, 0, 0, 0, 0, 0, 0, 0, 25246 0, 0, 0, 0, 2238, 0, 0, 2237, 0, 0, 25247 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25248 2212, 2213, 2214, 2215, 0, 2244, 0, 0, 2226, 0, 25249 2195, 0, 0, 0, 0, 0, 2189, 0, 0, 2241, 25250 0, 0, 0, 0, 0, 0, 0, 2209, 0, 0, 25251 0, 2747, 0, 0, 0, 0, 0, 2206, 0, 0, 25252 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25253 0, 0, 0, 0, 0, 0, 0, 0, 2229, 0, 25254 0, 0, 2239, 0, 0, 0, 0, 0, 0, 0, 25255 0, 2217, 2220, 0, 0, 0, 0, 0, 0, 0, 25256 0, 0, 2216, 0, 0, 0, 0, 0, 0, 0, 25257 0, 0, 0, 0, 2235, 0, 2236, 0, 0, 0, 25258 0, 0, 0, 2204, 2205, 0, 0, 0, 0, 0, 25259 2211, 2745, 0, 0, 0, 0, 0, 0, 0, 0, 25260 0, 0, 0, 2227, 2212, 2213, 2214, 2215, 0, 0, 25261 0, 0, 0, 0, 2195, 0, 0, 0, 2210, 0, 25262 0, 0, 0, 0, 2230, 0, 0, 0, 0, 0, 25263 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25264 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25265 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25266 0, 0, 2229, 0, 2243, 0, 2239, 0, 0, 0, 25267 2237, 0, 0, 0, 0, 2217, 2220, 0, 0, 0, 25268 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25269 0, 2226, 0, 0, 0, 0, 0, 0, 2235, 0, 25270 2236, 0, 2241, 0, 0, 0, 0, 2204, 2205, 0, 25271 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25272 0, 0, 0, 0, 0, 0, 0, 2227, 0, 0, 25273 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25274 0, 0, 2210, 0, 0, 0, 0, 0, 0, 0, 25275 0, 0, 0, 2228, 0, 0, 0, 0, 0, 0, 25276 0, 0, 0, 0, 0, 2216, 2201, 2202, 2208, 2231, 25277 2207, 2203, 0, 2200, 2198, 2199, 2191, 2192, 2193, 2194, 25278 2196, 2197, 0, 0, 0, 4040, 0, 0, 0, 0, 25279 0, 0, 0, 2211, 2237, 0, 0, 0, 0, 0, 25280 0, 2187, 2188, 0, 2221, 2222, 2223, 2232, 2233, 2234, 25281 0, 0, 0, 0, 0, 2226, 0, 0, 0, 2854, 25282 0, 0, 0, 0, 2225, 2218, 2241, 2230, 0, 0, 25283 0, 0, 2219, 0, 0, 2190, 0, 0, 0, 0, 25284 0, 0, 0, 0, 0, 0, 0, 2238, 0, 0, 25285 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25286 0, 0, 0, 0, 0, 0, 0, 2243, 2244, 0, 25287 0, 0, 0, 0, 0, 0, 0, 0, 0, 2189, 25288 0, 0, 0, 0, 0, 0, 0, 0, 2746, 2216, 25289 2209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25290 2206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25291 0, 0, 0, 0, 0, 0, 2855, 2211, 0, 0, 25292 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25293 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25294 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25295 0, 2230, 0, 0, 0, 0, 2228, 0, 0, 0, 25296 0, 0, 0, 0, 0, 0, 0, 0, 0, 2201, 25297 2202, 2208, 2231, 2207, 2203, 0, 2200, 2198, 2199, 2191, 25298 2192, 2193, 2194, 2196, 2197, 0, 0, 2212, 2213, 2214, 25299 2215, 2243, 0, 0, 0, 0, 0, 2195, 6666, 0, 25300 0, 0, 0, 2744, 0, 0, 0, 0, 0, 0, 25301 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25302 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25303 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25304 0, 0, 0, 0, 0, 2229, 0, 0, 0, 2239, 25305 0, 0, 0, 0, 0, 0, 0, 0, 2217, 2220, 25306 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25307 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25308 2228, 2235, 0, 2236, 0, 0, 0, 0, 0, 0, 25309 2204, 2205, 0, 2201, 2202, 2208, 2231, 2207, 2203, 0, 25310 2200, 2198, 2199, 2191, 2192, 2193, 2194, 2196, 2197, 186, 25311 2227, 0, 0, 0, 0, 0, 0, 0, 90, 0, 25312 55, 54, 0, 0, 0, 2210, 0, 0, 0, 2187, 25313 2188, 0, 2221, 2222, 2223, 2232, 2233, 2234, 0, 91, 25314 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25315 0, 0, 2225, 2218, 0, 0, 0, 56, 0, 96, 25316 2219, 0, 0, 2190, 0, 0, 0, 0, 0, 0, 25317 0, 0, 0, 77, 0, 2238, 0, 2237, 0, 0, 25318 0, 58, 0, 184, 0, 0, 0, 0, 0, 0, 25319 0, 0, 0, 0, 0, 0, 2244, 0, 2226, 0, 25320 0, 0, 0, 57, 0, 0, 106, 2189, 0, 2241, 25321 0, 0, 0, 0, 0, 0, 0, 0, 2209, 0, 25322 0, 0, 0, 0, 0, 0, 0, 0, 2206, 0, 25323 0, 0, 6665, 0, 0, 0, 60, 78, 0, 0, 25324 0, 0, 0, 0, 0, 0, 0, 61, 0, 0, 25325 0, 0, 67, 0, 0, 0, 0, 0, 6629, 0, 25326 0, 0, 0, 0, 0, 0, 59, 0, 130, 0, 25327 0, 0, 2216, 0, 114, 127, 0, 0, 0, 0, 25328 0, 0, 0, 0, 79, 0, 0, 0, 0, 0, 25329 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25330 2211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25331 0, 0, 0, 0, 0, 2212, 2213, 2214, 2215, 0, 25332 0, 0, 0, 0, 62, 2195, 0, 4649, 0, 0, 25333 0, 0, 0, 0, 2230, 0, 0, 0, 4648, 0, 25334 0, 0, 0, 0, 0, 0, 115, 0, 0, 0, 25335 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25336 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25337 0, 0, 0, 2229, 2243, 0, 0, 2239, 0, 0, 25338 0, 0, 0, 0, 0, 0, 2217, 2220, 0, 0, 25339 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25340 0, 0, 0, 0, 0, 0, 0, 0, 0, 2235, 25341 0, 2236, 0, 0, 0, 0, 0, 0, 2204, 2205, 25342 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25343 0, 0, 0, 0, 80, 0, 0, 0, 2227, 0, 25344 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25345 0, 0, 0, 2210, 0, 0, 0, 0, 0, 0, 25346 0, 0, 0, 2228, 0, 0, 0, 0, 0, 0, 25347 0, 0, 0, 0, 0, 0, 2201, 2202, 2208, 2231, 25348 2207, 2203, 0, 2200, 2198, 2199, 2191, 2192, 2193, 2194, 25349 2196, 2197, 0, 0, 0, 0, 0, 0, 0, 0, 25350 0, 0, 0, 0, 0, 2237, 0, 0, 0, 0, 25351 0, 0, 0, 0, 119, 0, 0, 0, 0, 0, 25352 0, 0, 0, 0, 0, 0, 2226, 0, 0, 0, 25353 0, 0, 63, 0, 0, 0, 0, 2241, 0, 0, 25354 2187, 2188, 0, 2221, 2222, 2223, 2232, 2233, 2234, 0, 25355 0, 66, 0, 0, 0, 0, 0, 69, 0, 0, 25356 0, 0, 0, 2225, 2218, 0, 0, 81, 0, 4522, 25357 0, 2219, 0, 0, 2190, 0, 68, 229, 0, 122, 25358 0, 0, 126, 0, 0, 6247, 2238, 0, 0, 64, 25359 0, 0, 0, 185, 0, 0, 0, 0, 0, 0, 25360 2216, 65, 0, 0, 0, 0, 0, 2244, 0, 0, 25361 0, 0, 0, 0, 0, 295, 0, 0, 2189, 0, 25362 0, 0, 0, 0, 72, 0, 0, 0, 2211, 2209, 25363 0, 83, 0, 0, 0, 0, 0, 0, 0, 2206, 25364 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25365 183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25366 0, 0, 2230, 0, 0, 0, 0, 0, 0, 0, 25367 0, 0, 0, 0, 0, 297, 0, 0, 0, 0, 25368 0, 0, 0, 0, 4523, 0, 0, 0, 2187, 2188, 25369 0, 2221, 2222, 2223, 2232, 2233, 2234, 0, 0, 0, 25370 0, 0, 2243, 0, 182, 0, 0, 0, 0, 0, 25371 0, 2225, 2218, 0, 82, 0, 0, 0, 0, 2219, 25372 0, 0, 2190, 235, 0, 0, 2212, 2213, 2214, 2215, 25373 0, 296, 0, 0, 2238, 0, 2195, 0, 0, 0, 25374 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25375 0, 0, 0, 0, 289, 2244, 0, 0, 0, 0, 25376 0, 0, 0, 290, 0, 0, 2189, 230, 0, 0, 25377 0, 0, 0, 234, 0, 0, 0, 2209, 0, 0, 25378 0, 0, 0, 0, 2229, 0, 0, 2206, 2239, 0, 25379 0, 2228, 0, 0, 233, 0, 0, 2217, 2220, 0, 25380 0, 0, 0, 0, 2201, 2202, 2208, 2231, 2207, 2203, 25381 0, 2200, 2198, 2199, 2191, 2192, 2193, 2194, 2196, 2197, 25382 2235, 0, 2236, 0, 0, 0, 0, 0, 0, 2204, 25383 2205, 0, 0, 0, 0, 0, 2187, 2188, 0, 2221, 25384 2222, 2223, 2232, 2233, 2234, 0, 0, 0, 0, 2227, 25385 0, 0, 0, 0, 0, 0, 0, 0, 0, 2225, 25386 2218, 0, 0, 0, 2210, 0, 0, 2219, 0, 0, 25387 2190, 0, 0, 0, 2212, 2213, 2214, 2215, 0, 0, 25388 0, 0, 2238, 0, 2195, 0, 6201, 0, 0, 0, 25389 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25390 0, 0, 0, 2244, 0, 0, 0, 0, 0, 0, 25391 0, 0, 0, 0, 2189, 0, 2237, 0, 0, 0, 25392 0, 0, 0, 0, 0, 2209, 0, 0, 0, 0, 25393 0, 0, 2229, 0, 0, 2206, 2239, 2226, 0, 0, 25394 0, 0, 0, 0, 0, 2217, 2220, 0, 2241, 0, 25395 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25396 0, 0, 0, 0, 0, 0, 0, 0, 2235, 0, 25397 2236, 0, 0, 0, 0, 0, 0, 2204, 2205, 0, 25398 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25399 0, 0, 0, 0, 0, 0, 0, 2227, 0, 0, 25400 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25401 0, 2216, 2210, 0, 0, 0, 0, 0, 0, 0, 25402 0, 0, 2212, 2213, 2214, 2215, 0, 0, 0, 0, 25403 0, 0, 2195, 0, 0, 0, 0, 0, 0, 2211, 25404 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25405 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25406 0, 0, 0, 0, 2237, 0, 0, 0, 0, 0, 25407 0, 0, 0, 2230, 0, 0, 0, 0, 0, 0, 25408 2229, 0, 0, 0, 2239, 2226, 0, 0, 0, 0, 25409 0, 0, 0, 2217, 2220, 0, 2241, 0, 0, 0, 25410 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25411 0, 0, 0, 2243, 0, 0, 2235, 0, 2236, 0, 25412 0, 0, 0, 0, 0, 2204, 2205, 0, 0, 0, 25413 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25414 0, 0, 0, 0, 0, 2227, 0, 0, 0, 0, 25415 0, 0, 0, 0, 0, 0, 0, 0, 0, 2216, 25416 2210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25417 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25418 0, 0, 0, 0, 0, 0, 0, 2211, 0, 0, 25419 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25420 0, 0, 2228, 0, 0, 0, 0, 0, 0, 0, 25421 0, 0, 2237, 0, 0, 2201, 2202, 2208, 2231, 2207, 25422 2203, 2230, 2200, 2198, 2199, 2191, 2192, 2193, 2194, 2196, 25423 2197, 0, 0, 2226, 0, 0, 0, 0, 0, 0, 25424 0, 0, 0, 0, 2241, 0, 0, 2187, 2188, 0, 25425 2221, 2222, 2223, 2232, 2233, 2234, 0, 0, 0, 0, 25426 0, 2243, 0, 0, 0, 0, 0, 0, 0, 0, 25427 2225, 2218, 0, 0, 0, 0, 0, 0, 2219, 0, 25428 0, 2190, 0, 0, 0, 0, 0, 0, 0, 0, 25429 0, 0, 0, 2238, 0, 0, 0, 0, 0, 0, 25430 0, 0, 0, 0, 0, 0, 0, 2216, 0, 0, 25431 0, 0, 0, 0, 2244, 0, 0, 0, 0, 0, 25432 0, 0, 0, 0, 0, 2189, 0, 0, 0, 0, 25433 0, 0, 0, 0, 0, 2211, 2209, 0, 0, 0, 25434 0, 0, 0, 0, 0, 0, 2206, 0, 0, 0, 25435 2228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25436 0, 0, 0, 2201, 2202, 2208, 2231, 2207, 2203, 2230, 25437 2200, 2198, 2199, 2191, 2192, 2193, 2194, 2196, 2197, 0, 25438 2187, 2188, 0, 2221, 2222, 2223, 2232, 2233, 2234, 0, 25439 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25440 0, 0, 0, 2225, 2218, 0, 0, 0, 0, 2243, 25441 0, 2219, 0, 0, 2190, 0, 0, 0, 0, 0, 25442 0, 0, 0, 0, 0, 0, 2238, 0, 0, 5904, 25443 0, 0, 0, 2212, 2213, 2214, 2215, 0, 0, 0, 25444 0, 0, 0, 2195, 0, 0, 0, 2244, 0, 0, 25445 0, 0, 0, 0, 0, 0, 0, 0, 2189, 0, 25446 0, 0, 0, 0, 0, 0, 0, 0, 0, 2209, 25447 0, 0, 0, 0, 0, 0, 0, 0, 0, 2206, 25448 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25449 0, 2229, 0, 0, 0, 2239, 0, 0, 2228, 0, 25450 0, 0, 0, 0, 2217, 2220, 0, 0, 0, 0, 25451 0, 2201, 2202, 2208, 2231, 2207, 2203, 0, 2200, 2198, 25452 2199, 2191, 2192, 2193, 2194, 2196, 2197, 2235, 0, 2236, 25453 0, 0, 0, 0, 0, 0, 2204, 2205, 0, 0, 25454 0, 2187, 2188, 0, 2221, 2222, 2223, 2232, 2233, 2234, 25455 0, 0, 0, 0, 0, 0, 2227, 0, 0, 0, 25456 0, 0, 0, 0, 2225, 2218, 2212, 2213, 2214, 2215, 25457 0, 2210, 2219, 0, 0, 2190, 2195, 0, 0, 0, 25458 0, 0, 0, 0, 0, 0, 0, 2238, 0, 0, 25459 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25460 0, 0, 0, 0, 0, 0, 0, 0, 2244, 0, 25461 0, 0, 0, 0, 0, 0, 0, 0, 0, 2189, 25462 0, 0, 0, 2237, 2229, 0, 0, 0, 2239, 0, 25463 2209, 0, 0, 0, 0, 0, 0, 2217, 2220, 0, 25464 2206, 0, 0, 0, 2226, 3944, 0, 0, 0, 0, 25465 0, 0, 0, 0, 0, 2241, 0, 0, 0, 0, 25466 2235, 0, 2236, 0, 0, 0, 0, 0, 0, 2204, 25467 2205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25468 0, 0, 0, 0, 0, 0, 0, 0, 0, 2227, 25469 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25470 0, 0, 0, 0, 2210, 0, 0, 0, 0, 0, 25471 0, 0, 0, 0, 0, 0, 0, 0, 2216, 0, 25472 0, 0, 0, 0, 0, 0, 0, 2212, 2213, 2214, 25473 2215, 0, 0, 0, 0, 0, 0, 2195, 0, 5510, 25474 0, 0, 0, 0, 0, 0, 2211, 0, 0, 0, 25475 0, 0, 0, 0, 0, 0, 2237, 0, 0, 0, 25476 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25477 0, 0, 0, 0, 0, 0, 0, 2226, 0, 0, 25478 2230, 0, 0, 0, 0, 2229, 0, 0, 2241, 2239, 25479 0, 0, 0, 0, 0, 0, 0, 0, 2217, 2220, 25480 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25481 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25482 2243, 2235, 0, 2236, 0, 0, 0, 0, 0, 0, 25483 2204, 2205, 0, 0, 0, 0, 0, 0, 0, 0, 25484 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25485 2227, 2216, 0, 0, 0, 0, 0, 0, 0, 0, 25486 0, 0, 0, 0, 0, 2210, 0, 0, 0, 0, 25487 0, 0, 0, 0, 0, 0, 0, 0, 0, 2211, 25488 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25489 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25490 0, 0, 0, 0, 0, 0, 0, 0, 0, 2228, 25491 0, 0, 0, 2230, 0, 0, 0, 2237, 0, 0, 25492 0, 0, 2201, 2202, 2208, 2231, 2207, 2203, 0, 2200, 25493 2198, 2199, 2191, 2192, 2193, 2194, 2196, 2197, 2226, 0, 25494 0, 0, 0, 0, 0, 0, 0, 0, 0, 2241, 25495 0, 0, 0, 2243, 2187, 2188, 0, 2221, 2222, 2223, 25496 2232, 2233, 2234, 0, 0, 0, 0, 0, 0, 0, 25497 0, 0, 0, 5511, 0, 0, 0, 2225, 2218, 0, 25498 0, 0, 0, 0, 0, 2219, 0, 0, 2190, 0, 25499 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25500 2238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25501 0, 0, 2216, 0, 0, 0, 0, 0, 0, 0, 25502 0, 2244, 0, 0, 0, 0, 0, 0, 0, 0, 25503 0, 0, 2189, 0, 0, 0, 0, 0, 0, 0, 25504 2211, 0, 2228, 2209, 0, 0, 0, 0, 0, 0, 25505 0, 0, 0, 2206, 0, 2201, 2202, 2208, 2231, 2207, 25506 2203, 0, 2200, 2198, 2199, 2191, 2192, 2193, 2194, 2196, 25507 2197, 0, 0, 0, 2230, 0, 0, 0, 2187, 2188, 25508 0, 2221, 2222, 2223, 2232, 2233, 2234, 0, 0, 0, 25509 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25510 0, 2225, 2218, 0, 0, 0, 0, 0, 0, 2219, 25511 0, 0, 2190, 0, 2243, 2187, 2188, 0, 2221, 2222, 25512 2223, 2232, 2233, 2234, 2238, 0, 0, 0, 0, 0, 25513 0, 0, 0, 0, 0, 0, 0, 0, 2225, 2218, 25514 2212, 2213, 2214, 2215, 0, 2244, 2219, 0, 0, 2190, 25515 2195, 0, 0, 0, 0, 0, 2189, 0, 0, 0, 25516 0, 2238, 0, 0, 0, 0, 0, 2209, 0, 0, 25517 0, 0, 0, 0, 0, 0, 0, 2206, 0, 0, 25518 0, 0, 2244, 0, 0, 0, 0, 0, 0, 0, 25519 0, 0, 0, 2189, 0, 0, 0, 0, 2229, 0, 25520 0, 0, 2239, 2228, 2209, 0, 0, 0, 0, 0, 25521 0, 2217, 2220, 0, 2206, 0, 2201, 2202, 2208, 2231, 25522 2207, 2203, 0, 2200, 2198, 2199, 2191, 2192, 2193, 2194, 25523 2196, 2197, 0, 0, 2235, 0, 2236, 0, 0, 0, 25524 0, 0, 0, 2204, 2205, 0, 0, 0, 0, 2187, 25525 2188, 0, 2221, 2222, 2223, 2232, 2233, 2234, 0, 0, 25526 0, 0, 0, 2227, 2212, 2213, 2214, 2215, 0, 0, 25527 0, 0, 2225, 2218, 2195, 0, 0, 4650, 2210, 0, 25528 2219, 0, 0, 2190, 0, 0, 0, 4655, 0, 0, 25529 0, 0, 0, 0, 0, 2238, 0, 0, 0, 0, 25530 0, 2212, 2213, 2214, 2215, 0, 0, 0, 0, 0, 25531 0, 2195, 0, 0, 0, 0, 2244, 0, 0, 0, 25532 0, 0, 2229, 0, 0, 0, 2239, 2189, 0, 0, 25533 2237, 0, 0, 0, 0, 2217, 2220, 0, 2209, 0, 25534 0, 0, 0, 0, 0, 0, 0, 0, 2206, 0, 25535 0, 2226, 0, 0, 0, 0, 0, 0, 2235, 2229, 25536 2236, 0, 2241, 2239, 0, 0, 0, 2204, 2205, 0, 25537 0, 0, 2217, 2220, 0, 0, 0, 0, 0, 0, 25538 0, 0, 0, 0, 0, 0, 0, 2227, 0, 0, 25539 0, 0, 0, 0, 0, 2235, 0, 2236, 0, 0, 25540 0, 0, 2210, 0, 2204, 2205, 0, 0, 0, 0, 25541 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25542 0, 0, 0, 0, 2227, 2216, 0, 0, 0, 0, 25543 0, 0, 0, 0, 0, 2212, 2213, 2214, 2215, 2210, 25544 0, 0, 0, 0, 0, 2195, 0, 0, 0, 0, 25545 0, 0, 0, 2211, 2237, 0, 0, 0, 0, 0, 25546 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25547 0, 0, 0, 0, 0, 2226, 0, 0, 0, 0, 25548 0, 0, 0, 0, 0, 0, 2241, 2230, 0, 0, 25549 0, 2237, 0, 2229, 0, 0, 0, 2239, 0, 0, 25550 0, 0, 0, 0, 0, 0, 2217, 2220, 0, 0, 25551 0, 0, 2226, 0, 0, 0, 0, 0, 0, 0, 25552 0, 0, 0, 2241, 0, 0, 0, 2243, 0, 2235, 25553 0, 2236, 0, 0, 4615, 0, 0, 0, 2204, 2205, 25554 0, 5234, 0, 0, 0, 0, 0, 0, 0, 2216, 25555 0, 0, 0, 0, 0, 0, 0, 0, 2227, 0, 25556 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25557 0, 0, 0, 2210, 0, 0, 0, 2211, 0, 0, 25558 0, 0, 0, 0, 0, 0, 2216, 0, 0, 0, 25559 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25560 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25561 0, 2230, 0, 0, 2211, 0, 2228, 0, 0, 0, 25562 0, 0, 0, 0, 0, 2237, 0, 0, 0, 2201, 25563 2202, 2208, 2231, 2207, 2203, 0, 2200, 2198, 2199, 2191, 25564 2192, 2193, 2194, 2196, 2197, 0, 2226, 0, 2230, 0, 25565 0, 2243, 0, 0, 0, 0, 0, 2241, 0, 0, 25566 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25567 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25568 0, 0, 0, 0, 0, 0, 0, 0, 2243, 0, 25569 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25570 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25571 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25572 2216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25573 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25574 2228, 0, 0, 0, 0, 0, 0, 0, 2211, 0, 25575 0, 0, 0, 2201, 2202, 2208, 2231, 2207, 2203, 0, 25576 2200, 2198, 2199, 2191, 2192, 2193, 2194, 2196, 2197, 0, 25577 0, 0, 0, 0, 0, 0, 0, 2228, 0, 0, 25578 0, 0, 2230, 0, 0, 0, 0, 0, 0, 0, 25579 2201, 2202, 2208, 2231, 2207, 2203, 0, 2200, 2198, 2199, 25580 2191, 2192, 2193, 2194, 2196, 2197, 2187, 2188, 0, 2221, 25581 2222, 2223, 2232, 2233, 2234, 0, 0, 0, 0, 0, 25582 0, 0, 2243, 0, 0, 0, 0, 0, 0, 2225, 25583 2218, 0, 0, 0, 4585, 0, 0, 2219, 0, 0, 25584 2190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25585 0, 0, 2238, 0, 0, 0, 0, 0, 0, 0, 25586 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25587 0, 0, 0, 2244, 0, 0, 0, 0, 0, 0, 25588 0, 0, 0, 0, 2189, 0, 0, 0, 0, 0, 25589 0, 0, 0, 0, 0, 2209, 0, 0, 0, 0, 25590 0, 0, 0, 0, 0, 2206, 0, 0, 0, 0, 25591 0, 2228, 0, 0, 0, 0, 0, 0, 0, 0, 25592 0, 0, 0, 0, 2201, 2202, 2208, 2231, 2207, 2203, 25593 0, 2200, 2198, 2199, 2191, 2192, 2193, 2194, 2196, 2197, 25594 2187, 2188, 0, 2221, 2222, 2223, 2232, 2233, 2234, 0, 25595 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25596 0, 0, 0, 2225, 2218, 0, 0, 0, 0, 0, 25597 0, 2219, 0, 0, 2190, 0, 0, 2187, 2188, 0, 25598 2221, 2222, 2223, 2232, 2233, 2234, 2238, 0, 0, 0, 25599 0, 0, 2212, 2213, 2214, 2215, 0, 0, 0, 0, 25600 2225, 2218, 2195, 0, 0, 0, 0, 2244, 2219, 0, 25601 0, 2190, 0, 0, 0, 0, 0, 0, 2189, 0, 25602 0, 0, 0, 2238, 0, 0, 0, 0, 0, 2209, 25603 0, 0, 0, 0, 0, 0, 0, 0, 0, 2206, 25604 0, 0, 0, 0, 2244, 0, 0, 0, 0, 0, 25605 2229, 0, 0, 0, 2239, 2189, 0, 0, 0, 0, 25606 0, 0, 0, 2217, 2220, 0, 2209, 0, 0, 0, 25607 0, 0, 0, 0, 0, 0, 2206, 0, 0, 0, 25608 0, 0, 0, 0, 0, 0, 2235, 0, 2236, 0, 25609 0, 0, 0, 0, 0, 2204, 2205, 0, 0, 0, 25610 0, 2187, 2188, 0, 2221, 2222, 2223, 2232, 2233, 2234, 25611 0, 0, 0, 0, 0, 2227, 0, 0, 0, 0, 25612 0, 0, 0, 0, 2225, 2218, 2212, 2213, 2214, 2215, 25613 2210, 0, 2219, 0, 0, 2190, 2195, 0, 0, 0, 25614 0, 0, 0, 0, 0, 0, 0, 2238, 0, 0, 25615 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25616 0, 0, 0, 2212, 2213, 2214, 2215, 0, 2244, 0, 25617 0, 0, 0, 2195, 0, 0, 0, 0, 0, 2189, 25618 0, 0, 2237, 0, 2229, 0, 0, 0, 2239, 0, 25619 2209, 0, 0, 0, 0, 0, 0, 2217, 2220, 0, 25620 2206, 0, 0, 2226, 0, 0, 0, 0, 0, 0, 25621 0, 0, 0, 0, 2241, 0, 0, 0, 0, 0, 25622 2235, 2229, 2236, 0, 0, 2239, 0, 0, 0, 2204, 25623 2205, 0, 0, 0, 2217, 2220, 0, 0, 0, 0, 25624 0, 0, 0, 0, 0, 0, 0, 0, 0, 2227, 25625 0, 0, 0, 0, 0, 0, 0, 2235, 0, 2236, 25626 0, 0, 0, 0, 2210, 0, 2204, 2205, 0, 0, 25627 0, 0, 0, 0, 0, 0, 0, 2216, 0, 0, 25628 0, 0, 0, 0, 0, 0, 2227, 2212, 2213, 2214, 25629 2215, 0, 0, 0, 0, 0, 0, 2195, 0, 0, 25630 0, 2210, 0, 0, 0, 2211, 0, 0, 0, 0, 25631 0, 0, 0, 0, 0, 0, 2237, 0, 0, 0, 25632 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25633 0, 0, 0, 0, 0, 0, 0, 2226, 0, 2230, 25634 0, 0, 0, 0, 0, 2229, 0, 0, 2241, 2239, 25635 0, 0, 0, 2237, 0, 0, 0, 0, 2217, 2220, 25636 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25637 0, 0, 0, 0, 2226, 0, 0, 0, 0, 2243, 25638 0, 2235, 0, 2236, 0, 2241, 0, 0, 0, 0, 25639 2204, 2205, 0, 0, 0, 0, 0, 0, 0, 0, 25640 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25641 2227, 2216, 0, 0, 0, 0, 0, 0, 0, 0, 25642 0, 0, 0, 0, 0, 2210, 0, 0, 0, 0, 25643 0, 0, 0, 0, 0, 0, 0, 0, 0, 2211, 25644 0, 0, 0, 0, 0, 0, 0, 0, 2216, 0, 25645 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25646 0, 0, 0, 0, 0, 0, 0, 0, 2228, 0, 25647 0, 0, 0, 2230, 0, 0, 2211, 2237, 0, 0, 25648 0, 2201, 2202, 2208, 2231, 2207, 2203, 0, 2200, 2198, 25649 2199, 2191, 2192, 2193, 2194, 2196, 2197, 0, 2226, 0, 25650 0, 0, 0, 0, 0, 0, 0, 0, 0, 2241, 25651 2230, 0, 0, 2243, 2187, 2188, 0, 2221, 2222, 2223, 25652 2232, 2233, 2234, 0, 0, 0, 0, 0, 0, 0, 25653 0, 0, 0, 0, 0, 0, 0, 0, 2218, 0, 25654 0, 0, 0, 0, 0, 2219, 0, 0, 2190, 0, 25655 2243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25656 2238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25657 0, 0, 2216, 0, 0, 0, 0, 0, 0, 0, 25658 0, 2244, 0, 0, 0, 0, 0, 0, 0, 0, 25659 0, 0, 2189, 0, 0, 2978, 0, 0, 0, 0, 25660 2211, 0, 2228, 2209, 0, 0, 0, 0, 0, 0, 25661 0, 0, 0, 2206, 0, 2201, 2202, 2208, 2231, 2207, 25662 2203, 0, 2200, 2198, 2199, 2191, 2192, 2193, 2194, 2196, 25663 2197, 0, 2650, 0, 2230, 0, 0, 0, 0, 2228, 25664 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25665 0, 0, 2201, 2202, 2208, 2231, 2207, 2203, 0, 2200, 25666 2198, 2199, 2191, 2192, 2193, 2194, 2196, 2197, 0, 0, 25667 0, 0, 0, 0, 2243, 0, 0, 0, 0, 0, 25668 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25669 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25670 2212, 2213, 2214, 2215, 0, 0, 0, 0, 0, 0, 25671 2195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25672 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25673 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25674 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25675 0, 0, 0, 0, 0, 0, 0, 0, 2229, 0, 25676 0, 0, 2239, 2228, 0, 0, 0, 0, 0, 0, 25677 0, 2217, 2220, 0, 0, 0, 2201, 2202, 2208, 2231, 25678 2207, 2203, 0, 2200, 2198, 2199, 2191, 2192, 2193, 2194, 25679 2196, 2197, 0, 0, 2235, 0, 2236, 0, 1030, 0, 25680 1090, 0, 0, 2204, 2205, 0, 0, 0, 0, 0, 25681 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25682 0, 0, 0, 2227, 0, 1038, 0, 0, 0, 0, 25683 0, 0, 0, 0, 0, 0, 0, 0, 2210, 0, 25684 0, 0, 0, 0, 0, 1055, 0, 1036, 1035, 0, 25685 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25686 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25687 0, 0, 0, 0, 0, 1057, 0, 0, 0, 0, 25688 0, 0, 1037, 0, 0, 0, 0, 0, 1040, 0, 25689 2237, 1051, 0, 1103, 0, 1069, 0, 0, 0, 0, 25690 0, 0, 0, 0, 1052, 1053, 0, 0, 0, 0, 25691 0, 0, 0, 0, 1074, 0, 0, 0, 0, 0, 25692 0, 0, 2241, 0, 0, 0, 0, 0, 0, 0, 25693 0, 0, 1091, 1042, 0, 0, 0, 0, 0, 0, 25694 0, 1043, 0, 0, 0, 0, 0, 0, 0, 0, 25695 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25696 0, 0, 0, 0, 0, 0, 0, 0, 1044, 0, 25697 0, 0, 0, 0, 0, 0, 0, 1084, 0, 0, 25698 0, 0, 0, 0, 0, 2216, 0, 0, 0, 0, 25699 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25700 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25701 0, 0, 0, 2211, 0, 0, 0, 1085, 0, 1064, 25702 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25703 0, 0, 0, 0, 1046, 0, 0, 0, 0, 0, 25704 0, 0, 0, 1034, 0, 0, 0, 2230, 0, 0, 25705 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25706 0, 0, 0, 0, 0, 0, 1048, 1049, 0, 0, 25707 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25708 0, 0, 0, 0, 0, 0, 0, 2243, 0, 0, 25709 0, 1058, 1056, 0, 0, 0, 0, 0, 0, 1050, 25710 0, 0, 0, 0, 1070, 0, 0, 1096, 1095, 0, 25711 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25712 0, 0, 0, 1100, 1083, 0, 0, 0, 0, 0, 25713 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25714 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25715 0, 0, 0, 0, 0, 0, 0, 1092, 0, 0, 25716 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25717 0, 0, 0, 0, 0, 0, 2228, 0, 0, 0, 25718 0, 0, 0, 0, 0, 0, 0, 0, 0, 2201, 25719 2202, 2208, 2231, 2207, 2203, 0, 2200, 2198, 2199, 2191, 25720 2192, 2193, 2194, 2196, 2197, 0, 0, 0, 0, 0, 25721 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25722 1041, 0, 0, 1102, 0, 0, 0, 0, 0, 0, 25723 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25724 0, 0, 0, 0, 0, 0, 0, 0, 1065, 1039, 25725 0, 0, 0, 0, 1078, 1079, 0, 0, 0, 0, 25726 0, 0, 0, 0, 0, 0, 0, 0, 0, 1081, 25727 0, 0, 0, 0, 1030, 0, 1090, 0, 0, 0, 25728 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25729 0, 0, 0, 0, 0, 0, 0, 0, 0, 1093, 25730 1076, 1038, 0, 0, 0, 0, 0, 0, 1101, 1071, 25731 0, 0, 1061, 1059, 0, 0, 0, 1066, 0, 0, 25732 0, 1055, 0, 1036, 1035, 1067, 0, 0, 0, 1032, 25733 0, 1094, 0, 0, 0, 0, 0, 0, 0, 0, 25734 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25735 0, 1057, 0, 0, 0, 0, 0, 0, 1037, 0, 25736 1033, 0, 0, 0, 1040, 0, 0, 0, 0, 1103, 25737 0, 1069, 0, 1082, 0, 0, 1080, 0, 1068, 1047, 25738 1052, 1053, 0, 0, 1063, 0, 0, 0, 0, 1088, 25739 1074, 1087, 0, 0, 0, 0, 1098, 0, 0, 0, 25740 0, 0, 0, 0, 1072, 0, 1073, 0, 1091, 1042, 25741 0, 0, 0, 0, 0, 1045, 1097, 1043, 0, 0, 25742 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25743 0, 0, 0, 1075, 0, 0, 0, 0, 0, 0, 25744 0, 0, 0, 0, 1044, 0, 0, 0, 0, 0, 25745 0, 1089, 0, 1084, 0, 0, 0, 1099, 0, 0, 25746 0, 0, 0, 0, 0, 0, 0, 0, 1077, 0, 25747 0, 0, 0, 0, 0, 0, 0, 0, 0, 1086, 25748 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25749 0, 0, 0, 1085, 0, 1064, 0, 0, 0, 0, 25750 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25751 1046, 0, 0, 0, 0, 0, 0, 0, 0, 1034, 25752 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25753 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25754 0, 0, 1048, 1049, 0, 0, 0, 0, 0, 0, 25755 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25756 0, 0, 0, 0, 0, 0, 0, 1058, 1056, 0, 25757 0, 0, 0, 0, 0, 1050, 0, 0, 0, 0, 25758 1070, 0, 0, 1096, 1095, 0, 0, 0, 0, 0, 25759 0, 0, 0, 0, 0, 0, 0, 0, 0, 1100, 25760 1083, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25761 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25762 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25763 0, 0, 0, 1092, 0, 0, 0, 0, 0, 0, 25764 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25765 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25766 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25767 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25768 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25769 0, 0, 0, 0, 0, 0, 1041, 0, 0, 1102, 25770 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25771 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25772 0, 0, 0, 0, 1065, 1039, 0, 0, 0, 0, 25773 1078, 1079, 0, 0, 0, 0, 0, 0, 0, 0, 25774 0, 0, 0, 0, 0, 1081, 0, 0, 0, 0, 25775 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25776 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25777 0, 0, 0, 0, 0, 1093, 1076, 0, 0, 0, 25778 0, 0, 0, 0, 1101, 1071, 0, 0, 1061, 1059, 25779 0, 0, 0, 1066, 0, 0, 0, 0, 0, 0, 25780 0, 1067, 0, 0, 0, 1032, 0, 1094, 0, 0, 25781 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25782 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25783 0, 0, 0, 0, 0, 0, 1033, 0, 0, 0, 25784 0, 0, 0, 0, 0, 0, 0, 0, 0, 1082, 25785 0, 0, 1080, 0, 1068, 1047, 0, 0, 0, 0, 25786 1063, 0, 0, 0, 0, 1088, 0, 1087, 0, 0, 25787 0, 0, 1098, 0, 0, 0, 0, 0, 0, 0, 25788 1072, 0, 1073, 0, 0, 0, 0, 0, 0, 0, 25789 0, 1045, 1097, 0, 0, 0, 0, 0, 0, 0, 25790 0, 0, 0, 0, 0, 0, 0, 0, 0, 1075, 25791 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25792 0, 0, 0, 0, 0, 0, 0, 1089, 0, 0, 25793 0, 0, 0, 1099, 0, 0, 0, 0, 0, 0, 25794 0, 0, 0, 0, 1077, 0, 0, 0, 0, 0, 25795 0, 0, 0, 0, 0, 1086, 25796 } 25797 25798 var sqlPact = [...]int32{ 25799 8241, -1000, -1000, -1000, -1000, -1000, -1000, 385, -1000, -1000, 25800 -1000, 384, 373, 368, 365, 363, 362, 356, 355, 354, 25801 351, 349, -1000, -1000, 348, 346, 345, 344, -1000, -1000, 25802 341, 339, 337, -1000, 334, -1000, -1000, 332, -1000, 330, 25803 329, 324, -1000, -1000, 321, -1000, 320, -1000, -1000, -1000, 25804 -1000, 319, 312, 309, 126715, 126054, 84985, 86979, 3060, 163018, 25805 141890, 2976, 132650, 162357, 131989, 161696, 2920, 15932, 161035, 3625, 25806 307, -1000, 160374, 306, 304, 303, -1000, 141229, 159713, 137269, 25807 136608, 2619, 99544, 183726, 2109, 2105, -1000, 302, -1000, -1000, 25808 9736, 96905, 299, 296, 294, 292, 3809, 289, -1000, 287, 25809 285, 279, 275, 272, -1000, -1000, 13704, 1971, -1000, 271, 25810 270, 269, 267, -1000, 508, 135947, 266, 265, 263, 3190, 25811 260, 259, 92942, 256, 254, 247, 3097, 3746, -1000, -1000, 25812 2695, -1000, -1000, 244, 241, 238, 237, 236, 235, 232, 25813 230, 228, 227, 222, 220, 218, 217, -1000, 216, 215, 25814 214, 210, 209, 207, 206, -1000, 205, 204, 203, -1000, 25815 197, -1000, 196, 194, 190, 189, 182, 181, 180, 179, 25816 178, 177, 176, 175, 174, 173, 172, 171, -1000, -1000, 25817 169, -1000, 2443, 2090, 2089, 2088, 1270, 166, 164, 163, 25818 162, 161, 160, 159, 158, 153, 151, 150, 147, 145, 25819 143, 142, 141, 138, 137, 135, 134, 129, 128, 127, 25820 124, 123, 122, 120, 118, 117, 115, 114, 109, 261, 25821 108, 107, 106, 103, 102, 101, 100, 95, 93, 3502, 25822 4475, -1000, 1996, 1076, 1543, 40551, 3858, -1000, -1000, -1000, 25823 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25824 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25825 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25826 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25827 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 172244, 25828 163677, 92, -56, 90, -1000, 4223, 1311, 76980, -1000, -1000, 25829 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25830 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25831 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25832 -1000, -1000, -1000, 471, -1000, -1000, -1000, -1000, -1000, -1000, 25833 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25834 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25835 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25836 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25837 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25838 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25839 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25840 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25841 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25842 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25843 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25844 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25845 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25846 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25847 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25848 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25849 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25850 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25851 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25852 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25853 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25854 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25855 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25856 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25857 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25858 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25859 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25860 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25861 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25862 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25863 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25864 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25865 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25866 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25867 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25868 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25869 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25870 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25871 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25872 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25873 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25874 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25875 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25876 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25877 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25878 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25879 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25880 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25881 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25882 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25883 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25884 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25885 -1000, -1000, 930, -1000, 3671, -1000, -1000, -1000, -1000, -1000, 25886 -1000, 467, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25887 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25888 -1000, -1000, 653, 191, 2759, 925, -1000, -1000, -1000, 159052, 25889 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 3059, 10, 25890 133309, -1000, 2794, -1000, -1000, -1000, -1000, -1000, 923, -1000, 25891 3058, 2991, 377, 2984, 133309, -1000, -1000, -1000, 4333, 4190, 25892 125393, 124732, 3283, 4853, 4852, 4851, 4850, 4849, 171585, 2324, 25893 3364, 4848, 4844, 4843, 4842, 4840, 4839, 4837, -1000, 124071, 25894 1362, 123410, 122749, 4317, 158393, 122088, 72965, 157732, 174886, 61054, 25895 1073, 4332, -1000, -1000, 4270, -1000, -1000, -1000, -1000, -1000, 25896 163677, -1000, 1358, -1000, -1000, 4836, 2641, 922, 140568, -1000, 25897 -1000, 157071, 2173, -1000, -1000, -1000, 1189, 1463, 44086, 44086, 25898 44086, 464, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4329, 25899 -1000, -1000, -1000, -1000, 163677, 3565, 3565, 1796, 1710, 1710, 25900 3565, 3565, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25901 4835, 4834, 4832, 4831, 4828, -1000, -1000, -1000, 1295, 4826, 25902 -1000, -1000, 2940, 2039, 4542, 3593, 106230, 2638, 1768, 4272, 25903 3974, 3972, 1911, 2793, 3969, 4825, 3413, 3648, 3968, 3966, 25904 3963, 1552, 3962, 3956, 1999, 3424, 505, 3415, 39844, 3848, 25905 2326, 60347, 1949, 1904, 3950, 3942, 3938, 3931, 4593, 4407, 25906 2773, 2584, 2768, 2604, 109537, 4824, 4823, 4219, 3922, 1893, 25907 3657, 3908, 2656, -1000, 3814, 1952, 4474, -1000, 74305, 1751, 25908 461, -1000, -1000, -1000, -1000, -1000, -1000, 461, 1839, -1000, 25909 -1000, -1000, -1000, -1000, 1690, -1000, -1000, -1000, -1000, -1000, 25910 -1000, 111520, 33557, 110859, 110198, 121427, 120766, 156410, 59640, 120105, 25911 119444, 105559, 4821, 4820, 58933, 72294, 4473, 1673, 155749, 174225, 25912 4472, 4471, 1357, 2787, 1800, -1000, -1000, -1000, -1000, -1000, 25913 -1000, 57, 98885, 4557, 163677, 4270, -1000, -1000, 458, -1000, 25914 -1000, -1000, -1000, -1000, -1000, -1000, 58226, 843, 57519, 818, 25915 56812, 785, 155088, -1000, -1000, -1000, -1000, -1000, -1000, 104888, 25916 4188, -1000, 71623, 154427, 1859, 3274, 4816, 4813, 1469, 4812, 25917 4150, 2306, 4805, 4804, 4801, 4800, 4799, 4798, 4795, 1938, 25918 153766, 3541, 153105, 2262, 173564, 2636, 1356, 118783, 127374, 3456, 25919 152444, 1950, 1892, -1000, -1000, -1000, -1000, 4420, 3745, 3744, 25920 1361, -1000, -1000, -1000, -1000, -1000, -1000, 81641, 3338, 3156, 25921 -1000, -1000, -1000, -1000, 16889, 184202, 151783, 84323, 127374, 127374, 25922 -1000, -1000, -1000, -1000, -1000, -1000, 56105, 563, 55398, 1071, 25923 151122, -1000, -1000, 82313, 3810, 1407, -1000, -1000, -1000, -1000, 25924 -1000, 150461, 54691, 534, 53984, 1007, 163677, -1000, 3857, 2532, 25925 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25926 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25927 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25928 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25929 -1000, -1000, 112179, -1000, -1000, 1690, -1000, -1000, -1000, 1833, 25930 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25931 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25932 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25933 -1000, -1000, -1000, -1000, -1000, -1000, 1996, -1000, -1000, -1000, 25934 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 2661, 25935 -1000, 2681, -1000, -1000, -1000, 3299, 4191, 4191, 4191, 4330, 25936 614, 598, -1000, 261, 1080, 1443, -1000, -1000, 183020, -1000, 25937 -1000, 61761, 61761, 61761, 61761, 61761, 61761, 61761, 61761, 2924, 25938 -1000, 921, -1000, -1000, -1000, 972, -1000, 920, 798, 789, 25939 -1000, -1000, -1000, -1000, -1000, -1000, 916, -1000, -1000, -1000, 25940 -1000, -1000, -1000, 4522, -1000, 35602, -1000, -1000, -1000, 689, 25941 915, 61761, 4673, 4672, 1236, -1000, 454, 1243, -1000, -1000, 25942 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 3856, 25943 911, 910, -1000, 908, 904, 903, 902, 900, -1000, 899, 25944 -1000, 898, 896, 893, 891, 890, 887, 882, 881, -1000, 25945 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 837, 2810, 25946 836, 836, 836, -1000, 1341, 835, 880, -1000, 490, 831, 25947 478, 827, 826, 824, -1000, 870, 866, 859, 857, 856, 25948 855, 852, 849, 848, 1343, -1000, -1000, -1000, -1000, 1392, 25949 53, 163677, -1000, 782, 53, -1000, -1000, 847, -1000, 42672, 25950 42672, 42672, -1000, -1000, 3052, 61761, -1000, 3401, -1000, 63, 25951 63, 1158, 78966, -1000, 75646, 1158, 374, 979, 86317, -1000, 25952 3808, -1000, -1000, 452, 34226, 32867, 4555, 34226, 1890, 163677, 25953 608, 83, 80, -1000, 77, 76, 163677, 163677, 127374, 127374, 25954 127374, 163677, 4793, 4789, 3990, 61761, -1000, -1000, 96243, 176867, 25955 135286, 1829, 56, -1000, -1000, 4446, 100873, 95584, 3854, 176867, 25956 3853, 3806, 176208, 104217, 315, 4042, -1000, -1000, 846, 315, 25957 4041, -1000, 4787, -1000, -1000, -1000, -1000, -1000, 4040, 4786, 25958 4785, 4784, 163677, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25959 3004, 4039, -1000, 54, -1000, 131328, 3004, 4038, -1000, 54, 25960 3004, 4036, -1000, 54, 130669, -1000, -1000, 3004, 4035, -1000, 25961 -1000, 314, 4033, -1000, -1000, 3600, 1145, -1000, -1000, 68124, 25962 -1000, 313, 4032, -1000, -1000, 448, -47, 4030, -1000, -1000, 25963 -1000, -1000, -1000, -1000, 183020, -1000, -1000, -1000, 175547, -1000, 25964 -1000, 4222, -1000, 163677, -1000, 61761, -1000, -1000, 4445, 2027, 25965 4233, 4388, -1000, -1000, 34, -1000, -1000, -1000, -1000, -1000, 25966 -1000, -1000, 3342, 3340, 1456, 3121, -1000, 4082, 1789, 44086, 25967 4133, -1000, -1000, -1000, -1000, -1000, 447, 34226, 3711, -1000, 25968 -1000, 163677, -1000, 163677, 3565, 3565, -1000, -1000, -1000, 4572, 25969 4571, 3565, 3565, 163677, 163677, -1000, -1000, -1000, -1000, -1000, 25970 -1000, 2993, -1000, -1000, -1000, 1887, 3390, -1000, -1000, -1000, 25971 82313, 3802, 1650, 106899, 106899, 106899, 106899, 106899, -1000, -1000, 25972 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 149800, -1000, 25973 -1000, 1906, 2665, 1989, 4204, 2664, 127374, -1000, 2429, -1000, 25974 -1000, -1000, 4252, 4037, 163677, -1000, -1000, 3851, -1000, 98226, 25975 3851, 130010, -1000, 129351, -1000, 128692, -1000, -1000, 127374, -1000, 25976 127374, -1000, 4781, 4779, 4778, -1000, -1000, 4777, 170926, -1000, 25977 1905, 4234, -1000, 2408, 926, 53277, 182896, 4227, -1000, 4774, 25978 2609, 3848, 183020, -1000, 4034, 2120, 2084, 163677, -1000, -1000, 25979 163677, -1000, 163677, -1000, 163677, -1000, 163677, -1000, -1000, -1000, 25980 3095, 2041, -1000, -1000, 3339, -1000, -1000, -1000, 1294, -1000, 25981 1288, 127374, 127374, 127374, 127374, 3801, 3489, 127374, 127374, 2204, 25982 -1000, 52570, 4187, -1000, -1000, 3903, 4773, 2284, -1000, 2364, 25983 -1000, -1000, 2771, 3798, 4228, -1000, 3796, 1396, 2435, -1000, 25984 -1000, 74305, 4470, -1000, 441, 4678, 441, -1000, -1000, -1000, 25985 34, -1000, 6878, 4029, 1551, -1000, 3119, -1000, -1000, -1000, 25986 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25987 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25988 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25989 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25990 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25991 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25992 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25993 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 25994 -1000, -1000, -1000, -1000, 2639, 4028, -1000, 3142, 4026, 2528, 25995 -1000, -1000, 3310, -1000, 2517, -1000, 2448, -1000, 179337, 1686, 25996 -1000, -1000, -1000, -1000, 2854, 4024, 65, -1000, -1000, 3133, 25997 -1000, 4533, 3761, -1000, -1000, -1000, 179213, -1000, -1000, 3159, 25998 2769, 4468, 2710, -1000, 1641, 4022, -1000, 3586, 3586, 118122, 25999 4027, 83653, 82313, 98885, 36, -1000, -1000, -1000, -1000, -1000, 26000 30, -1000, 31482, 183020, -1000, -1000, -1000, -1000, 183020, 1142, 26001 -1000, -1000, 4021, -1000, 183020, 1141, -1000, -1000, 4020, -1000, 26002 3419, -1000, 3847, -1000, -1000, -1000, 3218, 103546, 3329, 801, 26003 -1000, 3215, 1292, -1000, 117463, 116802, 2780, 4771, -1000, 4768, 26004 -1000, -1000, 4767, -1000, 4766, 4764, 4762, -1000, -1000, -1000, 26005 -1000, -1000, -1000, -1000, 116141, 3050, -1000, -1000, 1864, 1253, 26006 106899, -1000, 3214, 4378, -1000, 115480, 1353, -1000, 1261, 3213, 26007 -1000, 1873, 128033, 1231, 3211, -1000, 4761, 4307, 3505, 1261, 26008 3209, -1000, -1000, -1000, -1000, -1000, 3792, -1000, 845, 87641, 26009 -1000, 87641, -1000, 2168, -1000, 170267, 63, 127374, 4522, -1000, 26010 8, -1000, -1000, -1000, 1311, -1000, 80969, -1000, 80969, 139907, 26011 106899, 1253, 3789, 92280, 182859, -1000, 1291, -1000, -1000, 183020, 26012 -1000, -1000, -1000, 3418, -1000, -144, 3575, -1000, 106899, 82313, 26013 3787, 3416, -1000, 183020, -1000, -1000, -1000, -1000, 183020, -1000, 26014 -1000, -1000, 106899, 1864, -1000, 149141, 114819, 316, -1000, -1000, 26015 169608, -1000, 3299, -1000, 163677, -1000, 3298, 3838, 3845, 2101, 26016 3094, 3445, -1000, 51863, 3404, 67417, 3118, 261, -1000, -1000, 26017 261, 261, 41965, -1000, -1000, 44086, 1080, 100873, 100873, 34226, 26018 1683, 61761, 61761, 61761, 61761, 61761, 61761, 61761, 61761, 61761, 26019 61761, 61761, 61761, 61761, 61761, 61761, 61761, 61761, 61761, 61761, 26020 61761, 61761, 61761, 61761, 61761, 61761, 61761, 61761, 61761, 61761, 26021 61761, 61761, 61761, 61761, 61761, 61761, 61761, 61761, 2822, 61761, 26022 1563, 61761, 61761, 61761, 61761, 2839, -1000, -1000, 2502, 704, 26023 2712, 798, -1000, -1000, -1000, 4503, 4503, 4503, 1675, 1675, 26024 1675, 183433, 183433, 809, 4760, 972, -1000, 61761, -1000, 191, 26025 80288, 61761, 32867, -1000, 598, 13985, 3285, -1000, 597, 32160, 26026 -1000, -1000, -1000, 35602, 789, 66710, 61761, 1304, 183020, -1000, 26027 -1000, 1790, 4555, 30804, 3721, 3645, 844, 1143, 928, 39137, 26028 38430, 37723, 37016, 906, 905, 61761, 61761, 61761, 61761, 61761, 26029 61761, 61761, 61761, -1000, 4569, -1000, -1000, 4555, -1000, -1000, 26030 842, -1000, 4555, 4555, -1000, 4555, 1750, 1694, 4555, -1000, 26031 4555, 4555, 10792, 10792, 51156, 50449, 49742, 68831, 49035, 61761, 26032 36309, 48328, 47621, -1000, 70952, 163677, 53, 4444, 163677, 61761, 26033 370, -1000, 25395, -1000, 370, 370, 841, 2, 183020, 3386, 26034 3386, 77642, 3070, 2928, 2928, 2928, -1000, 1158, 24012, 1158, 26035 145844, 2950, 1158, 1158, 469, 595, 74976, 3401, 145185, 949, 26036 839, 75, 74, 72, -1000, -1000, 71, 68, -1000, -1000, 26037 127374, 838, 34226, 434, -1000, 154, 61761, 61761, 61761, 594, 26038 -1000, 943, -1000, 433, 2591, 2578, -6, 1827, -1000, -1000, 26039 -1000, -1000, 3453, 3451, 3450, 3447, -1000, 3438, 3046, -1000, 26040 -1000, -1000, 2450, -8, 1817, 127374, 163677, 2377, -1000, -1000, 26041 -1000, -1000, 98885, 51, 98885, 163677, 4176, 127374, 127374, -14, 26042 -1000, 176867, 6993, -18, -1000, 1609, 423, 4555, -1000, -1000, 26043 -1000, 4759, 4756, -1000, 483, -1000, -1000, -1000, -1000, -1000, 26044 -1000, -1000, -1000, 837, 836, 836, 836, -1000, 1341, 835, 26045 490, 831, 478, 827, 826, 824, -1000, -1000, -1000, -1000, 26046 -1000, 3786, 127374, 163677, 2325, 97567, 134627, -47, 135286, 176867, 26047 -15, -1000, -1000, -1000, -1000, 127374, -1000, -1000, 127374, -1000, 26048 89623, -1000, 127374, -1000, 163677, -1000, -1000, -1000, 4755, -1000, 26049 127374, 127374, 3004, 4019, -1000, 127374, -1000, 127374, 311, 4016, 26050 -1000, -1000, 163677, -1000, 127374, 127374, -1000, -1000, 74305, 179010, 26051 4555, -1000, 163677, 163677, 163677, 176867, 176867, 308, -1000, 127374, 26052 1080, -24, 1476, 34, -1000, -1000, -1000, -1000, 1690, -1000, 26053 2252, -1000, -1000, -1000, -1000, -1000, -1000, 1961, -1000, -1000, 26054 -1000, -1000, -1000, -1000, -1000, -1000, 1236, -1000, -1000, -1000, 26055 -1000, 4549, 4529, 37, -1000, -1000, 34226, -1000, 2596, -1000, 26056 -1000, -1000, -1000, 163677, 163677, -1000, -1000, 163677, 163677, -1000, 26057 -1000, 50, 2022, -1000, 127374, 3844, -1000, -1000, 106899, 82313, 26058 -1000, 3435, 1260, 1260, 1260, 1260, 1290, -1000, -1000, -1000, 26059 -1000, -1000, -1000, 4754, 4753, 4752, 4749, -1000, -1000, 1281, 26060 127374, 163677, 127374, -1000, 3536, 2108, -1000, 420, -1000, 176867, 26061 -1000, 176867, 163677, 127374, -1000, -1000, 1281, 163677, 1281, 163677, 26062 1281, 163677, 1281, 1281, -1000, -1000, -1000, -1000, 40, -1000, 26063 4064, 3924, -1000, 191, 191, 61761, -1000, -1000, 183020, -1000, 26064 3924, 61761, -1000, -1000, 2035, -1000, 4748, 2181, -1000, 3843, 26065 -1000, 3839, -1000, 113, 419, 415, -1000, -1000, 4567, 2556, 26066 -1000, 4670, -1000, 2737, 1288, 1288, -1000, -1000, -1000, -1000, 26067 127374, 3783, -1000, -1000, -1000, -1000, -1000, 4746, 4169, 183020, 26068 -1000, 102875, 2473, -1000, -1000, -1000, -1000, 127374, 127374, 127374, 26069 127374, 163677, 1286, 49, -1000, -1000, -1000, -1000, -1000, 4108, 26070 -1000, 163677, 4097, 4106, 127374, 74305, -1000, -1000, -1000, 4677, 26071 -1000, 28, 2058, 717, 1815, -1000, 114158, 3239, 4182, 4742, 26072 3497, 4167, 2166, -1000, 2024, 823, -1000, 4352, 112179, 4405, 26073 4419, 1664, -1000, 3779, -1000, -1000, -1000, 1187, 2258, 2402, 26074 1810, 1809, 112179, 3142, -1000, 100873, -1000, 3510, 4328, 1710, 26075 1775, 1710, 1710, 1773, 1746, -1000, 112179, 2400, 1806, 1805, 26076 3368, 1798, 2399, 1760, 4073, -1000, -1000, 3045, 3146, -1000, 26077 -1000, -1000, -1000, 2238, 3588, -1000, 3341, 1685, 1685, 163677, 26078 -1000, 1754, 2397, 1747, 1739, -1000, -1000, 2078, 2092, -1000, 26079 -1000, 148480, 2219, -1000, 1676, 1669, 164995, 4466, 2661, 2868, 26080 997, 2716, -1000, 1677, 1668, 3778, -1000, -1000, 27, 4401, 26081 4418, 1664, -1000, -1000, 3777, 1665, -1000, 1325, -1000, -1000, 26082 4518, -1000, -1000, 4327, 127374, 34226, 1993, 1990, 1965, 2396, 26083 1655, 48, -1000, 4393, 2164, -1000, 4481, 106899, -1000, 3240, 26084 2005, -1000, 1864, 1864, 143208, 163677, 1653, 2817, 2751, 2628, 26085 2625, 2616, 2970, -1000, 4383, 4375, -1000, -1000, 4269, -1000, 26086 -1000, 4268, 2752, 1581, 1580, -1000, 1303, 9386, 4104, -1000, 26087 176867, 1303, 1303, 2456, 4010, 3534, 2071, -1000, 3571, 1085, 26088 3566, -1000, -1000, 1085, 36, 98885, 163677, 408, -1000, 61761, 26089 191, 61761, 191, -1000, 4322, 4007, 4443, -1000, 3775, 74305, 26090 4000, 3998, 4741, 822, -1000, -1000, 820, -1000, 3363, -1000, 26091 -1000, -1000, -1000, -1000, -1000, -1000, 816, 3208, 3774, 163677, 26092 295, -1000, 127374, -1000, 4442, 147821, -1000, 3995, 176867, 3142, 26093 3207, -1000, 113499, -1000, 3994, 2745, 653, 3206, -1000, 946, 26094 4740, 3992, -1000, 168949, -1000, 4222, 1788, 3991, 1242, 2045, 26095 865, 4441, -1000, 865, 90294, -1000, 163677, -1000, 63, 784, 26096 108217, -26, -33, 593, -1000, 163677, 163677, 4120, 2762, 2756, 26097 -1000, 1256, 82313, -1000, 82313, -40, -1000, -144, 3562, 82313, 26098 -1000, 1253, -163, 1085, -1000, 1085, -1000, -1000, 112179, -1000, 26099 3298, 3838, -1000, -1000, -1000, -1000, -1000, -1000, 1778, 2996, 26100 -1000, 3400, -1000, 2095, -1000, -1000, -1000, 183020, 69538, -1000, 26101 -1000, 183020, 2458, -1000, 66003, 65296, -1000, -1000, 2254, 127374, 26102 3468, -1000, 3468, -29, -1000, -1000, 180459, 3391, 127374, 37, 26103 44086, -1000, -1000, -1000, -1000, -1000, 1186, 1075, 1075, 1745, 26104 1745, 1745, 1745, 4341, 8785, 3399, 8140, 7983, 7983, 7082, 26105 7082, 7082, 7082, 7082, 7983, 439, 1675, 1675, 439, 439, 26106 439, 439, 439, 1675, 1675, 439, 1675, 7983, 7983, 7983, 26107 1675, 183433, 12555, 14886, 61761, 61761, 1578, 2511, 704, 13267, 26108 61761, 15677, 15677, 15677, 15677, -1000, 2455, -1000, -1000, -1000, 26109 -1000, 3773, 813, 68831, 68831, -1000, -1000, -1000, -1000, 34895, 26110 61761, -1000, -1000, -1000, -1000, 46914, -1000, -1000, 178599, -339, 26111 592, -1000, 407, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 26112 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 26113 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 26114 -1000, -1000, -1000, -1000, -1000, -1000, -1000, 591, -21, 154, 26115 388, 61761, 163677, -1000, 18284, 940, -98, -1000, 64589, -57, 26116 1797, -1000, 61761, -1000, -1000, 1577, -1000, 1568, 1567, 1564, 26117 -1000, 811, 590, 375, -1000, 2931, 808, 800, 61761, -1000, 26118 -1000, -1000, -1000, -1000, 178475, -1000, -1000, 178396, -1000, -1000, 26119 178272, -1000, -1000, 177861, -1000, -1000, -1000, -1000, -1000, 182725, 26120 17825, 16588, 15533, 13936, 15010, 14683, -62, 589, -63, 4555, 26121 588, 587, 584, 1185, 1183, 583, 581, 578, -64, -1000, 26122 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 26123 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 26124 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 26125 -1000, -69, 574, -1000, 3771, -21, -1000, -1000, -1000, -1000, 26126 -1000, -1000, -1000, -1000, 573, -1000, 572, -1000, 182034, -21, 26127 570, 3387, -1000, 68831, 68831, 68831, 68831, 567, -1000, 180048, 26128 -1000, 182168, 46207, 46207, 46207, 561, 181997, 61761, -21, -70, 26129 -1000, -71, -1000, -1000, -1000, -1000, 3234, -72, -1000, -77, 26130 1301, 42672, 76318, 1683, 61761, 61761, 61761, 61761, 1563, 2839, 26131 2502, 704, 34226, -1000, 798, -1000, -1000, -1000, -1000, -1000, 26132 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 26133 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 26134 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 26135 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 26136 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 26137 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 26138 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 26139 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 26140 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 26141 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 26142 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 26143 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 26144 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 26145 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 26146 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 26147 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 26148 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 26149 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 26150 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 26151 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 26152 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 26153 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 26154 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 26155 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 26156 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 26157 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 26158 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 26159 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 26160 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 26161 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 26162 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 26163 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 26164 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 26165 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 26166 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 26167 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 26168 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 26169 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 26170 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 26171 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 26172 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 26173 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 26174 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 26175 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 26176 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 26177 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 26178 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 26179 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 26180 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 26181 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 26182 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 26183 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 26184 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 26185 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 26186 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 26187 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 26188 -1000, -1000, -1000, 1301, 1301, 61761, -1000, 61761, 3412, -1000, 26189 -1000, -1000, -1000, 3411, 2494, 3386, 77642, -1000, -1000, -1000, 26190 -1000, 145844, -1000, 4522, 3622, -1000, 145844, -1000, -1000, 163677, 26191 782, -1000, 145844, 145844, 1158, -1000, -1000, 163677, 781, 1158, 26192 145844, 814, -1000, -1000, -1000, -1000, -1000, 559, 79628, 326, 26193 34226, 558, 45500, -1000, 4326, 181166, 152, -78, -1000, -1000, 26194 34226, 1261, -1000, 1261, -1000, -1000, 2576, 3550, 3550, 3550, 26195 3550, 3550, 127374, -1000, -1000, 176867, 1561, 42, -38, 3561, 26196 3556, 3553, 3551, 36, 98885, 36, 30, 163677, 47, 47, 26197 4479, -271, -1000, 2823, -1000, 100873, -1000, 961, 1340, 34226, 26198 -1000, -1000, -1000, -1000, 4555, 176867, 3769, 336, 3548, 3545, 26199 3544, 3543, -1000, 3043, 133309, 282, -47, 176867, -1000, 315, 26200 -79, -1000, -1000, 100203, 94922, -1000, 2938, -1000, -1000, -1000, 26201 -1000, -1000, -1000, -1000, 315, 4737, -1000, 3004, -1000, -1000, 26202 127374, 3004, 3004, -1000, 127374, 127374, 3004, -1000, 314, 3600, 26203 -1000, -1000, 313, -1000, -1000, -47, -1000, 1287, 44086, -1000, 26204 1690, -1000, -1000, 1974, -1000, 2753, -1000, 1591, -1000, -1000, 26205 44086, -1000, 4123, -1000, 2405, -1000, -1000, -1000, -1000, 2992, 26206 -1000, 1253, 1879, 3539, 1260, 43, 797, -1000, -1000, -1000, 26207 2064, -1000, -1000, 1133, 1132, 1131, -1000, 1130, -1000, -1000, 26208 -1000, -1000, -1000, -1000, 2072, -1000, -1000, -1000, -1000, -1000, 26209 -1000, -1000, -1000, 61, -1000, 2393, 176867, 2506, 176867, 163677, 26210 -47, -47, 17, -1000, -1000, 225, 42, -1000, 1281, -1000, 26211 1281, -1000, 1281, -1000, -1000, 3924, -1000, 40, 4064, -1000, 26212 -1000, 183020, 40, 183020, -1000, -1000, -1000, 2177, 2172, 163677, 26213 -1000, 163677, 163677, 3836, -1000, 163677, -1000, -1000, -1000, -1000, 26214 -1000, 127374, -1000, 4736, -1000, -1000, 34226, 163677, 127374, 34226, 26215 127374, 3833, 3832, 1286, 1286, 1286, -1000, 2684, 163677, -1000, 26216 -1000, 163677, -1000, -1000, -1000, 3417, 163677, 163677, 127374, -1000, 26217 143867, 163677, -1000, 2906, 176867, -1000, 3205, 168290, 3178, 167631, 26218 100873, -1000, -1000, 796, 1215, 3385, 3384, 1398, 163677, 163677, 26219 3379, 166972, 166313, -1000, 4735, 163677, 2829, 61761, 143867, 4325, 26220 2919, 5319, 191, 191, -1000, 191, -1000, -1000, 795, 1651, 26221 127374, 127374, 163677, 176867, 127374, 2407, -1000, -1000, -1000, -1000, 26222 -1000, 112838, -1000, -1000, 1710, -1000, -1000, -1000, 1710, -1000, 26223 1710, 3142, 2391, 163677, 176867, 127374, -1000, -1000, -1000, -1000, 26224 163677, 163677, 176867, 3042, 3141, 3037, 3585, -1000, -1000, -1000, 26225 -1000, -1000, -1000, 163677, 163677, 176867, 176867, 147162, 2713, 146503, 26226 2708, 2700, -1000, -1000, -1000, 2659, 2690, 2903, 2390, 163677, 26227 -1000, -1000, -1000, -1000, -1000, 1785, -1000, 997, 1560, 3768, 26228 61761, 61761, 2880, 191, 191, -1000, 191, 794, 34226, -1000, 26229 -1000, 1588, -1000, 3804, 163677, 4669, 165654, 4665, 163677, 163677, 26230 163677, 176867, 4196, 163677, 39, -1000, 1643, -1000, 4481, -1000, 26231 1129, -1000, -163, 38, -49, -1000, 1126, 1124, 30, 73635, 26232 2438, -1000, -1000, -1000, -1000, -1000, 1558, 2641, 2526, 163677, 26233 4306, -1000, 163677, 4302, -1000, -1000, -1000, 163677, 176867, -1000, 26234 164995, 9386, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 26235 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 26236 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 26237 -1000, 2846, 3564, 1418, 163677, 1641, -1000, -1000, 2380, 1557, 26238 1553, 112179, 2761, 2373, 2499, 82313, 1257, 82313, 3513, -1000, 26239 -1000, 30126, 183020, -1000, 183020, -1000, 94263, 2266, 106899, 106899, 26240 2608, -1000, 73635, 163677, -1000, 90956, 90956, 163677, 108876, 1207, 26241 3989, 88301, 30, 1253, 1864, 3874, 2209, -49, 793, 163677, 26242 -1000, -1000, 3142, 3988, 653, 3203, -1000, 176867, 1345, 4440, 26243 3987, 792, 163677, 4734, -1000, 127374, 3036, 3200, -1000, -1000, 26244 164336, 3961, 997, 163677, 1412, -80, -1000, 61761, 2658, -1000, 26245 85647, 1382, 163677, 2553, 276, -1000, -1000, -1000, 88, 163677, 26246 -1000, 977, -1000, -1000, 784, 784, 1253, 82983, -86, -1000, 26247 212, 790, 1118, 1117, -1000, 9058, -1000, -144, -1000, 106899, 26248 1256, 82313, -144, 3537, 3767, -1000, -1000, 1284, -1000, -1000, 26249 -1000, -1000, 1432, -1000, 2458, 2978, -1000, 789, -1000, -1000, 26250 -1000, -1000, -1000, -1000, -1000, -1000, -1000, 3302, -1000, -1000, 26251 41965, 1149, -1000, -1000, 127374, 60, 37, 61761, 61761, 11613, 26252 10133, 61761, 68831, 68831, -1000, 61761, 9432, -1000, -1000, -1000, 26253 -1000, -1000, 3765, 788, 61761, 100873, 2848, 2772, -1000, 557, 26254 11453, 439, -1000, 61761, -1000, 642, -1000, 556, 24705, -21, 26255 -87, -1000, -1000, 960, -1000, 3945, -1000, 61761, 181873, 3263, 26256 2493, 2515, 2249, 4555, 4660, 29448, -1000, 91618, 1302, 2956, 26257 177690, -1000, -1000, -1000, -1000, 100873, 100873, 61761, 61761, -1000, 26258 61761, 61761, 61761, -1000, -1000, -1000, 4555, 550, -1000, -1000, 26259 1178, -1000, -1000, -1000, 1178, -1000, -1000, 1710, -1000, 1710, 26260 -1000, 61761, -1000, -1000, 3760, 61761, -1000, 100873, 100873, 68831, 26261 68831, 68831, 68831, 68831, 68831, 68831, 68831, 68831, 68831, 68831, 26262 68831, 68831, 68831, 68831, 68831, 68831, 68831, 68831, 68831, 3353, 26263 68831, 4497, 4497, 4497, 1170, -1000, 3831, 3760, 61761, 61761, 26264 100873, 544, 543, 542, -1000, 61761, -21, -1000, -1000, 786, 26265 -1000, 3291, -1000, 163677, -1000, 3639, -1000, 61761, -1000, -88, 26266 -1000, 3401, -1000, -1000, 3639, 3639, -92, 183020, 77642, 77642, 26267 -1000, 783, 61761, 3408, -1000, -1000, 939, -330, -1000, 1115, 26268 -1000, -1000, -1000, -1000, -1000, -1000, 1114, 1113, -1000, 782, 26269 -1000, -1000, -1000, 145844, 781, -1000, 163677, 145844, 938, -1000, 26270 -95, -1000, -1000, -105, -1000, 145185, 34226, -1000, -1000, 61761, 26271 61761, 541, 540, -1000, 89, 1301, 325, -1000, 1261, -1000, 26272 -1000, -1000, -1000, -1000, -1000, -1000, -1000, 3422, -271, 176867, 26273 176867, 2369, 2365, 2361, 2359, 36, 30, 2980, -1000, 3655, 26274 4659, -1000, 4552, 957, 937, 192, 539, -47, 176867, 176867, 26275 2357, 2354, 2350, 2336, 93601, 3759, 176867, -1000, -1000, -1000, 26276 90956, 100873, -1000, 100873, -1000, -1000, -1000, -1000, -1000, 3004, 26277 -1000, -1000, -1000, 311, -1000, -1000, -1000, -1000, -1000, 3488, 26278 -1000, 34, -1000, -1000, -1000, 61761, -1000, 1213, -1000, 2016, 26279 -1000, -1000, 127374, 82313, -1000, 3496, 3496, -1000, 82313, 82313, 26280 106899, 106899, 33, 777, -1000, 1112, 1111, 1108, 28770, 163677, 26281 255, 3536, -47, -1000, 101535, -1000, -1000, -1000, -1000, -1000, 26282 -1000, 1281, -1000, -1000, 4641, 30, -1000, -1000, -1000, -1000, 26283 -1000, 2883, 3105, 2883, 2485, 2480, -1000, -1000, -1000, -1000, 26284 -1000, -1000, -1000, -1000, -1000, -1000, -1000, 4181, 765, 1548, 26285 1538, -1000, -107, -1000, 1107, -1000, -1000, -1000, -1000, -1000, 26286 3713, -1000, 3984, -1000, 3199, -1000, 1386, 3195, 2104, -1000, 26287 61761, 764, 3504, 756, 752, 4733, 2796, 4732, 1404, 3977, 26288 3004, 3970, 3004, -1000, -1000, -1000, 1193, -1000, 183020, -108, 26289 -1000, 2919, -1000, 751, 750, -1000, 28, 1998, 610, 1537, 26290 1279, -1000, -1000, 61761, 61761, 144526, -1000, 636, 4194, 59, 26291 -1000, -1000, -1000, 2318, 1532, 1530, -1000, -1000, -1000, -1000, 26292 -1000, 3142, 2315, 1529, 1526, -1000, -1000, -1000, -1000, -1000, 26293 -1000, 3889, 3476, 3140, -1000, -1000, -1000, -1000, -1000, -1000, 26294 -1000, 3193, -1000, -1000, 142549, -1000, 3960, 142549, 3607, 997, 26295 142549, 4194, 3677, 1274, -1000, 3879, 3878, 1177, 142549, 61761, 26296 61761, 181460, 181299, -1000, 1269, -1000, -1000, 61761, -1000, 27, 26297 -1000, 1525, 4387, 3192, 127374, -1000, 3004, 3959, 1524, -1000, 26298 1523, -1000, -1000, -1000, 4392, 4390, 1542, 2164, 106899, 82313, 26299 2554, -1000, 4376, 2979, 4521, 4481, 82313, -1000, 143208, 106899, 26300 106899, -1000, -1000, -1000, 2167, -36, -1000, 1092, 1544, 26, 26301 -1000, 1080, -1000, 26, -1000, -1000, -1000, -1000, 4521, -1000, 26302 -1000, -1000, -1000, 102204, -1000, -1000, 1303, 163677, 176867, 127374, 26303 2384, -1000, -1000, 133309, 133968, 163677, 3534, 1085, -1000, 2624, 26304 1085, 1257, 3758, -1000, 3464, -1000, 165, 1253, -1000, 106899, 26305 -1000, -1000, 3104, 3329, 1266, 538, 25, -1000, 1550, 535, 26306 4731, 528, -116, 24, 100873, -1000, -1000, -1000, -1000, 3178, 26307 127374, 749, 163677, 1607, 3482, 163677, 163677, 4438, -1000, 3091, 26308 833, 127374, 1238, -1000, 4522, -1000, -1000, -1000, 163677, 42672, 26309 143208, -1000, 4355, 127374, 4437, 3955, 1261, 127374, 191, 127374, 26310 4585, 525, 23, 100873, -1000, 4436, 127374, 3954, 3034, 3181, 26311 3347, 997, 107558, 1261, 1301, 77642, -1000, 2045, 183020, -1000, 26312 2553, 44793, 4192, -124, -1000, -1000, -1000, 1301, 90294, 77642, 26313 61761, 4730, -126, -1000, -1000, -1000, -1000, -1000, 106899, 1253, 26314 163677, 163677, 4728, 106899, 106899, 106899, 22, 748, -1000, 1082, 26315 1079, 1078, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1070, 26316 1065, 1062, 1061, 1059, 1050, -1000, -1000, -1000, 3309, 4079, 26317 -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1256, -1000, -1000, 26318 -144, 1256, 82313, 191, -1000, 2967, -1000, 2972, -1000, -1000, 26319 -1000, -1000, -1000, 3463, 4189, 34226, 4356, 15677, 61761, 61761, 26320 3221, 1729, 779, 15677, 61761, 61761, 100873, 8894, -127, 61761, 26321 61761, -1000, 61761, 936, 183020, -1000, 4637, -1000, -1000, 4539, 26322 -1000, -1000, -1000, 183020, 61761, -1000, -1000, -1000, -1000, -1000, 26323 -1000, -1000, 524, -1000, 184, -1000, -1000, -1000, 172903, -1000, 26324 61761, 520, 4324, -1000, 517, 514, 9602, 7934, 177566, 177529, 26325 23216, 510, -1000, -1000, -1000, 509, 506, 183020, 3831, 183020, 26326 -1000, -1000, 1275, 1275, 1667, 1667, 1667, 1667, 4497, 971, 26327 1298, 744, 657, 657, 657, 884, 1170, 1170, 657, 657, 26328 657, 1170, 3757, 3337, 743, 3640, -1000, -1000, 183020, 183020, 26329 501, -1000, -1000, -1000, -21, 7494, -1000, -1000, 3630, 4323, 26330 183020, -1000, 77642, 3630, 3630, -1000, -1000, 2494, 163677, 183020, 26331 77642, -1000, 3622, -1000, 26745, 26076, 955, -1000, -1000, -1000, 26332 -133, -1000, 100873, -1000, -1000, -1000, 4522, -1000, 79628, -1000, 26333 89, 181166, 19, -1000, -1000, -1000, 34226, -1000, 3716, 5757, 26334 -1000, 1048, -1000, -1000, 106899, 106899, 4726, 4724, -1000, 4610, 26335 4609, 2927, 4604, -1000, 3550, -1000, -271, -196, 163677, 163677, 26336 163677, 163677, -1000, 2977, -1000, 934, 4723, 947, 34226, -1000, 26337 -47, -47, 163677, 163677, 163677, 163677, 3747, 127374, 163677, 2295, 26338 176867, -47, -1000, -1000, -1000, -1000, -1000, -1000, 4119, 183020, 26339 3829, 3620, 3616, -1000, 1253, 1260, -1000, -135, -1000, -1000, 26340 -1000, -1000, 1984, 1984, 106899, 106899, 61761, -1000, -1000, -1000, 26341 -1000, -1000, -1000, -1000, -1000, -1000, 34226, 2180, -1000, 742, 26342 730, 163677, 163677, -1000, 143867, 44086, 2060, 139246, 163677, 3948, 26343 -1000, 3940, -1000, 1398, 3333, 22760, 78304, -1000, 78304, 163677, 26344 -1000, -1000, -1000, -1000, 2415, 1958, 4722, 1459, -1000, 4256, 26345 163677, -1000, 163677, -1000, -1000, -1000, 143867, -1000, 163677, 163677, 26346 127374, 163677, -1000, 176867, 3907, -136, 183020, 18, -1000, 1046, 26347 -1000, 1679, -1000, 28092, 163677, 176867, 127374, 163677, 176867, 127374, 26348 163677, -1000, 3475, 3937, 1381, 142549, -1000, 3936, 142549, 1379, 26349 -1000, -1000, 142549, 2908, -1000, -1000, 3877, -1000, 183020, 180755, 26350 191, 61761, 3893, -138, 34226, -1000, 4602, 4601, 3934, 4261, 26351 -1000, 163677, 4599, 163677, 127374, 4116, -1000, -1000, -1000, -1000, 26352 1041, 1034, 1023, 1020, 1017, 3307, 1016, 1015, 4488, 143208, 26353 -1000, 1259, -1000, -1000, -1000, 1555, -1000, 2526, 73635, 1014, 26354 163677, 44086, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 2308, 26355 1521, 1516, 3032, 3024, 2975, 17, 2761, 1257, 16, 729, 26356 -1000, 1257, -1000, 106899, 82313, 1253, 4434, -1000, 73635, 3743, 26357 4721, 2520, 90956, 61761, 61761, 7236, -1000, 3493, -1000, 138587, 26358 108876, 3084, -1000, -1000, 78304, 728, 163677, 727, 163677, 725, 26359 -1000, 191, -1000, 4720, 143867, 723, -1000, 1267, 2963, -1000, 26360 4514, -1000, 3884, -1000, 932, -1000, -1000, 274, -143, 176867, 26361 3142, 191, 127374, -1000, 653, 1255, 653, 498, 15, -1000, 26362 -1000, 163677, -1000, 1049, 1390, 34226, 127374, 3933, 3352, 997, 26363 107558, -1000, 1788, 2954, 12, -1000, -1000, 13, -1000, 700, 26364 191, 2954, -1000, 12, 183020, -1000, 1012, 497, -1000, 4115, 26365 -1000, -1000, -149, -1000, -1000, 10695, 10695, 106899, 82313, 106899, 26366 106899, 106899, 61761, 82313, 106899, 106899, 1011, 4145, -1000, 1256, 26367 -1000, -144, -1000, 3288, -1000, -1000, -1000, -1000, 4189, 15677, 26368 15677, 61761, 61761, 61761, 15677, 8894, -154, -1000, 15677, 15677, 26369 -21, -1000, -1000, -1000, 183020, -1000, 27414, 2891, -1000, 22589, 26370 -1000, 41965, -1000, -1000, 61761, 61761, -1000, -1000, -1000, -1000, 26371 -1000, -1000, -1000, -1000, 68831, 3740, 718, 100873, -1000, 496, 26372 1276, 61761, 63882, 3401, 1276, 1276, -1000, -156, -1000, -1000, 26373 -1000, 4522, -1000, 4522, 4522, -1000, 163677, -1000, -1000, -1000, 26374 495, 41965, -1000, -1000, -157, -1000, 106899, 2516, 106899, 106899, 26375 4714, 4712, 1907, 4598, 4597, 4711, 4709, 4708, 4596, 106899, 26376 -1000, -1000, -1000, -1000, -1000, -1000, 4707, 3135, 4706, 4704, 26377 -1000, -1000, -1000, 3888, -117, -118, -119, -125, -1000, 907, 26378 -1000, 4703, -1000, 243, 229, 224, 221, 176867, 3717, 211, 26379 3533, 3531, 3530, -47, -1000, 191, -1000, -1000, -1000, -1000, 26380 -1000, -1000, -162, -1000, -1000, 183020, -1000, 127374, 127374, 61761, 26381 61761, -1000, -1000, -1000, -1000, 3528, 4433, -1000, 2682, -1000, 26382 163677, 163677, -1000, 163677, -1000, 34226, 163677, 3662, 1595, -1000, 26383 1215, 3374, 715, 68831, 1430, 127374, 1188, 3611, 3594, -1000, 26384 4456, 4320, 3609, -165, -1000, 163677, 61761, 163677, -168, -174, 26385 3128, -1000, -1000, 1428, 1587, 61761, 1427, -1000, -1000, -1000, 26386 100873, 714, 3004, 3004, -1000, -177, -180, -1000, -1000, -1000, 26387 61761, 1514, 163677, 43379, -1000, 4702, 4194, -1000, -1000, -1000, 26388 -1000, -1000, -1000, -1000, -1000, 142549, 142549, -1000, -1000, -1000, 26389 142549, 4194, 163677, -1000, 61761, -1000, 180607, 61761, 1511, -1000, 26390 -1000, -1000, 4595, 3004, 34226, 3004, -1000, 3004, 4261, 1451, 26391 106899, 61761, 1902, 82313, 82313, 1010, 61761, 61761, -1000, -1000, 26392 -1000, 3072, 61761, -1000, -1000, 73635, -1000, -1000, 163677, 176867, 26393 127374, 2130, 2130, 3815, -1000, -1000, -1000, 2554, 2554, -1000, 26394 11, 1257, 2743, 2202, 3021, 2537, -1000, 1814, -1000, 183020, 26395 183020, 2955, 7236, -1000, 4594, 107558, -1000, -1000, -1000, 2886, 26396 4697, -1000, -1000, -1000, -1000, 3371, -1000, -1000, -1000, 163677, 26397 3370, 3606, -182, 78304, 712, 78304, 709, 163677, 1254, -1000, 26398 -185, 108876, 1207, -1000, 1267, -1000, -1000, -1000, 87641, -1000, 26399 -1000, -1000, -1000, 653, 4432, -1000, 3486, 4430, -1000, 4591, 26400 100873, 708, 163677, 706, 163677, 3020, 705, 34226, 4171, 997, 26401 107558, -1000, 3961, 3445, -1000, 3154, 163677, 4163, -1000, 3445, 26402 704, 1253, 703, 1253, -1000, -187, -1000, -1000, -1000, -1000, 26403 -1000, 183020, -1000, -1000, -1000, 106899, -1000, -1000, 1256, 5, 26404 -1000, 4465, 701, 991, -1000, -1000, 15677, 15677, 15677, -1000, 26405 -1000, 2953, 4315, -1000, -1, -11, 22133, 21252, 7842, 68831, 26406 100873, -195, -1000, -1000, 163677, 183020, -13, -1000, 183020, 696, 26407 695, 663, -1000, -1000, -1000, 929, 885, 815, -1000, -1000, 26408 -1000, -1000, -1000, 5757, -1000, -1000, -1000, -1000, -1000, -1000, 26409 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 26410 4696, -1000, -1000, 4695, -1000, -1000, -1000, 176867, 176867, 176867, 26411 176867, 4694, -1000, 176867, 176867, 176867, 176867, -47, 176867, 176867, 26412 2293, 2279, 2256, -1000, -1000, -1000, -1000, -198, -203, 137928, 26413 163677, -1000, -1000, 2104, 2317, -1000, -1000, 163677, 3180, -1000, 26414 -1000, -1000, 1258, 61761, 3640, 68831, 692, 61761, -1000, 691, 26415 690, 4429, 4088, -1000, 3487, 3703, 2475, 78304, -1000, 4189, 26416 -1000, 20086, -1000, 1389, 2667, -1000, -1000, -1000, -1000, 183020, 26417 68831, 4261, 78304, -1000, -1000, 675, 673, 183020, 672, 1004, 26418 3714, -1000, -1000, -1000, -1000, -106, -1000, -106, -1000, -1000, 26419 183020, 191, 183020, 668, 4387, -1000, -1000, -1000, -1000, 3004, 26420 127374, -1000, 183020, -1000, -1000, -1000, -1000, 106899, 183020, 183020, 26421 1003, 183020, -1000, -1000, -1000, -1000, 1498, -1000, -1000, -1000, 26422 -1000, -1000, 4692, 3712, 133309, -1000, -206, 2743, 1249, 42672, 26423 73635, 3102, 2124, -1000, -1000, -1000, 4395, 61761, -1000, -19, 26424 -1000, -1000, 1207, -1000, -1000, 3084, 661, -1000, 1232, 3279, 26425 3279, 1389, -212, 78304, -214, 78304, -219, 3001, 3481, -1000, 26426 492, 4428, 1267, 1301, -1000, 4427, 191, 4114, -1000, 191, 26427 -1000, -1000, 4585, 487, 78304, -1000, 127374, 78304, 3014, 2802, 26428 3321, 107558, -1000, 3347, 2553, -1000, -1000, -234, 163677, 2553, 26429 -1000, -1000, 106899, -1000, -1000, -1000, -1000, 3288, -1000, 163677, 26430 -1000, 163677, 2735, 61761, 41965, 41965, -1000, -1000, 7842, -235, 26431 -1000, -20, -1000, 4422, 63882, 4690, 4687, 4686, -1000, -1000, 26432 -1000, -1000, -1000, -1000, -271, -271, -271, -271, -1000, -47, 26433 -47, -47, -47, -47, -47, 163677, 163677, 163677, -1000, -1000, 26434 -1000, 2677, -1000, 3178, -1000, -1000, 3929, -1000, 3626, 660, 26435 19504, 3640, 3295, 163677, 411, 3142, 3142, -1000, 4421, 3672, 26436 -1000, -1000, 2880, 656, -1000, -1000, -1000, -1000, 1149, 163677, 26437 1232, 3615, 127374, 3640, 1393, -236, 2883, 2883, 61761, 41258, 26438 2907, 142549, -1000, 61761, -1000, -1000, 4261, -1000, 82313, 176867, 26439 -1000, 176867, 3010, -1000, 3674, -1000, 2410, 200, 1252, 73635, 26440 100873, -1000, -1000, 183020, -1000, 4576, 3001, 163677, -1000, -1000, 26441 -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 26442 2475, 1389, -242, 2880, -245, -1000, -1000, 4236, -1000, 4113, 26443 3493, 191, -1000, 191, -1000, 4685, 1255, 485, -1000, -247, 26444 1390, -250, 127374, 2741, -1000, 997, -1000, 3352, -1000, 1301, 26445 4043, -1000, -252, -1000, -253, -264, 484, 63175, 63175, 63175, 26446 -21, -29, -29, -1000, 163677, 655, -1000, -1000, -1000, -1000, 26447 -1000, -1000, -1000, -1000, 199, 198, 183, -1000, -1000, 3873, 26448 1156, -1000, 1144, 2463, 479, 1406, 245, 167, -1000, -1000, 26449 -1000, 3609, -1000, 163677, -1000, -1000, -1000, 1156, 653, -1000, 26450 61761, 1389, -269, -1000, 1376, -274, -1000, 1375, -275, -1000, 26451 3710, -1000, -1000, -290, 3004, -1000, -271, 308, 2130, 1249, 26452 4373, 2957, 87641, -1000, 2652, 3002, 7236, -1000, 180018, -1000, 26453 3306, -295, -1000, -1000, 2880, 2475, 1389, 1232, 2880, 3116, 26454 -1000, 2886, 1254, -1000, -1000, -1000, -1000, 1389, 643, 2475, 26455 641, 1966, 997, -1000, -1000, 1710, 4171, 3978, 1719, 1253, 26456 -1000, -1000, -1000, 3926, -1000, 70245, 3065, 2474, 179720, 3926, 26457 3926, -1000, -1000, 176867, 176867, 176867, 163677, 1232, 4343, -1000, 26458 1148, 1146, 1901, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 26459 -1000, 1301, -296, -1000, 3295, 183020, 1232, -1000, 2883, 3524, 26460 -1000, 2883, 3688, -1000, 2905, -1000, -1000, -1000, -1000, 3682, 26461 -1000, 4486, 88961, 1301, -36, 638, 73635, 2955, -320, -1000, 26462 -1000, -1000, -1000, -1000, 1232, 163677, 1232, 2880, 2475, 1301, 26463 1232, 2444, 2441, 4683, 1207, 3001, 2475, 78304, 2880, 78304, 26464 2836, -1000, 142549, -1000, 2802, 1688, -1000, 2153, -1000, -1000, 26465 2339, 4452, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -47, 26466 -47, -47, -1000, -1000, 1001, -1000, 4076, -1000, 1424, 2595, 26467 2595, -1000, -1000, 1144, -1000, -1000, 619, -1000, 618, -1000, 26468 176867, -1000, -1000, -49, 143208, 2743, 2526, 1252, -1000, -1000, 26469 -1000, -1000, 1301, 1232, 2880, 1584, 1301, -1000, 4682, -1000, 26470 3001, -1000, 2880, -297, 1232, -298, 2909, -1000, -106, 2741, 26471 -1000, 2150, 90294, 2460, -1000, -1000, 2944, 62468, 61761, -1000, 26472 4483, -1000, -1000, 3381, -1000, 3609, 61761, 61761, 308, -305, 26473 1249, -306, -1000, 1584, 1301, 1232, -1000, 1315, -1000, -1000, 26474 4501, 1584, -1000, 3306, 1232, 1389, 1301, 2475, 1981, 997, 26475 1966, 90294, -277, -1000, -1000, -1000, 183020, -1000, -1000, -1000, 26476 -1000, -307, -313, -1000, -1000, -1000, -1000, -1000, 1584, 1301, 26477 -1000, -1000, -1000, -1000, 1301, 2475, 1584, 2880, 2240, -1000, 26478 2663, 176867, 2836, -277, -1000, 2880, 1484, -1000, 1584, 1584, 26479 2880, -1000, 1232, -1000, -1000, 2659, 142549, -1000, 2909, -1000, 26480 -1000, -1000, 617, -1000, -1000, 1232, 1301, 1372, 1981, 61761, 26481 1301, 1584, 142549, 2240, -314, 1584, -1000, -106, -1000, 2880, 26482 -1000, -1000, 26483 } 26484 26485 var sqlPgo = [...]int16{ 26486 0, 5645, 5643, 69, 5642, 5639, 5638, 5635, 5633, 5632, 26487 5631, 5630, 5628, 5627, 5626, 5625, 211, 5624, 5623, 5622, 26488 5621, 5619, 5618, 5616, 5615, 5614, 5613, 5612, 5611, 5610, 26489 5609, 5608, 5607, 5606, 5605, 145, 230, 5604, 5603, 5602, 26490 5601, 5600, 5599, 5598, 5597, 5596, 5593, 5590, 5589, 5587, 26491 5581, 5580, 5578, 5577, 5573, 5572, 5571, 5569, 5567, 5566, 26492 5563, 5561, 5560, 5559, 5558, 5556, 5555, 5554, 5553, 5551, 26493 5550, 5548, 5547, 5544, 5543, 5537, 5535, 5534, 5531, 5530, 26494 5523, 5522, 5521, 5520, 5519, 61, 5511, 5509, 5508, 5500, 26495 5498, 5496, 5490, 5485, 5482, 5481, 84, 53, 5480, 5479, 26496 5478, 5477, 5476, 5475, 5473, 5472, 5470, 5468, 5467, 5466, 26497 5465, 5464, 5463, 5462, 5459, 5458, 5457, 5456, 5453, 5452, 26498 183, 5451, 5450, 116, 94, 5448, 366, 5445, 5444, 5442, 26499 5441, 5440, 5438, 5435, 5434, 5433, 5432, 5431, 5430, 5429, 26500 5428, 5426, 247, 5425, 361, 5424, 48, 227, 5423, 5422, 26501 5421, 51, 5420, 5419, 364, 5418, 5414, 5413, 5412, 5411, 26502 369, 5410, 5408, 5406, 5405, 5404, 315, 5403, 5402, 5398, 26503 5397, 5395, 5394, 176, 175, 5393, 5392, 1844, 5390, 5389, 26504 5388, 5387, 5382, 5381, 5380, 297, 317, 5378, 5377, 5376, 26505 335, 233, 5375, 359, 5374, 5373, 5372, 5371, 5367, 300, 26506 5366, 5365, 5364, 5362, 5361, 5360, 5358, 5357, 5353, 5352, 26507 5351, 5350, 5348, 5346, 5343, 5342, 5340, 5338, 5337, 5336, 26508 5334, 5332, 5330, 5329, 5327, 5320, 5319, 5317, 5316, 5315, 26509 5312, 5309, 5308, 5307, 5281, 5279, 5277, 5276, 5275, 5274, 26510 5272, 5270, 5269, 5267, 354, 293, 159, 5266, 5265, 5264, 26511 5262, 5261, 5260, 362, 358, 5259, 5258, 5257, 5256, 5255, 26512 4372, 5254, 5253, 5252, 5250, 5249, 5245, 5244, 5240, 5238, 26513 168, 28, 128, 5237, 14, 194, 121, 124, 171, 135, 26514 133, 21, 149, 20, 5233, 245, 303, 164, 200, 198, 26515 152, 5231, 148, 201, 161, 5222, 96, 5219, 180, 150, 26516 5214, 151, 142, 31, 106, 246, 332, 7992, 327, 5212, 26517 5211, 5204, 344, 268, 5200, 334, 5199, 5198, 5194, 5184, 26518 5181, 5179, 98, 78, 285, 5171, 187, 5162, 5161, 185, 26519 234, 249, 242, 232, 241, 337, 83, 134, 114, 86, 26520 70, 15, 33, 299, 25, 294, 3, 5160, 4, 9, 26521 350, 11, 345, 10, 190, 12, 39, 5159, 5158, 5157, 26522 5153, 5109, 177, 5152, 355, 328, 226, 5151, 5150, 5148, 26523 5147, 5146, 706, 5145, 79, 329, 439, 129, 143, 257, 26524 170, 5144, 220, 287, 50, 5142, 228, 105, 5138, 5137, 26525 155, 127, 15133, 9116, 5136, 5135, 219, 109, 163, 6274, 26526 256, 248, 306, 617, 195, 239, 229, 5131, 156, 5128, 26527 254, 210, 238, 378, 5127, 336, 5125, 4406, 139, 252, 26528 222, 7703, 5124, 5120, 5119, 117, 5118, 140, 5115, 5113, 26529 91, 19, 1, 2, 193, 46, 43, 29, 5112, 27, 26530 196, 74, 32, 5111, 34, 5110, 5108, 5107, 5106, 73, 26531 5105, 131, 225, 5104, 5103, 365, 5102, 5101, 138, 104, 26532 82, 5098, 108, 5097, 7, 240, 269, 310, 5096, 5091, 26533 318, 188, 5090, 5088, 260, 270, 272, 250, 307, 5087, 26534 59, 321, 5086, 5085, 5084, 5083, 5082, 370, 107, 8, 26535 172, 5080, 5079, 208, 5078, 81, 341, 274, 5077, 87, 26536 5072, 5071, 182, 5070, 278, 80, 207, 363, 197, 319, 26537 169, 323, 253, 330, 5069, 5068, 5067, 259, 5065, 5064, 26538 316, 221, 5063, 291, 5062, 5061, 281, 374, 126, 72, 26539 110, 331, 113, 271, 224, 5059, 276, 206, 5053, 209, 26540 5052, 122, 5051, 368, 251, 305, 55, 13, 42, 125, 26541 144, 112, 5, 326, 223, 290, 165, 5050, 10206, 2708, 26542 325, 99, 5045, 214, 174, 111, 202, 218, 356, 101, 26543 5044, 5043, 663, 5041, 5038, 5036, 5035, 262, 5033, 5032, 26544 301, 212, 217, 5031, 205, 265, 5030, 136, 137, 97, 26545 76, 26, 184, 56, 357, 162, 320, 261, 280, 5028, 26546 5027, 5026, 258, 5025, 102, 178, 284, 186, 5024, 275, 26547 339, 95, 5023, 5022, 115, 2360, 120, 213, 2512, 90, 26548 215, 5020, 312, 5015, 5014, 5012, 5009, 5008, 5004, 5001, 26549 4998, 324, 4997, 4996, 4995, 44, 277, 4992, 273, 216, 26550 283, 132, 77, 266, 173, 3211, 153, 166, 279, 85, 26551 17, 6, 314, 4990, 7126, 88, 4989, 0, 15519, 11494, 26552 16651, 4987, 4984, 17723, 4983, 3155, 4981, 4979, 4977, 296, 26553 103, 4976, 4972, 4968, 141, 4967, 118, 4943, 4942, 100, 26554 4941, 30, 23, 24, 35, 36, 367, 973, 4939, 4936, 26555 45, 181, 64, 4935, 360, 322, 4934, 4933, 4932, 4931, 26556 147, 4929, 68, 4927, 63, 4926, 4923, 71, 18, 38, 26557 4922, 4920, 264, 235, 4261, 237, 204, 4919, 158, 47, 26558 4918, 351, 89, 199, 4917, 4913, 372, 286, 295, 130, 26559 4908, 338, 4907, 289, 4906, 22, 37, 4905, 4904, 352, 26560 167, 160, 93, 343, 189, 67, 4903, 4902, 4901, 4900, 26561 255, 4898, 231, 4897, 4896, 4895, 146, 203, 4894, 75, 26562 60, 4892, 4891, 119, 304, 244, 349, 66, 4890, 4889, 26563 41, 309, 311, 4888, 342, 267, 4887, 191, 308, 4886, 26564 4885, 243, 157, 4879, 4878, 4877, 399, 4876, 4875, 347, 26565 4874, 4873, 4363, 353, 4872, 40, 4871, 4870, 4868, 16, 26566 4867, 4866, 282, 4093, 4865, 4860, 58, 4856, 263, 26567 } 26568 26569 var sqlR1 = [...]int16{ 26570 0, 1, 2, 2, 2, 2, 3, 3, 3, 3, 26571 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 26572 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 26573 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 26574 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 26575 4, 4, 4, 4, 7, 7, 7, 7, 7, 7, 26576 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 26577 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 26578 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 26579 8, 8, 8, 8, 8, 14, 14, 10, 10, 10, 26580 10, 11, 11, 11, 11, 11, 71, 71, 12, 12, 26581 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 26582 12, 12, 12, 12, 20, 20, 20, 20, 20, 20, 26583 21, 21, 21, 21, 21, 50, 52, 51, 45, 45, 26584 46, 46, 47, 48, 48, 53, 55, 54, 56, 57, 26585 57, 58, 58, 58, 13, 13, 13, 9, 9, 9, 26586 9, 9, 9, 9, 9, 9, 24, 24, 59, 59, 26587 25, 25, 61, 61, 26, 26, 62, 62, 726, 726, 26588 726, 727, 727, 728, 728, 728, 29, 64, 66, 66, 26589 465, 465, 465, 465, 22, 23, 23, 23, 23, 729, 26590 729, 729, 729, 49, 30, 65, 42, 42, 42, 42, 26591 42, 273, 273, 273, 273, 28, 28, 60, 60, 332, 26592 332, 331, 331, 331, 331, 331, 331, 331, 331, 331, 26593 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 26594 331, 331, 331, 331, 331, 331, 331, 331, 331, 331, 26595 331, 725, 725, 334, 334, 333, 319, 319, 320, 320, 26596 321, 321, 730, 730, 335, 335, 335, 336, 336, 17, 26597 17, 17, 17, 17, 17, 17, 17, 17, 17, 619, 26598 619, 619, 650, 650, 650, 650, 652, 652, 780, 780, 26599 781, 781, 781, 781, 781, 176, 176, 501, 501, 501, 26600 83, 83, 83, 83, 83, 715, 715, 275, 275, 275, 26601 277, 277, 276, 276, 276, 276, 276, 276, 276, 276, 26602 276, 276, 276, 276, 276, 782, 782, 110, 110, 111, 26603 111, 327, 327, 326, 326, 326, 326, 326, 326, 326, 26604 736, 736, 735, 774, 774, 734, 734, 737, 737, 737, 26605 274, 274, 274, 107, 107, 131, 131, 172, 172, 172, 26606 172, 172, 172, 172, 173, 173, 174, 174, 278, 278, 26607 278, 280, 280, 279, 279, 279, 279, 279, 279, 279, 26608 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 26609 279, 279, 279, 279, 279, 279, 784, 784, 783, 783, 26610 298, 19, 19, 155, 155, 155, 155, 155, 155, 155, 26611 150, 150, 654, 654, 655, 655, 269, 269, 270, 270, 26612 270, 270, 271, 271, 272, 272, 272, 85, 99, 99, 26613 99, 99, 99, 99, 293, 293, 293, 295, 295, 297, 26614 297, 294, 294, 294, 294, 294, 294, 294, 294, 294, 26615 294, 294, 294, 294, 294, 296, 296, 296, 296, 296, 26616 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 26617 296, 296, 296, 86, 86, 86, 86, 86, 86, 86, 26618 86, 86, 87, 87, 87, 87, 87, 88, 88, 88, 26619 88, 88, 88, 89, 89, 89, 89, 89, 89, 90, 26620 90, 97, 97, 97, 97, 97, 97, 97, 97, 246, 26621 246, 100, 100, 100, 100, 100, 100, 100, 100, 100, 26622 100, 100, 100, 100, 100, 100, 100, 115, 115, 115, 26623 115, 115, 786, 786, 120, 120, 281, 281, 281, 283, 26624 283, 282, 282, 101, 101, 101, 101, 101, 106, 106, 26625 106, 106, 106, 118, 118, 119, 119, 746, 746, 747, 26626 747, 748, 748, 766, 752, 752, 753, 753, 756, 756, 26627 756, 757, 757, 757, 757, 757, 765, 765, 765, 765, 26628 765, 759, 758, 760, 760, 761, 761, 763, 763, 763, 26629 763, 763, 764, 764, 764, 764, 764, 764, 764, 764, 26630 764, 764, 764, 764, 764, 764, 764, 764, 764, 751, 26631 767, 768, 768, 769, 769, 770, 770, 770, 773, 773, 26632 139, 139, 139, 140, 140, 140, 772, 772, 771, 771, 26633 754, 754, 755, 755, 75, 762, 762, 787, 787, 76, 26634 77, 78, 79, 80, 81, 82, 749, 749, 785, 785, 26635 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, 26636 785, 785, 785, 785, 785, 788, 788, 789, 789, 790, 26637 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 26638 790, 790, 790, 790, 790, 790, 790, 104, 104, 104, 26639 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 26640 104, 104, 104, 104, 104, 104, 104, 104, 121, 121, 26641 453, 453, 416, 416, 122, 122, 122, 123, 123, 124, 26642 124, 124, 124, 102, 102, 102, 103, 103, 103, 712, 26643 712, 713, 719, 791, 791, 608, 608, 606, 606, 607, 26644 126, 126, 469, 469, 469, 503, 503, 502, 500, 500, 26645 127, 127, 127, 127, 127, 127, 128, 128, 128, 128, 26646 128, 128, 128, 128, 128, 128, 128, 129, 129, 129, 26647 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 26648 129, 129, 129, 129, 129, 137, 137, 137, 137, 137, 26649 138, 138, 138, 135, 135, 135, 132, 132, 132, 130, 26650 130, 130, 136, 136, 136, 141, 141, 141, 142, 142, 26651 718, 402, 402, 134, 134, 134, 133, 133, 133, 475, 26652 475, 476, 478, 477, 143, 143, 143, 143, 417, 144, 26653 144, 144, 144, 144, 144, 144, 144, 147, 147, 147, 26654 147, 146, 146, 146, 146, 146, 146, 146, 146, 146, 26655 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 26656 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 26657 146, 146, 148, 148, 148, 148, 148, 148, 148, 148, 26658 148, 148, 148, 148, 149, 149, 149, 149, 149, 149, 26659 149, 149, 149, 610, 610, 5, 5, 325, 325, 324, 26660 324, 324, 324, 6, 6, 6, 330, 330, 329, 328, 26661 231, 231, 524, 524, 524, 524, 524, 524, 232, 232, 26662 233, 233, 233, 233, 145, 145, 145, 570, 570, 151, 26663 151, 151, 518, 518, 152, 152, 152, 152, 152, 153, 26664 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 26665 153, 175, 175, 175, 175, 175, 175, 175, 175, 175, 26666 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 26667 722, 722, 467, 467, 364, 364, 364, 364, 164, 164, 26668 164, 164, 165, 165, 165, 165, 166, 166, 255, 255, 26669 182, 182, 182, 182, 181, 181, 181, 181, 181, 181, 26670 181, 181, 91, 91, 91, 92, 92, 93, 93, 94, 26671 94, 95, 95, 96, 96, 96, 96, 96, 185, 185, 26672 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 26673 34, 523, 523, 40, 41, 41, 41, 41, 41, 39, 26674 39, 39, 39, 39, 37, 37, 37, 37, 37, 186, 26675 186, 777, 777, 38, 38, 38, 38, 38, 38, 35, 26676 35, 36, 36, 188, 184, 184, 184, 184, 184, 184, 26677 184, 183, 183, 187, 187, 187, 187, 189, 191, 191, 26678 191, 191, 191, 190, 190, 190, 190, 190, 192, 192, 26679 644, 644, 486, 486, 642, 642, 666, 666, 666, 643, 26680 643, 423, 423, 423, 423, 423, 424, 424, 424, 653, 26681 653, 653, 653, 653, 653, 193, 193, 193, 193, 193, 26682 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 26683 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 26684 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 26685 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 26686 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 26687 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 26688 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 26689 193, 193, 193, 193, 193, 193, 193, 193, 193, 256, 26690 256, 256, 257, 257, 262, 262, 263, 263, 263, 264, 26691 264, 264, 261, 261, 261, 258, 258, 259, 259, 260, 26692 260, 260, 260, 260, 260, 260, 260, 260, 260, 267, 26693 267, 265, 265, 266, 266, 793, 793, 792, 792, 268, 26694 268, 268, 268, 268, 224, 224, 224, 245, 245, 245, 26695 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 26696 245, 487, 487, 227, 227, 227, 211, 211, 194, 194, 26697 194, 194, 194, 194, 194, 194, 194, 194, 284, 284, 26698 284, 284, 284, 287, 287, 287, 289, 289, 288, 288, 26699 288, 288, 288, 288, 288, 288, 288, 288, 288, 291, 26700 291, 291, 292, 292, 290, 290, 290, 202, 202, 202, 26701 202, 202, 202, 202, 202, 203, 203, 203, 195, 195, 26702 213, 213, 213, 213, 213, 204, 204, 205, 205, 205, 26703 205, 206, 206, 206, 206, 238, 238, 210, 210, 210, 26704 212, 212, 212, 212, 212, 212, 212, 212, 212, 196, 26705 197, 197, 197, 197, 215, 215, 215, 215, 527, 527, 26706 527, 244, 244, 214, 214, 214, 214, 214, 214, 214, 26707 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 26708 214, 214, 286, 286, 285, 241, 241, 241, 241, 241, 26709 241, 738, 738, 739, 739, 739, 739, 234, 234, 234, 26710 234, 234, 234, 586, 586, 225, 225, 225, 225, 230, 26711 230, 230, 230, 208, 208, 208, 208, 209, 209, 209, 26712 209, 236, 236, 236, 236, 508, 508, 222, 222, 222, 26713 223, 223, 223, 228, 228, 243, 229, 454, 454, 226, 26714 226, 235, 235, 235, 235, 237, 237, 237, 198, 198, 26715 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 26716 198, 199, 199, 200, 200, 200, 200, 201, 201, 201, 26717 201, 239, 239, 221, 221, 240, 240, 240, 240, 240, 26718 240, 240, 240, 240, 240, 240, 794, 794, 217, 217, 26719 217, 216, 216, 216, 216, 216, 216, 216, 216, 775, 26720 775, 776, 776, 776, 776, 776, 776, 776, 776, 776, 26721 776, 219, 219, 220, 220, 220, 220, 220, 220, 220, 26722 218, 207, 207, 242, 720, 720, 716, 716, 716, 716, 26723 716, 716, 716, 716, 716, 716, 716, 714, 714, 714, 26724 714, 714, 714, 714, 714, 714, 717, 717, 717, 717, 26725 717, 721, 721, 156, 156, 156, 156, 156, 156, 156, 26726 167, 167, 167, 167, 167, 167, 167, 170, 170, 157, 26727 157, 157, 157, 157, 157, 157, 160, 160, 158, 158, 26728 158, 158, 159, 159, 112, 112, 112, 112, 112, 18, 26729 18, 18, 113, 113, 355, 355, 303, 303, 303, 441, 26730 441, 304, 304, 431, 431, 431, 431, 299, 299, 300, 26731 300, 301, 302, 302, 114, 114, 795, 795, 795, 731, 26732 731, 731, 732, 732, 732, 732, 732, 732, 425, 425, 26733 426, 426, 550, 550, 550, 550, 550, 429, 429, 429, 26734 430, 430, 430, 430, 430, 430, 430, 430, 430, 439, 26735 440, 440, 432, 432, 438, 437, 437, 436, 436, 435, 26736 435, 433, 434, 434, 434, 443, 443, 442, 445, 445, 26737 444, 549, 675, 675, 677, 677, 677, 677, 677, 677, 26738 677, 679, 679, 679, 679, 679, 679, 679, 679, 679, 26739 679, 679, 679, 679, 679, 679, 679, 679, 528, 528, 26740 796, 796, 797, 798, 673, 673, 673, 673, 673, 674, 26741 669, 669, 670, 670, 670, 670, 670, 427, 427, 428, 26742 428, 428, 428, 671, 672, 463, 463, 591, 676, 676, 26743 678, 678, 680, 799, 799, 799, 799, 799, 799, 800, 26744 800, 800, 548, 548, 547, 547, 546, 546, 451, 451, 26745 681, 681, 681, 681, 682, 682, 682, 682, 682, 685, 26746 684, 683, 683, 683, 683, 683, 117, 117, 117, 505, 26747 505, 504, 504, 506, 506, 506, 506, 506, 506, 506, 26748 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, 26749 506, 251, 251, 367, 367, 367, 109, 109, 109, 15, 26750 15, 15, 15, 15, 15, 15, 383, 383, 16, 16, 26751 16, 16, 733, 733, 733, 116, 116, 116, 116, 116, 26752 116, 449, 449, 449, 366, 366, 366, 366, 366, 366, 26753 366, 366, 366, 366, 366, 366, 366, 366, 366, 366, 26754 366, 366, 366, 366, 366, 366, 366, 366, 366, 366, 26755 366, 366, 724, 724, 723, 723, 368, 368, 802, 802, 26756 125, 125, 125, 125, 125, 125, 125, 125, 125, 611, 26757 611, 612, 612, 614, 614, 613, 613, 108, 108, 108, 26758 108, 108, 529, 529, 526, 526, 525, 525, 462, 462, 26759 589, 589, 589, 590, 373, 373, 374, 374, 322, 322, 26760 322, 464, 464, 464, 464, 464, 44, 43, 27, 27, 26761 31, 31, 32, 32, 354, 354, 354, 354, 354, 354, 26762 354, 354, 354, 33, 33, 68, 68, 68, 68, 69, 26763 69, 69, 69, 72, 72, 73, 73, 67, 67, 67, 26764 67, 70, 70, 63, 63, 74, 74, 74, 74, 74, 26765 740, 742, 742, 741, 741, 745, 745, 745, 745, 745, 26766 745, 743, 743, 404, 404, 744, 744, 778, 778, 779, 26767 779, 163, 163, 168, 168, 168, 168, 168, 169, 169, 26768 169, 169, 171, 171, 171, 171, 180, 180, 247, 247, 26769 247, 247, 247, 247, 247, 84, 84, 98, 98, 178, 26770 804, 804, 804, 179, 179, 179, 248, 248, 248, 248, 26771 249, 249, 250, 250, 803, 803, 365, 365, 543, 543, 26772 544, 544, 805, 805, 545, 545, 545, 545, 545, 358, 26773 357, 359, 359, 360, 360, 105, 105, 105, 344, 344, 26774 343, 346, 346, 345, 348, 348, 347, 349, 349, 350, 26775 350, 341, 341, 656, 656, 352, 352, 352, 353, 353, 26776 337, 337, 338, 338, 339, 339, 340, 340, 356, 356, 26777 651, 651, 806, 806, 154, 154, 154, 254, 254, 415, 26778 415, 415, 536, 536, 536, 452, 452, 380, 380, 542, 26779 542, 542, 542, 542, 499, 499, 499, 253, 253, 473, 26780 473, 489, 489, 490, 490, 603, 603, 491, 161, 161, 26781 162, 162, 177, 177, 307, 307, 305, 305, 305, 305, 26782 305, 305, 305, 305, 312, 312, 313, 313, 314, 314, 26783 315, 316, 316, 316, 316, 479, 479, 317, 317, 317, 26784 306, 306, 306, 308, 308, 308, 308, 308, 308, 308, 26785 311, 311, 311, 311, 318, 318, 318, 310, 310, 692, 26786 692, 692, 694, 694, 696, 696, 696, 695, 691, 691, 26787 693, 693, 801, 801, 507, 507, 507, 448, 450, 446, 26788 446, 447, 447, 458, 458, 459, 459, 455, 456, 457, 26789 457, 457, 457, 460, 460, 460, 460, 461, 461, 461, 26790 588, 588, 587, 323, 323, 323, 496, 496, 496, 496, 26791 497, 497, 532, 532, 530, 530, 530, 530, 531, 531, 26792 533, 533, 533, 534, 534, 535, 535, 493, 493, 494, 26793 494, 495, 495, 495, 495, 566, 566, 309, 309, 309, 26794 470, 470, 470, 471, 471, 556, 556, 556, 556, 556, 26795 556, 556, 556, 556, 556, 556, 556, 557, 557, 555, 26796 555, 555, 555, 592, 592, 592, 592, 592, 592, 592, 26797 592, 592, 593, 594, 594, 472, 472, 595, 539, 539, 26798 540, 540, 537, 537, 538, 538, 541, 541, 710, 710, 26799 710, 711, 711, 585, 585, 596, 596, 596, 596, 596, 26800 596, 581, 581, 582, 582, 583, 583, 584, 584, 604, 26801 605, 605, 511, 511, 511, 511, 509, 509, 512, 512, 26802 512, 512, 512, 510, 510, 597, 597, 597, 597, 498, 26803 498, 252, 252, 598, 598, 598, 598, 599, 600, 600, 26804 601, 601, 551, 552, 552, 615, 615, 615, 615, 617, 26805 468, 468, 468, 468, 468, 668, 667, 667, 616, 616, 26806 616, 616, 616, 616, 616, 631, 631, 631, 631, 631, 26807 631, 631, 631, 631, 631, 631, 631, 631, 631, 631, 26808 631, 631, 631, 631, 631, 631, 631, 631, 631, 631, 26809 631, 631, 631, 631, 631, 631, 631, 632, 632, 632, 26810 632, 632, 632, 632, 618, 618, 618, 618, 618, 618, 26811 618, 622, 622, 622, 621, 621, 621, 621, 621, 621, 26812 621, 621, 621, 621, 621, 623, 623, 628, 628, 629, 26813 629, 629, 624, 625, 630, 630, 630, 630, 807, 807, 26814 634, 634, 626, 626, 626, 626, 626, 626, 626, 626, 26815 626, 620, 620, 620, 627, 627, 627, 520, 520, 520, 26816 520, 520, 520, 520, 520, 520, 520, 520, 520, 520, 26817 519, 519, 521, 521, 558, 558, 558, 558, 558, 558, 26818 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, 26819 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, 26820 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, 26821 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, 26822 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, 26823 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, 26824 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, 26825 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, 26826 558, 558, 558, 558, 558, 559, 559, 559, 559, 559, 26827 559, 559, 559, 559, 559, 559, 559, 559, 559, 559, 26828 559, 559, 559, 559, 559, 559, 559, 559, 559, 559, 26829 559, 559, 559, 559, 559, 559, 560, 560, 560, 560, 26830 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 26831 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 26832 561, 561, 561, 561, 561, 686, 686, 686, 686, 686, 26833 686, 686, 686, 372, 372, 562, 562, 689, 689, 690, 26834 690, 687, 687, 687, 687, 687, 687, 687, 687, 687, 26835 687, 687, 687, 687, 687, 687, 687, 687, 687, 687, 26836 687, 687, 687, 687, 688, 688, 688, 688, 688, 688, 26837 688, 688, 688, 688, 688, 688, 688, 688, 688, 688, 26838 688, 688, 688, 688, 688, 688, 688, 688, 688, 688, 26839 688, 688, 688, 688, 688, 688, 688, 688, 688, 688, 26840 688, 688, 697, 697, 698, 698, 700, 700, 701, 701, 26841 702, 703, 703, 703, 704, 705, 705, 699, 699, 706, 26842 706, 706, 706, 707, 707, 708, 708, 708, 708, 708, 26843 709, 709, 709, 709, 709, 572, 572, 573, 573, 579, 26844 579, 579, 420, 420, 420, 420, 420, 420, 420, 420, 26845 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 26846 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 26847 420, 420, 420, 420, 420, 420, 420, 420, 422, 422, 26848 421, 369, 369, 369, 369, 369, 369, 484, 484, 482, 26849 482, 482, 485, 485, 483, 483, 481, 481, 480, 480, 26850 569, 569, 567, 567, 571, 571, 513, 513, 633, 633, 26851 633, 633, 633, 633, 633, 633, 514, 514, 514, 522, 26852 515, 515, 516, 516, 516, 516, 516, 563, 564, 517, 26853 517, 517, 565, 565, 574, 578, 578, 577, 576, 576, 26854 575, 575, 553, 553, 554, 554, 492, 492, 808, 808, 26855 488, 488, 602, 602, 602, 602, 662, 662, 419, 419, 26856 474, 474, 418, 418, 410, 410, 411, 411, 411, 411, 26857 466, 466, 580, 580, 635, 635, 636, 636, 637, 637, 26858 638, 638, 639, 640, 641, 568, 568, 391, 390, 377, 26859 378, 389, 388, 387, 376, 379, 384, 385, 386, 381, 26860 382, 398, 397, 396, 342, 342, 351, 351, 403, 405, 26861 405, 408, 408, 409, 407, 406, 406, 393, 394, 395, 26862 609, 375, 412, 412, 413, 413, 413, 414, 414, 414, 26863 414, 370, 370, 370, 371, 371, 399, 399, 400, 401, 26864 401, 392, 392, 392, 361, 361, 361, 362, 362, 363, 26865 363, 649, 649, 646, 646, 646, 647, 647, 647, 750, 26866 648, 648, 648, 648, 645, 645, 645, 645, 645, 657, 26867 657, 657, 657, 657, 657, 657, 657, 657, 657, 657, 26868 657, 657, 657, 657, 657, 657, 657, 657, 657, 657, 26869 657, 657, 657, 657, 657, 657, 657, 657, 657, 657, 26870 657, 657, 657, 657, 657, 657, 657, 657, 657, 657, 26871 657, 657, 657, 657, 657, 657, 657, 657, 657, 657, 26872 657, 657, 657, 657, 657, 657, 657, 657, 657, 657, 26873 657, 657, 657, 657, 657, 657, 657, 657, 657, 657, 26874 657, 657, 657, 657, 657, 657, 657, 657, 657, 657, 26875 657, 657, 657, 657, 657, 657, 657, 657, 657, 657, 26876 657, 657, 657, 657, 657, 657, 657, 657, 657, 657, 26877 657, 657, 657, 657, 657, 657, 657, 657, 657, 657, 26878 657, 657, 657, 657, 657, 657, 657, 657, 657, 657, 26879 657, 657, 657, 657, 657, 657, 657, 657, 657, 657, 26880 657, 657, 657, 657, 657, 657, 657, 657, 657, 657, 26881 657, 657, 657, 657, 657, 657, 657, 657, 657, 657, 26882 657, 657, 657, 657, 657, 657, 657, 657, 657, 657, 26883 657, 657, 657, 657, 657, 657, 657, 657, 657, 657, 26884 657, 657, 657, 657, 657, 657, 657, 657, 657, 657, 26885 657, 657, 657, 657, 657, 657, 657, 657, 657, 657, 26886 657, 657, 657, 657, 657, 657, 657, 657, 657, 657, 26887 657, 657, 657, 657, 657, 657, 657, 657, 657, 657, 26888 657, 657, 657, 657, 657, 657, 657, 657, 657, 657, 26889 657, 657, 657, 657, 657, 657, 657, 657, 657, 657, 26890 657, 657, 657, 657, 657, 657, 657, 657, 657, 657, 26891 657, 657, 657, 657, 657, 657, 657, 657, 657, 657, 26892 657, 657, 657, 657, 657, 657, 657, 657, 657, 657, 26893 657, 657, 657, 657, 657, 657, 657, 657, 657, 657, 26894 657, 657, 657, 657, 657, 657, 657, 657, 657, 657, 26895 657, 657, 657, 657, 657, 657, 657, 657, 657, 657, 26896 657, 657, 657, 657, 657, 657, 657, 657, 657, 657, 26897 657, 657, 657, 657, 657, 657, 657, 657, 657, 657, 26898 657, 657, 657, 657, 657, 657, 657, 657, 657, 657, 26899 657, 657, 657, 657, 657, 657, 657, 657, 657, 657, 26900 657, 657, 657, 657, 657, 657, 657, 657, 657, 657, 26901 657, 657, 657, 657, 657, 657, 657, 657, 657, 657, 26902 657, 657, 657, 657, 657, 657, 657, 657, 657, 657, 26903 657, 657, 657, 657, 657, 657, 657, 657, 657, 657, 26904 657, 657, 657, 657, 657, 657, 657, 657, 657, 657, 26905 657, 657, 657, 657, 657, 657, 657, 657, 657, 657, 26906 657, 657, 657, 657, 657, 657, 657, 657, 657, 657, 26907 657, 657, 657, 657, 657, 657, 657, 657, 657, 657, 26908 657, 657, 657, 657, 657, 657, 657, 657, 657, 657, 26909 657, 657, 657, 657, 657, 657, 657, 657, 657, 657, 26910 657, 657, 657, 657, 657, 657, 657, 657, 657, 657, 26911 657, 657, 657, 657, 657, 657, 657, 657, 657, 657, 26912 657, 657, 657, 657, 657, 657, 657, 657, 657, 661, 26913 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 26914 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 26915 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 26916 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 26917 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 26918 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 26919 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 26920 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 26921 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 26922 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 26923 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 26924 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 26925 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 26926 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 26927 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 26928 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 26929 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 26930 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 26931 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 26932 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 26933 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 26934 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 26935 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 26936 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 26937 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 26938 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 26939 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 26940 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 26941 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 26942 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 26943 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 26944 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 26945 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 26946 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 26947 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 26948 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 26949 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 26950 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 26951 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 26952 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 26953 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 26954 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 26955 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 26956 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 26957 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 26958 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 26959 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 26960 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 26961 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 26962 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 26963 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 26964 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 26965 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 26966 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 26967 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 26968 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 26969 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 26970 661, 661, 661, 661, 661, 663, 663, 663, 663, 663, 26971 663, 663, 663, 663, 663, 663, 663, 663, 663, 663, 26972 663, 663, 663, 663, 663, 663, 663, 663, 663, 663, 26973 663, 663, 663, 663, 663, 663, 663, 663, 663, 663, 26974 663, 663, 663, 663, 663, 663, 663, 663, 663, 663, 26975 663, 663, 663, 663, 663, 663, 663, 663, 663, 658, 26976 658, 659, 659, 659, 659, 659, 659, 659, 659, 659, 26977 659, 659, 659, 659, 659, 659, 659, 659, 659, 660, 26978 664, 664, 664, 664, 664, 664, 664, 664, 664, 664, 26979 664, 664, 664, 664, 664, 664, 664, 664, 664, 664, 26980 664, 664, 664, 664, 664, 664, 664, 664, 664, 664, 26981 664, 664, 664, 664, 664, 664, 664, 664, 664, 664, 26982 664, 664, 664, 664, 664, 664, 664, 664, 664, 664, 26983 664, 664, 664, 664, 664, 664, 664, 664, 664, 664, 26984 664, 664, 664, 664, 664, 664, 664, 664, 664, 664, 26985 664, 664, 664, 664, 664, 664, 664, 664, 664, 664, 26986 665, 665, 665, 665, 26987 } 26988 26989 var sqlR2 = [...]int8{ 26990 0, 1, 1, 1, 1, 0, 1, 1, 2, 1, 26991 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 26992 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 26993 1, 2, 1, 2, 1, 1, 1, 2, 1, 2, 26994 1, 2, 1, 2, 1, 1, 1, 2, 1, 1, 26995 2, 1, 1, 2, 1, 2, 1, 2, 1, 2, 26996 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 26997 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 26998 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 26999 1, 1, 1, 1, 3, 1, 3, 1, 1, 1, 27000 3, 1, 1, 1, 1, 3, 4, 6, 1, 1, 27001 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27002 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 27003 1, 1, 1, 3, 3, 6, 4, 4, 6, 9, 27004 6, 8, 4, 4, 5, 9, 7, 9, 5, 6, 27005 8, 7, 7, 9, 1, 1, 3, 1, 1, 1, 27006 1, 1, 1, 1, 1, 3, 4, 6, 4, 6, 27007 6, 9, 6, 9, 6, 5, 6, 5, 1, 1, 27008 1, 1, 1, 1, 0, 1, 6, 6, 4, 6, 27009 2, 1, 1, 2, 4, 8, 7, 10, 9, 4, 27010 4, 4, 3, 4, 4, 4, 7, 7, 9, 8, 27011 9, 5, 3, 5, 7, 4, 12, 4, 12, 1, 27012 3, 5, 5, 2, 5, 3, 6, 4, 4, 4, 27013 6, 5, 6, 5, 6, 4, 8, 3, 8, 4, 27014 2, 3, 10, 3, 6, 4, 3, 1, 3, 4, 27015 4, 2, 1, 1, 3, 1, 3, 2, 4, 3, 27016 2, 3, 2, 0, 1, 1, 0, 2, 0, 7, 27017 10, 6, 8, 6, 6, 6, 9, 4, 3, 2, 27018 2, 0, 1, 1, 1, 1, 1, 3, 1, 3, 27019 6, 4, 6, 7, 9, 6, 2, 2, 3, 0, 27020 8, 6, 8, 7, 2, 0, 1, 2, 5, 0, 27021 1, 3, 3, 1, 3, 1, 3, 3, 3, 3, 27022 4, 1, 3, 1, 3, 1, 1, 12, 6, 5, 27023 4, 1, 3, 3, 3, 3, 2, 4, 4, 4, 27024 1, 1, 2, 1, 4, 1, 0, 3, 3, 0, 27025 4, 6, 0, 6, 4, 4, 4, 5, 7, 6, 27026 8, 7, 9, 2, 1, 3, 1, 3, 2, 5, 27027 0, 1, 3, 3, 3, 3, 1, 1, 1, 1, 27028 1, 1, 1, 3, 3, 1, 3, 3, 3, 3, 27029 1, 1, 1, 4, 3, 1, 1, 1, 1, 1, 27030 1, 3, 3, 6, 4, 9, 7, 12, 9, 2, 27031 7, 2, 1, 1, 1, 3, 3, 0, 3, 1, 27032 3, 1, 1, 3, 2, 5, 0, 2, 7, 5, 27033 6, 5, 7, 6, 2, 4, 0, 1, 2, 1, 27034 3, 3, 1, 1, 2, 2, 2, 2, 1, 2, 27035 2, 3, 4, 3, 3, 2, 2, 2, 2, 2, 27036 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 27037 2, 2, 3, 1, 2, 1, 2, 1, 2, 1, 27038 2, 2, 3, 3, 3, 3, 3, 3, 5, 3, 27039 3, 5, 3, 3, 5, 3, 3, 5, 3, 4, 27040 3, 6, 6, 6, 6, 6, 8, 4, 4, 1, 27041 1, 1, 2, 1, 1, 2, 1, 2, 1, 2, 27042 1, 2, 1, 2, 1, 1, 2, 4, 7, 11, 27043 14, 3, 1, 2, 0, 2, 2, 5, 0, 1, 27044 3, 3, 4, 1, 2, 1, 2, 3, 6, 3, 27045 8, 5, 3, 13, 4, 9, 4, 2, 0, 1, 27046 0, 1, 0, 1, 1, 0, 1, 3, 1, 3, 27047 3, 3, 3, 2, 2, 1, 1, 1, 1, 2, 27048 1, 1, 1, 1, 0, 1, 2, 3, 2, 1, 27049 1, 1, 4, 5, 1, 1, 1, 1, 3, 3, 27050 2, 2, 1, 2, 2, 2, 2, 1, 1, 1, 27051 2, 1, 1, 3, 0, 1, 4, 0, 2, 0, 27052 4, 6, 3, 4, 6, 3, 1, 3, 2, 1, 27053 3, 2, 1, 3, 5, 1, 2, 1, 0, 6, 27054 6, 6, 8, 6, 6, 6, 1, 0, 4, 3, 27055 3, 4, 3, 4, 4, 4, 7, 3, 3, 4, 27056 3, 3, 3, 3, 3, 1, 0, 1, 0, 4, 27057 3, 3, 3, 3, 3, 6, 4, 4, 4, 5, 27058 3, 3, 3, 3, 3, 3, 3, 1, 2, 1, 27059 2, 1, 2, 1, 2, 1, 2, 4, 1, 2, 27060 1, 2, 1, 2, 1, 2, 1, 2, 7, 3, 27061 2, 0, 1, 3, 1, 3, 0, 1, 2, 2, 27062 1, 2, 1, 6, 10, 5, 10, 15, 6, 1, 27063 3, 3, 1, 1, 0, 2, 0, 2, 0, 2, 27064 10, 3, 1, 4, 0, 1, 3, 2, 2, 0, 27065 2, 2, 2, 2, 2, 2, 1, 1, 2, 1, 27066 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 27067 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 27068 2, 1, 2, 1, 2, 4, 6, 5, 7, 3, 27069 4, 6, 3, 4, 6, 3, 5, 7, 3, 4, 27070 6, 3, 4, 6, 3, 4, 6, 3, 0, 1, 27071 1, 1, 3, 4, 6, 3, 3, 5, 3, 1, 27072 3, 1, 1, 1, 2, 2, 2, 2, 1, 2, 27073 2, 5, 3, 3, 6, 6, 3, 1, 1, 1, 27074 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 27075 2, 1, 2, 1, 2, 1, 1, 1, 2, 1, 27076 1, 2, 1, 1, 1, 1, 1, 2, 1, 2, 27077 1, 2, 1, 2, 1, 2, 1, 2, 1, 1, 27078 1, 2, 1, 2, 1, 2, 1, 2, 1, 1, 27079 2, 1, 2, 1, 3, 4, 3, 1, 2, 3, 27080 2, 2, 2, 4, 6, 3, 1, 2, 2, 7, 27081 3, 3, 2, 1, 2, 3, 2, 3, 0, 2, 27082 2, 1, 4, 3, 5, 7, 2, 3, 0, 3, 27083 5, 2, 3, 0, 2, 3, 2, 3, 2, 7, 27084 4, 7, 8, 8, 9, 11, 11, 11, 11, 6, 27085 2, 6, 9, 4, 7, 7, 10, 7, 10, 10, 27086 10, 13, 10, 13, 10, 13, 5, 8, 5, 2, 27087 2, 1, 1, 3, 1, 1, 1, 1, 1, 2, 27088 1, 2, 2, 3, 2, 2, 4, 3, 2, 2, 27089 1, 2, 1, 3, 1, 2, 1, 2, 1, 2, 27090 1, 2, 1, 1, 3, 5, 4, 6, 4, 3, 27091 0, 1, 3, 2, 4, 2, 4, 1, 6, 3, 27092 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 27093 3, 1, 3, 6, 6, 6, 5, 5, 5, 5, 27094 5, 9, 7, 6, 4, 4, 5, 5, 4, 1, 27095 1, 1, 1, 6, 6, 6, 6, 5, 5, 1, 27096 3, 1, 3, 5, 4, 5, 3, 3, 2, 2, 27097 6, 3, 3, 3, 3, 4, 4, 3, 1, 3, 27098 3, 2, 2, 1, 3, 3, 3, 1, 2, 1, 27099 1, 2, 2, 3, 1, 1, 1, 1, 1, 1, 27100 3, 2, 2, 1, 2, 1, 1, 1, 1, 1, 27101 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 27102 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 27103 2, 1, 2, 1, 2, 1, 1, 2, 1, 2, 27104 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 27105 1, 1, 2, 1, 2, 1, 2, 1, 1, 2, 27106 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 27107 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 27108 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 27109 2, 1, 2, 2, 1, 1, 1, 2, 1, 2, 27110 2, 2, 9, 2, 1, 0, 1, 1, 0, 1, 27111 2, 0, 2, 2, 0, 2, 2, 2, 2, 1, 27112 2, 3, 3, 4, 4, 4, 4, 3, 3, 1, 27113 1, 1, 0, 1, 1, 1, 0, 1, 1, 3, 27114 3, 3, 3, 3, 2, 3, 3, 1, 2, 1, 27115 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 27116 1, 2, 3, 6, 8, 3, 3, 3, 4, 8, 27117 6, 4, 5, 5, 5, 5, 5, 3, 0, 1, 27118 1, 1, 1, 2, 5, 0, 1, 3, 1, 1, 27119 2, 1, 1, 3, 3, 3, 1, 3, 1, 2, 27120 5, 0, 1, 3, 3, 3, 3, 4, 4, 3, 27121 4, 4, 3, 4, 4, 1, 4, 4, 5, 3, 27122 5, 5, 5, 7, 3, 3, 3, 5, 7, 7, 27123 4, 2, 6, 4, 3, 2, 3, 4, 4, 3, 27124 5, 3, 6, 5, 6, 3, 5, 6, 3, 3, 27125 5, 3, 5, 3, 3, 4, 4, 5, 0, 1, 27126 1, 1, 1, 3, 2, 4, 3, 4, 3, 4, 27127 3, 5, 5, 3, 4, 4, 3, 5, 4, 5, 27128 3, 4, 1, 3, 2, 3, 4, 4, 5, 3, 27129 3, 1, 1, 0, 2, 3, 2, 5, 4, 6, 27130 4, 6, 4, 1, 0, 3, 4, 4, 5, 7, 27131 5, 3, 3, 6, 4, 2, 3, 6, 4, 2, 27132 3, 3, 4, 4, 5, 2, 0, 4, 2, 3, 27133 4, 2, 3, 3, 3, 7, 5, 2, 0, 3, 27134 3, 4, 3, 3, 3, 5, 3, 3, 4, 5, 27135 5, 4, 4, 5, 6, 4, 4, 4, 4, 4, 27136 3, 0, 2, 4, 5, 4, 4, 5, 6, 5, 27137 5, 2, 3, 2, 3, 6, 6, 7, 9, 7, 27138 9, 4, 3, 4, 4, 5, 1, 1, 10, 10, 27139 3, 6, 6, 6, 5, 3, 3, 4, 4, 0, 27140 2, 1, 1, 1, 1, 1, 3, 3, 3, 3, 27141 3, 5, 6, 4, 4, 5, 5, 2, 6, 3, 27142 2, 5, 5, 4, 2, 0, 1, 1, 1, 1, 27143 2, 3, 2, 2, 3, 2, 2, 1, 1, 1, 27144 1, 3, 2, 2, 2, 2, 2, 2, 2, 2, 27145 1, 2, 0, 1, 2, 1, 2, 1, 2, 2, 27146 1, 2, 1, 2, 1, 2, 2, 4, 3, 3, 27147 7, 3, 3, 7, 3, 3, 3, 3, 3, 3, 27148 3, 3, 4, 3, 3, 6, 5, 8, 3, 6, 27149 6, 3, 12, 15, 1, 0, 1, 2, 3, 0, 27150 2, 0, 4, 0, 4, 5, 4, 1, 1, 1, 27151 3, 3, 1, 3, 10, 13, 0, 2, 3, 1, 27152 1, 0, 1, 2, 2, 2, 2, 1, 1, 0, 27153 1, 3, 1, 1, 1, 2, 3, 3, 3, 0, 27154 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 27155 1, 0, 1, 0, 1, 1, 0, 1, 4, 1, 27156 0, 3, 7, 7, 1, 1, 3, 7, 1, 3, 27157 11, 3, 2, 0, 3, 1, 2, 2, 3, 2, 27158 6, 2, 1, 2, 2, 3, 6, 4, 2, 3, 27159 5, 5, 5, 2, 5, 5, 2, 2, 2, 0, 27160 1, 1, 3, 4, 10, 11, 12, 9, 10, 5, 27161 3, 1, 5, 9, 7, 11, 3, 3, 0, 2, 27162 4, 3, 3, 1, 6, 1, 3, 1, 2, 0, 27163 1, 2, 3, 0, 1, 3, 3, 2, 2, 1, 27164 1, 1, 4, 0, 3, 0, 4, 0, 3, 0, 27165 2, 2, 2, 0, 1, 1, 2, 2, 0, 3, 27166 3, 2, 1, 1, 2, 2, 5, 8, 4, 1, 27167 0, 1, 2, 2, 1, 2, 3, 3, 2, 2, 27168 3, 2, 2, 2, 2, 2, 3, 1, 2, 3, 27169 1, 4, 2, 3, 2, 2, 4, 7, 3, 4, 27170 6, 5, 7, 5, 5, 3, 3, 0, 2, 2, 27171 2, 2, 1, 1, 1, 8, 10, 11, 8, 11, 27172 5, 4, 2, 0, 1, 1, 1, 1, 1, 1, 27173 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27174 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27175 1, 1, 1, 2, 2, 0, 3, 3, 0, 1, 27176 8, 11, 3, 7, 10, 6, 5, 3, 4, 1, 27177 0, 1, 3, 1, 0, 2, 4, 17, 20, 16, 27178 19, 4, 2, 0, 1, 0, 1, 0, 1, 3, 27179 2, 4, 2, 3, 1, 0, 2, 0, 1, 1, 27180 0, 2, 1, 1, 2, 0, 9, 6, 6, 8, 27181 6, 8, 5, 7, 2, 6, 7, 4, 4, 5, 27182 2, 4, 6, 6, 8, 6, 7, 8, 9, 6, 27183 7, 8, 9, 6, 8, 6, 8, 6, 7, 8, 27184 9, 6, 8, 6, 8, 6, 6, 8, 8, 4, 27185 7, 3, 0, 7, 10, 1, 1, 1, 1, 1, 27186 2, 3, 0, 3, 0, 3, 0, 1, 0, 2, 27187 0, 2, 2, 3, 3, 3, 3, 3, 3, 3, 27188 3, 3, 3, 3, 3, 3, 2, 2, 1, 2, 27189 1, 2, 1, 2, 1, 3, 2, 2, 2, 2, 27190 1, 1, 0, 2, 4, 2, 1, 2, 1, 2, 27191 3, 2, 2, 2, 1, 0, 2, 1, 1, 0, 27192 1, 3, 1, 0, 1, 1, 1, 1, 1, 2, 27193 3, 2, 2, 1, 2, 16, 19, 3, 1, 0, 27194 4, 1, 0, 4, 1, 0, 5, 1, 0, 2, 27195 2, 3, 0, 1, 1, 4, 4, 5, 1, 0, 27196 3, 0, 3, 0, 3, 0, 3, 0, 4, 0, 27197 3, 0, 1, 0, 6, 7, 3, 6, 3, 1, 27198 3, 1, 1, 4, 2, 1, 3, 1, 3, 4, 27199 8, 11, 7, 10, 2, 2, 0, 10, 3, 2, 27200 0, 1, 3, 1, 1, 3, 3, 5, 6, 4, 27201 5, 4, 1, 1, 3, 3, 1, 2, 4, 4, 27202 2, 3, 5, 5, 1, 3, 1, 0, 1, 2, 27203 3, 2, 4, 2, 3, 0, 2, 0, 2, 1, 27204 2, 1, 1, 1, 2, 1, 2, 1, 2, 1, 27205 8, 8, 8, 2, 4, 4, 4, 2, 2, 2, 27206 2, 3, 1, 3, 1, 2, 0, 7, 1, 0, 27207 1, 0, 1, 0, 1, 1, 0, 1, 5, 1, 27208 0, 1, 0, 1, 0, 1, 0, 3, 3, 3, 27209 3, 5, 5, 1, 1, 3, 3, 1, 3, 3, 27210 4, 5, 3, 2, 2, 0, 2, 2, 1, 1, 27211 1, 0, 1, 0, 2, 2, 5, 4, 2, 3, 27212 1, 1, 1, 1, 1, 1, 1, 3, 0, 1, 27213 3, 1, 3, 3, 3, 2, 0, 4, 2, 5, 27214 3, 2, 0, 1, 3, 3, 5, 1, 1, 1, 27215 1, 1, 1, 1, 3, 5, 5, 1, 3, 2, 27216 4, 4, 0, 4, 4, 3, 4, 1, 5, 3, 27217 4, 5, 5, 1, 5, 1, 3, 2, 3, 0, 27218 1, 3, 0, 3, 1, 3, 1, 2, 0, 2, 27219 3, 1, 3, 2, 0, 3, 5, 6, 4, 6, 27220 4, 3, 2, 1, 0, 3, 2, 1, 0, 5, 27221 1, 0, 2, 2, 2, 1, 1, 0, 1, 1, 27222 1, 1, 0, 4, 2, 1, 2, 2, 4, 1, 27223 3, 2, 2, 1, 2, 3, 2, 4, 1, 0, 27224 1, 0, 2, 1, 0, 2, 5, 7, 2, 1, 27225 2, 4, 3, 5, 0, 1, 3, 5, 1, 2, 27226 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 27227 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27228 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27229 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27230 4, 4, 6, 6, 1, 1, 1, 1, 1, 1, 27231 1, 3, 5, 0, 1, 1, 1, 1, 1, 2, 27232 2, 2, 2, 2, 1, 3, 0, 5, 4, 1, 27233 2, 1, 4, 1, 1, 2, 1, 1, 1, 1, 27234 1, 0, 1, 2, 5, 1, 4, 2, 5, 1, 27235 4, 3, 3, 0, 1, 2, 4, 1, 1, 1, 27236 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, 27237 1, 0, 1, 4, 1, 3, 3, 3, 5, 2, 27238 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 27239 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 27240 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 27241 3, 3, 3, 3, 3, 3, 3, 2, 3, 3, 27242 3, 2, 2, 3, 5, 4, 6, 3, 5, 4, 27243 6, 4, 6, 5, 7, 3, 3, 3, 3, 3, 27244 4, 3, 2, 4, 2, 3, 3, 4, 3, 4, 27245 3, 4, 5, 6, 6, 7, 6, 7, 6, 7, 27246 3, 4, 4, 1, 3, 1, 3, 3, 2, 2, 27247 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 27248 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 27249 2, 3, 5, 6, 6, 7, 1, 2, 1, 2, 27250 1, 1, 1, 1, 1, 6, 1, 1, 1, 1, 27251 1, 1, 2, 1, 5, 5, 6, 3, 1, 1, 27252 1, 2, 2, 2, 4, 3, 5, 6, 8, 6, 27253 5, 4, 3, 1, 4, 2, 2, 4, 1, 1, 27254 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 27255 1, 1, 1, 6, 6, 8, 8, 6, 4, 6, 27256 6, 6, 4, 1, 3, 3, 3, 3, 3, 4, 27257 3, 3, 4, 3, 3, 4, 3, 3, 4, 3, 27258 3, 3, 3, 3, 4, 3, 4, 3, 4, 3, 27259 4, 4, 3, 6, 5, 5, 5, 4, 4, 3, 27260 4, 3, 5, 0, 5, 0, 2, 0, 1, 3, 27261 3, 2, 2, 0, 6, 1, 0, 3, 0, 3, 27262 3, 3, 0, 1, 4, 2, 2, 2, 2, 2, 27263 3, 2, 2, 3, 0, 4, 1, 1, 5, 1, 27264 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27265 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27266 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27267 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 27268 4, 1, 1, 1, 2, 1, 2, 2, 3, 1, 27269 2, 3, 2, 3, 2, 3, 1, 0, 1, 3, 27270 1, 3, 3, 3, 1, 3, 3, 1, 1, 1, 27271 1, 1, 1, 1, 1, 1, 4, 3, 1, 2, 27272 3, 0, 3, 3, 2, 2, 1, 2, 2, 3, 27273 2, 1, 1, 1, 5, 1, 2, 4, 2, 0, 27274 1, 0, 3, 5, 1, 0, 1, 2, 1, 0, 27275 1, 3, 3, 2, 1, 1, 1, 1, 1, 3, 27276 1, 3, 3, 1, 1, 1, 1, 5, 3, 1, 27277 1, 3, 1, 1, 1, 1, 2, 2, 1, 1, 27278 2, 2, 1, 1, 1, 3, 5, 1, 1, 1, 27279 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27280 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 27281 3, 1, 3, 1, 3, 1, 0, 1, 1, 1, 27282 1, 1, 1, 1, 3, 5, 7, 1, 7, 5, 27283 3, 1, 1, 1, 1, 1, 1, 1, 1, 3, 27284 5, 1, 1, 1, 1, 1, 1, 1, 0, 3, 27285 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27286 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27287 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27288 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27289 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27290 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27291 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27292 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27293 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27294 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27295 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27296 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27297 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27298 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27299 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27300 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27301 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27302 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27303 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27304 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27305 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27306 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27307 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27308 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27309 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27310 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27311 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27312 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27313 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27314 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27315 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27316 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27317 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27318 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27319 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27320 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27321 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27322 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27323 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27324 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27325 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27326 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27327 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27328 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27329 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27330 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27331 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27332 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27333 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27334 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27335 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27336 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27337 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27338 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27339 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27340 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27341 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27342 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27343 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27344 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27345 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27346 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27347 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27348 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27349 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27350 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27351 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27352 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27353 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27354 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27355 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27356 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27357 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27358 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27359 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27360 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27361 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27362 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27363 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27364 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27365 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27366 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27367 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27368 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27369 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27370 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27371 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27372 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27373 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27374 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27375 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27376 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27377 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27378 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27379 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27380 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27381 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27382 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27383 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27384 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27385 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27386 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27387 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27388 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27389 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27390 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27391 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27392 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27393 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27394 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27395 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27396 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27397 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27398 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27399 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27400 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27401 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27402 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27403 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27404 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27405 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27406 1, 1, 1, 1, 27407 } 27408 27409 var sqlChk = [...]int16{ 27410 -1000, -1, -2, 709, -3, -248, -146, -143, -85, -99, 27411 -97, -151, -152, -127, -153, -145, -175, -180, -161, -162, 27412 -163, -176, -182, -247, -256, -257, -258, -259, -268, -252, 27413 -196, -249, -250, -4, -83, -86, -100, -126, -128, -144, 27414 -155, -154, -156, -164, -172, -167, -150, -91, -177, -181, 27415 -193, -251, -253, -254, 33, 32, 69, 115, 93, 178, 27416 148, 159, 236, 444, 501, 513, 463, 164, 488, 469, 27417 -187, -188, 536, -84, -98, -179, -178, 85, 149, 196, 27418 346, 479, 626, 543, 56, 170, -7, -15, -34, -19, 27419 30, 51, -87, -88, -89, -90, 71, -109, -104, -121, 27420 -102, -106, -107, -115, -101, -785, 118, -693, -129, -133, 27421 -171, -131, -141, -790, 186, 258, -157, -158, -159, 426, 27422 -165, -166, 491, -168, -169, -170, 494, 187, -93, -92, 27423 180, -305, -307, -184, -183, -185, -255, -194, -195, -197, 27424 -198, -200, -201, -203, -204, -206, -238, -207, -208, -209, 27425 -210, -211, -212, -213, -214, -218, -241, -215, -216, -217, 27426 -220, -219, -221, -226, -222, -223, -224, -225, -227, -228, 27427 -230, -231, -234, -235, -236, -237, -239, -240, -229, -242, 27428 -205, -243, 616, 562, 95, 505, 21, -8, -9, -10, 27429 -11, -12, -13, -14, -18, -17, -74, -5, -6, -20, 27430 -21, -111, -39, -37, -38, -40, -41, -105, -108, -112, 27431 -113, -114, -125, -116, -117, -118, -119, -103, -110, -692, 27432 -130, -132, -135, -137, -138, -134, -136, -139, -140, 489, 27433 679, -308, -306, 706, 685, 635, -202, -24, -29, -25, 27434 -26, -28, -30, -27, -31, -32, -33, -59, -64, -61, 27435 -62, -60, -63, -65, -66, -67, -68, -69, -70, -71, 27436 -72, -73, -43, -49, -50, -44, -45, -46, -47, -48, 27437 -51, -52, -53, -54, -55, -56, -57, -58, -22, -23, 27438 -42, -75, -76, -78, -77, -79, -80, -82, -81, 666, 27439 675, -311, -309, -310, -318, 527, 643, 587, 709, 709, 27440 709, 709, 709, 709, 709, 709, 709, 709, 709, 709, 27441 709, 709, 709, 709, 709, 709, 709, 709, 709, 709, 27442 709, 709, 709, 709, 709, 709, 709, -417, 2, -393, 27443 -399, -400, -401, -392, -361, -660, -665, 4, -657, -663, 27444 195, 276, 275, 277, 386, 21, 22, 24, 23, 25, 27445 26, 27, 28, 30, 31, 43, 41, 45, 46, 47, 27446 49, 50, 51, 52, 53, 54, 55, 56, 60, 62, 27447 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 27448 79, 84, 85, 86, 87, 92, 93, 94, 95, 96, 27449 97, 98, 99, 105, 102, 103, 104, 106, 107, 109, 27450 111, 112, 113, 114, 115, 116, 117, 119, 120, 121, 27451 123, 124, 125, 133, 134, 135, 136, 137, 139, 148, 27452 140, 141, 143, 149, 152, 146, 151, 147, 153, 154, 27453 156, 157, 158, 159, 162, 163, 164, 166, 167, 169, 27454 168, 171, 172, 173, 175, 176, 178, 179, 180, 183, 27455 181, 184, 182, 185, 186, 187, 188, 189, 192, 193, 27456 201, 202, 203, 208, 217, 210, 212, 213, 214, 211, 27457 215, 218, 219, 222, 223, 224, 227, 228, 229, 230, 27458 231, 232, 233, 234, 235, 237, 238, 242, 244, 245, 27459 246, 247, 248, 249, 250, 256, 257, 258, 260, 261, 27460 262, 263, 264, 265, 266, 270, 271, 272, 273, 280, 27461 282, 288, 289, 657, 294, 290, 295, 296, 298, 302, 27462 303, 304, 305, 306, 307, 308, 310, 312, 311, 316, 27463 314, 318, 319, 322, 323, 324, 325, 326, 327, 331, 27464 332, 328, 333, 334, 336, 337, 340, 338, 341, 342, 27465 339, 343, 344, 347, 348, 349, 350, 351, 352, 353, 27466 354, 355, 356, 357, 358, 345, 346, 361, 359, 363, 27467 364, 365, 366, 367, 383, 385, 378, 379, 380, 371, 27468 372, 368, 373, 369, 370, 374, 375, 382, 376, 377, 27469 388, 389, 390, 391, 394, 254, 281, 396, 397, 400, 27470 402, 419, 405, 406, 407, 410, 411, 414, 417, 418, 27471 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 27472 431, 432, 434, 435, 436, 438, 439, 440, 442, 444, 27473 445, 447, 448, 449, 451, 452, 453, 454, 455, 456, 27474 457, 458, 459, 460, 462, 463, 465, 464, 466, 467, 27475 469, 471, 472, 473, 479, 480, 488, 481, 483, 484, 27476 485, 486, 487, 489, 490, 491, 492, 493, 494, 495, 27477 499, 497, 498, 500, 501, 503, 504, 505, 506, 507, 27478 509, 511, 512, 516, 517, 520, 518, 539, 540, 565, 27479 513, 514, 515, 519, 521, 522, 523, 524, 526, 525, 27480 530, 528, 529, 531, 532, 533, 534, 536, 538, 541, 27481 542, 543, 545, 546, 547, 548, 549, 550, 551, 552, 27482 553, 556, 558, 559, 560, 561, 562, 563, 586, 564, 27483 566, 567, 568, 572, 573, 574, 575, 569, 570, 585, 27484 577, 578, 579, 580, 582, 583, 588, 589, 590, 591, 27485 592, 593, 594, 595, 596, 597, 599, 607, 620, 608, 27486 609, 610, 611, 613, 616, 617, 618, 619, 605, 621, 27487 622, 625, 626, 627, 628, 633, 629, 634, 630, 631, 27488 632, 635, 637, 640, 641, 642, 649, 647, 648, 650, 27489 651, 653, 654, 652, 661, 662, 656, 658, 659, 660, 27490 667, 668, 670, 671, 672, 37, 57, 58, 61, 63, 27491 65, 80, 81, 82, 88, 142, 144, 177, 190, 191, 27492 204, 225, 226, 239, 241, 251, 252, 253, 279, 283, 27493 284, 286, 292, 315, 393, 395, 412, 416, 433, 437, 27494 441, 443, 461, 508, 537, 554, 571, 576, 600, 601, 27495 602, 603, 612, 614, 643, 644, 645, 655, 669, -417, 27496 2, -686, -372, -370, 704, -646, -413, 275, 4, -657, 27497 -658, -392, -659, -660, 48, 90, 122, 221, 278, 255, 27498 291, 293, 297, 317, 320, 362, 381, 387, 413, 415, 27499 502, 544, -393, 706, 403, -386, 2, -361, -361, 444, 27500 29, 2, 29, 432, 529, 590, 592, 2, -722, -467, 27501 583, 2, 29, -364, -361, 118, 236, 527, -386, 2, 27502 -722, 236, -467, 26, 583, 2, -361, 2, 417, 189, 27503 222, 451, 23, 28, 77, 90, 113, 162, 188, 216, 27504 -789, 419, 454, 511, 531, 585, 597, 613, 2, 648, 27505 337, 528, 587, 270, 136, 618, -786, 519, -733, 516, 27506 517, 417, 450, 593, 655, 503, 240, 636, -365, 2, 27507 513, -361, 337, 2, 709, 109, 86, 508, 533, -190, 27508 2, 327, 608, -191, -192, -189, 600, -644, 519, 503, 27509 361, -361, 709, 709, 709, 29, -375, 2, -361, -375, 27510 2, -260, 2, -375, -792, -267, -266, -265, 22, 480, 27511 203, 308, 220, 259, 366, 447, 218, 53, -260, 2, 27512 587, 270, 519, 136, 583, -397, 698, -399, -524, -786, 27513 2, -245, 533, 564, 247, 52, 51, 86, 29, 453, 27514 92, 424, 137, 145, 172, 619, 238, 583, 270, 271, 27515 303, 95, 108, 109, -527, 49, 296, 79, 295, 517, 27516 -738, 516, -586, 588, 223, 452, 521, 529, 582, 99, 27517 308, 513, 608, 610, 118, 637, 504, 672, 458, 459, 27518 580, 473, 577, 328, 181, 221, 683, 595, 593, 655, 27519 4, 136, 361, 503, 535, 312, 311, 620, 600, 661, 27520 327, 512, 427, 97, -803, 2, 608, -803, 2, 709, 27521 2, 587, 423, 648, 528, 222, 451, 136, 458, 270, 27522 618, 51, 162, 28, 79, -786, 683, 655, 519, -733, 27523 680, 681, 337, 145, -715, 2, -714, 4, -663, -657, 27524 -411, -410, 587, -786, 136, 655, 593, -401, -392, 698, 27525 -400, 709, 709, 709, 709, 2, 295, 296, 456, 455, 27526 533, 534, 29, 709, 709, 709, 709, 709, 709, 516, 27527 189, 2, -786, 188, -746, 23, 28, 77, 108, 113, 27528 145, 216, 419, 454, 531, 585, 589, 597, 613, -732, 27529 564, 79, 519, -731, -733, 408, 337, 618, 162, -525, 27530 136, 327, 234, 627, 592, 590, 624, 152, 282, 632, 27531 630, 709, 709, 709, 709, -147, 2, 706, 33, 32, 27532 -146, -97, -151, -85, 164, 543, 536, -298, 587, 287, 27533 2, -361, 709, 709, 709, 2, 295, 296, 516, 517, 27534 29, 709, 709, 220, -714, 583, 2, 709, 709, 709, 27535 2, 29, 295, 296, 516, 517, 287, 2, 79, 522, 27536 709, 709, 709, 709, 709, 709, 709, 709, 709, 709, 27537 709, 709, 709, 709, 709, 709, 709, 709, 709, 709, 27538 709, 709, 709, 709, 709, 709, 709, 709, 709, 709, 27539 709, 709, 709, 709, 709, 709, 709, 709, 709, 709, 27540 709, 709, -801, 2, 587, 608, 2, -803, 2, -803, 27541 2, -804, 608, 669, 709, 709, 709, 709, 709, 709, 27542 709, 709, 709, 709, 709, 709, 709, 709, 709, 709, 27543 709, 709, 709, 709, 709, 709, 709, 709, 709, 709, 27544 709, 709, 709, 709, 709, 709, -306, -308, -307, 709, 27545 709, 709, 709, 709, 709, 709, 709, 709, -245, 533, 27546 2, 86, 29, 29, -455, -458, 623, 285, 174, 409, 27547 -305, -307, 2, -692, 620, 533, -642, 2, -558, -666, 27548 -560, 696, 697, 689, 584, 78, -421, 384, 673, -572, 27549 145, 624, 403, 381, -665, -561, -574, 177, 419, 508, 27550 -485, 8, 9, 5, 6, 7, -372, -562, -568, 615, 27551 194, 392, -414, 710, 10, 706, -689, -307, -573, 38, 27552 241, 76, -371, -618, 286, -412, -392, -686, -687, -413, 27553 -647, -621, -629, -628, -625, -624, -626, -632, -361, 90, 27554 127, 128, 126, 131, 130, 330, 329, 132, 129, 535, 27555 636, 77, 37, 251, 252, 292, 393, 253, 88, -688, 27556 4, -657, -659, 283, 284, 554, 58, 461, 204, 163, 27557 144, 142, 395, 63, 61, 644, -630, 138, 600, 601, 27558 602, 603, 225, 226, 65, 190, 191, 416, 441, 576, 27559 612, 614, 239, 315, -807, 645, 571, 80, 81, 209, 27560 -694, 464, -695, -386, -694, 709, 709, 711, 709, -446, 27561 -448, -450, 2, 29, 160, 706, 2, -592, 2, -593, 27562 -597, -307, 309, -596, 706, -594, 704, -393, 404, -690, 27563 509, -686, -687, -392, 708, 706, 222, 708, -451, 706, 27564 -149, -126, -154, -177, -253, -254, 136, 519, 587, 91, 27565 270, 108, 188, 222, -518, 706, -361, 29, 403, 604, 27566 711, -722, -467, -447, 449, -570, 706, 403, 406, 220, 27567 406, -722, 67, 106, -772, 251, 2, -771, -399, -772, 27568 251, 2, 341, 2, 2, 2, 2, 2, 251, -361, 27569 587, 135, 307, 2, 2, 2, 2, 2, 2, 2, 27570 -477, 251, 2, -475, -399, 648, -478, 251, 2, -475, 27571 -476, 251, 2, -475, -526, 2, 101, -376, 251, 2, 27572 -361, -402, 251, 2, -397, -523, 251, 2, -561, 704, 27573 -572, -408, 251, 2, -405, -361, -652, 251, 2, -650, 27574 4, -657, 132, 535, -558, 2, -177, 2, 67, 86, 27575 -361, 648, 2, 539, 2, 706, -190, 2, 82, 608, 27576 48, 533, -191, 2, -544, 2, -545, -357, -358, -359, 27577 -604, -360, 294, 448, 460, 676, 150, 384, 672, -777, 27578 220, 688, 604, -642, -642, -642, -486, 708, -262, 60, 27579 -375, -793, -792, -793, -640, 29, -635, 8, -636, 696, 27580 697, -640, -640, -793, -793, 2, 2, 2, 2, 2, 27581 -232, 666, 2, -245, 2, 209, 638, 2, 8, 2, 27582 259, -284, -654, 521, 201, 459, 641, 106, 2, -649, 27583 10, -648, 5, 4, -657, -663, -658, -660, 539, 2, 27584 540, 459, 86, -527, 672, 86, 220, 2, 220, 2, 27585 -508, 2, 666, 449, 220, 2, 2, -720, 2, 403, 27586 238, 220, 2, 220, 2, 220, 2, 602, 220, 2, 27587 220, 2, -244, 534, 609, 586, 455, 296, 666, 2, 27588 -177, 663, -160, 209, 296, 295, -558, 663, 2, -739, 27589 209, 517, -558, 2, 607, 305, 182, 220, -508, 2, 27590 220, 2, 220, 2, 220, 2, 220, 2, 5, 2, 27591 45, 456, 565, 2, 294, 448, 565, 2, 563, 2, 27592 -393, 587, 648, 528, 136, 271, 525, 222, 451, 29, 27593 2, 516, 189, 2, 2, 102, 103, 220, 2, 220, 27594 -775, 2, 666, 235, 220, 2, 473, 220, 587, 29, 27595 -523, 86, 684, 87, -487, 708, -487, 672, 2, -543, 27596 -544, 2, -597, 251, -393, 2, -390, -645, 4, -657, 27597 -663, -658, -664, 29, 32, 33, 34, 36, 38, 39, 27598 40, 44, 64, 76, 77, 83, 89, 91, 101, 108, 27599 118, 126, 127, 129, 128, 130, 131, 132, 145, 150, 27600 155, 160, 161, 165, 170, 174, 194, 196, 209, 216, 27601 220, 236, 240, 243, 259, 274, 285, 287, 309, 313, 27602 321, 329, 330, 384, 392, 398, 403, 404, 408, 409, 27603 430, 446, 468, 496, 527, 535, 557, 581, 587, 598, 27604 604, 606, 615, 623, 624, 636, 638, 646, 663, 664, 27605 665, 666, -665, 2, -597, 251, 2, -396, 251, -597, 27606 -399, 2, -771, 2, -771, 2, -376, 2, -558, -726, 27607 596, 184, 481, 2, -418, 251, -393, -395, -399, -397, 27608 2, 516, -654, 2, 2, 2, -558, 2, 2, -523, 27609 29, 684, -405, 2, -650, 251, 2, 29, 29, 648, 27610 449, 287, 604, 711, -474, -410, -411, -641, 4, 8, 27611 -466, -361, 708, -558, 2, -177, -160, 2, -558, 251, 27612 2, -177, 251, 2, -558, 251, 2, -177, 251, 2, 27613 -361, 2, -734, 2, -774, -654, 251, 106, -561, 251, 27614 2, 251, -361, 2, 222, 451, -788, 511, 617, 341, 27615 2, 2, 613, 2, 113, 587, 135, 2, 2, 2, 27616 2, 2, 2, 2, 587, -381, 2, -361, 209, -606, 27617 287, -405, 251, -406, 2, 528, -802, 464, -650, 251, 27618 2, 486, 648, -397, 251, 2, -397, 270, 289, -376, 27619 251, 2, 592, 590, 592, 590, -469, 2, 54, 287, 27620 2, 287, 2, -598, 2, -599, -593, -600, 704, 404, 27621 -610, 2, -609, -648, 643, -147, 706, -147, 706, 533, 27622 706, -654, -393, -393, -558, 2, -177, -160, 2, -558, 27623 2, -177, 2, -361, 2, -174, -654, -173, 706, 220, 27624 637, -361, 2, -558, 2, -177, -160, 2, -558, 2, 27625 -177, 2, -298, 209, 2, 136, 587, -498, -597, -543, 27626 604, -455, -458, -245, 539, 2, -312, -496, -314, 209, 27627 -530, -531, -315, 321, 196, 398, -316, -507, 29, 160, 27628 -507, -507, 67, 707, 707, -777, 620, 11, 12, 89, 27629 45, 696, 697, 698, 699, 207, 700, 701, 694, 695, 27630 693, 686, 687, 691, 300, 301, 110, 690, 688, 100, 27631 335, 510, 197, 198, 199, 200, 482, 268, 35, 42, 27632 269, 14, 15, 16, -421, 34, 408, 320, 673, 255, 27633 544, 689, 17, 18, 19, 291, 293, 387, 57, 259, 27634 -369, 419, -420, 584, 78, -558, -558, -558, -558, -558, 27635 -558, -558, -558, 415, 706, -492, -553, 704, -307, 706, 27636 706, 706, 706, -641, -307, -558, -572, 707, -483, 706, 27637 -307, -572, -567, 706, 508, 704, 706, -575, -558, 5, 27638 5, 5, 706, 708, -697, 667, 209, 706, 706, 706, 27639 706, 706, 706, 706, 706, 706, 706, 706, 706, 706, 27640 706, 706, 706, -623, 706, 443, -622, 706, -622, -622, 27641 -634, 649, 706, 706, -620, 706, 675, 668, 706, -620, 27642 706, 706, 706, 706, 706, 706, 706, 706, 706, 706, 27643 706, 706, 706, 649, -786, 711, -694, -539, 706, 706, 27644 -488, -602, -558, 698, -488, -488, 403, -480, -558, 122, 27645 -511, 297, 362, 221, 317, 502, 278, -555, 710, -555, 27646 -585, 675, -307, -594, -307, -596, 706, -592, -585, -148, 27647 -641, -126, -144, -154, -177, -193, -253, -254, 698, -393, 27648 706, 220, 708, -645, 707, -480, 646, 29, 160, 698, 27649 2, -639, 8, -645, 220, 604, -466, 707, 709, 709, 27650 709, 709, -376, -405, -393, -412, -413, -418, -387, -361, 27651 2, 2, 159, -480, -716, 618, 519, 29, 4, -663, 27652 -657, -411, 528, -410, 587, 136, 189, 222, 451, -652, 27653 -364, 604, 39, -569, -615, -616, -668, 710, -667, -618, 27654 -627, 433, 437, -647, 286, 4, -657, -659, 283, 284, 27655 554, 58, 461, 204, 144, 142, 395, 63, 61, 644, 27656 600, 601, 602, 603, 225, 226, 65, 645, 571, 80, 27657 81, -716, 618, 519, 29, 528, 209, -652, 209, 220, 27658 -652, 2, -654, 2, -335, 711, 75, 492, 177, -754, 27659 706, -335, 177, 2, 177, 2, 2, 2, -361, -335, 27660 177, 711, -477, 251, -335, 177, -335, 177, -419, 251, 27661 -418, -335, 177, -335, 711, 177, -142, 256, 177, -558, 27662 222, -335, 711, 177, 708, 711, 177, -652, 2, -526, 27663 -644, -480, 39, -544, 2, 145, 4, 5, -805, 711, 27664 319, -424, 334, 383, 246, 404, 670, 396, 150, -653, 27665 5, 4, -568, -580, 145, 327, 286, -635, -637, 9, 27666 -638, 696, 697, -643, -642, 125, 708, -645, -263, 281, 27667 43, -375, -375, -793, -793, 8, 8, -793, -793, -375, 27668 -375, -233, 487, 73, 587, 298, -173, -654, 220, 259, 27669 -287, 666, -654, -654, -654, -654, -654, -644, 29, -775, 27670 2, 540, 2, -244, 534, 609, 103, 540, 2, -393, 27671 587, 136, 270, 93, -743, 209, 2, -361, -721, 209, 27672 -717, 503, 519, 618, -716, -721, -393, 136, -393, 136, 27673 -393, 136, -393, -393, 2, 2, 2, 2, -286, -285, 27674 179, 666, 2, 98, 517, 516, 2, -177, -558, 2, 27675 666, 98, 2, 51, 559, 79, -739, 209, 2, 607, 27676 2, 607, 2, -361, -361, -361, -361, -361, 398, 564, 27677 319, 666, -199, 666, -393, -393, -396, -399, -394, -399, 27678 220, 271, -399, -399, 521, 588, 619, 517, 189, -558, 27679 2, 106, -794, 2, 220, 209, 2, 587, 270, 270, 27680 587, 136, 126, -776, 588, 271, 158, 303, 186, 220, 27681 86, 136, 29, 220, 587, -786, 514, -523, 29, 708, 27682 4, -332, 484, 536, 418, -331, 25, 30, 164, 272, 27683 367, 641, 183, -436, 273, 489, -433, 423, 177, 558, 27684 629, -726, -729, 515, 596, 184, 481, 104, 396, 536, 27685 418, 484, 177, -504, -506, 39, 134, 367, 417, 68, 27686 264, 339, 340, 562, 490, 655, 177, 536, 418, 484, 27687 -762, 484, 536, 418, -749, -764, 367, 70, 498, 570, 27688 257, 561, 659, 189, 526, 316, 384, 116, 509, 578, 27689 420, 484, 536, 418, 418, -16, -350, 25, 164, -352, 27690 -343, 536, 30, -729, 114, 484, 685, 679, 489, 429, 27691 579, 446, -729, -726, 314, -728, 660, 382, -334, 558, 27692 629, -726, -465, -729, 515, 484, -333, 384, 657, 656, 27693 658, -438, -433, 423, 177, 710, 25, 164, 484, 536, 27694 418, -780, -781, 30, -641, 2, -330, 259, -329, 25, 27695 -325, -324, 25, 164, 536, 633, 484, 562, 568, 426, 27696 494, 98, 536, -186, 236, 501, -166, -185, 489, -186, 27697 2, 536, 29, 484, 418, -723, -383, -691, 259, 666, 27698 177, -383, -383, -597, 251, -743, 209, 2, -736, -173, 27699 310, 5, 10, -173, -474, 711, 711, -645, 698, 177, 27700 177, 177, 177, 296, 209, 384, -774, 2, -120, 320, 27701 384, 384, 666, -766, 2, -399, -766, 2, -789, 2, 27702 2, 2, 2, 2, 2, 2, -393, 251, -453, 403, 27703 -712, -713, -791, 587, -272, 666, -654, 384, 48, -396, 27704 251, 2, 648, -723, 384, -731, -398, 251, -393, 39, 27705 706, 384, 2, -526, 2, 270, -691, 384, 220, 706, 27706 -415, -393, -593, -415, 536, -386, 39, -555, -393, 707, 27707 711, -610, -610, -654, -272, 220, 706, -298, 666, 666, 27708 296, -605, 711, -604, 259, -655, -654, -174, -654, 220, 27709 296, -654, -712, -376, 2, -393, 2, -335, 711, -365, 27710 -312, -496, -644, -497, -496, -313, -312, -315, 209, 460, 27711 630, 367, 541, 302, -531, -530, 29, -558, -535, 203, 27712 366, -558, -533, -560, 696, 697, -636, -638, -479, 396, 27713 -306, -306, -306, -460, -587, -588, -558, 446, 277, -643, 27714 -777, -617, -615, -615, -391, -645, 600, -558, -558, -558, 27715 -558, -558, -558, -558, -558, -558, -558, -558, -558, -558, 27716 -558, -558, -558, -558, -558, -558, -558, -558, -558, -558, 27717 -558, -558, -558, -558, -558, -558, -558, -558, -558, -558, 27718 -558, -558, -558, -558, 320, 255, 544, 57, 259, -558, 27719 604, -558, -558, -558, -558, 359, 384, 392, 615, 194, 27720 625, 160, 396, -808, 581, 44, -565, -307, -484, 706, 27721 -579, 36, 557, 29, -572, 706, 2, -553, -558, -554, 27722 -422, -420, -361, 696, 697, 698, 699, 700, 701, 686, 27723 687, 688, 14, 15, 16, 691, 695, 693, 694, 207, 27724 110, 690, 335, 510, 100, 197, 198, 199, 200, 300, 27725 301, 17, 18, 19, 35, 42, 689, -481, -480, -480, 27726 707, 711, 39, 707, -558, -481, -571, -567, 704, -480, 27727 -578, -577, 663, -519, -520, 671, 345, 139, 249, 342, 27728 -521, 524, -639, -645, 698, -698, 202, 240, 706, 707, 27729 2, 707, 2, 707, -558, 2, 707, -558, 2, 707, 27730 -558, 2, 707, -558, 2, 707, 2, 707, 2, -558, 27731 -558, -558, -558, -558, -558, -558, -480, 8, -639, 706, 27732 -639, -639, -639, 600, 600, -639, -639, -639, -631, 433, 27733 434, 435, 436, 322, 323, 324, 325, 437, 438, 439, 27734 440, 351, 352, 353, 354, 347, 348, 349, 350, 355, 27735 356, 357, 358, 230, 231, 232, 233, 226, 227, 228, 27736 229, -631, -513, 2, -633, -480, 4, 671, 345, 139, 27737 249, 342, 524, 5, -513, 2, -514, 2, -558, -480, 27738 -515, -559, -560, 696, 697, 689, -421, -516, 2, -558, 27739 -481, -558, 64, 313, 606, -517, -558, 220, -480, -480, 27740 2, -480, 2, -523, 2, -695, 39, -540, -361, -480, 27741 -470, 711, 220, 45, 34, 408, 320, 255, 544, 291, 27742 57, 259, 39, -662, 419, 4, -661, 21, 22, 23, 27743 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 27744 37, 36, 40, 43, 44, 41, 46, 47, 48, 49, 27745 50, 51, 52, 53, 54, 55, 56, 58, 60, 61, 27746 63, 64, 65, 62, 66, 67, 68, 69, 70, 71, 27747 72, 73, 74, 75, 76, 77, 79, 82, 83, 84, 27748 85, 86, 87, 88, 90, 91, 92, 93, 94, 95, 27749 96, 97, 98, 99, 101, 102, 103, 104, 105, 106, 27750 107, 108, 109, 111, 112, 113, 114, 115, 116, 117, 27751 119, 120, 121, 122, 123, 124, 125, 126, 127, 129, 27752 128, 130, 131, 132, 133, 134, 135, 136, 137, 148, 27753 143, 140, 141, 142, 144, 149, 145, 146, 150, 151, 27754 147, 152, 153, 154, 155, 156, 157, 158, 159, 160, 27755 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 27756 171, 172, 173, 175, 176, 178, 179, 177, 180, 183, 27757 181, 184, 182, 185, 186, 187, 188, 189, 190, 191, 27758 192, 193, 194, 195, 201, 203, 204, 208, 210, 212, 27759 213, 214, 211, 215, 216, 217, 218, 219, 221, 222, 27760 223, 224, 225, 226, 230, 231, 232, 233, 227, 228, 27761 229, 234, 235, 237, 238, 239, 241, 242, 244, 245, 27762 246, 247, 248, 250, 251, 252, 253, 254, 256, 257, 27763 258, 260, 262, 263, 261, 264, 265, 266, 270, 271, 27764 277, 276, 275, 272, 274, 273, 278, 279, 280, 281, 27765 282, 283, 284, 286, 288, 289, 657, 290, 292, 294, 27766 295, 296, 297, 298, 302, 303, 304, 305, 306, 307, 27767 308, 309, 310, 312, 311, 313, 316, 314, 315, 317, 27768 318, 319, 322, 323, 324, 325, 326, 327, 328, 329, 27769 330, 331, 332, 333, 334, 336, 337, 340, 338, 341, 27770 339, 343, 344, 346, 347, 348, 349, 350, 351, 352, 27771 353, 354, 355, 356, 357, 358, 361, 359, 362, 363, 27772 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 27773 374, 375, 381, 382, 383, 376, 377, 384, 385, 386, 27774 388, 389, 390, 391, 380, 378, 379, 392, 393, 394, 27775 395, 396, 397, 400, 402, 404, 405, 406, 407, 410, 27776 411, 412, 413, 416, 417, 418, 420, 421, 422, 423, 27777 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 27778 434, 435, 436, 437, 438, 439, 440, 441, 442, 444, 27779 445, 446, 447, 448, 449, 451, 452, 453, 454, 455, 27780 456, 457, 458, 459, 460, 461, 462, 463, 465, 464, 27781 466, 467, 468, 469, 471, 472, 473, 479, 480, 488, 27782 481, 483, 484, 485, 486, 487, 489, 490, 491, 492, 27783 493, 494, 495, 499, 497, 498, 500, 501, 502, 503, 27784 504, 505, 506, 507, 508, 509, 511, 512, 513, 514, 27785 515, 516, 517, 519, 521, 520, 518, 522, 523, 525, 27786 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 27787 536, 537, 538, 539, 540, 541, 542, 543, 545, 546, 27788 547, 548, 549, 550, 551, 553, 552, 554, 556, 557, 27789 558, 559, 560, 561, 562, 563, 586, 564, 565, 566, 27790 567, 568, 572, 573, 574, 575, 569, 570, 571, 585, 27791 576, 577, 578, 580, 579, 581, 582, 583, 587, 588, 27792 589, 590, 591, 592, 593, 595, 594, 596, 597, 598, 27793 605, 599, 600, 602, 603, 601, 607, 620, 606, 608, 27794 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 27795 619, 621, 622, 624, 625, 626, 627, 628, 633, 629, 27796 634, 630, 631, 632, 635, 636, 637, 638, 640, 641, 27797 642, 643, 644, 645, 646, 647, 648, 650, 651, 653, 27798 654, 652, 655, 661, 662, 656, 658, 659, 660, 663, 27799 669, 670, 672, -470, -470, 706, 707, 711, -512, 244, 27800 338, 333, 289, -512, -592, -511, 297, -509, 413, -509, 27801 -509, -585, -377, 704, 713, -645, -585, -582, -581, 39, 27802 -386, 410, -585, -585, 707, -584, -583, 39, -386, 705, 27803 -710, 706, 709, 709, 709, 709, 709, -393, 706, -645, 27804 708, -459, 711, -456, 409, -558, -480, -480, 707, 705, 27805 708, 566, 2, 567, 2, 707, 604, 291, 291, 291, 27806 291, 291, 403, 509, 707, 604, -718, -402, -408, 529, 27807 588, 223, 452, -474, 711, -474, -466, 106, -772, -772, 27808 666, -652, -146, 405, 707, 711, -468, 38, 704, 708, 27809 -639, 2, 2, -520, 706, 220, -718, -408, 588, 529, 27810 223, 452, 2, -722, 583, -467, -652, 604, -771, -772, 27811 -755, 707, -757, -765, -750, -759, 259, 412, 279, 646, 27812 -646, -615, 4, -657, -772, -361, 2, -477, -399, -335, 27813 177, -478, -476, -335, 711, 177, -376, -397, -402, -523, 27814 705, -405, -408, -361, -650, -652, -335, -398, -777, 707, 27815 608, -545, -423, 460, 556, 485, 530, 583, 9, 9, 27816 711, -645, -264, 518, 367, -375, -375, -375, -375, 711, 27817 565, -393, 209, -654, -173, -289, 407, -288, 41, 84, 27818 547, 391, 140, 266, 304, 169, 449, 168, 143, -287, 27819 -287, -287, -287, -291, 666, 2, 2, 2, 2, -508, 27820 -393, -376, -418, -393, -404, 259, 237, 29, -733, 708, 27821 -652, -652, -408, -409, -407, -361, -402, -508, -376, -508, 27822 -376, -508, -376, -508, -508, 711, 158, -286, 179, -177, 27823 -177, -558, -286, -558, 564, 2, 533, 209, 209, 708, 27824 -508, 708, 708, 8, -454, 496, 5, 466, -199, -199, 27825 -393, 220, 2, 107, -654, 2, 458, 136, 587, 423, 27826 270, -393, -418, -418, -393, -376, -775, 711, 136, -376, 27827 137, 136, -393, -523, 4, 711, -778, 108, 604, 91, 27828 706, 519, -354, 328, 604, -549, 251, 91, -669, 108, 27829 -379, -670, -361, 83, 624, 446, 216, 175, -778, 108, 27830 446, -778, 108, 2, 272, 108, 536, 564, 706, 29, 27831 67, -597, 45, 45, 29, -727, -728, 314, 220, 672, 27832 587, 270, 519, 604, 604, -597, -506, -615, 134, 339, 27833 340, 67, -640, -640, 67, -640, -640, -640, 666, -640, 27834 666, -396, -597, 519, 604, 604, -787, -764, 492, 536, 27835 604, 519, 604, 154, 403, 392, 526, 147, 290, 316, 27836 -580, -580, -361, 604, 519, 604, 604, 471, 577, 471, 27837 577, 525, -343, -345, -191, 525, 577, 328, 604, 604, 27838 -191, 29, -245, 493, 145, -806, 688, 471, 314, -728, 27839 604, 220, 711, 45, 45, 29, -727, 220, 604, 656, 27840 9, -418, -377, 642, 47, 642, 47, 642, 604, 47, 27841 519, 604, 711, 47, -327, -326, 536, -329, -654, -328, 27842 365, -324, -712, -712, -271, -270, -361, 5, -466, 604, 27843 532, 2, 532, 2, 487, 487, 487, 86, 487, 74, 27844 29, 2, 74, 29, 2, -186, 2, 604, 604, -16, 27845 536, -724, -366, 121, 373, 332, 374, 112, 370, 111, 27846 369, 119, 371, 120, 372, 650, 388, 651, 389, 72, 27847 368, 343, 375, 560, 377, 654, 390, -367, -368, 487, 27848 376, 167, 425, 640, 136, -650, -16, -16, 536, 418, 27849 484, 177, -744, 259, 29, 259, -605, 259, -605, -410, 27850 -361, 708, -558, -177, -558, -177, 51, 79, 177, 39, 27851 220, -523, 177, 177, 2, 706, 706, 307, 706, -427, 27852 384, 220, -466, -606, 711, -393, 39, -271, 407, 177, 27853 -650, -505, -504, 384, -398, 251, 2, 177, -802, -451, 27854 384, 171, 706, 458, 2, 177, -378, 251, -362, -361, 27855 -526, -337, 591, 177, -598, -503, -502, 546, -536, -177, 27856 706, 145, 39, -536, -489, -490, -603, -491, -379, 706, 27857 -386, -555, -147, -609, 707, 707, 707, -298, -452, -380, 27858 -379, 135, 462, 462, -278, 666, -173, -174, 707, 711, 27859 -605, 259, -174, -654, -272, -272, -605, -605, -597, -497, 27860 -313, 404, 302, 541, -533, -534, -560, 508, 509, -534, 27861 508, 509, 8, 9, 8, 9, -317, 547, 391, -476, 27862 711, -322, 40, 155, 302, -393, -643, 672, 173, -558, 27863 -558, 604, -808, 581, -565, 173, -558, 359, 392, 615, 27864 194, 625, 160, 396, 220, 706, -559, -559, 707, -482, 27865 -558, -558, 705, 715, 707, 708, 707, -459, 708, -480, 27866 -466, 705, 705, 711, 707, -576, -577, 165, -558, 604, 27867 604, 604, 604, 706, 707, 708, -703, 414, 706, 706, 27868 -558, 707, 707, 707, 707, 39, 711, 711, 711, 707, 27869 711, 711, 711, 707, 707, 707, 711, -639, 707, 707, 27870 707, 672, 672, 707, 707, 707, 707, 711, 707, 711, 27871 707, 220, 707, 707, -522, 430, 707, 11, 12, 696, 27872 697, 698, 699, 207, 700, 701, 694, 695, 693, 686, 27873 687, 688, 100, 335, 510, 14, 15, 16, -421, 291, 27874 259, -559, -559, -559, -559, 707, -563, -564, 220, 209, 27875 39, -517, -517, -517, 707, 220, -480, 707, 707, -696, 27876 337, 384, 707, 711, 707, -552, -551, 664, -602, -471, 27877 2, -592, -388, -645, -552, -552, -480, -558, 297, 297, 27878 -510, 638, 403, -512, -592, -582, -641, -557, -556, 211, 27879 40, 155, 378, 379, 380, 254, 215, 195, -582, -386, 27880 -539, -582, -582, -585, -386, -537, 706, -585, -581, 707, 27881 -711, -641, 707, -472, -595, -690, 708, -645, 707, 646, 27882 67, -459, -459, 707, -645, -293, -691, -293, 567, 2, 27883 -246, 5, 392, -246, -246, -246, -246, -393, -652, 604, 27884 604, 259, 259, 259, 259, -474, -466, 26, -742, 666, 27885 431, -615, 704, 705, 8, -645, -639, -652, 220, 220, 27886 259, 259, 259, 259, 403, -722, 220, -650, -335, 707, 27887 711, -750, -759, -765, -759, 412, -335, 2, -335, -477, 27888 -335, -335, -418, -419, -335, -335, -142, -335, -501, 666, 27889 -642, -544, 622, 96, 460, 600, -642, 133, 518, 487, 27890 73, -272, 587, 259, -287, 711, 706, 546, 688, 688, 27891 688, 688, -292, 407, -290, 610, 600, 101, 710, 519, 27892 -652, 504, -652, -361, 708, -508, -508, -508, -285, 533, 27893 533, -361, -361, -361, 209, -466, -393, 2, -389, -645, 27894 -376, -393, -390, -418, 209, 209, -775, -775, -775, 588, 27895 271, 158, 186, 303, -376, -376, -331, 484, 536, -379, 27896 -379, -393, -302, -301, -299, -361, 5, -403, -361, 234, 27897 472, -650, 384, -549, 251, -336, 384, 251, -387, -615, 27898 706, -528, 668, 302, 302, 638, -379, -387, 302, 251, 27899 -379, 251, -387, 2, -387, -725, 460, 397, -558, -300, 27900 -299, 67, -434, 326, 458, 385, -332, 484, 536, 418, 27901 -177, -177, -177, 706, -777, 638, 159, -393, -418, -393, 27902 -403, -650, -398, 536, 418, 484, 381, -412, -640, -640, 27903 -640, -504, 536, 418, 484, -403, -650, -396, -361, -403, 27904 -650, 403, 392, 403, 147, 290, -361, -403, -650, -650, 27905 -342, 251, -361, 5, 471, -342, 251, 471, 471, 471, 27906 471, 234, 472, 519, -376, 471, 672, 50, -806, 604, 27907 220, -558, -558, -333, -177, -177, -177, 706, -377, -334, 27908 -465, 484, 5, 251, -379, 5, -379, 251, 5, -361, 27909 -379, -403, -650, -781, 25, 164, -379, 711, 306, 287, 27910 666, -735, 221, 516, 465, -330, 688, -272, 711, 688, 27911 688, -561, 189, 542, 604, -283, -282, 495, 494, -36, 27912 -35, -644, 73, -36, 73, -403, -650, -366, 425, -736, 27913 392, 5, 10, 634, -376, -723, -383, 519, 604, 604, 27914 -597, -740, -741, 236, 501, 519, 504, -173, -275, 666, 27915 -173, -269, 265, 698, -715, 2, -712, -607, 2, 287, 27916 -654, -654, 487, -561, -361, -752, -753, -756, -757, -752, 27917 -361, -425, -428, -426, -379, -550, -549, -673, -674, -669, 27918 320, 275, 276, 624, 289, 195, 108, -303, -304, 668, 27919 666, 177, -416, -393, 704, -272, -713, -608, 195, 527, 27920 706, -405, -406, 177, -451, 384, -650, 648, 39, 177, 27921 706, -614, -613, -361, 2, -397, 403, 384, -378, 251, 27922 -338, 166, -806, -376, -500, 638, 707, 711, -558, -499, 27923 -542, 496, 403, -452, 643, -386, -499, -473, 711, 220, 27924 688, 708, -452, -601, 698, -147, -147, -272, 706, -654, 27925 707, 711, 708, 706, 688, 688, -280, 407, -279, 169, 27926 304, 288, 549, 550, 551, 552, 553, 157, 548, 141, 27927 364, -782, 266, -783, -784, 520, 647, 628, 179, 180, 27928 483, 262, 263, 594, 661, 593, 662, -605, -654, -278, 27929 -174, -605, 259, 220, -94, 666, 630, -534, 404, 331, 27930 -587, -588, -323, 674, -393, 710, -558, -558, 173, 173, 27931 -558, -559, -559, -558, 173, 220, 706, -558, -569, 34, 27932 34, 707, 711, -554, -558, -420, 707, 698, -645, 710, 27933 707, -567, 170, -558, 598, 345, 249, 342, -521, 342, 27934 -521, -521, -639, 5, -645, 698, -704, -382, 706, -361, 27935 664, -457, 409, 707, -617, -615, -558, -558, -558, -558, 27936 -558, -639, 707, -620, -620, -635, -635, -558, -563, -558, 27937 -617, -615, -559, -559, -559, -559, -559, -559, -559, -559, 27938 -559, -559, -559, -559, -559, -559, -559, -559, -559, -559, 27939 -559, -559, 160, 384, 396, -559, -564, -563, -558, -558, 27940 -615, 707, 707, 707, -480, 706, 337, -361, -493, 240, 27941 -558, -605, 711, -493, -493, 707, -592, -592, 706, -558, 27942 297, 705, 711, 714, 688, 688, 688, -539, -581, -537, 27943 -538, -541, -361, -582, 705, 707, 711, 707, 711, -584, 27944 -645, -558, -461, -587, 707, 707, 708, -552, -295, 706, 27945 -294, 156, 60, 123, 153, 392, 400, 219, 245, 457, 27946 173, 210, 166, -293, 291, -742, -652, -652, 519, 519, 27947 519, 519, 406, 236, 5, 8, 704, 705, 708, 707, 27948 -652, -652, 519, 519, 519, 519, -716, 618, 519, 29, 27949 220, -652, -757, -759, -759, -335, -335, 135, 367, -558, 27950 -261, 666, 668, 565, -393, -173, -288, -289, -173, -173, 27951 -654, -654, 711, 706, 688, 688, 688, 698, -403, -404, 27952 -404, 698, -508, 5, -440, -439, 423, 396, -440, 508, 27953 508, 604, 604, 707, 711, 688, 67, 259, 177, 384, 27954 640, 384, -670, 175, -675, -558, 706, 270, 706, 706, 27955 2, -319, -320, -321, 164, 536, 25, -779, 2, 638, 27956 177, -335, 177, -335, 670, 707, 711, -434, 706, 706, 27957 604, 519, -354, 604, 666, -480, -558, -273, 145, -644, 27958 -729, 710, -729, 710, 519, 604, 604, 519, 604, 604, 27959 188, 280, 392, 384, -342, 177, -342, 251, -806, -342, 27960 -729, -729, 259, 666, 193, 193, 672, -342, -558, -558, 27961 209, 604, 666, -480, 604, -619, 55, 27, 384, -397, 27962 -335, 177, 604, 604, 618, 536, -326, -654, -173, -276, 27963 169, 500, 157, 304, 266, 179, -782, 631, 51, 406, 27964 -736, -173, -270, -654, -654, 583, 310, 711, 688, 602, 27965 711, -777, -736, -654, 392, -16, -403, -650, -398, 536, 27966 418, 484, -722, -722, 236, -408, -744, -605, -277, 407, 27967 -276, -605, -275, 220, 287, -607, -272, -654, 396, -120, 27968 666, 707, 711, 145, 688, 707, 2, 707, 707, 711, 27969 711, -676, -336, -393, 706, -361, 270, 275, 276, -385, 27970 -362, 39, 400, 400, 706, -393, -122, -123, 666, -124, 27971 605, -604, 638, -551, -641, -384, -361, -488, -271, 48, 27972 -396, 39, 177, -723, -398, -177, -398, -611, -612, 5, 27973 707, 711, -616, 39, -393, 177, 403, 384, -339, 312, 27974 -806, -649, -691, -552, -471, -502, -499, -488, 386, 105, 27975 707, -552, -490, -471, -558, 2, 707, -654, -272, -298, 27976 -380, 2, -655, -654, -654, 711, 706, 688, 688, 688, 27977 688, 688, 688, 688, 688, 688, 328, 151, -278, -605, 27978 -278, -174, -177, 407, 404, 203, 308, -322, -377, -558, 27979 -558, 173, 34, 34, -558, -558, -569, 707, -558, -558, 27980 -480, 705, 5, 8, -558, 707, 708, -705, -361, -558, 27981 707, 67, 707, 707, 711, 711, 707, 707, 707, 707, 27982 707, 707, 707, -564, 220, 160, 396, 706, 707, -146, 27983 -566, 243, 67, -592, -566, -566, -510, -466, -592, -556, 27984 -377, 704, -377, 704, 704, 707, 711, -615, -641, -595, 27985 -459, 711, -645, -294, -297, -296, 156, 217, 153, 392, 27986 400, 219, 245, 457, 173, 214, 212, 213, 166, 688, 27987 -654, -654, 2, 2, 5, 5, 457, 384, 392, 5, 27988 -246, -742, -742, 666, -408, -408, -408, -408, 406, 705, 27989 2, 704, -645, -408, -408, -408, -408, 220, -718, -408, 27990 588, 223, 452, -652, 135, 209, 248, 248, -272, -287, 27991 707, -290, -292, -654, -654, -558, -390, 587, 270, 706, 27992 706, -379, -379, -301, -642, 587, 508, -342, 446, -549, 27993 177, 177, -677, 108, -679, 89, 195, 118, 384, 392, 27994 624, 446, 83, 145, 403, 468, -796, -797, -798, 39, 27995 677, 678, 707, -462, -589, -690, 706, -361, -462, -466, 27996 384, 574, 145, 403, 384, 145, 403, 656, 135, 2, 27997 618, 92, -379, -387, -299, -466, -466, -393, -403, -650, 27998 185, 707, 711, 688, 2, 698, 698, -403, -650, -398, 27999 -403, -650, -396, -361, 280, 177, 643, -342, 177, -342, 28000 643, -342, 421, 193, 604, -177, -558, 185, 707, -377, 28001 5, 5, 177, -374, 89, -379, 5, -379, -397, 135, 28002 688, 688, 688, 688, 688, 328, 688, 688, 31, -736, 28003 -270, 666, 600, -282, -561, 688, -35, -642, 519, 604, 28004 604, 403, 403, 406, -740, -741, -275, 711, 706, -275, 28005 -655, -173, -272, 39, -561, 220, 2, 498, -756, -558, 28006 -558, -760, -761, -763, 39, 307, 611, 665, -764, -441, 28007 272, -379, -674, -671, -672, 446, -550, -678, -680, 195, 28008 446, -429, -462, 706, -378, 706, -361, 706, -177, 2, 28009 -302, 706, -427, -124, 407, 9, 192, 705, 220, 707, 28010 -650, -505, -177, -398, -451, -449, 666, -451, 707, 711, 28011 -361, 171, 706, -529, 638, -377, -393, 177, -340, 311, 28012 -806, -649, -337, -458, -455, 161, 706, 403, -177, -458, 28013 688, 707, 135, 707, -279, -280, -654, -173, -654, -654, 28014 -654, -558, -173, -654, -654, 688, 115, -278, -605, -95, 28015 -96, 270, 275, 108, 428, -322, -558, -558, -558, 707, 28016 698, -699, 423, 707, -587, -588, -558, -558, -559, 220, 28017 706, -569, 707, -700, 665, -558, -494, -495, -558, 506, 28018 124, 241, -700, -700, 707, -641, -641, -641, -541, 707, 28019 -587, -588, 707, 711, -654, 60, 123, 597, 5, -654, 28020 -654, 2, 2, 615, 194, 5, 5, 2, 2, 2, 28021 5, -654, 2, 392, 2, 2, 2, 604, 604, 604, 28022 604, 704, 2, 220, 220, 220, 220, -652, 220, 220, 28023 259, 259, 259, -177, 707, -393, -418, -480, -480, 259, 28024 39, 471, -549, -387, -387, -391, -384, 195, 251, 392, 28025 656, -528, 302, 706, -559, 630, -393, 706, 2, 250, 28026 250, 31, 67, -799, 150, 274, 707, 711, -590, -373, 28027 -361, -558, -590, 707, 707, 392, 630, 392, 656, -558, 28028 630, -615, 706, -335, -335, 707, 707, -558, 604, -644, 28029 115, -642, 2, -729, -342, -351, -342, -351, -729, -376, 28030 -558, 209, -558, 604, 5, -335, -391, -335, -335, -374, 28031 618, -654, -558, 615, 194, -173, -173, 688, -558, -558, 28032 402, -558, -561, -403, -650, -398, -745, 588, 529, 619, 28033 521, 223, 507, -745, 209, -276, -277, -275, -735, 527, 28034 403, 487, -747, 587, -770, -767, 56, 497, -763, -751, 28035 5, -649, -435, -436, 2, -676, 302, -384, 302, 261, 28036 176, 707, -462, 706, -462, 706, -466, -795, 666, 707, 28037 -425, -303, -123, -719, -415, -451, 39, 367, 135, 39, 28038 5, -616, 706, -614, 706, -361, 403, 706, -377, -356, 28039 106, -806, -649, -338, -532, -530, 385, -466, 108, -532, 28040 -565, -272, 706, -272, 707, -654, -278, 711, 29, 706, 28041 29, 706, -459, 67, 711, 711, 707, 707, -559, -569, 28042 707, -701, -702, -382, 711, 706, 706, 538, 705, 705, 28043 705, -296, 2, 2, -652, -652, -652, -652, 2, -652, 28044 -652, -652, -652, -652, -652, 519, 519, 519, 707, 707, 28045 -342, 446, -361, -670, -679, -384, 384, -304, 638, 666, 28046 -558, -559, -363, 706, -558, 706, 706, 39, 145, 274, 28047 151, 256, -548, -800, 117, 575, 260, -589, -322, 707, 28048 -547, 638, 468, -559, -374, -462, 706, 706, 706, 688, 28049 220, 711, -177, 706, -619, -335, -397, -654, 688, 604, 28050 2, 220, -722, 707, -735, -274, 666, -488, -561, 396, 28051 -748, 537, 46, -558, -773, 711, -303, 706, -304, -430, 28052 94, 109, 146, 250, 224, 271, 564, 572, 29, -430, 28053 -547, 707, -462, 707, -462, 707, -431, 403, 135, 367, 28054 707, 39, -552, 39, -177, 135, -177, -611, 707, -462, 28055 -393, -462, 403, -344, -343, 321, -649, -339, -499, 707, 28056 -387, -499, -655, -96, -466, -466, -706, 458, 509, 242, 28057 -480, -460, -460, 707, 711, 39, -495, 2, 2, 2, 28058 -742, -742, -742, -742, -408, -408, -408, 471, -336, 177, 28059 244, 707, -681, 336, -361, 707, -505, -505, 39, 151, 28060 256, -437, -433, 706, -323, -590, -304, 244, -393, -730, 28061 638, 707, -443, -442, -439, -445, -444, -439, -480, -642, 28062 115, 421, -342, -480, -374, -173, -652, -652, 403, -737, 28063 221, 516, 220, -281, 666, -561, -758, -759, -769, 5, 28064 -431, -463, -591, -379, -548, -547, 707, -437, 707, 95, 28065 135, -441, -177, -177, 2, -449, 707, 707, -529, 707, 28066 -393, -341, -656, 471, 473, -806, -340, -552, 161, 707, 28067 707, 707, 707, -707, -708, 57, 621, 125, -558, -707, 28068 -707, -702, -704, 220, 220, 220, 195, -546, 675, -682, 28069 -685, -684, 682, 545, 221, 422, 707, 574, 655, 707, 28070 707, -799, -466, -546, -451, -558, -547, 707, 711, 643, 28071 707, 711, 643, 707, 220, 707, -335, -742, -335, -745, 28072 -274, 51, 407, -719, -283, 407, 403, -760, -768, 170, 28073 -3, -767, -355, -354, 707, 711, -437, -548, -547, -304, 28074 -437, 445, 152, 164, -435, -795, -547, 706, -548, 706, 28075 -353, -352, -806, -635, -356, 161, 385, 630, -272, -709, 28076 175, -708, 442, 208, 508, 442, 208, -709, -709, -652, 28077 -652, -652, -384, -304, 62, -684, 682, -685, 682, 630, 28078 152, -552, 707, -681, -304, -442, 259, -444, 220, 421, 28079 220, -736, 31, -271, 706, -552, 706, -561, -770, 712, 28080 -304, -591, -304, -437, -548, -552, -304, 509, 509, 2, 28081 -303, -431, -548, -462, -437, -462, -349, -350, -351, -344, 28082 385, 630, 536, 125, 240, 599, 367, 34, 688, -683, 28083 367, 492, 75, 536, -683, -682, 706, 706, -652, -271, 28084 -735, -283, -281, -552, -304, -437, -464, 384, 657, 656, 28085 658, -552, 2, -431, -437, 707, -304, 707, -651, 418, 28086 -341, 536, -489, 508, 411, -708, -558, 24, 392, 145, 28087 -799, -480, -480, -335, 707, -274, 707, -464, -552, -304, 28088 656, 9, -464, -355, -304, -547, -552, -548, -348, -347, 28089 577, -806, -353, -489, -552, 707, 707, -464, -552, -552, 28090 -548, -464, -437, -346, -345, 525, 471, -650, -349, -552, 28091 -432, -433, 604, -464, -464, -437, -304, -342, -651, 706, 28092 -304, -552, 643, -348, -480, -552, -464, -351, -346, 707, 28093 -464, -432, 28094 } 28095 28096 var sqlDef = [...]int16{ 28097 -2, -2, 1, 2, 3, 4, 6, 7, 9, 10, 28098 11, 12, 14, 16, 18, 20, 22, 24, 26, 28, 28099 30, 32, 34, 35, 36, 38, 40, 42, 44, 45, 28100 46, 2006, 2008, 841, 842, 844, 845, 846, 848, 849, 28101 851, 853, 855, 856, 857, 859, 860, 862, 863, 864, 28102 865, 866, 868, 870, 0, 0, 0, 0, 0, 0, 28103 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 28104 990, 992, 0, 1988, 1990, 1992, 1994, 0, 0, -2, 28105 -2, 0, 0, -2, -2, -2, 48, 49, 51, 52, 28106 0, -2, 473, 475, 477, 479, 0, 511, 513, 514, 28107 516, 518, 520, 522, 524, 525, -2, 0, 756, 757, 28108 759, 761, 763, 765, -2, 0, 1553, 1555, 1557, 0, 28109 978, 980, 0, 1560, 1562, 1564, 0, 0, 1002, 1003, 28110 0, 2112, -2, 994, 996, 998, 1000, 1115, 1117, 1119, 28111 1121, 1123, 1125, 1127, 1129, 1131, 1133, 1135, 1136, 1138, 28112 1140, 1142, 1144, 1146, 1148, 1150, 1151, 1153, 1155, 1157, 28113 1158, 1160, 1161, 1163, 1165, 1167, 1169, 1171, 1173, 1175, 28114 1177, 1179, 1181, 1183, 1185, 1187, 1189, 1191, 1194, 1195, 28115 1196, 1198, -2, 0, -2, -2, 2002, 54, 56, 58, 28116 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 28117 80, 82, 1020, 1022, 1024, 1026, 1028, 687, 689, 691, 28118 693, 695, 698, 700, 702, 704, 706, 543, 545, 2170, 28119 767, 769, 771, 773, 775, 777, 779, 781, 783, 0, 28120 0, -2, 2184, 0, 0, 0, 1315, 84, 85, 86, 28121 87, 88, 89, 90, 91, 92, 93, 157, 158, 159, 28122 160, 161, 162, 163, 164, 97, 98, 99, 101, 102, 28123 103, 104, 108, 109, 110, 111, 112, 113, 114, 115, 28124 116, 117, 118, 119, 120, 121, 122, 123, 154, 155, 28125 95, 124, 125, 126, 127, 128, 130, 131, 132, 0, 28126 0, 2143, 2145, 2147, 2149, -2, 0, 0, 8, 13, 28127 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 28128 37, 39, 41, 43, 47, 2007, 2009, 843, 847, 850, 28129 852, 854, 858, 861, 867, 869, 871, 824, 825, 828, 28130 2917, 2936, 2937, 2938, 2941, 2942, 2943, 2944, 2945, 2946, 28131 4079, 4160, 4161, 4162, 4163, 2969, 2970, 2971, 2972, 2973, 28132 2974, 2975, 2976, 2977, 2978, 2979, 2980, 2981, 2982, 2983, 28133 2984, 2985, 2986, 2987, 2988, 2989, 2990, 2991, 2992, 2993, 28134 2994, 2995, 2996, 2997, 2998, 2999, 3000, 3001, 3002, 3003, 28135 3004, 3005, 3006, 3007, 3008, 3009, 3010, 3011, 3012, 3013, 28136 3014, 3015, 3016, 3017, 3018, 3019, 3020, 3021, 3022, 3023, 28137 3024, 3025, 3026, 3027, 3028, 3029, 3030, 3031, 3032, 3033, 28138 3034, 3035, 3036, 3037, 3038, 3039, 3040, 3041, 3042, 3043, 28139 3044, 3045, 3046, 3047, 3048, 3049, 3050, 3051, 3052, 3053, 28140 3054, 3055, 3056, 3057, 3058, 3059, 3060, 3061, 3062, 3063, 28141 3064, 3065, 3066, 3067, 3068, 3069, 3070, 3071, 3072, 3073, 28142 3074, 3075, 3076, 3077, 3078, 3079, 3080, 3081, 3082, 3083, 28143 3084, 3085, 3086, 3087, 3088, 3089, 3090, 3091, 3092, 3093, 28144 3094, 3095, 3096, 3097, 3098, 3099, 3100, 3101, 3102, 3103, 28145 3104, 3105, 3106, 3107, 3108, 3109, 3110, 3111, 3112, 3113, 28146 3114, 3115, 3116, 3117, 3118, 3119, 3120, 3121, 3122, 3123, 28147 3124, 3125, 3126, 3127, 3128, 3129, 3130, 3131, 3132, 3133, 28148 3134, 3135, 3136, 3137, 3138, 3139, 3140, 3141, 3142, 3143, 28149 3144, 3145, 3146, 3147, 3148, 3149, 3150, 3151, 3152, 3153, 28150 3154, 3155, 3156, 3157, 3158, 3159, 3160, 3161, 3162, 3163, 28151 3164, 3165, 3166, 3167, 3168, 3169, 3170, 3171, 3172, 3173, 28152 3174, 3175, 3176, 3177, 3178, 3179, 3180, 3181, 3182, 3183, 28153 3184, 3185, 3186, 3187, 3188, 3189, 3190, 3191, 3192, 3193, 28154 3194, 3195, 3196, 3197, 3198, 3199, 3200, 3201, 3202, 3203, 28155 3204, 3205, 3206, 3207, 3208, 3209, 3210, 3211, 3212, 3213, 28156 3214, 3215, 3216, 3217, 3218, 3219, 3220, 3221, 3222, 3223, 28157 3224, 3225, 3226, 3227, 3228, 3229, 3230, 3231, 3232, 3233, 28158 3234, 3235, 3236, 3237, 3238, 3239, 3240, 3241, 3242, 3243, 28159 3244, 3245, 3246, 3247, 3248, 3249, 3250, 3251, 3252, 3253, 28160 3254, 3255, 3256, 3257, 3258, 3259, 3260, 3261, 3262, 3263, 28161 3264, 3265, 3266, 3267, 3268, 3269, 3270, 3271, 3272, 3273, 28162 3274, 3275, 3276, 3277, 3278, 3279, 3280, 3281, 3282, 3283, 28163 3284, 3285, 3286, 3287, 3288, 3289, 3290, 3291, 3292, 3293, 28164 3294, 3295, 3296, 3297, 3298, 3299, 3300, 3301, 3302, 3303, 28165 3304, 3305, 3306, 3307, 3308, 3309, 3310, 3311, 3312, 3313, 28166 3314, 3315, 3316, 3317, 3318, 3319, 3320, 3321, 3322, 3323, 28167 3324, 3325, 3326, 3327, 3328, 3329, 3330, 3331, 3332, 3333, 28168 3334, 3335, 3336, 3337, 3338, 3339, 3340, 3341, 3342, 3343, 28169 3344, 3345, 3346, 3347, 3348, 3349, 3350, 3351, 3352, 3353, 28170 3354, 3355, 3356, 3357, 3358, 3359, 3360, 3361, 3362, 3363, 28171 3364, 3365, 3366, 3367, 3368, 3369, 3370, 3371, 3372, 3373, 28172 3374, 3375, 3376, 3377, 3378, 3379, 3380, 3381, 3382, 3383, 28173 3384, 3385, 3386, 3387, 3388, 3389, 3390, 3391, 3392, 3393, 28174 3394, 3395, 3396, 3397, 3398, 3399, 3400, 3401, 3402, 3403, 28175 3404, 3405, 3406, 3407, 3408, 3409, 3410, 3411, 3412, 3413, 28176 3414, 3415, 3416, 3417, 3418, 3419, 3420, 3421, 3422, 3423, 28177 3424, 3425, 3426, 3427, 3428, 4005, 4006, 4007, 4008, 4009, 28178 4010, 4011, 4012, 4013, 4014, 4015, 4016, 4017, 4018, 4019, 28179 4020, 4021, 4022, 4023, 4024, 4025, 4026, 4027, 4028, 4029, 28180 4030, 4031, 4032, 4033, 4034, 4035, 4036, 4037, 4038, 4039, 28181 4040, 4041, 4042, 4043, 4044, 4045, 4046, 4047, 4048, 4049, 28182 4050, 4051, 4052, 4053, 4054, 4055, 4056, 4057, 4058, 826, 28183 827, 427, 0, 2633, 0, 2931, 2932, -2, -2, -2, 28184 2955, 0, 4059, -2, 4061, 4062, 4063, 4064, 4065, 4066, 28185 4067, 4068, 4069, 4070, 4071, 4072, 4073, 4074, 4075, 4076, 28186 4077, 4078, 1749, 2171, 0, 933, 931, 2898, 934, 3253, 28187 936, 938, 750, 751, 752, 753, 754, 755, 0, 971, 28188 3369, 950, 2182, 972, 974, 975, 976, 977, 928, 926, 28189 0, 976, 971, 2974, 3369, 969, 1986, 1987, 0, 0, 28190 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28191 0, 0, 0, 0, 0, 0, 0, 0, 766, 0, 28192 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 28193 0, 0, 667, 532, 0, 1812, 1813, 1814, 1971, 1972, 28194 3314, 2017, 0, 296, 991, -2, -2, 4043, -2, 1068, 28195 1069, -2, -2, 1083, 1087, 1078, 4048, 0, 3317, 3299, 28196 -2, 1090, 1989, 1991, 1993, 1199, 1200, 1201, 2921, 1205, 28197 1203, 1215, 1216, 1219, 0, 1236, -2, 0, 2970, 3279, 28198 -2, -2, 1237, 1238, -2, -2, -2, -2, 1217, 1218, 28199 0, 0, 0, 0, 0, 2331, 2332, 2902, 918, 0, 28200 1193, 1244, 0, 0, 0, 0, -2, -2, -2, 0, 28201 0, 0, -2, 0, -2, -2, -2, 0, 0, 0, 28202 0, 0, 0, 0, 0, 0, -2, 0, 0, 1393, 28203 0, 0, 0, -2, -2, -2, -2, -2, 0, 0, 28204 0, 0, 0, 0, 0, -2, -2, 0, 0, -2, 28205 0, -2, 0, 1520, 0, 0, 0, 913, 532, 0, 28206 1247, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 0, 1260, 28207 1360, 1391, 1392, 1403, 2019, 2011, 2014, 2012, 2013, 50, 28208 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28209 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28210 0, 0, 0, 0, 0, 304, 306, -2, -2, -2, 28211 -2, 0, 0, 0, 3040, 4057, -2, 2866, 2938, 2869, 28212 2864, 474, 476, 478, 480, 481, 0, 0, 0, 0, 28213 0, 0, 0, 512, 515, 517, 519, 521, 523, -2, 28214 0, 526, 0, 0, 666, 0, 0, 0, 0, 0, 28215 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28216 0, 738, -2, -2, 0, 0, 0, 0, 0, 0, 28217 0, 0, 0, 1627, 1619, 1620, 1886, -2, 0, 0, 28218 -2, 758, 760, 762, 764, 829, 830, 0, 2171, 2171, 28219 837, 838, 839, 840, -2, -2, 0, 0, 0, 0, 28220 409, 400, 1554, 1556, 1558, 1559, 0, 0, 0, 0, 28221 0, 979, 981, 0, 0, 3369, 363, 1561, 1563, 1565, 28222 1566, 0, 0, 0, 0, 0, 0, 411, 0, 0, 28223 995, 997, 999, 1001, 1116, 1118, 1120, 1122, 1124, 1126, 28224 1128, 1130, 1132, 1134, 1137, 1139, 1141, 1143, 1145, 1147, 28225 1149, 1152, 1154, 1156, 1159, 1162, 1164, 1166, 1168, 1170, 28226 1172, 1174, 1176, 1178, 1180, 1182, 1184, 1186, 1188, 1190, 28227 1192, 1197, 0, 1792, 2172, 2019, 1996, 1997, 1998, 2003, 28228 2005, 1999, 2000, 2001, 55, 57, 59, 61, 63, 65, 28229 67, 69, 71, 73, 75, 77, 79, 81, 83, 1021, 28230 1023, 1025, 1027, 1029, 688, 690, 692, 694, 696, 699, 28231 701, 703, 705, 707, 544, 546, -2, 2141, 2142, 768, 28232 770, 772, 774, 776, 778, 780, 782, 784, 982, 0, 28233 985, 0, 1249, 984, -2, 0, 2176, 2176, 2176, 0, 28234 0, 2142, 2140, 0, 0, 0, 988, 989, 1094, 1095, 28235 2474, 0, 0, 0, 0, 0, 0, 0, 0, 2737, 28236 2563, 0, 1096, -2, -2, 2596, 2598, 4017, 3225, 4043, 28237 2736, 2600, 2601, 2602, 2603, 2604, 0, 2606, 2607, 2608, 28238 2609, 2610, 2611, 0, 2613, 0, 2618, 2619, 2620, 0, 28239 4024, 2841, 0, 0, 4031, 2927, 0, 2703, 2638, -2, 28240 2934, 2404, 2405, 2406, 2407, 2408, 2409, 2410, -2, 4062, 28241 2642, 2643, 2644, 2645, 2646, 2647, 2648, 2649, 2650, 2651, 28242 2652, 0, 4005, 4025, 4026, 4032, 4034, 4027, 4014, 2663, 28243 -2, -2, -2, -2, -2, -2, -2, -2, -2, 3059, 28244 -2, -2, -2, -2, -2, -2, 2433, 2442, -2, -2, 28245 -2, -2, -2, -2, -2, 4018, 4019, 4037, 4040, 4047, 28246 4052, 4053, 4023, 4033, 2434, -2, -2, -2, -2, 0, 28247 2159, 3271, 2162, 2279, 2160, 2144, 2146, 0, 2148, 0, 28248 0, 0, 2153, 2179, 2177, 0, 2238, 2157, 2158, 2262, 28249 2262, 2294, 0, 2267, 0, 2294, 2171, 2325, 0, 2273, 28250 3304, 2639, 2640, 2938, 0, 0, 0, 0, 0, 0, 28251 0, 884, 886, 888, 889, 891, 0, 0, 0, 0, 28252 0, 0, 0, 0, 929, 0, 935, 937, 0, 0, 28253 0, 0, 971, 970, 2181, 0, 0, 0, 0, 0, 28254 0, 0, 0, 0, 266, 4025, 622, 626, 629, 266, 28255 4025, 625, 0, 670, 671, 672, 673, 674, 4025, 0, 28256 0, 0, 0, 680, 681, 682, 683, 684, 685, 686, 28257 266, 4025, 789, 823, 819, 0, 266, 4025, 792, 822, 28258 266, 4025, 795, 821, 0, 798, 1884, 266, 4025, 801, 28259 2894, 266, 4025, 804, 811, 808, 4025, 807, 1031, 0, 28260 2737, 266, 4025, 815, 2911, 2909, 816, 0, 818, 286, 28261 282, 283, 284, 285, 1982, 1983, 1984, 1985, 0, 533, 28262 2016, 1885, 993, 0, 1019, 0, 1066, 1067, 4013, -2, 28263 0, 3329, 1071, 1072, -2, 1074, 2020, 2024, 2025, 2026, 28264 2027, 2028, 0, 0, 0, 0, 2033, 0, 0, 0, 28265 0, 1051, 1052, 1081, 1082, 1088, 1091, 0, 1208, 1204, 28266 1220, 0, 1235, 0, 1236, 1236, 2883, 2874, 2875, 0, 28267 0, 1236, 1236, 0, 0, 1239, 1240, 1241, 1242, 1243, 28268 910, 0, 911, 1245, 1246, 0, 0, 1265, 1266, 1267, 28269 0, 0, 1285, -2, -2, -2, -2, 3021, 1277, 412, 28270 413, 2951, 2952, 2960, 2961, 2962, 2963, 4060, 0, 1309, 28271 1312, -2, -2, 0, 0, 0, 0, 1319, 0, 1324, 28272 1325, 1326, 0, -2, 0, 1334, 1336, 1552, 1339, 0, 28273 1552, 0, 1341, 0, 1345, 0, 1348, 1349, 0, 1351, 28274 0, 1353, -2, -2, -2, 1361, 1362, -2, 0, 1368, 28275 -2, 0, 1373, 0, -2, 0, 1376, 0, 1380, -2, 28276 0, 1393, 1389, 1390, 0, 0, 0, 0, 1411, 1412, 28277 0, 1416, 0, 1420, 0, 1429, 0, 1432, 1433, 1434, 28278 0, 0, 1439, 1440, 0, 1442, 1443, 1444, 1446, 1447, 28279 1461, 0, 3412, 3325, 3040, 3130, 3323, 3097, 3258, 0, 28280 1460, -2, 3081, 1472, 1474, 0, -2, 0, 1490, 0, 28281 1495, 1496, 0, 0, 0, 1519, 0, 0, 0, 912, 28282 914, 533, 0, 916, 1248, 0, 1257, 1258, 1259, 2010, 28283 -2, 94, 0, 4025, 2325, 96, 0, 2888, 2964, 2965, 28284 2966, 2967, 2968, 4080, 4081, 4082, 4083, 4084, 4085, 4086, 28285 4087, 4088, 4089, 4090, 4091, 4092, 4093, 4094, 4095, 4096, 28286 4097, 4098, 4099, 4100, 4101, 4102, 4103, 4104, 4105, 4106, 28287 4107, 4108, 4109, 4110, 4111, 4112, 4113, 4114, 4115, 4116, 28288 4117, 4118, 4119, 4120, 4121, 4122, 4123, 4124, 4125, 4126, 28289 4127, 4128, 4129, 4130, 4131, 4132, 4133, 4134, 4135, 4136, 28290 4137, 4138, 4139, 4140, 4141, 4142, 4143, 4144, 4145, 4146, 28291 4147, 4148, 4149, 4150, 4151, 4152, 4153, 4154, 4155, 4156, 28292 4157, 4158, 4159, 100, 0, 4025, 105, 0, 4025, 0, 28293 -2, 129, 647, 133, 0, 134, 0, 156, 0, 184, 28294 -2, -2, -2, 165, 0, 4025, 0, 2863, -2, 0, 28295 278, -2, 0, 905, 401, 402, 0, 896, 1030, 0, 28296 0, 0, 0, 1591, -2, 0, 1805, 1807, 1807, 0, 28297 -2, 0, 0, 0, 1542, 2860, 2865, 1543, 1544, 2884, 28298 1545, 2870, 0, 482, 483, 484, 485, 486, 487, 4025, 28299 489, 490, 0, 492, 493, 4025, 495, 496, 0, 498, 28300 0, 500, 0, 547, 345, 343, 4025, 0, 534, 4025, 28301 531, 4025, 549, 552, 0, 0, 668, 0, 665, 0, 28302 649, 650, 0, 652, 0, 0, 0, 657, 658, 660, 28303 661, 662, 663, 664, 0, 711, 709, 2899, 734, 426, 28304 0, -2, 4025, 0, 1588, 0, 0, 1859, -2, 0, 28305 1798, -2, 0, 1867, 4025, 1862, 0, -2, 0, 2169, 28306 4025, 2037, 1623, 1624, 1625, 1626, 0, 741, 742, 0, 28307 2076, 0, 2078, 0, 2098, 2333, 2262, 0, 0, 2338, 28308 0, -2, 893, 2920, -2, 832, 0, 833, 0, -2, 28309 0, 426, 0, 0, 1569, 1571, 1572, 1574, 1575, 1578, 28310 1579, 1580, 1581, 0, 1583, 2311, 364, 366, 0, 0, 28311 0, 0, 1568, 1973, 1974, 1975, 1976, 1977, 1978, 1979, 28312 1980, 1981, 0, 734, 1004, 0, 0, 266, 2329, 1995, 28313 0, -2, 0, 983, 0, 987, 2211, 2127, 2124, 0, 28314 2208, 2209, 2128, 0, 0, 0, 2135, 0, 2174, 2175, 28315 0, 0, 0, 2114, 2115, 0, 0, 0, 0, 0, 28316 0, 2742, 2743, 2744, 2745, 2758, 2746, 2747, 2757, 2755, 28317 2756, 2748, 2749, 2754, 2768, 2769, 2759, 2760, 2750, 2763, 28318 2761, 2762, 2764, 2765, 2766, 2767, 0, 0, 2773, 2774, 28319 0, 2751, 2752, 2753, 2782, 0, 0, 2783, 0, 2785, 28320 0, 2775, 2770, 2771, 2772, 0, 2542, 2544, 2849, 0, 28321 0, 0, 2781, 2776, 2777, 2479, 2480, 2481, 2482, 2483, 28322 2517, 2521, 2522, 0, 0, 2597, 2846, 2845, 2599, 0, 28323 0, 2797, 0, 2612, -2, 0, 2737, 2792, 0, 0, 28324 2621, 2622, 2623, 0, 0, 2797, 0, 0, 2840, 2635, 28325 2636, 2471, 0, 0, 2705, 0, 0, 0, 0, 0, 28326 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28327 0, 0, 0, 2419, 0, 2420, 2421, 0, 2422, 2423, 28328 0, -2, 0, 0, 2443, 0, 0, 0, 0, 2447, 28329 0, 0, 0, 0, 0, 0, 0, 2821, -2, 0, 28330 0, 0, 0, 2435, 0, 0, 2161, 0, 0, 0, 28331 2242, 2850, 2854, 2855, 2242, 2242, 0, 0, 2798, 2322, 28332 2322, 0, 0, 2317, 2317, 2317, 2315, 2294, 0, 2294, 28333 2304, 0, 2294, 2294, -2, 2267, 0, 0, 2308, 0, 28334 2288, 872, 874, 876, 878, 879, 880, 882, 2326, 2327, 28335 0, 0, 0, 2939, 2625, 2186, 0, 0, 0, 0, 28336 2632, 0, 2882, 2924, 0, 0, 0, 0, 885, 887, 28337 890, 892, 0, 0, 0, 0, 2923, 0, 0, 2893, 28338 507, 508, 0, 0, 0, 3390, 3317, 0, -2, -2, 28339 -2, -2, 3325, 0, 0, 3040, 3081, 3097, 3258, 940, 28340 973, 0, 2171, 0, 2800, 2354, 2358, 0, 2360, 2361, 28341 2362, 0, 0, 2355, 2454, 2956, 2957, 2958, 2414, 2415, 28342 2416, 2417, 2418, 2426, 2413, 2413, 2413, 2424, -2, 2431, 28343 2453, 2445, 2453, 2449, 2397, 2398, 2399, 2436, 2437, 2438, 28344 2439, 0, 3390, 3317, 0, -2, 0, 953, 0, 0, 28345 0, 2109, 355, 356, 620, 0, 264, 265, 0, 628, 28346 0, 623, 0, 669, 0, 676, 677, 678, 0, 785, 28347 0, 0, 266, 4025, 790, 0, 793, 0, 266, 4025, 28348 2858, 799, 0, 802, 0, 0, 805, 809, 0, 0, 28349 3097, 813, 0, 0, 0, 0, 0, 266, 2111, 0, 28350 0, 0, 0, -2, 1076, 1084, 1085, 1086, 0, 2022, 28351 0, 2029, 1106, 1107, 1108, 2031, 2032, 0, 2034, 1079, 28352 1109, 1110, 1111, 1112, 1113, 1114, 0, 2872, 2873, 2878, 28353 2879, 0, 0, 1077, 1099, 1080, 0, 1092, 1211, 1206, 28354 1207, 1221, 1222, 0, 0, 2876, 2877, 0, 0, 1227, 28355 1228, 919, 0, 921, 0, 0, 1268, 364, 0, 0, 28356 1271, 0, 1285, 1285, 1285, 1285, 1301, 1307, 1308, 1497, 28357 1498, 1310, 1311, -2, -2, -2, -2, 1313, 1314, 1426, 28358 0, 0, 0, 1425, 1964, 0, 1330, 1333, 1337, 0, 28359 1524, 3299, 3317, 3390, 1550, 1338, 1426, 3040, 1426, 3040, 28360 1426, 3040, 1426, 1426, 1355, 1406, 1422, 1367, 1365, 1382, 28361 3071, 0, 1375, 0, 0, 0, 1369, 1374, 1378, 1381, 28362 0, 0, 1386, 1394, 0, 1396, -2, 0, 1398, 0, 28363 1400, 0, 1402, 1426, 1414, 1418, 1427, 1430, 0, 1438, 28364 1441, 0, 1448, 0, 1461, 1461, 1451, 2903, 1452, 2918, 28365 0, 0, 1455, 1456, 1457, 1458, 1459, -2, 0, 1465, 28366 1466, 0, 0, 1481, 1486, 1487, 1483, 0, 0, 0, 28367 0, 0, 1499, 1500, 1501, 1502, 1503, 1504, 1505, 0, 28368 1513, 1514, 0, 0, 0, 0, 1523, 917, 915, 0, 28369 1261, 166, 1968, 0, 0, 219, 0, 1968, 1968, 0, 28370 0, 0, 0, 247, 0, 0, 1657, 0, 0, 0, 28371 0, 184, 204, 215, 178, 179, 180, 0, 0, 0, 28372 0, 0, 0, 106, 1771, 0, 1774, 0, 0, 0, 28373 0, 0, 0, 0, 1787, 1790, 0, 0, 0, 0, 28374 638, 0, 607, 0, 0, 635, 646, 0, 0, 594, 28375 595, 596, 597, 0, 0, 602, 0, 0, 0, 0, 28376 608, 0, 0, 0, 0, 136, 137, 0, 0, 142, 28377 143, 0, 0, 203, 0, 0, 0, 0, 0, 0, 28378 2073, 0, 194, 184, 0, 0, 183, 185, 168, 0, 28379 0, 184, 188, 205, 217, 0, 253, 0, 191, 192, 28380 0, 255, 1654, 0, 0, 0, 0, 0, 0, 0, 28381 0, 277, 288, 0, 0, 330, 903, 0, 906, 0, 28382 895, 897, 734, 734, 0, 0, 0, 0, 0, 0, 28383 0, 0, 0, 1044, 0, 0, 1049, 1050, 0, 1045, 28384 1048, 0, 0, 0, 0, 1799, 0, 0, 0, 2168, 28385 0, 0, 0, 0, 4025, 1966, 0, 1949, 0, 2311, 28386 3150, -2, -2, 2311, 1541, 0, 0, 2939, 2868, 0, 28387 0, 0, 0, 499, 0, 0, 0, 354, 527, 0, 28388 0, 0, 0, 0, 554, 563, 0, 556, 0, 659, 28389 648, 651, 653, 654, 655, 697, 1718, 4025, 0, 0, 28390 738, 729, 0, 733, 0, 0, 737, 0, 0, 1770, 28391 4025, 1768, 0, 1796, 0, 1858, 1749, 4025, 2901, 0, 28392 0, 0, 1868, 2948, 1881, 1885, 2061, 0, 2339, 0, 28393 0, 2079, 2081, 0, 0, 2334, 0, 2336, 2262, 2171, 28394 0, 0, 0, 0, 404, 0, 0, 0, 0, 0, 28395 1582, 370, 0, 2310, 0, 0, 414, 2311, 364, 0, 28396 1567, 426, 426, 2311, 1006, 2311, 1008, 1791, 0, 2004, 28397 2211, 2127, 986, 2118, 2210, 2119, 2126, 2129, 0, 0, 28398 2131, 0, 2133, 0, 2206, 2207, 2214, 2215, 0, 2225, 28399 2226, 2218, 0, -2, 0, 0, 2221, 2222, 2137, 0, 28400 2154, 2155, 2156, 2187, 2193, 2194, 1900, 0, 4162, 1064, 28401 0, 2475, 2349, 2476, 2477, 2887, 0, 2484, 2485, 2486, 28402 2487, 2488, 2489, 2490, 2491, 2492, 2493, -2, -2, -2, 28403 -2, -2, -2, -2, -2, 2502, 2503, 2504, 2505, 2506, 28404 2507, 2508, 2509, 2510, 2511, 2512, 2513, -2, -2, -2, 28405 2518, 2519, 2520, -2, 2784, 2786, 0, 2849, 0, -2, 28406 0, -2, -2, -2, -2, 2539, 0, 2541, 2546, 2548, 28407 2550, 0, 0, 0, 0, 2848, 2560, 2832, 2833, 0, 28408 0, 2739, 2740, 2741, 2545, 0, 2564, 2847, 2844, 0, 28409 0, 2778, 0, 2742, 2743, 2744, 2745, 2746, 2747, 2748, 28410 2749, 2750, 2751, 2752, 2753, 2754, 2755, 2756, 2757, 2758, 28411 2759, 2760, 2761, 2762, 2763, 2764, 2765, 2766, 2767, 2768, 28412 2769, 2770, 2771, 2772, 2773, 2774, 2775, 0, 2796, 2186, 28413 2617, 2794, 0, 2793, 0, 0, 0, 2804, 2797, 0, 28414 2839, 2835, 0, 2885, 2470, 2457, 2458, 2459, 2460, 2461, 28415 2462, 2472, 0, 2924, 2930, 2713, 0, 0, 0, 2664, 28416 2665, 2666, 2667, 2668, 0, 2670, 2671, 0, 2673, 2674, 28417 0, 2676, 2677, 0, 2679, 2680, 2681, 2682, 2683, 0, 28418 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28419 0, 0, 0, 0, 0, 0, 0, 0, 0, 2365, 28420 2366, 2367, 2368, 2369, 2370, 2371, 2372, 2373, 2374, 2375, 28421 2376, 2377, 2378, 2379, 2380, 2381, 2382, 2383, 2384, 2385, 28422 2386, 2387, 2388, 2389, 2390, 2391, 2392, 2393, 2394, 2395, 28423 2396, 0, 0, 2685, 0, 2807, -2, -2, -2, -2, 28424 -2, -2, -2, -2, 0, 2687, 0, 2689, 2798, 2818, 28425 0, 0, 2565, 0, 0, 0, 0, 0, 2692, 2798, 28426 2826, 0, 0, 0, 0, 0, 2798, 0, 2831, 0, 28427 2699, 0, 2701, 1316, 1317, 2163, 2166, 0, 2280, 0, 28428 2344, 0, 0, 3449, 3442, 3769, -2, -2, 3889, 3665, 28429 -2, 3637, 0, 2853, 3765, 2856, 2857, 3429, 3430, 3431, 28430 3432, 3433, 3434, 3435, 3436, 3437, 3438, 3439, 3440, 3441, 28431 3443, 3444, 3445, 3446, 3447, 3448, 3450, 3451, 3452, 3453, 28432 3454, 3455, 3456, 3457, 3458, 3459, 3460, 3462, 3463, 3464, 28433 3465, 3466, 3467, 3468, 3469, 3470, 3471, 3472, 3473, 3474, 28434 3475, 3476, 3477, 3478, 3479, 3480, 3481, 3482, 3483, 3484, 28435 3485, 3486, 3487, 3488, 3489, 3490, 3491, 3492, 3493, 3494, 28436 3495, 3496, 3497, 3498, 3499, 3500, 3501, 3502, 3503, 3504, 28437 3505, 3506, 3507, 3508, 3509, 3510, 3511, 3512, 3513, 3514, 28438 3515, 3516, 3517, 3518, 3519, 3520, 3521, 3522, 3523, 3524, 28439 3525, 3526, 3527, 3528, 3529, 3530, 3531, 3532, 3533, 3534, 28440 3535, 3536, 3537, 3538, 3539, 3540, 3541, 3542, 3543, 3544, 28441 3545, 3546, 3547, 3548, 3549, 3550, 3551, 3552, 3553, 3554, 28442 3555, 3556, 3557, 3558, 3559, 3560, 3561, 3562, 3563, 3564, 28443 3565, 3566, 3567, 3568, 3569, 3570, 3571, 3572, 3573, 3574, 28444 3575, 3576, 3577, 3578, 3579, 3580, 3581, 3582, 3583, 3584, 28445 3585, 3586, 3587, 3588, 3589, 3590, 3591, 3592, 3593, 3594, 28446 3595, 3596, 3597, 3598, 3599, 3600, 3601, 3602, 3603, 3604, 28447 3605, 3606, 3607, 3608, 3609, 3610, 3611, 3612, 3613, 3614, 28448 3615, 3616, 3617, 3618, 3619, 3620, 3621, 3622, 3623, 3624, 28449 3625, 3626, 3627, 3628, 3629, 3630, 3631, 3632, 3634, 3635, 28450 3636, 3638, 3639, 3640, 3641, 3642, 3643, 3644, 3645, 3646, 28451 3647, 3648, 3649, 3650, 3651, 3652, 3653, 3654, 3655, 3656, 28452 3657, 3658, 3659, 3660, 3661, 3662, 3663, 3664, 3666, 3667, 28453 3668, 3669, 3670, 3671, 3672, 3673, 3674, 3675, 3676, 3677, 28454 3678, 3679, 3680, 3681, 3682, 3683, 3684, 3685, 3686, 3687, 28455 3688, 3689, 3691, 3692, 3693, 3694, 3695, 3696, 3697, 3698, 28456 3699, 3700, 3701, 3702, 3703, 3704, 3705, 3706, 3707, 3708, 28457 3709, 3710, 3711, 3712, 3713, 3714, 3715, 3716, 3717, 3718, 28458 3719, 3720, 3721, 3722, 3723, 3724, 3725, 3726, 3727, 3728, 28459 3729, 3730, 3731, 3732, 3733, 3734, 3735, 3736, 3737, 3738, 28460 3739, 3740, 3741, 3742, 3743, 3744, 3745, 3746, 3747, 3748, 28461 3749, 3750, 3751, 3752, 3753, 3754, 3755, 3756, 3757, 3758, 28462 3759, 3760, 3761, 3762, 3763, 3764, 3766, 3767, 3768, 3770, 28463 3771, 3772, 3773, 3774, 3775, 3776, 3777, 3778, 3779, 3780, 28464 3781, 3782, 3783, 3784, 3785, 3786, 3787, 3788, 3789, 3790, 28465 3791, 3792, 3793, 3794, 3795, 3796, 3797, 3798, 3799, 3800, 28466 3801, 3802, 3803, 3804, 3805, 3806, 3807, 3808, 3809, 3810, 28467 3811, 3812, 3813, 3814, 3815, 3816, 3817, 3818, 3819, 3820, 28468 3821, 3822, 3823, 3824, 3825, 3826, 3827, 3828, 3829, 3830, 28469 3831, 3832, 3833, 3834, 3835, 3836, 3837, 3838, 3839, 3840, 28470 3841, 3842, 3843, 3844, 3845, 3846, 3847, 3848, 3849, 3850, 28471 3851, 3852, 3853, 3854, 3855, 3856, 3857, 3858, 3859, 3860, 28472 3861, 3862, 3863, 3864, 3865, 3866, 3867, 3868, 3869, 3870, 28473 3871, 3872, 3873, 3874, 3875, 3876, 3877, 3878, 3879, 3880, 28474 3881, 3882, 3883, 3884, 3885, 3886, 3887, 3888, 3890, 3891, 28475 3892, 3893, 3894, 3895, 3896, 3897, 3898, 3899, 3900, 3901, 28476 3902, 3903, 3904, 3905, 3906, 3907, 3908, 3909, 3910, 3911, 28477 3912, 3913, 3914, 3915, 3916, 3917, 3918, 3919, 3920, 3921, 28478 3922, 3923, 3924, 3925, 3926, 3927, 3928, 3929, 3930, 3931, 28479 3932, 3933, 3934, 3935, 3936, 3937, 3938, 3939, 3940, 3941, 28480 3942, 3943, 3944, 3945, 3946, 3947, 3948, 3949, 3950, 3951, 28481 3952, 3953, 3954, 3955, 3956, 3957, 3958, 3959, 3960, 3961, 28482 3962, 3963, 3964, 3965, 3966, 3967, 3968, 3969, 3970, 3971, 28483 3972, 3973, 3974, 3975, 3976, 3977, 3978, 3979, 3980, 3981, 28484 3982, 3983, 3984, 3985, 3986, 3987, 3988, 3989, 3990, 3991, 28485 3992, 3993, 3994, 3995, 3996, 3997, 3998, 3999, 4000, 4001, 28486 4002, 4003, 4004, 2344, 2344, 0, 2237, 0, 0, 2318, 28487 2319, 2320, 2321, 0, 0, 2322, 0, 2312, 2316, 2313, 28488 2314, 2304, 2259, 0, 0, 2889, 2304, 2265, 2303, 0, 28489 2279, 2293, 2304, 2304, -2, 2269, 2307, 0, 2282, 2294, 28490 0, 0, 873, 875, 877, 881, 883, 0, 0, -2, 28491 0, 0, 0, 2185, 0, 2186, 2186, 0, 2631, 2634, 28492 0, -2, 429, -2, 431, 1748, 0, 0, 0, 0, 28493 0, 0, 0, 930, 932, 0, 0, 810, 0, 0, 28494 0, 0, 0, 1530, 0, 1532, 1533, 0, 1535, 1536, 28495 0, 1952, 924, 0, 927, 0, 2345, 2348, 0, 0, 28496 2359, 2363, 2364, 2455, 0, 0, 0, 0, 0, 0, 28497 0, 0, 968, 0, 3369, 0, 966, 0, 627, 266, 28498 0, 631, 632, 0, 0, 575, 576, 577, 578, 580, 28499 2959, 581, -2, -2, 266, 0, 679, 266, 820, 787, 28500 0, 266, 266, 796, 0, 0, 266, 812, 266, 808, 28501 1032, 2912, 266, 2910, 287, 817, 2110, 299, 0, 1063, 28502 0, 2021, 2030, 0, 1103, 0, 1105, 0, 2880, 2881, 28503 0, 1093, 0, 1209, 0, 1223, 1224, 1225, 1226, 0, 28504 920, 426, 0, 0, 1285, 1283, 0, 1286, 1288, 1289, 28505 0, 1291, 1292, 0, 0, 0, 1296, 0, 1298, 1272, 28506 1273, 1274, 1275, 1276, 0, 1357, 1408, 1424, 1485, 1318, 28507 1320, 1321, 1322, 0, 1327, 0, 0, 0, 0, 0, 28508 1551, 1546, 1547, 1548, 2913, 2909, 1549, 1340, 1426, 1343, 28509 1426, 1346, 1426, 1350, 1352, 0, 1384, 1371, 0, 1372, 28510 1576, 1577, 1377, 1379, 1395, 1388, 1397, 0, 0, 0, 28511 1410, 0, 0, 0, 1436, 0, 1445, 1462, 1449, 1450, 28512 1453, 0, 1464, -2, 1469, 1470, 0, 0, 0, 0, 28513 0, 0, 0, 1499, 1499, 1499, 1494, 0, 1511, 1516, 28514 1515, 0, 1521, 1522, 1262, 0, 0, 0, 0, 1967, 28515 0, 0, 1912, 0, 0, 223, 4025, 0, 268, 0, 28516 0, 1711, 2895, 0, 1699, 0, 0, 3068, 0, 0, 28517 0, 0, 0, 240, 0, 0, 0, 0, 0, 0, 28518 0, 0, 0, 0, 175, 0, 181, 182, 0, 0, 28519 0, 0, 0, 0, 0, 0, 1772, 1773, 1775, 1782, 28520 1784, 0, 1778, 1779, 0, 1781, 1783, 1785, 0, 1788, 28521 0, 0, 0, 0, 0, 0, 634, 636, 637, 607, 28522 0, 0, 0, 0, 0, 0, 0, 600, 601, 603, 28523 604, 605, 606, 0, 0, 0, 0, 0, 0, 0, 28524 0, 0, 144, 148, 1808, 3323, 0, 0, 0, 0, 28525 1809, 1810, 1811, 2049, 2050, 0, 2072, 2073, 0, 0, 28526 0, 0, 0, 0, 0, 177, 0, 0, 0, 190, 28527 193, 0, 2862, 0, 0, 0, 0, 0, 0, 0, 28528 0, 0, 0, 0, 329, 331, 0, 907, 0, 908, 28529 0, 898, 426, 900, 901, 422, 419, 421, 902, 0, 28530 0, 1037, 1036, 1038, 1039, 1040, 0, 0, 0, 0, 28531 0, 1057, 0, 0, 1058, 1046, 1047, 0, 0, 1801, 28532 0, 1854, 1852, 1824, 1825, 1826, 1827, 1828, 1829, 1830, 28533 1831, 1832, 1833, 1834, 1835, 1836, 1837, 1838, 1839, 1840, 28534 1841, 1842, 1843, 1844, 1845, 1846, 1847, 1848, 1849, 1850, 28535 1851, 0, 0, 0, 0, -2, 1803, 1804, 0, 0, 28536 0, 0, 0, 0, 0, 0, 309, 0, 417, 2861, 28537 2871, 0, 488, 491, 494, 497, -2, -2, 0, 0, 28538 0, 535, 0, 0, 551, 565, 565, 0, 1629, 1601, 28539 0, 0, 710, 426, 734, 736, 0, 424, 3228, 2916, 28540 1586, 1766, 1769, 0, 1749, 4025, 1820, 0, 0, 0, 28541 0, 0, 1874, 0, 1866, 0, 0, 4025, 2890, 2947, 28542 2948, 2063, 2073, 0, 749, 0, 745, 0, 2096, 2082, 28543 0, 0, 0, 2096, 2100, 2101, 2103, 2104, 0, 0, 28544 2335, 2341, 831, 894, 2171, 2171, 426, 0, 0, 2085, 28545 2087, 0, 0, 0, 357, 0, 367, 2311, 365, 0, 28546 370, 0, 2311, 364, 0, 725, 1005, 1010, 2330, 2122, 28547 2123, 2125, 0, 2134, 0, 0, 2220, -2, -2, 2219, 28548 2223, 2224, -2, -2, -2, -2, 2130, 0, 2139, 2136, 28549 0, 2205, 1898, 1899, 0, 0, 1065, 0, 0, -2, 28550 -2, 0, 0, 0, 2561, 0, -2, 2540, 2543, 2547, 28551 2549, 2551, 0, 0, 0, 0, 0, 0, 2787, 0, 28552 2789, 2562, 2842, 2845, 2780, 0, 2735, 0, 0, 2795, 28553 0, 2802, 2803, 0, 2624, 0, 2836, 0, 0, 0, 28554 0, 0, 0, 0, 0, 0, 2637, 0, 0, 0, 28555 0, 2669, 2672, 2675, 2678, 0, 0, 0, 0, 2658, 28556 0, 0, 0, 2662, 2425, 2411, 0, 0, 2428, 2432, 28557 2453, 2451, 2452, 2446, 2453, 2450, 2401, 0, 2400, 0, 28558 2684, 0, 2686, 2688, 0, 0, 2690, 0, 0, 0, 28559 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28560 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28561 0, 2568, 2569, 2570, 2590, 2691, 2824, 2825, 0, 0, 28562 0, 0, 0, 0, 2697, 0, 2830, 2698, 2700, 0, 28563 2164, 0, 2278, 0, 2239, 2228, 2343, 0, 2851, 2311, 28564 2241, 2243, 2852, 2892, 2228, 2228, 0, 2799, 0, 0, 28565 2298, 0, 0, 0, 2300, 2263, 0, 0, 2257, 0, 28566 2247, 2248, 2249, 2250, 2251, 2252, 2253, 0, 2264, 2279, 28567 2302, 2266, 2270, 0, 2282, 2306, 0, 2304, 0, 2289, 28568 0, 2291, 2328, 0, 2275, 2308, 0, 2940, 2626, 0, 28569 0, 0, 0, 2630, 2925, 2344, 0, 430, -2, 433, 28570 501, 509, 510, 502, 503, 504, 505, 0, 1952, 0, 28571 0, 0, 0, 0, 0, 1531, 1534, 0, 949, 0, 28572 0, 2801, 0, 2350, 0, 2356, 0, 951, 0, 0, 28573 0, 0, 0, 0, 0, 0, 0, 2108, 621, 630, 28574 0, 0, 574, 0, 573, 579, 624, 675, 786, 266, 28575 791, 794, 2859, 266, 800, 803, 806, 814, 295, 0, 28576 1018, -2, 1101, 1102, 1104, 0, 1100, 1214, 1210, 0, 28577 923, 1263, 0, 0, 1270, 0, 0, 1290, 0, 0, 28578 0, 0, 1299, 0, 1302, 0, 0, 0, 0, 0, 28579 1964, 1964, 1961, 1332, 0, 1342, 1344, 1347, 1383, 1399, 28580 1401, 1426, 1413, 1417, 0, 1437, 1454, 1468, 1475, 2891, 28581 1476, 1651, 0, 1651, 0, 0, 1491, 1492, 1493, 1506, 28582 1507, 1508, 1509, 1510, 1512, 1518, 220, 1968, 0, 0, 28583 0, 1908, 0, 1612, 0, 1607, 1608, 1910, 2908, 1914, 28584 1920, 1923, 0, 225, 4025, 237, 0, 4025, 0, 1673, 28585 0, 0, 0, 0, 0, 0, 1970, 0, 0, 4025, 28586 266, 4025, 266, 241, 243, 246, 0, 252, 248, 0, 28587 1609, 0, 1661, 0, 0, 1664, 167, 1968, 0, 0, 28588 170, 174, 186, 0, 0, 0, 202, 0, 0, 0, 28589 1925, 1929, 1937, 0, 0, 0, 1776, 1777, 1780, 1786, 28590 1789, 107, 0, 0, 0, 1933, 1935, 1941, 639, 640, 28591 641, 0, 0, 0, 598, 599, 643, 644, 645, 135, 28592 138, 4025, 2904, 2905, 0, 140, 4025, 0, 149, 2073, 28593 0, 0, 0, 0, 1907, 0, 0, 0, 0, 0, 28594 0, 0, 0, 254, 172, 176, 187, 0, 1943, 169, 28595 189, 0, 281, 0, 0, 271, 266, 4025, 0, 273, 28596 0, 274, 275, 289, 0, 0, 0, 0, 0, 0, 28597 0, 336, 0, 0, 0, 904, 0, 899, 0, 0, 28598 0, 1033, 1034, 1035, 0, 1043, 539, 0, 0, 1053, 28599 1061, 1059, 1054, 1055, 1056, 1589, 1590, 1853, 0, 1794, 28600 1795, 340, 341, 0, 1806, 1800, 0, 0, 0, 0, 28601 0, 1945, 1946, 0, 0, 0, 1966, 2311, 301, 0, 28602 2311, 309, 0, 2867, 0, 328, 0, 426, 728, 0, 28603 344, 353, 0, 534, 548, 0, 564, 566, 568, 0, 28604 0, 0, 0, 1628, 1729, 1630, 1632, 1633, 1634, 268, 28605 0, 0, 0, 1699, 3136, 2948, 0, 0, 1596, 0, 28606 0, 0, 716, 712, 0, 723, 730, 731, 0, 0, 28607 0, -2, 0, 0, 0, 0, -2, 0, 0, 0, 28608 1870, 0, 1873, 0, 1865, 0, 0, 0, 0, 4025, 28609 2065, 2073, 0, 2169, 2344, 0, 743, 0, 747, 2074, 28610 2096, 0, 0, 0, 2084, 2080, 2077, 2344, 0, 0, 28611 0, 0, 0, 2337, 2340, 834, 835, 403, 0, 426, 28612 0, 0, 0, 0, 0, 0, 368, 0, 371, 0, 28613 0, 0, 376, 377, 378, 379, 380, 381, 382, 0, 28614 0, 385, 0, 0, 0, 390, 391, 392, 0, 0, 28615 395, 325, 326, 398, 399, 396, 397, 370, 415, 359, 28616 2311, 370, 0, 0, 1007, 0, 2132, 0, 2217, 2138, 28617 2195, 2196, 2202, 0, 1900, 0, 2478, 2524, 0, 0, 28618 -2, 0, 0, 2528, 0, 0, 0, -2, 0, 0, 28619 0, 2788, 2790, 0, 2844, 2779, 2626, 2614, 2615, 0, 28620 2738, 2805, 2834, 2838, 0, 2463, 2464, 2465, 2466, 2467, 28621 2468, 2469, 0, 2886, 2925, 2929, 2711, 2712, 2716, 2900, 28622 0, 0, 0, 2641, 0, 0, 0, 0, 0, 0, 28623 0, 0, 2427, 2444, 2448, 0, 0, 2806, 2817, 2819, 28624 2566, 2567, 2571, 2572, 2573, 2574, 2575, 2576, 2577, 2578, 28625 2579, 2580, -2, -2, -2, 2584, 2585, 2586, -2, -2, 28626 -2, 2591, 0, 0, 0, 2820, 2822, 2823, 2827, 2828, 28627 0, 2694, 2695, 2696, 2829, 2171, 2165, 2281, 2236, 0, 28628 2342, 2240, 0, 2236, 2236, 2178, 2296, 0, 0, 2324, 28629 0, 2260, 0, 2261, 0, 0, 0, 2301, 2268, 2305, 28630 0, 2284, 2286, 2271, 2272, 2290, 0, 2274, 0, 2277, 28631 -2, 2186, 2188, 2197, 2627, 2629, 0, 428, 434, 0, 28632 437, 0, 442, 443, 0, 0, 0, 0, 448, 0, 28633 0, 0, 0, 432, 0, 939, 1952, 1952, 0, 0, 28634 0, 0, 941, 0, 925, 0, 0, 2352, 0, 2456, 28635 955, 957, 0, 0, 0, 0, 0, 3390, 3317, 0, 28636 0, 954, 633, 571, 572, 788, 797, 297, 0, 2309, 28637 0, 0, 0, 922, 426, 1285, 1287, 0, 1293, 1294, 28638 1295, 1297, 0, 0, 0, 0, 0, 1323, 1963, 1328, 28639 1329, 2914, 1409, 1435, 1477, 1650, 0, 0, 1479, 0, 28640 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 28641 267, 0, 1710, 0, 1671, 0, 0, 1698, 0, 0, 28642 1716, 227, 228, 229, 0, 0, 0, 0, 239, 0, 28643 0, 235, 0, 245, 251, 250, 0, 1658, 0, 0, 28644 0, 0, 1913, 0, 0, 0, 199, 200, 201, 0, 28645 206, 0, 207, 0, 0, 0, 0, 0, 0, 0, 28646 0, 592, 0, 0, 0, 0, 146, 0, 0, 0, 28647 151, 152, 0, 0, 2055, 2056, 0, 2040, 196, 0, 28648 0, 0, 0, 0, 0, 269, 0, 0, 0, 1897, 28649 291, 0, 0, 0, 0, 0, 332, 333, 334, 335, 28650 0, 313, 315, 0, 0, 0, 321, 323, 0, 0, 28651 342, 0, 423, 418, 420, 0, 1042, 0, 0, 0, 28652 0, 0, 1793, 1856, 1857, 1802, 1926, 1930, 1938, 0, 28653 0, 0, 0, 0, 976, 1965, 0, 309, 307, 0, 28654 310, 309, 303, 0, 0, 426, 0, 739, 0, 528, 28655 0, 0, 0, 0, 0, 584, 656, 1599, 1717, 0, 28656 0, 1719, 1635, 1639, 0, 0, 2948, 0, 0, 0, 28657 2897, 0, 1597, 0, 0, 1718, 708, 714, 0, 717, 28658 0, 720, 0, 722, 0, 735, 2896, 0, 0, 0, 28659 1770, 0, 0, 1797, 1749, 1823, 1749, 0, 1869, 1871, 28660 1863, 0, 1875, 0, 1883, 0, 0, 0, 2067, 2073, 28661 0, 2060, 2061, 2184, 748, 746, 2075, 2094, -2, 0, 28662 0, 2184, 2102, 2099, 2105, 2106, 0, 0, 406, 0, 28663 2086, 2088, 0, 1570, 1573, 0, 0, 0, 0, 0, 28664 0, 0, 0, 0, 0, 0, 0, 0, 358, 370, 28665 361, 2311, 410, 0, 2216, 2203, 2204, 2200, 1900, 2526, 28666 2530, 0, 0, 0, 2532, -2, 0, 2554, -2, -2, 28667 2791, 2843, 2605, 2616, 2837, 2473, 0, 2718, 2715, 0, 28668 2702, 0, 2653, 2654, 0, 0, 2657, 2659, 2660, 2661, 28669 2412, 2403, 2402, 2816, 0, 0, 0, 0, 2693, 0, 28670 2707, 0, 0, 2244, 2707, 2707, 2297, 0, 2299, 2258, 28671 2245, 0, 2254, 0, 0, 2283, 0, 2287, 2292, 2276, 28672 0, 0, 2926, 438, 0, 439, 0, 0, 0, 0, 28673 0, 0, 464, 0, 0, 0, 0, 0, 0, 0, 28674 444, 445, 446, 447, 449, 450, 0, 0, 0, 0, 28675 506, 942, 943, 0, 0, 0, 0, 0, 1951, 2346, 28676 2351, 0, 2357, 0, 0, 0, 0, 0, 0, 0, 28677 0, 0, 0, 967, 298, 0, 1212, 1213, 1264, 1269, 28678 1284, 1303, 0, 1304, 1305, 1306, 1649, 0, 0, 0, 28679 0, 221, 222, 1613, 1611, 1917, 1921, 1918, 0, 224, 28680 0, 0, 1672, 0, 1675, 0, 0, 0, 0, 1682, 28681 1699, 0, 0, 0, 0, 0, 0, 1701, 0, 1700, 28682 0, 0, 1733, 0, 1888, 1895, 0, -2, 0, 0, 28683 0, 231, 257, 0, 0, 0, 0, 260, 1969, 233, 28684 0, 0, 266, 266, 1610, 0, 0, 1909, 1911, 1924, 28685 0, 0, 0, 0, 209, 0, 0, 1927, 1931, 1939, 28686 1934, 1936, 1942, 642, 593, 0, 0, 141, 150, 2043, 28687 0, 0, 0, 2057, 0, 195, 0, 0, 0, 1944, 28688 279, 280, 0, 266, 0, 266, 272, 266, 1897, 0, 28689 0, 0, 0, 0, 0, 0, 0, 0, 337, 338, 28690 339, 0, 0, 540, 541, 0, 1062, 1060, 0, 0, 28691 0, 0, 0, 0, 1947, 1948, 300, 0, 0, 302, 28692 416, 309, 0, 0, 0, 0, 550, 560, 567, 569, 28693 570, 617, 583, 585, 0, 0, 589, 590, 591, 1660, 28694 0, 1729, 1721, 1722, 1723, 0, 1631, 1728, 1730, 0, 28695 0, 1636, 0, 0, 0, 0, 0, 0, 1616, 1598, 28696 0, 1629, 1601, 718, 0, 719, 721, 713, 0, 425, 28697 1587, 1767, 1815, 1749, 0, 1818, 0, 0, 1860, 0, 28698 0, 0, 1874, 0, 0, 0, 0, 0, 2069, 2073, 28699 0, 2062, 2063, 2213, 2183, 0, 0, 0, 2083, 2213, 28700 0, 426, 0, 426, 372, 0, 373, 374, 375, 383, 28701 384, 386, 387, 388, 389, 0, 394, 360, 370, 1009, 28702 1011, 0, 0, 0, 1017, 2201, 2534, -2, -2, 2555, 28703 2928, 2186, 0, 2704, 2189, 2190, 0, 0, -2, 0, 28704 0, 0, 2167, 2150, 0, 2235, 2227, 2229, 2231, 3302, 28705 3035, 4024, 2151, 2152, 2323, 0, 0, 0, 2285, 2628, 28706 2198, 2199, 435, 0, 455, 456, 457, 458, 459, 460, 28707 461, 462, 463, 465, 466, 467, 468, 469, 470, 471, 28708 0, 441, 451, 0, 453, 454, 944, 0, 0, 0, 28709 0, 0, 2353, 0, 0, 0, 0, 952, 0, 0, 28710 0, 0, 0, 1202, 1300, 1478, 1480, 0, 0, 0, 28711 0, 1919, 226, 0, 0, 1676, 1677, 1679, 0, 1681, 28712 1683, 1684, 1601, 0, 1688, 0, 2950, 0, 1693, 1696, 28713 1697, 0, 0, 1712, 1734, 0, 1743, 0, 1890, 1900, 28714 1894, 0, 1892, 1745, 0, 230, 259, 232, 261, 256, 28715 0, 1897, 0, 234, 244, 0, 0, 171, 0, 0, 28716 3028, 212, 210, 208, 139, 145, 2906, 147, 153, 1906, 28717 198, 0, 173, 0, 281, 290, 1896, 292, 276, 266, 28718 0, 312, 314, 316, 317, 318, 319, 0, 322, 324, 28719 0, 1041, 542, 1928, 1932, 1940, 0, 1955, 1956, 1957, 28720 1958, 1959, 0, 0, 0, 311, 0, 0, 352, 0, 28721 0, 0, 562, 559, 555, 615, 0, 0, 586, 619, 28722 609, 588, 1601, 1659, 1600, 1720, 0, 1731, 1601, 0, 28723 0, 1745, 0, 0, 0, 0, 0, 1603, 0, 1602, 28724 0, 0, 715, 2344, 732, 0, 0, 0, 1822, 0, 28725 1872, 1876, 1870, 0, 0, 1882, 0, 0, 0, 2039, 28726 0, 0, 2064, 2065, 2096, 2212, 2089, 0, 0, 2096, 28727 2107, 405, 0, 408, 369, 393, 362, 0, 1013, 0, 28728 1015, 0, 2722, 0, 0, 0, 2655, 2656, -2, 0, 28729 2594, 2706, 2708, 0, 0, 0, 0, 0, 2246, 2255, 28730 2256, 440, 472, 452, 1952, 1952, 1952, 1952, 2347, 959, 28731 960, 962, 964, 956, 958, 0, 0, 0, 1488, 1489, 28732 1915, 0, 1922, 268, 1674, 1678, 0, 1685, 0, 0, 28733 0, 1689, 1753, 0, 0, 1770, 1770, 1702, 0, 0, 28734 1737, 1738, 1656, 0, 1739, 1740, 1741, 1889, 2205, 1895, 28735 1601, 0, 0, 258, 263, 0, 0, 0, 0, 0, 28736 0, 0, 197, 0, 270, 293, 1897, 320, 0, 0, 28737 1960, 0, 0, 308, 349, 726, 0, 0, 538, 0, 28738 0, 561, 614, 610, 587, 0, 1603, 0, 1732, 1637, 28739 1640, 1641, 1642, 1643, 1644, 1645, 1646, 1647, 1648, 1638, 28740 1743, 1745, 0, 1656, 0, 1709, 1614, 0, 1617, 0, 28741 1599, 0, 724, 0, 1816, 0, 1823, 0, 1864, 0, 28742 1883, 0, 0, 2052, 2038, 2073, 2066, 2067, 740, 2344, 28743 0, 2097, 0, 1012, 0, 0, 0, 0, 0, 0, 28744 2717, 2191, 2192, 2595, 0, 0, 2230, 2232, 2233, 2234, 28745 945, 946, 947, 948, 0, 0, 0, 1916, 238, 0, 28746 1747, 1687, 1758, 0, 0, 0, 0, 0, 1703, 1735, 28747 1736, 1733, 1655, 0, 1893, 1891, 1714, 1747, 1749, 236, 28748 0, 1745, 0, 1665, 0, 0, 1668, 0, 0, 213, 28749 3028, 211, 2907, 0, 266, 909, 1952, 266, 0, 352, 28750 0, 0, 0, 529, 0, 0, 584, 582, 2171, 618, 28751 1595, 0, 1725, 1727, 1656, 1743, 1745, 1601, 1656, 0, 28752 1618, 1660, 1616, 1817, 1821, 1819, 1861, 1745, 0, 1743, 28753 0, 2059, 2073, 2053, 2054, 0, 2069, 0, 0, 426, 28754 1014, 1016, 2714, 2734, 2723, -2, 3393, 3036, 0, 2734, 28755 2734, 2709, 2710, 0, 0, 0, 0, 1601, 0, 1690, 28756 1754, 1755, 0, 1750, 1751, 1752, 2949, 1691, 1692, 1694, 28757 1695, 2344, 0, 1744, 1753, 262, 1601, 1662, 0, 0, 28758 1663, 0, 0, 216, 0, 218, 294, 1950, 1953, 0, 28759 327, 0, 0, 2344, 536, 0, 0, 617, 0, 616, 28760 611, 612, 1592, 1594, 1601, 0, 1601, 1656, 1743, 2344, 28761 1601, 0, 0, 0, 1601, 1603, 1743, 0, 1656, 0, 28762 2048, 2058, 0, 2068, 2039, 0, 2092, 0, 407, 2719, 28763 0, 0, 2725, 2726, 2727, 2728, 2729, 2720, 2721, 961, 28764 963, 965, 1680, 1686, 0, 1756, 0, 1757, 0, 0, 28765 0, 1713, 1742, 1758, 242, 1666, 0, 1669, 0, 214, 28766 0, 347, 348, 350, 0, 0, 0, 538, 553, 613, 28767 1724, 1726, 2344, 1601, 1656, 1905, 2344, 1604, 0, 1606, 28768 1603, 1615, 1656, 0, 1601, 0, 2071, 2047, 2051, 2052, 28769 2090, 0, 0, 0, 2731, 2732, 0, 0, 0, 1759, 28770 0, 1762, 1763, 0, 1760, 1733, 0, 0, 266, 0, 28771 352, 0, 530, 1905, 2344, 1601, 1707, 0, 1902, 1903, 28772 0, 1905, 1605, 1595, 1601, 1745, 2344, 1743, 2045, 2073, 28773 2059, 0, 2344, 2730, 2733, 2724, 1746, 1761, 1764, 1765, 28774 1715, 0, 0, 1954, 351, 727, 537, 1704, 1905, 2344, 28775 1901, 1904, 1708, 1593, 2344, 1743, 1905, 1656, 2042, 2044, 28776 0, 0, 2048, 2344, 2093, 1653, 0, 1705, 1905, 1905, 28777 1656, 1879, 1601, 2035, 2041, 0, 0, 2070, 2071, 2091, 28778 1667, 1652, 0, 1706, 1877, 1601, 2344, 0, 2045, 0, 28779 2344, 1905, 0, 2042, 0, 1905, 1880, 2046, 2036, 1653, 28780 1878, 1670, 28781 } 28782 28783 var sqlTok1 = [...]int16{ 28784 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 28785 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 28786 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 28787 3, 3, 3, 3, 3, 694, 3, 700, 695, 3, 28788 706, 707, 698, 696, 711, 697, 708, 699, 3, 3, 28789 3, 3, 3, 3, 3, 3, 3, 3, 715, 712, 28790 686, 688, 687, 691, 710, 3, 3, 3, 3, 3, 28791 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 28792 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 28793 3, 704, 3, 705, 701, 3, 3, 3, 3, 3, 28794 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 28795 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 28796 3, 3, 3, 713, 693, 714, 689, 28797 } 28798 28799 var sqlTok2 = [...]int16{ 28800 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 28801 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 28802 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 28803 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 28804 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 28805 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 28806 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 28807 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 28808 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 28809 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 28810 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 28811 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 28812 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 28813 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 28814 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 28815 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 28816 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 28817 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 28818 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 28819 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 28820 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 28821 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 28822 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 28823 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 28824 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 28825 252, 253, 254, 255, 256, 257, 28826 } 28827 28828 var sqlTok3 = [...]uint16{ 28829 57600, 258, 57601, 259, 57602, 260, 57603, 261, 57604, 262, 28830 57605, 263, 57606, 264, 57607, 265, 57608, 266, 57609, 267, 28831 57610, 268, 57611, 269, 57612, 270, 57613, 271, 57614, 272, 28832 57615, 273, 57616, 274, 57617, 275, 57618, 276, 57619, 277, 28833 57620, 278, 57621, 279, 57622, 280, 57623, 281, 57624, 282, 28834 57625, 283, 57626, 284, 57627, 285, 57628, 286, 57629, 287, 28835 57630, 288, 57631, 289, 57632, 290, 57633, 291, 57634, 292, 28836 57635, 293, 57636, 294, 57637, 295, 57638, 296, 57639, 297, 28837 57640, 298, 57641, 299, 57642, 300, 57643, 301, 57644, 302, 28838 57645, 303, 57646, 304, 57647, 305, 57648, 306, 57649, 307, 28839 57650, 308, 57651, 309, 57652, 310, 57653, 311, 57654, 312, 28840 57655, 313, 57656, 314, 57657, 315, 57658, 316, 57659, 317, 28841 57660, 318, 57661, 319, 57662, 320, 57663, 321, 57664, 322, 28842 57665, 323, 57666, 324, 57667, 325, 57668, 326, 57669, 327, 28843 57670, 328, 57671, 329, 57672, 330, 57673, 331, 57674, 332, 28844 57675, 333, 57676, 334, 57677, 335, 57678, 336, 57679, 337, 28845 57680, 338, 57681, 339, 57682, 340, 57683, 341, 57684, 342, 28846 57685, 343, 57686, 344, 57687, 345, 57688, 346, 57689, 347, 28847 57690, 348, 57691, 349, 57692, 350, 57693, 351, 57694, 352, 28848 57695, 353, 57696, 354, 57697, 355, 57698, 356, 57699, 357, 28849 57700, 358, 57701, 359, 57702, 360, 57703, 361, 57704, 362, 28850 57705, 363, 57706, 364, 57707, 365, 57708, 366, 57709, 367, 28851 57710, 368, 57711, 369, 57712, 370, 57713, 371, 57714, 372, 28852 57715, 373, 57716, 374, 57717, 375, 57718, 376, 57719, 377, 28853 57720, 378, 57721, 379, 57722, 380, 57723, 381, 57724, 382, 28854 57725, 383, 57726, 384, 57727, 385, 57728, 386, 57729, 387, 28855 57730, 388, 57731, 389, 57732, 390, 57733, 391, 57734, 392, 28856 57735, 393, 57736, 394, 57737, 395, 57738, 396, 57739, 397, 28857 57740, 398, 57741, 399, 57742, 400, 57743, 401, 57744, 402, 28858 57745, 403, 57746, 404, 57747, 405, 57748, 406, 57749, 407, 28859 57750, 408, 57751, 409, 57752, 410, 57753, 411, 57754, 412, 28860 57755, 413, 57756, 414, 57757, 415, 57758, 416, 57759, 417, 28861 57760, 418, 57761, 419, 57762, 420, 57763, 421, 57764, 422, 28862 57765, 423, 57766, 424, 57767, 425, 57768, 426, 57769, 427, 28863 57770, 428, 57771, 429, 57772, 430, 57773, 431, 57774, 432, 28864 57775, 433, 57776, 434, 57777, 435, 57778, 436, 57779, 437, 28865 57780, 438, 57781, 439, 57782, 440, 57783, 441, 57784, 442, 28866 57785, 443, 57786, 444, 57787, 445, 57788, 446, 57789, 447, 28867 57790, 448, 57791, 449, 57792, 450, 57793, 451, 57794, 452, 28868 57795, 453, 57796, 454, 57797, 455, 57798, 456, 57799, 457, 28869 57800, 458, 57801, 459, 57802, 460, 57803, 461, 57804, 462, 28870 57805, 463, 57806, 464, 57807, 465, 57808, 466, 57809, 467, 28871 57810, 468, 57811, 469, 57812, 470, 57813, 471, 57814, 472, 28872 57815, 473, 57816, 474, 57817, 475, 57818, 476, 57819, 477, 28873 57820, 478, 57821, 479, 57822, 480, 57823, 481, 57824, 482, 28874 57825, 483, 57826, 484, 57827, 485, 57828, 486, 57829, 487, 28875 57830, 488, 57831, 489, 57832, 490, 57833, 491, 57834, 492, 28876 57835, 493, 57836, 494, 57837, 495, 57838, 496, 57839, 497, 28877 57840, 498, 57841, 499, 57842, 500, 57843, 501, 57844, 502, 28878 57845, 503, 57846, 504, 57847, 505, 57848, 506, 57849, 507, 28879 57850, 508, 57851, 509, 57852, 510, 57853, 511, 57854, 512, 28880 57855, 513, 57856, 514, 57857, 515, 57858, 516, 57859, 517, 28881 57860, 518, 57861, 519, 57862, 520, 57863, 521, 57864, 522, 28882 57865, 523, 57866, 524, 57867, 525, 57868, 526, 57869, 527, 28883 57870, 528, 57871, 529, 57872, 530, 57873, 531, 57874, 532, 28884 57875, 533, 57876, 534, 57877, 535, 57878, 536, 57879, 537, 28885 57880, 538, 57881, 539, 57882, 540, 57883, 541, 57884, 542, 28886 57885, 543, 57886, 544, 57887, 545, 57888, 546, 57889, 547, 28887 57890, 548, 57891, 549, 57892, 550, 57893, 551, 57894, 552, 28888 57895, 553, 57896, 554, 57897, 555, 57898, 556, 57899, 557, 28889 57900, 558, 57901, 559, 57902, 560, 57903, 561, 57904, 562, 28890 57905, 563, 57906, 564, 57907, 565, 57908, 566, 57909, 567, 28891 57910, 568, 57911, 569, 57912, 570, 57913, 571, 57914, 572, 28892 57915, 573, 57916, 574, 57917, 575, 57918, 576, 57919, 577, 28893 57920, 578, 57921, 579, 57922, 580, 57923, 581, 57924, 582, 28894 57925, 583, 57926, 584, 57927, 585, 57928, 586, 57929, 587, 28895 57930, 588, 57931, 589, 57932, 590, 57933, 591, 57934, 592, 28896 57935, 593, 57936, 594, 57937, 595, 57938, 596, 57939, 597, 28897 57940, 598, 57941, 599, 57942, 600, 57943, 601, 57944, 602, 28898 57945, 603, 57946, 604, 57947, 605, 57948, 606, 57949, 607, 28899 57950, 608, 57951, 609, 57952, 610, 57953, 611, 57954, 612, 28900 57955, 613, 57956, 614, 57957, 615, 57958, 616, 57959, 617, 28901 57960, 618, 57961, 619, 57962, 620, 57963, 621, 57964, 622, 28902 57965, 623, 57966, 624, 57967, 625, 57968, 626, 57969, 627, 28903 57970, 628, 57971, 629, 57972, 630, 57973, 631, 57974, 632, 28904 57975, 633, 57976, 634, 57977, 635, 57978, 636, 57979, 637, 28905 57980, 638, 57981, 639, 57982, 640, 57983, 641, 57984, 642, 28906 57985, 643, 57986, 644, 57987, 645, 57988, 646, 57989, 647, 28907 57990, 648, 57991, 649, 57992, 650, 57993, 651, 57994, 652, 28908 57995, 653, 57996, 654, 57997, 655, 57998, 656, 57999, 657, 28909 58000, 658, 58001, 659, 58002, 660, 58003, 661, 58004, 662, 28910 58005, 663, 58006, 664, 58007, 665, 58008, 666, 58009, 667, 28911 58010, 668, 58011, 669, 58012, 670, 58013, 671, 58014, 672, 28912 58015, 673, 58016, 674, 58017, 675, 58018, 676, 58019, 677, 28913 58020, 678, 58021, 679, 58022, 680, 58023, 681, 58024, 682, 28914 58025, 683, 58026, 684, 58027, 685, 58028, 690, 58029, 692, 28915 58030, 702, 58031, 703, 58032, 709, 0, 28916 } 28917 28918 var sqlErrorMessages = [...]struct { 28919 state int 28920 token int 28921 msg string 28922 }{} 28923 28924 //line yaccpar:1 28925 28926 /* parser for yacc output */ 28927 28928 var ( 28929 sqlDebug = 0 28930 sqlErrorVerbose = false 28931 ) 28932 28933 type sqlLexer interface { 28934 Lex(lval *sqlSymType) int 28935 Error(s string) 28936 } 28937 28938 type sqlParser interface { 28939 Parse(sqlLexer) int 28940 Lookahead() int 28941 } 28942 28943 type sqlParserImpl struct { 28944 lval sqlSymType 28945 stack [sqlInitialStackSize]sqlSymType 28946 char int 28947 } 28948 28949 func (p *sqlParserImpl) Lookahead() int { 28950 return p.char 28951 } 28952 28953 func sqlNewParser() sqlParser { 28954 return &sqlParserImpl{} 28955 } 28956 28957 const sqlFlag = -1000 28958 28959 func sqlTokname(c int) string { 28960 if c >= 1 && c-1 < len(sqlToknames) { 28961 if sqlToknames[c-1] != "" { 28962 return sqlToknames[c-1] 28963 } 28964 } 28965 return __yyfmt__.Sprintf("tok-%v", c) 28966 } 28967 28968 func sqlStatname(s int) string { 28969 if s >= 0 && s < len(sqlStatenames) { 28970 if sqlStatenames[s] != "" { 28971 return sqlStatenames[s] 28972 } 28973 } 28974 return __yyfmt__.Sprintf("state-%v", s) 28975 } 28976 28977 func sqlErrorMessage(state, lookAhead int) string { 28978 const TOKSTART = 4 28979 28980 if !sqlErrorVerbose { 28981 return "syntax error" 28982 } 28983 28984 for _, e := range sqlErrorMessages { 28985 if e.state == state && e.token == lookAhead { 28986 return "syntax error: " + e.msg 28987 } 28988 } 28989 28990 res := "syntax error: unexpected " + sqlTokname(lookAhead) 28991 28992 // To match Bison, suggest at most four expected tokens. 28993 expected := make([]int, 0, 4) 28994 28995 // Look for shiftable tokens. 28996 base := int(sqlPact[state]) 28997 for tok := TOKSTART; tok-1 < len(sqlToknames); tok++ { 28998 if n := base + tok; n >= 0 && n < sqlLast && int(sqlChk[int(sqlAct[n])]) == tok { 28999 if len(expected) == cap(expected) { 29000 return res 29001 } 29002 expected = append(expected, tok) 29003 } 29004 } 29005 29006 if sqlDef[state] == -2 { 29007 i := 0 29008 for sqlExca[i] != -1 || int(sqlExca[i+1]) != state { 29009 i += 2 29010 } 29011 29012 // Look for tokens that we accept or reduce. 29013 for i += 2; sqlExca[i] >= 0; i += 2 { 29014 tok := int(sqlExca[i]) 29015 if tok < TOKSTART || sqlExca[i+1] == 0 { 29016 continue 29017 } 29018 if len(expected) == cap(expected) { 29019 return res 29020 } 29021 expected = append(expected, tok) 29022 } 29023 29024 // If the default action is to accept or reduce, give up. 29025 if sqlExca[i+1] != 0 { 29026 return res 29027 } 29028 } 29029 29030 for i, tok := range expected { 29031 if i == 0 { 29032 res += ", expecting " 29033 } else { 29034 res += " or " 29035 } 29036 res += sqlTokname(tok) 29037 } 29038 return res 29039 } 29040 29041 func sqllex1(lex sqlLexer, lval *sqlSymType) (char, token int) { 29042 token = 0 29043 char = lex.Lex(lval) 29044 if char <= 0 { 29045 token = int(sqlTok1[0]) 29046 goto out 29047 } 29048 if char < len(sqlTok1) { 29049 token = int(sqlTok1[char]) 29050 goto out 29051 } 29052 if char >= sqlPrivate { 29053 if char < sqlPrivate+len(sqlTok2) { 29054 token = int(sqlTok2[char-sqlPrivate]) 29055 goto out 29056 } 29057 } 29058 for i := 0; i < len(sqlTok3); i += 2 { 29059 token = int(sqlTok3[i+0]) 29060 if token == char { 29061 token = int(sqlTok3[i+1]) 29062 goto out 29063 } 29064 } 29065 29066 out: 29067 if token == 0 { 29068 token = int(sqlTok2[1]) /* unknown char */ 29069 } 29070 if sqlDebug >= 3 { 29071 __yyfmt__.Printf("lex %s(%d)\n", sqlTokname(token), uint(char)) 29072 } 29073 return char, token 29074 } 29075 29076 func sqlParse(sqllex sqlLexer) int { 29077 return sqlNewParser().Parse(sqllex) 29078 } 29079 29080 func (sqlrcvr *sqlParserImpl) Parse(sqllex sqlLexer) int { 29081 var sqln int 29082 var sqlVAL sqlSymType 29083 var sqlDollar []sqlSymType 29084 _ = sqlDollar // silence set and not used 29085 sqlS := sqlrcvr.stack[:] 29086 29087 Nerrs := 0 /* number of errors */ 29088 Errflag := 0 /* error recovery flag */ 29089 sqlstate := 0 29090 sqlrcvr.char = -1 29091 sqltoken := -1 // sqlrcvr.char translated into internal numbering 29092 defer func() { 29093 // Make sure we report no lookahead when not parsing. 29094 sqlstate = -1 29095 sqlrcvr.char = -1 29096 sqltoken = -1 29097 }() 29098 sqlp := -1 29099 goto sqlstack 29100 29101 ret0: 29102 return 0 29103 29104 ret1: 29105 return 1 29106 29107 sqlstack: 29108 /* put a state and value onto the stack */ 29109 if sqlDebug >= 4 { 29110 __yyfmt__.Printf("char %v in %v\n", sqlTokname(sqltoken), sqlStatname(sqlstate)) 29111 } 29112 29113 sqlp++ 29114 if sqlp >= len(sqlS) { 29115 nyys := make([]sqlSymType, len(sqlS)*2) 29116 copy(nyys, sqlS) 29117 sqlS = nyys 29118 } 29119 sqlS[sqlp] = sqlVAL 29120 sqlS[sqlp].yys = sqlstate 29121 29122 sqlnewstate: 29123 sqln = int(sqlPact[sqlstate]) 29124 if sqln <= sqlFlag { 29125 goto sqldefault /* simple state */ 29126 } 29127 if sqlrcvr.char < 0 { 29128 sqlrcvr.char, sqltoken = sqllex1(sqllex, &sqlrcvr.lval) 29129 } 29130 sqln += sqltoken 29131 if sqln < 0 || sqln >= sqlLast { 29132 goto sqldefault 29133 } 29134 sqln = int(sqlAct[sqln]) 29135 if int(sqlChk[sqln]) == sqltoken { /* valid shift */ 29136 sqlrcvr.char = -1 29137 sqltoken = -1 29138 sqlVAL = sqlrcvr.lval 29139 sqlstate = sqln 29140 if Errflag > 0 { 29141 Errflag-- 29142 } 29143 goto sqlstack 29144 } 29145 29146 sqldefault: 29147 /* default state action */ 29148 sqln = int(sqlDef[sqlstate]) 29149 if sqln == -2 { 29150 if sqlrcvr.char < 0 { 29151 sqlrcvr.char, sqltoken = sqllex1(sqllex, &sqlrcvr.lval) 29152 } 29153 29154 /* look through exception table */ 29155 xi := 0 29156 for { 29157 if sqlExca[xi+0] == -1 && int(sqlExca[xi+1]) == sqlstate { 29158 break 29159 } 29160 xi += 2 29161 } 29162 for xi += 2; ; xi += 2 { 29163 sqln = int(sqlExca[xi+0]) 29164 if sqln < 0 || sqln == sqltoken { 29165 break 29166 } 29167 } 29168 sqln = int(sqlExca[xi+1]) 29169 if sqln < 0 { 29170 goto ret0 29171 } 29172 } 29173 if sqln == 0 { 29174 /* error ... attempt to resume parsing */ 29175 switch Errflag { 29176 case 0: /* brand new error */ 29177 sqllex.Error(sqlErrorMessage(sqlstate, sqltoken)) 29178 Nerrs++ 29179 if sqlDebug >= 1 { 29180 __yyfmt__.Printf("%s", sqlStatname(sqlstate)) 29181 __yyfmt__.Printf(" saw %s\n", sqlTokname(sqltoken)) 29182 } 29183 fallthrough 29184 29185 case 1, 2: /* incompletely recovered error ... try again */ 29186 Errflag = 3 29187 29188 /* find a state where "error" is a legal shift action */ 29189 for sqlp >= 0 { 29190 sqln = int(sqlPact[sqlS[sqlp].yys]) + sqlErrCode 29191 if sqln >= 0 && sqln < sqlLast { 29192 sqlstate = int(sqlAct[sqln]) /* simulate a shift of "error" */ 29193 if int(sqlChk[sqlstate]) == sqlErrCode { 29194 goto sqlstack 29195 } 29196 } 29197 29198 /* the current p has no shift on "error", pop stack */ 29199 if sqlDebug >= 2 { 29200 __yyfmt__.Printf("error recovery pops state %d\n", sqlS[sqlp].yys) 29201 } 29202 sqlp-- 29203 } 29204 /* there is no state on the stack with an error shift ... abort */ 29205 goto ret1 29206 29207 case 3: /* no shift yet; clobber input char */ 29208 if sqlDebug >= 2 { 29209 __yyfmt__.Printf("error recovery discards %s\n", sqlTokname(sqltoken)) 29210 } 29211 if sqltoken == sqlEofCode { 29212 goto ret1 29213 } 29214 sqlrcvr.char = -1 29215 sqltoken = -1 29216 goto sqlnewstate /* try again in the same state */ 29217 } 29218 } 29219 29220 /* reduction by production sqln */ 29221 if sqlDebug >= 2 { 29222 __yyfmt__.Printf("reduce %v in:\n\t%v\n", sqln, sqlStatname(sqlstate)) 29223 } 29224 29225 sqlnt := sqln 29226 sqlpt := sqlp 29227 _ = sqlpt // guard against "declared and not used" 29228 29229 sqlp -= int(sqlR2[sqln]) 29230 // sqlp is now the index of $0. Perform the default action. Iff the 29231 // reduced production is ε, $1 is possibly out of range. 29232 if sqlp+1 >= len(sqlS) { 29233 nyys := make([]sqlSymType, len(sqlS)*2) 29234 copy(nyys, sqlS) 29235 sqlS = nyys 29236 } 29237 sqlVAL = sqlS[sqlp+1] 29238 29239 /* consult goto table to find next state */ 29240 sqln = int(sqlR1[sqln]) 29241 sqlg := int(sqlPgo[sqln]) 29242 sqlj := sqlg + sqlS[sqlp].yys + 1 29243 29244 if sqlj >= sqlLast { 29245 sqlstate = int(sqlAct[sqlg]) 29246 } else { 29247 sqlstate = int(sqlAct[sqlj]) 29248 if int(sqlChk[sqlstate]) != -sqln { 29249 sqlstate = int(sqlAct[sqlg]) 29250 } 29251 } 29252 // dummy call; replaced with literal code 29253 switch sqlnt { 29254 29255 case 1: 29256 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 29257 //line sql-gen.y:1777 29258 { 29259 sqllex.(*lexer).SetStmt(sqlDollar[1].union.stmt()) 29260 } 29261 case 2: 29262 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 29263 //line sql-gen.y:1782 29264 { 29265 return helpWith(sqllex, "") 29266 } 29267 case 5: 29268 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 29269 //line sql-gen.y:1786 29270 { 29271 sqlVAL.union.val = tree.Statement(nil) 29272 } 29273 case 8: 29274 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 29275 //line sql-gen.y:1792 29276 { 29277 return helpWith(sqllex, "ANALYZE") 29278 } 29279 case 13: 29280 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 29281 //line sql-gen.y:1796 29282 { 29283 return helpWith(sqllex, "EXECUTE") 29284 } 29285 case 15: 29286 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 29287 //line sql-gen.y:1797 29288 { 29289 return helpWith(sqllex, "DEALLOCATE") 29290 } 29291 case 17: 29292 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 29293 //line sql-gen.y:1798 29294 { 29295 return helpWith(sqllex, "DISCARD") 29296 } 29297 case 19: 29298 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 29299 //line sql-gen.y:1799 29300 { 29301 return helpWith(sqllex, "GRANT") 29302 } 29303 case 21: 29304 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 29305 //line sql-gen.y:1800 29306 { 29307 return helpWith(sqllex, "PREPARE") 29308 } 29309 case 23: 29310 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 29311 //line sql-gen.y:1801 29312 { 29313 return helpWith(sqllex, "REVOKE") 29314 } 29315 case 25: 29316 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 29317 //line sql-gen.y:1802 29318 { 29319 return helpWith(sqllex, "SAVEPOINT") 29320 } 29321 case 27: 29322 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 29323 //line sql-gen.y:1803 29324 { 29325 return helpWith(sqllex, "REASSIGN OWNED BY") 29326 } 29327 case 29: 29328 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 29329 //line sql-gen.y:1804 29330 { 29331 return helpWith(sqllex, "DROP OWNED BY") 29332 } 29333 case 31: 29334 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 29335 //line sql-gen.y:1805 29336 { 29337 return helpWith(sqllex, "RELEASE") 29338 } 29339 case 33: 29340 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 29341 //line sql-gen.y:1806 29342 { 29343 return helpWith(sqllex, "REFRESH") 29344 } 29345 case 37: 29346 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 29347 //line sql-gen.y:1809 29348 { 29349 return helpWith(sqllex, "CLOSE") 29350 } 29351 case 39: 29352 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 29353 //line sql-gen.y:1810 29354 { 29355 return helpWith(sqllex, "DECLARE") 29356 } 29357 case 41: 29358 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 29359 //line sql-gen.y:1811 29360 { 29361 return helpWith(sqllex, "FETCH") 29362 } 29363 case 43: 29364 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 29365 //line sql-gen.y:1812 29366 { 29367 return helpWith(sqllex, "MOVE") 29368 } 29369 case 47: 29370 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 29371 //line sql-gen.y:1815 29372 { 29373 return helpWith(sqllex, "SHOW COMMIT TIMESTAMP") 29374 } 29375 case 50: 29376 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 29377 //line sql-gen.y:1822 29378 { 29379 return helpWith(sqllex, "ALTER ROLE") 29380 } 29381 case 53: 29382 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 29383 //line sql-gen.y:1825 29384 { 29385 return helpWith(sqllex, "ALTER") 29386 } 29387 case 55: 29388 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 29389 //line sql-gen.y:1828 29390 { 29391 return helpWith(sqllex, "ALTER TABLE") 29392 } 29393 case 57: 29394 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 29395 //line sql-gen.y:1829 29396 { 29397 return helpWith(sqllex, "ALTER INDEX") 29398 } 29399 case 59: 29400 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 29401 //line sql-gen.y:1830 29402 { 29403 return helpWith(sqllex, "ALTER VIEW") 29404 } 29405 case 61: 29406 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 29407 //line sql-gen.y:1831 29408 { 29409 return helpWith(sqllex, "ALTER SEQUENCE") 29410 } 29411 case 63: 29412 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 29413 //line sql-gen.y:1832 29414 { 29415 return helpWith(sqllex, "ALTER DATABASE") 29416 } 29417 case 65: 29418 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 29419 //line sql-gen.y:1833 29420 { 29421 return helpWith(sqllex, "ALTER RANGE") 29422 } 29423 case 67: 29424 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 29425 //line sql-gen.y:1834 29426 { 29427 return helpWith(sqllex, "ALTER PARTITION") 29428 } 29429 case 69: 29430 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 29431 //line sql-gen.y:1835 29432 { 29433 return helpWith(sqllex, "ALTER SCHEMA") 29434 } 29435 case 71: 29436 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 29437 //line sql-gen.y:1836 29438 { 29439 return helpWith(sqllex, "ALTER TYPE") 29440 } 29441 case 73: 29442 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 29443 //line sql-gen.y:1837 29444 { 29445 return helpWith(sqllex, "ALTER DEFAULT PRIVILEGES") 29446 } 29447 case 75: 29448 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 29449 //line sql-gen.y:1838 29450 { 29451 return helpWith(sqllex, "ALTER CHANGEFEED") 29452 } 29453 case 77: 29454 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 29455 //line sql-gen.y:1839 29456 { 29457 return helpWith(sqllex, "ALTER BACKUP") 29458 } 29459 case 79: 29460 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 29461 //line sql-gen.y:1840 29462 { 29463 return helpWith(sqllex, "ALTER FUNCTION") 29464 } 29465 case 81: 29466 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 29467 //line sql-gen.y:1841 29468 { 29469 return helpWith(sqllex, "ALTER PROCEDURE") 29470 } 29471 case 83: 29472 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 29473 //line sql-gen.y:1842 29474 { 29475 return helpWith(sqllex, "ALTER BACKUP SCHEDULE") 29476 } 29477 case 94: 29478 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 29479 //line sql-gen.y:1903 29480 { 29481 return helpWith(sqllex, "ALTER TABLE") 29482 } 29483 case 96: 29484 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 29485 //line sql-gen.y:1929 29486 { 29487 return helpWith(sqllex, "ALTER PARTITION") 29488 } 29489 case 100: 29490 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 29491 //line sql-gen.y:1943 29492 { 29493 return helpWith(sqllex, "ALTER VIEW") 29494 } 29495 case 105: 29496 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 29497 //line sql-gen.y:1963 29498 { 29499 return helpWith(sqllex, "ALTER SEQUENCE") 29500 } 29501 case 106: 29502 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 29503 //line sql-gen.y:1967 29504 { 29505 sqlVAL.union.val = &tree.AlterSequence{Name: sqlDollar[3].union.unresolvedObjectName(), Options: sqlDollar[4].union.seqOpts(), IfExists: false} 29506 } 29507 case 107: 29508 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 29509 //line sql-gen.y:1971 29510 { 29511 sqlVAL.union.val = &tree.AlterSequence{Name: sqlDollar[5].union.unresolvedObjectName(), Options: sqlDollar[6].union.seqOpts(), IfExists: true} 29512 } 29513 case 129: 29514 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 29515 //line sql-gen.y:2034 29516 { 29517 return helpWith(sqllex, "ALTER FUNCTION") 29518 } 29519 case 133: 29520 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 29521 //line sql-gen.y:2051 29522 { 29523 return helpWith(sqllex, "ALTER PROCEDURE") 29524 } 29525 case 134: 29526 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 29527 //line sql-gen.y:2055 29528 { 29529 return helpWith(sqllex, "ALTER DATABASE") 29530 } 29531 case 135: 29532 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 29533 //line sql-gen.y:2059 29534 { 29535 sqlVAL.union.val = &tree.AlterDatabaseOwner{Name: tree.Name(sqlDollar[3].str), Owner: sqlDollar[6].union.roleSpec()} 29536 } 29537 case 136: 29538 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 29539 //line sql-gen.y:2066 29540 { 29541 sqlVAL.union.val = &tree.AlterRoleSet{ 29542 AllRoles: true, 29543 DatabaseName: tree.Name(sqlDollar[3].str), 29544 IsRole: true, 29545 SetOrReset: sqlDollar[4].union.setVar(), 29546 } 29547 } 29548 case 137: 29549 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 29550 //line sql-gen.y:2077 29551 { 29552 sqlVAL.union.val = &tree.AlterDatabasePlacement{ 29553 Name: tree.Name(sqlDollar[3].str), 29554 Placement: sqlDollar[4].union.dataPlacement(), 29555 } 29556 } 29557 case 138: 29558 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 29559 //line sql-gen.y:2086 29560 { 29561 sqlVAL.union.val = &tree.AlterDatabaseAddRegion{ 29562 Name: tree.Name(sqlDollar[3].str), 29563 Region: tree.Name(sqlDollar[6].str), 29564 } 29565 } 29566 case 139: 29567 sqlDollar = sqlS[sqlpt-9 : sqlpt+1] 29568 //line sql-gen.y:2093 29569 { 29570 sqlVAL.union.val = &tree.AlterDatabaseAddRegion{ 29571 Name: tree.Name(sqlDollar[3].str), 29572 Region: tree.Name(sqlDollar[9].str), 29573 IfNotExists: true, 29574 } 29575 } 29576 case 140: 29577 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 29578 //line sql-gen.y:2103 29579 { 29580 sqlVAL.union.val = &tree.AlterDatabaseDropRegion{ 29581 Name: tree.Name(sqlDollar[3].str), 29582 Region: tree.Name(sqlDollar[6].str), 29583 } 29584 } 29585 case 141: 29586 sqlDollar = sqlS[sqlpt-8 : sqlpt+1] 29587 //line sql-gen.y:2110 29588 { 29589 sqlVAL.union.val = &tree.AlterDatabaseDropRegion{ 29590 Name: tree.Name(sqlDollar[3].str), 29591 Region: tree.Name(sqlDollar[8].str), 29592 IfExists: true, 29593 } 29594 } 29595 case 142: 29596 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 29597 //line sql-gen.y:2120 29598 { 29599 sqlVAL.union.val = &tree.AlterDatabaseSurvivalGoal{ 29600 Name: tree.Name(sqlDollar[3].str), 29601 SurvivalGoal: sqlDollar[4].union.survivalGoal(), 29602 } 29603 } 29604 case 143: 29605 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 29606 //line sql-gen.y:2129 29607 { 29608 sqlVAL.union.val = &tree.AlterDatabasePrimaryRegion{ 29609 Name: tree.Name(sqlDollar[3].str), 29610 PrimaryRegion: tree.Name(sqlDollar[4].str), 29611 } 29612 } 29613 case 144: 29614 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 29615 //line sql-gen.y:2136 29616 { 29617 sqlVAL.union.val = &tree.AlterDatabasePrimaryRegion{ 29618 Name: tree.Name(sqlDollar[3].str), 29619 PrimaryRegion: tree.Name(sqlDollar[5].str), 29620 } 29621 } 29622 case 145: 29623 sqlDollar = sqlS[sqlpt-9 : sqlpt+1] 29624 //line sql-gen.y:2145 29625 { 29626 sqlVAL.union.val = &tree.AlterDatabaseAddSuperRegion{ 29627 DatabaseName: tree.Name(sqlDollar[3].str), 29628 SuperRegionName: tree.Name(sqlDollar[7].str), 29629 Regions: sqlDollar[9].union.nameList(), 29630 } 29631 } 29632 case 146: 29633 sqlDollar = sqlS[sqlpt-7 : sqlpt+1] 29634 //line sql-gen.y:2155 29635 { 29636 sqlVAL.union.val = &tree.AlterDatabaseDropSuperRegion{ 29637 DatabaseName: tree.Name(sqlDollar[3].str), 29638 SuperRegionName: tree.Name(sqlDollar[7].str), 29639 } 29640 } 29641 case 147: 29642 sqlDollar = sqlS[sqlpt-9 : sqlpt+1] 29643 //line sql-gen.y:2164 29644 { 29645 sqlVAL.union.val = &tree.AlterDatabaseAlterSuperRegion{ 29646 DatabaseName: tree.Name(sqlDollar[3].str), 29647 SuperRegionName: tree.Name(sqlDollar[7].str), 29648 Regions: sqlDollar[9].union.nameList(), 29649 } 29650 } 29651 case 148: 29652 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 29653 //line sql-gen.y:2174 29654 { 29655 sqlVAL.union.val = &tree.AlterDatabaseSecondaryRegion{ 29656 DatabaseName: tree.Name(sqlDollar[3].str), 29657 SecondaryRegion: tree.Name(sqlDollar[5].str), 29658 } 29659 } 29660 case 149: 29661 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 29662 //line sql-gen.y:2183 29663 { 29664 sqlVAL.union.val = &tree.AlterDatabaseDropSecondaryRegion{ 29665 DatabaseName: tree.Name(sqlDollar[3].str), 29666 IfExists: false, 29667 } 29668 } 29669 case 150: 29670 sqlDollar = sqlS[sqlpt-8 : sqlpt+1] 29671 //line sql-gen.y:2191 29672 { 29673 sqlVAL.union.val = &tree.AlterDatabaseDropSecondaryRegion{ 29674 DatabaseName: tree.Name(sqlDollar[3].str), 29675 IfExists: true, 29676 } 29677 } 29678 case 151: 29679 sqlDollar = sqlS[sqlpt-7 : sqlpt+1] 29680 //line sql-gen.y:2200 29681 { 29682 s := sqlDollar[7].union.setZoneConfig() 29683 sqlVAL.union.val = &tree.AlterDatabaseSetZoneConfigExtension{ 29684 DatabaseName: tree.Name(sqlDollar[3].str), 29685 LocalityLevel: tree.LocalityLevelGlobal, 29686 ZoneConfigSettings: tree.ZoneConfigSettings{ 29687 SetDefault: s.SetDefault, 29688 YAMLConfig: s.YAMLConfig, 29689 Options: s.Options, 29690 }, 29691 } 29692 } 29693 case 152: 29694 sqlDollar = sqlS[sqlpt-7 : sqlpt+1] 29695 //line sql-gen.y:2213 29696 { 29697 s := sqlDollar[7].union.setZoneConfig() 29698 sqlVAL.union.val = &tree.AlterDatabaseSetZoneConfigExtension{ 29699 DatabaseName: tree.Name(sqlDollar[3].str), 29700 LocalityLevel: tree.LocalityLevelTable, 29701 ZoneConfigSettings: tree.ZoneConfigSettings{ 29702 SetDefault: s.SetDefault, 29703 YAMLConfig: s.YAMLConfig, 29704 Options: s.Options, 29705 }, 29706 } 29707 } 29708 case 153: 29709 sqlDollar = sqlS[sqlpt-9 : sqlpt+1] 29710 //line sql-gen.y:2226 29711 { 29712 s := sqlDollar[9].union.setZoneConfig() 29713 sqlVAL.union.val = &tree.AlterDatabaseSetZoneConfigExtension{ 29714 DatabaseName: tree.Name(sqlDollar[3].str), 29715 LocalityLevel: tree.LocalityLevelTable, 29716 RegionName: tree.Name(sqlDollar[8].str), 29717 ZoneConfigSettings: tree.ZoneConfigSettings{ 29718 SetDefault: s.SetDefault, 29719 YAMLConfig: s.YAMLConfig, 29720 Options: s.Options, 29721 }, 29722 } 29723 } 29724 case 156: 29725 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 29726 //line sql-gen.y:2262 29727 { 29728 return helpWith(sqllex, "ALTER RANGE") 29729 } 29730 case 165: 29731 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 29732 //line sql-gen.y:2296 29733 { 29734 return helpWith(sqllex, "ALTER INDEX") 29735 } 29736 case 166: 29737 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 29738 //line sql-gen.y:2300 29739 { 29740 sqlVAL.union.val = &tree.AlterTable{Table: sqlDollar[3].union.unresolvedObjectName(), IfExists: false, Cmds: sqlDollar[4].union.alterTableCmds()} 29741 } 29742 case 167: 29743 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 29744 //line sql-gen.y:2304 29745 { 29746 sqlVAL.union.val = &tree.AlterTable{Table: sqlDollar[5].union.unresolvedObjectName(), IfExists: true, Cmds: sqlDollar[6].union.alterTableCmds()} 29747 } 29748 case 168: 29749 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 29750 //line sql-gen.y:2310 29751 { 29752 sqlVAL.union.val = &tree.AlterIndex{Index: sqlDollar[3].union.tableIndexName(), IfExists: false, Cmds: sqlDollar[4].union.alterIndexCmds()} 29753 } 29754 case 169: 29755 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 29756 //line sql-gen.y:2314 29757 { 29758 sqlVAL.union.val = &tree.AlterIndex{Index: sqlDollar[5].union.tableIndexName(), IfExists: true, Cmds: sqlDollar[6].union.alterIndexCmds()} 29759 } 29760 case 170: 29761 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 29762 //line sql-gen.y:2320 29763 { 29764 name := sqlDollar[3].union.unresolvedObjectName().ToTableName() 29765 sqlVAL.union.val = &tree.Split{ 29766 TableOrIndex: tree.TableIndexName{Table: name}, 29767 Rows: sqlDollar[6].union.slct(), 29768 ExpireExpr: tree.Expr(nil), 29769 } 29770 } 29771 case 171: 29772 sqlDollar = sqlS[sqlpt-9 : sqlpt+1] 29773 //line sql-gen.y:2329 29774 { 29775 name := sqlDollar[3].union.unresolvedObjectName().ToTableName() 29776 sqlVAL.union.val = &tree.Split{ 29777 TableOrIndex: tree.TableIndexName{Table: name}, 29778 Rows: sqlDollar[6].union.slct(), 29779 ExpireExpr: sqlDollar[9].union.expr(), 29780 } 29781 } 29782 case 172: 29783 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 29784 //line sql-gen.y:2340 29785 { 29786 sqlVAL.union.val = &tree.Split{TableOrIndex: sqlDollar[3].union.tableIndexName(), Rows: sqlDollar[6].union.slct(), ExpireExpr: tree.Expr(nil)} 29787 } 29788 case 173: 29789 sqlDollar = sqlS[sqlpt-9 : sqlpt+1] 29790 //line sql-gen.y:2344 29791 { 29792 sqlVAL.union.val = &tree.Split{TableOrIndex: sqlDollar[3].union.tableIndexName(), Rows: sqlDollar[6].union.slct(), ExpireExpr: sqlDollar[9].union.expr()} 29793 } 29794 case 174: 29795 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 29796 //line sql-gen.y:2350 29797 { 29798 name := sqlDollar[3].union.unresolvedObjectName().ToTableName() 29799 sqlVAL.union.val = &tree.Unsplit{ 29800 TableOrIndex: tree.TableIndexName{Table: name}, 29801 Rows: sqlDollar[6].union.slct(), 29802 } 29803 } 29804 case 175: 29805 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 29806 //line sql-gen.y:2358 29807 { 29808 name := sqlDollar[3].union.unresolvedObjectName().ToTableName() 29809 sqlVAL.union.val = &tree.Unsplit{ 29810 TableOrIndex: tree.TableIndexName{Table: name}, 29811 All: true, 29812 } 29813 } 29814 case 176: 29815 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 29816 //line sql-gen.y:2368 29817 { 29818 sqlVAL.union.val = &tree.Unsplit{TableOrIndex: sqlDollar[3].union.tableIndexName(), Rows: sqlDollar[6].union.slct()} 29819 } 29820 case 177: 29821 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 29822 //line sql-gen.y:2372 29823 { 29824 sqlVAL.union.val = &tree.Unsplit{TableOrIndex: sqlDollar[3].union.tableIndexName(), All: true} 29825 } 29826 case 182: 29827 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 29828 //line sql-gen.y:2384 29829 { 29830 sqlVAL.union.val = tree.RelocateLease 29831 } 29832 case 183: 29833 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 29834 //line sql-gen.y:2390 29835 { 29836 sqlVAL.union.val = tree.RelocateVoters 29837 } 29838 case 184: 29839 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 29840 //line sql-gen.y:2394 29841 { 29842 29843 sqlVAL.union.val = tree.RelocateVoters 29844 } 29845 case 185: 29846 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 29847 //line sql-gen.y:2399 29848 { 29849 sqlVAL.union.val = tree.RelocateNonVoters 29850 } 29851 case 186: 29852 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 29853 //line sql-gen.y:2405 29854 { 29855 29856 name := sqlDollar[3].union.unresolvedObjectName().ToTableName() 29857 sqlVAL.union.val = &tree.Relocate{ 29858 TableOrIndex: tree.TableIndexName{Table: name}, 29859 Rows: sqlDollar[6].union.slct(), 29860 SubjectReplicas: sqlDollar[5].union.relocateSubject(), 29861 } 29862 } 29863 case 187: 29864 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 29865 //line sql-gen.y:2417 29866 { 29867 29868 sqlVAL.union.val = &tree.Relocate{ 29869 TableOrIndex: sqlDollar[3].union.tableIndexName(), 29870 Rows: sqlDollar[6].union.slct(), 29871 SubjectReplicas: sqlDollar[5].union.relocateSubject(), 29872 } 29873 } 29874 case 188: 29875 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 29876 //line sql-gen.y:2428 29877 { 29878 sqlVAL.union.val = &tree.AlterIndexVisible{ 29879 Index: sqlDollar[3].union.tableIndexName(), 29880 Invisibility: sqlDollar[4].union.indexInvisibility(), 29881 IfExists: false, 29882 } 29883 } 29884 case 189: 29885 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 29886 //line sql-gen.y:2436 29887 { 29888 sqlVAL.union.val = &tree.AlterIndexVisible{ 29889 Index: sqlDollar[5].union.tableIndexName(), 29890 Invisibility: sqlDollar[6].union.indexInvisibility(), 29891 IfExists: true, 29892 } 29893 } 29894 case 190: 29895 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 29896 //line sql-gen.y:2446 29897 { 29898 sqlVAL.union.val = tree.IndexInvisibility{Value: 1.0} 29899 } 29900 case 191: 29901 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 29902 //line sql-gen.y:2450 29903 { 29904 sqlVAL.union.val = tree.IndexInvisibility{Value: 1.0} 29905 } 29906 case 192: 29907 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 29908 //line sql-gen.y:2454 29909 { 29910 sqlVAL.union.val = tree.IndexInvisibility{Value: 0.0} 29911 } 29912 case 193: 29913 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 29914 //line sql-gen.y:2458 29915 { 29916 visibilityConst, _ := constant.Float64Val(sqlDollar[2].union.numVal().AsConstantValue()) 29917 if visibilityConst < 0.0 || visibilityConst > 1.0 { 29918 sqllex.Error("index visibility must be between 0 and 1") 29919 return 1 29920 } 29921 invisibilityConst := 1.0 - visibilityConst 29922 sqlVAL.union.val = tree.IndexInvisibility{Value: invisibilityConst, FloatProvided: true} 29923 } 29924 case 194: 29925 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 29926 //line sql-gen.y:2480 29927 { 29928 var zoneName string 29929 switch e := sqlDollar[3].union.expr().(type) { 29930 case *tree.UnresolvedName: 29931 if e.NumParts != 1 { 29932 return setErr(sqllex, errors.New("only simple names are supported in ALTER RANGE ... CONFIGURE ZONE")) 29933 } 29934 zoneName = e.Parts[0] 29935 case tree.DefaultVal: 29936 zoneName = "default" 29937 default: 29938 return setErr(sqllex, errors.New("only simple names are supported in ALTER RANGE ... CONFIGURE ZONE")) 29939 } 29940 s := sqlDollar[4].union.setZoneConfig() 29941 s.ZoneSpecifier = tree.ZoneSpecifier{NamedZone: tree.UnrestrictedName(zoneName)} 29942 sqlVAL.union.val = s 29943 } 29944 case 195: 29945 sqlDollar = sqlS[sqlpt-8 : sqlpt+1] 29946 //line sql-gen.y:2500 29947 { 29948 sqlVAL.union.val = &tree.RelocateRange{ 29949 Rows: sqlDollar[8].union.slct(), 29950 FromStoreID: tree.DNull, 29951 ToStoreID: sqlDollar[6].union.expr(), 29952 SubjectReplicas: tree.RelocateLease, 29953 } 29954 } 29955 case 196: 29956 sqlDollar = sqlS[sqlpt-7 : sqlpt+1] 29957 //line sql-gen.y:2509 29958 { 29959 sqlVAL.union.val = &tree.RelocateRange{ 29960 Rows: &tree.Select{ 29961 Select: &tree.ValuesClause{Rows: []tree.Exprs{tree.Exprs{sqlDollar[3].union.expr()}}}, 29962 }, 29963 FromStoreID: tree.DNull, 29964 ToStoreID: sqlDollar[7].union.expr(), 29965 SubjectReplicas: tree.RelocateLease, 29966 } 29967 } 29968 case 197: 29969 sqlDollar = sqlS[sqlpt-10 : sqlpt+1] 29970 //line sql-gen.y:2520 29971 { 29972 sqlVAL.union.val = &tree.RelocateRange{ 29973 Rows: sqlDollar[10].union.slct(), 29974 FromStoreID: sqlDollar[6].union.expr(), 29975 ToStoreID: sqlDollar[8].union.expr(), 29976 SubjectReplicas: sqlDollar[4].union.relocateSubject(), 29977 } 29978 } 29979 case 198: 29980 sqlDollar = sqlS[sqlpt-9 : sqlpt+1] 29981 //line sql-gen.y:2529 29982 { 29983 sqlVAL.union.val = &tree.RelocateRange{ 29984 Rows: &tree.Select{ 29985 Select: &tree.ValuesClause{Rows: []tree.Exprs{tree.Exprs{sqlDollar[3].union.expr()}}}, 29986 }, 29987 FromStoreID: sqlDollar[7].union.expr(), 29988 ToStoreID: sqlDollar[9].union.expr(), 29989 SubjectReplicas: sqlDollar[5].union.relocateSubject(), 29990 } 29991 } 29992 case 199: 29993 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 29994 //line sql-gen.y:2542 29995 { 29996 29997 sqlVAL.union.val = &tree.SetZoneConfig{ 29998 ZoneConfigSettings: tree.ZoneConfigSettings{ 29999 YAMLConfig: sqlDollar[4].union.expr(), 30000 }, 30001 } 30002 } 30003 case 200: 30004 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 30005 //line sql-gen.y:2551 30006 { 30007 sqlVAL.union.val = &tree.SetZoneConfig{ 30008 ZoneConfigSettings: tree.ZoneConfigSettings{ 30009 Options: sqlDollar[4].union.kvOptions(), 30010 }, 30011 } 30012 } 30013 case 201: 30014 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 30015 //line sql-gen.y:2559 30016 { 30017 30018 sqlVAL.union.val = &tree.SetZoneConfig{ 30019 ZoneConfigSettings: tree.ZoneConfigSettings{ 30020 SetDefault: true, 30021 }, 30022 } 30023 } 30024 case 202: 30025 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 30026 //line sql-gen.y:2568 30027 { 30028 sqlVAL.union.val = &tree.SetZoneConfig{ 30029 ZoneConfigSettings: tree.ZoneConfigSettings{ 30030 YAMLConfig: tree.DNull, 30031 }, 30032 } 30033 } 30034 case 203: 30035 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 30036 //line sql-gen.y:2578 30037 { 30038 s := sqlDollar[4].union.setZoneConfig() 30039 s.ZoneSpecifier = tree.ZoneSpecifier{Database: tree.Name(sqlDollar[3].str)} 30040 sqlVAL.union.val = s 30041 } 30042 case 204: 30043 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 30044 //line sql-gen.y:2586 30045 { 30046 name := sqlDollar[3].union.unresolvedObjectName().ToTableName() 30047 s := sqlDollar[4].union.setZoneConfig() 30048 s.ZoneSpecifier = tree.ZoneSpecifier{ 30049 TableOrIndex: tree.TableIndexName{Table: name}, 30050 } 30051 sqlVAL.union.val = s 30052 } 30053 case 205: 30054 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 30055 //line sql-gen.y:2597 30056 { 30057 s := sqlDollar[4].union.setZoneConfig() 30058 s.ZoneSpecifier = tree.ZoneSpecifier{ 30059 TableOrIndex: sqlDollar[3].union.tableIndexName(), 30060 } 30061 sqlVAL.union.val = s 30062 } 30063 case 206: 30064 sqlDollar = sqlS[sqlpt-7 : sqlpt+1] 30065 //line sql-gen.y:2607 30066 { 30067 name := sqlDollar[6].union.unresolvedObjectName().ToTableName() 30068 s := sqlDollar[7].union.setZoneConfig() 30069 s.ZoneSpecifier = tree.ZoneSpecifier{ 30070 TableOrIndex: tree.TableIndexName{Table: name}, 30071 Partition: tree.Name(sqlDollar[3].str), 30072 } 30073 sqlVAL.union.val = s 30074 } 30075 case 207: 30076 sqlDollar = sqlS[sqlpt-7 : sqlpt+1] 30077 //line sql-gen.y:2617 30078 { 30079 s := sqlDollar[7].union.setZoneConfig() 30080 s.ZoneSpecifier = tree.ZoneSpecifier{ 30081 TableOrIndex: sqlDollar[6].union.tableIndexName(), 30082 Partition: tree.Name(sqlDollar[3].str), 30083 } 30084 sqlVAL.union.val = s 30085 } 30086 case 208: 30087 sqlDollar = sqlS[sqlpt-9 : sqlpt+1] 30088 //line sql-gen.y:2626 30089 { 30090 name := sqlDollar[6].union.unresolvedObjectName().ToTableName() 30091 s := sqlDollar[9].union.setZoneConfig() 30092 s.ZoneSpecifier = tree.ZoneSpecifier{ 30093 TableOrIndex: tree.TableIndexName{Table: name}, 30094 Partition: tree.Name(sqlDollar[3].str), 30095 } 30096 s.AllIndexes = true 30097 sqlVAL.union.val = s 30098 } 30099 case 209: 30100 sqlDollar = sqlS[sqlpt-8 : sqlpt+1] 30101 //line sql-gen.y:2637 30102 { 30103 err := errors.New("index name should not be specified in ALTER PARTITION ... OF TABLE") 30104 err = errors.WithHint(err, "try ALTER PARTITION ... OF INDEX") 30105 return setErr(sqllex, err) 30106 } 30107 case 210: 30108 sqlDollar = sqlS[sqlpt-9 : sqlpt+1] 30109 //line sql-gen.y:2643 30110 { 30111 err := errors.New("index wildcard unsupported in ALTER PARTITION ... OF TABLE") 30112 err = errors.WithHint(err, "try ALTER PARTITION <partition> OF INDEX <tablename>@*") 30113 return setErr(sqllex, err) 30114 } 30115 case 211: 30116 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 30117 //line sql-gen.y:2651 30118 { 30119 sqlVAL.union.val = []tree.KVOption{tree.KVOption{Key: tree.Name(strings.Join(sqlDollar[1].union.strs(), "."))}} 30120 } 30121 case 212: 30122 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 30123 //line sql-gen.y:2655 30124 { 30125 sqlVAL.union.val = []tree.KVOption{tree.KVOption{Key: tree.Name(strings.Join(sqlDollar[1].union.strs(), ".")), Value: sqlDollar[3].union.expr()}} 30126 } 30127 case 213: 30128 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 30129 //line sql-gen.y:2659 30130 { 30131 sqlVAL.union.val = append(sqlDollar[1].union.kvOptions(), tree.KVOption{Key: tree.Name(strings.Join(sqlDollar[3].union.strs(), ".")), Value: sqlDollar[5].union.expr()}) 30132 } 30133 case 214: 30134 sqlDollar = sqlS[sqlpt-7 : sqlpt+1] 30135 //line sql-gen.y:2663 30136 { 30137 sqlVAL.union.val = append(sqlDollar[1].union.kvOptions(), tree.KVOption{Key: tree.Name(strings.Join(sqlDollar[3].union.strs(), "."))}) 30138 } 30139 case 215: 30140 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 30141 //line sql-gen.y:2669 30142 { 30143 name := sqlDollar[3].union.unresolvedObjectName().ToTableName() 30144 sqlVAL.union.val = &tree.Scatter{TableOrIndex: tree.TableIndexName{Table: name}} 30145 } 30146 case 216: 30147 sqlDollar = sqlS[sqlpt-12 : sqlpt+1] 30148 //line sql-gen.y:2674 30149 { 30150 name := sqlDollar[3].union.unresolvedObjectName().ToTableName() 30151 sqlVAL.union.val = &tree.Scatter{ 30152 TableOrIndex: tree.TableIndexName{Table: name}, 30153 From: sqlDollar[7].union.exprs(), 30154 To: sqlDollar[11].union.exprs(), 30155 } 30156 } 30157 case 217: 30158 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 30159 //line sql-gen.y:2685 30160 { 30161 sqlVAL.union.val = &tree.Scatter{TableOrIndex: sqlDollar[3].union.tableIndexName()} 30162 } 30163 case 218: 30164 sqlDollar = sqlS[sqlpt-12 : sqlpt+1] 30165 //line sql-gen.y:2689 30166 { 30167 sqlVAL.union.val = &tree.Scatter{TableOrIndex: sqlDollar[3].union.tableIndexName(), From: sqlDollar[7].union.exprs(), To: sqlDollar[11].union.exprs()} 30168 } 30169 case 219: 30170 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 30171 //line sql-gen.y:2695 30172 { 30173 sqlVAL.union.val = tree.AlterTableCmds{sqlDollar[1].union.alterTableCmd()} 30174 } 30175 case 220: 30176 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 30177 //line sql-gen.y:2699 30178 { 30179 sqlVAL.union.val = append(sqlDollar[1].union.alterTableCmds(), sqlDollar[3].union.alterTableCmd()) 30180 } 30181 case 221: 30182 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 30183 //line sql-gen.y:2706 30184 { 30185 sqlVAL.union.val = &tree.AlterTableRenameColumn{Column: tree.Name(sqlDollar[3].str), NewName: tree.Name(sqlDollar[5].str)} 30186 } 30187 case 222: 30188 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 30189 //line sql-gen.y:2711 30190 { 30191 sqlVAL.union.val = &tree.AlterTableRenameConstraint{Constraint: tree.Name(sqlDollar[3].str), NewName: tree.Name(sqlDollar[5].str)} 30192 } 30193 case 223: 30194 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 30195 //line sql-gen.y:2716 30196 { 30197 sqlVAL.union.val = &tree.AlterTableAddColumn{IfNotExists: false, ColumnDef: sqlDollar[2].union.colTableDef()} 30198 } 30199 case 224: 30200 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 30201 //line sql-gen.y:2721 30202 { 30203 sqlVAL.union.val = &tree.AlterTableAddColumn{IfNotExists: true, ColumnDef: sqlDollar[5].union.colTableDef()} 30204 } 30205 case 225: 30206 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 30207 //line sql-gen.y:2726 30208 { 30209 sqlVAL.union.val = &tree.AlterTableAddColumn{IfNotExists: false, ColumnDef: sqlDollar[3].union.colTableDef()} 30210 } 30211 case 226: 30212 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 30213 //line sql-gen.y:2731 30214 { 30215 sqlVAL.union.val = &tree.AlterTableAddColumn{IfNotExists: true, ColumnDef: sqlDollar[6].union.colTableDef()} 30216 } 30217 case 227: 30218 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 30219 //line sql-gen.y:2736 30220 { 30221 sqlVAL.union.val = &tree.AlterTableSetDefault{Column: tree.Name(sqlDollar[3].str), Default: sqlDollar[4].union.expr()} 30222 } 30223 case 228: 30224 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 30225 //line sql-gen.y:2741 30226 { 30227 sqlVAL.union.val = &tree.AlterTableSetOnUpdate{Column: tree.Name(sqlDollar[3].str), Expr: sqlDollar[4].union.expr()} 30228 } 30229 case 229: 30230 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 30231 //line sql-gen.y:2746 30232 { 30233 sqlVAL.union.val = &tree.AlterTableSetVisible{Column: tree.Name(sqlDollar[3].str), Visible: sqlDollar[4].union.bool()} 30234 } 30235 case 230: 30236 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 30237 //line sql-gen.y:2751 30238 { 30239 sqlVAL.union.val = &tree.AlterTableDropNotNull{Column: tree.Name(sqlDollar[3].str)} 30240 } 30241 case 231: 30242 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 30243 //line sql-gen.y:2756 30244 { 30245 sqlVAL.union.val = &tree.AlterTableDropStored{Column: tree.Name(sqlDollar[3].str)} 30246 } 30247 case 232: 30248 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 30249 //line sql-gen.y:2761 30250 { 30251 sqlVAL.union.val = &tree.AlterTableSetNotNull{Column: tree.Name(sqlDollar[3].str)} 30252 } 30253 case 233: 30254 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 30255 //line sql-gen.y:2765 30256 { 30257 return unimplemented(sqllex, "alter table alter column add") 30258 } 30259 case 234: 30260 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 30261 //line sql-gen.y:2770 30262 { 30263 sqlVAL.union.val = &tree.AlterTableDropColumn{ 30264 IfExists: true, 30265 Column: tree.Name(sqlDollar[5].str), 30266 DropBehavior: sqlDollar[6].union.dropBehavior(), 30267 } 30268 } 30269 case 235: 30270 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 30271 //line sql-gen.y:2779 30272 { 30273 sqlVAL.union.val = &tree.AlterTableDropColumn{ 30274 IfExists: false, 30275 Column: tree.Name(sqlDollar[3].str), 30276 DropBehavior: sqlDollar[4].union.dropBehavior(), 30277 } 30278 } 30279 case 236: 30280 sqlDollar = sqlS[sqlpt-8 : sqlpt+1] 30281 //line sql-gen.y:2791 30282 { 30283 sqlVAL.union.val = &tree.AlterTableAlterColumnType{ 30284 Column: tree.Name(sqlDollar[3].str), 30285 ToType: sqlDollar[6].union.typeReference(), 30286 Collation: sqlDollar[7].str, 30287 Using: sqlDollar[8].union.expr(), 30288 } 30289 } 30290 case 237: 30291 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 30292 //line sql-gen.y:2801 30293 { 30294 sqlVAL.union.val = &tree.AlterTableAddConstraint{ 30295 ConstraintDef: sqlDollar[2].union.constraintDef(), 30296 ValidationBehavior: sqlDollar[3].union.validationBehavior(), 30297 } 30298 } 30299 case 238: 30300 sqlDollar = sqlS[sqlpt-8 : sqlpt+1] 30301 //line sql-gen.y:2809 30302 { 30303 def := sqlDollar[7].union.constraintDef() 30304 def.SetName(tree.Name(sqlDollar[6].str)) 30305 def.SetIfNotExists() 30306 sqlVAL.union.val = &tree.AlterTableAddConstraint{ 30307 ConstraintDef: def, 30308 ValidationBehavior: sqlDollar[8].union.validationBehavior(), 30309 } 30310 } 30311 case 239: 30312 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 30313 //line sql-gen.y:2819 30314 { 30315 return unimplementedWithIssueDetail(sqllex, 31632, "alter constraint") 30316 } 30317 case 240: 30318 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 30319 //line sql-gen.y:2822 30320 { 30321 30322 return unimplementedWithIssueDetail(sqllex, 22456, "alter table inherits") 30323 } 30324 case 241: 30325 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 30326 //line sql-gen.y:2828 30327 { 30328 30329 return unimplementedWithIssueDetail(sqllex, 22456, "alter table no inherits") 30330 } 30331 case 242: 30332 sqlDollar = sqlS[sqlpt-10 : sqlpt+1] 30333 //line sql-gen.y:2834 30334 { 30335 sqlVAL.union.val = &tree.AlterTableAlterPrimaryKey{ 30336 Columns: sqlDollar[7].union.idxElems(), 30337 Sharded: sqlDollar[9].union.shardedIndexDef(), 30338 StorageParams: sqlDollar[10].union.storageParams(), 30339 } 30340 } 30341 case 243: 30342 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 30343 //line sql-gen.y:2843 30344 { 30345 sqlVAL.union.val = &tree.AlterTableValidateConstraint{ 30346 Constraint: tree.Name(sqlDollar[3].str), 30347 } 30348 } 30349 case 244: 30350 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 30351 //line sql-gen.y:2850 30352 { 30353 sqlVAL.union.val = &tree.AlterTableDropConstraint{ 30354 IfExists: true, 30355 Constraint: tree.Name(sqlDollar[5].str), 30356 DropBehavior: sqlDollar[6].union.dropBehavior(), 30357 } 30358 } 30359 case 245: 30360 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 30361 //line sql-gen.y:2859 30362 { 30363 sqlVAL.union.val = &tree.AlterTableDropConstraint{ 30364 IfExists: false, 30365 Constraint: tree.Name(sqlDollar[3].str), 30366 DropBehavior: sqlDollar[4].union.dropBehavior(), 30367 } 30368 } 30369 case 246: 30370 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 30371 //line sql-gen.y:2868 30372 { 30373 sqlVAL.union.val = &tree.AlterTableSetAudit{Mode: sqlDollar[3].union.auditMode()} 30374 } 30375 case 247: 30376 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 30377 //line sql-gen.y:2873 30378 { 30379 sqlVAL.union.val = &tree.AlterTablePartitionByTable{ 30380 PartitionByTable: sqlDollar[1].union.partitionByTable(), 30381 } 30382 } 30383 case 248: 30384 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 30385 //line sql-gen.y:2880 30386 { 30387 30388 sqlVAL.union.val = &tree.AlterTableInjectStats{ 30389 Stats: sqlDollar[3].union.expr(), 30390 } 30391 } 30392 case 249: 30393 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 30394 //line sql-gen.y:2887 30395 { 30396 sqlVAL.union.val = &tree.AlterTableSetStorageParams{ 30397 StorageParams: sqlDollar[3].union.storageParams(), 30398 } 30399 } 30400 case 250: 30401 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 30402 //line sql-gen.y:2893 30403 { 30404 sqlVAL.union.val = &tree.AlterTableResetStorageParams{ 30405 Params: sqlDollar[3].union.storageParamKeys(), 30406 } 30407 } 30408 case 251: 30409 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 30410 //line sql-gen.y:2900 30411 { 30412 sqlVAL.union.val = tree.AuditModeReadWrite 30413 } 30414 case 252: 30415 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 30416 //line sql-gen.y:2901 30417 { 30418 sqlVAL.union.val = tree.AuditModeDisable 30419 } 30420 case 253: 30421 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 30422 //line sql-gen.y:2905 30423 { 30424 sqlVAL.union.val = tree.AlterIndexCmds{sqlDollar[1].union.alterIndexCmd()} 30425 } 30426 case 254: 30427 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 30428 //line sql-gen.y:2909 30429 { 30430 sqlVAL.union.val = append(sqlDollar[1].union.alterIndexCmds(), sqlDollar[3].union.alterIndexCmd()) 30431 } 30432 case 255: 30433 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 30434 //line sql-gen.y:2915 30435 { 30436 sqlVAL.union.val = &tree.AlterIndexPartitionBy{ 30437 PartitionByIndex: sqlDollar[1].union.partitionByIndex(), 30438 } 30439 } 30440 case 256: 30441 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 30442 //line sql-gen.y:2923 30443 { 30444 sqlVAL.union.val = sqlDollar[3].union.expr() 30445 } 30446 case 257: 30447 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 30448 //line sql-gen.y:2927 30449 { 30450 sqlVAL.union.val = nil 30451 } 30452 case 258: 30453 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 30454 //line sql-gen.y:2933 30455 { 30456 sqlVAL.union.val = sqlDollar[4].union.expr() 30457 } 30458 case 259: 30459 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 30460 //line sql-gen.y:2937 30461 { 30462 sqlVAL.union.val = nil 30463 } 30464 case 260: 30465 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 30466 //line sql-gen.y:2943 30467 { 30468 sqlVAL.union.val = true 30469 } 30470 case 261: 30471 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 30472 //line sql-gen.y:2947 30473 { 30474 sqlVAL.union.val = false 30475 } 30476 case 262: 30477 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 30478 //line sql-gen.y:2953 30479 { 30480 sqlVAL.union.val = sqlDollar[2].union.expr() 30481 } 30482 case 263: 30483 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 30484 //line sql-gen.y:2957 30485 { 30486 sqlVAL.union.val = nil 30487 } 30488 case 264: 30489 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 30490 //line sql-gen.y:2964 30491 { 30492 sqlVAL.union.val = tree.DropCascade 30493 } 30494 case 265: 30495 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 30496 //line sql-gen.y:2968 30497 { 30498 sqlVAL.union.val = tree.DropRestrict 30499 } 30500 case 266: 30501 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 30502 //line sql-gen.y:2972 30503 { 30504 sqlVAL.union.val = tree.DropDefault 30505 } 30506 case 267: 30507 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 30508 //line sql-gen.y:2978 30509 { 30510 sqlVAL.union.val = tree.ValidationSkip 30511 } 30512 case 268: 30513 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 30514 //line sql-gen.y:2982 30515 { 30516 sqlVAL.union.val = tree.ValidationDefault 30517 } 30518 case 269: 30519 sqlDollar = sqlS[sqlpt-7 : sqlpt+1] 30520 //line sql-gen.y:3007 30521 { 30522 sqlVAL.union.val = &tree.AlterType{ 30523 Type: sqlDollar[3].union.unresolvedObjectName(), 30524 Cmd: &tree.AlterTypeAddValue{ 30525 NewVal: tree.EnumValue(sqlDollar[6].str), 30526 IfNotExists: false, 30527 Placement: sqlDollar[7].union.alterTypeAddValuePlacement(), 30528 }, 30529 } 30530 } 30531 case 270: 30532 sqlDollar = sqlS[sqlpt-10 : sqlpt+1] 30533 //line sql-gen.y:3018 30534 { 30535 sqlVAL.union.val = &tree.AlterType{ 30536 Type: sqlDollar[3].union.unresolvedObjectName(), 30537 Cmd: &tree.AlterTypeAddValue{ 30538 NewVal: tree.EnumValue(sqlDollar[9].str), 30539 IfNotExists: true, 30540 Placement: sqlDollar[10].union.alterTypeAddValuePlacement(), 30541 }, 30542 } 30543 } 30544 case 271: 30545 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 30546 //line sql-gen.y:3029 30547 { 30548 sqlVAL.union.val = &tree.AlterType{ 30549 Type: sqlDollar[3].union.unresolvedObjectName(), 30550 Cmd: &tree.AlterTypeDropValue{ 30551 Val: tree.EnumValue(sqlDollar[6].str), 30552 }, 30553 } 30554 } 30555 case 272: 30556 sqlDollar = sqlS[sqlpt-8 : sqlpt+1] 30557 //line sql-gen.y:3038 30558 { 30559 sqlVAL.union.val = &tree.AlterType{ 30560 Type: sqlDollar[3].union.unresolvedObjectName(), 30561 Cmd: &tree.AlterTypeRenameValue{ 30562 OldVal: tree.EnumValue(sqlDollar[6].str), 30563 NewVal: tree.EnumValue(sqlDollar[8].str), 30564 }, 30565 } 30566 } 30567 case 273: 30568 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 30569 //line sql-gen.y:3048 30570 { 30571 sqlVAL.union.val = &tree.AlterType{ 30572 Type: sqlDollar[3].union.unresolvedObjectName(), 30573 Cmd: &tree.AlterTypeRename{ 30574 NewName: tree.Name(sqlDollar[6].str), 30575 }, 30576 } 30577 } 30578 case 274: 30579 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 30580 //line sql-gen.y:3057 30581 { 30582 sqlVAL.union.val = &tree.AlterType{ 30583 Type: sqlDollar[3].union.unresolvedObjectName(), 30584 Cmd: &tree.AlterTypeSetSchema{ 30585 Schema: tree.Name(sqlDollar[6].str), 30586 }, 30587 } 30588 } 30589 case 275: 30590 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 30591 //line sql-gen.y:3066 30592 { 30593 sqlVAL.union.val = &tree.AlterType{ 30594 Type: sqlDollar[3].union.unresolvedObjectName(), 30595 Cmd: &tree.AlterTypeOwner{ 30596 Owner: sqlDollar[6].union.roleSpec(), 30597 }, 30598 } 30599 } 30600 case 276: 30601 sqlDollar = sqlS[sqlpt-9 : sqlpt+1] 30602 //line sql-gen.y:3075 30603 { 30604 return unimplementedWithIssueDetail(sqllex, 48701, "ALTER TYPE ATTRIBUTE") 30605 } 30606 case 277: 30607 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 30608 //line sql-gen.y:3079 30609 { 30610 return unimplementedWithIssueDetail(sqllex, 48701, "ALTER TYPE ATTRIBUTE") 30611 } 30612 case 278: 30613 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 30614 //line sql-gen.y:3082 30615 { 30616 return helpWith(sqllex, "ALTER TYPE") 30617 } 30618 case 279: 30619 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 30620 //line sql-gen.y:3086 30621 { 30622 sqlVAL.union.val = &tree.AlterTypeAddValuePlacement{ 30623 Before: true, 30624 ExistingVal: tree.EnumValue(sqlDollar[2].str), 30625 } 30626 } 30627 case 280: 30628 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 30629 //line sql-gen.y:3093 30630 { 30631 sqlVAL.union.val = &tree.AlterTypeAddValuePlacement{ 30632 Before: false, 30633 ExistingVal: tree.EnumValue(sqlDollar[2].str), 30634 } 30635 } 30636 case 281: 30637 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 30638 //line sql-gen.y:3100 30639 { 30640 sqlVAL.union.val = (*tree.AlterTypeAddValuePlacement)(nil) 30641 } 30642 case 282: 30643 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 30644 //line sql-gen.y:3106 30645 { 30646 sqlVAL.union.val = tree.RoleSpec{ 30647 RoleSpecType: tree.RoleName, 30648 Name: sqlDollar[1].str, 30649 } 30650 } 30651 case 283: 30652 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 30653 //line sql-gen.y:3113 30654 { 30655 sqlVAL.union.val = tree.RoleSpec{ 30656 RoleSpecType: tree.RoleName, 30657 Name: sqlDollar[1].str, 30658 } 30659 } 30660 case 284: 30661 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 30662 //line sql-gen.y:3120 30663 { 30664 sqlVAL.union.val = tree.RoleSpec{ 30665 RoleSpecType: tree.CurrentUser, 30666 } 30667 } 30668 case 285: 30669 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 30670 //line sql-gen.y:3126 30671 { 30672 sqlVAL.union.val = tree.RoleSpec{ 30673 RoleSpecType: tree.SessionUser, 30674 } 30675 } 30676 case 286: 30677 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 30678 //line sql-gen.y:3134 30679 { 30680 sqlVAL.union.val = tree.RoleSpecList{sqlDollar[1].union.roleSpec()} 30681 } 30682 case 287: 30683 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 30684 //line sql-gen.y:3138 30685 { 30686 sqlVAL.union.val = append(sqlDollar[1].union.roleSpecList(), sqlDollar[3].union.roleSpec()) 30687 } 30688 case 295: 30689 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 30690 //line sql-gen.y:3159 30691 { 30692 sqlVAL.union.val = &tree.RefreshMaterializedView{ 30693 Name: sqlDollar[5].union.unresolvedObjectName(), 30694 Concurrently: sqlDollar[4].union.bool(), 30695 RefreshDataOption: sqlDollar[6].union.refreshDataOption(), 30696 } 30697 } 30698 case 296: 30699 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 30700 //line sql-gen.y:3166 30701 { 30702 return helpWith(sqllex, "REFRESH") 30703 } 30704 case 297: 30705 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 30706 //line sql-gen.y:3170 30707 { 30708 sqlVAL.union.val = tree.RefreshDataWithData 30709 } 30710 case 298: 30711 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 30712 //line sql-gen.y:3174 30713 { 30714 sqlVAL.union.val = tree.RefreshDataClear 30715 } 30716 case 299: 30717 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 30718 //line sql-gen.y:3178 30719 { 30720 sqlVAL.union.val = tree.RefreshDataDefault 30721 } 30722 case 300: 30723 sqlDollar = sqlS[sqlpt-8 : sqlpt+1] 30724 //line sql-gen.y:3222 30725 { 30726 sqlVAL.union.val = &tree.Backup{ 30727 Targets: sqlDollar[2].union.backupTargetListPtr(), 30728 To: sqlDollar[6].union.stringOrPlaceholderOptList(), 30729 Nested: true, 30730 AppendToLatest: false, 30731 Subdir: sqlDollar[4].union.expr(), 30732 AsOf: sqlDollar[7].union.asOfClause(), 30733 Options: *sqlDollar[8].union.backupOptions(), 30734 } 30735 } 30736 case 301: 30737 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 30738 //line sql-gen.y:3234 30739 { 30740 sqlVAL.union.val = &tree.Backup{ 30741 Targets: sqlDollar[2].union.backupTargetListPtr(), 30742 To: sqlDollar[4].union.stringOrPlaceholderOptList(), 30743 Nested: true, 30744 AsOf: sqlDollar[5].union.asOfClause(), 30745 Options: *sqlDollar[6].union.backupOptions(), 30746 } 30747 } 30748 case 302: 30749 sqlDollar = sqlS[sqlpt-8 : sqlpt+1] 30750 //line sql-gen.y:3244 30751 { 30752 sqlVAL.union.val = &tree.Backup{ 30753 Targets: sqlDollar[2].union.backupTargetListPtr(), 30754 To: sqlDollar[6].union.stringOrPlaceholderOptList(), 30755 Nested: true, 30756 AppendToLatest: true, 30757 AsOf: sqlDollar[7].union.asOfClause(), 30758 Options: *sqlDollar[8].union.backupOptions(), 30759 } 30760 } 30761 case 303: 30762 sqlDollar = sqlS[sqlpt-7 : sqlpt+1] 30763 //line sql-gen.y:3255 30764 { 30765 sqlVAL.union.val = &tree.Backup{ 30766 Targets: sqlDollar[2].union.backupTargetListPtr(), 30767 To: sqlDollar[4].union.stringOrPlaceholderOptList(), 30768 IncrementalFrom: sqlDollar[6].union.exprs(), 30769 AsOf: sqlDollar[5].union.asOfClause(), 30770 Options: *sqlDollar[7].union.backupOptions(), 30771 } 30772 } 30773 case 304: 30774 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 30775 //line sql-gen.y:3264 30776 { 30777 return helpWith(sqllex, "BACKUP") 30778 } 30779 case 305: 30780 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 30781 //line sql-gen.y:3268 30782 { 30783 sqlVAL.union.val = (*tree.BackupTargetList)(nil) 30784 } 30785 case 306: 30786 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 30787 //line sql-gen.y:3272 30788 { 30789 t := sqlDollar[1].union.backupTargetList() 30790 sqlVAL.union.val = &t 30791 } 30792 case 307: 30793 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 30794 //line sql-gen.y:3280 30795 { 30796 sqlVAL.union.val = sqlDollar[2].union.backupOptions() 30797 } 30798 case 308: 30799 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 30800 //line sql-gen.y:3284 30801 { 30802 sqlVAL.union.val = sqlDollar[4].union.backupOptions() 30803 } 30804 case 309: 30805 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 30806 //line sql-gen.y:3288 30807 { 30808 sqlVAL.union.val = &tree.BackupOptions{} 30809 } 30810 case 310: 30811 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 30812 //line sql-gen.y:3295 30813 { 30814 sqlVAL.union.val = sqlDollar[1].union.backupOptions() 30815 } 30816 case 311: 30817 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 30818 //line sql-gen.y:3299 30819 { 30820 if err := sqlDollar[1].union.backupOptions().CombineWith(sqlDollar[3].union.backupOptions()); err != nil { 30821 return setErr(sqllex, err) 30822 } 30823 } 30824 case 312: 30825 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 30826 //line sql-gen.y:3308 30827 { 30828 sqlVAL.union.val = &tree.BackupOptions{EncryptionPassphrase: sqlDollar[3].union.expr()} 30829 } 30830 case 313: 30831 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 30832 //line sql-gen.y:3312 30833 { 30834 sqlVAL.union.val = &tree.BackupOptions{CaptureRevisionHistory: tree.MakeDBool(true)} 30835 } 30836 case 314: 30837 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 30838 //line sql-gen.y:3316 30839 { 30840 sqlVAL.union.val = &tree.BackupOptions{CaptureRevisionHistory: sqlDollar[3].union.expr()} 30841 } 30842 case 315: 30843 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 30844 //line sql-gen.y:3320 30845 { 30846 sqlVAL.union.val = &tree.BackupOptions{Detached: tree.MakeDBool(true)} 30847 } 30848 case 316: 30849 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 30850 //line sql-gen.y:3324 30851 { 30852 sqlVAL.union.val = &tree.BackupOptions{Detached: tree.MakeDBool(true)} 30853 } 30854 case 317: 30855 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 30856 //line sql-gen.y:3328 30857 { 30858 sqlVAL.union.val = &tree.BackupOptions{Detached: tree.MakeDBool(false)} 30859 } 30860 case 318: 30861 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 30862 //line sql-gen.y:3332 30863 { 30864 sqlVAL.union.val = &tree.BackupOptions{EncryptionKMSURI: sqlDollar[3].union.stringOrPlaceholderOptList()} 30865 } 30866 case 319: 30867 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 30868 //line sql-gen.y:3336 30869 { 30870 sqlVAL.union.val = &tree.BackupOptions{IncrementalStorage: sqlDollar[3].union.stringOrPlaceholderOptList()} 30871 } 30872 case 320: 30873 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 30874 //line sql-gen.y:3340 30875 { 30876 sqlVAL.union.val = &tree.BackupOptions{ExecutionLocality: sqlDollar[4].union.expr()} 30877 } 30878 case 321: 30879 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 30880 //line sql-gen.y:3344 30881 { 30882 30883 sqlVAL.union.val = &tree.BackupOptions{IncludeAllSecondaryTenants: tree.MakeDBool(true)} 30884 } 30885 case 322: 30886 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 30887 //line sql-gen.y:3349 30888 { 30889 sqlVAL.union.val = &tree.BackupOptions{IncludeAllSecondaryTenants: sqlDollar[3].union.expr()} 30890 } 30891 case 323: 30892 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 30893 //line sql-gen.y:3353 30894 { 30895 sqlVAL.union.val = &tree.BackupOptions{UpdatesClusterMonitoringMetrics: tree.MakeDBool(true)} 30896 } 30897 case 324: 30898 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 30899 //line sql-gen.y:3357 30900 { 30901 sqlVAL.union.val = &tree.BackupOptions{UpdatesClusterMonitoringMetrics: sqlDollar[3].union.expr()} 30902 } 30903 case 325: 30904 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 30905 //line sql-gen.y:3362 30906 { 30907 } 30908 case 326: 30909 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 30910 //line sql-gen.y:3363 30911 { 30912 } 30913 case 327: 30914 sqlDollar = sqlS[sqlpt-12 : sqlpt+1] 30915 //line sql-gen.y:3442 30916 { 30917 sqlVAL.union.val = &tree.ScheduledBackup{ 30918 ScheduleLabelSpec: *(sqlDollar[3].union.scheduleLabelSpec()), 30919 Recurrence: sqlDollar[10].union.expr(), 30920 FullBackup: sqlDollar[11].union.fullBackupClause(), 30921 To: sqlDollar[8].union.stringOrPlaceholderOptList(), 30922 Targets: sqlDollar[6].union.backupTargetListPtr(), 30923 BackupOptions: *(sqlDollar[9].union.backupOptions()), 30924 ScheduleOptions: sqlDollar[12].union.kvOptions(), 30925 } 30926 } 30927 case 328: 30928 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 30929 //line sql-gen.y:3453 30930 { 30931 return helpWith(sqllex, "CREATE SCHEDULE FOR BACKUP") 30932 } 30933 case 329: 30934 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 30935 //line sql-gen.y:3472 30936 { 30937 sqlVAL.union.val = &tree.AlterBackupSchedule{ 30938 ScheduleID: uint64(sqlDollar[4].union.int64()), 30939 Cmds: sqlDollar[5].union.alterBackupScheduleCmds(), 30940 } 30941 } 30942 case 330: 30943 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 30944 //line sql-gen.y:3478 30945 { 30946 return helpWith(sqllex, "ALTER BACKUP SCHEDULE") 30947 } 30948 case 331: 30949 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 30950 //line sql-gen.y:3483 30951 { 30952 sqlVAL.union.val = tree.AlterBackupScheduleCmds{sqlDollar[1].union.alterBackupScheduleCmd()} 30953 } 30954 case 332: 30955 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 30956 //line sql-gen.y:3487 30957 { 30958 sqlVAL.union.val = append(sqlDollar[1].union.alterBackupScheduleCmds(), sqlDollar[3].union.alterBackupScheduleCmd()) 30959 } 30960 case 333: 30961 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 30962 //line sql-gen.y:3494 30963 { 30964 sqlVAL.union.val = &tree.AlterBackupScheduleSetLabel{ 30965 Label: sqlDollar[3].union.expr(), 30966 } 30967 } 30968 case 334: 30969 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 30970 //line sql-gen.y:3500 30971 { 30972 sqlVAL.union.val = &tree.AlterBackupScheduleSetInto{ 30973 Into: sqlDollar[3].union.stringOrPlaceholderOptList(), 30974 } 30975 } 30976 case 335: 30977 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 30978 //line sql-gen.y:3506 30979 { 30980 sqlVAL.union.val = &tree.AlterBackupScheduleSetWith{ 30981 With: sqlDollar[3].union.backupOptions(), 30982 } 30983 } 30984 case 336: 30985 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 30986 //line sql-gen.y:3512 30987 { 30988 sqlVAL.union.val = &tree.AlterBackupScheduleSetRecurring{ 30989 Recurrence: sqlDollar[2].union.expr(), 30990 } 30991 } 30992 case 337: 30993 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 30994 //line sql-gen.y:3518 30995 { 30996 sqlVAL.union.val = &tree.AlterBackupScheduleSetFullBackup{ 30997 FullBackup: tree.FullBackupClause{AlwaysFull: true}, 30998 } 30999 } 31000 case 338: 31001 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 31002 //line sql-gen.y:3524 31003 { 31004 sqlVAL.union.val = &tree.AlterBackupScheduleSetFullBackup{ 31005 FullBackup: tree.FullBackupClause{Recurrence: sqlDollar[4].union.expr()}, 31006 } 31007 } 31008 case 339: 31009 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 31010 //line sql-gen.y:3530 31011 { 31012 sqlVAL.union.val = &tree.AlterBackupScheduleSetScheduleOption{ 31013 Option: sqlDollar[4].union.kvOption(), 31014 } 31015 } 31016 case 340: 31017 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 31018 //line sql-gen.y:3539 31019 { 31020 sqlVAL.union.val = tree.NewStrVal(sqlDollar[1].str) 31021 } 31022 case 341: 31023 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 31024 //line sql-gen.y:3543 31025 { 31026 p := sqlDollar[1].union.placeholder() 31027 sqllex.(*lexer).UpdateNumPlaceholders(p) 31028 sqlVAL.union.val = p 31029 } 31030 case 342: 31031 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 31032 //line sql-gen.y:3553 31033 { 31034 sqlVAL.union.val = sqlDollar[2].union.expr() 31035 } 31036 case 343: 31037 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 31038 //line sql-gen.y:3559 31039 { 31040 sqlVAL.union.val = &tree.LabelSpec{Label: sqlDollar[1].union.expr(), IfNotExists: false} 31041 } 31042 case 344: 31043 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 31044 //line sql-gen.y:3563 31045 { 31046 sqlVAL.union.val = &tree.LabelSpec{Label: sqlDollar[4].union.expr(), IfNotExists: true} 31047 } 31048 case 345: 31049 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 31050 //line sql-gen.y:3569 31051 { 31052 sqlVAL.union.val = sqlDollar[1].union.labelSpec() 31053 } 31054 case 346: 31055 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 31056 //line sql-gen.y:3573 31057 { 31058 sqlVAL.union.val = &tree.LabelSpec{IfNotExists: false} 31059 } 31060 case 347: 31061 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 31062 //line sql-gen.y:3582 31063 { 31064 sqlVAL.union.val = &tree.FullBackupClause{Recurrence: sqlDollar[3].union.expr()} 31065 } 31066 case 348: 31067 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 31068 //line sql-gen.y:3586 31069 { 31070 sqlVAL.union.val = &tree.FullBackupClause{AlwaysFull: true} 31071 } 31072 case 349: 31073 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 31074 //line sql-gen.y:3590 31075 { 31076 sqlVAL.union.val = (*tree.FullBackupClause)(nil) 31077 } 31078 case 350: 31079 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 31080 //line sql-gen.y:3596 31081 { 31082 sqlVAL.union.val = sqlDollar[4].union.kvOptions() 31083 } 31084 case 351: 31085 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 31086 //line sql-gen.y:3600 31087 { 31088 sqlVAL.union.val = sqlDollar[5].union.kvOptions() 31089 } 31090 case 352: 31091 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 31092 //line sql-gen.y:3604 31093 { 31094 sqlVAL.union.val = nil 31095 } 31096 case 353: 31097 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 31098 //line sql-gen.y:3621 31099 { 31100 sqlVAL.union.val = &tree.CreateExternalConnection{ 31101 ConnectionLabelSpec: *(sqlDollar[4].union.labelSpec()), 31102 As: sqlDollar[6].union.expr(), 31103 } 31104 } 31105 case 354: 31106 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 31107 //line sql-gen.y:3627 31108 { 31109 return helpWith(sqllex, "CREATE EXTERNAL CONNECTION") 31110 } 31111 case 355: 31112 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 31113 //line sql-gen.y:3638 31114 { 31115 sqlVAL.union.val = &tree.DropExternalConnection{ 31116 ConnectionLabel: sqlDollar[4].union.expr(), 31117 } 31118 } 31119 case 356: 31120 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 31121 //line sql-gen.y:3643 31122 { 31123 return helpWith(sqllex, "DROP EXTERNAL CONNECTION") 31124 } 31125 case 357: 31126 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 31127 //line sql-gen.y:3680 31128 { 31129 sqlVAL.union.val = &tree.Restore{ 31130 DescriptorCoverage: tree.AllDescriptors, 31131 From: sqlDollar[3].union.listOfStringOrPlaceholderOptList(), 31132 AsOf: sqlDollar[4].union.asOfClause(), 31133 Options: *(sqlDollar[5].union.restoreOptions()), 31134 } 31135 } 31136 case 358: 31137 sqlDollar = sqlS[sqlpt-7 : sqlpt+1] 31138 //line sql-gen.y:3689 31139 { 31140 sqlVAL.union.val = &tree.Restore{ 31141 DescriptorCoverage: tree.AllDescriptors, 31142 Subdir: sqlDollar[3].union.expr(), 31143 From: sqlDollar[5].union.listOfStringOrPlaceholderOptList(), 31144 AsOf: sqlDollar[6].union.asOfClause(), 31145 Options: *(sqlDollar[7].union.restoreOptions()), 31146 } 31147 } 31148 case 359: 31149 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 31150 //line sql-gen.y:3699 31151 { 31152 sqlVAL.union.val = &tree.Restore{ 31153 Targets: sqlDollar[2].union.backupTargetList(), 31154 From: sqlDollar[4].union.listOfStringOrPlaceholderOptList(), 31155 AsOf: sqlDollar[5].union.asOfClause(), 31156 Options: *(sqlDollar[6].union.restoreOptions()), 31157 } 31158 } 31159 case 360: 31160 sqlDollar = sqlS[sqlpt-8 : sqlpt+1] 31161 //line sql-gen.y:3708 31162 { 31163 sqlVAL.union.val = &tree.Restore{ 31164 Targets: sqlDollar[2].union.backupTargetList(), 31165 Subdir: sqlDollar[4].union.expr(), 31166 From: sqlDollar[6].union.listOfStringOrPlaceholderOptList(), 31167 AsOf: sqlDollar[7].union.asOfClause(), 31168 Options: *(sqlDollar[8].union.restoreOptions()), 31169 } 31170 } 31171 case 361: 31172 sqlDollar = sqlS[sqlpt-7 : sqlpt+1] 31173 //line sql-gen.y:3718 31174 { 31175 sqlVAL.union.val = &tree.Restore{ 31176 DescriptorCoverage: tree.SystemUsers, 31177 From: sqlDollar[5].union.listOfStringOrPlaceholderOptList(), 31178 AsOf: sqlDollar[6].union.asOfClause(), 31179 Options: *(sqlDollar[7].union.restoreOptions()), 31180 } 31181 } 31182 case 362: 31183 sqlDollar = sqlS[sqlpt-9 : sqlpt+1] 31184 //line sql-gen.y:3727 31185 { 31186 sqlVAL.union.val = &tree.Restore{ 31187 DescriptorCoverage: tree.SystemUsers, 31188 Subdir: sqlDollar[5].union.expr(), 31189 From: sqlDollar[7].union.listOfStringOrPlaceholderOptList(), 31190 AsOf: sqlDollar[8].union.asOfClause(), 31191 Options: *(sqlDollar[9].union.restoreOptions()), 31192 } 31193 } 31194 case 363: 31195 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 31196 //line sql-gen.y:3736 31197 { 31198 return helpWith(sqllex, "RESTORE") 31199 } 31200 case 364: 31201 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 31202 //line sql-gen.y:3740 31203 { 31204 sqlVAL.union.val = tree.StringOrPlaceholderOptList{sqlDollar[1].union.expr()} 31205 } 31206 case 365: 31207 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 31208 //line sql-gen.y:3744 31209 { 31210 sqlVAL.union.val = tree.StringOrPlaceholderOptList(sqlDollar[2].union.exprs()) 31211 } 31212 case 366: 31213 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 31214 //line sql-gen.y:3750 31215 { 31216 sqlVAL.union.val = []tree.StringOrPlaceholderOptList{sqlDollar[1].union.stringOrPlaceholderOptList()} 31217 } 31218 case 367: 31219 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 31220 //line sql-gen.y:3754 31221 { 31222 sqlVAL.union.val = append(sqlDollar[1].union.listOfStringOrPlaceholderOptList(), sqlDollar[3].union.stringOrPlaceholderOptList()) 31223 } 31224 case 368: 31225 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 31226 //line sql-gen.y:3761 31227 { 31228 sqlVAL.union.val = sqlDollar[2].union.restoreOptions() 31229 } 31230 case 369: 31231 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 31232 //line sql-gen.y:3765 31233 { 31234 sqlVAL.union.val = sqlDollar[4].union.restoreOptions() 31235 } 31236 case 370: 31237 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 31238 //line sql-gen.y:3769 31239 { 31240 sqlVAL.union.val = &tree.RestoreOptions{} 31241 } 31242 case 371: 31243 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 31244 //line sql-gen.y:3776 31245 { 31246 sqlVAL.union.val = sqlDollar[1].union.restoreOptions() 31247 } 31248 case 372: 31249 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 31250 //line sql-gen.y:3780 31251 { 31252 if err := sqlDollar[1].union.restoreOptions().CombineWith(sqlDollar[3].union.restoreOptions()); err != nil { 31253 return setErr(sqllex, err) 31254 } 31255 } 31256 case 373: 31257 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 31258 //line sql-gen.y:3789 31259 { 31260 sqlVAL.union.val = &tree.RestoreOptions{EncryptionPassphrase: sqlDollar[3].union.expr()} 31261 } 31262 case 374: 31263 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 31264 //line sql-gen.y:3793 31265 { 31266 sqlVAL.union.val = &tree.RestoreOptions{DecryptionKMSURI: sqlDollar[3].union.stringOrPlaceholderOptList()} 31267 } 31268 case 375: 31269 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 31270 //line sql-gen.y:3797 31271 { 31272 sqlVAL.union.val = &tree.RestoreOptions{IntoDB: sqlDollar[3].union.expr()} 31273 } 31274 case 376: 31275 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 31276 //line sql-gen.y:3801 31277 { 31278 sqlVAL.union.val = &tree.RestoreOptions{SkipMissingFKs: true} 31279 } 31280 case 377: 31281 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 31282 //line sql-gen.y:3805 31283 { 31284 sqlVAL.union.val = &tree.RestoreOptions{SkipMissingSequences: true} 31285 } 31286 case 378: 31287 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 31288 //line sql-gen.y:3809 31289 { 31290 sqlVAL.union.val = &tree.RestoreOptions{SkipMissingSequenceOwners: true} 31291 } 31292 case 379: 31293 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 31294 //line sql-gen.y:3813 31295 { 31296 sqlVAL.union.val = &tree.RestoreOptions{SkipMissingViews: true} 31297 } 31298 case 380: 31299 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 31300 //line sql-gen.y:3817 31301 { 31302 sqlVAL.union.val = &tree.RestoreOptions{SkipMissingUDFs: true} 31303 } 31304 case 381: 31305 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 31306 //line sql-gen.y:3821 31307 { 31308 sqlVAL.union.val = &tree.RestoreOptions{Detached: true} 31309 } 31310 case 382: 31311 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 31312 //line sql-gen.y:3825 31313 { 31314 sqlVAL.union.val = &tree.RestoreOptions{SkipLocalitiesCheck: true} 31315 } 31316 case 383: 31317 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 31318 //line sql-gen.y:3829 31319 { 31320 sqlVAL.union.val = &tree.RestoreOptions{DebugPauseOn: sqlDollar[3].union.expr()} 31321 } 31322 case 384: 31323 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 31324 //line sql-gen.y:3833 31325 { 31326 sqlVAL.union.val = &tree.RestoreOptions{NewDBName: sqlDollar[3].union.expr()} 31327 } 31328 case 385: 31329 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 31330 //line sql-gen.y:3837 31331 { 31332 sqlVAL.union.val = &tree.RestoreOptions{IncludeAllSecondaryTenants: tree.MakeDBool(true)} 31333 } 31334 case 386: 31335 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 31336 //line sql-gen.y:3841 31337 { 31338 sqlVAL.union.val = &tree.RestoreOptions{IncludeAllSecondaryTenants: sqlDollar[3].union.expr()} 31339 } 31340 case 387: 31341 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 31342 //line sql-gen.y:3845 31343 { 31344 sqlVAL.union.val = &tree.RestoreOptions{IncrementalStorage: sqlDollar[3].union.stringOrPlaceholderOptList()} 31345 } 31346 case 388: 31347 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 31348 //line sql-gen.y:3849 31349 { 31350 sqlVAL.union.val = &tree.RestoreOptions{AsTenant: sqlDollar[3].union.expr()} 31351 } 31352 case 389: 31353 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 31354 //line sql-gen.y:3853 31355 { 31356 sqlVAL.union.val = &tree.RestoreOptions{ForceTenantID: sqlDollar[3].union.expr()} 31357 } 31358 case 390: 31359 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 31360 //line sql-gen.y:3857 31361 { 31362 sqlVAL.union.val = &tree.RestoreOptions{SchemaOnly: true} 31363 } 31364 case 391: 31365 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 31366 //line sql-gen.y:3861 31367 { 31368 sqlVAL.union.val = &tree.RestoreOptions{VerifyData: true} 31369 } 31370 case 392: 31371 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 31372 //line sql-gen.y:3865 31373 { 31374 sqlVAL.union.val = &tree.RestoreOptions{UnsafeRestoreIncompatibleVersion: true} 31375 } 31376 case 393: 31377 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 31378 //line sql-gen.y:3869 31379 { 31380 sqlVAL.union.val = &tree.RestoreOptions{ExecutionLocality: sqlDollar[4].union.expr()} 31381 } 31382 case 394: 31383 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 31384 //line sql-gen.y:3873 31385 { 31386 sqlVAL.union.val = &tree.RestoreOptions{ExperimentalOnline: true} 31387 } 31388 case 395: 31389 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 31390 //line sql-gen.y:3877 31391 { 31392 sqlVAL.union.val = &tree.RestoreOptions{RemoveRegions: true, SkipLocalitiesCheck: true} 31393 } 31394 case 396: 31395 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 31396 //line sql-gen.y:3882 31397 { 31398 } 31399 case 397: 31400 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 31401 //line sql-gen.y:3883 31402 { 31403 } 31404 case 398: 31405 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 31406 //line sql-gen.y:3886 31407 { 31408 } 31409 case 399: 31410 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 31411 //line sql-gen.y:3887 31412 { 31413 } 31414 case 400: 31415 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 31416 //line sql-gen.y:3891 31417 { 31418 sqlVAL.str = strings.ToUpper(sqlDollar[1].str) 31419 } 31420 case 401: 31421 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 31422 //line sql-gen.y:3897 31423 { 31424 return unimplemented(sqllex, "alter domain") 31425 } 31426 case 402: 31427 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 31428 //line sql-gen.y:3901 31429 { 31430 return unimplementedWithIssueDetail(sqllex, 74775, "alter aggregate") 31431 } 31432 case 403: 31433 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 31434 //line sql-gen.y:3928 31435 { 31436 31437 sqlVAL.union.val = &tree.Import{Bundle: true, FileFormat: sqlDollar[2].str, Files: tree.Exprs{sqlDollar[4].union.expr()}, Options: sqlDollar[6].union.kvOptions()} 31438 } 31439 case 404: 31440 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 31441 //line sql-gen.y:3933 31442 { 31443 sqlVAL.union.val = &tree.Import{Bundle: true, FileFormat: sqlDollar[2].str, Files: tree.Exprs{sqlDollar[3].union.expr()}, Options: sqlDollar[4].union.kvOptions()} 31444 } 31445 case 405: 31446 sqlDollar = sqlS[sqlpt-9 : sqlpt+1] 31447 //line sql-gen.y:3937 31448 { 31449 31450 name := sqlDollar[3].union.unresolvedObjectName().ToTableName() 31451 sqlVAL.union.val = &tree.Import{Bundle: true, Table: &name, FileFormat: sqlDollar[5].str, Files: tree.Exprs{sqlDollar[7].union.expr()}, Options: sqlDollar[9].union.kvOptions()} 31452 } 31453 case 406: 31454 sqlDollar = sqlS[sqlpt-7 : sqlpt+1] 31455 //line sql-gen.y:3943 31456 { 31457 name := sqlDollar[3].union.unresolvedObjectName().ToTableName() 31458 sqlVAL.union.val = &tree.Import{Bundle: true, Table: &name, FileFormat: sqlDollar[5].str, Files: tree.Exprs{sqlDollar[6].union.expr()}, Options: sqlDollar[7].union.kvOptions()} 31459 } 31460 case 407: 31461 sqlDollar = sqlS[sqlpt-12 : sqlpt+1] 31462 //line sql-gen.y:3948 31463 { 31464 name := sqlDollar[3].union.unresolvedObjectName().ToTableName() 31465 sqlVAL.union.val = &tree.Import{Table: &name, Into: true, IntoCols: sqlDollar[5].union.nameList(), FileFormat: sqlDollar[7].str, Files: sqlDollar[10].union.exprs(), Options: sqlDollar[12].union.kvOptions()} 31466 } 31467 case 408: 31468 sqlDollar = sqlS[sqlpt-9 : sqlpt+1] 31469 //line sql-gen.y:3953 31470 { 31471 name := sqlDollar[3].union.unresolvedObjectName().ToTableName() 31472 sqlVAL.union.val = &tree.Import{Table: &name, Into: true, IntoCols: nil, FileFormat: sqlDollar[4].str, Files: sqlDollar[7].union.exprs(), Options: sqlDollar[9].union.kvOptions()} 31473 } 31474 case 409: 31475 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 31476 //line sql-gen.y:3957 31477 { 31478 return helpWith(sqllex, "IMPORT") 31479 } 31480 case 410: 31481 sqlDollar = sqlS[sqlpt-7 : sqlpt+1] 31482 //line sql-gen.y:3974 31483 { 31484 sqlVAL.union.val = &tree.Export{Query: sqlDollar[7].union.slct(), FileFormat: sqlDollar[3].str, File: sqlDollar[4].union.expr(), Options: sqlDollar[5].union.kvOptions()} 31485 } 31486 case 411: 31487 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 31488 //line sql-gen.y:3977 31489 { 31490 return helpWith(sqllex, "EXPORT") 31491 } 31492 case 412: 31493 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 31494 //line sql-gen.y:3981 31495 { 31496 sqlVAL.union.val = tree.NewStrVal(sqlDollar[1].str) 31497 } 31498 case 413: 31499 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 31500 //line sql-gen.y:3985 31501 { 31502 p := sqlDollar[1].union.placeholder() 31503 sqllex.(*lexer).UpdateNumPlaceholders(p) 31504 sqlVAL.union.val = p 31505 } 31506 case 414: 31507 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 31508 //line sql-gen.y:3993 31509 { 31510 sqlVAL.union.val = tree.Exprs{sqlDollar[1].union.expr()} 31511 } 31512 case 415: 31513 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 31514 //line sql-gen.y:3997 31515 { 31516 sqlVAL.union.val = append(sqlDollar[1].union.exprs(), sqlDollar[3].union.expr()) 31517 } 31518 case 416: 31519 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 31520 //line sql-gen.y:4003 31521 { 31522 sqlVAL.union.val = sqlDollar[3].union.exprs() 31523 } 31524 case 417: 31525 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 31526 //line sql-gen.y:4007 31527 { 31528 sqlVAL.union.val = tree.Exprs(nil) 31529 } 31530 case 418: 31531 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 31532 //line sql-gen.y:4013 31533 { 31534 sqlVAL.union.val = tree.KVOption{Key: tree.Name(sqlDollar[1].str), Value: sqlDollar[3].union.expr()} 31535 } 31536 case 419: 31537 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 31538 //line sql-gen.y:4017 31539 { 31540 sqlVAL.union.val = tree.KVOption{Key: tree.Name(sqlDollar[1].str)} 31541 } 31542 case 420: 31543 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 31544 //line sql-gen.y:4021 31545 { 31546 sqlVAL.union.val = tree.KVOption{Key: tree.Name(sqlDollar[1].str), Value: sqlDollar[3].union.expr()} 31547 } 31548 case 421: 31549 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 31550 //line sql-gen.y:4025 31551 { 31552 sqlVAL.union.val = tree.KVOption{Key: tree.Name(sqlDollar[1].str)} 31553 } 31554 case 422: 31555 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 31556 //line sql-gen.y:4031 31557 { 31558 sqlVAL.union.val = []tree.KVOption{sqlDollar[1].union.kvOption()} 31559 } 31560 case 423: 31561 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 31562 //line sql-gen.y:4035 31563 { 31564 sqlVAL.union.val = append(sqlDollar[1].union.kvOptions(), sqlDollar[3].union.kvOption()) 31565 } 31566 case 424: 31567 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 31568 //line sql-gen.y:4041 31569 { 31570 sqlVAL.union.val = sqlDollar[2].union.kvOptions() 31571 } 31572 case 425: 31573 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 31574 //line sql-gen.y:4045 31575 { 31576 sqlVAL.union.val = sqlDollar[4].union.kvOptions() 31577 } 31578 case 426: 31579 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 31580 //line sql-gen.y:4049 31581 { 31582 sqlVAL.union.val = nil 31583 } 31584 case 427: 31585 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 31586 //line sql-gen.y:4059 31587 { 31588 p := sqlDollar[2].union.expr().(*tree.FuncExpr) 31589 p.InCall = true 31590 sqlVAL.union.val = &tree.Call{Proc: p} 31591 } 31592 case 428: 31593 sqlDollar = sqlS[sqlpt-7 : sqlpt+1] 31594 //line sql-gen.y:4073 31595 { 31596 31597 name := sqlDollar[2].union.unresolvedObjectName().ToTableName() 31598 if sqlDollar[7].union.expr() != nil { 31599 return unimplementedWithIssue(sqllex, 54580) 31600 } 31601 sqlVAL.union.val = &tree.CopyFrom{ 31602 Table: name, 31603 Columns: sqlDollar[3].union.nameList(), 31604 Stdin: true, 31605 Options: *sqlDollar[6].union.copyOptions(), 31606 } 31607 } 31608 case 429: 31609 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 31610 //line sql-gen.y:4087 31611 { 31612 return unimplemented(sqllex, "copy from unsupported format") 31613 } 31614 case 430: 31615 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 31616 //line sql-gen.y:4091 31617 { 31618 31619 name := sqlDollar[2].union.unresolvedObjectName().ToTableName() 31620 sqlVAL.union.val = &tree.CopyTo{ 31621 Table: name, 31622 Columns: sqlDollar[3].union.nameList(), 31623 Options: *sqlDollar[6].union.copyOptions(), 31624 } 31625 } 31626 case 431: 31627 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 31628 //line sql-gen.y:4101 31629 { 31630 return unimplementedWithIssue(sqllex, 97181) 31631 } 31632 case 432: 31633 sqlDollar = sqlS[sqlpt-7 : sqlpt+1] 31634 //line sql-gen.y:4105 31635 { 31636 31637 sqlVAL.union.val = &tree.CopyTo{ 31638 Statement: sqlDollar[3].union.stmt(), 31639 Options: *sqlDollar[7].union.copyOptions(), 31640 } 31641 } 31642 case 433: 31643 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 31644 //line sql-gen.y:4113 31645 { 31646 return unimplementedWithIssue(sqllex, 96590) 31647 } 31648 case 434: 31649 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 31650 //line sql-gen.y:4119 31651 { 31652 sqlVAL.union.val = sqlDollar[2].union.copyOptions() 31653 } 31654 case 435: 31655 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 31656 //line sql-gen.y:4123 31657 { 31658 sqlVAL.union.val = sqlDollar[3].union.copyOptions() 31659 } 31660 case 436: 31661 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 31662 //line sql-gen.y:4127 31663 { 31664 sqlVAL.union.val = &tree.CopyOptions{} 31665 } 31666 case 437: 31667 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 31668 //line sql-gen.y:4133 31669 { 31670 sqlVAL.union.val = sqlDollar[1].union.copyOptions() 31671 } 31672 case 438: 31673 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 31674 //line sql-gen.y:4137 31675 { 31676 if err := sqlDollar[1].union.copyOptions().CombineWith(sqlDollar[2].union.copyOptions()); err != nil { 31677 return setErr(sqllex, err) 31678 } 31679 } 31680 case 439: 31681 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 31682 //line sql-gen.y:4145 31683 { 31684 sqlVAL.union.val = sqlDollar[1].union.copyOptions() 31685 } 31686 case 440: 31687 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 31688 //line sql-gen.y:4149 31689 { 31690 if err := sqlDollar[1].union.copyOptions().CombineWith(sqlDollar[3].union.copyOptions()); err != nil { 31691 return setErr(sqllex, err) 31692 } 31693 } 31694 case 441: 31695 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 31696 //line sql-gen.y:4157 31697 { 31698 sqlVAL.union.val = &tree.CopyOptions{Destination: sqlDollar[3].union.expr()} 31699 } 31700 case 442: 31701 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 31702 //line sql-gen.y:4161 31703 { 31704 sqlVAL.union.val = &tree.CopyOptions{CopyFormat: tree.CopyFormatBinary, HasFormat: true} 31705 } 31706 case 443: 31707 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 31708 //line sql-gen.y:4165 31709 { 31710 sqlVAL.union.val = &tree.CopyOptions{CopyFormat: tree.CopyFormatCSV, HasFormat: true} 31711 } 31712 case 444: 31713 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 31714 //line sql-gen.y:4169 31715 { 31716 sqlVAL.union.val = &tree.CopyOptions{Delimiter: sqlDollar[2].union.expr()} 31717 } 31718 case 445: 31719 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 31720 //line sql-gen.y:4173 31721 { 31722 sqlVAL.union.val = &tree.CopyOptions{Null: sqlDollar[2].union.expr()} 31723 } 31724 case 446: 31725 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 31726 //line sql-gen.y:4177 31727 { 31728 return unimplementedWithIssueDetail(sqllex, 41608, "oids") 31729 } 31730 case 447: 31731 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 31732 //line sql-gen.y:4181 31733 { 31734 return unimplementedWithIssueDetail(sqllex, 41608, "freeze") 31735 } 31736 case 448: 31737 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 31738 //line sql-gen.y:4185 31739 { 31740 sqlVAL.union.val = &tree.CopyOptions{Header: true, HasHeader: true} 31741 } 31742 case 449: 31743 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 31744 //line sql-gen.y:4189 31745 { 31746 sqlVAL.union.val = &tree.CopyOptions{Quote: tree.NewStrVal(sqlDollar[2].str)} 31747 } 31748 case 450: 31749 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 31750 //line sql-gen.y:4193 31751 { 31752 sqlVAL.union.val = &tree.CopyOptions{Escape: tree.NewStrVal(sqlDollar[2].str)} 31753 } 31754 case 451: 31755 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 31756 //line sql-gen.y:4197 31757 { 31758 return unimplementedWithIssueDetail(sqllex, 41608, "force_quote") 31759 } 31760 case 452: 31761 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 31762 //line sql-gen.y:4201 31763 { 31764 return unimplementedWithIssueDetail(sqllex, 41608, "force_not_null") 31765 } 31766 case 453: 31767 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 31768 //line sql-gen.y:4205 31769 { 31770 return unimplementedWithIssueDetail(sqllex, 41608, "force_null") 31771 } 31772 case 454: 31773 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 31774 //line sql-gen.y:4209 31775 { 31776 return unimplementedWithIssueDetail(sqllex, 41608, "encoding") 31777 } 31778 case 455: 31779 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 31780 //line sql-gen.y:4215 31781 { 31782 sqlVAL.union.val = &tree.CopyOptions{Destination: sqlDollar[2].union.expr()} 31783 } 31784 case 456: 31785 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 31786 //line sql-gen.y:4219 31787 { 31788 sqlVAL.union.val = &tree.CopyOptions{CopyFormat: tree.CopyFormatBinary, HasFormat: true} 31789 } 31790 case 457: 31791 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 31792 //line sql-gen.y:4223 31793 { 31794 sqlVAL.union.val = &tree.CopyOptions{CopyFormat: tree.CopyFormatCSV, HasFormat: true} 31795 } 31796 case 458: 31797 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 31798 //line sql-gen.y:4227 31799 { 31800 sqlVAL.union.val = &tree.CopyOptions{CopyFormat: tree.CopyFormatText, HasFormat: true} 31801 } 31802 case 459: 31803 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 31804 //line sql-gen.y:4231 31805 { 31806 format := sqlDollar[2].str 31807 switch format { 31808 case "csv": 31809 sqlVAL.union.val = &tree.CopyOptions{CopyFormat: tree.CopyFormatCSV, HasFormat: true} 31810 case "binary": 31811 sqlVAL.union.val = &tree.CopyOptions{CopyFormat: tree.CopyFormatBinary, HasFormat: true} 31812 case "text": 31813 sqlVAL.union.val = &tree.CopyOptions{CopyFormat: tree.CopyFormatText, HasFormat: true} 31814 default: 31815 sqllex.Error("COPY format \"" + format + "\" not recognized") 31816 return 1 31817 } 31818 } 31819 case 460: 31820 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 31821 //line sql-gen.y:4246 31822 { 31823 sqlVAL.union.val = &tree.CopyOptions{Delimiter: sqlDollar[2].union.expr()} 31824 } 31825 case 461: 31826 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 31827 //line sql-gen.y:4250 31828 { 31829 sqlVAL.union.val = &tree.CopyOptions{Null: sqlDollar[2].union.expr()} 31830 } 31831 case 462: 31832 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 31833 //line sql-gen.y:4254 31834 { 31835 return unimplementedWithIssueDetail(sqllex, 41608, "oids") 31836 } 31837 case 463: 31838 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 31839 //line sql-gen.y:4258 31840 { 31841 return unimplementedWithIssueDetail(sqllex, 41608, "freeze") 31842 } 31843 case 464: 31844 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 31845 //line sql-gen.y:4262 31846 { 31847 sqlVAL.union.val = &tree.CopyOptions{Header: true, HasHeader: true} 31848 } 31849 case 465: 31850 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 31851 //line sql-gen.y:4266 31852 { 31853 sqlVAL.union.val = &tree.CopyOptions{Header: true, HasHeader: true} 31854 } 31855 case 466: 31856 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 31857 //line sql-gen.y:4270 31858 { 31859 sqlVAL.union.val = &tree.CopyOptions{Header: false, HasHeader: true} 31860 } 31861 case 467: 31862 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 31863 //line sql-gen.y:4274 31864 { 31865 sqlVAL.union.val = &tree.CopyOptions{Quote: tree.NewStrVal(sqlDollar[2].str)} 31866 } 31867 case 468: 31868 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 31869 //line sql-gen.y:4278 31870 { 31871 sqlVAL.union.val = &tree.CopyOptions{Escape: tree.NewStrVal(sqlDollar[2].str)} 31872 } 31873 case 469: 31874 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 31875 //line sql-gen.y:4282 31876 { 31877 return unimplementedWithIssueDetail(sqllex, 41608, "force_quote") 31878 } 31879 case 470: 31880 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 31881 //line sql-gen.y:4286 31882 { 31883 return unimplementedWithIssueDetail(sqllex, 41608, "force_not_null") 31884 } 31885 case 471: 31886 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 31887 //line sql-gen.y:4290 31888 { 31889 return unimplementedWithIssueDetail(sqllex, 41608, "force_null") 31890 } 31891 case 472: 31892 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 31893 //line sql-gen.y:4294 31894 { 31895 return unimplementedWithIssueDetail(sqllex, 41608, "encoding") 31896 } 31897 case 474: 31898 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 31899 //line sql-gen.y:4302 31900 { 31901 return helpWith(sqllex, "CANCEL JOBS") 31902 } 31903 case 476: 31904 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 31905 //line sql-gen.y:4303 31906 { 31907 return helpWith(sqllex, "CANCEL QUERIES") 31908 } 31909 case 478: 31910 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 31911 //line sql-gen.y:4304 31912 { 31913 return helpWith(sqllex, "CANCEL SESSIONS") 31914 } 31915 case 480: 31916 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 31917 //line sql-gen.y:4305 31918 { 31919 return helpWith(sqllex, "CANCEL ALL JOBS") 31920 } 31921 case 481: 31922 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 31923 //line sql-gen.y:4306 31924 { 31925 return helpWith(sqllex, "CANCEL") 31926 } 31927 case 482: 31928 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 31929 //line sql-gen.y:4316 31930 { 31931 sqlVAL.union.val = &tree.ControlJobs{ 31932 Jobs: &tree.Select{ 31933 Select: &tree.ValuesClause{Rows: []tree.Exprs{tree.Exprs{sqlDollar[3].union.expr()}}}, 31934 }, 31935 Command: tree.CancelJob, 31936 } 31937 } 31938 case 483: 31939 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 31940 //line sql-gen.y:4324 31941 { 31942 return helpWith(sqllex, "CANCEL JOBS") 31943 } 31944 case 484: 31945 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 31946 //line sql-gen.y:4326 31947 { 31948 sqlVAL.union.val = &tree.ControlJobs{Jobs: sqlDollar[3].union.slct(), Command: tree.CancelJob} 31949 } 31950 case 485: 31951 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 31952 //line sql-gen.y:4330 31953 { 31954 sqlVAL.union.val = &tree.ControlJobsForSchedules{Schedules: sqlDollar[3].union.slct(), Command: tree.CancelJob} 31955 } 31956 case 486: 31957 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 31958 //line sql-gen.y:4333 31959 { 31960 return helpWith(sqllex, "CANCEL JOBS") 31961 } 31962 case 487: 31963 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 31964 //line sql-gen.y:4343 31965 { 31966 sqlVAL.union.val = &tree.CancelQueries{ 31967 Queries: &tree.Select{ 31968 Select: &tree.ValuesClause{Rows: []tree.Exprs{tree.Exprs{sqlDollar[3].union.expr()}}}, 31969 }, 31970 IfExists: false, 31971 } 31972 } 31973 case 488: 31974 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 31975 //line sql-gen.y:4352 31976 { 31977 sqlVAL.union.val = &tree.CancelQueries{ 31978 Queries: &tree.Select{ 31979 Select: &tree.ValuesClause{Rows: []tree.Exprs{tree.Exprs{sqlDollar[5].union.expr()}}}, 31980 }, 31981 IfExists: true, 31982 } 31983 } 31984 case 489: 31985 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 31986 //line sql-gen.y:4360 31987 { 31988 return helpWith(sqllex, "CANCEL QUERIES") 31989 } 31990 case 490: 31991 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 31992 //line sql-gen.y:4362 31993 { 31994 sqlVAL.union.val = &tree.CancelQueries{Queries: sqlDollar[3].union.slct(), IfExists: false} 31995 } 31996 case 491: 31997 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 31998 //line sql-gen.y:4366 31999 { 32000 sqlVAL.union.val = &tree.CancelQueries{Queries: sqlDollar[5].union.slct(), IfExists: true} 32001 } 32002 case 492: 32003 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 32004 //line sql-gen.y:4369 32005 { 32006 return helpWith(sqllex, "CANCEL QUERIES") 32007 } 32008 case 493: 32009 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 32010 //line sql-gen.y:4379 32011 { 32012 sqlVAL.union.val = &tree.CancelSessions{ 32013 Sessions: &tree.Select{ 32014 Select: &tree.ValuesClause{Rows: []tree.Exprs{tree.Exprs{sqlDollar[3].union.expr()}}}, 32015 }, 32016 IfExists: false, 32017 } 32018 } 32019 case 494: 32020 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 32021 //line sql-gen.y:4388 32022 { 32023 sqlVAL.union.val = &tree.CancelSessions{ 32024 Sessions: &tree.Select{ 32025 Select: &tree.ValuesClause{Rows: []tree.Exprs{tree.Exprs{sqlDollar[5].union.expr()}}}, 32026 }, 32027 IfExists: true, 32028 } 32029 } 32030 case 495: 32031 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 32032 //line sql-gen.y:4396 32033 { 32034 return helpWith(sqllex, "CANCEL SESSIONS") 32035 } 32036 case 496: 32037 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 32038 //line sql-gen.y:4398 32039 { 32040 sqlVAL.union.val = &tree.CancelSessions{Sessions: sqlDollar[3].union.slct(), IfExists: false} 32041 } 32042 case 497: 32043 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 32044 //line sql-gen.y:4402 32045 { 32046 sqlVAL.union.val = &tree.CancelSessions{Sessions: sqlDollar[5].union.slct(), IfExists: true} 32047 } 32048 case 498: 32049 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 32050 //line sql-gen.y:4405 32051 { 32052 return helpWith(sqllex, "CANCEL SESSIONS") 32053 } 32054 case 499: 32055 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 32056 //line sql-gen.y:4413 32057 { 32058 sqlVAL.union.val = &tree.ControlJobsOfType{Type: sqlDollar[3].str, Command: tree.CancelJob} 32059 } 32060 case 500: 32061 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 32062 //line sql-gen.y:4416 32063 { 32064 return helpWith(sqllex, "CANCEL ALL JOBS") 32065 } 32066 case 501: 32067 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 32068 //line sql-gen.y:4420 32069 { 32070 sqlVAL.union.val = &tree.CommentOnDatabase{Name: tree.Name(sqlDollar[4].str), Comment: sqlDollar[6].union.strPtr()} 32071 } 32072 case 502: 32073 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 32074 //line sql-gen.y:4424 32075 { 32076 sqlVAL.union.val = &tree.CommentOnSchema{Name: sqlDollar[4].union.objectNamePrefix(), Comment: sqlDollar[6].union.strPtr()} 32077 } 32078 case 503: 32079 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 32080 //line sql-gen.y:4428 32081 { 32082 sqlVAL.union.val = &tree.CommentOnTable{Table: sqlDollar[4].union.unresolvedObjectName(), Comment: sqlDollar[6].union.strPtr()} 32083 } 32084 case 504: 32085 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 32086 //line sql-gen.y:4432 32087 { 32088 varName, err := sqlDollar[4].union.unresolvedName().NormalizeVarName() 32089 if err != nil { 32090 return setErr(sqllex, err) 32091 } 32092 columnItem, ok := varName.(*tree.ColumnItem) 32093 if !ok { 32094 sqllex.Error(fmt.Sprintf("invalid column name: %q", tree.ErrString(sqlDollar[4].union.unresolvedName()))) 32095 return 1 32096 } 32097 if columnItem != nil && columnItem.TableName != nil { 32098 aIdx := sqllex.(*lexer).NewAnnotation() 32099 columnItem.TableName.AnnotatedNode = tree.AnnotatedNode{AnnIdx: aIdx} 32100 } 32101 sqlVAL.union.val = &tree.CommentOnColumn{ColumnItem: columnItem, Comment: sqlDollar[6].union.strPtr()} 32102 } 32103 case 505: 32104 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 32105 //line sql-gen.y:4449 32106 { 32107 sqlVAL.union.val = &tree.CommentOnIndex{Index: sqlDollar[4].union.tableIndexName(), Comment: sqlDollar[6].union.strPtr()} 32108 } 32109 case 506: 32110 sqlDollar = sqlS[sqlpt-8 : sqlpt+1] 32111 //line sql-gen.y:4454 32112 { 32113 sqlVAL.union.val = &tree.CommentOnConstraint{Constraint: tree.Name(sqlDollar[4].str), Table: sqlDollar[6].union.unresolvedObjectName(), Comment: sqlDollar[8].union.strPtr()} 32114 } 32115 case 507: 32116 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 32117 //line sql-gen.y:4457 32118 { 32119 return unimplementedWithIssueDetail(sqllex, 74777, "comment on extension") 32120 } 32121 case 508: 32122 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 32123 //line sql-gen.y:4458 32124 { 32125 return unimplementedWithIssueDetail(sqllex, 17511, "comment on function") 32126 } 32127 case 509: 32128 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 32129 //line sql-gen.y:4462 32130 { 32131 t := sqlDollar[1].str 32132 sqlVAL.union.val = &t 32133 } 32134 case 510: 32135 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 32136 //line sql-gen.y:4467 32137 { 32138 var str *string 32139 sqlVAL.union.val = str 32140 } 32141 case 512: 32142 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 32143 //line sql-gen.y:4479 32144 { 32145 return helpWith(sqllex, "CREATE ROLE") 32146 } 32147 case 515: 32148 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 32149 //line sql-gen.y:4481 32150 { 32151 return helpWith(sqllex, "CREATE STATISTICS") 32152 } 32153 case 517: 32154 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 32155 //line sql-gen.y:4482 32156 { 32157 return helpWith(sqllex, "CREATE CHANGEFEED") 32158 } 32159 case 519: 32160 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 32161 //line sql-gen.y:4483 32162 { 32163 return helpWith(sqllex, "CREATE EXTENSION") 32164 } 32165 case 521: 32166 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 32167 //line sql-gen.y:4484 32168 { 32169 return helpWith(sqllex, "CREATE EXTERNAL CONNECTION") 32170 } 32171 case 523: 32172 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 32173 //line sql-gen.y:4485 32174 { 32175 return helpWith(sqllex, "CREATE VIRTUAL CLUSTER") 32176 } 32177 case 525: 32178 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 32179 //line sql-gen.y:4487 32180 { 32181 } 32182 case 526: 32183 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 32184 //line sql-gen.y:4488 32185 { 32186 return helpWith(sqllex, "CREATE") 32187 } 32188 case 527: 32189 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 32190 //line sql-gen.y:4499 32191 { 32192 32193 sqlVAL.union.val = &tree.CreateTenant{ 32194 TenantSpec: &tree.TenantSpec{IsName: true, Expr: sqlDollar[3].union.expr()}, 32195 Like: sqlDollar[4].union.likeTenantSpec(), 32196 } 32197 } 32198 case 528: 32199 sqlDollar = sqlS[sqlpt-7 : sqlpt+1] 32200 //line sql-gen.y:4507 32201 { 32202 32203 sqlVAL.union.val = &tree.CreateTenant{ 32204 IfNotExists: true, 32205 TenantSpec: &tree.TenantSpec{IsName: true, Expr: sqlDollar[6].union.expr()}, 32206 Like: sqlDollar[7].union.likeTenantSpec(), 32207 } 32208 } 32209 case 529: 32210 sqlDollar = sqlS[sqlpt-11 : sqlpt+1] 32211 //line sql-gen.y:4516 32212 { 32213 32214 sqlVAL.union.val = &tree.CreateTenantFromReplication{ 32215 TenantSpec: &tree.TenantSpec{IsName: true, Expr: sqlDollar[3].union.expr()}, 32216 ReplicationSourceTenantName: &tree.TenantSpec{IsName: true, Expr: sqlDollar[8].union.expr()}, 32217 ReplicationSourceAddress: sqlDollar[10].union.expr(), 32218 Options: *sqlDollar[11].union.tenantReplicationOptions(), 32219 Like: sqlDollar[4].union.likeTenantSpec(), 32220 } 32221 } 32222 case 530: 32223 sqlDollar = sqlS[sqlpt-14 : sqlpt+1] 32224 //line sql-gen.y:4527 32225 { 32226 32227 sqlVAL.union.val = &tree.CreateTenantFromReplication{ 32228 IfNotExists: true, 32229 TenantSpec: &tree.TenantSpec{IsName: true, Expr: sqlDollar[6].union.expr()}, 32230 ReplicationSourceTenantName: &tree.TenantSpec{IsName: true, Expr: sqlDollar[11].union.expr()}, 32231 ReplicationSourceAddress: sqlDollar[13].union.expr(), 32232 Options: *sqlDollar[14].union.tenantReplicationOptions(), 32233 Like: sqlDollar[7].union.likeTenantSpec(), 32234 } 32235 } 32236 case 531: 32237 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 32238 //line sql-gen.y:4538 32239 { 32240 return helpWith(sqllex, "CREATE VIRTUAL CLUSTER") 32241 } 32242 case 532: 32243 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 32244 //line sql-gen.y:4541 32245 { 32246 } 32247 case 534: 32248 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 32249 //line sql-gen.y:4549 32250 { 32251 sqlVAL.union.val = &tree.LikeTenantSpec{} 32252 } 32253 case 535: 32254 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 32255 //line sql-gen.y:4553 32256 { 32257 sqlVAL.union.val = &tree.LikeTenantSpec{OtherTenant: sqlDollar[2].union.tenantSpec()} 32258 } 32259 case 536: 32260 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 32261 //line sql-gen.y:4560 32262 { 32263 sqlVAL.union.val = sqlDollar[2].union.tenantReplicationOptions() 32264 } 32265 case 537: 32266 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 32267 //line sql-gen.y:4564 32268 { 32269 sqlVAL.union.val = sqlDollar[4].union.tenantReplicationOptions() 32270 } 32271 case 538: 32272 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 32273 //line sql-gen.y:4568 32274 { 32275 sqlVAL.union.val = &tree.TenantReplicationOptions{} 32276 } 32277 case 539: 32278 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 32279 //line sql-gen.y:4575 32280 { 32281 sqlVAL.union.val = sqlDollar[1].union.tenantReplicationOptions() 32282 } 32283 case 540: 32284 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 32285 //line sql-gen.y:4579 32286 { 32287 if err := sqlDollar[1].union.tenantReplicationOptions().CombineWith(sqlDollar[3].union.tenantReplicationOptions()); err != nil { 32288 return setErr(sqllex, err) 32289 } 32290 } 32291 case 541: 32292 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 32293 //line sql-gen.y:4588 32294 { 32295 sqlVAL.union.val = &tree.TenantReplicationOptions{Retention: sqlDollar[3].union.expr()} 32296 } 32297 case 542: 32298 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 32299 //line sql-gen.y:4593 32300 { 32301 sqlVAL.union.val = &tree.TenantReplicationOptions{ResumeTimestamp: sqlDollar[4].union.expr()} 32302 } 32303 case 544: 32304 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 32305 //line sql-gen.y:4603 32306 { 32307 return helpWith(sqllex, "CREATE SCHEDULE FOR CHANGEFEED") 32308 } 32309 case 546: 32310 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 32311 //line sql-gen.y:4604 32312 { 32313 return helpWith(sqllex, "CREATE SCHEDULE FOR BACKUP") 32314 } 32315 case 547: 32316 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 32317 //line sql-gen.y:4605 32318 { 32319 return helpWith(sqllex, "CREATE SCHEDULE") 32320 } 32321 case 548: 32322 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 32323 //line sql-gen.y:4612 32324 { 32325 sqlVAL.union.val = &tree.CreateExtension{IfNotExists: true, Name: tree.Name(sqlDollar[6].str)} 32326 } 32327 case 549: 32328 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 32329 //line sql-gen.y:4615 32330 { 32331 sqlVAL.union.val = &tree.CreateExtension{Name: tree.Name(sqlDollar[3].str)} 32332 } 32333 case 550: 32334 sqlDollar = sqlS[sqlpt-8 : sqlpt+1] 32335 //line sql-gen.y:4619 32336 { 32337 return unimplementedWithIssueDetail(sqllex, 74777, "create extension if not exists with") 32338 } 32339 case 551: 32340 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 32341 //line sql-gen.y:4622 32342 { 32343 return unimplementedWithIssueDetail(sqllex, 74777, "create extension with") 32344 } 32345 case 552: 32346 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 32347 //line sql-gen.y:4625 32348 { 32349 return helpWith(sqllex, "CREATE EXTENSION") 32350 } 32351 case 553: 32352 sqlDollar = sqlS[sqlpt-13 : sqlpt+1] 32353 //line sql-gen.y:4644 32354 { 32355 name := sqlDollar[4].union.unresolvedObjectName().ToRoutineName() 32356 sqlVAL.union.val = &tree.CreateRoutine{ 32357 IsProcedure: false, 32358 Replace: sqlDollar[2].union.bool(), 32359 Name: name, 32360 Params: sqlDollar[6].union.routineParams(), 32361 ReturnType: tree.RoutineReturnType{ 32362 Type: sqlDollar[11].union.typeReference(), 32363 SetOf: sqlDollar[10].union.bool(), 32364 }, 32365 Options: sqlDollar[12].union.routineOptions(), 32366 RoutineBody: sqlDollar[13].union.routineBody(), 32367 } 32368 } 32369 case 554: 32370 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 32371 //line sql-gen.y:4659 32372 { 32373 return helpWith(sqllex, "CREATE FUNCTION") 32374 } 32375 case 555: 32376 sqlDollar = sqlS[sqlpt-9 : sqlpt+1] 32377 //line sql-gen.y:4673 32378 { 32379 name := sqlDollar[4].union.unresolvedObjectName().ToRoutineName() 32380 sqlVAL.union.val = &tree.CreateRoutine{ 32381 IsProcedure: true, 32382 Replace: sqlDollar[2].union.bool(), 32383 Name: name, 32384 Params: sqlDollar[6].union.routineParams(), 32385 Options: sqlDollar[8].union.routineOptions(), 32386 RoutineBody: sqlDollar[9].union.routineBody(), 32387 ReturnType: tree.RoutineReturnType{ 32388 Type: types.Void, 32389 }, 32390 } 32391 } 32392 case 556: 32393 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 32394 //line sql-gen.y:4687 32395 { 32396 return helpWith(sqllex, "CREATE PROCEDURE") 32397 } 32398 case 557: 32399 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 32400 //line sql-gen.y:4690 32401 { 32402 sqlVAL.union.val = true 32403 } 32404 case 558: 32405 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 32406 //line sql-gen.y:4691 32407 { 32408 sqlVAL.union.val = false 32409 } 32410 case 559: 32411 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 32412 //line sql-gen.y:4694 32413 { 32414 return unimplementedWithIssueDetail(sqllex, 100226, "UDF returning TABLE") 32415 } 32416 case 560: 32417 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 32418 //line sql-gen.y:4695 32419 { 32420 sqlVAL.union.val = false 32421 } 32422 case 561: 32423 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 32424 //line sql-gen.y:4698 32425 { 32426 sqlVAL.union.val = true 32427 } 32428 case 562: 32429 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 32430 //line sql-gen.y:4699 32431 { 32432 sqlVAL.union.val = false 32433 } 32434 case 564: 32435 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 32436 //line sql-gen.y:4705 32437 { 32438 sqlVAL.union.val = sqlDollar[1].union.routineParams() 32439 } 32440 case 565: 32441 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 32442 //line sql-gen.y:4706 32443 { 32444 sqlVAL.union.val = tree.RoutineParams{} 32445 } 32446 case 566: 32447 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 32448 //line sql-gen.y:4709 32449 { 32450 sqlVAL.union.val = tree.RoutineParams{sqlDollar[1].union.routineParam()} 32451 } 32452 case 567: 32453 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 32454 //line sql-gen.y:4711 32455 { 32456 sqlVAL.union.val = append(sqlDollar[1].union.routineParams(), sqlDollar[3].union.routineParam()) 32457 } 32458 case 569: 32459 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 32460 //line sql-gen.y:4718 32461 { 32462 arg := sqlDollar[1].union.routineParam() 32463 arg.DefaultVal = sqlDollar[3].union.expr() 32464 sqlVAL.union.val = arg 32465 } 32466 case 570: 32467 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 32468 //line sql-gen.y:4724 32469 { 32470 arg := sqlDollar[1].union.routineParam() 32471 arg.DefaultVal = sqlDollar[3].union.expr() 32472 sqlVAL.union.val = arg 32473 } 32474 case 571: 32475 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 32476 //line sql-gen.y:4732 32477 { 32478 sqlVAL.union.val = tree.RoutineParam{ 32479 Name: tree.Name(sqlDollar[2].str), 32480 Type: sqlDollar[3].union.typeReference(), 32481 Class: sqlDollar[1].union.routineParamClass(), 32482 } 32483 } 32484 case 572: 32485 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 32486 //line sql-gen.y:4740 32487 { 32488 sqlVAL.union.val = tree.RoutineParam{ 32489 Name: tree.Name(sqlDollar[1].str), 32490 Type: sqlDollar[3].union.typeReference(), 32491 Class: sqlDollar[2].union.routineParamClass(), 32492 } 32493 } 32494 case 573: 32495 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 32496 //line sql-gen.y:4748 32497 { 32498 sqlVAL.union.val = tree.RoutineParam{ 32499 Name: tree.Name(sqlDollar[1].str), 32500 Type: sqlDollar[2].union.typeReference(), 32501 Class: tree.RoutineParamIn, 32502 } 32503 } 32504 case 574: 32505 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 32506 //line sql-gen.y:4756 32507 { 32508 sqlVAL.union.val = tree.RoutineParam{ 32509 Type: sqlDollar[2].union.typeReference(), 32510 Class: sqlDollar[1].union.routineParamClass(), 32511 } 32512 } 32513 case 575: 32514 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 32515 //line sql-gen.y:4763 32516 { 32517 sqlVAL.union.val = tree.RoutineParam{ 32518 Type: sqlDollar[1].union.typeReference(), 32519 Class: tree.RoutineParamIn, 32520 } 32521 } 32522 case 576: 32523 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 32524 //line sql-gen.y:4771 32525 { 32526 sqlVAL.union.val = tree.RoutineParamIn 32527 } 32528 case 577: 32529 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 32530 //line sql-gen.y:4772 32531 { 32532 return unimplementedWithIssueDetail(sqllex, 100405, "create function with 'OUT' argument class") 32533 } 32534 case 578: 32535 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 32536 //line sql-gen.y:4773 32537 { 32538 return unimplementedWithIssueDetail(sqllex, 100405, "create function with 'INOUT' argument class") 32539 } 32540 case 579: 32541 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 32542 //line sql-gen.y:4774 32543 { 32544 return unimplementedWithIssueDetail(sqllex, 100405, "create function with 'IN OUT' argument class") 32545 } 32546 case 580: 32547 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 32548 //line sql-gen.y:4775 32549 { 32550 return unimplementedWithIssueDetail(sqllex, 88947, "variadic user-defined functions") 32551 } 32552 case 583: 32553 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 32554 //line sql-gen.y:4784 32555 { 32556 sqlVAL.union.val = sqlDollar[1].union.routineOptions() 32557 } 32558 case 584: 32559 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 32560 //line sql-gen.y:4785 32561 { 32562 sqlVAL.union.val = tree.RoutineOptions{} 32563 } 32564 case 585: 32565 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 32566 //line sql-gen.y:4788 32567 { 32568 sqlVAL.union.val = tree.RoutineOptions{sqlDollar[1].union.functionOption()} 32569 } 32570 case 586: 32571 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 32572 //line sql-gen.y:4790 32573 { 32574 sqlVAL.union.val = append(sqlDollar[1].union.routineOptions(), sqlDollar[2].union.functionOption()) 32575 } 32576 case 587: 32577 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 32578 //line sql-gen.y:4796 32579 { 32580 sqlVAL.union.val = tree.RoutineBodyStr(sqlDollar[2].str) 32581 } 32582 case 588: 32583 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 32584 //line sql-gen.y:4800 32585 { 32586 lang, err := tree.AsRoutineLanguage(sqlDollar[2].str) 32587 if err != nil { 32588 return setErr(sqllex, err) 32589 } 32590 sqlVAL.union.val = lang 32591 } 32592 case 589: 32593 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 32594 //line sql-gen.y:4807 32595 { 32596 return unimplemented(sqllex, "create transform function") 32597 } 32598 case 590: 32599 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 32600 //line sql-gen.y:4808 32601 { 32602 return unimplemented(sqllex, "create window function") 32603 } 32604 case 591: 32605 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 32606 //line sql-gen.y:4810 32607 { 32608 sqlVAL.union.val = sqlDollar[1].union.functionOption() 32609 } 32610 case 592: 32611 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 32612 //line sql-gen.y:4816 32613 { 32614 sqlVAL.union.val = tree.RoutineCalledOnNullInput 32615 } 32616 case 593: 32617 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 32618 //line sql-gen.y:4820 32619 { 32620 sqlVAL.union.val = tree.RoutineReturnsNullOnNullInput 32621 } 32622 case 594: 32623 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 32624 //line sql-gen.y:4824 32625 { 32626 sqlVAL.union.val = tree.RoutineStrict 32627 } 32628 case 595: 32629 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 32630 //line sql-gen.y:4828 32631 { 32632 sqlVAL.union.val = tree.RoutineImmutable 32633 } 32634 case 596: 32635 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 32636 //line sql-gen.y:4832 32637 { 32638 sqlVAL.union.val = tree.RoutineStable 32639 } 32640 case 597: 32641 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 32642 //line sql-gen.y:4836 32643 { 32644 sqlVAL.union.val = tree.RoutineVolatile 32645 } 32646 case 598: 32647 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 32648 //line sql-gen.y:4840 32649 { 32650 return unimplemented(sqllex, "create function...security") 32651 } 32652 case 599: 32653 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 32654 //line sql-gen.y:4844 32655 { 32656 return unimplemented(sqllex, "create function...security") 32657 } 32658 case 600: 32659 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 32660 //line sql-gen.y:4848 32661 { 32662 return unimplemented(sqllex, "create function...security") 32663 } 32664 case 601: 32665 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 32666 //line sql-gen.y:4852 32667 { 32668 return unimplemented(sqllex, "create function...security") 32669 } 32670 case 602: 32671 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 32672 //line sql-gen.y:4856 32673 { 32674 sqlVAL.union.val = tree.RoutineLeakproof(true) 32675 } 32676 case 603: 32677 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 32678 //line sql-gen.y:4860 32679 { 32680 sqlVAL.union.val = tree.RoutineLeakproof(false) 32681 } 32682 case 604: 32683 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 32684 //line sql-gen.y:4864 32685 { 32686 return unimplemented(sqllex, "create function/procedure ... cost") 32687 } 32688 case 605: 32689 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 32690 //line sql-gen.y:4868 32691 { 32692 return unimplemented(sqllex, "create function/procedure ... rows") 32693 } 32694 case 606: 32695 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 32696 //line sql-gen.y:4872 32697 { 32698 return unimplemented(sqllex, "create function/procedure ... support") 32699 } 32700 case 607: 32701 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 32702 //line sql-gen.y:4879 32703 { 32704 return unimplemented(sqllex, "create function/procedure ... set") 32705 } 32706 case 608: 32707 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 32708 //line sql-gen.y:4880 32709 { 32710 return unimplemented(sqllex, "create function/procedure ... parallel") 32711 } 32712 case 610: 32713 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 32714 //line sql-gen.y:4887 32715 { 32716 sqlVAL.union.val = &tree.RoutineReturn{ 32717 ReturnVal: sqlDollar[2].union.expr(), 32718 } 32719 } 32720 case 613: 32721 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 32722 //line sql-gen.y:4899 32723 { 32724 sqlVAL.union.val = append(sqlDollar[1].union.stmts(), sqlDollar[2].union.stmt()) 32725 } 32726 case 614: 32727 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 32728 //line sql-gen.y:4903 32729 { 32730 sqlVAL.union.val = tree.Statements{} 32731 } 32732 case 615: 32733 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 32734 //line sql-gen.y:4909 32735 { 32736 sqlVAL.union.val = &tree.RoutineBody{ 32737 Stmts: tree.Statements{sqlDollar[1].union.stmt()}, 32738 } 32739 } 32740 case 616: 32741 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 32742 //line sql-gen.y:4915 32743 { 32744 sqlVAL.union.val = &tree.RoutineBody{ 32745 Stmts: sqlDollar[3].union.stmts(), 32746 } 32747 } 32748 case 617: 32749 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 32750 //line sql-gen.y:4921 32751 { 32752 sqlVAL.union.val = (*tree.RoutineBody)(nil) 32753 } 32754 case 618: 32755 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 32756 //line sql-gen.y:4927 32757 { 32758 } 32759 case 619: 32760 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 32761 //line sql-gen.y:4930 32762 { 32763 } 32764 case 620: 32765 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 32766 //line sql-gen.y:4941 32767 { 32768 sqlVAL.union.val = &tree.DropRoutine{ 32769 Routines: sqlDollar[3].union.routineObjs(), 32770 DropBehavior: sqlDollar[4].union.dropBehavior(), 32771 } 32772 } 32773 case 621: 32774 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 32775 //line sql-gen.y:4948 32776 { 32777 sqlVAL.union.val = &tree.DropRoutine{ 32778 IfExists: true, 32779 Routines: sqlDollar[5].union.routineObjs(), 32780 DropBehavior: sqlDollar[6].union.dropBehavior(), 32781 } 32782 } 32783 case 622: 32784 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 32785 //line sql-gen.y:4955 32786 { 32787 return helpWith(sqllex, "DROP FUNCTION") 32788 } 32789 case 623: 32790 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 32791 //line sql-gen.y:4965 32792 { 32793 sqlVAL.union.val = &tree.DropRoutine{ 32794 Procedure: true, 32795 Routines: sqlDollar[3].union.routineObjs(), 32796 DropBehavior: sqlDollar[4].union.dropBehavior(), 32797 } 32798 } 32799 case 624: 32800 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 32801 //line sql-gen.y:4973 32802 { 32803 sqlVAL.union.val = &tree.DropRoutine{ 32804 IfExists: true, 32805 Procedure: true, 32806 Routines: sqlDollar[5].union.routineObjs(), 32807 DropBehavior: sqlDollar[6].union.dropBehavior(), 32808 } 32809 } 32810 case 625: 32811 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 32812 //line sql-gen.y:4981 32813 { 32814 return helpWith(sqllex, "DROP PROCEDURE") 32815 } 32816 case 626: 32817 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 32818 //line sql-gen.y:4985 32819 { 32820 sqlVAL.union.val = tree.RoutineObjs{sqlDollar[1].union.functionObj()} 32821 } 32822 case 627: 32823 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 32824 //line sql-gen.y:4989 32825 { 32826 sqlVAL.union.val = append(sqlDollar[1].union.routineObjs(), sqlDollar[3].union.functionObj()) 32827 } 32828 case 628: 32829 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 32830 //line sql-gen.y:4995 32831 { 32832 sqlVAL.union.val = tree.RoutineObj{ 32833 FuncName: sqlDollar[1].union.unresolvedObjectName().ToRoutineName(), 32834 Params: sqlDollar[2].union.routineParams(), 32835 } 32836 } 32837 case 629: 32838 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 32839 //line sql-gen.y:5002 32840 { 32841 sqlVAL.union.val = tree.RoutineObj{ 32842 FuncName: sqlDollar[1].union.unresolvedObjectName().ToRoutineName(), 32843 } 32844 } 32845 case 630: 32846 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 32847 //line sql-gen.y:5010 32848 { 32849 sqlVAL.union.val = sqlDollar[2].union.routineParams() 32850 } 32851 case 631: 32852 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 32853 //line sql-gen.y:5014 32854 { 32855 sqlVAL.union.val = tree.RoutineParams{} 32856 } 32857 case 632: 32858 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 32859 //line sql-gen.y:5020 32860 { 32861 sqlVAL.union.val = tree.RoutineParams{sqlDollar[1].union.routineParam()} 32862 } 32863 case 633: 32864 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 32865 //line sql-gen.y:5024 32866 { 32867 sqlVAL.union.val = append(sqlDollar[1].union.routineParams(), sqlDollar[3].union.routineParam()) 32868 } 32869 case 634: 32870 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 32871 //line sql-gen.y:5030 32872 { 32873 sqlVAL.union.val = &tree.AlterFunctionOptions{ 32874 Function: sqlDollar[3].union.functionObj(), 32875 Options: sqlDollar[4].union.routineOptions(), 32876 } 32877 } 32878 case 635: 32879 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 32880 //line sql-gen.y:5039 32881 { 32882 sqlVAL.union.val = tree.RoutineOptions{sqlDollar[1].union.functionOption()} 32883 } 32884 case 636: 32885 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 32886 //line sql-gen.y:5043 32887 { 32888 sqlVAL.union.val = append(sqlDollar[1].union.routineOptions(), sqlDollar[2].union.functionOption()) 32889 } 32890 case 637: 32891 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 32892 //line sql-gen.y:5048 32893 { 32894 } 32895 case 638: 32896 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 32897 //line sql-gen.y:5049 32898 { 32899 } 32900 case 639: 32901 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 32902 //line sql-gen.y:5053 32903 { 32904 sqlVAL.union.val = &tree.AlterRoutineRename{ 32905 Function: sqlDollar[3].union.functionObj(), 32906 NewName: tree.Name(sqlDollar[6].str), 32907 } 32908 } 32909 case 640: 32910 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 32911 //line sql-gen.y:5062 32912 { 32913 sqlVAL.union.val = &tree.AlterRoutineSetSchema{ 32914 Function: sqlDollar[3].union.functionObj(), 32915 NewSchemaName: tree.Name(sqlDollar[6].str), 32916 } 32917 } 32918 case 641: 32919 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 32920 //line sql-gen.y:5071 32921 { 32922 sqlVAL.union.val = &tree.AlterRoutineSetOwner{ 32923 Function: sqlDollar[3].union.functionObj(), 32924 NewOwner: sqlDollar[6].union.roleSpec(), 32925 } 32926 } 32927 case 642: 32928 sqlDollar = sqlS[sqlpt-8 : sqlpt+1] 32929 //line sql-gen.y:5080 32930 { 32931 sqlVAL.union.val = &tree.AlterFunctionDepExtension{ 32932 Function: sqlDollar[3].union.functionObj(), 32933 Remove: sqlDollar[4].union.bool(), 32934 Extension: tree.Name(sqlDollar[8].str), 32935 } 32936 } 32937 case 643: 32938 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 32939 //line sql-gen.y:5090 32940 { 32941 sqlVAL.union.val = &tree.AlterRoutineRename{ 32942 Function: sqlDollar[3].union.functionObj(), 32943 NewName: tree.Name(sqlDollar[6].str), 32944 Procedure: true, 32945 } 32946 } 32947 case 644: 32948 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 32949 //line sql-gen.y:5100 32950 { 32951 sqlVAL.union.val = &tree.AlterRoutineSetSchema{ 32952 Function: sqlDollar[3].union.functionObj(), 32953 NewSchemaName: tree.Name(sqlDollar[6].str), 32954 Procedure: true, 32955 } 32956 } 32957 case 645: 32958 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 32959 //line sql-gen.y:5110 32960 { 32961 sqlVAL.union.val = &tree.AlterRoutineSetOwner{ 32962 Function: sqlDollar[3].union.functionObj(), 32963 NewOwner: sqlDollar[6].union.roleSpec(), 32964 Procedure: true, 32965 } 32966 } 32967 case 646: 32968 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 32969 //line sql-gen.y:5120 32970 { 32971 sqlVAL.union.val = true 32972 } 32973 case 647: 32974 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 32975 //line sql-gen.y:5124 32976 { 32977 sqlVAL.union.val = false 32978 } 32979 case 648: 32980 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 32981 //line sql-gen.y:5129 32982 { 32983 return unimplemented(sqllex, "create access method") 32984 } 32985 case 649: 32986 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 32987 //line sql-gen.y:5130 32988 { 32989 return unimplementedWithIssueDetail(sqllex, 74775, "create aggregate") 32990 } 32991 case 650: 32992 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 32993 //line sql-gen.y:5131 32994 { 32995 return unimplemented(sqllex, "create cast") 32996 } 32997 case 651: 32998 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 32999 //line sql-gen.y:5132 33000 { 33001 return unimplementedWithIssueDetail(sqllex, 28296, "create constraint") 33002 } 33003 case 652: 33004 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 33005 //line sql-gen.y:5133 33006 { 33007 return unimplemented(sqllex, "create conversion") 33008 } 33009 case 653: 33010 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 33011 //line sql-gen.y:5134 33012 { 33013 return unimplemented(sqllex, "create def conv") 33014 } 33015 case 654: 33016 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 33017 //line sql-gen.y:5135 33018 { 33019 return unimplemented(sqllex, "create foreign table") 33020 } 33021 case 655: 33022 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 33023 //line sql-gen.y:5136 33024 { 33025 return unimplemented(sqllex, "create fdw") 33026 } 33027 case 656: 33028 sqlDollar = sqlS[sqlpt-7 : sqlpt+1] 33029 //line sql-gen.y:5137 33030 { 33031 return unimplementedWithIssueDetail(sqllex, 17511, "create language "+sqlDollar[6].str) 33032 } 33033 case 657: 33034 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 33035 //line sql-gen.y:5138 33036 { 33037 return unimplementedWithIssue(sqllex, 65017) 33038 } 33039 case 658: 33040 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 33041 //line sql-gen.y:5139 33042 { 33043 return unimplemented(sqllex, "create publication") 33044 } 33045 case 659: 33046 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 33047 //line sql-gen.y:5140 33048 { 33049 return unimplemented(sqllex, "create rule") 33050 } 33051 case 660: 33052 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 33053 //line sql-gen.y:5141 33054 { 33055 return unimplemented(sqllex, "create server") 33056 } 33057 case 661: 33058 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 33059 //line sql-gen.y:5142 33060 { 33061 return unimplemented(sqllex, "create subscription") 33062 } 33063 case 662: 33064 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 33065 //line sql-gen.y:5143 33066 { 33067 return unimplementedWithIssueDetail(sqllex, 54113, "create tablespace") 33068 } 33069 case 663: 33070 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 33071 //line sql-gen.y:5144 33072 { 33073 return unimplementedWithIssueDetail(sqllex, 7821, "create text") 33074 } 33075 case 664: 33076 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 33077 //line sql-gen.y:5145 33078 { 33079 return unimplementedWithIssueDetail(sqllex, 28296, "create trigger") 33080 } 33081 case 665: 33082 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 33083 //line sql-gen.y:5148 33084 { 33085 } 33086 case 666: 33087 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 33088 //line sql-gen.y:5149 33089 { 33090 } 33091 case 667: 33092 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 33093 //line sql-gen.y:5152 33094 { 33095 } 33096 case 668: 33097 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 33098 //line sql-gen.y:5153 33099 { 33100 } 33101 case 669: 33102 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 33103 //line sql-gen.y:5156 33104 { 33105 return unimplemented(sqllex, "drop access method") 33106 } 33107 case 670: 33108 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 33109 //line sql-gen.y:5157 33110 { 33111 return unimplementedWithIssueDetail(sqllex, 74775, "drop aggregate") 33112 } 33113 case 671: 33114 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 33115 //line sql-gen.y:5158 33116 { 33117 return unimplemented(sqllex, "drop cast") 33118 } 33119 case 672: 33120 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 33121 //line sql-gen.y:5159 33122 { 33123 return unimplemented(sqllex, "drop collation") 33124 } 33125 case 673: 33126 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 33127 //line sql-gen.y:5160 33128 { 33129 return unimplemented(sqllex, "drop conversion") 33130 } 33131 case 674: 33132 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 33133 //line sql-gen.y:5161 33134 { 33135 return unimplementedWithIssueDetail(sqllex, 27796, "drop") 33136 } 33137 case 675: 33138 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 33139 //line sql-gen.y:5162 33140 { 33141 return unimplementedWithIssueDetail(sqllex, 74777, "drop extension if exists") 33142 } 33143 case 676: 33144 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 33145 //line sql-gen.y:5163 33146 { 33147 return unimplementedWithIssueDetail(sqllex, 74777, "drop extension") 33148 } 33149 case 677: 33150 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 33151 //line sql-gen.y:5164 33152 { 33153 return unimplemented(sqllex, "drop foreign table") 33154 } 33155 case 678: 33156 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 33157 //line sql-gen.y:5165 33158 { 33159 return unimplemented(sqllex, "drop fdw") 33160 } 33161 case 679: 33162 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 33163 //line sql-gen.y:5166 33164 { 33165 return unimplementedWithIssueDetail(sqllex, 17511, "drop language "+sqlDollar[4].str) 33166 } 33167 case 680: 33168 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 33169 //line sql-gen.y:5167 33170 { 33171 return unimplemented(sqllex, "drop operator") 33172 } 33173 case 681: 33174 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 33175 //line sql-gen.y:5168 33176 { 33177 return unimplemented(sqllex, "drop publication") 33178 } 33179 case 682: 33180 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 33181 //line sql-gen.y:5169 33182 { 33183 return unimplemented(sqllex, "drop rule") 33184 } 33185 case 683: 33186 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 33187 //line sql-gen.y:5170 33188 { 33189 return unimplemented(sqllex, "drop server") 33190 } 33191 case 684: 33192 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 33193 //line sql-gen.y:5171 33194 { 33195 return unimplemented(sqllex, "drop subscription") 33196 } 33197 case 685: 33198 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 33199 //line sql-gen.y:5172 33200 { 33201 return unimplementedWithIssueDetail(sqllex, 7821, "drop text") 33202 } 33203 case 686: 33204 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 33205 //line sql-gen.y:5173 33206 { 33207 return unimplementedWithIssueDetail(sqllex, 28296, "drop") 33208 } 33209 case 688: 33210 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 33211 //line sql-gen.y:5176 33212 { 33213 return helpWith(sqllex, "CREATE DATABASE") 33214 } 33215 case 690: 33216 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 33217 //line sql-gen.y:5177 33218 { 33219 return helpWith(sqllex, "CREATE INDEX") 33220 } 33221 case 692: 33222 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 33223 //line sql-gen.y:5178 33224 { 33225 return helpWith(sqllex, "CREATE SCHEMA") 33226 } 33227 case 694: 33228 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 33229 //line sql-gen.y:5179 33230 { 33231 return helpWith(sqllex, "CREATE TABLE") 33232 } 33233 case 696: 33234 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 33235 //line sql-gen.y:5180 33236 { 33237 return helpWith(sqllex, "CREATE TABLE") 33238 } 33239 case 697: 33240 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 33241 //line sql-gen.y:5182 33242 { 33243 return helpWith(sqllex, "CREATE TABLE") 33244 } 33245 case 699: 33246 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 33247 //line sql-gen.y:5183 33248 { 33249 return helpWith(sqllex, "CREATE TYPE") 33250 } 33251 case 701: 33252 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 33253 //line sql-gen.y:5184 33254 { 33255 return helpWith(sqllex, "CREATE VIEW") 33256 } 33257 case 703: 33258 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 33259 //line sql-gen.y:5185 33260 { 33261 return helpWith(sqllex, "CREATE SEQUENCE") 33262 } 33263 case 705: 33264 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 33265 //line sql-gen.y:5186 33266 { 33267 return helpWith(sqllex, "CREATE FUNCTION") 33268 } 33269 case 707: 33270 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 33271 //line sql-gen.y:5187 33272 { 33273 return helpWith(sqllex, "CREATE PROCEDURE") 33274 } 33275 case 708: 33276 sqlDollar = sqlS[sqlpt-7 : sqlpt+1] 33277 //line sql-gen.y:5197 33278 { 33279 sqlVAL.union.val = &tree.CreateStats{ 33280 Name: tree.Name(sqlDollar[3].str), 33281 ColumnNames: sqlDollar[4].union.nameList(), 33282 Table: sqlDollar[6].union.tblExpr(), 33283 Options: *sqlDollar[7].union.createStatsOptions(), 33284 } 33285 } 33286 case 709: 33287 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 33288 //line sql-gen.y:5205 33289 { 33290 return helpWith(sqllex, "CREATE STATISTICS") 33291 } 33292 case 710: 33293 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 33294 //line sql-gen.y:5209 33295 { 33296 sqlVAL.union.val = sqlDollar[2].union.nameList() 33297 } 33298 case 711: 33299 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 33300 //line sql-gen.y:5213 33301 { 33302 sqlVAL.union.val = tree.NameList(nil) 33303 } 33304 case 712: 33305 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 33306 //line sql-gen.y:5219 33307 { 33308 sqlVAL.union.val = sqlDollar[1].union.unresolvedObjectName() 33309 } 33310 case 713: 33311 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 33312 //line sql-gen.y:5223 33313 { 33314 33315 sqlVAL.union.val = &tree.TableRef{ 33316 TableID: sqlDollar[2].union.int64(), 33317 } 33318 } 33319 case 714: 33320 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 33321 //line sql-gen.y:5232 33322 { 33323 sqlVAL.union.val = sqlDollar[1].union.createStatsOptions() 33324 } 33325 case 715: 33326 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 33327 //line sql-gen.y:5236 33328 { 33329 sqlVAL.union.val = sqlDollar[3].union.createStatsOptions() 33330 } 33331 case 716: 33332 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 33333 //line sql-gen.y:5240 33334 { 33335 sqlVAL.union.val = &tree.CreateStatsOptions{} 33336 } 33337 case 717: 33338 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 33339 //line sql-gen.y:5246 33340 { 33341 sqlVAL.union.val = sqlDollar[1].union.createStatsOptions() 33342 } 33343 case 718: 33344 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 33345 //line sql-gen.y:5250 33346 { 33347 a := sqlDollar[1].union.createStatsOptions() 33348 b := sqlDollar[2].union.createStatsOptions() 33349 if err := a.CombineWith(b); err != nil { 33350 return setErr(sqllex, err) 33351 } 33352 sqlVAL.union.val = a 33353 } 33354 case 719: 33355 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 33356 //line sql-gen.y:5261 33357 { 33358 33359 value, _ := constant.Float64Val(sqlDollar[2].union.numVal().AsConstantValue()) 33360 if value < 0.0 || value >= 1.0 { 33361 sqllex.Error("THROTTLING fraction must be between 0 and 1") 33362 return 1 33363 } 33364 sqlVAL.union.val = &tree.CreateStatsOptions{ 33365 Throttling: value, 33366 } 33367 } 33368 case 720: 33369 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 33370 //line sql-gen.y:5273 33371 { 33372 sqlVAL.union.val = &tree.CreateStatsOptions{ 33373 AsOf: sqlDollar[1].union.asOfClause(), 33374 } 33375 } 33376 case 721: 33377 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 33378 //line sql-gen.y:5279 33379 { 33380 sqlVAL.union.val = &tree.CreateStatsOptions{ 33381 UsingExtremes: true, 33382 } 33383 } 33384 case 722: 33385 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 33386 //line sql-gen.y:5285 33387 { 33388 sqlVAL.union.val = &tree.CreateStatsOptions{ 33389 Where: tree.NewWhere(tree.AstWhere, sqlDollar[1].union.expr()), 33390 } 33391 } 33392 case 723: 33393 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 33394 //line sql-gen.y:5300 33395 { 33396 sqlVAL.union.val = &tree.CreateChangefeed{ 33397 Targets: sqlDollar[4].union.changefeedTargets(), 33398 SinkURI: sqlDollar[5].union.expr(), 33399 Options: sqlDollar[6].union.kvOptions(), 33400 } 33401 } 33402 case 724: 33403 sqlDollar = sqlS[sqlpt-10 : sqlpt+1] 33404 //line sql-gen.y:5309 33405 { 33406 target, err := tree.ChangefeedTargetFromTableExpr(sqlDollar[9].union.tblExpr()) 33407 if err != nil { 33408 return setErr(sqllex, err) 33409 } 33410 33411 sqlVAL.union.val = &tree.CreateChangefeed{ 33412 SinkURI: sqlDollar[3].union.expr(), 33413 Options: sqlDollar[4].union.kvOptions(), 33414 Targets: tree.ChangefeedTargets{target}, 33415 Select: &tree.SelectClause{ 33416 Exprs: sqlDollar[7].union.selExprs(), 33417 From: tree.From{Tables: tree.TableExprs{sqlDollar[9].union.tblExpr()}}, 33418 Where: tree.NewWhere(tree.AstWhere, sqlDollar[10].union.expr()), 33419 }, 33420 } 33421 } 33422 case 725: 33423 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 33424 //line sql-gen.y:5327 33425 { 33426 33427 sqlVAL.union.val = &tree.CreateChangefeed{ 33428 Targets: sqlDollar[4].union.changefeedTargets(), 33429 Options: sqlDollar[5].union.kvOptions(), 33430 } 33431 } 33432 case 726: 33433 sqlDollar = sqlS[sqlpt-10 : sqlpt+1] 33434 //line sql-gen.y:5364 33435 { 33436 sqlVAL.union.val = &tree.ScheduledChangefeed{ 33437 CreateChangefeed: &tree.CreateChangefeed{ 33438 Targets: sqlDollar[6].union.changefeedTargets(), 33439 SinkURI: sqlDollar[7].union.expr(), 33440 Options: sqlDollar[8].union.kvOptions(), 33441 }, 33442 ScheduleLabelSpec: *(sqlDollar[3].union.scheduleLabelSpec()), 33443 Recurrence: sqlDollar[9].union.expr(), 33444 ScheduleOptions: sqlDollar[10].union.kvOptions(), 33445 } 33446 } 33447 case 727: 33448 sqlDollar = sqlS[sqlpt-15 : sqlpt+1] 33449 //line sql-gen.y:5379 33450 { 33451 target, err := tree.ChangefeedTargetFromTableExpr(sqlDollar[12].union.tblExpr()) 33452 if err != nil { 33453 return setErr(sqllex, err) 33454 } 33455 33456 createChangefeedNode := &tree.CreateChangefeed{ 33457 SinkURI: sqlDollar[6].union.expr(), 33458 Options: sqlDollar[7].union.kvOptions(), 33459 Targets: tree.ChangefeedTargets{target}, 33460 Select: &tree.SelectClause{ 33461 Exprs: sqlDollar[10].union.selExprs(), 33462 From: tree.From{Tables: tree.TableExprs{sqlDollar[12].union.tblExpr()}}, 33463 Where: tree.NewWhere(tree.AstWhere, sqlDollar[13].union.expr()), 33464 }, 33465 } 33466 33467 sqlVAL.union.val = &tree.ScheduledChangefeed{ 33468 CreateChangefeed: createChangefeedNode, 33469 ScheduleLabelSpec: *(sqlDollar[3].union.scheduleLabelSpec()), 33470 Recurrence: sqlDollar[14].union.expr(), 33471 ScheduleOptions: sqlDollar[15].union.kvOptions(), 33472 } 33473 } 33474 case 728: 33475 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 33476 //line sql-gen.y:5403 33477 { 33478 return helpWith(sqllex, "CREATE SCHEDULE FOR CHANGEFEED") 33479 } 33480 case 729: 33481 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 33482 //line sql-gen.y:5407 33483 { 33484 sqlVAL.union.val = tree.ChangefeedTargets{sqlDollar[1].union.changefeedTarget()} 33485 } 33486 case 730: 33487 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 33488 //line sql-gen.y:5411 33489 { 33490 sqlVAL.union.val = append(sqlDollar[1].union.changefeedTargets(), sqlDollar[3].union.changefeedTarget()) 33491 } 33492 case 731: 33493 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 33494 //line sql-gen.y:5417 33495 { 33496 sqlVAL.union.val = tree.ChangefeedTarget{ 33497 TableName: sqlDollar[2].union.unresolvedObjectName().ToUnresolvedName(), 33498 FamilyName: tree.Name(sqlDollar[3].str), 33499 } 33500 } 33501 case 733: 33502 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 33503 //line sql-gen.y:5428 33504 { 33505 } 33506 case 734: 33507 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 33508 //line sql-gen.y:5430 33509 { 33510 } 33511 case 735: 33512 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 33513 //line sql-gen.y:5434 33514 { 33515 sqlVAL.str = sqlDollar[2].str 33516 } 33517 case 736: 33518 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 33519 //line sql-gen.y:5438 33520 { 33521 sqlVAL.str = "" 33522 } 33523 case 737: 33524 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 33525 //line sql-gen.y:5444 33526 { 33527 sqlVAL.union.val = sqlDollar[2].union.expr() 33528 } 33529 case 738: 33530 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 33531 //line sql-gen.y:5448 33532 { 33533 33534 sqlVAL.union.val = nil 33535 } 33536 case 739: 33537 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 33538 //line sql-gen.y:5455 33539 { 33540 sqlVAL.union.val = sqlDollar[2].union.expr() 33541 } 33542 case 740: 33543 sqlDollar = sqlS[sqlpt-10 : sqlpt+1] 33544 //line sql-gen.y:5472 33545 { 33546 sqlVAL.union.val = &tree.Delete{ 33547 With: sqlDollar[1].union.with(), 33548 Batch: sqlDollar[3].union.batch(), 33549 Table: sqlDollar[5].union.tblExpr(), 33550 Using: sqlDollar[6].union.tblExprs(), 33551 Where: tree.NewWhere(tree.AstWhere, sqlDollar[7].union.expr()), 33552 OrderBy: sqlDollar[8].union.orderBy(), 33553 Limit: sqlDollar[9].union.limit(), 33554 Returning: sqlDollar[10].union.retClause(), 33555 } 33556 } 33557 case 741: 33558 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 33559 //line sql-gen.y:5484 33560 { 33561 return helpWith(sqllex, "DELETE") 33562 } 33563 case 742: 33564 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 33565 //line sql-gen.y:5488 33566 { 33567 sqlVAL.union.val = &tree.Batch{} 33568 } 33569 case 743: 33570 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 33571 //line sql-gen.y:5492 33572 { 33573 sqlVAL.union.val = &tree.Batch{Params: sqlDollar[3].union.batchParams()} 33574 } 33575 case 744: 33576 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 33577 //line sql-gen.y:5496 33578 { 33579 sqlVAL.union.val = (*tree.Batch)(nil) 33580 } 33581 case 745: 33582 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 33583 //line sql-gen.y:5502 33584 { 33585 sqlVAL.union.val = []tree.BatchParam{sqlDollar[1].union.batchParam()} 33586 } 33587 case 746: 33588 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 33589 //line sql-gen.y:5506 33590 { 33591 sqlVAL.union.val = append(sqlDollar[1].union.batchParams(), sqlDollar[3].union.batchParam()) 33592 } 33593 case 747: 33594 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 33595 //line sql-gen.y:5512 33596 { 33597 sqlVAL.union.val = &tree.SizeBatchParam{Size: sqlDollar[2].union.expr()} 33598 } 33599 case 748: 33600 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 33601 //line sql-gen.y:5518 33602 { 33603 sqlVAL.union.val = sqlDollar[2].union.tblExprs() 33604 } 33605 case 749: 33606 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 33607 //line sql-gen.y:5522 33608 { 33609 sqlVAL.union.val = tree.TableExprs{} 33610 } 33611 case 750: 33612 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 33613 //line sql-gen.y:5532 33614 { 33615 sqlVAL.union.val = &tree.Discard{Mode: tree.DiscardModeAll} 33616 } 33617 case 751: 33618 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 33619 //line sql-gen.y:5535 33620 { 33621 return unimplemented(sqllex, "discard plans") 33622 } 33623 case 752: 33624 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 33625 //line sql-gen.y:5537 33626 { 33627 sqlVAL.union.val = &tree.Discard{Mode: tree.DiscardModeSequences} 33628 } 33629 case 753: 33630 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 33631 //line sql-gen.y:5541 33632 { 33633 sqlVAL.union.val = &tree.Discard{Mode: tree.DiscardModeTemp} 33634 } 33635 case 754: 33636 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 33637 //line sql-gen.y:5545 33638 { 33639 sqlVAL.union.val = &tree.Discard{Mode: tree.DiscardModeTemp} 33640 } 33641 case 755: 33642 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 33643 //line sql-gen.y:5548 33644 { 33645 return helpWith(sqllex, "DISCARD") 33646 } 33647 case 758: 33648 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 33649 //line sql-gen.y:5557 33650 { 33651 return helpWith(sqllex, "DROP ROLE") 33652 } 33653 case 760: 33654 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 33655 //line sql-gen.y:5558 33656 { 33657 return helpWith(sqllex, "DROP SCHEDULES") 33658 } 33659 case 762: 33660 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 33661 //line sql-gen.y:5559 33662 { 33663 return helpWith(sqllex, "DROP EXTERNAL CONNECTION") 33664 } 33665 case 764: 33666 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 33667 //line sql-gen.y:5560 33668 { 33669 return helpWith(sqllex, "DROP VIRTUAL CLUSTER") 33670 } 33671 case 765: 33672 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 33673 //line sql-gen.y:5561 33674 { 33675 } 33676 case 766: 33677 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 33678 //line sql-gen.y:5562 33679 { 33680 return helpWith(sqllex, "DROP") 33681 } 33682 case 768: 33683 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 33684 //line sql-gen.y:5565 33685 { 33686 return helpWith(sqllex, "DROP DATABASE") 33687 } 33688 case 770: 33689 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 33690 //line sql-gen.y:5566 33691 { 33692 return helpWith(sqllex, "DROP INDEX") 33693 } 33694 case 772: 33695 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 33696 //line sql-gen.y:5567 33697 { 33698 return helpWith(sqllex, "DROP TABLE") 33699 } 33700 case 774: 33701 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 33702 //line sql-gen.y:5568 33703 { 33704 return helpWith(sqllex, "DROP VIEW") 33705 } 33706 case 776: 33707 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 33708 //line sql-gen.y:5569 33709 { 33710 return helpWith(sqllex, "DROP SEQUENCE") 33711 } 33712 case 778: 33713 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 33714 //line sql-gen.y:5570 33715 { 33716 return helpWith(sqllex, "DROP SCHEMA") 33717 } 33718 case 780: 33719 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 33720 //line sql-gen.y:5571 33721 { 33722 return helpWith(sqllex, "DROP TYPE") 33723 } 33724 case 782: 33725 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 33726 //line sql-gen.y:5572 33727 { 33728 return helpWith(sqllex, "DROP FUNCTION") 33729 } 33730 case 784: 33731 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 33732 //line sql-gen.y:5573 33733 { 33734 return helpWith(sqllex, "DROP FUNCTION") 33735 } 33736 case 785: 33737 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 33738 //line sql-gen.y:5581 33739 { 33740 sqlVAL.union.val = &tree.DropView{Names: sqlDollar[3].union.tableNames(), IfExists: false, DropBehavior: sqlDollar[4].union.dropBehavior()} 33741 } 33742 case 786: 33743 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 33744 //line sql-gen.y:5585 33745 { 33746 sqlVAL.union.val = &tree.DropView{Names: sqlDollar[5].union.tableNames(), IfExists: true, DropBehavior: sqlDollar[6].union.dropBehavior()} 33747 } 33748 case 787: 33749 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 33750 //line sql-gen.y:5589 33751 { 33752 sqlVAL.union.val = &tree.DropView{ 33753 Names: sqlDollar[4].union.tableNames(), 33754 IfExists: false, 33755 DropBehavior: sqlDollar[5].union.dropBehavior(), 33756 IsMaterialized: true, 33757 } 33758 } 33759 case 788: 33760 sqlDollar = sqlS[sqlpt-7 : sqlpt+1] 33761 //line sql-gen.y:5598 33762 { 33763 sqlVAL.union.val = &tree.DropView{ 33764 Names: sqlDollar[6].union.tableNames(), 33765 IfExists: true, 33766 DropBehavior: sqlDollar[7].union.dropBehavior(), 33767 IsMaterialized: true, 33768 } 33769 } 33770 case 789: 33771 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 33772 //line sql-gen.y:5606 33773 { 33774 return helpWith(sqllex, "DROP VIEW") 33775 } 33776 case 790: 33777 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 33778 //line sql-gen.y:5614 33779 { 33780 sqlVAL.union.val = &tree.DropSequence{Names: sqlDollar[3].union.tableNames(), IfExists: false, DropBehavior: sqlDollar[4].union.dropBehavior()} 33781 } 33782 case 791: 33783 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 33784 //line sql-gen.y:5618 33785 { 33786 sqlVAL.union.val = &tree.DropSequence{Names: sqlDollar[5].union.tableNames(), IfExists: true, DropBehavior: sqlDollar[6].union.dropBehavior()} 33787 } 33788 case 792: 33789 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 33790 //line sql-gen.y:5621 33791 { 33792 return helpWith(sqllex, "DROP VIEW") 33793 } 33794 case 793: 33795 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 33796 //line sql-gen.y:5629 33797 { 33798 sqlVAL.union.val = &tree.DropTable{Names: sqlDollar[3].union.tableNames(), IfExists: false, DropBehavior: sqlDollar[4].union.dropBehavior()} 33799 } 33800 case 794: 33801 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 33802 //line sql-gen.y:5633 33803 { 33804 sqlVAL.union.val = &tree.DropTable{Names: sqlDollar[5].union.tableNames(), IfExists: true, DropBehavior: sqlDollar[6].union.dropBehavior()} 33805 } 33806 case 795: 33807 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 33808 //line sql-gen.y:5636 33809 { 33810 return helpWith(sqllex, "DROP TABLE") 33811 } 33812 case 796: 33813 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 33814 //line sql-gen.y:5644 33815 { 33816 sqlVAL.union.val = &tree.DropIndex{ 33817 IndexList: sqlDollar[4].union.newTableIndexNames(), 33818 IfExists: false, 33819 DropBehavior: sqlDollar[5].union.dropBehavior(), 33820 Concurrently: sqlDollar[3].union.bool(), 33821 } 33822 } 33823 case 797: 33824 sqlDollar = sqlS[sqlpt-7 : sqlpt+1] 33825 //line sql-gen.y:5653 33826 { 33827 sqlVAL.union.val = &tree.DropIndex{ 33828 IndexList: sqlDollar[6].union.newTableIndexNames(), 33829 IfExists: true, 33830 DropBehavior: sqlDollar[7].union.dropBehavior(), 33831 Concurrently: sqlDollar[3].union.bool(), 33832 } 33833 } 33834 case 798: 33835 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 33836 //line sql-gen.y:5661 33837 { 33838 return helpWith(sqllex, "DROP INDEX") 33839 } 33840 case 799: 33841 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 33842 //line sql-gen.y:5669 33843 { 33844 sqlVAL.union.val = &tree.DropDatabase{ 33845 Name: tree.Name(sqlDollar[3].str), 33846 IfExists: false, 33847 DropBehavior: sqlDollar[4].union.dropBehavior(), 33848 } 33849 } 33850 case 800: 33851 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 33852 //line sql-gen.y:5677 33853 { 33854 sqlVAL.union.val = &tree.DropDatabase{ 33855 Name: tree.Name(sqlDollar[5].str), 33856 IfExists: true, 33857 DropBehavior: sqlDollar[6].union.dropBehavior(), 33858 } 33859 } 33860 case 801: 33861 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 33862 //line sql-gen.y:5684 33863 { 33864 return helpWith(sqllex, "DROP DATABASE") 33865 } 33866 case 802: 33867 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 33868 //line sql-gen.y:5691 33869 { 33870 sqlVAL.union.val = &tree.DropType{ 33871 Names: sqlDollar[3].union.unresolvedObjectNames(), 33872 IfExists: false, 33873 DropBehavior: sqlDollar[4].union.dropBehavior(), 33874 } 33875 } 33876 case 803: 33877 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 33878 //line sql-gen.y:5699 33879 { 33880 sqlVAL.union.val = &tree.DropType{ 33881 Names: sqlDollar[5].union.unresolvedObjectNames(), 33882 IfExists: true, 33883 DropBehavior: sqlDollar[6].union.dropBehavior(), 33884 } 33885 } 33886 case 804: 33887 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 33888 //line sql-gen.y:5706 33889 { 33890 return helpWith(sqllex, "DROP TYPE") 33891 } 33892 case 805: 33893 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 33894 //line sql-gen.y:5713 33895 { 33896 33897 sqlVAL.union.val = &tree.DropTenant{ 33898 TenantSpec: sqlDollar[3].union.tenantSpec(), 33899 IfExists: false, 33900 Immediate: sqlDollar[4].union.bool(), 33901 } 33902 } 33903 case 806: 33904 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 33905 //line sql-gen.y:5722 33906 { 33907 33908 sqlVAL.union.val = &tree.DropTenant{ 33909 TenantSpec: sqlDollar[5].union.tenantSpec(), 33910 IfExists: true, 33911 Immediate: sqlDollar[6].union.bool(), 33912 } 33913 } 33914 case 807: 33915 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 33916 //line sql-gen.y:5730 33917 { 33918 return helpWith(sqllex, "DROP VIRTUAL CLUSTER") 33919 } 33920 case 808: 33921 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 33922 //line sql-gen.y:5734 33923 { 33924 sqlVAL.union.val = false 33925 } 33926 case 809: 33927 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 33928 //line sql-gen.y:5736 33929 { 33930 sqlVAL.union.val = true 33931 } 33932 case 810: 33933 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 33934 //line sql-gen.y:5740 33935 { 33936 sqlVAL.union.val = tree.GrantTargetList{Types: sqlDollar[1].union.unresolvedObjectNames()} 33937 } 33938 case 811: 33939 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 33940 //line sql-gen.y:5746 33941 { 33942 sqlVAL.union.val = []*tree.UnresolvedObjectName{sqlDollar[1].union.unresolvedObjectName()} 33943 } 33944 case 812: 33945 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 33946 //line sql-gen.y:5750 33947 { 33948 sqlVAL.union.val = append(sqlDollar[1].union.unresolvedObjectNames(), sqlDollar[3].union.unresolvedObjectName()) 33949 } 33950 case 813: 33951 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 33952 //line sql-gen.y:5759 33953 { 33954 sqlVAL.union.val = &tree.DropSchema{ 33955 Names: sqlDollar[3].union.objectNamePrefixList(), 33956 IfExists: false, 33957 DropBehavior: sqlDollar[4].union.dropBehavior(), 33958 } 33959 } 33960 case 814: 33961 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 33962 //line sql-gen.y:5767 33963 { 33964 sqlVAL.union.val = &tree.DropSchema{ 33965 Names: sqlDollar[5].union.objectNamePrefixList(), 33966 IfExists: true, 33967 DropBehavior: sqlDollar[6].union.dropBehavior(), 33968 } 33969 } 33970 case 815: 33971 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 33972 //line sql-gen.y:5774 33973 { 33974 return helpWith(sqllex, "DROP SCHEMA") 33975 } 33976 case 816: 33977 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 33978 //line sql-gen.y:5782 33979 { 33980 sqlVAL.union.val = &tree.DropRole{Names: sqlDollar[3].union.roleSpecList(), IfExists: false, IsRole: sqlDollar[2].union.bool()} 33981 } 33982 case 817: 33983 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 33984 //line sql-gen.y:5786 33985 { 33986 sqlVAL.union.val = &tree.DropRole{Names: sqlDollar[5].union.roleSpecList(), IfExists: true, IsRole: sqlDollar[2].union.bool()} 33987 } 33988 case 818: 33989 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 33990 //line sql-gen.y:5789 33991 { 33992 return helpWith(sqllex, "DROP ROLE") 33993 } 33994 case 819: 33995 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 33996 //line sql-gen.y:5793 33997 { 33998 name := sqlDollar[1].union.unresolvedObjectName().ToTableName() 33999 sqlVAL.union.val = tree.TableNames{name} 34000 } 34001 case 820: 34002 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 34003 //line sql-gen.y:5798 34004 { 34005 name := sqlDollar[3].union.unresolvedObjectName().ToTableName() 34006 sqlVAL.union.val = append(sqlDollar[1].union.tableNames(), name) 34007 } 34008 case 824: 34009 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 34010 //line sql-gen.y:5820 34011 { 34012 sqlVAL.union.val = &tree.Analyze{ 34013 Table: sqlDollar[2].union.tblExpr(), 34014 } 34015 } 34016 case 825: 34017 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 34018 //line sql-gen.y:5825 34019 { 34020 return helpWith(sqllex, "ANALYZE") 34021 } 34022 case 826: 34023 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 34024 //line sql-gen.y:5827 34025 { 34026 sqlVAL.union.val = &tree.Analyze{ 34027 Table: sqlDollar[2].union.tblExpr(), 34028 } 34029 } 34030 case 827: 34031 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 34032 //line sql-gen.y:5832 34033 { 34034 return helpWith(sqllex, "ANALYZE") 34035 } 34036 case 828: 34037 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 34038 //line sql-gen.y:5836 34039 { 34040 sqlVAL.union.val = sqlDollar[1].union.unresolvedObjectName() 34041 } 34042 case 829: 34043 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 34044 //line sql-gen.y:5859 34045 { 34046 var err error 34047 sqlVAL.union.val, err = tree.MakeExplain(nil, sqlDollar[2].union.stmt()) 34048 if err != nil { 34049 return setErr(sqllex, err) 34050 } 34051 } 34052 case 830: 34053 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 34054 //line sql-gen.y:5866 34055 { 34056 return helpWith(sqllex, "EXPLAIN") 34057 } 34058 case 831: 34059 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 34060 //line sql-gen.y:5868 34061 { 34062 var err error 34063 sqlVAL.union.val, err = tree.MakeExplain(sqlDollar[3].union.strs(), sqlDollar[5].union.stmt()) 34064 if err != nil { 34065 return setErr(sqllex, err) 34066 } 34067 } 34068 case 832: 34069 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 34070 //line sql-gen.y:5876 34071 { 34072 var err error 34073 sqlVAL.union.val, err = tree.MakeExplain([]string{"ANALYZE"}, sqlDollar[3].union.stmt()) 34074 if err != nil { 34075 return setErr(sqllex, err) 34076 } 34077 } 34078 case 833: 34079 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 34080 //line sql-gen.y:5884 34081 { 34082 var err error 34083 sqlVAL.union.val, err = tree.MakeExplain([]string{"ANALYZE"}, sqlDollar[3].union.stmt()) 34084 if err != nil { 34085 return setErr(sqllex, err) 34086 } 34087 } 34088 case 834: 34089 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 34090 //line sql-gen.y:5892 34091 { 34092 var err error 34093 sqlVAL.union.val, err = tree.MakeExplain(append(sqlDollar[4].union.strs(), "ANALYZE"), sqlDollar[6].union.stmt()) 34094 if err != nil { 34095 return setErr(sqllex, err) 34096 } 34097 } 34098 case 835: 34099 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 34100 //line sql-gen.y:5900 34101 { 34102 var err error 34103 sqlVAL.union.val, err = tree.MakeExplain(append(sqlDollar[4].union.strs(), "ANALYZE"), sqlDollar[6].union.stmt()) 34104 if err != nil { 34105 return setErr(sqllex, err) 34106 } 34107 } 34108 case 836: 34109 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 34110 //line sql-gen.y:5911 34111 { 34112 return helpWith(sqllex, "EXPLAIN") 34113 } 34114 case 843: 34115 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 34116 //line sql-gen.y:5921 34117 { 34118 return helpWith(sqllex, "BACKUP") 34119 } 34120 case 847: 34121 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 34122 //line sql-gen.y:5924 34123 { 34124 return helpWith(sqllex, "DELETE") 34125 } 34126 case 850: 34127 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 34128 //line sql-gen.y:5926 34129 { 34130 return helpWith(sqllex, "EXPLAIN") 34131 } 34132 case 852: 34133 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 34134 //line sql-gen.y:5927 34135 { 34136 return helpWith(sqllex, "IMPORT") 34137 } 34138 case 854: 34139 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 34140 //line sql-gen.y:5928 34141 { 34142 return helpWith(sqllex, "INSERT") 34143 } 34144 case 858: 34145 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 34146 //line sql-gen.y:5931 34147 { 34148 return helpWith(sqllex, "RESTORE") 34149 } 34150 case 861: 34151 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 34152 //line sql-gen.y:5933 34153 { 34154 return helpWith(sqllex, "EXPORT") 34155 } 34156 case 863: 34157 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 34158 //line sql-gen.y:5936 34159 { 34160 sqlVAL.union.val = sqlDollar[1].union.slct() 34161 } 34162 case 867: 34163 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 34164 //line sql-gen.y:5941 34165 { 34166 return helpWith(sqllex, "TRUNCATE") 34167 } 34168 case 869: 34169 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 34170 //line sql-gen.y:5942 34171 { 34172 return helpWith(sqllex, "UPDATE") 34173 } 34174 case 871: 34175 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 34176 //line sql-gen.y:5943 34177 { 34178 return helpWith(sqllex, "UPSERT") 34179 } 34180 case 873: 34181 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 34182 //line sql-gen.y:5948 34183 { 34184 return helpWith(sqllex, "DELETE") 34185 } 34186 case 875: 34187 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 34188 //line sql-gen.y:5949 34189 { 34190 return helpWith(sqllex, "EXPLAIN") 34191 } 34192 case 877: 34193 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 34194 //line sql-gen.y:5950 34195 { 34196 return helpWith(sqllex, "INSERT") 34197 } 34198 case 878: 34199 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 34200 //line sql-gen.y:5952 34201 { 34202 sqlVAL.union.val = sqlDollar[1].union.slct() 34203 } 34204 case 881: 34205 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 34206 //line sql-gen.y:5956 34207 { 34208 return helpWith(sqllex, "UPDATE") 34209 } 34210 case 883: 34211 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 34212 //line sql-gen.y:5957 34213 { 34214 return helpWith(sqllex, "UPSERT") 34215 } 34216 case 885: 34217 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 34218 //line sql-gen.y:5960 34219 { 34220 return helpWith(sqllex, "DELETE") 34221 } 34222 case 887: 34223 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 34224 //line sql-gen.y:5961 34225 { 34226 return helpWith(sqllex, "INSERT") 34227 } 34228 case 888: 34229 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 34230 //line sql-gen.y:5963 34231 { 34232 sqlVAL.union.val = sqlDollar[1].union.slct() 34233 } 34234 case 890: 34235 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 34236 //line sql-gen.y:5966 34237 { 34238 return helpWith(sqllex, "UPDATE") 34239 } 34240 case 892: 34241 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 34242 //line sql-gen.y:5967 34243 { 34244 return helpWith(sqllex, "UPSERT") 34245 } 34246 case 893: 34247 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 34248 //line sql-gen.y:5971 34249 { 34250 sqlVAL.union.val = []string{sqlDollar[1].str} 34251 } 34252 case 894: 34253 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 34254 //line sql-gen.y:5975 34255 { 34256 sqlVAL.union.val = append(sqlDollar[1].union.strs(), sqlDollar[3].str) 34257 } 34258 case 895: 34259 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 34260 //line sql-gen.y:5985 34261 { 34262 sqlVAL.union.val = &tree.AlterChangefeed{ 34263 Jobs: sqlDollar[3].union.expr(), 34264 Cmds: sqlDollar[4].union.alterChangefeedCmds(), 34265 } 34266 } 34267 case 896: 34268 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 34269 //line sql-gen.y:5991 34270 { 34271 return helpWith(sqllex, "ALTER CHANGEFEED") 34272 } 34273 case 897: 34274 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 34275 //line sql-gen.y:5995 34276 { 34277 sqlVAL.union.val = tree.AlterChangefeedCmds{sqlDollar[1].union.alterChangefeedCmd()} 34278 } 34279 case 898: 34280 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 34281 //line sql-gen.y:5999 34282 { 34283 sqlVAL.union.val = append(sqlDollar[1].union.alterChangefeedCmds(), sqlDollar[2].union.alterChangefeedCmd()) 34284 } 34285 case 899: 34286 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 34287 //line sql-gen.y:6006 34288 { 34289 sqlVAL.union.val = &tree.AlterChangefeedAddTarget{ 34290 Targets: sqlDollar[2].union.changefeedTargets(), 34291 Options: sqlDollar[3].union.kvOptions(), 34292 } 34293 } 34294 case 900: 34295 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 34296 //line sql-gen.y:6014 34297 { 34298 sqlVAL.union.val = &tree.AlterChangefeedDropTarget{ 34299 Targets: sqlDollar[2].union.changefeedTargets(), 34300 } 34301 } 34302 case 901: 34303 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 34304 //line sql-gen.y:6020 34305 { 34306 sqlVAL.union.val = &tree.AlterChangefeedSetOptions{ 34307 Options: sqlDollar[2].union.kvOptions(), 34308 } 34309 } 34310 case 902: 34311 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 34312 //line sql-gen.y:6026 34313 { 34314 sqlVAL.union.val = &tree.AlterChangefeedUnsetOptions{ 34315 Options: sqlDollar[2].union.nameList(), 34316 } 34317 } 34318 case 903: 34319 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 34320 //line sql-gen.y:6045 34321 { 34322 sqlVAL.union.val = &tree.AlterBackup{ 34323 Backup: sqlDollar[3].union.expr(), 34324 Cmds: sqlDollar[4].union.alterBackupCmds(), 34325 } 34326 } 34327 case 904: 34328 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 34329 //line sql-gen.y:6052 34330 { 34331 sqlVAL.union.val = &tree.AlterBackup{ 34332 Subdir: sqlDollar[3].union.expr(), 34333 Backup: sqlDollar[5].union.expr(), 34334 Cmds: sqlDollar[6].union.alterBackupCmds(), 34335 } 34336 } 34337 case 905: 34338 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 34339 //line sql-gen.y:6059 34340 { 34341 return helpWith(sqllex, "ALTER BACKUP") 34342 } 34343 case 906: 34344 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 34345 //line sql-gen.y:6063 34346 { 34347 sqlVAL.union.val = tree.AlterBackupCmds{sqlDollar[1].union.alterBackupCmd()} 34348 } 34349 case 907: 34350 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 34351 //line sql-gen.y:6067 34352 { 34353 sqlVAL.union.val = append(sqlDollar[1].union.alterBackupCmds(), sqlDollar[2].union.alterBackupCmd()) 34354 } 34355 case 908: 34356 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 34357 //line sql-gen.y:6073 34358 { 34359 sqlVAL.union.val = &tree.AlterBackupKMS{ 34360 KMSInfo: sqlDollar[2].union.backupKMS(), 34361 } 34362 } 34363 case 909: 34364 sqlDollar = sqlS[sqlpt-7 : sqlpt+1] 34365 //line sql-gen.y:6081 34366 { 34367 sqlVAL.union.val = tree.BackupKMS{ 34368 NewKMSURI: sqlDollar[3].union.stringOrPlaceholderOptList(), 34369 OldKMSURI: sqlDollar[7].union.stringOrPlaceholderOptList(), 34370 } 34371 } 34372 case 910: 34373 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 34374 //line sql-gen.y:6099 34375 { 34376 34377 sqlVAL.union.val = &tree.ShowTenant{ 34378 TenantSpec: sqlDollar[2].union.tenantSpec(), 34379 ShowTenantOptions: sqlDollar[3].union.showTenantOpts(), 34380 } 34381 } 34382 case 911: 34383 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 34384 //line sql-gen.y:6106 34385 { 34386 return helpWith(sqllex, "SHOW VIRTUAL CLUSTER") 34387 } 34388 case 912: 34389 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 34390 //line sql-gen.y:6110 34391 { 34392 34393 sqlVAL.union.val = &tree.TenantSpec{All: true} 34394 } 34395 case 913: 34396 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 34397 //line sql-gen.y:6115 34398 { 34399 34400 sqlVAL.union.val = &tree.TenantSpec{All: true} 34401 } 34402 case 914: 34403 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 34404 //line sql-gen.y:6120 34405 { 34406 34407 sqlVAL.union.val = sqlDollar[2].union.tenantSpec() 34408 } 34409 case 915: 34410 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 34411 //line sql-gen.y:6125 34412 { 34413 sqlVAL.union.val = &tree.TenantSpec{All: true} 34414 } 34415 case 916: 34416 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 34417 //line sql-gen.y:6129 34418 { 34419 sqlVAL.union.val = &tree.TenantSpec{All: true} 34420 } 34421 case 917: 34422 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 34423 //line sql-gen.y:6133 34424 { 34425 sqlVAL.union.val = sqlDollar[3].union.tenantSpec() 34426 } 34427 case 918: 34428 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 34429 //line sql-gen.y:6139 34430 { 34431 34432 sqlVAL.union.val = tree.ShowTenantOptions{} 34433 } 34434 case 919: 34435 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 34436 //line sql-gen.y:6144 34437 { 34438 34439 sqlVAL.union.val = sqlDollar[2].union.showTenantOpts() 34440 } 34441 case 920: 34442 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 34443 //line sql-gen.y:6151 34444 { 34445 34446 sqlVAL.union.val = tree.ShowTenantOptions{WithReplication: true} 34447 } 34448 case 921: 34449 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 34450 //line sql-gen.y:6156 34451 { 34452 34453 sqlVAL.union.val = tree.ShowTenantOptions{WithCapabilities: true} 34454 } 34455 case 922: 34456 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 34457 //line sql-gen.y:6161 34458 { 34459 34460 o := sqlDollar[1].union.showTenantOpts() 34461 o.WithReplication = true 34462 sqlVAL.union.val = o 34463 } 34464 case 923: 34465 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 34466 //line sql-gen.y:6168 34467 { 34468 34469 o := sqlDollar[1].union.showTenantOpts() 34470 o.WithCapabilities = true 34471 sqlVAL.union.val = o 34472 } 34473 case 924: 34474 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 34475 //line sql-gen.y:6181 34476 { 34477 sqlVAL.union.val = &tree.Prepare{ 34478 Name: tree.Name(sqlDollar[2].str), 34479 Types: sqlDollar[3].union.typeReferences(), 34480 Statement: sqlDollar[5].union.stmt(), 34481 } 34482 } 34483 case 925: 34484 sqlDollar = sqlS[sqlpt-7 : sqlpt+1] 34485 //line sql-gen.y:6189 34486 { 34487 34488 sqlVAL.union.val = &tree.Prepare{ 34489 Name: tree.Name(sqlDollar[2].str), 34490 Types: sqlDollar[3].union.typeReferences(), 34491 Statement: &tree.CannedOptPlan{Plan: sqlDollar[7].str}, 34492 } 34493 } 34494 case 926: 34495 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 34496 //line sql-gen.y:6197 34497 { 34498 return helpWith(sqllex, "PREPARE") 34499 } 34500 case 927: 34501 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 34502 //line sql-gen.y:6201 34503 { 34504 sqlVAL.union.val = sqlDollar[2].union.typeReferences() 34505 } 34506 case 928: 34507 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 34508 //line sql-gen.y:6205 34509 { 34510 sqlVAL.union.val = []tree.ResolvableTypeReference(nil) 34511 } 34512 case 929: 34513 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 34514 //line sql-gen.y:6215 34515 { 34516 sqlVAL.union.val = &tree.Execute{ 34517 Name: tree.Name(sqlDollar[2].str), 34518 Params: sqlDollar[3].union.exprs(), 34519 } 34520 } 34521 case 930: 34522 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 34523 //line sql-gen.y:6222 34524 { 34525 34526 sqlVAL.union.val = &tree.Execute{ 34527 Name: tree.Name(sqlDollar[2].str), 34528 Params: sqlDollar[3].union.exprs(), 34529 DiscardRows: true, 34530 } 34531 } 34532 case 931: 34533 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 34534 //line sql-gen.y:6230 34535 { 34536 return helpWith(sqllex, "EXECUTE") 34537 } 34538 case 932: 34539 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 34540 //line sql-gen.y:6234 34541 { 34542 sqlVAL.union.val = sqlDollar[2].union.exprs() 34543 } 34544 case 933: 34545 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 34546 //line sql-gen.y:6238 34547 { 34548 sqlVAL.union.val = tree.Exprs(nil) 34549 } 34550 case 934: 34551 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 34552 //line sql-gen.y:6248 34553 { 34554 sqlVAL.union.val = &tree.Deallocate{Name: tree.Name(sqlDollar[2].str)} 34555 } 34556 case 935: 34557 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 34558 //line sql-gen.y:6252 34559 { 34560 sqlVAL.union.val = &tree.Deallocate{Name: tree.Name(sqlDollar[3].str)} 34561 } 34562 case 936: 34563 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 34564 //line sql-gen.y:6256 34565 { 34566 sqlVAL.union.val = &tree.Deallocate{} 34567 } 34568 case 937: 34569 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 34570 //line sql-gen.y:6260 34571 { 34572 sqlVAL.union.val = &tree.Deallocate{} 34573 } 34574 case 938: 34575 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 34576 //line sql-gen.y:6263 34577 { 34578 return helpWith(sqllex, "DEALLOCATE") 34579 } 34580 case 939: 34581 sqlDollar = sqlS[sqlpt-7 : sqlpt+1] 34582 //line sql-gen.y:6287 34583 { 34584 sqlVAL.union.val = &tree.Grant{Privileges: sqlDollar[2].union.privilegeList(), Grantees: sqlDollar[6].union.roleSpecList(), Targets: sqlDollar[4].union.grantTargetList(), WithGrantOption: sqlDollar[7].union.bool()} 34585 } 34586 case 940: 34587 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 34588 //line sql-gen.y:6291 34589 { 34590 sqlVAL.union.val = &tree.GrantRole{Roles: sqlDollar[2].union.nameList(), Members: sqlDollar[4].union.roleSpecList(), AdminOption: false} 34591 } 34592 case 941: 34593 sqlDollar = sqlS[sqlpt-7 : sqlpt+1] 34594 //line sql-gen.y:6295 34595 { 34596 sqlVAL.union.val = &tree.GrantRole{Roles: sqlDollar[2].union.nameList(), Members: sqlDollar[4].union.roleSpecList(), AdminOption: true} 34597 } 34598 case 942: 34599 sqlDollar = sqlS[sqlpt-8 : sqlpt+1] 34600 //line sql-gen.y:6299 34601 { 34602 sqlVAL.union.val = &tree.Grant{Privileges: sqlDollar[2].union.privilegeList(), Targets: sqlDollar[5].union.grantTargetList(), Grantees: sqlDollar[7].union.roleSpecList(), WithGrantOption: sqlDollar[8].union.bool()} 34603 } 34604 case 943: 34605 sqlDollar = sqlS[sqlpt-8 : sqlpt+1] 34606 //line sql-gen.y:6303 34607 { 34608 sqlVAL.union.val = &tree.Grant{ 34609 Privileges: sqlDollar[2].union.privilegeList(), 34610 Targets: tree.GrantTargetList{ 34611 Schemas: sqlDollar[5].union.objectNamePrefixList(), 34612 }, 34613 Grantees: sqlDollar[7].union.roleSpecList(), 34614 WithGrantOption: sqlDollar[8].union.bool(), 34615 } 34616 } 34617 case 944: 34618 sqlDollar = sqlS[sqlpt-9 : sqlpt+1] 34619 //line sql-gen.y:6314 34620 { 34621 return unimplemented(sqllex, "grant privileges on schema with") 34622 } 34623 case 945: 34624 sqlDollar = sqlS[sqlpt-11 : sqlpt+1] 34625 //line sql-gen.y:6318 34626 { 34627 sqlVAL.union.val = &tree.Grant{ 34628 Privileges: sqlDollar[2].union.privilegeList(), 34629 Targets: tree.GrantTargetList{ 34630 Schemas: sqlDollar[8].union.objectNamePrefixList(), 34631 AllSequencesInSchema: true, 34632 }, 34633 Grantees: sqlDollar[10].union.roleSpecList(), 34634 WithGrantOption: sqlDollar[11].union.bool(), 34635 } 34636 } 34637 case 946: 34638 sqlDollar = sqlS[sqlpt-11 : sqlpt+1] 34639 //line sql-gen.y:6330 34640 { 34641 sqlVAL.union.val = &tree.Grant{ 34642 Privileges: sqlDollar[2].union.privilegeList(), 34643 Targets: tree.GrantTargetList{ 34644 Schemas: sqlDollar[8].union.objectNamePrefixList(), 34645 AllTablesInSchema: true, 34646 }, 34647 Grantees: sqlDollar[10].union.roleSpecList(), 34648 WithGrantOption: sqlDollar[11].union.bool(), 34649 } 34650 } 34651 case 947: 34652 sqlDollar = sqlS[sqlpt-11 : sqlpt+1] 34653 //line sql-gen.y:6342 34654 { 34655 sqlVAL.union.val = &tree.Grant{ 34656 Privileges: sqlDollar[2].union.privilegeList(), 34657 Targets: tree.GrantTargetList{ 34658 Schemas: sqlDollar[8].union.objectNamePrefixList(), 34659 AllFunctionsInSchema: true, 34660 }, 34661 Grantees: sqlDollar[10].union.roleSpecList(), 34662 WithGrantOption: sqlDollar[11].union.bool(), 34663 } 34664 } 34665 case 948: 34666 sqlDollar = sqlS[sqlpt-11 : sqlpt+1] 34667 //line sql-gen.y:6354 34668 { 34669 sqlVAL.union.val = &tree.Grant{ 34670 Privileges: sqlDollar[2].union.privilegeList(), 34671 Targets: tree.GrantTargetList{ 34672 Schemas: sqlDollar[8].union.objectNamePrefixList(), 34673 AllProceduresInSchema: true, 34674 }, 34675 Grantees: sqlDollar[10].union.roleSpecList(), 34676 WithGrantOption: sqlDollar[11].union.bool(), 34677 } 34678 } 34679 case 949: 34680 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 34681 //line sql-gen.y:6366 34682 { 34683 sqlVAL.union.val = &tree.Grant{ 34684 Privileges: sqlDollar[3].union.privilegeList(), 34685 Targets: tree.GrantTargetList{ 34686 System: true, 34687 }, 34688 Grantees: sqlDollar[5].union.roleSpecList(), 34689 WithGrantOption: sqlDollar[6].union.bool(), 34690 } 34691 } 34692 case 950: 34693 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 34694 //line sql-gen.y:6376 34695 { 34696 return helpWith(sqllex, "GRANT") 34697 } 34698 case 951: 34699 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 34700 //line sql-gen.y:6400 34701 { 34702 sqlVAL.union.val = &tree.Revoke{Privileges: sqlDollar[2].union.privilegeList(), Grantees: sqlDollar[6].union.roleSpecList(), Targets: sqlDollar[4].union.grantTargetList(), GrantOptionFor: false} 34703 } 34704 case 952: 34705 sqlDollar = sqlS[sqlpt-9 : sqlpt+1] 34706 //line sql-gen.y:6404 34707 { 34708 sqlVAL.union.val = &tree.Revoke{Privileges: sqlDollar[5].union.privilegeList(), Grantees: sqlDollar[9].union.roleSpecList(), Targets: sqlDollar[7].union.grantTargetList(), GrantOptionFor: true} 34709 } 34710 case 953: 34711 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 34712 //line sql-gen.y:6408 34713 { 34714 sqlVAL.union.val = &tree.RevokeRole{Roles: sqlDollar[2].union.nameList(), Members: sqlDollar[4].union.roleSpecList(), AdminOption: false} 34715 } 34716 case 954: 34717 sqlDollar = sqlS[sqlpt-7 : sqlpt+1] 34718 //line sql-gen.y:6412 34719 { 34720 sqlVAL.union.val = &tree.RevokeRole{Roles: sqlDollar[5].union.nameList(), Members: sqlDollar[7].union.roleSpecList(), AdminOption: true} 34721 } 34722 case 955: 34723 sqlDollar = sqlS[sqlpt-7 : sqlpt+1] 34724 //line sql-gen.y:6416 34725 { 34726 sqlVAL.union.val = &tree.Revoke{Privileges: sqlDollar[2].union.privilegeList(), Targets: sqlDollar[5].union.grantTargetList(), Grantees: sqlDollar[7].union.roleSpecList(), GrantOptionFor: false} 34727 } 34728 case 956: 34729 sqlDollar = sqlS[sqlpt-10 : sqlpt+1] 34730 //line sql-gen.y:6420 34731 { 34732 sqlVAL.union.val = &tree.Revoke{Privileges: sqlDollar[5].union.privilegeList(), Targets: sqlDollar[8].union.grantTargetList(), Grantees: sqlDollar[10].union.roleSpecList(), GrantOptionFor: true} 34733 } 34734 case 957: 34735 sqlDollar = sqlS[sqlpt-7 : sqlpt+1] 34736 //line sql-gen.y:6424 34737 { 34738 sqlVAL.union.val = &tree.Revoke{ 34739 Privileges: sqlDollar[2].union.privilegeList(), 34740 Targets: tree.GrantTargetList{ 34741 Schemas: sqlDollar[5].union.objectNamePrefixList(), 34742 }, 34743 Grantees: sqlDollar[7].union.roleSpecList(), 34744 GrantOptionFor: false, 34745 } 34746 } 34747 case 958: 34748 sqlDollar = sqlS[sqlpt-10 : sqlpt+1] 34749 //line sql-gen.y:6435 34750 { 34751 sqlVAL.union.val = &tree.Revoke{ 34752 Privileges: sqlDollar[5].union.privilegeList(), 34753 Targets: tree.GrantTargetList{ 34754 Schemas: sqlDollar[8].union.objectNamePrefixList(), 34755 }, 34756 Grantees: sqlDollar[10].union.roleSpecList(), 34757 GrantOptionFor: true, 34758 } 34759 } 34760 case 959: 34761 sqlDollar = sqlS[sqlpt-10 : sqlpt+1] 34762 //line sql-gen.y:6446 34763 { 34764 sqlVAL.union.val = &tree.Revoke{ 34765 Privileges: sqlDollar[2].union.privilegeList(), 34766 Targets: tree.GrantTargetList{ 34767 Schemas: sqlDollar[8].union.objectNamePrefixList(), 34768 AllTablesInSchema: true, 34769 }, 34770 Grantees: sqlDollar[10].union.roleSpecList(), 34771 GrantOptionFor: false, 34772 } 34773 } 34774 case 960: 34775 sqlDollar = sqlS[sqlpt-10 : sqlpt+1] 34776 //line sql-gen.y:6458 34777 { 34778 sqlVAL.union.val = &tree.Revoke{ 34779 Privileges: sqlDollar[2].union.privilegeList(), 34780 Targets: tree.GrantTargetList{ 34781 Schemas: sqlDollar[8].union.objectNamePrefixList(), 34782 AllSequencesInSchema: true, 34783 }, 34784 Grantees: sqlDollar[10].union.roleSpecList(), 34785 GrantOptionFor: false, 34786 } 34787 } 34788 case 961: 34789 sqlDollar = sqlS[sqlpt-13 : sqlpt+1] 34790 //line sql-gen.y:6470 34791 { 34792 sqlVAL.union.val = &tree.Revoke{ 34793 Privileges: sqlDollar[5].union.privilegeList(), 34794 Targets: tree.GrantTargetList{ 34795 Schemas: sqlDollar[11].union.objectNamePrefixList(), 34796 AllTablesInSchema: true, 34797 }, 34798 Grantees: sqlDollar[13].union.roleSpecList(), 34799 GrantOptionFor: true, 34800 } 34801 } 34802 case 962: 34803 sqlDollar = sqlS[sqlpt-10 : sqlpt+1] 34804 //line sql-gen.y:6482 34805 { 34806 sqlVAL.union.val = &tree.Revoke{ 34807 Privileges: sqlDollar[2].union.privilegeList(), 34808 Targets: tree.GrantTargetList{ 34809 Schemas: sqlDollar[8].union.objectNamePrefixList(), 34810 AllFunctionsInSchema: true, 34811 }, 34812 Grantees: sqlDollar[10].union.roleSpecList(), 34813 GrantOptionFor: false, 34814 } 34815 } 34816 case 963: 34817 sqlDollar = sqlS[sqlpt-13 : sqlpt+1] 34818 //line sql-gen.y:6494 34819 { 34820 sqlVAL.union.val = &tree.Revoke{ 34821 Privileges: sqlDollar[5].union.privilegeList(), 34822 Targets: tree.GrantTargetList{ 34823 Schemas: sqlDollar[11].union.objectNamePrefixList(), 34824 AllFunctionsInSchema: true, 34825 }, 34826 Grantees: sqlDollar[13].union.roleSpecList(), 34827 GrantOptionFor: true, 34828 } 34829 } 34830 case 964: 34831 sqlDollar = sqlS[sqlpt-10 : sqlpt+1] 34832 //line sql-gen.y:6506 34833 { 34834 sqlVAL.union.val = &tree.Revoke{ 34835 Privileges: sqlDollar[2].union.privilegeList(), 34836 Targets: tree.GrantTargetList{ 34837 Schemas: sqlDollar[8].union.objectNamePrefixList(), 34838 AllProceduresInSchema: true, 34839 }, 34840 Grantees: sqlDollar[10].union.roleSpecList(), 34841 GrantOptionFor: false, 34842 } 34843 } 34844 case 965: 34845 sqlDollar = sqlS[sqlpt-13 : sqlpt+1] 34846 //line sql-gen.y:6518 34847 { 34848 sqlVAL.union.val = &tree.Revoke{ 34849 Privileges: sqlDollar[5].union.privilegeList(), 34850 Targets: tree.GrantTargetList{ 34851 Schemas: sqlDollar[11].union.objectNamePrefixList(), 34852 AllProceduresInSchema: true, 34853 }, 34854 Grantees: sqlDollar[13].union.roleSpecList(), 34855 GrantOptionFor: true, 34856 } 34857 } 34858 case 966: 34859 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 34860 //line sql-gen.y:6530 34861 { 34862 sqlVAL.union.val = &tree.Revoke{ 34863 Privileges: sqlDollar[3].union.privilegeList(), 34864 Targets: tree.GrantTargetList{ 34865 System: true, 34866 }, 34867 Grantees: sqlDollar[5].union.roleSpecList(), 34868 } 34869 } 34870 case 967: 34871 sqlDollar = sqlS[sqlpt-8 : sqlpt+1] 34872 //line sql-gen.y:6540 34873 { 34874 sqlVAL.union.val = &tree.Revoke{ 34875 Privileges: sqlDollar[6].union.privilegeList(), 34876 Targets: tree.GrantTargetList{ 34877 System: true, 34878 }, 34879 Grantees: sqlDollar[8].union.roleSpecList(), 34880 GrantOptionFor: true, 34881 } 34882 } 34883 case 968: 34884 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 34885 //line sql-gen.y:6551 34886 { 34887 return unimplemented(sqllex, "revoke privileges on sequence") 34888 } 34889 case 969: 34890 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 34891 //line sql-gen.y:6554 34892 { 34893 return helpWith(sqllex, "REVOKE") 34894 } 34895 case 970: 34896 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 34897 //line sql-gen.y:6560 34898 { 34899 sqlVAL.union.val = privilege.List{privilege.ALL} 34900 } 34901 case 971: 34902 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 34903 //line sql-gen.y:6564 34904 { 34905 privList, err := privilege.ListFromStrings(sqlDollar[1].union.nameList().ToStrings(), privilege.OriginFromUserInput) 34906 if err != nil { 34907 return setErr(sqllex, err) 34908 } 34909 sqlVAL.union.val = privList 34910 } 34911 case 972: 34912 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 34913 //line sql-gen.y:6574 34914 { 34915 sqlVAL.union.val = tree.NameList{tree.Name(sqlDollar[1].str)} 34916 } 34917 case 973: 34918 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 34919 //line sql-gen.y:6578 34920 { 34921 sqlVAL.union.val = append(sqlDollar[1].union.nameList(), tree.Name(sqlDollar[3].str)) 34922 } 34923 case 979: 34924 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 34925 //line sql-gen.y:6592 34926 { 34927 return helpWith(sqllex, "RESET") 34928 } 34929 case 981: 34930 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 34931 //line sql-gen.y:6593 34932 { 34933 return helpWith(sqllex, "RESET CLUSTER SETTING") 34934 } 34935 case 982: 34936 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 34937 //line sql-gen.y:6601 34938 { 34939 sqlVAL.union.val = &tree.SetVar{Name: sqlDollar[2].str, Values: tree.Exprs{tree.DefaultVal{}}, Reset: true} 34940 } 34941 case 983: 34942 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 34943 //line sql-gen.y:6605 34944 { 34945 sqlVAL.union.val = &tree.SetVar{Name: sqlDollar[3].str, Values: tree.Exprs{tree.DefaultVal{}}, Reset: true} 34946 } 34947 case 984: 34948 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 34949 //line sql-gen.y:6609 34950 { 34951 sqlVAL.union.val = &tree.SetVar{ResetAll: true, Reset: true} 34952 } 34953 case 985: 34954 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 34955 //line sql-gen.y:6612 34956 { 34957 return helpWith(sqllex, "RESET") 34958 } 34959 case 986: 34960 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 34961 //line sql-gen.y:6620 34962 { 34963 sqlVAL.union.val = &tree.SetClusterSetting{Name: strings.Join(sqlDollar[4].union.strs(), "."), Value: tree.DefaultVal{}} 34964 } 34965 case 987: 34966 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 34967 //line sql-gen.y:6623 34968 { 34969 return helpWith(sqllex, "RESET CLUSTER SETTING") 34970 } 34971 case 988: 34972 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 34973 //line sql-gen.y:6634 34974 { 34975 sqlVAL.union.val = &tree.SetVar{Name: "database", Values: tree.Exprs{sqlDollar[2].union.expr()}} 34976 } 34977 case 989: 34978 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 34979 //line sql-gen.y:6637 34980 { 34981 return helpWith(sqllex, "USE") 34982 } 34983 case 991: 34984 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 34985 //line sql-gen.y:6641 34986 { 34987 return helpWith(sqllex, "SET TRANSACTION") 34988 } 34989 case 992: 34990 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 34991 //line sql-gen.y:6642 34992 { 34993 } 34994 case 993: 34995 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 34996 //line sql-gen.y:6643 34997 { 34998 return unimplemented(sqllex, "set constraints") 34999 } 35000 case 995: 35001 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 35002 //line sql-gen.y:6647 35003 { 35004 return helpWith(sqllex, "SET SESSION") 35005 } 35006 case 997: 35007 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 35008 //line sql-gen.y:6648 35009 { 35010 return helpWith(sqllex, "SET LOCAL") 35011 } 35012 case 999: 35013 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 35014 //line sql-gen.y:6649 35015 { 35016 return helpWith(sqllex, "SET CLUSTER SETTING") 35017 } 35018 case 1001: 35019 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 35020 //line sql-gen.y:6650 35021 { 35022 return helpWith(sqllex, "USE") 35023 } 35024 case 1004: 35025 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 35026 //line sql-gen.y:6666 35027 { 35028 return helpWith(sqllex, "SCRUB") 35029 } 35030 case 1005: 35031 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 35032 //line sql-gen.y:6681 35033 { 35034 sqlVAL.union.val = &tree.Scrub{Typ: tree.ScrubDatabase, Database: tree.Name(sqlDollar[4].str), AsOf: sqlDollar[5].union.asOfClause()} 35035 } 35036 case 1006: 35037 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 35038 //line sql-gen.y:6684 35039 { 35040 return helpWith(sqllex, "SCRUB DATABASE") 35041 } 35042 case 1007: 35043 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 35044 //line sql-gen.y:6702 35045 { 35046 sqlVAL.union.val = &tree.Scrub{ 35047 Typ: tree.ScrubTable, 35048 Table: sqlDollar[4].union.unresolvedObjectName(), 35049 AsOf: sqlDollar[5].union.asOfClause(), 35050 Options: sqlDollar[6].union.scrubOptions(), 35051 } 35052 } 35053 case 1008: 35054 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 35055 //line sql-gen.y:6710 35056 { 35057 return helpWith(sqllex, "SCRUB TABLE") 35058 } 35059 case 1009: 35060 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 35061 //line sql-gen.y:6714 35062 { 35063 sqlVAL.union.val = sqlDollar[3].union.scrubOptions() 35064 } 35065 case 1010: 35066 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 35067 //line sql-gen.y:6718 35068 { 35069 sqlVAL.union.val = tree.ScrubOptions{} 35070 } 35071 case 1011: 35072 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 35073 //line sql-gen.y:6724 35074 { 35075 sqlVAL.union.val = tree.ScrubOptions{sqlDollar[1].union.scrubOption()} 35076 } 35077 case 1012: 35078 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 35079 //line sql-gen.y:6728 35080 { 35081 sqlVAL.union.val = append(sqlDollar[1].union.scrubOptions(), sqlDollar[3].union.scrubOption()) 35082 } 35083 case 1013: 35084 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 35085 //line sql-gen.y:6734 35086 { 35087 sqlVAL.union.val = &tree.ScrubOptionIndex{} 35088 } 35089 case 1014: 35090 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 35091 //line sql-gen.y:6738 35092 { 35093 sqlVAL.union.val = &tree.ScrubOptionIndex{IndexNames: sqlDollar[3].union.nameList()} 35094 } 35095 case 1015: 35096 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 35097 //line sql-gen.y:6742 35098 { 35099 sqlVAL.union.val = &tree.ScrubOptionConstraint{} 35100 } 35101 case 1016: 35102 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 35103 //line sql-gen.y:6746 35104 { 35105 sqlVAL.union.val = &tree.ScrubOptionConstraint{ConstraintNames: sqlDollar[3].union.nameList()} 35106 } 35107 case 1017: 35108 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 35109 //line sql-gen.y:6750 35110 { 35111 sqlVAL.union.val = &tree.ScrubOptionPhysical{} 35112 } 35113 case 1018: 35114 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 35115 //line sql-gen.y:6761 35116 { 35117 sqlVAL.union.val = &tree.SetClusterSetting{Name: strings.Join(sqlDollar[4].union.strs(), "."), Value: sqlDollar[6].union.expr()} 35118 } 35119 case 1019: 35120 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 35121 //line sql-gen.y:6764 35122 { 35123 return helpWith(sqllex, "SET CLUSTER SETTING") 35124 } 35125 case 1021: 35126 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 35127 //line sql-gen.y:6774 35128 { 35129 return helpWith(sqllex, "ALTER VIRTUAL CLUSTER REPLICATION") 35130 } 35131 case 1023: 35132 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 35133 //line sql-gen.y:6775 35134 { 35135 return helpWith(sqllex, "ALTER VIRTUAL CLUSTER SETTING") 35136 } 35137 case 1025: 35138 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 35139 //line sql-gen.y:6776 35140 { 35141 return helpWith(sqllex, "ALTER VIRTUAL CLUSTER CAPABILITY") 35142 } 35143 case 1027: 35144 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 35145 //line sql-gen.y:6777 35146 { 35147 return helpWith(sqllex, "ALTER VIRTUAL CLUSTER RENAME") 35148 } 35149 case 1029: 35150 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 35151 //line sql-gen.y:6778 35152 { 35153 return helpWith(sqllex, "ALTER VIRTUAL CLUSTER SERVICE") 35154 } 35155 case 1030: 35156 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 35157 //line sql-gen.y:6779 35158 { 35159 return helpWith(sqllex, "ALTER VIRTUAL CLUSTER") 35160 } 35161 case 1031: 35162 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 35163 //line sql-gen.y:6783 35164 { 35165 sqlVAL.union.val = &tree.TenantSpec{IsName: true, Expr: sqlDollar[1].union.expr()} 35166 } 35167 case 1032: 35168 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 35169 //line sql-gen.y:6785 35170 { 35171 sqlVAL.union.val = &tree.TenantSpec{IsName: false, Expr: sqlDollar[2].union.expr()} 35172 } 35173 case 1033: 35174 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 35175 //line sql-gen.y:6793 35176 { 35177 35178 sqlVAL.union.val = &tree.AlterTenantRename{ 35179 TenantSpec: sqlDollar[3].union.tenantSpec(), 35180 NewName: &tree.TenantSpec{IsName: true, Expr: sqlDollar[6].union.expr()}, 35181 } 35182 } 35183 case 1034: 35184 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 35185 //line sql-gen.y:6809 35186 { 35187 35188 sqlVAL.union.val = &tree.AlterTenantService{ 35189 TenantSpec: sqlDollar[3].union.tenantSpec(), 35190 Command: tree.TenantStartServiceExternal, 35191 } 35192 } 35193 case 1035: 35194 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 35195 //line sql-gen.y:6817 35196 { 35197 35198 sqlVAL.union.val = &tree.AlterTenantService{ 35199 TenantSpec: sqlDollar[3].union.tenantSpec(), 35200 Command: tree.TenantStartServiceShared, 35201 } 35202 } 35203 case 1036: 35204 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 35205 //line sql-gen.y:6825 35206 { 35207 35208 sqlVAL.union.val = &tree.AlterTenantService{ 35209 TenantSpec: sqlDollar[3].union.tenantSpec(), 35210 Command: tree.TenantStopService, 35211 } 35212 } 35213 case 1037: 35214 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 35215 //line sql-gen.y:6832 35216 { 35217 return helpWith(sqllex, "ALTER VIRTUAL CLUSTER SERVICE") 35218 } 35219 case 1038: 35220 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 35221 //line sql-gen.y:6833 35222 { 35223 return helpWith(sqllex, "ALTER VIRTUAL CLUSTER SERVICE") 35224 } 35225 case 1039: 35226 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 35227 //line sql-gen.y:6846 35228 { 35229 35230 sqlVAL.union.val = &tree.AlterTenantReplication{ 35231 TenantSpec: sqlDollar[3].union.tenantSpec(), 35232 Command: tree.PauseJob, 35233 } 35234 } 35235 case 1040: 35236 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 35237 //line sql-gen.y:6854 35238 { 35239 35240 sqlVAL.union.val = &tree.AlterTenantReplication{ 35241 TenantSpec: sqlDollar[3].union.tenantSpec(), 35242 Command: tree.ResumeJob, 35243 } 35244 } 35245 case 1041: 35246 sqlDollar = sqlS[sqlpt-9 : sqlpt+1] 35247 //line sql-gen.y:6862 35248 { 35249 35250 sqlVAL.union.val = &tree.AlterTenantReplication{ 35251 TenantSpec: sqlDollar[3].union.tenantSpec(), 35252 Cutover: &tree.ReplicationCutoverTime{ 35253 Timestamp: sqlDollar[9].union.expr(), 35254 }, 35255 } 35256 } 35257 case 1042: 35258 sqlDollar = sqlS[sqlpt-7 : sqlpt+1] 35259 //line sql-gen.y:6872 35260 { 35261 35262 sqlVAL.union.val = &tree.AlterTenantReplication{ 35263 TenantSpec: sqlDollar[3].union.tenantSpec(), 35264 Cutover: &tree.ReplicationCutoverTime{ 35265 Latest: true, 35266 }, 35267 } 35268 } 35269 case 1043: 35270 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 35271 //line sql-gen.y:6882 35272 { 35273 35274 sqlVAL.union.val = &tree.AlterTenantReplication{ 35275 TenantSpec: sqlDollar[3].union.tenantSpec(), 35276 Options: *sqlDollar[6].union.tenantReplicationOptions(), 35277 } 35278 } 35279 case 1044: 35280 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 35281 //line sql-gen.y:6899 35282 { 35283 35284 csettingStmt := sqlDollar[4].union.stmt().(*tree.SetClusterSetting) 35285 sqlVAL.union.val = &tree.AlterTenantSetClusterSetting{ 35286 SetClusterSetting: *csettingStmt, 35287 TenantSpec: sqlDollar[3].union.tenantSpec(), 35288 } 35289 } 35290 case 1045: 35291 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 35292 //line sql-gen.y:6908 35293 { 35294 35295 csettingStmt := sqlDollar[4].union.stmt().(*tree.SetClusterSetting) 35296 sqlVAL.union.val = &tree.AlterTenantSetClusterSetting{ 35297 SetClusterSetting: *csettingStmt, 35298 TenantSpec: &tree.TenantSpec{All: true}, 35299 } 35300 } 35301 case 1046: 35302 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 35303 //line sql-gen.y:6917 35304 { 35305 35306 csettingStmt := sqlDollar[5].union.stmt().(*tree.SetClusterSetting) 35307 sqlVAL.union.val = &tree.AlterTenantSetClusterSetting{ 35308 SetClusterSetting: *csettingStmt, 35309 TenantSpec: &tree.TenantSpec{All: true}, 35310 } 35311 } 35312 case 1047: 35313 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 35314 //line sql-gen.y:6925 35315 { 35316 return helpWith(sqllex, "ALTER VIRTUAL CLUSTER SETTING") 35317 } 35318 case 1048: 35319 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 35320 //line sql-gen.y:6926 35321 { 35322 return helpWith(sqllex, "ALTER VIRTUAL CLUSTER SETTING") 35323 } 35324 case 1053: 35325 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 35326 //line sql-gen.y:6943 35327 { 35328 35329 sqlVAL.union.val = &tree.AlterTenantCapability{ 35330 TenantSpec: sqlDollar[3].union.tenantSpec(), 35331 Capabilities: sqlDollar[6].union.tenantCapabilities(), 35332 } 35333 } 35334 case 1054: 35335 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 35336 //line sql-gen.y:6951 35337 { 35338 35339 sqlVAL.union.val = &tree.AlterTenantCapability{ 35340 TenantSpec: sqlDollar[3].union.tenantSpec(), 35341 AllCapabilities: true, 35342 } 35343 } 35344 case 1055: 35345 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 35346 //line sql-gen.y:6959 35347 { 35348 35349 sqlVAL.union.val = &tree.AlterTenantCapability{ 35350 TenantSpec: sqlDollar[3].union.tenantSpec(), 35351 Capabilities: sqlDollar[6].union.tenantCapabilities(), 35352 IsRevoke: true, 35353 } 35354 } 35355 case 1056: 35356 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 35357 //line sql-gen.y:6968 35358 { 35359 35360 sqlVAL.union.val = &tree.AlterTenantCapability{ 35361 TenantSpec: sqlDollar[3].union.tenantSpec(), 35362 AllCapabilities: true, 35363 IsRevoke: true, 35364 } 35365 } 35366 case 1057: 35367 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 35368 //line sql-gen.y:6976 35369 { 35370 return helpWith(sqllex, "ALTER VIRTUAL CLUSTER CAPABILITY") 35371 } 35372 case 1058: 35373 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 35374 //line sql-gen.y:6977 35375 { 35376 return helpWith(sqllex, "ALTER VIRTUAL CLUSTER CAPABILITY") 35377 } 35378 case 1059: 35379 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 35380 //line sql-gen.y:6981 35381 { 35382 35383 sqlVAL.union.val = tree.TenantCapability{ 35384 Name: strings.Join(sqlDollar[1].union.strs(), "."), 35385 } 35386 } 35387 case 1060: 35388 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 35389 //line sql-gen.y:6988 35390 { 35391 35392 sqlVAL.union.val = tree.TenantCapability{ 35393 Name: strings.Join(sqlDollar[1].union.strs(), "."), 35394 Value: sqlDollar[3].union.expr(), 35395 } 35396 } 35397 case 1061: 35398 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 35399 //line sql-gen.y:6998 35400 { 35401 35402 sqlVAL.union.val = []tree.TenantCapability{sqlDollar[1].union.tenantCapability()} 35403 } 35404 case 1062: 35405 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 35406 //line sql-gen.y:7003 35407 { 35408 35409 sqlVAL.union.val = append(sqlDollar[1].union.tenantCapabilities(), sqlDollar[3].union.tenantCapability()) 35410 } 35411 case 1063: 35412 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 35413 //line sql-gen.y:7012 35414 { 35415 sqlVAL.union.val = &tree.SetVar{Values: sqlDollar[4].union.exprs(), SetRow: true} 35416 } 35417 case 1064: 35418 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 35419 //line sql-gen.y:7028 35420 { 35421 35422 sqlVAL.union.val = &tree.SetTracing{Values: sqlDollar[4].union.exprs()} 35423 } 35424 case 1065: 35425 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 35426 //line sql-gen.y:7034 35427 { 35428 35429 sqlVAL.union.val = &tree.SetTracing{Values: sqlDollar[5].union.exprs()} 35430 } 35431 case 1066: 35432 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 35433 //line sql-gen.y:7040 35434 { 35435 sqlVAL.union.val = sqlDollar[3].union.stmt() 35436 } 35437 case 1067: 35438 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 35439 //line sql-gen.y:7043 35440 { 35441 return helpWith(sqllex, "SET SESSION") 35442 } 35443 case 1068: 35444 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 35445 //line sql-gen.y:7045 35446 { 35447 sqlVAL.union.val = sqlDollar[2].union.stmt() 35448 } 35449 case 1069: 35450 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 35451 //line sql-gen.y:7048 35452 { 35453 return helpWith(sqllex, "SET SESSION") 35454 } 35455 case 1070: 35456 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 35457 //line sql-gen.y:7051 35458 { 35459 sqlVAL.union.val = &tree.SetSessionCharacteristics{Modes: sqlDollar[6].union.transactionModes()} 35460 } 35461 case 1071: 35462 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 35463 //line sql-gen.y:7065 35464 { 35465 ret := sqlDollar[3].union.setVar() 35466 ret.Local = true 35467 sqlVAL.union.val = ret 35468 } 35469 case 1072: 35470 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 35471 //line sql-gen.y:7070 35472 { 35473 return helpWith(sqllex, "SET LOCAL") 35474 } 35475 case 1073: 35476 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 35477 //line sql-gen.y:7087 35478 { 35479 sqlVAL.union.val = &tree.SetTransaction{Modes: sqlDollar[3].union.transactionModes()} 35480 } 35481 case 1074: 35482 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 35483 //line sql-gen.y:7090 35484 { 35485 return helpWith(sqllex, "SET TRANSACTION") 35486 } 35487 case 1075: 35488 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 35489 //line sql-gen.y:7092 35490 { 35491 sqlVAL.union.val = &tree.SetTransaction{Modes: sqlDollar[4].union.transactionModes()} 35492 } 35493 case 1076: 35494 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 35495 //line sql-gen.y:7095 35496 { 35497 return helpWith(sqllex, "SET TRANSACTION") 35498 } 35499 case 1077: 35500 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 35501 //line sql-gen.y:7099 35502 { 35503 sqlVAL.union.val = &tree.SetVar{Name: strings.Join(sqlDollar[1].union.strs(), "."), Values: sqlDollar[3].union.exprs()} 35504 } 35505 case 1079: 35506 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 35507 //line sql-gen.y:7111 35508 { 35509 35510 sqlVAL.union.val = &tree.SetVar{Name: "timezone", Values: tree.Exprs{sqlDollar[3].union.expr()}} 35511 } 35512 case 1080: 35513 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 35514 //line sql-gen.y:7115 35515 { 35516 return unimplemented(sqllex, "set from current") 35517 } 35518 case 1081: 35519 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 35520 //line sql-gen.y:7119 35521 { 35522 35523 sqlVAL.union.val = &tree.SetVar{Name: "search_path", Values: tree.Exprs{sqlDollar[2].union.expr()}} 35524 } 35525 case 1082: 35526 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 35527 //line sql-gen.y:7124 35528 { 35529 35530 sqlVAL.union.val = &tree.SetVar{Name: "role", Values: tree.Exprs{sqlDollar[2].union.expr()}} 35531 } 35532 case 1084: 35533 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 35534 //line sql-gen.y:7133 35535 { 35536 35537 sqlVAL.union.val = &tree.SetSessionAuthorizationDefault{} 35538 } 35539 case 1085: 35540 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 35541 //line sql-gen.y:7138 35542 { 35543 return unimplementedWithIssue(sqllex, 40283) 35544 } 35545 case 1086: 35546 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 35547 //line sql-gen.y:7142 35548 { 35549 return unimplementedWithIssue(sqllex, 40283) 35550 } 35551 case 1088: 35552 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 35553 //line sql-gen.y:7154 35554 { 35555 35556 sqlVAL.union.val = &tree.SetVar{Name: "client_encoding", Values: tree.Exprs{sqlDollar[2].union.expr()}} 35557 } 35558 case 1089: 35559 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 35560 //line sql-gen.y:7159 35561 { 35562 35563 sqlVAL.union.val = &tree.SetVar{Name: "client_encoding", Values: tree.Exprs{tree.DefaultVal{}}} 35564 } 35565 case 1090: 35566 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 35567 //line sql-gen.y:7166 35568 { 35569 sqlVAL.union.val = []string{sqlDollar[1].str} 35570 } 35571 case 1091: 35572 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 35573 //line sql-gen.y:7170 35574 { 35575 sqlVAL.union.val = append([]string{sqlDollar[1].str}, sqlDollar[2].union.strs()...) 35576 } 35577 case 1092: 35578 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 35579 //line sql-gen.y:7176 35580 { 35581 sqlVAL.union.val = []string{sqlDollar[2].str} 35582 } 35583 case 1093: 35584 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 35585 //line sql-gen.y:7180 35586 { 35587 sqlVAL.union.val = append(sqlDollar[1].union.strs(), sqlDollar[3].str) 35588 } 35589 case 1095: 35590 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 35591 //line sql-gen.y:7187 35592 { 35593 sqlVAL.union.val = tree.Expr(&tree.UnresolvedName{NumParts: 1, Parts: tree.NameParts{sqlDollar[1].str}}) 35594 } 35595 case 1099: 35596 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 35597 //line sql-gen.y:7210 35598 { 35599 sqlVAL.union.val = tree.Exprs{sqlDollar[1].union.expr()} 35600 } 35601 case 1100: 35602 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 35603 //line sql-gen.y:7214 35604 { 35605 sqlVAL.union.val = append(sqlDollar[1].union.exprs(), sqlDollar[3].union.expr()) 35606 } 35607 case 1101: 35608 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 35609 //line sql-gen.y:7220 35610 { 35611 sqlVAL.union.val = tree.ReadUncommittedIsolation 35612 } 35613 case 1102: 35614 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 35615 //line sql-gen.y:7224 35616 { 35617 sqlVAL.union.val = tree.ReadCommittedIsolation 35618 } 35619 case 1103: 35620 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 35621 //line sql-gen.y:7228 35622 { 35623 sqlVAL.union.val = tree.SnapshotIsolation 35624 } 35625 case 1104: 35626 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 35627 //line sql-gen.y:7232 35628 { 35629 sqlVAL.union.val = tree.RepeatableReadIsolation 35630 } 35631 case 1105: 35632 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 35633 //line sql-gen.y:7236 35634 { 35635 sqlVAL.union.val = tree.SerializableIsolation 35636 } 35637 case 1106: 35638 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 35639 //line sql-gen.y:7242 35640 { 35641 sqlVAL.union.val = tree.Low 35642 } 35643 case 1107: 35644 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 35645 //line sql-gen.y:7246 35646 { 35647 sqlVAL.union.val = tree.Normal 35648 } 35649 case 1108: 35650 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 35651 //line sql-gen.y:7250 35652 { 35653 sqlVAL.union.val = tree.High 35654 } 35655 case 1109: 35656 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 35657 //line sql-gen.y:7261 35658 { 35659 sqlVAL.union.val = tree.NewStrVal(sqlDollar[1].str) 35660 } 35661 case 1110: 35662 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 35663 //line sql-gen.y:7265 35664 { 35665 sqlVAL.union.val = tree.NewStrVal(sqlDollar[1].str) 35666 } 35667 case 1111: 35668 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 35669 //line sql-gen.y:7269 35670 { 35671 sqlVAL.union.val = sqlDollar[1].union.expr() 35672 } 35673 case 1113: 35674 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 35675 //line sql-gen.y:7274 35676 { 35677 sqlVAL.union.val = tree.DefaultVal{} 35678 } 35679 case 1114: 35680 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 35681 //line sql-gen.y:7278 35682 { 35683 sqlVAL.union.val = tree.NewStrVal(sqlDollar[1].str) 35684 } 35685 case 1116: 35686 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 35687 //line sql-gen.y:7295 35688 { 35689 return helpWith(sqllex, "SHOW BACKUP") 35690 } 35691 case 1118: 35692 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 35693 //line sql-gen.y:7296 35694 { 35695 return helpWith(sqllex, "SHOW COLUMNS") 35696 } 35697 case 1120: 35698 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 35699 //line sql-gen.y:7297 35700 { 35701 return helpWith(sqllex, "SHOW CONSTRAINTS") 35702 } 35703 case 1122: 35704 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 35705 //line sql-gen.y:7298 35706 { 35707 return helpWith(sqllex, "SHOW CREATE") 35708 } 35709 case 1124: 35710 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 35711 //line sql-gen.y:7299 35712 { 35713 return helpWith(sqllex, "SHOW CREATE SCHEDULES") 35714 } 35715 case 1126: 35716 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 35717 //line sql-gen.y:7300 35718 { 35719 return helpWith(sqllex, "SHOW CREATE EXTERNAL CONNECTIONS") 35720 } 35721 case 1128: 35722 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 35723 //line sql-gen.y:7301 35724 { 35725 return helpWith(sqllex, "SHOW CLUSTER SETTING") 35726 } 35727 case 1130: 35728 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 35729 //line sql-gen.y:7302 35730 { 35731 return helpWith(sqllex, "SHOW DATABASES") 35732 } 35733 case 1132: 35734 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 35735 //line sql-gen.y:7303 35736 { 35737 return helpWith(sqllex, "SHOW ENUMS") 35738 } 35739 case 1134: 35740 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 35741 //line sql-gen.y:7304 35742 { 35743 return helpWith(sqllex, "SHOW TYPES") 35744 } 35745 case 1137: 35746 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 35747 //line sql-gen.y:7306 35748 { 35749 return helpWith(sqllex, "SHOW FUNCTIONS") 35750 } 35751 case 1139: 35752 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 35753 //line sql-gen.y:7307 35754 { 35755 return helpWith(sqllex, "SHOW PROCEDURES") 35756 } 35757 case 1141: 35758 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 35759 //line sql-gen.y:7308 35760 { 35761 return helpWith(sqllex, "SHOW GRANTS") 35762 } 35763 case 1143: 35764 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 35765 //line sql-gen.y:7309 35766 { 35767 return helpWith(sqllex, "SHOW HISTOGRAM") 35768 } 35769 case 1145: 35770 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 35771 //line sql-gen.y:7310 35772 { 35773 return helpWith(sqllex, "SHOW INDEXES") 35774 } 35775 case 1147: 35776 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 35777 //line sql-gen.y:7311 35778 { 35779 return helpWith(sqllex, "SHOW PARTITIONS") 35780 } 35781 case 1149: 35782 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 35783 //line sql-gen.y:7312 35784 { 35785 return helpWith(sqllex, "SHOW JOBS") 35786 } 35787 case 1152: 35788 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 35789 //line sql-gen.y:7314 35790 { 35791 return helpWith(sqllex, "SHOW SCHEDULES") 35792 } 35793 case 1154: 35794 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 35795 //line sql-gen.y:7315 35796 { 35797 return helpWith(sqllex, "SHOW STATEMENTS") 35798 } 35799 case 1156: 35800 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 35801 //line sql-gen.y:7316 35802 { 35803 return helpWith(sqllex, "SHOW RANGES") 35804 } 35805 case 1159: 35806 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 35807 //line sql-gen.y:7318 35808 { 35809 return helpWith(sqllex, "SHOW REGIONS") 35810 } 35811 case 1162: 35812 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 35813 //line sql-gen.y:7320 35814 { 35815 return helpWith(sqllex, "SHOW ROLES") 35816 } 35817 case 1164: 35818 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 35819 //line sql-gen.y:7321 35820 { 35821 return helpWith(sqllex, "SHOW SAVEPOINT") 35822 } 35823 case 1166: 35824 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 35825 //line sql-gen.y:7322 35826 { 35827 return helpWith(sqllex, "SHOW SCHEMAS") 35828 } 35829 case 1168: 35830 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 35831 //line sql-gen.y:7323 35832 { 35833 return helpWith(sqllex, "SHOW SEQUENCES") 35834 } 35835 case 1170: 35836 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 35837 //line sql-gen.y:7324 35838 { 35839 return helpWith(sqllex, "SHOW SESSION") 35840 } 35841 case 1172: 35842 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 35843 //line sql-gen.y:7325 35844 { 35845 return helpWith(sqllex, "SHOW SESSIONS") 35846 } 35847 case 1174: 35848 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 35849 //line sql-gen.y:7326 35850 { 35851 return helpWith(sqllex, "SHOW STATISTICS") 35852 } 35853 case 1176: 35854 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 35855 //line sql-gen.y:7327 35856 { 35857 return helpWith(sqllex, "SHOW SYNTAX") 35858 } 35859 case 1178: 35860 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 35861 //line sql-gen.y:7328 35862 { 35863 return helpWith(sqllex, "SHOW TABLES") 35864 } 35865 case 1180: 35866 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 35867 //line sql-gen.y:7329 35868 { 35869 return helpWith(sqllex, "SHOW VIRTUAL CLUSTER") 35870 } 35871 case 1182: 35872 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 35873 //line sql-gen.y:7330 35874 { 35875 return helpWith(sqllex, "SHOW TRACE") 35876 } 35877 case 1184: 35878 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 35879 //line sql-gen.y:7331 35880 { 35881 return helpWith(sqllex, "SHOW TRANSACTION") 35882 } 35883 case 1186: 35884 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 35885 //line sql-gen.y:7332 35886 { 35887 return helpWith(sqllex, "SHOW TRANSACTIONS") 35888 } 35889 case 1188: 35890 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 35891 //line sql-gen.y:7333 35892 { 35893 return helpWith(sqllex, "SHOW TRANSFER") 35894 } 35895 case 1190: 35896 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 35897 //line sql-gen.y:7334 35898 { 35899 return helpWith(sqllex, "SHOW USERS") 35900 } 35901 case 1192: 35902 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 35903 //line sql-gen.y:7335 35904 { 35905 return helpWith(sqllex, "SHOW ZONE CONFIGURATION") 35906 } 35907 case 1193: 35908 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 35909 //line sql-gen.y:7336 35910 { 35911 return helpWith(sqllex, "SHOW") 35912 } 35913 case 1197: 35914 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 35915 //line sql-gen.y:7339 35916 { 35917 return helpWith(sqllex, "SHOW DEFAULT PRIVILEGES") 35918 } 35919 case 1199: 35920 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 35921 //line sql-gen.y:7348 35922 { 35923 sqlVAL.union.val = &tree.CloseCursor{ 35924 All: true, 35925 } 35926 } 35927 case 1200: 35928 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 35929 //line sql-gen.y:7354 35930 { 35931 sqlVAL.union.val = &tree.CloseCursor{ 35932 Name: tree.Name(sqlDollar[2].str), 35933 } 35934 } 35935 case 1201: 35936 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 35937 //line sql-gen.y:7359 35938 { 35939 return helpWith(sqllex, "CLOSE") 35940 } 35941 case 1202: 35942 sqlDollar = sqlS[sqlpt-9 : sqlpt+1] 35943 //line sql-gen.y:7369 35944 { 35945 sqlVAL.union.val = &tree.DeclareCursor{ 35946 Binary: sqlDollar[3].union.bool(), 35947 Name: tree.Name(sqlDollar[2].str), 35948 Sensitivity: sqlDollar[4].union.cursorSensitivity(), 35949 Scroll: sqlDollar[5].union.cursorScrollOption(), 35950 Hold: sqlDollar[7].union.bool(), 35951 Select: sqlDollar[9].union.slct(), 35952 } 35953 } 35954 case 1203: 35955 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 35956 //line sql-gen.y:7379 35957 { 35958 return helpWith(sqllex, "DECLARE") 35959 } 35960 case 1204: 35961 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 35962 //line sql-gen.y:7383 35963 { 35964 sqlVAL.union.val = true 35965 } 35966 case 1205: 35967 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 35968 //line sql-gen.y:7387 35969 { 35970 sqlVAL.union.val = false 35971 } 35972 case 1206: 35973 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 35974 //line sql-gen.y:7393 35975 { 35976 sqlVAL.union.val = tree.Insensitive 35977 } 35978 case 1207: 35979 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 35980 //line sql-gen.y:7397 35981 { 35982 sqlVAL.union.val = tree.Asensitive 35983 } 35984 case 1208: 35985 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 35986 //line sql-gen.y:7401 35987 { 35988 sqlVAL.union.val = tree.UnspecifiedSensitivity 35989 } 35990 case 1209: 35991 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 35992 //line sql-gen.y:7407 35993 { 35994 sqlVAL.union.val = tree.Scroll 35995 } 35996 case 1210: 35997 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 35998 //line sql-gen.y:7411 35999 { 36000 sqlVAL.union.val = tree.NoScroll 36001 } 36002 case 1211: 36003 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 36004 //line sql-gen.y:7415 36005 { 36006 sqlVAL.union.val = tree.UnspecifiedScroll 36007 } 36008 case 1212: 36009 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 36010 //line sql-gen.y:7421 36011 { 36012 sqlVAL.union.val = true 36013 } 36014 case 1213: 36015 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 36016 //line sql-gen.y:7425 36017 { 36018 sqlVAL.union.val = false 36019 } 36020 case 1214: 36021 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 36022 //line sql-gen.y:7429 36023 { 36024 sqlVAL.union.val = false 36025 } 36026 case 1215: 36027 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 36028 //line sql-gen.y:7439 36029 { 36030 sqlVAL.union.val = &tree.FetchCursor{ 36031 CursorStmt: sqlDollar[2].union.cursorStmt(), 36032 } 36033 } 36034 case 1216: 36035 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 36036 //line sql-gen.y:7444 36037 { 36038 return helpWith(sqllex, "FETCH") 36039 } 36040 case 1217: 36041 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 36042 //line sql-gen.y:7452 36043 { 36044 sqlVAL.union.val = &tree.MoveCursor{ 36045 CursorStmt: sqlDollar[2].union.cursorStmt(), 36046 } 36047 } 36048 case 1218: 36049 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 36050 //line sql-gen.y:7457 36051 { 36052 return helpWith(sqllex, "MOVE") 36053 } 36054 case 1219: 36055 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 36056 //line sql-gen.y:7461 36057 { 36058 sqlVAL.union.val = tree.CursorStmt{ 36059 Name: tree.Name(sqlDollar[1].str), 36060 Count: 1, 36061 } 36062 } 36063 case 1220: 36064 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 36065 //line sql-gen.y:7468 36066 { 36067 sqlVAL.union.val = tree.CursorStmt{ 36068 Name: tree.Name(sqlDollar[2].str), 36069 Count: 1, 36070 } 36071 } 36072 case 1221: 36073 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 36074 //line sql-gen.y:7475 36075 { 36076 sqlVAL.union.val = tree.CursorStmt{ 36077 Name: tree.Name(sqlDollar[3].str), 36078 Count: sqlDollar[1].union.int64(), 36079 } 36080 } 36081 case 1222: 36082 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 36083 //line sql-gen.y:7482 36084 { 36085 sqlVAL.union.val = tree.CursorStmt{ 36086 Name: tree.Name(sqlDollar[3].str), 36087 Count: sqlDollar[1].union.int64(), 36088 } 36089 } 36090 case 1223: 36091 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 36092 //line sql-gen.y:7489 36093 { 36094 sqlVAL.union.val = tree.CursorStmt{ 36095 Name: tree.Name(sqlDollar[4].str), 36096 Count: sqlDollar[2].union.int64() * sqlDollar[1].union.int64(), 36097 } 36098 } 36099 case 1224: 36100 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 36101 //line sql-gen.y:7496 36102 { 36103 fetchType := tree.FetchAll 36104 count := sqlDollar[1].union.int64() 36105 if count < 0 { 36106 fetchType = tree.FetchBackwardAll 36107 } 36108 sqlVAL.union.val = tree.CursorStmt{ 36109 Name: tree.Name(sqlDollar[4].str), 36110 FetchType: fetchType, 36111 } 36112 } 36113 case 1225: 36114 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 36115 //line sql-gen.y:7508 36116 { 36117 sqlVAL.union.val = tree.CursorStmt{ 36118 Name: tree.Name(sqlDollar[4].str), 36119 FetchType: tree.FetchAbsolute, 36120 Count: sqlDollar[2].union.int64(), 36121 } 36122 } 36123 case 1226: 36124 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 36125 //line sql-gen.y:7516 36126 { 36127 sqlVAL.union.val = tree.CursorStmt{ 36128 Name: tree.Name(sqlDollar[4].str), 36129 FetchType: tree.FetchRelative, 36130 Count: sqlDollar[2].union.int64(), 36131 } 36132 } 36133 case 1227: 36134 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 36135 //line sql-gen.y:7524 36136 { 36137 sqlVAL.union.val = tree.CursorStmt{ 36138 Name: tree.Name(sqlDollar[3].str), 36139 FetchType: tree.FetchFirst, 36140 } 36141 } 36142 case 1228: 36143 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 36144 //line sql-gen.y:7531 36145 { 36146 sqlVAL.union.val = tree.CursorStmt{ 36147 Name: tree.Name(sqlDollar[3].str), 36148 FetchType: tree.FetchLast, 36149 } 36150 } 36151 case 1229: 36152 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 36153 //line sql-gen.y:7539 36154 { 36155 sqlVAL.union.val = int64(1) 36156 } 36157 case 1230: 36158 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 36159 //line sql-gen.y:7540 36160 { 36161 sqlVAL.union.val = int64(-1) 36162 } 36163 case 1231: 36164 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 36165 //line sql-gen.y:7543 36166 { 36167 sqlVAL.union.val = sqlDollar[1].union.int64() 36168 } 36169 case 1232: 36170 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 36171 //line sql-gen.y:7544 36172 { 36173 sqlVAL.union.val = int64(1) 36174 } 36175 case 1233: 36176 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 36177 //line sql-gen.y:7547 36178 { 36179 sqlVAL.union.val = int64(1) 36180 } 36181 case 1234: 36182 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 36183 //line sql-gen.y:7548 36184 { 36185 sqlVAL.union.val = int64(-1) 36186 } 36187 case 1235: 36188 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 36189 //line sql-gen.y:7551 36190 { 36191 } 36192 case 1236: 36193 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 36194 //line sql-gen.y:7552 36195 { 36196 } 36197 case 1237: 36198 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 36199 //line sql-gen.y:7555 36200 { 36201 } 36202 case 1238: 36203 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 36204 //line sql-gen.y:7556 36205 { 36206 } 36207 case 1239: 36208 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 36209 //line sql-gen.y:7560 36210 { 36211 36212 return purposelyUnimplemented(sqllex, "reindex table", "CockroachDB does not require reindexing.") 36213 } 36214 case 1240: 36215 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 36216 //line sql-gen.y:7565 36217 { 36218 36219 return purposelyUnimplemented(sqllex, "reindex index", "CockroachDB does not require reindexing.") 36220 } 36221 case 1241: 36222 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 36223 //line sql-gen.y:7570 36224 { 36225 36226 return purposelyUnimplemented(sqllex, "reindex schema", "CockroachDB does not require reindexing.") 36227 } 36228 case 1242: 36229 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 36230 //line sql-gen.y:7575 36231 { 36232 36233 return purposelyUnimplemented(sqllex, "reindex database", "CockroachDB does not require reindexing.") 36234 } 36235 case 1243: 36236 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 36237 //line sql-gen.y:7580 36238 { 36239 36240 return purposelyUnimplemented(sqllex, "reindex system", "CockroachDB does not require reindexing.") 36241 } 36242 case 1244: 36243 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 36244 //line sql-gen.y:7590 36245 { 36246 sqlVAL.union.val = &tree.ShowVar{Name: sqlDollar[2].str} 36247 } 36248 case 1245: 36249 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 36250 //line sql-gen.y:7591 36251 { 36252 sqlVAL.union.val = &tree.ShowVar{Name: sqlDollar[3].str} 36253 } 36254 case 1246: 36255 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 36256 //line sql-gen.y:7592 36257 { 36258 return helpWith(sqllex, "SHOW SESSION") 36259 } 36260 case 1248: 36261 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 36262 //line sql-gen.y:7597 36263 { 36264 sqlVAL.str = sqlDollar[1].str + "." + strings.Join(sqlDollar[2].union.strs(), ".") 36265 } 36266 case 1251: 36267 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 36268 //line sql-gen.y:7607 36269 { 36270 sqlVAL.str = "client_encoding" 36271 } 36272 case 1256: 36273 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 36274 //line sql-gen.y:7612 36275 { 36276 } 36277 case 1257: 36278 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 36279 //line sql-gen.y:7614 36280 { 36281 36282 sqlVAL.str = sqlDollar[1].str + "." + strings.Join(sqlDollar[2].union.strs(), ".") 36283 } 36284 case 1258: 36285 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 36286 //line sql-gen.y:7619 36287 { 36288 sqlVAL.str = "timezone" 36289 } 36290 case 1259: 36291 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 36292 //line sql-gen.y:7620 36293 { 36294 return helpWith(sqllex, "SHOW SESSION") 36295 } 36296 case 1261: 36297 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 36298 //line sql-gen.y:7625 36299 { 36300 sqlVAL.union.val = []string{sqlDollar[2].str} 36301 } 36302 case 1262: 36303 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 36304 //line sql-gen.y:7629 36305 { 36306 sqlVAL.union.val = append(sqlDollar[1].union.strs(), sqlDollar[3].str) 36307 } 36308 case 1263: 36309 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 36310 //line sql-gen.y:7649 36311 { 36312 sqlVAL.union.val = &tree.ShowTableStats{ 36313 Table: sqlDollar[5].union.unresolvedObjectName(), 36314 Options: sqlDollar[6].union.kvOptions(), 36315 } 36316 } 36317 case 1264: 36318 sqlDollar = sqlS[sqlpt-8 : sqlpt+1] 36319 //line sql-gen.y:7656 36320 { 36321 36322 sqlVAL.union.val = &tree.ShowTableStats{ 36323 Table: sqlDollar[7].union.unresolvedObjectName(), 36324 UsingJSON: true, 36325 Options: sqlDollar[8].union.kvOptions(), 36326 } 36327 } 36328 case 1265: 36329 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 36330 //line sql-gen.y:7664 36331 { 36332 return helpWith(sqllex, "SHOW STATISTICS") 36333 } 36334 case 1266: 36335 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 36336 //line sql-gen.y:7677 36337 { 36338 36339 id, err := sqlDollar[3].union.numVal().AsInt64() 36340 if err != nil { 36341 return setErr(sqllex, err) 36342 } 36343 sqlVAL.union.val = &tree.ShowHistogram{HistogramID: id} 36344 } 36345 case 1267: 36346 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 36347 //line sql-gen.y:7685 36348 { 36349 return helpWith(sqllex, "SHOW HISTOGRAM") 36350 } 36351 case 1268: 36352 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 36353 //line sql-gen.y:7693 36354 { 36355 sqlVAL.union.val = &tree.ShowBackup{ 36356 InCollection: sqlDollar[4].union.stringOrPlaceholderOptList(), 36357 } 36358 } 36359 case 1269: 36360 sqlDollar = sqlS[sqlpt-8 : sqlpt+1] 36361 //line sql-gen.y:7699 36362 { 36363 sqlVAL.union.val = &tree.ShowBackup{ 36364 From: true, 36365 Details: sqlDollar[3].union.showBackupDetails(), 36366 Path: sqlDollar[5].union.expr(), 36367 InCollection: sqlDollar[7].union.stringOrPlaceholderOptList(), 36368 Options: *sqlDollar[8].union.showBackupOptions(), 36369 } 36370 } 36371 case 1270: 36372 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 36373 //line sql-gen.y:7709 36374 { 36375 sqlVAL.union.val = &tree.ShowBackup{ 36376 Details: tree.BackupDefaultDetails, 36377 Path: sqlDollar[3].union.expr(), 36378 InCollection: sqlDollar[5].union.stringOrPlaceholderOptList(), 36379 Options: *sqlDollar[6].union.showBackupOptions(), 36380 } 36381 } 36382 case 1271: 36383 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 36384 //line sql-gen.y:7718 36385 { 36386 sqlVAL.union.val = &tree.ShowBackup{ 36387 Details: tree.BackupDefaultDetails, 36388 Path: sqlDollar[3].union.expr(), 36389 Options: *sqlDollar[4].union.showBackupOptions(), 36390 } 36391 } 36392 case 1272: 36393 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 36394 //line sql-gen.y:7726 36395 { 36396 sqlVAL.union.val = &tree.ShowBackup{ 36397 Details: tree.BackupSchemaDetails, 36398 Path: sqlDollar[4].union.expr(), 36399 Options: *sqlDollar[5].union.showBackupOptions(), 36400 } 36401 } 36402 case 1273: 36403 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 36404 //line sql-gen.y:7734 36405 { 36406 sqlVAL.union.val = &tree.ShowBackup{ 36407 Details: tree.BackupFileDetails, 36408 Path: sqlDollar[4].union.expr(), 36409 Options: *sqlDollar[5].union.showBackupOptions(), 36410 } 36411 } 36412 case 1274: 36413 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 36414 //line sql-gen.y:7742 36415 { 36416 sqlVAL.union.val = &tree.ShowBackup{ 36417 Details: tree.BackupRangeDetails, 36418 Path: sqlDollar[4].union.expr(), 36419 Options: *sqlDollar[5].union.showBackupOptions(), 36420 } 36421 } 36422 case 1275: 36423 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 36424 //line sql-gen.y:7750 36425 { 36426 sqlVAL.union.val = &tree.ShowBackup{ 36427 Details: tree.BackupValidateDetails, 36428 Path: sqlDollar[4].union.expr(), 36429 Options: *sqlDollar[5].union.showBackupOptions(), 36430 } 36431 } 36432 case 1276: 36433 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 36434 //line sql-gen.y:7758 36435 { 36436 sqlVAL.union.val = &tree.ShowBackup{ 36437 Details: tree.BackupConnectionTest, 36438 Path: sqlDollar[4].union.expr(), 36439 Options: *sqlDollar[5].union.showBackupOptions(), 36440 } 36441 } 36442 case 1277: 36443 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 36444 //line sql-gen.y:7765 36445 { 36446 return helpWith(sqllex, "SHOW BACKUP") 36447 } 36448 case 1278: 36449 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 36450 //line sql-gen.y:7769 36451 { 36452 sqlVAL.union.val = tree.BackupDefaultDetails 36453 } 36454 case 1279: 36455 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 36456 //line sql-gen.y:7773 36457 { 36458 sqlVAL.union.val = tree.BackupSchemaDetails 36459 } 36460 case 1280: 36461 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 36462 //line sql-gen.y:7777 36463 { 36464 sqlVAL.union.val = tree.BackupFileDetails 36465 } 36466 case 1281: 36467 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 36468 //line sql-gen.y:7781 36469 { 36470 sqlVAL.union.val = tree.BackupRangeDetails 36471 } 36472 case 1282: 36473 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 36474 //line sql-gen.y:7785 36475 { 36476 sqlVAL.union.val = tree.BackupValidateDetails 36477 } 36478 case 1283: 36479 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 36480 //line sql-gen.y:7791 36481 { 36482 sqlVAL.union.val = sqlDollar[2].union.showBackupOptions() 36483 } 36484 case 1284: 36485 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 36486 //line sql-gen.y:7795 36487 { 36488 sqlVAL.union.val = sqlDollar[4].union.showBackupOptions() 36489 } 36490 case 1285: 36491 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 36492 //line sql-gen.y:7799 36493 { 36494 sqlVAL.union.val = &tree.ShowBackupOptions{} 36495 } 36496 case 1286: 36497 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 36498 //line sql-gen.y:7806 36499 { 36500 sqlVAL.union.val = sqlDollar[1].union.showBackupOptions() 36501 } 36502 case 1287: 36503 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 36504 //line sql-gen.y:7810 36505 { 36506 if err := sqlDollar[1].union.showBackupOptions().CombineWith(sqlDollar[3].union.showBackupOptions()); err != nil { 36507 return setErr(sqllex, err) 36508 } 36509 } 36510 case 1288: 36511 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 36512 //line sql-gen.y:7818 36513 { 36514 sqlVAL.union.val = &tree.ShowBackupOptions{AsJson: true} 36515 } 36516 case 1289: 36517 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 36518 //line sql-gen.y:7822 36519 { 36520 sqlVAL.union.val = &tree.ShowBackupOptions{CheckFiles: true} 36521 } 36522 case 1290: 36523 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 36524 //line sql-gen.y:7826 36525 { 36526 sqlVAL.union.val = &tree.ShowBackupOptions{SkipSize: true} 36527 } 36528 case 1291: 36529 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 36530 //line sql-gen.y:7830 36531 { 36532 36533 sqlVAL.union.val = &tree.ShowBackupOptions{SkipSize: true} 36534 } 36535 case 1292: 36536 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 36537 //line sql-gen.y:7835 36538 { 36539 sqlVAL.union.val = &tree.ShowBackupOptions{DebugIDs: true} 36540 } 36541 case 1293: 36542 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 36543 //line sql-gen.y:7839 36544 { 36545 sqlVAL.union.val = &tree.ShowBackupOptions{IncrementalStorage: sqlDollar[3].union.stringOrPlaceholderOptList()} 36546 } 36547 case 1294: 36548 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 36549 //line sql-gen.y:7843 36550 { 36551 sqlVAL.union.val = &tree.ShowBackupOptions{DecryptionKMSURI: sqlDollar[3].union.stringOrPlaceholderOptList()} 36552 } 36553 case 1295: 36554 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 36555 //line sql-gen.y:7847 36556 { 36557 sqlVAL.union.val = &tree.ShowBackupOptions{EncryptionPassphrase: sqlDollar[3].union.expr()} 36558 } 36559 case 1296: 36560 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 36561 //line sql-gen.y:7851 36562 { 36563 sqlVAL.union.val = &tree.ShowBackupOptions{Privileges: true} 36564 } 36565 case 1297: 36566 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 36567 //line sql-gen.y:7855 36568 { 36569 sqlVAL.union.val = &tree.ShowBackupOptions{EncryptionInfoDir: sqlDollar[3].union.expr()} 36570 } 36571 case 1298: 36572 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 36573 //line sql-gen.y:7859 36574 { 36575 sqlVAL.union.val = &tree.ShowBackupOptions{DebugMetadataSST: true} 36576 } 36577 case 1299: 36578 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 36579 //line sql-gen.y:7865 36580 { 36581 sqlVAL.union.val = sqlDollar[2].union.showBackupOptions() 36582 } 36583 case 1300: 36584 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 36585 //line sql-gen.y:7869 36586 { 36587 sqlVAL.union.val = sqlDollar[4].union.showBackupOptions() 36588 } 36589 case 1301: 36590 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 36591 //line sql-gen.y:7873 36592 { 36593 sqlVAL.union.val = &tree.ShowBackupOptions{} 36594 } 36595 case 1302: 36596 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 36597 //line sql-gen.y:7880 36598 { 36599 sqlVAL.union.val = sqlDollar[1].union.showBackupOptions() 36600 } 36601 case 1303: 36602 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 36603 //line sql-gen.y:7884 36604 { 36605 if err := sqlDollar[1].union.showBackupOptions().CombineWith(sqlDollar[3].union.showBackupOptions()); err != nil { 36606 return setErr(sqllex, err) 36607 } 36608 } 36609 case 1304: 36610 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 36611 //line sql-gen.y:7892 36612 { 36613 sqlVAL.union.val = &tree.ShowBackupOptions{CheckConnectionTransferSize: sqlDollar[3].union.expr()} 36614 } 36615 case 1305: 36616 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 36617 //line sql-gen.y:7896 36618 { 36619 sqlVAL.union.val = &tree.ShowBackupOptions{CheckConnectionDuration: sqlDollar[3].union.expr()} 36620 } 36621 case 1306: 36622 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 36623 //line sql-gen.y:7900 36624 { 36625 sqlVAL.union.val = &tree.ShowBackupOptions{CheckConnectionConcurrency: sqlDollar[3].union.expr()} 36626 } 36627 case 1307: 36628 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 36629 //line sql-gen.y:7912 36630 { 36631 sqlVAL.union.val = &tree.ShowClusterSetting{Name: strings.Join(sqlDollar[4].union.strs(), ".")} 36632 } 36633 case 1308: 36634 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 36635 //line sql-gen.y:7916 36636 { 36637 sqlVAL.union.val = &tree.ShowClusterSettingList{All: true} 36638 } 36639 case 1309: 36640 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 36641 //line sql-gen.y:7919 36642 { 36643 return helpWith(sqllex, "SHOW CLUSTER SETTING") 36644 } 36645 case 1310: 36646 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 36647 //line sql-gen.y:7921 36648 { 36649 sqlVAL.union.val = &tree.ShowClusterSettingList{All: true} 36650 } 36651 case 1311: 36652 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 36653 //line sql-gen.y:7924 36654 { 36655 return helpWith(sqllex, "SHOW CLUSTER SETTING") 36656 } 36657 case 1312: 36658 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 36659 //line sql-gen.y:7926 36660 { 36661 sqlVAL.union.val = &tree.ShowClusterSettingList{} 36662 } 36663 case 1313: 36664 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 36665 //line sql-gen.y:7930 36666 { 36667 sqlVAL.union.val = &tree.ShowClusterSettingList{} 36668 } 36669 case 1314: 36670 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 36671 //line sql-gen.y:7933 36672 { 36673 return helpWith(sqllex, "SHOW CLUSTER SETTING") 36674 } 36675 case 1315: 36676 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 36677 //line sql-gen.y:7937 36678 { 36679 36680 sqlVAL.union.val = sqlDollar[1].union.stmt() 36681 } 36682 case 1316: 36683 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 36684 //line sql-gen.y:7942 36685 { 36686 36687 switch t := sqlDollar[1].union.stmt().(type) { 36688 case *tree.ShowClusterSetting: 36689 sqlVAL.union.val = &tree.ShowTenantClusterSetting{ 36690 ShowClusterSetting: t, 36691 TenantSpec: sqlDollar[4].union.tenantSpec(), 36692 } 36693 case *tree.ShowClusterSettingList: 36694 sqlVAL.union.val = &tree.ShowTenantClusterSettingList{ 36695 ShowClusterSettingList: t, 36696 TenantSpec: sqlDollar[4].union.tenantSpec(), 36697 } 36698 } 36699 } 36700 case 1317: 36701 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 36702 //line sql-gen.y:7957 36703 { 36704 return helpWith(sqllex, "SHOW CLUSTER SETTING") 36705 } 36706 case 1318: 36707 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 36708 //line sql-gen.y:7965 36709 { 36710 sqlVAL.union.val = &tree.ShowColumns{Table: sqlDollar[4].union.unresolvedObjectName(), WithComment: sqlDollar[5].union.bool()} 36711 } 36712 case 1319: 36713 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 36714 //line sql-gen.y:7968 36715 { 36716 return helpWith(sqllex, "SHOW COLUMNS") 36717 } 36718 case 1320: 36719 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 36720 //line sql-gen.y:7976 36721 { 36722 sqlVAL.union.val = &tree.ShowPartitions{IsTable: true, Table: sqlDollar[5].union.unresolvedObjectName()} 36723 } 36724 case 1321: 36725 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 36726 //line sql-gen.y:7980 36727 { 36728 sqlVAL.union.val = &tree.ShowPartitions{IsDB: true, Database: tree.Name(sqlDollar[5].str)} 36729 } 36730 case 1322: 36731 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 36732 //line sql-gen.y:7984 36733 { 36734 sqlVAL.union.val = &tree.ShowPartitions{IsIndex: true, Index: sqlDollar[5].union.tableIndexName()} 36735 } 36736 case 1323: 36737 sqlDollar = sqlS[sqlpt-7 : sqlpt+1] 36738 //line sql-gen.y:7988 36739 { 36740 sqlVAL.union.val = &tree.ShowPartitions{IsTable: true, Table: sqlDollar[5].union.unresolvedObjectName()} 36741 } 36742 case 1324: 36743 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 36744 //line sql-gen.y:7991 36745 { 36746 return helpWith(sqllex, "SHOW PARTITIONS") 36747 } 36748 case 1325: 36749 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 36750 //line sql-gen.y:7999 36751 { 36752 sqlVAL.union.val = &tree.ShowDatabases{WithComment: sqlDollar[3].union.bool()} 36753 } 36754 case 1326: 36755 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 36756 //line sql-gen.y:8002 36757 { 36758 return helpWith(sqllex, "SHOW DATABASES") 36759 } 36760 case 1327: 36761 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 36762 //line sql-gen.y:8009 36763 { 36764 sqlVAL.union.val = &tree.ShowDefaultPrivileges{ 36765 Roles: sqlDollar[4].union.roleSpecList(), 36766 Schema: tree.Name(sqlDollar[5].str), 36767 } 36768 } 36769 case 1328: 36770 sqlDollar = sqlS[sqlpt-7 : sqlpt+1] 36771 //line sql-gen.y:8015 36772 { 36773 sqlVAL.union.val = &tree.ShowDefaultPrivileges{ 36774 Roles: sqlDollar[6].union.roleSpecList(), 36775 ForGrantee: true, 36776 Schema: tree.Name(sqlDollar[7].str), 36777 } 36778 } 36779 case 1329: 36780 sqlDollar = sqlS[sqlpt-7 : sqlpt+1] 36781 //line sql-gen.y:8022 36782 { 36783 sqlVAL.union.val = &tree.ShowDefaultPrivileges{ 36784 ForAllRoles: true, 36785 Schema: tree.Name(sqlDollar[7].str), 36786 } 36787 } 36788 case 1330: 36789 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 36790 //line sql-gen.y:8028 36791 { 36792 return helpWith(sqllex, "SHOW DEFAULT PRIVILEGES") 36793 } 36794 case 1331: 36795 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 36796 //line sql-gen.y:8035 36797 { 36798 sqlVAL.union.val = &tree.ShowEnums{} 36799 } 36800 case 1332: 36801 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 36802 //line sql-gen.y:8039 36803 { 36804 sqlVAL.union.val = &tree.ShowEnums{ObjectNamePrefix: tree.ObjectNamePrefix{ 36805 CatalogName: tree.Name(sqlDollar[4].str), 36806 ExplicitCatalog: true, 36807 SchemaName: tree.Name(sqlDollar[6].str), 36808 ExplicitSchema: true, 36809 }, 36810 } 36811 } 36812 case 1333: 36813 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 36814 //line sql-gen.y:8049 36815 { 36816 sqlVAL.union.val = &tree.ShowEnums{ObjectNamePrefix: tree.ObjectNamePrefix{ 36817 36818 SchemaName: tree.Name(sqlDollar[4].str), 36819 ExplicitSchema: true, 36820 }, 36821 } 36822 } 36823 case 1334: 36824 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 36825 //line sql-gen.y:8058 36826 { 36827 return helpWith(sqllex, "SHOW ENUMS") 36828 } 36829 case 1335: 36830 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 36831 //line sql-gen.y:8065 36832 { 36833 sqlVAL.union.val = &tree.ShowTypes{} 36834 } 36835 case 1336: 36836 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 36837 //line sql-gen.y:8068 36838 { 36839 return helpWith(sqllex, "SHOW TYPES") 36840 } 36841 case 1337: 36842 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 36843 //line sql-gen.y:8081 36844 { 36845 lst := sqlDollar[3].union.grantTargetListPtr() 36846 if lst != nil && lst.ForRoles { 36847 sqlVAL.union.val = &tree.ShowRoleGrants{Roles: lst.Roles, Grantees: sqlDollar[4].union.roleSpecList()} 36848 } else { 36849 sqlVAL.union.val = &tree.ShowGrants{Targets: lst, Grantees: sqlDollar[4].union.roleSpecList()} 36850 } 36851 } 36852 case 1338: 36853 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 36854 //line sql-gen.y:8090 36855 { 36856 sqlVAL.union.val = &tree.ShowGrants{ 36857 Targets: &tree.GrantTargetList{System: true}, 36858 Grantees: sqlDollar[4].union.roleSpecList(), 36859 } 36860 } 36861 case 1339: 36862 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 36863 //line sql-gen.y:8096 36864 { 36865 return helpWith(sqllex, "SHOW GRANTS") 36866 } 36867 case 1340: 36868 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 36869 //line sql-gen.y:8104 36870 { 36871 sqlVAL.union.val = &tree.ShowIndexes{Table: sqlDollar[4].union.unresolvedObjectName(), WithComment: sqlDollar[5].union.bool()} 36872 } 36873 case 1341: 36874 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 36875 //line sql-gen.y:8107 36876 { 36877 return helpWith(sqllex, "SHOW INDEXES") 36878 } 36879 case 1342: 36880 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 36881 //line sql-gen.y:8109 36882 { 36883 sqlVAL.union.val = &tree.ShowDatabaseIndexes{Database: tree.Name(sqlDollar[5].str), WithComment: sqlDollar[6].union.bool()} 36884 } 36885 case 1343: 36886 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 36887 //line sql-gen.y:8113 36888 { 36889 sqlVAL.union.val = &tree.ShowIndexes{Table: sqlDollar[4].union.unresolvedObjectName(), WithComment: sqlDollar[5].union.bool()} 36890 } 36891 case 1344: 36892 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 36893 //line sql-gen.y:8117 36894 { 36895 sqlVAL.union.val = &tree.ShowDatabaseIndexes{Database: tree.Name(sqlDollar[5].str), WithComment: sqlDollar[6].union.bool()} 36896 } 36897 case 1345: 36898 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 36899 //line sql-gen.y:8120 36900 { 36901 return helpWith(sqllex, "SHOW INDEXES") 36902 } 36903 case 1346: 36904 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 36905 //line sql-gen.y:8122 36906 { 36907 sqlVAL.union.val = &tree.ShowIndexes{Table: sqlDollar[4].union.unresolvedObjectName(), WithComment: sqlDollar[5].union.bool()} 36908 } 36909 case 1347: 36910 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 36911 //line sql-gen.y:8126 36912 { 36913 sqlVAL.union.val = &tree.ShowDatabaseIndexes{Database: tree.Name(sqlDollar[5].str), WithComment: sqlDollar[6].union.bool()} 36914 } 36915 case 1348: 36916 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 36917 //line sql-gen.y:8129 36918 { 36919 return helpWith(sqllex, "SHOW INDEXES") 36920 } 36921 case 1349: 36922 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 36923 //line sql-gen.y:8143 36924 { 36925 sqlVAL.union.val = &tree.ShowCommitTimestamp{} 36926 } 36927 case 1350: 36928 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 36929 //line sql-gen.y:8153 36930 { 36931 sqlVAL.union.val = &tree.ShowConstraints{Table: sqlDollar[4].union.unresolvedObjectName(), WithComment: sqlDollar[5].union.bool()} 36932 } 36933 case 1351: 36934 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 36935 //line sql-gen.y:8156 36936 { 36937 return helpWith(sqllex, "SHOW CONSTRAINTS") 36938 } 36939 case 1352: 36940 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 36941 //line sql-gen.y:8158 36942 { 36943 sqlVAL.union.val = &tree.ShowConstraints{Table: sqlDollar[4].union.unresolvedObjectName(), WithComment: sqlDollar[5].union.bool()} 36944 } 36945 case 1353: 36946 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 36947 //line sql-gen.y:8161 36948 { 36949 return helpWith(sqllex, "SHOW CONSTRAINTS") 36950 } 36951 case 1354: 36952 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 36953 //line sql-gen.y:8169 36954 { 36955 sqlVAL.union.val = &tree.ShowQueries{All: false, Cluster: sqlDollar[2].union.bool()} 36956 } 36957 case 1355: 36958 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 36959 //line sql-gen.y:8172 36960 { 36961 return helpWith(sqllex, "SHOW STATEMENTS") 36962 } 36963 case 1356: 36964 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 36965 //line sql-gen.y:8174 36966 { 36967 sqlVAL.union.val = &tree.ShowQueries{All: true, Cluster: sqlDollar[3].union.bool()} 36968 } 36969 case 1357: 36970 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 36971 //line sql-gen.y:8177 36972 { 36973 return helpWith(sqllex, "SHOW STATEMENTS") 36974 } 36975 case 1358: 36976 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 36977 //line sql-gen.y:8181 36978 { 36979 sqlVAL.union.val = true 36980 } 36981 case 1359: 36982 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 36983 //line sql-gen.y:8183 36984 { 36985 sqlVAL.union.val = true 36986 } 36987 case 1360: 36988 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 36989 //line sql-gen.y:8185 36990 { 36991 sqlVAL.union.val = false 36992 } 36993 case 1363: 36994 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 36995 //line sql-gen.y:8202 36996 { 36997 sqlVAL.union.val = &tree.ShowJobs{Automatic: true} 36998 } 36999 case 1364: 37000 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 37001 //line sql-gen.y:8206 37002 { 37003 sqlVAL.union.val = &tree.ShowJobs{ 37004 Automatic: false, 37005 } 37006 } 37007 case 1365: 37008 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 37009 //line sql-gen.y:8212 37010 { 37011 sqlVAL.union.val = &tree.ShowJobs{ 37012 Automatic: false, 37013 Options: sqlDollar[4].union.showJobOptions(), 37014 } 37015 } 37016 case 1366: 37017 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 37018 //line sql-gen.y:8219 37019 { 37020 sqlVAL.union.val = &tree.ShowChangefeedJobs{} 37021 } 37022 case 1367: 37023 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 37024 //line sql-gen.y:8222 37025 { 37026 return helpWith(sqllex, "SHOW JOBS") 37027 } 37028 case 1368: 37029 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 37030 //line sql-gen.y:8223 37031 { 37032 return helpWith(sqllex, "SHOW JOBS") 37033 } 37034 case 1369: 37035 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 37036 //line sql-gen.y:8224 37037 { 37038 return helpWith(sqllex, "SHOW JOBS") 37039 } 37040 case 1370: 37041 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 37042 //line sql-gen.y:8226 37043 { 37044 sqlVAL.union.val = &tree.ShowJobs{Jobs: sqlDollar[3].union.slct()} 37045 } 37046 case 1371: 37047 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 37048 //line sql-gen.y:8230 37049 { 37050 sqlVAL.union.val = &tree.ShowJobs{ 37051 Jobs: sqlDollar[3].union.slct(), 37052 Options: sqlDollar[5].union.showJobOptions(), 37053 } 37054 } 37055 case 1372: 37056 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 37057 //line sql-gen.y:8237 37058 { 37059 sqlVAL.union.val = &tree.ShowJobs{Jobs: sqlDollar[5].union.slct(), Block: true} 37060 } 37061 case 1373: 37062 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 37063 //line sql-gen.y:8241 37064 { 37065 sqlVAL.union.val = &tree.ShowJobs{Schedules: sqlDollar[3].union.slct()} 37066 } 37067 case 1374: 37068 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 37069 //line sql-gen.y:8245 37070 { 37071 sqlVAL.union.val = &tree.ShowChangefeedJobs{Jobs: sqlDollar[4].union.slct()} 37072 } 37073 case 1375: 37074 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 37075 //line sql-gen.y:8248 37076 { 37077 return helpWith(sqllex, "SHOW JOBS") 37078 } 37079 case 1376: 37080 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 37081 //line sql-gen.y:8250 37082 { 37083 sqlVAL.union.val = &tree.ShowJobs{ 37084 Jobs: &tree.Select{ 37085 Select: &tree.ValuesClause{Rows: []tree.Exprs{tree.Exprs{sqlDollar[3].union.expr()}}}, 37086 }, 37087 } 37088 } 37089 case 1377: 37090 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 37091 //line sql-gen.y:8258 37092 { 37093 sqlVAL.union.val = &tree.ShowJobs{ 37094 Jobs: &tree.Select{ 37095 Select: &tree.ValuesClause{Rows: []tree.Exprs{tree.Exprs{sqlDollar[3].union.expr()}}}, 37096 }, 37097 Options: sqlDollar[5].union.showJobOptions(), 37098 } 37099 } 37100 case 1378: 37101 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 37102 //line sql-gen.y:8267 37103 { 37104 sqlVAL.union.val = &tree.ShowChangefeedJobs{ 37105 Jobs: &tree.Select{ 37106 Select: &tree.ValuesClause{Rows: []tree.Exprs{tree.Exprs{sqlDollar[4].union.expr()}}}, 37107 }, 37108 } 37109 } 37110 case 1379: 37111 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 37112 //line sql-gen.y:8275 37113 { 37114 sqlVAL.union.val = &tree.ShowJobs{ 37115 Jobs: &tree.Select{ 37116 Select: &tree.ValuesClause{Rows: []tree.Exprs{tree.Exprs{sqlDollar[5].union.expr()}}}, 37117 }, 37118 Block: true, 37119 } 37120 } 37121 case 1380: 37122 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 37123 //line sql-gen.y:8283 37124 { 37125 return helpWith(sqllex, "SHOW JOBS") 37126 } 37127 case 1381: 37128 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 37129 //line sql-gen.y:8284 37130 { 37131 return helpWith(sqllex, "SHOW JOBS") 37132 } 37133 case 1382: 37134 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 37135 //line sql-gen.y:8290 37136 { 37137 sqlVAL.union.val = sqlDollar[1].union.showJobOptions() 37138 } 37139 case 1383: 37140 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 37141 //line sql-gen.y:8294 37142 { 37143 if err := sqlDollar[1].union.showJobOptions().CombineWith(sqlDollar[3].union.showJobOptions()); err != nil { 37144 return setErr(sqllex, err) 37145 } 37146 } 37147 case 1384: 37148 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 37149 //line sql-gen.y:8303 37150 { 37151 sqlVAL.union.val = &tree.ShowJobOptions{ 37152 ExecutionDetails: true, 37153 } 37154 } 37155 case 1385: 37156 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 37157 //line sql-gen.y:8317 37158 { 37159 sqlVAL.union.val = &tree.ShowSchedules{ 37160 WhichSchedules: tree.SpecifiedSchedules, 37161 ExecutorType: sqlDollar[3].union.executorType(), 37162 } 37163 } 37164 case 1386: 37165 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 37166 //line sql-gen.y:8323 37167 { 37168 return helpWith(sqllex, "SHOW SCHEDULES") 37169 } 37170 case 1387: 37171 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 37172 //line sql-gen.y:8325 37173 { 37174 sqlVAL.union.val = &tree.ShowSchedules{ 37175 WhichSchedules: sqlDollar[2].union.scheduleState(), 37176 ExecutorType: sqlDollar[4].union.executorType(), 37177 } 37178 } 37179 case 1388: 37180 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 37181 //line sql-gen.y:8331 37182 { 37183 return helpWith(sqllex, "SHOW SCHEDULES") 37184 } 37185 case 1389: 37186 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 37187 //line sql-gen.y:8333 37188 { 37189 sqlVAL.union.val = &tree.ShowSchedules{ 37190 WhichSchedules: tree.SpecifiedSchedules, 37191 ScheduleID: sqlDollar[3].union.expr(), 37192 } 37193 } 37194 case 1390: 37195 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 37196 //line sql-gen.y:8339 37197 { 37198 return helpWith(sqllex, "SHOW SCHEDULES") 37199 } 37200 case 1391: 37201 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 37202 //line sql-gen.y:8343 37203 { 37204 sqlVAL.union.val = tree.ActiveSchedules 37205 } 37206 case 1392: 37207 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 37208 //line sql-gen.y:8347 37209 { 37210 sqlVAL.union.val = tree.PausedSchedules 37211 } 37212 case 1393: 37213 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 37214 //line sql-gen.y:8353 37215 { 37216 sqlVAL.union.val = tree.InvalidExecutor 37217 } 37218 case 1394: 37219 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 37220 //line sql-gen.y:8357 37221 { 37222 sqlVAL.union.val = tree.ScheduledBackupExecutor 37223 } 37224 case 1395: 37225 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 37226 //line sql-gen.y:8361 37227 { 37228 sqlVAL.union.val = tree.ScheduledSQLStatsCompactionExecutor 37229 } 37230 case 1396: 37231 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 37232 //line sql-gen.y:8365 37233 { 37234 sqlVAL.union.val = tree.ScheduledChangefeedExecutor 37235 } 37236 case 1397: 37237 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 37238 //line sql-gen.y:8376 37239 { 37240 sqlVAL.union.val = &tree.ShowTraceForSession{TraceType: tree.ShowTraceRaw, Compact: sqlDollar[2].union.bool()} 37241 } 37242 case 1398: 37243 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 37244 //line sql-gen.y:8379 37245 { 37246 return helpWith(sqllex, "SHOW TRACE") 37247 } 37248 case 1399: 37249 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 37250 //line sql-gen.y:8381 37251 { 37252 sqlVAL.union.val = &tree.ShowTraceForSession{TraceType: tree.ShowTraceKV, Compact: sqlDollar[2].union.bool()} 37253 } 37254 case 1400: 37255 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 37256 //line sql-gen.y:8384 37257 { 37258 return helpWith(sqllex, "SHOW TRACE") 37259 } 37260 case 1401: 37261 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 37262 //line sql-gen.y:8386 37263 { 37264 37265 sqlVAL.union.val = &tree.ShowTraceForSession{TraceType: tree.ShowTraceReplica, Compact: sqlDollar[2].union.bool()} 37266 } 37267 case 1402: 37268 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 37269 //line sql-gen.y:8390 37270 { 37271 return helpWith(sqllex, "SHOW TRACE") 37272 } 37273 case 1403: 37274 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 37275 //line sql-gen.y:8393 37276 { 37277 sqlVAL.union.val = true 37278 } 37279 case 1404: 37280 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 37281 //line sql-gen.y:8394 37282 { 37283 sqlVAL.union.val = false 37284 } 37285 case 1405: 37286 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 37287 //line sql-gen.y:8402 37288 { 37289 sqlVAL.union.val = &tree.ShowSessions{Cluster: sqlDollar[2].union.bool()} 37290 } 37291 case 1406: 37292 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 37293 //line sql-gen.y:8405 37294 { 37295 return helpWith(sqllex, "SHOW SESSIONS") 37296 } 37297 case 1407: 37298 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 37299 //line sql-gen.y:8407 37300 { 37301 sqlVAL.union.val = &tree.ShowSessions{All: true, Cluster: sqlDollar[3].union.bool()} 37302 } 37303 case 1408: 37304 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 37305 //line sql-gen.y:8410 37306 { 37307 return helpWith(sqllex, "SHOW SESSIONS") 37308 } 37309 case 1409: 37310 sqlDollar = sqlS[sqlpt-7 : sqlpt+1] 37311 //line sql-gen.y:8418 37312 { 37313 sqlVAL.union.val = &tree.ShowTables{ObjectNamePrefix: tree.ObjectNamePrefix{ 37314 CatalogName: tree.Name(sqlDollar[4].str), 37315 ExplicitCatalog: true, 37316 SchemaName: tree.Name(sqlDollar[6].str), 37317 ExplicitSchema: true, 37318 }, 37319 WithComment: sqlDollar[7].union.bool()} 37320 } 37321 case 1410: 37322 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 37323 //line sql-gen.y:8428 37324 { 37325 sqlVAL.union.val = &tree.ShowTables{ObjectNamePrefix: tree.ObjectNamePrefix{ 37326 37327 SchemaName: tree.Name(sqlDollar[4].str), 37328 ExplicitSchema: true, 37329 }, 37330 WithComment: sqlDollar[5].union.bool()} 37331 } 37332 case 1411: 37333 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 37334 //line sql-gen.y:8438 37335 { 37336 sqlVAL.union.val = &tree.ShowTables{WithComment: sqlDollar[3].union.bool()} 37337 } 37338 case 1412: 37339 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 37340 //line sql-gen.y:8441 37341 { 37342 return helpWith(sqllex, "SHOW TABLES") 37343 } 37344 case 1413: 37345 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 37346 //line sql-gen.y:8448 37347 { 37348 sqlVAL.union.val = &tree.ShowRoutines{ObjectNamePrefix: tree.ObjectNamePrefix{ 37349 CatalogName: tree.Name(sqlDollar[4].str), 37350 ExplicitCatalog: true, 37351 SchemaName: tree.Name(sqlDollar[6].str), 37352 ExplicitSchema: true, 37353 }} 37354 } 37355 case 1414: 37356 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 37357 //line sql-gen.y:8457 37358 { 37359 sqlVAL.union.val = &tree.ShowRoutines{ObjectNamePrefix: tree.ObjectNamePrefix{ 37360 37361 SchemaName: tree.Name(sqlDollar[4].str), 37362 ExplicitSchema: true, 37363 }} 37364 } 37365 case 1415: 37366 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 37367 //line sql-gen.y:8466 37368 { 37369 sqlVAL.union.val = &tree.ShowRoutines{} 37370 } 37371 case 1416: 37372 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 37373 //line sql-gen.y:8469 37374 { 37375 return helpWith(sqllex, "SHOW FUNCTIONS") 37376 } 37377 case 1417: 37378 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 37379 //line sql-gen.y:8476 37380 { 37381 sqlVAL.union.val = &tree.ShowRoutines{ObjectNamePrefix: tree.ObjectNamePrefix{ 37382 CatalogName: tree.Name(sqlDollar[4].str), 37383 ExplicitCatalog: true, 37384 SchemaName: tree.Name(sqlDollar[6].str), 37385 ExplicitSchema: true, 37386 }, Procedure: true} 37387 } 37388 case 1418: 37389 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 37390 //line sql-gen.y:8485 37391 { 37392 sqlVAL.union.val = &tree.ShowRoutines{ObjectNamePrefix: tree.ObjectNamePrefix{ 37393 37394 SchemaName: tree.Name(sqlDollar[4].str), 37395 ExplicitSchema: true, 37396 }, Procedure: true} 37397 } 37398 case 1419: 37399 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 37400 //line sql-gen.y:8494 37401 { 37402 sqlVAL.union.val = &tree.ShowRoutines{Procedure: true} 37403 } 37404 case 1420: 37405 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 37406 //line sql-gen.y:8497 37407 { 37408 return helpWith(sqllex, "SHOW PROCEDURES") 37409 } 37410 case 1421: 37411 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 37412 //line sql-gen.y:8504 37413 { 37414 sqlVAL.union.val = &tree.ShowTransactions{Cluster: sqlDollar[2].union.bool()} 37415 } 37416 case 1422: 37417 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 37418 //line sql-gen.y:8507 37419 { 37420 return helpWith(sqllex, "SHOW TRANSACTIONS") 37421 } 37422 case 1423: 37423 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 37424 //line sql-gen.y:8509 37425 { 37426 sqlVAL.union.val = &tree.ShowTransactions{All: true, Cluster: sqlDollar[3].union.bool()} 37427 } 37428 case 1424: 37429 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 37430 //line sql-gen.y:8512 37431 { 37432 return helpWith(sqllex, "SHOW TRANSACTIONS") 37433 } 37434 case 1425: 37435 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 37436 //line sql-gen.y:8515 37437 { 37438 sqlVAL.union.val = true 37439 } 37440 case 1426: 37441 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 37442 //line sql-gen.y:8516 37443 { 37444 sqlVAL.union.val = false 37445 } 37446 case 1427: 37447 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 37448 //line sql-gen.y:8523 37449 { 37450 sqlVAL.union.val = &tree.ShowSchemas{Database: tree.Name(sqlDollar[4].str)} 37451 } 37452 case 1428: 37453 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 37454 //line sql-gen.y:8527 37455 { 37456 sqlVAL.union.val = &tree.ShowSchemas{} 37457 } 37458 case 1429: 37459 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 37460 //line sql-gen.y:8530 37461 { 37462 return helpWith(sqllex, "SHOW SCHEMAS") 37463 } 37464 case 1430: 37465 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 37466 //line sql-gen.y:8537 37467 { 37468 sqlVAL.union.val = &tree.ShowSequences{Database: tree.Name(sqlDollar[4].str)} 37469 } 37470 case 1431: 37471 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 37472 //line sql-gen.y:8541 37473 { 37474 sqlVAL.union.val = &tree.ShowSequences{} 37475 } 37476 case 1432: 37477 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 37478 //line sql-gen.y:8544 37479 { 37480 return helpWith(sqllex, "SHOW SEQUENCES") 37481 } 37482 case 1433: 37483 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 37484 //line sql-gen.y:8551 37485 { 37486 37487 sqlVAL.union.val = &tree.ShowSyntax{Statement: sqlDollar[3].str} 37488 } 37489 case 1434: 37490 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 37491 //line sql-gen.y:8555 37492 { 37493 return helpWith(sqllex, "SHOW SYNTAX") 37494 } 37495 case 1435: 37496 sqlDollar = sqlS[sqlpt-7 : sqlpt+1] 37497 //line sql-gen.y:8559 37498 { 37499 37500 sqlVAL.union.val = &tree.ShowCompletions{ 37501 Statement: tree.NewStrVal(sqlDollar[7].str), 37502 Offset: sqlDollar[5].union.numVal(), 37503 } 37504 } 37505 case 1436: 37506 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 37507 //line sql-gen.y:8569 37508 { 37509 37510 sqlVAL.union.val = &tree.ShowLastQueryStatistics{Columns: sqlDollar[5].union.nameList()} 37511 } 37512 case 1437: 37513 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 37514 //line sql-gen.y:8576 37515 { 37516 sqlVAL.union.val = sqlDollar[2].union.nameList() 37517 } 37518 case 1438: 37519 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 37520 //line sql-gen.y:8580 37521 { 37522 37523 sqlVAL.union.val = tree.ShowLastQueryStatisticsDefaultColumns 37524 } 37525 case 1439: 37526 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 37527 //line sql-gen.y:8591 37528 { 37529 sqlVAL.union.val = &tree.ShowSavepointStatus{} 37530 } 37531 case 1440: 37532 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 37533 //line sql-gen.y:8594 37534 { 37535 return helpWith(sqllex, "SHOW SAVEPOINT") 37536 } 37537 case 1441: 37538 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 37539 //line sql-gen.y:8602 37540 { 37541 37542 sqlVAL.union.val = &tree.ShowVar{Name: "transaction_isolation"} 37543 } 37544 case 1442: 37545 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 37546 //line sql-gen.y:8607 37547 { 37548 37549 sqlVAL.union.val = &tree.ShowVar{Name: "transaction_priority"} 37550 } 37551 case 1443: 37552 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 37553 //line sql-gen.y:8612 37554 { 37555 37556 sqlVAL.union.val = &tree.ShowTransactionStatus{} 37557 } 37558 case 1444: 37559 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 37560 //line sql-gen.y:8616 37561 { 37562 return helpWith(sqllex, "SHOW TRANSACTION") 37563 } 37564 case 1445: 37565 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 37566 //line sql-gen.y:8623 37567 { 37568 sqlVAL.union.val = &tree.ShowTransferState{TransferKey: tree.NewStrVal(sqlDollar[5].str)} 37569 } 37570 case 1446: 37571 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 37572 //line sql-gen.y:8627 37573 { 37574 sqlVAL.union.val = &tree.ShowTransferState{} 37575 } 37576 case 1447: 37577 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 37578 //line sql-gen.y:8630 37579 { 37580 return helpWith(sqllex, "SHOW TRANSFER") 37581 } 37582 case 1448: 37583 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 37584 //line sql-gen.y:8643 37585 { 37586 sqlVAL.union.val = &tree.ShowCreate{ 37587 Name: sqlDollar[3].union.unresolvedObjectName(), FmtOpt: sqlDollar[4].union.showCreateFormatOption(), 37588 } 37589 } 37590 case 1449: 37591 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 37592 //line sql-gen.y:8649 37593 { 37594 37595 sqlVAL.union.val = &tree.ShowCreate{ 37596 Mode: tree.ShowCreateModeTable, 37597 Name: sqlDollar[4].union.unresolvedObjectName(), 37598 FmtOpt: sqlDollar[5].union.showCreateFormatOption(), 37599 } 37600 } 37601 case 1450: 37602 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 37603 //line sql-gen.y:8658 37604 { 37605 37606 sqlVAL.union.val = &tree.ShowCreate{ 37607 Mode: tree.ShowCreateModeView, 37608 Name: sqlDollar[4].union.unresolvedObjectName(), 37609 FmtOpt: sqlDollar[5].union.showCreateFormatOption(), 37610 } 37611 } 37612 case 1451: 37613 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 37614 //line sql-gen.y:8667 37615 { 37616 37617 sqlVAL.union.val = &tree.ShowCreate{Mode: tree.ShowCreateModeSequence, Name: sqlDollar[4].union.unresolvedObjectName()} 37618 } 37619 case 1452: 37620 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 37621 //line sql-gen.y:8672 37622 { 37623 37624 sqlVAL.union.val = &tree.ShowCreate{Mode: tree.ShowCreateModeDatabase, Name: sqlDollar[4].union.unresolvedObjectName()} 37625 } 37626 case 1453: 37627 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 37628 //line sql-gen.y:8677 37629 { 37630 37631 sqlVAL.union.val = &tree.ShowCreate{Mode: tree.ShowCreateModeIndexes, Name: sqlDollar[5].union.unresolvedObjectName()} 37632 } 37633 case 1454: 37634 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 37635 //line sql-gen.y:8682 37636 { 37637 37638 sqlVAL.union.val = &tree.ShowCreate{Mode: tree.ShowCreateModeSecondaryIndexes, Name: sqlDollar[6].union.unresolvedObjectName()} 37639 } 37640 case 1455: 37641 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 37642 //line sql-gen.y:8687 37643 { 37644 37645 sqlVAL.union.val = &tree.ShowCreateRoutine{ 37646 Name: tree.ResolvableFunctionReference{ 37647 FunctionReference: sqlDollar[4].union.unresolvedObjectName().ToUnresolvedName(), 37648 }, 37649 } 37650 } 37651 case 1456: 37652 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 37653 //line sql-gen.y:8696 37654 { 37655 37656 sqlVAL.union.val = &tree.ShowCreateRoutine{ 37657 Name: tree.ResolvableFunctionReference{ 37658 FunctionReference: sqlDollar[4].union.unresolvedObjectName().ToUnresolvedName(), 37659 }, 37660 Procedure: true, 37661 } 37662 } 37663 case 1457: 37664 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 37665 //line sql-gen.y:8706 37666 { 37667 sqlVAL.union.val = &tree.ShowCreateAllSchemas{} 37668 } 37669 case 1458: 37670 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 37671 //line sql-gen.y:8710 37672 { 37673 sqlVAL.union.val = &tree.ShowCreateAllTables{} 37674 } 37675 case 1459: 37676 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 37677 //line sql-gen.y:8714 37678 { 37679 sqlVAL.union.val = &tree.ShowCreateAllTypes{} 37680 } 37681 case 1460: 37682 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 37683 //line sql-gen.y:8717 37684 { 37685 return helpWith(sqllex, "SHOW CREATE") 37686 } 37687 case 1461: 37688 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 37689 //line sql-gen.y:8721 37690 { 37691 sqlVAL.union.val = tree.ShowCreateFormatOptionNone 37692 } 37693 case 1462: 37694 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 37695 //line sql-gen.y:8725 37696 { 37697 sqlVAL.union.val = tree.ShowCreateFormatOptionRedactedValues 37698 } 37699 case 1463: 37700 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 37701 //line sql-gen.y:8737 37702 { 37703 sqlVAL.union.val = &tree.ShowCreateSchedules{} 37704 } 37705 case 1464: 37706 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 37707 //line sql-gen.y:8740 37708 { 37709 return helpWith(sqllex, "SHOW CREATE SCHEDULES") 37710 } 37711 case 1465: 37712 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 37713 //line sql-gen.y:8742 37714 { 37715 sqlVAL.union.val = &tree.ShowCreateSchedules{ScheduleID: sqlDollar[4].union.expr()} 37716 } 37717 case 1466: 37718 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 37719 //line sql-gen.y:8745 37720 { 37721 return helpWith(sqllex, "SHOW CREATE SCHEDULES") 37722 } 37723 case 1467: 37724 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 37725 //line sql-gen.y:8754 37726 { 37727 sqlVAL.union.val = &tree.ShowCreateExternalConnections{} 37728 } 37729 case 1468: 37730 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 37731 //line sql-gen.y:8757 37732 { 37733 return helpWith(sqllex, "SHOW CREATE EXTERNAL CONNECTIONS") 37734 } 37735 case 1469: 37736 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 37737 //line sql-gen.y:8759 37738 { 37739 sqlVAL.union.val = &tree.ShowCreateExternalConnections{ConnectionLabel: sqlDollar[5].union.expr()} 37740 } 37741 case 1470: 37742 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 37743 //line sql-gen.y:8762 37744 { 37745 return helpWith(sqllex, "SHOW CREATE EXTERNAL CONNECTIONS") 37746 } 37747 case 1471: 37748 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 37749 //line sql-gen.y:8770 37750 { 37751 sqlVAL.union.val = &tree.ShowUsers{} 37752 } 37753 case 1472: 37754 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 37755 //line sql-gen.y:8773 37756 { 37757 return helpWith(sqllex, "SHOW USERS") 37758 } 37759 case 1473: 37760 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 37761 //line sql-gen.y:8781 37762 { 37763 sqlVAL.union.val = &tree.ShowRoles{} 37764 } 37765 case 1474: 37766 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 37767 //line sql-gen.y:8784 37768 { 37769 return helpWith(sqllex, "SHOW ROLES") 37770 } 37771 case 1475: 37772 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 37773 //line sql-gen.y:8794 37774 { 37775 sqlVAL.union.val = &tree.ShowZoneConfig{ZoneSpecifier: tree.ZoneSpecifier{NamedZone: tree.UnrestrictedName(sqlDollar[6].str)}} 37776 } 37777 case 1476: 37778 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 37779 //line sql-gen.y:8798 37780 { 37781 sqlVAL.union.val = &tree.ShowZoneConfig{ZoneSpecifier: tree.ZoneSpecifier{Database: tree.Name(sqlDollar[6].str)}} 37782 } 37783 case 1477: 37784 sqlDollar = sqlS[sqlpt-7 : sqlpt+1] 37785 //line sql-gen.y:8802 37786 { 37787 name := sqlDollar[6].union.unresolvedObjectName().ToTableName() 37788 sqlVAL.union.val = &tree.ShowZoneConfig{ZoneSpecifier: tree.ZoneSpecifier{ 37789 TableOrIndex: tree.TableIndexName{Table: name}, 37790 Partition: tree.Name(sqlDollar[7].str), 37791 }} 37792 } 37793 case 1478: 37794 sqlDollar = sqlS[sqlpt-9 : sqlpt+1] 37795 //line sql-gen.y:8810 37796 { 37797 name := sqlDollar[9].union.unresolvedObjectName().ToTableName() 37798 sqlVAL.union.val = &tree.ShowZoneConfig{ZoneSpecifier: tree.ZoneSpecifier{ 37799 TableOrIndex: tree.TableIndexName{Table: name}, 37800 Partition: tree.Name(sqlDollar[6].str), 37801 }} 37802 } 37803 case 1479: 37804 sqlDollar = sqlS[sqlpt-7 : sqlpt+1] 37805 //line sql-gen.y:8818 37806 { 37807 sqlVAL.union.val = &tree.ShowZoneConfig{ZoneSpecifier: tree.ZoneSpecifier{ 37808 TableOrIndex: sqlDollar[6].union.tableIndexName(), 37809 Partition: tree.Name(sqlDollar[7].str), 37810 }} 37811 } 37812 case 1480: 37813 sqlDollar = sqlS[sqlpt-9 : sqlpt+1] 37814 //line sql-gen.y:8825 37815 { 37816 sqlVAL.union.val = &tree.ShowZoneConfig{ZoneSpecifier: tree.ZoneSpecifier{ 37817 TableOrIndex: sqlDollar[9].union.tableIndexName(), 37818 Partition: tree.Name(sqlDollar[6].str), 37819 }} 37820 } 37821 case 1481: 37822 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 37823 //line sql-gen.y:8831 37824 { 37825 return helpWith(sqllex, "SHOW ZONE CONFIGURATION") 37826 } 37827 case 1482: 37828 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 37829 //line sql-gen.y:8833 37830 { 37831 sqlVAL.union.val = &tree.ShowZoneConfig{} 37832 } 37833 case 1483: 37834 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 37835 //line sql-gen.y:8836 37836 { 37837 return helpWith(sqllex, "SHOW ZONE CONFIGURATION") 37838 } 37839 case 1484: 37840 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 37841 //line sql-gen.y:8838 37842 { 37843 sqlVAL.union.val = &tree.ShowZoneConfig{} 37844 } 37845 case 1485: 37846 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 37847 //line sql-gen.y:8841 37848 { 37849 return helpWith(sqllex, "SHOW ZONE CONFIGURATION") 37850 } 37851 case 1487: 37852 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 37853 //line sql-gen.y:8845 37854 { 37855 } 37856 case 1488: 37857 sqlDollar = sqlS[sqlpt-10 : sqlpt+1] 37858 //line sql-gen.y:8854 37859 { 37860 name := sqlDollar[5].union.unresolvedObjectName().ToTableName() 37861 sqlVAL.union.val = &tree.ShowRangeForRow{ 37862 Row: sqlDollar[9].union.exprs(), 37863 TableOrIndex: tree.TableIndexName{Table: name}, 37864 } 37865 } 37866 case 1489: 37867 sqlDollar = sqlS[sqlpt-10 : sqlpt+1] 37868 //line sql-gen.y:8862 37869 { 37870 sqlVAL.union.val = &tree.ShowRangeForRow{ 37871 Row: sqlDollar[9].union.exprs(), 37872 TableOrIndex: sqlDollar[5].union.tableIndexName(), 37873 } 37874 } 37875 case 1490: 37876 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 37877 //line sql-gen.y:8868 37878 { 37879 return helpWith(sqllex, "SHOW RANGE") 37880 } 37881 case 1491: 37882 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 37883 //line sql-gen.y:8892 37884 { 37885 sqlVAL.union.val = &tree.ShowRanges{Source: tree.ShowRangesIndex, TableOrIndex: sqlDollar[5].union.tableIndexName(), Options: sqlDollar[6].union.showRangesOpts()} 37886 } 37887 case 1492: 37888 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 37889 //line sql-gen.y:8896 37890 { 37891 name := sqlDollar[5].union.unresolvedObjectName().ToTableName() 37892 sqlVAL.union.val = &tree.ShowRanges{Source: tree.ShowRangesTable, TableOrIndex: tree.TableIndexName{Table: name}, Options: sqlDollar[6].union.showRangesOpts()} 37893 } 37894 case 1493: 37895 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 37896 //line sql-gen.y:8901 37897 { 37898 sqlVAL.union.val = &tree.ShowRanges{Source: tree.ShowRangesDatabase, DatabaseName: tree.Name(sqlDollar[5].str), Options: sqlDollar[6].union.showRangesOpts()} 37899 } 37900 case 1494: 37901 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 37902 //line sql-gen.y:8905 37903 { 37904 sqlVAL.union.val = &tree.ShowRanges{Source: tree.ShowRangesCurrentDatabase, Options: sqlDollar[5].union.showRangesOpts()} 37905 } 37906 case 1495: 37907 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 37908 //line sql-gen.y:8909 37909 { 37910 sqlVAL.union.val = &tree.ShowRanges{Source: tree.ShowRangesCurrentDatabase, Options: sqlDollar[3].union.showRangesOpts()} 37911 } 37912 case 1496: 37913 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 37914 //line sql-gen.y:8912 37915 { 37916 return helpWith(sqllex, "SHOW RANGES") 37917 } 37918 case 1497: 37919 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 37920 //line sql-gen.y:8914 37921 { 37922 sqlVAL.union.val = &tree.ShowRanges{Source: tree.ShowRangesCluster, Options: sqlDollar[4].union.showRangesOpts()} 37923 } 37924 case 1498: 37925 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 37926 //line sql-gen.y:8917 37927 { 37928 return helpWith(sqllex, "SHOW RANGES") 37929 } 37930 case 1499: 37931 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 37932 //line sql-gen.y:8921 37933 { 37934 sqlVAL.union.val = &tree.ShowRangesOptions{} 37935 } 37936 case 1500: 37937 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 37938 //line sql-gen.y:8923 37939 { 37940 sqlVAL.union.val = sqlDollar[2].union.showRangesOpts() 37941 } 37942 case 1501: 37943 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 37944 //line sql-gen.y:8926 37945 { 37946 sqlVAL.union.val = &tree.ShowRangesOptions{Mode: tree.ExpandTables} 37947 } 37948 case 1502: 37949 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 37950 //line sql-gen.y:8927 37951 { 37952 sqlVAL.union.val = &tree.ShowRangesOptions{Mode: tree.ExpandIndexes} 37953 } 37954 case 1503: 37955 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 37956 //line sql-gen.y:8928 37957 { 37958 sqlVAL.union.val = &tree.ShowRangesOptions{Details: true} 37959 } 37960 case 1504: 37961 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 37962 //line sql-gen.y:8929 37963 { 37964 sqlVAL.union.val = &tree.ShowRangesOptions{Keys: true} 37965 } 37966 case 1505: 37967 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 37968 //line sql-gen.y:8930 37969 { 37970 sqlVAL.union.val = &tree.ShowRangesOptions{Explain: true} 37971 } 37972 case 1506: 37973 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 37974 //line sql-gen.y:8932 37975 { 37976 o := sqlDollar[1].union.showRangesOpts() 37977 if o.Mode != 0 { 37978 return setErr(sqllex, errors.New("conflicting modes")) 37979 } 37980 o.Mode = tree.ExpandTables 37981 sqlVAL.union.val = o 37982 } 37983 case 1507: 37984 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 37985 //line sql-gen.y:8939 37986 { 37987 o := sqlDollar[1].union.showRangesOpts() 37988 if o.Mode != 0 { 37989 return setErr(sqllex, errors.New("conflicting modes")) 37990 } 37991 o.Mode = tree.ExpandIndexes 37992 sqlVAL.union.val = o 37993 } 37994 case 1508: 37995 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 37996 //line sql-gen.y:8946 37997 { 37998 o := sqlDollar[1].union.showRangesOpts() 37999 o.Details = true 38000 sqlVAL.union.val = o 38001 } 38002 case 1509: 38003 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 38004 //line sql-gen.y:8952 38005 { 38006 o := sqlDollar[1].union.showRangesOpts() 38007 o.Explain = true 38008 sqlVAL.union.val = o 38009 } 38010 case 1510: 38011 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 38012 //line sql-gen.y:8958 38013 { 38014 o := sqlDollar[1].union.showRangesOpts() 38015 o.Keys = true 38016 sqlVAL.union.val = o 38017 } 38018 case 1511: 38019 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 38020 //line sql-gen.y:8972 38021 { 38022 sqlVAL.union.val = &tree.ShowSurvivalGoal{} 38023 } 38024 case 1512: 38025 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 38026 //line sql-gen.y:8976 38027 { 38028 sqlVAL.union.val = &tree.ShowSurvivalGoal{ 38029 DatabaseName: tree.Name(sqlDollar[6].str), 38030 } 38031 } 38032 case 1513: 38033 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 38034 //line sql-gen.y:8992 38035 { 38036 sqlVAL.union.val = &tree.ShowRegions{ 38037 ShowRegionsFrom: tree.ShowRegionsFromCluster, 38038 } 38039 } 38040 case 1514: 38041 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 38042 //line sql-gen.y:8998 38043 { 38044 sqlVAL.union.val = &tree.ShowRegions{ 38045 ShowRegionsFrom: tree.ShowRegionsFromDatabase, 38046 } 38047 } 38048 case 1515: 38049 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 38050 //line sql-gen.y:9004 38051 { 38052 sqlVAL.union.val = &tree.ShowRegions{ 38053 ShowRegionsFrom: tree.ShowRegionsFromAllDatabases, 38054 } 38055 } 38056 case 1516: 38057 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 38058 //line sql-gen.y:9010 38059 { 38060 sqlVAL.union.val = &tree.ShowRegions{ 38061 ShowRegionsFrom: tree.ShowRegionsFromDatabase, 38062 DatabaseName: tree.Name(sqlDollar[5].str), 38063 } 38064 } 38065 case 1517: 38066 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 38067 //line sql-gen.y:9017 38068 { 38069 sqlVAL.union.val = &tree.ShowRegions{ 38070 ShowRegionsFrom: tree.ShowRegionsFromDefault, 38071 } 38072 } 38073 case 1518: 38074 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 38075 //line sql-gen.y:9023 38076 { 38077 sqlVAL.union.val = &tree.ShowRegions{ 38078 ShowRegionsFrom: tree.ShowSuperRegionsFromDatabase, 38079 DatabaseName: tree.Name(sqlDollar[6].str), 38080 } 38081 } 38082 case 1519: 38083 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 38084 //line sql-gen.y:9029 38085 { 38086 return helpWith(sqllex, "SHOW REGIONS") 38087 } 38088 case 1520: 38089 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 38090 //line sql-gen.y:9033 38091 { 38092 sqlVAL.union.val = &tree.ShowVar{Name: "locality"} 38093 } 38094 case 1521: 38095 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 38096 //line sql-gen.y:9039 38097 { 38098 38099 sqlVAL.union.val = &tree.ShowFingerprints{Table: sqlDollar[5].union.unresolvedObjectName()} 38100 } 38101 case 1522: 38102 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 38103 //line sql-gen.y:9045 38104 { 38105 38106 sqlVAL.union.val = &tree.ShowFingerprints{TenantSpec: sqlDollar[5].union.tenantSpec()} 38107 } 38108 case 1523: 38109 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 38110 //line sql-gen.y:9052 38111 { 38112 sqlVAL.union.val = &tree.ShowFullTableScans{} 38113 } 38114 case 1524: 38115 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 38116 //line sql-gen.y:9058 38117 { 38118 tmp := sqlDollar[2].union.grantTargetList() 38119 sqlVAL.union.val = &tmp 38120 } 38121 case 1525: 38122 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 38123 //line sql-gen.y:9063 38124 { 38125 sqlVAL.union.val = (*tree.GrantTargetList)(nil) 38126 } 38127 case 1526: 38128 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 38129 //line sql-gen.y:9185 38130 { 38131 sqlVAL.union.val = tree.GrantTargetList{Tables: tree.TableAttrs{SequenceOnly: false, TablePatterns: tree.TablePatterns{&tree.UnresolvedName{NumParts: 1, Parts: tree.NameParts{sqlDollar[1].str}}}}} 38132 } 38133 case 1527: 38134 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 38135 //line sql-gen.y:9189 38136 { 38137 sqlVAL.union.val = tree.GrantTargetList{Tables: tree.TableAttrs{SequenceOnly: false, TablePatterns: tree.TablePatterns{&tree.UnresolvedName{NumParts: 1, Parts: tree.NameParts{sqlDollar[1].str}}}}} 38138 } 38139 case 1528: 38140 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 38141 //line sql-gen.y:9193 38142 { 38143 38144 sqlVAL.union.val = tree.GrantTargetList{ 38145 Tables: tree.TableAttrs{SequenceOnly: false, TablePatterns: tree.TablePatterns{&tree.UnresolvedName{NumParts: 1, Parts: tree.NameParts{sqlDollar[1].str}}}}, 38146 ForRoles: sqlDollar[1].str == "role", 38147 } 38148 } 38149 case 1529: 38150 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 38151 //line sql-gen.y:9232 38152 { 38153 sqlVAL.union.val = tree.GrantTargetList{Tables: tree.TableAttrs{SequenceOnly: false, TablePatterns: tree.TablePatterns{sqlDollar[1].union.unresolvedName()}}} 38154 } 38155 case 1530: 38156 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 38157 //line sql-gen.y:9236 38158 { 38159 sqlVAL.union.val = tree.GrantTargetList{Tables: tree.TableAttrs{SequenceOnly: true, TablePatterns: sqlDollar[2].union.tablePatterns()}} 38160 } 38161 case 1531: 38162 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 38163 //line sql-gen.y:9240 38164 { 38165 remainderPats := sqlDollar[3].union.tablePatterns() 38166 sqlVAL.union.val = tree.GrantTargetList{Tables: tree.TableAttrs{SequenceOnly: false, TablePatterns: append(tree.TablePatterns{sqlDollar[1].union.unresolvedName()}, remainderPats...)}} 38167 } 38168 case 1532: 38169 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 38170 //line sql-gen.y:9245 38171 { 38172 sqlVAL.union.val = tree.GrantTargetList{Tables: tree.TableAttrs{SequenceOnly: false, TablePatterns: sqlDollar[2].union.tablePatterns()}} 38173 } 38174 case 1533: 38175 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 38176 //line sql-gen.y:9249 38177 { 38178 sqlVAL.union.val = tree.GrantTargetList{Databases: sqlDollar[2].union.nameList()} 38179 } 38180 case 1534: 38181 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 38182 //line sql-gen.y:9253 38183 { 38184 sqlVAL.union.val = tree.GrantTargetList{ExternalConnections: sqlDollar[3].union.nameList()} 38185 } 38186 case 1535: 38187 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 38188 //line sql-gen.y:9257 38189 { 38190 sqlVAL.union.val = tree.GrantTargetList{Functions: sqlDollar[2].union.routineObjs()} 38191 } 38192 case 1536: 38193 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 38194 //line sql-gen.y:9261 38195 { 38196 sqlVAL.union.val = tree.GrantTargetList{Procedures: sqlDollar[2].union.routineObjs()} 38197 } 38198 case 1537: 38199 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 38200 //line sql-gen.y:9271 38201 { 38202 sqlVAL.union.val = tree.BackupTargetList{Tables: tree.TableAttrs{SequenceOnly: false, TablePatterns: tree.TablePatterns{&tree.UnresolvedName{NumParts: 1, Parts: tree.NameParts{sqlDollar[1].str}}}}} 38203 } 38204 case 1538: 38205 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 38206 //line sql-gen.y:9275 38207 { 38208 sqlVAL.union.val = tree.BackupTargetList{Tables: tree.TableAttrs{SequenceOnly: false, TablePatterns: tree.TablePatterns{&tree.UnresolvedName{NumParts: 1, Parts: tree.NameParts{sqlDollar[1].str}}}}} 38209 } 38210 case 1539: 38211 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 38212 //line sql-gen.y:9279 38213 { 38214 sqlVAL.union.val = tree.BackupTargetList{ 38215 Tables: tree.TableAttrs{SequenceOnly: false, TablePatterns: tree.TablePatterns{&tree.UnresolvedName{NumParts: 1, Parts: tree.NameParts{sqlDollar[1].str}}}}, 38216 } 38217 } 38218 case 1540: 38219 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 38220 //line sql-gen.y:9285 38221 { 38222 sqlVAL.union.val = tree.BackupTargetList{Tables: tree.TableAttrs{SequenceOnly: false, TablePatterns: tree.TablePatterns{sqlDollar[1].union.unresolvedName()}}} 38223 } 38224 case 1541: 38225 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 38226 //line sql-gen.y:9289 38227 { 38228 remainderPats := sqlDollar[3].union.tablePatterns() 38229 sqlVAL.union.val = tree.BackupTargetList{Tables: tree.TableAttrs{SequenceOnly: false, TablePatterns: append(tree.TablePatterns{sqlDollar[1].union.unresolvedName()}, remainderPats...)}} 38230 } 38231 case 1542: 38232 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 38233 //line sql-gen.y:9294 38234 { 38235 sqlVAL.union.val = tree.BackupTargetList{Tables: tree.TableAttrs{SequenceOnly: false, TablePatterns: sqlDollar[2].union.tablePatterns()}} 38236 } 38237 case 1543: 38238 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 38239 //line sql-gen.y:9300 38240 { 38241 38242 tenID := uint64(sqlDollar[2].union.int64()) 38243 if tenID == 0 { 38244 return setErr(sqllex, errors.New("invalid tenant ID")) 38245 } 38246 sqlVAL.union.val = tree.BackupTargetList{TenantID: tree.TenantID{Specified: true, ID: tenID}} 38247 } 38248 case 1544: 38249 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 38250 //line sql-gen.y:9309 38251 { 38252 38253 if sqlDollar[2].str != "_" { 38254 return setErr(sqllex, errors.New("invalid syntax")) 38255 } 38256 sqlVAL.union.val = tree.BackupTargetList{TenantID: tree.TenantID{Specified: true}} 38257 } 38258 case 1545: 38259 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 38260 //line sql-gen.y:9319 38261 { 38262 sqlVAL.union.val = tree.BackupTargetList{Databases: sqlDollar[2].union.nameList()} 38263 } 38264 case 1546: 38265 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 38266 //line sql-gen.y:9328 38267 { 38268 sqlVAL.union.val = tree.GrantTargetList{ForRoles: true, Roles: sqlDollar[2].union.roleSpecList()} 38269 } 38270 case 1547: 38271 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 38272 //line sql-gen.y:9332 38273 { 38274 sqlVAL.union.val = tree.GrantTargetList{Schemas: sqlDollar[2].union.objectNamePrefixList()} 38275 } 38276 case 1548: 38277 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 38278 //line sql-gen.y:9336 38279 { 38280 sqlVAL.union.val = tree.GrantTargetList{Schemas: sqlDollar[2].union.objectNamePrefixList()} 38281 } 38282 case 1549: 38283 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 38284 //line sql-gen.y:9340 38285 { 38286 sqlVAL.union.val = tree.GrantTargetList{Types: sqlDollar[2].union.unresolvedObjectNames()} 38287 } 38288 case 1551: 38289 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 38290 //line sql-gen.y:9348 38291 { 38292 sqlVAL.union.val = sqlDollar[2].union.roleSpecList() 38293 } 38294 case 1552: 38295 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 38296 //line sql-gen.y:9352 38297 { 38298 sqlVAL.union.val = tree.RoleSpecList(nil) 38299 } 38300 case 1554: 38301 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 38302 //line sql-gen.y:9360 38303 { 38304 return helpWith(sqllex, "PAUSE JOBS") 38305 } 38306 case 1556: 38307 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 38308 //line sql-gen.y:9361 38309 { 38310 return helpWith(sqllex, "PAUSE SCHEDULES") 38311 } 38312 case 1558: 38313 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 38314 //line sql-gen.y:9362 38315 { 38316 return helpWith(sqllex, "PAUSE ALL JOBS") 38317 } 38318 case 1559: 38319 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 38320 //line sql-gen.y:9363 38321 { 38322 return helpWith(sqllex, "PAUSE") 38323 } 38324 case 1561: 38325 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 38326 //line sql-gen.y:9369 38327 { 38328 return helpWith(sqllex, "RESUME JOBS") 38329 } 38330 case 1563: 38331 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 38332 //line sql-gen.y:9370 38333 { 38334 return helpWith(sqllex, "RESUME SCHEDULES") 38335 } 38336 case 1565: 38337 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 38338 //line sql-gen.y:9371 38339 { 38340 return helpWith(sqllex, "RESUME ALL JOBS") 38341 } 38342 case 1566: 38343 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 38344 //line sql-gen.y:9372 38345 { 38346 return helpWith(sqllex, "RESUME") 38347 } 38348 case 1567: 38349 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 38350 //line sql-gen.y:9380 38351 { 38352 sqlVAL.union.val = &tree.ControlJobsOfType{Type: sqlDollar[3].str, Command: tree.ResumeJob} 38353 } 38354 case 1568: 38355 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 38356 //line sql-gen.y:9383 38357 { 38358 return helpWith(sqllex, "RESUME ALL JOBS") 38359 } 38360 case 1569: 38361 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 38362 //line sql-gen.y:9393 38363 { 38364 sqlVAL.union.val = &tree.ControlJobs{ 38365 Jobs: &tree.Select{ 38366 Select: &tree.ValuesClause{Rows: []tree.Exprs{tree.Exprs{sqlDollar[3].union.expr()}}}, 38367 }, 38368 Command: tree.PauseJob, 38369 } 38370 } 38371 case 1570: 38372 sqlDollar = sqlS[sqlpt-7 : sqlpt+1] 38373 //line sql-gen.y:9402 38374 { 38375 sqlVAL.union.val = &tree.ControlJobs{ 38376 Jobs: &tree.Select{ 38377 Select: &tree.ValuesClause{Rows: []tree.Exprs{tree.Exprs{sqlDollar[3].union.expr()}}}, 38378 }, 38379 Command: tree.PauseJob, 38380 Reason: sqlDollar[7].union.expr(), 38381 } 38382 } 38383 case 1571: 38384 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 38385 //line sql-gen.y:9411 38386 { 38387 return helpWith(sqllex, "PAUSE JOBS") 38388 } 38389 case 1572: 38390 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 38391 //line sql-gen.y:9413 38392 { 38393 sqlVAL.union.val = &tree.ControlJobs{Jobs: sqlDollar[3].union.slct(), Command: tree.PauseJob} 38394 } 38395 case 1573: 38396 sqlDollar = sqlS[sqlpt-7 : sqlpt+1] 38397 //line sql-gen.y:9417 38398 { 38399 sqlVAL.union.val = &tree.ControlJobs{Jobs: sqlDollar[3].union.slct(), Command: tree.PauseJob, Reason: sqlDollar[7].union.expr()} 38400 } 38401 case 1574: 38402 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 38403 //line sql-gen.y:9421 38404 { 38405 sqlVAL.union.val = &tree.ControlJobsForSchedules{Schedules: sqlDollar[3].union.slct(), Command: tree.PauseJob} 38406 } 38407 case 1575: 38408 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 38409 //line sql-gen.y:9424 38410 { 38411 return helpWith(sqllex, "PAUSE JOBS") 38412 } 38413 case 1576: 38414 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 38415 //line sql-gen.y:9429 38416 { 38417 sqlVAL.union.val = sqlDollar[3].union.slct() 38418 } 38419 case 1577: 38420 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 38421 //line sql-gen.y:9433 38422 { 38423 sqlVAL.union.val = &tree.Select{ 38424 Select: &tree.ValuesClause{Rows: []tree.Exprs{tree.Exprs{sqlDollar[3].union.expr()}}}, 38425 } 38426 } 38427 case 1578: 38428 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 38429 //line sql-gen.y:9448 38430 { 38431 sqlVAL.union.val = &tree.ControlSchedules{ 38432 Schedules: &tree.Select{ 38433 Select: &tree.ValuesClause{Rows: []tree.Exprs{tree.Exprs{sqlDollar[3].union.expr()}}}, 38434 }, 38435 Command: tree.PauseSchedule, 38436 } 38437 } 38438 case 1579: 38439 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 38440 //line sql-gen.y:9456 38441 { 38442 return helpWith(sqllex, "PAUSE SCHEDULES") 38443 } 38444 case 1580: 38445 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 38446 //line sql-gen.y:9458 38447 { 38448 sqlVAL.union.val = &tree.ControlSchedules{ 38449 Schedules: sqlDollar[3].union.slct(), 38450 Command: tree.PauseSchedule, 38451 } 38452 } 38453 case 1581: 38454 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 38455 //line sql-gen.y:9464 38456 { 38457 return helpWith(sqllex, "PAUSE SCHEDULES") 38458 } 38459 case 1582: 38460 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 38461 //line sql-gen.y:9472 38462 { 38463 sqlVAL.union.val = &tree.ControlJobsOfType{Type: sqlDollar[3].str, Command: tree.PauseJob} 38464 } 38465 case 1583: 38466 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 38467 //line sql-gen.y:9475 38468 { 38469 return helpWith(sqllex, "PAUSE ALL JOBS") 38470 } 38471 case 1584: 38472 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 38473 //line sql-gen.y:9484 38474 { 38475 sqlVAL.union.val = &tree.CreateSchema{ 38476 Schema: sqlDollar[3].union.objectNamePrefix(), 38477 } 38478 } 38479 case 1585: 38480 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 38481 //line sql-gen.y:9490 38482 { 38483 sqlVAL.union.val = &tree.CreateSchema{ 38484 Schema: sqlDollar[6].union.objectNamePrefix(), 38485 IfNotExists: true, 38486 } 38487 } 38488 case 1586: 38489 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 38490 //line sql-gen.y:9497 38491 { 38492 sqlVAL.union.val = &tree.CreateSchema{ 38493 Schema: sqlDollar[3].union.objectNamePrefix(), 38494 AuthRole: sqlDollar[5].union.roleSpec(), 38495 } 38496 } 38497 case 1587: 38498 sqlDollar = sqlS[sqlpt-8 : sqlpt+1] 38499 //line sql-gen.y:9504 38500 { 38501 sqlVAL.union.val = &tree.CreateSchema{ 38502 Schema: sqlDollar[6].union.objectNamePrefix(), 38503 IfNotExists: true, 38504 AuthRole: sqlDollar[8].union.roleSpec(), 38505 } 38506 } 38507 case 1588: 38508 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 38509 //line sql-gen.y:9511 38510 { 38511 return helpWith(sqllex, "CREATE SCHEMA") 38512 } 38513 case 1589: 38514 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 38515 //line sql-gen.y:9522 38516 { 38517 sqlVAL.union.val = &tree.AlterSchema{ 38518 Schema: sqlDollar[3].union.objectNamePrefix(), 38519 Cmd: &tree.AlterSchemaRename{ 38520 NewName: tree.Name(sqlDollar[6].str), 38521 }, 38522 } 38523 } 38524 case 1590: 38525 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 38526 //line sql-gen.y:9531 38527 { 38528 sqlVAL.union.val = &tree.AlterSchema{ 38529 Schema: sqlDollar[3].union.objectNamePrefix(), 38530 Cmd: &tree.AlterSchemaOwner{ 38531 Owner: sqlDollar[6].union.roleSpec(), 38532 }, 38533 } 38534 } 38535 case 1591: 38536 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 38537 //line sql-gen.y:9539 38538 { 38539 return helpWith(sqllex, "ALTER SCHEMA") 38540 } 38541 case 1592: 38542 sqlDollar = sqlS[sqlpt-12 : sqlpt+1] 38543 //line sql-gen.y:9575 38544 { 38545 name := sqlDollar[4].union.unresolvedObjectName().ToTableName() 38546 sqlVAL.union.val = &tree.CreateTable{ 38547 Table: name, 38548 IfNotExists: false, 38549 Defs: sqlDollar[6].union.tblDefs(), 38550 AsSource: nil, 38551 PartitionByTable: sqlDollar[9].union.partitionByTable(), 38552 Persistence: sqlDollar[2].union.persistence(), 38553 StorageParams: sqlDollar[10].union.storageParams(), 38554 OnCommit: sqlDollar[11].union.createTableOnCommitSetting(), 38555 Locality: sqlDollar[12].union.locality(), 38556 } 38557 } 38558 case 1593: 38559 sqlDollar = sqlS[sqlpt-15 : sqlpt+1] 38560 //line sql-gen.y:9590 38561 { 38562 name := sqlDollar[7].union.unresolvedObjectName().ToTableName() 38563 sqlVAL.union.val = &tree.CreateTable{ 38564 Table: name, 38565 IfNotExists: true, 38566 Defs: sqlDollar[9].union.tblDefs(), 38567 AsSource: nil, 38568 PartitionByTable: sqlDollar[12].union.partitionByTable(), 38569 Persistence: sqlDollar[2].union.persistence(), 38570 StorageParams: sqlDollar[13].union.storageParams(), 38571 OnCommit: sqlDollar[14].union.createTableOnCommitSetting(), 38572 Locality: sqlDollar[15].union.locality(), 38573 } 38574 } 38575 case 1594: 38576 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 38577 //line sql-gen.y:9607 38578 { 38579 sqlVAL.union.val = sqlDollar[1].union.locality() 38580 } 38581 case 1595: 38582 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 38583 //line sql-gen.y:9611 38584 { 38585 sqlVAL.union.val = (*tree.Locality)(nil) 38586 } 38587 case 1597: 38588 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 38589 //line sql-gen.y:9618 38590 { 38591 38592 sqlVAL.union.val = nil 38593 } 38594 case 1598: 38595 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 38596 //line sql-gen.y:9624 38597 { 38598 return unimplemented(sqllex, "create table with oids") 38599 } 38600 case 1599: 38601 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 38602 //line sql-gen.y:9630 38603 { 38604 sqlVAL.str = "" 38605 } 38606 case 1600: 38607 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 38608 //line sql-gen.y:9634 38609 { 38610 38611 return unimplementedWithIssueDetail(sqllex, 22456, "create table inherits") 38612 } 38613 case 1601: 38614 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 38615 //line sql-gen.y:9640 38616 { 38617 sqlVAL.union.val = nil 38618 } 38619 case 1602: 38620 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 38621 //line sql-gen.y:9644 38622 { 38623 sqlVAL.union.val = sqlDollar[3].union.storageParams() 38624 } 38625 case 1603: 38626 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 38627 //line sql-gen.y:9649 38628 { 38629 sqlVAL.union.val = tree.CreateTableOnCommitUnset 38630 } 38631 case 1604: 38632 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 38633 //line sql-gen.y:9653 38634 { 38635 sqlVAL.union.val = tree.CreateTableOnCommitPreserveRows 38636 } 38637 case 1605: 38638 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 38639 //line sql-gen.y:9657 38640 { 38641 return unimplementedWithIssueDetail(sqllex, 46556, "delete rows") 38642 } 38643 case 1606: 38644 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 38645 //line sql-gen.y:9661 38646 { 38647 return unimplementedWithIssueDetail(sqllex, 46556, "drop") 38648 } 38649 case 1609: 38650 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 38651 //line sql-gen.y:9671 38652 { 38653 sqlVAL.union.val = []tree.Name{tree.Name(sqlDollar[1].str)} 38654 } 38655 case 1610: 38656 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 38657 //line sql-gen.y:9675 38658 { 38659 sqlVAL.union.val = append(sqlDollar[1].union.storageParamKeys(), tree.Name(sqlDollar[3].str)) 38660 } 38661 case 1611: 38662 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 38663 //line sql-gen.y:9681 38664 { 38665 sqlVAL.union.val = tree.StorageParam{Key: tree.Name(sqlDollar[1].str), Value: sqlDollar[3].union.expr()} 38666 } 38667 case 1612: 38668 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 38669 //line sql-gen.y:9687 38670 { 38671 sqlVAL.union.val = []tree.StorageParam{sqlDollar[1].union.storageParam()} 38672 } 38673 case 1613: 38674 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 38675 //line sql-gen.y:9691 38676 { 38677 sqlVAL.union.val = append(sqlDollar[1].union.storageParams(), sqlDollar[3].union.storageParam()) 38678 } 38679 case 1614: 38680 sqlDollar = sqlS[sqlpt-10 : sqlpt+1] 38681 //line sql-gen.y:9697 38682 { 38683 name := sqlDollar[4].union.unresolvedObjectName().ToTableName() 38684 sqlVAL.union.val = &tree.CreateTable{ 38685 Table: name, 38686 IfNotExists: false, 38687 Defs: sqlDollar[5].union.tblDefs(), 38688 AsSource: sqlDollar[8].union.slct(), 38689 StorageParams: sqlDollar[6].union.storageParams(), 38690 OnCommit: sqlDollar[10].union.createTableOnCommitSetting(), 38691 Persistence: sqlDollar[2].union.persistence(), 38692 } 38693 } 38694 case 1615: 38695 sqlDollar = sqlS[sqlpt-13 : sqlpt+1] 38696 //line sql-gen.y:9710 38697 { 38698 name := sqlDollar[7].union.unresolvedObjectName().ToTableName() 38699 sqlVAL.union.val = &tree.CreateTable{ 38700 Table: name, 38701 IfNotExists: true, 38702 Defs: sqlDollar[8].union.tblDefs(), 38703 AsSource: sqlDollar[11].union.slct(), 38704 StorageParams: sqlDollar[9].union.storageParams(), 38705 OnCommit: sqlDollar[13].union.createTableOnCommitSetting(), 38706 Persistence: sqlDollar[2].union.persistence(), 38707 } 38708 } 38709 case 1616: 38710 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 38711 //line sql-gen.y:9724 38712 { 38713 } 38714 case 1617: 38715 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 38716 //line sql-gen.y:9725 38717 { 38718 } 38719 case 1618: 38720 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 38721 //line sql-gen.y:9726 38722 { 38723 return unimplemented(sqllex, "create table as with no data") 38724 } 38725 case 1619: 38726 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 38727 //line sql-gen.y:9744 38728 { 38729 sqlVAL.union.val = tree.PersistenceTemporary 38730 } 38731 case 1620: 38732 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 38733 //line sql-gen.y:9745 38734 { 38735 sqlVAL.union.val = tree.PersistenceTemporary 38736 } 38737 case 1621: 38738 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 38739 //line sql-gen.y:9746 38740 { 38741 sqlVAL.union.val = tree.PersistencePermanent 38742 } 38743 case 1623: 38744 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 38745 //line sql-gen.y:9750 38746 { 38747 sqlVAL.union.val = tree.PersistenceTemporary 38748 } 38749 case 1624: 38750 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 38751 //line sql-gen.y:9751 38752 { 38753 sqlVAL.union.val = tree.PersistenceTemporary 38754 } 38755 case 1625: 38756 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 38757 //line sql-gen.y:9752 38758 { 38759 sqlVAL.union.val = tree.PersistenceTemporary 38760 } 38761 case 1626: 38762 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 38763 //line sql-gen.y:9753 38764 { 38765 sqlVAL.union.val = tree.PersistenceTemporary 38766 } 38767 case 1627: 38768 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 38769 //line sql-gen.y:9754 38770 { 38771 sqlVAL.union.val = tree.PersistenceUnlogged 38772 } 38773 case 1629: 38774 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 38775 //line sql-gen.y:9759 38776 { 38777 sqlVAL.union.val = tree.TableDefs(nil) 38778 } 38779 case 1630: 38780 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 38781 //line sql-gen.y:9765 38782 { 38783 sqlVAL.union.val = tree.TableDefs{sqlDollar[1].union.tblDef()} 38784 } 38785 case 1631: 38786 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 38787 //line sql-gen.y:9769 38788 { 38789 sqlVAL.union.val = append(sqlDollar[1].union.tblDefs(), sqlDollar[3].union.tblDef()) 38790 } 38791 case 1632: 38792 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 38793 //line sql-gen.y:9775 38794 { 38795 sqlVAL.union.val = sqlDollar[1].union.colTableDef() 38796 } 38797 case 1635: 38798 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 38799 //line sql-gen.y:9781 38800 { 38801 def := sqlDollar[1].union.constraintDef() 38802 valBehavior := sqlDollar[2].union.validationBehavior() 38803 if u, ok := def.(*tree.UniqueConstraintTableDef); ok && valBehavior == tree.ValidationSkip { 38804 typ := "PRIMARY KEY" 38805 if !u.PrimaryKey { 38806 typ = "UNIQUE" 38807 } 38808 return purposelyUnimplemented(sqllex, "table constraint", typ+" constraints cannot be marked NOT VALID") 38809 } 38810 sqlVAL.union.val = def 38811 } 38812 case 1636: 38813 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 38814 //line sql-gen.y:9794 38815 { 38816 sqlVAL.union.val = &tree.LikeTableDef{ 38817 Name: sqlDollar[2].union.unresolvedObjectName().ToTableName(), 38818 Options: sqlDollar[3].union.likeTableOptionList(), 38819 } 38820 } 38821 case 1637: 38822 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 38823 //line sql-gen.y:9803 38824 { 38825 sqlVAL.union.val = append(sqlDollar[1].union.likeTableOptionList(), sqlDollar[3].union.likeTableOption()) 38826 } 38827 case 1638: 38828 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 38829 //line sql-gen.y:9807 38830 { 38831 opt := sqlDollar[3].union.likeTableOption() 38832 opt.Excluded = true 38833 sqlVAL.union.val = append(sqlDollar[1].union.likeTableOptionList(), opt) 38834 } 38835 case 1639: 38836 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 38837 //line sql-gen.y:9813 38838 { 38839 sqlVAL.union.val = []tree.LikeTableOption(nil) 38840 } 38841 case 1640: 38842 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 38843 //line sql-gen.y:9818 38844 { 38845 return unimplementedWithIssueDetail(sqllex, 47071, "like table in/excluding comments") 38846 } 38847 case 1641: 38848 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 38849 //line sql-gen.y:9819 38850 { 38851 sqlVAL.union.val = tree.LikeTableOption{Opt: tree.LikeTableOptConstraints} 38852 } 38853 case 1642: 38854 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 38855 //line sql-gen.y:9820 38856 { 38857 sqlVAL.union.val = tree.LikeTableOption{Opt: tree.LikeTableOptDefaults} 38858 } 38859 case 1643: 38860 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 38861 //line sql-gen.y:9821 38862 { 38863 return unimplementedWithIssueDetail(sqllex, 47071, "like table in/excluding identity") 38864 } 38865 case 1644: 38866 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 38867 //line sql-gen.y:9822 38868 { 38869 sqlVAL.union.val = tree.LikeTableOption{Opt: tree.LikeTableOptGenerated} 38870 } 38871 case 1645: 38872 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 38873 //line sql-gen.y:9823 38874 { 38875 sqlVAL.union.val = tree.LikeTableOption{Opt: tree.LikeTableOptIndexes} 38876 } 38877 case 1646: 38878 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 38879 //line sql-gen.y:9824 38880 { 38881 return unimplementedWithIssueDetail(sqllex, 47071, "like table in/excluding statistics") 38882 } 38883 case 1647: 38884 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 38885 //line sql-gen.y:9825 38886 { 38887 return unimplementedWithIssueDetail(sqllex, 47071, "like table in/excluding storage") 38888 } 38889 case 1648: 38890 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 38891 //line sql-gen.y:9826 38892 { 38893 sqlVAL.union.val = tree.LikeTableOption{Opt: tree.LikeTableOptAll} 38894 } 38895 case 1649: 38896 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 38897 //line sql-gen.y:9831 38898 { 38899 sqlVAL.str = sqlDollar[2].str 38900 } 38901 case 1651: 38902 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 38903 //line sql-gen.y:9838 38904 { 38905 sqlVAL.str = "" 38906 } 38907 case 1653: 38908 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 38909 //line sql-gen.y:9845 38910 { 38911 sqlVAL.union.val = (*tree.PartitionBy)(nil) 38912 } 38913 case 1654: 38914 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 38915 //line sql-gen.y:9851 38916 { 38917 sqlVAL.union.val = &tree.PartitionByIndex{ 38918 PartitionBy: sqlDollar[1].union.partitionBy(), 38919 } 38920 } 38921 case 1655: 38922 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 38923 //line sql-gen.y:9859 38924 { 38925 sqlVAL.union.val = &tree.PartitionByIndex{ 38926 PartitionBy: sqlDollar[1].union.partitionBy(), 38927 } 38928 } 38929 case 1656: 38930 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 38931 //line sql-gen.y:9865 38932 { 38933 sqlVAL.union.val = (*tree.PartitionByIndex)(nil) 38934 } 38935 case 1657: 38936 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 38937 //line sql-gen.y:9871 38938 { 38939 sqlVAL.union.val = &tree.PartitionByTable{ 38940 PartitionBy: sqlDollar[1].union.partitionBy(), 38941 } 38942 } 38943 case 1658: 38944 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 38945 //line sql-gen.y:9877 38946 { 38947 sqlVAL.union.val = &tree.PartitionByTable{ 38948 All: true, 38949 PartitionBy: sqlDollar[4].union.partitionBy(), 38950 } 38951 } 38952 case 1660: 38953 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 38954 //line sql-gen.y:9887 38955 { 38956 sqlVAL.union.val = (*tree.PartitionByTable)(nil) 38957 } 38958 case 1661: 38959 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 38960 //line sql-gen.y:9893 38961 { 38962 sqlVAL.union.val = sqlDollar[3].union.partitionBy() 38963 } 38964 case 1662: 38965 sqlDollar = sqlS[sqlpt-7 : sqlpt+1] 38966 //line sql-gen.y:9899 38967 { 38968 sqlVAL.union.val = &tree.PartitionBy{ 38969 Fields: sqlDollar[3].union.nameList(), 38970 List: sqlDollar[6].union.listPartitions(), 38971 } 38972 } 38973 case 1663: 38974 sqlDollar = sqlS[sqlpt-7 : sqlpt+1] 38975 //line sql-gen.y:9906 38976 { 38977 sqlVAL.union.val = &tree.PartitionBy{ 38978 Fields: sqlDollar[3].union.nameList(), 38979 Range: sqlDollar[6].union.rangePartitions(), 38980 } 38981 } 38982 case 1664: 38983 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 38984 //line sql-gen.y:9913 38985 { 38986 sqlVAL.union.val = (*tree.PartitionBy)(nil) 38987 } 38988 case 1665: 38989 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 38990 //line sql-gen.y:9919 38991 { 38992 sqlVAL.union.val = []tree.ListPartition{sqlDollar[1].union.listPartition()} 38993 } 38994 case 1666: 38995 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 38996 //line sql-gen.y:9923 38997 { 38998 sqlVAL.union.val = append(sqlDollar[1].union.listPartitions(), sqlDollar[3].union.listPartition()) 38999 } 39000 case 1667: 39001 sqlDollar = sqlS[sqlpt-7 : sqlpt+1] 39002 //line sql-gen.y:9929 39003 { 39004 sqlVAL.union.val = tree.ListPartition{ 39005 Name: tree.Name(sqlDollar[1].str), 39006 Exprs: sqlDollar[5].union.exprs(), 39007 Subpartition: sqlDollar[7].union.partitionBy(), 39008 } 39009 } 39010 case 1668: 39011 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 39012 //line sql-gen.y:9939 39013 { 39014 sqlVAL.union.val = []tree.RangePartition{sqlDollar[1].union.rangePartition()} 39015 } 39016 case 1669: 39017 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 39018 //line sql-gen.y:9943 39019 { 39020 sqlVAL.union.val = append(sqlDollar[1].union.rangePartitions(), sqlDollar[3].union.rangePartition()) 39021 } 39022 case 1670: 39023 sqlDollar = sqlS[sqlpt-11 : sqlpt+1] 39024 //line sql-gen.y:9949 39025 { 39026 sqlVAL.union.val = tree.RangePartition{ 39027 Name: tree.Name(sqlDollar[1].str), 39028 From: sqlDollar[5].union.exprs(), 39029 To: sqlDollar[9].union.exprs(), 39030 Subpartition: sqlDollar[11].union.partitionBy(), 39031 } 39032 } 39033 case 1671: 39034 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 39035 //line sql-gen.y:9963 39036 { 39037 typ := sqlDollar[2].union.typeReference() 39038 tableDef, err := tree.NewColumnTableDef(tree.Name(sqlDollar[1].str), typ, tree.IsReferenceSerialType(typ), sqlDollar[3].union.colQuals()) 39039 if err != nil { 39040 return setErr(sqllex, err) 39041 } 39042 sqlVAL.union.val = tableDef 39043 } 39044 case 1672: 39045 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 39046 //line sql-gen.y:9974 39047 { 39048 sqlVAL.union.val = append(sqlDollar[1].union.colQuals(), sqlDollar[2].union.colQual()) 39049 } 39050 case 1673: 39051 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 39052 //line sql-gen.y:9978 39053 { 39054 sqlVAL.union.val = []tree.NamedColumnQualification(nil) 39055 } 39056 case 1674: 39057 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 39058 //line sql-gen.y:9984 39059 { 39060 sqlVAL.union.val = tree.NamedColumnQualification{Name: tree.Name(sqlDollar[2].str), Qualification: sqlDollar[3].union.colQualElem()} 39061 } 39062 case 1675: 39063 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 39064 //line sql-gen.y:9988 39065 { 39066 sqlVAL.union.val = tree.NamedColumnQualification{Qualification: sqlDollar[1].union.colQualElem()} 39067 } 39068 case 1676: 39069 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 39070 //line sql-gen.y:9992 39071 { 39072 sqlVAL.union.val = tree.NamedColumnQualification{Qualification: tree.ColumnCollation(sqlDollar[2].str)} 39073 } 39074 case 1677: 39075 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 39076 //line sql-gen.y:9996 39077 { 39078 sqlVAL.union.val = tree.NamedColumnQualification{Qualification: &tree.ColumnFamilyConstraint{Family: tree.Name(sqlDollar[2].str)}} 39079 } 39080 case 1678: 39081 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 39082 //line sql-gen.y:10000 39083 { 39084 sqlVAL.union.val = tree.NamedColumnQualification{Qualification: &tree.ColumnFamilyConstraint{Family: tree.Name(sqlDollar[3].str), Create: true}} 39085 } 39086 case 1679: 39087 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 39088 //line sql-gen.y:10004 39089 { 39090 sqlVAL.union.val = tree.NamedColumnQualification{Qualification: &tree.ColumnFamilyConstraint{Create: true}} 39091 } 39092 case 1680: 39093 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 39094 //line sql-gen.y:10008 39095 { 39096 sqlVAL.union.val = tree.NamedColumnQualification{Qualification: &tree.ColumnFamilyConstraint{Family: tree.Name(sqlDollar[6].str), Create: true, IfNotExists: true}} 39097 } 39098 case 1681: 39099 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 39100 //line sql-gen.y:10026 39101 { 39102 sqlVAL.union.val = tree.NotNullConstraint{} 39103 } 39104 case 1682: 39105 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 39106 //line sql-gen.y:10030 39107 { 39108 sqlVAL.union.val = tree.NullConstraint{} 39109 } 39110 case 1683: 39111 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 39112 //line sql-gen.y:10034 39113 { 39114 sqlVAL.union.val = tree.HiddenConstraint{} 39115 } 39116 case 1684: 39117 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 39118 //line sql-gen.y:10038 39119 { 39120 sqlVAL.union.val = tree.UniqueConstraint{ 39121 WithoutIndex: sqlDollar[2].union.bool(), 39122 } 39123 } 39124 case 1685: 39125 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 39126 //line sql-gen.y:10044 39127 { 39128 sqlVAL.union.val = tree.PrimaryKeyConstraint{ 39129 StorageParams: sqlDollar[3].union.storageParams(), 39130 } 39131 } 39132 case 1686: 39133 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 39134 //line sql-gen.y:10050 39135 { 39136 sqlVAL.union.val = tree.ShardedPrimaryKeyConstraint{ 39137 Sharded: true, 39138 ShardBuckets: sqlDollar[5].union.expr(), 39139 StorageParams: sqlDollar[6].union.storageParams(), 39140 } 39141 } 39142 case 1687: 39143 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 39144 //line sql-gen.y:10058 39145 { 39146 sqlVAL.union.val = &tree.ColumnCheckConstraint{Expr: sqlDollar[3].union.expr()} 39147 } 39148 case 1688: 39149 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 39150 //line sql-gen.y:10062 39151 { 39152 sqlVAL.union.val = &tree.ColumnDefault{Expr: sqlDollar[2].union.expr()} 39153 } 39154 case 1689: 39155 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 39156 //line sql-gen.y:10066 39157 { 39158 sqlVAL.union.val = &tree.ColumnOnUpdate{Expr: sqlDollar[3].union.expr()} 39159 } 39160 case 1690: 39161 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 39162 //line sql-gen.y:10070 39163 { 39164 name := sqlDollar[2].union.unresolvedObjectName().ToTableName() 39165 sqlVAL.union.val = &tree.ColumnFKConstraint{ 39166 Table: name, 39167 Col: tree.Name(sqlDollar[3].str), 39168 Actions: sqlDollar[5].union.referenceActions(), 39169 Match: sqlDollar[4].union.compositeKeyMatchMethod(), 39170 } 39171 } 39172 case 1691: 39173 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 39174 //line sql-gen.y:10080 39175 { 39176 sqlVAL.union.val = &tree.ColumnComputedDef{Expr: sqlDollar[3].union.expr(), Virtual: false} 39177 } 39178 case 1692: 39179 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 39180 //line sql-gen.y:10084 39181 { 39182 sqlVAL.union.val = &tree.ColumnComputedDef{Expr: sqlDollar[3].union.expr(), Virtual: true} 39183 } 39184 case 1693: 39185 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 39186 //line sql-gen.y:10088 39187 { 39188 sqllex.Error("use AS ( <expr> ) STORED or AS ( <expr> ) VIRTUAL") 39189 return 1 39190 } 39191 case 1694: 39192 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 39193 //line sql-gen.y:10093 39194 { 39195 sqlVAL.union.val = &tree.GeneratedAlwaysAsIdentity{ 39196 SeqOptions: sqlDollar[4].union.seqOpts(), 39197 } 39198 } 39199 case 1695: 39200 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 39201 //line sql-gen.y:10099 39202 { 39203 sqlVAL.union.val = &tree.GeneratedByDefAsIdentity{ 39204 SeqOptions: sqlDollar[4].union.seqOpts(), 39205 } 39206 } 39207 case 1696: 39208 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 39209 //line sql-gen.y:10105 39210 { 39211 sqlVAL.union.val = &tree.GeneratedAlwaysAsIdentity{} 39212 } 39213 case 1697: 39214 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 39215 //line sql-gen.y:10109 39216 { 39217 sqlVAL.union.val = &tree.GeneratedByDefAsIdentity{} 39218 } 39219 case 1698: 39220 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 39221 //line sql-gen.y:10115 39222 { 39223 39224 sqlVAL.union.val = true 39225 } 39226 case 1699: 39227 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 39228 //line sql-gen.y:10120 39229 { 39230 sqlVAL.union.val = false 39231 } 39232 case 1700: 39233 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 39234 //line sql-gen.y:10125 39235 { 39236 } 39237 case 1702: 39238 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 39239 //line sql-gen.y:10129 39240 { 39241 } 39242 case 1703: 39243 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 39244 //line sql-gen.y:10132 39245 { 39246 } 39247 case 1704: 39248 sqlDollar = sqlS[sqlpt-10 : sqlpt+1] 39249 //line sql-gen.y:10136 39250 { 39251 sqlVAL.union.val = &tree.IndexTableDef{ 39252 Name: "", 39253 Columns: sqlDollar[3].union.idxElems(), 39254 Sharded: sqlDollar[5].union.shardedIndexDef(), 39255 Storing: sqlDollar[6].union.nameList(), 39256 PartitionByIndex: sqlDollar[7].union.partitionByIndex(), 39257 StorageParams: sqlDollar[8].union.storageParams(), 39258 Predicate: sqlDollar[9].union.expr(), 39259 Invisibility: sqlDollar[10].union.indexInvisibility(), 39260 } 39261 } 39262 case 1705: 39263 sqlDollar = sqlS[sqlpt-11 : sqlpt+1] 39264 //line sql-gen.y:10149 39265 { 39266 sqlVAL.union.val = &tree.IndexTableDef{ 39267 Name: tree.Name(sqlDollar[2].str), 39268 Columns: sqlDollar[4].union.idxElems(), 39269 Sharded: sqlDollar[6].union.shardedIndexDef(), 39270 Storing: sqlDollar[7].union.nameList(), 39271 PartitionByIndex: sqlDollar[8].union.partitionByIndex(), 39272 StorageParams: sqlDollar[9].union.storageParams(), 39273 Predicate: sqlDollar[10].union.expr(), 39274 Invisibility: sqlDollar[11].union.indexInvisibility(), 39275 } 39276 } 39277 case 1706: 39278 sqlDollar = sqlS[sqlpt-12 : sqlpt+1] 39279 //line sql-gen.y:10162 39280 { 39281 sqlVAL.union.val = &tree.UniqueConstraintTableDef{ 39282 IndexTableDef: tree.IndexTableDef{ 39283 Name: tree.Name(sqlDollar[3].str), 39284 Columns: sqlDollar[5].union.idxElems(), 39285 Sharded: sqlDollar[7].union.shardedIndexDef(), 39286 Storing: sqlDollar[8].union.nameList(), 39287 PartitionByIndex: sqlDollar[9].union.partitionByIndex(), 39288 StorageParams: sqlDollar[10].union.storageParams(), 39289 Predicate: sqlDollar[11].union.expr(), 39290 Invisibility: sqlDollar[12].union.indexInvisibility(), 39291 }, 39292 } 39293 } 39294 case 1707: 39295 sqlDollar = sqlS[sqlpt-9 : sqlpt+1] 39296 //line sql-gen.y:10177 39297 { 39298 sqlVAL.union.val = &tree.IndexTableDef{ 39299 Name: "", 39300 Columns: sqlDollar[4].union.idxElems(), 39301 Inverted: true, 39302 PartitionByIndex: sqlDollar[6].union.partitionByIndex(), 39303 StorageParams: sqlDollar[7].union.storageParams(), 39304 Predicate: sqlDollar[8].union.expr(), 39305 Invisibility: sqlDollar[9].union.indexInvisibility(), 39306 } 39307 } 39308 case 1708: 39309 sqlDollar = sqlS[sqlpt-10 : sqlpt+1] 39310 //line sql-gen.y:10189 39311 { 39312 sqlVAL.union.val = &tree.IndexTableDef{ 39313 Name: tree.Name(sqlDollar[3].str), 39314 Columns: sqlDollar[5].union.idxElems(), 39315 Inverted: true, 39316 PartitionByIndex: sqlDollar[7].union.partitionByIndex(), 39317 StorageParams: sqlDollar[8].union.storageParams(), 39318 Predicate: sqlDollar[9].union.expr(), 39319 Invisibility: sqlDollar[10].union.indexInvisibility(), 39320 } 39321 } 39322 case 1709: 39323 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 39324 //line sql-gen.y:10203 39325 { 39326 sqlVAL.union.val = &tree.FamilyTableDef{ 39327 Name: tree.Name(sqlDollar[2].str), 39328 Columns: sqlDollar[4].union.nameList(), 39329 } 39330 } 39331 case 1710: 39332 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 39333 //line sql-gen.y:10215 39334 { 39335 sqlVAL.union.val = sqlDollar[3].union.constraintDef() 39336 sqlVAL.union.val.(tree.ConstraintTableDef).SetName(tree.Name(sqlDollar[2].str)) 39337 } 39338 case 1711: 39339 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 39340 //line sql-gen.y:10220 39341 { 39342 sqlVAL.union.val = sqlDollar[1].union.constraintDef() 39343 } 39344 case 1712: 39345 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 39346 //line sql-gen.y:10226 39347 { 39348 sqlVAL.union.val = &tree.CheckConstraintTableDef{ 39349 Expr: sqlDollar[3].union.expr(), 39350 } 39351 } 39352 case 1713: 39353 sqlDollar = sqlS[sqlpt-9 : sqlpt+1] 39354 //line sql-gen.y:10233 39355 { 39356 sqlVAL.union.val = &tree.UniqueConstraintTableDef{ 39357 WithoutIndex: sqlDollar[2].union.bool(), 39358 IndexTableDef: tree.IndexTableDef{ 39359 Columns: sqlDollar[4].union.idxElems(), 39360 Storing: sqlDollar[6].union.nameList(), 39361 PartitionByIndex: sqlDollar[7].union.partitionByIndex(), 39362 Predicate: sqlDollar[9].union.expr(), 39363 }, 39364 } 39365 } 39366 case 1714: 39367 sqlDollar = sqlS[sqlpt-7 : sqlpt+1] 39368 //line sql-gen.y:10245 39369 { 39370 sqlVAL.union.val = &tree.UniqueConstraintTableDef{ 39371 IndexTableDef: tree.IndexTableDef{ 39372 Columns: sqlDollar[4].union.idxElems(), 39373 Sharded: sqlDollar[6].union.shardedIndexDef(), 39374 StorageParams: sqlDollar[7].union.storageParams(), 39375 }, 39376 PrimaryKey: true, 39377 } 39378 } 39379 case 1715: 39380 sqlDollar = sqlS[sqlpt-11 : sqlpt+1] 39381 //line sql-gen.y:10257 39382 { 39383 name := sqlDollar[7].union.unresolvedObjectName().ToTableName() 39384 sqlVAL.union.val = &tree.ForeignKeyConstraintTableDef{ 39385 Table: name, 39386 FromCols: sqlDollar[4].union.nameList(), 39387 ToCols: sqlDollar[8].union.nameList(), 39388 Match: sqlDollar[9].union.compositeKeyMatchMethod(), 39389 Actions: sqlDollar[10].union.referenceActions(), 39390 } 39391 } 39392 case 1716: 39393 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 39394 //line sql-gen.y:10268 39395 { 39396 return unimplementedWithIssueDetail(sqllex, 46657, "add constraint exclude using") 39397 } 39398 case 1717: 39399 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 39400 //line sql-gen.y:10275 39401 { 39402 sqlVAL.union.val = sqlDollar[2].union.val 39403 } 39404 case 1718: 39405 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 39406 //line sql-gen.y:10279 39407 { 39408 sqlVAL.union.val = tree.TableDefs(nil) 39409 } 39410 case 1719: 39411 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 39412 //line sql-gen.y:10285 39413 { 39414 tableDef, err := tree.NewColumnTableDef(tree.Name(sqlDollar[1].str), nil, false, sqlDollar[2].union.colQuals()) 39415 if err != nil { 39416 return setErr(sqllex, err) 39417 } 39418 39419 var colToTableDef tree.TableDef = tableDef 39420 sqlVAL.union.val = tree.TableDefs{colToTableDef} 39421 } 39422 case 1720: 39423 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 39424 //line sql-gen.y:10295 39425 { 39426 tableDef, err := tree.NewColumnTableDef(tree.Name(sqlDollar[3].str), nil, false, sqlDollar[4].union.colQuals()) 39427 if err != nil { 39428 return setErr(sqllex, err) 39429 } 39430 39431 var colToTableDef tree.TableDef = tableDef 39432 39433 sqlVAL.union.val = append(sqlDollar[1].union.tblDefs(), colToTableDef) 39434 } 39435 case 1721: 39436 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 39437 //line sql-gen.y:10306 39438 { 39439 sqlVAL.union.val = append(sqlDollar[1].union.tblDefs(), sqlDollar[3].union.tblDef()) 39440 } 39441 case 1722: 39442 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 39443 //line sql-gen.y:10310 39444 { 39445 var constraintToTableDef tree.TableDef = sqlDollar[3].union.constraintDef() 39446 sqlVAL.union.val = append(sqlDollar[1].union.tblDefs(), constraintToTableDef) 39447 } 39448 case 1723: 39449 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 39450 //line sql-gen.y:10317 39451 { 39452 sqlVAL.union.val = sqlDollar[1].union.constraintDef() 39453 } 39454 case 1724: 39455 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 39456 //line sql-gen.y:10323 39457 { 39458 sqlVAL.union.val = &tree.UniqueConstraintTableDef{ 39459 IndexTableDef: tree.IndexTableDef{ 39460 Columns: sqlDollar[4].union.idxElems(), 39461 StorageParams: sqlDollar[6].union.storageParams(), 39462 }, 39463 PrimaryKey: true, 39464 } 39465 } 39466 case 1725: 39467 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 39468 //line sql-gen.y:10335 39469 { 39470 sqlVAL.union.val = tree.IndexElemList{sqlDollar[1].union.idxElem()} 39471 } 39472 case 1726: 39473 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 39474 //line sql-gen.y:10339 39475 { 39476 sqlVAL.union.val = append(sqlDollar[1].union.idxElems(), sqlDollar[3].union.idxElem()) 39477 } 39478 case 1727: 39479 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 39480 //line sql-gen.y:10345 39481 { 39482 sqlVAL.union.val = tree.IndexElem{Column: tree.Name(sqlDollar[1].str)} 39483 } 39484 case 1728: 39485 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 39486 //line sql-gen.y:10351 39487 { 39488 sqlVAL.union.val = append(sqlDollar[1].union.colQuals(), sqlDollar[2].union.colQual()) 39489 } 39490 case 1729: 39491 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 39492 //line sql-gen.y:10355 39493 { 39494 sqlVAL.union.val = []tree.NamedColumnQualification(nil) 39495 } 39496 case 1730: 39497 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 39498 //line sql-gen.y:10361 39499 { 39500 sqlVAL.union.val = tree.NamedColumnQualification{Qualification: sqlDollar[1].union.colQualElem()} 39501 } 39502 case 1731: 39503 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 39504 //line sql-gen.y:10365 39505 { 39506 sqlVAL.union.val = tree.NamedColumnQualification{Qualification: &tree.ColumnFamilyConstraint{Family: tree.Name(sqlDollar[2].str)}} 39507 } 39508 case 1732: 39509 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 39510 //line sql-gen.y:10371 39511 { 39512 sqlVAL.union.val = tree.PrimaryKeyConstraint{ 39513 StorageParams: sqlDollar[3].union.storageParams(), 39514 } 39515 } 39516 case 1733: 39517 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 39518 //line sql-gen.y:10378 39519 { 39520 } 39521 case 1734: 39522 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 39523 //line sql-gen.y:10379 39524 { 39525 return unimplementedWithIssueDetail(sqllex, 31632, "deferrable") 39526 } 39527 case 1735: 39528 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 39529 //line sql-gen.y:10380 39530 { 39531 return unimplementedWithIssueDetail(sqllex, 31632, "def initially deferred") 39532 } 39533 case 1736: 39534 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 39535 //line sql-gen.y:10381 39536 { 39537 return unimplementedWithIssueDetail(sqllex, 31632, "def initially immediate") 39538 } 39539 case 1737: 39540 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 39541 //line sql-gen.y:10382 39542 { 39543 return unimplementedWithIssueDetail(sqllex, 31632, "initially deferred") 39544 } 39545 case 1738: 39546 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 39547 //line sql-gen.y:10383 39548 { 39549 return unimplementedWithIssueDetail(sqllex, 31632, "initially immediate") 39550 } 39551 case 1742: 39552 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 39553 //line sql-gen.y:10401 39554 { 39555 sqlVAL.union.val = sqlDollar[3].union.nameList() 39556 } 39557 case 1743: 39558 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 39559 //line sql-gen.y:10405 39560 { 39561 sqlVAL.union.val = tree.NameList(nil) 39562 } 39563 case 1744: 39564 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 39565 //line sql-gen.y:10411 39566 { 39567 sqlVAL.union.val = &tree.ShardedIndexDef{ 39568 ShardBuckets: sqlDollar[3].union.expr(), 39569 } 39570 } 39571 case 1745: 39572 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 39573 //line sql-gen.y:10417 39574 { 39575 sqlVAL.union.val = (*tree.ShardedIndexDef)(nil) 39576 } 39577 case 1746: 39578 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 39579 //line sql-gen.y:10423 39580 { 39581 sqlVAL.union.val = sqlDollar[4].union.expr() 39582 } 39583 case 1747: 39584 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 39585 //line sql-gen.y:10427 39586 { 39587 sqlVAL.union.val = tree.DefaultVal{} 39588 } 39589 case 1748: 39590 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 39591 //line sql-gen.y:10433 39592 { 39593 sqlVAL.union.val = sqlDollar[2].union.nameList() 39594 } 39595 case 1749: 39596 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 39597 //line sql-gen.y:10437 39598 { 39599 sqlVAL.union.val = tree.NameList(nil) 39600 } 39601 case 1750: 39602 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 39603 //line sql-gen.y:10457 39604 { 39605 sqlVAL.union.val = tree.MatchSimple 39606 } 39607 case 1751: 39608 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 39609 //line sql-gen.y:10461 39610 { 39611 sqlVAL.union.val = tree.MatchFull 39612 } 39613 case 1752: 39614 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 39615 //line sql-gen.y:10465 39616 { 39617 return unimplementedWithIssueDetail(sqllex, 20305, "match partial") 39618 } 39619 case 1753: 39620 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 39621 //line sql-gen.y:10469 39622 { 39623 sqlVAL.union.val = tree.MatchSimple 39624 } 39625 case 1754: 39626 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 39627 //line sql-gen.y:10478 39628 { 39629 sqlVAL.union.val = tree.ReferenceActions{Update: sqlDollar[1].union.referenceAction()} 39630 } 39631 case 1755: 39632 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 39633 //line sql-gen.y:10482 39634 { 39635 sqlVAL.union.val = tree.ReferenceActions{Delete: sqlDollar[1].union.referenceAction()} 39636 } 39637 case 1756: 39638 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 39639 //line sql-gen.y:10486 39640 { 39641 sqlVAL.union.val = tree.ReferenceActions{Update: sqlDollar[1].union.referenceAction(), Delete: sqlDollar[2].union.referenceAction()} 39642 } 39643 case 1757: 39644 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 39645 //line sql-gen.y:10490 39646 { 39647 sqlVAL.union.val = tree.ReferenceActions{Delete: sqlDollar[1].union.referenceAction(), Update: sqlDollar[2].union.referenceAction()} 39648 } 39649 case 1758: 39650 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 39651 //line sql-gen.y:10494 39652 { 39653 sqlVAL.union.val = tree.ReferenceActions{} 39654 } 39655 case 1759: 39656 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 39657 //line sql-gen.y:10500 39658 { 39659 sqlVAL.union.val = sqlDollar[3].union.referenceAction() 39660 } 39661 case 1760: 39662 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 39663 //line sql-gen.y:10506 39664 { 39665 sqlVAL.union.val = sqlDollar[3].union.referenceAction() 39666 } 39667 case 1761: 39668 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 39669 //line sql-gen.y:10514 39670 { 39671 sqlVAL.union.val = tree.NoAction 39672 } 39673 case 1762: 39674 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 39675 //line sql-gen.y:10518 39676 { 39677 sqlVAL.union.val = tree.Restrict 39678 } 39679 case 1763: 39680 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 39681 //line sql-gen.y:10522 39682 { 39683 sqlVAL.union.val = tree.Cascade 39684 } 39685 case 1764: 39686 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 39687 //line sql-gen.y:10526 39688 { 39689 sqlVAL.union.val = tree.SetNull 39690 } 39691 case 1765: 39692 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 39693 //line sql-gen.y:10530 39694 { 39695 sqlVAL.union.val = tree.SetDefault 39696 } 39697 case 1766: 39698 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 39699 //line sql-gen.y:10550 39700 { 39701 name := sqlDollar[4].union.unresolvedObjectName().ToTableName() 39702 sqlVAL.union.val = &tree.CreateSequence{ 39703 Name: name, 39704 Persistence: sqlDollar[2].union.persistence(), 39705 Options: sqlDollar[5].union.seqOpts(), 39706 } 39707 } 39708 case 1767: 39709 sqlDollar = sqlS[sqlpt-8 : sqlpt+1] 39710 //line sql-gen.y:10559 39711 { 39712 name := sqlDollar[7].union.unresolvedObjectName().ToTableName() 39713 sqlVAL.union.val = &tree.CreateSequence{ 39714 Name: name, Options: sqlDollar[8].union.seqOpts(), 39715 Persistence: sqlDollar[2].union.persistence(), 39716 IfNotExists: true, 39717 } 39718 } 39719 case 1768: 39720 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 39721 //line sql-gen.y:10567 39722 { 39723 return helpWith(sqllex, "CREATE SEQUENCE") 39724 } 39725 case 1770: 39726 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 39727 //line sql-gen.y:10571 39728 { 39729 sqlVAL.union.val = []tree.SequenceOption(nil) 39730 } 39731 case 1771: 39732 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 39733 //line sql-gen.y:10574 39734 { 39735 sqlVAL.union.val = []tree.SequenceOption{sqlDollar[1].union.seqOpt()} 39736 } 39737 case 1772: 39738 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 39739 //line sql-gen.y:10575 39740 { 39741 sqlVAL.union.val = append(sqlDollar[1].union.seqOpts(), sqlDollar[2].union.seqOpt()) 39742 } 39743 case 1773: 39744 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 39745 //line sql-gen.y:10578 39746 { 39747 39748 parsedType := sqlDollar[2].union.colType() 39749 if parsedType == nil { 39750 sqllex.(*lexer).lastError = pgerror.Newf(pgcode.UndefinedObject, "type %q does not exist", sqlDollar[2].union.val) 39751 sqllex.(*lexer).populateErrorDetails() 39752 return 1 39753 } 39754 if parsedType.Family() != types.IntFamily { 39755 sqllex.Error(fmt.Sprintf("invalid integer type: %s", parsedType.SQLString())) 39756 return 1 39757 } 39758 sqlVAL.union.val = tree.SequenceOption{Name: tree.SeqOptAs, AsIntegerType: parsedType} 39759 } 39760 case 1774: 39761 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 39762 //line sql-gen.y:10592 39763 { 39764 sqlVAL.union.val = tree.SequenceOption{Name: tree.SeqOptCycle} 39765 } 39766 case 1775: 39767 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 39768 //line sql-gen.y:10594 39769 { 39770 sqlVAL.union.val = tree.SequenceOption{Name: tree.SeqOptNoCycle} 39771 } 39772 case 1776: 39773 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 39774 //line sql-gen.y:10595 39775 { 39776 sqlVAL.union.val = tree.SequenceOption{Name: tree.SeqOptOwnedBy, ColumnItemVal: nil} 39777 } 39778 case 1777: 39779 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 39780 //line sql-gen.y:10596 39781 { 39782 varName, err := sqlDollar[3].union.unresolvedName().NormalizeVarName() 39783 if err != nil { 39784 return setErr(sqllex, err) 39785 } 39786 columnItem, ok := varName.(*tree.ColumnItem) 39787 if !ok { 39788 sqllex.Error(fmt.Sprintf("invalid column name: %q", tree.ErrString(sqlDollar[3].union.unresolvedName()))) 39789 return 1 39790 } 39791 sqlVAL.union.val = tree.SequenceOption{Name: tree.SeqOptOwnedBy, ColumnItemVal: columnItem} 39792 } 39793 case 1778: 39794 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 39795 //line sql-gen.y:10606 39796 { 39797 x := sqlDollar[2].union.int64() 39798 sqlVAL.union.val = tree.SequenceOption{Name: tree.SeqOptCache, IntVal: &x} 39799 } 39800 case 1779: 39801 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 39802 //line sql-gen.y:10608 39803 { 39804 x := sqlDollar[2].union.int64() 39805 sqlVAL.union.val = tree.SequenceOption{Name: tree.SeqOptIncrement, IntVal: &x} 39806 } 39807 case 1780: 39808 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 39809 //line sql-gen.y:10610 39810 { 39811 x := sqlDollar[3].union.int64() 39812 sqlVAL.union.val = tree.SequenceOption{Name: tree.SeqOptIncrement, IntVal: &x, OptionalWord: true} 39813 } 39814 case 1781: 39815 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 39816 //line sql-gen.y:10612 39817 { 39818 x := sqlDollar[2].union.int64() 39819 sqlVAL.union.val = tree.SequenceOption{Name: tree.SeqOptMinValue, IntVal: &x} 39820 } 39821 case 1782: 39822 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 39823 //line sql-gen.y:10614 39824 { 39825 sqlVAL.union.val = tree.SequenceOption{Name: tree.SeqOptMinValue} 39826 } 39827 case 1783: 39828 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 39829 //line sql-gen.y:10615 39830 { 39831 x := sqlDollar[2].union.int64() 39832 sqlVAL.union.val = tree.SequenceOption{Name: tree.SeqOptMaxValue, IntVal: &x} 39833 } 39834 case 1784: 39835 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 39836 //line sql-gen.y:10617 39837 { 39838 sqlVAL.union.val = tree.SequenceOption{Name: tree.SeqOptMaxValue} 39839 } 39840 case 1785: 39841 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 39842 //line sql-gen.y:10618 39843 { 39844 x := sqlDollar[2].union.int64() 39845 sqlVAL.union.val = tree.SequenceOption{Name: tree.SeqOptStart, IntVal: &x} 39846 } 39847 case 1786: 39848 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 39849 //line sql-gen.y:10620 39850 { 39851 x := sqlDollar[3].union.int64() 39852 sqlVAL.union.val = tree.SequenceOption{Name: tree.SeqOptStart, IntVal: &x, OptionalWord: true} 39853 } 39854 case 1787: 39855 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 39856 //line sql-gen.y:10622 39857 { 39858 sqlVAL.union.val = tree.SequenceOption{Name: tree.SeqOptRestart} 39859 } 39860 case 1788: 39861 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 39862 //line sql-gen.y:10623 39863 { 39864 x := sqlDollar[2].union.int64() 39865 sqlVAL.union.val = tree.SequenceOption{Name: tree.SeqOptRestart, IntVal: &x} 39866 } 39867 case 1789: 39868 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 39869 //line sql-gen.y:10625 39870 { 39871 x := sqlDollar[3].union.int64() 39872 sqlVAL.union.val = tree.SequenceOption{Name: tree.SeqOptRestart, IntVal: &x, OptionalWord: true} 39873 } 39874 case 1790: 39875 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 39876 //line sql-gen.y:10628 39877 { 39878 sqlVAL.union.val = tree.SequenceOption{Name: tree.SeqOptVirtual} 39879 } 39880 case 1791: 39881 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 39882 //line sql-gen.y:10636 39883 { 39884 sqlVAL.union.val = &tree.Truncate{Tables: sqlDollar[3].union.tableNames(), DropBehavior: sqlDollar[4].union.dropBehavior()} 39885 } 39886 case 1792: 39887 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 39888 //line sql-gen.y:10639 39889 { 39890 return helpWith(sqllex, "TRUNCATE") 39891 } 39892 case 1793: 39893 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 39894 //line sql-gen.y:10643 39895 { 39896 39897 sqlVAL.union.val = tree.KVOption{Key: tree.Name(sqlDollar[2].str), Value: sqlDollar[3].union.expr()} 39898 } 39899 case 1794: 39900 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 39901 //line sql-gen.y:10649 39902 { 39903 sqlVAL.union.val = tree.KVOption{Key: tree.Name(sqlDollar[1].str), Value: sqlDollar[2].union.expr()} 39904 } 39905 case 1795: 39906 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 39907 //line sql-gen.y:10653 39908 { 39909 sqlVAL.union.val = tree.KVOption{Key: tree.Name(sqlDollar[1].str), Value: tree.DNull} 39910 } 39911 case 1796: 39912 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 39913 //line sql-gen.y:10663 39914 { 39915 sqlVAL.union.val = &tree.CreateRole{Name: sqlDollar[3].union.roleSpec(), KVOptions: sqlDollar[4].union.kvOptions(), IsRole: sqlDollar[2].union.bool()} 39916 } 39917 case 1797: 39918 sqlDollar = sqlS[sqlpt-7 : sqlpt+1] 39919 //line sql-gen.y:10667 39920 { 39921 sqlVAL.union.val = &tree.CreateRole{Name: sqlDollar[6].union.roleSpec(), IfNotExists: true, KVOptions: sqlDollar[7].union.kvOptions(), IsRole: sqlDollar[2].union.bool()} 39922 } 39923 case 1798: 39924 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 39925 //line sql-gen.y:10670 39926 { 39927 return helpWith(sqllex, "CREATE ROLE") 39928 } 39929 case 1799: 39930 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 39931 //line sql-gen.y:10681 39932 { 39933 sqlVAL.union.val = &tree.AlterRole{Name: sqlDollar[3].union.roleSpec(), KVOptions: sqlDollar[4].union.kvOptions(), IsRole: sqlDollar[2].union.bool()} 39934 } 39935 case 1800: 39936 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 39937 //line sql-gen.y:10685 39938 { 39939 sqlVAL.union.val = &tree.AlterRole{Name: sqlDollar[5].union.roleSpec(), IfExists: true, KVOptions: sqlDollar[6].union.kvOptions(), IsRole: sqlDollar[2].union.bool()} 39940 } 39941 case 1801: 39942 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 39943 //line sql-gen.y:10689 39944 { 39945 sqlVAL.union.val = &tree.AlterRoleSet{RoleName: sqlDollar[3].union.roleSpec(), DatabaseName: tree.Name(sqlDollar[4].str), IsRole: sqlDollar[2].union.bool(), SetOrReset: sqlDollar[5].union.setVar()} 39946 } 39947 case 1802: 39948 sqlDollar = sqlS[sqlpt-7 : sqlpt+1] 39949 //line sql-gen.y:10693 39950 { 39951 sqlVAL.union.val = &tree.AlterRoleSet{RoleName: sqlDollar[5].union.roleSpec(), IfExists: true, DatabaseName: tree.Name(sqlDollar[6].str), IsRole: sqlDollar[2].union.bool(), SetOrReset: sqlDollar[7].union.setVar()} 39952 } 39953 case 1803: 39954 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 39955 //line sql-gen.y:10697 39956 { 39957 sqlVAL.union.val = &tree.AlterRoleSet{AllRoles: true, DatabaseName: tree.Name(sqlDollar[4].str), IsRole: true, SetOrReset: sqlDollar[5].union.setVar()} 39958 } 39959 case 1804: 39960 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 39961 //line sql-gen.y:10701 39962 { 39963 sqlVAL.union.val = &tree.AlterRoleSet{AllRoles: true, DatabaseName: tree.Name(sqlDollar[4].str), IsRole: false, SetOrReset: sqlDollar[5].union.setVar()} 39964 } 39965 case 1805: 39966 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 39967 //line sql-gen.y:10704 39968 { 39969 return helpWith(sqllex, "ALTER ROLE") 39970 } 39971 case 1806: 39972 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 39973 //line sql-gen.y:10708 39974 { 39975 sqlVAL.str = sqlDollar[3].str 39976 } 39977 case 1807: 39978 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 39979 //line sql-gen.y:10712 39980 { 39981 sqlVAL.str = "" 39982 } 39983 case 1808: 39984 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 39985 //line sql-gen.y:10720 39986 { 39987 sqlVAL.union.val = sqlDollar[2].union.setVar() 39988 } 39989 case 1809: 39990 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 39991 //line sql-gen.y:10724 39992 { 39993 39994 sqlVAL.union.val = sqlDollar[2].union.setVar() 39995 } 39996 case 1810: 39997 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 39998 //line sql-gen.y:10731 39999 { 40000 sqlVAL.union.val = &tree.SetVar{ResetAll: true} 40001 } 40002 case 1811: 40003 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 40004 //line sql-gen.y:10735 40005 { 40006 sqlVAL.union.val = &tree.SetVar{Name: sqlDollar[2].str, Values: tree.Exprs{tree.DefaultVal{}}} 40007 } 40008 case 1812: 40009 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 40010 //line sql-gen.y:10743 40011 { 40012 sqlVAL.union.val = true 40013 } 40014 case 1813: 40015 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 40016 //line sql-gen.y:10747 40017 { 40018 40019 sqlVAL.union.val = true 40020 } 40021 case 1814: 40022 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 40023 //line sql-gen.y:10752 40024 { 40025 sqlVAL.union.val = false 40026 } 40027 case 1815: 40028 sqlDollar = sqlS[sqlpt-8 : sqlpt+1] 40029 //line sql-gen.y:10764 40030 { 40031 name := sqlDollar[5].union.unresolvedObjectName().ToTableName() 40032 sqlVAL.union.val = &tree.CreateView{ 40033 Name: name, 40034 ColumnNames: sqlDollar[6].union.nameList(), 40035 AsSource: sqlDollar[8].union.slct(), 40036 Persistence: sqlDollar[2].union.persistence(), 40037 IfNotExists: false, 40038 Replace: false, 40039 } 40040 } 40041 case 1816: 40042 sqlDollar = sqlS[sqlpt-10 : sqlpt+1] 40043 //line sql-gen.y:10778 40044 { 40045 name := sqlDollar[7].union.unresolvedObjectName().ToTableName() 40046 sqlVAL.union.val = &tree.CreateView{ 40047 Name: name, 40048 ColumnNames: sqlDollar[8].union.nameList(), 40049 AsSource: sqlDollar[10].union.slct(), 40050 Persistence: sqlDollar[4].union.persistence(), 40051 IfNotExists: false, 40052 Replace: true, 40053 } 40054 } 40055 case 1817: 40056 sqlDollar = sqlS[sqlpt-11 : sqlpt+1] 40057 //line sql-gen.y:10790 40058 { 40059 name := sqlDollar[8].union.unresolvedObjectName().ToTableName() 40060 sqlVAL.union.val = &tree.CreateView{ 40061 Name: name, 40062 ColumnNames: sqlDollar[9].union.nameList(), 40063 AsSource: sqlDollar[11].union.slct(), 40064 Persistence: sqlDollar[2].union.persistence(), 40065 IfNotExists: true, 40066 Replace: false, 40067 } 40068 } 40069 case 1818: 40070 sqlDollar = sqlS[sqlpt-8 : sqlpt+1] 40071 //line sql-gen.y:10802 40072 { 40073 name := sqlDollar[4].union.unresolvedObjectName().ToTableName() 40074 sqlVAL.union.val = &tree.CreateView{ 40075 Name: name, 40076 ColumnNames: sqlDollar[5].union.nameList(), 40077 AsSource: sqlDollar[7].union.slct(), 40078 Materialized: true, 40079 WithData: sqlDollar[8].union.bool(), 40080 } 40081 } 40082 case 1819: 40083 sqlDollar = sqlS[sqlpt-11 : sqlpt+1] 40084 //line sql-gen.y:10813 40085 { 40086 name := sqlDollar[7].union.unresolvedObjectName().ToTableName() 40087 sqlVAL.union.val = &tree.CreateView{ 40088 Name: name, 40089 ColumnNames: sqlDollar[8].union.nameList(), 40090 AsSource: sqlDollar[10].union.slct(), 40091 Materialized: true, 40092 IfNotExists: true, 40093 WithData: sqlDollar[11].union.bool(), 40094 } 40095 } 40096 case 1820: 40097 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 40098 //line sql-gen.y:10824 40099 { 40100 return helpWith(sqllex, "CREATE VIEW") 40101 } 40102 case 1821: 40103 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 40104 //line sql-gen.y:10828 40105 { 40106 sqlVAL.union.val = false 40107 } 40108 case 1822: 40109 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 40110 //line sql-gen.y:10832 40111 { 40112 sqlVAL.union.val = true 40113 } 40114 case 1823: 40115 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 40116 //line sql-gen.y:10836 40117 { 40118 sqlVAL.union.val = true 40119 } 40120 case 1824: 40121 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 40122 //line sql-gen.y:10842 40123 { 40124 sqlVAL.union.val = tree.KVOption{Key: tree.Name(sqlDollar[1].str), Value: nil} 40125 } 40126 case 1825: 40127 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 40128 //line sql-gen.y:10846 40129 { 40130 sqlVAL.union.val = tree.KVOption{Key: tree.Name(sqlDollar[1].str), Value: nil} 40131 } 40132 case 1826: 40133 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 40134 //line sql-gen.y:10850 40135 { 40136 sqlVAL.union.val = tree.KVOption{Key: tree.Name(sqlDollar[1].str), Value: nil} 40137 } 40138 case 1827: 40139 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 40140 //line sql-gen.y:10854 40141 { 40142 sqlVAL.union.val = tree.KVOption{Key: tree.Name(sqlDollar[1].str), Value: nil} 40143 } 40144 case 1828: 40145 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 40146 //line sql-gen.y:10858 40147 { 40148 sqlVAL.union.val = tree.KVOption{Key: tree.Name(sqlDollar[1].str), Value: nil} 40149 } 40150 case 1829: 40151 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 40152 //line sql-gen.y:10862 40153 { 40154 sqlVAL.union.val = tree.KVOption{Key: tree.Name(sqlDollar[1].str), Value: nil} 40155 } 40156 case 1830: 40157 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 40158 //line sql-gen.y:10866 40159 { 40160 sqlVAL.union.val = tree.KVOption{Key: tree.Name(sqlDollar[1].str), Value: nil} 40161 } 40162 case 1831: 40163 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 40164 //line sql-gen.y:10870 40165 { 40166 sqlVAL.union.val = tree.KVOption{Key: tree.Name(sqlDollar[1].str), Value: nil} 40167 } 40168 case 1832: 40169 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 40170 //line sql-gen.y:10874 40171 { 40172 sqlVAL.union.val = tree.KVOption{Key: tree.Name(sqlDollar[1].str), Value: nil} 40173 } 40174 case 1833: 40175 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 40176 //line sql-gen.y:10878 40177 { 40178 sqlVAL.union.val = tree.KVOption{Key: tree.Name(sqlDollar[1].str), Value: nil} 40179 } 40180 case 1834: 40181 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 40182 //line sql-gen.y:10882 40183 { 40184 sqlVAL.union.val = tree.KVOption{Key: tree.Name(sqlDollar[1].str), Value: nil} 40185 } 40186 case 1835: 40187 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 40188 //line sql-gen.y:10886 40189 { 40190 sqlVAL.union.val = tree.KVOption{Key: tree.Name(sqlDollar[1].str), Value: nil} 40191 } 40192 case 1836: 40193 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 40194 //line sql-gen.y:10890 40195 { 40196 sqlVAL.union.val = tree.KVOption{Key: tree.Name(sqlDollar[1].str), Value: nil} 40197 } 40198 case 1837: 40199 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 40200 //line sql-gen.y:10894 40201 { 40202 sqlVAL.union.val = tree.KVOption{Key: tree.Name(sqlDollar[1].str), Value: nil} 40203 } 40204 case 1838: 40205 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 40206 //line sql-gen.y:10898 40207 { 40208 sqlVAL.union.val = tree.KVOption{Key: tree.Name(sqlDollar[1].str), Value: nil} 40209 } 40210 case 1839: 40211 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 40212 //line sql-gen.y:10902 40213 { 40214 sqlVAL.union.val = tree.KVOption{Key: tree.Name(sqlDollar[1].str), Value: nil} 40215 } 40216 case 1840: 40217 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 40218 //line sql-gen.y:10906 40219 { 40220 sqlVAL.union.val = tree.KVOption{Key: tree.Name(sqlDollar[1].str), Value: nil} 40221 } 40222 case 1841: 40223 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 40224 //line sql-gen.y:10910 40225 { 40226 sqlVAL.union.val = tree.KVOption{Key: tree.Name(sqlDollar[1].str), Value: nil} 40227 } 40228 case 1842: 40229 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 40230 //line sql-gen.y:10914 40231 { 40232 sqlVAL.union.val = tree.KVOption{Key: tree.Name(sqlDollar[1].str), Value: nil} 40233 } 40234 case 1843: 40235 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 40236 //line sql-gen.y:10918 40237 { 40238 sqlVAL.union.val = tree.KVOption{Key: tree.Name(sqlDollar[1].str), Value: nil} 40239 } 40240 case 1844: 40241 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 40242 //line sql-gen.y:10922 40243 { 40244 sqlVAL.union.val = tree.KVOption{Key: tree.Name(sqlDollar[1].str), Value: nil} 40245 } 40246 case 1845: 40247 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 40248 //line sql-gen.y:10926 40249 { 40250 sqlVAL.union.val = tree.KVOption{Key: tree.Name(sqlDollar[1].str), Value: nil} 40251 } 40252 case 1846: 40253 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 40254 //line sql-gen.y:10930 40255 { 40256 sqlVAL.union.val = tree.KVOption{Key: tree.Name(sqlDollar[1].str), Value: nil} 40257 } 40258 case 1847: 40259 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 40260 //line sql-gen.y:10934 40261 { 40262 sqlVAL.union.val = tree.KVOption{Key: tree.Name(sqlDollar[1].str), Value: nil} 40263 } 40264 case 1850: 40265 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 40266 //line sql-gen.y:10940 40267 { 40268 sqlVAL.union.val = tree.KVOption{Key: tree.Name(sqlDollar[1].str), Value: nil} 40269 } 40270 case 1851: 40271 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 40272 //line sql-gen.y:10944 40273 { 40274 sqlVAL.union.val = tree.KVOption{Key: tree.Name(sqlDollar[1].str), Value: nil} 40275 } 40276 case 1852: 40277 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 40278 //line sql-gen.y:10950 40279 { 40280 sqlVAL.union.val = []tree.KVOption{sqlDollar[1].union.kvOption()} 40281 } 40282 case 1853: 40283 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 40284 //line sql-gen.y:10954 40285 { 40286 sqlVAL.union.val = append(sqlDollar[1].union.kvOptions(), sqlDollar[2].union.kvOption()) 40287 } 40288 case 1854: 40289 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 40290 //line sql-gen.y:10960 40291 { 40292 sqlVAL.union.val = sqlDollar[2].union.kvOptions() 40293 } 40294 case 1855: 40295 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 40296 //line sql-gen.y:10964 40297 { 40298 sqlVAL.union.val = nil 40299 } 40300 case 1856: 40301 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 40302 //line sql-gen.y:10970 40303 { 40304 sqlVAL.union.val = tree.KVOption{Key: tree.Name("valid until"), Value: sqlDollar[3].union.expr()} 40305 } 40306 case 1857: 40307 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 40308 //line sql-gen.y:10974 40309 { 40310 sqlVAL.union.val = tree.KVOption{Key: tree.Name("valid until"), Value: tree.DNull} 40311 } 40312 case 1858: 40313 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 40314 //line sql-gen.y:10979 40315 { 40316 } 40317 case 1859: 40318 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 40319 //line sql-gen.y:10980 40320 { 40321 return unimplemented(sqllex, "create recursive view") 40322 } 40323 case 1860: 40324 sqlDollar = sqlS[sqlpt-8 : sqlpt+1] 40325 //line sql-gen.y:10989 40326 { 40327 sqlVAL.union.val = &tree.CreateType{ 40328 TypeName: sqlDollar[3].union.unresolvedObjectName(), 40329 Variety: tree.Enum, 40330 EnumLabels: sqlDollar[7].union.enumValueList(), 40331 } 40332 } 40333 case 1861: 40334 sqlDollar = sqlS[sqlpt-11 : sqlpt+1] 40335 //line sql-gen.y:10997 40336 { 40337 sqlVAL.union.val = &tree.CreateType{ 40338 TypeName: sqlDollar[6].union.unresolvedObjectName(), 40339 Variety: tree.Enum, 40340 EnumLabels: sqlDollar[10].union.enumValueList(), 40341 IfNotExists: true, 40342 } 40343 } 40344 case 1862: 40345 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 40346 //line sql-gen.y:11005 40347 { 40348 return helpWith(sqllex, "CREATE TYPE") 40349 } 40350 case 1863: 40351 sqlDollar = sqlS[sqlpt-7 : sqlpt+1] 40352 //line sql-gen.y:11008 40353 { 40354 sqlVAL.union.val = &tree.CreateType{ 40355 TypeName: sqlDollar[3].union.unresolvedObjectName(), 40356 Variety: tree.Composite, 40357 CompositeTypeList: sqlDollar[6].union.compositeTypeList(), 40358 } 40359 } 40360 case 1864: 40361 sqlDollar = sqlS[sqlpt-10 : sqlpt+1] 40362 //line sql-gen.y:11016 40363 { 40364 sqlVAL.union.val = &tree.CreateType{ 40365 TypeName: sqlDollar[6].union.unresolvedObjectName(), 40366 Variety: tree.Composite, 40367 IfNotExists: true, 40368 CompositeTypeList: sqlDollar[9].union.compositeTypeList(), 40369 } 40370 } 40371 case 1865: 40372 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 40373 //line sql-gen.y:11025 40374 { 40375 return unimplementedWithIssue(sqllex, 27791) 40376 } 40377 case 1866: 40378 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 40379 //line sql-gen.y:11027 40380 { 40381 return unimplementedWithIssueDetail(sqllex, 27793, "base") 40382 } 40383 case 1867: 40384 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 40385 //line sql-gen.y:11029 40386 { 40387 return unimplementedWithIssueDetail(sqllex, 27793, "shell") 40388 } 40389 case 1868: 40390 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 40391 //line sql-gen.y:11031 40392 { 40393 return unimplementedWithIssueDetail(sqllex, 27796, "create") 40394 } 40395 case 1869: 40396 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 40397 //line sql-gen.y:11035 40398 { 40399 sqlVAL.union.val = sqlDollar[1].union.enumValueList() 40400 } 40401 case 1870: 40402 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 40403 //line sql-gen.y:11039 40404 { 40405 sqlVAL.union.val = tree.EnumValueList(nil) 40406 } 40407 case 1871: 40408 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 40409 //line sql-gen.y:11045 40410 { 40411 sqlVAL.union.val = tree.EnumValueList{tree.EnumValue(sqlDollar[1].str)} 40412 } 40413 case 1872: 40414 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 40415 //line sql-gen.y:11049 40416 { 40417 sqlVAL.union.val = append(sqlDollar[1].union.enumValueList(), tree.EnumValue(sqlDollar[3].str)) 40418 } 40419 case 1873: 40420 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 40421 //line sql-gen.y:11055 40422 { 40423 sqlVAL.union.val = sqlDollar[1].union.compositeTypeList() 40424 } 40425 case 1874: 40426 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 40427 //line sql-gen.y:11059 40428 { 40429 sqlVAL.union.val = []tree.CompositeTypeElem{} 40430 } 40431 case 1875: 40432 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 40433 //line sql-gen.y:11065 40434 { 40435 sqlVAL.union.val = []tree.CompositeTypeElem{ 40436 tree.CompositeTypeElem{ 40437 Label: tree.Name(sqlDollar[1].str), 40438 Type: sqlDollar[2].union.typeReference(), 40439 }, 40440 } 40441 } 40442 case 1876: 40443 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 40444 //line sql-gen.y:11074 40445 { 40446 sqlVAL.union.val = append(sqlDollar[1].union.compositeTypeList(), 40447 tree.CompositeTypeElem{ 40448 Label: tree.Name(sqlDollar[3].str), 40449 Type: sqlDollar[4].union.typeReference(), 40450 }, 40451 ) 40452 } 40453 case 1877: 40454 sqlDollar = sqlS[sqlpt-17 : sqlpt+1] 40455 //line sql-gen.y:11096 40456 { 40457 table := sqlDollar[7].union.unresolvedObjectName().ToTableName() 40458 sqlVAL.union.val = &tree.CreateIndex{ 40459 Name: tree.Name(sqlDollar[5].str), 40460 Table: table, 40461 Unique: sqlDollar[2].union.bool(), 40462 Columns: sqlDollar[10].union.idxElems(), 40463 Sharded: sqlDollar[12].union.shardedIndexDef(), 40464 Storing: sqlDollar[13].union.nameList(), 40465 PartitionByIndex: sqlDollar[14].union.partitionByIndex(), 40466 StorageParams: sqlDollar[15].union.storageParams(), 40467 Predicate: sqlDollar[16].union.expr(), 40468 Inverted: sqlDollar[8].union.bool(), 40469 Concurrently: sqlDollar[4].union.bool(), 40470 Invisibility: sqlDollar[17].union.indexInvisibility(), 40471 } 40472 } 40473 case 1878: 40474 sqlDollar = sqlS[sqlpt-20 : sqlpt+1] 40475 //line sql-gen.y:11114 40476 { 40477 table := sqlDollar[10].union.unresolvedObjectName().ToTableName() 40478 sqlVAL.union.val = &tree.CreateIndex{ 40479 Name: tree.Name(sqlDollar[8].str), 40480 Table: table, 40481 Unique: sqlDollar[2].union.bool(), 40482 IfNotExists: true, 40483 Columns: sqlDollar[13].union.idxElems(), 40484 Sharded: sqlDollar[15].union.shardedIndexDef(), 40485 Storing: sqlDollar[16].union.nameList(), 40486 PartitionByIndex: sqlDollar[17].union.partitionByIndex(), 40487 Inverted: sqlDollar[11].union.bool(), 40488 StorageParams: sqlDollar[18].union.storageParams(), 40489 Predicate: sqlDollar[19].union.expr(), 40490 Concurrently: sqlDollar[4].union.bool(), 40491 Invisibility: sqlDollar[20].union.indexInvisibility(), 40492 } 40493 } 40494 case 1879: 40495 sqlDollar = sqlS[sqlpt-16 : sqlpt+1] 40496 //line sql-gen.y:11133 40497 { 40498 table := sqlDollar[8].union.unresolvedObjectName().ToTableName() 40499 sqlVAL.union.val = &tree.CreateIndex{ 40500 Name: tree.Name(sqlDollar[6].str), 40501 Table: table, 40502 Unique: sqlDollar[2].union.bool(), 40503 Inverted: true, 40504 Columns: sqlDollar[10].union.idxElems(), 40505 Storing: sqlDollar[12].union.nameList(), 40506 PartitionByIndex: sqlDollar[13].union.partitionByIndex(), 40507 StorageParams: sqlDollar[14].union.storageParams(), 40508 Predicate: sqlDollar[15].union.expr(), 40509 Concurrently: sqlDollar[5].union.bool(), 40510 Invisibility: sqlDollar[16].union.indexInvisibility(), 40511 } 40512 } 40513 case 1880: 40514 sqlDollar = sqlS[sqlpt-19 : sqlpt+1] 40515 //line sql-gen.y:11150 40516 { 40517 table := sqlDollar[11].union.unresolvedObjectName().ToTableName() 40518 sqlVAL.union.val = &tree.CreateIndex{ 40519 Name: tree.Name(sqlDollar[9].str), 40520 Table: table, 40521 Unique: sqlDollar[2].union.bool(), 40522 Inverted: true, 40523 IfNotExists: true, 40524 Columns: sqlDollar[13].union.idxElems(), 40525 Storing: sqlDollar[15].union.nameList(), 40526 PartitionByIndex: sqlDollar[16].union.partitionByIndex(), 40527 StorageParams: sqlDollar[17].union.storageParams(), 40528 Predicate: sqlDollar[18].union.expr(), 40529 Concurrently: sqlDollar[5].union.bool(), 40530 Invisibility: sqlDollar[19].union.indexInvisibility(), 40531 } 40532 } 40533 case 1881: 40534 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 40535 //line sql-gen.y:11167 40536 { 40537 return helpWith(sqllex, "CREATE INDEX") 40538 } 40539 case 1882: 40540 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 40541 //line sql-gen.y:11171 40542 { 40543 40544 switch sqlDollar[2].str { 40545 case "gin", "gist": 40546 sqlVAL.union.val = true 40547 case "btree": 40548 sqlVAL.union.val = false 40549 case "hash", "spgist", "brin": 40550 return unimplemented(sqllex, "index using "+sqlDollar[2].str) 40551 default: 40552 sqllex.Error("unrecognized access method: " + sqlDollar[2].str) 40553 return 1 40554 } 40555 } 40556 case 1883: 40557 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 40558 //line sql-gen.y:11186 40559 { 40560 sqlVAL.union.val = false 40561 } 40562 case 1884: 40563 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 40564 //line sql-gen.y:11192 40565 { 40566 sqlVAL.union.val = true 40567 } 40568 case 1885: 40569 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 40570 //line sql-gen.y:11196 40571 { 40572 sqlVAL.union.val = false 40573 } 40574 case 1886: 40575 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 40576 //line sql-gen.y:11202 40577 { 40578 sqlVAL.union.val = true 40579 } 40580 case 1887: 40581 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 40582 //line sql-gen.y:11206 40583 { 40584 sqlVAL.union.val = false 40585 } 40586 case 1888: 40587 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 40588 //line sql-gen.y:11212 40589 { 40590 sqlVAL.union.val = tree.IndexElemList{sqlDollar[1].union.idxElem()} 40591 } 40592 case 1889: 40593 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 40594 //line sql-gen.y:11216 40595 { 40596 sqlVAL.union.val = append(sqlDollar[1].union.idxElems(), sqlDollar[3].union.idxElem()) 40597 } 40598 case 1890: 40599 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 40600 //line sql-gen.y:11225 40601 { 40602 e := sqlDollar[2].union.idxElem() 40603 e.Expr = sqlDollar[1].union.expr() 40604 sqlVAL.union.val = e 40605 } 40606 case 1891: 40607 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 40608 //line sql-gen.y:11231 40609 { 40610 e := sqlDollar[4].union.idxElem() 40611 e.Expr = sqlDollar[2].union.expr() 40612 sqlVAL.union.val = e 40613 } 40614 case 1892: 40615 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 40616 //line sql-gen.y:11237 40617 { 40618 e := sqlDollar[2].union.idxElem() 40619 e.Column = tree.Name(sqlDollar[1].str) 40620 sqlVAL.union.val = e 40621 } 40622 case 1893: 40623 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 40624 //line sql-gen.y:11245 40625 { 40626 40627 opClass := sqlDollar[1].str 40628 dir := sqlDollar[2].union.dir() 40629 nullsOrder := sqlDollar[3].union.nullsOrder() 40630 40631 if nullsOrder != tree.DefaultNullsOrder { 40632 if dir == tree.Descending && nullsOrder == tree.NullsFirst { 40633 return unimplementedWithIssue(sqllex, 6224) 40634 } 40635 if dir != tree.Descending && nullsOrder == tree.NullsLast { 40636 return unimplementedWithIssue(sqllex, 6224) 40637 } 40638 } 40639 sqlVAL.union.val = tree.IndexElem{Direction: dir, NullsOrder: nullsOrder, OpClass: tree.Name(opClass)} 40640 } 40641 case 1894: 40642 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 40643 //line sql-gen.y:11263 40644 { 40645 sqlVAL.str = sqlDollar[1].str 40646 } 40647 case 1895: 40648 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 40649 //line sql-gen.y:11264 40650 { 40651 sqlVAL.str = "" 40652 } 40653 case 1896: 40654 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 40655 //line sql-gen.y:11267 40656 { 40657 sqlVAL.str = sqlDollar[2].str 40658 } 40659 case 1897: 40660 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 40661 //line sql-gen.y:11268 40662 { 40663 sqlVAL.str = "" 40664 } 40665 case 1898: 40666 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 40667 //line sql-gen.y:11272 40668 { 40669 sqlVAL.union.val = tree.Ascending 40670 } 40671 case 1899: 40672 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 40673 //line sql-gen.y:11276 40674 { 40675 sqlVAL.union.val = tree.Descending 40676 } 40677 case 1900: 40678 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 40679 //line sql-gen.y:11280 40680 { 40681 sqlVAL.union.val = tree.DefaultDirection 40682 } 40683 case 1901: 40684 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 40685 //line sql-gen.y:11286 40686 { 40687 sqlVAL.union.val = tree.IndexInvisibility{Value: 1.0} 40688 } 40689 case 1902: 40690 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 40691 //line sql-gen.y:11290 40692 { 40693 sqlVAL.union.val = tree.IndexInvisibility{Value: 1.0} 40694 } 40695 case 1903: 40696 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 40697 //line sql-gen.y:11294 40698 { 40699 sqlVAL.union.val = tree.IndexInvisibility{Value: 0.0} 40700 } 40701 case 1904: 40702 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 40703 //line sql-gen.y:11298 40704 { 40705 visibilityConst, _ := constant.Float64Val(sqlDollar[2].union.numVal().AsConstantValue()) 40706 if visibilityConst < 0.0 || visibilityConst > 1.0 { 40707 sqllex.Error("index visibility must be between 0 and 1") 40708 return 1 40709 } 40710 invisibilityConst := 1.0 - visibilityConst 40711 sqlVAL.union.val = tree.IndexInvisibility{Value: invisibilityConst, FloatProvided: true} 40712 } 40713 case 1905: 40714 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 40715 //line sql-gen.y:11308 40716 { 40717 sqlVAL.union.val = tree.IndexInvisibility{Value: 0.0} 40718 } 40719 case 1906: 40720 sqlDollar = sqlS[sqlpt-9 : sqlpt+1] 40721 //line sql-gen.y:11314 40722 { 40723 sqlVAL.union.val = &tree.ReparentDatabase{Name: tree.Name(sqlDollar[3].str), Parent: tree.Name(sqlDollar[9].str)} 40724 } 40725 case 1907: 40726 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 40727 //line sql-gen.y:11320 40728 { 40729 sqlVAL.union.val = &tree.RenameDatabase{Name: tree.Name(sqlDollar[3].str), NewName: tree.Name(sqlDollar[6].str)} 40730 } 40731 case 1908: 40732 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 40733 //line sql-gen.y:11326 40734 { 40735 name := sqlDollar[3].union.unresolvedObjectName() 40736 newName := sqlDollar[6].union.unresolvedObjectName() 40737 sqlVAL.union.val = &tree.RenameTable{Name: name, NewName: newName, IfExists: false, IsView: false} 40738 } 40739 case 1909: 40740 sqlDollar = sqlS[sqlpt-8 : sqlpt+1] 40741 //line sql-gen.y:11332 40742 { 40743 name := sqlDollar[5].union.unresolvedObjectName() 40744 newName := sqlDollar[8].union.unresolvedObjectName() 40745 sqlVAL.union.val = &tree.RenameTable{Name: name, NewName: newName, IfExists: true, IsView: false} 40746 } 40747 case 1910: 40748 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 40749 //line sql-gen.y:11340 40750 { 40751 sqlVAL.union.val = &tree.AlterTableSetSchema{ 40752 Name: sqlDollar[3].union.unresolvedObjectName(), Schema: tree.Name(sqlDollar[6].str), IfExists: false, 40753 } 40754 } 40755 case 1911: 40756 sqlDollar = sqlS[sqlpt-8 : sqlpt+1] 40757 //line sql-gen.y:11346 40758 { 40759 sqlVAL.union.val = &tree.AlterTableSetSchema{ 40760 Name: sqlDollar[5].union.unresolvedObjectName(), Schema: tree.Name(sqlDollar[8].str), IfExists: true, 40761 } 40762 } 40763 case 1912: 40764 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 40765 //line sql-gen.y:11354 40766 { 40767 sqlVAL.union.val = &tree.AlterTableLocality{ 40768 Name: sqlDollar[3].union.unresolvedObjectName(), 40769 Locality: sqlDollar[5].union.locality(), 40770 IfExists: false, 40771 } 40772 } 40773 case 1913: 40774 sqlDollar = sqlS[sqlpt-7 : sqlpt+1] 40775 //line sql-gen.y:11362 40776 { 40777 sqlVAL.union.val = &tree.AlterTableLocality{ 40778 Name: sqlDollar[5].union.unresolvedObjectName(), 40779 Locality: sqlDollar[7].union.locality(), 40780 IfExists: true, 40781 } 40782 } 40783 case 1914: 40784 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 40785 //line sql-gen.y:11372 40786 { 40787 sqlVAL.union.val = &tree.Locality{ 40788 LocalityLevel: tree.LocalityLevelGlobal, 40789 } 40790 } 40791 case 1915: 40792 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 40793 //line sql-gen.y:11378 40794 { 40795 sqlVAL.union.val = &tree.Locality{ 40796 TableRegion: tree.Name(sqlDollar[6].str), 40797 LocalityLevel: tree.LocalityLevelTable, 40798 } 40799 } 40800 case 1916: 40801 sqlDollar = sqlS[sqlpt-7 : sqlpt+1] 40802 //line sql-gen.y:11385 40803 { 40804 sqlVAL.union.val = &tree.Locality{ 40805 LocalityLevel: tree.LocalityLevelTable, 40806 } 40807 } 40808 case 1917: 40809 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 40810 //line sql-gen.y:11391 40811 { 40812 sqlVAL.union.val = &tree.Locality{ 40813 LocalityLevel: tree.LocalityLevelTable, 40814 } 40815 } 40816 case 1918: 40817 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 40818 //line sql-gen.y:11397 40819 { 40820 sqlVAL.union.val = &tree.Locality{ 40821 TableRegion: tree.Name(sqlDollar[4].str), 40822 LocalityLevel: tree.LocalityLevelTable, 40823 } 40824 } 40825 case 1919: 40826 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 40827 //line sql-gen.y:11404 40828 { 40829 sqlVAL.union.val = &tree.Locality{ 40830 LocalityLevel: tree.LocalityLevelTable, 40831 } 40832 } 40833 case 1920: 40834 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 40835 //line sql-gen.y:11410 40836 { 40837 sqlVAL.union.val = &tree.Locality{ 40838 LocalityLevel: tree.LocalityLevelTable, 40839 } 40840 } 40841 case 1921: 40842 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 40843 //line sql-gen.y:11416 40844 { 40845 sqlVAL.union.val = &tree.Locality{ 40846 LocalityLevel: tree.LocalityLevelRow, 40847 } 40848 } 40849 case 1922: 40850 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 40851 //line sql-gen.y:11422 40852 { 40853 sqlVAL.union.val = &tree.Locality{ 40854 LocalityLevel: tree.LocalityLevelRow, 40855 RegionalByRowColumn: tree.Name(sqlDollar[6].str), 40856 } 40857 } 40858 case 1923: 40859 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 40860 //line sql-gen.y:11431 40861 { 40862 sqlVAL.union.val = &tree.AlterTableOwner{ 40863 Name: sqlDollar[3].union.unresolvedObjectName(), 40864 Owner: sqlDollar[6].union.roleSpec(), 40865 IfExists: false, 40866 } 40867 } 40868 case 1924: 40869 sqlDollar = sqlS[sqlpt-8 : sqlpt+1] 40870 //line sql-gen.y:11439 40871 { 40872 sqlVAL.union.val = &tree.AlterTableOwner{ 40873 Name: sqlDollar[5].union.unresolvedObjectName(), 40874 Owner: sqlDollar[8].union.roleSpec(), 40875 IfExists: true, 40876 } 40877 } 40878 case 1925: 40879 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 40880 //line sql-gen.y:11449 40881 { 40882 sqlVAL.union.val = &tree.AlterTableSetSchema{ 40883 Name: sqlDollar[3].union.unresolvedObjectName(), Schema: tree.Name(sqlDollar[6].str), IfExists: false, IsView: true, 40884 } 40885 } 40886 case 1926: 40887 sqlDollar = sqlS[sqlpt-7 : sqlpt+1] 40888 //line sql-gen.y:11455 40889 { 40890 sqlVAL.union.val = &tree.AlterTableSetSchema{ 40891 Name: sqlDollar[4].union.unresolvedObjectName(), 40892 Schema: tree.Name(sqlDollar[7].str), 40893 IfExists: false, 40894 IsView: true, 40895 IsMaterialized: true, 40896 } 40897 } 40898 case 1927: 40899 sqlDollar = sqlS[sqlpt-8 : sqlpt+1] 40900 //line sql-gen.y:11465 40901 { 40902 sqlVAL.union.val = &tree.AlterTableSetSchema{ 40903 Name: sqlDollar[5].union.unresolvedObjectName(), Schema: tree.Name(sqlDollar[8].str), IfExists: true, IsView: true, 40904 } 40905 } 40906 case 1928: 40907 sqlDollar = sqlS[sqlpt-9 : sqlpt+1] 40908 //line sql-gen.y:11471 40909 { 40910 sqlVAL.union.val = &tree.AlterTableSetSchema{ 40911 Name: sqlDollar[6].union.unresolvedObjectName(), 40912 Schema: tree.Name(sqlDollar[9].str), 40913 IfExists: true, 40914 IsView: true, 40915 IsMaterialized: true, 40916 } 40917 } 40918 case 1929: 40919 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 40920 //line sql-gen.y:11483 40921 { 40922 sqlVAL.union.val = &tree.AlterTableOwner{ 40923 Name: sqlDollar[3].union.unresolvedObjectName(), 40924 Owner: sqlDollar[6].union.roleSpec(), 40925 IfExists: false, 40926 IsView: true, 40927 } 40928 } 40929 case 1930: 40930 sqlDollar = sqlS[sqlpt-7 : sqlpt+1] 40931 //line sql-gen.y:11492 40932 { 40933 sqlVAL.union.val = &tree.AlterTableOwner{ 40934 Name: sqlDollar[4].union.unresolvedObjectName(), 40935 Owner: sqlDollar[7].union.roleSpec(), 40936 IfExists: false, 40937 IsView: true, 40938 IsMaterialized: true, 40939 } 40940 } 40941 case 1931: 40942 sqlDollar = sqlS[sqlpt-8 : sqlpt+1] 40943 //line sql-gen.y:11502 40944 { 40945 sqlVAL.union.val = &tree.AlterTableOwner{ 40946 Name: sqlDollar[5].union.unresolvedObjectName(), 40947 Owner: sqlDollar[8].union.roleSpec(), 40948 IfExists: true, 40949 IsView: true, 40950 } 40951 } 40952 case 1932: 40953 sqlDollar = sqlS[sqlpt-9 : sqlpt+1] 40954 //line sql-gen.y:11511 40955 { 40956 sqlVAL.union.val = &tree.AlterTableOwner{ 40957 Name: sqlDollar[6].union.unresolvedObjectName(), 40958 Owner: sqlDollar[9].union.roleSpec(), 40959 IfExists: true, 40960 IsView: true, 40961 IsMaterialized: true, 40962 } 40963 } 40964 case 1933: 40965 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 40966 //line sql-gen.y:11523 40967 { 40968 sqlVAL.union.val = &tree.AlterTableSetSchema{ 40969 Name: sqlDollar[3].union.unresolvedObjectName(), Schema: tree.Name(sqlDollar[6].str), IfExists: false, IsSequence: true, 40970 } 40971 } 40972 case 1934: 40973 sqlDollar = sqlS[sqlpt-8 : sqlpt+1] 40974 //line sql-gen.y:11529 40975 { 40976 sqlVAL.union.val = &tree.AlterTableSetSchema{ 40977 Name: sqlDollar[5].union.unresolvedObjectName(), Schema: tree.Name(sqlDollar[8].str), IfExists: true, IsSequence: true, 40978 } 40979 } 40980 case 1935: 40981 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 40982 //line sql-gen.y:11537 40983 { 40984 sqlVAL.union.val = &tree.AlterTableOwner{ 40985 Name: sqlDollar[3].union.unresolvedObjectName(), 40986 Owner: sqlDollar[6].union.roleSpec(), 40987 IfExists: false, 40988 IsSequence: true, 40989 } 40990 } 40991 case 1936: 40992 sqlDollar = sqlS[sqlpt-8 : sqlpt+1] 40993 //line sql-gen.y:11546 40994 { 40995 sqlVAL.union.val = &tree.AlterTableOwner{ 40996 Name: sqlDollar[5].union.unresolvedObjectName(), 40997 Owner: sqlDollar[8].union.roleSpec(), 40998 IfExists: true, 40999 IsSequence: true, 41000 } 41001 } 41002 case 1937: 41003 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 41004 //line sql-gen.y:11557 41005 { 41006 name := sqlDollar[3].union.unresolvedObjectName() 41007 newName := sqlDollar[6].union.unresolvedObjectName() 41008 sqlVAL.union.val = &tree.RenameTable{Name: name, NewName: newName, IfExists: false, IsView: true} 41009 } 41010 case 1938: 41011 sqlDollar = sqlS[sqlpt-7 : sqlpt+1] 41012 //line sql-gen.y:11563 41013 { 41014 name := sqlDollar[4].union.unresolvedObjectName() 41015 newName := sqlDollar[7].union.unresolvedObjectName() 41016 sqlVAL.union.val = &tree.RenameTable{ 41017 Name: name, 41018 NewName: newName, 41019 IfExists: false, 41020 IsView: true, 41021 IsMaterialized: true, 41022 } 41023 } 41024 case 1939: 41025 sqlDollar = sqlS[sqlpt-8 : sqlpt+1] 41026 //line sql-gen.y:11575 41027 { 41028 name := sqlDollar[5].union.unresolvedObjectName() 41029 newName := sqlDollar[8].union.unresolvedObjectName() 41030 sqlVAL.union.val = &tree.RenameTable{Name: name, NewName: newName, IfExists: true, IsView: true} 41031 } 41032 case 1940: 41033 sqlDollar = sqlS[sqlpt-9 : sqlpt+1] 41034 //line sql-gen.y:11581 41035 { 41036 name := sqlDollar[6].union.unresolvedObjectName() 41037 newName := sqlDollar[9].union.unresolvedObjectName() 41038 sqlVAL.union.val = &tree.RenameTable{ 41039 Name: name, 41040 NewName: newName, 41041 IfExists: true, 41042 IsView: true, 41043 IsMaterialized: true, 41044 } 41045 } 41046 case 1941: 41047 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 41048 //line sql-gen.y:11595 41049 { 41050 name := sqlDollar[3].union.unresolvedObjectName() 41051 newName := sqlDollar[6].union.unresolvedObjectName() 41052 sqlVAL.union.val = &tree.RenameTable{Name: name, NewName: newName, IfExists: false, IsSequence: true} 41053 } 41054 case 1942: 41055 sqlDollar = sqlS[sqlpt-8 : sqlpt+1] 41056 //line sql-gen.y:11601 41057 { 41058 name := sqlDollar[5].union.unresolvedObjectName() 41059 newName := sqlDollar[8].union.unresolvedObjectName() 41060 sqlVAL.union.val = &tree.RenameTable{Name: name, NewName: newName, IfExists: true, IsSequence: true} 41061 } 41062 case 1943: 41063 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 41064 //line sql-gen.y:11609 41065 { 41066 sqlVAL.union.val = &tree.RenameIndex{Index: sqlDollar[3].union.newTableIndexName(), NewName: tree.UnrestrictedName(sqlDollar[6].str), IfExists: false} 41067 } 41068 case 1944: 41069 sqlDollar = sqlS[sqlpt-8 : sqlpt+1] 41070 //line sql-gen.y:11613 41071 { 41072 sqlVAL.union.val = &tree.RenameIndex{Index: sqlDollar[5].union.newTableIndexName(), NewName: tree.UnrestrictedName(sqlDollar[8].str), IfExists: true} 41073 } 41074 case 1945: 41075 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 41076 //line sql-gen.y:11625 41077 { 41078 sqlVAL.union.val = &tree.AlterDefaultPrivileges{ 41079 Roles: sqlDollar[4].union.roleSpecList(), 41080 Schemas: sqlDollar[5].union.objectNamePrefixList(), 41081 Grant: sqlDollar[6].union.abbreviatedGrant(), 41082 IsGrant: true, 41083 } 41084 } 41085 case 1946: 41086 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 41087 //line sql-gen.y:11634 41088 { 41089 sqlVAL.union.val = &tree.AlterDefaultPrivileges{ 41090 Roles: sqlDollar[4].union.roleSpecList(), 41091 Schemas: sqlDollar[5].union.objectNamePrefixList(), 41092 Revoke: sqlDollar[6].union.abbreviatedRevoke(), 41093 IsGrant: false, 41094 } 41095 } 41096 case 1947: 41097 sqlDollar = sqlS[sqlpt-8 : sqlpt+1] 41098 //line sql-gen.y:11643 41099 { 41100 sqlVAL.union.val = &tree.AlterDefaultPrivileges{ 41101 ForAllRoles: true, 41102 Schemas: sqlDollar[7].union.objectNamePrefixList(), 41103 Grant: sqlDollar[8].union.abbreviatedGrant(), 41104 IsGrant: true, 41105 } 41106 } 41107 case 1948: 41108 sqlDollar = sqlS[sqlpt-8 : sqlpt+1] 41109 //line sql-gen.y:11652 41110 { 41111 sqlVAL.union.val = &tree.AlterDefaultPrivileges{ 41112 ForAllRoles: true, 41113 Schemas: sqlDollar[7].union.objectNamePrefixList(), 41114 Revoke: sqlDollar[8].union.abbreviatedRevoke(), 41115 IsGrant: false, 41116 } 41117 } 41118 case 1949: 41119 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 41120 //line sql-gen.y:11660 41121 { 41122 return helpWith(sqllex, "ALTER DEFAULT PRIVILEGES") 41123 } 41124 case 1950: 41125 sqlDollar = sqlS[sqlpt-7 : sqlpt+1] 41126 //line sql-gen.y:11664 41127 { 41128 sqlVAL.union.val = tree.AbbreviatedGrant{ 41129 Privileges: sqlDollar[2].union.privilegeList(), 41130 Target: sqlDollar[4].union.targetObjectType(), 41131 Grantees: sqlDollar[6].union.roleSpecList(), 41132 WithGrantOption: sqlDollar[7].union.bool(), 41133 } 41134 } 41135 case 1951: 41136 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 41137 //line sql-gen.y:11675 41138 { 41139 sqlVAL.union.val = true 41140 } 41141 case 1952: 41142 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 41143 //line sql-gen.y:11679 41144 { 41145 sqlVAL.union.val = false 41146 } 41147 case 1953: 41148 sqlDollar = sqlS[sqlpt-7 : sqlpt+1] 41149 //line sql-gen.y:11685 41150 { 41151 sqlVAL.union.val = tree.AbbreviatedRevoke{ 41152 Privileges: sqlDollar[2].union.privilegeList(), 41153 Target: sqlDollar[4].union.targetObjectType(), 41154 Grantees: sqlDollar[6].union.roleSpecList(), 41155 } 41156 } 41157 case 1954: 41158 sqlDollar = sqlS[sqlpt-10 : sqlpt+1] 41159 //line sql-gen.y:11693 41160 { 41161 sqlVAL.union.val = tree.AbbreviatedRevoke{ 41162 Privileges: sqlDollar[5].union.privilegeList(), 41163 Target: sqlDollar[7].union.targetObjectType(), 41164 Grantees: sqlDollar[9].union.roleSpecList(), 41165 GrantOptionFor: true, 41166 } 41167 } 41168 case 1955: 41169 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 41170 //line sql-gen.y:11704 41171 { 41172 sqlVAL.union.val = privilege.Tables 41173 } 41174 case 1956: 41175 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 41176 //line sql-gen.y:11708 41177 { 41178 sqlVAL.union.val = privilege.Sequences 41179 } 41180 case 1957: 41181 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 41182 //line sql-gen.y:11712 41183 { 41184 sqlVAL.union.val = privilege.Types 41185 } 41186 case 1958: 41187 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 41188 //line sql-gen.y:11716 41189 { 41190 sqlVAL.union.val = privilege.Schemas 41191 } 41192 case 1959: 41193 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 41194 //line sql-gen.y:11720 41195 { 41196 sqlVAL.union.val = privilege.Routines 41197 } 41198 case 1960: 41199 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 41200 //line sql-gen.y:11724 41201 { 41202 return unimplemented(sqllex, "ALTER DEFAULT PRIVILEGES ... ON ROUTINES ...") 41203 } 41204 case 1961: 41205 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 41206 //line sql-gen.y:11730 41207 { 41208 sqlVAL.union.val = sqlDollar[3].union.roleSpecList() 41209 } 41210 case 1962: 41211 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 41212 //line sql-gen.y:11733 41213 { 41214 sqlVAL.union.val = tree.RoleSpecList(nil) 41215 } 41216 case 1963: 41217 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 41218 //line sql-gen.y:11739 41219 { 41220 sqlVAL.str = sqlDollar[3].str 41221 } 41222 case 1964: 41223 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 41224 //line sql-gen.y:11743 41225 { 41226 sqlVAL.str = "" 41227 } 41228 case 1965: 41229 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 41230 //line sql-gen.y:11750 41231 { 41232 sqlVAL.union.val = sqlDollar[3].union.objectNamePrefixList() 41233 } 41234 case 1966: 41235 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 41236 //line sql-gen.y:11754 41237 { 41238 sqlVAL.union.val = tree.ObjectNamePrefixList{} 41239 } 41240 case 1967: 41241 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 41242 //line sql-gen.y:11759 41243 { 41244 } 41245 case 1968: 41246 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 41247 //line sql-gen.y:11760 41248 { 41249 } 41250 case 1969: 41251 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 41252 //line sql-gen.y:11763 41253 { 41254 } 41255 case 1970: 41256 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 41257 //line sql-gen.y:11764 41258 { 41259 } 41260 case 1971: 41261 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 41262 //line sql-gen.y:11772 41263 { 41264 sqlVAL.union.val = &tree.ReleaseSavepoint{Savepoint: tree.Name(sqlDollar[2].str)} 41265 } 41266 case 1972: 41267 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 41268 //line sql-gen.y:11775 41269 { 41270 return helpWith(sqllex, "RELEASE") 41271 } 41272 case 1973: 41273 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 41274 //line sql-gen.y:11785 41275 { 41276 sqlVAL.union.val = &tree.ControlJobs{ 41277 Jobs: &tree.Select{ 41278 Select: &tree.ValuesClause{Rows: []tree.Exprs{tree.Exprs{sqlDollar[3].union.expr()}}}, 41279 }, 41280 Command: tree.ResumeJob, 41281 } 41282 } 41283 case 1974: 41284 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 41285 //line sql-gen.y:11793 41286 { 41287 return helpWith(sqllex, "RESUME JOBS") 41288 } 41289 case 1975: 41290 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 41291 //line sql-gen.y:11795 41292 { 41293 sqlVAL.union.val = &tree.ControlJobs{Jobs: sqlDollar[3].union.slct(), Command: tree.ResumeJob} 41294 } 41295 case 1976: 41296 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 41297 //line sql-gen.y:11799 41298 { 41299 sqlVAL.union.val = &tree.ControlJobsForSchedules{Schedules: sqlDollar[3].union.slct(), Command: tree.ResumeJob} 41300 } 41301 case 1977: 41302 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 41303 //line sql-gen.y:11802 41304 { 41305 return helpWith(sqllex, "RESUME JOBS") 41306 } 41307 case 1978: 41308 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 41309 //line sql-gen.y:11815 41310 { 41311 sqlVAL.union.val = &tree.ControlSchedules{ 41312 Schedules: &tree.Select{ 41313 Select: &tree.ValuesClause{Rows: []tree.Exprs{tree.Exprs{sqlDollar[3].union.expr()}}}, 41314 }, 41315 Command: tree.ResumeSchedule, 41316 } 41317 } 41318 case 1979: 41319 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 41320 //line sql-gen.y:11823 41321 { 41322 return helpWith(sqllex, "RESUME SCHEDULES") 41323 } 41324 case 1980: 41325 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 41326 //line sql-gen.y:11825 41327 { 41328 sqlVAL.union.val = &tree.ControlSchedules{ 41329 Schedules: sqlDollar[3].union.slct(), 41330 Command: tree.ResumeSchedule, 41331 } 41332 } 41333 case 1981: 41334 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 41335 //line sql-gen.y:11831 41336 { 41337 return helpWith(sqllex, "RESUME SCHEDULES") 41338 } 41339 case 1982: 41340 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 41341 //line sql-gen.y:11844 41342 { 41343 sqlVAL.union.val = &tree.ControlSchedules{ 41344 Schedules: &tree.Select{ 41345 Select: &tree.ValuesClause{Rows: []tree.Exprs{tree.Exprs{sqlDollar[3].union.expr()}}}, 41346 }, 41347 Command: tree.DropSchedule, 41348 } 41349 } 41350 case 1983: 41351 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 41352 //line sql-gen.y:11852 41353 { 41354 return helpWith(sqllex, "DROP SCHEDULES") 41355 } 41356 case 1984: 41357 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 41358 //line sql-gen.y:11854 41359 { 41360 sqlVAL.union.val = &tree.ControlSchedules{ 41361 Schedules: sqlDollar[3].union.slct(), 41362 Command: tree.DropSchedule, 41363 } 41364 } 41365 case 1985: 41366 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 41367 //line sql-gen.y:11860 41368 { 41369 return helpWith(sqllex, "DROP SCHEDULES") 41370 } 41371 case 1986: 41372 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 41373 //line sql-gen.y:11868 41374 { 41375 sqlVAL.union.val = &tree.Savepoint{Name: tree.Name(sqlDollar[2].str)} 41376 } 41377 case 1987: 41378 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 41379 //line sql-gen.y:11871 41380 { 41381 return helpWith(sqllex, "SAVEPOINT") 41382 } 41383 case 1989: 41384 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 41385 //line sql-gen.y:11875 41386 { 41387 return helpWith(sqllex, "BEGIN") 41388 } 41389 case 1991: 41390 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 41391 //line sql-gen.y:11876 41392 { 41393 return helpWith(sqllex, "COMMIT") 41394 } 41395 case 1993: 41396 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 41397 //line sql-gen.y:11877 41398 { 41399 return helpWith(sqllex, "ROLLBACK") 41400 } 41401 case 1995: 41402 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 41403 //line sql-gen.y:11893 41404 { 41405 s := sqlDollar[3].union.beginTransaction() 41406 s.FormatWithStart = true 41407 sqlVAL.union.val = s 41408 } 41409 case 1996: 41410 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 41411 //line sql-gen.y:11898 41412 { 41413 return helpWith(sqllex, "BEGIN") 41414 } 41415 case 1997: 41416 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 41417 //line sql-gen.y:11908 41418 { 41419 sqlVAL.union.val = &tree.CommitTransaction{} 41420 } 41421 case 1998: 41422 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 41423 //line sql-gen.y:11911 41424 { 41425 return helpWith(sqllex, "COMMIT") 41426 } 41427 case 1999: 41428 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 41429 //line sql-gen.y:11915 41430 { 41431 sqlVAL.union.val = &tree.RollbackTransaction{} 41432 } 41433 case 2000: 41434 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 41435 //line sql-gen.y:11920 41436 { 41437 } 41438 case 2001: 41439 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 41440 //line sql-gen.y:11921 41441 { 41442 } 41443 case 2002: 41444 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 41445 //line sql-gen.y:11922 41446 { 41447 } 41448 case 2003: 41449 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 41450 //line sql-gen.y:11932 41451 { 41452 sqlVAL.union.val = &tree.RollbackTransaction{} 41453 } 41454 case 2004: 41455 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 41456 //line sql-gen.y:11936 41457 { 41458 sqlVAL.union.val = &tree.RollbackToSavepoint{Savepoint: tree.Name(sqlDollar[4].str)} 41459 } 41460 case 2005: 41461 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 41462 //line sql-gen.y:11939 41463 { 41464 return helpWith(sqllex, "ROLLBACK") 41465 } 41466 case 2007: 41467 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 41468 //line sql-gen.y:11945 41469 { 41470 return helpWith(sqllex, "BEGIN") 41471 } 41472 case 2009: 41473 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 41474 //line sql-gen.y:11946 41475 { 41476 return helpWith(sqllex, "COMMIT") 41477 } 41478 case 2010: 41479 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 41480 //line sql-gen.y:11950 41481 { 41482 sqlVAL.union.val = sqlDollar[3].union.stmt() 41483 } 41484 case 2011: 41485 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 41486 //line sql-gen.y:11953 41487 { 41488 return helpWith(sqllex, "BEGIN") 41489 } 41490 case 2012: 41491 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 41492 //line sql-gen.y:11957 41493 { 41494 sqlVAL.union.val = &tree.CommitTransaction{} 41495 } 41496 case 2013: 41497 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 41498 //line sql-gen.y:11960 41499 { 41500 return helpWith(sqllex, "COMMIT") 41501 } 41502 case 2014: 41503 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 41504 //line sql-gen.y:11964 41505 { 41506 } 41507 case 2015: 41508 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 41509 //line sql-gen.y:11965 41510 { 41511 } 41512 case 2016: 41513 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 41514 //line sql-gen.y:11969 41515 { 41516 sqlVAL.str = sqlDollar[2].str 41517 } 41518 case 2017: 41519 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 41520 //line sql-gen.y:11973 41521 { 41522 sqlVAL.str = sqlDollar[1].str 41523 } 41524 case 2018: 41525 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 41526 //line sql-gen.y:11979 41527 { 41528 sqlVAL.union.val = &tree.BeginTransaction{Modes: sqlDollar[1].union.transactionModes()} 41529 } 41530 case 2019: 41531 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 41532 //line sql-gen.y:11983 41533 { 41534 sqlVAL.union.val = &tree.BeginTransaction{} 41535 } 41536 case 2020: 41537 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 41538 //line sql-gen.y:11989 41539 { 41540 sqlVAL.union.val = sqlDollar[1].union.transactionModes() 41541 } 41542 case 2021: 41543 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 41544 //line sql-gen.y:11993 41545 { 41546 a := sqlDollar[1].union.transactionModes() 41547 b := sqlDollar[3].union.transactionModes() 41548 err := a.Merge(b) 41549 if err != nil { 41550 return setErr(sqllex, err) 41551 } 41552 sqlVAL.union.val = a 41553 } 41554 case 2022: 41555 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 41556 //line sql-gen.y:12006 41557 { 41558 } 41559 case 2023: 41560 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 41561 //line sql-gen.y:12008 41562 { 41563 } 41564 case 2024: 41565 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 41566 //line sql-gen.y:12012 41567 { 41568 41569 sqlVAL.union.val = tree.TransactionModes{Isolation: sqlDollar[1].union.isoLevel()} 41570 } 41571 case 2025: 41572 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 41573 //line sql-gen.y:12017 41574 { 41575 sqlVAL.union.val = tree.TransactionModes{UserPriority: sqlDollar[1].union.userPriority()} 41576 } 41577 case 2026: 41578 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 41579 //line sql-gen.y:12021 41580 { 41581 sqlVAL.union.val = tree.TransactionModes{ReadWriteMode: sqlDollar[1].union.readWriteMode()} 41582 } 41583 case 2027: 41584 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 41585 //line sql-gen.y:12025 41586 { 41587 sqlVAL.union.val = tree.TransactionModes{AsOf: sqlDollar[1].union.asOfClause()} 41588 } 41589 case 2028: 41590 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 41591 //line sql-gen.y:12029 41592 { 41593 sqlVAL.union.val = tree.TransactionModes{Deferrable: sqlDollar[1].union.deferrableMode()} 41594 } 41595 case 2029: 41596 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 41597 //line sql-gen.y:12035 41598 { 41599 sqlVAL.union.val = sqlDollar[2].union.userPriority() 41600 } 41601 case 2030: 41602 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 41603 //line sql-gen.y:12041 41604 { 41605 sqlVAL.union.val = sqlDollar[3].union.isoLevel() 41606 } 41607 case 2031: 41608 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 41609 //line sql-gen.y:12047 41610 { 41611 sqlVAL.union.val = tree.ReadOnly 41612 } 41613 case 2032: 41614 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 41615 //line sql-gen.y:12051 41616 { 41617 sqlVAL.union.val = tree.ReadWrite 41618 } 41619 case 2033: 41620 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 41621 //line sql-gen.y:12057 41622 { 41623 sqlVAL.union.val = tree.Deferrable 41624 } 41625 case 2034: 41626 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 41627 //line sql-gen.y:12061 41628 { 41629 sqlVAL.union.val = tree.NotDeferrable 41630 } 41631 case 2035: 41632 sqlDollar = sqlS[sqlpt-16 : sqlpt+1] 41633 //line sql-gen.y:12071 41634 { 41635 sqlVAL.union.val = &tree.CreateDatabase{ 41636 Name: tree.Name(sqlDollar[3].str), 41637 Template: sqlDollar[5].str, 41638 Encoding: sqlDollar[6].str, 41639 Collate: sqlDollar[7].str, 41640 CType: sqlDollar[8].str, 41641 ConnectionLimit: sqlDollar[9].union.int32(), 41642 PrimaryRegion: tree.Name(sqlDollar[10].str), 41643 Regions: sqlDollar[11].union.nameList(), 41644 SurvivalGoal: sqlDollar[12].union.survivalGoal(), 41645 Placement: sqlDollar[13].union.dataPlacement(), 41646 Owner: sqlDollar[14].union.roleSpec(), 41647 SuperRegion: sqlDollar[15].union.superRegion(), 41648 SecondaryRegion: tree.Name(sqlDollar[16].str), 41649 } 41650 } 41651 case 2036: 41652 sqlDollar = sqlS[sqlpt-19 : sqlpt+1] 41653 //line sql-gen.y:12089 41654 { 41655 sqlVAL.union.val = &tree.CreateDatabase{ 41656 IfNotExists: true, 41657 Name: tree.Name(sqlDollar[6].str), 41658 Template: sqlDollar[8].str, 41659 Encoding: sqlDollar[9].str, 41660 Collate: sqlDollar[10].str, 41661 CType: sqlDollar[11].str, 41662 ConnectionLimit: sqlDollar[12].union.int32(), 41663 PrimaryRegion: tree.Name(sqlDollar[13].str), 41664 Regions: sqlDollar[14].union.nameList(), 41665 SurvivalGoal: sqlDollar[15].union.survivalGoal(), 41666 Placement: sqlDollar[16].union.dataPlacement(), 41667 Owner: sqlDollar[17].union.roleSpec(), 41668 SuperRegion: sqlDollar[18].union.superRegion(), 41669 SecondaryRegion: tree.Name(sqlDollar[19].str), 41670 } 41671 } 41672 case 2037: 41673 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 41674 //line sql-gen.y:12107 41675 { 41676 return helpWith(sqllex, "CREATE DATABASE") 41677 } 41678 case 2039: 41679 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 41680 //line sql-gen.y:12112 41681 { 41682 sqlVAL.str = "" 41683 } 41684 case 2040: 41685 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 41686 //line sql-gen.y:12117 41687 { 41688 sqlVAL.str = sqlDollar[4].str 41689 } 41690 case 2042: 41691 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 41692 //line sql-gen.y:12124 41693 { 41694 sqlVAL.str = "" 41695 } 41696 case 2043: 41697 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 41698 //line sql-gen.y:12129 41699 { 41700 sqlVAL.str = sqlDollar[4].str 41701 } 41702 case 2045: 41703 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 41704 //line sql-gen.y:12136 41705 { 41706 sqlVAL.union.val = tree.SuperRegion{} 41707 } 41708 case 2046: 41709 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 41710 //line sql-gen.y:12142 41711 { 41712 sqlVAL.union.val = tree.SuperRegion{Name: tree.Name(sqlDollar[3].str), Regions: sqlDollar[5].union.nameList()} 41713 } 41714 case 2048: 41715 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 41716 //line sql-gen.y:12149 41717 { 41718 sqlVAL.union.val = tree.DataPlacementUnspecified 41719 } 41720 case 2049: 41721 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 41722 //line sql-gen.y:12155 41723 { 41724 sqlVAL.union.val = tree.DataPlacementRestricted 41725 } 41726 case 2050: 41727 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 41728 //line sql-gen.y:12159 41729 { 41730 sqlVAL.union.val = tree.DataPlacementDefault 41731 } 41732 case 2051: 41733 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 41734 //line sql-gen.y:12165 41735 { 41736 sqlVAL.union.val = sqlDollar[3].union.nameList() 41737 } 41738 case 2052: 41739 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 41740 //line sql-gen.y:12169 41741 { 41742 sqlVAL.union.val = tree.NameList(nil) 41743 } 41744 case 2053: 41745 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 41746 //line sql-gen.y:12175 41747 { 41748 41749 } 41750 case 2055: 41751 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 41752 //line sql-gen.y:12182 41753 { 41754 sqlVAL.union.val = tree.SurvivalGoalRegionFailure 41755 } 41756 case 2056: 41757 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 41758 //line sql-gen.y:12186 41759 { 41760 sqlVAL.union.val = tree.SurvivalGoalZoneFailure 41761 } 41762 case 2057: 41763 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 41764 //line sql-gen.y:12190 41765 { 41766 41767 sqlVAL.union.val = tree.SurvivalGoalZoneFailure 41768 } 41769 case 2059: 41770 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 41771 //line sql-gen.y:12199 41772 { 41773 sqlVAL.union.val = tree.SurvivalGoalDefault 41774 } 41775 case 2060: 41776 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 41777 //line sql-gen.y:12205 41778 { 41779 sqlVAL.str = sqlDollar[3].str 41780 } 41781 case 2061: 41782 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 41783 //line sql-gen.y:12209 41784 { 41785 sqlVAL.str = "" 41786 } 41787 case 2062: 41788 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 41789 //line sql-gen.y:12215 41790 { 41791 sqlVAL.str = sqlDollar[3].str 41792 } 41793 case 2063: 41794 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 41795 //line sql-gen.y:12219 41796 { 41797 sqlVAL.str = "" 41798 } 41799 case 2064: 41800 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 41801 //line sql-gen.y:12225 41802 { 41803 sqlVAL.str = sqlDollar[3].str 41804 } 41805 case 2065: 41806 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 41807 //line sql-gen.y:12229 41808 { 41809 sqlVAL.str = "" 41810 } 41811 case 2066: 41812 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 41813 //line sql-gen.y:12235 41814 { 41815 sqlVAL.str = sqlDollar[3].str 41816 } 41817 case 2067: 41818 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 41819 //line sql-gen.y:12239 41820 { 41821 sqlVAL.str = "" 41822 } 41823 case 2068: 41824 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 41825 //line sql-gen.y:12245 41826 { 41827 ret, err := sqlDollar[4].union.numVal().AsInt32() 41828 if err != nil { 41829 return setErr(sqllex, err) 41830 } 41831 sqlVAL.union.val = ret 41832 } 41833 case 2069: 41834 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 41835 //line sql-gen.y:12253 41836 { 41837 sqlVAL.union.val = int32(-1) 41838 } 41839 case 2070: 41840 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 41841 //line sql-gen.y:12259 41842 { 41843 sqlVAL.union = sqlDollar[3].union 41844 } 41845 case 2071: 41846 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 41847 //line sql-gen.y:12263 41848 { 41849 sqlVAL.union.val = tree.RoleSpec{ 41850 RoleSpecType: tree.CurrentUser, 41851 } 41852 } 41853 case 2072: 41854 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 41855 //line sql-gen.y:12270 41856 { 41857 } 41858 case 2073: 41859 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 41860 //line sql-gen.y:12271 41861 { 41862 } 41863 case 2074: 41864 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 41865 //line sql-gen.y:12286 41866 { 41867 sqlVAL.union.val = sqlDollar[5].union.stmt() 41868 sqlVAL.union.val.(*tree.Insert).With = sqlDollar[1].union.with() 41869 sqlVAL.union.val.(*tree.Insert).Table = sqlDollar[4].union.tblExpr() 41870 sqlVAL.union.val.(*tree.Insert).Returning = sqlDollar[6].union.retClause() 41871 } 41872 case 2075: 41873 sqlDollar = sqlS[sqlpt-7 : sqlpt+1] 41874 //line sql-gen.y:12293 41875 { 41876 sqlVAL.union.val = sqlDollar[5].union.stmt() 41877 sqlVAL.union.val.(*tree.Insert).With = sqlDollar[1].union.with() 41878 sqlVAL.union.val.(*tree.Insert).Table = sqlDollar[4].union.tblExpr() 41879 sqlVAL.union.val.(*tree.Insert).OnConflict = sqlDollar[6].union.onConflict() 41880 sqlVAL.union.val.(*tree.Insert).Returning = sqlDollar[7].union.retClause() 41881 } 41882 case 2076: 41883 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 41884 //line sql-gen.y:12300 41885 { 41886 return helpWith(sqllex, "INSERT") 41887 } 41888 case 2077: 41889 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 41890 //line sql-gen.y:12311 41891 { 41892 sqlVAL.union.val = sqlDollar[5].union.stmt() 41893 sqlVAL.union.val.(*tree.Insert).With = sqlDollar[1].union.with() 41894 sqlVAL.union.val.(*tree.Insert).Table = sqlDollar[4].union.tblExpr() 41895 sqlVAL.union.val.(*tree.Insert).OnConflict = &tree.OnConflict{} 41896 sqlVAL.union.val.(*tree.Insert).Returning = sqlDollar[6].union.retClause() 41897 } 41898 case 2078: 41899 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 41900 //line sql-gen.y:12318 41901 { 41902 return helpWith(sqllex, "UPSERT") 41903 } 41904 case 2079: 41905 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 41906 //line sql-gen.y:12322 41907 { 41908 name := sqlDollar[1].union.unresolvedObjectName().ToTableName() 41909 sqlVAL.union.val = &name 41910 } 41911 case 2080: 41912 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 41913 //line sql-gen.y:12331 41914 { 41915 name := sqlDollar[1].union.unresolvedObjectName().ToTableName() 41916 sqlVAL.union.val = &tree.AliasedTableExpr{Expr: &name, As: tree.AliasClause{Alias: tree.Name(sqlDollar[3].str)}} 41917 } 41918 case 2081: 41919 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 41920 //line sql-gen.y:12336 41921 { 41922 sqlVAL.union.val = sqlDollar[1].union.tblExpr() 41923 } 41924 case 2082: 41925 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 41926 //line sql-gen.y:12342 41927 { 41928 sqlVAL.union.val = &tree.Insert{Rows: sqlDollar[1].union.slct()} 41929 } 41930 case 2083: 41931 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 41932 //line sql-gen.y:12346 41933 { 41934 sqlVAL.union.val = &tree.Insert{Columns: sqlDollar[2].union.nameList(), Rows: sqlDollar[4].union.slct()} 41935 } 41936 case 2084: 41937 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 41938 //line sql-gen.y:12350 41939 { 41940 sqlVAL.union.val = &tree.Insert{Rows: &tree.Select{}} 41941 } 41942 case 2085: 41943 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 41944 //line sql-gen.y:12356 41945 { 41946 sqlVAL.union.val = tree.NameList{tree.Name(sqlDollar[1].str)} 41947 } 41948 case 2086: 41949 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 41950 //line sql-gen.y:12360 41951 { 41952 sqlVAL.union.val = append(sqlDollar[1].union.nameList(), tree.Name(sqlDollar[3].str)) 41953 } 41954 case 2088: 41955 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 41956 //line sql-gen.y:12380 41957 { 41958 return unimplementedWithIssue(sqllex, 27792) 41959 } 41960 case 2089: 41961 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 41962 //line sql-gen.y:12384 41963 { 41964 sqlVAL.union.val = &tree.OnConflict{ 41965 Columns: tree.NameList(nil), 41966 DoNothing: true, 41967 } 41968 } 41969 case 2090: 41970 sqlDollar = sqlS[sqlpt-8 : sqlpt+1] 41971 //line sql-gen.y:12391 41972 { 41973 sqlVAL.union.val = &tree.OnConflict{ 41974 Columns: sqlDollar[4].union.nameList(), 41975 ArbiterPredicate: sqlDollar[6].union.expr(), 41976 DoNothing: true, 41977 } 41978 } 41979 case 2091: 41980 sqlDollar = sqlS[sqlpt-11 : sqlpt+1] 41981 //line sql-gen.y:12399 41982 { 41983 sqlVAL.union.val = &tree.OnConflict{ 41984 Columns: sqlDollar[4].union.nameList(), 41985 ArbiterPredicate: sqlDollar[6].union.expr(), 41986 Exprs: sqlDollar[10].union.updateExprs(), 41987 Where: tree.NewWhere(tree.AstWhere, sqlDollar[11].union.expr()), 41988 } 41989 } 41990 case 2092: 41991 sqlDollar = sqlS[sqlpt-7 : sqlpt+1] 41992 //line sql-gen.y:12408 41993 { 41994 sqlVAL.union.val = &tree.OnConflict{ 41995 Constraint: tree.Name(sqlDollar[5].str), 41996 DoNothing: true, 41997 } 41998 } 41999 case 2093: 42000 sqlDollar = sqlS[sqlpt-10 : sqlpt+1] 42001 //line sql-gen.y:12415 42002 { 42003 sqlVAL.union.val = &tree.OnConflict{ 42004 Constraint: tree.Name(sqlDollar[5].str), 42005 Exprs: sqlDollar[9].union.updateExprs(), 42006 Where: tree.NewWhere(tree.AstWhere, sqlDollar[10].union.expr()), 42007 } 42008 } 42009 case 2094: 42010 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 42011 //line sql-gen.y:12425 42012 { 42013 ret := tree.ReturningExprs(sqlDollar[2].union.selExprs()) 42014 sqlVAL.union.val = &ret 42015 } 42016 case 2095: 42017 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 42018 //line sql-gen.y:12430 42019 { 42020 sqlVAL.union.val = tree.ReturningNothingClause 42021 } 42022 case 2096: 42023 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 42024 //line sql-gen.y:12434 42025 { 42026 sqlVAL.union.val = tree.AbsentReturningClause 42027 } 42028 case 2097: 42029 sqlDollar = sqlS[sqlpt-10 : sqlpt+1] 42030 //line sql-gen.y:12452 42031 { 42032 sqlVAL.union.val = &tree.Update{ 42033 With: sqlDollar[1].union.with(), 42034 Table: sqlDollar[3].union.tblExpr(), 42035 Exprs: sqlDollar[5].union.updateExprs(), 42036 From: sqlDollar[6].union.tblExprs(), 42037 Where: tree.NewWhere(tree.AstWhere, sqlDollar[7].union.expr()), 42038 OrderBy: sqlDollar[8].union.orderBy(), 42039 Limit: sqlDollar[9].union.limit(), 42040 Returning: sqlDollar[10].union.retClause(), 42041 } 42042 } 42043 case 2098: 42044 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 42045 //line sql-gen.y:12464 42046 { 42047 return helpWith(sqllex, "UPDATE") 42048 } 42049 case 2099: 42050 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 42051 //line sql-gen.y:12467 42052 { 42053 sqlVAL.union.val = sqlDollar[2].union.tblExprs() 42054 } 42055 case 2100: 42056 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 42057 //line sql-gen.y:12470 42058 { 42059 sqlVAL.union.val = tree.TableExprs{} 42060 } 42061 case 2101: 42062 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 42063 //line sql-gen.y:12476 42064 { 42065 sqlVAL.union.val = tree.UpdateExprs{sqlDollar[1].union.updateExpr()} 42066 } 42067 case 2102: 42068 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 42069 //line sql-gen.y:12480 42070 { 42071 sqlVAL.union.val = append(sqlDollar[1].union.updateExprs(), sqlDollar[3].union.updateExpr()) 42072 } 42073 case 2105: 42074 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 42075 //line sql-gen.y:12493 42076 { 42077 sqlVAL.union.val = &tree.UpdateExpr{Names: tree.NameList{tree.Name(sqlDollar[1].str)}, Expr: sqlDollar[3].union.expr()} 42078 } 42079 case 2106: 42080 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 42081 //line sql-gen.y:12496 42082 { 42083 return unimplementedWithIssue(sqllex, 27792) 42084 } 42085 case 2107: 42086 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 42087 //line sql-gen.y:12500 42088 { 42089 sqlVAL.union.val = &tree.UpdateExpr{Tuple: true, Names: sqlDollar[2].union.nameList(), Expr: sqlDollar[5].union.expr()} 42090 } 42091 case 2108: 42092 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 42093 //line sql-gen.y:12511 42094 { 42095 sqlVAL.union.val = &tree.ReassignOwnedBy{ 42096 OldRoles: sqlDollar[4].union.roleSpecList(), 42097 NewRole: sqlDollar[6].union.roleSpec(), 42098 } 42099 } 42100 case 2109: 42101 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 42102 //line sql-gen.y:12517 42103 { 42104 return helpWith(sqllex, "REASSIGN OWNED BY") 42105 } 42106 case 2110: 42107 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 42108 //line sql-gen.y:12526 42109 { 42110 sqlVAL.union.val = &tree.DropOwnedBy{ 42111 Roles: sqlDollar[4].union.roleSpecList(), 42112 DropBehavior: sqlDollar[5].union.dropBehavior(), 42113 } 42114 } 42115 case 2111: 42116 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 42117 //line sql-gen.y:12532 42118 { 42119 return helpWith(sqllex, "DROP OWNED BY") 42120 } 42121 case 2113: 42122 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 42123 //line sql-gen.y:12573 42124 { 42125 sqlVAL.union.val = &tree.Select{Select: sqlDollar[1].union.selectStmt()} 42126 } 42127 case 2114: 42128 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 42129 //line sql-gen.y:12579 42130 { 42131 sqlVAL.union.val = &tree.ParenSelect{Select: sqlDollar[2].union.slct()} 42132 } 42133 case 2115: 42134 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 42135 //line sql-gen.y:12583 42136 { 42137 sqlVAL.union.val = &tree.ParenSelect{Select: &tree.Select{Select: sqlDollar[2].union.selectStmt()}} 42138 } 42139 case 2116: 42140 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 42141 //line sql-gen.y:12598 42142 { 42143 sqlVAL.union.val = &tree.Select{Select: sqlDollar[1].union.selectStmt()} 42144 } 42145 case 2117: 42146 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 42147 //line sql-gen.y:12602 42148 { 42149 sqlVAL.union.val = &tree.Select{Select: sqlDollar[1].union.selectStmt(), OrderBy: sqlDollar[2].union.orderBy()} 42150 } 42151 case 2118: 42152 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 42153 //line sql-gen.y:12606 42154 { 42155 sqlVAL.union.val = &tree.Select{Select: sqlDollar[1].union.selectStmt(), OrderBy: sqlDollar[2].union.orderBy(), Limit: sqlDollar[4].union.limit(), Locking: sqlDollar[3].union.lockingClause()} 42156 } 42157 case 2119: 42158 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 42159 //line sql-gen.y:12610 42160 { 42161 sqlVAL.union.val = &tree.Select{Select: sqlDollar[1].union.selectStmt(), OrderBy: sqlDollar[2].union.orderBy(), Limit: sqlDollar[3].union.limit(), Locking: sqlDollar[4].union.lockingClause()} 42162 } 42163 case 2120: 42164 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 42165 //line sql-gen.y:12614 42166 { 42167 sqlVAL.union.val = &tree.Select{With: sqlDollar[1].union.with(), Select: sqlDollar[2].union.selectStmt()} 42168 } 42169 case 2121: 42170 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 42171 //line sql-gen.y:12618 42172 { 42173 sqlVAL.union.val = &tree.Select{With: sqlDollar[1].union.with(), Select: sqlDollar[2].union.selectStmt(), OrderBy: sqlDollar[3].union.orderBy()} 42174 } 42175 case 2122: 42176 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 42177 //line sql-gen.y:12622 42178 { 42179 sqlVAL.union.val = &tree.Select{With: sqlDollar[1].union.with(), Select: sqlDollar[2].union.selectStmt(), OrderBy: sqlDollar[3].union.orderBy(), Limit: sqlDollar[5].union.limit(), Locking: sqlDollar[4].union.lockingClause()} 42180 } 42181 case 2123: 42182 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 42183 //line sql-gen.y:12626 42184 { 42185 sqlVAL.union.val = &tree.Select{With: sqlDollar[1].union.with(), Select: sqlDollar[2].union.selectStmt(), OrderBy: sqlDollar[3].union.orderBy(), Limit: sqlDollar[4].union.limit(), Locking: sqlDollar[5].union.lockingClause()} 42186 } 42187 case 2124: 42188 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 42189 //line sql-gen.y:12631 42190 { 42191 sqlVAL.union.val = sqlDollar[1].union.lockingClause() 42192 } 42193 case 2125: 42194 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 42195 //line sql-gen.y:12632 42196 { 42197 sqlVAL.union.val = (tree.LockingClause)(nil) 42198 } 42199 case 2126: 42200 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 42201 //line sql-gen.y:12635 42202 { 42203 sqlVAL.union.val = sqlDollar[1].union.lockingClause() 42204 } 42205 case 2127: 42206 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 42207 //line sql-gen.y:12636 42208 { 42209 sqlVAL.union.val = (tree.LockingClause)(nil) 42210 } 42211 case 2128: 42212 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 42213 //line sql-gen.y:12640 42214 { 42215 sqlVAL.union.val = tree.LockingClause{sqlDollar[1].union.lockingItem()} 42216 } 42217 case 2129: 42218 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 42219 //line sql-gen.y:12644 42220 { 42221 sqlVAL.union.val = append(sqlDollar[1].union.lockingClause(), sqlDollar[2].union.lockingItem()) 42222 } 42223 case 2130: 42224 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 42225 //line sql-gen.y:12650 42226 { 42227 sqlVAL.union.val = &tree.LockingItem{ 42228 Strength: sqlDollar[1].union.lockingStrength(), 42229 Targets: sqlDollar[2].union.tableNames(), 42230 WaitPolicy: sqlDollar[3].union.lockingWaitPolicy(), 42231 } 42232 } 42233 case 2131: 42234 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 42235 //line sql-gen.y:12659 42236 { 42237 sqlVAL.union.val = tree.ForUpdate 42238 } 42239 case 2132: 42240 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 42241 //line sql-gen.y:12660 42242 { 42243 sqlVAL.union.val = tree.ForNoKeyUpdate 42244 } 42245 case 2133: 42246 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 42247 //line sql-gen.y:12661 42248 { 42249 sqlVAL.union.val = tree.ForShare 42250 } 42251 case 2134: 42252 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 42253 //line sql-gen.y:12662 42254 { 42255 sqlVAL.union.val = tree.ForKeyShare 42256 } 42257 case 2135: 42258 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 42259 //line sql-gen.y:12665 42260 { 42261 sqlVAL.union.val = tree.TableNames{} 42262 } 42263 case 2136: 42264 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 42265 //line sql-gen.y:12666 42266 { 42267 sqlVAL.union.val = sqlDollar[2].union.tableNames() 42268 } 42269 case 2137: 42270 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 42271 //line sql-gen.y:12669 42272 { 42273 sqlVAL.union.val = tree.LockWaitBlock 42274 } 42275 case 2138: 42276 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 42277 //line sql-gen.y:12670 42278 { 42279 sqlVAL.union.val = tree.LockWaitSkipLocked 42280 } 42281 case 2139: 42282 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 42283 //line sql-gen.y:12671 42284 { 42285 sqlVAL.union.val = tree.LockWaitError 42286 } 42287 case 2140: 42288 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 42289 //line sql-gen.y:12676 42290 { 42291 return helpWith(sqllex, "<SELECTCLAUSE>") 42292 } 42293 case 2144: 42294 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 42295 //line sql-gen.y:12711 42296 { 42297 return helpWith(sqllex, "SELECT") 42298 } 42299 case 2146: 42300 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 42301 //line sql-gen.y:12712 42302 { 42303 return helpWith(sqllex, "VALUES") 42304 } 42305 case 2148: 42306 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 42307 //line sql-gen.y:12713 42308 { 42309 return helpWith(sqllex, "TABLE") 42310 } 42311 case 2150: 42312 sqlDollar = sqlS[sqlpt-8 : sqlpt+1] 42313 //line sql-gen.y:12735 42314 { 42315 sqlVAL.union.val = &tree.SelectClause{ 42316 Exprs: sqlDollar[3].union.selExprs(), 42317 From: sqlDollar[4].union.from(), 42318 Where: tree.NewWhere(tree.AstWhere, sqlDollar[5].union.expr()), 42319 GroupBy: sqlDollar[6].union.groupBy(), 42320 Having: tree.NewWhere(tree.AstHaving, sqlDollar[7].union.expr()), 42321 Window: sqlDollar[8].union.window(), 42322 } 42323 } 42324 case 2151: 42325 sqlDollar = sqlS[sqlpt-8 : sqlpt+1] 42326 //line sql-gen.y:12748 42327 { 42328 sqlVAL.union.val = &tree.SelectClause{ 42329 Distinct: sqlDollar[2].union.bool(), 42330 Exprs: sqlDollar[3].union.selExprs(), 42331 From: sqlDollar[4].union.from(), 42332 Where: tree.NewWhere(tree.AstWhere, sqlDollar[5].union.expr()), 42333 GroupBy: sqlDollar[6].union.groupBy(), 42334 Having: tree.NewWhere(tree.AstHaving, sqlDollar[7].union.expr()), 42335 Window: sqlDollar[8].union.window(), 42336 } 42337 } 42338 case 2152: 42339 sqlDollar = sqlS[sqlpt-8 : sqlpt+1] 42340 //line sql-gen.y:12762 42341 { 42342 sqlVAL.union.val = &tree.SelectClause{ 42343 Distinct: true, 42344 DistinctOn: sqlDollar[2].union.distinctOn(), 42345 Exprs: sqlDollar[3].union.selExprs(), 42346 From: sqlDollar[4].union.from(), 42347 Where: tree.NewWhere(tree.AstWhere, sqlDollar[5].union.expr()), 42348 GroupBy: sqlDollar[6].union.groupBy(), 42349 Having: tree.NewWhere(tree.AstHaving, sqlDollar[7].union.expr()), 42350 Window: sqlDollar[8].union.window(), 42351 } 42352 } 42353 case 2153: 42354 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 42355 //line sql-gen.y:12774 42356 { 42357 return helpWith(sqllex, "SELECT") 42358 } 42359 case 2154: 42360 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 42361 //line sql-gen.y:12778 42362 { 42363 sqlVAL.union.val = &tree.UnionClause{ 42364 Type: tree.UnionOp, 42365 Left: &tree.Select{Select: sqlDollar[1].union.selectStmt()}, 42366 Right: &tree.Select{Select: sqlDollar[4].union.selectStmt()}, 42367 All: sqlDollar[3].union.bool(), 42368 } 42369 } 42370 case 2155: 42371 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 42372 //line sql-gen.y:12787 42373 { 42374 sqlVAL.union.val = &tree.UnionClause{ 42375 Type: tree.IntersectOp, 42376 Left: &tree.Select{Select: sqlDollar[1].union.selectStmt()}, 42377 Right: &tree.Select{Select: sqlDollar[4].union.selectStmt()}, 42378 All: sqlDollar[3].union.bool(), 42379 } 42380 } 42381 case 2156: 42382 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 42383 //line sql-gen.y:12796 42384 { 42385 sqlVAL.union.val = &tree.UnionClause{ 42386 Type: tree.ExceptOp, 42387 Left: &tree.Select{Select: sqlDollar[1].union.selectStmt()}, 42388 Right: &tree.Select{Select: sqlDollar[4].union.selectStmt()}, 42389 All: sqlDollar[3].union.bool(), 42390 } 42391 } 42392 case 2157: 42393 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 42394 //line sql-gen.y:12811 42395 { 42396 sqlVAL.union.val = &tree.SelectClause{ 42397 Exprs: tree.SelectExprs{tree.StarSelectExpr()}, 42398 From: tree.From{Tables: tree.TableExprs{sqlDollar[2].union.tblExpr()}}, 42399 TableSelect: true, 42400 } 42401 } 42402 case 2158: 42403 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 42404 //line sql-gen.y:12818 42405 { 42406 return helpWith(sqllex, "TABLE") 42407 } 42408 case 2159: 42409 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 42410 //line sql-gen.y:12830 42411 { 42412 sqlVAL.union.val = &tree.With{CTEList: sqlDollar[2].union.ctes()} 42413 } 42414 case 2160: 42415 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 42416 //line sql-gen.y:12834 42417 { 42418 42419 sqlVAL.union.val = &tree.With{CTEList: sqlDollar[2].union.ctes()} 42420 } 42421 case 2161: 42422 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 42423 //line sql-gen.y:12839 42424 { 42425 sqlVAL.union.val = &tree.With{Recursive: true, CTEList: sqlDollar[3].union.ctes()} 42426 } 42427 case 2162: 42428 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 42429 //line sql-gen.y:12845 42430 { 42431 sqlVAL.union.val = []*tree.CTE{sqlDollar[1].union.cte()} 42432 } 42433 case 2163: 42434 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 42435 //line sql-gen.y:12849 42436 { 42437 sqlVAL.union.val = append(sqlDollar[1].union.ctes(), sqlDollar[3].union.cte()) 42438 } 42439 case 2164: 42440 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 42441 //line sql-gen.y:12855 42442 { 42443 sqlVAL.union.val = tree.CTEMaterializeAlways 42444 } 42445 case 2165: 42446 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 42447 //line sql-gen.y:12859 42448 { 42449 sqlVAL.union.val = tree.CTEMaterializeNever 42450 } 42451 case 2166: 42452 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 42453 //line sql-gen.y:12862 42454 { 42455 sqlVAL.union.val = tree.CTEMaterializeDefault 42456 } 42457 case 2167: 42458 sqlDollar = sqlS[sqlpt-7 : sqlpt+1] 42459 //line sql-gen.y:12868 42460 { 42461 sqlVAL.union.val = &tree.CTE{ 42462 Name: tree.AliasClause{Alias: tree.Name(sqlDollar[1].str), Cols: sqlDollar[2].union.colDefList()}, 42463 Mtr: sqlDollar[4].union.cteMaterializeClause(), 42464 Stmt: sqlDollar[6].union.stmt(), 42465 } 42466 } 42467 case 2168: 42468 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 42469 //line sql-gen.y:12877 42470 { 42471 } 42472 case 2169: 42473 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 42474 //line sql-gen.y:12878 42475 { 42476 } 42477 case 2170: 42478 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 42479 //line sql-gen.y:12882 42480 { 42481 sqlVAL.union.val = sqlDollar[1].union.with() 42482 } 42483 case 2171: 42484 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 42485 //line sql-gen.y:12886 42486 { 42487 sqlVAL.union.val = nil 42488 } 42489 case 2172: 42490 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 42491 //line sql-gen.y:12891 42492 { 42493 } 42494 case 2173: 42495 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 42496 //line sql-gen.y:12892 42497 { 42498 } 42499 case 2174: 42500 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 42501 //line sql-gen.y:12896 42502 { 42503 sqlVAL.union.val = true 42504 } 42505 case 2175: 42506 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 42507 //line sql-gen.y:12900 42508 { 42509 sqlVAL.union.val = false 42510 } 42511 case 2176: 42512 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 42513 //line sql-gen.y:12904 42514 { 42515 sqlVAL.union.val = false 42516 } 42517 case 2177: 42518 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 42519 //line sql-gen.y:12910 42520 { 42521 sqlVAL.union.val = true 42522 } 42523 case 2178: 42524 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 42525 //line sql-gen.y:12916 42526 { 42527 sqlVAL.union.val = tree.DistinctOn(sqlDollar[4].union.exprs()) 42528 } 42529 case 2179: 42530 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 42531 //line sql-gen.y:12921 42532 { 42533 } 42534 case 2180: 42535 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 42536 //line sql-gen.y:12922 42537 { 42538 } 42539 case 2181: 42540 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 42541 //line sql-gen.y:12925 42542 { 42543 } 42544 case 2182: 42545 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 42546 //line sql-gen.y:12926 42547 { 42548 } 42549 case 2183: 42550 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 42551 //line sql-gen.y:12930 42552 { 42553 sqlVAL.union.val = sqlDollar[1].union.orderBy() 42554 } 42555 case 2184: 42556 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 42557 //line sql-gen.y:12934 42558 { 42559 sqlVAL.union.val = tree.OrderBy(nil) 42560 } 42561 case 2185: 42562 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 42563 //line sql-gen.y:12940 42564 { 42565 sqlVAL.union.val = sqlDollar[1].union.orderBy() 42566 } 42567 case 2186: 42568 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 42569 //line sql-gen.y:12944 42570 { 42571 sqlVAL.union.val = tree.OrderBy(nil) 42572 } 42573 case 2187: 42574 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 42575 //line sql-gen.y:12950 42576 { 42577 sqlVAL.union.val = tree.OrderBy(sqlDollar[3].union.orders()) 42578 } 42579 case 2188: 42580 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 42581 //line sql-gen.y:12956 42582 { 42583 sqlVAL.union.val = tree.OrderBy(sqlDollar[3].union.orders()) 42584 } 42585 case 2189: 42586 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 42587 //line sql-gen.y:12962 42588 { 42589 sqlVAL.union.val = tree.OrderBy([]*tree.Order{sqlDollar[3].union.order()}) 42590 } 42591 case 2190: 42592 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 42593 //line sql-gen.y:12966 42594 { 42595 return unimplementedWithIssueDetail(sqllex, 109847, "order by index") 42596 } 42597 case 2191: 42598 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 42599 //line sql-gen.y:12970 42600 { 42601 sqllex.Error("multiple ORDER BY clauses are not supported in this function") 42602 return 1 42603 } 42604 case 2192: 42605 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 42606 //line sql-gen.y:12975 42607 { 42608 sqllex.Error("multiple ORDER BY clauses are not supported in this function") 42609 return 1 42610 } 42611 case 2193: 42612 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 42613 //line sql-gen.y:12982 42614 { 42615 sqlVAL.union.val = []*tree.Order{sqlDollar[1].union.order()} 42616 } 42617 case 2194: 42618 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 42619 //line sql-gen.y:12986 42620 { 42621 sqlVAL.union.val = []*tree.Order{sqlDollar[1].union.order()} 42622 } 42623 case 2195: 42624 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 42625 //line sql-gen.y:12990 42626 { 42627 sqlVAL.union.val = append(sqlDollar[1].union.orders(), sqlDollar[3].union.order()) 42628 } 42629 case 2196: 42630 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 42631 //line sql-gen.y:12994 42632 { 42633 sqlVAL.union.val = append(sqlDollar[1].union.orders(), sqlDollar[3].union.order()) 42634 } 42635 case 2197: 42636 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 42637 //line sql-gen.y:13000 42638 { 42639 sqlVAL.union.val = []*tree.Order{sqlDollar[1].union.order()} 42640 } 42641 case 2198: 42642 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 42643 //line sql-gen.y:13004 42644 { 42645 sqlVAL.union.val = append(sqlDollar[1].union.orders(), sqlDollar[3].union.order()) 42646 } 42647 case 2199: 42648 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 42649 //line sql-gen.y:13008 42650 { 42651 sqlVAL.union.val = append(sqlDollar[1].union.orders(), sqlDollar[3].union.order()) 42652 } 42653 case 2200: 42654 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 42655 //line sql-gen.y:13014 42656 { 42657 name := sqlDollar[3].union.unresolvedObjectName().ToTableName() 42658 sqlVAL.union.val = &tree.Order{OrderType: tree.OrderByIndex, Direction: sqlDollar[4].union.dir(), Table: name} 42659 } 42660 case 2201: 42661 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 42662 //line sql-gen.y:13019 42663 { 42664 name := sqlDollar[2].union.unresolvedObjectName().ToTableName() 42665 sqlVAL.union.val = &tree.Order{ 42666 OrderType: tree.OrderByIndex, 42667 Direction: sqlDollar[5].union.dir(), 42668 Table: name, 42669 Index: tree.UnrestrictedName(sqlDollar[4].str), 42670 } 42671 } 42672 case 2202: 42673 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 42674 //line sql-gen.y:13031 42675 { 42676 42677 dir := sqlDollar[2].union.dir() 42678 nullsOrder := sqlDollar[3].union.nullsOrder() 42679 sqlVAL.union.val = &tree.Order{ 42680 OrderType: tree.OrderByColumn, 42681 Expr: sqlDollar[1].union.expr(), 42682 Direction: dir, 42683 NullsOrder: nullsOrder, 42684 } 42685 } 42686 case 2203: 42687 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 42688 //line sql-gen.y:13045 42689 { 42690 sqlVAL.union.val = tree.NullsFirst 42691 } 42692 case 2204: 42693 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 42694 //line sql-gen.y:13049 42695 { 42696 sqlVAL.union.val = tree.NullsLast 42697 } 42698 case 2205: 42699 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 42700 //line sql-gen.y:13053 42701 { 42702 sqlVAL.union.val = tree.DefaultNullsOrder 42703 } 42704 case 2206: 42705 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 42706 //line sql-gen.y:13059 42707 { 42708 if sqlDollar[1].union.limit() == nil { 42709 sqlVAL.union.val = sqlDollar[2].union.limit() 42710 } else { 42711 sqlVAL.union.val = sqlDollar[1].union.limit() 42712 sqlVAL.union.val.(*tree.Limit).Offset = sqlDollar[2].union.limit().Offset 42713 } 42714 } 42715 case 2207: 42716 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 42717 //line sql-gen.y:13068 42718 { 42719 sqlVAL.union.val = sqlDollar[1].union.limit() 42720 if sqlDollar[2].union.limit() != nil { 42721 sqlVAL.union.val.(*tree.Limit).Count = sqlDollar[2].union.limit().Count 42722 sqlVAL.union.val.(*tree.Limit).LimitAll = sqlDollar[2].union.limit().LimitAll 42723 } 42724 } 42725 case 2210: 42726 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 42727 //line sql-gen.y:13079 42728 { 42729 sqlVAL.union.val = sqlDollar[1].union.limit() 42730 } 42731 case 2211: 42732 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 42733 //line sql-gen.y:13080 42734 { 42735 sqlVAL.union.val = (*tree.Limit)(nil) 42736 } 42737 case 2213: 42738 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 42739 //line sql-gen.y:13084 42740 { 42741 sqlVAL.union.val = (*tree.Limit)(nil) 42742 } 42743 case 2214: 42744 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 42745 //line sql-gen.y:13088 42746 { 42747 sqlVAL.union.val = &tree.Limit{LimitAll: true} 42748 } 42749 case 2215: 42750 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 42751 //line sql-gen.y:13092 42752 { 42753 if sqlDollar[2].union.expr() == nil { 42754 sqlVAL.union.val = (*tree.Limit)(nil) 42755 } else { 42756 sqlVAL.union.val = &tree.Limit{Count: sqlDollar[2].union.expr()} 42757 } 42758 } 42759 case 2216: 42760 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 42761 //line sql-gen.y:13106 42762 { 42763 sqlVAL.union.val = &tree.Limit{Count: sqlDollar[3].union.expr()} 42764 } 42765 case 2217: 42766 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 42767 //line sql-gen.y:13110 42768 { 42769 sqlVAL.union.val = &tree.Limit{ 42770 Count: tree.NewNumVal(constant.MakeInt64(1), "", false), 42771 } 42772 } 42773 case 2218: 42774 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 42775 //line sql-gen.y:13118 42776 { 42777 sqlVAL.union.val = &tree.Limit{Offset: sqlDollar[2].union.expr()} 42778 } 42779 case 2219: 42780 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 42781 //line sql-gen.y:13125 42782 { 42783 sqlVAL.union.val = &tree.Limit{Offset: sqlDollar[2].union.expr()} 42784 } 42785 case 2223: 42786 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 42787 //line sql-gen.y:13147 42788 { 42789 } 42790 case 2224: 42791 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 42792 //line sql-gen.y:13148 42793 { 42794 } 42795 case 2225: 42796 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 42797 //line sql-gen.y:13151 42798 { 42799 } 42800 case 2226: 42801 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 42802 //line sql-gen.y:13152 42803 { 42804 } 42805 case 2227: 42806 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 42807 //line sql-gen.y:13169 42808 { 42809 sqlVAL.union.val = tree.GroupBy(sqlDollar[3].union.exprs()) 42810 } 42811 case 2228: 42812 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 42813 //line sql-gen.y:13173 42814 { 42815 sqlVAL.union.val = tree.GroupBy(nil) 42816 } 42817 case 2229: 42818 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 42819 //line sql-gen.y:13178 42820 { 42821 sqlVAL.union.val = tree.Exprs{sqlDollar[1].union.expr()} 42822 } 42823 case 2230: 42824 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 42825 //line sql-gen.y:13179 42826 { 42827 sqlVAL.union.val = append(sqlDollar[1].union.exprs(), sqlDollar[3].union.expr()) 42828 } 42829 case 2231: 42830 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 42831 //line sql-gen.y:13185 42832 { 42833 sqlVAL.union.val = sqlDollar[1].union.expr() 42834 } 42835 case 2232: 42836 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 42837 //line sql-gen.y:13186 42838 { 42839 return unimplementedWithIssueDetail(sqllex, 46280, "rollup") 42840 } 42841 case 2233: 42842 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 42843 //line sql-gen.y:13187 42844 { 42845 return unimplementedWithIssueDetail(sqllex, 46280, "cube") 42846 } 42847 case 2234: 42848 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 42849 //line sql-gen.y:13188 42850 { 42851 return unimplementedWithIssueDetail(sqllex, 46280, "grouping sets") 42852 } 42853 case 2235: 42854 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 42855 //line sql-gen.y:13192 42856 { 42857 sqlVAL.union.val = sqlDollar[2].union.expr() 42858 } 42859 case 2236: 42860 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 42861 //line sql-gen.y:13196 42862 { 42863 sqlVAL.union.val = tree.Expr(nil) 42864 } 42865 case 2237: 42866 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 42867 //line sql-gen.y:13215 42868 { 42869 sqlVAL.union.val = &tree.ValuesClause{Rows: []tree.Exprs{sqlDollar[3].union.exprs()}} 42870 } 42871 case 2238: 42872 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 42873 //line sql-gen.y:13218 42874 { 42875 return helpWith(sqllex, "VALUES") 42876 } 42877 case 2239: 42878 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 42879 //line sql-gen.y:13220 42880 { 42881 valNode := sqlDollar[1].union.selectStmt().(*tree.ValuesClause) 42882 valNode.Rows = append(valNode.Rows, sqlDollar[4].union.exprs()) 42883 sqlVAL.union.val = valNode 42884 } 42885 case 2240: 42886 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 42887 //line sql-gen.y:13232 42888 { 42889 sqlVAL.union.val = tree.From{Tables: sqlDollar[2].union.tblExprs(), AsOf: sqlDollar[3].union.asOfClause()} 42890 } 42891 case 2241: 42892 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 42893 //line sql-gen.y:13235 42894 { 42895 return helpWith(sqllex, "<SOURCE>") 42896 } 42897 case 2242: 42898 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 42899 //line sql-gen.y:13237 42900 { 42901 sqlVAL.union.val = tree.From{} 42902 } 42903 case 2243: 42904 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 42905 //line sql-gen.y:13243 42906 { 42907 sqlVAL.union.val = tree.TableExprs{sqlDollar[1].union.tblExpr()} 42908 } 42909 case 2244: 42910 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 42911 //line sql-gen.y:13247 42912 { 42913 sqlVAL.union.val = append(sqlDollar[1].union.tblExprs(), sqlDollar[3].union.tblExpr()) 42914 } 42915 case 2245: 42916 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 42917 //line sql-gen.y:13253 42918 { 42919 sqlVAL.union.val = &tree.IndexFlags{Index: tree.UnrestrictedName(sqlDollar[3].str)} 42920 } 42921 case 2246: 42922 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 42923 //line sql-gen.y:13257 42924 { 42925 42926 sqlVAL.union.val = &tree.IndexFlags{IndexID: tree.IndexID(sqlDollar[4].union.int64())} 42927 } 42928 case 2247: 42929 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 42930 //line sql-gen.y:13262 42931 { 42932 42933 sqlVAL.union.val = &tree.IndexFlags{Direction: tree.Ascending} 42934 } 42935 case 2248: 42936 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 42937 //line sql-gen.y:13267 42938 { 42939 42940 sqlVAL.union.val = &tree.IndexFlags{Direction: tree.Descending} 42941 } 42942 case 2249: 42943 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 42944 //line sql-gen.y:13273 42945 { 42946 sqlVAL.union.val = &tree.IndexFlags{NoIndexJoin: true} 42947 } 42948 case 2250: 42949 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 42950 //line sql-gen.y:13278 42951 { 42952 sqlVAL.union.val = &tree.IndexFlags{NoZigzagJoin: true} 42953 } 42954 case 2251: 42955 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 42956 //line sql-gen.y:13283 42957 { 42958 sqlVAL.union.val = &tree.IndexFlags{NoFullScan: true} 42959 } 42960 case 2252: 42961 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 42962 //line sql-gen.y:13288 42963 { 42964 42965 sqlVAL.union.val = &tree.IndexFlags{IgnoreForeignKeys: true} 42966 } 42967 case 2253: 42968 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 42969 //line sql-gen.y:13294 42970 { 42971 sqlVAL.union.val = &tree.IndexFlags{ForceZigzag: true} 42972 } 42973 case 2254: 42974 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 42975 //line sql-gen.y:13299 42976 { 42977 sqlVAL.union.val = &tree.IndexFlags{ZigzagIndexes: []tree.UnrestrictedName{tree.UnrestrictedName(sqlDollar[3].str)}} 42978 } 42979 case 2255: 42980 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 42981 //line sql-gen.y:13304 42982 { 42983 42984 sqlVAL.union.val = &tree.IndexFlags{ZigzagIndexIDs: []tree.IndexID{tree.IndexID(sqlDollar[4].union.int64())}} 42985 } 42986 case 2256: 42987 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 42988 //line sql-gen.y:13309 42989 { 42990 42991 id := tree.FamilyID(uint32(sqlDollar[4].union.int64())) 42992 sqlVAL.union.val = &tree.IndexFlags{FamilyID: &id} 42993 } 42994 case 2257: 42995 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 42996 //line sql-gen.y:13317 42997 { 42998 sqlVAL.union.val = sqlDollar[1].union.indexFlags() 42999 } 43000 case 2258: 43001 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 43002 //line sql-gen.y:13322 43003 { 43004 a := sqlDollar[1].union.indexFlags() 43005 b := sqlDollar[3].union.indexFlags() 43006 if err := a.CombineWith(b); err != nil { 43007 return setErr(sqllex, err) 43008 } 43009 sqlVAL.union.val = a 43010 } 43011 case 2259: 43012 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 43013 //line sql-gen.y:13333 43014 { 43015 sqlVAL.union.val = &tree.IndexFlags{Index: tree.UnrestrictedName(sqlDollar[2].str)} 43016 } 43017 case 2260: 43018 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 43019 //line sql-gen.y:13337 43020 { 43021 sqlVAL.union.val = &tree.IndexFlags{IndexID: tree.IndexID(sqlDollar[3].union.int64())} 43022 } 43023 case 2261: 43024 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 43025 //line sql-gen.y:13341 43026 { 43027 flags := sqlDollar[3].union.indexFlags() 43028 if err := flags.Check(); err != nil { 43029 return setErr(sqllex, err) 43030 } 43031 sqlVAL.union.val = flags 43032 } 43033 case 2262: 43034 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 43035 //line sql-gen.y:13349 43036 { 43037 sqlVAL.union.val = (*tree.IndexFlags)(nil) 43038 } 43039 case 2263: 43040 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 43041 //line sql-gen.y:13383 43042 { 43043 43044 sqlVAL.union.val = &tree.AliasedTableExpr{ 43045 Expr: sqlDollar[1].union.tblExpr(), 43046 IndexFlags: sqlDollar[2].union.indexFlags(), 43047 Ordinality: sqlDollar[3].union.bool(), 43048 As: sqlDollar[4].union.aliasClause(), 43049 } 43050 } 43051 case 2264: 43052 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 43053 //line sql-gen.y:13393 43054 { 43055 name := sqlDollar[1].union.unresolvedObjectName().ToTableName() 43056 sqlVAL.union.val = &tree.AliasedTableExpr{ 43057 Expr: &name, 43058 IndexFlags: sqlDollar[2].union.indexFlags(), 43059 Ordinality: sqlDollar[3].union.bool(), 43060 As: sqlDollar[4].union.aliasClause(), 43061 } 43062 } 43063 case 2265: 43064 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 43065 //line sql-gen.y:13403 43066 { 43067 sqlVAL.union.val = &tree.AliasedTableExpr{ 43068 Expr: &tree.Subquery{Select: sqlDollar[1].union.selectStmt()}, 43069 Ordinality: sqlDollar[2].union.bool(), 43070 As: sqlDollar[3].union.aliasClause(), 43071 } 43072 } 43073 case 2266: 43074 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 43075 //line sql-gen.y:13411 43076 { 43077 sqlVAL.union.val = &tree.AliasedTableExpr{ 43078 Expr: &tree.Subquery{Select: sqlDollar[2].union.selectStmt()}, 43079 Ordinality: sqlDollar[3].union.bool(), 43080 Lateral: true, 43081 As: sqlDollar[4].union.aliasClause(), 43082 } 43083 } 43084 case 2267: 43085 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 43086 //line sql-gen.y:13420 43087 { 43088 sqlVAL.union.val = sqlDollar[1].union.tblExpr() 43089 } 43090 case 2268: 43091 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 43092 //line sql-gen.y:13424 43093 { 43094 sqlVAL.union.val = &tree.AliasedTableExpr{Expr: &tree.ParenTableExpr{Expr: sqlDollar[2].union.tblExpr()}, Ordinality: sqlDollar[4].union.bool(), As: sqlDollar[5].union.aliasClause()} 43095 } 43096 case 2269: 43097 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 43098 //line sql-gen.y:13428 43099 { 43100 f := sqlDollar[1].union.tblExpr() 43101 sqlVAL.union.val = &tree.AliasedTableExpr{ 43102 Expr: f, 43103 Ordinality: sqlDollar[2].union.bool(), 43104 43105 As: sqlDollar[3].union.aliasClause(), 43106 } 43107 } 43108 case 2270: 43109 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 43110 //line sql-gen.y:13439 43111 { 43112 f := sqlDollar[2].union.tblExpr() 43113 sqlVAL.union.val = &tree.AliasedTableExpr{ 43114 Expr: f, 43115 Ordinality: sqlDollar[3].union.bool(), 43116 Lateral: true, 43117 As: sqlDollar[4].union.aliasClause(), 43118 } 43119 } 43120 case 2271: 43121 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 43122 //line sql-gen.y:13463 43123 { 43124 sqlVAL.union.val = &tree.AliasedTableExpr{Expr: &tree.StatementSource{Statement: sqlDollar[2].union.stmt()}, Ordinality: sqlDollar[4].union.bool(), As: sqlDollar[5].union.aliasClause()} 43125 } 43126 case 2272: 43127 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 43128 //line sql-gen.y:13469 43129 { 43130 43131 sqlVAL.union.val = &tree.TableRef{ 43132 TableID: sqlDollar[2].union.int64(), 43133 Columns: sqlDollar[3].union.tableRefCols(), 43134 As: sqlDollar[4].union.aliasClause(), 43135 } 43136 } 43137 case 2273: 43138 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 43139 //line sql-gen.y:13480 43140 { 43141 sqlVAL.union.val = &tree.RowsFromExpr{Items: tree.Exprs{sqlDollar[1].union.expr()}} 43142 } 43143 case 2274: 43144 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 43145 //line sql-gen.y:13484 43146 { 43147 sqlVAL.union.val = &tree.RowsFromExpr{Items: sqlDollar[4].union.exprs()} 43148 } 43149 case 2275: 43150 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 43151 //line sql-gen.y:13490 43152 { 43153 sqlVAL.union.val = tree.Exprs{sqlDollar[1].union.expr()} 43154 } 43155 case 2276: 43156 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 43157 //line sql-gen.y:13492 43158 { 43159 sqlVAL.union.val = append(sqlDollar[1].union.exprs(), sqlDollar[3].union.expr()) 43160 } 43161 case 2277: 43162 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 43163 //line sql-gen.y:13496 43164 { 43165 sqlVAL.union.val = sqlDollar[1].union.expr() 43166 } 43167 case 2278: 43168 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 43169 //line sql-gen.y:13502 43170 { 43171 sqlVAL.union.val = sqlDollar[2].union.colDefList() 43172 } 43173 case 2279: 43174 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 43175 //line sql-gen.y:13506 43176 { 43177 sqlVAL.union.val = tree.ColumnDefList(nil) 43178 } 43179 case 2280: 43180 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 43181 //line sql-gen.y:13512 43182 { 43183 sqlVAL.union.val = tree.ColumnDefList{tree.ColumnDef{Name: tree.Name(sqlDollar[1].str)}} 43184 } 43185 case 2281: 43186 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 43187 //line sql-gen.y:13516 43188 { 43189 sqlVAL.union.val = append(sqlDollar[1].union.colDefList(), tree.ColumnDef{Name: tree.Name(sqlDollar[3].str)}) 43190 } 43191 case 2282: 43192 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 43193 //line sql-gen.y:13523 43194 { 43195 sqlVAL.union.val = tree.ColumnDefList(nil) 43196 } 43197 case 2283: 43198 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 43199 //line sql-gen.y:13527 43200 { 43201 sqlVAL.union.val = sqlDollar[2].union.colDefList() 43202 } 43203 case 2284: 43204 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 43205 //line sql-gen.y:13533 43206 { 43207 sqlVAL.union.val = tree.ColumnDefList{sqlDollar[1].union.colDef()} 43208 } 43209 case 2285: 43210 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 43211 //line sql-gen.y:13537 43212 { 43213 sqlVAL.union.val = append(sqlDollar[1].union.colDefList(), sqlDollar[3].union.colDef()) 43214 } 43215 case 2286: 43216 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 43217 //line sql-gen.y:13543 43218 { 43219 sqlVAL.union.val = tree.ColumnDef{Name: tree.Name(sqlDollar[1].str)} 43220 } 43221 case 2287: 43222 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 43223 //line sql-gen.y:13547 43224 { 43225 sqlVAL.union.val = tree.ColumnDef{Name: tree.Name(sqlDollar[1].str), Type: sqlDollar[2].union.typeReference()} 43226 } 43227 case 2288: 43228 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 43229 //line sql-gen.y:13552 43230 { 43231 sqlVAL.union.val = nil 43232 } 43233 case 2289: 43234 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 43235 //line sql-gen.y:13553 43236 { 43237 sqlVAL.union.val = []tree.ColumnID{} 43238 } 43239 case 2290: 43240 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 43241 //line sql-gen.y:13554 43242 { 43243 sqlVAL.union.val = sqlDollar[2].union.tableRefCols() 43244 } 43245 case 2291: 43246 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 43247 //line sql-gen.y:13558 43248 { 43249 sqlVAL.union.val = []tree.ColumnID{tree.ColumnID(sqlDollar[1].union.int64())} 43250 } 43251 case 2292: 43252 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 43253 //line sql-gen.y:13562 43254 { 43255 sqlVAL.union.val = append(sqlDollar[1].union.tableRefCols(), tree.ColumnID(sqlDollar[3].union.int64())) 43256 } 43257 case 2293: 43258 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 43259 //line sql-gen.y:13568 43260 { 43261 sqlVAL.union.val = true 43262 } 43263 case 2294: 43264 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 43265 //line sql-gen.y:13572 43266 { 43267 sqlVAL.union.val = false 43268 } 43269 case 2295: 43270 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 43271 //line sql-gen.y:13592 43272 { 43273 sqlVAL.union.val = &tree.ParenTableExpr{Expr: sqlDollar[2].union.tblExpr()} 43274 } 43275 case 2296: 43276 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 43277 //line sql-gen.y:13596 43278 { 43279 sqlVAL.union.val = &tree.JoinTableExpr{JoinType: tree.AstCross, Left: sqlDollar[1].union.tblExpr(), Right: sqlDollar[5].union.tblExpr(), Hint: sqlDollar[3].str} 43280 } 43281 case 2297: 43282 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 43283 //line sql-gen.y:13600 43284 { 43285 sqlVAL.union.val = &tree.JoinTableExpr{JoinType: sqlDollar[2].str, Left: sqlDollar[1].union.tblExpr(), Right: sqlDollar[5].union.tblExpr(), Cond: sqlDollar[6].union.joinCond(), Hint: sqlDollar[3].str} 43286 } 43287 case 2298: 43288 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 43289 //line sql-gen.y:13604 43290 { 43291 sqlVAL.union.val = &tree.JoinTableExpr{Left: sqlDollar[1].union.tblExpr(), Right: sqlDollar[3].union.tblExpr(), Cond: sqlDollar[4].union.joinCond()} 43292 } 43293 case 2299: 43294 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 43295 //line sql-gen.y:13608 43296 { 43297 sqlVAL.union.val = &tree.JoinTableExpr{JoinType: sqlDollar[3].str, Left: sqlDollar[1].union.tblExpr(), Right: sqlDollar[6].union.tblExpr(), Cond: tree.NaturalJoinCond{}, Hint: sqlDollar[4].str} 43298 } 43299 case 2300: 43300 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 43301 //line sql-gen.y:13612 43302 { 43303 sqlVAL.union.val = &tree.JoinTableExpr{Left: sqlDollar[1].union.tblExpr(), Right: sqlDollar[4].union.tblExpr(), Cond: tree.NaturalJoinCond{}} 43304 } 43305 case 2301: 43306 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 43307 //line sql-gen.y:13618 43308 { 43309 sqlVAL.union.val = tree.AliasClause{Alias: tree.Name(sqlDollar[2].str), Cols: sqlDollar[3].union.colDefList()} 43310 } 43311 case 2302: 43312 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 43313 //line sql-gen.y:13622 43314 { 43315 sqlVAL.union.val = tree.AliasClause{Alias: tree.Name(sqlDollar[1].str), Cols: sqlDollar[2].union.colDefList()} 43316 } 43317 case 2304: 43318 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 43319 //line sql-gen.y:13629 43320 { 43321 sqlVAL.union.val = tree.AliasClause{} 43322 } 43323 case 2305: 43324 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 43325 //line sql-gen.y:13635 43326 { 43327 sqlVAL.union.val = tree.AliasClause{Alias: tree.Name(sqlDollar[2].str), Cols: sqlDollar[3].union.colDefList()} 43328 } 43329 case 2306: 43330 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 43331 //line sql-gen.y:13639 43332 { 43333 sqlVAL.union.val = tree.AliasClause{Alias: tree.Name(sqlDollar[1].str), Cols: sqlDollar[2].union.colDefList()} 43334 } 43335 case 2308: 43336 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 43337 //line sql-gen.y:13646 43338 { 43339 sqlVAL.union.val = tree.AliasClause{} 43340 } 43341 case 2309: 43342 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 43343 //line sql-gen.y:13652 43344 { 43345 sqlVAL.union.val = tree.AsOfClause{Expr: sqlDollar[5].union.expr()} 43346 } 43347 case 2311: 43348 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 43349 //line sql-gen.y:13659 43350 { 43351 sqlVAL.union.val = tree.AsOfClause{} 43352 } 43353 case 2312: 43354 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 43355 //line sql-gen.y:13665 43356 { 43357 sqlVAL.str = tree.AstFull 43358 } 43359 case 2313: 43360 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 43361 //line sql-gen.y:13669 43362 { 43363 sqlVAL.str = tree.AstLeft 43364 } 43365 case 2314: 43366 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 43367 //line sql-gen.y:13673 43368 { 43369 sqlVAL.str = tree.AstRight 43370 } 43371 case 2315: 43372 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 43373 //line sql-gen.y:13677 43374 { 43375 sqlVAL.str = tree.AstInner 43376 } 43377 case 2316: 43378 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 43379 //line sql-gen.y:13683 43380 { 43381 } 43382 case 2317: 43383 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 43384 //line sql-gen.y:13684 43385 { 43386 } 43387 case 2318: 43388 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 43389 //line sql-gen.y:13708 43390 { 43391 sqlVAL.str = tree.AstHash 43392 } 43393 case 2319: 43394 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 43395 //line sql-gen.y:13712 43396 { 43397 sqlVAL.str = tree.AstMerge 43398 } 43399 case 2320: 43400 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 43401 //line sql-gen.y:13716 43402 { 43403 sqlVAL.str = tree.AstLookup 43404 } 43405 case 2321: 43406 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 43407 //line sql-gen.y:13720 43408 { 43409 sqlVAL.str = tree.AstInverted 43410 } 43411 case 2322: 43412 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 43413 //line sql-gen.y:13724 43414 { 43415 sqlVAL.str = "" 43416 } 43417 case 2323: 43418 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 43419 //line sql-gen.y:13737 43420 { 43421 sqlVAL.union.val = &tree.UsingJoinCond{Cols: sqlDollar[3].union.nameList()} 43422 } 43423 case 2324: 43424 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 43425 //line sql-gen.y:13741 43426 { 43427 sqlVAL.union.val = &tree.OnJoinCond{Expr: sqlDollar[2].union.expr()} 43428 } 43429 case 2325: 43430 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 43431 //line sql-gen.y:13746 43432 { 43433 sqlVAL.union.val = sqlDollar[1].union.unresolvedObjectName() 43434 } 43435 case 2326: 43436 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 43437 //line sql-gen.y:13747 43438 { 43439 sqlVAL.union.val = sqlDollar[1].union.unresolvedObjectName() 43440 } 43441 case 2327: 43442 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 43443 //line sql-gen.y:13748 43444 { 43445 sqlVAL.union.val = sqlDollar[2].union.unresolvedObjectName() 43446 } 43447 case 2328: 43448 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 43449 //line sql-gen.y:13749 43450 { 43451 sqlVAL.union.val = sqlDollar[3].union.unresolvedObjectName() 43452 } 43453 case 2329: 43454 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 43455 //line sql-gen.y:13753 43456 { 43457 name := sqlDollar[1].union.unresolvedObjectName().ToTableName() 43458 sqlVAL.union.val = tree.TableNames{name} 43459 } 43460 case 2330: 43461 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 43462 //line sql-gen.y:13758 43463 { 43464 name := sqlDollar[3].union.unresolvedObjectName().ToTableName() 43465 sqlVAL.union.val = append(sqlDollar[1].union.tableNames(), name) 43466 } 43467 case 2331: 43468 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 43469 //line sql-gen.y:13766 43470 { 43471 sqlVAL.union.val = &tree.Unlisten{ChannelName: sqlDollar[2].union.unresolvedObjectName(), Star: false} 43472 } 43473 case 2332: 43474 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 43475 //line sql-gen.y:13770 43476 { 43477 sqlVAL.union.val = &tree.Unlisten{ChannelName: nil, Star: true} 43478 } 43479 case 2333: 43480 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 43481 //line sql-gen.y:13784 43482 { 43483 sqlVAL.union.val = sqlDollar[1].union.tblExpr() 43484 } 43485 case 2334: 43486 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 43487 //line sql-gen.y:13788 43488 { 43489 alias := sqlDollar[1].union.tblExpr().(*tree.AliasedTableExpr) 43490 alias.As = tree.AliasClause{Alias: tree.Name(sqlDollar[2].str)} 43491 sqlVAL.union.val = alias 43492 } 43493 case 2335: 43494 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 43495 //line sql-gen.y:13794 43496 { 43497 alias := sqlDollar[1].union.tblExpr().(*tree.AliasedTableExpr) 43498 alias.As = tree.AliasClause{Alias: tree.Name(sqlDollar[3].str)} 43499 sqlVAL.union.val = alias 43500 } 43501 case 2336: 43502 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 43503 //line sql-gen.y:13800 43504 { 43505 43506 sqlVAL.union.val = &tree.AliasedTableExpr{ 43507 Expr: sqlDollar[1].union.tblExpr(), 43508 IndexFlags: sqlDollar[2].union.indexFlags(), 43509 } 43510 } 43511 case 2337: 43512 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 43513 //line sql-gen.y:13810 43514 { 43515 name := sqlDollar[2].union.unresolvedObjectName().ToTableName() 43516 sqlVAL.union.val = &tree.AliasedTableExpr{ 43517 Expr: &name, 43518 IndexFlags: sqlDollar[3].union.indexFlags(), 43519 } 43520 } 43521 case 2338: 43522 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 43523 //line sql-gen.y:13820 43524 { 43525 sqlVAL.union.val = true 43526 } 43527 case 2339: 43528 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 43529 //line sql-gen.y:13824 43530 { 43531 sqlVAL.union.val = false 43532 } 43533 case 2340: 43534 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 43535 //line sql-gen.y:13830 43536 { 43537 sqlVAL.union.val = true 43538 } 43539 case 2341: 43540 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 43541 //line sql-gen.y:13834 43542 { 43543 sqlVAL.union.val = false 43544 } 43545 case 2342: 43546 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 43547 //line sql-gen.y:13840 43548 { 43549 sqlVAL.union.val = sqlDollar[2].union.expr() 43550 } 43551 case 2344: 43552 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 43553 //line sql-gen.y:13847 43554 { 43555 sqlVAL.union.val = tree.Expr(nil) 43556 } 43557 case 2345: 43558 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 43559 //line sql-gen.y:13859 43560 { 43561 if bounds := sqlDollar[2].union.int32s(); bounds != nil { 43562 var err error 43563 sqlVAL.union.val, err = arrayOf(sqlDollar[1].union.typeReference(), bounds) 43564 if err != nil { 43565 return setErr(sqllex, err) 43566 } 43567 } else { 43568 sqlVAL.union.val = sqlDollar[1].union.typeReference() 43569 } 43570 } 43571 case 2346: 43572 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 43573 //line sql-gen.y:13872 43574 { 43575 43576 var err error 43577 sqlVAL.union.val, err = arrayOf(sqlDollar[1].union.typeReference(), nil) 43578 if err != nil { 43579 return setErr(sqllex, err) 43580 } 43581 } 43582 case 2347: 43583 sqlDollar = sqlS[sqlpt-7 : sqlpt+1] 43584 //line sql-gen.y:13880 43585 { 43586 return unimplementedWithIssue(sqllex, 32552) 43587 } 43588 case 2348: 43589 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 43590 //line sql-gen.y:13881 43591 { 43592 var err error 43593 sqlVAL.union.val, err = arrayOf(sqlDollar[1].union.typeReference(), nil) 43594 if err != nil { 43595 return setErr(sqllex, err) 43596 } 43597 } 43598 case 2349: 43599 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 43600 //line sql-gen.y:13891 43601 { 43602 sqlVAL.union.val = sqlDollar[1].union.typeReference() 43603 } 43604 case 2350: 43605 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 43606 //line sql-gen.y:13898 43607 { 43608 sqlVAL.union.val = []int32{-1} 43609 } 43610 case 2351: 43611 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 43612 //line sql-gen.y:13899 43613 { 43614 return unimplementedWithIssue(sqllex, 32552) 43615 } 43616 case 2352: 43617 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 43618 //line sql-gen.y:13901 43619 { 43620 43621 bound, err := sqlDollar[2].union.numVal().AsInt32() 43622 if err != nil { 43623 return setErr(sqllex, err) 43624 } 43625 sqlVAL.union.val = []int32{bound} 43626 } 43627 case 2353: 43628 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 43629 //line sql-gen.y:13909 43630 { 43631 return unimplementedWithIssue(sqllex, 32552) 43632 } 43633 case 2354: 43634 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 43635 //line sql-gen.y:13910 43636 { 43637 sqlVAL.union.val = []int32(nil) 43638 } 43639 case 2356: 43640 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 43641 //line sql-gen.y:13922 43642 { 43643 aIdx := sqllex.(*lexer).NewAnnotation() 43644 res, err := tree.NewUnresolvedObjectName(2, [3]string{sqlDollar[3].str, sqlDollar[1].str}, aIdx) 43645 if err != nil { 43646 return setErr(sqllex, err) 43647 } 43648 sqlVAL.union.val = res 43649 } 43650 case 2357: 43651 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 43652 //line sql-gen.y:13929 43653 { 43654 aIdx := sqllex.(*lexer).NewAnnotation() 43655 res, err := tree.NewUnresolvedObjectName(3, [3]string{sqlDollar[5].str, sqlDollar[3].str, sqlDollar[1].str}, aIdx) 43656 if err != nil { 43657 return setErr(sqllex, err) 43658 } 43659 sqlVAL.union.val = res 43660 } 43661 case 2358: 43662 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 43663 //line sql-gen.y:13938 43664 { 43665 43666 if sqlDollar[1].str == "char" { 43667 sqlVAL.union.val = types.QChar 43668 } else if sqlDollar[1].str == "serial" { 43669 switch sqllex.(*lexer).nakedIntType.Width() { 43670 case 32: 43671 sqlVAL.union.val = &types.Serial4Type 43672 default: 43673 sqlVAL.union.val = &types.Serial8Type 43674 } 43675 } else { 43676 43677 var ok bool 43678 var err error 43679 var unimp int 43680 sqlVAL.union.val, ok, unimp = types.TypeForNonKeywordTypeName(sqlDollar[1].str) 43681 if !ok { 43682 switch unimp { 43683 case 0: 43684 43685 aIdx := sqllex.(*lexer).NewAnnotation() 43686 sqlVAL.union.val, err = tree.NewUnresolvedObjectName(1, [3]string{sqlDollar[1].str}, aIdx) 43687 if err != nil { 43688 return setErr(sqllex, err) 43689 } 43690 case -1: 43691 return unimplemented(sqllex, "type name "+sqlDollar[1].str) 43692 default: 43693 return unimplementedWithIssueDetail(sqllex, unimp, sqlDollar[1].str) 43694 } 43695 } 43696 } 43697 } 43698 case 2359: 43699 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 43700 //line sql-gen.y:13978 43701 { 43702 id := sqlDollar[2].union.int32() 43703 sqlVAL.union.val = &tree.OIDTypeReference{OID: oid.Oid(id)} 43704 } 43705 case 2360: 43706 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 43707 //line sql-gen.y:13983 43708 { 43709 sqlVAL.union.val = sqlDollar[1].union.typeReference() 43710 } 43711 case 2363: 43712 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 43713 //line sql-gen.y:13988 43714 { 43715 return unimplementedWithIssueDetail(sqllex, 21286, "point") 43716 } 43717 case 2364: 43718 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 43719 //line sql-gen.y:13989 43720 { 43721 return unimplementedWithIssueDetail(sqllex, 21286, "polygon") 43722 } 43723 case 2365: 43724 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 43725 //line sql-gen.y:13992 43726 { 43727 sqlVAL.union.val = geopb.ShapeType_Point 43728 } 43729 case 2366: 43730 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 43731 //line sql-gen.y:13993 43732 { 43733 sqlVAL.union.val = geopb.ShapeType_PointM 43734 } 43735 case 2367: 43736 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 43737 //line sql-gen.y:13994 43738 { 43739 sqlVAL.union.val = geopb.ShapeType_PointZ 43740 } 43741 case 2368: 43742 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 43743 //line sql-gen.y:13995 43744 { 43745 sqlVAL.union.val = geopb.ShapeType_PointZM 43746 } 43747 case 2369: 43748 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 43749 //line sql-gen.y:13996 43750 { 43751 sqlVAL.union.val = geopb.ShapeType_LineString 43752 } 43753 case 2370: 43754 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 43755 //line sql-gen.y:13997 43756 { 43757 sqlVAL.union.val = geopb.ShapeType_LineStringM 43758 } 43759 case 2371: 43760 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 43761 //line sql-gen.y:13998 43762 { 43763 sqlVAL.union.val = geopb.ShapeType_LineStringZ 43764 } 43765 case 2372: 43766 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 43767 //line sql-gen.y:13999 43768 { 43769 sqlVAL.union.val = geopb.ShapeType_LineStringZM 43770 } 43771 case 2373: 43772 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 43773 //line sql-gen.y:14000 43774 { 43775 sqlVAL.union.val = geopb.ShapeType_Polygon 43776 } 43777 case 2374: 43778 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 43779 //line sql-gen.y:14001 43780 { 43781 sqlVAL.union.val = geopb.ShapeType_PolygonM 43782 } 43783 case 2375: 43784 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 43785 //line sql-gen.y:14002 43786 { 43787 sqlVAL.union.val = geopb.ShapeType_PolygonZ 43788 } 43789 case 2376: 43790 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 43791 //line sql-gen.y:14003 43792 { 43793 sqlVAL.union.val = geopb.ShapeType_PolygonZM 43794 } 43795 case 2377: 43796 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 43797 //line sql-gen.y:14004 43798 { 43799 sqlVAL.union.val = geopb.ShapeType_MultiPoint 43800 } 43801 case 2378: 43802 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 43803 //line sql-gen.y:14005 43804 { 43805 sqlVAL.union.val = geopb.ShapeType_MultiPointM 43806 } 43807 case 2379: 43808 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 43809 //line sql-gen.y:14006 43810 { 43811 sqlVAL.union.val = geopb.ShapeType_MultiPointZ 43812 } 43813 case 2380: 43814 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 43815 //line sql-gen.y:14007 43816 { 43817 sqlVAL.union.val = geopb.ShapeType_MultiPointZM 43818 } 43819 case 2381: 43820 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 43821 //line sql-gen.y:14008 43822 { 43823 sqlVAL.union.val = geopb.ShapeType_MultiLineString 43824 } 43825 case 2382: 43826 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 43827 //line sql-gen.y:14009 43828 { 43829 sqlVAL.union.val = geopb.ShapeType_MultiLineStringM 43830 } 43831 case 2383: 43832 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 43833 //line sql-gen.y:14010 43834 { 43835 sqlVAL.union.val = geopb.ShapeType_MultiLineStringZ 43836 } 43837 case 2384: 43838 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 43839 //line sql-gen.y:14011 43840 { 43841 sqlVAL.union.val = geopb.ShapeType_MultiLineStringZM 43842 } 43843 case 2385: 43844 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 43845 //line sql-gen.y:14012 43846 { 43847 sqlVAL.union.val = geopb.ShapeType_MultiPolygon 43848 } 43849 case 2386: 43850 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 43851 //line sql-gen.y:14013 43852 { 43853 sqlVAL.union.val = geopb.ShapeType_MultiPolygonM 43854 } 43855 case 2387: 43856 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 43857 //line sql-gen.y:14014 43858 { 43859 sqlVAL.union.val = geopb.ShapeType_MultiPolygonZ 43860 } 43861 case 2388: 43862 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 43863 //line sql-gen.y:14015 43864 { 43865 sqlVAL.union.val = geopb.ShapeType_MultiPolygonZM 43866 } 43867 case 2389: 43868 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 43869 //line sql-gen.y:14016 43870 { 43871 sqlVAL.union.val = geopb.ShapeType_GeometryCollection 43872 } 43873 case 2390: 43874 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 43875 //line sql-gen.y:14017 43876 { 43877 sqlVAL.union.val = geopb.ShapeType_GeometryCollectionM 43878 } 43879 case 2391: 43880 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 43881 //line sql-gen.y:14018 43882 { 43883 sqlVAL.union.val = geopb.ShapeType_GeometryCollectionZ 43884 } 43885 case 2392: 43886 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 43887 //line sql-gen.y:14019 43888 { 43889 sqlVAL.union.val = geopb.ShapeType_GeometryCollectionZM 43890 } 43891 case 2393: 43892 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 43893 //line sql-gen.y:14020 43894 { 43895 sqlVAL.union.val = geopb.ShapeType_Geometry 43896 } 43897 case 2394: 43898 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 43899 //line sql-gen.y:14021 43900 { 43901 sqlVAL.union.val = geopb.ShapeType_GeometryM 43902 } 43903 case 2395: 43904 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 43905 //line sql-gen.y:14022 43906 { 43907 sqlVAL.union.val = geopb.ShapeType_GeometryZ 43908 } 43909 case 2396: 43910 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 43911 //line sql-gen.y:14023 43912 { 43913 sqlVAL.union.val = geopb.ShapeType_GeometryZM 43914 } 43915 case 2397: 43916 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 43917 //line sql-gen.y:14026 43918 { 43919 sqlVAL.union.val = types.Geography 43920 } 43921 case 2398: 43922 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 43923 //line sql-gen.y:14027 43924 { 43925 sqlVAL.union.val = types.Geometry 43926 } 43927 case 2399: 43928 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 43929 //line sql-gen.y:14028 43930 { 43931 sqlVAL.union.val = types.Box2D 43932 } 43933 case 2400: 43934 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 43935 //line sql-gen.y:14030 43936 { 43937 sqlVAL.union.val = types.MakeGeometry(sqlDollar[3].union.geoShapeType(), 0) 43938 } 43939 case 2401: 43940 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 43941 //line sql-gen.y:14034 43942 { 43943 sqlVAL.union.val = types.MakeGeography(sqlDollar[3].union.geoShapeType(), 0) 43944 } 43945 case 2402: 43946 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 43947 //line sql-gen.y:14038 43948 { 43949 val, err := sqlDollar[5].union.numVal().AsInt32() 43950 if err != nil { 43951 return setErr(sqllex, err) 43952 } 43953 sqlVAL.union.val = types.MakeGeometry(sqlDollar[3].union.geoShapeType(), geopb.SRID(val)) 43954 } 43955 case 2403: 43956 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 43957 //line sql-gen.y:14046 43958 { 43959 val, err := sqlDollar[5].union.numVal().AsInt32() 43960 if err != nil { 43961 return setErr(sqllex, err) 43962 } 43963 sqlVAL.union.val = types.MakeGeography(sqlDollar[3].union.geoShapeType(), geopb.SRID(val)) 43964 } 43965 case 2411: 43966 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 43967 //line sql-gen.y:14074 43968 { 43969 dec, err := newDecimal(sqlDollar[2].union.int32(), 0) 43970 if err != nil { 43971 return setErr(sqllex, err) 43972 } 43973 sqlVAL.union.val = dec 43974 } 43975 case 2412: 43976 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 43977 //line sql-gen.y:14082 43978 { 43979 dec, err := newDecimal(sqlDollar[2].union.int32(), sqlDollar[4].union.int32()) 43980 if err != nil { 43981 return setErr(sqllex, err) 43982 } 43983 sqlVAL.union.val = dec 43984 } 43985 case 2413: 43986 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 43987 //line sql-gen.y:14090 43988 { 43989 sqlVAL.union.val = nil 43990 } 43991 case 2414: 43992 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 43993 //line sql-gen.y:14097 43994 { 43995 sqlVAL.union.val = sqllex.(*lexer).nakedIntType 43996 } 43997 case 2415: 43998 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 43999 //line sql-gen.y:14101 44000 { 44001 sqlVAL.union.val = sqllex.(*lexer).nakedIntType 44002 } 44003 case 2416: 44004 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 44005 //line sql-gen.y:14105 44006 { 44007 sqlVAL.union.val = types.Int2 44008 } 44009 case 2417: 44010 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 44011 //line sql-gen.y:14109 44012 { 44013 sqlVAL.union.val = types.Int 44014 } 44015 case 2418: 44016 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 44017 //line sql-gen.y:14113 44018 { 44019 sqlVAL.union.val = types.Float4 44020 } 44021 case 2419: 44022 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 44023 //line sql-gen.y:14117 44024 { 44025 sqlVAL.union.val = sqlDollar[2].union.colType() 44026 } 44027 case 2420: 44028 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 44029 //line sql-gen.y:14121 44030 { 44031 sqlVAL.union.val = types.Float 44032 } 44033 case 2421: 44034 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 44035 //line sql-gen.y:14125 44036 { 44037 typ := sqlDollar[2].union.colType() 44038 if typ == nil { 44039 typ = types.Decimal 44040 } 44041 sqlVAL.union.val = typ 44042 } 44043 case 2422: 44044 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 44045 //line sql-gen.y:14133 44046 { 44047 typ := sqlDollar[2].union.colType() 44048 if typ == nil { 44049 typ = types.Decimal 44050 } 44051 sqlVAL.union.val = typ 44052 } 44053 case 2423: 44054 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 44055 //line sql-gen.y:14141 44056 { 44057 typ := sqlDollar[2].union.colType() 44058 if typ == nil { 44059 typ = types.Decimal 44060 } 44061 sqlVAL.union.val = typ 44062 } 44063 case 2424: 44064 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 44065 //line sql-gen.y:14149 44066 { 44067 sqlVAL.union.val = types.Bool 44068 } 44069 case 2425: 44070 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 44071 //line sql-gen.y:14155 44072 { 44073 nv := sqlDollar[2].union.numVal() 44074 prec, err := nv.AsInt64() 44075 if err != nil { 44076 return setErr(sqllex, err) 44077 } 44078 typ, err := newFloat(prec) 44079 if err != nil { 44080 return setErr(sqllex, err) 44081 } 44082 sqlVAL.union.val = typ 44083 } 44084 case 2426: 44085 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 44086 //line sql-gen.y:14168 44087 { 44088 sqlVAL.union.val = types.Float 44089 } 44090 case 2427: 44091 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 44092 //line sql-gen.y:14174 44093 { 44094 bit, err := newBitType(sqlDollar[4].union.int32(), sqlDollar[2].union.bool()) 44095 if err != nil { 44096 return setErr(sqllex, err) 44097 } 44098 sqlVAL.union.val = bit 44099 } 44100 case 2428: 44101 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 44102 //line sql-gen.y:14180 44103 { 44104 bit, err := newBitType(sqlDollar[3].union.int32(), true) 44105 if err != nil { 44106 return setErr(sqllex, err) 44107 } 44108 sqlVAL.union.val = bit 44109 } 44110 case 2429: 44111 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 44112 //line sql-gen.y:14188 44113 { 44114 sqlVAL.union.val = types.MakeBit(1) 44115 } 44116 case 2430: 44117 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 44118 //line sql-gen.y:14192 44119 { 44120 sqlVAL.union.val = types.VarBit 44121 } 44122 case 2431: 44123 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 44124 //line sql-gen.y:14196 44125 { 44126 sqlVAL.union.val = types.VarBit 44127 } 44128 case 2432: 44129 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 44130 //line sql-gen.y:14202 44131 { 44132 colTyp := *sqlDollar[1].union.colType() 44133 n := sqlDollar[3].union.int32() 44134 if n == 0 { 44135 sqllex.Error(fmt.Sprintf("length for type %s must be at least 1", colTyp.SQLString())) 44136 return 1 44137 } 44138 sqlVAL.union.val = types.MakeScalar(types.StringFamily, colTyp.Oid(), colTyp.Precision(), n, colTyp.Locale()) 44139 } 44140 case 2433: 44141 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 44142 //line sql-gen.y:14214 44143 { 44144 sqlVAL.union.val = sqlDollar[1].union.colType() 44145 } 44146 case 2434: 44147 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 44148 //line sql-gen.y:14220 44149 { 44150 sqlVAL.union.val = types.MakeChar(1) 44151 } 44152 case 2435: 44153 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 44154 //line sql-gen.y:14224 44155 { 44156 sqlVAL.union.val = types.VarChar 44157 } 44158 case 2436: 44159 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 44160 //line sql-gen.y:14228 44161 { 44162 sqlVAL.union.val = types.VarChar 44163 } 44164 case 2437: 44165 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 44166 //line sql-gen.y:14232 44167 { 44168 sqlVAL.union.val = types.String 44169 } 44170 case 2440: 44171 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 44172 //line sql-gen.y:14241 44173 { 44174 sqlVAL.union.val = true 44175 } 44176 case 2441: 44177 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 44178 //line sql-gen.y:14242 44179 { 44180 sqlVAL.union.val = false 44181 } 44182 case 2442: 44183 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 44184 //line sql-gen.y:14247 44185 { 44186 sqlVAL.union.val = types.Date 44187 } 44188 case 2443: 44189 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 44190 //line sql-gen.y:14251 44191 { 44192 if sqlDollar[2].union.bool() { 44193 sqlVAL.union.val = types.TimeTZ 44194 } else { 44195 sqlVAL.union.val = types.Time 44196 } 44197 } 44198 case 2444: 44199 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 44200 //line sql-gen.y:14259 44201 { 44202 prec := sqlDollar[3].union.int32() 44203 if prec < 0 || prec > 6 { 44204 sqllex.Error(fmt.Sprintf("precision %d out of range", prec)) 44205 return 1 44206 } 44207 if sqlDollar[5].union.bool() { 44208 sqlVAL.union.val = types.MakeTimeTZ(prec) 44209 } else { 44210 sqlVAL.union.val = types.MakeTime(prec) 44211 } 44212 } 44213 case 2445: 44214 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 44215 //line sql-gen.y:14271 44216 { 44217 sqlVAL.union.val = types.TimeTZ 44218 } 44219 case 2446: 44220 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 44221 //line sql-gen.y:14273 44222 { 44223 prec := sqlDollar[3].union.int32() 44224 if prec < 0 || prec > 6 { 44225 sqllex.Error(fmt.Sprintf("precision %d out of range", prec)) 44226 return 1 44227 } 44228 sqlVAL.union.val = types.MakeTimeTZ(prec) 44229 } 44230 case 2447: 44231 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 44232 //line sql-gen.y:14282 44233 { 44234 if sqlDollar[2].union.bool() { 44235 sqlVAL.union.val = types.TimestampTZ 44236 } else { 44237 sqlVAL.union.val = types.Timestamp 44238 } 44239 } 44240 case 2448: 44241 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 44242 //line sql-gen.y:14290 44243 { 44244 prec := sqlDollar[3].union.int32() 44245 if prec < 0 || prec > 6 { 44246 sqllex.Error(fmt.Sprintf("precision %d out of range", prec)) 44247 return 1 44248 } 44249 if sqlDollar[5].union.bool() { 44250 sqlVAL.union.val = types.MakeTimestampTZ(prec) 44251 } else { 44252 sqlVAL.union.val = types.MakeTimestamp(prec) 44253 } 44254 } 44255 case 2449: 44256 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 44257 //line sql-gen.y:14303 44258 { 44259 sqlVAL.union.val = types.TimestampTZ 44260 } 44261 case 2450: 44262 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 44263 //line sql-gen.y:14307 44264 { 44265 prec := sqlDollar[3].union.int32() 44266 if prec < 0 || prec > 6 { 44267 sqllex.Error(fmt.Sprintf("precision %d out of range", prec)) 44268 return 1 44269 } 44270 sqlVAL.union.val = types.MakeTimestampTZ(prec) 44271 } 44272 case 2451: 44273 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 44274 //line sql-gen.y:14317 44275 { 44276 sqlVAL.union.val = true 44277 } 44278 case 2452: 44279 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 44280 //line sql-gen.y:14318 44281 { 44282 sqlVAL.union.val = false 44283 } 44284 case 2453: 44285 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 44286 //line sql-gen.y:14319 44287 { 44288 sqlVAL.union.val = false 44289 } 44290 case 2454: 44291 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 44292 //line sql-gen.y:14323 44293 { 44294 sqlVAL.union.val = types.Interval 44295 } 44296 case 2455: 44297 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 44298 //line sql-gen.y:14327 44299 { 44300 sqlVAL.union.val = types.MakeInterval(sqlDollar[2].union.intervalTypeMetadata()) 44301 } 44302 case 2456: 44303 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 44304 //line sql-gen.y:14331 44305 { 44306 prec := sqlDollar[3].union.int32() 44307 if prec < 0 || prec > 6 { 44308 sqllex.Error(fmt.Sprintf("precision %d out of range", prec)) 44309 return 1 44310 } 44311 sqlVAL.union.val = types.MakeInterval(types.IntervalTypeMetadata{Precision: prec, PrecisionIsSet: true}) 44312 } 44313 case 2457: 44314 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 44315 //line sql-gen.y:14342 44316 { 44317 sqlVAL.union.val = types.IntervalTypeMetadata{ 44318 DurationField: types.IntervalDurationField{ 44319 DurationType: types.IntervalDurationType_YEAR, 44320 }, 44321 } 44322 } 44323 case 2458: 44324 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 44325 //line sql-gen.y:14350 44326 { 44327 sqlVAL.union.val = types.IntervalTypeMetadata{ 44328 DurationField: types.IntervalDurationField{ 44329 DurationType: types.IntervalDurationType_MONTH, 44330 }, 44331 } 44332 } 44333 case 2459: 44334 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 44335 //line sql-gen.y:14358 44336 { 44337 sqlVAL.union.val = types.IntervalTypeMetadata{ 44338 DurationField: types.IntervalDurationField{ 44339 DurationType: types.IntervalDurationType_DAY, 44340 }, 44341 } 44342 } 44343 case 2460: 44344 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 44345 //line sql-gen.y:14366 44346 { 44347 sqlVAL.union.val = types.IntervalTypeMetadata{ 44348 DurationField: types.IntervalDurationField{ 44349 DurationType: types.IntervalDurationType_HOUR, 44350 }, 44351 } 44352 } 44353 case 2461: 44354 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 44355 //line sql-gen.y:14374 44356 { 44357 sqlVAL.union.val = types.IntervalTypeMetadata{ 44358 DurationField: types.IntervalDurationField{ 44359 DurationType: types.IntervalDurationType_MINUTE, 44360 }, 44361 } 44362 } 44363 case 2462: 44364 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 44365 //line sql-gen.y:14382 44366 { 44367 sqlVAL.union.val = sqlDollar[1].union.intervalTypeMetadata() 44368 } 44369 case 2463: 44370 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 44371 //line sql-gen.y:14388 44372 { 44373 sqlVAL.union.val = types.IntervalTypeMetadata{ 44374 DurationField: types.IntervalDurationField{ 44375 FromDurationType: types.IntervalDurationType_YEAR, 44376 DurationType: types.IntervalDurationType_MONTH, 44377 }, 44378 } 44379 } 44380 case 2464: 44381 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 44382 //line sql-gen.y:14397 44383 { 44384 sqlVAL.union.val = types.IntervalTypeMetadata{ 44385 DurationField: types.IntervalDurationField{ 44386 FromDurationType: types.IntervalDurationType_DAY, 44387 DurationType: types.IntervalDurationType_HOUR, 44388 }, 44389 } 44390 } 44391 case 2465: 44392 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 44393 //line sql-gen.y:14406 44394 { 44395 sqlVAL.union.val = types.IntervalTypeMetadata{ 44396 DurationField: types.IntervalDurationField{ 44397 FromDurationType: types.IntervalDurationType_DAY, 44398 DurationType: types.IntervalDurationType_MINUTE, 44399 }, 44400 } 44401 } 44402 case 2466: 44403 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 44404 //line sql-gen.y:14415 44405 { 44406 ret := sqlDollar[3].union.intervalTypeMetadata() 44407 ret.DurationField.FromDurationType = types.IntervalDurationType_DAY 44408 sqlVAL.union.val = ret 44409 } 44410 case 2467: 44411 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 44412 //line sql-gen.y:14421 44413 { 44414 sqlVAL.union.val = types.IntervalTypeMetadata{ 44415 DurationField: types.IntervalDurationField{ 44416 FromDurationType: types.IntervalDurationType_HOUR, 44417 DurationType: types.IntervalDurationType_MINUTE, 44418 }, 44419 } 44420 } 44421 case 2468: 44422 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 44423 //line sql-gen.y:14430 44424 { 44425 ret := sqlDollar[3].union.intervalTypeMetadata() 44426 ret.DurationField.FromDurationType = types.IntervalDurationType_HOUR 44427 sqlVAL.union.val = ret 44428 } 44429 case 2469: 44430 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 44431 //line sql-gen.y:14436 44432 { 44433 sqlVAL.union.val = sqlDollar[3].union.intervalTypeMetadata() 44434 ret := sqlDollar[3].union.intervalTypeMetadata() 44435 ret.DurationField.FromDurationType = types.IntervalDurationType_MINUTE 44436 sqlVAL.union.val = ret 44437 } 44438 case 2471: 44439 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 44440 //line sql-gen.y:14446 44441 { 44442 sqlVAL.union.val = nil 44443 } 44444 case 2472: 44445 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 44446 //line sql-gen.y:14452 44447 { 44448 sqlVAL.union.val = types.IntervalTypeMetadata{ 44449 DurationField: types.IntervalDurationField{ 44450 DurationType: types.IntervalDurationType_SECOND, 44451 }, 44452 } 44453 } 44454 case 2473: 44455 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 44456 //line sql-gen.y:14460 44457 { 44458 prec := sqlDollar[3].union.int32() 44459 if prec < 0 || prec > 6 { 44460 sqllex.Error(fmt.Sprintf("precision %d out of range", prec)) 44461 return 1 44462 } 44463 sqlVAL.union.val = types.IntervalTypeMetadata{ 44464 DurationField: types.IntervalDurationField{ 44465 DurationType: types.IntervalDurationType_SECOND, 44466 }, 44467 PrecisionIsSet: true, 44468 Precision: prec, 44469 } 44470 } 44471 case 2475: 44472 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 44473 //line sql-gen.y:14497 44474 { 44475 sqlVAL.union.val = &tree.CastExpr{Expr: sqlDollar[1].union.expr(), Type: sqlDollar[3].union.typeReference(), SyntaxMode: tree.CastShort} 44476 } 44477 case 2476: 44478 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 44479 //line sql-gen.y:14501 44480 { 44481 sqlVAL.union.val = &tree.AnnotateTypeExpr{Expr: sqlDollar[1].union.expr(), Type: sqlDollar[3].union.typeReference(), SyntaxMode: tree.AnnotateShort} 44482 } 44483 case 2477: 44484 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 44485 //line sql-gen.y:14505 44486 { 44487 sqlVAL.union.val = &tree.CollateExpr{Expr: sqlDollar[1].union.expr(), Locale: sqlDollar[3].str} 44488 } 44489 case 2478: 44490 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 44491 //line sql-gen.y:14509 44492 { 44493 sqlVAL.union.val = &tree.FuncExpr{Func: tree.WrapFunction("timezone"), Exprs: tree.Exprs{sqlDollar[5].union.expr(), sqlDollar[1].union.expr()}} 44494 } 44495 case 2479: 44496 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 44497 //line sql-gen.y:14520 44498 { 44499 44500 sqlVAL.union.val = sqlDollar[2].union.expr() 44501 } 44502 case 2480: 44503 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 44504 //line sql-gen.y:14525 44505 { 44506 sqlVAL.union.val = unaryNegation(sqlDollar[2].union.expr()) 44507 } 44508 case 2481: 44509 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 44510 //line sql-gen.y:14529 44511 { 44512 sqlVAL.union.val = &tree.UnaryExpr{Operator: tree.MakeUnaryOperator(tree.UnaryComplement), Expr: sqlDollar[2].union.expr()} 44513 } 44514 case 2482: 44515 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 44516 //line sql-gen.y:14533 44517 { 44518 sqlVAL.union.val = &tree.UnaryExpr{Operator: tree.MakeUnaryOperator(tree.UnarySqrt), Expr: sqlDollar[2].union.expr()} 44519 } 44520 case 2483: 44521 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 44522 //line sql-gen.y:14537 44523 { 44524 sqlVAL.union.val = &tree.UnaryExpr{Operator: tree.MakeUnaryOperator(tree.UnaryCbrt), Expr: sqlDollar[2].union.expr()} 44525 } 44526 case 2484: 44527 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 44528 //line sql-gen.y:14541 44529 { 44530 sqlVAL.union.val = &tree.BinaryExpr{Operator: treebin.MakeBinaryOperator(treebin.Plus), Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} 44531 } 44532 case 2485: 44533 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 44534 //line sql-gen.y:14545 44535 { 44536 sqlVAL.union.val = &tree.BinaryExpr{Operator: treebin.MakeBinaryOperator(treebin.Minus), Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} 44537 } 44538 case 2486: 44539 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 44540 //line sql-gen.y:14549 44541 { 44542 sqlVAL.union.val = &tree.BinaryExpr{Operator: treebin.MakeBinaryOperator(treebin.Mult), Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} 44543 } 44544 case 2487: 44545 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 44546 //line sql-gen.y:14553 44547 { 44548 sqlVAL.union.val = &tree.BinaryExpr{Operator: treebin.MakeBinaryOperator(treebin.Div), Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} 44549 } 44550 case 2488: 44551 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 44552 //line sql-gen.y:14557 44553 { 44554 sqlVAL.union.val = &tree.BinaryExpr{Operator: treebin.MakeBinaryOperator(treebin.FloorDiv), Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} 44555 } 44556 case 2489: 44557 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 44558 //line sql-gen.y:14561 44559 { 44560 sqlVAL.union.val = &tree.BinaryExpr{Operator: treebin.MakeBinaryOperator(treebin.Mod), Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} 44561 } 44562 case 2490: 44563 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 44564 //line sql-gen.y:14565 44565 { 44566 sqlVAL.union.val = &tree.BinaryExpr{Operator: treebin.MakeBinaryOperator(treebin.Pow), Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} 44567 } 44568 case 2491: 44569 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 44570 //line sql-gen.y:14569 44571 { 44572 sqlVAL.union.val = &tree.BinaryExpr{Operator: treebin.MakeBinaryOperator(treebin.Bitxor), Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} 44573 } 44574 case 2492: 44575 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 44576 //line sql-gen.y:14573 44577 { 44578 sqlVAL.union.val = &tree.BinaryExpr{Operator: treebin.MakeBinaryOperator(treebin.Bitand), Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} 44579 } 44580 case 2493: 44581 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 44582 //line sql-gen.y:14577 44583 { 44584 sqlVAL.union.val = &tree.BinaryExpr{Operator: treebin.MakeBinaryOperator(treebin.Bitor), Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} 44585 } 44586 case 2494: 44587 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 44588 //line sql-gen.y:14581 44589 { 44590 sqlVAL.union.val = &tree.ComparisonExpr{Operator: treecmp.MakeComparisonOperator(treecmp.LT), Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} 44591 } 44592 case 2495: 44593 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 44594 //line sql-gen.y:14585 44595 { 44596 sqlVAL.union.val = &tree.ComparisonExpr{Operator: treecmp.MakeComparisonOperator(treecmp.GT), Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} 44597 } 44598 case 2496: 44599 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 44600 //line sql-gen.y:14589 44601 { 44602 sqlVAL.union.val = &tree.ComparisonExpr{Operator: treecmp.MakeComparisonOperator(treecmp.JSONExists), Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} 44603 } 44604 case 2497: 44605 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 44606 //line sql-gen.y:14593 44607 { 44608 sqlVAL.union.val = &tree.ComparisonExpr{Operator: treecmp.MakeComparisonOperator(treecmp.JSONSomeExists), Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} 44609 } 44610 case 2498: 44611 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 44612 //line sql-gen.y:14597 44613 { 44614 sqlVAL.union.val = &tree.ComparisonExpr{Operator: treecmp.MakeComparisonOperator(treecmp.JSONAllExists), Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} 44615 } 44616 case 2499: 44617 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 44618 //line sql-gen.y:14601 44619 { 44620 sqlVAL.union.val = &tree.ComparisonExpr{Operator: treecmp.MakeComparisonOperator(treecmp.Contains), Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} 44621 } 44622 case 2500: 44623 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 44624 //line sql-gen.y:14605 44625 { 44626 sqlVAL.union.val = &tree.ComparisonExpr{Operator: treecmp.MakeComparisonOperator(treecmp.ContainedBy), Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} 44627 } 44628 case 2501: 44629 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 44630 //line sql-gen.y:14609 44631 { 44632 sqlVAL.union.val = &tree.ComparisonExpr{Operator: treecmp.MakeComparisonOperator(treecmp.EQ), Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} 44633 } 44634 case 2502: 44635 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 44636 //line sql-gen.y:14613 44637 { 44638 sqlVAL.union.val = &tree.BinaryExpr{Operator: treebin.MakeBinaryOperator(treebin.Concat), Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} 44639 } 44640 case 2503: 44641 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 44642 //line sql-gen.y:14617 44643 { 44644 sqlVAL.union.val = &tree.BinaryExpr{Operator: treebin.MakeBinaryOperator(treebin.LShift), Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} 44645 } 44646 case 2504: 44647 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 44648 //line sql-gen.y:14621 44649 { 44650 sqlVAL.union.val = &tree.BinaryExpr{Operator: treebin.MakeBinaryOperator(treebin.RShift), Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} 44651 } 44652 case 2505: 44653 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 44654 //line sql-gen.y:14625 44655 { 44656 sqlVAL.union.val = &tree.BinaryExpr{Operator: treebin.MakeBinaryOperator(treebin.JSONFetchVal), Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} 44657 } 44658 case 2506: 44659 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 44660 //line sql-gen.y:14629 44661 { 44662 sqlVAL.union.val = &tree.BinaryExpr{Operator: treebin.MakeBinaryOperator(treebin.JSONFetchText), Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} 44663 } 44664 case 2507: 44665 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 44666 //line sql-gen.y:14633 44667 { 44668 sqlVAL.union.val = &tree.BinaryExpr{Operator: treebin.MakeBinaryOperator(treebin.JSONFetchValPath), Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} 44669 } 44670 case 2508: 44671 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 44672 //line sql-gen.y:14637 44673 { 44674 sqlVAL.union.val = &tree.BinaryExpr{Operator: treebin.MakeBinaryOperator(treebin.JSONFetchTextPath), Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} 44675 } 44676 case 2509: 44677 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 44678 //line sql-gen.y:14641 44679 { 44680 sqlVAL.union.val = &tree.FuncExpr{Func: tree.WrapFunction("json_remove_path"), Exprs: tree.Exprs{sqlDollar[1].union.expr(), sqlDollar[3].union.expr()}} 44681 } 44682 case 2510: 44683 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 44684 //line sql-gen.y:14645 44685 { 44686 sqlVAL.union.val = &tree.FuncExpr{Func: tree.WrapFunction("inet_contained_by_or_equals"), Exprs: tree.Exprs{sqlDollar[1].union.expr(), sqlDollar[3].union.expr()}} 44687 } 44688 case 2511: 44689 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 44690 //line sql-gen.y:14649 44691 { 44692 sqlVAL.union.val = &tree.ComparisonExpr{Operator: treecmp.MakeComparisonOperator(treecmp.Overlaps), Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} 44693 } 44694 case 2512: 44695 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 44696 //line sql-gen.y:14653 44697 { 44698 sqlVAL.union.val = &tree.ComparisonExpr{Operator: treecmp.MakeComparisonOperator(treecmp.TSMatches), Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} 44699 } 44700 case 2513: 44701 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 44702 //line sql-gen.y:14657 44703 { 44704 sqlVAL.union.val = &tree.FuncExpr{Func: tree.WrapFunction("inet_contains_or_equals"), Exprs: tree.Exprs{sqlDollar[1].union.expr(), sqlDollar[3].union.expr()}} 44705 } 44706 case 2514: 44707 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 44708 //line sql-gen.y:14661 44709 { 44710 sqlVAL.union.val = &tree.ComparisonExpr{Operator: treecmp.MakeComparisonOperator(treecmp.LE), Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} 44711 } 44712 case 2515: 44713 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 44714 //line sql-gen.y:14665 44715 { 44716 sqlVAL.union.val = &tree.ComparisonExpr{Operator: treecmp.MakeComparisonOperator(treecmp.GE), Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} 44717 } 44718 case 2516: 44719 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 44720 //line sql-gen.y:14669 44721 { 44722 sqlVAL.union.val = &tree.ComparisonExpr{Operator: treecmp.MakeComparisonOperator(treecmp.NE), Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} 44723 } 44724 case 2517: 44725 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 44726 //line sql-gen.y:14673 44727 { 44728 var retCode int 44729 sqlVAL.union.val, retCode = processUnaryQualOp(sqllex, sqlDollar[1].union.op(), sqlDollar[2].union.expr()) 44730 if retCode != 0 { 44731 return retCode 44732 } 44733 } 44734 case 2518: 44735 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 44736 //line sql-gen.y:14681 44737 { 44738 { 44739 var retCode int 44740 sqlVAL.union.val, retCode = processBinaryQualOp(sqllex, sqlDollar[2].union.op(), sqlDollar[1].union.expr(), sqlDollar[3].union.expr()) 44741 if retCode != 0 { 44742 return retCode 44743 } 44744 } 44745 } 44746 case 2519: 44747 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 44748 //line sql-gen.y:14691 44749 { 44750 sqlVAL.union.val = &tree.AndExpr{Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} 44751 } 44752 case 2520: 44753 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 44754 //line sql-gen.y:14695 44755 { 44756 sqlVAL.union.val = &tree.OrExpr{Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} 44757 } 44758 case 2521: 44759 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 44760 //line sql-gen.y:14699 44761 { 44762 sqlVAL.union.val = &tree.NotExpr{Expr: sqlDollar[2].union.expr()} 44763 } 44764 case 2522: 44765 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 44766 //line sql-gen.y:14703 44767 { 44768 sqlVAL.union.val = &tree.NotExpr{Expr: sqlDollar[2].union.expr()} 44769 } 44770 case 2523: 44771 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 44772 //line sql-gen.y:14707 44773 { 44774 sqlVAL.union.val = &tree.ComparisonExpr{Operator: treecmp.MakeComparisonOperator(treecmp.Like), Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} 44775 } 44776 case 2524: 44777 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 44778 //line sql-gen.y:14711 44779 { 44780 sqlVAL.union.val = &tree.FuncExpr{Func: tree.WrapFunction("like_escape"), Exprs: tree.Exprs{sqlDollar[1].union.expr(), sqlDollar[3].union.expr(), sqlDollar[5].union.expr()}} 44781 } 44782 case 2525: 44783 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 44784 //line sql-gen.y:14715 44785 { 44786 sqlVAL.union.val = &tree.ComparisonExpr{Operator: treecmp.MakeComparisonOperator(treecmp.NotLike), Left: sqlDollar[1].union.expr(), Right: sqlDollar[4].union.expr()} 44787 } 44788 case 2526: 44789 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 44790 //line sql-gen.y:14719 44791 { 44792 sqlVAL.union.val = &tree.FuncExpr{Func: tree.WrapFunction("not_like_escape"), Exprs: tree.Exprs{sqlDollar[1].union.expr(), sqlDollar[4].union.expr(), sqlDollar[6].union.expr()}} 44793 } 44794 case 2527: 44795 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 44796 //line sql-gen.y:14723 44797 { 44798 sqlVAL.union.val = &tree.ComparisonExpr{Operator: treecmp.MakeComparisonOperator(treecmp.ILike), Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} 44799 } 44800 case 2528: 44801 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 44802 //line sql-gen.y:14727 44803 { 44804 sqlVAL.union.val = &tree.FuncExpr{Func: tree.WrapFunction("ilike_escape"), Exprs: tree.Exprs{sqlDollar[1].union.expr(), sqlDollar[3].union.expr(), sqlDollar[5].union.expr()}} 44805 } 44806 case 2529: 44807 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 44808 //line sql-gen.y:14731 44809 { 44810 sqlVAL.union.val = &tree.ComparisonExpr{Operator: treecmp.MakeComparisonOperator(treecmp.NotILike), Left: sqlDollar[1].union.expr(), Right: sqlDollar[4].union.expr()} 44811 } 44812 case 2530: 44813 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 44814 //line sql-gen.y:14735 44815 { 44816 sqlVAL.union.val = &tree.FuncExpr{Func: tree.WrapFunction("not_ilike_escape"), Exprs: tree.Exprs{sqlDollar[1].union.expr(), sqlDollar[4].union.expr(), sqlDollar[6].union.expr()}} 44817 } 44818 case 2531: 44819 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 44820 //line sql-gen.y:14739 44821 { 44822 sqlVAL.union.val = &tree.ComparisonExpr{Operator: treecmp.MakeComparisonOperator(treecmp.SimilarTo), Left: sqlDollar[1].union.expr(), Right: sqlDollar[4].union.expr()} 44823 } 44824 case 2532: 44825 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 44826 //line sql-gen.y:14743 44827 { 44828 sqlVAL.union.val = &tree.FuncExpr{Func: tree.WrapFunction("similar_to_escape"), Exprs: tree.Exprs{sqlDollar[1].union.expr(), sqlDollar[4].union.expr(), sqlDollar[6].union.expr()}} 44829 } 44830 case 2533: 44831 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 44832 //line sql-gen.y:14747 44833 { 44834 sqlVAL.union.val = &tree.ComparisonExpr{Operator: treecmp.MakeComparisonOperator(treecmp.NotSimilarTo), Left: sqlDollar[1].union.expr(), Right: sqlDollar[5].union.expr()} 44835 } 44836 case 2534: 44837 sqlDollar = sqlS[sqlpt-7 : sqlpt+1] 44838 //line sql-gen.y:14751 44839 { 44840 sqlVAL.union.val = &tree.FuncExpr{Func: tree.WrapFunction("not_similar_to_escape"), Exprs: tree.Exprs{sqlDollar[1].union.expr(), sqlDollar[5].union.expr(), sqlDollar[7].union.expr()}} 44841 } 44842 case 2535: 44843 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 44844 //line sql-gen.y:14755 44845 { 44846 sqlVAL.union.val = &tree.ComparisonExpr{Operator: treecmp.MakeComparisonOperator(treecmp.RegMatch), Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} 44847 } 44848 case 2536: 44849 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 44850 //line sql-gen.y:14759 44851 { 44852 sqlVAL.union.val = &tree.ComparisonExpr{Operator: treecmp.MakeComparisonOperator(treecmp.NotRegMatch), Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} 44853 } 44854 case 2537: 44855 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 44856 //line sql-gen.y:14763 44857 { 44858 sqlVAL.union.val = &tree.ComparisonExpr{Operator: treecmp.MakeComparisonOperator(treecmp.RegIMatch), Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} 44859 } 44860 case 2538: 44861 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 44862 //line sql-gen.y:14767 44863 { 44864 sqlVAL.union.val = &tree.ComparisonExpr{Operator: treecmp.MakeComparisonOperator(treecmp.NotRegIMatch), Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} 44865 } 44866 case 2539: 44867 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 44868 //line sql-gen.y:14771 44869 { 44870 sqlVAL.union.val = &tree.ComparisonExpr{ 44871 Operator: treecmp.MakeComparisonOperator(treecmp.EQ), 44872 Left: sqlDollar[1].union.expr(), 44873 Right: tree.NewNumVal(constant.MakeFloat64(math.NaN()), "NaN", false), 44874 } 44875 } 44876 case 2540: 44877 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 44878 //line sql-gen.y:14779 44879 { 44880 sqlVAL.union.val = &tree.ComparisonExpr{ 44881 Operator: treecmp.MakeComparisonOperator(treecmp.NE), 44882 Left: sqlDollar[1].union.expr(), 44883 Right: tree.NewNumVal(constant.MakeFloat64(math.NaN()), "NaN", false), 44884 } 44885 } 44886 case 2541: 44887 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 44888 //line sql-gen.y:14787 44889 { 44890 sqlVAL.union.val = &tree.IsNullExpr{Expr: sqlDollar[1].union.expr()} 44891 } 44892 case 2542: 44893 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 44894 //line sql-gen.y:14791 44895 { 44896 sqlVAL.union.val = &tree.IsNullExpr{Expr: sqlDollar[1].union.expr()} 44897 } 44898 case 2543: 44899 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 44900 //line sql-gen.y:14795 44901 { 44902 sqlVAL.union.val = &tree.IsNotNullExpr{Expr: sqlDollar[1].union.expr()} 44903 } 44904 case 2544: 44905 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 44906 //line sql-gen.y:14799 44907 { 44908 sqlVAL.union.val = &tree.IsNotNullExpr{Expr: sqlDollar[1].union.expr()} 44909 } 44910 case 2545: 44911 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 44912 //line sql-gen.y:14803 44913 { 44914 t1, t2 := sqlDollar[1].union.tuple(), sqlDollar[3].union.tuple() 44915 if len(t1.Exprs) != 2 { 44916 sqllex.Error("wrong number of parameters on left side of OVERLAPS expression") 44917 return 1 44918 } 44919 if len(t2.Exprs) != 2 { 44920 sqllex.Error("wrong number of parameters on right side of OVERLAPS expression") 44921 return 1 44922 } 44923 sqlVAL.union.val = &tree.FuncExpr{Func: tree.WrapFunction("overlaps"), Exprs: tree.Exprs{t1.Exprs[0], t1.Exprs[1], t2.Exprs[0], t2.Exprs[1]}} 44924 } 44925 case 2546: 44926 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 44927 //line sql-gen.y:14816 44928 { 44929 sqlVAL.union.val = &tree.ComparisonExpr{Operator: treecmp.MakeComparisonOperator(treecmp.IsNotDistinctFrom), Left: sqlDollar[1].union.expr(), Right: tree.MakeDBool(true)} 44930 } 44931 case 2547: 44932 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 44933 //line sql-gen.y:14820 44934 { 44935 sqlVAL.union.val = &tree.ComparisonExpr{Operator: treecmp.MakeComparisonOperator(treecmp.IsDistinctFrom), Left: sqlDollar[1].union.expr(), Right: tree.MakeDBool(true)} 44936 } 44937 case 2548: 44938 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 44939 //line sql-gen.y:14824 44940 { 44941 sqlVAL.union.val = &tree.ComparisonExpr{Operator: treecmp.MakeComparisonOperator(treecmp.IsNotDistinctFrom), Left: sqlDollar[1].union.expr(), Right: tree.MakeDBool(false)} 44942 } 44943 case 2549: 44944 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 44945 //line sql-gen.y:14828 44946 { 44947 sqlVAL.union.val = &tree.ComparisonExpr{Operator: treecmp.MakeComparisonOperator(treecmp.IsDistinctFrom), Left: sqlDollar[1].union.expr(), Right: tree.MakeDBool(false)} 44948 } 44949 case 2550: 44950 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 44951 //line sql-gen.y:14832 44952 { 44953 sqlVAL.union.val = &tree.ComparisonExpr{Operator: treecmp.MakeComparisonOperator(treecmp.IsNotDistinctFrom), Left: sqlDollar[1].union.expr(), Right: tree.DNull} 44954 } 44955 case 2551: 44956 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 44957 //line sql-gen.y:14836 44958 { 44959 sqlVAL.union.val = &tree.ComparisonExpr{Operator: treecmp.MakeComparisonOperator(treecmp.IsDistinctFrom), Left: sqlDollar[1].union.expr(), Right: tree.DNull} 44960 } 44961 case 2552: 44962 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 44963 //line sql-gen.y:14840 44964 { 44965 sqlVAL.union.val = &tree.ComparisonExpr{Operator: treecmp.MakeComparisonOperator(treecmp.IsDistinctFrom), Left: sqlDollar[1].union.expr(), Right: sqlDollar[5].union.expr()} 44966 } 44967 case 2553: 44968 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 44969 //line sql-gen.y:14844 44970 { 44971 sqlVAL.union.val = &tree.ComparisonExpr{Operator: treecmp.MakeComparisonOperator(treecmp.IsNotDistinctFrom), Left: sqlDollar[1].union.expr(), Right: sqlDollar[6].union.expr()} 44972 } 44973 case 2554: 44974 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 44975 //line sql-gen.y:14848 44976 { 44977 sqlVAL.union.val = &tree.IsOfTypeExpr{Expr: sqlDollar[1].union.expr(), Types: sqlDollar[5].union.typeReferences()} 44978 } 44979 case 2555: 44980 sqlDollar = sqlS[sqlpt-7 : sqlpt+1] 44981 //line sql-gen.y:14852 44982 { 44983 sqlVAL.union.val = &tree.IsOfTypeExpr{Not: true, Expr: sqlDollar[1].union.expr(), Types: sqlDollar[6].union.typeReferences()} 44984 } 44985 case 2556: 44986 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 44987 //line sql-gen.y:14856 44988 { 44989 sqlVAL.union.val = &tree.RangeCond{Left: sqlDollar[1].union.expr(), From: sqlDollar[4].union.expr(), To: sqlDollar[6].union.expr()} 44990 } 44991 case 2557: 44992 sqlDollar = sqlS[sqlpt-7 : sqlpt+1] 44993 //line sql-gen.y:14860 44994 { 44995 sqlVAL.union.val = &tree.RangeCond{Not: true, Left: sqlDollar[1].union.expr(), From: sqlDollar[5].union.expr(), To: sqlDollar[7].union.expr()} 44996 } 44997 case 2558: 44998 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 44999 //line sql-gen.y:14864 45000 { 45001 sqlVAL.union.val = &tree.RangeCond{Symmetric: true, Left: sqlDollar[1].union.expr(), From: sqlDollar[4].union.expr(), To: sqlDollar[6].union.expr()} 45002 } 45003 case 2559: 45004 sqlDollar = sqlS[sqlpt-7 : sqlpt+1] 45005 //line sql-gen.y:14868 45006 { 45007 sqlVAL.union.val = &tree.RangeCond{Not: true, Symmetric: true, Left: sqlDollar[1].union.expr(), From: sqlDollar[5].union.expr(), To: sqlDollar[7].union.expr()} 45008 } 45009 case 2560: 45010 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 45011 //line sql-gen.y:14872 45012 { 45013 sqlVAL.union.val = &tree.ComparisonExpr{Operator: treecmp.MakeComparisonOperator(treecmp.In), Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} 45014 } 45015 case 2561: 45016 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 45017 //line sql-gen.y:14876 45018 { 45019 sqlVAL.union.val = &tree.ComparisonExpr{Operator: treecmp.MakeComparisonOperator(treecmp.NotIn), Left: sqlDollar[1].union.expr(), Right: sqlDollar[4].union.expr()} 45020 } 45021 case 2562: 45022 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 45023 //line sql-gen.y:14880 45024 { 45025 op := sqlDollar[3].union.cmpOp() 45026 subOp := sqlDollar[2].union.op() 45027 subOpCmp, ok := subOp.(treecmp.ComparisonOperator) 45028 if !ok { 45029 45030 if tree.IsUnaryComplement(subOp) { 45031 subOp = treecmp.MakeComparisonOperator(treecmp.RegMatch) 45032 } else { 45033 sqllex.Error(fmt.Sprintf("%s %s <array> is invalid because %q is not a boolean operator", 45034 subOp, op, subOp)) 45035 return 1 45036 } 45037 } 45038 sqlVAL.union.val = &tree.ComparisonExpr{ 45039 Operator: op, 45040 SubOperator: subOpCmp, 45041 Left: sqlDollar[1].union.expr(), 45042 Right: sqlDollar[4].union.expr(), 45043 } 45044 } 45045 case 2563: 45046 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 45047 //line sql-gen.y:14904 45048 { 45049 sqlVAL.union.val = tree.DefaultVal{} 45050 } 45051 case 2564: 45052 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 45053 //line sql-gen.y:14909 45054 { 45055 return unimplemented(sqllex, "UNIQUE predicate") 45056 } 45057 case 2566: 45058 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 45059 //line sql-gen.y:14921 45060 { 45061 sqlVAL.union.val = &tree.CastExpr{Expr: sqlDollar[1].union.expr(), Type: sqlDollar[3].union.typeReference(), SyntaxMode: tree.CastShort} 45062 } 45063 case 2567: 45064 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 45065 //line sql-gen.y:14925 45066 { 45067 sqlVAL.union.val = &tree.AnnotateTypeExpr{Expr: sqlDollar[1].union.expr(), Type: sqlDollar[3].union.typeReference(), SyntaxMode: tree.AnnotateShort} 45068 } 45069 case 2568: 45070 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 45071 //line sql-gen.y:14929 45072 { 45073 sqlVAL.union.val = sqlDollar[2].union.expr() 45074 } 45075 case 2569: 45076 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 45077 //line sql-gen.y:14933 45078 { 45079 sqlVAL.union.val = unaryNegation(sqlDollar[2].union.expr()) 45080 } 45081 case 2570: 45082 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 45083 //line sql-gen.y:14937 45084 { 45085 sqlVAL.union.val = &tree.UnaryExpr{Operator: tree.MakeUnaryOperator(tree.UnaryComplement), Expr: sqlDollar[2].union.expr()} 45086 } 45087 case 2571: 45088 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 45089 //line sql-gen.y:14941 45090 { 45091 sqlVAL.union.val = &tree.BinaryExpr{Operator: treebin.MakeBinaryOperator(treebin.Plus), Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} 45092 } 45093 case 2572: 45094 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 45095 //line sql-gen.y:14945 45096 { 45097 sqlVAL.union.val = &tree.BinaryExpr{Operator: treebin.MakeBinaryOperator(treebin.Minus), Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} 45098 } 45099 case 2573: 45100 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 45101 //line sql-gen.y:14949 45102 { 45103 sqlVAL.union.val = &tree.BinaryExpr{Operator: treebin.MakeBinaryOperator(treebin.Mult), Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} 45104 } 45105 case 2574: 45106 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 45107 //line sql-gen.y:14953 45108 { 45109 sqlVAL.union.val = &tree.BinaryExpr{Operator: treebin.MakeBinaryOperator(treebin.Div), Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} 45110 } 45111 case 2575: 45112 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 45113 //line sql-gen.y:14957 45114 { 45115 sqlVAL.union.val = &tree.BinaryExpr{Operator: treebin.MakeBinaryOperator(treebin.FloorDiv), Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} 45116 } 45117 case 2576: 45118 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 45119 //line sql-gen.y:14961 45120 { 45121 sqlVAL.union.val = &tree.BinaryExpr{Operator: treebin.MakeBinaryOperator(treebin.Mod), Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} 45122 } 45123 case 2577: 45124 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 45125 //line sql-gen.y:14965 45126 { 45127 sqlVAL.union.val = &tree.BinaryExpr{Operator: treebin.MakeBinaryOperator(treebin.Pow), Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} 45128 } 45129 case 2578: 45130 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 45131 //line sql-gen.y:14969 45132 { 45133 sqlVAL.union.val = &tree.BinaryExpr{Operator: treebin.MakeBinaryOperator(treebin.Bitxor), Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} 45134 } 45135 case 2579: 45136 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 45137 //line sql-gen.y:14973 45138 { 45139 sqlVAL.union.val = &tree.BinaryExpr{Operator: treebin.MakeBinaryOperator(treebin.Bitand), Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} 45140 } 45141 case 2580: 45142 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 45143 //line sql-gen.y:14977 45144 { 45145 sqlVAL.union.val = &tree.BinaryExpr{Operator: treebin.MakeBinaryOperator(treebin.Bitor), Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} 45146 } 45147 case 2581: 45148 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 45149 //line sql-gen.y:14981 45150 { 45151 sqlVAL.union.val = &tree.ComparisonExpr{Operator: treecmp.MakeComparisonOperator(treecmp.LT), Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} 45152 } 45153 case 2582: 45154 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 45155 //line sql-gen.y:14985 45156 { 45157 sqlVAL.union.val = &tree.ComparisonExpr{Operator: treecmp.MakeComparisonOperator(treecmp.GT), Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} 45158 } 45159 case 2583: 45160 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 45161 //line sql-gen.y:14989 45162 { 45163 sqlVAL.union.val = &tree.ComparisonExpr{Operator: treecmp.MakeComparisonOperator(treecmp.EQ), Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} 45164 } 45165 case 2584: 45166 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 45167 //line sql-gen.y:14993 45168 { 45169 sqlVAL.union.val = &tree.BinaryExpr{Operator: treebin.MakeBinaryOperator(treebin.Concat), Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} 45170 } 45171 case 2585: 45172 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 45173 //line sql-gen.y:14997 45174 { 45175 sqlVAL.union.val = &tree.BinaryExpr{Operator: treebin.MakeBinaryOperator(treebin.LShift), Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} 45176 } 45177 case 2586: 45178 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 45179 //line sql-gen.y:15001 45180 { 45181 sqlVAL.union.val = &tree.BinaryExpr{Operator: treebin.MakeBinaryOperator(treebin.RShift), Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} 45182 } 45183 case 2587: 45184 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 45185 //line sql-gen.y:15005 45186 { 45187 sqlVAL.union.val = &tree.ComparisonExpr{Operator: treecmp.MakeComparisonOperator(treecmp.LE), Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} 45188 } 45189 case 2588: 45190 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 45191 //line sql-gen.y:15009 45192 { 45193 sqlVAL.union.val = &tree.ComparisonExpr{Operator: treecmp.MakeComparisonOperator(treecmp.GE), Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} 45194 } 45195 case 2589: 45196 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 45197 //line sql-gen.y:15013 45198 { 45199 sqlVAL.union.val = &tree.ComparisonExpr{Operator: treecmp.MakeComparisonOperator(treecmp.NE), Left: sqlDollar[1].union.expr(), Right: sqlDollar[3].union.expr()} 45200 } 45201 case 2590: 45202 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 45203 //line sql-gen.y:15017 45204 { 45205 var retCode int 45206 sqlVAL.union.val, retCode = processUnaryQualOp(sqllex, sqlDollar[1].union.op(), sqlDollar[2].union.expr()) 45207 if retCode != 0 { 45208 return retCode 45209 } 45210 } 45211 case 2591: 45212 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 45213 //line sql-gen.y:15025 45214 { 45215 { 45216 var retCode int 45217 sqlVAL.union.val, retCode = processBinaryQualOp(sqllex, sqlDollar[2].union.op(), sqlDollar[1].union.expr(), sqlDollar[3].union.expr()) 45218 if retCode != 0 { 45219 return retCode 45220 } 45221 } 45222 } 45223 case 2592: 45224 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 45225 //line sql-gen.y:15035 45226 { 45227 sqlVAL.union.val = &tree.ComparisonExpr{Operator: treecmp.MakeComparisonOperator(treecmp.IsDistinctFrom), Left: sqlDollar[1].union.expr(), Right: sqlDollar[5].union.expr()} 45228 } 45229 case 2593: 45230 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 45231 //line sql-gen.y:15039 45232 { 45233 sqlVAL.union.val = &tree.ComparisonExpr{Operator: treecmp.MakeComparisonOperator(treecmp.IsNotDistinctFrom), Left: sqlDollar[1].union.expr(), Right: sqlDollar[6].union.expr()} 45234 } 45235 case 2594: 45236 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 45237 //line sql-gen.y:15043 45238 { 45239 sqlVAL.union.val = &tree.IsOfTypeExpr{Expr: sqlDollar[1].union.expr(), Types: sqlDollar[5].union.typeReferences()} 45240 } 45241 case 2595: 45242 sqlDollar = sqlS[sqlpt-7 : sqlpt+1] 45243 //line sql-gen.y:15047 45244 { 45245 sqlVAL.union.val = &tree.IsOfTypeExpr{Not: true, Expr: sqlDollar[1].union.expr(), Types: sqlDollar[6].union.typeReferences()} 45246 } 45247 case 2597: 45248 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 45249 //line sql-gen.y:15061 45250 { 45251 sqlVAL.union.val = &tree.IndirectionExpr{ 45252 Expr: sqlDollar[1].union.expr(), 45253 Indirection: sqlDollar[2].union.arraySubscripts(), 45254 } 45255 } 45256 case 2599: 45257 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 45258 //line sql-gen.y:15069 45259 { 45260 sqlVAL.union.val = &tree.Subquery{Select: sqlDollar[2].union.selectStmt(), Exists: true} 45261 } 45262 case 2600: 45263 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 45264 //line sql-gen.y:15105 45265 { 45266 sqlVAL.union.val = sqlDollar[1].union.numVal() 45267 } 45268 case 2601: 45269 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 45270 //line sql-gen.y:15109 45271 { 45272 sqlVAL.union.val = sqlDollar[1].union.numVal() 45273 } 45274 case 2602: 45275 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 45276 //line sql-gen.y:15113 45277 { 45278 sqlVAL.union.val = tree.NewStrVal(sqlDollar[1].str) 45279 } 45280 case 2603: 45281 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 45282 //line sql-gen.y:15117 45283 { 45284 sqlVAL.union.val = tree.NewBytesStrVal(sqlDollar[1].str) 45285 } 45286 case 2604: 45287 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 45288 //line sql-gen.y:15121 45289 { 45290 d, err := tree.ParseDBitArray(sqlDollar[1].str) 45291 if err != nil { 45292 return setErr(sqllex, err) 45293 } 45294 sqlVAL.union.val = d 45295 } 45296 case 2605: 45297 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 45298 //line sql-gen.y:15126 45299 { 45300 return unimplemented(sqllex, sqlDollar[1].union.resolvableFuncRef().String()+"(...) SCONST") 45301 } 45302 case 2606: 45303 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 45304 //line sql-gen.y:15128 45305 { 45306 sqlVAL.union.val = sqlDollar[1].union.expr() 45307 } 45308 case 2607: 45309 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 45310 //line sql-gen.y:15132 45311 { 45312 sqlVAL.union.val = sqlDollar[1].union.expr() 45313 } 45314 case 2608: 45315 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 45316 //line sql-gen.y:15136 45317 { 45318 sqlVAL.union.val = tree.MakeDBool(true) 45319 } 45320 case 2609: 45321 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 45322 //line sql-gen.y:15140 45323 { 45324 sqlVAL.union.val = tree.MakeDBool(false) 45325 } 45326 case 2610: 45327 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 45328 //line sql-gen.y:15144 45329 { 45330 sqlVAL.union.val = tree.DNull 45331 } 45332 case 2611: 45333 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 45334 //line sql-gen.y:15148 45335 { 45336 sqlVAL.union.val = tree.Expr(sqlDollar[1].union.unresolvedName()) 45337 } 45338 case 2612: 45339 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 45340 //line sql-gen.y:15152 45341 { 45342 colNum := sqlDollar[2].union.int64() 45343 if colNum < 1 || colNum > int64(MaxInt) { 45344 sqllex.Error(fmt.Sprintf("invalid column ordinal: @%d", colNum)) 45345 return 1 45346 } 45347 sqlVAL.union.val = tree.NewOrdinalReference(int(colNum - 1)) 45348 } 45349 case 2613: 45350 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 45351 //line sql-gen.y:15161 45352 { 45353 p := sqlDollar[1].union.placeholder() 45354 sqllex.(*lexer).UpdateNumPlaceholders(p) 45355 sqlVAL.union.val = p 45356 } 45357 case 2614: 45358 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 45359 //line sql-gen.y:15168 45360 { 45361 sqlVAL.union.val = &tree.TupleStar{Expr: sqlDollar[2].union.expr()} 45362 } 45363 case 2615: 45364 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 45365 //line sql-gen.y:15172 45366 { 45367 sqlVAL.union.val = &tree.ColumnAccessExpr{Expr: sqlDollar[2].union.expr(), ColName: tree.Name(sqlDollar[5].str)} 45368 } 45369 case 2616: 45370 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 45371 //line sql-gen.y:15176 45372 { 45373 idx, err := sqlDollar[6].union.numVal().AsInt32() 45374 if err != nil { 45375 return setErr(sqllex, err) 45376 } 45377 if idx <= 0 { 45378 err := errors.New("invalid numeric tuple index: indexes must be > 0") 45379 return setErr(sqllex, err) 45380 } 45381 sqlVAL.union.val = &tree.ColumnAccessExpr{Expr: sqlDollar[2].union.expr(), ByIndex: true, ColIndex: int(idx - 1)} 45382 } 45383 case 2617: 45384 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 45385 //line sql-gen.y:15186 45386 { 45387 sqlVAL.union.val = &tree.ParenExpr{Expr: sqlDollar[2].union.expr()} 45388 } 45389 case 2619: 45390 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 45391 //line sql-gen.y:15191 45392 { 45393 sqlVAL.union.val = &tree.Subquery{Select: sqlDollar[1].union.selectStmt()} 45394 } 45395 case 2620: 45396 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 45397 //line sql-gen.y:15195 45398 { 45399 sqlVAL.union.val = sqlDollar[1].union.tuple() 45400 } 45401 case 2621: 45402 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 45403 //line sql-gen.y:15199 45404 { 45405 sqlVAL.union.val = &tree.ArrayFlatten{Subquery: &tree.Subquery{Select: sqlDollar[2].union.selectStmt()}} 45406 } 45407 case 2622: 45408 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 45409 //line sql-gen.y:15203 45410 { 45411 sqlVAL.union.val = &tree.Array{Exprs: sqlDollar[2].union.tuple().Exprs} 45412 } 45413 case 2623: 45414 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 45415 //line sql-gen.y:15207 45416 { 45417 sqlVAL.union.val = sqlDollar[2].union.expr() 45418 } 45419 case 2624: 45420 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 45421 //line sql-gen.y:15210 45422 { 45423 return unimplemented(sqllex, "d_expr grouping") 45424 } 45425 case 2625: 45426 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 45427 //line sql-gen.y:15214 45428 { 45429 sqlVAL.union.val = &tree.FuncExpr{Func: sqlDollar[1].union.resolvableFuncRef()} 45430 } 45431 case 2626: 45432 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 45433 //line sql-gen.y:15218 45434 { 45435 sqlVAL.union.val = &tree.FuncExpr{Func: sqlDollar[1].union.resolvableFuncRef(), Exprs: sqlDollar[3].union.exprs(), OrderBy: sqlDollar[4].union.orderBy(), AggType: tree.GeneralAgg} 45436 } 45437 case 2627: 45438 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 45439 //line sql-gen.y:15221 45440 { 45441 return unimplemented(sqllex, "variadic") 45442 } 45443 case 2628: 45444 sqlDollar = sqlS[sqlpt-8 : sqlpt+1] 45445 //line sql-gen.y:15222 45446 { 45447 return unimplemented(sqllex, "variadic") 45448 } 45449 case 2629: 45450 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 45451 //line sql-gen.y:15224 45452 { 45453 sqlVAL.union.val = &tree.FuncExpr{Func: sqlDollar[1].union.resolvableFuncRef(), Type: tree.AllFuncType, Exprs: sqlDollar[4].union.exprs(), OrderBy: sqlDollar[5].union.orderBy(), AggType: tree.GeneralAgg} 45454 } 45455 case 2630: 45456 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 45457 //line sql-gen.y:15230 45458 { 45459 sqlVAL.union.val = &tree.FuncExpr{Func: sqlDollar[1].union.resolvableFuncRef(), Type: tree.DistinctFuncType, Exprs: sqlDollar[4].union.exprs()} 45460 } 45461 case 2631: 45462 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 45463 //line sql-gen.y:15234 45464 { 45465 sqlVAL.union.val = &tree.FuncExpr{Func: sqlDollar[1].union.resolvableFuncRef(), Exprs: tree.Exprs{tree.StarExpr()}} 45466 } 45467 case 2632: 45468 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 45469 //line sql-gen.y:15237 45470 { 45471 return helpWithFunction(sqllex, sqlDollar[1].union.resolvableFuncRef()) 45472 } 45473 case 2633: 45474 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 45475 //line sql-gen.y:15241 45476 { 45477 sqlVAL.union.val = sqlDollar[1].union.resolvableFuncRefFromName() 45478 } 45479 case 2634: 45480 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 45481 //line sql-gen.y:15245 45482 { 45483 id := sqlDollar[3].union.int32() 45484 sqlVAL.union.val = tree.ResolvableFunctionReference{ 45485 FunctionReference: &tree.FunctionOID{OID: oid.Oid(id)}, 45486 } 45487 } 45488 case 2635: 45489 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 45490 //line sql-gen.y:15259 45491 { 45492 name := sqlDollar[1].union.unresolvedName() 45493 if name.NumParts == 1 { 45494 typName := name.Parts[0] 45495 45496 if typName == "char" { 45497 sqlVAL.union.val = &tree.CastExpr{Expr: tree.NewStrVal(sqlDollar[2].str), Type: types.QChar, SyntaxMode: tree.CastPrepend} 45498 } else if typName == "serial" { 45499 switch sqllex.(*lexer).nakedIntType.Width() { 45500 case 32: 45501 sqlVAL.union.val = &tree.CastExpr{Expr: tree.NewStrVal(sqlDollar[2].str), Type: &types.Serial4Type, SyntaxMode: tree.CastPrepend} 45502 default: 45503 sqlVAL.union.val = &tree.CastExpr{Expr: tree.NewStrVal(sqlDollar[2].str), Type: &types.Serial8Type, SyntaxMode: tree.CastPrepend} 45504 } 45505 } else { 45506 45507 var typ tree.ResolvableTypeReference 45508 var ok bool 45509 var unimp int 45510 typ, ok, unimp = types.TypeForNonKeywordTypeName(typName) 45511 if !ok { 45512 switch unimp { 45513 case 0: 45514 45515 aIdx := sqllex.(*lexer).NewAnnotation() 45516 un, err := name.ToUnresolvedObjectName(aIdx) 45517 if err != nil { 45518 return setErr(sqllex, err) 45519 } 45520 typ = &un 45521 case -1: 45522 return unimplemented(sqllex, "type name "+typName) 45523 default: 45524 return unimplementedWithIssueDetail(sqllex, unimp, typName) 45525 } 45526 } 45527 sqlVAL.union.val = &tree.CastExpr{Expr: tree.NewStrVal(sqlDollar[2].str), Type: typ, SyntaxMode: tree.CastPrepend} 45528 } 45529 } else { 45530 aIdx := sqllex.(*lexer).NewAnnotation() 45531 res, err := name.ToUnresolvedObjectName(aIdx) 45532 if err != nil { 45533 return setErr(sqllex, err) 45534 } 45535 sqlVAL.union.val = &tree.CastExpr{Expr: tree.NewStrVal(sqlDollar[2].str), Type: &res, SyntaxMode: tree.CastPrepend} 45536 } 45537 } 45538 case 2636: 45539 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 45540 //line sql-gen.y:15312 45541 { 45542 sqlVAL.union.val = &tree.CastExpr{Expr: tree.NewStrVal(sqlDollar[2].str), Type: sqlDollar[1].union.colType(), SyntaxMode: tree.CastPrepend} 45543 } 45544 case 2637: 45545 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 45546 //line sql-gen.y:15325 45547 { 45548 f := sqlDollar[1].union.expr().(*tree.FuncExpr) 45549 w := sqlDollar[2].union.expr().(*tree.FuncExpr) 45550 if w.AggType != 0 { 45551 f.AggType = w.AggType 45552 f.OrderBy = w.OrderBy 45553 } 45554 f.Filter = sqlDollar[3].union.expr() 45555 f.WindowDef = sqlDollar[4].union.windowDef() 45556 sqlVAL.union.val = f 45557 } 45558 case 2638: 45559 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 45560 //line sql-gen.y:15337 45561 { 45562 sqlVAL.union.val = sqlDollar[1].union.expr() 45563 } 45564 case 2639: 45565 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 45566 //line sql-gen.y:15346 45567 { 45568 sqlVAL.union.val = sqlDollar[1].union.expr() 45569 } 45570 case 2640: 45571 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 45572 //line sql-gen.y:15347 45573 { 45574 sqlVAL.union.val = sqlDollar[1].union.expr() 45575 } 45576 case 2641: 45577 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 45578 //line sql-gen.y:15352 45579 { 45580 sqlVAL.union.val = &tree.FuncExpr{Func: tree.WrapFunction("pg_collation_for"), Exprs: tree.Exprs{sqlDollar[4].union.expr()}} 45581 } 45582 case 2642: 45583 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 45584 //line sql-gen.y:15356 45585 { 45586 sqlVAL.union.val = &tree.FuncExpr{Func: tree.WrapFunction(sqlDollar[1].str)} 45587 } 45588 case 2643: 45589 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 45590 //line sql-gen.y:15360 45591 { 45592 sqlVAL.union.val = &tree.FuncExpr{Func: tree.WrapFunction(sqlDollar[1].str)} 45593 } 45594 case 2644: 45595 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 45596 //line sql-gen.y:15366 45597 { 45598 sqlVAL.union.val = &tree.FuncExpr{Func: tree.WrapFunction("current_database")} 45599 } 45600 case 2645: 45601 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 45602 //line sql-gen.y:15370 45603 { 45604 sqlVAL.union.val = &tree.FuncExpr{Func: tree.WrapFunction(sqlDollar[1].str)} 45605 } 45606 case 2646: 45607 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 45608 //line sql-gen.y:15374 45609 { 45610 sqlVAL.union.val = &tree.FuncExpr{Func: tree.WrapFunction(sqlDollar[1].str)} 45611 } 45612 case 2647: 45613 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 45614 //line sql-gen.y:15378 45615 { 45616 sqlVAL.union.val = &tree.FuncExpr{Func: tree.WrapFunction(sqlDollar[1].str)} 45617 } 45618 case 2648: 45619 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 45620 //line sql-gen.y:15382 45621 { 45622 sqlVAL.union.val = &tree.FuncExpr{Func: tree.WrapFunction(sqlDollar[1].str)} 45623 } 45624 case 2649: 45625 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 45626 //line sql-gen.y:15386 45627 { 45628 sqlVAL.union.val = &tree.FuncExpr{Func: tree.WrapFunction(sqlDollar[1].str)} 45629 } 45630 case 2650: 45631 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 45632 //line sql-gen.y:15392 45633 { 45634 sqlVAL.union.val = &tree.FuncExpr{Func: tree.WrapFunction("current_user")} 45635 } 45636 case 2651: 45637 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 45638 //line sql-gen.y:15396 45639 { 45640 sqlVAL.union.val = &tree.FuncExpr{Func: tree.WrapFunction("session_user")} 45641 } 45642 case 2652: 45643 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 45644 //line sql-gen.y:15400 45645 { 45646 sqlVAL.union.val = &tree.FuncExpr{Func: tree.WrapFunction("current_user")} 45647 } 45648 case 2653: 45649 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 45650 //line sql-gen.y:15404 45651 { 45652 sqlVAL.union.val = &tree.CastExpr{Expr: sqlDollar[3].union.expr(), Type: sqlDollar[5].union.typeReference(), SyntaxMode: tree.CastExplicit} 45653 } 45654 case 2654: 45655 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 45656 //line sql-gen.y:15408 45657 { 45658 sqlVAL.union.val = &tree.AnnotateTypeExpr{Expr: sqlDollar[3].union.expr(), Type: sqlDollar[5].union.typeReference(), SyntaxMode: tree.AnnotateExplicit} 45659 } 45660 case 2655: 45661 sqlDollar = sqlS[sqlpt-8 : sqlpt+1] 45662 //line sql-gen.y:15412 45663 { 45664 sqlVAL.union.val = &tree.IfExpr{Cond: sqlDollar[3].union.expr(), True: sqlDollar[5].union.expr(), Else: sqlDollar[7].union.expr()} 45665 } 45666 case 2656: 45667 sqlDollar = sqlS[sqlpt-8 : sqlpt+1] 45668 //line sql-gen.y:15416 45669 { 45670 sqlVAL.union.val = &tree.IfErrExpr{Cond: sqlDollar[3].union.expr(), Else: sqlDollar[5].union.expr(), ErrCode: sqlDollar[7].union.expr()} 45671 } 45672 case 2657: 45673 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 45674 //line sql-gen.y:15420 45675 { 45676 sqlVAL.union.val = &tree.IfErrExpr{Cond: sqlDollar[3].union.expr(), Else: sqlDollar[5].union.expr()} 45677 } 45678 case 2658: 45679 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 45680 //line sql-gen.y:15424 45681 { 45682 sqlVAL.union.val = &tree.IfErrExpr{Cond: sqlDollar[3].union.expr()} 45683 } 45684 case 2659: 45685 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 45686 //line sql-gen.y:15428 45687 { 45688 sqlVAL.union.val = &tree.IfErrExpr{Cond: sqlDollar[3].union.expr(), ErrCode: sqlDollar[5].union.expr()} 45689 } 45690 case 2660: 45691 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 45692 //line sql-gen.y:15432 45693 { 45694 sqlVAL.union.val = &tree.NullIfExpr{Expr1: sqlDollar[3].union.expr(), Expr2: sqlDollar[5].union.expr()} 45695 } 45696 case 2661: 45697 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 45698 //line sql-gen.y:15436 45699 { 45700 sqlVAL.union.val = &tree.CoalesceExpr{Name: "IFNULL", Exprs: tree.Exprs{sqlDollar[3].union.expr(), sqlDollar[5].union.expr()}} 45701 } 45702 case 2662: 45703 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 45704 //line sql-gen.y:15440 45705 { 45706 sqlVAL.union.val = &tree.CoalesceExpr{Name: "COALESCE", Exprs: sqlDollar[3].union.exprs()} 45707 } 45708 case 2664: 45709 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 45710 //line sql-gen.y:15447 45711 { 45712 sqlVAL.union.val = &tree.FuncExpr{Func: tree.WrapFunction(sqlDollar[1].str)} 45713 } 45714 case 2665: 45715 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 45716 //line sql-gen.y:15450 45717 { 45718 return helpWithFunctionByName(sqllex, sqlDollar[1].str) 45719 } 45720 case 2666: 45721 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 45722 //line sql-gen.y:15452 45723 { 45724 sqlVAL.union.val = &tree.FuncExpr{Func: tree.WrapFunction(sqlDollar[1].str)} 45725 } 45726 case 2667: 45727 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 45728 //line sql-gen.y:15455 45729 { 45730 return helpWithFunctionByName(sqllex, sqlDollar[1].str) 45731 } 45732 case 2668: 45733 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 45734 //line sql-gen.y:15457 45735 { 45736 sqlVAL.union.val = &tree.FuncExpr{Func: tree.WrapFunction(sqlDollar[1].str)} 45737 } 45738 case 2669: 45739 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 45740 //line sql-gen.y:15461 45741 { 45742 sqlVAL.union.val = &tree.FuncExpr{Func: tree.WrapFunction(sqlDollar[1].str), Exprs: tree.Exprs{sqlDollar[3].union.expr()}} 45743 } 45744 case 2670: 45745 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 45746 //line sql-gen.y:15464 45747 { 45748 return helpWithFunctionByName(sqllex, sqlDollar[1].str) 45749 } 45750 case 2671: 45751 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 45752 //line sql-gen.y:15466 45753 { 45754 sqlVAL.union.val = &tree.FuncExpr{Func: tree.WrapFunction(sqlDollar[1].str)} 45755 } 45756 case 2672: 45757 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 45758 //line sql-gen.y:15470 45759 { 45760 sqlVAL.union.val = &tree.FuncExpr{Func: tree.WrapFunction(sqlDollar[1].str), Exprs: tree.Exprs{sqlDollar[3].union.expr()}} 45761 } 45762 case 2673: 45763 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 45764 //line sql-gen.y:15473 45765 { 45766 return helpWithFunctionByName(sqllex, sqlDollar[1].str) 45767 } 45768 case 2674: 45769 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 45770 //line sql-gen.y:15475 45771 { 45772 sqlVAL.union.val = &tree.FuncExpr{Func: tree.WrapFunction(sqlDollar[1].str)} 45773 } 45774 case 2675: 45775 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 45776 //line sql-gen.y:15479 45777 { 45778 sqlVAL.union.val = &tree.FuncExpr{Func: tree.WrapFunction(sqlDollar[1].str), Exprs: tree.Exprs{sqlDollar[3].union.expr()}} 45779 } 45780 case 2676: 45781 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 45782 //line sql-gen.y:15482 45783 { 45784 return helpWithFunctionByName(sqllex, sqlDollar[1].str) 45785 } 45786 case 2677: 45787 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 45788 //line sql-gen.y:15484 45789 { 45790 sqlVAL.union.val = &tree.FuncExpr{Func: tree.WrapFunction(sqlDollar[1].str)} 45791 } 45792 case 2678: 45793 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 45794 //line sql-gen.y:15488 45795 { 45796 sqlVAL.union.val = &tree.FuncExpr{Func: tree.WrapFunction(sqlDollar[1].str), Exprs: tree.Exprs{sqlDollar[3].union.expr()}} 45797 } 45798 case 2679: 45799 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 45800 //line sql-gen.y:15491 45801 { 45802 return helpWithFunctionByName(sqllex, sqlDollar[1].str) 45803 } 45804 case 2680: 45805 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 45806 //line sql-gen.y:15493 45807 { 45808 sqlVAL.union.val = &tree.FuncExpr{Func: tree.WrapFunction(sqlDollar[1].str)} 45809 } 45810 case 2681: 45811 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 45812 //line sql-gen.y:15496 45813 { 45814 return helpWithFunctionByName(sqllex, sqlDollar[1].str) 45815 } 45816 case 2682: 45817 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 45818 //line sql-gen.y:15498 45819 { 45820 sqlVAL.union.val = &tree.FuncExpr{Func: tree.WrapFunction(sqlDollar[1].str)} 45821 } 45822 case 2683: 45823 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 45824 //line sql-gen.y:15501 45825 { 45826 return helpWithFunctionByName(sqllex, sqlDollar[1].str) 45827 } 45828 case 2684: 45829 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 45830 //line sql-gen.y:15503 45831 { 45832 sqlVAL.union.val = &tree.FuncExpr{Func: tree.WrapFunction(sqlDollar[1].str), Exprs: sqlDollar[3].union.exprs()} 45833 } 45834 case 2685: 45835 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 45836 //line sql-gen.y:15506 45837 { 45838 return helpWithFunctionByName(sqllex, sqlDollar[1].str) 45839 } 45840 case 2686: 45841 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 45842 //line sql-gen.y:15508 45843 { 45844 sqlVAL.union.val = &tree.FuncExpr{Func: tree.WrapFunction(sqlDollar[1].str), Exprs: sqlDollar[3].union.exprs()} 45845 } 45846 case 2687: 45847 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 45848 //line sql-gen.y:15511 45849 { 45850 return helpWithFunctionByName(sqllex, sqlDollar[1].str) 45851 } 45852 case 2688: 45853 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 45854 //line sql-gen.y:15513 45855 { 45856 sqlVAL.union.val = &tree.FuncExpr{Func: tree.WrapFunction(sqlDollar[1].str), Exprs: sqlDollar[3].union.exprs()} 45857 } 45858 case 2689: 45859 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 45860 //line sql-gen.y:15516 45861 { 45862 return helpWithFunctionByName(sqllex, sqlDollar[1].str) 45863 } 45864 case 2690: 45865 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 45866 //line sql-gen.y:15518 45867 { 45868 sqlVAL.union.val = &tree.FuncExpr{Func: tree.WrapFunction("strpos"), Exprs: sqlDollar[3].union.exprs()} 45869 } 45870 case 2691: 45871 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 45872 //line sql-gen.y:15522 45873 { 45874 sqlVAL.union.val = &tree.FuncExpr{Func: tree.WrapFunction(sqlDollar[1].str), Exprs: sqlDollar[3].union.exprs()} 45875 } 45876 case 2692: 45877 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 45878 //line sql-gen.y:15525 45879 { 45880 return helpWithFunctionByName(sqllex, sqlDollar[1].str) 45881 } 45882 case 2693: 45883 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 45884 //line sql-gen.y:15526 45885 { 45886 return unimplemented(sqllex, "treat") 45887 } 45888 case 2694: 45889 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 45890 //line sql-gen.y:15528 45891 { 45892 sqlVAL.union.val = &tree.FuncExpr{Func: tree.WrapFunction("btrim"), Exprs: sqlDollar[4].union.exprs()} 45893 } 45894 case 2695: 45895 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 45896 //line sql-gen.y:15532 45897 { 45898 sqlVAL.union.val = &tree.FuncExpr{Func: tree.WrapFunction("ltrim"), Exprs: sqlDollar[4].union.exprs()} 45899 } 45900 case 2696: 45901 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 45902 //line sql-gen.y:15536 45903 { 45904 sqlVAL.union.val = &tree.FuncExpr{Func: tree.WrapFunction("rtrim"), Exprs: sqlDollar[4].union.exprs()} 45905 } 45906 case 2697: 45907 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 45908 //line sql-gen.y:15540 45909 { 45910 sqlVAL.union.val = &tree.FuncExpr{Func: tree.WrapFunction("btrim"), Exprs: sqlDollar[3].union.exprs()} 45911 } 45912 case 2698: 45913 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 45914 //line sql-gen.y:15544 45915 { 45916 sqlVAL.union.val = &tree.FuncExpr{Func: tree.WrapFunction(sqlDollar[1].str), Exprs: sqlDollar[3].union.exprs()} 45917 } 45918 case 2699: 45919 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 45920 //line sql-gen.y:15547 45921 { 45922 return helpWithFunctionByName(sqllex, sqlDollar[1].str) 45923 } 45924 case 2700: 45925 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 45926 //line sql-gen.y:15549 45927 { 45928 sqlVAL.union.val = &tree.FuncExpr{Func: tree.WrapFunction(sqlDollar[1].str), Exprs: sqlDollar[3].union.exprs()} 45929 } 45930 case 2701: 45931 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 45932 //line sql-gen.y:15552 45933 { 45934 return helpWithFunctionByName(sqllex, sqlDollar[1].str) 45935 } 45936 case 2702: 45937 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 45938 //line sql-gen.y:15558 45939 { 45940 sqlVAL.union.val = &tree.FuncExpr{OrderBy: sqlDollar[4].union.orderBy(), AggType: tree.OrderedSetAgg} 45941 } 45942 case 2703: 45943 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 45944 //line sql-gen.y:15562 45945 { 45946 sqlVAL.union.val = &tree.FuncExpr{} 45947 } 45948 case 2704: 45949 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 45950 //line sql-gen.y:15568 45951 { 45952 sqlVAL.union.val = sqlDollar[4].union.expr() 45953 } 45954 case 2705: 45955 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 45956 //line sql-gen.y:15572 45957 { 45958 sqlVAL.union.val = tree.Expr(nil) 45959 } 45960 case 2706: 45961 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 45962 //line sql-gen.y:15579 45963 { 45964 sqlVAL.union.val = sqlDollar[2].union.window() 45965 } 45966 case 2707: 45967 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 45968 //line sql-gen.y:15583 45969 { 45970 sqlVAL.union.val = tree.Window(nil) 45971 } 45972 case 2708: 45973 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 45974 //line sql-gen.y:15589 45975 { 45976 sqlVAL.union.val = tree.Window{sqlDollar[1].union.windowDef()} 45977 } 45978 case 2709: 45979 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 45980 //line sql-gen.y:15593 45981 { 45982 sqlVAL.union.val = append(sqlDollar[1].union.window(), sqlDollar[3].union.windowDef()) 45983 } 45984 case 2710: 45985 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 45986 //line sql-gen.y:15599 45987 { 45988 n := sqlDollar[3].union.windowDef() 45989 n.Name = tree.Name(sqlDollar[1].str) 45990 sqlVAL.union.val = n 45991 } 45992 case 2711: 45993 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 45994 //line sql-gen.y:15607 45995 { 45996 sqlVAL.union.val = sqlDollar[2].union.windowDef() 45997 } 45998 case 2712: 45999 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 46000 //line sql-gen.y:15611 46001 { 46002 sqlVAL.union.val = &tree.WindowDef{Name: tree.Name(sqlDollar[2].str)} 46003 } 46004 case 2713: 46005 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 46006 //line sql-gen.y:15615 46007 { 46008 sqlVAL.union.val = (*tree.WindowDef)(nil) 46009 } 46010 case 2714: 46011 sqlDollar = sqlS[sqlpt-6 : sqlpt+1] 46012 //line sql-gen.y:15622 46013 { 46014 sqlVAL.union.val = &tree.WindowDef{ 46015 RefName: tree.Name(sqlDollar[2].str), 46016 Partitions: sqlDollar[3].union.exprs(), 46017 OrderBy: sqlDollar[4].union.orderBy(), 46018 Frame: sqlDollar[5].union.windowFrame(), 46019 } 46020 } 46021 case 2716: 46022 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 46023 //line sql-gen.y:15642 46024 { 46025 sqlVAL.str = "" 46026 } 46027 case 2717: 46028 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 46029 //line sql-gen.y:15648 46030 { 46031 sqlVAL.union.val = sqlDollar[3].union.exprs() 46032 } 46033 case 2718: 46034 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 46035 //line sql-gen.y:15652 46036 { 46037 sqlVAL.union.val = tree.Exprs(nil) 46038 } 46039 case 2719: 46040 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 46041 //line sql-gen.y:15658 46042 { 46043 sqlVAL.union.val = &tree.WindowFrame{ 46044 Mode: treewindow.RANGE, 46045 Bounds: sqlDollar[2].union.windowFrameBounds(), 46046 Exclusion: sqlDollar[3].union.windowFrameExclusion(), 46047 } 46048 } 46049 case 2720: 46050 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 46051 //line sql-gen.y:15666 46052 { 46053 sqlVAL.union.val = &tree.WindowFrame{ 46054 Mode: treewindow.ROWS, 46055 Bounds: sqlDollar[2].union.windowFrameBounds(), 46056 Exclusion: sqlDollar[3].union.windowFrameExclusion(), 46057 } 46058 } 46059 case 2721: 46060 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 46061 //line sql-gen.y:15674 46062 { 46063 sqlVAL.union.val = &tree.WindowFrame{ 46064 Mode: treewindow.GROUPS, 46065 Bounds: sqlDollar[2].union.windowFrameBounds(), 46066 Exclusion: sqlDollar[3].union.windowFrameExclusion(), 46067 } 46068 } 46069 case 2722: 46070 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 46071 //line sql-gen.y:15682 46072 { 46073 sqlVAL.union.val = (*tree.WindowFrame)(nil) 46074 } 46075 case 2723: 46076 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 46077 //line sql-gen.y:15688 46078 { 46079 startBound := sqlDollar[1].union.windowFrameBound() 46080 switch { 46081 case startBound.BoundType == treewindow.UnboundedFollowing: 46082 sqllex.Error("frame start cannot be UNBOUNDED FOLLOWING") 46083 return 1 46084 case startBound.BoundType == treewindow.OffsetFollowing: 46085 sqllex.Error("frame starting from following row cannot end with current row") 46086 return 1 46087 } 46088 sqlVAL.union.val = tree.WindowFrameBounds{StartBound: startBound} 46089 } 46090 case 2724: 46091 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 46092 //line sql-gen.y:15701 46093 { 46094 startBound := sqlDollar[2].union.windowFrameBound() 46095 endBound := sqlDollar[4].union.windowFrameBound() 46096 switch { 46097 case startBound.BoundType == treewindow.UnboundedFollowing: 46098 sqllex.Error("frame start cannot be UNBOUNDED FOLLOWING") 46099 return 1 46100 case endBound.BoundType == treewindow.UnboundedPreceding: 46101 sqllex.Error("frame end cannot be UNBOUNDED PRECEDING") 46102 return 1 46103 case startBound.BoundType == treewindow.CurrentRow && endBound.BoundType == treewindow.OffsetPreceding: 46104 sqllex.Error("frame starting from current row cannot have preceding rows") 46105 return 1 46106 case startBound.BoundType == treewindow.OffsetFollowing && endBound.BoundType == treewindow.OffsetPreceding: 46107 sqllex.Error("frame starting from following row cannot have preceding rows") 46108 return 1 46109 case startBound.BoundType == treewindow.OffsetFollowing && endBound.BoundType == treewindow.CurrentRow: 46110 sqllex.Error("frame starting from following row cannot have preceding rows") 46111 return 1 46112 } 46113 sqlVAL.union.val = tree.WindowFrameBounds{StartBound: startBound, EndBound: endBound} 46114 } 46115 case 2725: 46116 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 46117 //line sql-gen.y:15729 46118 { 46119 sqlVAL.union.val = &tree.WindowFrameBound{BoundType: treewindow.UnboundedPreceding} 46120 } 46121 case 2726: 46122 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 46123 //line sql-gen.y:15733 46124 { 46125 sqlVAL.union.val = &tree.WindowFrameBound{BoundType: treewindow.UnboundedFollowing} 46126 } 46127 case 2727: 46128 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 46129 //line sql-gen.y:15737 46130 { 46131 sqlVAL.union.val = &tree.WindowFrameBound{BoundType: treewindow.CurrentRow} 46132 } 46133 case 2728: 46134 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 46135 //line sql-gen.y:15741 46136 { 46137 sqlVAL.union.val = &tree.WindowFrameBound{ 46138 OffsetExpr: sqlDollar[1].union.expr(), 46139 BoundType: treewindow.OffsetPreceding, 46140 } 46141 } 46142 case 2729: 46143 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 46144 //line sql-gen.y:15748 46145 { 46146 sqlVAL.union.val = &tree.WindowFrameBound{ 46147 OffsetExpr: sqlDollar[1].union.expr(), 46148 BoundType: treewindow.OffsetFollowing, 46149 } 46150 } 46151 case 2730: 46152 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 46153 //line sql-gen.y:15757 46154 { 46155 sqlVAL.union.val = treewindow.ExcludeCurrentRow 46156 } 46157 case 2731: 46158 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 46159 //line sql-gen.y:15761 46160 { 46161 sqlVAL.union.val = treewindow.ExcludeGroup 46162 } 46163 case 2732: 46164 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 46165 //line sql-gen.y:15765 46166 { 46167 sqlVAL.union.val = treewindow.ExcludeTies 46168 } 46169 case 2733: 46170 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 46171 //line sql-gen.y:15769 46172 { 46173 46174 sqlVAL.union.val = treewindow.NoExclusion 46175 } 46176 case 2734: 46177 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 46178 //line sql-gen.y:15774 46179 { 46180 sqlVAL.union.val = treewindow.NoExclusion 46181 } 46182 case 2735: 46183 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 46184 //line sql-gen.y:15787 46185 { 46186 sqlVAL.union.val = &tree.Tuple{Exprs: sqlDollar[3].union.exprs(), Row: true} 46187 } 46188 case 2736: 46189 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 46190 //line sql-gen.y:15791 46191 { 46192 sqlVAL.union.val = sqlDollar[1].union.tuple() 46193 } 46194 case 2738: 46195 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 46196 //line sql-gen.y:15798 46197 { 46198 t := sqlDollar[2].union.tuple() 46199 labels := sqlDollar[4].union.nameList() 46200 t.Labels = make([]string, len(labels)) 46201 for i, l := range labels { 46202 t.Labels[i] = string(l) 46203 } 46204 sqlVAL.union.val = t 46205 } 46206 case 2739: 46207 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 46208 //line sql-gen.y:15810 46209 { 46210 sqlVAL.union.val = treecmp.MakeComparisonOperator(treecmp.Any) 46211 } 46212 case 2740: 46213 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 46214 //line sql-gen.y:15814 46215 { 46216 sqlVAL.union.val = treecmp.MakeComparisonOperator(treecmp.Some) 46217 } 46218 case 2741: 46219 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 46220 //line sql-gen.y:15818 46221 { 46222 sqlVAL.union.val = treecmp.MakeComparisonOperator(treecmp.All) 46223 } 46224 case 2742: 46225 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 46226 //line sql-gen.y:15834 46227 { 46228 sqlVAL.union.val = treebin.MakeBinaryOperator(treebin.Plus) 46229 } 46230 case 2743: 46231 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 46232 //line sql-gen.y:15835 46233 { 46234 sqlVAL.union.val = treebin.MakeBinaryOperator(treebin.Minus) 46235 } 46236 case 2744: 46237 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 46238 //line sql-gen.y:15836 46239 { 46240 sqlVAL.union.val = treebin.MakeBinaryOperator(treebin.Mult) 46241 } 46242 case 2745: 46243 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 46244 //line sql-gen.y:15837 46245 { 46246 sqlVAL.union.val = treebin.MakeBinaryOperator(treebin.Div) 46247 } 46248 case 2746: 46249 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 46250 //line sql-gen.y:15838 46251 { 46252 sqlVAL.union.val = treebin.MakeBinaryOperator(treebin.Mod) 46253 } 46254 case 2747: 46255 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 46256 //line sql-gen.y:15839 46257 { 46258 sqlVAL.union.val = treebin.MakeBinaryOperator(treebin.Pow) 46259 } 46260 case 2748: 46261 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 46262 //line sql-gen.y:15840 46263 { 46264 sqlVAL.union.val = treecmp.MakeComparisonOperator(treecmp.LT) 46265 } 46266 case 2749: 46267 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 46268 //line sql-gen.y:15841 46269 { 46270 sqlVAL.union.val = treecmp.MakeComparisonOperator(treecmp.GT) 46271 } 46272 case 2750: 46273 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 46274 //line sql-gen.y:15842 46275 { 46276 sqlVAL.union.val = treecmp.MakeComparisonOperator(treecmp.EQ) 46277 } 46278 case 2751: 46279 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 46280 //line sql-gen.y:15843 46281 { 46282 sqlVAL.union.val = treecmp.MakeComparisonOperator(treecmp.LE) 46283 } 46284 case 2752: 46285 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 46286 //line sql-gen.y:15844 46287 { 46288 sqlVAL.union.val = treecmp.MakeComparisonOperator(treecmp.GE) 46289 } 46290 case 2753: 46291 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 46292 //line sql-gen.y:15845 46293 { 46294 sqlVAL.union.val = treecmp.MakeComparisonOperator(treecmp.NE) 46295 } 46296 case 2754: 46297 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 46298 //line sql-gen.y:15847 46299 { 46300 sqlVAL.union.val = treecmp.MakeComparisonOperator(treecmp.JSONExists) 46301 } 46302 case 2755: 46303 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 46304 //line sql-gen.y:15848 46305 { 46306 sqlVAL.union.val = treebin.MakeBinaryOperator(treebin.Bitand) 46307 } 46308 case 2756: 46309 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 46310 //line sql-gen.y:15849 46311 { 46312 sqlVAL.union.val = treebin.MakeBinaryOperator(treebin.Bitor) 46313 } 46314 case 2757: 46315 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 46316 //line sql-gen.y:15850 46317 { 46318 sqlVAL.union.val = treebin.MakeBinaryOperator(treebin.Bitxor) 46319 } 46320 case 2758: 46321 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 46322 //line sql-gen.y:15851 46323 { 46324 sqlVAL.union.val = treebin.MakeBinaryOperator(treebin.FloorDiv) 46325 } 46326 case 2759: 46327 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 46328 //line sql-gen.y:15852 46329 { 46330 sqlVAL.union.val = treecmp.MakeComparisonOperator(treecmp.Contains) 46331 } 46332 case 2760: 46333 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 46334 //line sql-gen.y:15853 46335 { 46336 sqlVAL.union.val = treecmp.MakeComparisonOperator(treecmp.ContainedBy) 46337 } 46338 case 2761: 46339 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 46340 //line sql-gen.y:15854 46341 { 46342 sqlVAL.union.val = treebin.MakeBinaryOperator(treebin.LShift) 46343 } 46344 case 2762: 46345 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 46346 //line sql-gen.y:15855 46347 { 46348 sqlVAL.union.val = treebin.MakeBinaryOperator(treebin.RShift) 46349 } 46350 case 2763: 46351 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 46352 //line sql-gen.y:15856 46353 { 46354 sqlVAL.union.val = treebin.MakeBinaryOperator(treebin.Concat) 46355 } 46356 case 2764: 46357 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 46358 //line sql-gen.y:15857 46359 { 46360 sqlVAL.union.val = treebin.MakeBinaryOperator(treebin.JSONFetchVal) 46361 } 46362 case 2765: 46363 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 46364 //line sql-gen.y:15858 46365 { 46366 sqlVAL.union.val = treebin.MakeBinaryOperator(treebin.JSONFetchText) 46367 } 46368 case 2766: 46369 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 46370 //line sql-gen.y:15859 46371 { 46372 sqlVAL.union.val = treebin.MakeBinaryOperator(treebin.JSONFetchValPath) 46373 } 46374 case 2767: 46375 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 46376 //line sql-gen.y:15860 46377 { 46378 sqlVAL.union.val = treebin.MakeBinaryOperator(treebin.JSONFetchTextPath) 46379 } 46380 case 2768: 46381 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 46382 //line sql-gen.y:15861 46383 { 46384 sqlVAL.union.val = treecmp.MakeComparisonOperator(treecmp.JSONSomeExists) 46385 } 46386 case 2769: 46387 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 46388 //line sql-gen.y:15862 46389 { 46390 sqlVAL.union.val = treecmp.MakeComparisonOperator(treecmp.JSONAllExists) 46391 } 46392 case 2770: 46393 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 46394 //line sql-gen.y:15863 46395 { 46396 sqlVAL.union.val = treecmp.MakeComparisonOperator(treecmp.NotRegMatch) 46397 } 46398 case 2771: 46399 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 46400 //line sql-gen.y:15864 46401 { 46402 sqlVAL.union.val = treecmp.MakeComparisonOperator(treecmp.RegIMatch) 46403 } 46404 case 2772: 46405 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 46406 //line sql-gen.y:15865 46407 { 46408 sqlVAL.union.val = treecmp.MakeComparisonOperator(treecmp.NotRegIMatch) 46409 } 46410 case 2773: 46411 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 46412 //line sql-gen.y:15866 46413 { 46414 sqlVAL.union.val = treecmp.MakeComparisonOperator(treecmp.Overlaps) 46415 } 46416 case 2774: 46417 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 46418 //line sql-gen.y:15867 46419 { 46420 sqlVAL.union.val = treecmp.MakeComparisonOperator(treecmp.TSMatches) 46421 } 46422 case 2775: 46423 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 46424 //line sql-gen.y:15868 46425 { 46426 sqlVAL.union.val = tree.MakeUnaryOperator(tree.UnaryComplement) 46427 } 46428 case 2776: 46429 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 46430 //line sql-gen.y:15869 46431 { 46432 sqlVAL.union.val = tree.MakeUnaryOperator(tree.UnarySqrt) 46433 } 46434 case 2777: 46435 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 46436 //line sql-gen.y:15870 46437 { 46438 sqlVAL.union.val = tree.MakeUnaryOperator(tree.UnaryCbrt) 46439 } 46440 case 2779: 46441 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 46442 //line sql-gen.y:15875 46443 { 46444 46445 if sqlDollar[1].str != "pg_catalog" { 46446 return unimplementedWithIssue(sqllex, 65017) 46447 } 46448 sqlVAL.union = sqlDollar[3].union 46449 } 46450 case 2780: 46451 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 46452 //line sql-gen.y:15891 46453 { 46454 sqlVAL.union = sqlDollar[3].union 46455 } 46456 case 2783: 46457 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 46458 //line sql-gen.y:15898 46459 { 46460 sqlVAL.union.val = treecmp.MakeComparisonOperator(treecmp.Like) 46461 } 46462 case 2784: 46463 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 46464 //line sql-gen.y:15899 46465 { 46466 sqlVAL.union.val = treecmp.MakeComparisonOperator(treecmp.NotLike) 46467 } 46468 case 2785: 46469 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 46470 //line sql-gen.y:15900 46471 { 46472 sqlVAL.union.val = treecmp.MakeComparisonOperator(treecmp.ILike) 46473 } 46474 case 2786: 46475 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 46476 //line sql-gen.y:15901 46477 { 46478 sqlVAL.union.val = treecmp.MakeComparisonOperator(treecmp.NotILike) 46479 } 46480 case 2787: 46481 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 46482 //line sql-gen.y:15924 46483 { 46484 sqlVAL.union.val = &tree.Tuple{} 46485 } 46486 case 2788: 46487 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 46488 //line sql-gen.y:15928 46489 { 46490 sqlVAL.union.val = &tree.Tuple{Exprs: sqlDollar[2].union.exprs()} 46491 } 46492 case 2789: 46493 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 46494 //line sql-gen.y:15934 46495 { 46496 sqlVAL.union.val = tree.Exprs{sqlDollar[1].union.expr()} 46497 } 46498 case 2790: 46499 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 46500 //line sql-gen.y:15938 46501 { 46502 sqlVAL.union.val = tree.Exprs{sqlDollar[1].union.expr()} 46503 } 46504 case 2791: 46505 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 46506 //line sql-gen.y:15942 46507 { 46508 sqlVAL.union.val = append(tree.Exprs{sqlDollar[1].union.expr()}, sqlDollar[3].union.exprs()...) 46509 } 46510 case 2792: 46511 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 46512 //line sql-gen.y:15953 46513 { 46514 sqlVAL.union.val = &tree.Tuple{} 46515 } 46516 case 2793: 46517 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 46518 //line sql-gen.y:15957 46519 { 46520 sqlVAL.union.val = &tree.Tuple{Exprs: sqlDollar[2].union.exprs()} 46521 } 46522 case 2794: 46523 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 46524 //line sql-gen.y:15963 46525 { 46526 sqlVAL.union.val = tree.Exprs{sqlDollar[1].union.expr()} 46527 } 46528 case 2795: 46529 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 46530 //line sql-gen.y:15967 46531 { 46532 sqlVAL.union.val = append(tree.Exprs{sqlDollar[1].union.expr()}, sqlDollar[3].union.exprs()...) 46533 } 46534 case 2797: 46535 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 46536 //line sql-gen.y:15974 46537 { 46538 sqlVAL.union.val = tree.Exprs(nil) 46539 } 46540 case 2798: 46541 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 46542 //line sql-gen.y:15980 46543 { 46544 sqlVAL.union.val = tree.Exprs{sqlDollar[1].union.expr()} 46545 } 46546 case 2799: 46547 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 46548 //line sql-gen.y:15984 46549 { 46550 sqlVAL.union.val = append(sqlDollar[1].union.exprs(), sqlDollar[3].union.expr()) 46551 } 46552 case 2800: 46553 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 46554 //line sql-gen.y:15990 46555 { 46556 sqlVAL.union.val = []tree.ResolvableTypeReference{sqlDollar[1].union.typeReference()} 46557 } 46558 case 2801: 46559 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 46560 //line sql-gen.y:15994 46561 { 46562 sqlVAL.union.val = append(sqlDollar[1].union.typeReferences(), sqlDollar[3].union.typeReference()) 46563 } 46564 case 2802: 46565 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 46566 //line sql-gen.y:16000 46567 { 46568 sqlVAL.union.val = &tree.Array{Exprs: sqlDollar[2].union.exprs()} 46569 } 46570 case 2803: 46571 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 46572 //line sql-gen.y:16004 46573 { 46574 sqlVAL.union.val = &tree.Array{Exprs: sqlDollar[2].union.exprs()} 46575 } 46576 case 2804: 46577 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 46578 //line sql-gen.y:16010 46579 { 46580 sqlVAL.union.val = tree.Exprs{sqlDollar[1].union.expr()} 46581 } 46582 case 2805: 46583 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 46584 //line sql-gen.y:16014 46585 { 46586 sqlVAL.union.val = append(sqlDollar[1].union.exprs(), sqlDollar[3].union.expr()) 46587 } 46588 case 2806: 46589 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 46590 //line sql-gen.y:16020 46591 { 46592 sqlVAL.union.val = tree.Exprs{tree.NewStrVal(strings.ToLower(sqlDollar[1].str)), sqlDollar[3].union.expr()} 46593 } 46594 case 2807: 46595 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 46596 //line sql-gen.y:16024 46597 { 46598 sqlVAL.union.val = sqlDollar[1].union.exprs() 46599 } 46600 case 2816: 46601 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 46602 //line sql-gen.y:16047 46603 { 46604 sqlVAL.union.val = tree.Exprs{sqlDollar[1].union.expr(), sqlDollar[2].union.expr(), sqlDollar[3].union.expr(), sqlDollar[4].union.expr()} 46605 } 46606 case 2817: 46607 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 46608 //line sql-gen.y:16051 46609 { 46610 sqlVAL.union.val = tree.Exprs{sqlDollar[1].union.expr(), sqlDollar[2].union.expr(), sqlDollar[3].union.expr()} 46611 } 46612 case 2818: 46613 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 46614 //line sql-gen.y:16055 46615 { 46616 sqlVAL.union.val = sqlDollar[1].union.exprs() 46617 } 46618 case 2819: 46619 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 46620 //line sql-gen.y:16061 46621 { 46622 sqlVAL.union.val = sqlDollar[2].union.expr() 46623 } 46624 case 2820: 46625 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 46626 //line sql-gen.y:16068 46627 { 46628 sqlVAL.union.val = tree.Exprs{sqlDollar[3].union.expr(), sqlDollar[1].union.expr()} 46629 } 46630 case 2821: 46631 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 46632 //line sql-gen.y:16072 46633 { 46634 sqlVAL.union.val = tree.Exprs(nil) 46635 } 46636 case 2822: 46637 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 46638 //line sql-gen.y:16089 46639 { 46640 sqlVAL.union.val = tree.Exprs{sqlDollar[1].union.expr(), sqlDollar[2].union.expr(), sqlDollar[3].union.expr()} 46641 } 46642 case 2823: 46643 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 46644 //line sql-gen.y:16093 46645 { 46646 sqlVAL.union.val = tree.Exprs{sqlDollar[1].union.expr(), sqlDollar[3].union.expr(), sqlDollar[2].union.expr()} 46647 } 46648 case 2824: 46649 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 46650 //line sql-gen.y:16097 46651 { 46652 sqlVAL.union.val = tree.Exprs{sqlDollar[1].union.expr(), sqlDollar[2].union.expr()} 46653 } 46654 case 2825: 46655 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 46656 //line sql-gen.y:16101 46657 { 46658 sqlVAL.union.val = tree.Exprs{sqlDollar[1].union.expr(), tree.NewDInt(1), sqlDollar[2].union.expr()} 46659 } 46660 case 2826: 46661 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 46662 //line sql-gen.y:16105 46663 { 46664 sqlVAL.union.val = sqlDollar[1].union.exprs() 46665 } 46666 case 2827: 46667 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 46668 //line sql-gen.y:16111 46669 { 46670 sqlVAL.union.val = sqlDollar[2].union.expr() 46671 } 46672 case 2828: 46673 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 46674 //line sql-gen.y:16117 46675 { 46676 sqlVAL.union.val = sqlDollar[2].union.expr() 46677 } 46678 case 2829: 46679 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 46680 //line sql-gen.y:16123 46681 { 46682 sqlVAL.union.val = append(sqlDollar[3].union.exprs(), sqlDollar[1].union.expr()) 46683 } 46684 case 2830: 46685 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 46686 //line sql-gen.y:16127 46687 { 46688 sqlVAL.union.val = sqlDollar[2].union.exprs() 46689 } 46690 case 2831: 46691 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 46692 //line sql-gen.y:16131 46693 { 46694 sqlVAL.union.val = sqlDollar[1].union.exprs() 46695 } 46696 case 2832: 46697 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 46698 //line sql-gen.y:16137 46699 { 46700 sqlVAL.union.val = &tree.Subquery{Select: sqlDollar[1].union.selectStmt()} 46701 } 46702 case 2834: 46703 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 46704 //line sql-gen.y:16149 46705 { 46706 sqlVAL.union.val = &tree.CaseExpr{Expr: sqlDollar[2].union.expr(), Whens: sqlDollar[3].union.whens(), Else: sqlDollar[4].union.expr()} 46707 } 46708 case 2835: 46709 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 46710 //line sql-gen.y:16156 46711 { 46712 sqlVAL.union.val = []*tree.When{sqlDollar[1].union.when()} 46713 } 46714 case 2836: 46715 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 46716 //line sql-gen.y:16160 46717 { 46718 sqlVAL.union.val = append(sqlDollar[1].union.whens(), sqlDollar[2].union.when()) 46719 } 46720 case 2837: 46721 sqlDollar = sqlS[sqlpt-4 : sqlpt+1] 46722 //line sql-gen.y:16166 46723 { 46724 sqlVAL.union.val = &tree.When{Cond: sqlDollar[2].union.expr(), Val: sqlDollar[4].union.expr()} 46725 } 46726 case 2838: 46727 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 46728 //line sql-gen.y:16172 46729 { 46730 sqlVAL.union.val = sqlDollar[2].union.expr() 46731 } 46732 case 2839: 46733 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 46734 //line sql-gen.y:16176 46735 { 46736 sqlVAL.union.val = tree.Expr(nil) 46737 } 46738 case 2841: 46739 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 46740 //line sql-gen.y:16183 46741 { 46742 sqlVAL.union.val = tree.Expr(nil) 46743 } 46744 case 2842: 46745 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 46746 //line sql-gen.y:16189 46747 { 46748 sqlVAL.union.val = &tree.ArraySubscript{Begin: sqlDollar[2].union.expr()} 46749 } 46750 case 2843: 46751 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 46752 //line sql-gen.y:16193 46753 { 46754 sqlVAL.union.val = &tree.ArraySubscript{Begin: sqlDollar[2].union.expr(), End: sqlDollar[4].union.expr(), Slice: true} 46755 } 46756 case 2845: 46757 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 46758 //line sql-gen.y:16200 46759 { 46760 sqlVAL.union.val = tree.Expr(nil) 46761 } 46762 case 2846: 46763 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 46764 //line sql-gen.y:16206 46765 { 46766 sqlVAL.union.val = tree.ArraySubscripts{sqlDollar[1].union.arraySubscript()} 46767 } 46768 case 2847: 46769 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 46770 //line sql-gen.y:16210 46771 { 46772 sqlVAL.union.val = append(sqlDollar[1].union.arraySubscripts(), sqlDollar[2].union.arraySubscript()) 46773 } 46774 case 2848: 46775 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 46776 //line sql-gen.y:16215 46777 { 46778 } 46779 case 2849: 46780 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 46781 //line sql-gen.y:16216 46782 { 46783 } 46784 case 2850: 46785 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 46786 //line sql-gen.y:16220 46787 { 46788 sqlVAL.union.val = tree.SelectExprs{sqlDollar[1].union.selExpr()} 46789 } 46790 case 2851: 46791 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 46792 //line sql-gen.y:16224 46793 { 46794 sqlVAL.union.val = append(sqlDollar[1].union.selExprs(), sqlDollar[3].union.selExpr()) 46795 } 46796 case 2852: 46797 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 46798 //line sql-gen.y:16230 46799 { 46800 sqlVAL.union.val = tree.SelectExpr{Expr: sqlDollar[1].union.expr(), As: tree.UnrestrictedName(sqlDollar[3].str)} 46801 } 46802 case 2853: 46803 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 46804 //line sql-gen.y:16239 46805 { 46806 sqlVAL.union.val = tree.SelectExpr{Expr: sqlDollar[1].union.expr(), As: tree.UnrestrictedName(sqlDollar[2].str)} 46807 } 46808 case 2854: 46809 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 46810 //line sql-gen.y:16243 46811 { 46812 sqlVAL.union.val = tree.SelectExpr{Expr: sqlDollar[1].union.expr()} 46813 } 46814 case 2855: 46815 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 46816 //line sql-gen.y:16247 46817 { 46818 sqlVAL.union.val = tree.StarSelectExpr() 46819 } 46820 case 2858: 46821 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 46822 //line sql-gen.y:16259 46823 { 46824 sqlVAL.union.val = tree.TableIndexNames{sqlDollar[1].union.newTableIndexName()} 46825 } 46826 case 2859: 46827 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 46828 //line sql-gen.y:16263 46829 { 46830 sqlVAL.union.val = append(sqlDollar[1].union.newTableIndexNames(), sqlDollar[3].union.newTableIndexName()) 46831 } 46832 case 2860: 46833 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 46834 //line sql-gen.y:16269 46835 { 46836 sqlVAL.union.val = tree.TablePatterns{sqlDollar[1].union.unresolvedName()} 46837 } 46838 case 2861: 46839 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 46840 //line sql-gen.y:16273 46841 { 46842 sqlVAL.union.val = append(sqlDollar[1].union.tablePatterns(), sqlDollar[3].union.unresolvedName()) 46843 } 46844 case 2862: 46845 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 46846 //line sql-gen.y:16292 46847 { 46848 name := sqlDollar[1].union.unresolvedObjectName().ToTableName() 46849 sqlVAL.union.val = tree.TableIndexName{ 46850 Table: name, 46851 Index: tree.UnrestrictedName(sqlDollar[3].str), 46852 } 46853 } 46854 case 2863: 46855 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 46856 //line sql-gen.y:16300 46857 { 46858 46859 name := sqlDollar[1].union.unresolvedObjectName().ToTableName() 46860 indexName := tree.UnrestrictedName(name.ObjectName) 46861 name.ObjectName = "" 46862 sqlVAL.union.val = tree.TableIndexName{ 46863 Table: name, 46864 Index: indexName, 46865 } 46866 } 46867 case 2864: 46868 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 46869 //line sql-gen.y:16323 46870 { 46871 sqlVAL.union.val = sqlDollar[1].union.unresolvedObjectName().ToUnresolvedName() 46872 } 46873 case 2866: 46874 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 46875 //line sql-gen.y:16332 46876 { 46877 sqlVAL.union.val = sqlDollar[1].union.unresolvedObjectName().ToUnresolvedName() 46878 } 46879 case 2867: 46880 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 46881 //line sql-gen.y:16336 46882 { 46883 sqlVAL.union.val = &tree.UnresolvedName{Star: true, NumParts: 3, Parts: tree.NameParts{"", sqlDollar[3].str, sqlDollar[1].str}} 46884 } 46885 case 2868: 46886 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 46887 //line sql-gen.y:16340 46888 { 46889 sqlVAL.union.val = &tree.UnresolvedName{Star: true, NumParts: 2, Parts: tree.NameParts{"", sqlDollar[1].str}} 46890 } 46891 case 2869: 46892 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 46893 //line sql-gen.y:16344 46894 { 46895 sqlVAL.union.val = &tree.UnresolvedName{Star: true, NumParts: 1} 46896 } 46897 case 2870: 46898 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 46899 //line sql-gen.y:16350 46900 { 46901 sqlVAL.union.val = tree.NameList{tree.Name(sqlDollar[1].str)} 46902 } 46903 case 2871: 46904 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 46905 //line sql-gen.y:16354 46906 { 46907 sqlVAL.union.val = append(sqlDollar[1].union.nameList(), tree.Name(sqlDollar[3].str)) 46908 } 46909 case 2876: 46910 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 46911 //line sql-gen.y:16369 46912 { 46913 sqlVAL.union.val = sqlDollar[2].union.numVal() 46914 } 46915 case 2877: 46916 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 46917 //line sql-gen.y:16373 46918 { 46919 n := sqlDollar[2].union.numVal() 46920 n.SetNegative() 46921 sqlVAL.union.val = n 46922 } 46923 case 2880: 46924 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 46925 //line sql-gen.y:16385 46926 { 46927 sqlVAL.union.val = sqlDollar[2].union.numVal() 46928 } 46929 case 2881: 46930 sqlDollar = sqlS[sqlpt-2 : sqlpt+1] 46931 //line sql-gen.y:16389 46932 { 46933 n := sqlDollar[2].union.numVal() 46934 n.SetNegative() 46935 sqlVAL.union.val = n 46936 } 46937 case 2882: 46938 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 46939 //line sql-gen.y:16398 46940 { 46941 val, err := sqlDollar[1].union.numVal().AsInt32() 46942 if err != nil { 46943 return setErr(sqllex, err) 46944 } 46945 sqlVAL.union.val = val 46946 } 46947 case 2883: 46948 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 46949 //line sql-gen.y:16409 46950 { 46951 val, err := sqlDollar[1].union.numVal().AsInt64() 46952 if err != nil { 46953 return setErr(sqllex, err) 46954 } 46955 sqlVAL.union.val = val 46956 } 46957 case 2884: 46958 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 46959 //line sql-gen.y:16418 46960 { 46961 val, err := sqlDollar[1].union.numVal().AsInt64() 46962 if err != nil { 46963 return setErr(sqllex, err) 46964 } 46965 sqlVAL.union.val = val 46966 } 46967 case 2885: 46968 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 46969 //line sql-gen.y:16426 46970 { 46971 var t *types.T 46972 if sqlDollar[3].union.val == nil { 46973 t = types.Interval 46974 } else { 46975 t = types.MakeInterval(sqlDollar[3].union.intervalTypeMetadata()) 46976 } 46977 sqlVAL.union.val = &tree.CastExpr{ 46978 Expr: tree.NewStrVal(sqlDollar[2].str), 46979 Type: t, 46980 46981 SyntaxMode: tree.CastShort, 46982 } 46983 } 46984 case 2886: 46985 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 46986 //line sql-gen.y:16443 46987 { 46988 prec := sqlDollar[3].union.int32() 46989 if prec < 0 || prec > 6 { 46990 sqllex.Error(fmt.Sprintf("precision %d out of range", prec)) 46991 return 1 46992 } 46993 sqlVAL.union.val = &tree.CastExpr{ 46994 Expr: tree.NewStrVal(sqlDollar[5].str), 46995 Type: types.MakeInterval( 46996 types.IntervalTypeMetadata{Precision: prec, PrecisionIsSet: true}, 46997 ), 46998 46999 SyntaxMode: tree.CastShort, 47000 } 47001 } 47002 case 2906: 47003 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 47004 //line sql-gen.y:16531 47005 { 47006 sqlVAL.union.val = tree.NameList{tree.Name(sqlDollar[1].str)} 47007 } 47008 case 2907: 47009 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 47010 //line sql-gen.y:16535 47011 { 47012 sqlVAL.union.val = append(sqlDollar[1].union.nameList(), tree.Name(sqlDollar[3].str)) 47013 } 47014 case 2909: 47015 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 47016 //line sql-gen.y:16543 47017 { 47018 sqlVAL.union.val = tree.ObjectNamePrefix{SchemaName: tree.Name(sqlDollar[1].str), ExplicitSchema: true} 47019 } 47020 case 2910: 47021 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 47022 //line sql-gen.y:16547 47023 { 47024 sqlVAL.union.val = tree.ObjectNamePrefix{CatalogName: tree.Name(sqlDollar[1].str), SchemaName: tree.Name(sqlDollar[3].str), ExplicitCatalog: true, ExplicitSchema: true} 47025 } 47026 case 2911: 47027 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 47028 //line sql-gen.y:16553 47029 { 47030 sqlVAL.union.val = tree.ObjectNamePrefixList{sqlDollar[1].union.objectNamePrefix()} 47031 } 47032 case 2912: 47033 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 47034 //line sql-gen.y:16557 47035 { 47036 sqlVAL.union.val = append(sqlDollar[1].union.objectNamePrefixList(), sqlDollar[3].union.objectNamePrefix()) 47037 } 47038 case 2913: 47039 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 47040 //line sql-gen.y:16563 47041 { 47042 sqlVAL.union.val = tree.ObjectNamePrefixList{sqlDollar[1].union.objectNamePrefix()} 47043 } 47044 case 2914: 47045 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 47046 //line sql-gen.y:16569 47047 { 47048 sqlVAL.union.val = tree.ObjectNamePrefix{CatalogName: tree.Name(sqlDollar[1].str), SchemaName: tree.Name('*'), ExplicitCatalog: true, ExplicitSchema: true} 47049 } 47050 case 2916: 47051 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 47052 //line sql-gen.y:16576 47053 { 47054 sqlVAL.union.val = tree.ObjectNamePrefix{ExplicitSchema: false} 47055 } 47056 case 2922: 47057 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 47058 //line sql-gen.y:16603 47059 { 47060 sqlVAL.union.val = &tree.UnresolvedName{NumParts: 1, Parts: tree.NameParts{sqlDollar[1].str}} 47061 } 47062 case 2924: 47063 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 47064 //line sql-gen.y:16610 47065 { 47066 sqlVAL.union.val = &tree.UnresolvedName{NumParts: 2, Parts: tree.NameParts{sqlDollar[3].str, sqlDollar[1].str}} 47067 } 47068 case 2925: 47069 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 47070 //line sql-gen.y:16614 47071 { 47072 sqlVAL.union.val = &tree.UnresolvedName{NumParts: 3, Parts: tree.NameParts{sqlDollar[5].str, sqlDollar[3].str, sqlDollar[1].str}} 47073 } 47074 case 2926: 47075 sqlDollar = sqlS[sqlpt-7 : sqlpt+1] 47076 //line sql-gen.y:16618 47077 { 47078 sqlVAL.union.val = &tree.UnresolvedName{NumParts: 4, Parts: tree.NameParts{sqlDollar[7].str, sqlDollar[5].str, sqlDollar[3].str, sqlDollar[1].str}} 47079 } 47080 case 2928: 47081 sqlDollar = sqlS[sqlpt-7 : sqlpt+1] 47082 //line sql-gen.y:16632 47083 { 47084 sqlVAL.union.val = &tree.UnresolvedName{Star: true, NumParts: 4, Parts: tree.NameParts{"", sqlDollar[5].str, sqlDollar[3].str, sqlDollar[1].str}} 47085 } 47086 case 2929: 47087 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 47088 //line sql-gen.y:16636 47089 { 47090 sqlVAL.union.val = &tree.UnresolvedName{Star: true, NumParts: 3, Parts: tree.NameParts{"", sqlDollar[3].str, sqlDollar[1].str}} 47091 } 47092 case 2930: 47093 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 47094 //line sql-gen.y:16640 47095 { 47096 sqlVAL.union.val = &tree.UnresolvedName{Star: true, NumParts: 2, Parts: tree.NameParts{"", sqlDollar[1].str}} 47097 } 47098 case 2931: 47099 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 47100 //line sql-gen.y:16653 47101 { 47102 sqlVAL.union.val = &tree.UnresolvedName{NumParts: 1, Parts: tree.NameParts{sqlDollar[1].str}} 47103 } 47104 case 2933: 47105 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 47106 //line sql-gen.y:16658 47107 { 47108 sqlVAL.union.val = &tree.UnresolvedName{NumParts: 1, Parts: tree.NameParts{sqlDollar[1].str}} 47109 } 47110 case 2934: 47111 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 47112 //line sql-gen.y:16666 47113 { 47114 sqlVAL.union.val = &tree.UnresolvedName{NumParts: 1, Parts: tree.NameParts{sqlDollar[1].str}} 47115 } 47116 case 2938: 47117 sqlDollar = sqlS[sqlpt-1 : sqlpt+1] 47118 //line sql-gen.y:16684 47119 { 47120 aIdx := sqllex.(*lexer).NewAnnotation() 47121 res, err := tree.NewUnresolvedObjectName(1, [3]string{sqlDollar[1].str}, aIdx) 47122 if err != nil { 47123 return setErr(sqllex, err) 47124 } 47125 sqlVAL.union.val = res 47126 } 47127 case 2939: 47128 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 47129 //line sql-gen.y:16697 47130 { 47131 aIdx := sqllex.(*lexer).NewAnnotation() 47132 res, err := tree.NewUnresolvedObjectName(2, [3]string{sqlDollar[3].str, sqlDollar[1].str}, aIdx) 47133 if err != nil { 47134 return setErr(sqllex, err) 47135 } 47136 sqlVAL.union.val = res 47137 } 47138 case 2940: 47139 sqlDollar = sqlS[sqlpt-5 : sqlpt+1] 47140 //line sql-gen.y:16704 47141 { 47142 aIdx := sqllex.(*lexer).NewAnnotation() 47143 res, err := tree.NewUnresolvedObjectName(3, [3]string{sqlDollar[5].str, sqlDollar[3].str, sqlDollar[1].str}, aIdx) 47144 if err != nil { 47145 return setErr(sqllex, err) 47146 } 47147 sqlVAL.union.val = res 47148 } 47149 case 2948: 47150 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 47151 //line sql-gen.y:16729 47152 { 47153 sqlVAL.str = "" 47154 } 47155 case 2949: 47156 sqlDollar = sqlS[sqlpt-3 : sqlpt+1] 47157 //line sql-gen.y:16735 47158 { 47159 sqlVAL.str = sqlDollar[2].str 47160 } 47161 case 2950: 47162 sqlDollar = sqlS[sqlpt-0 : sqlpt+1] 47163 //line sql-gen.y:16739 47164 { 47165 sqlVAL.str = "" 47166 } 47167 } 47168 goto sqlstack /* stack new state and value */ 47169 }