// Code generated by goyacc DO NOT EDIT. // Copyright 2020 PingCAP, Inc. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // See the License for the specific language governing permissions and // limitations under the License. package parser import __yyfmt__ "fmt" import ( "math" "strconv" "github.com/pingcap/tidb/pkg/parser/ast" "github.com/pingcap/tidb/pkg/parser/model" ) type yyhintSymType struct { yys int offset int ident string number uint64 hint *ast.TableOptimizerHint hints []*ast.TableOptimizerHint table ast.HintTable modelIdents []model.CIStr } type yyhintXError struct { state, xsym int } const ( yyhintDefault = 57433 yyhintEOFCode = 57344 yyhintErrCode = 57345 hintAggToCop = 57379 hintBCJoin = 57401 hintBKA = 57355 hintBNL = 57357 hintDupsWeedOut = 57429 hintFalse = 57425 hintFirstMatch = 57430 hintForceIndex = 57415 hintGB = 57428 hintHashAgg = 57381 hintHashJoin = 57359 hintHashJoinBuild = 57360 hintHashJoinProbe = 57361 hintIdentifier = 57347 hintIgnoreIndex = 57384 hintIgnorePlanCache = 57380 hintIndexHashJoin = 57388 hintIndexJoin = 57385 hintIndexMerge = 57365 hintIndexMergeJoin = 57392 hintInlHashJoin = 57387 hintInlJoin = 57390 hintInlMergeJoin = 57391 hintIntLit = 57346 hintInvalid = 57348 hintJoinFixedOrder = 57351 hintJoinOrder = 57352 hintJoinPrefix = 57353 hintJoinSuffix = 57354 hintLeading = 57417 hintLimitToCop = 57414 hintLooseScan = 57431 hintMB = 57427 hintMRR = 57367 hintMaterialization = 57432 hintMaxExecutionTime = 57375 hintMemoryQuota = 57394 hintMerge = 57363 hintMpp1PhaseAgg = 57382 hintMpp2PhaseAgg = 57383 hintNoBKA = 57356 hintNoBNL = 57358 hintNoDecorrelate = 57419 hintNoHashJoin = 57362 hintNoICP = 57369 hintNoIndexHashJoin = 57389 hintNoIndexJoin = 57386 hintNoIndexMerge = 57366 hintNoIndexMergeJoin = 57393 hintNoMRR = 57368 hintNoMerge = 57364 hintNoOrderIndex = 57408 hintNoRangeOptimization = 57370 hintNoSMJoin = 57400 hintNoSemijoin = 57374 hintNoSkipScan = 57372 hintNoSwapJoinInputs = 57395 hintNthPlan = 57413 hintOLAP = 57420 hintOLTP = 57421 hintOrderIndex = 57407 hintPartition = 57422 hintQBName = 57378 hintQueryType = 57396 hintReadConsistentReplica = 57397 hintReadFromStorage = 57398 hintResourceGroup = 57377 hintSMJoin = 57399 hintSemiJoinRewrite = 57418 hintSemijoin = 57373 hintSetVar = 57376 hintShuffleJoin = 57402 hintSingleAtIdentifier = 57349 hintSkipScan = 57371 hintStraightJoin = 57416 hintStreamAgg = 57403 hintStringLit = 57350 hintSwapJoinInputs = 57404 hintTiFlash = 57424 hintTiKV = 57423 hintTimeRange = 57411 hintTrue = 57426 hintUseCascades = 57412 hintUseIndex = 57406 hintUseIndexMerge = 57405 hintUsePlanCache = 57409 hintUseToja = 57410 yyhintMaxDepth = 200 yyhintTabOfs = -213 ) var ( yyhintXLAT = map[int]int{ 41: 0, // ')' (157x) 57379: 1, // hintAggToCop (142x) 57401: 2, // hintBCJoin (142x) 57355: 3, // hintBKA (142x) 57357: 4, // hintBNL (142x) 57415: 5, // hintForceIndex (142x) 57381: 6, // hintHashAgg (142x) 57359: 7, // hintHashJoin (142x) 57360: 8, // hintHashJoinBuild (142x) 57361: 9, // hintHashJoinProbe (142x) 57384: 10, // hintIgnoreIndex (142x) 57380: 11, // hintIgnorePlanCache (142x) 57388: 12, // hintIndexHashJoin (142x) 57385: 13, // hintIndexJoin (142x) 57365: 14, // hintIndexMerge (142x) 57392: 15, // hintIndexMergeJoin (142x) 57387: 16, // hintInlHashJoin (142x) 57390: 17, // hintInlJoin (142x) 57391: 18, // hintInlMergeJoin (142x) 57351: 19, // hintJoinFixedOrder (142x) 57352: 20, // hintJoinOrder (142x) 57353: 21, // hintJoinPrefix (142x) 57354: 22, // hintJoinSuffix (142x) 57417: 23, // hintLeading (142x) 57414: 24, // hintLimitToCop (142x) 57375: 25, // hintMaxExecutionTime (142x) 57394: 26, // hintMemoryQuota (142x) 57363: 27, // hintMerge (142x) 57382: 28, // hintMpp1PhaseAgg (142x) 57383: 29, // hintMpp2PhaseAgg (142x) 57367: 30, // hintMRR (142x) 57356: 31, // hintNoBKA (142x) 57358: 32, // hintNoBNL (142x) 57419: 33, // hintNoDecorrelate (142x) 57362: 34, // hintNoHashJoin (142x) 57369: 35, // hintNoICP (142x) 57389: 36, // hintNoIndexHashJoin (142x) 57386: 37, // hintNoIndexJoin (142x) 57366: 38, // hintNoIndexMerge (142x) 57393: 39, // hintNoIndexMergeJoin (142x) 57364: 40, // hintNoMerge (142x) 57368: 41, // hintNoMRR (142x) 57408: 42, // hintNoOrderIndex (142x) 57370: 43, // hintNoRangeOptimization (142x) 57374: 44, // hintNoSemijoin (142x) 57372: 45, // hintNoSkipScan (142x) 57400: 46, // hintNoSMJoin (142x) 57395: 47, // hintNoSwapJoinInputs (142x) 57413: 48, // hintNthPlan (142x) 57407: 49, // hintOrderIndex (142x) 57378: 50, // hintQBName (142x) 57396: 51, // hintQueryType (142x) 57397: 52, // hintReadConsistentReplica (142x) 57398: 53, // hintReadFromStorage (142x) 57377: 54, // hintResourceGroup (142x) 57373: 55, // hintSemijoin (142x) 57418: 56, // hintSemiJoinRewrite (142x) 57376: 57, // hintSetVar (142x) 57402: 58, // hintShuffleJoin (142x) 57371: 59, // hintSkipScan (142x) 57399: 60, // hintSMJoin (142x) 57416: 61, // hintStraightJoin (142x) 57403: 62, // hintStreamAgg (142x) 57404: 63, // hintSwapJoinInputs (142x) 57411: 64, // hintTimeRange (142x) 57412: 65, // hintUseCascades (142x) 57406: 66, // hintUseIndex (142x) 57405: 67, // hintUseIndexMerge (142x) 57409: 68, // hintUsePlanCache (142x) 57410: 69, // hintUseToja (142x) 44: 70, // ',' (139x) 57429: 71, // hintDupsWeedOut (119x) 57430: 72, // hintFirstMatch (119x) 57431: 73, // hintLooseScan (119x) 57432: 74, // hintMaterialization (119x) 57424: 75, // hintTiFlash (119x) 57423: 76, // hintTiKV (119x) 57425: 77, // hintFalse (118x) 57420: 78, // hintOLAP (118x) 57421: 79, // hintOLTP (118x) 57426: 80, // hintTrue (118x) 57428: 81, // hintGB (117x) 57427: 82, // hintMB (117x) 57347: 83, // hintIdentifier (116x) 57349: 84, // hintSingleAtIdentifier (102x) 93: 85, // ']' (93x) 46: 86, // '.' (92x) 57422: 87, // hintPartition (87x) 61: 88, // '=' (83x) 40: 89, // '(' (78x) 57344: 90, // $end (25x) 57453: 91, // QueryBlockOpt (20x) 57445: 92, // Identifier (15x) 57346: 93, // hintIntLit (10x) 57350: 94, // hintStringLit (5x) 57435: 95, // CommaOpt (4x) 57441: 96, // HintTable (4x) 57442: 97, // HintTableList (4x) 91: 98, // '[' (3x) 57434: 99, // BooleanHintName (2x) 57436: 100, // HintIndexList (2x) 57438: 101, // HintStorageType (2x) 57439: 102, // HintStorageTypeAndTable (2x) 57443: 103, // HintTableListOpt (2x) 57448: 104, // JoinOrderOptimizerHintName (2x) 57449: 105, // NullaryHintName (2x) 57452: 106, // PartitionListOpt (2x) 57455: 107, // StorageOptimizerHintOpt (2x) 57456: 108, // SubqueryOptimizerHintName (2x) 57459: 109, // SubqueryStrategy (2x) 57460: 110, // SupportedIndexLevelOptimizerHintName (2x) 57461: 111, // SupportedTableLevelOptimizerHintName (2x) 57462: 112, // TableOptimizerHintOpt (2x) 57464: 113, // UnsupportedIndexLevelOptimizerHintName (2x) 57465: 114, // UnsupportedTableLevelOptimizerHintName (2x) 57467: 115, // ViewName (2x) 43: 116, // '+' (1x) 45: 117, // '-' (1x) 57437: 118, // HintQueryType (1x) 57440: 119, // HintStorageTypeAndTableList (1x) 57444: 120, // HintTrueOrFalse (1x) 57446: 121, // IndexNameList (1x) 57447: 122, // IndexNameListOpt (1x) 57450: 123, // OptimizerHintList (1x) 57451: 124, // PartitionList (1x) 57454: 125, // Start (1x) 57457: 126, // SubqueryStrategies (1x) 57458: 127, // SubqueryStrategiesOpt (1x) 57463: 128, // UnitOfBytes (1x) 57466: 129, // Value (1x) 57468: 130, // ViewNameList (1x) 57433: 131, // $default (0x) 57345: 132, // error (0x) 57348: 133, // hintInvalid (0x) } yyhintSymNames = []string{ "')'", "hintAggToCop", "hintBCJoin", "hintBKA", "hintBNL", "hintForceIndex", "hintHashAgg", "hintHashJoin", "hintHashJoinBuild", "hintHashJoinProbe", "hintIgnoreIndex", "hintIgnorePlanCache", "hintIndexHashJoin", "hintIndexJoin", "hintIndexMerge", "hintIndexMergeJoin", "hintInlHashJoin", "hintInlJoin", "hintInlMergeJoin", "hintJoinFixedOrder", "hintJoinOrder", "hintJoinPrefix", "hintJoinSuffix", "hintLeading", "hintLimitToCop", "hintMaxExecutionTime", "hintMemoryQuota", "hintMerge", "hintMpp1PhaseAgg", "hintMpp2PhaseAgg", "hintMRR", "hintNoBKA", "hintNoBNL", "hintNoDecorrelate", "hintNoHashJoin", "hintNoICP", "hintNoIndexHashJoin", "hintNoIndexJoin", "hintNoIndexMerge", "hintNoIndexMergeJoin", "hintNoMerge", "hintNoMRR", "hintNoOrderIndex", "hintNoRangeOptimization", "hintNoSemijoin", "hintNoSkipScan", "hintNoSMJoin", "hintNoSwapJoinInputs", "hintNthPlan", "hintOrderIndex", "hintQBName", "hintQueryType", "hintReadConsistentReplica", "hintReadFromStorage", "hintResourceGroup", "hintSemijoin", "hintSemiJoinRewrite", "hintSetVar", "hintShuffleJoin", "hintSkipScan", "hintSMJoin", "hintStraightJoin", "hintStreamAgg", "hintSwapJoinInputs", "hintTimeRange", "hintUseCascades", "hintUseIndex", "hintUseIndexMerge", "hintUsePlanCache", "hintUseToja", "','", "hintDupsWeedOut", "hintFirstMatch", "hintLooseScan", "hintMaterialization", "hintTiFlash", "hintTiKV", "hintFalse", "hintOLAP", "hintOLTP", "hintTrue", "hintGB", "hintMB", "hintIdentifier", "hintSingleAtIdentifier", "']'", "'.'", "hintPartition", "'='", "'('", "$end", "QueryBlockOpt", "Identifier", "hintIntLit", "hintStringLit", "CommaOpt", "HintTable", "HintTableList", "'['", "BooleanHintName", "HintIndexList", "HintStorageType", "HintStorageTypeAndTable", "HintTableListOpt", "JoinOrderOptimizerHintName", "NullaryHintName", "PartitionListOpt", "StorageOptimizerHintOpt", "SubqueryOptimizerHintName", "SubqueryStrategy", "SupportedIndexLevelOptimizerHintName", "SupportedTableLevelOptimizerHintName", "TableOptimizerHintOpt", "UnsupportedIndexLevelOptimizerHintName", "UnsupportedTableLevelOptimizerHintName", "ViewName", "'+'", "'-'", "HintQueryType", "HintStorageTypeAndTableList", "HintTrueOrFalse", "IndexNameList", "IndexNameListOpt", "OptimizerHintList", "PartitionList", "Start", "SubqueryStrategies", "SubqueryStrategiesOpt", "UnitOfBytes", "Value", "ViewNameList", "$default", "error", "hintInvalid", } yyhintReductions = []struct{ xsym, components int }{ {0, 1}, {125, 1}, {123, 1}, {123, 3}, {123, 1}, {123, 3}, {112, 4}, {112, 4}, {112, 4}, {112, 4}, {112, 4}, {112, 4}, {112, 5}, {112, 5}, {112, 5}, {112, 6}, {112, 4}, {112, 4}, {112, 6}, {112, 6}, {112, 6}, {112, 5}, {112, 4}, {112, 5}, {107, 5}, {119, 1}, {119, 3}, {102, 4}, {91, 0}, {91, 1}, {95, 0}, {95, 1}, {106, 0}, {106, 4}, {124, 1}, {124, 3}, {103, 1}, {103, 1}, {97, 2}, {97, 3}, {96, 3}, {96, 5}, {130, 3}, {130, 1}, {115, 2}, {115, 1}, {100, 4}, {122, 0}, {122, 1}, {121, 1}, {121, 3}, {127, 0}, {127, 1}, {126, 1}, {126, 3}, {129, 1}, {129, 1}, {129, 1}, {129, 2}, {129, 2}, {128, 1}, {128, 1}, {120, 1}, {120, 1}, {104, 1}, {104, 1}, {104, 1}, {114, 1}, {114, 1}, {114, 1}, {114, 1}, {114, 1}, {111, 1}, {111, 1}, {111, 1}, {111, 1}, {111, 1}, {111, 1}, {111, 1}, {111, 1}, {111, 1}, {111, 1}, {111, 1}, {111, 1}, {111, 1}, {111, 1}, {111, 1}, {111, 1}, {111, 1}, {111, 1}, {111, 1}, {111, 1}, {111, 1}, {113, 1}, {113, 1}, {113, 1}, {113, 1}, {113, 1}, {113, 1}, {113, 1}, {110, 1}, {110, 1}, {110, 1}, {110, 1}, {110, 1}, {110, 1}, {108, 1}, {108, 1}, {109, 1}, {109, 1}, {109, 1}, {109, 1}, {99, 1}, {99, 1}, {105, 1}, {105, 1}, {105, 1}, {105, 1}, {105, 1}, {105, 1}, {105, 1}, {105, 1}, {105, 1}, {105, 1}, {105, 1}, {105, 1}, {105, 1}, {118, 1}, {118, 1}, {101, 1}, {101, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, {92, 1}, } yyhintXErrors = map[yyhintXError]string{} yyhintParseTab = [302][]uint16{ // 0 {1: 287, 246, 239, 241, 275, 283, 260, 262, 263, 273, 291, 253, 249, 265, 258, 252, 248, 257, 218, 236, 237, 238, 264, 288, 225, 230, 251, 284, 285, 266, 240, 242, 294, 261, 268, 254, 250, 289, 259, 243, 267, 277, 269, 279, 271, 245, 256, 226, 276, 229, 234, 290, 235, 228, 278, 293, 227, 247, 270, 244, 292, 286, 255, 231, 281, 272, 274, 282, 280, 99: 232, 104: 219, 233, 107: 217, 224, 110: 223, 221, 216, 222, 220, 123: 215, 125: 214}, {90: 213}, {1: 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 399, 90: 212, 95: 512}, {1: 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 90: 211}, {1: 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 90: 209}, // 5 {89: 509}, {89: 506}, {89: 503}, {89: 498}, {89: 495}, // 10 {89: 484}, {89: 472}, {89: 468}, {89: 464}, {89: 452}, // 15 {89: 449}, {89: 437}, {89: 430}, {89: 425}, {89: 419}, // 20 {89: 416}, {89: 410}, {89: 295}, {89: 149}, {89: 148}, // 25 {89: 147}, {89: 146}, {89: 145}, {89: 144}, {89: 143}, // 30 {89: 142}, {89: 141}, {89: 140}, {89: 139}, {89: 138}, // 35 {89: 137}, {89: 136}, {89: 135}, {89: 134}, {89: 133}, // 40 {89: 132}, {89: 131}, {89: 130}, {89: 129}, {89: 128}, // 45 {89: 127}, {89: 126}, {89: 125}, {89: 124}, {89: 123}, // 50 {89: 122}, {89: 121}, {89: 120}, {89: 119}, {89: 118}, // 55 {89: 117}, {89: 116}, {89: 115}, {89: 114}, {89: 113}, // 60 {89: 112}, {89: 111}, {89: 110}, {89: 109}, {89: 108}, // 65 {89: 107}, {89: 106}, {89: 101}, {89: 100}, {89: 99}, // 70 {89: 98}, {89: 97}, {89: 96}, {89: 95}, {89: 94}, // 75 {89: 93}, {89: 92}, {89: 91}, {89: 90}, {89: 89}, // 80 {89: 88}, {89: 87}, {75: 185, 185, 84: 297, 91: 296}, {75: 302, 301, 101: 300, 299, 119: 298}, {184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 85: 184, 184, 184, 93: 184}, // 85 {407, 70: 408}, {188, 70: 188}, {98: 303}, {98: 84}, {98: 83}, // 90 {1: 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 71: 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 297, 91: 305, 97: 304}, {70: 405, 85: 404}, {1: 337, 360, 313, 315, 373, 340, 317, 318, 319, 343, 339, 345, 348, 323, 351, 344, 347, 350, 309, 310, 311, 312, 375, 338, 333, 353, 321, 341, 342, 325, 314, 316, 377, 320, 327, 346, 349, 324, 352, 322, 326, 367, 328, 332, 330, 359, 354, 372, 366, 336, 355, 356, 357, 335, 331, 376, 334, 361, 329, 358, 374, 362, 363, 370, 371, 365, 364, 368, 369, 71: 386, 387, 388, 389, 381, 380, 382, 378, 379, 383, 385, 384, 308, 92: 307, 96: 306}, {175, 70: 175, 85: 175}, {185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 297, 185, 391, 185, 91: 390}, // 95 {82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82}, {81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81}, {80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80}, {79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79}, {78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78}, // 100 {77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77}, {76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76}, {75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75}, {74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74}, {73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73}, // 105 {72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72}, {71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71}, {70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70}, {69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69}, {68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68}, // 110 {67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67}, {66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66}, {65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65}, {64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64}, {63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63}, // 115 {62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62}, {61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61}, {60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60}, {59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59}, {58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58}, // 120 {57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57}, {56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56}, {55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55}, {54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54}, {53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53}, // 125 {52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52}, {51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51}, {50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50}, {49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49}, {48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48}, // 130 {47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47}, {46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46}, {45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45}, {44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44}, {43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43}, // 135 {42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42}, {41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41}, {40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40}, {39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39}, {38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38}, // 140 {37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37}, {36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36}, {35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35}, {34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34}, {33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33}, // 145 {32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32}, {31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31}, {30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30}, {29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29}, {28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28}, // 150 {27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27}, {26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26}, {25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25}, {24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24}, {23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23}, // 155 {22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22}, {21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21}, {20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20}, {19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19}, {18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18}, // 160 {17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17}, {16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16}, {15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15}, {14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14}, {13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13}, // 165 {12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12}, {11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11}, {10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10}, {9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9}, {8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8}, // 170 {7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7}, {6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6}, {5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5}, {4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4}, {3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3}, // 175 {2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, {181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 85: 181, 87: 394, 106: 403}, {1: 337, 360, 313, 315, 373, 340, 317, 318, 319, 343, 339, 345, 348, 323, 351, 344, 347, 350, 309, 310, 311, 312, 375, 338, 333, 353, 321, 341, 342, 325, 314, 316, 377, 320, 327, 346, 349, 324, 352, 322, 326, 367, 328, 332, 330, 359, 354, 372, 366, 336, 355, 356, 357, 335, 331, 376, 334, 361, 329, 358, 374, 362, 363, 370, 371, 365, 364, 368, 369, 71: 386, 387, 388, 389, 381, 380, 382, 378, 379, 383, 385, 384, 308, 92: 392}, {185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 297, 185, 87: 185, 91: 393}, // 180 {181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 85: 181, 87: 394, 106: 395}, {89: 396}, {172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 85: 172}, {1: 337, 360, 313, 315, 373, 340, 317, 318, 319, 343, 339, 345, 348, 323, 351, 344, 347, 350, 309, 310, 311, 312, 375, 338, 333, 353, 321, 341, 342, 325, 314, 316, 377, 320, 327, 346, 349, 324, 352, 322, 326, 367, 328, 332, 330, 359, 354, 372, 366, 336, 355, 356, 357, 335, 331, 376, 334, 361, 329, 358, 374, 362, 363, 370, 371, 365, 364, 368, 369, 71: 386, 387, 388, 389, 381, 380, 382, 378, 379, 383, 385, 384, 308, 92: 398, 124: 397}, {400, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 399, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 95: 401}, // 185 {179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179}, {182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 71: 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 94: 182}, {180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 85: 180}, {1: 337, 360, 313, 315, 373, 340, 317, 318, 319, 343, 339, 345, 348, 323, 351, 344, 347, 350, 309, 310, 311, 312, 375, 338, 333, 353, 321, 341, 342, 325, 314, 316, 377, 320, 327, 346, 349, 324, 352, 322, 326, 367, 328, 332, 330, 359, 354, 372, 366, 336, 355, 356, 357, 335, 331, 376, 334, 361, 329, 358, 374, 362, 363, 370, 371, 365, 364, 368, 369, 71: 386, 387, 388, 389, 381, 380, 382, 378, 379, 383, 385, 384, 308, 92: 402}, {178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178}, // 190 {173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 85: 173}, {186, 70: 186}, {1: 337, 360, 313, 315, 373, 340, 317, 318, 319, 343, 339, 345, 348, 323, 351, 344, 347, 350, 309, 310, 311, 312, 375, 338, 333, 353, 321, 341, 342, 325, 314, 316, 377, 320, 327, 346, 349, 324, 352, 322, 326, 367, 328, 332, 330, 359, 354, 372, 366, 336, 355, 356, 357, 335, 331, 376, 334, 361, 329, 358, 374, 362, 363, 370, 371, 365, 364, 368, 369, 71: 386, 387, 388, 389, 381, 380, 382, 378, 379, 383, 385, 384, 308, 92: 307, 96: 406}, {174, 70: 174, 85: 174}, {1: 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 90: 189}, // 195 {75: 302, 301, 101: 300, 409}, {187, 70: 187}, {78: 185, 185, 84: 297, 91: 411}, {78: 413, 414, 118: 412}, {415}, // 200 {86}, {85}, {1: 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 90: 190}, {185, 84: 297, 91: 417}, {418}, // 205 {1: 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 90: 191}, {77: 185, 80: 185, 84: 297, 91: 420}, {77: 423, 80: 422, 120: 421}, {424}, {151}, // 210 {150}, {1: 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 90: 192}, {94: 426}, {70: 399, 94: 183, 427}, {94: 428}, // 215 {429}, {1: 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 90: 193}, {84: 297, 91: 431, 93: 185}, {93: 432}, {81: 435, 434, 128: 433}, // 220 {436}, {153}, {152}, {1: 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 90: 194}, {1: 337, 360, 313, 315, 373, 340, 317, 318, 319, 343, 339, 345, 348, 323, 351, 344, 347, 350, 309, 310, 311, 312, 375, 338, 333, 353, 321, 341, 342, 325, 314, 316, 377, 320, 327, 346, 349, 324, 352, 322, 326, 367, 328, 332, 330, 359, 354, 372, 366, 336, 355, 356, 357, 335, 331, 376, 334, 361, 329, 358, 374, 362, 363, 370, 371, 365, 364, 368, 369, 71: 386, 387, 388, 389, 381, 380, 382, 378, 379, 383, 385, 384, 308, 92: 438}, // 225 {439, 70: 440}, {1: 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 90: 196}, {185, 337, 360, 313, 315, 373, 340, 317, 318, 319, 343, 339, 345, 348, 323, 351, 344, 347, 350, 309, 310, 311, 312, 375, 338, 333, 353, 321, 341, 342, 325, 314, 316, 377, 320, 327, 346, 349, 324, 352, 322, 326, 367, 328, 332, 330, 359, 354, 372, 366, 336, 355, 356, 357, 335, 331, 376, 334, 361, 329, 358, 374, 362, 363, 370, 371, 365, 364, 368, 369, 71: 386, 387, 388, 389, 381, 380, 382, 378, 379, 383, 385, 384, 308, 297, 86: 185, 91: 444, 443, 115: 442, 130: 441}, {446, 86: 447}, {170, 86: 170}, // 230 {185, 84: 297, 86: 185, 91: 445}, {168, 86: 168}, {169, 86: 169}, {1: 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 90: 195}, {185, 337, 360, 313, 315, 373, 340, 317, 318, 319, 343, 339, 345, 348, 323, 351, 344, 347, 350, 309, 310, 311, 312, 375, 338, 333, 353, 321, 341, 342, 325, 314, 316, 377, 320, 327, 346, 349, 324, 352, 322, 326, 367, 328, 332, 330, 359, 354, 372, 366, 336, 355, 356, 357, 335, 331, 376, 334, 361, 329, 358, 374, 362, 363, 370, 371, 365, 364, 368, 369, 71: 386, 387, 388, 389, 381, 380, 382, 378, 379, 383, 385, 384, 308, 297, 86: 185, 91: 444, 443, 115: 448}, // 235 {171, 86: 171}, {1: 337, 360, 313, 315, 373, 340, 317, 318, 319, 343, 339, 345, 348, 323, 351, 344, 347, 350, 309, 310, 311, 312, 375, 338, 333, 353, 321, 341, 342, 325, 314, 316, 377, 320, 327, 346, 349, 324, 352, 322, 326, 367, 328, 332, 330, 359, 354, 372, 366, 336, 355, 356, 357, 335, 331, 376, 334, 361, 329, 358, 374, 362, 363, 370, 371, 365, 364, 368, 369, 71: 386, 387, 388, 389, 381, 380, 382, 378, 379, 383, 385, 384, 308, 92: 450}, {451}, {1: 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 90: 197}, {1: 337, 360, 313, 315, 373, 340, 317, 318, 319, 343, 339, 345, 348, 323, 351, 344, 347, 350, 309, 310, 311, 312, 375, 338, 333, 353, 321, 341, 342, 325, 314, 316, 377, 320, 327, 346, 349, 324, 352, 322, 326, 367, 328, 332, 330, 359, 354, 372, 366, 336, 355, 356, 357, 335, 331, 376, 334, 361, 329, 358, 374, 362, 363, 370, 371, 365, 364, 368, 369, 71: 386, 387, 388, 389, 381, 380, 382, 378, 379, 383, 385, 384, 308, 92: 453}, // 240 {88: 454}, {1: 337, 360, 313, 315, 373, 340, 317, 318, 319, 343, 339, 345, 348, 323, 351, 344, 347, 350, 309, 310, 311, 312, 375, 338, 333, 353, 321, 341, 342, 325, 314, 316, 377, 320, 327, 346, 349, 324, 352, 322, 326, 367, 328, 332, 330, 359, 354, 372, 366, 336, 355, 356, 357, 335, 331, 376, 334, 361, 329, 358, 374, 362, 363, 370, 371, 365, 364, 368, 369, 71: 386, 387, 388, 389, 381, 380, 382, 378, 379, 383, 385, 384, 308, 92: 457, 458, 456, 116: 459, 460, 129: 455}, {463}, {158}, {157}, // 245 {156}, {93: 462}, {93: 461}, {154}, {155}, // 250 {1: 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 90: 198}, {84: 297, 91: 465, 93: 185}, {93: 466}, {467}, {1: 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 90: 199}, // 255 {84: 297, 91: 469, 93: 185}, {93: 470}, {471}, {1: 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 90: 200}, {185, 71: 185, 185, 185, 185, 84: 297, 91: 473}, // 260 {162, 71: 477, 478, 479, 480, 109: 476, 126: 475, 474}, {483}, {161, 70: 481}, {160, 70: 160}, {105, 70: 105}, // 265 {104, 70: 104}, {103, 70: 103}, {102, 70: 102}, {71: 477, 478, 479, 480, 109: 482}, {159, 70: 159}, // 270 {1: 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 90: 201}, {1: 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 71: 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 297, 91: 486, 100: 485}, {494}, {1: 337, 360, 313, 315, 373, 340, 317, 318, 319, 343, 339, 345, 348, 323, 351, 344, 347, 350, 309, 310, 311, 312, 375, 338, 333, 353, 321, 341, 342, 325, 314, 316, 377, 320, 327, 346, 349, 324, 352, 322, 326, 367, 328, 332, 330, 359, 354, 372, 366, 336, 355, 356, 357, 335, 331, 376, 334, 361, 329, 358, 374, 362, 363, 370, 371, 365, 364, 368, 369, 71: 386, 387, 388, 389, 381, 380, 382, 378, 379, 383, 385, 384, 308, 92: 307, 96: 487}, {183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 399, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 95: 488}, // 275 {166, 337, 360, 313, 315, 373, 340, 317, 318, 319, 343, 339, 345, 348, 323, 351, 344, 347, 350, 309, 310, 311, 312, 375, 338, 333, 353, 321, 341, 342, 325, 314, 316, 377, 320, 327, 346, 349, 324, 352, 322, 326, 367, 328, 332, 330, 359, 354, 372, 366, 336, 355, 356, 357, 335, 331, 376, 334, 361, 329, 358, 374, 362, 363, 370, 371, 365, 364, 368, 369, 71: 386, 387, 388, 389, 381, 380, 382, 378, 379, 383, 385, 384, 308, 92: 491, 121: 490, 489}, {167}, {165, 70: 492}, {164, 70: 164}, {1: 337, 360, 313, 315, 373, 340, 317, 318, 319, 343, 339, 345, 348, 323, 351, 344, 347, 350, 309, 310, 311, 312, 375, 338, 333, 353, 321, 341, 342, 325, 314, 316, 377, 320, 327, 346, 349, 324, 352, 322, 326, 367, 328, 332, 330, 359, 354, 372, 366, 336, 355, 356, 357, 335, 331, 376, 334, 361, 329, 358, 374, 362, 363, 370, 371, 365, 364, 368, 369, 71: 386, 387, 388, 389, 381, 380, 382, 378, 379, 383, 385, 384, 308, 92: 493}, // 280 {163, 70: 163}, {1: 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 90: 202}, {1: 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 71: 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 297, 91: 486, 100: 496}, {497}, {1: 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 90: 203}, // 285 {185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 71: 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 297, 91: 501, 97: 500, 103: 499}, {502}, {177, 70: 405}, {176, 337, 360, 313, 315, 373, 340, 317, 318, 319, 343, 339, 345, 348, 323, 351, 344, 347, 350, 309, 310, 311, 312, 375, 338, 333, 353, 321, 341, 342, 325, 314, 316, 377, 320, 327, 346, 349, 324, 352, 322, 326, 367, 328, 332, 330, 359, 354, 372, 366, 336, 355, 356, 357, 335, 331, 376, 334, 361, 329, 358, 374, 362, 363, 370, 371, 365, 364, 368, 369, 71: 386, 387, 388, 389, 381, 380, 382, 378, 379, 383, 385, 384, 308, 92: 307, 96: 306}, {1: 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 90: 204}, // 290 {185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 71: 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 297, 91: 501, 97: 500, 103: 504}, {505}, {1: 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 90: 205}, {1: 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 71: 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 297, 91: 305, 97: 507}, {508, 70: 405}, // 295 {1: 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 90: 206}, {185, 84: 297, 91: 510}, {511}, {1: 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 90: 207}, {1: 287, 246, 239, 241, 275, 283, 260, 262, 263, 273, 291, 253, 249, 265, 258, 252, 248, 257, 218, 236, 237, 238, 264, 288, 225, 230, 251, 284, 285, 266, 240, 242, 294, 261, 268, 254, 250, 289, 259, 243, 267, 277, 269, 279, 271, 245, 256, 226, 276, 229, 234, 290, 235, 228, 278, 293, 227, 247, 270, 244, 292, 286, 255, 231, 281, 272, 274, 282, 280, 99: 232, 104: 219, 233, 107: 514, 224, 110: 223, 221, 513, 222, 220}, // 300 {1: 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 90: 210}, {1: 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 90: 208}, } ) var yyhintDebug = 0 type yyhintLexer interface { Lex(lval *yyhintSymType) int Errorf(format string, a ...interface{}) error AppendError(err error) AppendWarn(err error) Errors() (warns []error, errs []error) } type yyhintLexerEx interface { yyhintLexer Reduced(rule, state int, lval *yyhintSymType) bool } func yyhintSymName(c int) (s string) { x, ok := yyhintXLAT[c] if ok { return yyhintSymNames[x] } return __yyfmt__.Sprintf("%d", c) } func yyhintlex1(yylex yyhintLexer, lval *yyhintSymType) (n int) { n = yylex.Lex(lval) if n <= 0 { n = yyhintEOFCode } if yyhintDebug >= 3 { __yyfmt__.Printf("\nlex %s(%#x %d), lval: %+v\n", yyhintSymName(n), n, n, lval) } return n } func yyhintParse(yylex yyhintLexer, parser *hintParser) int { const yyError = 132 yyEx, _ := yylex.(yyhintLexerEx) var yyn int parser.yylval = yyhintSymType{} yyS := parser.cache Nerrs := 0 /* number of errors */ Errflag := 0 /* error recovery flag */ yyerrok := func() { if yyhintDebug >= 2 { __yyfmt__.Printf("yyerrok()\n") } Errflag = 0 } _ = yyerrok yystate := 0 yychar := -1 var yyxchar int var yyshift int yyp := -1 goto yystack ret0: return 0 ret1: return 1 yystack: /* put a state and value onto the stack */ yyp++ if yyp+1 >= len(yyS) { nyys := make([]yyhintSymType, len(yyS)*2) copy(nyys, yyS) yyS = nyys parser.cache = yyS } parser.yyVAL = &yyS[yyp+1] yyS[yyp].yys = yystate yynewstate: if yychar < 0 { yychar = yyhintlex1(yylex, &parser.yylval) var ok bool if yyxchar, ok = yyhintXLAT[yychar]; !ok { yyxchar = len(yyhintSymNames) // > tab width } } if yyhintDebug >= 4 { var a []int for _, v := range yyS[:yyp+1] { a = append(a, v.yys) } __yyfmt__.Printf("state stack %v\n", a) } row := yyhintParseTab[yystate] yyn = 0 if yyxchar < len(row) { if yyn = int(row[yyxchar]); yyn != 0 { yyn += yyhintTabOfs } } switch { case yyn > 0: // shift yychar = -1 *parser.yyVAL = parser.yylval yystate = yyn yyshift = yyn if yyhintDebug >= 2 { __yyfmt__.Printf("shift, and goto state %d\n", yystate) } if Errflag > 0 { Errflag-- } goto yystack case yyn < 0: // reduce case yystate == 1: // accept if yyhintDebug >= 2 { __yyfmt__.Println("accept") } goto ret0 } if yyn == 0 { /* error ... attempt to resume parsing */ switch Errflag { case 0: /* brand new error */ if yyhintDebug >= 1 { __yyfmt__.Printf("no action for %s in state %d\n", yyhintSymName(yychar), yystate) } msg, ok := yyhintXErrors[yyhintXError{yystate, yyxchar}] if !ok { msg, ok = yyhintXErrors[yyhintXError{yystate, -1}] } if !ok && yyshift != 0 { msg, ok = yyhintXErrors[yyhintXError{yyshift, yyxchar}] } if !ok { msg, ok = yyhintXErrors[yyhintXError{yyshift, -1}] } if !ok || msg == "" { msg = "syntax error" } // ignore goyacc error message yylex.AppendError(yylex.Errorf("")) Nerrs++ fallthrough case 1, 2: /* incompletely recovered error ... try again */ Errflag = 3 /* find a state where "error" is a legal shift action */ for yyp >= 0 { row := yyhintParseTab[yyS[yyp].yys] if yyError < len(row) { yyn = int(row[yyError]) + yyhintTabOfs if yyn > 0 { // hit if yyhintDebug >= 2 { __yyfmt__.Printf("error recovery found error shift in state %d\n", yyS[yyp].yys) } yystate = yyn /* simulate a shift of "error" */ goto yystack } } /* the current p has no shift on "error", pop stack */ if yyhintDebug >= 2 { __yyfmt__.Printf("error recovery pops state %d\n", yyS[yyp].yys) } yyp-- } /* there is no state on the stack with an error shift ... abort */ if yyhintDebug >= 2 { __yyfmt__.Printf("error recovery failed\n") } goto ret1 case 3: /* no shift yet; clobber input char */ if yyhintDebug >= 2 { __yyfmt__.Printf("error recovery discards %s\n", yyhintSymName(yychar)) } if yychar == yyhintEOFCode { goto ret1 } yychar = -1 goto yynewstate /* try again in the same state */ } } r := -yyn x0 := yyhintReductions[r] x, n := x0.xsym, x0.components yypt := yyp _ = yypt // guard against "declared and not used" yyp -= n if yyp+1 >= len(yyS) { nyys := make([]yyhintSymType, len(yyS)*2) copy(nyys, yyS) yyS = nyys parser.cache = yyS } parser.yyVAL = &yyS[yyp+1] /* consult goto table to find next state */ exState := yystate yystate = int(yyhintParseTab[yyS[yyp].yys][x]) + yyhintTabOfs /* reduction by production r */ if yyhintDebug >= 2 { __yyfmt__.Printf("reduce using rule %v (%s), and goto state %d\n", r, yyhintSymNames[x], yystate) } switch r { case 1: { parser.result = yyS[yypt-0].hints } case 2: { if yyS[yypt-0].hint != nil { parser.yyVAL.hints = []*ast.TableOptimizerHint{yyS[yypt-0].hint} } } case 3: { if yyS[yypt-0].hint != nil { parser.yyVAL.hints = append(yyS[yypt-2].hints, yyS[yypt-0].hint) } else { parser.yyVAL.hints = yyS[yypt-2].hints } } case 4: { parser.yyVAL.hints = yyS[yypt-0].hints } case 5: { parser.yyVAL.hints = append(yyS[yypt-2].hints, yyS[yypt-0].hints...) } case 6: { parser.warnUnsupportedHint(yyS[yypt-3].ident) parser.yyVAL.hint = nil } case 7: { parser.warnUnsupportedHint(yyS[yypt-3].ident) parser.yyVAL.hint = nil } case 8: { parser.warnUnsupportedHint(yyS[yypt-3].ident) parser.yyVAL.hint = nil } case 9: { h := yyS[yypt-1].hint h.HintName = model.NewCIStr(yyS[yypt-3].ident) parser.yyVAL.hint = h } case 10: { parser.warnUnsupportedHint(yyS[yypt-3].ident) parser.yyVAL.hint = nil } case 11: { h := yyS[yypt-1].hint h.HintName = model.NewCIStr(yyS[yypt-3].ident) parser.yyVAL.hint = h } case 12: { parser.warnUnsupportedHint(yyS[yypt-4].ident) parser.yyVAL.hint = nil } case 13: { parser.yyVAL.hint = &ast.TableOptimizerHint{ HintName: model.NewCIStr(yyS[yypt-4].ident), QBName: model.NewCIStr(yyS[yypt-2].ident), HintData: yyS[yypt-1].number, } } case 14: { parser.yyVAL.hint = &ast.TableOptimizerHint{ HintName: model.NewCIStr(yyS[yypt-4].ident), QBName: model.NewCIStr(yyS[yypt-2].ident), HintData: int64(yyS[yypt-1].number), } } case 15: { parser.yyVAL.hint = &ast.TableOptimizerHint{ HintName: model.NewCIStr(yyS[yypt-5].ident), HintData: ast.HintSetVar{ VarName: yyS[yypt-3].ident, Value: yyS[yypt-1].ident, }, } } case 16: { parser.yyVAL.hint = &ast.TableOptimizerHint{ HintName: model.NewCIStr(yyS[yypt-3].ident), HintData: yyS[yypt-1].ident, } } case 17: { parser.yyVAL.hint = &ast.TableOptimizerHint{ HintName: model.NewCIStr(yyS[yypt-3].ident), QBName: model.NewCIStr(yyS[yypt-1].ident), } } case 18: { parser.yyVAL.hint = &ast.TableOptimizerHint{ HintName: model.NewCIStr(yyS[yypt-5].ident), QBName: model.NewCIStr(yyS[yypt-3].ident), Tables: yyS[yypt-1].hint.Tables, } } case 19: { maxValue := uint64(math.MaxInt64) / yyS[yypt-1].number if yyS[yypt-2].number <= maxValue { parser.yyVAL.hint = &ast.TableOptimizerHint{ HintName: model.NewCIStr(yyS[yypt-5].ident), HintData: int64(yyS[yypt-2].number * yyS[yypt-1].number), QBName: model.NewCIStr(yyS[yypt-3].ident), } } else { yylex.AppendError(ErrWarnMemoryQuotaOverflow.GenWithStackByArgs(math.MaxInt64)) parser.lastErrorAsWarn() parser.yyVAL.hint = nil } } case 20: { parser.yyVAL.hint = &ast.TableOptimizerHint{ HintName: model.NewCIStr(yyS[yypt-5].ident), HintData: ast.HintTimeRange{ From: yyS[yypt-3].ident, To: yyS[yypt-1].ident, }, } } case 21: { h := yyS[yypt-1].hint h.HintName = model.NewCIStr(yyS[yypt-4].ident) h.QBName = model.NewCIStr(yyS[yypt-2].ident) parser.yyVAL.hint = h } case 22: { parser.yyVAL.hint = &ast.TableOptimizerHint{ HintName: model.NewCIStr(yyS[yypt-3].ident), QBName: model.NewCIStr(yyS[yypt-1].ident), } } case 23: { parser.yyVAL.hint = &ast.TableOptimizerHint{ HintName: model.NewCIStr(yyS[yypt-4].ident), QBName: model.NewCIStr(yyS[yypt-2].ident), HintData: model.NewCIStr(yyS[yypt-1].ident), } } case 24: { hs := yyS[yypt-1].hints name := model.NewCIStr(yyS[yypt-4].ident) qb := model.NewCIStr(yyS[yypt-2].ident) for _, h := range hs { h.HintName = name h.QBName = qb } parser.yyVAL.hints = hs } case 25: { parser.yyVAL.hints = []*ast.TableOptimizerHint{yyS[yypt-0].hint} } case 26: { parser.yyVAL.hints = append(yyS[yypt-2].hints, yyS[yypt-0].hint) } case 27: { h := yyS[yypt-1].hint h.HintData = model.NewCIStr(yyS[yypt-3].ident) parser.yyVAL.hint = h } case 28: { parser.yyVAL.ident = "" } case 32: { parser.yyVAL.modelIdents = nil } case 33: { parser.yyVAL.modelIdents = yyS[yypt-1].modelIdents } case 34: { parser.yyVAL.modelIdents = []model.CIStr{model.NewCIStr(yyS[yypt-0].ident)} } case 35: { parser.yyVAL.modelIdents = append(yyS[yypt-2].modelIdents, model.NewCIStr(yyS[yypt-0].ident)) } case 37: { parser.yyVAL.hint = &ast.TableOptimizerHint{ QBName: model.NewCIStr(yyS[yypt-0].ident), } } case 38: { parser.yyVAL.hint = &ast.TableOptimizerHint{ Tables: []ast.HintTable{yyS[yypt-0].table}, QBName: model.NewCIStr(yyS[yypt-1].ident), } } case 39: { h := yyS[yypt-2].hint h.Tables = append(h.Tables, yyS[yypt-0].table) parser.yyVAL.hint = h } case 40: { parser.yyVAL.table = ast.HintTable{ TableName: model.NewCIStr(yyS[yypt-2].ident), QBName: model.NewCIStr(yyS[yypt-1].ident), PartitionList: yyS[yypt-0].modelIdents, } } case 41: { parser.yyVAL.table = ast.HintTable{ DBName: model.NewCIStr(yyS[yypt-4].ident), TableName: model.NewCIStr(yyS[yypt-2].ident), QBName: model.NewCIStr(yyS[yypt-1].ident), PartitionList: yyS[yypt-0].modelIdents, } } case 42: { h := yyS[yypt-2].hint h.Tables = append(h.Tables, yyS[yypt-0].table) parser.yyVAL.hint = h } case 43: { parser.yyVAL.hint = &ast.TableOptimizerHint{ Tables: []ast.HintTable{yyS[yypt-0].table}, } } case 44: { parser.yyVAL.table = ast.HintTable{ TableName: model.NewCIStr(yyS[yypt-1].ident), QBName: model.NewCIStr(yyS[yypt-0].ident), } } case 45: { parser.yyVAL.table = ast.HintTable{ QBName: model.NewCIStr(yyS[yypt-0].ident), } } case 46: { h := yyS[yypt-0].hint h.Tables = []ast.HintTable{yyS[yypt-2].table} h.QBName = model.NewCIStr(yyS[yypt-3].ident) parser.yyVAL.hint = h } case 47: { parser.yyVAL.hint = &ast.TableOptimizerHint{} } case 49: { parser.yyVAL.hint = &ast.TableOptimizerHint{ Indexes: []model.CIStr{model.NewCIStr(yyS[yypt-0].ident)}, } } case 50: { h := yyS[yypt-2].hint h.Indexes = append(h.Indexes, model.NewCIStr(yyS[yypt-0].ident)) parser.yyVAL.hint = h } case 57: { parser.yyVAL.ident = strconv.FormatUint(yyS[yypt-0].number, 10) } case 58: { parser.yyVAL.ident = strconv.FormatUint(yyS[yypt-0].number, 10) } case 59: { if yyS[yypt-0].number > 9223372036854775808 { yylex.AppendError(yylex.Errorf("the Signed Value should be at the range of [-9223372036854775808, 9223372036854775807].")) return 1 } else if yyS[yypt-0].number == 9223372036854775808 { signed_one := int64(1) parser.yyVAL.ident = strconv.FormatInt(signed_one<<63, 10) } else { parser.yyVAL.ident = strconv.FormatInt(-int64(yyS[yypt-0].number), 10) } } case 60: { parser.yyVAL.number = 1024 * 1024 } case 61: { parser.yyVAL.number = 1024 * 1024 * 1024 } case 62: { parser.yyVAL.hint = &ast.TableOptimizerHint{HintData: true} } case 63: { parser.yyVAL.hint = &ast.TableOptimizerHint{HintData: false} } } if !parser.lexer.skipPositionRecording { yyhintSetOffset(parser.yyVAL, parser.yyVAL.offset) } if yyEx != nil && yyEx.Reduced(r, exState, parser.yyVAL) { return -1 } goto yystack /* stack new state and value */ }