Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
2713f4f6
T
TDengine
项目概览
taosdata
/
TDengine
大约 2 年 前同步成功
通知
1193
Star
22018
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
2713f4f6
编写于
5月 25, 2023
作者:
D
dapan1121
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat: support create topic as stable with conditions
上级
357e86b9
变更
14
隐藏空白更改
内联
并排
Showing
14 changed file
with
1059 addition
and
923 deletion
+1059
-923
include/common/ttokendef.h
include/common/ttokendef.h
+1
-0
include/libs/nodes/cmdnodes.h
include/libs/nodes/cmdnodes.h
+1
-0
include/libs/qcom/query.h
include/libs/qcom/query.h
+7
-0
source/common/src/tmsg.c
source/common/src/tmsg.c
+6
-2
source/libs/parser/inc/parAst.h
source/libs/parser/inc/parAst.h
+1
-1
source/libs/parser/inc/parUtil.h
source/libs/parser/inc/parUtil.h
+1
-0
source/libs/parser/src/parAstCreater.c
source/libs/parser/src/parAstCreater.c
+4
-36
source/libs/parser/src/parAstParser.c
source/libs/parser/src/parAstParser.c
+5
-0
source/libs/parser/src/parTranslater.c
source/libs/parser/src/parTranslater.c
+104
-2
source/libs/parser/src/parUtil.c
source/libs/parser/src/parUtil.c
+16
-0
source/libs/parser/src/sql.c
source/libs/parser/src/sql.c
+882
-882
source/libs/parser/test/parInitialCTest.cpp
source/libs/parser/test/parInitialCTest.cpp
+9
-0
source/libs/qcom/src/queryUtil.c
source/libs/qcom/src/queryUtil.c
+12
-0
tests/script/tsim/tmq/topic.sim
tests/script/tsim/tmq/topic.sim
+10
-0
未找到文件。
include/common/ttokendef.h
浏览文件 @
2713f4f6
...
...
@@ -347,6 +347,7 @@
#define TK_WAL 329
#define TK_NK_SPACE 600
#define TK_NK_COMMENT 601
#define TK_NK_ILLEGAL 602
...
...
include/libs/nodes/cmdnodes.h
浏览文件 @
2713f4f6
...
...
@@ -358,6 +358,7 @@ typedef struct SCreateTopicStmt {
bool
ignoreExists
;
bool
withMeta
;
SNode
*
pQuery
;
SNode
*
pWhere
;
}
SCreateTopicStmt
;
typedef
struct
SDropTopicStmt
{
...
...
include/libs/qcom/query.h
浏览文件 @
2713f4f6
...
...
@@ -51,6 +51,12 @@ typedef enum {
TARGET_TYPE_OTHER
,
}
ETargetType
;
typedef
enum
{
TCOL_TYPE_COLUMN
=
1
,
TCOL_TYPE_TAG
,
TCOL_TYPE_NONE
,
}
ETableColumnType
;
#define QUERY_POLICY_VNODE 1
#define QUERY_POLICY_HYBRID 2
#define QUERY_POLICY_QNODE 3
...
...
@@ -257,6 +263,7 @@ void destroyQueryExecRes(SExecResult* pRes);
int32_t
dataConverToStr
(
char
*
str
,
int
type
,
void
*
buf
,
int32_t
bufSize
,
int32_t
*
len
);
char
*
parseTagDatatoJson
(
void
*
p
);
int32_t
cloneTableMeta
(
STableMeta
*
pSrc
,
STableMeta
**
pDst
);
void
getColumnTypeFromMeta
(
STableMeta
*
pMeta
,
char
*
pName
,
ETableColumnType
*
pType
);
int32_t
cloneDbVgInfo
(
SDBVgInfo
*
pSrc
,
SDBVgInfo
**
pDst
);
int32_t
cloneSVreateTbReq
(
SVCreateTbReq
*
pSrc
,
SVCreateTbReq
**
pDst
);
void
freeVgInfo
(
SDBVgInfo
*
vgInfo
);
...
...
source/common/src/tmsg.c
浏览文件 @
2713f4f6
...
...
@@ -3836,8 +3836,12 @@ int32_t tSerializeSCMCreateTopicReq(void *buf, int32_t bufLen, const SCMCreateTo
if
(
TOPIC_SUB_TYPE__TABLE
==
pReq
->
subType
)
{
if
(
tEncodeCStr
(
&
encoder
,
pReq
->
subStbName
)
<
0
)
return
-
1
;
}
if
(
tEncodeI32
(
&
encoder
,
strlen
(
pReq
->
ast
))
<
0
)
return
-
1
;
if
(
tEncodeCStr
(
&
encoder
,
pReq
->
ast
)
<
0
)
return
-
1
;
if
(
pReq
->
ast
&&
strlen
(
pReq
->
ast
)
>
0
)
{
if
(
tEncodeI32
(
&
encoder
,
strlen
(
pReq
->
ast
))
<
0
)
return
-
1
;
if
(
tEncodeCStr
(
&
encoder
,
pReq
->
ast
)
<
0
)
return
-
1
;
}
else
{
if
(
tEncodeI32
(
&
encoder
,
0
)
<
0
)
return
-
1
;
}
}
if
(
tEncodeI32
(
&
encoder
,
strlen
(
pReq
->
sql
))
<
0
)
return
-
1
;
if
(
tEncodeCStr
(
&
encoder
,
pReq
->
sql
)
<
0
)
return
-
1
;
...
...
source/libs/parser/inc/parAst.h
浏览文件 @
2713f4f6
...
...
@@ -206,7 +206,7 @@ SNode* createCreateTopicStmtUseQuery(SAstCreateContext* pCxt, bool ignoreExists,
SNode
*
createCreateTopicStmtUseDb
(
SAstCreateContext
*
pCxt
,
bool
ignoreExists
,
SToken
*
pTopicName
,
SToken
*
pSubDbName
,
bool
withMeta
);
SNode
*
createCreateTopicStmtUseTable
(
SAstCreateContext
*
pCxt
,
bool
ignoreExists
,
SToken
*
pTopicName
,
SNode
*
pRealTable
,
bool
withMeta
);
bool
withMeta
,
SNode
*
pWhere
);
SNode
*
createDropTopicStmt
(
SAstCreateContext
*
pCxt
,
bool
ignoreNotExists
,
SToken
*
pTopicName
);
SNode
*
createDropCGroupStmt
(
SAstCreateContext
*
pCxt
,
bool
ignoreNotExists
,
const
SToken
*
pCGroupId
,
SToken
*
pTopicName
);
SNode
*
createAlterLocalStmt
(
SAstCreateContext
*
pCxt
,
const
SToken
*
pConfig
,
const
SToken
*
pValue
);
...
...
source/libs/parser/inc/parUtil.h
浏览文件 @
2713f4f6
...
...
@@ -115,6 +115,7 @@ int32_t getTableIndexFromCache(SParseMetaCache* pMetaCache, const SName* pName,
int32_t
getTableCfgFromCache
(
SParseMetaCache
*
pMetaCache
,
const
SName
*
pName
,
STableCfg
**
pOutput
);
int32_t
getDnodeListFromCache
(
SParseMetaCache
*
pMetaCache
,
SArray
**
pDnodes
);
void
destoryParseMetaCache
(
SParseMetaCache
*
pMetaCache
,
bool
request
);
SNode
*
createSelectStmtImpl
(
bool
isDistinct
,
SNodeList
*
pProjectionList
,
SNode
*
pTable
);
#ifdef __cplusplus
}
...
...
source/libs/parser/src/parAstCreater.c
浏览文件 @
2713f4f6
...
...
@@ -822,16 +822,9 @@ SNode* addFillClause(SAstCreateContext* pCxt, SNode* pStmt, SNode* pFill) {
SNode
*
createSelectStmt
(
SAstCreateContext
*
pCxt
,
bool
isDistinct
,
SNodeList
*
pProjectionList
,
SNode
*
pTable
)
{
CHECK_PARSER_STATUS
(
pCxt
);
S
SelectStmt
*
select
=
(
SSelectStmt
*
)
nodesMakeNode
(
QUERY_NODE_SELECT_STMT
);
S
Node
*
select
=
createSelectStmtImpl
(
isDistinct
,
pProjectionList
,
pTable
);
CHECK_OUT_OF_MEM
(
select
);
select
->
isDistinct
=
isDistinct
;
select
->
pProjectionList
=
pProjectionList
;
select
->
pFromTable
=
pTable
;
sprintf
(
select
->
stmtName
,
"%p"
,
select
);
select
->
isTimeLineResult
=
true
;
select
->
onlyHasKeepOrderFunc
=
true
;
select
->
timeRange
=
TSWINDOW_INITIALIZER
;
return
(
SNode
*
)
select
;
return
select
;
}
static
void
setSubquery
(
SNode
*
pStmt
)
{
...
...
@@ -1703,7 +1696,7 @@ SNode* createCreateTopicStmtUseDb(SAstCreateContext* pCxt, bool ignoreExists, ST
}
SNode
*
createCreateTopicStmtUseTable
(
SAstCreateContext
*
pCxt
,
bool
ignoreExists
,
SToken
*
pTopicName
,
SNode
*
pRealTable
,
bool
withMeta
)
{
bool
withMeta
,
SNode
*
pWhere
)
{
CHECK_PARSER_STATUS
(
pCxt
);
if
(
!
checkTopicName
(
pCxt
,
pTopicName
))
{
return
NULL
;
...
...
@@ -1713,32 +1706,7 @@ SNode* createCreateTopicStmtUseTable(SAstCreateContext* pCxt, bool ignoreExists,
COPY_STRING_FORM_ID_TOKEN
(
pStmt
->
topicName
,
pTopicName
);
pStmt
->
ignoreExists
=
ignoreExists
;
pStmt
->
withMeta
=
withMeta
;
// SSelectStmt* pSelect = (SSelectStmt*)nodesMakeNode(QUERY_NODE_SELECT_STMT);
// if (NULL == pSelect) {
// return TSDB_CODE_OUT_OF_MEMORY;
// }
// sprintf(pSelect->stmtName, "%p", pSelect);
//
// SRealTableNode* pRealTable = (SRealTableNode*)nodesMakeNode(QUERY_NODE_REAL_TABLE);
// if (NULL == pRealTable) {
// nodesDestroyNode((SNode*)pSelect);
// return TSDB_CODE_OUT_OF_MEMORY;
// }
// snprintf(pRealTable->table.dbName, sizeof(pRealTable->table.dbName), "%s", pDb);
// snprintf(pRealTable->table.tableName, sizeof(pRealTable->table.tableName), "%s", pTable);
// snprintf(pRealTable->table.tableAlias, sizeof(pRealTable->table.tableAlias), "%s", pTable);
// pSelect->pFromTable = (SNode*)pRealTable;
//
// if (numOfProjs >= 0) {
// pSelect->pProjectionList = createProjectCols(numOfProjs, pProjCol);
// if (NULL == pSelect->pProjectionList) {
// nodesDestroyNode((SNode*)pSelect);
// return TSDB_CODE_OUT_OF_MEMORY;
// }
// }
//
// pStmt->pQuery = pSelect;
pStmt
->
pWhere
=
pWhere
;
strcpy
(
pStmt
->
subDbName
,
((
SRealTableNode
*
)
pRealTable
)
->
table
.
dbName
);
strcpy
(
pStmt
->
subSTbName
,
((
SRealTableNode
*
)
pRealTable
)
->
table
.
tableName
);
...
...
source/libs/parser/src/parAstParser.c
浏览文件 @
2713f4f6
...
...
@@ -355,6 +355,11 @@ static int32_t collectMetaKeyFromCreateTopic(SCollectMetaKeyCxt* pCxt, SCreateTo
if
(
NULL
!=
pStmt
->
pQuery
)
{
return
collectMetaKeyFromQuery
(
pCxt
,
pStmt
->
pQuery
);
}
if
(
NULL
!=
pStmt
->
pWhere
)
{
int32_t
code
=
collectMetaKeyFromRealTableImpl
(
pCxt
,
pStmt
->
subDbName
,
pStmt
->
subSTbName
,
AUTH_TYPE_READ
);
return
code
;
}
return
TSDB_CODE_SUCCESS
;
}
...
...
source/libs/parser/src/parTranslater.c
浏览文件 @
2713f4f6
...
...
@@ -55,6 +55,13 @@ typedef struct STranslateContext {
bool
showRewrite
;
}
STranslateContext
;
typedef
struct
SBuildTopicContext
{
bool
colExists
;
bool
colNotFound
;
STableMeta
*
pMeta
;
SNodeList
*
pTags
;
}
SBuildTopicContext
;
typedef
struct
SFullDatabaseName
{
char
fullDbName
[
TSDB_DB_FNAME_LEN
];
}
SFullDatabaseName
;
...
...
@@ -5789,12 +5796,107 @@ static int32_t buildCreateTopicReq(STranslateContext* pCxt, SCreateTopicStmt* pS
return
code
;
}
static
int32_t
addTagList
(
SNodeList
**
ppList
,
SNode
*
pNode
)
{
if
(
NULL
==
*
ppList
)
{
*
ppList
=
nodesMakeList
();
}
nodesListStrictAppend
(
*
ppList
,
pNode
);
return
TSDB_CODE_SUCCESS
;
}
static
EDealRes
checkColumnTagsInCond
(
SNode
*
pNode
,
void
*
pContext
)
{
SBuildTopicContext
*
pCxt
=
(
SBuildTopicContext
*
)
pContext
;
if
(
QUERY_NODE_COLUMN
==
nodeType
(
pNode
))
{
ETableColumnType
type
;
getColumnTypeFromMeta
(
pCxt
->
pMeta
,
((
SColumnNode
*
)
pNode
)
->
colName
,
&
type
);
if
(
type
==
TCOL_TYPE_COLUMN
)
{
pCxt
->
colExists
=
true
;
return
DEAL_RES_ERROR
;
}
else
if
(
type
==
TCOL_TYPE_TAG
)
{
addTagList
(
&
pCxt
->
pTags
,
nodesCloneNode
(
pNode
));
}
else
{
pCxt
->
colNotFound
=
true
;
return
DEAL_RES_ERROR
;
}
}
else
if
(
QUERY_NODE_FUNCTION
==
nodeType
(
pNode
))
{
SFunctionNode
*
pFunc
=
(
SFunctionNode
*
)
pNode
;
if
(
0
==
strcasecmp
(
pFunc
->
functionName
,
"tbname"
))
{
addTagList
(
&
pCxt
->
pTags
,
nodesCloneNode
(
pNode
));
}
}
return
DEAL_RES_CONTINUE
;
}
static
int32_t
checkCollectTopicTags
(
STranslateContext
*
pCxt
,
SCreateTopicStmt
*
pStmt
,
STableMeta
*
pMeta
,
SNodeList
**
ppProjection
)
{
SBuildTopicContext
colCxt
=
{.
colExists
=
false
,
.
colNotFound
=
false
,
.
pMeta
=
pMeta
,
.
pTags
=
NULL
};
nodesWalkExprPostOrder
(
pStmt
->
pWhere
,
checkColumnTagsInCond
,
&
colCxt
);
if
(
colCxt
.
colNotFound
)
{
nodesDestroyList
(
colCxt
.
pTags
);
return
generateSyntaxErrMsgExt
(
&
pCxt
->
msgBuf
,
TSDB_CODE_PAR_SYNTAX_ERROR
,
"Invalid column name"
);
}
else
if
(
colCxt
.
colExists
)
{
nodesDestroyList
(
colCxt
.
pTags
);
return
generateSyntaxErrMsgExt
(
&
pCxt
->
msgBuf
,
TSDB_CODE_PAR_SYNTAX_ERROR
,
"Columns are forbidden in where clause"
);
}
if
(
NULL
==
colCxt
.
pTags
)
{
for
(
int32_t
i
=
0
;
i
<
pMeta
->
tableInfo
.
numOfTags
;
++
i
)
{
SSchema
*
tag
=
&
pMeta
->
schema
[
pMeta
->
tableInfo
.
numOfColumns
+
i
];
SColumnNode
*
col
=
(
SColumnNode
*
)
nodesMakeNode
(
QUERY_NODE_COLUMN
);
strcpy
(
col
->
colName
,
tag
->
name
);
strcpy
(
col
->
node
.
aliasName
,
col
->
colName
);
strcpy
(
col
->
node
.
userAlias
,
col
->
colName
);
addTagList
(
&
colCxt
.
pTags
,
(
SNode
*
)
col
);
}
}
*
ppProjection
=
colCxt
.
pTags
;
return
TSDB_CODE_SUCCESS
;
}
static
int32_t
buildQueryForTableTopic
(
STranslateContext
*
pCxt
,
SCreateTopicStmt
*
pStmt
,
SNode
**
pSelect
)
{
SParseContext
*
pParCxt
=
pCxt
->
pParseCxt
;
SRequestConnInfo
connInfo
=
{.
pTrans
=
pParCxt
->
pTransporter
,
.
requestId
=
pParCxt
->
requestId
,
.
requestObjRefId
=
pParCxt
->
requestRid
,
.
mgmtEps
=
pParCxt
->
mgmtEpSet
};
SName
name
;
STableMeta
*
pMeta
=
NULL
;
int32_t
code
=
getTableMetaImpl
(
pCxt
,
toName
(
pParCxt
->
acctId
,
pStmt
->
subDbName
,
pStmt
->
subSTbName
,
&
name
),
&
pMeta
);
if
(
code
)
{
taosMemoryFree
(
pMeta
);
return
code
;
}
if
(
TSDB_SUPER_TABLE
!=
pMeta
->
tableType
)
{
taosMemoryFree
(
pMeta
);
return
generateSyntaxErrMsgExt
(
&
pCxt
->
msgBuf
,
TSDB_CODE_PAR_SYNTAX_ERROR
,
"Only supertable table can be used"
);
}
SNodeList
*
pProjection
=
NULL
;
code
=
checkCollectTopicTags
(
pCxt
,
pStmt
,
pMeta
,
&
pProjection
);
if
(
TSDB_CODE_SUCCESS
==
code
)
{
SRealTableNode
*
realTable
=
(
SRealTableNode
*
)
nodesMakeNode
(
QUERY_NODE_REAL_TABLE
);
strcpy
(
realTable
->
table
.
dbName
,
pStmt
->
subDbName
);
strcpy
(
realTable
->
table
.
tableName
,
pStmt
->
subSTbName
);
strcpy
(
realTable
->
table
.
tableAlias
,
pStmt
->
subSTbName
);
*
pSelect
=
createSelectStmtImpl
(
true
,
pProjection
,
(
SNode
*
)
realTable
);
((
SSelectStmt
*
)
*
pSelect
)
->
pWhere
=
nodesCloneNode
(
pStmt
->
pWhere
);
code
=
translateQuery
(
pCxt
,
*
pSelect
);
}
taosMemoryFree
(
pMeta
);
return
code
;
}
static
int32_t
checkCreateTopic
(
STranslateContext
*
pCxt
,
SCreateTopicStmt
*
pStmt
)
{
if
(
NULL
==
pStmt
->
pQuery
)
{
if
(
NULL
==
pStmt
->
pQuery
&&
NULL
==
pStmt
->
pWhere
)
{
return
TSDB_CODE_SUCCESS
;
}
if
(
QUERY_NODE_SELECT_STMT
==
nodeType
(
pStmt
->
pQuery
))
{
if
(
pStmt
->
pWhere
)
{
return
buildQueryForTableTopic
(
pCxt
,
pStmt
,
&
pStmt
->
pQuery
);
}
else
if
(
QUERY_NODE_SELECT_STMT
==
nodeType
(
pStmt
->
pQuery
))
{
SSelectStmt
*
pSelect
=
(
SSelectStmt
*
)
pStmt
->
pQuery
;
if
(
!
pSelect
->
isDistinct
&&
(
NULL
!=
pSelect
->
pFromTable
&&
QUERY_NODE_REAL_TABLE
==
nodeType
(
pSelect
->
pFromTable
))
&&
...
...
source/libs/parser/src/parUtil.c
浏览文件 @
2713f4f6
...
...
@@ -666,6 +666,22 @@ int32_t buildCatalogReq(const SParseMetaCache* pMetaCache, SCatalogReq* pCatalog
return
code
;
}
SNode
*
createSelectStmtImpl
(
bool
isDistinct
,
SNodeList
*
pProjectionList
,
SNode
*
pTable
)
{
SSelectStmt
*
select
=
(
SSelectStmt
*
)
nodesMakeNode
(
QUERY_NODE_SELECT_STMT
);
if
(
NULL
==
select
)
{
return
NULL
;
}
select
->
isDistinct
=
isDistinct
;
select
->
pProjectionList
=
pProjectionList
;
select
->
pFromTable
=
pTable
;
sprintf
(
select
->
stmtName
,
"%p"
,
select
);
select
->
isTimeLineResult
=
true
;
select
->
onlyHasKeepOrderFunc
=
true
;
select
->
timeRange
=
TSWINDOW_INITIALIZER
;
return
(
SNode
*
)
select
;
}
static
int32_t
putMetaDataToHash
(
const
char
*
pKey
,
int32_t
len
,
const
SArray
*
pData
,
int32_t
index
,
SHashObj
**
pHash
)
{
if
(
NULL
==
*
pHash
)
{
*
pHash
=
taosHashInit
(
4
,
taosGetDefaultHashFunction
(
TSDB_DATA_TYPE_BINARY
),
false
,
HASH_NO_LOCK
);
...
...
source/libs/parser/src/sql.c
浏览文件 @
2713f4f6
...
...
@@ -140,18 +140,18 @@ typedef union {
#define ParseCTX_FETCH
#define ParseCTX_STORE
#define YYFALLBACK 1
#define YYNSTATE 76
2
#define YYNSTATE 76
4
#define YYNRULE 583
#define YYNRULE_WITH_ACTION 583
#define YYNTOKEN 330
#define YY_MAX_SHIFT 76
1
#define YY_MIN_SHIFTREDUCE 113
6
#define YY_MAX_SHIFTREDUCE 17
18
#define YY_ERROR_ACTION 17
19
#define YY_ACCEPT_ACTION 172
0
#define YY_NO_ACTION 172
1
#define YY_MIN_REDUCE 172
2
#define YY_MAX_REDUCE 230
4
#define YY_MAX_SHIFT 76
3
#define YY_MIN_SHIFTREDUCE 113
8
#define YY_MAX_SHIFTREDUCE 17
20
#define YY_ERROR_ACTION 17
21
#define YY_ACCEPT_ACTION 172
2
#define YY_NO_ACTION 172
3
#define YY_MIN_REDUCE 172
4
#define YY_MAX_REDUCE 230
6
/************* End control #defines *******************************************/
#define YY_NLOOKAHEAD ((int)(sizeof(yy_lookahead)/sizeof(yy_lookahead[0])))
...
...
@@ -218,609 +218,609 @@ typedef union {
** yy_default[] Default action for each state.
**
*********** Begin parsing tables **********************************************/
#define YY_ACTTAB_COUNT (290
4
)
#define YY_ACTTAB_COUNT (290
2
)
static
const
YYACTIONTYPE
yy_action
[]
=
{
/* 0 */
2116
,
2010
,
1881
,
396
,
434
,
168
,
636
,
1734
,
433
,
1989
,
/* 10 */
672
,
162
,
46
,
44
,
1646
,
1723
,
2008
,
642
,
374
,
1894
,
/* 20 */
39
3
,
506
,
1495
,
440
,
39
,
38
,
1942
,
503
,
45
,
43
,
/* 30 */
4
2
,
41
,
40
,
1576
,
1791
,
1493
,
123
,
2134
,
1520
,
122
,
/* 40 */
121
,
120
,
119
,
118
,
117
,
116
,
115
,
114
,
2279
,
208
4
,
/* 50 */
593
,
671
,
593
,
2275
,
194
,
2275
,
39
,
38
,
167
,
1571
,
/* 60 */
45
,
43
,
42
,
41
,
40
,
19
,
1833
,
340
,
2281
,
186
,
/* 70 */
2281
,
186
,
1501
,
2276
,
619
,
2276
,
619
,
45
,
43
,
42
,
/* 80 */
41
,
40
,
2115
,
501
,
654
,
2151
,
502
,
1758
,
169
,
2117
,
/* 90 */
675
,
2119
,
2120
,
670
,
182
,
665
,
1520
,
758
,
36
,
298
,
/* 100 */
15
,
73
5
,
734
,
733
,
732
,
405
,
1931
,
731
,
730
,
144
,
/* 110 */
72
5
,
724
,
723
,
722
,
721
,
720
,
719
,
157
,
715
,
714
,
/* 120 */
71
3
,
404
,
403
,
710
,
709
,
708
,
175
,
174
,
594
,
2241
,
/* 130 */
509
,
654
,
1320
,
502
,
1758
,
123
,
1578
,
1579
,
122
,
12
1
,
/* 140 */
120
,
119
,
118
,
117
,
116
,
115
,
114
,
1311
,
697
,
696
,
/* 150 */
695
,
1315
,
694
,
1317
,
1318
,
693
,
690
,
179
,
1326
,
68
7
,
/* 160 */
1328
,
1329
,
684
,
681
,
49
,
640
,
1551
,
1561
,
654
,
2219
,
/* 170 */
6
55
,
1892
,
1577
,
1580
,
1720
,
39
,
38
,
360
,
1993
,
45
,
/* 180 */
43
,
42
,
41
,
40
,
1409
,
1410
,
1496
,
1523
,
1494
,
13
3
,
/* 190 */
655
,
1892
,
387
,
62
,
1715
,
2216
,
539
,
39
,
38
,
280
,
/* 200 */
165
,
45
,
43
,
42
,
41
,
40
,
39
,
38
,
1894
,
191
,
/* 210 */
45
,
43
,
42
,
41
,
40
,
1499
,
1500
,
1868
,
1550
,
1553
,
/* 220 */
155
4
,
1555
,
1556
,
1557
,
1558
,
1559
,
1560
,
667
,
663
,
1569
,
/* 230 */
157
0
,
1572
,
1573
,
1574
,
1575
,
2
,
46
,
44
,
1722
,
179
,
/* 240 */
62
,
343
,
93
,
1518
,
393
,
408
,
1495
,
62
,
49
,
407
,
/* 250 */
47
1
,
2116
,
2280
,
485
,
352
,
2275
,
484
,
1576
,
1989
,
1493
,
/* 260 */
1994
,
672
,
132
,
131
,
130
,
129
,
128
,
127
,
126
,
125
,
/* 270 */
124
,
2279
,
454
,
1522
,
486
,
2276
,
2278
,
456
,
432
,
396
,
/* 280 */
431
,
707
,
2280
,
1571
,
1275
,
2275
,
211
,
165
,
2134
,
19
,
/* 290 */
504
,
593
,
1765
,
1714
,
2275
,
1894
,
1501
,
1274
,
1605
,
1685
,
/* 300 */
2084
,
2279
,
671
,
196
,
2010
,
2276
,
2277
,
430
,
618
,
2281
,
/* 310 */
186
,
2275
,
518
,
2116
,
2276
,
619
,
386
,
621
,
66
,
2007
,
/* 320 */
642
,
758
,
361
,
672
,
15
,
1767
,
617
,
186
,
1264
,
655
,
/* 330 */
1892
,
2276
,
619
,
2115
,
444
,
257
,
2151
,
655
,
1892
,
110
,
/* 340 */
2
117
,
675
,
2119
,
2120
,
670
,
189
,
665
,
1521
,
133
,
143
,
/* 350 */
2134
,
150
,
2175
,
2204
,
1606
,
544
,
55
,
389
,
2200
,
487
,
/* 360 */
15
78
,
1579
,
2084
,
482
,
671
,
1266
,
476
,
475
,
474
,
473
,
/* 370 */
47
0
,
469
,
468
,
467
,
466
,
462
,
461
,
460
,
459
,
342
,
/* 380 */
45
1
,
450
,
449
,
613
,
446
,
445
,
359
,
1650
,
1520
,
1521
,
/* 390 */
155
1
,
1561
,
189
,
1520
,
545
,
2115
,
1577
,
1580
,
2151
,
189
,
/* 400 */
189
,
110
,
2117
,
675
,
2119
,
2120
,
670
,
707
,
665
,
119
1
,
/* 410 */
149
6
,
1190
,
1494
,
2295
,
62
,
2204
,
1262
,
630
,
140
,
389
,
/* 420 */
2200
,
279
,
50
,
608
,
641
,
630
,
140
,
1745
,
35
,
391
,
/* 430 */
160
0
,
1601
,
1602
,
1603
,
1604
,
1608
,
1609
,
1610
,
1611
,
1499
,
/* 440 */
150
0
,
1192
,
1550
,
1553
,
1554
,
1555
,
1556
,
1557
,
1558
,
1559
,
/* 450 */
156
0
,
667
,
663
,
1569
,
1570
,
1572
,
1573
,
1574
,
1575
,
2
,
/* 460 */
12
,
46
,
44
,
1354
,
1355
,
1495
,
402
,
401
,
62
,
393
,
/* 470 */
1279
,
1495
,
557
,
556
,
555
,
516
,
2084
,
2003
,
1493
,
547
,
/* 480 */
137
,
551
,
1576
,
1278
,
1493
,
550
,
2280
,
2116
,
32
,
1502
,
/* 490 */
549
,
554
,
368
,
367
,
39
,
38
,
548
,
672
,
45
,
43
,
/* 500 */
42
,
41
,
40
,
1522
,
1523
,
1426
,
1427
,
2116
,
1571
,
614
,
/* 510 */
609
,
602
,
1674
,
699
,
19
,
1501
,
1935
,
669
,
185
,
2212
,
/* 520 */
2213
,
1501
,
138
,
2217
,
2134
,
632
,
184
,
2212
,
2213
,
39
8
,
/* 530 */
1
38
,
2217
,
1937
,
1939
,
2051
,
1191
,
2084
,
1190
,
671
,
1552
,
/* 540 */
758
,
1425
,
1428
,
1519
,
2134
,
489
,
758
,
39
,
38
,
15
,
/* 550 */
228
,
45
,
43
,
42
,
41
,
40
,
2084
,
153
,
671
,
605
,
/* 560 */
604
,
1672
,
1673
,
1675
,
1676
,
1677
,
189
,
1192
,
166
,
2115
,
/* 570 */
1744
,
580
,
2151
,
318
,
189
,
170
,
2117
,
675
,
2119
,
2120
,
/* 580 */
670
,
246
,
665
,
28
,
1708
,
1578
,
1579
,
316
,
73
,
2115
,
/* 590 */
12
,
72
,
2151
,
2094
,
562
,
334
,
2117
,
675
,
2119
,
2120
,
/* 600 */
670
,
668
,
665
,
656
,
2169
,
655
,
1892
,
2102
,
107
,
572
,
/* 610 */
209
,
49
7
,
495
,
492
,
54
,
1551
,
1561
,
2098
,
612
,
2084
,
/* 620 */
189
,
1577
,
1580
,
242
,
438
,
141
,
620
,
2296
,
213
,
149
6
,
/* 630 */
478
,
1494
,
504
,
1884
,
1765
,
1496
,
1794
,
1494
,
165
,
565
,
/* 640 */
1
944
,
1944
,
1505
,
641
,
559
,
2134
,
1895
,
358
,
373
,
241
,
/* 650 */
62
,
279
,
195
,
2100
,
376
,
1942
,
1942
,
1501
,
1499
,
1500
,
/* 660 */
1169
,
289
,
290
,
665
,
1499
,
1500
,
288
,
1550
,
1553
,
1554
,
/* 670 */
155
5
,
1556
,
1557
,
1558
,
1559
,
1560
,
667
,
663
,
1569
,
1570
,
/* 680 */
157
2
,
1573
,
1574
,
1575
,
2
,
46
,
44
,
1581
,
109
,
70
,
/* 690 */
2
02
,
201
,
69
,
393
,
639
,
1495
,
2003
,
2116
,
611
,
1171
,
/* 700 */
1974
,
1174
,
1175
,
557
,
556
,
555
,
1576
,
633
,
1493
,
365
,
/* 710 */
547
,
137
,
551
,
477
,
641
,
698
,
550
,
618
,
655
,
1892
,
/* 720 */
2275
,
549
,
554
,
368
,
367
,
630
,
140
,
548
,
81
,
80
,
/* 730 */
43
7
,
1643
,
1571
,
193
,
2134
,
617
,
186
,
439
,
1938
,
1939
,
/* 740 */
2
276
,
619
,
717
,
244
,
1944
,
1501
,
2084
,
243
,
671
,
655
,
/* 750 */
1
892
,
383
,
14
,
13
,
341
,
655
,
1892
,
423
,
1877
,
1942
,
/* 760 */
42
1
,
417
,
413
,
410
,
430
,
650
,
1743
,
2003
,
448
,
194
4
,
/* 770 */
7
58
,
106
,
2077
,
47
,
463
,
366
,
388
,
364
,
363
,
2115
,
/* 780 */
541
,
103
,
2151
,
2116
,
1942
,
110
,
2117
,
675
,
2119
,
2120
,
/* 790 */
67
0
,
1944
,
665
,
672
,
1869
,
655
,
1892
,
183
,
397
,
2204
,
/* 800 */
101
,
543
,
189
,
389
,
2200
,
542
,
1942
,
90
,
347
,
1578
,
/* 810 */
15
79
,
372
,
87
,
573
,
464
,
2084
,
188
,
2078
,
593
,
1735
,
/* 820 */
2134
,
2275
,
553
,
552
,
2230
,
1885
,
277
,
2212
,
629
,
362
,
/* 830 */
134
,
628
,
2084
,
2275
,
671
,
1742
,
2281
,
186
,
1887
,
1551
,
/* 840 */
156
1
,
2276
,
619
,
630
,
140
,
1577
,
1580
,
245
,
617
,
186
,
/* 850 */
655
,
1892
,
1619
,
2276
,
619
,
458
,
1586
,
2219
,
12
,
1496
,
/* 860 */
10
,
1494
,
1520
,
593
,
457
,
2115
,
2275
,
1741
,
2151
,
517
,
/* 870 */
1879
,
111
,
2117
,
675
,
2119
,
2120
,
670
,
657
,
665
,
2176
,
/* 880 */
622
,
2281
,
186
,
2215
,
2084
,
2204
,
2276
,
619
,
1499
,
1500
,
/* 890 */
2201
,
1550
,
1553
,
1554
,
1555
,
1556
,
1557
,
1558
,
1559
,
1560
,
/* 900 */
66
7
,
663
,
1569
,
1570
,
1572
,
1573
,
1574
,
1575
,
2
,
46
,
/* 910 */
44
,
659
,
1523
,
2176
,
1468
,
1469
,
2084
,
393
,
427
,
1495
,
/* 920 */
52
,
2116
,
3
,
705
,
155
,
154
,
702
,
701
,
700
,
152
,
/* 930 */
157
6
,
633
,
1493
,
39
,
38
,
655
,
1892
,
45
,
43
,
42
,
/* 940 */
41
,
40
,
429
,
425
,
187
,
2212
,
2213
,
2116
,
138
,
2217
,
/* 950 */
198
,
1875
,
655
,
1892
,
1889
,
578
,
1571
,
672
,
2134
,
2238
,
/* 960 */
705
,
155
,
154
,
702
,
701
,
700
,
152
,
399
,
1520
,
1501
,
/* 970 */
208
4
,
247
,
671
,
655
,
1892
,
165
,
42
,
41
,
40
,
2219
,
/* 980 */
1642
,
39
,
38
,
1894
,
2134
,
45
,
43
,
42
,
41
,
40
,
/* 990 */
84
,
543
,
589
,
83
,
758
,
542
,
2084
,
47
,
671
,
655
,
/* 1000 */
1892
,
593
,
1740
,
2115
,
2275
,
2214
,
2151
,
2116
,
155
2
,
110
,
/* 1010 */
211
7
,
675
,
2119
,
2120
,
670
,
2067
,
665
,
672
,
634
,
228
1
,
/* 1020 */
186
,
183
,
9
,
2204
,
2276
,
619
,
1739
,
389
,
2200
,
2115
,
/* 1030 */
1867
,
87
,
2151
,
1578
,
1579
,
110
,
2117
,
675
,
2119
,
2120
,
/* 1040 */
67
0
,
2094
,
665
,
254
,
2134
,
1738
,
571
,
2295
,
2231
,
2204
,
/* 1050 */
1
46
,
2084
,
135
,
389
,
2200
,
1883
,
2084
,
1888
,
671
,
569
,
/* 1060 */
256
,
567
,
1989
,
1551
,
1561
,
2098
,
34
,
655
,
1892
,
1577
,
/* 1070 */
158
0
,
1607
,
39
,
38
,
1662
,
2084
,
45
,
43
,
42
,
41
,
/* 1080 */
40
,
729
,
727
,
1496
,
1896
,
1494
,
638
,
655
,
1892
,
2115
,
/* 1090 */
655
,
1892
,
2151
,
164
,
2084
,
169
,
2117
,
675
,
2119
,
2120
,
/* 1100 */
67
0
,
2100
,
665
,
1174
,
1175
,
312
,
293
,
200
,
1921
,
652
,
/* 1110 */
6
23
,
665
,
1499
,
1500
,
1552
,
1550
,
1553
,
1554
,
1555
,
1556
,
/* 1120 */
155
7
,
1558
,
1559
,
1560
,
667
,
663
,
1569
,
1570
,
1572
,
1573
,
/* 1130 */
157
4
,
1575
,
2
,
46
,
44
,
1737
,
2242
,
2116
,
655
,
1892
,
/* 1140 */
1
736
,
393
,
1733
,
1495
,
2094
,
33
,
1732
,
672
,
1731
,
2251
,
/* 1150 */
65
5
,
1892
,
655
,
1892
,
1576
,
1612
,
1493
,
653
,
2102
,
705
,
/* 1160 */
155
,
154
,
702
,
701
,
700
,
152
,
1730
,
142
,
2098
,
299
,
/* 1170 */
2175
,
400
,
2224
,
1639
,
2134
,
1944
,
703
,
1177
,
704
,
1935
,
/* 1180 */
157
1
,
1935
,
1729
,
1519
,
2084
,
2094
,
2084
,
1728
,
671
,
2084
,
/* 1190 */
1943
,
2084
,
2094
,
1501
,
1870
,
2084
,
625
,
2084
,
1727
,
2102
,
/* 1200 */
1726
,
1725
,
2070
,
251
,
2100
,
377
,
2103
,
718
,
234
,
209
8
,
/* 1210 */
1854
,
232
,
74
,
592
,
665
,
2084
,
2098
,
236
,
758
,
2115
,
/* 1220 */
235
,
15
,
2151
,
2116
,
422
,
110
,
2117
,
675
,
2119
,
2120
,
/* 1230 */
67
0
,
2084
,
665
,
672
,
1639
,
600
,
2084
,
2295
,
148
,
2204
,
/* 1240 */
153
,
441
,
546
,
389
,
2200
,
2100
,
390
,
2084
,
1781
,
2084
,
/* 1250 */
2
084
,
415
,
2100
,
238
,
442
,
665
,
237
,
1578
,
1579
,
1774
,
/* 1260 */
213
4
,
82
,
665
,
240
,
1260
,
153
,
239
,
1772
,
711
,
575
,
/* 1270 */
558
,
574
,
2084
,
662
,
671
,
64
,
255
,
64
,
261
,
1717
,
/* 1280 */
1718
,
560
,
14
,
13
,
666
,
2105
,
1834
,
1551
,
1561
,
563
,
/* 1290 */
1240
,
2244
,
274
,
1577
,
1580
,
227
,
268
,
1463
,
606
,
1832
,
/* 1300 */
1504
,
1503
,
712
,
1831
,
153
,
2115
,
48
,
1496
,
2151
,
1494
,
/* 1310 */
2
135
,
110
,
2117
,
675
,
2119
,
2120
,
670
,
286
,
665
,
91
,
/* 1320 */
71
,
151
,
1466
,
2295
,
1238
,
2204
,
406
,
64
,
48
,
389
,
/* 1330 */
220
0
,
1998
,
1671
,
53
,
1670
,
263
,
1499
,
1500
,
2107
,
1550
,
/* 1340 */
155
3
,
1554
,
1555
,
1556
,
1557
,
1558
,
1559
,
1560
,
667
,
663
,
/* 1350 */
15
69
,
1570
,
1572
,
1573
,
1574
,
1575
,
2
,
2116
,
402
,
401
,
/* 1360 */
1
221
,
637
,
153
,
1423
,
48
,
679
,
1768
,
672
,
1509
,
2269
,
/* 1370 */
151
,
1764
,
153
,
1759
,
291
,
1932
,
2234
,
647
,
295
,
1576
,
/* 1380 */
1
36
,
1502
,
631
,
2116
,
1613
,
1562
,
276
,
151
,
273
,
1
,
/* 1390 */
5
,
409
,
356
,
672
,
2134
,
2223
,
414
,
1222
,
1446
,
306
,
/* 1400 */
199
,
443
,
1523
,
1999
,
480
,
1571
,
2084
,
447
,
671
,
452
,
/* 1410 */
1518
,
490
,
465
,
1991
,
479
,
472
,
753
,
491
,
1501
,
1305
,
/* 1420 */
213
4
,
311
,
1332
,
1597
,
481
,
488
,
203
,
1336
,
626
,
1343
,
/* 1430 */
2116
,
204
,
2084
,
493
,
671
,
494
,
206
,
1341
,
496
,
2115
,
/* 1440 */
672
,
498
,
2151
,
661
,
156
,
110
,
2117
,
675
,
2119
,
2120
,
/* 1450 */
67
0
,
2116
,
665
,
1507
,
1506
,
1524
,
4
,
2295
,
499
,
2204
,
/* 1460 */
5
07
,
672
,
1526
,
389
,
2200
,
2115
,
500
,
2134
,
2151
,
508
,
/* 1470 */
510
,
110
,
2117
,
675
,
2119
,
2120
,
670
,
1521
,
665
,
2084
,
/* 1480 */
1525
,
671
,
214
,
2295
,
511
,
2204
,
512
,
216
,
2134
,
389
,
/* 1490 */
220
0
,
1527
,
513
,
1194
,
219
,
515
,
221
,
85
,
86
,
51
9
,
/* 1500 */
2084
,
536
,
671
,
225
,
538
,
537
,
112
,
346
,
540
,
1882
,
/* 1510 */
2
31
,
1878
,
2115
,
2060
,
577
,
2151
,
2057
,
2056
,
170
,
2117
,
/* 1520 */
675
,
2119
,
2120
,
670
,
579
,
665
,
233
,
89
,
149
,
307
,
/* 1530 */
158
,
159
,
1510
,
2115
,
1505
,
248
,
2151
,
1880
,
1876
,
110
,
/* 1540 */
21
17
,
675
,
2119
,
2120
,
670
,
160
,
665
,
161
,
583
,
252
,
/* 1550 */
582
,
2179
,
1453
,
2204
,
584
,
2116
,
597
,
389
,
2200
,
60
7
,
/* 1560 */
587
,
1513
,
1515
,
250
,
2250
,
672
,
590
,
645
,
259
,
588
,
/* 1570 */
2
297
,
2235
,
2245
,
603
,
663
,
1569
,
1570
,
1572
,
1573
,
1574
,
/* 1580 */
1575
,
262
,
2249
,
8
,
616
,
378
,
610
,
2226
,
598
,
596
,
/* 1590 */
595
,
267
,
2134
,
379
,
139
,
272
,
1639
,
2298
,
627
,
1522
,
/* 1600 */
6
24
,
2220
,
382
,
635
,
2084
,
269
,
671
,
1528
,
2004
,
308
,
/* 1610 */
643
,
281
,
96
,
309
,
644
,
648
,
98
,
2018
,
2017
,
201
6
,
/* 1620 */
649
,
2116
,
173
,
385
,
270
,
1893
,
271
,
100
,
61
,
102
,
/* 1630 */
2185
,
672
,
1936
,
313
,
1855
,
310
,
754
,
2115
,
302
,
755
,
/* 1640 */
2
151
,
757
,
348
,
110
,
2117
,
675
,
2119
,
2120
,
670
,
2116
,
/* 1650 */
665
,
2274
,
677
,
275
,
337
,
2177
,
51
,
2204
,
2134
,
672
,
/* 1660 */
322
,
389
,
2200
,
336
,
326
,
317
,
2076
,
2075
,
349
,
2074
,
/* 1670 */
20
84
,
315
,
671
,
78
,
2071
,
411
,
412
,
1486
,
1487
,
192
,
/* 1680 */
416
,
2116
,
2069
,
418
,
419
,
420
,
2134
,
2068
,
357
,
2066
,
/* 1690 */
424
,
672
,
426
,
2064
,
428
,
79
,
1449
,
1448
,
2084
,
2065
,
/* 1700 */
671
,
2030
,
2029
,
2115
,
2028
,
435
,
2151
,
436
,
2027
,
110
,
/* 1710 */
2117
,
675
,
2119
,
2120
,
670
,
2026
,
665
,
1982
,
2134
,
1400
,
/* 1720 */
19
81
,
658
,
1979
,
2204
,
1978
,
145
,
1977
,
389
,
2200
,
1980
,
/* 1730 */
2084
,
2115
,
671
,
1976
,
2151
,
1975
,
1973
,
111
,
2117
,
675
,
/* 1740 */
2119
,
2120
,
670
,
1972
,
665
,
1971
,
197
,
453
,
1970
,
455
,
/* 1750 */
19
84
,
2204
,
2116
,
1969
,
1968
,
2203
,
2200
,
483
,
147
,
1954
,
/* 1760 */
19
53
,
1952
,
672
,
2115
,
1967
,
1966
,
2151
,
1965
,
1964
,
111
,
/* 1770 */
21
17
,
675
,
2119
,
2120
,
670
,
1963
,
665
,
1962
,
1961
,
1960
,
/* 1780 */
2116
,
1959
,
1958
,
2204
,
1957
,
1956
,
1955
,
660
,
2200
,
213
4
,
/* 1790 */
672
,
1983
,
1951
,
1950
,
1402
,
1949
,
1948
,
1947
,
1946
,
2116
,
/* 1800 */
1945
,
2084
,
1276
,
671
,
344
,
1280
,
345
,
1797
,
205
,
669
,
/* 1810 */
1796
,
1272
,
1795
,
1793
,
207
,
2116
,
1754
,
2134
,
180
,
1176
,
/* 1820 */
2104
,
208
,
1753
,
2047
,
2037
,
672
,
76
,
2025
,
77
,
2084
,
/* 1830 */
210
,
671
,
2024
,
218
,
673
,
220
,
2134
,
2151
,
2002
,
1871
,
/* 1840 */
111
,
2117
,
675
,
2119
,
2120
,
670
,
181
,
665
,
2084
,
505
,
/* 1850 */
67
1
,
212
,
2134
,
1792
,
2204
,
1790
,
1214
,
384
,
351
,
2200
,
/* 1860 */
520
,
1788
,
2115
,
521
,
2084
,
2151
,
671
,
522
,
328
,
211
7
,
/* 1870 */
675
,
2119
,
2120
,
670
,
526
,
665
,
2116
,
524
,
525
,
1786
,
/* 1880 */
528
,
2115
,
529
,
530
,
2151
,
1784
,
672
,
334
,
2117
,
675
,
/* 1890 */
21
19
,
2120
,
670
,
532
,
665
,
533
,
2170
,
2115
,
581
,
2116
,
/* 1900 */
2151
,
534
,
1771
,
335
,
2117
,
675
,
2119
,
2120
,
670
,
672
,
/* 1910 */
665
,
615
,
1770
,
2134
,
1750
,
1873
,
761
,
63
,
392
,
1348
,
/* 1920 */
1347
,
1872
,
230
,
1263
,
1261
,
2084
,
1259
,
671
,
1258
,
1257
,
/* 1930 */
305
,
1256
,
1250
,
1782
,
1255
,
369
,
2134
,
561
,
1252
,
726
,
/* 1940 */
1251
,
394
,
1249
,
1775
,
728
,
370
,
178
,
1773
,
2084
,
371
,
/* 1950 */
6
71
,
564
,
751
,
747
,
743
,
739
,
303
,
566
,
2115
,
1749
,
/* 1960 */
1748
,
2151
,
1747
,
568
,
335
,
2117
,
675
,
2119
,
2120
,
670
,
/* 1970 */
570
,
665
,
113
,
1473
,
1475
,
1472
,
1477
,
27
,
2046
,
1455
,
/* 1980 */
67
,
2115
,
2036
,
1457
,
2151
,
56
,
585
,
335
,
2117
,
675
,
/* 1990 */
211
9
,
2120
,
670
,
2116
,
665
,
163
,
108
,
2023
,
586
,
296
,
/* 2000 */
2021
,
253
,
1459
,
672
,
375
,
2280
,
29
,
20
,
17
,
591
,
/* 2010 */
1687
,
258
,
59
,
6
,
7
,
599
,
601
,
60
,
265
,
260
,
/* 2020 */
1669
,
31
,
266
,
2105
,
171
,
2116
,
264
,
21
,
65
,
30
,
/* 2030 */
213
4
,
651
,
1661
,
1707
,
92
,
672
,
1708
,
22
,
1702
,
278
,
/* 2040 */
1701
,
380
,
2084
,
2116
,
671
,
1706
,
1705
,
381
,
176
,
2022
,
/* 2050 */
1636
,
1635
,
58
,
672
,
2020
,
2019
,
2001
,
18
,
94
,
95
,
/* 2060 */
284
,
646
,
2134
,
2000
,
103
,
97
,
283
,
23
,
57
,
29
7
,
/* 2070 */
285
,
282
,
1667
,
294
,
2084
,
576
,
671
,
24
,
2151
,
287
,
/* 2080 */
2134
,
330
,
2117
,
675
,
2119
,
2120
,
670
,
292
,
665
,
68
,
/* 2090 */
2116
,
249
,
2084
,
11
,
671
,
99
,
1588
,
1587
,
13
,
151
1
,
/* 2100 */
672
,
1543
,
1598
,
678
,
177
,
190
,
395
,
2115
,
1566
,
2154
,
/* 2110 */
2151
,
682
,
1325
,
319
,
2117
,
675
,
2119
,
2120
,
670
,
664
,
/* 2120 */
6
65
,
685
,
1564
,
37
,
16
,
2115
,
676
,
2134
,
2151
,
1563
,
/* 2130 */
25
,
320
,
2117
,
675
,
2119
,
2120
,
670
,
2116
,
665
,
2084
,
/* 2140 */
1
535
,
671
,
674
,
26
,
688
,
1333
,
680
,
672
,
1330
,
1327
,
/* 2150 */
683
,
686
,
691
,
1321
,
1319
,
300
,
1324
,
1323
,
1322
,
2116
,
/* 2160 */
6
89
,
692
,
104
,
1342
,
105
,
75
,
1338
,
1212
,
706
,
672
,
/* 2170 */
12
44
,
1243
,
2115
,
301
,
2134
,
2151
,
1242
,
1241
,
321
,
2117
,
/* 2180 */
675
,
2119
,
2120
,
670
,
2116
,
665
,
2084
,
1239
,
671
,
1237
,
/* 2190 */
1236
,
1235
,
1270
,
716
,
672
,
1233
,
2134
,
1232
,
1231
,
1230
,
/* 2200 */
1229
,
1228
,
1227
,
1267
,
1265
,
1224
,
2116
,
1223
,
2084
,
1220
,
/* 2210 */
671
,
1219
,
1218
,
1217
,
1789
,
736
,
672
,
737
,
738
,
2115
,
/* 2220 */
17
87
,
2134
,
2151
,
740
,
741
,
327
,
2117
,
675
,
2119
,
2120
,
/* 2230 */
670
,
742
,
665
,
2084
,
1785
,
671
,
744
,
746
,
745
,
178
3
,
/* 2240 */
748
,
2115
,
749
,
2134
,
2151
,
750
,
1769
,
331
,
2117
,
675
,
/* 2250 */
2119
,
2120
,
670
,
752
,
665
,
2084
,
1166
,
671
,
304
,
756
,
/* 2260 */
172
1
,
1721
,
1497
,
314
,
759
,
760
,
2115
,
1746
,
1721
,
2151
,
/* 2270 */
2
116
,
1721
,
323
,
2117
,
675
,
2119
,
2120
,
670
,
1721
,
665
,
/* 2280 */
672
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
2115
,
1721
,
/* 2290 */
2116
,
2151
,
1721
,
1721
,
332
,
2117
,
675
,
2119
,
2120
,
670
,
/* 2300 */
672
,
665
,
1721
,
1721
,
1721
,
2116
,
1721
,
2134
,
1721
,
1721
,
/* 2310 */
1721
,
1721
,
1721
,
1721
,
1721
,
672
,
1721
,
1721
,
1721
,
2084
,
/* 2320 */
1721
,
671
,
1721
,
1721
,
1721
,
1721
,
1721
,
2134
,
1721
,
1721
,
/* 2330 */
172
1
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
2116
,
1721
,
2084
,
/* 2340 */
1721
,
671
,
2134
,
1721
,
1721
,
1721
,
1721
,
672
,
1721
,
1721
,
/* 2350 */
172
1
,
1721
,
2115
,
1721
,
2084
,
2151
,
671
,
1721
,
324
,
2117
,
/* 2360 */
675
,
2119
,
2120
,
670
,
1721
,
665
,
1721
,
1721
,
1721
,
1721
,
/* 2370 */
172
1
,
1721
,
2115
,
1721
,
2134
,
2151
,
1721
,
1721
,
333
,
2117
,
/* 2380 */
675
,
2119
,
2120
,
670
,
1721
,
665
,
2084
,
2115
,
671
,
1721
,
/* 2390 */
21
51
,
1721
,
1721
,
325
,
2117
,
675
,
2119
,
2120
,
670
,
1721
,
/* 2400 */
665
,
1721
,
1721
,
1721
,
1721
,
2116
,
1721
,
1721
,
1721
,
17
21
,
/* 2410 */
1721
,
1721
,
1721
,
1721
,
1721
,
672
,
1721
,
1721
,
1721
,
2115
,
/* 2420 */
1721
,
1721
,
2151
,
1721
,
2116
,
338
,
2117
,
675
,
2119
,
2120
,
/* 2430 */
67
0
,
1721
,
665
,
1721
,
672
,
1721
,
1721
,
1721
,
1721
,
1721
,
/* 2440 */
172
1
,
1721
,
2134
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
/* 2450 */
172
1
,
1721
,
2116
,
1721
,
2084
,
1721
,
671
,
1721
,
1721
,
17
21
,
/* 2460 */
1721
,
2134
,
672
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
/* 2470 */
172
1
,
2116
,
1721
,
2084
,
1721
,
671
,
1721
,
1721
,
1721
,
1721
,
/* 2480 */
172
1
,
672
,
1721
,
1721
,
1721
,
1721
,
1721
,
2115
,
1721
,
2134
,
/* 2490 */
2151
,
1721
,
1721
,
339
,
2117
,
675
,
2119
,
2120
,
670
,
1721
,
/* 2500 */
665
,
2084
,
1721
,
671
,
1721
,
1721
,
2115
,
1721
,
2134
,
2151
,
/* 2510 */
172
1
,
1721
,
2128
,
2117
,
675
,
2119
,
2120
,
670
,
2116
,
665
,
/* 2520 */
2
084
,
1721
,
671
,
1721
,
1721
,
1721
,
1721
,
1721
,
672
,
1721
,
/* 2530 */
172
1
,
1721
,
1721
,
1721
,
2115
,
1721
,
1721
,
2151
,
1721
,
1721
,
/* 2540 */
2127
,
2117
,
675
,
2119
,
2120
,
670
,
1721
,
665
,
1721
,
1721
,
/* 2550 */
172
1
,
1721
,
1721
,
2115
,
1721
,
2134
,
2151
,
1721
,
1721
,
2126
,
/* 2560 */
2117
,
675
,
2119
,
2120
,
670
,
1721
,
665
,
2084
,
1721
,
671
,
/* 2570 */
172
1
,
1721
,
1721
,
1721
,
1721
,
2116
,
1721
,
1721
,
1721
,
1721
,
/* 2580 */
172
1
,
1721
,
1721
,
1721
,
1721
,
672
,
1721
,
1721
,
1721
,
1721
,
/* 2590 */
172
1
,
2116
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
/* 2600 */
2115
,
672
,
1721
,
2151
,
1721
,
1721
,
353
,
2117
,
675
,
2119
,
/* 2610 */
212
0
,
670
,
2134
,
665
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
/* 2620 */
172
1
,
1721
,
1721
,
1721
,
2084
,
1721
,
671
,
1721
,
2134
,
1721
,
/* 2630 */
172
1
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
/* 2640 */
2
084
,
2116
,
671
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
/* 2650 */
172
1
,
672
,
1721
,
1721
,
1721
,
1721
,
1721
,
2115
,
1721
,
1721
,
/* 2660 */
2151
,
2116
,
1721
,
354
,
2117
,
675
,
2119
,
2120
,
670
,
1721
,
/* 2670 */
665
,
672
,
1721
,
2115
,
1721
,
1721
,
2151
,
1721
,
2134
,
350
,
/* 2680 */
2117
,
675
,
2119
,
2120
,
670
,
1721
,
665
,
1721
,
1721
,
1721
,
/* 2690 */
2084
,
1721
,
671
,
1721
,
1721
,
1721
,
1721
,
1721
,
2134
,
1721
,
/* 2700 */
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
2116
,
1721
,
/* 2710 */
2084
,
1721
,
671
,
1721
,
1721
,
1721
,
1721
,
1721
,
672
,
1721
,
/* 2720 */
172
1
,
1721
,
1721
,
2115
,
1721
,
1721
,
2151
,
1721
,
1721
,
355
,
/* 2730 */
2
117
,
675
,
2119
,
2120
,
670
,
1721
,
665
,
1721
,
1721
,
1721
,
/* 2740 */
172
1
,
1721
,
229
,
673
,
1721
,
2134
,
2151
,
1721
,
1721
,
330
,
/* 2750 */
2117
,
675
,
2119
,
2120
,
670
,
1721
,
665
,
2084
,
172
,
671
,
/* 2760 */
172
1
,
1721
,
1721
,
1721
,
535
,
531
,
527
,
523
,
226
,
1721
,
/* 2770 */
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
/* 2780 */
172
1
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
/* 2790 */
2115
,
1721
,
1721
,
2151
,
1721
,
1721
,
329
,
2117
,
675
,
2119
,
/* 2800 */
2120
,
670
,
1721
,
665
,
1721
,
1721
,
1721
,
1721
,
88
,
1721
,
/* 2810 */
172
1
,
224
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
/* 2820 */
172
1
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
17
21
,
/* 2830 */
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
/* 2840 */
172
1
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
/* 2850 */
172
1
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
/* 2860 */
172
1
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
/* 2870 */
172
1
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
223
,
217
,
/* 2880 */
172
1
,
1721
,
1721
,
222
,
1721
,
514
,
1721
,
1721
,
1721
,
1721
,
/* 2890 */
172
1
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
/* 2900 */
172
1
,
1721
,
1721
,
215
,
/* 0 */
503
,
2118
,
2282
,
504
,
1760
,
2277
,
36
,
300
,
1883
,
442
,
/* 10 */
66
,
674
,
46
,
44
,
1648
,
45
,
43
,
42
,
41
,
40
,
/* 20 */
39
5
,
2281
,
1497
,
39
,
38
,
2278
,
2280
,
45
,
43
,
42
,
/* 30 */
4
1
,
40
,
1976
,
1578
,
1793
,
1495
,
657
,
1894
,
2136
,
39
,
/* 40 */
38
,
632
,
140
,
45
,
43
,
42
,
41
,
40
,
657
,
189
4
,
/* 50 */
2086
,
1724
,
673
,
342
,
2012
,
191
,
39
,
38
,
573
,
1573
,
/* 60 */
45
,
43
,
42
,
41
,
40
,
19
,
388
,
133
,
520
,
2009
,
/* 70 */
644
,
571
,
1503
,
569
,
541
,
132
,
131
,
130
,
129
,
128
,
/* 80 */
127
,
126
,
125
,
124
,
2117
,
168
,
2153
,
1736
,
198
,
170
,
/* 90 */
2119
,
677
,
2121
,
2122
,
672
,
511
,
667
,
760
,
504
,
1760
,
/* 100 */
15
,
73
7
,
736
,
735
,
734
,
407
,
62
,
733
,
732
,
144
,
/* 110 */
72
7
,
726
,
725
,
724
,
723
,
722
,
721
,
157
,
717
,
716
,
/* 120 */
71
5
,
406
,
405
,
712
,
711
,
710
,
175
,
174
,
84
,
404
,
/* 130 */
403
,
83
,
1687
,
656
,
709
,
1722
,
1580
,
1581
,
1946
,
151
1
,
/* 140 */
622
,
2298
,
278
,
2214
,
631
,
375
,
134
,
630
,
1522
,
2277
,
/* 150 */
1578
,
123
,
1504
,
1944
,
122
,
121
,
120
,
119
,
118
,
11
7
,
/* 160 */
116
,
115
,
114
,
2012
,
619
,
186
,
1553
,
1563
,
1946
,
2278
,
/* 170 */
6
21
,
2282
,
1579
,
1582
,
2277
,
360
,
1573
,
400
,
2010
,
644
,
/* 180 */
1939
,
1941
,
656
,
1944
,
398
,
1522
,
1498
,
460
,
1496
,
150
3
,
/* 190 */
2281
,
87
,
162
,
1717
,
2278
,
2279
,
459
,
39
,
38
,
376
,
/* 200 */
1896
,
45
,
43
,
42
,
41
,
40
,
410
,
1944
,
364
,
582
,
/* 210 */
1522
,
409
,
62
,
49
,
663
,
1501
,
1502
,
1889
,
1552
,
1555
,
/* 220 */
155
6
,
1557
,
1558
,
1559
,
1560
,
1561
,
1562
,
669
,
665
,
1571
,
/* 230 */
157
2
,
1574
,
1575
,
1576
,
1577
,
2
,
46
,
44
,
632
,
140
,
/* 240 */
1171
,
345
,
1523
,
1520
,
395
,
620
,
1497
,
480
,
2277
,
12
,
/* 250 */
47
3
,
10
,
595
,
487
,
354
,
2277
,
486
,
1578
,
189
,
1495
,
/* 260 */
443
,
508
,
229
,
619
,
186
,
62
,
2096
,
505
,
2278
,
621
,
/* 270 */
2283
,
186
,
456
,
444
,
488
,
2278
,
621
,
458
,
172
,
1173
,
/* 280 */
2104
,
1176
,
1177
,
1573
,
537
,
533
,
529
,
525
,
226
,
19
,
/* 290 */
2100
,
1523
,
1716
,
559
,
558
,
557
,
1503
,
1193
,
1607
,
1192
,
/* 300 */
549
,
137
,
553
,
1512
,
1747
,
1507
,
552
,
202
,
201
,
14
,
/* 310 */
13
,
551
,
556
,
370
,
369
,
50
,
642
,
550
,
2282
,
404
,
/* 320 */
403
,
760
,
363
,
615
,
15
,
182
,
2102
,
378
,
88
,
1194
,
/* 330 */
479
,
224
,
1515
,
1517
,
446
,
1524
,
667
,
1933
,
634
,
184
,
/* 340 */
2
214
,
2215
,
1504
,
138
,
2219
,
665
,
1571
,
1572
,
1574
,
1575
,
/* 350 */
1576
,
1577
,
664
,
2086
,
1608
,
1746
,
1411
,
1412
,
1428
,
1429
,
/* 360 */
15
80
,
1581
,
179
,
484
,
189
,
189
,
478
,
477
,
476
,
475
,
/* 370 */
47
2
,
471
,
470
,
469
,
468
,
464
,
463
,
462
,
461
,
344
,
/* 380 */
45
3
,
452
,
451
,
1996
,
448
,
447
,
361
,
657
,
1894
,
1277
,
/* 390 */
155
3
,
1563
,
657
,
1894
,
1427
,
1430
,
1579
,
1582
,
223
,
217
,
/* 400 */
2221
,
610
,
1276
,
222
,
2086
,
516
,
133
,
1356
,
1357
,
162
1
,
/* 410 */
149
8
,
55
,
1496
,
546
,
39
,
38
,
1710
,
189
,
45
,
43
,
/* 420 */
42
,
41
,
40
,
215
,
1796
,
1871
,
2218
,
1676
,
35
,
393
,
/* 430 */
160
2
,
1603
,
1604
,
1605
,
1606
,
1610
,
1611
,
1612
,
1613
,
1501
,
/* 440 */
150
2
,
1745
,
1552
,
1555
,
1556
,
1557
,
1558
,
1559
,
1560
,
1561
,
/* 450 */
156
2
,
669
,
665
,
1571
,
1572
,
1574
,
1575
,
1576
,
1577
,
2
,
/* 460 */
12
,
46
,
44
,
2107
,
489
,
167
,
1652
,
189
,
1497
,
395
,
/* 470 */
367
,
1497
,
1522
,
1835
,
607
,
606
,
1674
,
1675
,
1677
,
1678
,
/* 480 */
1679
,
1495
,
1578
,
280
,
1495
,
179
,
2118
,
616
,
611
,
604
,
/* 490 */
2086
,
559
,
558
,
557
,
643
,
1507
,
671
,
1588
,
549
,
137
,
/* 500 */
553
,
1725
,
1599
,
1522
,
552
,
362
,
1995
,
1664
,
1573
,
551
,
/* 510 */
556
,
370
,
369
,
211
,
19
,
550
,
2109
,
506
,
1503
,
1767
,
/* 520 */
1870
,
1503
,
123
,
2136
,
2053
,
122
,
121
,
120
,
119
,
11
8
,
/* 530 */
1
17
,
116
,
115
,
114
,
614
,
2086
,
368
,
673
,
366
,
365
,
/* 540 */
429
,
543
,
1524
,
760
,
213
,
518
,
760
,
2005
,
506
,
15
,
/* 550 */
1767
,
657
,
1894
,
2118
,
707
,
155
,
154
,
704
,
703
,
702
,
/* 560 */
152
,
2136
,
545
,
674
,
431
,
427
,
544
,
656
,
166
,
2117
,
/* 570 */
247
,
2153
,
246
,
320
,
336
,
2119
,
677
,
2121
,
2122
,
672
,
/* 580 */
670
,
667
,
658
,
2171
,
709
,
1580
,
1581
,
318
,
73
,
2281
,
/* 590 */
2136
,
72
,
39
,
38
,
1940
,
1941
,
45
,
43
,
42
,
41
,
/* 600 */
40
,
389
,
2086
,
1521
,
673
,
101
,
42
,
41
,
40
,
165
,
/* 610 */
209
,
49
9
,
497
,
494
,
613
,
1553
,
1563
,
1896
,
1554
,
39
,
/* 620 */
38
,
1579
,
1582
,
45
,
43
,
42
,
41
,
40
,
28
,
126
6
,
/* 630 */
1887
,
1525
,
1498
,
12
,
1496
,
1498
,
2117
,
1496
,
2153
,
657
,
/* 640 */
1
894
,
110
,
2119
,
677
,
2121
,
2122
,
672
,
49
,
667
,
1554
,
/* 650 */
62
,
143
,
436
,
150
,
2177
,
2206
,
700
,
435
,
440
,
391
,
/* 660 */
2202
,
1501
,
1502
,
1879
,
1501
,
1502
,
1268
,
1552
,
1555
,
1556
,
/* 670 */
155
7
,
1558
,
1559
,
1560
,
1561
,
1562
,
669
,
665
,
1571
,
1572
,
/* 680 */
157
4
,
1575
,
1576
,
1577
,
2
,
46
,
44
,
1583
,
109
,
1946
,
/* 690 */
2
80
,
643
,
1281
,
395
,
87
,
1497
,
385
,
2118
,
595
,
142
,
/* 700 */
620
,
2277
,
2177
,
2277
,
1944
,
1280
,
1578
,
635
,
1495
,
707
,
/* 710 */
155
,
154
,
704
,
703
,
702
,
152
,
2283
,
186
,
619
,
186
,
/* 720 */
1890
,
2278
,
621
,
2278
,
621
,
282
,
555
,
554
,
81
,
80
,
/* 730 */
43
9
,
1503
,
1573
,
193
,
2136
,
2096
,
1946
,
1193
,
659
,
1192
,
/* 740 */
2
178
,
2096
,
641
,
390
,
2005
,
1503
,
2086
,
701
,
673
,
2104
,
/* 750 */
1
937
,
1944
,
228
,
1991
,
343
,
1885
,
1946
,
425
,
2221
,
2100
,
/* 760 */
42
3
,
419
,
415
,
412
,
432
,
2100
,
62
,
491
,
93
,
119
4
,
/* 770 */
7
60
,
1945
,
643
,
47
,
2221
,
398
,
291
,
292
,
1744
,
258
,
/* 780 */
2117
,
290
,
2153
,
165
,
2217
,
110
,
2119
,
677
,
2121
,
2122
,
/* 790 */
67
2
,
1896
,
667
,
1869
,
1223
,
2102
,
379
,
183
,
194
,
2206
,
/* 800 */
2216
,
2102
,
189
,
391
,
2202
,
667
,
1743
,
32
,
1742
,
1580
,
/* 810 */
15
81
,
667
,
8
,
39
,
38
,
1741
,
188
,
45
,
43
,
42
,
/* 820 */
41
,
40
,
34
,
652
,
2232
,
2005
,
545
,
2086
,
39
,
38
,
/* 830 */
544
,
1224
,
45
,
43
,
42
,
41
,
40
,
657
,
1894
,
1553
,
/* 840 */
156
3
,
657
,
1894
,
39
,
38
,
1579
,
1582
,
45
,
43
,
42
,
/* 850 */
41
,
40
,
1322
,
731
,
729
,
2086
,
519
,
2086
,
623
,
1498
,
/* 860 */
441
,
1496
,
2226
,
1641
,
2086
,
657
,
1894
,
1313
,
699
,
698
,
/* 870 */
697
,
1317
,
696
,
1319
,
1320
,
695
,
692
,
1609
,
1328
,
689
,
/* 880 */
1330
,
1331
,
686
,
683
,
450
,
2069
,
632
,
140
,
1501
,
1502
,
/* 890 */
1740
,
1552
,
1555
,
1556
,
1557
,
1558
,
1559
,
1560
,
1561
,
1562
,
/* 900 */
66
9
,
665
,
1571
,
1572
,
1574
,
1575
,
1576
,
1577
,
2
,
46
,
/* 910 */
44
,
245
,
107
,
1176
,
1177
,
62
,
638
,
395
,
189
,
1497
,
/* 920 */
719
,
2118
,
707
,
155
,
154
,
704
,
703
,
702
,
152
,
141
,
/* 930 */
157
8
,
635
,
1495
,
657
,
1894
,
657
,
1894
,
1886
,
661
,
2086
,
/* 940 */
2178
,
657
,
1894
,
1179
,
1881
,
657
,
1894
,
2118
,
1946
,
1521
,
/* 950 */
1739
,
33
,
465
,
1645
,
466
,
399
,
1573
,
674
,
2136
,
1769
,
/* 960 */
1891
,
1614
,
595
,
1944
,
255
,
2277
,
1525
,
1877
,
165
,
1503
,
/* 970 */
208
6
,
1738
,
673
,
1735
,
632
,
140
,
1897
,
1734
,
1470
,
1471
,
/* 980 */
2283
,
186
,
1733
,
627
,
2136
,
2278
,
621
,
185
,
2214
,
2215
,
/* 990 */
314
,
138
,
2219
,
1923
,
760
,
1898
,
2086
,
47
,
673
,
2086
,
/* 1000 */
434
,
2096
,
433
,
164
,
2117
,
1991
,
2153
,
2118
,
173
2
,
110
,
/* 1010 */
211
9
,
677
,
2121
,
2122
,
672
,
2104
,
667
,
674
,
1525
,
173
1
,
/* 1020 */
2086
,
183
,
2086
,
2206
,
1641
,
2100
,
2086
,
391
,
2202
,
432
,
/* 1030 */
2117
,
2086
,
2153
,
1580
,
1581
,
110
,
2119
,
677
,
2121
,
2122
,
/* 1040 */
67
2
,
244
,
667
,
401
,
2136
,
243
,
1522
,
2297
,
2233
,
2206
,
/* 1050 */
1
96
,
165
,
1730
,
391
,
2202
,
1729
,
2086
,
2086
,
673
,
1896
,
/* 1060 */
547
,
2102
,
392
,
1553
,
1563
,
657
,
1894
,
189
,
2086
,
1579
,
/* 1070 */
158
2
,
667
,
657
,
1894
,
624
,
187
,
2214
,
2215
,
705
,
138
,
/* 1080 */
2219
,
1937
,
1264
,
1498
,
281
,
1496
,
1719
,
1720
,
657
,
1894
,
/* 1090 */
2117
,
640
,
2153
,
1728
,
424
,
169
,
2119
,
677
,
2121
,
2122
,
/* 1100 */
67
2
,
2086
,
667
,
251
,
2086
,
90
,
349
,
295
,
1991
,
374
,
/* 1110 */
6
68
,
575
,
1501
,
1502
,
195
,
1552
,
1555
,
1556
,
1557
,
1558
,
/* 1120 */
155
9
,
1560
,
1561
,
1562
,
669
,
665
,
1571
,
1572
,
1574
,
1575
,
/* 1130 */
157
6
,
1577
,
2
,
46
,
44
,
596
,
2243
,
2118
,
2096
,
657
,
/* 1140 */
1
894
,
395
,
2086
,
1497
,
657
,
1894
,
2072
,
674
,
74
,
2253
,
/* 1150 */
65
7
,
1894
,
2105
,
200
,
1578
,
1727
,
1495
,
153
,
654
,
657
,
/* 1160 */
1894
,
564
,
2100
,
655
,
706
,
1872
,
257
,
1937
,
720
,
301
,
/* 1170 */
52
,
1856
,
3
,
146
,
2136
,
135
,
574
,
577
,
402
,
576
,
/* 1180 */
157
3
,
234
,
236
,
548
,
232
,
235
,
2086
,
1836
,
673
,
153
,
/* 1190 */
242
,
1783
,
1554
,
1503
,
153
,
417
,
64
,
82
,
2102
,
2079
,
/* 1200 */
238
,
2080
,
1644
,
237
,
2086
,
1262
,
567
,
240
,
667
,
14
8
,
/* 1210 */
239
,
561
,
1776
,
560
,
54
,
628
,
241
,
1506
,
760
,
1774
,
/* 1220 */
2117
,
15
,
2153
,
2118
,
64
,
110
,
2119
,
677
,
2121
,
2122
,
/* 1230 */
67
2
,
580
,
667
,
674
,
562
,
602
,
256
,
2297
,
594
,
2206
,
/* 1240 */
262
,
565
,
153
,
391
,
2202
,
595
,
1465
,
595
,
2277
,
1505
,
/* 1250 */
2
277
,
1468
,
1770
,
1673
,
254
,
1737
,
70
,
1580
,
1581
,
69
,
/* 1260 */
213
6
,
14
,
13
,
2283
,
186
,
2283
,
186
,
48
,
2278
,
621
,
/* 1270 */
2278
,
621
,
2086
,
106
,
673
,
288
,
71
,
595
,
151
,
91
,
/* 1280 */
2277
,
1672
,
608
,
103
,
2246
,
1834
,
275
,
1553
,
1563
,
227
,
/* 1290 */
269
,
1833
,
2137
,
1579
,
1582
,
2283
,
186
,
264
,
408
,
639
,
/* 1300 */
2278
,
621
,
755
,
153
,
625
,
64
,
2117
,
1498
,
2153
,
1496
,
/* 1310 */
2
000
,
110
,
2119
,
677
,
2121
,
2122
,
672
,
48
,
667
,
48
,
/* 1320 */
681
,
151
,
153
,
2297
,
1425
,
2206
,
1761
,
1766
,
1934
,
391
,
/* 1330 */
220
2
,
633
,
293
,
649
,
2236
,
297
,
1501
,
1502
,
277
,
1552
,
/* 1340 */
155
5
,
1556
,
1557
,
1558
,
1559
,
1560
,
1561
,
1562
,
669
,
665
,
/* 1350 */
15
71
,
1572
,
1574
,
1575
,
1576
,
1577
,
2
,
2118
,
53
,
136
,
/* 1360 */
1
307
,
274
,
1615
,
713
,
151
,
1
,
714
,
674
,
9
,
2271
,
/* 1370 */
1509
,
411
,
416
,
358
,
1564
,
308
,
313
,
1334
,
1338
,
1345
,
/* 1380 */
1
99
,
1448
,
445
,
2118
,
1525
,
1242
,
2001
,
482
,
1240
,
449
,
/* 1390 */
454
,
1520
,
481
,
674
,
2136
,
2225
,
467
,
1993
,
474
,
483
,
/* 1400 */
492
,
490
,
1508
,
493
,
203
,
204
,
2086
,
495
,
673
,
496
,
/* 1410 */
206
,
498
,
500
,
1526
,
501
,
4
,
1343
,
509
,
1528
,
502
,
/* 1420 */
213
6
,
156
,
510
,
214
,
512
,
1523
,
513
,
1527
,
514
,
1529
,
/* 1430 */
515
,
216
,
2086
,
517
,
673
,
219
,
221
,
85
,
86
,
521
,
/* 1440 */
2117
,
225
,
2153
,
1196
,
540
,
110
,
2119
,
677
,
2121
,
2122
,
/* 1450 */
67
2
,
538
,
667
,
539
,
2062
,
2118
,
2059
,
2297
,
2058
,
2206
,
/* 1460 */
5
42
,
112
,
1884
,
391
,
2202
,
674
,
2117
,
2240
,
2153
,
231
,
/* 1470 */
1880
,
110
,
2119
,
677
,
2121
,
2122
,
672
,
233
,
667
,
348
,
/* 1480 */
158
,
2118
,
159
,
2297
,
579
,
2206
,
1882
,
1878
,
160
,
391
,
/* 1490 */
220
2
,
674
,
2136
,
161
,
89
,
248
,
585
,
584
,
1455
,
58
9
,
/* 1500 */
592
,
252
,
609
,
2237
,
2086
,
586
,
673
,
149
,
581
,
309
,
/* 1510 */
2
50
,
599
,
2252
,
590
,
2118
,
647
,
2247
,
605
,
2136
,
380
,
/* 1520 */
2251
,
612
,
591
,
260
,
674
,
7
,
2228
,
263
,
618
,
268
,
/* 1530 */
2086
,
173
,
673
,
600
,
598
,
597
,
273
,
2300
,
2117
,
626
,
/* 1540 */
21
53
,
381
,
629
,
110
,
2119
,
677
,
2121
,
2122
,
672
,
1641
,
/* 1550 */
667
,
2136
,
139
,
1524
,
384
,
2297
,
271
,
2206
,
2222
,
63
7
,
/* 1560 */
1530
,
391
,
2202
,
2086
,
2117
,
673
,
2153
,
2006
,
636
,
110
,
/* 1570 */
2
119
,
677
,
2121
,
2122
,
672
,
283
,
667
,
2276
,
96
,
312
,
/* 1580 */
270
,
2181
,
310
,
2206
,
645
,
272
,
646
,
391
,
2202
,
2020
,
/* 1590 */
2019
,
2118
,
311
,
2018
,
650
,
276
,
98
,
2117
,
387
,
2153
,
/* 1600 */
6
51
,
674
,
110
,
2119
,
677
,
2121
,
2122
,
672
,
61
,
667
,
/* 1610 */
102
,
1895
,
2187
,
100
,
2179
,
1938
,
2206
,
679
,
304
,
75
6
,
/* 1620 */
391
,
2202
,
2118
,
757
,
315
,
759
,
51
,
339
,
2136
,
1857
,
/* 1630 */
319
,
2078
,
674
,
350
,
351
,
324
,
338
,
317
,
328
,
2077
,
/* 1640 */
2
086
,
2076
,
673
,
78
,
2073
,
413
,
414
,
1488
,
1489
,
192
,
/* 1650 */
2118
,
418
,
2071
,
420
,
421
,
422
,
2070
,
359
,
2068
,
2136
,
/* 1660 */
674
,
426
,
2067
,
2066
,
428
,
430
,
79
,
1451
,
1450
,
2032
,
/* 1670 */
20
31
,
2086
,
2030
,
673
,
2117
,
437
,
2153
,
438
,
2029
,
110
,
/* 1680 */
2119
,
677
,
2121
,
2122
,
672
,
2118
,
667
,
2136
,
2028
,
1984
,
/* 1690 */
1402
,
660
,
1983
,
2206
,
1981
,
674
,
145
,
391
,
2202
,
2086
,
/* 1700 */
1980
,
673
,
1979
,
1982
,
1978
,
2117
,
1977
,
2153
,
1975
,
1974
,
/* 1710 */
111
,
2119
,
677
,
2121
,
2122
,
672
,
1973
,
667
,
455
,
197
,
/* 1720 */
19
72
,
457
,
2136
,
1986
,
2206
,
1971
,
1970
,
1969
,
2205
,
2202
,
/* 1730 */
1968
,
1967
,
1966
,
2117
,
2086
,
2153
,
673
,
1965
,
111
,
2119
,
/* 1740 */
677
,
2121
,
2122
,
672
,
1964
,
667
,
1963
,
1962
,
1961
,
1960
,
/* 1750 */
19
59
,
1958
,
2206
,
1957
,
147
,
1956
,
662
,
2202
,
1955
,
1954
,
/* 1760 */
19
85
,
1953
,
1952
,
1404
,
1951
,
1950
,
1949
,
485
,
675
,
346
,
/* 1770 */
21
53
,
1948
,
1947
,
111
,
2119
,
677
,
2121
,
2122
,
672
,
2118
,
/* 1780 */
667
,
347
,
1799
,
205
,
1798
,
1278
,
1797
,
2206
,
207
,
67
4
,
/* 1790 */
1282
,
353
,
2202
,
1795
,
208
,
1756
,
210
,
1178
,
1755
,
2118
,
/* 1800 */
180
,
2049
,
1274
,
2039
,
2106
,
2027
,
220
,
2026
,
2004
,
674
,
/* 1810 */
2118
,
1873
,
76
,
1794
,
1792
,
212
,
2136
,
181
,
77
,
218
,
/* 1820 */
674
,
507
,
522
,
1790
,
524
,
526
,
523
,
527
,
2086
,
1788
,
/* 1830 */
673
,
528
,
530
,
532
,
1786
,
534
,
2136
,
531
,
535
,
1773
,
/* 1840 */
1772
,
536
,
1216
,
1752
,
1875
,
63
,
230
,
2136
,
2086
,
1349
,
/* 1850 */
67
3
,
1350
,
1874
,
1265
,
1263
,
1261
,
1260
,
1259
,
1252
,
2086
,
/* 1860 */
1258
,
673
,
2117
,
1257
,
2153
,
1254
,
1784
,
111
,
2119
,
67
7
,
/* 1870 */
2121
,
2122
,
672
,
1253
,
667
,
371
,
728
,
730
,
1777
,
372
,
/* 1880 */
1251
,
2206
,
2117
,
1775
,
2153
,
373
,
2203
,
169
,
2119
,
677
,
/* 1890 */
21
21
,
2122
,
672
,
2117
,
667
,
2153
,
2118
,
563
,
330
,
2119
,
/* 1900 */
677
,
2121
,
2122
,
672
,
566
,
667
,
674
,
2118
,
1751
,
568
,
/* 1910 */
1750
,
570
,
1749
,
572
,
113
,
1475
,
1477
,
674
,
1479
,
1474
,
/* 1920 */
2048
,
1461
,
2118
,
1459
,
27
,
1457
,
67
,
2038
,
2244
,
163
,
/* 1930 */
2025
,
587
,
671
,
2136
,
2023
,
2282
,
20
,
17
,
1689
,
601
,
/* 1940 */
59
,
617
,
29
,
5
,
2136
,
2086
,
6
,
673
,
259
,
386
,
/* 1950 */
6
03
,
253
,
261
,
267
,
2107
,
60
,
2086
,
1671
,
673
,
2136
,
/* 1960 */
171
,
265
,
30
,
266
,
56
,
1663
,
593
,
588
,
92
,
31
,
/* 1970 */
21
,
2086
,
377
,
673
,
1709
,
65
,
1710
,
22
,
18
,
2117
,
/* 1980 */
1704
,
2153
,
1703
,
382
,
170
,
2119
,
677
,
2121
,
2122
,
672
,
/* 1990 */
211
7
,
667
,
2153
,
2118
,
1708
,
337
,
2119
,
677
,
2121
,
2122
,
/* 2000 */
672
,
1707
,
667
,
674
,
383
,
2117
,
1638
,
2153
,
2118
,
279
,
/* 2010 */
336
,
2119
,
677
,
2121
,
2122
,
672
,
583
,
667
,
674
,
2172
,
/* 2020 */
58
,
176
,
1637
,
2024
,
2022
,
2021
,
2003
,
95
,
94
,
286
,
/* 2030 */
213
6
,
23
,
2002
,
97
,
763
,
394
,
2299
,
287
,
1669
,
289
,
/* 2040 */
294
,
648
,
2086
,
68
,
673
,
2136
,
296
,
299
,
307
,
99
,
/* 2050 */
396
,
103
,
24
,
1590
,
1589
,
13
,
57
,
2086
,
1513
,
673
,
/* 2060 */
2156
,
666
,
1600
,
37
,
178
,
1568
,
1566
,
2118
,
1565
,
17
7
,
/* 2070 */
753
,
749
,
745
,
741
,
305
,
16
,
2117
,
674
,
2153
,
25
,
/* 2080 */
190
,
337
,
2119
,
677
,
2121
,
2122
,
672
,
11
,
667
,
1545
,
/* 2090 */
1537
,
2117
,
26
,
2153
,
678
,
680
,
337
,
2119
,
677
,
212
1
,
/* 2100 */
2122
,
672
,
2118
,
667
,
2136
,
397
,
676
,
1335
,
1332
,
682
,
/* 2110 */
684
,
685
,
674
,
1329
,
108
,
687
,
2086
,
298
,
673
,
688
,
/* 2120 */
6
90
,
693
,
1323
,
1327
,
1326
,
1325
,
302
,
691
,
1344
,
1321
,
/* 2130 */
694
,
104
,
1324
,
1340
,
105
,
1214
,
708
,
75
,
1246
,
2136
,
/* 2140 */
1
245
,
1244
,
1243
,
1241
,
1239
,
1238
,
1272
,
1237
,
718
,
653
,
/* 2150 */
578
,
2086
,
2153
,
673
,
1232
,
332
,
2119
,
677
,
2121
,
2122
,
/* 2160 */
6
72
,
303
,
667
,
1235
,
2118
,
1234
,
1233
,
1269
,
1231
,
1230
,
/* 2170 */
12
29
,
1267
,
1226
,
1225
,
674
,
1222
,
1221
,
1220
,
1219
,
1791
,
/* 2180 */
738
,
740
,
1789
,
742
,
285
,
2117
,
1787
,
2153
,
739
,
284
,
/* 2190 */
321
,
2119
,
677
,
2121
,
2122
,
672
,
743
,
667
,
744
,
746
,
/* 2200 */
747
,
2136
,
748
,
1785
,
750
,
751
,
752
,
1771
,
754
,
249
,
/* 2210 */
1168
,
1748
,
306
,
2086
,
758
,
673
,
1499
,
316
,
761
,
762
,
/* 2220 */
17
23
,
2118
,
1723
,
1723
,
1723
,
1723
,
1723
,
1723
,
1723
,
1723
,
/* 2230 */
1723
,
674
,
2118
,
1723
,
1723
,
1723
,
1723
,
1723
,
1723
,
172
3
,
/* 2240 */
1723
,
1723
,
674
,
1723
,
1723
,
1723
,
1723
,
2117
,
1723
,
2153
,
/* 2250 */
1723
,
2118
,
322
,
2119
,
677
,
2121
,
2122
,
672
,
2136
,
667
,
/* 2260 */
172
3
,
674
,
1723
,
1723
,
1723
,
1723
,
1723
,
1723
,
1723
,
2136
,
/* 2270 */
2
086
,
1723
,
673
,
1723
,
1723
,
1723
,
1723
,
1723
,
1723
,
1723
,
/* 2280 */
1723
,
2086
,
1723
,
673
,
1723
,
1723
,
1723
,
1723
,
2136
,
1723
,
/* 2290 */
1723
,
1723
,
1723
,
1723
,
1723
,
1723
,
1723
,
1723
,
1723
,
1723
,
/* 2300 */
2086
,
1723
,
673
,
1723
,
2117
,
1723
,
2153
,
1723
,
1723
,
323
,
/* 2310 */
2119
,
677
,
2121
,
2122
,
672
,
2117
,
667
,
2153
,
2118
,
1723
,
/* 2320 */
329
,
2119
,
677
,
2121
,
2122
,
672
,
1723
,
667
,
674
,
1723
,
/* 2330 */
172
3
,
1723
,
1723
,
1723
,
2117
,
1723
,
2153
,
2118
,
1723
,
333
,
/* 2340 */
2119
,
677
,
2121
,
2122
,
672
,
1723
,
667
,
674
,
1723
,
1723
,
/* 2350 */
172
3
,
1723
,
1723
,
2118
,
1723
,
2136
,
1723
,
1723
,
1723
,
1723
,
/* 2360 */
1723
,
1723
,
1723
,
674
,
1723
,
1723
,
1723
,
2086
,
2118
,
673
,
/* 2370 */
172
3
,
1723
,
1723
,
1723
,
2136
,
1723
,
1723
,
1723
,
674
,
1723
,
/* 2380 */
1723
,
1723
,
1723
,
1723
,
2118
,
1723
,
2086
,
1723
,
673
,
1723
,
/* 2390 */
21
36
,
1723
,
1723
,
1723
,
674
,
1723
,
1723
,
1723
,
1723
,
1723
,
/* 2400 */
1723
,
2117
,
2086
,
2153
,
673
,
2136
,
325
,
2119
,
677
,
21
21
,
/* 2410 */
2122
,
672
,
1723
,
667
,
1723
,
1723
,
1723
,
2086
,
1723
,
673
,
/* 2420 */
2117
,
2136
,
2153
,
1723
,
1723
,
334
,
2119
,
677
,
2121
,
2122
,
/* 2430 */
67
2
,
1723
,
667
,
2086
,
1723
,
673
,
2117
,
1723
,
2153
,
1723
,
/* 2440 */
172
3
,
326
,
2119
,
677
,
2121
,
2122
,
672
,
1723
,
667
,
1723
,
/* 2450 */
172
3
,
2117
,
2118
,
2153
,
1723
,
1723
,
335
,
2119
,
677
,
21
21
,
/* 2460 */
2122
,
672
,
674
,
667
,
1723
,
1723
,
1723
,
2117
,
1723
,
2153
,
/* 2470 */
172
3
,
1723
,
327
,
2119
,
677
,
2121
,
2122
,
672
,
1723
,
667
,
/* 2480 */
172
3
,
1723
,
1723
,
2118
,
1723
,
1723
,
1723
,
1723
,
1723
,
2136
,
/* 2490 */
1723
,
1723
,
1723
,
674
,
1723
,
1723
,
1723
,
1723
,
1723
,
1723
,
/* 2500 */
1723
,
2086
,
1723
,
673
,
1723
,
1723
,
1723
,
1723
,
1723
,
1723
,
/* 2510 */
172
3
,
1723
,
1723
,
1723
,
1723
,
1723
,
1723
,
1723
,
2118
,
1723
,
/* 2520 */
2
136
,
1723
,
1723
,
1723
,
1723
,
1723
,
1723
,
1723
,
674
,
1723
,
/* 2530 */
172
3
,
1723
,
2086
,
1723
,
673
,
2117
,
1723
,
2153
,
1723
,
1723
,
/* 2540 */
340
,
2119
,
677
,
2121
,
2122
,
672
,
1723
,
667
,
1723
,
2118
,
/* 2550 */
172
3
,
1723
,
1723
,
1723
,
1723
,
2136
,
1723
,
1723
,
1723
,
674
,
/* 2560 */
1723
,
1723
,
1723
,
1723
,
1723
,
1723
,
2117
,
2086
,
2153
,
673
,
/* 2570 */
172
3
,
341
,
2119
,
677
,
2121
,
2122
,
672
,
1723
,
667
,
1723
,
/* 2580 */
172
3
,
1723
,
1723
,
1723
,
1723
,
1723
,
2136
,
1723
,
1723
,
1723
,
/* 2590 */
172
3
,
1723
,
1723
,
1723
,
1723
,
1723
,
1723
,
1723
,
2086
,
1723
,
/* 2600 */
673
,
2117
,
1723
,
2153
,
1723
,
1723
,
2130
,
2119
,
677
,
2121
,
/* 2610 */
212
2
,
672
,
1723
,
667
,
1723
,
2118
,
1723
,
1723
,
1723
,
1723
,
/* 2620 */
172
3
,
1723
,
1723
,
1723
,
1723
,
674
,
1723
,
1723
,
1723
,
1723
,
/* 2630 */
172
3
,
1723
,
2117
,
1723
,
2153
,
1723
,
2118
,
2129
,
2119
,
677
,
/* 2640 */
2
121
,
2122
,
672
,
1723
,
667
,
1723
,
674
,
1723
,
1723
,
1723
,
/* 2650 */
172
3
,
1723
,
2136
,
1723
,
1723
,
1723
,
1723
,
1723
,
1723
,
1723
,
/* 2660 */
1723
,
1723
,
2118
,
1723
,
2086
,
1723
,
673
,
1723
,
1723
,
1723
,
/* 2670 */
1723
,
1723
,
674
,
2136
,
1723
,
1723
,
1723
,
1723
,
1723
,
1723
,
/* 2680 */
1723
,
2118
,
1723
,
1723
,
1723
,
2086
,
1723
,
673
,
1723
,
1723
,
/* 2690 */
1723
,
674
,
1723
,
1723
,
1723
,
1723
,
1723
,
1723
,
2117
,
2136
,
/* 2700 */
2153
,
1723
,
1723
,
2128
,
2119
,
677
,
2121
,
2122
,
672
,
1723
,
/* 2710 */
667
,
2086
,
2118
,
673
,
1723
,
1723
,
1723
,
1723
,
2136
,
2117
,
/* 2720 */
172
3
,
2153
,
674
,
1723
,
355
,
2119
,
677
,
2121
,
2122
,
672
,
/* 2730 */
2
086
,
667
,
673
,
1723
,
1723
,
1723
,
1723
,
1723
,
2118
,
1723
,
/* 2740 */
172
3
,
1723
,
1723
,
1723
,
1723
,
2117
,
1723
,
2153
,
674
,
2136
,
/* 2750 */
356
,
2119
,
677
,
2121
,
2122
,
672
,
1723
,
667
,
1723
,
1723
,
/* 2760 */
172
3
,
2086
,
1723
,
673
,
2117
,
1723
,
2153
,
1723
,
1723
,
352
,
/* 2770 */
2119
,
677
,
2121
,
2122
,
672
,
2136
,
667
,
1723
,
1723
,
1723
,
/* 2780 */
172
3
,
1723
,
1723
,
1723
,
1723
,
1723
,
1723
,
2086
,
1723
,
673
,
/* 2790 */
1723
,
1723
,
1723
,
1723
,
1723
,
2117
,
1723
,
2153
,
1723
,
1723
,
/* 2800 */
357
,
2119
,
677
,
2121
,
2122
,
672
,
2118
,
667
,
1723
,
1723
,
/* 2810 */
172
3
,
1723
,
1723
,
1723
,
1723
,
1723
,
674
,
1723
,
1723
,
1723
,
/* 2820 */
172
3
,
675
,
1723
,
2153
,
1723
,
1723
,
332
,
2119
,
677
,
21
21
,
/* 2830 */
2122
,
672
,
1723
,
667
,
1723
,
1723
,
1723
,
1723
,
1723
,
1723
,
/* 2840 */
172
3
,
1723
,
1723
,
2136
,
1723
,
1723
,
1723
,
1723
,
1723
,
1723
,
/* 2850 */
172
3
,
1723
,
1723
,
1723
,
1723
,
2086
,
1723
,
673
,
1723
,
1723
,
/* 2860 */
172
3
,
1723
,
1723
,
1723
,
1723
,
1723
,
1723
,
1723
,
1723
,
1723
,
/* 2870 */
172
3
,
1723
,
1723
,
1723
,
1723
,
1723
,
1723
,
1723
,
1723
,
1723
,
/* 2880 */
172
3
,
1723
,
1723
,
1723
,
1723
,
1723
,
1723
,
1723
,
1723
,
2117
,
/* 2890 */
172
3
,
2153
,
1723
,
1723
,
331
,
2119
,
677
,
2121
,
2122
,
672
,
/* 2900 */
172
3
,
667
,
};
static
const
YYCODETYPE
yy_lookahead
[]
=
{
/* 0 */
33
3
,
384
,
371
,
362
,
401
,
332
,
401
,
334
,
405
,
343
,
/* 10 */
343
,
370
,
12
,
13
,
14
,
0
,
399
,
400
,
377
,
378
,
/* 20 */
20
,
14
,
22
,
342
,
8
,
9
,
385
,
20
,
12
,
13
,
/* 30 */
1
4
,
15
,
16
,
33
,
0
,
35
,
21
,
370
,
20
,
24
,
/* 40 */
25
,
26
,
27
,
28
,
29
,
30
,
31
,
32
,
3
,
382
,
/* 50 */
447
,
384
,
447
,
450
,
388
,
450
,
8
,
9
,
35
1
,
59
,
/* 60 */
12
,
13
,
14
,
15
,
16
,
65
,
3
59
,
386
,
465
,
466
,
/* 70 */
4
65
,
466
,
72
,
470
,
471
,
470
,
471
,
12
,
13
,
14
,
/* 80 */
15
,
16
,
415
,
337
,
20
,
418
,
340
,
341
,
421
,
422
,
/* 90 */
42
3
,
424
,
425
,
426
,
369
,
428
,
20
,
97
,
436
,
437
,
/* 100 */
100
,
67
,
68
,
69
,
70
,
71
,
381
,
73
,
74
,
75
,
/* 0 */
33
7
,
333
,
447
,
340
,
341
,
450
,
436
,
437
,
371
,
342
,
/* 10 */
4
,
343
,
12
,
13
,
14
,
12
,
13
,
14
,
15
,
16
,
/* 20 */
20
,
466
,
22
,
8
,
9
,
470
,
471
,
12
,
13
,
14
,
/* 30 */
1
5
,
16
,
0
,
33
,
0
,
35
,
342
,
343
,
370
,
8
,
/* 40 */
9
,
342
,
343
,
12
,
13
,
14
,
15
,
16
,
342
,
343
,
/* 50 */
382
,
0
,
384
,
386
,
384
,
361
,
8
,
9
,
2
1
,
59
,
/* 60 */
12
,
13
,
14
,
15
,
16
,
65
,
3
96
,
361
,
64
,
399
,
/* 70 */
4
00
,
34
,
72
,
36
,
368
,
24
,
25
,
26
,
27
,
28
,
/* 80 */
29
,
30
,
31
,
32
,
416
,
332
,
418
,
334
,
59
,
421
,
/* 90 */
42
2
,
423
,
424
,
425
,
426
,
337
,
428
,
97
,
340
,
341
,
/* 100 */
100
,
67
,
68
,
69
,
70
,
71
,
100
,
73
,
74
,
75
,
/* 110 */
76
,
77
,
78
,
79
,
80
,
81
,
82
,
83
,
84
,
85
,
/* 120 */
86
,
87
,
88
,
89
,
90
,
91
,
92
,
93
,
461
,
46
2
,
/* 130 */
337
,
20
,
97
,
340
,
341
,
21
,
136
,
137
,
24
,
25
,
/* 140 */
26
,
27
,
28
,
29
,
30
,
31
,
32
,
112
,
113
,
114
,
/* 150 */
115
,
116
,
117
,
118
,
119
,
120
,
121
,
370
,
123
,
124
,
/* 160 */
125
,
126
,
127
,
128
,
100
,
20
,
166
,
167
,
20
,
42
0
,
/* 170 */
342
,
343
,
172
,
173
,
330
,
8
,
9
,
390
,
391
,
12
,
/* 180 */
13
,
14
,
15
,
16
,
166
,
167
,
186
,
20
,
188
,
361
,
/* 190 */
342
,
343
,
362
,
100
,
178
,
446
,
368
,
8
,
9
,
59
,
/* 200 */
37
0
,
12
,
13
,
14
,
15
,
16
,
8
,
9
,
378
,
36
1
,
/* 210 */
12
,
13
,
14
,
15
,
16
,
215
,
216
,
0
,
218
,
219
,
/* 120 */
86
,
87
,
88
,
89
,
90
,
91
,
92
,
93
,
99
,
1
2
,
/* 130 */
13
,
102
,
101
,
20
,
64
,
330
,
136
,
137
,
370
,
22
,
/* 140 */
472
,
473
,
443
,
444
,
445
,
377
,
447
,
448
,
20
,
450
,
/* 150 */
33
,
21
,
35
,
385
,
24
,
25
,
26
,
27
,
28
,
29
,
/* 160 */
30
,
31
,
32
,
384
,
465
,
466
,
166
,
167
,
370
,
47
0
,
/* 170 */
471
,
447
,
172
,
173
,
450
,
377
,
59
,
380
,
399
,
400
,
/* 180 */
383
,
384
,
20
,
385
,
362
,
20
,
186
,
155
,
188
,
72
,
/* 190 */
466
,
350
,
370
,
178
,
470
,
471
,
164
,
8
,
9
,
377
,
/* 200 */
37
8
,
12
,
13
,
14
,
15
,
16
,
401
,
385
,
367
,
11
1
,
/* 210 */
20
,
406
,
100
,
100
,
97
,
215
,
216
,
376
,
218
,
219
,
/* 220 */
220
,
221
,
222
,
223
,
224
,
225
,
226
,
227
,
228
,
229
,
/* 230 */
230
,
231
,
232
,
233
,
234
,
235
,
12
,
13
,
0
,
370
,
/* 240 */
100
,
18
,
102
,
20
,
20
,
401
,
22
,
100
,
100
,
405
,
/* 250 */
27
,
333
,
447
,
30
,
65
,
450
,
33
,
33
,
343
,
35
,
/* 260 */
391
,
343
,
24
,
25
,
26
,
27
,
28
,
29
,
30
,
3
1
,
/* 270 */
32
,
466
,
49
,
20
,
51
,
470
,
471
,
54
,
185
,
362
,
/* 280 */
187
,
64
,
447
,
59
,
22
,
450
,
338
,
370
,
370
,
65
,
/* 290 */
3
42
,
447
,
344
,
277
,
450
,
378
,
72
,
35
,
109
,
101
,
/* 300 */
382
,
466
,
384
,
388
,
384
,
470
,
471
,
214
,
447
,
465
,
/* 310 */
466
,
450
,
64
,
333
,
470
,
471
,
396
,
272
,
4
,
399
,
/* 320 */
400
,
97
,
99
,
343
,
100
,
345
,
465
,
466
,
35
,
34
2
,
/* 330 */
343
,
470
,
471
,
415
,
111
,
168
,
418
,
342
,
343
,
421
,
/* 340 */
4
22
,
423
,
424
,
425
,
426
,
252
,
428
,
20
,
361
,
431
,
/* 350 */
370
,
433
,
434
,
435
,
165
,
368
,
361
,
439
,
440
,
9
7
,
/* 360 */
136
,
137
,
3
82
,
140
,
384
,
7
2
,
143
,
144
,
145
,
146
,
/* 230 */
230
,
231
,
232
,
233
,
234
,
235
,
12
,
13
,
342
,
343
,
/* 240 */
4
,
18
,
20
,
20
,
20
,
447
,
22
,
81
,
450
,
236
,
/* 250 */
27
,
238
,
447
,
30
,
65
,
450
,
33
,
33
,
252
,
35
,
/* 260 */
22
,
14
,
33
,
465
,
466
,
100
,
358
,
20
,
470
,
47
1
,
/* 270 */
465
,
466
,
49
,
35
,
51
,
470
,
471
,
54
,
49
,
43
,
/* 280 */
372
,
45
,
46
,
59
,
55
,
56
,
57
,
58
,
59
,
65
,
/* 290 */
3
82
,
20
,
277
,
67
,
68
,
69
,
72
,
20
,
109
,
22
,
/* 300 */
74
,
75
,
76
,
186
,
333
,
188
,
80
,
141
,
142
,
1
,
/* 310 */
2
,
85
,
86
,
87
,
88
,
100
,
20
,
91
,
3
,
12
,
/* 320 */
13
,
97
,
99
,
20
,
100
,
369
,
418
,
419
,
99
,
5
2
,
/* 330 */
164
,
102
,
215
,
216
,
111
,
20
,
428
,
381
,
442
,
443
,
/* 340 */
4
44
,
445
,
35
,
447
,
448
,
228
,
229
,
230
,
231
,
232
,
/* 350 */
233
,
234
,
65
,
382
,
165
,
333
,
166
,
167
,
136
,
13
7
,
/* 360 */
136
,
137
,
3
70
,
140
,
252
,
25
2
,
143
,
144
,
145
,
146
,
/* 370 */
147
,
148
,
149
,
150
,
151
,
152
,
153
,
154
,
155
,
156
,
/* 380 */
157
,
158
,
159
,
20
,
161
,
162
,
163
,
14
,
20
,
20
,
/* 390 */
166
,
167
,
252
,
20
,
13
,
415
,
172
,
173
,
418
,
252
,
/* 400 */
252
,
421
,
422
,
423
,
424
,
425
,
426
,
64
,
428
,
20
,
/* 410 */
186
,
22
,
188
,
433
,
100
,
435
,
35
,
342
,
343
,
439
,
/* 420 */
440
,
168
,
100
,
171
,
342
,
342
,
343
,
333
,
239
,
240
,
/* 380 */
157
,
158
,
159
,
391
,
161
,
162
,
163
,
342
,
343
,
22
,
/* 390 */
166
,
167
,
342
,
343
,
172
,
173
,
172
,
173
,
169
,
170
,
/* 400 */
420
,
171
,
35
,
174
,
382
,
176
,
361
,
136
,
137
,
101
,
/* 410 */
186
,
361
,
188
,
368
,
8
,
9
,
101
,
252
,
12
,
13
,
/* 420 */
14
,
15
,
16
,
194
,
0
,
0
,
446
,
215
,
239
,
240
,
/* 430 */
241
,
242
,
243
,
244
,
245
,
246
,
247
,
248
,
249
,
215
,
/* 440 */
216
,
52
,
218
,
219
,
220
,
221
,
222
,
223
,
224
,
225
,
/* 440 */
216
,
333
,
218
,
219
,
220
,
221
,
222
,
223
,
224
,
225
,
/* 450 */
226
,
227
,
228
,
229
,
230
,
231
,
232
,
233
,
234
,
235
,
/* 460 */
236
,
12
,
13
,
136
,
137
,
22
,
12
,
13
,
100
,
20
,
/* 470 */
22
,
22
,
67
,
68
,
69
,
393
,
382
,
395
,
35
,
74
,
/* 480 */
75
,
76
,
33
,
35
,
35
,
80
,
3
,
333
,
2
,
35
,
/* 490 */
85
,
86
,
87
,
88
,
8
,
9
,
91
,
343
,
12
,
13
,
/* 500 */
14
,
15
,
16
,
20
,
20
,
136
,
137
,
333
,
59
,
257
,
/* 510 */
258
,
259
,
215
,
379
,
65
,
72
,
382
,
343
,
443
,
4
44
,
/* 520 */
445
,
72
,
447
,
448
,
370
,
442
,
443
,
444
,
445
,
380
,
/* 530 */
447
,
448
,
383
,
384
,
366
,
20
,
382
,
22
,
384
,
16
6
,
/* 540 */
97
,
172
,
173
,
20
,
370
,
97
,
97
,
8
,
9
,
100
,
/* 550 */
35
,
12
,
13
,
14
,
15
,
16
,
382
,
44
,
384
,
262
,
/* 560 */
263
,
264
,
265
,
266
,
267
,
268
,
252
,
52
,
18
,
415
,
/* 570 */
3
33
,
111
,
418
,
23
,
252
,
421
,
422
,
423
,
424
,
425
,
/* 580 */
42
6
,
413
,
428
,
44
,
101
,
136
,
137
,
37
,
38
,
415
,
/* 590 */
236
,
41
,
418
,
358
,
4
,
421
,
422
,
423
,
424
,
42
5
,
/* 600 */
426
,
427
,
428
,
429
,
430
,
342
,
343
,
372
,
348
,
19
,
/* 610 */
60
,
61
,
62
,
63
,
101
,
166
,
167
,
382
,
343
,
382
,
/* 620 */
252
,
172
,
173
,
33
,
361
,
365
,
472
,
473
,
338
,
186
,
/* 630 */
81
,
188
,
342
,
373
,
344
,
186
,
0
,
188
,
370
,
49
,
/* 640 */
3
70
,
370
,
188
,
342
,
54
,
370
,
378
,
377
,
377
,
59
,
/* 650 */
100
,
168
,
168
,
418
,
419
,
385
,
385
,
72
,
215
,
216
,
/* 660 */
4
,
130
,
131
,
428
,
215
,
216
,
135
,
218
,
219
,
220
,
/* 460 */
236
,
12
,
13
,
47
,
97
,
351
,
14
,
252
,
22
,
20
,
/* 470 */
37
,
22
,
20
,
359
,
262
,
263
,
264
,
265
,
266
,
267
,
/* 480 */
268
,
35
,
33
,
168
,
35
,
370
,
333
,
257
,
258
,
259
,
/* 490 */
382
,
67
,
68
,
69
,
342
,
188
,
343
,
14
,
74
,
75
,
/* 500 */
76
,
0
,
215
,
20
,
80
,
390
,
391
,
101
,
59
,
85
,
/* 510 */
86
,
87
,
88
,
338
,
65
,
91
,
100
,
342
,
72
,
3
44
,
/* 520 */
0
,
72
,
21
,
370
,
366
,
24
,
25
,
26
,
27
,
28
,
/* 530 */
29
,
30
,
31
,
32
,
343
,
382
,
103
,
384
,
105
,
10
6
,
/* 540 */
181
,
108
,
20
,
97
,
338
,
393
,
97
,
395
,
342
,
100
,
/* 550 */
344
,
342
,
343
,
333
,
129
,
130
,
131
,
132
,
133
,
134
,
/* 560 */
135
,
370
,
129
,
343
,
205
,
206
,
133
,
20
,
18
,
416
,
/* 570 */
3
61
,
418
,
414
,
23
,
421
,
422
,
423
,
424
,
425
,
426
,
/* 580 */
42
7
,
428
,
429
,
430
,
64
,
136
,
137
,
37
,
38
,
3
,
/* 590 */
370
,
41
,
8
,
9
,
383
,
384
,
12
,
13
,
14
,
1
5
,
/* 600 */
16
,
362
,
382
,
20
,
384
,
348
,
14
,
15
,
16
,
370
,
/* 610 */
60
,
61
,
62
,
63
,
423
,
166
,
167
,
378
,
166
,
8
,
/* 620 */
9
,
172
,
173
,
12
,
13
,
14
,
15
,
16
,
44
,
35
,
/* 630 */
373
,
20
,
186
,
236
,
188
,
186
,
416
,
188
,
418
,
342
,
/* 640 */
3
43
,
421
,
422
,
423
,
424
,
425
,
426
,
100
,
428
,
166
,
/* 650 */
100
,
431
,
401
,
433
,
434
,
435
,
111
,
406
,
361
,
439
,
/* 660 */
440
,
215
,
216
,
371
,
215
,
216
,
72
,
218
,
219
,
220
,
/* 670 */
221
,
222
,
223
,
224
,
225
,
226
,
227
,
228
,
229
,
230
,
/* 680 */
231
,
232
,
233
,
234
,
235
,
12
,
13
,
14
,
138
,
99
,
/* 690 */
1
41
,
142
,
102
,
20
,
393
,
22
,
395
,
333
,
423
,
43
,
/* 700 */
0
,
45
,
46
,
67
,
68
,
69
,
33
,
343
,
35
,
37
,
/* 710 */
74
,
75
,
76
,
164
,
342
,
111
,
80
,
447
,
342
,
343
,
/* 720 */
450
,
85
,
86
,
87
,
88
,
342
,
343
,
91
,
178
,
179
,
/* 730 */
180
,
4
,
59
,
183
,
370
,
465
,
466
,
361
,
383
,
384
,
/* 740 */
4
70
,
471
,
72
,
131
,
370
,
72
,
382
,
135
,
384
,
34
2
,
/* 750 */
3
43
,
377
,
1
,
2
,
204
,
342
,
343
,
207
,
371
,
385
,
/* 760 */
210
,
211
,
212
,
213
,
214
,
3
93
,
333
,
395
,
361
,
370
,
/* 770 */
97
,
100
,
401
,
100
,
361
,
103
,
377
,
105
,
106
,
415
,
/* 780 */
108
,
110
,
418
,
333
,
385
,
421
,
422
,
423
,
424
,
425
,
/* 790 */
426
,
37
0
,
428
,
343
,
0
,
342
,
343
,
433
,
377
,
435
,
/* 800 */
348
,
129
,
252
,
439
,
440
,
133
,
385
,
195
,
196
,
136
,
/* 810 */
137
,
199
,
350
,
201
,
361
,
382
,
452
,
401
,
447
,
33
4
,
/* 820 */
370
,
450
,
355
,
356
,
460
,
373
,
443
,
444
,
445
,
367
,
/* 830 */
447
,
448
,
382
,
450
,
384
,
333
,
465
,
466
,
376
,
166
,
/* 840 */
167
,
470
,
471
,
342
,
343
,
172
,
173
,
130
,
465
,
466
,
/* 850 */
342
,
343
,
101
,
470
,
471
,
155
,
14
,
420
,
236
,
186
,
/* 860 */
238
,
188
,
20
,
447
,
164
,
415
,
450
,
333
,
418
,
361
,
/* 870 */
371
,
421
,
422
,
423
,
424
,
425
,
426
,
432
,
428
,
43
4
,
/* 880 */
44
,
465
,
466
,
446
,
382
,
435
,
470
,
471
,
215
,
216
,
/* 890 */
440
,
218
,
219
,
220
,
221
,
222
,
223
,
224
,
225
,
226
,
/* 680 */
231
,
232
,
233
,
234
,
235
,
12
,
13
,
14
,
138
,
370
,
/* 690 */
1
68
,
342
,
22
,
20
,
350
,
22
,
377
,
333
,
447
,
431
,
/* 700 */
447
,
450
,
434
,
450
,
385
,
35
,
33
,
343
,
35
,
129
,
/* 710 */
130
,
131
,
132
,
133
,
134
,
135
,
465
,
466
,
465
,
466
,
/* 720 */
376
,
470
,
471
,
470
,
471
,
59
,
355
,
356
,
178
,
179
,
/* 730 */
180
,
72
,
59
,
183
,
370
,
358
,
370
,
20
,
432
,
22
,
/* 740 */
4
34
,
358
,
393
,
377
,
395
,
72
,
382
,
379
,
384
,
37
2
,
/* 750 */
3
82
,
385
,
35
,
343
,
204
,
372
,
370
,
207
,
420
,
382
,
/* 760 */
210
,
211
,
212
,
213
,
214
,
3
82
,
100
,
97
,
102
,
52
,
/* 770 */
97
,
385
,
342
,
100
,
420
,
362
,
130
,
131
,
333
,
168
,
/* 780 */
416
,
135
,
418
,
370
,
446
,
421
,
422
,
423
,
424
,
425
,
/* 790 */
426
,
37
8
,
428
,
0
,
35
,
418
,
419
,
433
,
388
,
435
,
/* 800 */
446
,
418
,
252
,
439
,
440
,
428
,
333
,
2
,
333
,
136
,
/* 810 */
137
,
428
,
39
,
8
,
9
,
333
,
452
,
12
,
13
,
1
4
,
/* 820 */
15
,
16
,
2
,
393
,
460
,
395
,
129
,
382
,
8
,
9
,
/* 830 */
133
,
72
,
12
,
13
,
14
,
15
,
16
,
342
,
343
,
166
,
/* 840 */
167
,
342
,
343
,
8
,
9
,
172
,
173
,
12
,
13
,
14
,
/* 850 */
15
,
16
,
97
,
355
,
356
,
382
,
361
,
382
,
272
,
186
,
/* 860 */
361
,
188
,
250
,
251
,
382
,
342
,
343
,
112
,
113
,
114
,
/* 870 */
115
,
116
,
117
,
118
,
119
,
120
,
121
,
165
,
123
,
12
4
,
/* 880 */
125
,
126
,
127
,
128
,
361
,
0
,
342
,
343
,
215
,
216
,
/* 890 */
333
,
218
,
219
,
220
,
221
,
222
,
223
,
224
,
225
,
226
,
/* 900 */
227
,
228
,
229
,
230
,
231
,
232
,
233
,
234
,
235
,
12
,
/* 910 */
13
,
432
,
20
,
434
,
197
,
198
,
382
,
20
,
181
,
22
,
/* 920 */
42
,
333
,
44
,
129
,
130
,
131
,
132
,
133
,
134
,
13
5
,
/* 930 */
33
,
343
,
35
,
8
,
9
,
342
,
343
,
12
,
13
,
14
,
/* 940 */
15
,
16
,
205
,
206
,
443
,
444
,
445
,
333
,
447
,
448
,
/* 950 */
59
,
371
,
342
,
343
,
361
,
401
,
59
,
343
,
370
,
345
,
/* 960 */
129
,
130
,
131
,
132
,
133
,
134
,
135
,
362
,
2
0
,
72
,
/* 970 */
382
,
3
61
,
384
,
342
,
343
,
370
,
14
,
15
,
16
,
420
,
/* 980 */
253
,
8
,
9
,
378
,
370
,
12
,
13
,
14
,
15
,
16
,
/* 990 */
99
,
129
,
361
,
102
,
97
,
133
,
382
,
100
,
384
,
34
2
,
/* 1000 */
343
,
447
,
333
,
415
,
450
,
446
,
418
,
333
,
166
,
421
,
/* 1010 */
422
,
423
,
424
,
425
,
426
,
0
,
428
,
343
,
361
,
465
,
/* 1020 */
466
,
433
,
39
,
435
,
470
,
471
,
333
,
439
,
440
,
415
,
/* 1030 */
0
,
350
,
418
,
136
,
137
,
421
,
422
,
423
,
424
,
425
,
/* 1040 */
426
,
358
,
428
,
406
,
370
,
333
,
21
,
433
,
460
,
435
,
/* 1050 */
42
,
382
,
44
,
439
,
440
,
372
,
382
,
376
,
384
,
34
,
/* 1060 */
168
,
36
,
343
,
166
,
167
,
382
,
2
,
342
,
343
,
172
,
/* 1070 */
173
,
165
,
8
,
9
,
101
,
382
,
12
,
13
,
14
,
15
,
/* 1080 */
16
,
355
,
356
,
186
,
371
,
188
,
361
,
342
,
343
,
415
,
/* 1090 */
342
,
343
,
418
,
168
,
382
,
421
,
422
,
423
,
424
,
425
,
/* 1100 */
426
,
418
,
428
,
45
,
46
,
363
,
361
,
388
,
366
,
361
,
/* 1110 */
274
,
428
,
215
,
216
,
166
,
218
,
219
,
220
,
221
,
222
,
/* 910 */
13
,
130
,
348
,
45
,
46
,
100
,
401
,
20
,
252
,
22
,
/* 920 */
72
,
333
,
129
,
130
,
131
,
132
,
133
,
134
,
135
,
36
5
,
/* 930 */
33
,
343
,
35
,
342
,
343
,
342
,
343
,
373
,
432
,
382
,
/* 940 */
434
,
342
,
343
,
14
,
371
,
342
,
343
,
333
,
370
,
20
,
/* 950 */
333
,
239
,
361
,
4
,
361
,
377
,
59
,
343
,
370
,
345
,
/* 960 */
361
,
249
,
447
,
385
,
361
,
450
,
20
,
371
,
37
0
,
72
,
/* 970 */
382
,
3
33
,
384
,
333
,
342
,
343
,
378
,
333
,
197
,
198
,
/* 980 */
465
,
466
,
333
,
44
,
370
,
470
,
471
,
443
,
444
,
445
,
/* 990 */
363
,
447
,
448
,
366
,
97
,
371
,
382
,
100
,
384
,
38
2
,
/* 1000 */
185
,
358
,
187
,
168
,
416
,
343
,
418
,
333
,
333
,
421
,
/* 1010 */
422
,
423
,
424
,
425
,
426
,
372
,
428
,
343
,
20
,
333
,
/* 1020 */
382
,
433
,
382
,
435
,
251
,
382
,
382
,
439
,
440
,
214
,
/* 1030 */
416
,
382
,
418
,
136
,
137
,
421
,
422
,
423
,
424
,
425
,
/* 1040 */
426
,
131
,
428
,
362
,
370
,
135
,
20
,
433
,
460
,
435
,
/* 1050 */
388
,
370
,
333
,
439
,
440
,
333
,
382
,
382
,
384
,
378
,
/* 1060 */
13
,
418
,
419
,
166
,
167
,
342
,
343
,
252
,
382
,
172
,
/* 1070 */
173
,
428
,
342
,
343
,
44
,
443
,
444
,
445
,
379
,
447
,
/* 1080 */
448
,
382
,
35
,
186
,
361
,
188
,
136
,
137
,
342
,
343
,
/* 1090 */
416
,
361
,
418
,
333
,
209
,
421
,
422
,
423
,
424
,
425
,
/* 1100 */
426
,
382
,
428
,
371
,
382
,
195
,
196
,
361
,
343
,
199
,
/* 1110 */
371
,
201
,
215
,
216
,
168
,
218
,
219
,
220
,
221
,
222
,
/* 1120 */
223
,
224
,
225
,
226
,
227
,
228
,
229
,
230
,
231
,
232
,
/* 1130 */
233
,
234
,
235
,
12
,
13
,
333
,
462
,
333
,
342
,
343
,
/* 1140 */
3
33
,
20
,
333
,
22
,
358
,
239
,
333
,
343
,
333
,
345
,
/* 1150 */
342
,
343
,
3
42
,
343
,
33
,
249
,
35
,
361
,
372
,
129
,
/* 1160 */
130
,
131
,
132
,
133
,
134
,
135
,
333
,
431
,
382
,
361
,
/* 1170 */
434
,
361
,
250
,
251
,
370
,
370
,
379
,
14
,
379
,
38
2
,
/* 1180 */
59
,
382
,
333
,
20
,
382
,
358
,
382
,
333
,
384
,
382
,
/* 1190 */
385
,
382
,
358
,
72
,
0
,
382
,
44
,
382
,
333
,
372
,
/* 1200 */
333
,
333
,
0
,
371
,
418
,
419
,
372
,
357
,
104
,
382
,
/* 1210 */
360
,
107
,
111
,
48
,
428
,
382
,
382
,
104
,
97
,
415
,
/* 1220 */
107
,
100
,
418
,
333
,
209
,
421
,
422
,
423
,
424
,
425
,
/* 1230 */
426
,
382
,
428
,
343
,
251
,
345
,
382
,
433
,
44
,
435
,
/* 1240 */
44
,
22
,
13
,
439
,
440
,
418
,
419
,
382
,
0
,
382
,
/* 1250 */
382
,
49
,
418
,
104
,
35
,
428
,
107
,
136
,
137
,
0
,
/* 1260 */
370
,
160
,
428
,
104
,
35
,
44
,
107
,
0
,
13
,
200
,
/* 1270 */
22
,
202
,
382
,
65
,
384
,
44
,
59
,
44
,
44
,
136
,
/* 1280 */
137
,
22
,
1
,
2
,
371
,
47
,
359
,
166
,
167
,
22
,
/* 1290 */
35
,
392
,
474
,
172
,
173
,
346
,
457
,
101
,
463
,
358
,
/* 1300 */
35
,
35
,
13
,
358
,
44
,
415
,
44
,
186
,
418
,
188
,
/* 1310 */
3
70
,
421
,
422
,
423
,
424
,
425
,
426
,
44
,
428
,
102
,
/* 1320 */
44
,
44
,
101
,
433
,
35
,
435
,
346
,
44
,
44
,
439
,
/* 1330 */
440
,
392
,
101
,
168
,
101
,
101
,
215
,
216
,
100
,
218
,
/* 1130 */
233
,
234
,
235
,
12
,
13
,
461
,
462
,
333
,
358
,
342
,
/* 1140 */
3
43
,
20
,
382
,
22
,
342
,
343
,
0
,
343
,
111
,
345
,
/* 1150 */
342
,
343
,
3
72
,
388
,
33
,
333
,
35
,
44
,
361
,
342
,
/* 1160 */
343
,
4
,
382
,
361
,
379
,
0
,
168
,
382
,
357
,
361
,
/* 1170 */
42
,
360
,
44
,
42
,
370
,
44
,
19
,
200
,
361
,
20
2
,
/* 1180 */
59
,
104
,
104
,
13
,
107
,
107
,
382
,
359
,
384
,
44
,
/* 1190 */
33
,
0
,
166
,
72
,
44
,
49
,
44
,
160
,
418
,
401
,
/* 1200 */
104
,
401
,
253
,
107
,
382
,
35
,
49
,
104
,
428
,
44
,
/* 1210 */
107
,
54
,
0
,
22
,
101
,
276
,
59
,
35
,
97
,
0
,
/* 1220 */
416
,
100
,
418
,
333
,
44
,
421
,
422
,
423
,
424
,
425
,
/* 1230 */
426
,
401
,
428
,
343
,
22
,
345
,
59
,
433
,
48
,
435
,
/* 1240 */
44
,
22
,
44
,
439
,
440
,
447
,
101
,
447
,
450
,
35
,
/* 1250 */
450
,
101
,
0
,
101
,
407
,
334
,
99
,
136
,
137
,
102
,
/* 1260 */
370
,
1
,
2
,
465
,
466
,
465
,
466
,
44
,
470
,
471
,
/* 1270 */
470
,
471
,
382
,
100
,
384
,
44
,
44
,
447
,
44
,
102
,
/* 1280 */
450
,
101
,
463
,
110
,
392
,
358
,
474
,
166
,
167
,
346
,
/* 1290 */
457
,
358
,
370
,
172
,
173
,
465
,
466
,
101
,
346
,
101
,
/* 1300 */
470
,
471
,
50
,
44
,
274
,
44
,
416
,
186
,
418
,
188
,
/* 1310 */
3
92
,
421
,
422
,
423
,
424
,
425
,
426
,
44
,
428
,
44
,
/* 1320 */
44
,
44
,
44
,
433
,
101
,
435
,
341
,
343
,
381
,
439
,
/* 1330 */
440
,
449
,
101
,
101
,
392
,
101
,
215
,
216
,
467
,
218
,
/* 1340 */
219
,
220
,
221
,
222
,
223
,
224
,
225
,
226
,
227
,
228
,
/* 1350 */
229
,
230
,
231
,
232
,
233
,
234
,
235
,
333
,
12
,
13
,
/* 1360 */
35
,
101
,
44
,
101
,
44
,
44
,
0
,
343
,
22
,
345
,
/* 1370 */
44
,
343
,
44
,
341
,
101
,
381
,
392
,
101
,
101
,
33
,
/* 1380 */
4
4
,
35
,
449
,
333
,
101
,
101
,
467
,
44
,
441
,
451
,
/* 1390 */
254
,
417
,
416
,
343
,
370
,
345
,
49
,
72
,
184
,
403
,
/* 1400 */
42
,
389
,
20
,
392
,
165
,
59
,
382
,
389
,
384
,
387
,
/* 1410 */
20
,
98
,
342
,
342
,
387
,
389
,
50
,
354
,
72
,
101
,
/* 1420 */
370
,
101
,
101
,
215
,
387
,
96
,
353
,
101
,
276
,
101
,
/* 1430 */
333
,
342
,
382
,
95
,
384
,
352
,
342
,
101
,
342
,
415
,
/* 1440 */
343
,
342
,
418
,
97
,
101
,
421
,
422
,
423
,
424
,
425
,
/* 1450 */
426
,
3
33
,
428
,
188
,
188
,
20
,
48
,
433
,
335
,
435
,
/* 1460 */
3
35
,
343
,
20
,
439
,
440
,
415
,
339
,
370
,
418
,
339
,
/* 1470 */
410
,
421
,
422
,
423
,
424
,
425
,
426
,
20
,
428
,
382
,
/* 1480 */
20
,
384
,
350
,
433
,
384
,
435
,
344
,
35
0
,
370
,
439
,
/* 1490 */
440
,
20
,
402
,
53
,
350
,
344
,
350
,
350
,
350
,
342
,
/* 1500 */
3
82
,
347
,
384
,
350
,
335
,
347
,
342
,
335
,
370
,
370
,
/* 1510 */
370
,
370
,
415
,
382
,
203
,
418
,
382
,
382
,
421
,
42
2
,
/* 1520 */
4
23
,
424
,
425
,
426
,
414
,
428
,
370
,
100
,
412
,
410
,
/* 1530 */
3
70
,
370
,
186
,
415
,
188
,
348
,
418
,
370
,
370
,
421
,
/* 1540 */
4
22
,
423
,
424
,
425
,
426
,
370
,
428
,
370
,
192
,
348
,
/* 1550 */
191
,
433
,
190
,
435
,
409
,
333
,
382
,
439
,
440
,
261
,
/* 1560 */
384
,
215
,
216
,
408
,
456
,
343
,
342
,
260
,
397
,
407
,
/* 1570 */
4
73
,
392
,
392
,
382
,
228
,
229
,
230
,
231
,
232
,
233
,
/* 1580 */
234
,
397
,
456
,
269
,
177
,
382
,
382
,
459
,
271
,
270
,
/* 1590 */
255
,
458
,
370
,
278
,
343
,
417
,
251
,
475
,
275
,
20
,
/* 1600 */
273
,
420
,
344
,
342
,
382
,
455
,
384
,
20
,
395
,
397
,
/* 1610 */
382
,
348
,
348
,
397
,
382
,
170
,
348
,
382
,
382
,
382
,
/* 1620 */
394
,
333
,
456
,
382
,
454
,
343
,
453
,
348
,
100
,
10
0
,
/* 1630 */
438
,
343
,
382
,
342
,
360
,
366
,
36
,
415
,
348
,
336
,
/* 1640 */
418
,
335
,
398
,
421
,
422
,
423
,
424
,
425
,
426
,
333
,
/* 1650 */
428
,
469
,
374
,
468
,
411
,
433
,
404
,
435
,
370
,
343
,
/* 1660 */
3
64
,
439
,
440
,
364
,
364
,
331
,
0
,
0
,
398
,
0
,
/* 1670 */
382
,
349
,
384
,
42
,
0
,
35
,
208
,
35
,
35
,
35
,
/* 1680 */
208
,
333
,
0
,
35
,
35
,
208
,
370
,
0
,
208
,
0
,
/* 1690 */
35
,
343
,
22
,
0
,
35
,
195
,
188
,
186
,
382
,
0
,
/* 1700 */
384
,
0
,
0
,
415
,
0
,
182
,
418
,
181
,
0
,
421
,
/* 1710 */
42
2
,
423
,
424
,
425
,
426
,
0
,
428
,
0
,
370
,
47
,
/* 1720 */
0
,
433
,
0
,
435
,
0
,
42
,
0
,
439
,
440
,
0
,
/* 1730 */
382
,
415
,
384
,
0
,
418
,
0
,
0
,
421
,
422
,
423
,
/* 1740 */
42
4
,
425
,
426
,
0
,
428
,
0
,
155
,
35
,
0
,
155
,
/* 1750 */
0
,
435
,
333
,
0
,
0
,
439
,
440
,
139
,
42
,
0
,
/* 1760 */
0
,
0
,
343
,
415
,
0
,
0
,
418
,
0
,
0
,
421
,
/* 1770 */
4
22
,
423
,
424
,
425
,
426
,
0
,
428
,
0
,
0
,
0
,
/* 1780 */
333
,
0
,
0
,
435
,
0
,
0
,
0
,
439
,
440
,
370
,
/* 1790 */
343
,
0
,
0
,
0
,
22
,
0
,
0
,
0
,
0
,
333
,
/* 1800 */
0
,
382
,
22
,
384
,
48
,
22
,
48
,
0
,
59
,
343
,
/* 1810 */
0
,
35
,
0
,
0
,
59
,
333
,
0
,
370
,
44
,
14
,
/* 1820 */
47
,
59
,
0
,
0
,
0
,
343
,
39
,
0
,
39
,
382
,
/* 1830 */
42
,
384
,
0
,
39
,
415
,
177
,
370
,
418
,
0
,
0
,
/* 1840 */
421
,
422
,
423
,
424
,
425
,
426
,
47
,
428
,
382
,
47
,
/* 1850 */
384
,
40
,
370
,
0
,
435
,
0
,
66
,
375
,
439
,
440
,
/* 1860 */
35
,
0
,
415
,
49
,
382
,
418
,
384
,
39
,
421
,
422
,
/* 1870 */
42
3
,
424
,
425
,
426
,
39
,
428
,
333
,
35
,
49
,
0
,
/* 1880 */
35
,
4
15
,
49
,
39
,
418
,
0
,
343
,
421
,
422
,
423
,
/* 1890 */
424
,
425
,
426
,
35
,
428
,
49
,
430
,
415
,
1
,
333
,
/* 1900 */
4
18
,
39
,
0
,
421
,
422
,
423
,
424
,
425
,
426
,
343
,
/* 1910 */
428
,
464
,
0
,
370
,
0
,
0
,
19
,
109
,
375
,
35
,
/* 1920 */
22
,
0
,
107
,
35
,
35
,
382
,
35
,
384
,
35
,
35
,
/* 1930 */
33
,
35
,
22
,
0
,
35
,
22
,
370
,
51
,
35
,
44
,
/* 1940 */
35
,
375
,
35
,
0
,
44
,
22
,
49
,
0
,
382
,
22
,
/* 1950 */
384
,
35
,
55
,
56
,
57
,
58
,
59
,
35
,
415
,
0
,
/* 1960 */
0
,
418
,
0
,
35
,
421
,
422
,
423
,
424
,
425
,
426
,
/* 1970 */
22
,
428
,
20
,
35
,
35
,
35
,
101
,
100
,
0
,
35
,
/* 1980 */
100
,
415
,
0
,
22
,
418
,
168
,
22
,
421
,
422
,
423
,
/* 1990 */
4
24
,
425
,
426
,
333
,
428
,
189
,
99
,
0
,
168
,
102
,
/* 2000 */
0
,
170
,
193
,
343
,
168
,
3
,
100
,
44
,
256
,
175
,
/* 2010 */
101
,
100
,
44
,
48
,
48
,
98
,
96
,
44
,
44
,
101
,
/* 2020 */
101
,
44
,
47
,
47
,
100
,
333
,
100
,
256
,
3
,
100
,
/* 2030 */
370
,
1
34
,
101
,
101
,
100
,
343
,
101
,
44
,
35
,
47
,
/* 2040 */
35
,
35
,
382
,
333
,
384
,
35
,
35
,
35
,
47
,
0
,
/* 2050 */
101
,
101
,
44
,
343
,
0
,
0
,
0
,
256
,
100
,
39
,
/* 2060 */
47
,
171
,
370
,
0
,
110
,
39
,
169
,
100
,
250
,
47
,
/* 2070 */
101
,
174
,
101
,
169
,
382
,
415
,
384
,
44
,
418
,
100
,
/* 2080 */
370
,
421
,
422
,
423
,
424
,
425
,
426
,
100
,
428
,
100
,
/* 2090 */
333
,
194
,
382
,
237
,
384
,
100
,
98
,
98
,
2
,
22
,
/* 2100 */
343
,
22
,
215
,
35
,
47
,
47
,
35
,
415
,
101
,
100
,
/* 2110 */
418
,
35
,
122
,
421
,
422
,
423
,
424
,
425
,
426
,
100
,
/* 2120 */
428
,
35
,
101
,
100
,
100
,
415
,
111
,
370
,
418
,
101
,
/* 2130 */
100
,
421
,
422
,
423
,
424
,
425
,
426
,
333
,
428
,
382
,
/* 2140 */
101
,
384
,
217
,
100
,
35
,
101
,
100
,
343
,
101
,
101
,
/* 2150 */
100
,
100
,
35
,
101
,
101
,
44
,
122
,
122
,
122
,
333
,
/* 2160 */
100
,
100
,
100
,
35
,
100
,
100
,
22
,
66
,
65
,
343
,
/* 2170 */
35
,
35
,
415
,
44
,
370
,
418
,
35
,
35
,
421
,
422
,
/* 2180 */
423
,
424
,
425
,
426
,
333
,
428
,
382
,
35
,
384
,
35
,
/* 2190 */
35
,
35
,
72
,
94
,
343
,
35
,
370
,
35
,
35
,
22
,
/* 2200 */
35
,
35
,
35
,
72
,
35
,
35
,
333
,
35
,
382
,
35
,
/* 2210 */
384
,
35
,
22
,
35
,
0
,
35
,
343
,
49
,
39
,
415
,
/* 2220 */
0
,
370
,
418
,
35
,
49
,
421
,
422
,
423
,
424
,
425
,
/* 2230 */
4
26
,
39
,
428
,
382
,
0
,
384
,
35
,
39
,
49
,
0
,
/* 2240 */
35
,
415
,
49
,
370
,
418
,
39
,
0
,
421
,
422
,
423
,
/* 2250 */
4
24
,
425
,
426
,
35
,
428
,
382
,
35
,
384
,
22
,
21
,
/* 2260 */
476
,
476
,
22
,
22
,
21
,
20
,
415
,
0
,
476
,
418
,
/* 2270 */
3
33
,
476
,
421
,
422
,
423
,
424
,
425
,
426
,
476
,
428
,
/* 2280 */
343
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
415
,
476
,
/* 2290 */
333
,
418
,
476
,
476
,
421
,
422
,
423
,
424
,
425
,
42
6
,
/* 2300 */
3
43
,
428
,
476
,
476
,
476
,
333
,
476
,
370
,
476
,
476
,
/* 2310 */
4
76
,
476
,
476
,
476
,
476
,
343
,
476
,
476
,
476
,
382
,
/* 2320 */
4
76
,
384
,
476
,
476
,
476
,
476
,
476
,
370
,
476
,
476
,
/* 2330 */
476
,
476
,
476
,
476
,
4
76
,
476
,
476
,
333
,
476
,
382
,
/* 2340 */
4
76
,
384
,
370
,
476
,
476
,
476
,
476
,
343
,
476
,
476
,
/* 2350 */
476
,
476
,
4
15
,
476
,
382
,
418
,
384
,
476
,
421
,
422
,
/* 2360 */
4
23
,
424
,
425
,
426
,
476
,
428
,
476
,
476
,
476
,
476
,
/* 2370 */
476
,
476
,
4
15
,
476
,
370
,
418
,
476
,
476
,
421
,
422
,
/* 2380 */
4
23
,
424
,
425
,
426
,
476
,
428
,
382
,
415
,
384
,
476
,
/* 2390 */
418
,
476
,
476
,
421
,
422
,
423
,
424
,
425
,
42
6
,
476
,
/* 2400 */
4
28
,
476
,
476
,
476
,
476
,
333
,
476
,
476
,
476
,
476
,
/* 2410 */
4
76
,
476
,
476
,
476
,
476
,
343
,
476
,
476
,
476
,
415
,
/* 2420 */
4
76
,
476
,
418
,
476
,
333
,
421
,
422
,
423
,
424
,
425
,
/* 2430 */
426
,
476
,
428
,
476
,
343
,
476
,
476
,
476
,
476
,
476
,
/* 2440 */
476
,
4
76
,
370
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
/* 2450 */
476
,
4
76
,
333
,
476
,
382
,
476
,
384
,
476
,
476
,
476
,
/* 2460 */
4
76
,
370
,
343
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
/* 2470 */
476
,
333
,
476
,
382
,
476
,
384
,
476
,
476
,
476
,
476
,
/* 2480 */
476
,
343
,
476
,
476
,
476
,
476
,
476
,
415
,
476
,
370
,
/* 2490 */
4
18
,
476
,
476
,
421
,
422
,
423
,
424
,
425
,
42
6
,
476
,
/* 2500 */
4
28
,
382
,
476
,
384
,
476
,
476
,
415
,
476
,
370
,
418
,
/* 2510 */
476
,
476
,
4
21
,
422
,
423
,
424
,
425
,
426
,
333
,
428
,
/* 2520 */
3
82
,
476
,
384
,
476
,
476
,
476
,
476
,
476
,
343
,
476
,
/* 2530 */
476
,
476
,
476
,
476
,
415
,
47
6
,
476
,
418
,
476
,
476
,
/* 2540 */
421
,
422
,
423
,
424
,
425
,
426
,
476
,
428
,
476
,
476
,
/* 2550 */
476
,
476
,
476
,
4
15
,
476
,
370
,
418
,
476
,
476
,
421
,
/* 2560 */
4
22
,
423
,
424
,
425
,
426
,
476
,
428
,
382
,
476
,
384
,
/* 2570 */
476
,
4
76
,
476
,
476
,
476
,
333
,
476
,
476
,
476
,
476
,
/* 2580 */
476
,
476
,
476
,
476
,
476
,
343
,
476
,
476
,
476
,
476
,
/* 2590 */
476
,
333
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
/* 2600 */
415
,
343
,
476
,
418
,
476
,
476
,
421
,
422
,
423
,
424
,
/* 2610 */
425
,
426
,
370
,
428
,
476
,
476
,
476
,
476
,
476
,
476
,
/* 2620 */
476
,
476
,
476
,
476
,
382
,
476
,
384
,
476
,
370
,
476
,
/* 2630 */
476
,
476
,
4
76
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
/* 2640 */
382
,
333
,
384
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
/* 2650 */
476
,
343
,
476
,
476
,
476
,
476
,
476
,
415
,
476
,
476
,
/* 2660 */
4
18
,
333
,
476
,
421
,
422
,
423
,
424
,
425
,
42
6
,
476
,
/* 2670 */
4
28
,
343
,
476
,
415
,
476
,
476
,
418
,
476
,
370
,
421
,
/* 2680 */
4
22
,
423
,
424
,
425
,
426
,
476
,
428
,
476
,
476
,
476
,
/* 2690 */
382
,
476
,
384
,
476
,
476
,
476
,
476
,
476
,
370
,
476
,
/* 2700 */
4
76
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
333
,
476
,
/* 2710 */
382
,
476
,
384
,
476
,
476
,
476
,
476
,
476
,
343
,
47
6
,
/* 2720 */
476
,
4
76
,
476
,
415
,
476
,
476
,
418
,
476
,
476
,
421
,
/* 2730 */
422
,
423
,
424
,
425
,
426
,
476
,
428
,
476
,
476
,
476
,
/* 2740 */
476
,
476
,
33
,
415
,
476
,
370
,
418
,
476
,
476
,
421
,
/* 2750 */
42
2
,
423
,
424
,
425
,
426
,
476
,
428
,
382
,
49
,
384
,
/* 2760 */
476
,
476
,
476
,
476
,
55
,
56
,
57
,
58
,
59
,
476
,
/* 2770 */
4
76
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
/* 2780 */
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
/* 2790 */
4
15
,
476
,
476
,
418
,
476
,
476
,
421
,
422
,
423
,
424
,
/* 2800 */
42
5
,
426
,
476
,
428
,
476
,
476
,
476
,
476
,
99
,
476
,
/* 2810 */
476
,
102
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
/* 2820 */
476
,
4
76
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
/* 2830 */
4
76
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
/* 2840 */
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
/* 2850 */
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
/* 1350 */
229
,
230
,
231
,
232
,
233
,
234
,
235
,
333
,
168
,
44
,
/* 1360 */
101
,
441
,
101
,
13
,
44
,
451
,
13
,
343
,
254
,
345
,
/* 1370 */
188
,
402
,
49
,
417
,
101
,
404
,
101
,
101
,
101
,
101
,
/* 1380 */
4
2
,
184
,
389
,
333
,
20
,
35
,
392
,
165
,
35
,
389
,
/* 1390 */
387
,
20
,
387
,
343
,
370
,
345
,
342
,
342
,
389
,
387
,
/* 1400 */
98
,
96
,
188
,
354
,
353
,
342
,
382
,
95
,
384
,
352
,
/* 1410 */
342
,
342
,
342
,
20
,
335
,
48
,
101
,
335
,
20
,
339
,
/* 1420 */
370
,
101
,
339
,
350
,
411
,
20
,
384
,
20
,
344
,
20
,
/* 1430 */
403
,
350
,
382
,
344
,
384
,
350
,
350
,
350
,
350
,
342
,
/* 1440 */
416
,
350
,
418
,
53
,
335
,
421
,
422
,
423
,
424
,
425
,
/* 1450 */
426
,
3
47
,
428
,
347
,
382
,
333
,
382
,
433
,
382
,
435
,
/* 1460 */
3
70
,
342
,
370
,
439
,
440
,
343
,
416
,
345
,
418
,
370
,
/* 1470 */
370
,
421
,
422
,
423
,
424
,
425
,
426
,
370
,
428
,
335
,
/* 1480 */
370
,
333
,
370
,
433
,
203
,
435
,
370
,
37
0
,
370
,
439
,
/* 1490 */
440
,
343
,
370
,
370
,
100
,
348
,
192
,
191
,
190
,
384
,
/* 1500 */
3
42
,
348
,
261
,
392
,
382
,
410
,
384
,
413
,
415
,
411
,
/* 1510 */
409
,
382
,
456
,
408
,
333
,
260
,
392
,
382
,
370
,
38
2
,
/* 1520 */
4
56
,
382
,
402
,
397
,
343
,
269
,
459
,
397
,
177
,
458
,
/* 1530 */
3
82
,
456
,
384
,
271
,
270
,
255
,
402
,
475
,
416
,
273
,
/* 1540 */
4
18
,
278
,
275
,
421
,
422
,
423
,
424
,
425
,
426
,
251
,
/* 1550 */
428
,
370
,
343
,
20
,
344
,
433
,
454
,
435
,
420
,
342
,
/* 1560 */
20
,
439
,
440
,
382
,
416
,
384
,
418
,
395
,
402
,
421
,
/* 1570 */
4
22
,
423
,
424
,
425
,
426
,
348
,
428
,
469
,
348
,
366
,
/* 1580 */
455
,
433
,
397
,
435
,
382
,
453
,
382
,
439
,
440
,
382
,
/* 1590 */
382
,
333
,
397
,
382
,
170
,
468
,
348
,
416
,
382
,
418
,
/* 1600 */
394
,
343
,
421
,
422
,
423
,
424
,
425
,
426
,
100
,
428
,
/* 1610 */
100
,
343
,
438
,
348
,
433
,
382
,
435
,
374
,
348
,
36
,
/* 1620 */
439
,
440
,
333
,
336
,
342
,
335
,
405
,
412
,
370
,
36
0
,
/* 1630 */
331
,
0
,
343
,
398
,
398
,
364
,
364
,
349
,
364
,
0
,
/* 1640 */
382
,
0
,
384
,
42
,
0
,
35
,
208
,
35
,
35
,
35
,
/* 1650 */
333
,
208
,
0
,
35
,
35
,
208
,
0
,
208
,
0
,
370
,
/* 1660 */
3
43
,
35
,
0
,
0
,
22
,
35
,
195
,
188
,
186
,
0
,
/* 1670 */
0
,
382
,
0
,
384
,
416
,
182
,
418
,
181
,
0
,
421
,
/* 1680 */
422
,
423
,
424
,
425
,
426
,
333
,
428
,
370
,
0
,
0
,
/* 1690 */
47
,
433
,
0
,
435
,
0
,
343
,
42
,
439
,
440
,
382
,
/* 1700 */
0
,
384
,
0
,
0
,
0
,
416
,
0
,
418
,
0
,
0
,
/* 1710 */
42
1
,
422
,
423
,
424
,
425
,
426
,
0
,
428
,
35
,
155
,
/* 1720 */
0
,
155
,
370
,
0
,
435
,
0
,
0
,
0
,
439
,
44
0
,
/* 1730 */
0
,
0
,
0
,
416
,
382
,
418
,
384
,
0
,
421
,
422
,
/* 1740 */
42
3
,
424
,
425
,
426
,
0
,
428
,
0
,
0
,
0
,
0
,
/* 1750 */
0
,
0
,
435
,
0
,
42
,
0
,
439
,
440
,
0
,
0
,
/* 1760 */
0
,
0
,
0
,
22
,
0
,
0
,
0
,
139
,
416
,
48
,
/* 1770 */
4
18
,
0
,
0
,
421
,
422
,
423
,
424
,
425
,
426
,
333
,
/* 1780 */
428
,
48
,
0
,
59
,
0
,
22
,
0
,
435
,
59
,
343
,
/* 1790 */
22
,
439
,
440
,
0
,
59
,
0
,
42
,
14
,
0
,
333
,
/* 1800 */
44
,
0
,
35
,
0
,
47
,
0
,
177
,
0
,
0
,
343
,
/* 1810 */
333
,
0
,
39
,
0
,
0
,
40
,
370
,
47
,
39
,
39
,
/* 1820 */
343
,
47
,
35
,
0
,
39
,
35
,
49
,
49
,
382
,
0
,
/* 1830 */
384
,
39
,
35
,
39
,
0
,
35
,
370
,
49
,
49
,
0
,
/* 1840 */
0
,
39
,
66
,
0
,
0
,
109
,
107
,
370
,
382
,
22
,
/* 1850 */
384
,
35
,
0
,
35
,
35
,
35
,
35
,
35
,
22
,
382
,
/* 1860 */
35
,
384
,
416
,
35
,
418
,
35
,
0
,
421
,
422
,
423
,
/* 1870 */
42
4
,
425
,
426
,
35
,
428
,
22
,
44
,
44
,
0
,
22
,
/* 1880 */
35
,
4
35
,
416
,
0
,
418
,
22
,
440
,
421
,
422
,
423
,
/* 1890 */
424
,
425
,
426
,
416
,
428
,
418
,
333
,
51
,
421
,
422
,
/* 1900 */
4
23
,
424
,
425
,
426
,
35
,
428
,
343
,
333
,
0
,
35
,
/* 1910 */
0
,
35
,
0
,
22
,
20
,
35
,
35
,
343
,
101
,
35
,
/* 1920 */
0
,
193
,
333
,
22
,
100
,
35
,
100
,
0
,
462
,
189
,
/* 1930 */
0
,
22
,
343
,
370
,
0
,
3
,
44
,
256
,
101
,
98
,
/* 1940 */
44
,
464
,
100
,
48
,
370
,
382
,
48
,
384
,
100
,
375
,
/* 1950 */
96
,
170
,
101
,
47
,
47
,
44
,
382
,
101
,
384
,
37
0
,
/* 1960 */
100
,
100
,
100
,
44
,
168
,
101
,
175
,
168
,
100
,
44
,
/* 1970 */
256
,
382
,
168
,
384
,
101
,
3
,
101
,
44
,
256
,
416
,
/* 1980 */
35
,
418
,
35
,
35
,
421
,
422
,
423
,
424
,
425
,
426
,
/* 1990 */
4
16
,
428
,
418
,
333
,
35
,
421
,
422
,
423
,
424
,
425
,
/* 2000 */
426
,
35
,
428
,
343
,
35
,
416
,
101
,
418
,
333
,
47
,
/* 2010 */
421
,
422
,
423
,
424
,
425
,
426
,
1
,
428
,
343
,
430
,
/* 2020 */
44
,
47
,
101
,
0
,
0
,
0
,
0
,
39
,
100
,
47
,
/* 2030 */
370
,
1
00
,
0
,
39
,
19
,
375
,
473
,
101
,
101
,
100
,
/* 2040 */
100
,
171
,
382
,
100
,
384
,
370
,
169
,
47
,
33
,
10
0
,
/* 2050 */
375
,
110
,
44
,
98
,
98
,
2
,
250
,
382
,
22
,
384
,
/* 2060 */
100
,
100
,
215
,
100
,
49
,
101
,
101
,
333
,
101
,
47
,
/* 2070 */
55
,
56
,
57
,
58
,
59
,
100
,
416
,
343
,
418
,
100
,
/* 2080 */
47
,
421
,
422
,
423
,
424
,
425
,
426
,
237
,
428
,
22
,
/* 2090 */
101
,
416
,
100
,
418
,
111
,
35
,
421
,
422
,
423
,
424
,
/* 2100 */
425
,
426
,
333
,
428
,
370
,
35
,
217
,
101
,
101
,
100
,
/* 2110 */
35
,
100
,
343
,
101
,
99
,
35
,
382
,
102
,
384
,
100
,
/* 2120 */
35
,
35
,
101
,
122
,
122
,
122
,
44
,
100
,
35
,
101
,
/* 2130 */
100
,
100
,
122
,
22
,
100
,
66
,
65
,
100
,
35
,
370
,
/* 2140 */
35
,
35
,
35
,
35
,
35
,
35
,
72
,
35
,
94
,
134
,
/* 2150 */
416
,
382
,
418
,
384
,
22
,
421
,
422
,
423
,
424
,
425
,
/* 2160 */
426
,
44
,
428
,
35
,
333
,
35
,
35
,
72
,
35
,
35
,
/* 2170 */
35
,
35
,
35
,
35
,
343
,
35
,
35
,
22
,
35
,
0
,
/* 2180 */
35
,
39
,
0
,
35
,
169
,
416
,
0
,
418
,
49
,
174
,
/* 2190 */
421
,
422
,
423
,
424
,
425
,
426
,
49
,
428
,
39
,
35
,
/* 2200 */
49
,
370
,
39
,
0
,
35
,
49
,
39
,
0
,
35
,
194
,
/* 2210 */
35
,
0
,
22
,
382
,
21
,
384
,
22
,
22
,
21
,
20
,
/* 2220 */
476
,
333
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
/* 2230 */
4
76
,
343
,
333
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
/* 2240 */
476
,
476
,
343
,
476
,
476
,
476
,
476
,
416
,
476
,
418
,
/* 2250 */
4
76
,
333
,
421
,
422
,
423
,
424
,
425
,
426
,
370
,
428
,
/* 2260 */
476
,
343
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
370
,
/* 2270 */
3
82
,
476
,
384
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
/* 2280 */
476
,
382
,
476
,
384
,
476
,
476
,
476
,
476
,
370
,
476
,
/* 2290 */
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
47
6
,
/* 2300 */
3
82
,
476
,
384
,
476
,
416
,
476
,
418
,
476
,
476
,
421
,
/* 2310 */
4
22
,
423
,
424
,
425
,
426
,
416
,
428
,
418
,
333
,
476
,
/* 2320 */
4
21
,
422
,
423
,
424
,
425
,
426
,
476
,
428
,
343
,
476
,
/* 2330 */
476
,
476
,
476
,
476
,
4
16
,
476
,
418
,
333
,
476
,
421
,
/* 2340 */
4
22
,
423
,
424
,
425
,
426
,
476
,
428
,
343
,
476
,
476
,
/* 2350 */
476
,
476
,
4
76
,
333
,
476
,
370
,
476
,
476
,
476
,
476
,
/* 2360 */
4
76
,
476
,
476
,
343
,
476
,
476
,
476
,
382
,
333
,
384
,
/* 2370 */
476
,
476
,
4
76
,
476
,
370
,
476
,
476
,
476
,
343
,
476
,
/* 2380 */
4
76
,
476
,
476
,
476
,
333
,
476
,
382
,
476
,
384
,
476
,
/* 2390 */
370
,
476
,
476
,
476
,
343
,
476
,
476
,
476
,
47
6
,
476
,
/* 2400 */
4
76
,
416
,
382
,
418
,
384
,
370
,
421
,
422
,
423
,
424
,
/* 2410 */
4
25
,
426
,
476
,
428
,
476
,
476
,
476
,
382
,
476
,
384
,
/* 2420 */
4
16
,
370
,
418
,
476
,
476
,
421
,
422
,
423
,
424
,
425
,
/* 2430 */
426
,
476
,
428
,
382
,
476
,
384
,
416
,
476
,
418
,
476
,
/* 2440 */
476
,
4
21
,
422
,
423
,
424
,
425
,
426
,
476
,
428
,
476
,
/* 2450 */
476
,
4
16
,
333
,
418
,
476
,
476
,
421
,
422
,
423
,
424
,
/* 2460 */
4
25
,
426
,
343
,
428
,
476
,
476
,
476
,
416
,
476
,
418
,
/* 2470 */
476
,
476
,
421
,
422
,
423
,
424
,
425
,
426
,
476
,
428
,
/* 2480 */
476
,
476
,
476
,
333
,
476
,
476
,
476
,
476
,
476
,
370
,
/* 2490 */
4
76
,
476
,
476
,
343
,
476
,
476
,
476
,
476
,
47
6
,
476
,
/* 2500 */
4
76
,
382
,
476
,
384
,
476
,
476
,
476
,
476
,
476
,
476
,
/* 2510 */
476
,
476
,
4
76
,
476
,
476
,
476
,
476
,
476
,
333
,
476
,
/* 2520 */
3
70
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
343
,
476
,
/* 2530 */
476
,
476
,
382
,
476
,
384
,
41
6
,
476
,
418
,
476
,
476
,
/* 2540 */
421
,
422
,
423
,
424
,
425
,
426
,
476
,
428
,
476
,
333
,
/* 2550 */
476
,
476
,
476
,
4
76
,
476
,
370
,
476
,
476
,
476
,
343
,
/* 2560 */
4
76
,
476
,
476
,
476
,
476
,
476
,
416
,
382
,
418
,
384
,
/* 2570 */
476
,
4
21
,
422
,
423
,
424
,
425
,
426
,
476
,
428
,
476
,
/* 2580 */
476
,
476
,
476
,
476
,
476
,
476
,
370
,
476
,
476
,
476
,
/* 2590 */
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
382
,
476
,
/* 2600 */
384
,
416
,
476
,
418
,
476
,
476
,
421
,
422
,
423
,
424
,
/* 2610 */
425
,
426
,
476
,
428
,
476
,
333
,
476
,
476
,
476
,
476
,
/* 2620 */
476
,
476
,
476
,
476
,
476
,
343
,
476
,
476
,
476
,
476
,
/* 2630 */
476
,
476
,
4
16
,
476
,
418
,
476
,
333
,
421
,
422
,
423
,
/* 2640 */
424
,
425
,
426
,
476
,
428
,
476
,
343
,
476
,
476
,
476
,
/* 2650 */
476
,
476
,
370
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
/* 2660 */
4
76
,
476
,
333
,
476
,
382
,
476
,
384
,
476
,
47
6
,
476
,
/* 2670 */
4
76
,
476
,
343
,
370
,
476
,
476
,
476
,
476
,
476
,
476
,
/* 2680 */
4
76
,
333
,
476
,
476
,
476
,
382
,
476
,
384
,
476
,
476
,
/* 2690 */
476
,
343
,
476
,
476
,
476
,
476
,
476
,
476
,
416
,
370
,
/* 2700 */
4
18
,
476
,
476
,
421
,
422
,
423
,
424
,
425
,
426
,
476
,
/* 2710 */
428
,
382
,
333
,
384
,
476
,
476
,
476
,
476
,
370
,
41
6
,
/* 2720 */
476
,
4
18
,
343
,
476
,
421
,
422
,
423
,
424
,
425
,
426
,
/* 2730 */
382
,
428
,
384
,
476
,
476
,
476
,
476
,
476
,
333
,
476
,
/* 2740 */
476
,
476
,
476
,
476
,
476
,
416
,
476
,
418
,
343
,
370
,
/* 2750 */
42
1
,
422
,
423
,
424
,
425
,
426
,
476
,
428
,
476
,
476
,
/* 2760 */
476
,
382
,
476
,
384
,
416
,
476
,
418
,
476
,
476
,
421
,
/* 2770 */
4
22
,
423
,
424
,
425
,
426
,
370
,
428
,
476
,
476
,
476
,
/* 2780 */
476
,
476
,
476
,
476
,
476
,
476
,
476
,
382
,
476
,
384
,
/* 2790 */
4
76
,
476
,
476
,
476
,
476
,
416
,
476
,
418
,
476
,
476
,
/* 2800 */
42
1
,
422
,
423
,
424
,
425
,
426
,
333
,
428
,
476
,
476
,
/* 2810 */
476
,
476
,
476
,
476
,
476
,
476
,
343
,
476
,
476
,
476
,
/* 2820 */
476
,
4
16
,
476
,
418
,
476
,
476
,
421
,
422
,
423
,
424
,
/* 2830 */
4
25
,
426
,
476
,
428
,
476
,
476
,
476
,
476
,
476
,
476
,
/* 2840 */
476
,
476
,
476
,
370
,
476
,
476
,
476
,
476
,
476
,
476
,
/* 2850 */
476
,
476
,
476
,
476
,
476
,
382
,
476
,
384
,
476
,
476
,
/* 2860 */
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
/* 2870 */
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
169
,
170
,
/* 2880 */
476
,
476
,
476
,
174
,
476
,
176
,
476
,
476
,
476
,
47
6
,
/* 2890 */
476
,
4
76
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
47
6
,
/* 2900 */
476
,
4
76
,
476
,
194
,
476
,
476
,
476
,
476
,
476
,
476
,
/* 2910 */
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
/* 2920 */
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
/* 2930 */
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
/* 2940 */
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
/* 2950 */
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
/* 2960 */
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
/* 2970 */
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
/* 2980 */
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
/* 2990 */
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
/* 3000 */
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
/* 3010 */
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
/* 3020 */
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
/* 3030 */
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
/* 3040 */
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
/* 3050 */
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
/* 3060 */
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
/* 3070 */
476
,
476
,
476
,
330
,
330
,
330
,
330
,
330
,
330
,
330
,
/* 2870 */
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
/* 2880 */
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
476
,
41
6
,
/* 2890 */
476
,
4
18
,
476
,
476
,
421
,
422
,
423
,
424
,
425
,
42
6
,
/* 2900 */
476
,
4
28
,
330
,
330
,
330
,
330
,
330
,
330
,
330
,
330
,
/* 2910 */
330
,
330
,
330
,
330
,
330
,
330
,
330
,
330
,
330
,
330
,
/* 2920 */
330
,
330
,
330
,
330
,
330
,
330
,
330
,
330
,
330
,
330
,
/* 2930 */
330
,
330
,
330
,
330
,
330
,
330
,
330
,
330
,
330
,
330
,
/* 2940 */
330
,
330
,
330
,
330
,
330
,
330
,
330
,
330
,
330
,
330
,
/* 2950 */
330
,
330
,
330
,
330
,
330
,
330
,
330
,
330
,
330
,
330
,
/* 2960 */
330
,
330
,
330
,
330
,
330
,
330
,
330
,
330
,
330
,
330
,
/* 2970 */
330
,
330
,
330
,
330
,
330
,
330
,
330
,
330
,
330
,
330
,
/* 2980 */
330
,
330
,
330
,
330
,
330
,
330
,
330
,
330
,
330
,
330
,
/* 2990 */
330
,
330
,
330
,
330
,
330
,
330
,
330
,
330
,
330
,
330
,
/* 3000 */
330
,
330
,
330
,
330
,
330
,
330
,
330
,
330
,
330
,
330
,
/* 3010 */
330
,
330
,
330
,
330
,
330
,
330
,
330
,
330
,
330
,
330
,
/* 3020 */
330
,
330
,
330
,
330
,
330
,
330
,
330
,
330
,
330
,
330
,
/* 3030 */
330
,
330
,
330
,
330
,
330
,
330
,
330
,
330
,
330
,
330
,
/* 3040 */
330
,
330
,
330
,
330
,
330
,
330
,
330
,
330
,
330
,
330
,
/* 3050 */
330
,
330
,
330
,
330
,
330
,
330
,
330
,
330
,
330
,
330
,
/* 3060 */
330
,
330
,
330
,
330
,
330
,
330
,
330
,
330
,
330
,
330
,
/* 3070 */
330
,
330
,
330
,
330
,
330
,
330
,
330
,
330
,
330
,
330
,
/* 3080 */
330
,
330
,
330
,
330
,
330
,
330
,
330
,
330
,
330
,
330
,
/* 3090 */
330
,
330
,
330
,
330
,
330
,
330
,
330
,
330
,
330
,
330
,
/* 3100 */
330
,
330
,
330
,
330
,
330
,
330
,
330
,
330
,
330
,
330
,
...
...
@@ -836,205 +836,205 @@ static const YYCODETYPE yy_lookahead[] = {
/* 3200 */
330
,
330
,
330
,
330
,
330
,
330
,
330
,
330
,
330
,
330
,
/* 3210 */
330
,
330
,
330
,
330
,
330
,
330
,
330
,
330
,
330
,
330
,
/* 3220 */
330
,
330
,
330
,
330
,
330
,
330
,
330
,
330
,
330
,
330
,
/* 3230 */
330
,
330
,
330
,
330
,
/* 3230 */
330
,
330
,
};
#define YY_SHIFT_COUNT (76
1
)
#define YY_SHIFT_COUNT (76
3
)
#define YY_SHIFT_MIN (0)
#define YY_SHIFT_MAX (2
709
)
#define YY_SHIFT_MAX (2
211
)
static
const
unsigned
short
int
yy_shift_ofst
[]
=
{
/* 0 */
550
,
0
,
224
,
0
,
449
,
449
,
449
,
449
,
449
,
449
,
/* 10 */
449
,
449
,
449
,
449
,
449
,
449
,
673
,
897
,
897
,
1121
,
/* 20 */
897
,
897
,
897
,
897
,
897
,
897
,
897
,
897
,
897
,
897
,
/* 30 */
897
,
897
,
897
,
897
,
897
,
897
,
897
,
897
,
897
,
897
,
/* 40 */
897
,
897
,
897
,
897
,
897
,
897
,
897
,
897
,
897
,
1
48
,
/* 50 */
368
,
93
,
64
,
140
,
147
,
322
,
147
,
64
,
64
,
1346
,
/* 60 */
1346
,
1346
,
147
,
1346
,
1346
,
314
,
147
,
76
,
369
,
111
,
/* 70 */
1
11
,
369
,
656
,
656
,
18
,
327
,
7
,
7
,
111
,
111
,
/* 80 */
1
11
,
111
,
111
,
111
,
111
,
145
,
111
,
111
,
248
,
76
,
/* 90 */
1
11
,
111
,
363
,
111
,
76
,
111
,
145
,
111
,
145
,
76
,
/* 100 */
1
11
,
111
,
76
,
111
,
76
,
76
,
76
,
111
,
343
,
223
,
/* 110 */
189
,
189
,
405
,
114
,
443
,
443
,
443
,
443
,
443
,
443
,
/* 120 */
44
3
,
443
,
443
,
443
,
443
,
443
,
443
,
443
,
443
,
443
,
/* 130 */
44
3
,
443
,
443
,
672
,
483
,
18
,
327
,
293
,
253
,
253
,
/* 140 */
253
,
217
,
622
,
622
,
293
,
523
,
523
,
523
,
248
,
460
,
/* 150 */
3
54
,
76
,
585
,
76
,
585
,
585
,
604
,
670
,
35
,
3
5
,
/* 160 */
35
,
35
,
35
,
35
,
35
,
35
,
1897
,
636
,
15
,
167
,
/* 170 */
1
6
,
297
,
515
,
252
,
454
,
454
,
373
,
842
,
389
,
484
,
/* 180 */
1058
,
1163
,
862
,
892
,
922
,
983
,
45
,
922
,
878
,
727
,
/* 190 */
948
,
1136
,
1347
,
1214
,
1358
,
1382
,
1358
,
1239
,
1390
,
1390
,
/* 200 */
13
58
,
1239
,
1239
,
1313
,
1329
,
1390
,
1338
,
1390
,
1390
,
1390
,
/* 210 */
1
435
,
1408
,
1435
,
1408
,
1442
,
248
,
1457
,
248
,
1460
,
1471
,
/* 220 */
248
,
1460
,
248
,
248
,
248
,
1390
,
248
,
1440
,
1440
,
1435
,
/* 230 */
76
,
76
,
76
,
76
,
76
,
76
,
76
,
76
,
76
,
76
,
/* 240 */
76
,
1390
,
1435
,
585
,
585
,
585
,
1311
,
1427
,
1442
,
343
,
/* 250 */
13
56
,
1359
,
1457
,
343
,
1362
,
1390
,
1382
,
1382
,
585
,
1298
,
/* 260 */
1
307
,
585
,
1298
,
1307
,
585
,
585
,
76
,
1314
,
1407
,
1298
,
/* 270 */
1
317
,
1319
,
1335
,
1136
,
1315
,
1323
,
1327
,
1345
,
523
,
1579
,
/* 280 */
1
390
,
1460
,
343
,
343
,
1587
,
1307
,
585
,
585
,
585
,
585
,
/* 290 */
585
,
1307
,
585
,
1445
,
343
,
604
,
343
,
523
,
1528
,
1529
,
/* 300 */
585
,
670
,
1390
,
343
,
1600
,
1435
,
2904
,
2904
,
2904
,
2904
,
/* 310 */
290
4
,
2904
,
2904
,
2904
,
2904
,
34
,
2709
,
238
,
590
,
198
,
/* 320 */
539
,
973
,
794
,
486
,
1064
,
925
,
1030
,
48
,
48
,
48
,
/* 330 */
48
,
48
,
48
,
48
,
48
,
48
,
831
,
612
,
65
,
65
,
/* 340 */
549
,
737
,
700
,
891
,
262
,
448
,
1025
,
717
,
531
,
53
1
,
/* 350 */
962
,
751
,
906
,
962
,
962
,
962
,
1202
,
1015
,
513
,
1219
,
/* 360 */
1
008
,
1101
,
1194
,
1104
,
1113
,
1149
,
1159
,
381
,
1229
,
1248
,
/* 370 */
1
259
,
1267
,
1069
,
1196
,
1221
,
1217
,
1231
,
1233
,
1234
,
1143
,
/* 380 */
836
,
1152
,
1165
,
1260
,
1262
,
1273
,
1276
,
1277
,
1318
,
1281
,
/* 390 */
12
83
,
1208
,
1284
,
1238
,
1320
,
1321
,
1326
,
1328
,
1336
,
1343
,
/* 400 */
671
,
1265
,
1266
,
1255
,
1289
,
1325
,
1366
,
1666
,
1667
,
1669
,
/* 410 */
163
1
,
1674
,
1640
,
1468
,
1642
,
1643
,
1644
,
1472
,
1682
,
1648
,
/* 420 */
16
49
,
1477
,
1687
,
1480
,
1689
,
1655
,
1699
,
1670
,
1693
,
1659
,
/* 430 */
1
500
,
1508
,
1511
,
1701
,
1702
,
1704
,
1523
,
1526
,
1708
,
1715
,
/* 440 */
167
2
,
1717
,
1720
,
1722
,
1683
,
1724
,
1726
,
1729
,
1733
,
1735
,
/* 450 */
17
36
,
1743
,
1745
,
1591
,
1712
,
1748
,
1594
,
1750
,
1753
,
1754
,
/* 460 */
17
64
,
1765
,
1767
,
1768
,
1775
,
1777
,
1778
,
1779
,
1781
,
1782
,
/* 470 */
17
84
,
1785
,
1786
,
1716
,
1759
,
1760
,
1761
,
1791
,
1792
,
1793
,
/* 480 */
17
72
,
1795
,
1796
,
1797
,
1618
,
1798
,
1800
,
1780
,
1756
,
178
3
,
/* 490 */
17
58
,
1807
,
1749
,
1776
,
1810
,
1755
,
1812
,
1762
,
1813
,
1816
,
/* 500 */
17
88
,
1787
,
1774
,
1773
,
1799
,
1805
,
1802
,
1822
,
1811
,
1789
,
/* 510 */
1
823
,
1824
,
1827
,
1794
,
1658
,
1832
,
1838
,
1839
,
1790
,
1853
,
/* 520 */
1
855
,
1825
,
1814
,
1828
,
1861
,
1842
,
1829
,
1835
,
1879
,
1845
,
/* 530 */
18
33
,
1844
,
1885
,
1858
,
1846
,
1862
,
1902
,
1912
,
1914
,
1915
,
/* 540 */
18
08
,
1815
,
1884
,
1898
,
1921
,
1888
,
1889
,
1891
,
1893
,
1894
,
/* 550 */
18
96
,
1899
,
1895
,
1900
,
1903
,
1905
,
1910
,
1907
,
1933
,
1913
,
/* 560 */
1
943
,
1923
,
1886
,
1947
,
1927
,
1916
,
1959
,
1922
,
1960
,
1928
,
/* 570 */
19
62
,
1948
,
1952
,
1938
,
1939
,
1940
,
1875
,
1877
,
1978
,
1817
,
/* 580 */
1
880
,
1809
,
1944
,
1961
,
1982
,
1806
,
1964
,
1830
,
1831
,
1997
,
/* 590 */
2000
,
1836
,
1834
,
2002
,
1963
,
1752
,
1906
,
1909
,
1911
,
1965
,
/* 600 */
1
917
,
1966
,
1920
,
1918
,
1968
,
1973
,
1919
,
1924
,
1926
,
1929
,
/* 610 */
1
931
,
1974
,
1975
,
1976
,
1934
,
1977
,
1771
,
1932
,
1935
,
2025
,
/* 620 */
1
993
,
1801
,
2003
,
2005
,
2006
,
2010
,
2011
,
2012
,
1949
,
1950
,
/* 630 */
19
92
,
1818
,
2008
,
2001
,
2049
,
2054
,
2055
,
2056
,
1958
,
2020
,
/* 640 */
1
773
,
2013
,
1967
,
1969
,
1971
,
1979
,
1987
,
1890
,
1989
,
2063
,
/* 650 */
2026
,
1904
,
1995
,
1954
,
1773
,
2022
,
2033
,
1998
,
1856
,
1999
,
/* 660 */
2096
,
2077
,
1887
,
2009
,
2007
,
2019
,
2021
,
2023
,
2028
,
2057
,
/* 670 */
2024
,
2030
,
2058
,
2039
,
2079
,
1925
,
2043
,
2015
,
2044
,
2068
,
/* 680 */
20
71
,
2046
,
2047
,
2076
,
2050
,
2048
,
2086
,
2051
,
2052
,
210
9
,
/* 690 */
20
60
,
2053
,
2117
,
2061
,
1990
,
2034
,
2035
,
2036
,
2062
,
2111
,
/* 700 */
20
64
,
2128
,
2065
,
2111
,
2111
,
2144
,
2101
,
2103
,
2135
,
2136
,
/* 710 */
21
41
,
2142
,
2152
,
2154
,
2155
,
2156
,
2120
,
2099
,
2129
,
2160
,
/* 720 */
21
62
,
2163
,
2177
,
2165
,
2166
,
2167
,
2131
,
1895
,
2169
,
1900
,
/* 730 */
21
70
,
2172
,
2174
,
2176
,
2190
,
2178
,
2214
,
2180
,
2168
,
2179
,
/* 740 */
2
220
,
2188
,
2175
,
2192
,
2234
,
2201
,
2189
,
2198
,
2239
,
2205
,
/* 750 */
2
193
,
2206
,
2246
,
2218
,
2221
,
2267
,
2236
,
2238
,
2240
,
2241
,
/* 760 */
2
243
,
2245
,
/* 40 */
897
,
897
,
897
,
897
,
897
,
897
,
897
,
897
,
897
,
1
13
,
/* 50 */
165
,
815
,
547
,
666
,
112
,
215
,
112
,
547
,
547
,
117
,
/* 60 */
117
,
117
,
112
,
117
,
117
,
6
,
112
,
128
,
222
,
162
,
/* 70 */
1
62
,
222
,
236
,
236
,
190
,
271
,
247
,
247
,
162
,
162
,
/* 80 */
1
62
,
162
,
162
,
162
,
162
,
296
,
162
,
162
,
4
,
128
,
/* 90 */
1
62
,
162
,
303
,
162
,
128
,
162
,
296
,
162
,
296
,
128
,
/* 100 */
1
62
,
162
,
128
,
162
,
128
,
128
,
128
,
162
,
70
,
223
,
/* 110 */
189
,
189
,
226
,
130
,
446
,
446
,
446
,
446
,
446
,
446
,
/* 120 */
44
6
,
446
,
446
,
446
,
446
,
446
,
446
,
446
,
446
,
446
,
/* 130 */
44
6
,
446
,
446
,
433
,
315
,
190
,
271
,
594
,
522
,
522
,
/* 140 */
522
,
520
,
13
,
13
,
594
,
583
,
583
,
583
,
4
,
98
,
/* 150 */
3
97
,
128
,
659
,
128
,
659
,
659
,
545
,
848
,
755
,
75
5
,
/* 160 */
755
,
755
,
755
,
755
,
755
,
755
,
2015
,
424
,
501
,
611
,
/* 170 */
1
5
,
212
,
717
,
230
,
307
,
307
,
452
,
483
,
277
,
946
,
/* 180 */
868
,
929
,
697
,
998
,
612
,
773
,
586
,
612
,
1128
,
949
,
/* 190 */
1026
,
1114
,
1323
,
1197
,
1338
,
1364
,
1338
,
1222
,
1371
,
1371
,
/* 200 */
13
38
,
1222
,
1222
,
1302
,
1305
,
1371
,
1312
,
1371
,
1371
,
1371
,
/* 210 */
1
393
,
1367
,
1393
,
1367
,
1398
,
4
,
1405
,
4
,
1407
,
1409
,
/* 220 */
4
,
1407
,
4
,
4
,
4
,
1371
,
4
,
1390
,
1390
,
1393
,
/* 230 */
128
,
128
,
128
,
128
,
128
,
128
,
128
,
128
,
128
,
128
,
/* 240 */
128
,
1371
,
1393
,
659
,
659
,
659
,
1281
,
1394
,
1398
,
70
,
/* 250 */
13
04
,
1306
,
1405
,
70
,
1308
,
1114
,
1371
,
1364
,
1364
,
659
,
/* 260 */
1
241
,
1255
,
659
,
1241
,
1255
,
659
,
659
,
128
,
1256
,
1351
,
/* 270 */
1
241
,
1262
,
1264
,
1280
,
1114
,
1263
,
1267
,
1266
,
1298
,
583
,
/* 280 */
1
533
,
1114
,
1371
,
1407
,
70
,
70
,
1540
,
1255
,
659
,
659
,
/* 290 */
659
,
659
,
659
,
1255
,
659
,
1424
,
70
,
545
,
70
,
583
,
/* 300 */
1508
,
1510
,
659
,
848
,
1371
,
70
,
1583
,
1393
,
2902
,
2902
,
/* 310 */
290
2
,
2902
,
2902
,
2902
,
2902
,
2902
,
2902
,
34
,
229
,
51
,
/* 320 */
1157
,
31
,
584
,
406
,
425
,
805
,
820
,
835
,
793
,
48
,
/* 330 */
48
,
48
,
48
,
48
,
48
,
48
,
48
,
48
,
580
,
910
,
/* 340 */
3
,
3
,
166
,
359
,
32
,
29
,
367
,
670
,
37
,
78
1
,
/* 350 */
646
,
646
,
592
,
308
,
712
,
592
,
592
,
592
,
1146
,
885
,
/* 360 */
1
113
,
238
,
1131
,
1037
,
1165
,
1077
,
1078
,
1096
,
1103
,
1047
,
/* 370 */
1
170
,
1191
,
1212
,
1219
,
977
,
1145
,
1150
,
1177
,
1152
,
1180
,
/* 380 */
1196
,
950
,
1030
,
939
,
1190
,
1198
,
1223
,
1231
,
1232
,
1234
,
/* 390 */
12
59
,
1260
,
1261
,
287
,
1273
,
416
,
1275
,
1276
,
1277
,
1278
,
/* 400 */
1315
,
1320
,
1173
,
1182
,
1214
,
1350
,
1353
,
759
,
1252
,
1631
,
/* 410 */
163
9
,
1641
,
1601
,
1644
,
1610
,
1438
,
1612
,
1613
,
1614
,
1443
,
/* 420 */
16
52
,
1618
,
1619
,
1447
,
1656
,
1449
,
1658
,
1626
,
1662
,
1642
,
/* 430 */
1
663
,
1630
,
1471
,
1479
,
1482
,
1669
,
1670
,
1672
,
1493
,
1496
,
/* 440 */
167
8
,
1688
,
1643
,
1689
,
1692
,
1694
,
1654
,
1700
,
1702
,
1703
,
/* 450 */
17
04
,
1706
,
1708
,
1709
,
1716
,
1564
,
1683
,
1720
,
1566
,
1723
,
/* 460 */
17
25
,
1726
,
1727
,
1730
,
1731
,
1732
,
1737
,
1744
,
1746
,
1747
,
/* 470 */
17
48
,
1749
,
1750
,
1751
,
1753
,
1712
,
1755
,
1758
,
1759
,
1760
,
/* 480 */
17
61
,
1762
,
1741
,
1764
,
1765
,
1766
,
1628
,
1771
,
1772
,
176
3
,
/* 490 */
17
21
,
1768
,
1733
,
1782
,
1724
,
1767
,
1784
,
1729
,
1786
,
1735
,
/* 500 */
17
93
,
1795
,
1754
,
1773
,
1756
,
1757
,
1770
,
1783
,
1774
,
1798
,
/* 510 */
1
775
,
1779
,
1801
,
1803
,
1805
,
1780
,
1629
,
1807
,
1808
,
1811
,
/* 520 */
1
776
,
1813
,
1814
,
1787
,
1777
,
1785
,
1823
,
1790
,
1778
,
1792
,
/* 530 */
18
29
,
1797
,
1788
,
1794
,
1834
,
1800
,
1789
,
1802
,
1839
,
1840
,
/* 540 */
18
43
,
1844
,
1736
,
1739
,
1816
,
1827
,
1852
,
1818
,
1819
,
1820
,
/* 550 */
18
21
,
1822
,
1825
,
1828
,
1832
,
1833
,
1830
,
1838
,
1836
,
1845
,
/* 560 */
1
866
,
1853
,
1878
,
1857
,
1846
,
1883
,
1863
,
1869
,
1908
,
1874
,
/* 570 */
19
10
,
1876
,
1912
,
1891
,
1894
,
1880
,
1881
,
1884
,
1817
,
1824
,
/* 580 */
1
920
,
1796
,
1826
,
1728
,
1890
,
1901
,
1927
,
1740
,
1909
,
1799
,
/* 590 */
1781
,
1930
,
1934
,
1804
,
1791
,
1932
,
1892
,
1681
,
1842
,
1837
,
/* 600 */
1
848
,
1895
,
1841
,
1898
,
1854
,
1851
,
1896
,
1911
,
1856
,
1860
,
/* 610 */
1
861
,
1862
,
1864
,
1919
,
1906
,
1907
,
1868
,
1925
,
1714
,
1873
,
/* 620 */
1
875
,
1972
,
1933
,
1722
,
1945
,
1947
,
1948
,
1959
,
1966
,
1969
,
/* 630 */
19
05
,
1921
,
1962
,
1806
,
1976
,
1974
,
2023
,
2024
,
2025
,
2026
,
/* 640 */
1
928
,
1988
,
1757
,
1982
,
1931
,
1936
,
1937
,
1939
,
1940
,
1870
,
/* 650 */
1943
,
2032
,
1994
,
1877
,
1949
,
1941
,
1757
,
2000
,
2008
,
1955
,
/* 660 */
1850
,
1956
,
2053
,
2036
,
1847
,
1960
,
1964
,
1961
,
1965
,
1963
,
/* 670 */
1967
,
2022
,
1975
,
1979
,
2033
,
1989
,
2067
,
1889
,
1992
,
1983
,
/* 680 */
20
06
,
2060
,
2070
,
2009
,
2007
,
2075
,
2011
,
2012
,
2080
,
201
9
,
/* 690 */
20
21
,
2085
,
2027
,
2028
,
2086
,
2030
,
2001
,
2002
,
2003
,
2010
,
/* 700 */
20
31
,
2082
,
2034
,
2093
,
2037
,
2082
,
2082
,
2111
,
2069
,
2071
,
/* 710 */
21
03
,
2105
,
2106
,
2107
,
2108
,
2109
,
2110
,
2112
,
2074
,
2054
,
/* 720 */
21
17
,
2128
,
2130
,
2131
,
2132
,
2133
,
2134
,
2135
,
2095
,
1832
,
/* 730 */
21
36
,
1833
,
2137
,
2138
,
2140
,
2141
,
2155
,
2143
,
2179
,
2145
,
/* 740 */
2
139
,
2142
,
2182
,
2148
,
2147
,
2159
,
2186
,
2164
,
2151
,
2163
,
/* 750 */
2
203
,
2169
,
2156
,
2167
,
2207
,
2173
,
2175
,
2211
,
2190
,
2193
,
/* 760 */
2
194
,
2195
,
2197
,
2199
,
};
#define YY_REDUCE_COUNT (31
4
)
#define YY_REDUCE_MIN (-
397
)
#define YY_REDUCE_MAX (2
375
)
#define YY_REDUCE_COUNT (31
6
)
#define YY_REDUCE_MIN (-
445
)
#define YY_REDUCE_MAX (2
473
)
static
const
short
yy_reduce_ofst
[]
=
{
/* 0 */
-
1
56
,
364
,
-
82
,
588
,
-
20
,
614
,
804
,
890
,
1024
,
1050
,
/* 10 */
11
18
,
1222
,
1288
,
1316
,
1348
,
1419
,
174
,
-
333
,
154
,
450
,
/* 20 */
674
,
1447
,
1097
,
1482
,
1466
,
1543
,
1566
,
1660
,
1692
,
1710
,
/* 30 */
1
757
,
1804
,
1826
,
1851
,
1873
,
1937
,
1957
,
1972
,
2004
,
2072
,
/* 40 */
2
091
,
2119
,
2138
,
2185
,
2242
,
2258
,
2308
,
2328
,
2375
,
383
,
/* 50 */
270
,
-
397
,
83
,
-
395
,
371
,
416
,
554
,
75
,
501
,
235
,
/* 60 */
786
,
827
,
-
139
,
683
,
834
,
-
195
,
-
165
,
-
359
,
-
80
,
-
172
,
/* 70 */
-
13
,
-
383
,
-
254
,
-
207
,
-
213
,
149
,
-
52
,
290
,
-
152
,
-
5
,
/* 80 */
2
63
,
376
,
407
,
413
,
453
,
82
,
508
,
593
,
462
,
271
,
/* 90 */
610
,
631
,
275
,
657
,
374
,
725
,
301
,
745
,
372
,
-
170
,
/* 100 */
7
48
,
796
,
399
,
808
,
-
83
,
421
,
605
,
810
,
260
,
-
319
,
/* 110 */
-
338
,
-
338
,
-
293
,
-
327
,
94
,
237
,
433
,
502
,
534
,
669
,
/* 120 */
693
,
712
,
802
,
807
,
809
,
813
,
815
,
833
,
849
,
854
,
/* 130 */
865
,
867
,
868
,
-
275
,
-
251
,
-
131
,
355
,
467
,
-
251
,
437
,
/* 140 */
559
,
452
,
445
,
479
,
726
,
-
334
,
-
85
,
719
,
681
,
16
8
,
/* 150 */
736
,
268
,
134
,
805
,
797
,
799
,
742
,
850
,
-
369
,
387
,
/* 160 */
499
,
580
,
713
,
832
,
913
,
713
,
637
,
927
,
485
,
899
,
/* 170 */
81
8
,
835
,
949
,
839
,
941
,
945
,
940
,
940
,
980
,
939
,
/* 180 */
1032
,
1028
,
994
,
984
,
933
,
933
,
919
,
933
,
947
,
938
,
/* 190 */
9
40
,
974
,
976
,
996
,
1012
,
1011
,
1018
,
1022
,
1070
,
1071
,
/* 200 */
10
26
,
1027
,
1037
,
1063
,
1073
,
1089
,
1083
,
1094
,
1096
,
1099
,
/* 210 */
1
123
,
1127
,
1125
,
1130
,
1060
,
1132
,
1100
,
1137
,
1142
,
1090
,
/* 220 */
1
144
,
1151
,
1146
,
1147
,
1148
,
1157
,
1153
,
1154
,
1158
,
116
9
,
/* 230 */
1
138
,
1139
,
1140
,
1141
,
1156
,
1160
,
1161
,
1167
,
1168
,
1175
,
/* 240 */
11
77
,
1164
,
1172
,
1131
,
1134
,
1135
,
1110
,
1116
,
1119
,
118
7
,
/* 250 */
1
145
,
1155
,
1176
,
1201
,
1162
,
1224
,
1179
,
1180
,
1174
,
1108
,
/* 260 */
1
171
,
1191
,
1126
,
1184
,
1203
,
1204
,
940
,
1128
,
1133
,
1166
,
/* 270 */
1
150
,
1170
,
1173
,
1178
,
1122
,
1182
,
1185
,
933
,
1251
,
1181
,
/* 280 */
1
261
,
1258
,
1263
,
1264
,
1213
,
1212
,
1228
,
1232
,
1235
,
1236
,
/* 290 */
12
37
,
1216
,
1241
,
1226
,
1268
,
1269
,
1279
,
1282
,
1192
,
127
8
,
/* 300 */
1
250
,
1274
,
1291
,
1290
,
1303
,
1306
,
1252
,
1243
,
1244
,
1270
,
/* 310 */
12
96
,
1299
,
1300
,
1322
,
1334
,
/* 0 */
-
1
95
,
364
,
220
,
588
,
614
,
804
,
890
,
1024
,
1050
,
1122
,
/* 10 */
11
48
,
1181
,
1258
,
1289
,
1317
,
1352
,
153
,
674
,
-
332
,
1446
,
/* 20 */
1466
,
1477
,
1563
,
1574
,
1589
,
1660
,
1675
,
1734
,
1769
,
1831
,
/* 30 */
1
888
,
1899
,
1918
,
1985
,
2004
,
2020
,
2035
,
2051
,
2119
,
2150
,
/* 40 */
2
185
,
2216
,
2282
,
2303
,
2329
,
2348
,
2379
,
2405
,
2473
,
-
301
,
/* 50 */
-
202
,
251
,
-
104
,
515
,
798
,
800
,
830
,
544
,
632
,
-
92
,
/* 60 */
377
,
643
,
253
,
383
,
780
,
-
445
,
-
276
,
-
178
,
-
330
,
-
294
,
/* 70 */
45
,
-
221
,
-
337
,
-
242
,
115
,
-
203
,
175
,
206
,
-
306
,
50
,
/* 80 */
2
97
,
499
,
523
,
591
,
593
,
152
,
495
,
599
,
-
159
,
-
232
,
/* 90 */
209
,
603
,
191
,
723
,
319
,
730
,
349
,
746
,
430
,
239
,
/* 100 */
7
97
,
802
,
366
,
808
,
413
,
578
,
681
,
817
,
564
,
-
333
,
/* 110 */
-
430
,
-
430
,
114
,
-
247
,
-
29
,
22
,
108
,
445
,
473
,
475
,
/* 120 */
482
,
557
,
617
,
638
,
640
,
644
,
649
,
675
,
686
,
719
,
/* 130 */
722
,
760
,
822
,
-
44
,
-
20
,
-
8
,
211
,
371
,
-
20
,
338
,
/* 140 */
354
,
257
,
306
,
506
,
498
,
410
,
662
,
765
,
344
,
15
8
,
/* 150 */
268
,
598
,
368
,
386
,
699
,
785
,
627
,
811
,
-
363
,
292
,
/* 160 */
573
,
596
,
624
,
732
,
739
,
624
,
847
,
828
,
921
,
892
,
/* 170 */
81
2
,
819
,
943
,
833
,
927
,
933
,
922
,
922
,
952
,
918
,
/* 180 */
985
,
984
,
947
,
942
,
882
,
882
,
871
,
882
,
920
,
914
,
/* 190 */
9
22
,
969
,
956
,
971
,
993
,
994
,
1000
,
1003
,
1054
,
1055
,
/* 200 */
10
09
,
1005
,
1012
,
1049
,
1051
,
1063
,
1057
,
1068
,
1069
,
1070
,
/* 210 */
1
079
,
1080
,
1082
,
1083
,
1013
,
1073
,
1042
,
1081
,
1084
,
1027
,
/* 220 */
1
085
,
1089
,
1086
,
1087
,
1088
,
1097
,
1091
,
1104
,
1106
,
110
9
,
/* 230 */
1
090
,
1092
,
1099
,
1100
,
1107
,
1110
,
1112
,
1116
,
1117
,
1118
,
/* 240 */
11
23
,
1119
,
1144
,
1072
,
1074
,
1076
,
1093
,
1094
,
1098
,
114
7
,
/* 250 */
1
095
,
1101
,
1115
,
1153
,
1105
,
1120
,
1158
,
1111
,
1124
,
1129
,
/* 260 */
1
056
,
1126
,
1135
,
1064
,
1130
,
1137
,
1139
,
922
,
1067
,
1071
,
/* 270 */
1
075
,
1125
,
1102
,
1132
,
1134
,
1062
,
1108
,
1127
,
882
,
1209
,
/* 280 */
1
138
,
1166
,
1217
,
1210
,
1227
,
1230
,
1172
,
1185
,
1202
,
1204
,
/* 290 */
12
07
,
1208
,
1211
,
1195
,
1216
,
1206
,
1248
,
1213
,
1265
,
126
8
,
/* 300 */
1
174
,
1243
,
1233
,
1269
,
1282
,
1270
,
1287
,
1290
,
1221
,
1215
,
/* 310 */
12
35
,
1236
,
1271
,
1272
,
1274
,
1288
,
1299
,
};
static
const
YYACTIONTYPE
yy_default
[]
=
{
/* 0 */
17
19
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
/* 10 */
17
19
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
/* 20 */
17
19
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
/* 30 */
17
19
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
/* 40 */
17
19
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
/* 50 */
17
19
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
/* 60 */
17
19
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
/* 70 */
17
19
,
1719
,
1719
,
1719
,
1992
,
1719
,
1719
,
1719
,
1719
,
1719
,
/* 80 */
17
19
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1801
,
1719
,
/* 90 */
17
19
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
/* 100 */
17
19
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1799
,
1985
,
/* 110 */
220
6
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
/* 120 */
17
19
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
/* 130 */
17
19
,
1719
,
1719
,
1719
,
2218
,
1719
,
1719
,
1719
,
2218
,
2218
,
/* 140 */
22
18
,
1799
,
2178
,
2178
,
1719
,
1719
,
1719
,
1719
,
1801
,
2050
,
/* 150 */
17
19
,
1719
,
1719
,
1719
,
1719
,
1719
,
1920
,
1719
,
1719
,
1719
,
/* 160 */
17
19
,
1719
,
1944
,
1719
,
1719
,
1719
,
2044
,
1719
,
1719
,
2243
,
/* 170 */
2
299
,
1719
,
1719
,
2246
,
1719
,
1719
,
1719
,
1719
,
1719
,
1997
,
/* 180 */
17
19
,
1719
,
1874
,
2233
,
2210
,
2224
,
2283
,
2211
,
2208
,
2227
,
/* 190 */
17
19
,
2237
,
1719
,
2031
,
1990
,
1719
,
1990
,
1987
,
1719
,
1719
,
/* 200 */
199
0
,
1987
,
1987
,
1863
,
1859
,
1719
,
1857
,
1719
,
1719
,
1719
,
/* 210 */
17
19
,
1766
,
1719
,
1766
,
1719
,
1801
,
1719
,
1801
,
1719
,
1719
,
/* 220 */
180
1
,
1719
,
1801
,
1801
,
1801
,
1719
,
1801
,
1779
,
1779
,
1719
,
/* 230 */
17
19
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
/* 240 */
17
19
,
1719
,
1719
,
1719
,
1719
,
1719
,
2062
,
2048
,
1719
,
1799
,
/* 250 */
204
2
,
2040
,
1719
,
1799
,
2038
,
1719
,
1719
,
1719
,
1719
,
2254
,
/* 260 */
225
2
,
1719
,
2254
,
2252
,
1719
,
1719
,
1719
,
2268
,
2264
,
2254
,
/* 270 */
22
72
,
2270
,
2239
,
2237
,
2302
,
2289
,
2285
,
2224
,
1719
,
1719
,
/* 280 */
17
19
,
1719
,
1799
,
1799
,
1719
,
2252
,
1719
,
1719
,
1719
,
1719
,
/* 290 */
17
19
,
2252
,
1719
,
1719
,
1799
,
1719
,
1799
,
1719
,
1719
,
1890
,
/* 300 */
17
19
,
1719
,
1719
,
1799
,
1751
,
1719
,
2033
,
2053
,
2015
,
201
5
,
/* 310 */
1923
,
1923
,
1923
,
1802
,
1724
,
1719
,
1719
,
1719
,
1719
,
1719
,
/* 320 */
17
19
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
2267
,
2266
,
2133
,
/* 330 */
1719
,
2182
,
2181
,
2180
,
2171
,
2132
,
1886
,
1719
,
2131
,
2130
,
/* 340 */
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
2006
,
2005
,
/* 350 */
2
124
,
1719
,
1719
,
2125
,
2123
,
2122
,
1719
,
1719
,
1719
,
1719
,
/* 360 */
17
19
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
/* 370 */
17
19
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
/* 380 */
2286
,
2290
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
2207
,
/* 390 */
17
19
,
1719
,
1719
,
2106
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
/* 400 */
17
19
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
/* 410 */
17
19
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
/* 420 */
17
19
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
/* 430 */
17
19
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
/* 440 */
17
19
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
/* 450 */
17
19
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
/* 460 */
17
19
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
/* 470 */
17
19
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
/* 480 */
17
19
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
/* 490 */
17
19
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
/* 500 */
17
19
,
1719
,
1756
,
2111
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
/* 510 */
17
19
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
/* 520 */
17
19
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
/* 530 */
17
19
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
/* 540 */
17
19
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
/* 550 */
17
19
,
1719
,
1840
,
1839
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
/* 560 */
17
19
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
/* 570 */
17
19
,
1719
,
1719
,
1719
,
1719
,
1719
,
2115
,
1719
,
1719
,
1719
,
/* 580 */
17
19
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
/* 590 */
17
19
,
1719
,
1719
,
2282
,
2240
,
1719
,
1719
,
1719
,
1719
,
1719
,
/* 600 */
17
19
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
/* 610 */
17
19
,
1719
,
1719
,
2106
,
1719
,
2265
,
1719
,
1719
,
2280
,
1719
,
/* 620 */
228
4
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
2217
,
2213
,
/* 630 */
1719
,
1719
,
2209
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
/* 640 */
2114
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
/* 650 */
17
19
,
1719
,
1719
,
1719
,
2105
,
1719
,
2168
,
1719
,
1719
,
1719
,
/* 660 */
2202
,
1719
,
1719
,
2153
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
/* 670 */
17
19
,
1719
,
1719
,
2115
,
1719
,
2118
,
1719
,
1719
,
1719
,
1719
,
/* 680 */
17
19
,
1917
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
/* 690 */
17
19
,
1719
,
1719
,
1719
,
1902
,
1900
,
1899
,
1898
,
1719
,
193
0
,
/* 700 */
17
19
,
1719
,
1719
,
1926
,
1925
,
1719
,
1719
,
1719
,
1719
,
1719
,
/* 710 */
17
19
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1820
,
1719
,
/* 720 */
1
719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1812
,
1719
,
1811
,
/* 730 */
17
19
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
/* 740 */
17
19
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
/* 750 */
17
19
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
1719
,
/* 760 */
17
19
,
1719
,
/* 0 */
17
21
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
/* 10 */
17
21
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
/* 20 */
17
21
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
/* 30 */
17
21
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
/* 40 */
17
21
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
/* 50 */
17
21
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
/* 60 */
17
21
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
/* 70 */
17
21
,
1721
,
1721
,
1721
,
1994
,
1721
,
1721
,
1721
,
1721
,
1721
,
/* 80 */
17
21
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1803
,
1721
,
/* 90 */
17
21
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
/* 100 */
17
21
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1801
,
1987
,
/* 110 */
220
8
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
/* 120 */
17
21
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
/* 130 */
17
21
,
1721
,
1721
,
1721
,
2220
,
1721
,
1721
,
1721
,
2220
,
2220
,
/* 140 */
22
20
,
1801
,
2180
,
2180
,
1721
,
1721
,
1721
,
1721
,
1803
,
2052
,
/* 150 */
17
21
,
1721
,
1721
,
1721
,
1721
,
1721
,
1922
,
1721
,
1721
,
1721
,
/* 160 */
17
21
,
1721
,
1946
,
1721
,
1721
,
1721
,
2046
,
1721
,
1721
,
2245
,
/* 170 */
2
301
,
1721
,
1721
,
2248
,
1721
,
1721
,
1721
,
1721
,
1721
,
1999
,
/* 180 */
17
21
,
1721
,
1876
,
2235
,
2212
,
2226
,
2285
,
2213
,
2210
,
2229
,
/* 190 */
17
21
,
2239
,
1721
,
2033
,
1992
,
1721
,
1992
,
1989
,
1721
,
1721
,
/* 200 */
199
2
,
1989
,
1989
,
1865
,
1861
,
1721
,
1859
,
1721
,
1721
,
1721
,
/* 210 */
17
21
,
1768
,
1721
,
1768
,
1721
,
1803
,
1721
,
1803
,
1721
,
1721
,
/* 220 */
180
3
,
1721
,
1803
,
1803
,
1803
,
1721
,
1803
,
1781
,
1781
,
1721
,
/* 230 */
17
21
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
/* 240 */
17
21
,
1721
,
1721
,
1721
,
1721
,
1721
,
2064
,
2050
,
1721
,
1801
,
/* 250 */
204
4
,
2042
,
1721
,
1801
,
2040
,
2239
,
1721
,
1721
,
1721
,
1721
,
/* 260 */
225
6
,
2254
,
1721
,
2256
,
2254
,
1721
,
1721
,
1721
,
2270
,
2266
,
/* 270 */
22
56
,
2274
,
2272
,
2241
,
2239
,
2304
,
2291
,
2287
,
2226
,
1721
,
/* 280 */
17
21
,
2239
,
1721
,
1721
,
1801
,
1801
,
1721
,
2254
,
1721
,
1721
,
/* 290 */
17
21
,
1721
,
1721
,
2254
,
1721
,
1721
,
1801
,
1721
,
1801
,
1721
,
/* 300 */
17
21
,
1892
,
1721
,
1721
,
1721
,
1801
,
1753
,
1721
,
2035
,
205
5
,
/* 310 */
2017
,
2017
,
1925
,
1925
,
1925
,
1804
,
1726
,
1721
,
1721
,
1721
,
/* 320 */
17
21
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
2269
,
/* 330 */
2268
,
2135
,
1721
,
2184
,
2183
,
2182
,
2173
,
2134
,
1888
,
1721
,
/* 340 */
2133
,
2132
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
/* 350 */
2
008
,
2007
,
2126
,
1721
,
1721
,
2127
,
2125
,
2124
,
1721
,
1721
,
/* 360 */
17
21
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
/* 370 */
17
21
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
/* 380 */
1721
,
1721
,
2288
,
2292
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
/* 390 */
17
21
,
2209
,
1721
,
1721
,
1721
,
2108
,
1721
,
1721
,
1721
,
1721
,
/* 400 */
17
21
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
/* 410 */
17
21
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
/* 420 */
17
21
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
/* 430 */
17
21
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
/* 440 */
17
21
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
/* 450 */
17
21
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
/* 460 */
17
21
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
/* 470 */
17
21
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
/* 480 */
17
21
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
/* 490 */
17
21
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
/* 500 */
17
21
,
1721
,
1721
,
1721
,
1758
,
2113
,
1721
,
1721
,
1721
,
1721
,
/* 510 */
17
21
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
/* 520 */
17
21
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
/* 530 */
17
21
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
/* 540 */
17
21
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
/* 550 */
17
21
,
1721
,
1721
,
1721
,
1842
,
1841
,
1721
,
1721
,
1721
,
1721
,
/* 560 */
17
21
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
/* 570 */
17
21
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
2117
,
1721
,
/* 580 */
17
21
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
/* 590 */
17
21
,
1721
,
1721
,
1721
,
1721
,
2284
,
2242
,
1721
,
1721
,
1721
,
/* 600 */
17
21
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
/* 610 */
17
21
,
1721
,
1721
,
1721
,
1721
,
2108
,
1721
,
2267
,
1721
,
1721
,
/* 620 */
228
2
,
1721
,
2286
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
/* 630 */
2219
,
2215
,
1721
,
1721
,
2211
,
1721
,
1721
,
1721
,
1721
,
1721
,
/* 640 */
1721
,
1721
,
2116
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
/* 650 */
17
21
,
1721
,
1721
,
1721
,
1721
,
1721
,
2107
,
1721
,
2170
,
1721
,
/* 660 */
1721
,
1721
,
2204
,
1721
,
1721
,
2155
,
1721
,
1721
,
1721
,
1721
,
/* 670 */
17
21
,
1721
,
1721
,
1721
,
1721
,
2117
,
1721
,
2120
,
1721
,
1721
,
/* 680 */
17
21
,
1721
,
1721
,
1919
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
/* 690 */
17
21
,
1721
,
1721
,
1721
,
1721
,
1721
,
1904
,
1902
,
1901
,
190
0
,
/* 700 */
17
21
,
1932
,
1721
,
1721
,
1721
,
1928
,
1927
,
1721
,
1721
,
1721
,
/* 710 */
17
21
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
/* 720 */
1
822
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1814
,
/* 730 */
17
21
,
1813
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
/* 740 */
17
21
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
/* 750 */
17
21
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
1721
,
/* 760 */
17
21
,
1721
,
1721
,
1721
,
};
/********** End of lemon-generated parsing tables *****************************/
...
...
@@ -1873,22 +1873,22 @@ static const char *const yyTokenName[] = {
/* 399 */
"func"
,
/* 400 */
"sma_func_name"
,
/* 401 */
"query_or_subquery"
,
/* 402 */
"
cgroup_name
"
,
/* 403 */
"
analyze_opt
"
,
/* 404 */
"
explain_options
"
,
/* 405 */
"
insert_query
"
,
/* 406 */
"
or_replace_opt
"
,
/* 407 */
"
agg_func
_opt"
,
/* 408 */
"
bufsize
_opt"
,
/* 409 */
"
languag
e_opt"
,
/* 410 */
"
stream_name
"
,
/* 411 */
"stream_
options
"
,
/* 412 */
"
col_list_opt
"
,
/* 413 */
"
tag_def_or_ref
_opt"
,
/* 414 */
"
subtable
_opt"
,
/* 415 */
"
expression
"
,
/* 416 */
"
dnode_list
"
,
/* 417 */
"
where_clause_op
t"
,
/* 402 */
"
where_clause_opt
"
,
/* 403 */
"
cgroup_name
"
,
/* 404 */
"
analyze_opt
"
,
/* 405 */
"
explain_options
"
,
/* 406 */
"
insert_query
"
,
/* 407 */
"
or_replace
_opt"
,
/* 408 */
"
agg_func
_opt"
,
/* 409 */
"
bufsiz
e_opt"
,
/* 410 */
"
language_opt
"
,
/* 411 */
"stream_
name
"
,
/* 412 */
"
stream_options
"
,
/* 413 */
"
col_list
_opt"
,
/* 414 */
"
tag_def_or_ref
_opt"
,
/* 415 */
"
subtable_opt
"
,
/* 416 */
"
expression
"
,
/* 417 */
"
dnode_lis
t"
,
/* 418 */
"literal_func"
,
/* 419 */
"literal_list"
,
/* 420 */
"table_alias"
,
...
...
@@ -2254,8 +2254,8 @@ static const char *const yyRuleName[] = {
/* 297 */
"cmd ::= CREATE TOPIC not_exists_opt topic_name AS query_or_subquery"
,
/* 298 */
"cmd ::= CREATE TOPIC not_exists_opt topic_name AS DATABASE db_name"
,
/* 299 */
"cmd ::= CREATE TOPIC not_exists_opt topic_name WITH META AS DATABASE db_name"
,
/* 300 */
"cmd ::= CREATE TOPIC not_exists_opt topic_name AS STABLE full_table_name"
,
/* 301 */
"cmd ::= CREATE TOPIC not_exists_opt topic_name WITH META AS STABLE full_table_name"
,
/* 300 */
"cmd ::= CREATE TOPIC not_exists_opt topic_name AS STABLE full_table_name
where_clause_opt
"
,
/* 301 */
"cmd ::= CREATE TOPIC not_exists_opt topic_name WITH META AS STABLE full_table_name
where_clause_opt
"
,
/* 302 */
"cmd ::= DROP TOPIC exists_opt topic_name"
,
/* 303 */
"cmd ::= DROP CONSUMER GROUP exists_opt cgroup_name ON topic_name"
,
/* 304 */
"cmd ::= DESC full_table_name"
,
...
...
@@ -2695,12 +2695,12 @@ static void yy_destructor(
case
398
:
/* sma_stream_opt */
case
399
:
/* func */
case
401
:
/* query_or_subquery */
case
40
4
:
/* explain_options
*/
case
405
:
/*
insert_query
*/
case
4
11
:
/* stream_options
*/
case
41
4
:
/* subtable_opt
*/
case
415
:
/*
expression
*/
case
41
7
:
/* where_clause_opt
*/
case
40
2
:
/* where_clause_opt
*/
case
405
:
/*
explain_options
*/
case
4
06
:
/* insert_query
*/
case
41
2
:
/* stream_options
*/
case
415
:
/*
subtable_opt
*/
case
41
6
:
/* expression
*/
case
418
:
/* literal_func */
case
421
:
/* expr_or_subquery */
case
422
:
/* pseudo_column */
...
...
@@ -2745,7 +2745,7 @@ static void yy_destructor(
case
332
:
/* alter_account_options */
case
334
:
/* alter_account_option */
case
352
:
/* speed_opt */
case
40
8
:
/* bufsize_opt */
case
40
9
:
/* bufsize_opt */
{
}
...
...
@@ -2760,9 +2760,9 @@ static void yy_destructor(
case
392
:
/* column_alias */
case
395
:
/* index_name */
case
400
:
/* sma_func_name */
case
40
2
:
/* cgroup_name */
case
4
09
:
/* language_opt */
case
41
0
:
/* stream_name */
case
40
3
:
/* cgroup_name */
case
4
10
:
/* language_opt */
case
41
1
:
/* stream_name */
case
420
:
/* table_alias */
case
426
:
/* star_func */
case
428
:
/* noarg_func */
...
...
@@ -2791,9 +2791,9 @@ static void yy_destructor(
case
347
:
/* force_opt */
case
348
:
/* not_exists_opt */
case
350
:
/* exists_opt */
case
40
3
:
/* analyze_opt */
case
40
6
:
/* or_replace_opt */
case
40
7
:
/* agg_func_opt */
case
40
4
:
/* analyze_opt */
case
40
7
:
/* or_replace_opt */
case
40
8
:
/* agg_func_opt */
case
451
:
/* set_quantifier_opt */
{
...
...
@@ -2814,9 +2814,9 @@ static void yy_destructor(
case
380
:
/* rollup_func_list */
case
390
:
/* tag_list_opt */
case
396
:
/* func_list */
case
41
2
:
/* col_list_opt */
case
41
3
:
/* tag_def_or_ref_opt */
case
41
6
:
/* dnode_list */
case
41
3
:
/* col_list_opt */
case
41
4
:
/* tag_def_or_ref_opt */
case
41
7
:
/* dnode_list */
case
419
:
/* literal_list */
case
427
:
/* star_func_para_list */
case
429
:
/* other_para_list */
...
...
@@ -3455,8 +3455,8 @@ static const YYCODETYPE yyRuleInfoLhs[] = {
330
,
/* (297) cmd ::= CREATE TOPIC not_exists_opt topic_name AS query_or_subquery */
330
,
/* (298) cmd ::= CREATE TOPIC not_exists_opt topic_name AS DATABASE db_name */
330
,
/* (299) cmd ::= CREATE TOPIC not_exists_opt topic_name WITH META AS DATABASE db_name */
330
,
/* (300) cmd ::= CREATE TOPIC not_exists_opt topic_name AS STABLE full_table_name */
330
,
/* (301) cmd ::= CREATE TOPIC not_exists_opt topic_name WITH META AS STABLE full_table_name */
330
,
/* (300) cmd ::= CREATE TOPIC not_exists_opt topic_name AS STABLE full_table_name
where_clause_opt
*/
330
,
/* (301) cmd ::= CREATE TOPIC not_exists_opt topic_name WITH META AS STABLE full_table_name
where_clause_opt
*/
330
,
/* (302) cmd ::= DROP TOPIC exists_opt topic_name */
330
,
/* (303) cmd ::= DROP CONSUMER GROUP exists_opt cgroup_name ON topic_name */
330
,
/* (304) cmd ::= DESC full_table_name */
...
...
@@ -3464,39 +3464,39 @@ static const YYCODETYPE yyRuleInfoLhs[] = {
330
,
/* (306) cmd ::= RESET QUERY CACHE */
330
,
/* (307) cmd ::= EXPLAIN analyze_opt explain_options query_or_subquery */
330
,
/* (308) cmd ::= EXPLAIN analyze_opt explain_options insert_query */
40
3
,
/* (309) analyze_opt ::= */
40
3
,
/* (310) analyze_opt ::= ANALYZE */
40
4
,
/* (311) explain_options ::= */
40
4
,
/* (312) explain_options ::= explain_options VERBOSE NK_BOOL */
40
4
,
/* (313) explain_options ::= explain_options RATIO NK_FLOAT */
40
4
,
/* (309) analyze_opt ::= */
40
4
,
/* (310) analyze_opt ::= ANALYZE */
40
5
,
/* (311) explain_options ::= */
40
5
,
/* (312) explain_options ::= explain_options VERBOSE NK_BOOL */
40
5
,
/* (313) explain_options ::= explain_options RATIO NK_FLOAT */
330
,
/* (314) cmd ::= CREATE or_replace_opt agg_func_opt FUNCTION not_exists_opt function_name AS NK_STRING OUTPUTTYPE type_name bufsize_opt language_opt */
330
,
/* (315) cmd ::= DROP FUNCTION exists_opt function_name */
40
7
,
/* (316) agg_func_opt ::= */
40
7
,
/* (317) agg_func_opt ::= AGGREGATE */
40
8
,
/* (318) bufsize_opt ::= */
40
8
,
/* (319) bufsize_opt ::= BUFSIZE NK_INTEGER */
4
09
,
/* (320) language_opt ::= */
4
09
,
/* (321) language_opt ::= LANGUAGE NK_STRING */
40
6
,
/* (322) or_replace_opt ::= */
40
6
,
/* (323) or_replace_opt ::= OR REPLACE */
40
8
,
/* (316) agg_func_opt ::= */
40
8
,
/* (317) agg_func_opt ::= AGGREGATE */
40
9
,
/* (318) bufsize_opt ::= */
40
9
,
/* (319) bufsize_opt ::= BUFSIZE NK_INTEGER */
4
10
,
/* (320) language_opt ::= */
4
10
,
/* (321) language_opt ::= LANGUAGE NK_STRING */
40
7
,
/* (322) or_replace_opt ::= */
40
7
,
/* (323) or_replace_opt ::= OR REPLACE */
330
,
/* (324) cmd ::= CREATE STREAM not_exists_opt stream_name stream_options INTO full_table_name col_list_opt tag_def_or_ref_opt subtable_opt AS query_or_subquery */
330
,
/* (325) cmd ::= DROP STREAM exists_opt stream_name */
41
2
,
/* (326) col_list_opt ::= */
41
2
,
/* (327) col_list_opt ::= NK_LP col_name_list NK_RP */
41
3
,
/* (328) tag_def_or_ref_opt ::= */
41
3
,
/* (329) tag_def_or_ref_opt ::= tags_def */
41
3
,
/* (330) tag_def_or_ref_opt ::= TAGS NK_LP col_name_list NK_RP */
41
1
,
/* (331) stream_options ::= */
41
1
,
/* (332) stream_options ::= stream_options TRIGGER AT_ONCE */
41
1
,
/* (333) stream_options ::= stream_options TRIGGER WINDOW_CLOSE */
41
1
,
/* (334) stream_options ::= stream_options TRIGGER MAX_DELAY duration_literal */
41
1
,
/* (335) stream_options ::= stream_options WATERMARK duration_literal */
41
1
,
/* (336) stream_options ::= stream_options IGNORE EXPIRED NK_INTEGER */
41
1
,
/* (337) stream_options ::= stream_options FILL_HISTORY NK_INTEGER */
41
1
,
/* (338) stream_options ::= stream_options DELETE_MARK duration_literal */
41
1
,
/* (339) stream_options ::= stream_options IGNORE UPDATE NK_INTEGER */
41
4
,
/* (340) subtable_opt ::= */
41
4
,
/* (341) subtable_opt ::= SUBTABLE NK_LP expression NK_RP */
41
3
,
/* (326) col_list_opt ::= */
41
3
,
/* (327) col_list_opt ::= NK_LP col_name_list NK_RP */
41
4
,
/* (328) tag_def_or_ref_opt ::= */
41
4
,
/* (329) tag_def_or_ref_opt ::= tags_def */
41
4
,
/* (330) tag_def_or_ref_opt ::= TAGS NK_LP col_name_list NK_RP */
41
2
,
/* (331) stream_options ::= */
41
2
,
/* (332) stream_options ::= stream_options TRIGGER AT_ONCE */
41
2
,
/* (333) stream_options ::= stream_options TRIGGER WINDOW_CLOSE */
41
2
,
/* (334) stream_options ::= stream_options TRIGGER MAX_DELAY duration_literal */
41
2
,
/* (335) stream_options ::= stream_options WATERMARK duration_literal */
41
2
,
/* (336) stream_options ::= stream_options IGNORE EXPIRED NK_INTEGER */
41
2
,
/* (337) stream_options ::= stream_options FILL_HISTORY NK_INTEGER */
41
2
,
/* (338) stream_options ::= stream_options DELETE_MARK duration_literal */
41
2
,
/* (339) stream_options ::= stream_options IGNORE UPDATE NK_INTEGER */
41
5
,
/* (340) subtable_opt ::= */
41
5
,
/* (341) subtable_opt ::= SUBTABLE NK_LP expression NK_RP */
330
,
/* (342) cmd ::= KILL CONNECTION NK_INTEGER */
330
,
/* (343) cmd ::= KILL QUERY NK_STRING */
330
,
/* (344) cmd ::= KILL TRANSACTION NK_INTEGER */
...
...
@@ -3505,13 +3505,13 @@ static const YYCODETYPE yyRuleInfoLhs[] = {
330
,
/* (347) cmd ::= MERGE VGROUP NK_INTEGER NK_INTEGER */
330
,
/* (348) cmd ::= REDISTRIBUTE VGROUP NK_INTEGER dnode_list */
330
,
/* (349) cmd ::= SPLIT VGROUP NK_INTEGER */
41
6
,
/* (350) dnode_list ::= DNODE NK_INTEGER */
41
6
,
/* (351) dnode_list ::= dnode_list DNODE NK_INTEGER */
41
7
,
/* (350) dnode_list ::= DNODE NK_INTEGER */
41
7
,
/* (351) dnode_list ::= dnode_list DNODE NK_INTEGER */
330
,
/* (352) cmd ::= DELETE FROM full_table_name where_clause_opt */
330
,
/* (353) cmd ::= query_or_subquery */
330
,
/* (354) cmd ::= insert_query */
40
5
,
/* (355) insert_query ::= INSERT INTO full_table_name NK_LP col_name_list NK_RP query_or_subquery */
40
5
,
/* (356) insert_query ::= INSERT INTO full_table_name query_or_subquery */
40
6
,
/* (355) insert_query ::= INSERT INTO full_table_name NK_LP col_name_list NK_RP query_or_subquery */
40
6
,
/* (356) insert_query ::= INSERT INTO full_table_name query_or_subquery */
333
,
/* (357) literal ::= NK_INTEGER */
333
,
/* (358) literal ::= NK_FLOAT */
333
,
/* (359) literal ::= NK_STRING */
...
...
@@ -3545,26 +3545,26 @@ static const YYCODETYPE yyRuleInfoLhs[] = {
392
,
/* (387) column_alias ::= NK_ID */
335
,
/* (388) user_name ::= NK_ID */
344
,
/* (389) topic_name ::= NK_ID */
41
0
,
/* (390) stream_name ::= NK_ID */
40
2
,
/* (391) cgroup_name ::= NK_ID */
41
1
,
/* (390) stream_name ::= NK_ID */
40
3
,
/* (391) cgroup_name ::= NK_ID */
395
,
/* (392) index_name ::= NK_ID */
421
,
/* (393) expr_or_subquery ::= expression */
41
5
,
/* (394) expression ::= literal */
41
5
,
/* (395) expression ::= pseudo_column */
41
5
,
/* (396) expression ::= column_reference */
41
5
,
/* (397) expression ::= function_expression */
41
5
,
/* (398) expression ::= case_when_expression */
41
5
,
/* (399) expression ::= NK_LP expression NK_RP */
41
5
,
/* (400) expression ::= NK_PLUS expr_or_subquery */
41
5
,
/* (401) expression ::= NK_MINUS expr_or_subquery */
41
5
,
/* (402) expression ::= expr_or_subquery NK_PLUS expr_or_subquery */
41
5
,
/* (403) expression ::= expr_or_subquery NK_MINUS expr_or_subquery */
41
5
,
/* (404) expression ::= expr_or_subquery NK_STAR expr_or_subquery */
41
5
,
/* (405) expression ::= expr_or_subquery NK_SLASH expr_or_subquery */
41
5
,
/* (406) expression ::= expr_or_subquery NK_REM expr_or_subquery */
41
5
,
/* (407) expression ::= column_reference NK_ARROW NK_STRING */
41
5
,
/* (408) expression ::= expr_or_subquery NK_BITAND expr_or_subquery */
41
5
,
/* (409) expression ::= expr_or_subquery NK_BITOR expr_or_subquery */
41
6
,
/* (394) expression ::= literal */
41
6
,
/* (395) expression ::= pseudo_column */
41
6
,
/* (396) expression ::= column_reference */
41
6
,
/* (397) expression ::= function_expression */
41
6
,
/* (398) expression ::= case_when_expression */
41
6
,
/* (399) expression ::= NK_LP expression NK_RP */
41
6
,
/* (400) expression ::= NK_PLUS expr_or_subquery */
41
6
,
/* (401) expression ::= NK_MINUS expr_or_subquery */
41
6
,
/* (402) expression ::= expr_or_subquery NK_PLUS expr_or_subquery */
41
6
,
/* (403) expression ::= expr_or_subquery NK_MINUS expr_or_subquery */
41
6
,
/* (404) expression ::= expr_or_subquery NK_STAR expr_or_subquery */
41
6
,
/* (405) expression ::= expr_or_subquery NK_SLASH expr_or_subquery */
41
6
,
/* (406) expression ::= expr_or_subquery NK_REM expr_or_subquery */
41
6
,
/* (407) expression ::= column_reference NK_ARROW NK_STRING */
41
6
,
/* (408) expression ::= expr_or_subquery NK_BITAND expr_or_subquery */
41
6
,
/* (409) expression ::= expr_or_subquery NK_BITOR expr_or_subquery */
375
,
/* (410) expression_list ::= expr_or_subquery */
375
,
/* (411) expression_list ::= expression_list NK_COMMA expr_or_subquery */
423
,
/* (412) column_reference ::= column_name */
...
...
@@ -3670,8 +3670,8 @@ static const YYCODETYPE yyRuleInfoLhs[] = {
460
,
/* (512) select_item ::= common_expression column_alias */
460
,
/* (513) select_item ::= common_expression AS column_alias */
460
,
/* (514) select_item ::= table_name NK_DOT NK_STAR */
4
17
,
/* (515) where_clause_opt ::= */
4
17
,
/* (516) where_clause_opt ::= WHERE search_condition */
4
02
,
/* (515) where_clause_opt ::= */
4
02
,
/* (516) where_clause_opt ::= WHERE search_condition */
453
,
/* (517) partition_by_clause_opt ::= */
453
,
/* (518) partition_by_clause_opt ::= PARTITION BY partition_list */
461
,
/* (519) partition_list ::= partition_item */
...
...
@@ -4043,8 +4043,8 @@ static const signed char yyRuleInfoNRhs[] = {
-
6
,
/* (297) cmd ::= CREATE TOPIC not_exists_opt topic_name AS query_or_subquery */
-
7
,
/* (298) cmd ::= CREATE TOPIC not_exists_opt topic_name AS DATABASE db_name */
-
9
,
/* (299) cmd ::= CREATE TOPIC not_exists_opt topic_name WITH META AS DATABASE db_name */
-
7
,
/* (300) cmd ::= CREATE TOPIC not_exists_opt topic_name AS STABLE full_table_name
*/
-
9
,
/* (301) cmd ::= CREATE TOPIC not_exists_opt topic_name WITH META AS STABLE full_table_name
*/
-
8
,
/* (300) cmd ::= CREATE TOPIC not_exists_opt topic_name AS STABLE full_table_name where_clause_opt
*/
-
10
,
/* (301) cmd ::= CREATE TOPIC not_exists_opt topic_name WITH META AS STABLE full_table_name where_clause_opt
*/
-
4
,
/* (302) cmd ::= DROP TOPIC exists_opt topic_name */
-
7
,
/* (303) cmd ::= DROP CONSUMER GROUP exists_opt cgroup_name ON topic_name */
-
2
,
/* (304) cmd ::= DESC full_table_name */
...
...
@@ -5390,11 +5390,11 @@ static YYACTIONTYPE yy_reduce(
case
299
:
/* cmd ::= CREATE TOPIC not_exists_opt topic_name WITH META AS DATABASE db_name */
{
pCxt
->
pRootNode
=
createCreateTopicStmtUseDb
(
pCxt
,
yymsp
[
-
6
].
minor
.
yy369
,
&
yymsp
[
-
5
].
minor
.
yy113
,
&
yymsp
[
0
].
minor
.
yy113
,
true
);
}
break
;
case
300
:
/* cmd ::= CREATE TOPIC not_exists_opt topic_name AS STABLE full_table_name */
{
pCxt
->
pRootNode
=
createCreateTopicStmtUseTable
(
pCxt
,
yymsp
[
-
4
].
minor
.
yy369
,
&
yymsp
[
-
3
].
minor
.
yy113
,
yymsp
[
0
].
minor
.
yy448
,
false
);
}
case
300
:
/* cmd ::= CREATE TOPIC not_exists_opt topic_name AS STABLE full_table_name
where_clause_opt
*/
{
pCxt
->
pRootNode
=
createCreateTopicStmtUseTable
(
pCxt
,
yymsp
[
-
5
].
minor
.
yy369
,
&
yymsp
[
-
4
].
minor
.
yy113
,
yymsp
[
-
1
].
minor
.
yy448
,
false
,
yymsp
[
0
].
minor
.
yy448
);
}
break
;
case
301
:
/* cmd ::= CREATE TOPIC not_exists_opt topic_name WITH META AS STABLE full_table_name */
{
pCxt
->
pRootNode
=
createCreateTopicStmtUseTable
(
pCxt
,
yymsp
[
-
6
].
minor
.
yy369
,
&
yymsp
[
-
5
].
minor
.
yy113
,
yymsp
[
0
].
minor
.
yy448
,
true
);
}
case
301
:
/* cmd ::= CREATE TOPIC not_exists_opt topic_name WITH META AS STABLE full_table_name
where_clause_opt
*/
{
pCxt
->
pRootNode
=
createCreateTopicStmtUseTable
(
pCxt
,
yymsp
[
-
7
].
minor
.
yy369
,
&
yymsp
[
-
6
].
minor
.
yy113
,
yymsp
[
-
1
].
minor
.
yy448
,
true
,
yymsp
[
0
].
minor
.
yy448
);
}
break
;
case
302
:
/* cmd ::= DROP TOPIC exists_opt topic_name */
{
pCxt
->
pRootNode
=
createDropTopicStmt
(
pCxt
,
yymsp
[
-
1
].
minor
.
yy369
,
&
yymsp
[
0
].
minor
.
yy113
);
}
...
...
source/libs/parser/test/parInitialCTest.cpp
浏览文件 @
2713f4f6
...
...
@@ -1145,6 +1145,15 @@ TEST_F(ParserInitialCTest, createTopic) {
setCreateTopicReq
(
"tp1"
,
1
,
"create topic if not exists tp1 with meta as stable st1"
,
nullptr
,
"test"
,
"st1"
,
1
);
run
(
"CREATE TOPIC IF NOT EXISTS tp1 WITH META AS STABLE st1"
);
clearCreateTopicReq
();
setCreateTopicReq
(
"tp1"
,
1
,
"create topic if not exists tp1 as stable st1 where tag1 > 0"
,
nullptr
,
"test"
,
"st1"
);
run
(
"CREATE TOPIC IF NOT EXISTS tp1 AS STABLE st1 WHERE tag1 > 0"
);
clearCreateTopicReq
();
setCreateTopicReq
(
"tp1"
,
1
,
"create topic if not exists tp1 with meta as stable st1 where tag1 > 0"
,
nullptr
,
"test"
,
"st1"
,
1
);
run
(
"CREATE TOPIC IF NOT EXISTS tp1 WITH META AS STABLE st1 WHERE tag1 > 0"
);
clearCreateTopicReq
();
}
/*
...
...
source/libs/qcom/src/queryUtil.c
浏览文件 @
2713f4f6
...
...
@@ -449,6 +449,18 @@ int32_t cloneTableMeta(STableMeta* pSrc, STableMeta** pDst) {
return
TSDB_CODE_SUCCESS
;
}
void
getColumnTypeFromMeta
(
STableMeta
*
pMeta
,
char
*
pName
,
ETableColumnType
*
pType
)
{
int32_t
nums
=
pMeta
->
tableInfo
.
numOfTags
+
pMeta
->
tableInfo
.
numOfColumns
;
for
(
int32_t
i
=
0
;
i
<
nums
;
++
i
)
{
if
(
0
==
strcmp
(
pName
,
pMeta
->
schema
[
i
].
name
))
{
*
pType
=
(
i
<
pMeta
->
tableInfo
.
numOfColumns
)
?
TCOL_TYPE_COLUMN
:
TCOL_TYPE_TAG
;
return
;
}
}
*
pType
=
TCOL_TYPE_NONE
;
}
void
freeVgInfo
(
SDBVgInfo
*
vgInfo
)
{
if
(
NULL
==
vgInfo
)
{
return
;
...
...
tests/script/tsim/tmq/topic.sim
浏览文件 @
2713f4f6
...
...
@@ -108,4 +108,14 @@ if $rows != 6 then
return -1
endi
return -1
sql create topic topic_stable_1 as stable stb where t1 > 0
sql create topic topic_stable_1 as stable stb where t1 > 0 and t1 < 0
sql create topic topic_stable_1 as stable stb where 1 > 0
sql create topic topic_stable_1 as stable stb where last(t1) > 0
sql create topic topic_stable_1 as stable stb where tbname is not null
sql create topic topic_stable_1 as stable stb where tbname > 'a'
sql create topic topic_stable_1 as stable stb where tbname > 0 and xx < 0
sql create topic topic_stable_1 as stable stb where tbname > 0 and c1 < 0
system sh/exec.sh -n dnode1 -s stop -x SIGINT
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录